:root{--blue:#1f4e78;--light:#f4f7fb;--border:#d9e2ec;--text:#25364a;--green:#2f855a;--red:#c53030;--orange:#c05621}
*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--text);font-family:"Microsoft YaHei UI","PingFang SC",Arial,sans-serif}.topbar{background:var(--blue);color:#fff;padding:16px 5vw;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0002}.brand{font-size:20px;font-weight:700}.subtitle{opacity:.82;font-size:13px;margin-top:3px}.topbar nav{display:flex;gap:18px;align-items:center}.topbar a,.link-button{color:#fff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.container{max-width:1280px;margin:24px auto;padding:0 18px}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 2px 7px #1f4e780d;margin-bottom:18px}.grid{display:grid;gap:14px}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-5{grid-template-columns:repeat(5,1fr)}.metric span{display:block;color:#718096;font-size:13px}.metric strong{display:block;font-size:28px;margin-top:8px;color:var(--blue)}.metric strong.small{font-size:14px;line-height:1.5}h1,h2{margin-top:0}h2{font-size:18px}.muted{color:#718096}.upload-card form,.form-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}input[type=text],input[type=password],input[type=number],input:not([type]){padding:10px;border:1px solid #cbd5e0;border-radius:6px;font:inherit}input[type=file]{padding:9px;border:1px dashed #a0aec0;border-radius:6px;background:#fafafa;min-width:320px}.primary,.button{display:inline-block;border:0;border-radius:6px;padding:10px 16px;background:var(--blue);color:#fff;text-decoration:none;cursor:pointer;font:inherit}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#4a5568}.danger{background:#b83232}.full{width:100%;margin-top:16px}.mini{padding:6px 9px;font-size:12px;margin:2px}.alert{padding:11px 14px;border-radius:7px;margin-bottom:16px}.success{background:#e6fffa;color:#276749}.error{background:#fff5f5;color:#9b2c2c}.info{background:#ebf8ff;color:#2c5282}.section-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}th{background:#edf2f7;white-space:nowrap}.filename{max-width:340px;word-break:break-all}.status{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;background:#e2e8f0}.status.completed{background:#c6f6d5;color:#276749}.status.failed{background:#fed7d7;color:#9b2c2c}.status.processing{background:#bee3f8;color:#2a4365}.status.queued{background:#feebc8;color:#7b341e}.error-text{color:#c53030;font-size:12px;max-width:320px}.empty{text-align:center;color:#a0aec0}.inline-form{display:inline-flex;gap:5px;align-items:center;margin:0}.tiny{width:72px}.small-input{width:120px}.badge{font-size:11px;color:#fff;background:#805ad5;border-radius:10px;padding:2px 6px;margin-left:5px}.auth-card{max-width:430px;margin:70px auto;background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;box-shadow:0 6px 26px #1f4e7818}.auth-card label{display:block;margin:14px 0 6px}.auth-card input{width:100%}footer{text-align:center;color:#718096;font-size:12px;padding:20px}@media(max-width:900px){.cards-3,.cards-5{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.topbar nav{flex-wrap:wrap}.upload-card form{align-items:stretch}input[type=file]{min-width:0;width:100%}}
.cards-4{grid-template-columns:repeat(4,1fr)}.metric small{display:block;color:#718096;margin-top:5px}.metric.compact strong{font-size:22px}.account-info{display:flex;gap:28px;flex-wrap:wrap;padding:14px 20px}.warning-text{color:#c05621;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4a5568}.form-grid input{width:100%}.form-actions{display:flex;align-items:flex-end}.subline{color:#718096;font-size:11px;margin-top:4px;white-space:nowrap}.stack-form{display:flex;flex-direction:column;gap:5px;min-width:130px}.wide-table table{min-width:1500px}.wide-table td{vertical-align:top}.wide-table .tiny{width:100%}.wide-table .small-input{width:100%}
@media(max-width:1100px){.cards-4{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:700px){.cards-4,.form-grid{grid-template-columns:1fr}.account-info{flex-direction:column;gap:8px}}
