:root{--brand:#2563eb;--ink:#172033;--muted:#667085;--border:#e2e8f0;--surface:#fff;--bg:#f4f7fb}
body{background:var(--bg);color:var(--ink);font-family:"Segoe UI",system-ui,sans-serif}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-shell{width:100%;max-width:440px}.auth-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px;box-shadow:0 12px 32px rgba(16,24,40,.06)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--brand);color:#fff;font-size:25px;font-weight:700;margin-bottom:16px}.eyebrow{color:var(--brand);font-weight:700;letter-spacing:.12em;font-size:12px}.auth-card h1{font-size:25px;margin:5px 0}.developer-credit{color:var(--muted);font-size:12px;text-align:center}.brand-title{font-weight:700;font-size:18px}.app-card{border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.04)}.section-title{font-size:18px;font-weight:650}.status-box{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:10px 12px;font-size:13px}.status-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.status-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.upload-zone{min-height:210px;border:2px dashed #cbd5e1;border-radius:14px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;cursor:pointer}.upload-zone:hover{border-color:var(--brand);background:#eff6ff}.upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#dbeafe;color:var(--brand);font-size:22px;font-weight:700}
