:root{--paper:#f5f7fb;--ink:#24324b;--muted:#5d6778;--brand:#516ca3;--line:#dbe1ed;--accent:#dce7fa}
body{background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;margin:0}
.shell{max-width:1180px}.site-header{border-bottom:1px solid var(--line);background:#ffffff;padding:23px 0}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:1.2rem;letter-spacing:-.04em;font-weight:750;text-decoration:none}.brand-mark{background:var(--brand);color:white;width:37px;height:37px;display:grid;place-items:center;border-radius:10px;font-size:29px;font-weight:600;line-height:1;position:relative}.brand-mark span{width:7px;height:7px;border-radius:50%;background:var(--accent);position:absolute;right:7px;top:7px}.private-label{color:var(--muted);font-size:.8rem}.private-label span{color:#516ca3;font-size:.6rem;margin-right:6px}.main-content{min-height:calc(100vh - 171px);padding-top:88px;padding-bottom:72px}.welcome-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.eyebrow{font-size:.69rem;font-weight:750;letter-spacing:.16em;color:var(--muted);margin-bottom:22px}.welcome-copy h1{font-size:clamp(2.6rem,4.5vw,4.3rem);line-height:1.08;letter-spacing:-.055em;font-weight:650;margin-bottom:26px}.lead{font-size:1.1rem;color:var(--muted);max-width:380px;line-height:1.8}.setup-note{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px 20px;margin:34px 0 14px;max-width:420px;font-size:.9rem}.setup-note p{font-size:.83rem;color:var(--muted);margin:4px 0 0}.status-dot{width:8px;height:8px;background:#a16421;border-radius:100%;flex-shrink:0;margin-top:10px}.welcome-panel{background:#e9eff9;border:1px solid #dbe3f0;border-radius:24px;padding:34px 32px 20px;position:relative}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.panel-heading .eyebrow{margin:0}.panel-symbol{font-size:1.7rem;color:#516ca3}.feature-row{display:flex;gap:18px;padding:25px 0;border-bottom:1px solid #d5deed}.feature-number{border:1px solid #c8d4e8;background:#f3f6fc;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;font-size:.75rem;font-weight:600}.feature-row h2{font-size:1rem;font-weight:650;margin:0 0 7px}.feature-row p{font-size:.86rem;color:var(--muted);margin:0}.panel-footer{font-size:.71rem;display:flex;align-items:center;gap:13px;padding:24px 0 3px;color:#5d6778}.panel-footer span{font-size:1.6rem}.site-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px;font-size:.75rem;color:var(--muted)}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#3e5480;--bs-btn-hover-border-color:#3e5480}.error-panel{max-width:620px;background:white;border:1px solid var(--line);border-radius:18px;padding:36px}.skip-link{position:absolute;left:12px;top:-100px;background:white;color:var(--ink);padding:12px;z-index:10000}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #916315!important;outline-offset:4px!important}.connection-status{padding:16px;text-align:center;background:#fff0ce;color:#52370f}.form-label{font-weight:600}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem #516ca326}a{color:var(--brand)}.text-secondary{color:var(--muted)!important}
@media(max-width:991px){.welcome-grid{gap:35px}.main-content{padding-top:60px}.welcome-panel{padding:24px}.shell{padding-left:24px;padding-right:24px}}
@media(max-width:767px){.main-content{padding-top:42px;padding-bottom:42px}.welcome-grid{grid-template-columns:1fr;gap:32px}.private-label{font-size:.65rem}.brand{font-size:1.05rem}.welcome-copy h1{font-size:3.1rem}.lead{font-size:1rem}.setup-note{margin-top:24px}.site-footer{flex-direction:column;gap:3px}.welcome-panel{border-radius:18px}.feature-row{padding:20px 0}}
.auth-card{max-width:480px;margin:0 auto;background:white;border:1px solid var(--line);padding:36px;border-radius:18px}.auth-card h1{font-size:2rem;letter-spacing:-.035em}.content-card{background:white;border:1px solid var(--line);border-radius:14px;padding:26px}.content-card h2{font-size:1.2rem;margin-bottom:18px}.form-control{min-height:44px}summary{font-weight:650;cursor:pointer}header form{margin:0}.content-card input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.content-card label{overflow-wrap:anywhere}
@media(max-width:480px){.auth-card{padding:24px}.content-card{padding:20px}.site-header nav{font-size:.75rem}.site-header .brand{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.board-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem}.post-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;height:100%;display:flex;flex-direction:column}.post-card h2{font-size:1.3rem;line-height:1.35}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{text-decoration:underline}.post-card p{color:var(--muted);font-size:.9rem}.post-pinned{border-top:4px solid var(--brand)}.category-label,.post-label{font-size:.7rem;border-radius:5px;background:#eaf0fa;padding:3px 8px}.post-label{background:#f8edcf;color:#644910}.post-meta{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;font-size:.75rem;color:var(--muted)}.empty-state{text-align:center;border:1px dashed #bac8df;border-radius:18px;padding:70px 24px;background:#eef3fa}.empty-state>span{font-size:3rem;color:#516ca3}.empty-state h2{font-size:1.4rem}.post-detail{max-width:850px}.post-detail h1{font-size:clamp(1.8rem,4vw,2.8rem)}.post-detail .lead{max-width:none}.post-body{overflow-wrap:anywhere;margin-top:30px}.member-list{max-height:400px;overflow-y:auto}.form-select{min-height:44px}
.document-row{padding:24px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.pdf-canvas-wrapper{overflow:auto;max-width:100%;background:#edf0f6}.pdf-zoom{width:auto}.upload-drop{border:2px dashed #aabbd6;cursor:pointer}progress{width:100%;height:18px}
.calendar-table{width:100%;table-layout:fixed;background:white;border-collapse:collapse}.calendar-table td,.calendar-table th{border:1px solid var(--line);padding:10px;vertical-align:top}.calendar-table th{font-size:.8rem;background:#e9eff9}.calendar-table td{height:125px;font-size:.8rem}.calendar-other{background:#f3f5f9;color:#757e8d}.calendar-event{display:block;margin-top:8px;padding:7px;background:#eaf0fa;border-radius:5px;overflow-wrap:anywhere;text-decoration:none;font-weight:600}.calendar-mobile-list{display:none}
@media(max-width:767px){.calendar-table td,.calendar-table th{padding:3px}.calendar-table th{text-align:center;font-size:.72rem}.calendar-table td{height:90px;font-size:.75rem}.calendar-event{font-size:.7rem;margin-top:4px;padding:4px 2px;min-height:44px}.calendar-event-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}

.category-board .accordion-button{flex-wrap:wrap;overflow-wrap:anywhere}.category-board .accordion-button::after{margin-left:auto}.document-entry>.flex-grow-1{min-width:0}.document-entry .btn{min-width:44px;min-height:44px}

.category-board{--bs-accordion-active-bg:#eaf0fa;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem #516ca326}

.app-update-banner{position:fixed;inset:auto 0 0;z-index:1040;background:#eaf0fa;border-top:1px solid var(--line);box-shadow:0 -4px 20px #24324b1a;padding:18px 0 calc(18px + env(safe-area-inset-bottom))}.has-app-update{padding-bottom:180px}@media(min-width:768px){.has-app-update{padding-bottom:110px}}

/* Bootstrap components share the app palette and accessible touch targets. */
:root{--bs-primary:#516ca3;--bs-primary-rgb:81,108,163;--bs-link-color:#516ca3;--bs-link-hover-color:#3e5480}
.card{--bs-card-color:var(--ink);--bs-card-border-color:var(--line)}
.accordion{--bs-accordion-color:var(--ink);--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:#eaf0fa;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem #516ca326}
.accordion-button{gap:.5rem;line-height:1.5;overflow-wrap:anywhere}.accordion-button::after{flex-shrink:0}.accordion-header{margin-bottom:0!important}
.disclosure>.accordion-item{border-radius:var(--bs-border-radius-lg);overflow:clip}.disclosure .accordion-button{flex-wrap:wrap;font-weight:600}.disclosure .accordion-button::after{margin-left:auto}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.form-check-input:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem #516ca326}
label.form-check{min-height:44px;padding-top:.5rem;padding-bottom:.5rem;padding-left:1.75rem;cursor:pointer}.form-check-label{overflow-wrap:anywhere}
.btn,.nav-link,.dropdown-item,.page-link{min-height:44px}.btn{align-content:center;white-space:normal}.page-link{color:var(--brand);border-radius:var(--bs-border-radius);padding:.6rem 1rem}.dropdown-item{padding-top:.6rem;padding-bottom:.6rem;white-space:normal}
h1,h2,h3,.card,.accordion-body,.post-meta{overflow-wrap:anywhere}.d-flex>div,[class*="col-"]{min-width:0}.badge{white-space:normal;line-height:1.5}.category-label{color:var(--ink)}
.board-nav{gap:.5rem}
.main-content{padding-top:40px}.site-header{padding:14px 0}.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.pdf-toolbar{padding:.75rem;background:var(--bs-tertiary-bg);border-radius:var(--bs-border-radius)}.pdf-toolbar label{margin:0}.pdf-toolbar [role=status]{text-align:center;min-width:3rem}.pdf-canvas-wrapper{overscroll-behavior-x:contain}.pdf-canvas-wrapper canvas{display:block;margin-inline:auto}
.table-responsive{overscroll-behavior-x:contain}.table{--bs-table-color:var(--ink)}.table th{white-space:nowrap}
@media(max-width:1199.98px){.navbar-collapse{padding-top:1rem}.navbar .nav-link{font-size:1rem;padding:.6rem .75rem}.navbar .dropdown-menu{border:0;background:var(--paper)}.navbar .dropdown-item{padding-left:1.25rem}.navbar-brand.brand{font-size:1.1rem}.navbar-toggler{min-width:48px;min-height:44px}}
@media(max-width:767.98px){
 .shell{padding-left:16px;padding-right:16px}.main-content{padding-top:24px;padding-bottom:32px}.content-card,.auth-card,.post-card{padding:18px}.accordion-body{padding:16px}.accordion-button{padding:16px}.auth-card h1{font-size:1.75rem}
 .form-control,.form-select{font-size:1rem;max-width:100%;min-width:0}.input-group>.form-control{min-width:0}.content-card input[type=checkbox]{width:1em;height:1em}.btn{max-width:100%}
 .post-meta{flex-wrap:wrap}.empty-state{padding:40px 18px}.site-footer{gap:4px}.member-list{max-height:320px}.site-header nav{font-size:1rem}
 .pdf-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem!important}.pdf-toolbar .btn{padding:.5rem;font-size:.875rem}.pdf-toolbar label{grid-column:1}.pdf-toolbar .pdf-zoom{grid-column:2 / 4;width:100%}
 .calendar-controls h2{order:-1;flex-basis:100%;text-align:center}.calendar-controls .btn{flex:1}
}

.users-table{table-layout:fixed}.users-table th,.users-table td{padding:1rem;overflow-wrap:anywhere;white-space:normal}.users-table th:last-child{width:180px}.users-table .btn{min-width:76px}.modal .btn-close{min-width:44px;min-height:44px;padding:0}.modal-content{color:var(--ink)}
@media(max-width:767.98px){.users-table th,.users-table td{padding:.75rem}.users-table th:last-child{width:120px}.users-table td:last-child .btn{font-size:.8125rem}.modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}

.pdf-fullscreen-modal .modal-content{height:100dvh}.pdf-fullscreen-modal .modal-header{padding-top:max(1rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.pdf-fullscreen-modal .modal-body{display:flex;min-height:0;overflow:hidden;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.pdf-expanded{display:flex;flex-direction:column;width:100%;min-height:0;margin:0!important;padding:0!important;border:0!important}.pdf-expanded .pdf-toolbar{flex-shrink:0}.pdf-expanded .pdf-canvas-wrapper{flex:1;min-height:0;overflow:auto}.pdf-expanded [role=status]:empty{display:none}.pdf-expanded canvas{margin-inline:auto}
@media(max-width:767.98px){.pdf-toolbar .pdf-fullscreen-button{grid-column:1 / -1}}

.pdf-canvas-wrapper{touch-action:pan-x pan-y;max-height:75vh;max-height:75dvh;overflow:auto;-webkit-overflow-scrolling:touch}.pdf-expanded .pdf-canvas-wrapper{max-height:none}

@media(max-width:1199.98px){
 #main-navbar{--bs-offcanvas-width:360px;max-width:90vw;background:#ffffff}
 #main-navbar .offcanvas-header{padding-top:max(1rem,env(safe-area-inset-top))}
 #main-navbar .btn-close{min-width:44px;min-height:44px;padding:0}
 #main-navbar .offcanvas-body{padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}
 #main-navbar .navbar-nav{gap:.25rem}#main-navbar .nav-link{border-radius:var(--bs-border-radius);padding:.75rem;font-size:1rem}
 #main-navbar .nav-link:hover,#main-navbar .nav-link:focus-visible{background:#eaf0fa}
 #main-navbar .navbar-account{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
}

/* Keep content within the usable iPhone viewport, including installed mode. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.site-header{padding-top:calc(14px + var(--safe-top))}
.shell{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}
.site-footer{padding-bottom:calc(22px + var(--safe-bottom))}
.has-app-update{padding-bottom:var(--app-update-height,180px)}
.app-update-banner{padding-bottom:calc(18px + var(--safe-bottom))}.app-update-banner .d-flex{flex-wrap:wrap}
.navbar-brand{max-width:calc(100% - 64px);white-space:normal}.brand-mark{flex-shrink:0}
.pdf-toolbar>*{min-width:0}.pdf-canvas-wrapper{min-width:0;width:100%}
@media(max-width:1199.98px){
 #main-navbar{height:100dvh;max-height:100dvh}
 #main-navbar .offcanvas-header{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) 16px 16px}
 #main-navbar .offcanvas-body{min-height:0;padding:16px calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) 16px}
 #main-navbar .navbar-account{flex-shrink:0}
}
.pdf-fullscreen-modal .modal-header{padding:calc(12px + var(--safe-top)) calc(16px + var(--safe-right)) 12px calc(16px + var(--safe-left))}
.pdf-fullscreen-modal .modal-body{padding:12px calc(16px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(16px + var(--safe-left))}
@media(max-width:575.98px){
 .modal-fullscreen-sm-down .modal-header{padding-top:calc(16px + var(--safe-top));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}
 .modal-fullscreen-sm-down .modal-body,.modal-fullscreen-sm-down .modal-footer{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}
 .modal-fullscreen-sm-down .modal-footer{padding-bottom:calc(12px + var(--safe-bottom))}
}
@media(orientation:landscape) and (max-height:500px){.pdf-expanded .pdf-toolbar{display:flex!important;flex-wrap:wrap;padding:.25rem;margin-bottom:.25rem!important}.pdf-expanded .pdf-toolbar .pdf-zoom{width:auto}.pdf-fullscreen-modal .modal-header{padding-top:calc(4px + var(--safe-top));padding-bottom:4px}}

#main-navbar .offcanvas-body{scroll-padding-block:16px calc(16px + var(--safe-bottom))}#main-navbar .navbar-nav{flex-shrink:0}

.btn-primary{--bs-btn-active-bg:#35496f;--bs-btn-active-border-color:#35496f;--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand);--bs-btn-focus-shadow-rgb:81,108,163}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);--bs-btn-active-bg:#3e5480;--bs-btn-active-border-color:#3e5480}

.site-header.is-scrolled{box-shadow:0 4px 16px #24324b14}
.site-header:has(.offcanvas.show,.offcanvas.showing,.offcanvas.hiding){z-index:1045}
html{scroll-padding-top:calc(var(--site-header-height,80px) + 16px)}

.category-colored-header,.category-board .accordion-button.category-colored-header{background:var(--category-header-bg,var(--brand));color:var(--category-header-fg,#fff)}
.category-colored-header .category-document-count{color:inherit}.category-colored-header.accordion-button::after{filter:grayscale(1) brightness(0)}.category-colored-header.category-header-light-text.accordion-button::after{filter:grayscale(1) brightness(0) invert(1)}

.file-dropzone{border:2px dashed #aabbd6;border-radius:12px;background:#f3f6fc;padding:20px;margin-bottom:16px;cursor:pointer;overflow-wrap:anywhere}.file-dropzone.is-dragging,.file-dropzone:focus-within{border-color:var(--brand);background:#e3ebfa}.file-dropzone input{margin-bottom:0!important}.file-dropzone p:empty{display:none}

.navbar .nav-link>.bi,.dropdown-item>.bi{display:inline-block;width:1.15em;text-align:center}.navbar-toggler>.bi{font-size:1.5rem;line-height:1}.bi{flex-shrink:0}

.post-text-editor{min-height:220px;overflow-wrap:anywhere;background:#fff;outline:none}.post-text-editor:focus{box-shadow:inset 0 0 0 2px var(--bs-primary)}
.post-body{overflow-wrap:anywhere}.post-body p:last-child,.post-text-editor p:last-child{margin-bottom:0}

[data-editor-command]{min-width:44px;min-height:44px}

.post-detail{max-width:none;width:100%;padding:16px 24px}.post-detail .eyebrow{margin-bottom:8px}.post-detail h1{margin-bottom:8px}.post-detail .post-body{margin-top:16px}.board-nav>.btn,.board-nav>form{flex-shrink:0}
@media(max-width:575.98px){.post-detail{padding:14px 16px}}

.post-text-editor,.post-body{overflow-x:auto;max-width:100%}
.post-text-editor table,.post-body table{width:100%;border-collapse:collapse;margin:12px 0;table-layout:fixed}
.post-text-editor th,.post-text-editor td,.post-body th,.post-body td{border:1px solid var(--bs-border-color);padding:8px;min-width:70px;vertical-align:top;overflow-wrap:anywhere}
.post-text-editor th,.post-body th{background:var(--bs-tertiary-bg);font-weight:600}
[data-table-action]{min-height:44px}

[data-editor-select]{max-width:100%}[data-editor-shell] label{min-width:0;max-width:100%}.post-body blockquote,.post-text-editor blockquote{border-left:3px solid var(--bs-border-color);padding-left:1rem}
.rt-color-24324b{color:#24324b}.rt-bg-24324b{background-color:#24324b}
.rt-color-516ca3{color:#516ca3}.rt-bg-516ca3{background-color:#516ca3}
.rt-color-000000{color:#000000}.rt-bg-000000{background-color:#000000}
.rt-color-ffffff{color:#ffffff}.rt-bg-ffffff{background-color:#ffffff}
.rt-color-6c757d{color:#6c757d}.rt-bg-6c757d{background-color:#6c757d}
.rt-color-dc3545{color:#dc3545}.rt-bg-dc3545{background-color:#dc3545}
.rt-color-198754{color:#198754}.rt-bg-198754{background-color:#198754}
.rt-color-ffc107{color:#ffc107}.rt-bg-ffc107{background-color:#ffc107}
.rt-color-fd7e14{color:#fd7e14}.rt-bg-fd7e14{background-color:#fd7e14}
.rt-color-6f42c1{color:#6f42c1}.rt-bg-6f42c1{background-color:#6f42c1}
.rt-color-d63384{color:#d63384}.rt-bg-d63384{background-color:#d63384}
.rt-color-cff4fc{color:#cff4fc}.rt-bg-cff4fc{background-color:#cff4fc}
.rt-font-0{font-family:"Arial",sans-serif}
.rt-font-1{font-family:"Georgia",serif}
.rt-font-2{font-family:"Verdana",sans-serif}
.rt-font-3{font-family:"Times New Roman",serif}
.rt-font-4{font-family:"Courier New",monospace}
.rt-size-1{font-size:12px}
.rt-size-2{font-size:14px}
.rt-size-3{font-size:16px}
.rt-size-4{font-size:18px}
.rt-size-5{font-size:24px}
.rt-size-6{font-size:32px}
.rt-size-7{font-size:40px}
.rt-align-left{text-align:left}
.rt-align-center{text-align:center}
.rt-align-right{text-align:right}
.rt-align-justify{text-align:justify}

.document-title{flex:1 1 12rem;min-width:0}

body{padding-top:var(--site-header-height,calc(80px + var(--safe-top)))}

.profile-navigation .nav-link{min-height:44px;color:var(--ink);text-align:left;border-radius:.5rem}.profile-navigation .nav-link>.bi{color:var(--brand);font-size:1.1rem}.profile-navigation .nav-link:hover,.profile-navigation .nav-link:focus-visible{background:#eef2f9;color:var(--brand)}
@media(min-width:992px){.profile-navigation .nav-link{justify-content:center;white-space:nowrap}}

.calendar-table .calendar-date-row td{height:32px;padding:6px 8px;border-bottom:0}.calendar-table .calendar-span-row td{height:auto;padding:2px 3px;border-top:0;border-bottom:0}.calendar-span-row .calendar-event{margin:0;min-height:44px;display:flex;align-items:center}.calendar-table .calendar-week-spacer td{height:12px;padding:0;border-top:0}.calendar-week+.calendar-week{border-top:2px solid var(--line)}

.calendar-grid{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.calendar-grid-days,.calendar-grid-dates,.calendar-grid-lane{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-grid-days{text-align:center;padding:12px 0;font-size:.8rem;font-weight:600;color:var(--muted)}
.calendar-grid-week{min-height:150px;border-top:1px solid var(--line);padding:12px 0 20px}
.calendar-grid-dates{text-align:center;margin-bottom:8px;font-size:1.25rem;font-weight:600}
.calendar-grid-dates time{padding:4px 0}
.calendar-grid-events{padding:0 3px}
.calendar-span{min-width:0;min-height:44px;display:flex;align-items:center;padding:2px;text-decoration:none;color:#214675;font-weight:600;font-size:.85rem}
.calendar-span>span{display:block;min-width:0;width:100%;padding:6px 8px;background:#cce5fb;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-span:hover>span,.calendar-span:focus-visible>span{background:#b4d8f7}
@media(max-width:767px){.calendar-grid-week{min-height:130px}.calendar-grid-dates{font-size:1.1rem}.calendar-span{font-size:.75rem}.calendar-span>span{padding:6px 4px}}
.calendar-start-1{grid-column-start:1}.calendar-length-1{grid-column-end:span 1}
.calendar-start-2{grid-column-start:2}.calendar-length-2{grid-column-end:span 2}
.calendar-start-3{grid-column-start:3}.calendar-length-3{grid-column-end:span 3}
.calendar-start-4{grid-column-start:4}.calendar-length-4{grid-column-end:span 4}
.calendar-start-5{grid-column-start:5}.calendar-length-5{grid-column-end:span 5}
.calendar-start-6{grid-column-start:6}.calendar-length-6{grid-column-end:span 6}
.calendar-start-7{grid-column-start:7}.calendar-length-7{grid-column-end:span 7}
