/* Hallmark · shape: app screen · genre: editorial · theme: Ink (deal 3/3, seed working-application-czech-apartment-f956) · redesign: full
 * nav: existing sidebar with native evidence disclosure · signature: the house noticeboard beside its dated agenda
 * states: loading, empty, error, full, selected, disabled, read · ink: paper, Spokojený soused green retained as state signal
 * axes: light/grotesk-sans/chromatic-green · posture: restrained · contrast: checked in browser · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V4 · weakest: S, shared admin patterns; replaced greeting and four icon cards with the actual house notices and dated work queue. */
/* Hallmark · waive 22 · Ink prints its noticeboard in zero-chroma black and grey · Spokojený soused green remains a selection signal rather than a painted sidebar. */
/* Hallmark · dropped welcome house illustration and slogan · gate 80 rejects decorative drawn filler; the existing noticeboard now leads the app screen. */
/* Brand update · the primary action uses the website forest green; the selected document folder is a navigation state, never a competing submit action. */
/* Hallmark · reworded Vítejte doma. to Přehled domu · gate 19 prefers the task to a generic greeting; every underlying record is preserved. */
@import url("./tokens.css");
@import url("./base.css");
@font-face{font-family:Epilogue;font-style:normal;font-weight:400 700;font-display:swap;src:url("./fonts/epilogue-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Epilogue;font-style:normal;font-weight:400 700;font-display:swap;src:url("./fonts/epilogue-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

body{font-synthesis:none;}
button{border:0;background:var(--color-transparent);color:inherit;cursor:pointer;text-align:inherit;}
button,a,input,select,textarea{-webkit-tap-highlight-color:var(--color-transparent);}
button,a{touch-action:manipulation;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;}
button:disabled,button[aria-disabled=true],input:disabled,select:disabled{background:var(--color-paper-3);color:var(--color-disabled-ink);cursor:not-allowed;opacity:.65;}
button:active,a.btn:active{transform:translateY(1px);}
a{color:var(--color-ink);text-decoration-color:var(--color-field-edge);}
a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent);}
h1,h2,h3{color:var(--color-ink);line-height:1.3;}
h1{max-width:none;font-size:var(--text-screen);font-weight:600;letter-spacing:var(--tracking-display);}
h2{font-weight:600;letter-spacing:-.025em;}
h3{font-size:var(--text-title);font-weight:600;letter-spacing:-.02em;line-height:1.45;}
.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.muted{color:var(--color-muted);}.small{font-size:var(--text-sm);}.tiny{font-size:var(--text-xs);}.spacer{flex:1;}.mb{margin-bottom:var(--space-lg);}.mt{margin-top:var(--space-lg);}.nowrap{white-space:nowrap;}
.shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:var(--z-sticky-nav);background:var(--color-paper-2);border-right:1px solid var(--color-rule);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable;}
.logo{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:var(--hit-target);padding:0 var(--space-xs);text-decoration:none;max-width:100%;flex-shrink:0;}
.logo:hover{opacity:.85;}
.brand-symbol{display:block;width:44px;height:44px;flex-shrink:0;}
.brand-name{font-size:17px;line-height:1.3;letter-spacing:-.5px;font-weight:650;color:var(--color-ink);text-align:left;}
.brand-name strong{display:block;color:var(--color-accent);font-weight:650;}
.brand-lockup{display:block;width:340px;max-width:100%;height:auto;}
/* The house switcher is drawn by the app, including its open state. */
.tenant-wrap{padding:var(--space-lg) 0;margin-bottom:var(--space-xs);border-bottom:1px solid var(--color-rule);}
.tenant-picker{position:relative;}
.tenant-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:72px;padding:12px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper);text-align:left;transition:border-color .15s,background .15s;}
.tenant-trigger:hover,.tenant-trigger[aria-expanded="true"]{border-color:var(--color-accent);background:var(--color-accent-soft);}
.tenant-copy{display:flex;flex-direction:column;gap:5px;min-width:0;}
.tenant-copy strong{font-size:var(--text-sm);font-weight:600;line-height:1.45;overflow-wrap:anywhere;}
.tenant-copy>span{font-size:var(--text-xs);font-weight:400;line-height:1.5;color:var(--color-muted);overflow-wrap:anywhere;}
.tenant-trigger>.icon{width:16px;height:16px;color:var(--color-muted);transition:transform .15s;}
.tenant-trigger[aria-expanded="true"]>.icon{transform:rotate(180deg);}
.tenant-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--z-dropdown);max-height:min(360px,45dvh);overflow-y:auto;overscroll-behavior:contain;padding:5px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;box-shadow:0 8px 24px rgb(22 35 29 / 12%);}
.tenant-options[hidden]{display:none;}
.tenant-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:66px;padding:10px 8px;border-radius:6px;text-align:left;}
.tenant-option+.tenant-option{margin-top:3px;}
.tenant-option:hover,.tenant-option:focus-visible{background:var(--color-paper-2);outline-offset:-2px;}
.tenant-option[aria-checked="true"]{background:var(--color-accent-soft);color:var(--color-accent);}
.tenant-option>.icon{width:16px;height:16px;}
.nav-group{margin-top:var(--space-xs);}
.nav-label{font-size:var(--text-xs);font-weight:500;color:var(--color-muted);padding:var(--space-sm);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);}
summary.nav-label{cursor:pointer;min-height:var(--hit-target);}
summary.nav-label::-webkit-details-marker{display:none;}
summary.nav-label>.icon{width:16px;height:16px;}
.nav-group[open]>summary>.icon{transform:rotate(180deg);}
.nav-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:40px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--text-caption);font-weight:500;line-height:1.5;text-align:left;}
.nav-item>.icon{width:16px;height:16px;}
.nav-item:hover{background:var(--color-paper-3);color:var(--color-ink);}
.nav-item.active{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);}
.count{margin-left:auto;font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.4;}
.side-bottom{margin-top:auto;padding-top:var(--space-lg);}
.help-card{width:100%;display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted);padding:var(--space-sm);min-height:var(--hit-target);border-top:1px solid var(--color-rule);}
.help-card:hover{color:var(--color-accent);}
.help-card .icon{width:16px;height:16px;}
.side-foot{font-size:var(--text-xs);color:var(--color-muted);padding:var(--space-xs) var(--space-sm);}
.workspace{grid-column:2;min-width:0;}
.topbar{min-height:var(--header-height);border-bottom:1px solid var(--color-rule);display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--gutter);gap:var(--space-lg);background:var(--color-paper);}
.breadcrumb{font-size:var(--text-caption);color:var(--color-muted);display:flex;gap:var(--space-sm);align-items:center;min-width:0;}
.breadcrumb>.icon{width:16px;height:16px;}
.breadcrumb strong{font-weight:400;color:var(--color-ink);white-space:nowrap;}
.breadcrumb span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.top-actions{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0;}
.search-button{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-caption);color:var(--color-muted);min-height:var(--hit-target);}
.search-button:hover{color:var(--color-ink);}
.search-button kbd{font-family:var(--font-body);font-size:var(--text-xs);padding:var(--space-3xs) var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-control);margin-left:var(--space-xs);}
.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--hit-target);height:var(--hit-target);border-radius:var(--radius-control);color:var(--color-muted);text-decoration:none;}
.icon-button:hover{background:var(--color-paper-2);color:var(--color-ink);}
.notification-dot{position:absolute;right:var(--space-2xs);top:var(--space-2xs);display:grid;place-items:center;min-width:18px;height:18px;line-height:1;padding-inline:var(--space-2xs);text-align:center;border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-paper);background:var(--color-accent);font-variant-numeric:tabular-nums;}
.user-button{display:flex;align-items:center;gap:var(--space-sm);padding:0 0 0 var(--space-md);border-left:1px solid var(--color-rule);text-align:left;min-height:var(--hit-target);}
.user-button strong{font-size:var(--text-caption);font-weight:500;display:block;}
.user-button .small{font-size:var(--text-xs);}
.user-button>.icon{width:16px;height:16px;}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-paper-3);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:500;}
.mobile-toggle{display:none;}
.main{max-width:var(--container);margin-inline:auto;padding:var(--space-xl) var(--gutter) var(--space-lg);}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-xl);}
.page-heading p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-xs);line-height:1.6;max-width:65ch;}
.heading-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0;}
.page-date{font-size:var(--text-xs);color:var(--color-muted);margin-right:var(--space-md);padding-block:var(--space-sm);white-space:nowrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--hit-target);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-transparent);border-radius:var(--radius-control);font-size:var(--text-caption);font-weight:500;line-height:1.5;white-space:nowrap;text-decoration:none;}
.btn>.icon{width:16px;height:16px;}
.btn.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);}
.btn.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-hover);border-color:var(--color-accent-hover);}
.btn.secondary{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-field-edge);}
.btn.secondary:hover{background:var(--color-paper-2);}
.btn.ghost{padding-inline:0;color:var(--color-ink);text-decoration:underline;text-underline-offset:.25em;}
.btn.ghost:hover{color:var(--color-accent);}
.btn.danger{color:var(--color-error);border-color:var(--color-error);background:var(--color-paper);}
.btn.danger:hover{background:var(--color-error-soft);}

.btn:disabled,.btn[aria-disabled=true]{background:var(--color-paper-3);color:var(--color-disabled-ink);border-color:var(--color-rule);cursor:not-allowed;}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:var(--space-xl);border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-rule);}
.stat{min-width:0;display:flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-rule);}
.stat:first-child{padding-left:0;}.stat:last-child{border-right:0;padding-right:0;}
.stat strong{font-size:var(--text-2xl);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:var(--tracking-display);}
.stat small{font-size:var(--text-caption);color:var(--color-muted);line-height:1.6;}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:var(--gap-columns);align-items:start;}
.noticeboard,.dashboard-side{min-width:0;}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);}
.section-head h2{display:flex;gap:var(--space-xs);align-items:baseline;font-size:var(--text-lg);}
.badge{font-size:var(--text-sm);font-weight:400;color:var(--color-muted);font-variant-numeric:tabular-nums;}
.link-arrow{display:inline-flex;align-items:center;min-height:var(--hit-target);font-size:var(--text-xs);color:var(--color-muted);text-decoration:underline;text-underline-offset:.3em;white-space:nowrap;}
.link-arrow:hover{color:var(--color-accent);}
.post-card{padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);}
.post-card:first-of-type{border-top:1px solid var(--color-rule);}
.post-card.post-pinned{padding:var(--space-lg);background:var(--color-accent-soft);border:1px solid var(--color-rule);margin-bottom:var(--space-xs);border-radius:var(--radius-card);}
.post-title-row{display:flex;gap:var(--space-md);align-items:flex-start;justify-content:space-between;}
.post-card :is(h2,h3){font-size:var(--text-lg);max-width:42ch;}
.post-card.post-pinned :is(h2,h3){font-size:var(--text-xl);font-weight:600;line-height:1.4;}
.post-card :is(h2,h3) button{padding:0;line-height:inherit;}
.post-card :is(h2,h3) button:hover{color:var(--color-accent);}
.pinned-label{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;padding-top:var(--space-2xs);}
.pinned-label .icon{width:16px;height:16px;}
.post-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-xs);margin-bottom:var(--space-md);}
.post-card>p{font-size:var(--text-data);line-height:1.8;color:var(--color-ink-2);max-width:65ch;white-space:pre-line;}

.post-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);}
.author{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted);min-width:0;}
.author .avatar{width:28px;height:28px;font-size:var(--text-xs);}
.author>span:last-child{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;}
.author strong{font-weight:500;color:var(--color-ink-2);}
.read-button{display:flex;align-items:center;gap:var(--space-2xs);min-height:var(--hit-target);font-size:var(--text-xs);color:var(--color-muted);flex-shrink:0;}
.read-button .icon{width:16px;height:16px;}
.read-button:hover,.read-button.done{color:var(--color-accent);}
.side-section{margin-bottom:var(--space-xl);}
.event-list{border-top:1px solid var(--color-rule);}
.event-item{width:100%;display:flex;gap:var(--space-md);align-items:flex-start;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);text-align:left;}
.event-item:hover h3{color:var(--color-accent);}
.date-tile{width:44px;flex-shrink:0;text-align:left;}
.date-tile strong{font-size:var(--text-xl);display:block;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-display);}
.date-tile small{font-size:var(--text-xs);color:var(--color-muted);display:block;margin-top:var(--space-2xs);}
.event-item h3{font-size:var(--text-data);line-height:1.5;}
.event-item p{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs);}
.poll-card{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);}
.poll-deadline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-md);}
.poll-card h3{font-size:var(--text-lg);line-height:1.5;}
.poll-card>p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-sm);}
.poll-card .btn{width:100%;margin-top:var(--space-lg);background:var(--color-transparent);}
.pill{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);font-size:var(--text-xs);font-weight:400;line-height:1.5;background:var(--color-accent-soft);color:var(--color-accent-soft-ink);}
.pill .icon{width:16px;height:16px;}
.pill.gray,.pill.amber,.pill.blue,.pill.purple{background:var(--color-paper-3);color:var(--color-ink-2);}
.pill.red{background:var(--color-error-soft);color:var(--color-error);}
.pill-row{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;}
.progress-track{height:4px;background:var(--color-rule);border-radius:var(--radius-pill);overflow:hidden;margin:var(--space-lg) 0 var(--space-xs);}
.progress-track span{display:block;height:100%;max-width:100%;background:var(--color-accent);}
.progress-label{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums;}
.progress-label strong{font-weight:500;color:var(--color-ink);}
.contacts-mini{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);}
.contacts-mini h3{font-size:var(--text-sm);font-weight:500;}.contacts-mini p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs);}.contacts-mini .icon-button{margin-left:auto;}
.attention-head{margin-top:var(--space-xl);}
.attention-list{border-top:1px solid var(--color-rule);}
.attention-row{width:100%;display:flex;gap:var(--space-md);align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);text-align:left;}
.attention-row>div{flex:1;min-width:0;}.attention-row h3{font-size:var(--text-data);}.attention-row p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs);}.attention-row>.icon{width:16px;height:16px;color:var(--color-muted);}.issue-indicator{color:var(--color-muted);display:flex;}
.dashboard-foot{display:flex;align-items:center;gap:var(--space-lg);color:var(--color-muted);font-size:var(--text-xs);border-top:1px solid var(--color-rule);margin-top:var(--space-xl);padding-top:var(--space-lg);}
.footer-wordmark{margin-left:auto;font-size:var(--text-sm);font-weight:600;letter-spacing:-.04em;color:var(--color-accent);}
.toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg);}
.tabs{display:flex;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-rule);}
.tab{position:relative;min-height:var(--hit-target);padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-muted);white-space:nowrap;border-bottom:2px solid var(--color-transparent);}
.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);}
.tab:hover{color:var(--color-ink);}
.filter-input{border:1px solid var(--color-field-edge);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);min-height:var(--hit-target);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);min-width:0;}
.toolbar .filter-input{margin-left:auto;min-width:220px;}
.record-grid{display:grid;grid-template-columns:minmax(0,1fr);}
.records-list{border-top:1px solid var(--color-ink);}
.record-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto 16px;align-items:start;gap:var(--space-md);width:100%;min-width:0;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);text-align:left;background:var(--color-paper);}
.record-card:hover :is(h2,h3){color:var(--color-accent);}
.record-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);margin-top:var(--space-2xs);}
.record-main{min-width:0;}.record-main :is(h2,h3){font-size:var(--text-lg);line-height:1.45;}.record-main>p{font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-2);max-width:65ch;margin-top:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-foot{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-sm);}
.record-aside{display:flex;gap:var(--space-xs);flex-direction:column;align-items:flex-end;max-width:210px;}.record-aside .pill{white-space:normal;text-align:right;}.row-chevron{width:16px;height:16px;color:var(--color-muted);margin-top:var(--space-xs);}
.poll-row-progress{max-width:420px;margin-top:var(--space-md);}.poll-row-progress .progress-track{margin-top:var(--space-xs);}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);}
.gallery-grid .record-card{display:flex;flex-direction:column;gap:var(--space-sm);border:0;padding:0;}
.gallery-image{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-card);background:var(--color-paper-2);}
.gallery-grid .record-aside{flex-direction:row;}.gallery-grid .row-chevron{display:none;}
.gallery-large{width:100%;max-height:500px;object-fit:contain;background:var(--color-paper-2);}
.document-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:var(--gap-columns);}
.folders{display:flex;flex-direction:column;gap:var(--space-2xs);}.folder-btn{display:flex;align-items:center;gap:var(--space-xs);min-height:var(--hit-target);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);font-size:var(--text-sm);color:var(--color-muted);text-align:left;}.folder-btn .icon{width:16px;height:16px;}.folder-btn small{margin-left:auto;}.folder-btn.active{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);}.folder-btn:hover{background:var(--color-paper-2);color:var(--color-ink);}
.table-wrap{max-width:100%;border-top:1px solid var(--color-ink);}
table{border-collapse:collapse;width:100%;text-align:left;}
th{font-size:var(--text-xs);font-weight:400;color:var(--color-muted);padding:var(--space-md);border-bottom:1px solid var(--color-rule);white-space:nowrap;}
td{font-size:var(--text-data);padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-rule);vertical-align:middle;line-height:1.6;}
th:first-child,td:first-child{padding-left:0;}th:last-child,td:last-child{padding-right:0;}
td strong{font-weight:500;}td .avatar{width:28px;height:28px;font-size:var(--text-xs);margin-right:var(--space-xs);vertical-align:middle;}
tbody tr[data-open]{cursor:pointer;}tbody tr[data-open]:hover{background:var(--color-paper-2);}tbody tr:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;}
.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;}.amount.income{color:var(--color-accent);}.amount.expense{color:var(--color-ink);}
td:has(.amount),th:has(.amount){text-align:right;}
.members-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gap-columns);border-top:1px solid var(--color-ink);}
.members-grid .record-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) 0;}
.members-grid .pill-row{width:100%;}.members-grid :is(h2,h3){font-size:var(--text-lg);}.members-grid p{font-size:var(--text-sm);color:var(--color-ink-2);}.members-grid .card-foot{width:100%;margin-top:auto;padding-top:var(--space-sm);}.badge-role{font-size:var(--text-xs);color:var(--color-muted);}
.empty{padding:var(--space-xl) var(--space-lg);border-top:1px solid var(--color-rule);text-align:left;}
.empty>.icon{color:var(--color-muted);width:24px;height:24px;margin-bottom:var(--space-md);}.empty h3{font-size:var(--text-lg);}.empty p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-xs);}.empty .btn{margin-top:var(--space-lg);}
.card{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);}
.info-box{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.75;border-radius:var(--radius-control);}
.info-box>.icon{width:16px;height:16px;margin-top:var(--space-2xs);color:var(--color-muted);}.intro-note{margin-bottom:var(--space-lg);}
.calendar{border-top:1px solid var(--color-ink);}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);}.calendar-head h2{font-size:var(--text-lg);text-transform:capitalize;}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}.calendar-week div{font-size:var(--text-xs);color:var(--color-muted);padding:var(--space-md) var(--space-xs);border-bottom:1px solid var(--color-rule);}
.calendar-cell{min-height:120px;min-width:0;padding:var(--space-xs);border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);}.calendar-cell:nth-child(7n){border-right:0;}.calendar-cell.out{background:var(--color-paper-2);color:var(--color-muted);}.calendar-cell>.day{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-bottom:var(--space-xs);}.calendar-cell.today>.day{background:var(--color-accent);color:var(--color-paper);border-radius:var(--radius-pill);}
.calendar-event{display:block;width:100%;text-align:left;padding:var(--space-2xs);margin-block:var(--space-2xs);border-radius:var(--radius-control);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-size:var(--text-xs);line-height:1.6;overflow-wrap:anywhere;}
.split-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap-columns);}.settings-section{margin-bottom:var(--space-lg);}.settings-section h2{margin-bottom:var(--space-lg);}.profile-card{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);}.profile-card>.avatar{width:48px;height:48px;font-size:var(--text-md);}.profile-card p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs);}.settings-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin-bottom:var(--space-lg);}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);}.field{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-sm);min-width:0;}.field.full{grid-column:1/-1;}.field>span{color:var(--color-ink-2);font-weight:500;}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;min-width:0;min-height:var(--hit-target);padding:var(--space-sm);background:var(--color-paper);border:1px solid var(--color-field-edge);border-radius:var(--radius-control);color:var(--color-ink);font-size:var(--text-data);line-height:1.6;}.field textarea{resize:vertical;min-height:120px;}.field small{font-size:var(--text-xs);color:var(--color-muted);line-height:1.6;}.field input[type=file]{font-size:var(--text-sm);}.field.checkbox{display:flex;flex-direction:row;align-items:center;min-height:var(--hit-target);}.field.checkbox input{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0;}.field.checkbox>span{font-weight:400;}
.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-sm);border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-lg);}
.error{background:var(--color-error-soft);color:var(--color-error);border-radius:var(--radius-control);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);line-height:1.7;margin-block:var(--space-md);}.error:empty{display:none;}
dialog{padding:0;border:0;border-radius:var(--radius-card);width:calc(100% - 32px);max-width:740px;max-height:90dvh;color:var(--color-ink);background:var(--color-paper);box-shadow:var(--shadow-card);overflow-y:auto;}
dialog::backdrop{background:var(--color-overlay);}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);border-bottom:1px solid var(--color-rule);position:sticky;top:0;z-index:var(--z-raised);background:var(--color-paper);}.dialog-head h2{font-size:var(--text-xl);line-height:1.4;}.dialog-head p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-xs);}.dialog-head>.icon-button{margin-top:calc(-1 * var(--space-xs));margin-right:calc(-1 * var(--space-xs));}.dialog-body{padding:var(--space-lg);}
.detail-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-md);line-height:1.85;color:var(--color-ink-2);margin-block:var(--space-lg);max-width:65ch;}.detail-meta{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md);}.detail-pair{display:flex;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-sm);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);line-height:1.7;}.detail-pair>span{color:var(--color-muted);}.detail-pair strong{font-weight:400;text-align:right;overflow-wrap:anywhere;min-width:0;}.detail-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-block:var(--space-lg);}
.comment-list{margin-block:var(--space-md);}.comment{padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);}.comment-header{display:flex;justify-content:space-between;gap:var(--space-md);font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-xs);}.comment-header strong{font-weight:500;color:var(--color-ink);}.comment p{font-size:var(--text-data);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;}.comment-form{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);}.comment-form input{min-width:0;flex:1;min-height:var(--hit-target);padding:var(--space-sm);border:1px solid var(--color-field-edge);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-data);}
.vote-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--hit-target);padding:var(--space-md);border:1px solid var(--color-field-edge);border-radius:var(--radius-control);margin-top:var(--space-xs);font-size:var(--text-data);}.vote-option:hover,.vote-option.selected{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);border-color:var(--color-accent);}.result-row{padding-block:var(--space-md);}.result-row .progress-track{margin-top:var(--space-xs);}.result-label{display:flex;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm);}.attendance-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:var(--space-sm);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);min-height:var(--hit-target);}.attendance-row input{accent-color:var(--color-accent);width:18px;height:18px;}
.quick-options{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-lg);}.quick-options .record-card{display:flex;align-items:center;gap:var(--space-sm);padding-block:var(--space-lg);}.quick-options h3{font-size:var(--text-data);}.quick-options .record-icon{margin:0;}
.search-results{max-height:55dvh;overflow:auto;margin-top:var(--space-lg);}.search-hit{display:block;width:100%;text-align:left;border-bottom:1px solid var(--color-rule);padding-block:var(--space-md);}.search-hit strong{display:block;font-weight:500;font-size:var(--text-data);}.search-hit small{font-size:var(--text-xs);color:var(--color-muted);display:block;margin-top:var(--space-2xs);}.search-hit:hover strong{color:var(--color-accent);}
.notification{display:flex;align-items:center;gap:var(--space-md);width:100%;min-width:0;text-align:left;border-bottom:1px solid var(--color-rule);padding-block:var(--space-md);font-size:var(--text-sm);}.notification>div{flex:1;min-width:0;}.notification small{display:block;color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-2xs);}.notification-state{font-size:var(--text-xs);color:var(--color-accent);}
.login-page{max-width:1120px;min-height:100dvh;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);padding:var(--space-2xl) var(--gutter);align-items:center;}
.login-story{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);}.login-story .logo{padding:0;align-self:flex-start;}.login-intro{margin-block:var(--space-2xl);}.login-story h1{font-size:44px;line-height:1.25;letter-spacing:-1.6px;max-width:20ch;font-weight:600;}.login-story .login-intro p{font-size:var(--text-md);color:var(--color-muted);line-height:1.8;max-width:45ch;margin-top:var(--space-lg);}.story-footer{font-size:var(--text-xs);color:var(--color-muted);}
.login-panel{width:100%;padding:var(--space-xl) 0 var(--space-xl) var(--space-xl);border-left:1px solid var(--color-rule);display:flex;align-items:center;justify-content:center;}.login-form{width:100%;max-width:380px;}.login-form h2{font-size:var(--text-xl);font-weight:600;}.login-form>p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-sm);margin-bottom:var(--space-lg);}.login-form .field{margin-bottom:var(--space-md);}.login-form .btn.primary{width:100%;}.auth-forgot{width:100%;margin-top:var(--space-xs);}.mock-login{width:100%;margin-top:var(--space-md);font-size:var(--text-xs);}.login-note{display:flex;gap:var(--space-xs);align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-lg);}.login-note .icon{width:16px;height:16px;}.demo-box{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);font-size:var(--text-xs);color:var(--color-muted);}.demo-box>strong{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-ink);margin-bottom:var(--space-sm);}.demo-account{display:flex;flex-direction:column;gap:var(--space-2xs);text-align:left;width:100%;min-height:var(--hit-target);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-rule);font-size:var(--text-xs);}.demo-account>b{font-size:var(--text-sm);font-weight:500;color:var(--color-ink);}.demo-account:hover>b{color:var(--color-accent);}.demo-box>p{font-size:var(--text-xs);margin-top:var(--space-md);line-height:1.8;}.auth-panel>p{line-height:1.8;}.auth-panel .btn.ghost{margin-top:var(--space-md);}
.security-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:var(--space-lg);margin-bottom:var(--space-lg);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);}.security-summary strong{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:500;}.security-summary p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-xs);}.security-status{display:flex;gap:var(--space-md);padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);}.security-status>.icon{color:var(--color-accent);width:24px;height:24px;}.security-status h3{font-size:var(--text-lg);}.security-status p{font-size:var(--text-sm);line-height:1.75;color:var(--color-ink-2);margin-top:var(--space-xs);}.security-history{max-height:300px;overflow:auto;}.mfa-enrollment{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-lg);align-items:center;}.mfa-enrollment img{max-width:100%;height:auto;}.field input.secret-key{font-family:var(--font-outlier);font-size:var(--text-xs);}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs);padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-control);}.recovery-grid code{font-family:var(--font-outlier);font-size:var(--text-caption);padding:var(--space-xs) 0;text-align:center;overflow-wrap:anywhere;}
.mock-nav{display:flex;gap:var(--space-xs);align-items:center;min-height:var(--hit-target);font-size:var(--text-xs);color:var(--color-muted);}.mock-nav .icon{width:16px;height:16px;}.mock-nav:hover{color:var(--color-ink);}.mock-page{max-width:1100px;margin-inline:auto;padding:var(--space-xl) var(--gutter);}.mock-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg);}.mock-heading p{font-size:var(--text-sm);line-height:1.7;color:var(--color-muted);margin-top:var(--space-sm);max-width:65ch;}.mock-environment{font-size:var(--text-xs);color:var(--color-muted);order:2;}.mock-filter{max-width:420px;margin-bottom:var(--space-lg);}.mock-message{display:flex;gap:var(--space-lg);align-items:center;width:100%;min-width:0;text-align:left;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);}.mock-message>.stat-icon{color:var(--color-muted);display:flex;}.mock-message>div{flex:1;min-width:0;}.mock-message strong{font-size:var(--text-data);font-weight:500;overflow-wrap:anywhere;}.mock-message p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-xs);overflow-wrap:anywhere;}.mock-message:hover strong{color:var(--color-accent);}
.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);color:var(--color-muted);}.brand-mark{font-size:var(--text-2xl);font-weight:600;color:var(--color-accent);}.view-loading{padding:var(--space-xl) 0;color:var(--color-muted);font-size:var(--text-sm);}
#toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%,var(--space-md));z-index:var(--z-toast);width:max-content;max-width:min(560px,calc(100% - 32px));padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);line-height:1.7;text-align:center;opacity:0;pointer-events:none;transition:opacity var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out);}
#toast.show{opacity:1;transform:translate(-50%,0);}#toast.error-toast{background:var(--color-error);color:var(--color-paper);}.nav-scrim{display:none;}.print-head,.print-only{display:none;}

@media(min-width:1600px){:root{--gutter:64px;}.stat{gap:var(--space-md);}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);}}
@media(max-width:1250px){.page-date{display:none;}.top-actions{gap:var(--space-xs);}.search-button kbd{display:none;}.search-button span{display:none;}.mock-nav span{display:none;}.mock-nav{justify-content:center;width:var(--hit-target);}.stat{display:block;}.stat strong,.stat small{display:block;}.stat small{margin-top:var(--space-xs);}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);}.document-layout{grid-template-columns:160px minmax(0,1fr);}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:60rem){:root{--header-height:64px;}.shell{display:block;}.workspace{width:100%;}.sidebar{transform:translateX(-100%);width:270px;transition:transform var(--dur-short) var(--ease-out);}.sidebar.open{transform:translateX(0);}.nav-scrim.open{display:block;position:fixed;inset:0;z-index:var(--z-sticky);background:var(--color-overlay);}.mobile-toggle{display:inline-flex;}.topbar{padding:var(--space-xs) var(--gutter);gap:var(--space-sm);}.breadcrumb{flex:1;}.breadcrumb>.icon:first-child{display:none;}.top-actions{gap:var(--space-2xs);}.user-button{border:0;padding:0;}.user-text,.user-button>.icon{display:none;}.main{padding-top:var(--space-lg);}.page-heading{margin-bottom:var(--space-lg);}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:var(--space-lg);}.post-title-row{display:block;}.pinned-label{margin-top:var(--space-xs);}.document-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-lg);}.folders{flex-direction:row;flex-wrap:wrap;}.folder-btn{min-height:40px;}.split-layout{grid-template-columns:minmax(0,1fr);}.calendar-cell{min-height:100px;}.calendar-event{font-size:var(--text-xs);}.login-page{gap:var(--space-xl);}.login-panel{padding-left:var(--space-lg);}.login-story h1{font-size:36px;}.mfa-enrollment{grid-template-columns:200px minmax(0,1fr);}.mock-heading{flex-direction:column;}.record-aside{max-width:160px;}}
@media(max-width:45rem){:root{--text-screen:1.7rem;--gap-columns:24px;}.main{padding-top:var(--space-lg);}.page-heading{display:block;}.heading-actions{margin-top:var(--space-md);flex-wrap:wrap;}.page-heading p{max-width:65ch;}.breadcrumb{font-size:var(--text-xs);gap:var(--space-xs);}.breadcrumb strong{display:none;}.breadcrumb>.icon:last-of-type{display:none;}.user-button .avatar{width:32px;height:32px;}.topbar{gap:var(--space-2xs);}.top-actions{gap:0;}.top-actions .icon-button,.top-actions .search-button{width:40px;justify-content:center;}.top-actions .mock-nav{width:32px;}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:var(--space-lg);}.stat{padding:var(--space-lg) var(--space-md);}.stat:nth-child(2){border-right:0;}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--color-rule);}.stat:nth-child(3){padding-left:0;}.stat:nth-child(2){padding-right:0;}.stat strong{font-size:var(--text-2xl);}.stat small{font-size:var(--text-caption);}.dashboard-grid{grid-template-columns:minmax(0,1fr);}.dashboard-side{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);}.dashboard-side .side-section:last-child{grid-column:1/-1;}.side-section{margin-bottom:var(--space-md);}.section-head h2{font-size:var(--text-lg);}.section-head{gap:var(--space-xs);}.link-arrow{font-size:var(--text-xs);}.post-card.post-pinned{padding:var(--space-lg);}.post-card.post-pinned :is(h2,h3){font-size:var(--text-lg);}.post-card :is(h2,h3){font-size:var(--text-lg);}.post-card>p{font-size:var(--text-md);}.post-footer{flex-wrap:wrap;gap:var(--space-xs);}.post-card.post-pinned .post-footer{margin-top:var(--space-md);}.read-button{margin-left:auto;font-size:var(--text-xs);}.author{font-size:var(--text-xs);}.author>span:last-child{gap:var(--space-xs);}.event-item{gap:var(--space-sm);padding-block:var(--space-md);}.date-tile{width:36px;}.event-item h3{font-size:var(--text-sm);}.poll-card{padding:var(--space-md);}.poll-card h3{font-size:var(--text-md);}.poll-card .btn{white-space:normal;}.poll-deadline{align-items:flex-start;flex-direction:column;gap:var(--space-xs);}.attention-row{gap:var(--space-sm);}.attention-row h3{font-size:var(--text-data);}.attention-row .issue-indicator{display:none;}.dashboard-foot{gap:var(--space-md);flex-wrap:wrap;}.toolbar{gap:var(--space-sm);}.tabs{gap:var(--space-md);max-width:100%;overflow-x:auto;}.tab{font-size:var(--text-sm);}.toolbar .tabs{flex:0 0 100%;}.toolbar .filter-input{width:auto;margin-left:0;min-width:min(100%,12rem);flex:1 1 12rem;}.filter-input{font-size:var(--text-md);}.record-card{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);padding-block:var(--space-lg);}.record-card>.record-icon{display:none;}.record-main :is(h2,h3){font-size:var(--text-lg);}.record-main>p{font-size:var(--text-md);}.record-aside{max-width:120px;}.record-aside .pill{font-size:var(--text-xs);}.row-chevron{display:none;}.card-foot{gap:var(--space-sm);font-size:var(--text-xs);}.gallery-grid{gap:var(--space-md);}.gallery-grid .record-main :is(h2,h3){font-size:var(--text-md);}.gallery-grid .record-main>p{font-size:var(--text-sm);}.members-grid{grid-template-columns:minmax(0,1fr);}.members-grid .record-card{display:flex;}.form-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-md);}.field.full{grid-column:auto;}.field input:not([type=checkbox]),.field select,.field textarea,.comment-form input{font-size:var(--text-md);}.field.checkbox{font-size:var(--text-sm);}.dialog-head{padding:var(--space-lg) var(--space-md);}.dialog-head h2{font-size:var(--text-lg);}.dialog-body{padding:var(--space-md);}.form-actions{gap:var(--space-xs);flex-wrap:wrap;}.detail-text{font-size:var(--text-md);}.detail-pair{font-size:var(--text-sm);gap:var(--space-md);}.detail-actions .btn{font-size:var(--text-xs);padding-inline:var(--space-sm);}.comment-header{flex-wrap:wrap;gap:var(--space-2xs);}.calendar-cell{min-height:94px;padding:var(--space-2xs);}.calendar-week div{padding:var(--space-sm) var(--space-2xs);}.calendar-cell>.day{font-size:var(--text-xs);width:24px;height:24px;}.calendar-event{font-size:var(--text-xs);padding:var(--space-2xs);}.calendar-head .heading-actions{margin-top:0;gap:0;}.calendar-head h2{font-size:var(--text-md);}.calendar-head .btn{padding-inline:var(--space-xs);}.calendar-grid{border-top:1px solid var(--color-rule);}.table-wrap table,.table-wrap tbody{display:block;}.table-wrap thead{display:none;}.table-wrap tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);}.table-wrap td{border:0;padding:0;min-width:0;font-size:var(--text-sm);white-space:normal;text-align:left;}.table-wrap td:first-child{grid-column:1/-1;padding-right:var(--space-lg);font-size:var(--text-md);}.table-wrap td:not(:first-child):not(:last-child)::before{content:attr(data-label);display:block;font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-2xs);}.table-wrap td:last-child:empty{display:none;}.table-wrap tr[data-open]>td:last-child{position:absolute;right:0;top:var(--space-lg);}.table-wrap tr:not([data-open]) td:last-child{position:static;grid-column:1/-1;}.table-wrap td .avatar{display:none;}.table-wrap td .amount{font-size:var(--text-md);}.login-page{display:block;min-height:100dvh;max-width:480px;padding:var(--space-lg) var(--gutter);}.login-story{display:block;padding:0;}.login-story .logo{font-size:32px;}.login-intro,.story-footer{display:none;}.login-panel{display:block;border:0;padding:var(--space-xl) 0 var(--space-lg);}.login-form{max-width:none;}.login-form h2{font-size:var(--text-xl);}.login-form .field input{font-size:var(--text-md);}.login-note{font-size:var(--text-xs);justify-content:flex-start;}.demo-account{font-size:var(--text-xs);}.security-summary{flex-direction:column;align-items:flex-start;gap:var(--space-md);}.security-status{padding:var(--space-md);gap:var(--space-sm);}.security-status h3{font-size:var(--text-md);}.security-status>.icon{width:20px;height:20px;}.security-status p{font-size:var(--text-sm);}.security-history .detail-pair{font-size:var(--text-xs);gap:var(--space-sm);}.mfa-enrollment{grid-template-columns:minmax(0,1fr);}.mfa-enrollment img{width:220px;margin-inline:auto;}.recovery-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);}.recovery-grid code{font-size:var(--text-sm);padding-block:var(--space-2xs);}.mock-page{padding-top:var(--space-lg);}.mock-heading h1{font-size:var(--text-xl);}.mock-heading .heading-actions{margin-top:0;}.mock-message{gap:var(--space-sm);}.mock-message>.stat-icon{display:none;}.mock-message>.icon{width:16px;height:16px;}.mock-message>.pill{white-space:nowrap;}.mock-message strong{font-size:var(--text-sm);}.mock-message p{font-size:var(--text-xs);}.info-box{font-size:var(--text-sm);}.quick-options{grid-template-columns:minmax(0,1fr);}.quick-options .record-card{display:flex;padding-block:var(--space-md);}}
@media(max-width:24rem){.dashboard-side{grid-template-columns:minmax(0,1fr);}.dashboard-side .side-section:last-child{grid-column:auto;}.record-card{display:flex;flex-direction:column;}.record-aside{flex-direction:row;max-width:none;align-items:flex-start;}.post-card.post-pinned{padding:var(--space-md);}.read-button{margin-left:0;}.page-heading h1{font-size:var(--text-xl);}.breadcrumb span{max-width:100px;}}
@media(pointer:coarse){.btn,.tab,.nav-item,.icon-button,.search-button,.read-button,.folder-btn,summary.nav-label{min-height:48px;}.icon-button{min-width:44px;}.field input:not([type=checkbox]),.field select{min-height:48px;}}
@media(prefers-reduced-motion:reduce){.sidebar,#toast{transition:none;}button:active,a.btn:active{transform:none;}}
@media print{body{background:var(--color-paper);color:var(--color-ink);}.sidebar,.topbar,.heading-actions,.toolbar,.dashboard-foot,.nav-scrim,#toast,.mock-nav{display:none!important;}.shell,.workspace{display:block;}.main{padding:0;max-width:none;}.print-head,.print-only{display:block;}.print-head{margin-bottom:var(--space-lg);}.dashboard-grid{display:block;}.dashboard-side{display:block;}.post-card,.record-card,.event-item{break-inside:avoid;}.post-card{padding-inline:0;}.post-card>p{display:block;overflow:visible;}dialog[open]{position:static;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;border-radius:0;}dialog::backdrop{background:var(--color-paper);}.dialog-head{position:static;padding:0 0 var(--space-lg);}.dialog-head .icon-button,.detail-actions,.comment-form,.form-actions{display:none!important;}.dialog-body{padding:var(--space-md) 0;}body:has(dialog[open]) #app{display:none;}.recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.table-wrap table{display:table;}.table-wrap thead{display:table-header-group;}.table-wrap tbody{display:table-row-group;}.table-wrap tr{display:table-row;}.table-wrap td{display:table-cell;position:static;padding:var(--space-sm);}.table-wrap td::before{display:none!important;}.calendar-cell{min-height:90px;}}

.stats-three{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:45rem){.finance-stats{grid-template-columns:minmax(0,1fr);}.finance-stats .stat{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-md) 0;border-right:0;border-top:1px solid var(--color-rule);}.finance-stats .stat:first-child{border-top:0;}.finance-stats .stat small{margin:0;}.stats-three:not(.finance-stats){grid-template-columns:repeat(3,minmax(0,1fr));}.stats-three:not(.finance-stats) .stat{padding:var(--space-md) var(--space-xs);border-top:0;border-right:1px solid var(--color-rule);}.stats-three:not(.finance-stats) .stat:first-child{padding-left:0;}.stats-three:not(.finance-stats) .stat:last-child{padding-right:0;border-right:0;}}
.no-script{max-width:40rem;margin:var(--space-xl) auto;padding:var(--space-lg);}.no-script p{margin-top:var(--space-lg);}

th.numeric-head{text-align:right;}
@media(max-width:45rem){
 .table-wrap tr[data-open=transactions] td[data-label="Popis"]{order:-1;grid-column:1/-1;font-size:var(--text-md);padding-right:var(--space-lg);}
 .table-wrap tr[data-open=transactions] td[data-label="Popis"]::before{display:none;}
 .table-wrap tr[data-open=transactions] td:first-child{grid-column:auto;font-size:var(--text-sm);padding:0;}
 .table-wrap tr[data-open=transactions] td:first-child::before{content:attr(data-label);display:block;font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-2xs);}
 .table-wrap tr[data-open=transactions] td[data-label="Částka"]{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);}
}

/* Operational registers use the same ruled list and form controls. */
.ops-list article{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);}.ops-list h2{font-size:var(--text-lg);margin-bottom:var(--space-xs);}.ops-list p{font-size:var(--text-sm);margin-top:var(--space-xs);overflow-wrap:anywhere;}.ops-list article>div{min-width:0;}.ops-list .btn{flex-shrink:0;}.ops-import-table{margin-block:var(--space-lg);overflow:auto;}
@media(max-width:45rem){.ops-list article{align-items:flex-start;flex-direction:column;}.ops-list .btn{max-width:100%;white-space:normal;}.ops-import-table table{display:table;}.ops-import-table tr{display:table-row;}.ops-import-table td{display:table-cell;padding:var(--space-sm);}.ops-import-table thead{display:table-header-group;}.ops-import-table td::before{display:none!important;}}

/* Operational history follows the same ruled lists as the rest of the house. */
.meter-graph{display:block;width:100%;max-height:160px;color:var(--color-accent);margin-top:var(--space-md)}
.assembly-motion{align-items:flex-start}.assembly-motion>div{width:100%;min-width:0}.assembly-motion h4{font-size:var(--text-md);margin:0 0 var(--space-xs)}
.ops-list details summary{cursor:pointer;color:var(--color-muted)}

.role-matrix{display:grid;gap:var(--space-md);margin-block:var(--space-lg)}
.role-matrix .field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-rule)}
.survey-questions{display:grid;gap:var(--space-lg);margin-block:var(--space-lg)}
.survey-question{min-width:0;border:0;border-top:1px solid var(--color-rule);padding:var(--space-lg) 0 0;margin:0;display:grid;gap:var(--space-sm)}
.survey-question legend,.survey-question h4{font-weight:600;font-size:var(--text-md);padding-right:var(--space-md);overflow-wrap:anywhere}
.survey-choice{display:flex;gap:var(--space-sm);align-items:flex-start;padding-block:var(--space-sm);cursor:pointer}.survey-choice input{margin-top:var(--space-2xs);accent-color:var(--color-accent)}
.survey-choice span,.survey-text-answer{overflow-wrap:anywhere;white-space:pre-wrap}.survey-text-answer{padding:var(--space-md) 0;border-top:1px solid var(--color-rule)}
@media(max-width:45rem){.role-matrix .field{grid-template-columns:minmax(0,1fr)}.survey-question .heading-actions{flex-wrap:wrap}}
.permission-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.poll-card .record-polls{border:0;grid-template-columns:minmax(0,1fr);padding:0}.poll-card .record-polls>.record-icon,.poll-card .record-polls>.record-aside,.poll-card .record-polls>.row-chevron{display:none}

.environment-badge{display:inline-flex;align-items:center;min-height:28px;padding:2px 8px;border:1px solid var(--color-rule);border-radius:6px;font-size:12px;white-space:nowrap;color:var(--color-muted)}

/* A readable agenda replaces the seven narrow calendar columns on small screens. */
.calendar-mobile{display:none;}
.calendar-event-time{white-space:nowrap;}
.calendar-event>span+span::before{content:", ";}
@media(max-width:45rem){
 .calendar-week,.calendar-grid{display:none;}
 .calendar-mobile{display:block;}
 .calendar-mobile section{padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);}
 .calendar-mobile h3{font-size:var(--text-md);margin-bottom:var(--space-xs);}
 .calendar-agenda-event{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-sm) 0;text-align:left;font-size:var(--text-md);line-height:1.5;}
 .calendar-agenda-event>span:last-child{overflow-wrap:break-word;}
}
@media print{.calendar-mobile{display:none;}.calendar-week,.calendar-grid{display:grid;}}

/* Record identity remains available when the application shell is hidden for printing. */
.print-house{display:none;}
@media print{.print-house{display:block;margin-bottom:1rem;border-bottom:1px solid #aaa;padding-bottom:.5rem;}.print-house p{margin-top:.25rem;}}

/* Context help is supplementary; errors, values and action consequences stay visible. */
.heading-with-help{display:flex;align-items:center;gap:var(--space-xs);min-width:0;}
.heading-with-help :is(h1,h2){min-width:0;}
.page-heading>div:first-child{min-width:0;}
.context-help{display:inline-flex;vertical-align:middle;flex-shrink:0;}
.help-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--color-muted);padding:0;flex-shrink:0;}
.help-trigger .icon{width:18px;height:18px;}
.help-trigger:hover,.help-trigger[aria-expanded=true]{background:var(--color-accent-soft);color:var(--color-accent);}
.help-popover{position:fixed;z-index:var(--z-toast);display:block;width:320px;max-width:calc(100vw - 16px);max-height:min(320px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain;padding:14px 16px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper);box-shadow:0 6px 24px rgb(20 32 50 / .14);color:var(--color-ink-2);font-size:var(--text-caption);font-weight:400;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere;text-align:left;}
.help-popover[hidden]{display:none;}
.context-note{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);margin-block:var(--space-sm);}
.field-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:24px;}
.field-label label{color:var(--color-ink-2);font-weight:500;}
.field.checkbox>label{color:var(--color-ink-2);font-weight:400;}
.help-guide{display:grid;gap:var(--space-lg);}
.help-guide p{font-size:var(--text-sm);line-height:1.8;color:var(--color-muted);margin-top:var(--space-xs);}
.login-page{display:grid;grid-template-columns:minmax(0,1fr);place-items:start center;max-width:none;min-height:100dvh;padding:clamp(32px,8vh,72px) var(--space-lg);gap:0;}
.login-page .login-panel{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:400px;margin:0;padding:0;border:0;}
.login-page .logo{align-self:center;padding:0;margin-bottom:var(--space-xl);}
.login-page .brand-lockup{width:300px;}
.login-page .login-form{max-width:none;}
.login-form .heading-with-help{margin-bottom:var(--space-lg);justify-content:space-between;}
.login-form h1{font-size:var(--text-xl);font-weight:600;}
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--space-md);margin-top:var(--space-sm);}
.auth-links .btn{font-size:var(--text-xs);min-height:44px;width:auto;margin:0;padding:0;}
.demo-box{margin-top:var(--space-lg);padding-top:var(--space-md);}
.demo-box summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);list-style:none;}
.demo-box summary::after{content:'+';margin-left:auto;}
.demo-box[open] summary::after{content:'−';}
.demo-box summary::-webkit-details-marker{display:none;}
.login-note{display:block;font-size:var(--text-xs);line-height:1.7;color:var(--color-muted);margin-top:var(--space-md);}
@media(max-width:45rem){
 .help-trigger{width:44px;height:44px;}
 .heading-with-help{gap:var(--space-2xs);}
 .login-page{padding:var(--space-lg) var(--space-md);}
 .login-page .logo{margin-bottom:var(--space-lg);}
 .tabs{flex-wrap:wrap;overflow:visible;gap:0 var(--space-md);}
 .tabs .tab{white-space:normal;text-align:left;}
}
@media print{.context-help,.context-note{display:none!important;}}
.document-folder-menu,.mobile-mock{display:none;}
@media(max-width:45rem){
 .topbar{gap:0;}
 .top-actions .mock-nav{display:none;}
 .top-actions .environment-badge{padding-inline:4px;}
 .mobile-mock{display:flex;}
 .tabs{column-gap:12px;}
 .document-layout>.folders{display:none;}
 .document-folder-menu{display:block;margin-bottom:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-control);}
 .document-folder-menu summary{display:flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-sm);cursor:pointer;list-style:none;font-size:var(--text-sm);color:var(--color-accent);}
 .document-folder-menu summary::-webkit-details-marker{display:none;}
 .document-folder-menu summary>.icon:last-child{margin-left:auto;}
 .document-folder-menu .folders{display:flex;flex-direction:column;align-items:stretch;padding:0 var(--space-xs) var(--space-xs);}
}

/* Installation-wide administration shares the application controls and table behaviour. */
.platform-page{min-height:100dvh;}
.platform-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--gutter);border-bottom:1px solid var(--color-rule);background:var(--color-paper-2);}
.platform-header .heading-actions{flex-wrap:wrap;}
.platform-main{max-width:1200px;margin:0 auto;padding:36px var(--gutter);}
.platform-search{display:flex;align-items:flex-end;gap:12px;margin:24px 0 16px;max-width:600px;}
.platform-search .field{flex:1;margin:0;min-width:0;}
.platform-confirm{border:0;border-top:1px solid var(--color-rule);padding:20px 0 0;margin:24px 0 0;min-width:0;}
.platform-confirm legend{padding-right:12px;font-weight:600;font-size:var(--text-sm);}
.platform-table td{white-space:normal;overflow-wrap:anywhere;}
.platform-audit-data{font:12px/1.6 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:42rem;}
@media(max-width:45rem){.platform-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px;}.platform-header .heading-actions{gap:8px;}.platform-main{padding:24px 16px;}.platform-main .page-heading{gap:16px;}.platform-table td{min-width:0;}.platform-search{gap:8px;}}

/* Logout is a visible action; opening or saving a profile is never required. */
.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;}
.logout-button>.icon{width:18px;height:18px;}
.logout-button:hover{background:var(--color-paper-2);border-color:var(--color-muted);}
.logout-button:disabled{cursor:wait;}
@media(max-width:70rem) and (min-width:60.001rem){.top-actions{gap:8px;}.search-button span,.search-button kbd{display:none;}.user-text{display:none;}}
@media(max-width:45rem){.topbar{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 8px;padding:8px 16px;}.topbar .top-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;min-width:0;}.topbar .top-actions>.environment-badge{margin-right:auto;}.topbar .logout-button{gap:5px;padding-inline:8px;font-size:12px;}.topbar .breadcrumb{min-height:36px;}.topbar .breadcrumb span{max-width:none;}.topbar .top-actions .user-button{min-width:36px;}}
.topbar .breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:45rem){.topbar{position:relative;}.topbar .breadcrumb{padding-right:52px;}.topbar .top-actions>.environment-badge{position:absolute;right:16px;top:18px;margin:0;}.topbar .top-actions>button{min-width:44px;}.topbar .top-actions .user-button{justify-content:center;min-width:44px;}}

/* Common actions stay visible without turning the whole row into a nested control. */
.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--space-lg);}
.record-entry{min-width:0;border-bottom:1px solid var(--color-rule);}
.record-entry>.record-card{border-bottom:0;padding-bottom:var(--space-sm);}
.record-quick-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 var(--space-md) 48px;}
.record-quick-actions .btn{min-height:44px;font-size:var(--text-sm);}
.list-search-control{display:flex;align-items:center;min-width:0;margin-left:auto;gap:4px;}
.toolbar .list-search-control .filter-input{margin:0;min-width:0;width:220px;}
.list-search-control .icon-button{flex-shrink:0;min-width:44px;min-height:44px;}
.list-search-control [hidden]{display:none;}
.members-grid .card-foot{flex-wrap:wrap;}
.members-grid .card-foot .btn{min-height:44px;}
.empty>.btn{margin-top:var(--space-md);}
@media(max-width:45rem){
 .quick-actions .btn{flex:1 1 auto;min-height:44px;white-space:normal;}
 .record-quick-actions{padding-left:0;}
 .list-search-control{flex:1 1 12rem;max-width:100%;margin-left:0;}
 .toolbar .list-search-control .filter-input{width:100%;flex:1 1 0;}
}

.platform-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;}
.platform-table .storage-usage{min-width:126px;}
.storage-usage{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;max-width:360px;}
.storage-usage meter{display:block;flex:0 0 100%;width:100%;height:8px;accent-color:var(--color-accent);}
.storage-warning strong{color:#92400e;}
.platform-capacity{padding:20px 0;border-block:1px solid var(--color-rule);margin-block:20px;}
.platform-admin-actions{display:flex;flex-wrap:wrap;gap:8px;}
.onboarding-panel{border:1px solid var(--color-rule);border-radius:var(--radius-control);padding:20px;margin-bottom:24px;}
.onboarding-panel h2{font-size:var(--text-lg);margin-bottom:12px;}
.onboarding-step{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:12px;}
.onboarding-step>div{flex:1 1 240px;}
.onboarding-step p{color:var(--color-muted);font-size:var(--text-sm);margin-top:4px;}
@media(max-width:45rem){.platform-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.platform-admin-actions{flex-direction:column;align-items:stretch;}.platform-table .storage-usage{min-width:0;}.onboarding-panel{padding:16px;}}

/* Campaign controls must remain reachable even with unbroken meter identifiers. */
.campaign-card{min-width:0;}.campaign-card>div{width:100%;min-width:0;}.campaign-card h2{overflow-wrap:anywhere;}.campaign-reading>span{min-width:0;overflow-wrap:anywhere;white-space:normal;}
@media(max-width:45rem){.campaign-reading{flex-wrap:wrap;align-items:flex-start;}.campaign-reading>span{flex:1 1 100%;}.campaign-reading>.btn{margin-left:auto;max-width:100%;}}
