
:root{--navy:#092b47;--deep:#061d32;--gold:#d5a754;--cream:#f8f5ef;--border:#e2e5e9}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Arial,sans-serif;background:#f4f6f8;color:#122d44}a{color:inherit}header{background:#082741;color:#fff;padding:18px max(22px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.brand{text-decoration:none;font-family:Georgia,serif;font-size:27px;color:#e6be77}.brand small{display:block;font:9px system-ui;letter-spacing:4px}.topnav{display:flex;gap:20px;align-items:center;font-size:14px}.topnav a{text-decoration:none}.topnav a:hover{text-decoration:underline}.goldbtn{background:linear-gradient(120deg,#ecca88,#c99c46);border:none;border-radius:999px;color:#152335;padding:12px 19px;font-weight:700;cursor:pointer}.shell{max-width:1220px;margin:36px auto;padding:0 22px}h1,h2,h3{font-family:Georgia,serif}h1{font-size:clamp(32px,4vw,50px);margin:10px 0}p{line-height:1.6}.muted{color:#627180}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#b78c42;font-weight:800}.card{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:0 8px 28px #08274109;padding:24px}.layout{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}label{font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #d1d8de;background:white;border-radius:9px;padding:12px;font:inherit;color:#163249}textarea{min-height:93px;resize:vertical}.pickers{display:flex;gap:10px;flex-wrap:wrap}.pick{border:1px solid #d2dbe3;background:#fff;border-radius:12px;padding:12px 15px;cursor:pointer}.pick.active{border-color:#c79c4d;background:#fff8e9}.submit{width:100%;padding:15px;border:0;border-radius:10px;background:#082b48;color:white;font-weight:700;cursor:pointer}.hint{background:#f5f1e9;padding:14px;border-radius:11px;font-size:13px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:6px 9px;border-radius:99px;font-size:11px;font-weight:700;background:#f3f4f6}.pending{background:#fff0cb;color:#835600}.approved{background:#dff4e7;color:#175c36}.proposed{background:#e1edff;color:#234d84}.paid{background:#e5f5e9;color:#176640}.rejected{background:#fee3e5;color:#933}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat b{font-size:30px;display:block;margin-top:7px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:20px 0}.toolbar input,.toolbar select{max-width:250px}.request-list{display:grid;gap:12px}.request{border:1px solid #e0e5e8;border-radius:12px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:15px;background:#fff}.request h3{margin:4px 0 7px;font-family:system-ui;font-size:16px}.small{font-size:12px;color:#637383}.btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{border-radius:8px;padding:9px 12px;background:#fff;border:1px solid #bac8d3;cursor:pointer;font-weight:650}.btn.primary{background:#0b3653;color:#fff;border-color:#0b3653}.btn:hover{filter:brightness(.96)}dialog{border:0;border-radius:17px;max-width:520px;width:calc(100vw - 30px);box-shadow:0 25px 90px #0615245c}dialog::backdrop{background:#071a2bb0}.modal-actions{display:flex;gap:8px;justify-content:end;margin-top:15px}.note{font-size:12px;color:#697786}.warning{border:1px solid #e7c780;background:#fffae9;padding:12px 15px;border-radius:11px;margin:18px 0}.banner{background:linear-gradient(120deg,#082741,#174566);color:#fff;border-radius:18px;padding:26px;margin-bottom:22px}.steps{display:grid;gap:13px} .steps div{border-bottom:1px solid #eee;padding-bottom:12px}footer{text-align:center;color:#697786;font-size:12px;padding:30px}@media(max-width:800px){.layout{grid-template-columns:1fr}.statrow{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.request{grid-template-columns:1fr}.topnav{gap:10px}header{padding:15px 20px}}
/* V3: Saat dilimi duyurusu ve öne çıkan randevu çağrısı */
.timezone-notice{display:flex;align-items:flex-start;gap:13px;padding:17px 18px;border-radius:14px;background:#fff8e9;border:1px solid #e4b76d;box-shadow:0 5px 18px rgba(105,71,25,.06);margin:12px 0 23px}
.timezone-icon{font-size:26px;color:#b57819;line-height:1.1}
.timezone-notice strong{display:block;color:#18344b;font-size:15px;line-height:1.5;margin-bottom:5px}
.timezone-notice span:not(.timezone-icon){display:block;color:#4e5960;font-size:12.5px;line-height:1.65}
.timezone-inline{display:block;color:#8b5811;font-size:12px;font-weight:700;margin-top:4px;line-height:1.5}
.submit.booking-cta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:linear-gradient(115deg,#cf481a 0%,#bd421a 60%,#a82d19 100%);border:2px solid #ffdfab;color:#fff;font-size:15px;letter-spacing:.45px;min-height:60px;border-radius:14px;box-shadow:0 8px 24px rgba(164,45,18,.24);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.submit.booking-cta small{font-size:11px;font-weight:650;opacity:.94;letter-spacing:0}
.submit.booking-cta:hover{transform:translateY(-2px);box-shadow:0 13px 29px rgba(164,45,18,.32);filter:brightness(1.07)}
.submit.booking-cta:focus-visible{outline:3px solid #152c43;outline-offset:3px}
@media(max-width:600px){.timezone-notice{padding:14px 12px;gap:9px}.timezone-notice strong{font-size:13px}.submit.booking-cta{font-size:13px}}
@media(prefers-reduced-motion:reduce){.submit.booking-cta{transition:none}}

/* V36 — Booking design system, public-facing page only */
body:has(.booking-hero){background:linear-gradient(180deg,#eef3f7 0,#f8f9fb 420px,#f4f6f8 100%);color:#102a42;}
body:has(.booking-hero) header{background:#061f36;min-height:86px;border-bottom:2px solid #b98c45;box-shadow:0 8px 26px #071e3010}
body:has(.booking-hero) .brand{font-size:32px;line-height:1.02;letter-spacing:-1.4px}
body:has(.booking-hero) .brand small{margin-top:8px;letter-spacing:4.5px;color:#abc0d2}
body:has(.booking-hero) .topnav a{padding:9px 13px;border-radius:999px;font-weight:650;color:#e4edf4;transition:background .15s}
body:has(.booking-hero) .topnav a:hover{background:#ffffff15;text-decoration:none}
body:has(.booking-hero) .shell{max-width:1280px;margin:0 auto;padding:0 26px 74px}
.booking-hero{background:radial-gradient(circle at 87% 3%,#244d6b 0%,transparent 37%),linear-gradient(128deg,#082943,#113a57);color:#fff;padding:42px 45px 26px;border-radius:0 0 26px 26px;box-shadow:0 18px 46px #0e344a1c;margin-bottom:24px;overflow:hidden;position:relative}
.booking-hero::after{content:'BCN';position:absolute;top:0;right:28px;font:900 190px Georgia,serif;opacity:.03;pointer-events:none}
.booking-hero .eyebrow{color:#f0be67;letter-spacing:4px}
.booking-hero h1{font-size:clamp(34px,3.8vw,52px);color:#fff;max-width:840px;line-height:1.09;letter-spacing:-1.1px;margin:13px 0}
.booking-hero .muted{color:#d3e1eb;max-width:790px;font-size:15px;margin-bottom:28px}
.booking-progress{display:flex;gap:13px;align-items:center;border-top:1px solid #ffffff28;padding-top:20px;max-width:1030px}
.progress-step{display:flex;align-items:center;gap:10px;white-space:nowrap}.progress-step span{background:#e9b866;color:#1e2c37;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-weight:850;font-size:12px}.progress-step b{font-size:12px;color:#f5f5f5}.progress-line{height:1px;background:#ffffff35;flex:1;min-width:10px}
.booking-demo-alert{margin:0 0 22px;background:#fffaf0;color:#79541d;border-color:#f0d8a9;border-radius:12px;padding:12px 18px;font-size:12px}
body:has(.booking-hero) .layout{grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:22px;align-items:start}
body:has(.booking-hero) .card{border:1px solid #e1e9ef;border-radius:22px;box-shadow:0 16px 46px #0c345414;padding:30px}
.form-eyebrow,.aside-topline{font-size:10px;letter-spacing:2.5px;color:#b58a42;font-weight:850}
.booking-main h2,.booking-aside h2{font-size:29px;color:#0a2d49;margin:9px 0 19px}
.form-section-title{display:flex;align-items:center;gap:11px;font-size:18px;color:#102d45;margin:24px 0 15px;padding-top:20px;border-top:1px solid #e9edf1}
.form-section-title span{background:#f7e6c7;color:#90601d;font:800 12px system-ui;border-radius:9px;padding:9px 10px}
.booking-main .timezone-notice{background:#f3f8fb;border:1px solid #d8e5ef;box-shadow:none;padding:16px;margin:16px 0 22px}
.booking-main .timezone-icon{color:#9b772e}.booking-main .timezone-notice strong{font-size:13px}.booking-main .timezone-notice span:not(.timezone-icon){font-size:12px}
.booking-main .pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-main .pick{min-height:63px;font-size:14px;text-align:left;font-weight:750;border:1px solid #d7e2e9;transition:.2s}.booking-main .pick.active{border:2px solid #c89d53;background:#fff8e9;box-shadow:0 5px 18px #b4801c14}.booking-main .pick:hover{border-color:#b78d4c}
.booking-main label{font-size:12px;color:#2a4358}.booking-main input,.booking-main select,.booking-main textarea{border-radius:11px;padding:13px;background:#fbfcfd;border:1px solid #d7e0e6;min-height:48px}.booking-main :is(input,select,textarea):focus{outline:2px solid #d8b06c;outline-offset:1px;background:#fff}
.booking-main .submit.booking-cta{background:linear-gradient(100deg,#c64818,#bd3b16);border:none;border-radius:13px;min-height:61px;box-shadow:0 9px 19px #af451b2a;letter-spacing:.2px;font-size:15px}
.booking-main .submit.booking-cta span:nth-child(2){margin-left:auto;font-size:21px}
.booking-aside{position:sticky;top:24px;background:linear-gradient(160deg,#fff,#f8fbfd)}
.booking-aside .live-summary{border:1px solid #e2e9ef;border-radius:16px;background:#fff;overflow:hidden;padding:8px 17px}
.summary-row{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:13px 0;border-bottom:1px solid #eef1f4;font-size:12px}
.summary-row:last-child{border-bottom:0}.summary-row>span{color:#728392;white-space:nowrap}.summary-row strong{color:#16334b;text-align:right;max-width:62%;font-size:12px;line-height:1.45}
.summary-row.summary-total{margin:8px -17px -8px;padding:18px 17px;background:#0b2e4b;color:#fff;align-items:center}
.summary-row.summary-total span{color:#e2ebf4}.summary-row.summary-total strong{color:#edc37f;font:700 27px Georgia,serif}
.aside-tip{display:flex;align-items:start;gap:12px;padding:14px;margin:18px 0;border-radius:13px;background:#f6f0e7;color:#4f5b66}.aside-tip>span{color:#c59b55;font-size:24px}.aside-tip p{font-size:12px;line-height:1.55;margin:0}
.aside-process-title{color:#173952;font-size:17px;margin:22px 0 14px}
.booking-aside .steps{gap:8px}.booking-aside .steps>div{padding:0 0 8px}.booking-aside .steps b{font-size:12px}.booking-aside .steps p{font-size:11px;line-height:1.45;margin:3px 0}
.booking-aside .hint{font-size:11px;line-height:1.55}
@media(max-width:1000px){body:has(.booking-hero) .layout{grid-template-columns:1fr}.booking-aside{position:static}.booking-progress{gap:8px}.progress-step b{font-size:11px}}
@media(max-width:650px){body:has(.booking-hero) header{min-height:70px;padding:14px 16px}.topnav{gap:5px}.topnav a{font-size:11px;padding:7px!important}.booking-hero{padding:28px 20px;border-radius:0 0 20px 20px}.booking-hero h1{font-size:34px}.booking-hero .muted{font-size:13px;margin-bottom:18px}.booking-progress{gap:6px}.progress-step{flex-direction:column;gap:5px}.progress-step b{font-size:9px;text-align:center;white-space:normal;max-width:68px}.progress-step span{width:27px;height:27px}.progress-line{min-width:2px}body:has(.booking-hero) .shell{padding:0 14px 38px}body:has(.booking-hero) .card{padding:19px;border-radius:17px}.booking-main h2,.booking-aside h2{font-size:25px}.booking-main .pickers{grid-template-columns:1fr 1fr}.booking-main .pick{font-size:11px;padding:10px;min-height:66px}}

.booking-main .inside-grid{grid-column:1/-1;margin:8px 0 -3px;padding-top:18px;}
.booking-main input[type="checkbox"]{min-height:initial;width:auto;}

/* V39: date and time controls aligned consistently */
#bookingForm .grid>.field:has(#date),#bookingForm .grid>.field:has(#time){display:flex;flex-direction:column;align-self:start;margin-bottom:0;min-width:0}
#bookingForm .grid>.field:has(#date)>label,#bookingForm .grid>.field:has(#time)>label{min-height:42px;display:flex;align-items:end;line-height:1.35}
#bookingForm #date,#bookingForm #time{min-height:49px;height:49px;box-sizing:border-box}
#bookingForm .grid>.field:has(#time) .timezone-inline{min-height:30px}
@media(max-width:800px){#bookingForm .grid>.field:has(#date)>label,#bookingForm .grid>.field:has(#time)>label{min-height:auto}}
