@font-face{font-family:Plex;src:url('/static/fonts/plex-sans-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/static/fonts/plex-sans-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
:root{color-scheme:light;--paper:#f5f7f6;--surface:#fff;--ink:#1b302c;--muted:#60716b;--line:#dfe7e3;--green:#146951;--accent:#34725e;--soft:#edf3ef;--shadow:0 4px 24px #183c2c05}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Plex,system-ui,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #188b77;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,3.5vw,48px);font-weight:500;letter-spacing:-1.8px;line-height:1.13;margin-bottom:12px;overflow-wrap:anywhere}h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin-bottom:12px}h3{font-weight:500}p{margin-bottom:16px}.muted,small{color:var(--muted)}.site-header{min-height:76px;background:#fffffff0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px max(28px,calc((100vw - 1400px)/2));gap:20px}.brand{font-size:17px;font-weight:500;text-decoration:none;white-space:nowrap}.brand span{color:var(--muted);font-weight:400;margin-left:12px}.site-header nav{display:flex;gap:18px;align-items:center}.access-badge{font-size:11px;font-weight:500;background:var(--soft);color:var(--green);border:1px solid var(--line);border-radius:20px;padding:5px 11px;white-space:nowrap}main{max-width:1400px;margin:auto;padding:36px 28px 54px;min-height:calc(100vh - 155px)}.heading{margin-bottom:22px}.eyebrow,.section-number{display:block;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:12px}.subtitle{color:var(--muted);font-size:16px;max-width:800px;margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.narrow{max-width:570px}.narrow h2{font-size:25px}.button,.small-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border:1px solid var(--line);border-radius:8px;min-height:40px;padding:9px 14px;background:var(--surface);font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s}.button{background:var(--green);color:#fff;border-color:var(--green);min-height:44px;padding:11px 20px;font-size:14px}.button:hover:not(:disabled){background:#104d3d;box-shadow:0 3px 10px #14695125}.small-button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--soft)}.quiet{border:0;background:transparent;padding:8px 0;font-size:13px;text-decoration:none}.quiet:hover{text-decoration:underline}.danger{color:#a43c3c}label{display:block;margin:16px 0 6px;font-size:13px;font-weight:500}input,textarea,select{max-width:100%;border:1px solid #c9d6cf;border-radius:8px;background:#fff;padding:10px 12px}input,textarea{width:100%}textarea{resize:vertical}.field-note{color:var(--muted);font-size:12px;margin:7px 0 16px}.window-note{background:var(--soft);border-radius:10px;padding:14px;font-size:12px;line-height:1.7;margin:22px 0}#auth-form>.button{margin-top:22px}.dashboard-grid{display:grid;grid-template-columns:360px 1fr;gap:30px}.create-panel{align-self:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-heading h2{margin:0}.badge{border:1px solid var(--line);background:#ffffff99;border-radius:20px;padding:4px 10px;font-size:11px;color:var(--muted);white-space:nowrap}.meeting-card{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;box-shadow:var(--shadow)}.meeting-card h3{font-size:23px;margin:0 0 15px;overflow-wrap:anywhere}.meeting-facts{display:grid;grid-template-columns:100px 1fr;gap:5px 12px;font-size:13px}.meeting-facts dt{color:var(--muted)}.meeting-facts dd{margin:0}.card-actions{display:flex;gap:18px;align-items:center;margin-top:20px}.card-actions .danger{margin-left:auto}.empty-state{padding:36px 24px;border:1px dashed #c5d5cb;border-radius:12px;color:var(--muted);text-align:center}.meeting-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.metadata{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.dot{color:#a8b9ae}.zone-bar{display:flex;align-items:center;gap:26px;border:1px solid var(--line);border-radius:12px;background:#edf3ef;padding:14px 18px;margin-bottom:22px}.zone-bar>div{display:flex;gap:12px;align-items:center;flex-shrink:0}.zone-bar label{margin:0;font-size:12px}.zone-bar select{font-size:12px;max-width:250px;padding:8px 10px;background:white}.zone-bar .quiet{font-size:12px;white-space:nowrap}.tz-convert{color:#4c665b;font-size:12px;line-height:1.6;margin:0;max-width:620px}.identify{display:flex;justify-content:center;padding:20px 0 12px}.identify-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 16px 48px #14332208}.steps{display:flex;gap:10px;align-items:center;list-style:none;margin:0 0 26px;padding:0;font-size:12px;color:var(--muted)}.steps li{display:flex;align-items:center;gap:7px}.steps li+li:before{content:'';width:24px;height:1px;background:var(--line);margin-right:3px}.steps b{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;border:1px solid var(--line);font-size:11px}.steps [aria-current=step]{color:var(--green)}.steps [aria-current=step] b{background:var(--green);border-color:var(--green);color:#fff}.identify-card h2{font-size:28px}.identify-lead{color:var(--muted);margin-bottom:24px}.identify #join-form{display:flex;gap:10px;align-items:stretch}.identify #guest-name{font-size:16px;padding:13px 14px}.identify #join-form .button{white-space:nowrap}.combo{position:relative;flex:1;min-width:0}.combo-list{position:absolute;left:0;right:0;top:100%;z-index:12;background:white;border:1px solid var(--line);border-radius:10px;padding:5px;margin:6px 0 0;list-style:none;box-shadow:0 12px 30px #142b201a}.combo-option{display:flex;align-items:center;gap:10px;padding:10px;cursor:pointer;border-radius:6px}.combo-option:hover,.combo-option.active{background:var(--soft)}.combo-name{flex:1}.combo-status{font-size:10px;color:var(--muted)}.invited{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.invited-faces{display:flex;align-items:center;margin-bottom:9px}.invited-faces .avatar{margin-right:-7px;box-shadow:0 0 0 2px white}.avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--person,#607f6d);color:#fff;font-size:11px;font-weight:500}.avatar.more{background:#d2ddd5;color:#495f52}.invited-note{font-size:12px;color:var(--muted);margin:0}#just-looking{margin-top:16px;color:var(--green)}.own-panel,.viewing-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;margin-bottom:22px;border-radius:12px;border:1px solid var(--line);background:white;font-size:13px}.own-identity{display:flex;align-items:center;gap:12px}.own-identity strong{display:block;font-weight:500}.own-identity #save-state{display:block;font-size:12px;color:var(--muted)}.viewing-bar{background:transparent;border-style:dashed;color:var(--muted)}.view-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:10px}.view-tabs button{display:flex;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);padding:12px 18px;font-size:14px;font-weight:500;white-space:nowrap}.view-tabs button span{font-size:10px;opacity:.65}.view-tabs button:hover{background:#e9efeb}.view-tabs button[aria-pressed=true]{background:var(--green);color:white;box-shadow:0 3px 10px #14695115}.view-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.view-summary h2{font-size:22px;margin-bottom:4px}.view-summary p{color:var(--muted);font-size:13px;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:20px;align-items:start}.calendar-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0;box-shadow:var(--shadow)}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.segmented{display:flex;background:var(--soft);padding:3px;border-radius:8px}.segmented button{border:0;border-radius:6px;background:none;padding:7px 10px;font-size:12px;white-space:nowrap}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #22302412;color:var(--green);font-weight:500}.calendar-options{display:flex;flex-wrap:wrap;gap:8px}.calendar-options select{font-size:12px;padding:7px 9px}.calendar-paging{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px;font-size:12px}.icon-button{padding:3px 9px;min-width:32px;min-height:32px}.calendar-paging strong{font-weight:500}.calendar-paging>span{flex-basis:100%;font-size:11px;color:var(--muted)}.calendar-scroll{overflow:auto;max-height:620px;overscroll-behavior:contain;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-color:#b8cbbc var(--soft)}#calendar{display:grid;grid-template-columns:68px repeat(var(--days,5),minmax(90px,1fr));min-width:calc(68px + var(--days,5)*90px)}.day-heading{position:sticky;top:0;z-index:3;background:#f2f6f3;text-align:center;padding:10px 5px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:12px;font-weight:500}.day-heading span{display:block;font-size:10px;letter-spacing:.7px;font-weight:400;color:var(--muted);text-transform:uppercase}.day-heading.weekend{background:#eaf1ed}.corner{left:0;z-index:5;font-size:9px;color:var(--muted);padding-top:20px}.time-label{position:sticky;left:0;z-index:2;background:white;padding:6px 9px 0 0;text-align:right;border-right:1px solid var(--line);font-size:10px;color:var(--muted);height:30px;white-space:nowrap}.slot{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap;min-width:0;height:30px;padding:0 4px;background:#f2f6f3;border:0;border-right:2px solid white;border-bottom:2px solid white;color:var(--green);border-radius:3px;font-size:11px}.hour-line{border-top:1px solid #d6e2da}.slot:hover{box-shadow:inset 0 0 0 2px #338568;z-index:1}.slot.past{opacity:.38}.slot.missing{background:repeating-linear-gradient(135deg,#eef2ef,#eef2ef 3px,#f9faf9 3px,#f9faf9 6px);color:#64766c}.h0{background:#f2f6f3}.h1{background:#d9eee2}.h2{background:#b3d8c4}.h3{background:#86bca1}.h4{background:#509378;color:white}.h5{background:#247153;color:white}.slot.mine{background:#167151!important;color:white;box-shadow:inset 0 0 0 1px #105b46}.slot.mine:after{content:'✓';font-size:13px}.slot.mine .count{display:none}.slot.partial{background:repeating-linear-gradient(135deg,#d9eee2,#d9eee2 5px,#7fb497 5px,#7fb497 10px)}.slot.highlighted{box-shadow:inset 0 0 0 2px var(--person)}.person-mark{width:7px;height:16px;background:var(--person);border-radius:3px}.paint-mode{touch-action:none;user-select:none}.calendar-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;font-size:11px;color:var(--muted)}.heat-legend{display:flex;gap:3px;align-items:center;font-size:10px}.heat-legend span:first-child{margin-right:4px}.heat-legend span:last-child{margin-left:4px}.heat-legend i{display:block;width:13px;height:13px;border-radius:3px}.calendar-note{margin:0;padding:0 16px 16px;font-size:11px;line-height:1.7}#edit-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#autosave-state{font-size:11px}#clear-selection{font-size:11px}.sidebar{display:grid;gap:16px;min-width:0}.sidebar .panel{padding:20px}.sidebar h2{font-size:17px}.sidebar .section-number{font-size:9px}.sidebar .field-note{font-size:11px}.person-row+.person-row{border-top:1px solid var(--line)}.person-button{border:0;background:none;width:100%;display:flex;align-items:center;gap:9px;padding:11px 0;text-align:left;border-radius:6px}.person-button[aria-pressed=true]{background:var(--soft)}.person-name{flex:1;font-size:13px;overflow-wrap:anywhere}.person-status{font-size:10px;color:var(--muted);white-space:nowrap}.person-actions{display:flex;gap:12px;padding:0 0 8px}.person-actions .quiet{font-size:10px}.inline-form{display:flex;gap:6px}.inline-form input{min-width:0}.slot-panel p,.best-panel p{font-size:12px}.slot-panel h3{font-size:12px;margin:18px 0 7px}.slot-panel ul{padding:0;list-style:none;font-size:12px;margin:0}.slot-panel li{display:flex;align-items:center;gap:7px;margin:5px 0}.swatch{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--person)}.occurrences,.pair-times{max-height:280px;overflow:auto}.best-time{display:block;width:100%;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:10px;margin-top:9px;text-align:left;font-size:11px;line-height:1.5}.best-time:hover{background:#deeee3}.best-time strong{display:block;font-size:10px;color:var(--green);margin-top:4px}.privacy-note{font-size:11px;color:var(--muted);margin:22px 0 0}footer{border-top:1px solid var(--line);max-width:1344px;margin:auto;display:flex;gap:20px;justify-content:space-between;padding:22px 28px;font-size:11px;color:var(--muted)}#notice{padding:12px 16px;border:1px solid #bad3c4;background:#eaf5ed;border-radius:10px;margin-bottom:18px;font-size:13px}#notice.error{background:#fff0ec;border-color:#e6b6a7;color:#8d392c}.copy-field{margin-top:10px}.skip{position:absolute;top:-60px;left:10px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.owner-view{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f4f5fb;border-bottom:1px solid #e1e3ee;padding:10px 16px;font-size:11px}.owner-view label{margin:0;font-size:11px}.owner-view select{font-size:11px;padding:5px 9px}.window-editor{border-bottom:1px solid var(--line);padding:14px 16px;background:#f9fbfa}.window-editor summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--green)}.window-editor summary span{font-weight:400;font-size:11px;color:var(--muted);margin-left:10px}.window-fields{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.window-fields>div:first-child{flex:1}.window-fields select{font-size:12px;min-width:85px;width:100%}.window-fields fieldset{border:0;margin:0;padding:0;flex:1;display:flex;gap:4px;flex-wrap:wrap}.window-fields legend{font-size:12px;font-weight:500;margin:16px 0 6px}.weekday-choice{display:block;margin:0;position:relative}.weekday-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.weekday-choice span{display:block;padding:9px 8px;border:1px solid var(--line);background:white;border-radius:7px;font-size:11px}.weekday-choice input:checked+span{background:var(--green);color:white;border-color:var(--green)}.weekday-choice input:focus-visible+span{outline:3px solid #188b77;outline-offset:2px}.window-actions{display:flex;gap:10px;flex-wrap:wrap}.window-editor .field-note{margin:10px 0;font-size:11px}#calendar.pair-matrix{grid-template-columns:150px repeat(var(--days),minmax(115px,1fr));min-width:calc(150px + var(--days)*115px)}.pair-matrix .day-heading{overflow-wrap:anywhere;white-space:normal;min-width:0;padding:14px 10px}.pair-matrix .matrix-label{display:flex;gap:8px;align-items:center;text-align:left;padding:10px;height:72px;white-space:normal;border-bottom:1px solid var(--line)}.matrix-name{overflow-wrap:anywhere;min-width:0;font-size:12px}.pair-matrix .matrix-cell{height:72px;flex-direction:column;gap:2px}.matrix-value{font-size:19px;font-weight:500}.matrix-caption{font-size:9px}.pair-matrix .corner{font-size:9px}.pair-matrix .empty-state{grid-column:1/-1;margin:20px}
@media(min-width:1500px){.calendar-scroll{max-height:720px}}
@media(max-width:1100px){.zone-bar{align-items:flex-start;flex-direction:column;gap:8px}.workspace{grid-template-columns:minmax(0,1fr) 250px}.calendar-options{gap:5px}.calendar-toolbar{gap:10px}.view-tabs button{padding:12px}}
@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.people-panel{grid-row:span 2}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px}.view-tabs{overflow:auto}.view-tabs button{font-size:12px}.metadata #created-label,.metadata .dot:last-of-type{display:none}.window-editor summary span{display:block;margin:4px 0 0 15px}}
@media(max-width:600px){.site-header{padding:15px 18px;min-height:65px}.brand{font-size:14px}.brand span{margin-left:6px}.access-badge{font-size:9px;padding:4px 8px}.site-header nav{gap:10px}.site-header nav .quiet{font-size:11px}main{padding:26px 16px 35px}h1{font-size:34px;letter-spacing:-1px}.subtitle{font-size:14px}.meeting-topline{align-items:flex-start}.metadata{font-size:11px;gap:5px}.meeting-topline .small-button{font-size:10px;min-width:95px;padding:8px}.zone-bar{padding:12px;gap:10px}.zone-bar>div{width:100%;flex-wrap:wrap;gap:8px}.zone-bar select{max-width:calc(100% - 88px);flex:1}.zone-bar .quiet{padding:0}.tz-convert{font-size:11px}.own-panel,.viewing-bar{padding:12px;gap:10px}.own-panel .small-button{font-size:11px}.view-tabs{gap:4px;margin-bottom:18px}.view-tabs button{font-size:11px;padding:10px 9px;gap:5px}.view-tabs button span{display:none}.view-summary{align-items:flex-start}.view-summary h2{font-size:20px}.view-summary p{font-size:12px}.view-summary .badge{font-size:9px;padding:4px 6px}.calendar-toolbar{padding:12px}.calendar-options{width:100%}.calendar-paging{padding:10px 12px}.calendar-scroll{max-height:520px}.calendar-footer{padding:12px}.calendar-note{padding:0 12px 12px}#calendar{grid-template-columns:56px repeat(var(--days,5),minmax(78px,1fr));min-width:calc(56px + var(--days,5)*78px)}.sidebar{grid-template-columns:1fr}.people-panel{grid-row:auto}.dashboard-grid{grid-template-columns:1fr}.identify{padding:10px 0}.identify-card{padding:26px 22px;border-radius:16px}.identify #join-form{flex-direction:column}.identify-card h2{font-size:26px}.identify-lead{font-size:14px}.window-fields{gap:10px}.window-fields>div:first-child{flex-basis:100%}.window-fields fieldset{flex-basis:100%}.window-fields>div{flex:1}.window-actions .button,.window-actions .small-button{font-size:12px;padding:9px 12px}.window-editor summary{font-size:12px}.window-editor{padding:12px}.pair-matrix .matrix-label{padding:8px}.meeting-facts{grid-template-columns:90px 1fr;font-size:12px}footer{font-size:10px;padding:20px 16px}footer span:last-child{display:none}.owner-view{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(hover:none){.paint-mode{touch-action:pan-x pan-y}}

/* Searchable city controls stay in the page flow, with no timezone dropdown. */
.zone-bar{display:block;padding:18px 20px;background:#f0f5f2}
.zone-bar .zone-search-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(230px,.85fr);gap:28px;align-items:center}
.timezone-form{min-width:0}.zone-bar .timezone-form label{margin:0 0 7px;font-size:12px;font-weight:500}
.zone-search-field{display:flex;gap:8px;align-items:stretch}.zone-search-field input{min-width:0;font-size:14px;background:white;flex:1;padding:11px 13px}
.zone-search-field .small-button{white-space:nowrap;font-size:12px;border-color:#b9cec1;background:white}
.zone-bar .zone-current{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.zone-caption{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
#timezone-current{font-size:12px;font-weight:500;overflow-wrap:anywhere;line-height:1.5}
.zone-bar .zone-current .quiet{padding:0;font-size:11px;color:var(--green)}
.zone-bar .city-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px;flex-shrink:1}
.city-chip{border:1px solid #d0dfd5;border-radius:20px;background:#fff9;padding:6px 11px;font-size:11px;line-height:1.5;min-height:32px;white-space:nowrap}
.city-chip:hover{background:white;border-color:var(--green)}.city-chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.zone-bar .timezone-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #d3e0d7;flex-shrink:1}
.city-match{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;border:1px solid #cdded2;background:white;border-radius:9px;padding:10px 12px;min-width:0}
.city-match strong{font-size:12px;font-weight:500}.city-match span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.city-match:hover,.city-match:focus-visible{border-color:var(--green);background:#e4f0e8}
.timezone-feedback{font-size:12px;color:#874125;margin:10px 0 0}.timezone-feedback:empty{display:none}
.zone-bar .tz-convert{font-size:11px;max-width:none;margin-top:13px;color:#50685c}
/* The personal input is the primary action; the other views support comparison. */
.view-tabs{display:grid;grid-template-columns:minmax(285px,1.2fr) 1fr 1fr;gap:12px;padding-bottom:18px;overflow:visible}
.view-tabs button{justify-content:center;border:1px solid var(--line);background:white;padding:15px 18px;font-size:13px;white-space:normal;text-align:left}
.view-tabs button[aria-pressed=true]{background:#e8efeb;color:var(--ink);border-color:#b7c9be;box-shadow:none}
.view-tabs .my-availability-button{justify-content:flex-start;border:2px solid #4e9476;background:#e6f3eb;color:#185b44;box-shadow:0 3px 12px #14695109;gap:12px}
.view-tabs .my-availability-button:hover{background:#d7eddf;border-color:var(--green)}
.view-tabs .my-availability-button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;box-shadow:0 5px 18px #14695124}
.view-tabs .my-availability-button span{display:initial;opacity:1}
.view-tabs .my-availability-button .input-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;background:#ffffff33;font-size:24px}
.view-tabs .input-label{flex:1;min-width:0}.view-tabs .input-label strong{display:block;font-size:16px;letter-spacing:-.2px;font-weight:500}
.view-tabs .input-label #my-input-description{display:block;font-size:11px;font-weight:400;margin-top:3px}
.view-tabs .my-availability-button .input-badge{font-size:9px;text-transform:uppercase;letter-spacing:.8px;border:1px solid currentColor;border-radius:5px;padding:3px 6px;opacity:.85}
.editing-kicker{display:block;color:var(--green);font-size:10px;letter-spacing:1.3px;font-weight:500;margin-bottom:5px}
.view-summary.is-editing h2{color:var(--green);font-size:25px}.is-editing .calendar-panel{border-color:#8bb8a0;border-top:4px solid var(--green);box-shadow:0 4px 24px #14695109}
.is-editing .calendar-toolbar{background:#f3f9f5}.is-editing .window-editor{background:#edf7f0}.is-editing .window-editor summary{font-weight:500;font-size:14px}
@media(max-width:900px){.view-tabs{grid-template-columns:minmax(270px,1.2fr) 1fr 1fr;gap:8px}.view-tabs button{font-size:12px;padding:13px 10px}.zone-bar .zone-search-row{grid-template-columns:1fr 1fr;gap:18px}.zone-search-field{flex-wrap:wrap}.zone-search-field input{flex-basis:180px}.zone-bar .timezone-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.zone-bar{padding:15px}.zone-bar .zone-search-row{grid-template-columns:1fr;gap:14px}.zone-search-field{flex-wrap:nowrap}.zone-search-field input{font-size:16px;flex-basis:auto;padding:10px;min-width:0}.zone-search-field .small-button{font-size:11px;padding:8px}.zone-bar .zone-current{gap:3px}.zone-caption{font-size:9px}#timezone-current{font-size:11px}.zone-bar .city-suggestions{margin-top:13px;gap:6px}.city-chip{font-size:10px;padding:5px 10px;min-height:32px}.zone-bar .tz-convert{font-size:10px}.view-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;padding-bottom:16px}.view-tabs .my-availability-button{grid-column:1/-1;padding:14px 15px}.view-tabs button{font-size:11px;padding:12px 10px}.view-tabs .input-label strong{font-size:17px}.view-tabs .my-availability-button .input-icon{width:36px;height:36px}.view-tabs .input-label #my-input-description{font-size:12px}.view-summary.is-editing h2{font-size:23px}.is-editing .window-editor summary{font-size:12px}.zone-bar .timezone-results{grid-template-columns:1fr 1fr}.city-match{padding:9px}.city-match strong{font-size:11px}}

/* Put identity, time zone and selection in one readable flow. */
.name-field{flex:1;min-width:0}.name-field label{margin:0 0 8px;font-size:14px}
.identify #join-form{align-items:flex-end}.identify #join-form .button{min-height:48px}
.selection-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 22px 16px}
.selection-intro .section-number{margin-bottom:5px}.selection-intro h2{margin:0 0 4px;font-size:22px}
.selection-intro p{margin:0;color:var(--muted);font-size:13px}
.selection-zone{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 16px 16px;padding:16px;border:1px solid #a9c9b4;border-radius:12px;background:#e9f5ed}
.selection-zone h3{font-size:14px;margin:0 0 3px}.selection-zone p{font-size:14px;margin:0;color:#245543;overflow-wrap:anywhere}
#selection-zone-picker{flex-basis:100%}#selection-zone-picker .zone-bar{margin:6px 0 0;background:#fff;border-color:#c9dfcf}
.selection-zone .small-button,.city-chip,.icon-button,.person-actions button,#refresh-availability{min-height:44px}
.selection-zone .city-chip{padding:8px 13px;font-size:13px}
.person-actions{flex-wrap:wrap}.person-actions .small-button{font-size:12px}.person-zone{font-size:11px;color:var(--muted);margin:-3px 0 8px 39px}
.slot{height:44px}.slot:focus-visible{z-index:4}.slot.past{opacity:1;background:#e6ebe8;color:#52645b}
.window-fields label,.window-fields legend,.calendar-options select,.calendar-paging,.person-name{font-size:13px}
.window-fields select{min-height:44px;font-size:14px}.weekday-choice span{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px}
.quiet{min-height:44px;padding:10px 4px}.view-tabs button{min-height:48px}
.small-button,.segmented button{min-height:44px}
.slot.h1,.slot.h2,.slot.h3{color:#123f31}.h4{background:#36785e;color:#fff}
@media(max-width:600px){.selection-intro{align-items:flex-start;flex-direction:column;padding:18px 14px 12px}.selection-intro h2{font-size:20px}.selection-zone{margin:0 12px 12px;padding:13px}.selection-zone .small-button{width:100%}.identify #join-form{align-items:stretch}.slot{height:44px}}

.flag{font-size:1.25em;line-height:1;margin-right:6px;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}.city-match{position:relative;padding-left:44px}.city-match .flag{position:absolute;left:12px;top:10px;font-size:22px;margin:0}.city-chip .flag{font-size:16px;vertical-align:-2px}.person-actions{display:flex;gap:6px;margin:4px 0 8px 39px}

/* Sign-in and sign-up pages */
.auth-switch{margin:18px 0 0;font-size:13px}.auth-switch a{color:var(--green);font-weight:500}
.auth-fine{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.site-header nav .quiet{text-decoration:none}

/* Stronger person colours: bigger marks, ringed so they read on any cell. */
.avatar{width:34px;height:34px;font-size:12px;font-weight:600;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--person,#607f6d)}
.invited-faces .avatar{box-shadow:0 0 0 2px #fff}
.swatch{width:14px;height:14px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--person)}
.person-mark{width:9px;height:20px;border-radius:3px;box-shadow:0 0 0 1px #fff}
.slot.highlighted{box-shadow:inset 0 0 0 3px var(--person)}

/* Drag-to-select rectangle (shown only while dragging). */
.drag-box{position:fixed;z-index:60;pointer-events:none;border:2px dashed #0d2b22;background:#ffffff22;border-radius:3px;box-shadow:0 0 0 2px #fff,inset 0 0 0 2px #fff}
.drag-box.remove{border-color:#9b2c16;background:#9b2c1626}

/* Time zone sits directly above the grid; the view switcher sits below it. */
.calendar-panel .selection-zone{margin:12px 16px 4px}
.calendar-panel .view-tabs{margin:0;padding:16px;border-top:1px solid var(--line);border-bottom:0;background:#f3f9f5;overflow:visible}
.calendar-panel .view-tabs button{min-height:48px}
@media(max-width:850px){.calendar-panel .view-tabs{grid-template-columns:1fr 1fr;padding:12px}.calendar-panel .view-tabs .my-availability-button{grid-column:1/-1}.calendar-panel .selection-zone{margin:10px 12px 4px}}

/* Bulk edit: an obvious, button-like entry to the window form. */
.window-editor{margin:14px 16px 0;border:1px solid #a9c9b4;border-radius:12px;background:#f3f9f5;overflow:hidden}
.window-editor summary{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;min-height:56px}
.window-editor summary::-webkit-details-marker{display:none}
.window-editor .bulk-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:var(--green);color:#fff;font-size:18px}
.window-editor .bulk-text{display:grid;gap:2px;flex:1;min-width:0}.window-editor .bulk-text strong{font-size:15px;font-weight:600;color:var(--green)}
.window-editor .bulk-text span{font-size:12px;color:var(--muted);font-weight:400}
.window-editor .bulk-cta{flex:none;padding:7px 14px;border:1px solid var(--green);border-radius:8px;background:#fff;color:var(--green);font-size:13px;font-weight:500}
.window-editor[open] .bulk-cta{background:var(--green);color:#fff}.window-editor[open] .bulk-cta::before{content:"Close"}.window-editor[open] .bulk-cta{font-size:0}.window-editor[open] .bulk-cta::before{font-size:13px}
.window-editor summary:hover{background:#e6f3eb}.window-editor summary:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.window-editor form{padding:4px 16px 16px;border-top:1px solid #cfe2d5;background:#fff}
.is-editing .window-editor{background:#edf7f0}.is-editing .window-editor summary{font-size:inherit}

/* "A closer look" and "Best shared times" sit right under the view buttons. */
.insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border-top:1px solid var(--line)}
.insights .panel{margin:0;box-shadow:none}
@media(max-width:700px){.insights{grid-template-columns:1fr}}

/* Bulk select / block sits beside the calendar; people sit last on the page. */
.sidebar .window-editor{margin:0;position:sticky;top:12px}
.workspace:has(.sidebar > [hidden]:only-child){grid-template-columns:minmax(0,1fr)}
.workspace:has(.sidebar > [hidden]:only-child) .sidebar{display:none}
.workspace + .people-panel{margin-top:20px}

/* In the narrow sidebar the Bulk control stacks: icon and title on top, button below. */
.sidebar .window-editor summary{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px 12px;align-items:center}
.sidebar .window-editor .bulk-cta{grid-column:1/-1;text-align:center;width:100%}
.sidebar .window-editor .bulk-text strong{white-space:normal}

.account-panel{margin-top:22px}.own-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
