:root{color:#17201a;background:#f7f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{align-items:center;background:#173f35;border:0;border-radius:7px;color:#fff;cursor:pointer;display:inline-flex;gap:.5rem;min-height:2.75rem;padding:0 1rem}button:hover{background:#21594b}button:disabled{cursor:wait;opacity:.68}.secondary-button{background:#eef3ee;color:#173f35}.secondary-button:hover{background:#dfe9e1}.icon-button{background:#eef3ee;color:#173f35;min-height:2.1rem;padding:0 .7rem}.icon-button:hover{background:#dfe9e1}.gear-button{background:#fff;border:1px solid #dde3db;color:#173f35;justify-content:center;min-height:2.5rem;padding:0;width:2.5rem}.gear-button:hover{background:#eef3ee}.app-shell{margin:0 auto;max-width:1440px;padding:1.5rem}.embed-shell{max-width:none;padding:0}.topbar{align-items:end;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0 1.25rem}.eyebrow{color:#66706a;font-size:.78rem;font-weight:700;letter-spacing:0;margin:0 0 .25rem;text-transform:uppercase}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1}.status-pills,.toolbar,.metrics-grid,.content-grid,.panel-header,.event-row,.log-row{display:flex}.status-pills{flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.pill{align-items:center;background:#fff6df;border:1px solid #ead39a;border-radius:999px;color:#665323;display:inline-flex;gap:.4rem;min-height:2rem;padding:0 .75rem;white-space:nowrap}.pill.ok{background:#e7f3ec;border-color:#b9d9c5;color:#24513d}.alert{align-items:center;background:#fff0ec;border:1px solid #efb9a6;border-radius:8px;color:#8a321d;display:flex;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem}.alert.compact{margin:1rem}.toolbar{align-items:center;background:#fff;border:1px solid #dde3db;border-radius:8px;box-shadow:0 14px 40px #17201a14;gap:.75rem;padding:.75rem}.token-field{align-items:center;border:1px solid #cbd4cd;border-radius:7px;display:flex;flex:1;gap:.6rem;min-height:2.75rem;min-width:14rem;padding:0 .85rem}.token-field svg{color:#4f6157;flex:0 0 auto}.token-field input{border:0;color:#17201a;min-width:0;outline:0;width:100%}.metrics-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.metric{align-items:center;background:#fff;border:1px solid #dde3db;border-radius:8px;display:flex;gap:.85rem;min-height:5.25rem;padding:1rem}.metric svg{color:#226c83;flex:0 0 auto}.metric span,.panel-header span,.event-row p,.event-row span,.log-row p{color:#66706a;font-size:.9rem}.metric strong{display:block;font-size:1.15rem;margin-top:.2rem;overflow-wrap:anywhere}.content-grid{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(21rem,.36fr)}.panel{background:#fff;border:1px solid #dde3db;border-radius:8px;min-width:0}.public-calendar{background:#fff;border:1px solid #dde3db;border-radius:8px;overflow:hidden}.embed-calendar{border:0;border-radius:0;min-height:100vh}.public-header{align-items:end;border-bottom:1px solid #e7ece7;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.public-header h1{font-size:clamp(1.8rem,4vw,3rem)}.public-meta{color:#66706a;display:grid;font-size:.92rem;gap:.25rem;justify-items:end;text-align:right}.public-event h4{overflow-wrap:anywhere}.public-event{border-left:5px solid var(--event-accent, #8ca093);position:relative}.public-event time{background:var(--event-soft, #f3f6f0);border:1px solid var(--event-line, #d9e2da);border-radius:7px;color:var(--event-ink, #24513d);display:inline-flex;justify-content:center;min-height:2rem;padding:.35rem .45rem}.public-event h4{color:var(--event-ink, #17201a)}.theme-board{--event-accent: #2f6f63;--event-soft: #e7f3ee;--event-line: #bad8cd;--event-ink: #1d5148}.theme-chair{--event-accent: #317080;--event-soft: #e7f4f6;--event-line: #b9d9df;--event-ink: #245663}.theme-chair-meeting{--event-accent: #7b5a9a;--event-soft: #f0eafa;--event-line: #d6c7e8;--event-ink: #553d75}.theme-building{--event-accent: #b26632;--event-soft: #faeee5;--event-line: #e6c8b1;--event-ink: #77451f}.theme-representatives{--event-accent: #2e6f9e;--event-soft: #e8f2fa;--event-line: #bfd7ea;--event-ink: #245376}.theme-budget{--event-accent: #81712e;--event-soft: #f5f1db;--event-line: #ddd39a;--event-ink: #5c511f}.theme-extra-one{--event-accent: #58736c;--event-soft: #edf3f1;--event-line: #c8d8d4;--event-ink: #405953}.theme-extra-two{--event-accent: #8b5362;--event-soft: #f8ebef;--event-line: #e3c3cc;--event-ink: #673946}.theme-extra-three{--event-accent: #516b9b;--event-soft: #eaf0fa;--event-line: #c7d4ec;--event-ink: #384f78}.theme-extra-four{--event-accent: #6f6847;--event-soft: #f4f1e7;--event-line: #d8d0b5;--event-ink: #534d33}.theme-extra-five{--event-accent: #317080;--event-soft: #e7f4f6;--event-line: #b9d9df;--event-ink: #245663}.theme-extra-six{--event-accent: #735c8a;--event-soft: #f0edf6;--event-line: #d2c8df;--event-ink: #554467}.event-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.event-tags span{margin-top:0}.event-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.status-badge{border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:750;height:.7rem;line-height:1;padding:0;width:.7rem}.status-past{filter:grayscale(1);opacity:.34}.status-past .status-badge,.status-badge.status-past{background:#ecefed;color:#68706c}.status-current .status-badge,.status-badge.status-current{background:#fff1ca;color:#765a11}.status-upcoming .status-badge,.status-badge.status-upcoming{background:#e7f3ec;color:#24513d}.teams-tag{align-items:center;background:#edf4fb;border:1px solid #c9dced;border-radius:999px;color:#24577a;display:inline-flex!important;gap:.3rem;min-height:1.6rem;padding:0 .55rem}.view-tabs{align-items:center;background:#f8faf7;border-bottom:1px solid #e7ece7;display:flex;flex-wrap:wrap;gap:.45rem;padding:.75rem 1rem}.view-tab{background:#fff;border:1px solid #dbe4dd;color:#405348;min-height:2.25rem;padding:0 .75rem}.view-tab:hover,.view-tab.active{background:#173f35;border-color:#173f35;color:#fff}.print-menu{margin-left:auto;position:relative}.print-button svg{flex:0 0 auto}.print-popover{background:#fff;border:1px solid #dbe4dd;border-radius:8px;box-shadow:0 18px 44px #17201a29;display:grid;gap:.85rem;min-width:18rem;padding:.85rem;position:absolute;right:0;top:calc(100% + .45rem);z-index:20}.print-popover button{justify-content:center;width:100%}.print-checkbox{align-items:center;color:#26362d;display:flex;gap:.6rem;line-height:1.25}.print-checkbox input{accent-color:#173f35;flex:0 0 auto;height:1rem;width:1rem}.print-sheet{display:none}.compact-event{align-items:center}.date-time-tile{align-items:center;display:grid!important;gap:.1rem;justify-items:center;min-width:7.5rem}.date-time-tile strong{font-size:.82rem}.timeline-list{display:grid;padding:.5rem 1rem 1rem;position:relative}.timeline-list:before{background:#d7e0d8;bottom:1rem;content:"";left:1.55rem;position:absolute;top:1rem;width:2px}.timeline-event{display:grid;gap:1rem;grid-template-columns:1.1rem 7rem minmax(0,1fr);padding:.85rem 0;position:relative}.timeline-marker{align-self:start;background:var(--event-accent, #8ca093);border:3px solid #ffffff;border-radius:999px;height:1rem;margin-top:.25rem;width:1rem;z-index:1}.timeline-event time{color:var(--event-ink, #24513d);font-weight:750}.agenda-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}.agenda-board>section+section{border-left:1px solid #e7ece7}.agenda-board h3{background:#f3f6f0;border-bottom:1px solid #e7ece7;color:#3b5145;font-size:.95rem;padding:1rem}.agenda-event{display:grid;gap:1rem;grid-template-columns:6rem minmax(0,1fr);padding:1rem}.agenda-event+.agenda-event{border-top:1px solid #edf0ed}.agenda-event time{color:var(--event-ink, #24513d);font-weight:800}.index-list{display:grid}.index-event{align-items:center;display:grid;gap:.85rem;grid-template-columns:6.5rem minmax(12rem,1fr) 6rem minmax(8rem,.8fr) .75rem;min-height:3.75rem;padding:.75rem 1rem}.index-event+.index-event{border-top:1px solid #edf0ed}.index-event time,.index-event strong{color:var(--event-ink, #24513d)}.month-mosaic{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));padding:1rem}.mosaic-month{border:1px solid #dde3db;border-top:5px solid #433f39;display:grid}.mosaic-month h3{background:#f8faf7;border-bottom:1px solid #e7ece7;padding:.85rem 1rem}.mosaic-event{display:grid;gap:.35rem;padding:.85rem 1rem}.mosaic-event+.mosaic-event{border-top:1px solid #edf0ed}.minimal-list{display:grid}.minimal-event{align-items:center;display:grid;gap:.75rem;grid-template-columns:.75rem 6.5rem 6rem minmax(10rem,1fr) minmax(8rem,.8fr);min-height:3rem;padding:.65rem 1rem}.minimal-event+.minimal-event{border-top:1px solid #edf0ed}.minimal-event time,.minimal-event strong{color:var(--event-ink, #24513d)}.admin-drawer{display:grid;gap:1rem;margin-top:1rem}.admin-login{max-width:52rem}.admin-login-toolbar{border:0;border-radius:0 0 8px 8px;box-shadow:none}.admin-grid{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}.panel-header{align-items:center;border-bottom:1px solid #e7ece7;justify-content:space-between;min-height:3.5rem;padding:.85rem 1rem}.panel-header h2{font-size:1rem}.panel-header span{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-list{display:grid}.month-band{border-bottom:1px solid #edf0ed;display:grid;grid-template-columns:8rem minmax(0,1fr)}.month-band:last-child{border-bottom:0}.month-band h3{background:#f3f6f0;color:#3b5145;font-size:.95rem;padding:1rem}.event-list{display:grid}.event-row{gap:1rem;min-height:5rem;padding:1rem}.event-row+.event-row{border-top:1px solid #edf0ed}.event-row time{color:#24513d;flex:0 0 6rem;font-weight:750}.event-row h4{font-size:1rem;margin-bottom:.25rem}.event-row span{display:block;margin-top:.25rem}.body-text{background:#f8faf7;border-left:3px solid #c6d9b5;margin-top:.6rem;padding:.55rem .7rem;white-space:pre-wrap}.side-stack{display:grid;gap:1rem}.log-list{display:grid;max-height:25rem;overflow:auto}.log-row{align-items:start;gap:.65rem;padding:.85rem 1rem}.log-row+.log-row{border-top:1px solid #edf0ed}.dot{background:#b8482d;border-radius:999px;flex:0 0 .65rem;height:.65rem;margin-top:.35rem;width:.65rem}.dot.ok{background:#2d8b57}.json-output{color:#dbe7dd;background:#15231d;border-radius:0 0 8px 8px;font-size:.8rem;line-height:1.5;margin:0;max-height:20rem;overflow:auto;padding:1rem;white-space:pre-wrap}.empty-state{color:#66706a;padding:2rem;text-align:center}.empty-state.compact{padding:1rem}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.topbar{align-items:start;flex-direction:column}.status-pills{justify-content:flex-start}.toolbar{align-items:stretch;flex-direction:column}.metrics-grid,.content-grid,.admin-grid,.agenda-board{grid-template-columns:1fr}.agenda-board>section+section{border-left:0;border-top:1px solid #e7ece7}.public-header{align-items:start;flex-direction:column}.public-meta{justify-items:start;text-align:left}}@media(max-width:620px){.app-shell{padding:1rem}button{justify-content:center;width:100%}.view-tab{width:auto}.print-menu{margin-left:0}.print-popover{left:0;right:auto}.gear-button{width:2.5rem}.metrics-grid{gap:.6rem}.month-band{grid-template-columns:1fr}.event-row{display:grid}.timeline-event,.agenda-event,.index-event,.minimal-event{grid-template-columns:1fr}.timeline-list:before,.timeline-marker{display:none}.event-row time{flex-basis:auto}.panel-header{align-items:start;flex-direction:column;gap:.25rem}.panel-header span{max-width:100%}}@media print{@page{margin:12mm;size:A4 portrait}html,body{background:#fff;min-height:auto;min-width:0}.topbar,.admin-drawer,.app-shell>.alert,.public-calendar>:not(.print-sheet){display:none!important}.app-shell,.embed-shell{margin:0;max-width:none;padding:0}.public-calendar,.embed-calendar{border:0;border-radius:0;min-height:auto;overflow:visible}.print-sheet{color:#111;display:block!important;font-family:Arial,Helvetica,sans-serif;position:static;width:100%}.print-header{align-items:end;border-bottom:2px solid #111111;display:flex;gap:8mm;justify-content:space-between;margin-bottom:6mm;padding-bottom:3mm}.print-header p{font-size:8pt;font-weight:700;letter-spacing:0;margin:0 0 1mm;text-transform:uppercase}.print-header h2{font-size:18pt;line-height:1.05;margin:0}.print-header>div:last-child{display:grid;font-size:8.5pt;gap:1mm;justify-items:end;text-align:right}.print-month{break-inside:avoid;margin-bottom:4mm;page-break-inside:avoid}.print-month h3{border-bottom:1px solid #111111;font-size:11pt;margin:0;padding:1.5mm 0}.print-month table{border-collapse:collapse;font-size:8.7pt;line-height:1.25;table-layout:fixed;width:100%}.print-month thead{display:table-header-group}.print-month tr{break-inside:avoid;page-break-inside:avoid}.print-month th,.print-month td{border-bottom:1px solid #d4d4d4;padding:1.6mm 1.5mm;text-align:left;vertical-align:top}.print-month th{color:#444;font-size:7.5pt;font-weight:700;text-transform:uppercase}.print-month th:nth-child(1),.print-month td:nth-child(1){width:22mm}.print-month th:nth-child(2),.print-month td:nth-child(2){width:20mm}.print-month th:nth-child(4),.print-month td:nth-child(4){width:42mm}.print-sheet .status-past{filter:none;opacity:.48}.print-empty{border:1px solid #d4d4d4;font-size:10pt;padding:5mm}}
