:root{--background:#f5f7fb;--foreground:#162438;--primary:#244edb;--primary-foreground:#fff;--border:#dce3ee;--muted:#edf1f7;--muted-foreground:#607087;--accent:#edf2ff;--card:#fff;--card-foreground:#162438;--secondary:#edf1f7;--secondary-foreground:#162438;--ring:#244edb}
*{box-sizing:border-box}body{margin:0;background:var(--background);font-family:Arial,'Malgun Gothic',sans-serif;font-size:16px;color:var(--foreground);line-height:1.6}button,a,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,.upload-box:focus-within{outline:3px solid #678bff;outline-offset:4px}button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:19px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{background:#244edb;color:white;border-radius:9px;padding:8px}.brand strong{font-size:18px}.small-tag{font-size:12px;color:#63728a;border-left:1px solid #dce3ee;padding-left:14px}.account{font-size:13px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#52617b}.account a{margin-left:10px;text-decoration:underline}main{max-width:1240px;margin:auto;padding:40px 30px 18px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;color:#244edb;margin:0 0 4px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 5px;font-weight:750}h2{font-size:18px;margin:0;font-weight:700}p{margin:0}.muted{color:#66758b;font-size:14px}.cloud-label{display:flex;gap:12px;align-items:center;color:#34518b;font-size:14px}.cloud-label small{font-size:12px;color:#64748b}.upload-panel,.results,.sign-in{background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px;flex-wrap:wrap}.section-title>span{color:#6c7c91;font-size:13px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-box{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f8faff;border:1px dashed #a9bddc;border-radius:10px;padding:24px 18px;cursor:pointer;min-width:0}.upload-box svg{color:#4466b1}.upload-box.selected{border:1px solid #4c6eea;background:#f2f5ff}.step{position:absolute;top:13px;left:16px;font-size:12px;font-weight:700;color:#647ea7}.upload-box strong{font-size:16px}.filename{overflow-wrap:anywhere;font-size:13px;color:#63728a}.upload-box input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.upload-footer p{font-size:14px;color:#52627a}.upload-footer small{font-size:12px;color:#7b8798}.primary{background:#244edb;color:white;border:0;padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;gap:14px;text-decoration:none;white-space:nowrap;font-size:15px;font-weight:600}.feedback{padding:12px 3px;min-height:48px;font-size:14px;color:#426381}.error{color:#b32d32;background:#fff0f0;border-radius:6px;padding:9px 12px;margin:5px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dce3ee;border-radius:10px;overflow:hidden;margin:5px 0 20px}.stat{padding:20px;border-right:1px solid #dce3ee}.stat:last-child{border:0}.stat>span{font-size:14px;color:#52627a}.stat>strong{display:block;font-size:34px;line-height:1.5;font-weight:700;letter-spacing:-1px}.stat small{font-size:15px;margin-left:7px;font-weight:400;letter-spacing:0}.stat p{font-size:12px;color:#63728a}.stat.danger{background:#fff5f3}.stat.danger strong{color:#c34034}.stat.warning strong{color:#996600}.scope{display:flex;gap:8px;align-items:center;font-size:14px;color:#4b6377}.scope-note{font-size:13px;color:#866323;margin-top:5px}.view-buttons{display:flex;gap:22px;border-bottom:1px solid #dce3ee;margin-top:20px;overflow-x:auto}.view-buttons button{border:0;border-radius:0;white-space:nowrap;padding:13px 0;background:transparent;color:#65738a;font-size:14px}.view-buttons button[aria-pressed=true]{color:#244edb;border-bottom:3px solid #244edb;font-weight:700}.view-buttons span{background:#edf1f8;padding:1px 6px;border-radius:4px;font-size:12px}table{border-collapse:collapse;width:100%;font-size:14px!important}th{background:#f6f8fc;color:#586a82!important;font-size:13px;padding:12px!important}td{padding:15px 12px!important;border-bottom:1px solid #e8edf4;white-space:normal!important}td.amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap!important}.cell-note{display:block;font-size:12px;color:#748297;max-width:300px}.status-missing{font-size:13px;color:#b8372e;background:#fff0ec;padding:4px 8px;border-radius:4px;white-space:nowrap}.empty-cell{text-align:center;color:#7a879a;padding:40px!important}.empty-state{text-align:center;padding:40px 10px;color:#8191a8}.empty-state svg{margin:auto;color:#7896cb}.empty-state h3{color:#4d607d;font-size:17px;margin:10px 0 3px}.empty-state p{font-size:14px}details{margin-top:20px;font-size:13px;color:#65748c}details summary{cursor:pointer;font-size:14px}details p{margin:10px 0}footer{display:flex;justify-content:space-between;font-size:12px;color:#8895a7;padding:24px 0;gap:20px}.sign-in{text-align:center;padding:55px}.sign-in svg{margin:auto}.sign-in p{margin:10px 0 22px;color:#64748b}
@media(max-width:800px){main{padding:25px 16px}.topbar{padding:14px 16px;align-items:flex-start}.account{max-width:40%;font-size:12px}.small-tag,.cloud-label{display:none}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #dce3ee}.upload-footer{align-items:stretch;flex-direction:column}.upload-panel,.results{padding:18px}.section-title{align-items:flex-start}.upload-grid{gap:10px}.upload-box{padding:24px 9px}.upload-box strong{font-size:14px}h1{font-size:28px}.view-buttons{gap:20px}.actions button{font-size:12px}footer{flex-direction:column;gap:4px}}@media(max-width:440px){.upload-grid{grid-template-columns:1fr}.brand strong{font-size:16px}.brand-icon{padding:5px}.account{font-size:11px}.stat{padding:15px}.stat>strong{font-size:30px}}

.view-buttons{width:100%;height:auto!important;justify-content:flex-start!important;padding:0!important;border-radius:0}.view-buttons button[data-state=active]{color:#244edb;border-bottom:3px solid #244edb;font-weight:700}.view-buttons button{flex:none;height:auto}.view-buttons button:after{display:none}.view-buttons+div{min-width:0}
.hidden{display:none!important}.table-wrap{overflow:auto}table{min-width:760px}.file-control{display:block;margin-top:12px;max-width:100%}.upload-box input{position:static;opacity:1;height:auto}.view-buttons{padding:10px 0!important;flex-wrap:wrap}.view-buttons button.active{color:#244edb;font-weight:700;border-bottom:3px solid #244edb}.note{font-size:14px;color:#52627a;margin:12px 0}input::file-selector-button{padding:8px;border:1px solid #ccd5e4;border-radius:6px;background:white}td{overflow-wrap:anywhere}button.primary{white-space:normal}.feedback.error{color:#b42318}.feedback.success{color:#166534}.admin-panel{margin-top:24px;padding:26px;border:1px solid #dfe5ef;border-radius:14px;background:#fff}.admin-panel>summary{cursor:pointer;font-size:20px;font-weight:750}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.admin-grid section{padding:20px;border:1px solid #e6eaf1;border-radius:12px}.admin-grid h2{margin-top:0;font-size:17px}.admin-grid label{display:block;margin:12px 0;color:#52627a;font-size:14px}.admin-grid input,.admin-grid select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #ccd5e4;border-radius:7px;background:white}.switch-line input{display:inline;width:auto;margin-right:6px}.admin-panel button{padding:9px 13px;border:1px solid #ccd5e4;border-radius:7px;background:white;cursor:pointer}.admin-panel button.danger{color:#b42318;border-color:#f3b8b3}.admin-panel button.allow{color:#166534}.role-badge{display:inline-block;padding:2px 7px;border-radius:999px;background:#eef2ff;font-size:12px}.blocked{color:#b42318}.allowed{color:#166534}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}}
