*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:1rem;line-height:1.5;color:var(--c-text);background:var(--c-app)}h1{font-size:1.5rem;line-height:1.25;margin:0 0 16px}.sub{font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 12px}.lead{font-size:1.125rem;font-weight:600;line-height:1.4}.hint{color:var(--c-text-2);font-size:.875rem;margin:4px 0 16px}.muted{color:var(--c-text-2)}a{color:var(--c-primary)}a:hover{color:var(--c-primary-hover)}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.field{margin-bottom:16px;display:flex;flex-direction:column;min-width:0}label{font-weight:600;margin-bottom:4px}.field>label,.field-label{font-size:.875rem;font-weight:600;margin-bottom:6px}input,select,textarea{font:inherit;min-height:44px;padding:8px 12px;border:1px solid var(--c-control);border-radius:8px;width:100%;background:var(--c-surface);color:var(--c-text)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-primary)}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--c-primary)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--c-danger)}.err{color:var(--c-danger);font-size:.875rem;margin-top:4px}.field-pair{display:grid;gap:0 16px}@media (min-width: 560px){.field-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}button{font:inherit;min-height:44px;padding:8px 16px;border-radius:8px;cursor:pointer;border:1px solid var(--c-control);background:var(--c-surface);color:var(--c-text)}button:disabled{opacity:.55;cursor:not-allowed}.primary,.secondary,.danger,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 18px;border:1px solid var(--c-control);border-radius:8px;font-size:.9375rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none}.primary,a.primary:hover{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary);box-shadow:var(--c-shadow-sm)}.primary:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.secondary{background:var(--c-surface);color:var(--c-text);box-shadow:var(--c-shadow-sm)}.secondary:hover:not(:disabled){background:var(--c-hover)}.secondary.danger-text{color:var(--c-danger)}.secondary.danger-text:hover:not(:disabled){background:var(--c-danger-soft);border-color:var(--c-danger-line)}.danger{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-on-primary);box-shadow:var(--c-shadow-sm)}.danger:hover:not(:disabled){background:var(--c-danger-hover);border-color:var(--c-danger-hover)}.ghost{min-height:40px;padding:4px 10px;border-color:transparent;background:transparent;color:var(--c-primary);font-size:.875rem}.ghost:hover:not(:disabled){background:var(--c-primary-soft)}.btn-block{width:100%}button.link{min-height:40px;padding:0 4px;border:0;background:none;color:var(--c-primary);font-weight:600;text-decoration:underline}.actions,.confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.notice{margin:0 0 16px;padding:12px 16px;border:1px solid var(--c-warn-line);border-radius:8px;background:var(--c-warn-soft);color:var(--c-text);font-size:.9375rem}.notice.info{border-color:var(--c-primary-line);border-left:4px solid var(--c-primary);background:var(--c-primary-soft)}.notice.error{border-color:var(--c-danger-line);background:var(--c-danger-soft)}.notice.success{border-color:var(--c-success-line);background:var(--c-success-soft);color:var(--c-success);font-weight:600}.notice ul{margin:0;padding-left:20px}.confirm{margin:16px 0;padding:16px;border:1px solid var(--c-grid);border-radius:8px;background:var(--c-app)}.confirm:last-child{margin-bottom:0}.confirm p{margin:0 0 12px;font-weight:600}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.banner-red{background:var(--c-danger);color:var(--c-on-primary);border-radius:6px;padding:.75rem;font-weight:600}.cal{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:20rem}th,td{text-align:left;vertical-align:top;padding:.5rem;border-bottom:1px solid var(--c-grid)}.waiting{display:flex;align-items:center;gap:10px;margin:0;color:var(--c-text-2)}.spinner{flex:none;width:18px;height:18px;border:2px solid var(--c-grid);border-top-color:var(--c-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-banner{flex:none;padding:6px 16px;background:var(--c-warn-strong);color:var(--c-on-warn-strong);font-size:.8125rem;font-weight:600;line-height:1.35;text-align:center;overflow-wrap:anywhere}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.stage-banner+.pub,.stage-banner+.state{flex:1 0 auto;min-height:0}.stage-banner+.shell{flex:1 1 0;height:auto;min-height:0}.pub{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.pub-head{background:var(--c-navy);color:var(--c-navy-text)}.pub-head-in{display:flex;align-items:center;max-width:44rem;min-height:56px;margin:0 auto;padding:0 16px}.pub-head .brand{gap:10px;font-size:1.0625rem}.pub-signin{margin-left:auto;padding:8px 4px;font-size:.875rem;color:var(--c-navy-text);opacity:.85;text-decoration:none}.pub-signin:hover{opacity:1;text-decoration:underline}.pub-foot{padding:0 16px 32px;text-align:center;font-size:.8125rem}.pub-foot a{color:var(--c-text-2)}.legal{max-width:40rem;line-height:1.6}.legal h2{margin:24px 0 8px;font-size:1.0625rem}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.pub-main{flex:1;width:100%;max-width:44rem;margin:0 auto;padding:32px 16px 48px}.card{padding:32px;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);box-shadow:var(--c-shadow-sm)}.card h1{letter-spacing:-.01em}.card>:last-child{margin-bottom:0}.step{margin-top:24px;padding-top:24px;border-top:1px solid var(--c-grid)}.step>:last-child{margin-bottom:0}.seg{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:2px;border:1px solid var(--c-control);border-radius:8px;background:var(--c-surface)}.seg-opt{position:relative;margin:0;font-weight:500}.seg-opt input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg-opt span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 6px;border-radius:6px;font-size:.9375rem;white-space:nowrap}.seg-opt input:hover+span{background:var(--c-hover)}.seg-opt input:checked+span{background:var(--c-primary);color:var(--c-on-primary);font-weight:600}.seg-opt input:focus-visible+span{outline:2px solid var(--c-primary);outline-offset:2px}.co-heading{margin:0}.co-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:8px}.co-opt{position:relative;display:flex;margin:0;font-weight:400}.co-opt input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.co-card{display:flex;flex:1 1 auto;align-items:flex-start;gap:10px;min-height:52px;padding:13px 14px;border:1px solid var(--c-control);border-radius:8px;background:var(--c-surface)}.co-dot{flex:none;box-sizing:border-box;width:18px;height:18px;margin-top:2px;border:2px solid var(--c-control);border-radius:50%;background:var(--c-surface)}.co-text{min-width:0}.co-name{display:block;font-weight:600;line-height:1.35}.co-desc{display:block;margin-top:2px;font-size:.875rem;color:var(--c-text-2)}.co-opt input:hover+.co-card{border-color:var(--c-primary-line);background:var(--c-hover)}.co-opt input:checked+.co-card{border-color:var(--c-primary);background:var(--c-primary-soft);box-shadow:inset 0 0 0 1px var(--c-primary)}.co-opt input:checked+.co-card .co-dot{border-color:var(--c-primary);background:radial-gradient(circle,var(--c-primary) 0 4px,var(--c-surface) 4.5px)}.co-opt input:focus-visible+.co-card{outline:2px solid var(--c-primary);outline-offset:2px}.co-group.invalid .co-card{border-color:var(--c-danger)}.co-err{margin:8px 0 0;font-weight:600}.picked-summary .picked-about{margin-top:4px;font-weight:600}.primary[aria-disabled=true]{opacity:.55;cursor:not-allowed}.primary[aria-disabled=true]:hover{background:var(--c-primary);border-color:var(--c-primary)}.picker-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.picker-empty p{margin:0}.picker{container-type:inline-size}.pick-grid{display:grid;gap:24px}@container (min-width: 600px){.pick-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}}.mcal{width:100%;max-width:360px}.mcal-head{display:flex;align-items:center;gap:4px;margin-bottom:8px}.mcal-title{flex:1;font-size:1rem;font-weight:600}.icon-btn.mcal-nav{width:44px;height:44px;color:var(--c-text)}.icon-btn.mcal-nav:disabled{opacity:.35}.mcal-grid{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0 4px}.mcal-grid th,.mcal-grid td{padding:0;border:0;text-align:center;vertical-align:middle}.mcal-grid th{padding-bottom:4px;font-size:.75rem;font-weight:600;color:var(--c-text-2)}.mcal-day{position:relative;width:100%;max-width:44px;aspect-ratio:1;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-text-2);font-size:.9375rem;font-variant-numeric:tabular-nums}.mcal-day[aria-disabled=true]{cursor:default;opacity:.6}.mcal-day.is-open{background:var(--c-primary-soft);color:var(--c-primary);font-weight:700}.mcal-day.is-open:hover{background:#dbe7ff}.mcal-day.is-today:after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}.mcal-grid td[aria-selected=true] .mcal-day{background:var(--c-primary);color:var(--c-on-primary)}.pick-day{margin:0 0 12px}.pick-none{margin:0}.time-part+.time-part{margin-top:16px}.time-part-name{margin:0 0 8px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-2)}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.time-btn{padding:0 8px;border-color:var(--c-primary-line);color:var(--c-primary);font-weight:600;font-variant-numeric:tabular-nums}.time-btn:hover:not(:disabled){background:var(--c-primary-soft);border-color:var(--c-primary)}.time-btn[aria-pressed=true],.time-btn[aria-pressed=true]:hover:not(:disabled){background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.pub-wide .pub-head-in,.pub-wide .pub-main{max-width:68rem}.card.card-split{display:grid;padding:0;overflow:hidden}.card-aside{padding:24px;border-bottom:1px solid var(--c-grid);background:var(--c-surface)}.card-body{min-width:0;padding:24px}.card-aside>:last-child,.card-body>:last-child{margin-bottom:0}@media (min-width: 960px){.card.card-split{grid-template-columns:300px minmax(0,1fr)}.card-aside{padding:32px 28px;border-bottom:0;border-right:1px solid var(--c-grid)}.card-body{padding:32px}}.host{display:flex;align-items:center;gap:14px;margin-bottom:16px}.host-photo{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--c-navy)}.host-initials{display:grid;place-items:center;color:var(--c-navy-text);font-size:1.375rem;font-weight:700;letter-spacing:.02em}.host-kicker{margin:0;font-size:.875rem;color:var(--c-text-2)}.card .host-name{margin:0;font-size:1.375rem}.host-intro{margin:0 0 16px;color:var(--c-text-3)}.host-facts{display:flex;flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none}.host-facts li{display:flex;align-items:flex-start;gap:10px;font-weight:600}.host-facts svg{flex:none;margin-top:3px;color:var(--c-primary)}.host-fact-sub{display:block;font-size:.875rem;font-weight:400;color:var(--c-text-2)}.expect{padding-top:16px;border-top:1px solid var(--c-grid)}.expect-title{margin:0 0 8px;font-size:.9375rem;font-weight:600}.expect-list{margin:0;padding-left:20px;color:var(--c-text-3);font-size:.875rem}.expect-list li+li{margin-top:4px}.step-count{margin:0 0 4px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-2)}.step-title{margin:0 0 20px;font-size:1.375rem;line-height:1.25}.step-title:focus,.done-title:focus,.shell .step-title:focus-visible,.shell .done-title:focus-visible{outline:none}.book-section{margin-bottom:24px}.zone-row{max-width:360px}.zone-row .field,.zone-row .hint{margin-bottom:0}.continue-bar{position:sticky;bottom:0;margin:0 -24px -24px;padding:16px 24px;border-top:1px solid var(--c-grid);background:var(--c-surface)}.continue-bar .primary{width:100%}@media (min-width: 960px){.continue-bar{position:static;margin:0;padding:0;border:0;text-align:right}.continue-bar .primary{width:auto;min-width:12rem}}.picked-summary{margin:0 0 24px;padding:14px 16px;border-left:4px solid var(--c-primary);border-radius:8px;background:var(--c-primary-soft)}.picked-summary p{margin:0}.picked-summary .lead{margin-bottom:2px}.picked-summary .muted{font-size:.9375rem}button.link.picked-change{margin:6px 0 0 -4px}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.field-head label{margin:0;font-size:.875rem;font-weight:600}.req{font-size:.75rem;color:var(--c-text-2)}.privacy-note{margin:0 0 12px;font-size:.8125rem;color:var(--c-text-2)}.form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.form-actions .primary{flex:1 1 14rem}.form-actions .secondary{flex:0 0 auto}.done-title{margin:0 0 12px;font-size:1.5rem}.done-when{margin:0 auto 12px;padding:14px 16px;max-width:26rem;border:1px solid var(--c-grid);border-radius:8px;background:var(--c-app)}.done-when p{margin:0}.done-event{font-weight:600;color:var(--c-text-3)}.done-time{font-weight:600}.add-cal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.add-cal .secondary{flex:1 1 12rem;max-width:16rem}.done{text-align:center}.done-icon{display:inline-grid;place-items:center;width:56px;height:56px;margin-bottom:16px;border-radius:50%;background:var(--c-success-soft);color:var(--c-success)}.done .lead{margin:0 0 4px}.done-meta{margin:0 0 4px;color:var(--c-text-2)}.done .primary{margin-top:16px}.done-manage{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--c-grid);font-size:.9375rem}.summary{margin:0 0 20px;padding:16px;border:1px solid var(--c-grid);border-radius:8px;background:var(--c-app)}.summary .lead{margin:0}.summary .hint{margin:4px 0 0}.summary-status{margin:8px 0 0;font-weight:600}.summary p:has(.zoom-link){margin:4px 0 -8px}.zoom-link{display:inline-flex;align-items:center;min-height:40px;font-weight:600}@media (max-width: 479.98px){.pub-main{padding:16px 12px 32px}.card{padding:20px 16px}.card h1{font-size:1.375rem}.card-aside,.card-body{padding:20px 16px}.continue-bar{margin:0 -16px -20px;padding:12px 16px}.actions>button,.confirm-actions>button{flex:1 1 auto}}.state{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px 16px}.state-card{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(100%,400px);padding:32px 24px;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);box-shadow:var(--c-shadow-sm);text-align:center}.state-brand{display:inline-flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.state-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--c-navy);color:var(--c-navy-text)}.state-card .notice{align-self:stretch;margin:0;text-align:left}.state-form{align-self:stretch;text-align:left}.state-form h1{font-size:1.25rem;text-align:center}.state-form .notice{margin-bottom:16px}.state-form .field .hint{margin-bottom:0}.state-links{margin:12px 0 0;text-align:center}.page-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:20px}.page-title{margin:0;font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}.page-sub{margin:0;font-size:1.125rem;color:var(--c-text-2)}.panel{margin-bottom:16px;padding:24px;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);box-shadow:var(--c-shadow-sm)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-head h2{margin:0;font-size:1.0625rem;font-weight:600}.panel-head p{margin:4px 0 0;font-size:.875rem;color:var(--c-text-2)}.panel-foot{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-grid)}.empty{color:var(--c-text-2)}.bk-wrap{margin-bottom:16px;container-type:inline-size}.bk-table{min-width:0;border-collapse:separate;border-spacing:0;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);box-shadow:var(--c-shadow-sm);overflow:hidden}.bk-table th{padding:12px 16px;border-bottom:1px solid var(--c-grid);background:var(--c-app);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-2);white-space:nowrap}.bk-table td{padding:16px;border-bottom:1px solid var(--c-grid);font-size:.9375rem}.bk-table tbody tr:last-child td{border-bottom:0}.bk-when{font-weight:600;min-width:11rem}.bk-len{white-space:nowrap}.bk-company{min-width:9rem;font-weight:500}.bk-type{display:block;margin-top:2px;font-size:.8125rem;font-weight:400;color:var(--c-text-2)}.bk-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px}.bk-filter label{margin:0;font-size:.875rem;font-weight:600}.bk-filter select{flex:0 1 16rem;width:auto;min-width:0}.bk-who{overflow-wrap:anywhere}.bk-name,.bk-contact,.bk-reason,.bk-zoom{display:block}.bk-name{font-weight:600}.bk-contact{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;font-size:.875rem;color:var(--c-text-2)}.bk-reason{margin-top:4px;font-size:.875rem;color:var(--c-text-3)}.bk-zoom{width:fit-content;margin-top:4px;font-size:.875rem;font-weight:600}.bk-act .actions{flex-wrap:nowrap}.bk-table .bk-panel-row td{background:var(--c-app)}.bk-panel-row .panel,.bk-panel-row .confirm{margin:0}.bk-panel-row h2:focus{outline:none}.bk-act button{min-height:40px;padding:6px 14px;font-size:.875rem}.chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border:1px solid var(--c-grid);border-radius:999px;background:var(--c-app);color:var(--c-text-3);font-size:.8125rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.chip-confirmed{border-color:var(--c-success-line);background:var(--c-success-soft);color:var(--c-success)}.chip-confirming{border-color:var(--c-warn-line);background:var(--c-warn-soft);color:var(--c-warn)}.chip-cancelled{text-transform:none}.chip-failed{border-color:var(--c-danger-line);background:var(--c-danger-soft);color:var(--c-danger)}.chip-accepted{margin-left:6px;border-color:var(--c-primary-line);background:var(--c-primary-soft);color:var(--c-primary)}.bk-mail{display:block;margin-top:6px;font-size:.8125rem;color:var(--c-danger)}.respond{margin:0 0 20px;padding:16px;border:1px solid var(--c-primary-line);border-left:4px solid var(--c-primary);border-radius:8px;background:var(--c-primary-soft)}.respond .sub{margin-top:0}.respond .actions{margin-top:12px}.respond-done{margin:0;font-weight:600;color:var(--c-success)}@container (max-width: 719.98px){.bk-table,.bk-table tbody,.bk-table td{display:block}.bk-table{border:0;background:none;box-shadow:none;overflow:visible}.bk-table thead{display:none}.bk-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin-bottom:12px;padding:16px;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);box-shadow:var(--c-shadow-sm)}.bk-table td,.bk-table tbody tr:last-child td{padding:0;border:0}.bk-when{grid-column:1;min-width:0}.bk-status{grid-column:2;grid-row:1}.bk-len,.bk-company,.bk-who,.bk-act{grid-column:1 / -1}.bk-len:before,.bk-company:before{content:attr(data-label) ": ";color:var(--c-text-2);font-weight:400}.bk-company{min-width:0}.bk-act:empty{display:none}.bk-table tr.bk-panel-row{display:block;padding:12px;margin-top:-4px}.bk-table tbody tr td.bk-act{padding-top:12px;border-top:1px solid var(--c-grid)}.bk-act .actions>button{flex:1 1 0;min-height:44px}.bk-contact a,.bk-zoom{display:inline-flex;align-items:center;min-height:40px}.bk-zoom{margin-top:0}}.day-row{display:grid;grid-template-columns:8rem minmax(0,1fr);align-items:start;gap:8px 16px;padding:12px 0;border-top:1px solid var(--c-grid)}.week .day-row:first-child{border-top:0;padding-top:0}.day-name{padding-top:10px;font-weight:600}.ranges{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.range{display:flex;align-items:center;gap:8px;max-width:100%}.range input[type=time]{width:9.5rem;min-width:0}.range-sep{color:var(--c-text-2);font-size:.875rem}.icon-btn.range-remove{width:40px;height:40px;color:var(--c-text-2)}.icon-btn.range-remove:hover{color:var(--c-danger)}.ranges>.ghost{margin-left:-10px}.closed{display:inline-flex;align-items:center;min-height:40px;color:var(--c-text-2)}.override-row{grid-template-columns:11rem minmax(0,1fr) auto}.override-row>.secondary{justify-self:start}.panel-head+.override-row{border-top:0;padding-top:0}.check-chips{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:0 14px;border:1px solid var(--c-control);border-radius:999px;background:var(--c-surface);font-weight:500;cursor:pointer}.check-chip:hover{background:var(--c-hover)}.check-chip:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-soft)}.field-hint{margin:-2px 0 6px;font-size:.8125rem;color:var(--c-text-2)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:0 16px;align-items:end;margin-bottom:-16px}.save-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.save-bar .notice{flex:1 1 auto;margin:0}@media (max-width: 599.98px){.panel{padding:16px}.day-row,.override-row{grid-template-columns:minmax(0,1fr)}.day-name{padding-top:0}.range{width:100%}.range input[type=time]{flex:1 1 0;width:auto}.save-bar .primary{flex:1 1 100%}}@media (max-width: 419.98px){.panel{padding:16px 12px}.range{gap:6px}.range input[type=time]{padding:6px 8px;font-size:.9375rem}.range input[type=time]::-webkit-calendar-picker-indicator{display:none}}:root{--c-app: #f7f8fa;--c-surface: #ffffff;--c-navy: #172237;--c-navy-text: #e6ebf3;--c-navy-muted: #9aa7bb;--c-primary: #2563eb;--c-primary-hover: #1d4ed8;--c-text: #152238;--c-text-2: #64748b;--c-text-3: #475569;--c-grid: #e7ecf2;--c-grid-minor: #f2f5f9;--c-control: #d9e0e8;--c-today: #f4f8ff;--c-now: #ef6a5a;--c-shadow-sm: 0 1px 2px rgba(21, 34, 56, .06);--c-shadow-lg: 0 12px 32px rgba(21, 34, 56, .18);--font-ui: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--c-on-primary: #ffffff;--c-hover: #f1f5f9;--c-primary-soft: #eff4ff;--c-primary-line: #a9c3f7;--c-danger: #b42318;--c-danger-hover: #912018;--c-danger-soft: #fef3f2;--c-danger-line: #fecdca;--c-success: #067647;--c-success-soft: #ecfdf3;--c-success-line: #abefc6;--c-warn: #93370d;--c-warn-soft: #fffaeb;--c-warn-line: #fedf89;--c-warn-strong: #fdb022;--c-on-warn-strong: #4e1d09}.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}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;height:100dvh;font-family:var(--font-ui);color:var(--c-text);background:var(--c-app)}.shell button,.shell input{font-family:inherit}.shell :focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;text-decoration:none}.icon-btn:hover{background:#64748b29}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.topbar,.scrim,.drawer-close{display:none}.sidebar{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;padding:16px;background:var(--c-navy);color:var(--c-navy-text)}.sidebar :focus-visible{outline-color:#93c5fd}.side-top{display:flex;align-items:center;justify-content:space-between;min-height:36px}.btn-new{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;background:var(--c-primary);color:#fff;font-weight:600;text-decoration:none;box-shadow:0 1px 2px #00000040}.btn-new:hover{background:var(--c-primary-hover);color:#fff}.side-slot{display:flex;flex-direction:column;gap:16px}.side-nav{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.side-nav a{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 10px;border-radius:8px;color:var(--c-navy-text);text-decoration:none;font-size:.9375rem}.side-nav a:hover{background:#ffffff0f}.side-nav a.active{background:#ffffff1a;font-weight:600}.nav-names{display:flex;flex-direction:column;line-height:1.2}.nav-sub{font-size:.75rem;font-weight:400;color:var(--c-navy-muted)}.profile{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#6d5ce7;color:#fff;font-size:.875rem;font-weight:700}.profile-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.shell .signout{flex:none;min-height:32px;padding:4px 10px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:transparent;color:var(--c-navy-text);font-size:.8125rem}.shell .signout:hover{background:#ffffff14}.mini-head{display:flex;align-items:center;gap:2px;margin-bottom:2px}.mini-title{flex:1;font-size:.9375rem;font-weight:600}.mini-head .icon-btn{width:32px;height:32px}.mini-head .icon-btn:hover{background:#ffffff1a}.mini-grid{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0 1px}.mini-grid th,.mini-grid td{padding:0;border:0;text-align:center}.mini-grid th{padding-bottom:4px;font-size:.6875rem;font-weight:500;color:var(--c-navy-muted)}.mini-grid td.in-sel{background:#ffffff1a}.mini-grid td.sel-start{border-radius:999px 0 0 999px}.mini-grid td.sel-end{border-radius:0 999px 999px 0}.mini-grid td.sel-start.sel-end{border-radius:999px}.mini-day{width:27px;height:27px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-navy-text);font-size:.8125rem;font-variant-numeric:tabular-nums}.mini-day:hover{background:#ffffff24}.mini-day.is-today{background:var(--c-primary);color:#fff;font-weight:700}.my-cals{min-width:0;margin:0;padding:0;border:0}.my-cals legend{margin-bottom:8px;padding:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-navy-muted)}.cal-row{display:flex;align-items:flex-start;gap:10px;min-height:32px;margin:0;padding:4px;border-radius:6px;font-weight:400;cursor:pointer}.cal-row:hover{background:#ffffff0d}.cal-row input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--c-primary);cursor:pointer}.dot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%}.cal-names{display:flex;flex-direction:column;min-width:0;line-height:1.3}.cal-label{font-size:.9375rem;overflow-wrap:anywhere}.cal-sub{font-size:.75rem;color:var(--c-navy-muted);overflow-wrap:anywhere}.shell-main{min-width:0;min-height:0;overflow:auto}.shell-main>.notice{margin:16px 24px 0}.shell-main>section:not(.calpage){max-width:72rem;padding:24px}.calpage{display:flex;flex-direction:column;gap:12px;height:100%;min-height:560px;padding:16px 24px 24px}.calpage .banner-red,.calpage .notice{margin:0;border-radius:8px;font-size:.9375rem}.cal-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(180px,280px) auto;grid-template-areas:"nav title search views" ". . sync sync";align-items:center;gap:4px 16px}.tb-nav{grid-area:nav;display:flex;gap:8px}.shell .tb-btn{height:40px;min-height:0;padding:0 14px;border:1px solid var(--c-control);border-radius:8px;background:var(--c-surface);color:var(--c-text);font-size:.875rem;font-weight:500;box-shadow:var(--c-shadow-sm)}.shell .tb-btn:hover{background:#f1f5f9}.shell .tb-btn.icon-only{display:inline-grid;place-items:center;width:40px;padding:0}.cal-title{grid-area:title;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;margin:0 0 0 8px}.cal-month{font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}.cal-range{font-size:1.125rem;font-weight:400;color:var(--c-text-2)}.tb-search{grid-area:search;position:relative;display:flex;align-items:center}.tb-search svg{position:absolute;left:12px;color:var(--c-text-2);pointer-events:none}.shell .tb-search input{height:40px;min-height:0;padding:0 12px 0 36px;border:1px solid var(--c-control);border-radius:8px;background:var(--c-surface);color:var(--c-text);font-size:.875rem}.tb-views{grid-area:views;display:inline-flex;gap:2px;padding:2px;border:1px solid var(--c-control);border-radius:8px;background:var(--c-surface)}.shell .tb-views button{flex:1;min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--c-text);font-size:.875rem;font-weight:500}.shell .tb-views button:hover{background:#f1f5f9}.shell .tb-views button[aria-pressed=true]{background:var(--c-primary);color:#fff}.sync{grid-area:sync;justify-self:end;display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.8125rem;color:var(--c-text-2)}.sync-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#94a3b8}.sync-ok .sync-dot{background:#16a34a}.sync-error{color:#b42318}.sync-error .sync-dot{background:#dc2626}.sync-loading .sync-dot{animation:sync-pulse 1.2s ease-in-out infinite}@keyframes sync-pulse{50%{opacity:.3}}.cal-empty{margin:0;font-size:.875rem;color:var(--c-text-2)}.calpage .cal{flex:1;min-height:0;overflow:hidden;background:var(--c-surface);border:1px solid var(--c-grid);border-radius:12px;box-shadow:var(--c-shadow-sm)}.calpage .fc{--fc-border-color: var(--c-grid);--fc-today-bg-color: var(--c-today);--fc-now-indicator-color: var(--c-now);--fc-event-text-color: var(--c-text);--fc-neutral-bg-color: var(--c-grid);--fc-page-bg-color: var(--c-surface);height:100%;font-size:.875rem}.calpage .fc-theme-standard .fc-scrollgrid{border:0}.calpage .fc table{min-width:0}.calpage .fc .fc-scroller{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.calpage .fc .fc-col-header-cell{padding:10px 0 8px;font-weight:400}.calpage .fc .fc-col-header-cell.fc-day-today{background:var(--c-today)}.calpage .fc .fc-col-header-cell-cushion{padding:0;color:inherit;text-decoration:none}.dh{display:flex;flex-direction:column;align-items:center;gap:2px}.dh-wd{font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-2)}.dh-num{display:grid;place-items:center;min-width:36px;height:36px;padding:0 4px;border-radius:999px;font-size:1.375rem;font-weight:700;color:var(--c-text);font-variant-numeric:tabular-nums}.dh-num.is-today{background:var(--c-primary);color:#fff}.calpage .fc .fc-timegrid-axis-cushion,.calpage .fc .fc-timegrid-slot-label-cushion{font-size:.75rem;color:var(--c-text-2)}.calpage .fc .fc-timegrid-slot{height:2rem}.calpage .fc .fc-timegrid-slot-minor{border-top-style:solid;border-top-color:var(--c-grid-minor)}.calpage .fc .fc-timegrid-slot-label{vertical-align:top;border-top-color:transparent}.calpage .fc .fc-timegrid-slot-label-cushion{position:relative;top:-.7em;padding:0 8px;background:var(--c-surface)}.calpage .fc .fc-timegrid-divider{padding:0 0 1px}.calpage .fc .fc-timegrid-col-events{margin:0 4px 0 2px}.calpage .fc .fc-timegrid-event-harness>.fc-timegrid-event{right:2px}.calpage .fc .fc-timegrid-event-harness-inset .fc-timegrid-event{box-shadow:none}.calpage .fc .fc-daygrid-day-number{padding:4px 8px;color:var(--c-text);font-size:.8125rem;text-decoration:none}.calpage .fc .fc-day-today .fc-daygrid-day-number{display:grid;place-items:center;min-width:26px;height:26px;margin:4px;padding:0 6px;border-radius:999px;background:var(--c-primary);color:#fff;font-weight:700}.calpage .fc .fc-daygrid-day-events{margin-bottom:2px}.calpage .fc .fc-event{border-radius:6px;cursor:pointer;transition:box-shadow .12s ease}.calpage .fc .fc-v-event,.calpage .fc .fc-h-event{border-style:solid;border-width:0 0 0 3px}.calpage .fc .fc-daygrid-block-event{margin-top:2px}.calpage .fc .fc-event:hover{box-shadow:0 2px 8px #15223829}.calpage .fc .fc-event:focus{box-shadow:none}.calpage .fc .fc-event:focus:after{display:none}.calpage .fc .fc-event:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px;box-shadow:0 2px 8px #15223829;z-index:5}.calpage .fc .fc-timegrid-event .fc-event-main{padding:4px 6px;overflow:hidden}.calpage .fc .fc-h-event .fc-event-main{padding:2px 6px;overflow:hidden}.ev{display:flex;flex-direction:column;gap:1px;min-width:0}.ev-title{overflow:hidden;overflow-wrap:anywhere;font-size:.8125rem;font-weight:600;line-height:1.25;color:var(--c-text);-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ev-time{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;line-height:1.25;color:var(--c-text-3)}.ev-compact{flex-direction:row;align-items:baseline;gap:6px}.ev-compact .ev-title,.fc-h-event .ev-title,.fc-daygrid-event .ev-title{display:block;flex:0 1 auto;min-width:0;white-space:nowrap;text-overflow:ellipsis}.ev-compact .ev-title{font-size:.75rem}.ev-compact .ev-time{flex:0 100 auto;font-size:.6875rem}.calpage .fc .fc-timegrid-event:has(.ev-compact) .fc-event-main{padding:0 6px}.fc-daygrid-event .ev{flex-direction:row;align-items:baseline;gap:6px}.fc-daygrid-event .ev-time{order:-1;flex:none}.calpage .fc .fc-daygrid-more-link{margin-top:2px;padding:1px 6px;border-radius:6px;color:var(--c-primary);font-size:.75rem;font-weight:600}.calpage .fc .fc-daygrid-more-link:hover{background:#eff4ff;text-decoration:none}.calpage .fc .fc-popover{border-radius:8px;box-shadow:var(--c-shadow-lg);overflow:hidden}.calpage .fc .fc-popover-header{background:var(--c-app);font-weight:600;padding:6px 8px}.calpage .fc .fc-more-popover .fc-popover-body{padding:6px}.calpage .fc .fc-timegrid-now-indicator-line{border-width:2px 0 0}.calpage .fc .fc-timegrid-now-indicator-line:before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--c-now)}.calpage .fc .fc-timegrid-now-indicator-arrow{display:none}.ev-details{position:fixed;z-index:50;width:min(320px,calc(100vw - 16px));padding:16px;border:1px solid var(--c-grid);border-radius:12px;background:var(--c-surface);color:var(--c-text);box-shadow:var(--c-shadow-lg);font-family:var(--font-ui)}.ev-details.is-sheet{left:8px;right:8px;bottom:8px;width:auto}.ev-details-head{display:flex;align-items:flex-start;gap:10px}.ev-details h2{flex:1;min-width:0;margin:0;font-size:1.0625rem;line-height:1.35;overflow-wrap:anywhere}.ev-details-head .icon-btn{margin:-6px -6px 0 0;color:var(--c-text-2)}.ev-details dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:12px 0 0;font-size:.875rem}.ev-details dt{color:var(--c-text-2)}.ev-details dd{margin:0;overflow-wrap:anywhere}.ev-details-zone,.ev-details-sub{color:var(--c-text-2)}.ev-details-id{display:block;font-size:.75rem;color:var(--c-text-2)}.ev-details-booking{margin:12px 0 0;font-size:.875rem}.ev-details-booking a{color:var(--c-primary);font-weight:600}.ev-details-note{margin:12px 0 0;font-size:.75rem;color:var(--c-text-2)}@media (min-width: 768px) and (max-width: 1199.98px){.cal-toolbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title title title" "nav search views" ". sync sync"}.cal-title{margin:0}}@media (min-width: 768px) and (max-width: 959.98px){.cal-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "nav views" "search search" "sync sync"}}@media (max-width: 767.98px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.topbar{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--c-navy);color:var(--c-navy-text)}.topbar .brand{flex:1;font-size:1.0625rem;gap:8px}.topbar .icon-btn{width:44px;height:44px}.topbar .icon-btn:hover{background:#ffffff1a}.topbar .new-small,.topbar .new-small:hover{width:40px;height:40px;background:var(--c-primary);color:#fff}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:40;width:min(300px,86vw);transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}.drawer-open .sidebar{transform:none;visibility:visible;transition:transform .2s ease;box-shadow:0 0 40px #00000059}.drawer-close{display:inline-grid;width:44px;height:44px}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-open .scrim{opacity:1;pointer-events:auto}.mini-day{width:36px;height:36px}.cal-row{min-height:44px;align-items:center}.cal-row .dot{margin-top:0}.shell-main>.notice{margin:12px 12px 0}.shell-main>section:not(.calpage){padding:16px}.calpage{gap:8px;min-height:480px;padding:12px}.cal-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "nav views" "search search" "sync sync";gap:8px}.cal-title{margin:0}.cal-month{font-size:1.375rem}.cal-range{font-size:1rem}.shell .tb-btn,.shell .tb-search input{height:44px}.shell .tb-btn.icon-only{width:44px}.shell .tb-views button{min-height:38px;padding:0 10px}.sync{justify-self:start}}@media (max-width: 479.98px){.dh-wd{font-size:.625rem;letter-spacing:0}.dh-num{min-width:26px;height:26px;padding:0 2px;font-size:1rem}.calpage .fc .fc-timegrid-event .fc-event-main,.calpage .fc .fc-h-event .fc-event-main{padding:2px 3px}.calpage .fc .fc-timegrid-slot-label-cushion{padding:0 4px}.ev-title{font-size:.75rem;overflow-wrap:normal}}@media (max-width: 399.98px){.cal-toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "nav" "views" "search" "sync"}.tb-views{display:flex}}@media (prefers-reduced-motion: reduce){.sidebar,.drawer-open .sidebar,.scrim{transition:none}.sync-loading .sync-dot,.spinner{animation:none}}
