:root{--bg:#f6f8fb;--card:#fff;--ink:#111827;--muted:#64748b;--line:#e5e7eb;--brand:#0f172a;--accent:#dff5ff;--good:#ecfdf5;--bad:#fef2f2}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:#0f4c81}.wrap{max-width:1180px;margin:0 auto;padding:24px}.narrow{max-width:760px}.hero{padding-top:40px}.hero-card{background:linear-gradient(135deg,#fff,#eaf8ff);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 10px 30px rgba(15,23,42,.06)}h1{font-size:clamp(30px,5vw,56px);line-height:1.04;margin:8px 0 14px}h2{margin-top:0}.lead{font-size:20px;color:#334155;max-width:820px}.pill{display:inline-block;background:#111827;color:#fff;border-radius:999px;padding:8px 12px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;margin:16px 0;box-shadow:0 8px 22px rgba(15,23,42,.04)}.cards{margin-top:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stack{display:grid;gap:14px}.full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font:inherit;background:#fff}textarea{min-height:96px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.btn,button{border:0;border-radius:999px;background:var(--brand);color:white;padding:12px 18px;font-weight:750;text-decoration:none;cursor:pointer;display:inline-block}.ghost{background:#fff;color:var(--brand);border:1px solid var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.muted{color:var(--muted)}.success,.notice{background:var(--good)}.error{background:var(--bad);border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px}.topbar{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;padding:12px 18px;z-index:5;overflow-x:auto}.topbar a{text-decoration:none;white-space:nowrap}.metric{font-size:42px;font-weight:800;margin:0}.booking-head{background:#0f172a;color:#fff;border-radius:28px;padding:28px;margin-bottom:18px}.booking-head p{color:#cbd5e1}.logo{max-height:62px;max-width:180px;border-radius:14px;background:#fff;padding:8px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.vehicle-card{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;cursor:pointer}.vehicle-card input{width:auto}.vehicle-card:has(input:checked){outline:3px solid #93c5fd}.vehicle-card span,.vehicle-card small{display:block;color:var(--muted);margin-top:5px}.vehicle-img{height:132px;border-radius:14px;background:linear-gradient(135deg,#dff5ff,#e5e7eb);margin-bottom:10px;overflow:hidden;position:relative}.vehicle-img img{width:100%;height:100%;object-fit:cover}.default-exec:before{content:'Executive Car';}.default-mpv:before{content:'MPV / 8-Seater';}.default-minibus:before{content:'Minibus';}.default-coach:before{content:'Coach';}.vehicle-img:before{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;color:#334155;background:linear-gradient(135deg,#dff5ff,#f8fafc)}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}form.mini{display:grid;gap:6px;min-width:220px}.footer{text-align:center;color:var(--muted);padding:26px}.widget-wrap{padding:12px}.widget .topbar,.widget .footer{display:none}@media(max-width:760px){.wrap{padding:14px}.grid2,.grid3{grid-template-columns:1fr}.hero-card{padding:22px}.topbar{font-size:14px}.vehicle-grid{grid-template-columns:1fr}table{font-size:13px;display:block;overflow:auto}}
.ok{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:12px}.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px}.inline{display:inline-block;margin-left:8px}.inline button{padding:8px 12px;background:#7f1d1d}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.step{display:block;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;text-decoration:none;color:var(--ink)}.step b{display:block;font-size:16px;margin-bottom:4px}.step span{display:block;color:var(--muted);font-size:14px}.step.done{background:#ecfdf5;border-color:#bbf7d0}.hint{background:#eff6ff;border-left:5px solid #93c5fd;border-radius:12px;padding:12px;color:#1e3a8a}.notice{border:1px solid #bae6fd;border-radius:14px;padding:12px;background:#f0f9ff}.warning{border:1px solid #fde68a;border-radius:14px;padding:12px;background:#fffbeb;color:#92400e}.field-help{font-size:13px;color:var(--muted);font-weight:500}.setup-badge{display:inline-block;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}

.busy-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.busy-overlay.show{display:flex}.busy-card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 20px 60px rgba(15,23,42,.22);display:grid;gap:8px;text-align:center;min-width:240px}.spinner{width:42px;height:42px;border:4px solid #dbeafe;border-top-color:#0f172a;border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.country-compact summary{cursor:pointer;color:#0f4c81;font-weight:700}.country-compact select{margin-top:8px}.quiet-note{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:#334155}.assure{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;padding:12px;color:#166534;font-weight:650}
.health h2{margin-top:0}.okbox{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff)}.warnbox{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff)}
pre{white-space:pre-wrap;background:#0f172a;color:#e5e7eb;padding:14px;border-radius:14px;overflow:auto}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}.success-panel{border:1px solid #bbf7d0;background:#f0fdf4}.attention-panel{border:1px solid #fde68a;background:#fffbeb}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.small-help{font-size:.93rem;color:#475569}.topbar a[href*="health_check"],.topbar a[href*="test_mode"]{font-weight:800}
