:root{--bg:#f5f7fb;--card:#ffffff;--ink:#12192b;--muted:#5b6475;--line:#d9deea;--brand:#2347d8;--brand-ink:#ffffff;--ok:#0f7a4a;--err:#b42318;--radius:12px}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{max-width:640px;margin:0 auto;padding:24px 16px 64px}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar-inner{max-width:640px;margin:0 auto;padding:10px 16px;gap:14px}.logos,.topbar-inner{display:flex;align-items:center}.logos{gap:12px;flex-shrink:0}.logos img{height:48px;width:auto;object-fit:contain}.org{display:flex;flex-direction:column;line-height:1.25;min-width:0}.org strong{font-size:.95rem}.org span{font-size:.78rem;color:var(--muted)}@media (max-width:520px){.logos img{height:40px}.org strong{font-size:.85rem}.org span{font-size:.72rem}}.hero{background:linear-gradient(135deg,#14308f,#2347d8 55%,#3d6bff);color:#fff;padding:36px 16px 64px}.hero-inner{max-width:640px;margin:0 auto}.eyebrow{display:inline-block;background:rgba(255,255,255,.16);border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hero h1{margin:12px 0 8px;font-size:2.1rem;line-height:1.15;letter-spacing:-.02em}.hero p{margin:0;color:rgba(255,255,255,.88)}.chips-hero{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips-hero li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 12px;font-size:.85rem}.hero+.shell{margin-top:-40px;padding-top:0}.hero+.shell .card{box-shadow:0 10px 30px rgba(20,48,143,.12)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.steps{display:flex;gap:8px;margin:0 0 20px;padding:0;list-style:none}.steps li{flex:1 1;text-align:center;font-size:.8rem;color:var(--muted);padding-top:8px;border-top:4px solid var(--line)}.steps li.active,.steps li.done{border-top-color:var(--brand)}.steps li.active{color:var(--ink);font-weight:600}h2{margin:0 0 16px;font-size:1.15rem}.field{margin-bottom:16px}.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}.field .req{color:var(--err);font-weight:600;font-size:.8rem}.field .opt{font-weight:400}.field .hint,.field .opt{color:var(--muted);font-size:.8rem}.field .error,.field .hint{margin-top:4px}.field .error{color:var(--err);font-size:.85rem}input[type=date],input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{width:100%;padding:10px 12px;font:inherit;color:inherit;background:#fff;border:1px solid var(--line);border-radius:8px}textarea{resize:vertical}textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 16px}.chips span{background:#e8edff;color:var(--brand);border-radius:999px;padding:2px 10px;font-size:.8rem}input[type=file]{width:100%;font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:1px}.invalid{border-color:var(--err)!important}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:520px){.row{grid-template-columns:1fr}}.radios{display:flex;gap:16px;flex-wrap:wrap}.radios label{font-weight:500;display:flex;gap:6px;align-items:center;margin:0}.btn{font:inherit;font-weight:600;cursor:pointer;padding:10px 18px;border-radius:8px;border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink)}.btn.secondary{background:transparent;color:var(--brand)}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.otp{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:14px;margin-bottom:16px}.otp .inline{display:flex;gap:8px}.badge-ok{color:var(--ok);font-weight:600}.alert{background:#fdecea;color:var(--err);border-radius:8px;padding:10px 12px;margin-top:16px;font-size:.9rem}.dev{background:#fff7e0;border-radius:6px;padding:6px 10px;font-size:.8rem;margin-top:8px}.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}.preview{width:96px;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin-top:8px}.ticket{text-align:center}.ticket .uid{font:700 1.6rem/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;margin:8px 0}.ticket .qr{width:280px;max-width:100%;margin:16px auto}.ticket .qr svg{width:100%;height:auto}@media print{.noprint{display:none}body{background:#fff}}.soft-warn{display:flex;flex-direction:column;gap:4px;margin:-4px 0 16px;padding:10px 12px;border-radius:10px;background:#fff6e0;border:1px solid #f2d58a;color:#7a4f00;font-size:.85rem;line-height:1.45}.soft-warn span{color:#8a6a22}.site-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 18px;font-size:.92rem;line-height:1.5;border-bottom:1px solid}.site-banner-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff;margin-top:1px}.site-banner-text{min-width:0;white-space:pre-line;overflow-wrap:anywhere}.site-banner-text small{opacity:.8}.site-banner-text a{color:inherit;font-weight:700}.site-banner.info{background:#e8f0ff;border-color:#c4d6ff;color:#173a8c}.site-banner.info .site-banner-icon{background:#2347d8}.site-banner.success{background:#e6f7ee;border-color:#b6e5cd;color:#0b5c37}.site-banner.success .site-banner-icon{background:#12875a}.site-banner.warning{background:#fff4d9;border-color:#f2d58a;color:#7a4f00}.site-banner.warning .site-banner-icon{background:#d99a00}.site-banner.danger{background:#fdeceb;border-color:#f5b5af;color:#912018}.site-banner.danger .site-banner-icon{background:#d92d20}.dash-main>.site-banner{border:1px solid;border-radius:14px;margin-bottom:16px}.maint{min-height:70vh;display:grid;place-items:center;padding:28px 16px}.maint-card{width:100%;max-width:520px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px 28px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 20px 48px rgba(16,24,40,.08)}.maint-icon{font-size:3rem;line-height:1;margin-bottom:12px}.maint-card h1{margin:0 0 10px;font-size:1.6rem;letter-spacing:-.02em}.maint-msg{margin:0;color:#344054;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.maint-eta{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#eef2ff;color:#1d3a9c;font-size:.92rem}.maint-actions{margin-top:22px}.dash-maint{min-height:100vh;background:#f3f5fb;display:grid;place-items:center}.visit-day{margin:4px auto 14px;max-width:340px;padding:12px 16px;border-radius:14px;background:#eef2ff;border:1px solid #c9d5ff;display:flex;flex-direction:column;gap:2px}.visit-day span{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#3b55b5}.visit-day strong{font-size:1.2rem;color:#14308f}.visit-day small{color:#5a6694}.quota-box{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);max-width:460px}.quota-box strong{display:block;margin-bottom:8px;font-size:.95rem}.quota-box ul{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-gap:6px;gap:6px}.quota-box li{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}.quota-box b{background:rgba(255,255,255,.2);padding:1px 10px;border-radius:999px;font-size:.82rem}.quota-box b.full{background:#ffd3cf;color:#912018}.quota-box small{display:block;color:rgba(255,255,255,.85);line-height:1.45;font-size:.78rem}