/* base.css - Base: variables, header, steps, forms, buttons, cards, modals */
:root{--b:#0b2f6d;--o:#f47920;--bg:#eef2f8;--t:#1c2733}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);max-width:480px;margin:auto;min-height:100vh}
header{background:var(--b);color:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:4px solid var(--o);position:sticky;top:0;z-index:5}
header .lg{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--b);display:grid;place-items:center;font-weight:800;font-size:13px;border:2px solid var(--o)}
header h1{font-size:16px;margin:0;line-height:1.1}header small{font-size:10px;opacity:.85}
header .sp{flex:1}
.pnrbtn{background:var(--o);color:#fff;border:0;border-radius:6px;padding:8px 10px;font-weight:700;font-size:12px}
.stepper{display:flex;background:#fff;padding:8px 6px;font-size:10px;text-align:center;box-shadow:0 1px 3px #0002}
.stepper div{flex:1;color:#8a95a5;border-bottom:3px solid #dde3ec;padding-bottom:4px}
.stepper .on{color:var(--b);border-color:var(--o);font-weight:700}.stepper .done{color:#2e7d32;border-color:#2e7d32}
.step{display:none;padding:14px}.step.act{display:block}
.card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 2px 8px #0b2f6d22;margin-bottom:12px}
label{display:block;font-size:11px;font-weight:700;color:var(--b);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.4px}
button,input,select,textarea{font-family:inherit}
input,select,textarea{width:100%;padding:11px;border:1px solid #b9c4d6;border-radius:6px;font-size:15px;background:#fff}
.note{font-size:11px;color:#6b7788;margin-top:3px}
.btn{width:100%;background:var(--o);color:#fff;border:0;padding:14px;border-radius:8px;font-size:16px;font-weight:700;margin-top:6px}
.btn:disabled{background:#c5ccd8}.btn.sec{background:var(--b)}.btn.ghost{background:#fff;color:var(--b);border:1px solid var(--b)}
.back{background:none;border:0;color:var(--b);font-weight:700;padding:0 0 8px}
.tr h3{margin:0;color:var(--b)}.tr .row{display:flex;justify-content:space-between;align-items:center;margin:10px 0}
.tm{font-size:22px;font-weight:700}.tm small{display:block;font-size:11px;font-weight:400;color:#6b7788}
.mid{text-align:center;font-size:11px;color:#6b7788;flex:1}.mid hr{border:0;border-top:2px dotted var(--o);margin:4px 8px}
.days{font-size:11px;color:var(--b);letter-spacing:2px;font-weight:700}
.slider{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory}
.cls{flex:0 0 132px;scroll-snap-align:start;border:2px solid #cfd8e6;border-radius:8px;padding:10px;background:#fff;text-align:left}
.cls b{font-size:18px;color:var(--b)}.cls span{display:block;font-size:11px;color:#5a6676}.cls em{font-style:normal;font-size:11px;color:#2e7d32;font-weight:700}
.cls.sel{border-color:var(--o);background:#fff4ea}
.pax{border:1px solid #d5dcea;border-radius:8px;padding:10px;margin-bottom:10px;background:#fafcff}
.pax h4{margin:0 0 4px;color:var(--b);display:flex;justify-content:space-between;font-size:13px}
.pax h4 button{background:none;border:0;color:#c62828;font-weight:700}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.err{color:#c62828;font-size:12px;margin-top:6px;min-height:14px}
