/* Shared time-zone chooser: calm current state, quick choices, exact full list. */
.oc-time-display{margin:0 0 1.5rem;padding:0 0 1rem;border-bottom:1px solid #b9c5d6;color:#263a57;font:400 .875rem/1.5 var(--font-body,Onest,Arial,sans-serif);min-width:0}
.oc-time-picker{min-width:0;max-width:100%}
.oc-time-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem;list-style:none;cursor:pointer;border-radius:5px}
.oc-time-picker>summary::-webkit-details-marker{display:none}.oc-time-picker>summary::marker{content:''}
.oc-time-current{display:flex;flex-direction:column;min-width:0;gap:.1875rem}
.oc-time-kicker{font-size:.6875rem;line-height:1.4;letter-spacing:.07em;font-weight:650;text-transform:uppercase;color:#52617a}
.oc-time-current strong{font-size:1.125rem;font-weight:650;line-height:1.3;color:#20263b;overflow-wrap:anywhere}
[data-time-zone-context]{font-size:.75rem;line-height:1.4;color:#52617a}
.oc-time-change{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:.75rem;min-height:44px;padding:.625rem .875rem;border:1px solid #8795aa;border-radius:5px;background:#e8eef7;color:#263a57;font-size:.8125rem;line-height:1.35;font-weight:650}
.oc-time-change::after{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease-out}
.oc-time-picker[open] .oc-time-change::after{transform:rotate(225deg) translate(-2px,-1px)}
.oc-time-picker>summary:hover .oc-time-change{background:#dce6f3;border-color:#52617a}
.oc-time-picker>summary:focus-visible{outline:2px solid #b94312;outline-offset:4px}
.oc-zone-panel{margin-top:.875rem;padding:1rem;border:1px solid #b9c5d6;border-radius:6px;background:#f8faff;min-width:0}
.oc-zone-auto{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:3.5rem;padding:.75rem;border:1px solid #b9c5d6;border-radius:4px;background:#eef3fa;color:#263a57;font:inherit;text-align:left;cursor:pointer}
.oc-zone-auto>span{display:grid;gap:.1875rem}.oc-zone-auto strong{font-size:.8125rem;font-weight:650}.oc-zone-auto [data-zone-auto-city]{font-size:.75rem;color:#52617a}
.oc-zone-auto[aria-pressed=true]{border-color:#52617a}.oc-zone-auto[aria-pressed=true]::after{content:'✓';font-size:1rem;font-weight:700}.oc-zone-auto:disabled{opacity:.55;cursor:default}
.oc-zone-section-label{margin:1rem 0 .5rem!important;font-size:.75rem;font-weight:650;color:#52617a}
.oc-zone-cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.oc-zone-cities button{display:flex;align-items:center;justify-content:space-between;gap:.375rem;min-width:0;min-height:44px;padding:.625rem .75rem;border:1px solid #b9c5d6;border-radius:4px;background:#f8faff;color:#263a57;font:500 .8125rem/1.35 var(--font-body,Onest,sans-serif);text-align:left;cursor:pointer}
.oc-zone-cities button:hover,.oc-zone-auto:hover{border-color:#52617a;background:#e8eef7}
.oc-zone-cities button[aria-pressed=true]{border-color:#263a57;background:#263a57;color:#f8faff;font-weight:650}
.oc-zone-cities button[aria-pressed=true]::after{content:'✓';flex:none;font-size:.8125rem}
.oc-zone-panel button:focus-visible,.oc-zone-panel select:focus-visible{outline:2px solid #b94312;outline-offset:3px}
.oc-zone-all{display:grid;gap:.5rem;margin-top:1rem;font-size:.75rem;font-weight:650;color:#52617a}
.oc-zone-all select{width:100%;min-width:0;max-width:100%;min-height:48px;padding:.75rem 2rem .75rem .75rem;border:1px solid #8795aa;border-radius:4px;background:#f8faff;color:#263a57;font:400 .9375rem/1.4 var(--font-body,Onest,sans-serif)}
.oc-zone-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}
.oc-zone-footer p{margin:0!important;font-size:.75rem;line-height:1.45;color:#52617a}
.oc-zone-done{flex:none;min-height:44px;padding:.625rem 1rem;border:0;border-radius:4px;background:#e8eef7;color:#263a57;font:650 .8125rem/1.35 var(--font-body,Onest,sans-serif);cursor:pointer}
.oc-zone-done:hover{background:#dce6f3}
[data-session-browser]>.oc-time-display{max-width:1216px;margin-inline:auto;color:inherit}
[data-oc-local-session]{white-space:normal;overflow-wrap:anywhere}
/* Early confirmation remains nonmodal and usable on short phone screens. */
.oc-time-confirmation{position:fixed;z-index:99990;right:20px;bottom:20px;width:min(390px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:1.125rem 1.25rem;border:1px solid #a9b4c4;border-radius:8px;background:#f8faff;color:#20263b;box-shadow:0 6px 28px #18243b29;font:400 .875rem/1.5 var(--font-body,Onest,Arial,sans-serif)}
.oc-time-confirm-title{display:block;font-size:1.0625rem;line-height:1.35;margin-bottom:.75rem}
.oc-time-confirmation .oc-time-display{padding:0;margin:0;border:0}
.oc-time-confirmation .oc-time-picker>summary{flex-wrap:wrap;gap:.75rem}
.oc-time-confirmation .oc-time-current{flex:1 1 10rem}.oc-time-confirmation .oc-time-change{min-height:44px}
.oc-time-confirmation .oc-zone-panel{padding:.75rem}.oc-time-confirmation .oc-zone-cities{grid-template-columns:repeat(2,minmax(0,1fr))}
.oc-confirm-time{display:block;min-height:44px;margin-top:1rem;padding:.625rem 1.25rem;border:0;border-radius:4px;background:#b94312;color:#f8faff;font:650 .875rem/1.4 var(--font-body,Onest,sans-serif);cursor:pointer}
.oc-confirm-time:disabled{opacity:.5;cursor:default}.oc-confirm-time:focus-visible{outline:2px solid #263a57;outline-offset:3px}
@media(min-width:591px) and (max-width:1000px){.oc-zone-cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.oc-time-picker>summary{flex-wrap:wrap;gap:.75rem}.oc-time-current{flex:1 1 9rem}.oc-time-change{padding:.625rem .75rem}.oc-zone-panel{padding:.75rem}.oc-zone-cities{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-zone-cities button{padding:.625rem .5rem}.oc-time-confirmation{right:16px;bottom:16px;padding:1rem}.oc-time-confirm-title{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.oc-time-change::after{transition:none}}
