:root{font-family:Inter,Arial,sans-serif;color:#112039;background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-height:100vh}.layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.intro{display:flex;flex-direction:column;justify-content:space-between;padding:52px clamp(34px,7vw,120px);color:#fff;background:radial-gradient(circle at 80% 10%,#2677f0 0,transparent 33%),linear-gradient(135deg,#07172f,#0a326c)}.brand{display:flex;gap:9px;align-items:center;font-size:16px}.brand span{padding:8px 10px;border-radius:8px;background:#fff;color:#0e3570;font-weight:900}.brand b{font-weight:700}.intro small,.kicker{color:#2878fa;font-size:10px;font-weight:900;letter-spacing:1.5px}.intro small{color:#9bc2ff}.intro h1{margin:16px 0;font-size:clamp(44px,5vw,76px);line-height:.98;letter-spacing:-3px}.intro p{max-width:430px;margin:0;color:#b8cbe9;font-size:17px;line-height:1.6}.back{color:#c4d8f8;font-size:13px}.panel{display:grid;place-items:center;padding:42px;background:radial-gradient(circle at 90% 0,#e4efff,transparent 31%),#f7f9fc}.card{width:min(480px,100%);padding:42px;border:1px solid #dde6f0;border-radius:22px;background:#fff;box-shadow:0 30px 70px #102c5615}.card h2{margin:9px 0;font-size:31px;letter-spacing:-1.3px}.lead{margin:0 0 27px;color:#66758b;line-height:1.6;font-size:13px}.lead b{color:#273a55}form{display:grid;gap:14px}label{display:grid;gap:7px;color:#334258;font-size:11px;font-weight:800}input{height:48px;width:100%;padding:0 13px;border:1px solid #cdd8e6;border-radius:10px;background:#fff;font:inherit;color:#112039;outline:none}input:focus{border-color:#1767ed;box-shadow:0 0 0 4px #1767ed17}label small{color:#8390a1;font-size:10px;font-weight:500}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button{min-height:50px;margin-top:4px;padding:0 16px;border:0;border-radius:10px;background:#1767ed;color:#fff;font-weight:800;cursor:pointer}.button:hover{background:#0d57d2}.secondary{display:flex;align-items:center;justify-content:center;margin-top:22px;background:#eef3fa;color:#24486f}.switch{text-align:center;color:#77869a;font-size:12px}.switch a,.inline button{color:#1767ed;font-weight:800}.alert{margin-bottom:16px;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5}.alert.error{border:1px solid #ffcfc9;background:#fff3f1;color:#b53228}.alert.success{border:1px solid #bde8d4;background:#effbf4;color:#08764f}.inline{display:block;margin-top:14px;text-align:center}.inline button{border:0;background:transparent;font:inherit;cursor:pointer}.account{display:grid;gap:5px;margin:22px 0;padding:16px;border-radius:12px;background:#f1f6ff}.account b{font-size:14px}.account span,.reservations span{color:#6c7b8f;font-size:11px}.card h3{margin:24px 0 10px;font-size:14px}.reservations article{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;border-top:1px solid #e8edf4}.reservations b{font-size:12px}.reservations em{grid-column:2;grid-row:1/3;align-self:center;padding:4px 7px;border-radius:14px;background:#eaf2ff;color:#1767ed;font-size:9px;font-style:normal;font-weight:800}.empty{color:#7b899a;font-size:12px}.g-recaptcha{overflow:hidden}@media(max-width:860px){.layout{grid-template-columns:1fr}.intro{min-height:330px;padding:30px}.intro h1{font-size:48px}.panel{padding:22px}.card{margin-top:-55px;padding:28px 22px}.back{display:none}}@media(max-width:420px){.two{grid-template-columns:1fr}.intro{min-height:285px}.intro h1{font-size:41px}.card{padding:25px 18px}}

select,textarea{width:100%;padding:12px 13px;border:1px solid #cdd8e6;border-radius:10px;background:#fff;color:#112039;font:inherit;outline:none}select{height:48px}textarea{resize:vertical;line-height:1.55}select:focus,textarea:focus{border-color:#1767ed;box-shadow:0 0 0 4px #1767ed17}.customer-view-dashboard .layout{grid-template-columns:290px minmax(0,1fr)}.customer-view-dashboard .intro{position:sticky;top:0;height:100vh;padding:40px 32px}.customer-view-dashboard .intro>div{display:none}.customer-view-dashboard .panel{display:block;padding:34px}.customer-view-dashboard .card{width:min(1180px,100%);margin:0 auto;padding:0;border:0;background:transparent;box-shadow:none}.customer-view-dashboard .alert{margin:0 0 18px}.customer-dashboard{display:grid;gap:22px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 32px;border:1px solid #dce6f2;border-radius:22px;background:#fff;box-shadow:0 16px 45px #17365d0c}.dashboard-heading h2{margin:7px 0 5px;font-size:34px}.dashboard-heading p{margin:0;color:#68788e;font-size:13px}.dashboard-logout{padding:11px 15px;border:1px solid #d6e1ee;border-radius:10px;color:#24486f;font-size:12px;font-weight:800;text-decoration:none}.dashboard-nav{display:flex;gap:8px;overflow:auto;padding:7px;border:1px solid #dce6f2;border-radius:14px;background:#fff}.dashboard-nav a{white-space:nowrap;padding:10px 14px;border-radius:9px;color:#53667e;font-size:12px;font-weight:800;text-decoration:none}.dashboard-nav a:hover{background:#edf4ff;color:#1767ed}.dashboard-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dashboard-summary article{display:flex;align-items:center;gap:14px;min-height:102px;padding:20px;border:1px solid #dce6f2;border-radius:17px;background:#fff}.dashboard-summary article>span{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#eaf2ff;color:#1767ed;font-size:22px;font-weight:900}.dashboard-summary div{display:grid;gap:4px}.dashboard-summary b{font-size:13px}.dashboard-summary small{color:#7b899b;font-size:10px;line-height:1.4}.dashboard-summary .account-summary{background:#0c2854;color:#fff}.dashboard-summary .account-summary small{color:#aac4e7}.dashboard-section{padding:28px 30px;border:1px solid #dce6f2;border-radius:22px;background:#fff;scroll-margin-top:20px}.section-copy h3{margin:7px 0 6px;font-size:22px}.section-copy p{max-width:680px;margin:0;color:#718096;font-size:12px;line-height:1.6}.new-booking{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(500px,1.3fr);align-items:end;gap:30px;background:linear-gradient(135deg,#fafdff,#eef5ff)}.quick-booking{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:10px}.quick-booking .button{grid-column:1/-1}.reservation-cards{display:grid;gap:14px;margin-top:20px}.reservation-card{padding:20px;border:1px solid #dce6f2;border-radius:16px;background:#fbfdff}.reservation-card>header{display:flex;justify-content:space-between;gap:14px}.reservation-card header small{color:#7c8ba0;font-size:10px;font-weight:800}.reservation-card h4{margin:4px 0;font-size:17px}.reservation-status{align-self:flex-start;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900}.reservation-status.pending{background:#fff4dc;color:#976000}.reservation-status.option{background:#eee9ff;color:#6041aa}.reservation-status.confirmed{background:#e5f2ff;color:#075fb7}.reservation-status.active{background:#e2f9ef;color:#087451}.reservation-status.completed{background:#eaf6ed;color:#337145}.reservation-status.cancelled{background:#fff0ee;color:#ad392f}.reservation-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:18px 0;padding:16px;border-radius:13px;background:#f0f5fb}.reservation-route div{display:grid;gap:4px}.reservation-route small,.reservation-route span{color:#718096;font-size:10px}.reservation-route b{font-size:12px}.reservation-route i{color:#1767ed;font-style:normal}.reservation-total{display:flex;justify-content:space-between;padding:0 3px 14px;color:#718096;font-size:11px}.reservation-total b{color:#112039}.reservation-card details{border-top:1px solid #e0e7f0;padding-top:14px}.reservation-card summary{color:#1767ed;font-size:11px;font-weight:850;cursor:pointer}.reservation-request{grid-template-columns:210px 1fr auto;align-items:end;margin-top:16px}.reservation-request small{grid-column:1/-1;color:#77869b;font-size:10px}.reservation-request .button{height:48px;margin:0}.dashboard-empty{padding:28px;border:1px dashed #cbd8e8;border-radius:14px;text-align:center;color:#66778d}.dashboard-empty b{color:#20334c}.dashboard-empty p{margin:6px 0 0;font-size:12px}.contact-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:18px}.contact-channels{display:grid;align-content:start;gap:9px}.contact-channels a{display:grid;gap:3px;padding:13px;border:1px solid #dce6f2;border-radius:11px;color:#1d385c;text-decoration:none}.contact-channels small{color:#7a899d;font-size:9px}.contact-channels b{font-size:11px;overflow-wrap:anywhere}@media(max-width:1100px){.customer-view-dashboard .layout{grid-template-columns:230px minmax(0,1fr)}.new-booking,.contact-section{grid-template-columns:1fr}.reservation-request{grid-template-columns:1fr 1fr}.reservation-request .button{grid-column:1/-1}.dashboard-summary{grid-template-columns:1fr 1fr}.dashboard-summary .account-summary{grid-column:1/-1}}@media(max-width:860px){.customer-view-dashboard .layout{display:block}.customer-view-dashboard .intro{position:relative;height:auto;min-height:180px;padding:24px}.customer-view-dashboard .customer-languages{margin:18px 0 0}.customer-view-dashboard .panel{padding:16px}.customer-view-dashboard .card{margin:-34px 0 0;padding:0}.dashboard-heading{padding:23px}.dashboard-heading h2{font-size:28px}.dashboard-summary{grid-template-columns:1fr}.dashboard-summary .account-summary{grid-column:auto}.quick-booking{grid-template-columns:1fr 1fr}.quick-booking label:last-of-type{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}.dashboard-section{padding:22px}.reservation-route{grid-template-columns:1fr}.reservation-route i{transform:rotate(90deg);justify-self:start}.reservation-request{grid-template-columns:1fr}}@media(max-width:540px){.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-logout{align-self:flex-start}.quick-booking{grid-template-columns:1fr}.quick-booking label:last-of-type{grid-column:auto}.dashboard-section{padding:19px 16px}.reservation-card{padding:16px}.dashboard-nav{margin-inline:-1px}.contact-section{gap:20px}}

.identity-fields{display:grid;gap:14px;margin:4px 0;padding:16px;border:1px solid #d9e4f1;border-radius:13px;background:#f8fbff}.identity-fields legend{padding:0 7px;color:#173b6a;font-size:12px;font-weight:900}.identity-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.identity-fields [hidden]{display:none!important}@media(max-width:520px){.identity-fields>div{grid-template-columns:1fr}}
