:root{--pilot-border:rgba(15,92,99,.14)}
.pilot-body,.booking-body{min-height:100vh;background:radial-gradient(circle at 85% 10%,rgba(110,90,230,.12),transparent 28%),radial-gradient(circle at 10% 85%,rgba(47,167,160,.10),transparent 26%),var(--off)}
.pilot-brand{display:inline-flex;align-items:baseline;gap:10px;color:var(--duck-dark);font-family:var(--display);letter-spacing:.18em}.pilot-brand span{font-size:24px}.pilot-brand small{font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);font-weight:800}.pilot-brand.centered{justify-content:center;width:100%;margin-bottom:34px}.muted{color:var(--muted)}
.setup-shell,.login-shell,.confirmation-shell{width:min(860px,calc(100% - 28px));min-height:100vh;margin:auto;display:grid;place-items:center;padding:50px 0}.login-shell{width:min(500px,calc(100% - 28px))}.setup-card,.login-card,.confirmation-card{width:100%;background:#fff;border:1px solid var(--pilot-border);border-radius:28px;padding:44px;box-shadow:var(--shadow)}.setup-card h1,.login-card h1,.confirmation-card h1,.booking-intro h1{font-family:var(--display);font-weight:500;color:#173039;line-height:1.05}.setup-card h1,.login-card h1{font-size:48px;margin:12px 0 14px}.alert{padding:14px 16px;border-radius:12px;margin:16px 0;font-size:14px}.alert.error{background:#fff1f2;color:#8d2632;border:1px solid #ffd4d8}.alert.warning{background:#fff8e8;color:#705313;border:1px solid #f1dfac}.alert.success{background:#eefbf8;color:#17655f;border:1px solid #c8ede7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.field{display:grid;gap:7px}.field-wide{grid-column:1/-1}.field label,.stack-form label,.step-content>label,.client-fields label{font-size:13px;font-weight:750;color:#30484f}.field input,.field select,.stack-form input,.stack-form select,.booking-card input,.booking-card select,.booking-card textarea,.search-form input,.inline-form select{width:100%;border:1px solid #dce6e7;background:#fff;color:#233a42;border-radius:12px;min-height:48px;padding:11px 13px;outline:none;transition:.2s}.field input:focus,.field select:focus,.stack-form input:focus,.stack-form select:focus,.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus,.search-form input:focus{border-color:rgba(110,90,230,.6);box-shadow:0 0 0 4px rgba(110,90,230,.10)}.field small{font-size:11px;color:var(--muted)}.form-separator{display:flex;align-items:center;gap:12px;margin-top:8px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.form-separator:after{content:"";height:1px;background:#e7eeee;flex:1}.btn-full{width:100%;border:0}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important}
.booking-header{height:78px;background:rgba(248,250,250,.92);border-bottom:1px solid var(--line);display:flex;align-items:center}.booking-nav{display:flex;align-items:center;justify-content:space-between}.text-link-dark{font-size:13px;color:var(--duck);font-weight:750}.booking-main{position:relative;overflow:hidden}.booking-orbit{position:absolute;width:800px;height:260px;border:1px solid rgba(110,90,230,.10);border-radius:50%;right:-260px;top:100px;transform:rotate(-12deg)}.booking-shell{position:relative;z-index:2;width:min(1120px,calc(100% - 34px));margin:auto;padding:90px 0 110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.booking-intro{position:sticky;top:40px}.booking-intro h1{font-size:64px;margin:14px 0 24px}.booking-intro>p:not(.eyebrow){font-size:17px;color:var(--muted)}.pilot-note{margin-top:30px;padding:18px;border-radius:16px;background:rgba(47,167,160,.08);border:1px solid rgba(47,167,160,.18)}.pilot-note strong,.pilot-note span{display:block}.pilot-note strong{color:var(--duck);margin-bottom:4px}.pilot-note span{font-size:12px;color:var(--muted)}.booking-card{background:#fff;border:1px solid var(--pilot-border);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.booking-step{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid #edf1f1}.booking-step:first-of-type{padding-top:0}.booking-step.two-cols{grid-template-columns:44px 1fr 1fr}.step-number{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(110,90,230,.09);color:var(--violet);font-weight:800;font-size:10px}.step-content{display:grid;gap:8px}.slot-status{min-height:18px;color:var(--teal);font-size:11px}.client-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.client-fields>div{display:grid;gap:7px}.client-fields label span{font-weight:500;color:#8b989c}.booking-card textarea{resize:vertical;min-height:100px}.booking-consent{padding:20px 0;color:#62747a;font-size:12px}.booking-consent label{display:flex;gap:9px;align-items:flex-start}.booking-consent input{width:auto;min-height:auto;margin-top:3px}.booking-consent a{text-decoration:underline;color:var(--duck)}.booking-security{text-align:center;color:#8a989c;font-size:10px;margin:14px 0 0}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.confirmation-card{text-align:center;max-width:760px}.confirmation-star{font-size:42px;color:var(--violet);margin-bottom:12px}.confirmation-card h1{font-size:58px;margin:12px 0}.confirmation-card>p:not(.eyebrow){color:var(--muted)}.confirmation-summary{margin:32px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.confirmation-summary div{background:#f6f9f9;border:1px solid #e8eeee;border-radius:14px;padding:16px}.confirmation-summary small,.confirmation-summary strong{display:block}.confirmation-summary small{font-size:10px;color:#879599;margin-bottom:7px}.confirmation-summary strong{font-size:13px;color:#294249}.confirmation-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.login-form{display:grid;gap:18px;margin-top:28px}
@media(max-width:800px){.form-grid,.booking-shell{grid-template-columns:1fr}.booking-intro{position:static}.booking-intro h1{font-size:48px}.booking-step.two-cols{grid-template-columns:44px 1fr}.booking-step.two-cols .step-content:last-child{grid-column:2}.confirmation-summary{grid-template-columns:1fr 1fr}}@media(max-width:540px){.setup-card,.login-card,.confirmation-card,.booking-card{padding:24px;border-radius:20px}.form-grid,.client-fields{grid-template-columns:1fr}.field-wide{grid-column:auto}.booking-step,.booking-step.two-cols{grid-template-columns:1fr}.booking-step.two-cols .step-content:last-child{grid-column:auto}.step-number{margin-bottom:-4px}.booking-intro h1{font-size:42px}.confirmation-summary{grid-template-columns:1fr}.confirmation-card h1{font-size:44px}}
