:root{--sings-red:#e02b20;--sings-dark:#151b26;--sings-bluebar:#2f3a4a;--sings-copy:#2d3748;--sings-muted:#4a5568;--sings-bg:#f7fafc;--sings-border:#c0c0c0}*{box-sizing:border-box}body.sings-page{margin:0;background:var(--sings-bg);color:var(--sings-copy);font-family:-apple-system,"system-ui","Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.5}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:5}.site-shell{max-width:1280px;margin:0 auto;padding:0 24px}.site-header{height:119px;background:#fff;border:0;box-shadow:none}.header-inner{height:119px;display:grid;grid-template-columns:260px 1fr 229px;align-items:center;gap:0}.brand{display:flex;align-items:center;height:119px;text-decoration:none}.brand-logo{width:160px;height:102px;object-fit:contain;display:block}.brand-mark,.brand-text{display:none}.primary-nav{height:119px;display:flex;justify-content:center;align-items:center;gap:0}.primary-nav a{color:var(--sings-muted);text-decoration:none;font-size:20px;font-weight:400;padding:12px;line-height:32px}.primary-nav a:hover{color:var(--sings-red)}.appointment-cta{display:flex;align-items:center;justify-content:center;height:119px;width:229px;background:var(--sings-red);color:#fff;text-decoration:none;font-size:18px;font-weight:400;text-transform:uppercase;letter-spacing:0;padding:0;border-radius:0}.appointment-cta:hover{background:var(--sings-red)}.booking-page{max-width:none;margin:0;padding:80px 24px 81px;background:var(--sings-bg);min-height:619px}.booking-card{width:min(100%,1232px);margin:0 auto;background:#fff;border:1px solid #ddd;border-radius:4px;padding:0 0 0;box-shadow:none;min-height:457px}.bookly-steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0;padding:24px 24px 0}.bookly-steps .step{position:relative;background:transparent;border:0;color:var(--sings-copy);font-size:14px;font-weight:700;text-align:left;padding:0 0 22px 4px;height:42px}.bookly-steps .step:first-child{padding-left:0}.bookly-steps .step::after{content:"";position:absolute;left:0;right:4px;bottom:0;height:15px;background:#bfc4c8;border-radius:3px}.bookly-steps .step.active{background:transparent;color:var(--sings-red)}.bookly-steps .step.active::after{background:var(--sings-red)}.bookly-steps .step span{font-weight:700;margin-right:3px}.bookly-panel{padding:0 24px}.bookly-panel.hidden{display:none}.section-title{font-size:14px;font-weight:700;margin:16px 0 16px;color:var(--sings-copy)}.bookly-form-grid{display:grid;grid-template-columns:repeat(4,269px);grid-template-rows:22px 28px;gap:5px 14px;align-items:start}.bookly-form-grid label{grid-row:1;color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}.bookly-form-grid select{grid-row:2}select,input,textarea{font-family:inherit;font-size:14px;color:var(--sings-copy);border:1px solid var(--sings-border);border-radius:4px;background:#fff;height:28px;padding:5px 6px 4px;box-shadow:none}textarea{height:auto;min-height:58px;resize:vertical}.outline-button{margin:20px 0 0 0;width:306px;height:35px;background:var(--sings-red);border:0;border-radius:4px;color:#fff;font-size:18px;font-weight:700;line-height:17px;padding:9px 18px;text-align:center;cursor:pointer}.primary-button{background:var(--sings-red);color:#fff;border:0;border-radius:4px;height:35px;font-size:18px;font-weight:700;line-height:17px;padding:9px 18px;cursor:pointer;text-transform:uppercase;float:right;margin-top:20px}.primary-button:hover,.outline-button:hover{background:var(--sings-red)}.text-button{background:transparent;border:0;color:var(--sings-muted);text-decoration:underline;cursor:pointer;margin-top:24px}.time-table{border:0;padding:20px 0 0;margin:0;display:grid;grid-template-columns:589px 1fr}.date-row{display:grid;grid-template-columns:231px repeat(6,23px);grid-template-rows:22px 30px;gap:4px 12px;align-items:start}.date-row label{grid-column:1;color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}.date-row input{grid-column:1;grid-row:2;width:231px;height:30px;background:#fff;color:var(--sings-muted);padding:6px 7px 5px}.weekday-row{display:contents}.weekday-row label{display:grid;grid-row:1 / span 2;grid-template-rows:22px 30px;justify-items:center;align-items:start;color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}.weekday-row label:nth-child(1){grid-column:2}.weekday-row label:nth-child(2){grid-column:3}.weekday-row label:nth-child(3){grid-column:4}.weekday-row label:nth-child(4){grid-column:5}.weekday-row label:nth-child(5){grid-column:6}.weekday-row label:nth-child(6){grid-column:7}.weekday-row input{appearance:none;-webkit-appearance:none;grid-row:2;width:23px;height:23px;min-height:0;border:0;border-radius:50%;background:var(--sings-red);position:relative;margin-top:3px}.weekday-row input::after{content:"✓";position:absolute;left:5px;top:0;color:#fff;font-size:15px;font-weight:700;line-height:23px}.from-to-row{display:grid;grid-template-columns:32px 53px 26px 53px;grid-template-rows:22px 28px;gap:5px 8px;align-items:start;margin:0;justify-content:start}.from-to-row label{color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}.from-to-row label[for="fromTime"]{grid-column:1}.from-to-row label[for="toTime"]{grid-column:3}.from-to-row select{width:60px;height:28px}.slot-results{clear:both;margin-top:20px;border:0;background:transparent;padding:0;min-height:0;color:var(--sings-muted)}.slot-results .muted{font-size:14px;margin:0;color:var(--sings-muted)}.slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.slot-card{border:1px solid var(--sings-border);background:#fff;padding:8px;cursor:pointer;border-radius:4px;font-size:14px}.slot-card.selected{outline:2px solid var(--sings-red);border-color:var(--sings-red)}.muted{color:var(--sings-muted)}.booking-summary{background:#fff;border:1px solid #ddd;border-radius:4px;padding:14px;margin-top:18px;line-height:1.7}.confirm-line{display:block;margin-top:18px;color:var(--sings-copy)}.confirm-line input{width:auto;height:auto}.result-box{padding:18px;border-radius:4px;background:#fff;border:1px solid #ddd}.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:14px}.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:14px}.bookly-panel[data-panel="time"]{border-bottom:1px solid #ccc;margin:0 24px 0;padding:0 0 20px}.bookly-panel[data-panel="time"] .primary-button{margin-right:0}.site-footer{margin:0;padding:0;background:transparent;color:#fff}.footer-main{background:var(--sings-dark);min-height:360px;padding:34px 0 42px}.footer-grid{display:grid;grid-template-columns:1.45fr .75fr .85fr;gap:55px}.site-footer h2{margin:0 0 18px;color:var(--sings-red);font-size:28px;line-height:1.25;font-weight:700}.site-footer p,.site-footer li,.site-footer a{color:#fff;font-size:17px;font-weight:400;line-height:1.7;text-decoration:none}.site-footer ul{margin:0;padding-left:20px}.staff-login ul{padding-left:0;list-style:none}.staff-login li:first-child{margin-bottom:8px}.footer-linkbar{height:96px;background:var(--sings-bluebar);display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}.footer-linkbar a{color:#fff;font-size:17px;padding:5px 10px}.copyright{height:110px;margin:0;background:#232323;color:#bfccd8;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px}.copyright u{color:#bfccd8}.small-note{font-size:12px;color:#777}@media(max-width:900px){.header-inner{grid-template-columns:170px 1fr;grid-template-rows:80px auto;height:auto}.site-header{height:auto}.brand{height:80px}.brand-logo{width:130px;height:auto}.primary-nav{height:auto;justify-content:flex-start;flex-wrap:wrap;grid-column:1/3;padding-bottom:12px}.appointment-cta{position:absolute;right:0;top:0;height:80px;width:170px}.booking-page{padding:30px 12px}.bookly-steps{grid-template-columns:1fr}.bookly-form-grid{grid-template-columns:1fr;grid-template-rows:auto}.bookly-form-grid label,.bookly-form-grid select{grid-row:auto}.time-table{grid-template-columns:1fr}.date-row{grid-template-columns:231px repeat(3,23px)}.from-to-row{margin-top:12px}.footer-grid{grid-template-columns:1fr}.footer-main{padding:30px 0}.primary-button{float:none}}
.slot-results:not(.has-content){display:none}.outline-button,.primary-button{white-space:nowrap;overflow:hidden}.footer-main{min-height:360px;padding:34px 0 22px}.site-footer p,.site-footer li,.site-footer a{line-height:1.55}.site-footer{min-height:572px}
/* Jeroen QA fixes: keep beschikbare periode, weekdays, Van/Tot on one Bookly-like line. */
.time-table{display:grid;grid-template-columns:260px repeat(6,23px) 190px;grid-template-rows:22px 30px;column-gap:4px;row-gap:4px;align-items:start;padding:20px 0 0;margin:0;border:0;width:max-content;max-width:100%}
.date-row{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-rows:22px 30px;position:relative;width:260px}.weekday-row{display:contents}
.date-row label{grid-column:1;grid-row:1;color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}
.date-row input{grid-column:1;grid-row:2;width:231px;height:30px;background:#fff;color:var(--sings-muted);padding:6px 7px 5px;cursor:pointer}
.date-picker{position:absolute;top:56px;left:0;width:272px;background:#fff;border:1px solid #ddd;border-radius:2px;box-shadow:0 8px 22px rgba(0,0,0,.18);z-index:20;padding:10px;color:var(--sings-copy)}.date-picker.hidden{display:none}.date-picker-header{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px;color:var(--sings-muted);font-size:15px;font-weight:600;text-align:center}.date-picker-nav{width:30px;height:30px;border:0;background:#fff;color:#666;font-size:22px;line-height:24px;cursor:pointer}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-weekdays span{font-size:12px;color:#888;text-align:center;padding:3px 0}.date-picker-day{height:30px;border:0;border-radius:0;background:#fff;color:#d5655e;font-size:13px;cursor:pointer}.date-picker-day.outside{color:#c8c8c8}.date-picker-day:hover{background:#f8dedb}.date-picker-day.selected{background:var(--sings-red);color:#fff}.date-picker-day.today:not(.selected){outline:1px solid #f0aaa5;outline-offset:-2px}
.weekday-row label{display:grid;grid-row:1 / span 2;grid-template-rows:22px 30px;justify-items:center;align-items:start;color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px;cursor:pointer;width:23px}
.weekday-row label:nth-child(1){grid-column:2}.weekday-row label:nth-child(2){grid-column:3}.weekday-row label:nth-child(3){grid-column:4}.weekday-row label:nth-child(4){grid-column:5}.weekday-row label:nth-child(5){grid-column:6}.weekday-row label:nth-child(6){grid-column:7}
.weekday-row input{appearance:none;-webkit-appearance:none;grid-row:2;width:23px;height:23px;min-height:0;border:1px solid #c9c9c9;border-radius:50%;background:#fff;position:relative;margin:3px 0 0;padding:0;cursor:pointer}
.weekday-row input:checked{border-color:var(--sings-red);background:var(--sings-red)}
.weekday-row input::after{content:"";position:absolute;left:5px;top:0;color:#fff;font-size:15px;font-weight:700;line-height:21px}
.weekday-row input:checked::after{content:"✓"}
.from-to-row{grid-column:8;grid-row:1 / span 2;display:grid;grid-template-columns:28px 60px 22px 60px;grid-template-rows:22px 28px;gap:5px 8px;align-items:start;margin:0;justify-content:start;width:190px}
.from-to-row label{color:var(--sings-red);font-size:14px;font-weight:700;line-height:22px}.from-to-row label[for="fromTime"]{grid-column:1;grid-row:1}.from-to-row label[for="toTime"]{grid-column:3;grid-row:1}.from-to-row select{width:60px;height:28px}.from-to-row #fromTime{grid-column:2;grid-row:2}.from-to-row #toTime{grid-column:4;grid-row:2}
@media (max-width:720px){.time-table{width:100%;grid-template-columns:260px repeat(6,23px);overflow-x:auto}.from-to-row{grid-column:1 / -1;grid-row:3;margin-top:10px}}

/* Existing admin/simulator compatibility */header:not(.site-header){background:#111827;color:white;padding:28px 40px}main:not(.booking-page){max-width:1100px;margin:24px auto;padding:0 20px}.card{background:white;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 8px 30px #0001}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.pill{display:inline-block;background:#e0f2fe;color:#075985;padding:4px 8px;border-radius:999px;margin:2px}table{width:100%;border-collapse:collapse;background:white}td,th{padding:9px;border-bottom:1px solid #eee;text-align:left}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.nav a{color:white;margin-right:14px}.transcript{background:#111827;color:#d1fae5;border-radius:12px;padding:14px;min-height:160px;white-space:pre-wrap}.stat{font-size:30px;font-weight:900}


/* Staff planning demo page: mirrors the compact Sings/Bookly personnel schedule grid from reference. */
.footer-staff-login-link{color:inherit;text-decoration:none}.footer-staff-login-link:hover{color:var(--sings-red);text-decoration:underline}
body.staff-planning-page{margin:0;background:#fff;color:#222;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.3}.planning-shell{max-width:none;margin:0;padding:0;background:#fff}.planning-toolbar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 30px;border-bottom:1px solid #efefef;background:#fff}.planning-back{color:#555;text-decoration:none;font-size:14px}.planning-back:hover{color:#e52520;text-decoration:underline}.planning-meta{display:flex;align-items:baseline;gap:12px;color:#444;font-size:13px}.planning-meta strong{font-size:15px;color:#222}.planning-wrapper{padding:14px 30px 22px;border-bottom:1px solid #d7d7d7;overflow-x:auto;background:#fff}.staff-planning-grid{display:grid;grid-template-columns:repeat(9,minmax(96px,1fr));grid-template-rows:repeat(10,37px);grid-auto-rows:37px;grid-auto-flow:column;column-gap:10px;row-gap:3px;align-items:start;min-width:944px}.staff-date-header,.staff-slot{width:100%;height:37px;border-radius:4px;box-sizing:border-box}.staff-date-header{display:flex;align-items:center;justify-content:center;background:#e52520;color:#fff;font-size:14px;font-weight:700;text-align:center}.staff-slot{display:flex;align-items:center;padding-left:10px;background:#fff;border:1px solid #d7d7d7;color:#222;cursor:pointer}.staff-slot:hover{border-color:#bfbfbf}.staff-slot input{position:absolute;opacity:0;pointer-events:none}.staff-fake-radio{width:20px;height:20px;border:2px solid #eee;border-radius:50%;background:#fff;box-sizing:border-box;flex:0 0 auto;margin-right:22px}.staff-slot-time{font-size:16px;font-weight:400;line-height:1;color:#222}.staff-slot input:focus-visible + .staff-fake-radio{outline:2px solid #e52520;outline-offset:2px}.staff-slot input:checked + .staff-fake-radio{border-color:#e52520}.staff-slot input:checked + .staff-fake-radio::after{content:"";display:block;width:10px;height:10px;margin:3px;border-radius:50%;background:#e52520}.planning-status{padding:12px 30px 22px;color:#555;font-size:14px;background:#fff}@media (max-width:900px){.planning-toolbar{align-items:flex-start;height:auto;flex-direction:column;padding:14px 18px}.planning-wrapper{padding-left:18px}.planning-status{padding-left:18px}.planning-meta{flex-direction:column;gap:2px}}


/* Live AI Voice Receptioniste WOW demo */
.voice-demo-card{width:min(100%,1232px);margin:0 auto 22px;background:linear-gradient(135deg,#111827,#202f4a);color:#fff;border-radius:18px;padding:24px;box-shadow:0 18px 44px rgba(17,24,39,.18);border:1px solid rgba(255,255,255,.12)}
.voice-demo-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.voice-demo-card h1{margin:0 0 8px;font-size:30px;line-height:1.1;color:#fff}.eyebrow{margin:0 0 6px;color:#93c5fd;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800}.voice-greeting{font-size:20px;font-weight:700;margin:0;color:#fef3c7}.voice-status-pill{background:#10b981;color:#062c22;border-radius:999px;padding:8px 14px;font-weight:800;white-space:nowrap}.voice-status-pill.unavailable,.voice-status-pill.unsupported{background:#ef4444;color:#fff}.voice-status-pill.missing_fields,.voice-status-pill.ambiguous{background:#f59e0b;color:#111827}.demo-watermark{color:#d1d5db;margin:12px 0 18px}.voice-demo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.voice-controls label{display:block;font-weight:800;margin-bottom:8px}.voice-input-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px}.voice-input-row textarea{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px;font:inherit;resize:vertical;background:#fff;color:#111827}.scenario-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.scenario-button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:13px}.scenario-button:hover{background:rgba(255,255,255,.18)}.voice-demo-card .text-button{color:#bfdbfe;margin-top:10px}.voice-understanding{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px}.validation-badge{border-radius:12px;padding:10px 12px;font-weight:900;margin-bottom:12px;background:#f59e0b;color:#111827}.validation-badge.valid{background:#22c55e;color:#052e16}.validation-badge.unavailable,.validation-badge.unsupported{background:#ef4444;color:#fff}.validation-badge.ambiguous{background:#f97316;color:#fff}.understanding-chips{display:flex;flex-wrap:wrap;gap:8px}.understanding-chip{background:#fff;color:#334155;border-radius:12px;padding:8px 10px;min-width:130px}.understanding-chip strong{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.understanding-chip.filled{border:2px solid #22c55e;color:#0f172a}.understanding-chip.unavailable,.understanding-chip.unsupported{border:2px solid #ef4444;color:#991b1b}.understanding-chip.missing_fields,.understanding-chip.ambiguous{border:2px solid #f59e0b;color:#78350f}.alternatives-panel{margin-top:12px;background:#fff;color:#111827;border-radius:14px;padding:12px}.alternatives-panel.hidden{display:none}.alternatives-panel h3{margin:0 0 8px}.alternative-card{display:block;width:100%;text-align:left;border:1px solid #ddd;border-radius:10px;background:#f8fafc;margin:6px 0;padding:8px;cursor:pointer}.transcript-panel{margin-top:18px;max-height:230px;overflow:auto;background:#0b1220;border-radius:14px;padding:12px;border:1px solid rgba(255,255,255,.12)}.transcript-turn{display:grid;grid-template-columns:72px 1fr;gap:8px;margin:8px 0}.transcript-turn span{font-size:12px;font-weight:900;text-transform:uppercase;color:#93c5fd}.transcript-turn.caller span{color:#fca5a5}.transcript-turn p{margin:0;background:rgba(255,255,255,.08);padding:8px 10px;border-radius:10px}.voice-highlight{animation:voicePulse 1.4s ease-out 1;box-shadow:0 0 0 4px rgba(245,158,11,.45)!important}@keyframes voicePulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(245,158,11,.8)}50%{transform:scale(1.015);box-shadow:0 0 0 7px rgba(245,158,11,.3)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(245,158,11,0)}}
@media (max-width:820px){.voice-demo-header,.voice-demo-grid,.voice-input-row{display:block}.voice-status-pill{display:inline-block;margin-top:12px}.voice-input-row .primary-button{margin-top:8px;width:100%}.voice-demo-card h1{font-size:24px}.transcript-turn{grid-template-columns:1fr}}

/* Live planning caller ID operator panel */
.live-call-panel{margin:18px 30px 14px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;border-radius:18px;padding:20px;box-shadow:0 16px 38px rgba(15,23,42,.16)}
.live-call-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.live-call-header h1{margin:0;font-size:26px;line-height:1.1}.live-indicator{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:#f59e0b;color:#111827;font-size:13px;font-weight:800;white-space:nowrap}.live-indicator::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;animation:liveBlink 1.1s infinite}.live-indicator.connected{background:#10b981;color:#052e16}.live-indicator.updated{background:#38bdf8;color:#082f49}.live-indicator.polling,.live-indicator.connecting{background:#f59e0b;color:#111827}.live-call-card{background:#fff;color:#111827;border-radius:15px;padding:16px;border:1px solid rgba(255,255,255,.25)}.live-call-card.empty{background:rgba(255,255,255,.1);color:#e5e7eb}.live-call-card.empty code{color:#fff}.live-call-topline{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:10px;margin-bottom:14px}.live-call-topline div,.live-field,.assistant-text{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px}.live-call-topline span,.live-field span,.assistant-text span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;margin-bottom:3px}.live-call-topline strong,.live-field strong{font-size:16px}.caller-number{font-size:22px!important;color:#b91c1c;letter-spacing:.01em}.live-fields-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.live-field.filled{border-color:#86efac;background:#f0fdf4}.live-field.missing{border-color:#fed7aa;background:#fff7ed}.assistant-text{margin-top:10px;background:#eef6ff}.assistant-text p{margin:0;font-size:18px;font-weight:700}.live-call-card.ended{opacity:.82}.live-call-card.missing_field{box-shadow:0 0 0 3px rgba(245,158,11,.22)}.live-call-card.ready_to_confirm,.live-call-card.slot_proposed{box-shadow:0 0 0 3px rgba(34,197,94,.25)}@keyframes liveBlink{50%{opacity:.35}}@media(max-width:900px){.live-call-panel{margin:14px 18px}.live-call-header,.live-call-topline{display:block}.live-call-topline div{margin-bottom:8px}.live-fields-grid{grid-template-columns:1fr}.live-indicator{margin-top:10px}.live-call-header h1{font-size:22px}}

/* Live agenda projection for AI Voice planned appointment */
.staff-slot.staff-slot-live-booking{height:auto;min-height:37px;align-items:flex-start;padding:6px 8px;border:2px solid #16a34a;background:#ecfdf5;box-shadow:0 0 0 3px rgba(22,163,74,.16);cursor:default}.staff-slot-live-booking .staff-fake-radio{border-color:#16a34a;margin-right:10px;margin-top:2px}.staff-slot-live-booking .staff-slot-time{font-weight:800;color:#14532d;margin-right:8px}.live-agenda-appointment{display:grid;gap:2px;min-width:0;line-height:1.15}.live-agenda-name{font-size:13px;font-weight:900;color:#14532d}.live-agenda-phone{font-size:12px;font-weight:800;color:#b91c1c;white-space:nowrap}.live-agenda-treatment{font-size:11px;font-weight:700;color:#166534}.placeholder-phone{letter-spacing:.08em;color:#fef3c7}

/* 12Fame-style live appointment field panel */
body.staff-planning-page{background:linear-gradient(180deg,#fff 0%,#fbfbfd 48%,#f5f5f7 100%);color:#2f3137;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif}.planning-toolbar{min-height:72px;height:auto;padding:0 28px;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(0,0,0,.07)}.planning-back{border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:10px 15px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.03);color:#2b2d33;font-weight:560}.planning-meta span{color:#86868b}.live-call-panel{margin:24px auto 18px;width:min(1124px,calc(100% - 56px));background:#fff;color:#2f3137;border:1px solid #e7e7ea;border-radius:28px;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.06)}.live-call-header h1{font-size:32px;letter-spacing:-.04em;color:#2b2d33}.live-call-panel .eyebrow{color:#86868b;letter-spacing:.12em}.live-indicator{background:#f5f5f7;color:#2b2d33;border:1px solid #e7e7ea;box-shadow:0 0 0 1px rgba(0,0,0,.03)}.live-indicator.connected{background:#edf7ee;color:#166534}.live-indicator.updated{background:#eef6ff;color:#0066cc}.live-call-card{background:#fbfbfd;color:#2f3137;border:1px solid #e7e7ea;border-radius:22px;padding:18px;box-shadow:0 0 0 1px rgba(0,0,0,.03)}.live-call-card.empty{background:#fbfbfd;color:#5f6368}.live-call-topline{grid-template-columns:1.25fr 1fr .72fr;gap:12px}.live-call-topline div,.live-field,.assistant-text{background:#fff;border:1px solid #e7e7ea;border-radius:18px;padding:14px 15px;box-shadow:0 14px 36px rgba(0,0,0,.045)}.live-call-topline span,.live-field span,.assistant-text span{color:#86868b;font-size:11px;letter-spacing:.12em}.live-call-topline strong,.live-field strong{color:#2b2d33;font-weight:650}.caller-number{color:#2b2d33!important}.live-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.live-field.filled{border-color:#d8d8df;background:#fff}.live-field.missing{border-color:#f0d7c2;background:#fffaf5}.assistant-text{margin-top:12px;background:#fff}.assistant-text p{color:#2b2d33;font-size:18px;font-weight:600}.planning-wrapper{background:transparent}@media (max-width:820px){.live-call-panel{width:calc(100% - 28px);padding:18px;border-radius:22px}.live-call-header,.live-call-topline{display:block}.live-call-topline div{margin-bottom:10px}.live-fields-grid{grid-template-columns:1fr}.live-call-header h1{font-size:25px}}

/* AI Travel Agent demo CTA and route */
.travel-nav-link{color:#0f766e!important;font-weight:800}.travel-hero-cta-row{margin:0 0 18px}.travel-hero-cta{display:inline-flex;align-items:center;gap:12px;border-radius:999px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:900;padding:11px 16px;box-shadow:0 10px 26px rgba(0,0,0,.14)}.travel-hero-cta span{font-size:13px;font-weight:700;color:#475569}.travel-hero-cta:hover{background:#fff;color:#0f766e}@media (max-width:1040px){.header-inner{grid-template-columns:190px 1fr 190px}.primary-nav{flex-wrap:wrap;align-content:center;gap:0 4px}.primary-nav a{font-size:16px;padding:7px}.appointment-cta{width:190px;font-size:15px}}@media (max-width:720px){.site-header,.header-inner{height:auto}.header-inner{display:flex;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:8px}.brand{height:auto}.brand-logo{width:112px;height:72px}.primary-nav{order:3;width:100%;justify-content:flex-start;height:auto}.appointment-cta{height:48px;width:auto;padding:0 14px;border-radius:8px}.travel-nav-link{background:#ecfeff;border:1px solid #99f6e4;border-radius:999px}.travel-hero-cta{display:flex;flex-direction:column;align-items:flex-start;border-radius:16px}}
body.travel-demo-page{margin:0;background:radial-gradient(circle at top left,#e0f2fe 0,#f8fafc 30%,#eef2ff 100%);color:#132033;font-family:-apple-system,"system-ui","Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.5}.travel-shell{max-width:1180px;margin:0 auto;padding:28px 22px 70px}.travel-topbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px}.travel-back{color:#0f766e;text-decoration:none;font-weight:800}.travel-demo-tag{border:1px solid #cbd5e1;border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.72);color:#475569;font-size:13px;font-weight:800}.travel-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;background:linear-gradient(135deg,#0f172a,#18385f 55%,#0f766e);color:#fff;border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(15,23,42,.2)}.travel-kicker{margin:0 0 8px;color:#99f6e4;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:900}.travel-hero h1{margin:0;font-size:clamp(34px,6vw,66px);line-height:.95;letter-spacing:-.055em}.travel-subcopy{font-size:21px;max-width:670px;color:#e2e8f0;margin:18px 0 0}.travel-status-pill{border-radius:999px;padding:10px 15px;font-weight:900;background:#f59e0b;color:#111827;white-space:nowrap}.travel-status-pill[data-state=up]{background:#22c55e;color:#052e16}.travel-status-pill[data-state=down]{background:#ef4444;color:#fff}.travel-panel,.travel-card{background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.32);border-radius:24px;box-shadow:0 18px 55px rgba(15,23,42,.08);padding:22px;margin-top:20px}.travel-panel label,.travel-card h2{display:block;margin:0 0 10px;font-weight:950;color:#0f172a}.travel-card h2{font-size:23px}.travel-intent-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px}.travel-intent-row textarea{width:100%;border:1px solid #cbd5e1;border-radius:16px;padding:14px;font:inherit;resize:vertical}.travel-primary,.travel-secondary{border:0;border-radius:16px;background:#0f766e;color:#fff;font:inherit;font-weight:950;cursor:pointer;padding:12px 16px}.travel-primary:hover,.travel-secondary:hover{background:#115e59}.travel-primary:disabled{opacity:.65;cursor:wait}.travel-secondary{background:#334155;margin-top:14px}.travel-examples{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.travel-examples button{border:1px solid #99f6e4;background:#ecfeff;color:#115e59;border-radius:999px;padding:8px 11px;font-weight:800;cursor:pointer}.travel-trust-note{margin:13px 0 0;color:#475569;font-size:14px}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.travel-assistant{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:16px;padding:14px;font-weight:750}.constraints-list{display:grid;gap:9px;margin:14px 0}.constraints-list div{display:grid;grid-template-columns:145px 1fr;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.constraints-list dt{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#64748b;font-weight:950}.constraints-list dd{margin:0;color:#111827;font-weight:800}.travel-message{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:15px;padding:12px;margin-top:12px}.travel-message.ok{border-color:#86efac;background:#f0fdf4;color:#166534}.travel-message.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.travel-message.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.hidden{display:none!important}.results-list{display:grid;gap:12px;margin-top:12px}.result-card{text-align:left;border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:15px;display:grid;gap:5px;cursor:pointer;color:#132033}.result-card:hover,.result-card:focus{outline:3px solid #99f6e4;border-color:#0f766e}.result-card strong{font-size:18px}.result-card span{color:#334155}.result-card em{color:#64748b}.travel-detail h3{margin-top:0}.travel-disclosure{font-weight:850;color:#0f172a;background:#fef3c7;border-radius:14px;padding:13px}@media (max-width:820px){.travel-topbar,.travel-hero,.travel-intent-row,.travel-grid{display:block}.travel-status-pill{display:inline-block;margin-top:18px;white-space:normal}.travel-primary{width:100%;margin-top:10px}.constraints-list div{grid-template-columns:1fr}.travel-shell{padding:18px 14px 50px}.travel-panel,.travel-card,.travel-hero{border-radius:22px;padding:18px}}

/* iOS Custos AI Voice Agent parity for /ai-travel-agent-demo/ */
body.travel-voice-page{min-height:100vh;background:#07111f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif}.voice-parity-stage{width:min(100%,1180px);margin:0 auto;padding:20px 18px 64px}.voice-demo-topbar{margin:0 auto 18px;max-width:980px}.travel-voice-page .travel-back{color:#dbeafe}.travel-voice-page .travel-demo-tag{background:rgba(15,23,42,.58);border-color:rgba(255,255,255,.16);color:#cbd5e1}.ios-phone-shell{position:relative;isolation:isolate;overflow:hidden;width:min(100%,430px);min-height:860px;margin:0 auto;border-radius:44px;background:#07111f;box-shadow:0 40px 110px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.18);border:10px solid #101827}.launch-bg{position:absolute;inset:0;background:radial-gradient(circle at 22% 16%,rgba(45,212,191,.45),transparent 28%),radial-gradient(circle at 84% 7%,rgba(96,165,250,.38),transparent 30%),linear-gradient(180deg,rgba(2,6,23,.2),rgba(2,6,23,.86)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 430 900"><defs><linearGradient id="g" x1="0" x2="1" y1="0" y2="1"><stop stop-color="%230ea5e9"/><stop offset=".45" stop-color="%231e3a8a"/><stop offset="1" stop-color="%230f172a"/></linearGradient></defs><rect width="430" height="900" fill="url(%23g)"/><circle cx="74" cy="186" r="120" fill="%232dd4bf" opacity=".16"/><circle cx="360" cy="84" r="150" fill="%23a78bfa" opacity=".18"/><path d="M-40 620 C120 520 230 710 470 560 L470 900 L-40 900 Z" fill="%23020a1a" opacity=".62"/></svg>') center/cover no-repeat;z-index:-2}.launch-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.34));backdrop-filter:saturate(140%)}.phone-safe-area{min-height:860px;display:flex;flex-direction:column;gap:12px;padding:20px 16px 18px}.custos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.custos-header h1{margin:0;color:white;font-size:30px;line-height:.98;letter-spacing:-.05em}.voice-subtitle{margin:8px 0 0;color:#dbeafe;font-size:13px;line-height:1.35}.header-status-stack{display:flex;align-items:flex-end;flex-direction:column;gap:6px;min-width:118px}.agent-status-pill,.speech-status-pill,.connection-state{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);color:#e5f7ff;white-space:nowrap}.agent-status-pill[data-state=listening],.speech-status-pill[data-state=listening]{background:#22c55e;color:#052e16}.agent-status-pill[data-state=thinking],.speech-status-pill[data-state=requesting]{background:#f59e0b;color:#111827}.agent-status-pill[data-state=speaking]{background:#60a5fa;color:#082f49}.agent-status-pill[data-state=error],.speech-status-pill[data-state=error],.speech-status-pill[data-state=unavailable],.connection-state[data-state=down]{background:#ef4444;color:#fff}.connection-state[data-state=up]{background:#22c55e;color:#052e16}.settings-dot{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:17px}.trip-summary-card,.glass-transcript-card,.mic-dock,.failure-banner-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.22);backdrop-filter:blur(20px) saturate(160%);border-radius:26px;padding:14px;color:#fff}.summary-title-row,.transcript-heading-row,.dock-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mini-label{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;color:#bfdbfe;font-size:10px;font-weight:950}.trip-summary-card h2,.glass-transcript-card h2{margin:0;font-size:18px;letter-spacing:-.03em}.ready-badge{border-radius:999px;padding:7px 9px;background:#f59e0b;color:#111827;font-size:11px;font-weight:950;white-space:nowrap}.ready-badge[data-ready=true]{background:#22c55e;color:#052e16}.voice-constraints-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0}.voice-constraints-grid div{border-radius:16px;background:rgba(15,23,42,.34);padding:9px}.voice-constraints-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#93c5fd;font-weight:900}.voice-constraints-grid dd{margin:2px 0 0;font-weight:850;color:#fff}.missing-fields{margin:10px 0 0;color:#fde68a;font-size:12px;font-weight:800}.failure-banner-card{background:rgba(239,68,68,.2);border-color:rgba(252,165,165,.42);color:#fee2e2;font-weight:850}.glass-transcript-card{flex:1;min-height:300px;display:flex;flex-direction:column}.chat-bubbles{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:214px;max-height:312px;padding:4px 2px 10px}.chat-bubble{max-width:88%;border-radius:20px;padding:11px 12px;display:grid;gap:4px;font-size:14px;line-height:1.35}.chat-bubble strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.chat-bubble.assistant{align-self:flex-start;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.14);color:#fff}.chat-bubble.user{align-self:flex-end;background:#dbeafe;color:#0f172a}.partial-transcript{border-top:1px solid rgba(255,255,255,.16);padding-top:10px;min-height:38px;color:#c7d2fe;font-size:13px;font-weight:750}.start-chat-button{align-self:center;border:0;border-radius:999px;padding:14px 24px;background:linear-gradient(135deg,#38bdf8,#2dd4bf);color:#04111d;font-weight:950;box-shadow:0 18px 42px rgba(45,212,191,.28);cursor:pointer}.start-chat-button:disabled{opacity:.68;cursor:default}.mic-dock{position:sticky;bottom:10px;margin-top:auto}.dock-state{font-size:12px;color:#e2e8f0;font-weight:850}.dock-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin:10px 0}.mic-control{min-height:64px;border:0;border-radius:24px;background:linear-gradient(135deg,#fff,#dbeafe);color:#0f172a;font-weight:950;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.mic-control[data-state=listening]{background:linear-gradient(135deg,#22c55e,#86efac);animation:voicePulse 1.2s infinite}.mic-control[data-state=unavailable]{background:#e5e7eb;color:#6b7280}.mic-icon{font-size:27px}.dock-secondary{height:44px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:850;padding:0 10px}.fallback-input{margin-top:8px;border-top:1px solid rgba(255,255,255,.14);padding-top:10px}.fallback-input label{display:block;margin:0 0 6px;color:#cbd5e1;font-size:12px;font-weight:900}.fallback-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px}.fallback-row textarea{min-height:48px;width:100%;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:10px;background:rgba(15,23,42,.62);color:#fff;font:inherit;resize:vertical}.fallback-row textarea::placeholder{color:#94a3b8}.travel-voice-page .travel-primary{border:0;border-radius:16px;background:#38bdf8;color:#062032;font-weight:950}.travel-voice-page .travel-examples{margin-top:9px}.travel-voice-page .travel-examples button{background:rgba(255,255,255,.12);color:#e0f2fe;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 8px;font-size:11px}.results-after-voice{max-width:980px;margin:24px auto 0}.travel-voice-page .travel-card{background:rgba(255,255,255,.94);color:#132033}.travel-voice-page .travel-detail{max-width:980px;margin-left:auto;margin-right:auto}.hidden{display:none!important}@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}50%{box-shadow:0 0 0 14px rgba(34,197,94,0)}}@media (min-width:900px){.ios-phone-shell{transform:none}.voice-parity-stage{padding-top:28px}}@media (max-width:520px){.voice-parity-stage{padding:10px 0 36px}.voice-demo-topbar{padding:0 12px}.ios-phone-shell{width:100%;min-height:100vh;border:0;border-radius:0}.phone-safe-area{min-height:100vh;padding:16px 12px}.dock-actions{grid-template-columns:1fr 74px 86px}.custos-header h1{font-size:27px}.header-status-stack{min-width:102px}.agent-status-pill,.speech-status-pill{font-size:10px}.voice-constraints-grid{grid-template-columns:1fr 1fr}.results-after-voice{padding:0 12px}.travel-voice-page .travel-detail{margin-left:12px;margin-right:12px}}

/* Custos iOS design-parity V2: exact LaunchScreenBackground + DS light/sky tokens */
:root{--custos-sky:#5AA9E6;--custos-skyDeep:#2E6F95;--custos-skySoft:#A9D6F5;--custos-bgTop:#F6FAFD;--custos-bgBottom:#EAF4FF;--custos-surface:#F2F4F7;--custos-text:#0F172A;--custos-text2:#64748B;--custos-card:rgba(255,255,255,.92);--custos-cornerXL:28px;--custos-cornerL:22px;--custos-cornerM:16px;--custos-padding:16px}
body.travel-voice-page{min-height:100vh;background:linear-gradient(180deg,var(--custos-bgTop),var(--custos-bgBottom));color:var(--custos-text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}.voice-parity-stage{width:min(100%,980px);margin:0 auto;padding:14px 14px 34px}.voice-demo-topbar{margin:0 auto 12px;max-width:760px}.travel-voice-page .travel-back{color:var(--custos-skyDeep)}.travel-voice-page .travel-demo-tag{background:rgba(255,255,255,.78);border-color:rgba(46,111,149,.18);color:var(--custos-text2)}
.ios-phone-shell{position:relative;isolation:isolate;overflow:hidden;width:min(100%,430px);height:min(860px,calc(100vh - 72px));min-height:720px;margin:0 auto;border-radius:44px;background:var(--custos-bgBottom);box-shadow:0 26px 80px rgba(46,111,149,.25),inset 0 0 0 1px rgba(255,255,255,.82);border:8px solid rgba(255,255,255,.76)}
.launch-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(246,250,253,.03) 0%,rgba(234,244,255,.24) 44%,rgba(246,250,253,.42) 100%),url('/assets/custos-launch-background.png');background-size:cover;background-position:center top;background-repeat:no-repeat;z-index:-2}.launch-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.18) 42%,rgba(234,244,255,.64) 100%)}
.app-screen{height:100%;min-height:100%;position:relative}.app-screen.hidden,.ios-sheet.hidden{display:none!important}.phone-safe-area,.results-safe-area{height:100%;display:flex;flex-direction:column;gap:10px;padding:18px 14px 14px;overflow:hidden}.custos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-top:4px}.custos-header h1{margin:0;color:#fff;text-shadow:0 2px 15px rgba(15,23,42,.22);font-size:28px;line-height:.98;letter-spacing:-.04em}.travel-kicker,.mini-label{margin:0 0 4px;color:var(--custos-skyDeep);text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:900}.voice-subtitle{margin:6px 0 0;max-width:265px;color:rgba(255,255,255,.94);font-size:13px;line-height:1.25;text-shadow:0 1px 9px rgba(15,23,42,.22)}.header-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.agent-status-pill,.speech-status-pill,.travel-status-pill.compact,.connection-state{border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.88);color:var(--custos-skyDeep);border:1px solid rgba(255,255,255,.56);font-size:10px;font-weight:800;box-shadow:0 6px 20px rgba(46,111,149,.12)}.agent-status-pill[data-state=error],.speech-status-pill[data-state=error],.travel-status-pill[data-state=down]{color:#b91c1c}.settings-dot,.ios-icon-button{border:0;background:var(--custos-card);color:var(--custos-skyDeep);border-radius:999px;width:32px;height:32px;font-weight:900;box-shadow:0 8px 22px rgba(46,111,149,.14)}
.trip-summary-card,.glass-transcript-card,.failure-banner-card{background:var(--custos-card);border:1px solid rgba(255,255,255,.72);border-radius:var(--custos-cornerXL);padding:var(--custos-padding);box-shadow:0 18px 48px rgba(46,111,149,.14);backdrop-filter:saturate(180%) blur(18px);color:var(--custos-text)}.summary-title-row,.transcript-heading-row,.dock-status-row,.results-nav-header,.sheet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.trip-summary-card h2,.glass-transcript-card h2,.results-nav-header h2,.sheet-panel h2{margin:0;color:var(--custos-text);font-size:20px;line-height:1.05;letter-spacing:-.03em}.ready-badge{border-radius:999px;background:#fff;color:var(--custos-text2);border:1px solid rgba(100,116,139,.14);padding:6px 8px;font-size:10px;font-weight:900}.ready-badge[data-ready=true]{background:rgba(90,169,230,.16);color:var(--custos-skyDeep)}.voice-constraints-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 0}.voice-constraints-grid div{background:rgba(242,244,247,.82);border-radius:var(--custos-cornerM);padding:8px}.voice-constraints-grid dt{color:var(--custos-text2);font-size:10px;font-weight:800;text-transform:uppercase}.voice-constraints-grid dd{margin:1px 0 0;color:var(--custos-text);font-size:13px;font-weight:800}.missing-fields,.partial-transcript{margin:8px 0 0;color:var(--custos-text2);font-size:12px}.glass-transcript-card{flex:1;min-height:0;display:flex;flex-direction:column}.chat-bubbles{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:110px;padding-right:2px}.chat-bubble{max-width:86%;border-radius:18px;padding:9px 11px;font-size:13px;box-shadow:0 8px 20px rgba(46,111,149,.08)}.chat-bubble strong{display:block;font-size:11px;color:var(--custos-text2);margin-bottom:2px}.chat-bubble.assistant{background:#fff;color:var(--custos-text);align-self:flex-start}.chat-bubble.user{background:var(--custos-sky);color:#fff;align-self:flex-end}.chat-bubble.user strong{color:rgba(255,255,255,.8)}
.start-chat-button,.mic-control,.travel-primary{border:0;border-radius:999px;background:linear-gradient(180deg,var(--custos-sky),var(--custos-skyDeep));color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(46,111,149,.28);cursor:pointer}.start-chat-button{width:100%;padding:13px 16px;font-size:16px}.mic-dock{border-radius:28px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 40px rgba(46,111,149,.16);padding:12px;backdrop-filter:saturate(180%) blur(18px)}.dock-state{font-size:12px;font-weight:800;color:var(--custos-text2)}.dock-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:8px;align-items:center}.mic-control{min-height:48px;padding:0 12px;font-size:14px}.dock-secondary,.fallback-sheet-button,.ios-back-button,.sheet-close{border:1px solid rgba(90,169,230,.25);background:#fff;color:var(--custos-skyDeep);border-radius:999px;padding:10px 11px;font-weight:900;cursor:pointer}.fallback-sheet-button{width:100%;margin-top:8px;background:rgba(242,244,247,.86);color:var(--custos-text2)}
.results-screen{background:linear-gradient(180deg,rgba(246,250,253,.94),rgba(234,244,255,.96));color:var(--custos-text)}.results-safe-area{overflow:auto}.results-nav-header{align-items:center;flex:0 0 auto}.ios-back-button{font-size:14px;padding:9px 12px}.results-map-hero{position:relative;min-height:178px;border-radius:28px;background:radial-gradient(circle at 26% 25%,rgba(90,169,230,.28),transparent 24%),linear-gradient(145deg,#fff,var(--custos-skySoft));border:1px solid rgba(255,255,255,.78);box-shadow:0 18px 44px rgba(46,111,149,.15);padding:16px;overflow:hidden}.map-route-line{position:absolute;left:72px;right:72px;top:72px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--custos-skyDeep),var(--custos-sky));transform:rotate(-13deg);box-shadow:0 0 0 7px rgba(255,255,255,.42)}.map-pin{position:absolute;border-radius:999px;background:#fff;color:var(--custos-skyDeep);padding:8px 10px;font-weight:950;box-shadow:0 10px 24px rgba(46,111,149,.18)}.map-pin.origin{left:42px;top:92px}.map-pin.destination{right:34px;top:44px}.travel-assistant{position:absolute;left:14px;right:14px;bottom:12px;margin:0;border-radius:18px;background:rgba(255,255,255,.86);padding:10px;color:var(--custos-text);font-weight:700;font-size:13px}.travel-message{border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(100,116,139,.12);padding:10px;color:var(--custos-text2);font-size:13px}.travel-message.ok{color:#166534;background:#f0fdf4}.travel-message.warn{color:#92400e;background:#fffbeb}.travel-message.error{color:#991b1b;background:#fef2f2}.results-list{display:grid;gap:10px;padding-bottom:14px}.result-card{display:block;width:100%;text-align:left;border:1px solid rgba(90,169,230,.18);border-radius:22px;background:rgba(255,255,255,.94);padding:14px;color:var(--custos-text);box-shadow:0 14px 34px rgba(46,111,149,.12);cursor:pointer}.result-card strong,.result-card span,.result-card em{display:block}.result-card strong{font-size:16px}.result-card span{color:var(--custos-text2);font-size:13px;margin-top:3px}.result-card em{color:var(--custos-skyDeep);font-style:normal;font-size:12px;margin-top:5px;font-weight:800}
.ios-sheet{position:absolute;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet-scrim{position:absolute;inset:0;background:rgba(15,23,42,.18);backdrop-filter:blur(2px)}.sheet-panel{position:relative;width:100%;max-height:82%;overflow:auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.78);border-radius:30px 30px 0 0;padding:10px 16px 18px;box-shadow:0 -22px 60px rgba(15,23,42,.22);backdrop-filter:saturate(180%) blur(22px);color:var(--custos-text)}.compact-sheet{max-height:60%}.sheet-handle{display:block;width:42px;height:5px;border:0;border-radius:999px;background:#cbd5e1;margin:0 auto 12px}.fallback-input label{display:block;color:var(--custos-text2);font-weight:800;margin-bottom:8px}.fallback-row{display:grid;grid-template-columns:1fr;gap:8px}.fallback-row textarea{width:100%;border:1px solid rgba(90,169,230,.22);border-radius:18px;background:var(--custos-surface);color:var(--custos-text);font:inherit;padding:12px;resize:none}.travel-primary{padding:12px 16px}.travel-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.travel-examples button{border:1px solid rgba(90,169,230,.2);border-radius:999px;background:#fff;color:var(--custos-skyDeep);padding:8px 10px;font-weight:800}.travel-disclosure{color:var(--custos-text2);font-size:13px}.failure-banner-card{color:#991b1b;background:rgba(254,242,242,.92)}.failure-banner-card[data-state="fallback"]{color:#0f766e;background:rgba(240,253,244,.94);border-color:rgba(34,197,94,.28)}
@media (max-width:520px){.voice-parity-stage{padding:8px}.voice-demo-topbar{font-size:12px}.ios-phone-shell{width:100%;height:calc(100vh - 54px);min-height:660px;border-width:0;border-radius:0}.custos-header{flex-direction:column;align-items:stretch}.header-status-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.agent-status-pill,.speech-status-pill{max-width:100%;white-space:normal;text-align:left}.settings-dot{margin-left:auto}.custos-header h1{font-size:25px}.voice-subtitle{font-size:12px}.failure-banner-card{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.dock-status-row{flex-direction:column;align-items:stretch}.connection-state,.dock-state{max-width:100%;white-space:normal}.dock-actions{grid-template-columns:1fr 1fr}.mic-control{grid-column:1 / -1}.phone-safe-area,.results-safe-area{padding-left:12px;padding-right:12px;overflow:auto}}

/* V2 QA correction: keep real launch wordmark/art visibly exposed above the iOS cards. */
.launch-brand-reveal{height:132px;flex:0 0 132px;border-radius:32px;background-image:linear-gradient(180deg,rgba(46,111,149,.00),rgba(46,111,149,.06)),url('/assets/custos-launch-background.png');background-size:500px auto;background-position:center 13%;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.36),0 18px 42px rgba(46,111,149,.14);margin:0 10px -2px;pointer-events:none}.custos-header{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.74);border-radius:24px;padding:10px;backdrop-filter:saturate(180%) blur(14px);box-shadow:0 12px 32px rgba(46,111,149,.10)}.custos-header h1{color:var(--custos-text);text-shadow:none}.voice-subtitle{color:var(--custos-text2);text-shadow:none}.travel-kicker{color:var(--custos-skyDeep)}
@media (max-width:520px){.launch-brand-reveal{height:78px;flex-basis:78px;margin:0 28px -8px;background-size:390px auto}}
body.travel-voice-page .ios-phone-shell .custos-header{background:rgba(255,255,255,.90)!important;color:var(--custos-text)!important;border:1px solid rgba(255,255,255,.76)!important;box-shadow:0 12px 32px rgba(46,111,149,.10)!important}
body.travel-voice-page .ios-phone-shell .custos-header h1{color:var(--custos-text)!important;text-shadow:none!important}
body.travel-voice-page .ios-phone-shell .voice-subtitle{color:var(--custos-text2)!important;text-shadow:none!important}
/* Mobile/phone-shell QA: status pills must never overlap the Custos title or each other. */
body.travel-voice-page .ios-phone-shell .custos-header{flex-direction:column!important;align-items:stretch!important}
body.travel-voice-page .ios-phone-shell .header-status-stack{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin-top:4px!important}
body.travel-voice-page .ios-phone-shell .agent-status-pill,body.travel-voice-page .ios-phone-shell .speech-status-pill{max-width:100%!important;white-space:normal!important;text-align:left!important}
body.travel-voice-page .ios-phone-shell .settings-dot{margin-left:auto!important}
body.travel-voice-page .ios-phone-shell .failure-banner-card{overflow-wrap:anywhere!important;line-height:1.35!important}

/* Brave/iOS demo correction: keep the app usable inside mobile/tablet browser chrome.
   The previous fixed-height phone shell clipped the primary voice controls below the fold,
   making the demo look ready while the actual buttons were unreachable. */
body.travel-voice-page .voice-demo-topbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;overflow:hidden!important}
body.travel-voice-page .travel-demo-tag{max-width:100%!important;white-space:normal!important;line-height:1.2!important;text-align:center!important}
body.travel-voice-page .ios-phone-shell{height:auto!important;min-height:min(760px,calc(100dvh - 88px))!important;max-height:none!important;overflow:visible!important}
body.travel-voice-page .ios-phone-shell .app-screen{height:auto!important;min-height:min(760px,calc(100dvh - 88px))!important;overflow:visible!important}
body.travel-voice-page .ios-phone-shell .phone-safe-area{height:auto!important;min-height:min(760px,calc(100dvh - 88px))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
body.travel-voice-page .ios-phone-shell .launch-brand-reveal{order:0;height:94px!important;flex:0 0 94px!important;margin:0 22px -2px!important;background-size:420px auto!important;background-position:center 10%!important}
body.travel-voice-page .ios-phone-shell .custos-header{order:1!important}
body.travel-voice-page .ios-phone-shell .start-chat-button{order:2!important;position:relative!important;z-index:5!important;min-height:54px!important;font-size:17px!important;box-shadow:0 18px 38px rgba(46,111,149,.34)!important}
body.travel-voice-page .ios-phone-shell .mic-dock{order:3!important;position:sticky!important;bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:6!important;margin:0!important;background:rgba(255,255,255,.96)!important}
body.travel-voice-page .ios-phone-shell .trip-summary-card{order:4!important}
body.travel-voice-page .ios-phone-shell .failure-banner-card{order:5!important}
body.travel-voice-page .ios-phone-shell .glass-transcript-card{order:6!important;flex:0 0 auto!important;min-height:160px!important}
body.travel-voice-page .ios-phone-shell .dock-actions{grid-template-columns:1fr 1fr!important;gap:9px!important}
body.travel-voice-page .ios-phone-shell .mic-control{grid-column:1 / -1!important;min-height:56px!important;font-size:16px!important}
body.travel-voice-page .ios-phone-shell .dock-secondary{min-height:44px!important}
body.travel-voice-page .ios-phone-shell .fallback-sheet-button{min-height:46px!important;color:var(--custos-skyDeep)!important;background:#fff!important;border-color:rgba(90,169,230,.34)!important}
body.travel-voice-page .ios-phone-shell .settings-dot{width:auto!important;min-width:44px!important;padding:0 12px!important}
@supports not (height: 100dvh){body.travel-voice-page .ios-phone-shell,body.travel-voice-page .ios-phone-shell .app-screen,body.travel-voice-page .ios-phone-shell .phone-safe-area{min-height:min(760px,calc(100vh - 88px))!important}}
@media (max-width:900px){body.travel-voice-page .voice-parity-stage{padding:8px 10px 24px!important}body.travel-voice-page .voice-demo-topbar{justify-content:center!important;text-align:center!important;gap:8px!important}body.travel-voice-page .ios-phone-shell{width:min(100%,430px)!important;border-width:6px!important;border-radius:36px!important}body.travel-voice-page .ios-phone-shell .phone-safe-area{gap:9px!important}.voice-constraints-grid{grid-template-columns:1fr 1fr!important}.trip-summary-card h2,.glass-transcript-card h2{font-size:18px!important}}
@media (max-width:520px){body.travel-voice-page .ios-phone-shell{width:100%!important;border-width:0!important;border-radius:0!important;min-height:calc(100dvh - 42px)!important}body.travel-voice-page .ios-phone-shell .app-screen,body.travel-voice-page .ios-phone-shell .phone-safe-area{min-height:calc(100dvh - 42px)!important}body.travel-voice-page .ios-phone-shell .launch-brand-reveal{height:72px!important;flex-basis:72px!important;margin:0 18px -4px!important;background-size:360px auto!important}.voice-constraints-grid{grid-template-columns:1fr!important}.summary-title-row{flex-direction:column!important;align-items:flex-start!important}.ready-badge{align-self:flex-start!important}}
body.travel-voice-page .ios-phone-shell .ios-sheet{position:fixed!important;inset:0!important;z-index:1000!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0 10px max(0px,env(safe-area-inset-bottom))!important}
body.travel-voice-page .ios-phone-shell .ios-sheet.hidden{display:none!important}
body.travel-voice-page .ios-phone-shell .sheet-scrim{position:fixed!important;inset:0!important}
body.travel-voice-page .ios-phone-shell .sheet-panel{width:min(100%,430px)!important;max-height:min(82dvh,620px)!important;margin:0 auto!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
body.travel-voice-page .ios-phone-shell .compact-sheet{max-height:min(74dvh,520px)!important}
