:root{color:#1f2937;background:#f4f7fb;font-family:Microsoft YaHei,Arial,sans-serif}body{margin:0}button,input{font:inherit}.app-shell{min-height:100vh}.topbar{color:#fff;background:#12355b;justify-content:space-between;align-items:center;padding:16px;display:flex}.topbar h1{margin:0 0 4px;font-size:20px}.topbar p{color:#cbd5e1;margin:0;font-size:13px}.user-chip{border:1px solid #ffffff47;border-radius:6px;padding:8px 10px;font-size:13px}.session-controls{align-items:center;gap:8px;display:flex}.logout-button{color:#fff;background:0 0;border:1px solid #ffffff8c;border-radius:6px;min-height:36px;padding:7px 10px}.logout-button:disabled{cursor:wait;opacity:.65}.tabs{background:#d8e0ea;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.tabs button{color:#334155;background:#fff;border:0;padding:12px 6px}.tabs button.active{color:#0f4c9a;background:#e7f0ff;font-weight:700}main{max-width:980px;margin:0 auto;padding:16px}.panel{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:16px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.summary-grid button,.primary,.danger{color:#fff;background:#1769aa;border:0;border-radius:6px;padding:12px}.danger{background:#b42318}.notice,.result,.hint{background:#f1f5f9;border-radius:6px;margin-top:14px;padding:12px}.field{margin:12px 0;display:block}.field span{margin-bottom:6px;font-weight:700;display:block}.field input{box-sizing:border-box;border:1px solid #b9c6d3;border-radius:6px;width:100%;min-height:40px;padding:8px}.scan-row{grid-template-columns:1fr 76px;gap:8px;display:grid}.scan-row button{color:#1769aa;background:#fff;border:1px solid #1769aa;border-radius:6px}small{color:#64748b;margin-top:4px;display:block}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5edf5;padding:8px}pre{color:#d1e7ff;background:#0f172a;border-radius:6px;padding:10px;overflow:auto}.data-block{margin-top:14px}@media (width<=680px){.topbar{flex-direction:column;align-items:flex-start;gap:10px}.session-controls{justify-content:space-between;width:100%}.tabs{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}}
