.calendar-shell{width:min(79rem,calc(100% - 2rem));margin-top:2rem}.calendar-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,23rem);gap:1.5rem;align-items:stretch;margin-bottom:1.4rem}.calendar-hero h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:.95;letter-spacing:-.065em;margin:.4rem 0 .8rem}.hero-copy{font-size:1.08rem;margin:0}.clock-panel{display:grid;gap:.32rem;align-content:center;padding:1.3rem 1.45rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,var(--primary)),var(--surface));box-shadow:var(--shadow)}.clock-label,.clock-panel label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}#clock{font-size:clamp(1.1rem,2vw,1.42rem);font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin:.18rem 0 .9rem}#display-zone{font-size:.9rem}.clock-panel p{margin:.15rem 0 0}.calendar-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem;margin:1.3rem 0 2rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.calendar-controls>label:not(.past-toggle){display:grid;gap:.25rem;flex:1 1 12rem;font-size:.82rem;font-weight:750}.calendar-controls #search{min-width:12rem}.calendar-controls .past-toggle{align-self:center;margin:0 .3rem 0 0;white-space:nowrap}.calendar-controls #add-event{margin-left:auto;white-space:nowrap}.event-section{margin:2.4rem 0}.section-heading{margin-bottom:1rem}.section-heading h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.035em;margin:.15rem 0}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem}.event-stack{display:grid;gap:.8rem}.event-card{--event-color:#345d7e;position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-left:4px solid var(--event-color);border-radius:.9rem;background:var(--surface);box-shadow:0 6px 22px rgba(0,0,0,.05)}.featured-card{background:linear-gradient(150deg,color-mix(in srgb,var(--event-color) 13%,var(--surface)),var(--surface) 65%);box-shadow:var(--shadow)}.event-body{padding:1.2rem 1.35rem}.event-head{display:flex;align-items:start;gap:.75rem}.event-head-content{min-width:0;flex:1}.event-card h3{font-size:clamp(1.18rem,2vw,1.42rem);line-height:1.22;letter-spacing:-.025em;margin:.3rem 0 .45rem;overflow-wrap:anywhere}.event-overline{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.event-overline .dot{color:var(--event-color)}.event-edit{flex:none;margin-left:auto;padding:.3rem .65rem;font-size:.8rem}.event-summary{margin:.5rem 0 .8rem;color:var(--muted);white-space:pre-line}.event-timing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.event-timing>div{min-width:0;padding:.7rem .8rem;background:var(--surface-2);border:1px solid var(--line);border-radius:.55rem}.time-label{display:block;font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.event-timing time{display:block;margin-top:.18rem;font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.event-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem}.countdown{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:800;color:var(--event-color)}.event-links{display:flex;flex-wrap:wrap;gap:.4rem}.event-links a{display:inline-block;padding:.28rem .55rem;border:1px solid var(--line);border-radius:.4rem;font-size:.78rem;font-weight:700;text-decoration:none}.event-links a:hover{border-color:var(--event-color)}.event-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;color:var(--muted);font-size:.84rem;margin:.5rem 0 .9rem}.event-meta span{overflow-wrap:anywhere}.event-state{display:inline-block;padding:.12rem .45rem;border-radius:99px;background:color-mix(in srgb,var(--event-color) 12%,var(--surface));color:var(--text);font-size:.7rem;font-weight:800;letter-spacing:.03em}.event-children{border-top:1px solid var(--line);background:var(--surface-2);padding:.45rem .75rem .7rem 1.4rem}.children-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.4rem 0}.child-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.65rem .35rem;border-top:1px solid var(--line)}.child-row:first-of-type{border-top:0}.child-name{font-weight:750;overflow-wrap:anywhere}.child-name small{display:block;color:var(--muted);font-weight:500}.child-dates{font-size:.83rem;font-variant-numeric:tabular-nums}.child-dates time{display:block}.child-row .event-edit{justify-self:end}.child-row .countdown{display:block;margin-top:.18rem}.month-label{margin:1.1rem 0 .6rem;font-size:.79rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.empty-calendar{padding:1.3rem;border:1px dashed var(--line);border-radius:.75rem;color:var(--muted);background:var(--surface)}#page-status:empty{display:none}#page-status.error{border-left-color:var(--danger)}dialog#event-dialog{width:min(54rem,calc(100% - 1rem));max-height:min(94vh,67rem);overflow:hidden}#event-form{display:flex;flex-direction:column;max-height:min(94vh,67rem)}.dialog-head,.dialog-footer{display:flex;align-items:center;gap:.7rem;padding:1rem 1.25rem;background:var(--surface)}.dialog-head{border-bottom:1px solid var(--line)}.dialog-head h2{margin:.1rem 0;font-size:1.55rem}.dialog-head .icon-button{margin-left:auto;align-self:start}.dialog-scroll{overflow:auto;padding:1.15rem 1.3rem}.dialog-scroll>label{display:grid;gap:.3rem;font-weight:700;margin-bottom:1rem}.date-fieldset,.presentation-fieldset{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-2);margin:1rem 0}.date-fieldset legend,.presentation-fieldset legend{padding:0 .35rem}.date-fieldset .field-grid{margin:0}.date-fieldset label,.presentation-fieldset label{display:grid;gap:.28rem;font-weight:700}.date-fieldset label[hidden]{display:none}.date-fieldset label:last-child:not([hidden]){margin-top:.45rem}.editor-details{padding:1rem;border:1px solid var(--line);border-radius:.7rem;margin:1rem 0}.editor-details summary{cursor:pointer;font-weight:800}.editor-details .field-grid{margin-top:1rem}.editor-details>label{display:grid;gap:.3rem;font-weight:700}.presentation-fieldset .check{display:flex}.field-help{font-size:.75rem;font-weight:400;color:var(--muted)}.dialog-footer{border-top:1px solid var(--line)}.footer-spacer{flex:1}.danger-action{color:var(--danger);border-color:var(--danger)}#form-status{margin:0}#form-status.error{color:var(--danger)}#form-status.success{color:var(--success)}.skip{position:absolute;left:-10000px;top:auto}.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--surface);padding:.5rem}@media(max-width:48rem){.calendar-shell{width:min(100% - 1rem,79rem)}.calendar-hero{grid-template-columns:1fr}.calendar-controls #add-event{margin-left:0}.event-timing{grid-template-columns:1fr}.child-row{grid-template-columns:minmax(0,1fr) auto}.child-dates{grid-column:1;grid-row:2}.child-row .event-edit{grid-column:2;grid-row:1}.dialog-scroll{padding:1rem}.dialog-head,.dialog-footer{padding:.8rem 1rem}}@media(max-width:32rem){.featured-grid{grid-template-columns:1fr}.calendar-controls>*{width:100%}.event-body{padding:1rem}.event-children{padding-left:1rem}}
@media(max-width:48rem){.calendar-hero{grid-template-columns:minmax(0,1fr)}.clock-panel{min-width:0}}
@media(max-width:32rem){.calendar-controls{display:grid;grid-template-columns:minmax(0,1fr)}.calendar-controls>*{min-width:0}.calendar-controls>label:not(.past-toggle){flex:none}.calendar-controls #search{min-width:0}}
[hidden]{display:none!important}
:root{--jexcel_header_color:var(--text);--jexcel_header_color_highlighted:var(--text);--jexcel_header_background:var(--surface-2);--jexcel_header_background_highlighted:color-mix(in srgb,var(--surface-2) 80%,var(--text));--jexcel_content_color:var(--text);--jexcel_content_color_highlighted:var(--text);--jexcel_content_background:var(--surface);--jexcel_content_background_highlighted:color-mix(in srgb,var(--surface) 84%,var(--text));--jexcel_menu_background:var(--surface-2);--jexcel_menu_background_highlighted:color-mix(in srgb,var(--surface-2) 80%,var(--text));--jexcel_menu_color:var(--text);--jexcel_menu_color_highlighted:var(--text);--jexcel_border_color:var(--line);--jexcel_border_color_highlighted:var(--text);--active_color:var(--text)}
#event-dialog .dialog-head #open-bulk{margin-left:auto;white-space:nowrap}#event-dialog .dialog-head .icon-button{margin-left:0}
#bulk-dialog{width:min(76rem,calc(100% - 1rem));max-height:94vh;overflow:hidden}#queue-dialog{width:min(58rem,calc(100% - 1rem));max-height:94vh;overflow:hidden}#access-dialog{width:min(32rem,calc(100% - 1rem))}
#bulk-dialog .dialog-scroll,#queue-dialog .dialog-scroll{max-height:calc(94vh - 9rem);overflow:auto}#bulk-dialog code{font-size:.9em}#bulk-preview.error,#queue-status.error{color:var(--danger)}#bulk-preview.success,#queue-status.success{color:var(--success)}#bulk-org-help{font-weight:700}
.suggestion-card{padding:1rem;margin:.7rem 0;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-2)}.suggestion-card h3{margin:.1rem 0 .35rem}.suggestion-card p{margin:.2rem 0 .7rem}.suggestion-card button{margin-top:.3rem}.suggestion-meta{font-size:.8rem;color:var(--muted)}#access-login{display:inline-block;margin:.2rem 0 .9rem}
@media(max-width:32rem){#event-dialog .dialog-head{flex-wrap:wrap}#event-dialog .dialog-head #open-bulk{order:3;margin-left:0}#event-dialog .dialog-head .icon-button{margin-left:auto}}
.bulk-sheet-section{min-width:0;margin:1.1rem 0 1.5rem}.bulk-sheet-section h3{margin:0 0 .25rem}.bulk-sheet-section .small{margin:.15rem 0 .55rem}.bulk-sheet-host{max-width:100%;min-height:15rem;overflow:auto;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.bulk-sheet-host .jexcel_container{max-width:100%}.bulk-sheet-host .jexcel_content{max-width:100%}.bulk-sheet-host .jexcel{font-size:.82rem}.bulk-sheet-host .jexcel>thead>tr>td{font-weight:700}.bulk-sheet-host .jexcel>tbody>tr>td{font-variant-numeric:tabular-nums}.bulk-sheet-host .jexcel .editor input,.bulk-sheet-host .jexcel .editor textarea{color:var(--text);background:var(--surface)}.bulk-sheet-actions{display:flex;justify-content:flex-end;margin-top:.45rem}.bulk-sheet-actions button{font-size:.8rem;padding:.35rem .65rem}
.presentation-fieldset .check+.check{margin-top:.55rem}
.event-card{--event-brand:#345d7e;--event-accent:#dce8ef;--event-wash-strength:25%;border-left:6px solid var(--event-brand)}.event-card.light-event-accent{--event-wash-strength:75%}.featured-card{background:linear-gradient(150deg,color-mix(in srgb,var(--event-accent) var(--event-wash-strength),var(--surface)),var(--surface) 88%)}.event-accent-swatch{width:.8rem;height:.8rem;flex:none;border-radius:50%;border:1px solid var(--event-brand);background:var(--event-accent)}.event-overline .dot{color:var(--event-brand)}.event-org,.countdown{color:color-mix(in srgb,var(--event-brand) 65%,var(--text))}.event-links a:hover{border-color:var(--event-brand)}.event-state{background:color-mix(in srgb,var(--event-accent) 30%,var(--surface))}
.event-context{margin:-.15rem 0 .5rem;color:var(--muted);font-size:.84rem}
.event-links{gap:.55rem}.event-links a{display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;padding:.55rem .9rem;border-radius:.55rem;font-size:.86rem;font-weight:800;line-height:1.15;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.event-links a::after{content:'↗';margin-left:.45rem;font-size:.9em}.event-links a.event-link-primary{border-color:var(--event-brand);background:var(--event-brand);color:var(--event-on-brand,#fff)}.event-links a.event-link-support{border-color:color-mix(in srgb,var(--event-brand) 48%,var(--line));background:color-mix(in srgb,var(--event-accent) 48%,var(--surface));color:color-mix(in srgb,var(--event-brand) 65%,var(--text))}.event-links a:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14)}.event-links a:focus-visible{outline:3px solid var(--event-brand);outline-offset:3px}.child-row .event-links{margin-top:.55rem}.child-row .event-links a{min-height:2.15rem;padding:.4rem .7rem;font-size:.78rem}
.event-links a.event-link-support{border-color:var(--line);background:color-mix(in srgb,var(--event-accent) 10%,var(--surface));color:var(--text)}.event-links button.event-share{min-height:2.45rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--text);font-size:.86rem;font-weight:800;line-height:1.15;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.event-links button.event-share:hover{background:var(--surface-2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14)}.event-links button.event-share:focus-visible{outline:3px solid var(--text);outline-offset:3px}.child-row .event-links button.event-share{min-height:2.15rem;padding:.4rem .7rem;font-size:.78rem}.event-card:target,.child-row:target{outline:3px solid var(--event-brand);outline-offset:3px;scroll-margin-block:1rem}
@media(prefers-color-scheme:dark){.event-card,.event-card.light-event-accent{--event-wash-strength:18%;border-left-color:color-mix(in srgb,var(--event-brand) 65%,var(--text))}.event-org,.countdown{color:color-mix(in srgb,var(--event-brand) 45%,var(--text))}}

.calendar-hero{grid-template-columns:minmax(0,1fr) minmax(16rem,21rem) minmax(17rem,23rem)}
.month-panel{min-width:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}
.month-panel h2{margin:0 0 .55rem;text-align:center;font-size:1rem;letter-spacing:-.02em}
.month-nav{display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.25rem;margin-bottom:.45rem}
.month-nav h2{margin:0}
.month-nav button{display:grid;place-items:center;width:2rem;height:2rem;padding:0;font-size:1.15rem;line-height:1;background:transparent}
.mini-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem}
.mini-weekday{text-align:center;font-size:.7rem;font-weight:800;color:var(--muted)}
.mini-day,.mini-empty{min-width:0;min-height:2.55rem;padding:.12rem;border-radius:.4rem;text-align:center}
.mini-day{background:var(--surface-2)}
.mini-day.today{box-shadow:inset 0 0 0 2px var(--primary)}
.mini-date{display:block;font-size:.73rem;font-weight:750;line-height:1.1}
.mini-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.16rem;margin:.22rem 0 0}
.mini-dot{display:block;width:.65rem;height:.65rem;flex:none;border:1px solid color-mix(in srgb,var(--event-brand) 65%,var(--text));border-radius:50%;background:var(--event-brand)}
.mini-dot:hover{transform:scale(1.35)}
.mini-dot:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.weekday-fieldset{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-2);margin:1rem 0}
.weekday-fieldset legend{padding:0 .35rem}
.weekday-fieldset .field-help{margin:0 0 .7rem}
.weekday-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.35rem .8rem}
.weekday-options .check{margin:0;align-items:center}
.weekday-options .check input{margin:0}
#event-info-dialog{width:min(46rem,calc(100% - 1rem));max-height:90vh;overflow:hidden}
#event-info-dialog .dialog-head{position:sticky;top:0;z-index:1}
#event-info-dialog .dialog-head h2{min-width:0;overflow-wrap:anywhere;font-size:1.2rem}
.event-info-body{max-height:calc(90vh - 4.7rem);overflow:auto;padding:1rem}
.event-info-body .event-card{box-shadow:none}
.event-info-children{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface)}
.event-info-children h3{margin:0 0 .5rem;font-size:1rem}
.event-info-child{display:block;padding:.5rem 0;border-top:1px solid var(--line);text-decoration:none;font-weight:700}
.event-info-child:hover{text-decoration:underline}
.access-login{display:inline-flex;align-items:center;justify-content:center;min-height:2.7rem;padding:.65rem .95rem;border:1px solid var(--success);border-radius:.55rem;text-decoration:none;font-weight:750}
.access-login[hidden]{display:none}
@media(max-width:65rem){.calendar-hero{grid-template-columns:minmax(0,1fr) minmax(16rem,23rem)}.hero-intro{grid-column:1/-1}}
@media(max-width:48rem){.calendar-hero{grid-template-columns:minmax(0,1fr)}.hero-intro{grid-column:auto}.month-panel{max-width:28rem;width:100%;justify-self:center}}
.event-children>summary,.event-info-children>summary{cursor:pointer}
.event-info-children>summary{font-size:1rem;font-weight:800}
.child-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions" "dates dates";gap:.35rem .7rem;padding:.55rem .35rem}
.child-info{grid-area:info;min-width:0}
.child-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .45rem}
.child-phase{font-size:.82rem;font-weight:500;color:var(--muted)}
.child-summary{display:block;margin-top:.15rem}
.child-info .event-meta{margin:.25rem 0 0}
.child-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.4rem;min-width:0}
.child-actions .event-links{justify-content:flex-end;margin:0}
.child-actions .event-edit{margin:0}
.child-dates{grid-area:dates;display:flex;align-items:baseline;gap:.25rem .65rem;min-width:0}
.child-dates time,.child-dates .countdown{display:inline;margin:0;white-space:nowrap}
@media(max-width:36rem){.child-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "dates"}.child-row.has-actions{grid-template-areas:"info" "dates" "actions"}.child-dates{flex-wrap:wrap}}
@media(min-width:64rem){.child-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"info dates actions"}}
