*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f6f8;color:#222}button{cursor:pointer;border:none;border-radius:6px;padding:8px 14px;background:#07c160;color:#fff;font-size:14px}button:disabled{opacity:.6;cursor:not-allowed}button.link{background:transparent;color:#666;padding:4px 8px}input,textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-bottom:12px}textarea{resize:vertical;min-height:80px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:#fff;padding:32px;border-radius:12px;width:360px;box-shadow:0 4px 20px #0000000f}.card h1{margin:0 0 4px;font-size:20px}.card .sub{color:#888;font-size:13px;margin:0 0 20px}.card .err{color:#e54d42;font-size:13px}.dash header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid #eee}.dash .right{display:flex;align-items:center;gap:12px}.badge{font-size:12px;padding:2px 8px;border-radius:10px}.badge.ok{background:#e8f8ef;color:#07c160}.badge.warn{background:#fff4e5;color:#fa8c16}.dash main{max-width:760px;margin:24px auto;padding:0 16px}.dash section{background:#fff;border-radius:10px;padding:18px;margin-bottom:18px}.dash h2{font-size:16px;margin:0 0 12px}.item{border:1px solid #eee;border-radius:8px;padding:12px;margin-bottom:12px}.item .meta{display:flex;justify-content:space-between;gap:8px;word-break:break-all}.item .meta a{color:#1989fa;font-size:13px}.status{font-size:12px;padding:2px 6px;border-radius:4px;background:#f0f0f0;white-space:nowrap}.status.parsed{background:#e8f8ef;color:#07c160}.status.parse_failed{background:#ffece8;color:#e54d42}.item .actions{margin:10px 0;display:flex;gap:8px}.preview .t{white-space:pre-wrap;font-size:14px;line-height:1.6}.preview .imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.preview .imgs img{max-width:160px;border-radius:6px}.err{color:#e54d42;font-size:13px}.hint{color:#07c160;font-size:13px}.empty{color:#999;font-size:14px;text-align:center;padding:20px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:10px;padding:20px;width:520px;max-width:92vw}.modal-box textarea{min-height:200px;font-family:monospace;font-size:12px}.modal-box .row{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
