:root{
  --bg:#eef2f7;
  --card:#ffffff;
  --ink:#172033;
  --muted:#657084;
  --line:#dce3ec;
  --accent:#155eef;
  --accent2:#0b49c8;
  --ok:#12805c;
  --warn:#a15c00;
  --bad:#b42318;
  --shadow:0 18px 50px rgba(26,42,67,.10);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f5f7fb 0,#edf2f7 55%,#eaf0f6 100%);color:var(--ink);min-height:100vh}
button,input{font:inherit}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0 28px}
.hero{display:flex;gap:20px;align-items:center;margin-bottom:24px}
.brand-mark{width:78px;height:78px;border-radius:22px;background:linear-gradient(145deg,var(--accent),#0b3eaa);color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:.06em;box-shadow:0 12px 28px rgba(21,94,239,.28);flex:0 0 auto}
.eyebrow{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--accent)}
h1{font-size:clamp(28px,4vw,44px);line-height:1.08;margin:0 0 8px;letter-spacing:-.035em}
.subtitle{margin:0;color:var(--muted);font-size:16px;line-height:1.55;max-width:780px}
.panel{background:rgba(255,255,255,.94);border:1px solid rgba(215,223,234,.9);border-radius:24px;box-shadow:var(--shadow);margin:18px 0;overflow:hidden}
.upload-panel{padding:22px}
.drop-zone{border:2px dashed #aebbd0;border-radius:20px;min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;transition:.2s;background:linear-gradient(180deg,#fff,#fafcff);outline:none;cursor:pointer}
.drop-zone:hover,.drop-zone:focus,.drop-zone.dragover{border-color:var(--accent);background:#f5f9ff;box-shadow:inset 0 0 0 3px rgba(21,94,239,.06)}
.drop-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eaf1ff;color:var(--accent);font-size:30px;font-weight:800;margin-bottom:12px}
.drop-zone h2{margin:4px 0 6px;font-size:24px}.drop-zone p{margin:0 0 18px;color:var(--muted)}
.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;transition:.15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(21,94,239,.20)}.btn-primary:hover:not(:disabled){background:var(--accent2);transform:translateY(-1px)}
.btn-ghost{background:#f1f4f8;color:#33425a}.btn-ghost:hover:not(:disabled){background:#e7edf5}
.btn-download{background:#e9f8f2;color:#087552;border:1px solid #bce7d7;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:9px 13px;font-weight:800}
.privacy-note{display:flex;gap:10px;align-items:flex-start;color:#536178;font-size:13px;padding:14px 4px 0}.dot{width:9px;height:9px;background:var(--ok);border-radius:99px;margin-top:5px;box-shadow:0 0 0 4px #e6f6ef;flex:0 0 auto}
.queue-panel{padding:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.section-head h2{margin:0;font-size:22px}.head-actions{display:flex;gap:9px}
.job-list{display:grid;gap:12px}.job{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff}.job-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.job-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-meta{font-size:12px;color:var(--muted);margin-top:4px}.status-pill{font-size:11px;font-weight:900;letter-spacing:.05em;padding:7px 9px;border-radius:999px;background:#edf1f6;color:#536178}.status-pill.processing{background:#eaf1ff;color:#155eef}.status-pill.done{background:#e8f7f1;color:#087552}.status-pill.warn{background:#fff4df;color:#8f5200}.status-pill.error{background:#ffebe9;color:#b42318}
.progress-track{height:8px;background:#edf1f5;border-radius:99px;overflow:hidden;margin:12px 0 8px}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#155eef,#5c8cff);border-radius:99px;transition:width .25s ease}.job-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.job-detail{font-size:12px;color:var(--muted);line-height:1.4}.job-actions{display:flex;gap:8px;align-items:center}
.message{border-radius:12px;padding:10px 12px;margin-bottom:12px;background:#fff4df;color:#8f5200;font-size:13px;font-weight:700}.hidden{display:none!important}
.info-panel{padding:20px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-card{border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;gap:12px;align-items:center;color:#536178}.info-card .num{font-size:28px;font-weight:900;color:var(--accent)}
details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-weight:800}.details-body{color:var(--muted);font-size:14px;line-height:1.55}.details-body code{background:#f1f4f8;padding:2px 5px;border-radius:5px;color:#33425a}
footer{text-align:center;color:#7a8597;font-size:12px;padding:12px}
@media(max-width:720px){.shell{width:min(100% - 20px,1180px);padding-top:22px}.hero{align-items:flex-start}.brand-mark{width:58px;height:58px;border-radius:16px;font-size:14px}.section-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions .btn{flex:1}.info-grid{grid-template-columns:1fr}.job-bottom{align-items:flex-start;flex-direction:column}.drop-zone{min-height:240px;padding:24px}.upload-panel,.queue-panel,.info-panel{padding:14px}}
