:root {
    --brand-magenta: #a03570;
    --brand-blue: #338bba;
    --brand-yellow: #f0bc02;
    --brand-green: #92b547;
    --brand-orange: #e08039;
    --link-blue: #1f668a;
    --success-ink: #5f7928;
    --warning-ink: #a94d17;
    --danger: #b3261e;
    --ink: #242620;
    --muted: #62685f;
    --canvas: #faf8f3;
    --surface: #ffffff;
    --surface-soft: #f2f0ea;
    --line: #d9ddd6;
    --focus: #1f668a;
    --shadow: 0 16px 42px rgba(36, 38, 32, 0.08);
    --shadow-soft: 0 8px 24px rgba(36, 38, 32, 0.06);
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    font-family: system-ui, "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: var(--canvas);
}

/* Simple board capture for family and parent hours. */
.family-hours-admin-heading{align-items:flex-start}.family-hours-cleaning-note{margin:0 0 1rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--accent,#a03570) 22%,var(--line,#d8d4ca));border-radius:1rem;background:color-mix(in srgb,var(--accent,#a03570) 7%,white);line-height:1.55}.family-hours-batch-card,.family-hours-batches{margin-top:1rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--line,#d8d4ca);border-radius:1.25rem;background:var(--surface,#fff)}.family-hours-batch-card form{display:grid;gap:1.2rem}.family-hours-batch-fields{display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(14rem,1fr) minmax(18rem,2fr);gap:1rem;align-items:end}.family-hours-batch-fields>label,.family-hours-batch-fields fieldset{display:grid;gap:.4rem;margin:0}.family-hours-batch-fields fieldset{padding:0;border:0}.family-hours-batch-fields fieldset>div{display:flex;align-items:end;gap:.45rem}.family-hours-batch-fields fieldset label{display:grid;gap:.25rem}.family-hours-batch-fields fieldset input{width:5.5rem}.family-hours-family-list{margin:0;padding:0;border:0}.family-hours-family-list>header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.45rem 0 .65rem}.family-hours-family-list>header label,.family-hours-family-list>div label{display:flex;align-items:center;gap:.65rem;min-height:2.75rem;margin:0;padding:.45rem .7rem;border-radius:.75rem}.family-hours-family-list>header input,.family-hours-family-list>div input{width:1.25rem!important;height:1.25rem!important;min-width:1.25rem;min-height:1.25rem;margin:0;flex:0 0 1.25rem}.family-hours-family-list>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.55rem;border:1px solid var(--line,#d8d4ca);border-radius:1rem;max-height:25rem;overflow:auto}.family-hours-family-list>div label:hover{background:var(--surface-soft,#f6f3ed)}.family-hours-batch-card button:disabled{opacity:.48;cursor:not-allowed}.family-hours-batches h2{margin-top:0}.family-hours-batches ol{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.family-hours-batches li{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.8rem;border-bottom:1px solid var(--line,#d8d4ca)}.family-hours-batches li:last-child{border-bottom:0}.family-hours-batches li span{white-space:nowrap}
@media(max-width:800px){.family-hours-batch-fields{grid-template-columns:1fr 1fr}.family-hours-activity{grid-column:1/-1}.family-hours-family-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}.family-hours-batches li{grid-template-columns:1fr auto}.family-hours-batches li time{grid-column:1/-1}}
@media(max-width:520px){.family-hours-admin-heading .button{width:100%}.family-hours-batch-fields,.family-hours-family-list>div{grid-template-columns:1fr}.family-hours-activity{grid-column:auto}.family-hours-family-list>header{align-items:flex-start;flex-direction:column}.family-hours-batches li{grid-template-columns:1fr}.family-hours-batches li time{grid-column:auto}.family-hours-batches li span{white-space:normal}}

/* Work-safety workspace */
.work-safety-tabs{margin-bottom:1rem}.work-safety-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.work-safety-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.work-safety-callout{border-color:var(--color-success,#567c54)}.work-safety-icon{display:grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:999px;background:#e5f1e4;color:#315b37;font-size:1.3rem;font-weight:800}.work-safety-intro-grid .button+.button{margin-left:.5rem}
.work-safety-profile{margin-top:1rem}.work-safety-profile dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.work-safety-profile dl>div{padding:.75rem;border-radius:.7rem;background:#f4f7f2}.work-safety-profile dt{color:var(--color-muted,#687068);font-size:.85rem}.work-safety-profile dd{margin:.2rem 0 0;font-size:1.25rem;font-weight:750}.work-safety-profile aside{margin-top:1rem;padding:.85rem 1rem;border-left:4px solid #d2b35b;background:#fff9e8}.work-safety-profile aside p{margin:.3rem 0 0}.work-safety-document-layout,.work-safety-checklist-layout{display:grid;grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);gap:1rem;align-items:start}.work-safety-document-list,.work-safety-checklist-list{display:grid;gap:1rem}.work-safety-document-list section,.work-safety-checklist-list section{min-width:0}.work-safety-document-list h2,.work-safety-checklist-list h2{margin:0 0 .45rem;font-size:.9rem;color:var(--color-muted,#687068)}.work-safety-document-list ol,.work-safety-checklist-list ol{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.work-safety-document-list a,.work-safety-checklist-list a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--color-border,#d9ded6);border-radius:.8rem;background:var(--color-surface,#fff);color:inherit;text-decoration:none}.work-safety-document-list a:hover,.work-safety-document-list a:focus-visible,.work-safety-checklist-list a:hover,.work-safety-checklist-list a:focus-visible{border-color:var(--color-accent,#567c54);box-shadow:0 0 0 2px rgba(67,105,70,.1)}.work-safety-document-list a[aria-current="page"],.work-safety-checklist-list a[aria-current="page"]{border-color:#466f4b;background:#f0f6ef}.work-safety-document-list span,.work-safety-checklist-list span{display:grid;gap:.2rem}.work-safety-document-list small,.work-safety-checklist-list small{color:var(--color-muted,#687068)}.work-safety-document>.section-heading{align-items:flex-start}.work-safety-preview,.work-safety-editor,.work-safety-signed-upload{margin-top:1rem}.work-safety-preview>summary,.work-safety-signed-upload>summary{font-weight:700;cursor:pointer}.work-safety-editor>form,.work-safety-signed-upload>form{display:grid;gap:.8rem;margin-top:1rem}.work-safety-editor textarea{width:100%;min-height:34rem;font:500 .9rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.work-safety-markdown{max-width:52rem;margin-inline:auto}.work-safety-markdown .work-safety-field{display:block;margin:.75rem 0;color:#505850;font-size:.9rem}.work-safety-markdown .work-safety-field span{display:block;font-weight:650}.work-safety-markdown .work-safety-field i{display:block;height:1.7rem;border-bottom:1px solid #8b948b}.work-safety-signed-list>ol,.work-safety-runs>ol{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.work-safety-signed-list li,.work-safety-runs li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--color-border,#d9ded6)}.work-safety-signed-list li>div,.work-safety-runs li>div{display:grid;gap:.2rem}.work-safety-signed-list small,.work-safety-runs small{color:var(--color-muted,#687068)}
.work-safety-checklist>form{display:grid;gap:1rem}.work-safety-check-items{border:0;margin:0;padding:0;display:grid;gap:.65rem}.work-safety-check-items legend{font-weight:750;margin-bottom:.7rem}.work-safety-check-items>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-border,#d9ded6);border-radius:.65rem}.work-safety-check-items>div>span{grid-column:1/-1}.work-safety-check-items label{display:flex;align-items:center;gap:.3rem;min-width:0}.checklist-readonly{padding-left:1.2rem}.status-pass{background:#e7f2e5;color:#28542e}.status-attention{background:#fff2cf;color:#785718}.status-fail{background:#f9dedd;color:#852d2d}
.work-safety-callout .button-primary,.work-safety-document .button-primary,.work-safety-checklist .button-primary{border-color:#7a2454;background:#7a2454;color:#fff}.work-safety-callout .button-primary:hover,.work-safety-document .button-primary:hover,.work-safety-checklist .button-primary:hover{border-color:#5f193f;background:#5f193f;color:#fff}
@media(max-width:900px){.work-safety-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.work-safety-profile dl{grid-template-columns:repeat(2,minmax(0,1fr))}.work-safety-intro-grid,.work-safety-document-layout,.work-safety-checklist-layout{grid-template-columns:1fr}.work-safety-document-list,.work-safety-checklist-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.work-safety-summary,.work-safety-document-list,.work-safety-checklist-list,.work-safety-profile dl{grid-template-columns:1fr}.work-safety-check-items>div{grid-template-columns:1fr 1fr 1fr}.work-safety-check-items>div>span{grid-column:1/-1}.work-safety-document>.section-heading{display:grid}.work-safety-document>.section-heading .button{width:100%}.work-safety-signed-list li,.work-safety-runs li{align-items:flex-start;flex-direction:column}.work-safety-intro-grid .button{display:flex;margin:.4rem 0 0}.work-safety-intro-grid .button+.button{margin-left:0}}

/* Installable PWA, offline vault and runtime state */
.pwa-runtime-status{position:fixed;z-index:1200;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:.75rem;max-width:min(92vw,44rem);padding:.65rem .75rem .65rem 1rem;border:1px solid #d2b35b;border-radius:999px;background:#fff8dc;color:#242620;box-shadow:0 12px 34px rgba(36,38,32,.18)}
.pwa-runtime-status[hidden]{display:none}.pwa-runtime-status .button{min-height:2.5rem;padding:.4rem .8rem}
.pwa-offline-page{min-height:100vh;background:linear-gradient(145deg,#faf8f3 0%,#f5edf2 100%);color:#242620}
.offline-shell{width:min(70rem,calc(100% - 2rem));margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 0 max(3rem,env(safe-area-inset-bottom))}
.offline-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:clamp(2rem,7vw,5rem)}.offline-brand img{width:3rem;height:3rem}.offline-brand div{display:grid}.offline-brand span{color:#62665c}
.offline-intro{max-width:45rem}.offline-intro h1{font-size:clamp(2rem,7vw,4.5rem);margin:.35rem 0 1rem;letter-spacing:-.035em}.offline-intro p{font-size:1.08rem;max-width:62ch}
.offline-vault{margin-top:clamp(2.5rem,6vw,5rem);padding:clamp(1rem,3vw,2rem);border:1px solid #d9ddd6;border-radius:1.25rem;background:rgba(255,255,255,.88);box-shadow:0 16px 50px rgba(36,38,32,.08)}
.offline-snapshot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem}.offline-snapshot-card{display:grid;gap:.25rem;min-height:4.5rem;padding:1rem;text-align:left;border:1px solid #d9ddd6;border-radius:.85rem;background:#fff;color:#242620;cursor:pointer}.offline-snapshot-card:hover,.offline-snapshot-card:focus-visible{border-color:#a03570;box-shadow:0 0 0 2px rgba(160,53,112,.14)}.offline-snapshot-card small{color:#62665c}
.offline-snapshot{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #d9ddd6}.offline-snapshot:focus{outline:none}.offline-readonly-label{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#f0bc02;color:#242620;font-weight:700}
.choice-row-remember{display:flex!important;align-items:flex-start;gap:.7rem}.choice-row-remember input{width:1.25rem!important;height:1.25rem;margin:.1rem 0 0;flex:0 0 auto}
.device-onboarding{max-width:58rem;margin:1.25rem auto 0;border:1px solid var(--line);border-radius:1.35rem;background:var(--surface);overflow:hidden}.device-onboarding-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.36fr);gap:2rem;align-items:end;padding:clamp(1.25rem,3vw,2rem);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-magenta) 7%,white),color-mix(in srgb,var(--brand-green) 8%,white))}.device-onboarding-heading h2,.device-onboarding-heading p{margin:0}.device-onboarding-heading h2{margin-top:.25rem;font-size:clamp(1.55rem,3vw,2.2rem);text-wrap:balance}.device-onboarding-heading p{max-width:44rem;margin-top:.5rem;color:var(--muted)}.device-onboarding-progress{display:grid;gap:.55rem;min-width:0}.device-onboarding-progress strong{font-size:.9rem}.device-onboarding-progress progress{width:100%;height:.75rem;accent-color:var(--brand-green)}.device-onboarding-steps{display:grid;gap:0;margin:0;padding:0;list-style:none}.device-onboarding-step{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;padding:1.25rem clamp(1.1rem,3vw,2rem);border-top:1px solid var(--line);transition:background .15s ease}.device-onboarding-step.is-current{background:color-mix(in srgb,var(--brand-yellow) 8%,white)}.device-onboarding-step>div{min-width:0}.device-onboarding-step>div>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.device-onboarding-step h3,.device-onboarding-step p{margin:0}.device-onboarding-step>div>p{max-width:48rem;margin-top:.35rem;color:var(--muted)}.device-onboarding-step .app-capability-status{margin:.65rem 0;color:var(--ink)}.device-onboarding-number{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;background:var(--surface-soft);color:var(--ink);font-weight:850}.device-onboarding-step.is-complete .device-onboarding-number{background:var(--brand-green);color:#fff}.device-onboarding-state{display:inline-flex;align-items:center;min-height:1.8rem;padding:.22rem .58rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.device-onboarding-step.is-complete .device-onboarding-state{background:color-mix(in srgb,var(--brand-green) 18%,white);color:var(--success-ink)}.device-onboarding-actions{display:flex;flex-wrap:wrap;gap:.55rem}.device-onboarding-step .app-help-details{margin-top:.75rem}.device-onboarding-step .app-help-details>summary,.device-onboarding-step .calendar-subscription-reveal>summary,.device-onboarding-step .calendar-link-settings>summary{display:flex;align-items:center;width:fit-content;min-height:44px;color:var(--link-blue);cursor:pointer;font-weight:750}.device-onboarding-step [data-push-categories]{display:grid;gap:.25rem;margin:.7rem 0;padding:0;border:0}.device-onboarding-step .calendar-subscription-reveal{display:block;margin-top:.7rem}.device-onboarding-step .calendar-subscription-reveal[open]{padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-soft)}.device-onboarding-step .calendar-subscription-reveal>label{display:block;margin-top:.75rem;font-weight:750}.device-onboarding-step .calendar-link-settings{margin-top:.7rem}.device-onboarding-step .calendar-link-settings form{padding-top:.65rem}.device-onboarding-complete{margin:0;padding:1rem clamp(1.1rem,3vw,2rem);border-top:1px solid color-mix(in srgb,var(--brand-green) 35%,var(--line));background:color-mix(in srgb,var(--brand-green) 12%,white);color:var(--success-ink);font-weight:800}.device-advanced-settings{max-width:58rem;margin:1rem auto 0;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.device-advanced-settings>summary{display:grid;gap:.2rem;min-height:44px;padding:1rem 1.2rem;cursor:pointer}.device-advanced-settings>summary span{color:var(--muted);font-size:.88rem;font-weight:500}.device-advanced-grid{display:grid;gap:1rem;padding:0 1rem 1rem}.device-advanced-grid .app-capability-card,.device-advanced-grid .trusted-devices{margin:0}.device-advanced-grid .trusted-devices{max-width:none}.device-advanced-grid .form-help{margin-bottom:0}.device-advanced-grid .danger-zone{margin-top:1rem}.device-advanced-grid .danger-zone>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--danger);font-weight:750}
.device-onboarding-step.is-complete .device-onboarding-state{color:#334d11}
.device-rollout-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:clamp(1.25rem,3vw,2.25rem);align-items:center;margin:0 0 1.5rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--brand-green) 34%,var(--line));border-radius:1.25rem;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-yellow) 8%,white),color-mix(in srgb,var(--brand-green) 7%,white));box-shadow:0 12px 30px rgba(36,38,32,.06)}.device-rollout-card[hidden]{display:none}.device-rollout-dismiss{position:absolute;top:.55rem;right:.55rem;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.55rem .7rem;border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.78rem;font-weight:750}.device-rollout-dismiss:hover,.device-rollout-dismiss:focus-visible{color:var(--ink)}.device-rollout-copy{min-width:0;padding-right:4rem}.device-rollout-copy h2{max-width:29ch;margin:.25rem 0 .4rem;font-size:clamp(1.35rem,2.5vw,1.85rem);text-wrap:balance}.device-rollout-copy>p{max-width:62ch;margin:0;color:var(--muted)}.device-rollout-progress{display:grid;grid-template-columns:auto minmax(8rem,1fr);gap:.8rem;align-items:center;max-width:34rem;margin:1rem 0}.device-rollout-progress strong{font-size:.84rem}.device-rollout-progress progress{width:100%;height:.7rem;accent-color:var(--brand-green)}.device-rollout-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:0 0 1rem;padding:0;list-style:none}.device-rollout-steps li{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.15rem .45rem;align-items:center;min-width:0;padding:.6rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.75)}.device-rollout-steps li>span{grid-row:1/3;width:.75rem;height:.75rem;border:2px solid var(--muted);border-radius:50%}.device-rollout-steps strong,.device-rollout-steps small{min-width:0;overflow-wrap:anywhere}.device-rollout-steps strong{font-size:.78rem;line-height:1.2}.device-rollout-steps small{color:var(--muted);font-size:.7rem}.device-rollout-steps li.is-complete>span{border-color:var(--brand-green);background:var(--brand-green);box-shadow:inset 0 0 0 2px white}.device-rollout-steps li.is-complete small{color:var(--success-ink)}.device-rollout-qr{display:grid;justify-items:center;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;text-align:center}.device-rollout-qr img{display:block;width:9rem;height:9rem}.device-rollout-qr small{max-width:16ch;color:var(--muted);font-size:.76rem}.device-onboarding-step[id]{scroll-margin-top:6rem}
.app-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1rem;margin-top:1.5rem;min-width:0}.app-settings-grid>*{min-width:0}.app-capability-card{display:flex;align-items:flex-start;gap:1rem;max-width:none;margin:0}.app-capability-card>div,.app-capability-card [data-push-settings],.app-capability-card fieldset{min-width:0;max-width:100%}.app-capability-icon{display:grid;place-items:center;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;border-radius:.9rem;background:#f5edf2;color:#a03570;font-size:1.5rem;font-weight:800}.app-capability-card h2{margin:.1rem 0 .5rem}.app-capability-card h2,.app-capability-card p{overflow-wrap:anywhere}.app-capability-card [data-pwa-install-state]{margin:.65rem 0 0}.app-capability-card .notification-actions{display:grid;grid-template-columns:minmax(0,1fr)}.app-capability-card .notification-actions .button{min-width:0;width:100%;white-space:normal}.app-capability-status{font-weight:700;color:#5b6155}.trusted-devices{max-width:none;margin-top:1rem}.trusted-device-list{display:grid;gap:.75rem;padding:0;list-style:none}.trusted-device-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d9ddd6;border-radius:.9rem;background:#fff}.trusted-device-card>div{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .65rem}.trusted-device-card small{flex-basis:100%;color:#62665c}
.personal-calendar-card{grid-column:1/-1}.personal-calendar-card>div{display:grid;gap:.75rem;width:100%}.personal-calendar-card form{display:grid;justify-items:start;gap:.5rem}.calendar-subscription-reveal{display:grid;gap:.75rem}.calendar-subscription-reveal>label{font-weight:750}.calendar-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.calendar-url-row input{width:100%;min-width:0}.calendar-provider-title{margin:.45rem 0 0;font-size:1.05rem}.calendar-client-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.calendar-client-options>section{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.9rem;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.calendar-client-options>section>div{display:grid;gap:.35rem}.calendar-client-options strong{font-size:1rem}.calendar-client-options p{margin:0;color:var(--muted);font-size:.9rem}.calendar-client-options .button{width:100%;white-space:normal}.calendar-link-settings{margin-top:.25rem}.calendar-link-settings>summary{cursor:pointer;color:var(--muted);font-weight:700}.calendar-link-settings form{padding-top:.65rem}.calendar-subscription-entry{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid #d8c5d0;border-radius:var(--radius-md);background:#fbf5f8}.calendar-subscription-entry>div{display:grid;gap:.2rem}.calendar-subscription-entry h2{margin:0;font-size:1.1rem}.calendar-subscription-entry p{max-width:65ch;margin:0;color:var(--muted)}.calendar-subscription-entry .button{flex:0 0 auto}
@media(max-width:900px){.device-onboarding-heading{grid-template-columns:1fr;gap:1rem}.device-onboarding-progress{max-width:22rem}.app-settings-grid{grid-template-columns:1fr}.trusted-device-card{align-items:flex-start}.account-tabs{flex-wrap:wrap;gap:.25rem 1rem;max-width:100%}.app-capability-card h2,.app-capability-card p{overflow-wrap:anywhere}.app-capability-card .notification-actions{display:grid;grid-template-columns:minmax(0,1fr)}.app-capability-card .notification-actions .button{min-width:0;width:100%;white-space:normal}.calendar-url-row{grid-template-columns:1fr}.calendar-url-row .button{width:100%}.calendar-client-options{grid-template-columns:1fr}.calendar-subscription-entry{align-items:stretch;flex-direction:column}.calendar-subscription-entry .button{width:100%;justify-content:center}}
@media(max-width:600px){.device-onboarding{margin-top:.75rem;border-radius:1rem}.device-onboarding-heading{padding:1.15rem}.device-onboarding-step{grid-template-columns:2.3rem minmax(0,1fr);gap:.75rem;padding:1rem}.device-onboarding-number{width:2.15rem;height:2.15rem}.device-onboarding-step>div>header{align-items:flex-start;display:grid;gap:.35rem}.device-onboarding-state{justify-self:start}.device-onboarding-actions,.device-onboarding-actions .button,.device-onboarding-step>[data-pwa-install],.device-onboarding-step .button-primary{width:100%}.device-onboarding-step .calendar-subscription-reveal[open]{margin-inline:-.25rem;padding:.8rem}.device-advanced-settings{border-radius:.9rem}.device-advanced-grid{padding-inline:.7rem}.trusted-device-card{align-items:stretch;flex-direction:column}.trusted-device-card form,.trusted-device-card form .button{width:100%}.pwa-runtime-status{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));transform:none;border-radius:1rem;justify-content:space-between}.offline-shell{width:min(100% - 1.25rem,70rem)}.offline-vault{border-radius:1rem}}
@media(max-width:900px){.device-rollout-card{grid-template-columns:1fr}.device-rollout-copy{padding-right:2.25rem}.device-rollout-qr{display:none}.device-rollout-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.device-rollout-card{margin-inline:-.15rem;padding:1rem;border-radius:1rem}.device-rollout-dismiss span{display:none}.device-rollout-copy{padding-right:2rem}.device-rollout-progress{grid-template-columns:1fr;gap:.35rem}.device-rollout-steps{grid-template-columns:1fr}.device-rollout-card .button-primary{width:100%;justify-content:center}}
.notification-composer{max-width:none;margin:1.25rem 0}.notification-composer>summary{min-height:44px;padding:.75rem;cursor:pointer}.notification-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.notification-form .field-span{grid-column:1/-1}.notification-list{display:grid;gap:1rem}.notification-card{max-width:none;margin:0}.notification-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.notification-card>header>div,.notification-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.notification-card h3{font-size:1.3rem;margin:1rem 0 .5rem}.notification-category{font-weight:700;color:#62685f}.notification-actions{margin-top:1rem}.notification-actions form{margin:0}.notification-card.is-selected{border-color:#a03570;box-shadow:0 0 0 2px rgba(160,53,112,.12)}
@media(max-width:700px){.notification-form{grid-template-columns:1fr}.notification-form .field-span{grid-column:auto}.notification-card>header{display:grid}}

/* Finance cockpit 2.0 */
.finance-cockpit-overview,.finance-planning-boundary,#monthly-plan,#aging,#workforce-investments,#projects,#versions,#annual-package{margin-block:1.5rem}
.finance-drilldown>summary{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:.65rem .8rem;cursor:pointer;font-weight:700}
.section-index{display:flex;gap:.35rem;flex-wrap:wrap}.section-index a{box-sizing:border-box;display:inline-flex;align-items:center;min-height:44px;padding:.55rem .7rem}
.finance-aging-grid,.project-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}
.finance-aging-grid article,.project-metric-grid article{padding:1rem;border:1px solid var(--line,#d9ddd6);border-radius:.8rem;background:var(--surface,#fff)}
.finance-aging-grid dl,.project-metric-grid dl{display:grid;gap:.5rem;margin:1rem 0}
.finance-aging-grid dl div,.project-metric-grid dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line,#d9ddd6);padding-block:.35rem}
.finance-aging-grid dd,.project-metric-grid dd{margin:0;font-weight:700;text-align:right}
.finance-cockpit-overview .finance-progress-chart>div{grid-template-columns:minmax(13rem,1fr) minmax(8rem,2fr)}
.finance-cockpit-overview .finance-progress-chart span{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.finance-cockpit-overview progress{width:100%;accent-color:var(--brand-blue,#338bba)}
.finance-cockpit-heading input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.finance-cockpit-heading select,.finance-cockpit-heading textarea,.finance-insight-scope input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.finance-insight-scope select,.finance-insight-scope textarea,#monthly-plan input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),#monthly-plan select,#monthly-plan textarea,#workforce-investments input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),#workforce-investments select,#workforce-investments textarea,#projects input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),#projects select,#projects textarea,#versions input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),#versions select,#versions textarea,#annual-package input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),#annual-package select,#annual-package textarea{box-sizing:border-box;min-height:44px;padding:.55rem .65rem}
@media (max-width:48rem){.finance-cockpit-overview .finance-progress-chart>div{grid-template-columns:1fr}.finance-cockpit-overview .finance-progress-chart span{display:block}.finance-cockpit-overview .finance-progress-chart small{display:block;margin-top:.25rem}}

/* Private photo albums: image-led, restrained and fully contained inside the authenticated app. */
.photo-album-heading { align-items: end; }
.photo-privacy-strip { margin: 0 0 24px; padding: 18px 20px; border-left: 4px solid var(--color-brand-yellow, #F0BC02); background: #fff8d9; }
.photo-privacy-strip h2 { max-width: 72ch; margin: 2px 0 0; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.photo-album-create { margin: 0 0 24px; }
.photo-album-create[open] > summary { margin-bottom: 16px; }
.photo-album-workspace { min-width: 0; }
.photo-album-index { min-width: 0; }
.photo-album-index .compact-tabs { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.photo-moderation-menu { position: relative; }
.photo-moderation-menu > summary { list-style: none; }
.photo-moderation-menu > summary::-webkit-details-marker { display: none; }
.photo-moderation-menu .compact-tabs { position: absolute; z-index: 4; right: 0; top: calc(100% + 6px); min-width: 180px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-soft); display: grid; }
.photo-moderation-menu .compact-tabs a { min-height: 44px; padding: 10px; }
.photo-album-search { margin: 0 0 18px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 16px; align-items: end; }
.photo-album-search label { font-weight: 700; }
.photo-album-search input { grid-row: 2; width: 100%; min-height: 44px; }
.photo-album-search p { grid-row: 2; max-width: 280px; margin: 0; color: var(--muted); font-size: .9rem; }
.photo-album-search-empty { padding: 24px 0; color: var(--muted); }
.photo-album-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 16px; }
.photo-album-card { min-width: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--surface); box-shadow: var(--shadow-soft); }
.photo-album-tile { height: 100%; display: grid; grid-template-rows: auto 1fr; color: inherit; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.photo-album-tile:hover,.photo-album-tile:focus-visible { transform: translateY(-2px); box-shadow: var(--shadow); }
.photo-album-cover { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #ece9e1; color: #6d6c65; font-size: 2rem; }
.photo-album-cover img { width: 100%; height: 100%; object-fit: cover; }
.photo-album-tile-copy { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 14px; }
.photo-album-tile-copy strong { line-height: 1.25; overflow-wrap: anywhere; }
.photo-album-tile-copy small { color: #62645f; line-height: 1.35; }
.photo-album-detail { min-width: 0; }
.photo-album-back { display: inline-flex; margin-bottom: 18px; }
.photo-album-detail-heading { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.photo-album-detail-heading h2 { margin: 2px 0 8px; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.photo-album-detail-heading p:last-child { max-width: 68ch; }
.photo-upload-zone { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 18px; align-items: end; margin-bottom: 28px; padding: 20px; border: 1px dashed #aeb4aa; border-radius: 16px; background: rgba(255,255,255,.62); }
.photo-file-picker { display: grid; gap: 8px; cursor: pointer; }
.photo-file-picker input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.photo-file-picker:focus-within .button { outline: 3px solid rgba(31,102,138,.35); outline-offset: 3px; }
.photo-file-picker small { color: #5f625b; }
.photo-upload-preview { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; min-height: 0; overflow-x: auto; }
.photo-upload-preview:empty { display: none; }
.photo-upload-preview img { flex: 0 0 auto; width: 64px; height: 52px; object-fit: cover; border-radius: 8px; }
.photo-upload-count { flex: 0 0 auto; margin: 0 6px 0 0; font-weight: 700; }
.photo-upload-progress { grid-column: 1 / -1; margin: 0; color: #1F668A; font-weight: 700; }
.photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.photo-item { position: relative; margin: 0; min-width: 0; }
.photo-open { display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 12px; color: inherit; background: #e6e5df; cursor: zoom-in; text-decoration: none; aspect-ratio: 4 / 3; }
.photo-open img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.photo-open:hover img { transform: scale(1.025); }
.photo-open:focus-visible { outline: 3px solid #1F668A; outline-offset: 3px; }
.photo-item figcaption { display: grid; gap: 2px; padding: 8px 2px 12px; }
.photo-item figcaption span { font-weight: 650; overflow-wrap: anywhere; }
.photo-item figcaption small { color: #666860; }
.photo-actions { position: absolute; top: 8px; right: 8px; z-index: 2; }
.photo-actions > summary { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 10px; border-radius: 999px; background: rgba(255,255,255,.94); color: #242620; box-shadow: 0 3px 14px rgba(36,38,32,.16); cursor: pointer; font-weight: 700; }
.photo-actions[open] { width: min(310px, calc(100vw - 48px)); padding: 14px; border-radius: 12px; background: #fff; box-shadow: 0 12px 34px rgba(36,38,32,.2); }
.photo-actions[open] > summary { margin-left: auto; box-shadow: none; background: #f3f1eb; }
.photo-actions form { display: grid; gap: 8px; margin-top: 12px; }
.photo-album-management { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; padding-top: 20px; border-top: 1px solid #D9DDD6; }
.photo-album-management details[open] { flex: 1 1 100%; }
.photo-album-management form { margin-top: 16px; }
.photo-history { margin-top: 24px; }
.photo-history ol { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.photo-history li { display: grid; grid-template-columns: minmax(160px, .5fr) 1fr; gap: 8px 18px; padding-bottom: 10px; border-bottom: 1px solid #D9DDD6; }
.photo-history li p { grid-column: 2; margin: 0; }
.photo-lightbox { width: min(96vw, 1280px); height: min(94vh, 920px); max-width: none; max-height: none; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #171814; color: #fff; }
.photo-lightbox::backdrop { background: rgba(15,16,13,.86); backdrop-filter: blur(5px); }
.photo-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; width: 100%; height: 100%; margin: 0; }
.photo-lightbox figure img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.photo-lightbox figcaption { min-height: 24px; padding: 12px 72px 18px; text-align: center; }
.photo-lightbox-close,.photo-lightbox-nav { position: absolute; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 999px; background: rgba(255,255,255,.9); color: #242620; font-size: 2rem; cursor: pointer; }
.photo-lightbox-close { top: 14px; right: 14px; }
.photo-lightbox-nav { top: 50%; transform: translateY(-50%); }
.photo-lightbox-nav.is-previous { left: 14px; }.photo-lightbox-nav.is-next { right: 14px; }
.photo-lightbox-close:focus-visible,.photo-lightbox-nav:focus-visible { outline: 3px solid #F0BC02; outline-offset: 3px; }
.text-warning { color: #A94D17 !important; }
@media (max-width: 1100px) { .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .photo-album-search { grid-template-columns: 1fr; }.photo-album-search input,.photo-album-search p { grid-row: auto; }.photo-album-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.photo-album-tile-copy { padding: 11px; }.photo-album-tile-copy small { font-size: .78rem; }.photo-grid { gap: 8px; }.photo-upload-zone { grid-template-columns: 1fr; }.photo-history li { grid-template-columns: 1fr; }.photo-history li p { grid-column: 1; } }
@media (max-width: 430px) { .photo-album-list { grid-template-columns: 1fr; }.photo-grid { grid-template-columns: 1fr 1fr; }.photo-item figcaption { font-size: .9rem; }.photo-lightbox { width: 100vw; height: 100vh; border-radius: 0; }.photo-lightbox-nav { top: auto; bottom: 18px; }.photo-lightbox figcaption { padding-inline: 60px; } }
@media (prefers-reduced-motion: reduce) { .photo-album-tile,.photo-open img { transition: none; }.photo-album-tile:hover { transform: none; }.photo-open:hover img { transform: none; }.photo-lightbox::backdrop { backdrop-filter: none; } }

/* AI workspace: calm drafting surface with explicit review boundaries. */
.ai-heading .status-badge { max-width: 24rem; text-align: right; }
.ai-compose,
.ai-sources { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line, #D9DDD6); }
.ai-compose-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.ai-compose-columns > .ai-form { min-width: 0; align-content: start; }
.ai-form h3 { grid-column: 1 / -1; margin: 0 0 .25rem; }
.ai-form .inline-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .5rem; }
.ai-form label,
.ai-source-form label,
.ai-form input,
.ai-form select,
.ai-form textarea,
.ai-source-form input,
.ai-source-form select,
.ai-source-form textarea { min-width: 0; max-width: 100%; }
.ai-form .checkbox-row,
.ai-source-form .checkbox-row { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: .75rem; }
.ai-form .checkbox-row input,
.ai-source-form .checkbox-row input { flex: 0 0 20px; width: 20px; max-width: 20px; margin-top: .25rem; }
.ai-form .checkbox-row span,
.ai-source-form .checkbox-row span { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
.ai-sources .section-heading > details { position: relative; flex: 0 0 auto; }
.ai-sources .section-heading > details > summary { list-style: none; cursor: pointer; }
.ai-sources .section-heading > details > summary::-webkit-details-marker { display: none; }
.ai-source-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(820px, calc(100vw - 72px)); max-height: min(760px, calc(100vh - 150px)); overflow: auto; margin-top: 0; padding: 22px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
.ai-source-list { list-style: none; margin: 1rem 0 0; padding: 0; border-top: 1px solid var(--line, #D9DDD6); }
.ai-source-list > li { display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(16rem, 1fr); gap: 1rem; align-items: start; padding: 1rem 0; border-bottom: 1px solid var(--line, #D9DDD6); }
.ai-source-list strong,
.ai-source-list small { display: block; }
.ai-source-list form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; }
.ai-source-list form label { flex: 1 1 12rem; }
.ai-workspace { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 1.5rem; margin-top: 2rem; }
.ai-workspace .time-register strong { white-space: normal; overflow-wrap: anywhere; }
.ai-workspace .time-register time { min-width: 0; overflow-wrap: anywhere; }
.ai-result { min-width: 0; padding-left: 1.5rem; border-left: 1px solid var(--line, #D9DDD6); }
.ai-result > header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: start; }
.ai-result > header > div { min-width: 0; }
.ai-result > header h2,
.ai-result > header .eyebrow { overflow-wrap: anywhere; }
.ai-output { margin-top: 1.5rem; }
.ai-output section { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line, #D9DDD6); }
.ai-output h4 { margin-bottom: .5rem; }
.ai-answer { max-width: 72ch; white-space: normal; overflow-wrap: anywhere; }
.ai-result .review-form { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line, #D9DDD6); }
.ai-result .review-form label { flex: 1 1 18rem; }

@media (max-width: 920px) {
    .ai-compose-columns,
    .ai-workspace { grid-template-columns: 1fr; }
    .ai-result { padding-left: 0; padding-top: 1.5rem; border-left: 0; border-top: 1px solid var(--line, #D9DDD6); }
    .ai-source-list > li { grid-template-columns: 1fr; }
    .ai-heading .status-badge { text-align: left; }
    .ai-sources .section-heading { align-items: stretch; flex-direction: column; }
    .ai-sources .section-heading > details,
    .ai-sources .section-heading > details > summary { width: 100%; }
    .ai-sources .section-heading > details > summary { justify-content: center; }
    .ai-source-form { position: static; width: 100%; max-height: none; margin-top: 12px; box-shadow: none; }
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body { margin: 0; min-width: 320px; background: var(--canvas); color: var(--ink); line-height: 1.45; }
body.navigation-is-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
a { color: var(--link-blue); }
img { display: block; max-width: 100%; }

:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--ink); color: #fff; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); padding: 10px 16px; font-weight: 700; text-decoration: none; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, transform 150ms ease; }
.button:hover:not(:disabled) { border-color: var(--brand-magenta); transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: 0.58; }
.button-primary { border-color: var(--brand-magenta); background: var(--brand-magenta); color: #fff; }
.button-primary:hover:not(:disabled) { background: #7a2454; border-color: #7a2454; }
.button-danger { border-color: var(--danger); color: var(--danger); }
.button-danger:hover:not(:disabled) { background: #fbe9e7; border-color: var(--danger); }
.button-quiet { min-height: 38px; padding: 7px 10px; background: transparent; }

.eyebrow { display: inline-block; color: var(--brand-magenta); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.preview-badge { align-self: flex-start; display: inline-flex; padding: 6px 10px; border: 1px solid #d8b24a; border-radius: 999px; background: #fff5cf; color: #5f4a00; font-size: 0.82rem; font-weight: 700; }
.status-label { display: inline-flex; align-items: center; width: max-content; padding: 4px 8px; border-radius: 999px; font-size: 0.78rem; font-weight: 800; }
.status-attention { background: #f8e0eb; color: #7a2454; }
.status-work { background: #dcebf3; color: #1f5a78; }
.status-waiting { background: #f4e8da; color: #75461d; }
.status-new { background: #e7efd8; color: #4e6621; }
.status-active { background: #e7efd8; color: #4e6621; }
.status-archived, .status-ended, .status-withdrawn { background: #e8e9e6; color: #4f544d; }
.status-application, .status-pending_board { background: #fff1bf; color: #664f00; }
.status-paused { background: #f4e8da; color: #75461d; }
.status-rejected { background: #fbe9e7; color: #7b1b16; }

/* Authentication */
.auth-page { min-height: 100svh; display: grid; place-items: center; padding: 24px; background: linear-gradient(120deg, #fff 0 48%, var(--canvas) 48% 100%); }
.login-shell { width: min(1080px, 100%); }
.login-brand { display: flex; align-items: center; gap: 12px; margin: 0 0 24px 24px; }
.login-brand img { width: 54px; height: 54px; object-fit: contain; }
.login-brand strong, .login-brand span { display: block; }
.login-brand strong { font-size: 1.08rem; }
.login-brand span { color: var(--muted); }
.login-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr); overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: var(--surface); box-shadow: var(--shadow); }
.login-intro { min-height: 520px; display: flex; flex-direction: column; justify-content: center; padding: 64px; background: var(--brand-magenta); color: #fff; }
.login-intro .eyebrow { color: #fff0f7; }
.login-intro h1 { max-width: 10ch; margin: 18px 0; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1.02; letter-spacing: -0.04em; }
.login-intro p { max-width: 34rem; margin: 0; color: #fff0f7; font-size: 1.08rem; }
.login-form { display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 56px; }
.auth-method { display: grid; gap: 16px; }
.auth-method-email { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--background); }
.auth-divider { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.auth-divider::before,.auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.auth-link { width: max-content; max-width: 100%; font-weight: 700; }
.auth-link-recovery { margin-top: -8px; }
.login-form h2 { margin: 0 0 8px; font-size: 2rem; }
.login-form label { display: grid; gap: 7px; font-weight: 700; }
.login-form input { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; background: #fff; }
.login-form input:focus { border-color: var(--focus); }
.login-form small { color: var(--muted); }
.alert { margin: 0; padding: 12px 14px; border-left: 4px solid var(--danger); background: #fbe9e7; color: #7b1b16; }
.language-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); }
.language-switch button { min-width: 38px; min-height: 32px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 0.82rem; font-weight: 800; cursor: pointer; }
.language-switch button[aria-current="true"] { background: var(--surface); color: var(--brand-magenta); box-shadow: 0 1px 4px rgba(36, 38, 32, 0.12); }
.language-switch-auth { width: max-content; margin-top: 28px; border-color: rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.14); }
.language-switch-auth button { min-width: 80px; color: #fff; }
.language-switch-auth button[aria-current="true"] { color: var(--brand-magenta); }

/* App frame */
.app-frame { min-height: 100svh; display: grid; grid-template-columns: 280px minmax(0, 1fr); }
.app-sidebar { position: sticky; top: 0; height: 100svh; min-width: 0; display: flex; flex-direction: column; z-index: 30; overflow-x: hidden; overflow-y: auto; padding: 20px 14px 16px; border-right: 1px solid var(--line); background: var(--surface); }
.brand-lockup { min-width: 0; display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 4px 8px 22px; color: var(--ink); text-decoration: none; }
.brand-lockup img { width: 48px; height: 48px; object-fit: contain; }
.brand-lockup > span { min-width: 0; }
.brand-lockup strong, .brand-lockup small { display: block; overflow-wrap: anywhere; }
.brand-lockup strong { font-size: 0.98rem; }
.brand-lockup small { margin-top: 2px; color: var(--muted); font-size: 0.75rem; }
.primary-nav { display: grid; gap: 5px; }
.nav-group { min-width: 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }
.nav-group:last-child { border-bottom: 0; }
.nav-group-label { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 10px; color: var(--muted); cursor: pointer; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.075em; line-height: 1.3; list-style: none; text-transform: uppercase; }
.nav-group-label::-webkit-details-marker { display: none; }
.nav-group-label::after { content: "+"; margin-left: auto; color: var(--muted); font-size: 1rem; font-weight: 500; line-height: 1; }
.nav-group[open] > .nav-group-label::after { content: "−"; }
.nav-group-label small { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: .65rem; letter-spacing: 0; }
.nav-group-items { display: grid; gap: 2px; padding-bottom: 7px; }
.nav-item { min-width: 0; min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-radius: 9px; color: var(--ink); font-size: 0.9rem; text-decoration: none; font-weight: 650; overflow-wrap: anywhere; }
a.nav-item:hover { background: #f8eef3; color: #7a2454; }
.nav-item.is-active { background: #f3e2eb; color: #7a2454; }
.nav-item.is-active::before { content: ""; width: 4px; height: 20px; margin-left: -10px; border-radius: 0 4px 4px 0; background: var(--brand-magenta); }
.nav-item.is-disabled { color: #8a8e87; cursor: not-allowed; }
.nav-item small { padding: 2px 6px; border-radius: 999px; background: var(--surface-soft); font-size: 0.66rem; font-weight: 700; }
.nav-group-focused { padding: 5px 0 8px; }
.nav-group-focused .nav-group-label { min-height: 30px; margin: 0; cursor: default; }
.nav-group-focused > h2.nav-group-label::after { display: none; }
.nav-group-focused .nav-group-items { gap: 3px; }
.nav-group-focused-secondary { margin-top: 3px; padding-top: 7px; }
.nav-group-focused-secondary > .nav-group-label { cursor: pointer; font-size: .64rem; }
.nav-group-focused-secondary:not([open]) { padding-bottom: 5px; }
.board-hub-navigation { padding-bottom: 8px; }
.board-hub-navigation > .nav-group-label { cursor: default; }
.board-hub-navigation > .nav-group-label::after { display: none; }
.sidebar-foot { display: grid; gap: 10px; margin-top: auto; padding: 14px 8px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.76rem; }
.sidebar-foot > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sidebar-logout { display: none; }
.sidebar-backdrop { display: none; }
.app-workspace { min-width: 0; }
.workspace-topbar { height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; position: sticky; top: 0; z-index: 20; padding: 0 36px; border-bottom: 1px solid var(--line); background: rgba(250, 248, 243, 0.94); backdrop-filter: blur(12px); }
.view-as-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; position: sticky; top: 68px; z-index: 19; padding: 12px 36px; border-bottom: 1px solid #d5a45a; background: #fff4d8; box-shadow: 0 6px 16px rgba(87, 59, 15, .08); }
.view-as-banner > div { display: grid; gap: 2px; min-width: 0; }
.view-as-banner strong { color: #643d00; }
.view-as-banner span { color: #765b2c; font-size: .86rem; overflow-wrap: anywhere; }
.view-as-banner form { flex: 0 0 auto; }
.is-view-as-readonly :disabled { cursor: not-allowed; }
.menu-button { display: none; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); padding: 8px 12px; font-weight: 800; }
.workspace-context { min-width: 0; display: grid; gap: 1px; }
.workspace-context span { color: var(--muted); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.workspace-context strong { overflow: hidden; font-size: 0.94rem; text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions { width: auto; display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; }
.topbar-actions form { margin: 0; }
.account-summary { padding-left: 12px; border-left: 1px solid var(--line); color: var(--ink); font-size: 0.88rem; text-decoration: none; }
.workspace-main { width: min(1560px, 100%); margin: 0 auto; padding: 34px clamp(32px, 3.4vw, 56px) 64px; }

body[data-navigation-experience="member"] .app-frame,
body[data-navigation-experience="staff"] .app-frame { grid-template-columns: 248px minmax(0,1fr); }
body[data-navigation-experience="member"] .app-sidebar,
body[data-navigation-experience="staff"] .app-sidebar { padding-inline: 12px; }
body[data-navigation-experience="member"] .workspace-main,
body[data-navigation-experience="staff"] .workspace-main { width: min(1180px,100%); padding-top: 30px; }
body[data-navigation-experience="member"] .workspace-context span,
body[data-navigation-experience="staff"] .workspace-context span { display: none; }
body[data-navigation-experience="member"] .page-heading,
body[data-navigation-experience="staff"] .page-heading { margin-bottom: 24px; }
body[data-navigation-experience="member"] .page-heading h1,
body[data-navigation-experience="staff"] .page-heading h1 { margin-top: 0; font-size: clamp(1.8rem,2.2vw,2.15rem); }

/* Board area hubs: one clear destination per domain, with task-based entry cards inside. */
.hub-page-heading { max-width: 760px; margin-bottom: 34px; }
.hub-page-heading h1 { font-size: clamp(2.2rem, 4vw, 3.6rem); letter-spacing: -.04em; }
.hub-page-heading p { max-width: 58ch; font-size: 1.05rem; }
.board-hub-groups { display: grid; gap: 38px; max-width: 1180px; }
.board-hub-section { min-width: 0; }
.board-hub-section > .section-heading { margin-bottom: 14px; }
.board-hub-section > .section-heading h2 { margin: 0; font-size: 1.05rem; }
.board-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.board-hub-secondary { border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.68); padding: 0; }
.board-hub-secondary > summary { align-items: center; cursor: pointer; display: flex; min-height: 52px; padding: 12px 16px; }
.board-hub-secondary > summary span { display: grid; gap: 2px; }
.board-hub-secondary > summary small { color: var(--muted); font-weight: 400; }
.board-hub-secondary > .board-hub-grid { padding: 0 16px 16px; }
.board-hub-card { min-width: 0; min-height: 104px; display: grid; grid-template-columns: 46px minmax(0, 1fr) 24px; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--shadow-soft); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.board-hub-card:hover { border-color: color-mix(in srgb, var(--brand-magenta) 48%, var(--line)); box-shadow: var(--shadow); transform: translateY(-1px); }
.board-hub-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--focus) 34%, transparent); outline-offset: 2px; }
.board-hub-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: #f5edf2; color: var(--brand-magenta); }
.board-hub-icon img, .board-hub-arrow img { width: 21px; height: 21px; }
.board-hub-copy { min-width: 0; display: grid; gap: 5px; }
.board-hub-copy strong { font-size: 1rem; line-height: 1.25; }
.board-hub-copy small { color: var(--muted); font-size: .86rem; line-height: 1.42; }
.board-hub-arrow { display: grid; place-items: center; color: var(--muted); }
.board-hub-arrow img { opacity: .7; }
[data-finance-cockpit] .board-hub-section:first-child .board-hub-card { border-top: 3px solid var(--brand-magenta); }
[data-finance-cockpit] .board-hub-section:last-child .board-hub-icon { background: #eaf4f8; color: var(--link-blue); }
@media (max-width: 760px) {
    .hub-page-heading { margin-bottom: 24px; }
    .hub-page-heading h1 { font-size: clamp(2rem, 10vw, 2.7rem); }
    .board-hub-groups { gap: 30px; }
    .board-hub-grid { grid-template-columns: 1fr; }
    .board-hub-card { min-height: 94px; padding: 15px; }
}

.account-header { max-width: 760px; }
.account-tabs { max-width: 680px; display: flex; gap: 22px; margin-top: 24px; border-bottom: 1px solid var(--line); }
.account-tabs a { min-height: 42px; display: inline-flex; align-items: center; color: var(--muted); font-weight: 750; text-decoration: none; }
.account-tabs a[aria-current="page"] { border-bottom: 3px solid var(--brand-magenta); color: var(--brand-magenta); }
.account-panel { max-width: 680px; margin-top: 28px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-soft); }
.account-form { display: grid; gap: 20px; }
.account-form h2 { margin: 0 0 4px; }
.account-form label { display: grid; gap: 7px; font-weight: 700; }
.account-form input { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; background: #fff; }
.account-form input:focus { border-color: var(--focus); }
.account-form .button { justify-self: start; }
.form-help { margin: -6px 0 0; color: var(--muted); font-size: 0.9rem; }
.alert-success { border-left-color: var(--brand-green); background: #edf5df; color: #334d11; }
.security-status { display: grid; gap: 10px; margin-bottom: 24px; }
.security-status h2, .recovery-codes h2 { margin: 0; }
.security-status p, .recovery-codes p { margin: 0; color: var(--muted); }
.setup-steps { display: grid; gap: 15px; margin: 20px 0 28px; padding-left: 24px; }
.setup-steps li { padding-left: 6px; }
.secret-code { display: block; max-width: 100%; margin-top: 8px; overflow-wrap: anywhere; font-size: 1rem; letter-spacing: 0.08em; }
.recovery-codes ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; margin: 24px 0; padding: 0; list-style: none; }
.recovery-codes code { font-size: 1rem; letter-spacing: 0.06em; }
.danger-zone { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.danger-zone summary { cursor: pointer; color: var(--danger); font-weight: 750; }
.danger-zone .account-form { margin-top: 20px; }

/* Shared workspace */
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.page-heading h1 { max-width: 24ch; margin: 6px 0 8px; font-size: clamp(2rem, 2.4vw, 2.35rem); line-height: 1.08; letter-spacing: -0.035em; }
.page-heading p { max-width: 760px; margin: 0; color: var(--muted); font-size: 1rem; }
.page-heading-with-action h1 { max-width: 22ch; }
.heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.workspace-alert { margin: -18px 0 24px; }
.workspace-index { position: sticky; top: 64px; z-index: 16; display: flex; flex-wrap: wrap; gap: 4px 22px; margin: -10px 0 28px; padding: 10px 0 9px; border-block: 1px solid var(--line); background: color-mix(in srgb, var(--background) 94%, transparent); backdrop-filter: blur(10px); }
.workspace-index a { min-height: 38px; display: inline-flex; align-items: center; border-bottom: 2px solid transparent; color: var(--muted); font-size: .86rem; font-weight: 760; text-decoration: none; }
.workspace-index a:hover,.workspace-index a[aria-current="location"] { border-bottom-color: var(--brand-magenta); color: var(--ink); }
.workspace-index + .alert,.workspace-index + .notice { margin-top: -12px; }
.workspace-index ~ section[id^="workspace-section-"],.workspace-index ~ .workspace-columns > section[id^="workspace-section-"] { scroll-margin-top: 128px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.section-heading h2 { margin: 0; font-size: 1.16rem; }
.section-heading > span { min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-soft); font-size: 0.8rem; font-weight: 800; }
.attention-section .section-heading > span { width: 28px; min-width: 28px; flex: 0 0 28px; align-self: flex-start; }

.attention-section { margin-bottom: 36px; }
.attention-list { display: grid; }
.attention-item { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .7fr) auto; align-items: center; gap: 22px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.attention-item.is-urgent { border-left: 4px solid var(--brand-magenta); padding-left: 18px; }
.attention-item h3 { margin: 5px 0 2px; font-size: 1.05rem; }
.attention-item p { margin: 0; color: var(--muted); }
.attention-item dl { display: grid; grid-template-columns: repeat(2, minmax(100px, 1fr)); gap: 16px; margin: 0; }
.attention-item dl div { display: grid; gap: 2px; }
.attention-item dt { color: var(--muted); font-size: 0.78rem; }
.attention-item dd { margin: 0; font-weight: 750; }
.text-action { min-height: 44px; display: inline-flex; align-items: center; color: var(--brand-magenta); font-weight: 800; text-underline-offset: 4px; }
.text-action.is-muted { color: var(--muted); font-size: 0.82rem; text-decoration: none; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.65fr); gap: 44px; }
.dashboard-side-column { min-width: 0; display: grid; align-content: start; gap: 36px; }
.plain-section { min-width: 0; }
.work-list { list-style: none; margin: 0; padding: 0; }
.work-list li { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.work-list strong, .work-list small { display: block; }
.work-list small { margin-top: 4px; color: var(--muted); }
.work-list strong a { color: inherit; text-decoration-color: color-mix(in srgb, var(--brand-magenta) 45%, transparent); text-underline-offset: 3px; }
.dashboard-waiting { min-width: 0; }
.dashboard-page-finder { margin: 0 0 34px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); display: grid; grid-template-columns: minmax(180px,.7fr) minmax(260px,1fr); gap: 8px 24px; align-items: end; }
.today-attendance { margin: 0 0 24px; padding: 22px; border: 1px solid var(--line); border-left: 5px solid var(--accent); border-radius: 18px; background: var(--surface); display: grid; grid-template-columns: minmax(220px,1fr) auto auto; gap: 18px 28px; align-items: center; }
.today-attendance.is-recorded { border-left-color: var(--success); }
.today-attendance h2,.today-attendance p { margin: 0; }
.today-attendance h2 { margin-top: 3px; font-size: 1.25rem; }
.today-attendance p { margin-top: 5px; color: var(--muted); }
.today-attendance-values { display: flex; gap: 22px; margin: 0; }
.today-attendance-values div { display: grid; gap: 3px; }
.today-attendance-values dt { color: var(--muted); font-size: .82rem; font-weight: 700; }
.today-attendance-values dd { margin: 0; font-weight: 800; white-space: nowrap; }
.today-attendance-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.today-attendance-actions form { margin: 0; }
.dashboard-page-finder h2 { margin: 0 0 4px; font-size: 1.1rem; }
.dashboard-page-finder p { margin: 0; color: var(--muted); }
.dashboard-page-finder label { font-weight: 700; }
.dashboard-page-finder input { width: 100%; min-width: 0; min-height: 44px; }
.board-page-finder { display: block; padding: 0; }
.board-page-finder > summary,.board-attendance > summary { cursor: pointer; font-weight: 750; min-height: 44px; padding: 12px 18px; }
.board-page-finder[open] { padding: 0 18px 18px; }
.board-page-finder[open] > summary { margin: 0 -18px 12px; }
.board-page-finder > div,.board-page-finder > label,.board-page-finder > input,.board-page-finder > p { margin-top: 10px; }
.board-work-queue,.board-next-meeting { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; margin-bottom: 24px; padding: 22px; }
.board-work-queue > .section-heading,.board-next-meeting > .section-heading { margin-bottom: 14px; }
.board-queue-lane { border-top: 1px solid var(--line); padding: 16px 0 4px; }
.board-queue-lane .section-heading { margin-bottom: 0; }
.board-queue-lane .section-heading h3 { font-size: 1rem; margin: 0; }
.board-queue-more { border-top: 1px solid var(--line); margin-top: 4px; }
.board-queue-more summary { color: var(--accent-strong); cursor: pointer; font-weight: 750; min-height: 44px; padding: 12px 0; }
.board-queue-more[open] summary { margin-bottom: 2px; }
.board-next-meeting > p { color: var(--muted); margin: 0 0 16px; }
.meeting-facts { display: grid; gap: 12px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }
.meeting-facts div { background: var(--surface-soft); border-radius: 12px; min-width: 0; padding: 12px; }
.meeting-facts dt { color: var(--muted); font-size: .8rem; font-weight: 700; }
.meeting-facts dd { font-weight: 750; margin: 4px 0 0; overflow-wrap: anywhere; }
.board-attendance { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; margin-top: 24px; }
.board-attendance .today-attendance { border: 0; border-top: 1px solid var(--line); border-radius: 0 0 18px 18px; margin: 0; }
.dashboard-page-results,.dashboard-page-status { grid-column: 2; }
.dashboard-page-results { display: grid; gap: 6px; }
.dashboard-page-results a { min-height: 44px; padding: 10px 12px; border-radius: 10px; color: var(--ink); background: var(--surface-soft); display: flex; justify-content: space-between; align-items: center; text-decoration: none; }
.dashboard-page-results a:hover,.dashboard-page-results a:focus-visible { background: #f7e8f0; color: var(--brand-magenta); }
.dashboard-page-results a[hidden] { display: none; }
.dashboard-page-status { font-size: .9rem; }
.focused-shortcuts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: -8px 0 28px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.focused-shortcuts > span { color: var(--muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.focused-shortcuts a { min-height: 38px; display: inline-flex; align-items: center; color: var(--ink); font-weight: 720; text-decoration-color: color-mix(in srgb,var(--brand-magenta) 45%,transparent); text-underline-offset: 4px; }
.focused-all-clear { max-width: 760px; padding: 22px 0; border-block: 1px solid var(--line); }
.focused-all-clear h2,.focused-all-clear p { margin: 0; }
.focused-all-clear h2 { font-size: 1.08rem; }
.focused-all-clear p { margin-top: 4px; color: var(--muted); }
.signature-register-search { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(220px,1.4fr) repeat(2,minmax(140px,.7fr)); gap: 12px; align-items: end; margin: 18px 0; }
.signature-register-search label { display: grid; gap: 6px; min-width: 0; font-weight: 700; }
.signature-register-search input,.signature-register-search select { width: 100%; min-width: 0; min-height: 44px; }
.signature-register-search p { grid-column: 1 / -1; margin: 0; color: var(--muted); }
@media (max-width:1700px) { .signature-register-search { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.signature-list > li { padding: 18px 0; border-top: 1px solid var(--line); }
.signature-list > li[hidden] { display: none; }
.signature-list article > h3 { margin-top: 0; }

/* Registers */
.register-workspace { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(380px, 0.75fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.register-main { min-width: 0; padding: 28px; }
.register-tools { display: grid; gap: 18px; margin-bottom: 22px; }
.register-search { display: flex; align-items: center; gap: 8px; }
.register-search > .button { flex: 0 0 auto; min-width: 44px; }
.prospect-intake-search select { min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 10px; background: #fff; color: var(--ink); font: inherit; }
.prospect-batch-actions { display: flex; align-items: end; gap: 10px; margin-top: 18px; }
.prospect-batch-actions label { flex: 1 1 320px; display: grid; gap: 6px; font-weight: 700; }
.prospect-batch-actions input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 10px; font: inherit; }
.prospect-selection { width: 44px; height: 44px; margin: -8px 0; position: relative; z-index: 2; }
.search-field { width: min(460px, 100%); }
.search-field input { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 13px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { min-height: 40px; display: inline-flex; align-items: center; border: 0; border-radius: 999px; background: var(--surface-soft); padding: 8px 12px; color: var(--ink); cursor: pointer; text-decoration: none; }
.filter-button span { margin-left: 4px; color: var(--muted); }
.filter-button.is-active { background: var(--brand-magenta); color: #fff; }
.filter-button.is-active span { color: #fff; }
.table-scroll { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 0.91rem; }
.data-table th { padding: 12px 10px; color: var(--muted); text-align: left; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }
.data-table td { padding: 16px 10px; border-top: 1px solid var(--line); vertical-align: middle; }
.data-table td strong, .data-table td small { display: block; }
.data-table td small { margin-top: 3px; color: var(--muted); }
.data-table tr.is-selected { background: #fbf0f5; }
.record-link { display: block; color: var(--ink); text-decoration: none; }
.record-link:hover strong { color: var(--brand-magenta); text-decoration: underline; text-underline-offset: 3px; }
.result-count { margin: -6px 0 0; color: var(--muted); font-size: 0.86rem; }
.empty-state { max-width: 540px; padding: 30px 0; }
.empty-state h2 { margin: 0 0 8px; }
.empty-state p { margin: 0; color: var(--muted); }
.record-inspector, .flow-inspector { min-width: 0; padding: 30px; border-left: 1px solid var(--line); background: #f5f2ec; }
.record-inspector h2, .flow-inspector h2 { margin: 10px 0 6px; font-size: 1.8rem; line-height: 1.1; }
.inspector-lead, .flow-inspector > p { margin: 0; color: var(--muted); }
.key-values { display: grid; gap: 12px; margin: 28px 0; }
.key-values div { min-width: 0; display: grid; grid-template-columns: minmax(92px, 0.65fr) minmax(0, 1.35fr); gap: 14px; }
.key-values dt { color: var(--muted); }
.key-values dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 750; }
.detail-tabs { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.detail-tabs a { min-height: 36px; color: var(--muted); font-size: 0.84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.detail-tabs a.is-active { color: var(--brand-magenta); border-bottom: 2px solid var(--brand-magenta); }
.inspector-section { padding: 20px 0 0; }
.inspector-section + .inspector-section { margin-top: 20px; border-top: 1px solid var(--line); }
.inspector-section h3 { margin: 0 0 10px; font-size: 1rem; }
.inspector-section p { margin: 0; }
.inspector-section span { color: var(--muted); }
.inspector-actions { display: flex; gap: 8px; margin-top: 18px; }
.compact-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.compact-list li { display: grid; gap: 2px; }
.compact-list span, .muted-copy, .detail-note { color: var(--muted); font-size: 0.88rem; }
.detail-note { margin-top: 9px !important; }
.archive-form { display: grid; gap: 12px; margin-top: 18px; }
.archive-form label { display: grid; gap: 7px; font-weight: 700; }
.archive-form textarea { width: 100%; resize: vertical; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; background: #fff; }

/* Person forms */
.person-form-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; max-width: 980px; }
.person-form-header h1 { margin: 8px 0; font-size: clamp(2.1rem, 4vw, 3.2rem); letter-spacing: -0.035em; }
.person-form-header p { max-width: 680px; margin: 0; color: var(--muted); }
.person-form-panel { max-width: 980px; margin-top: 32px; border-top: 1px solid var(--line); }
.form-error-summary { margin: 24px 0 0; }
.form-error-summary p { margin: 4px 0 0; }
.duplicate-warning { margin-top: 24px; padding: 18px 0; border-bottom: 1px solid #d8b24a; color: #5f4a00; }
.duplicate-warning h2, .duplicate-warning p { margin: 0 0 6px; }
.duplicate-warning ul { margin: 8px 0 0; }
.person-form { display: grid; }
.form-section { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr); gap: 42px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.form-section-heading { display: grid; grid-template-columns: 34px 1fr; align-items: start; gap: 12px; }
.form-section-heading > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #f3e2eb; color: var(--brand-magenta); font-weight: 800; }
.form-section-heading h2 { margin: 2px 0 5px; font-size: 1.15rem; }
.form-section-heading p { margin: 0; color: var(--muted); font-size: 0.9rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-grid label { display: grid; align-content: start; gap: 7px; font-weight: 700; }
.form-grid input, .form-grid select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; background: #fff; }
.form-grid input[aria-invalid="true"], .form-grid select[aria-invalid="true"] { border-color: var(--danger); }
.form-grid-wide { grid-column: 1 / -1; }
.field-error { color: var(--danger); font-size: 0.82rem; font-weight: 650; }
.live-field-error { display: block; width: 100%; margin-top: 4px; line-height: 1.35; }
.live-field-error[hidden], .live-validation-summary[hidden] { display: none !important; }
form[data-live-validation="ready"] :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--danger) !important; outline-color: var(--danger); }
form[data-live-validation="ready"] :is(input, select, textarea)[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent); }
.live-validation-summary { width: 100%; flex: 1 0 100%; grid-column: 1 / -1; margin: 0 0 16px; }
:is(.checkbox-row, .checkbox-label, .choice-row, .check-row):has(> .live-field-error:not([hidden])) { flex-wrap: wrap; }
:is(.checkbox-row, .checkbox-label, .choice-row, .check-row) > .live-field-error { flex: 1 0 100%; grid-column: 1 / -1; }
.confirmation-row { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 12px; margin: 26px 0 0; padding: 18px; border-left: 4px solid var(--brand-yellow); background: #fff8dc; }
.confirmation-row input { width: 20px; height: 20px; margin-top: 2px; }
.confirmation-row strong, .confirmation-row small { display: block; }
.confirmation-row small { margin-top: 3px; color: var(--muted); }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 28px; }

/* Person associations */
.record-tabs { display: flex; gap: 24px; max-width: 1080px; margin-top: 24px; border-bottom: 1px solid var(--line); }
.record-tabs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); font-weight: 750; text-decoration: none; }
.record-tabs a[aria-current="page"] { border-bottom: 3px solid var(--brand-magenta); color: var(--brand-magenta); }
.association-notice { max-width: 1080px; margin-top: 24px; }
.association-sections { max-width: 1080px; margin-top: 24px; border-top: 1px solid var(--line); }
.association-section { display: grid; grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr); gap: 46px; padding: 38px 0; border-bottom: 1px solid var(--line); }
.association-heading { grid-row: 1 / span 4; }
.association-heading h2 { margin: 6px 0; font-size: 1.35rem; }
.association-heading p { max-width: 34ch; margin: 0; color: var(--muted); }
.association-list { display: grid; margin: 0; padding: 0; list-style: none; }
.association-list > li { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.association-list > li:first-child { padding-top: 0; }
.association-list strong, .association-list span { display: block; }
.association-list span { margin-top: 3px; color: var(--muted); font-size: 0.87rem; }
.association-editors { display: flex; flex-wrap: wrap; gap: 10px; }
.association-editor, .inline-editor { align-self: start; }
.association-editor { margin-top: 8px; }
.association-editor > summary, .inline-editor > summary { min-height: 42px; display: inline-flex; align-items: center; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.association-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 12px; padding: 20px; border-left: 3px solid var(--brand-magenta); background: #f6f3ed; }
.association-form label { display: grid; align-content: start; gap: 6px; font-weight: 700; }
.association-form input:not([type="checkbox"]), .association-form select { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 11px; background: #fff; }
.association-form .button { align-self: end; justify-self: start; }
.inline-editor .association-form { grid-template-columns: 1fr; min-width: min(420px, 74vw); }
.checkbox-row { grid-template-columns: 22px 1fr; align-items: start; }
.checkbox-row input { width: 20px; height: 20px; margin: 2px 0 0; }
.membership-record + .membership-record { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--line); }
.membership-status { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.membership-status > span:last-child { color: var(--muted); font-size: 0.88rem; }
.membership-timeline { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 20px 0; padding: 0; list-style: none; }
.membership-timeline li { display: grid; gap: 2px; padding-left: 12px; border-left: 2px solid var(--line); }
.membership-timeline span { color: var(--muted); font-size: 0.8rem; }
.membership-transition { margin-right: 12px; }

/* Controlled people data exchange */
.data-exchange-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1180px; }
.exchange-card { position: relative; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-soft); }
.exchange-step { width: 34px; height: 34px; display: grid; place-items: center; position: absolute; top: 28px; right: 28px; border-radius: 50%; background: #f3e2eb; color: var(--brand-magenta); font-weight: 800; }
.exchange-card-heading { padding-right: 44px; }
.exchange-card-heading h2 { margin: 0 0 8px; font-size: 1.45rem; }
.exchange-card-heading p { margin: 0; color: var(--muted); }
.exchange-form { display: grid; gap: 20px; margin-top: 28px; }
.exchange-form > label { display: grid; gap: 7px; font-weight: 700; }
.exchange-form textarea, .exchange-form select, .exchange-form input:not([type="checkbox"]):not([type="radio"]) { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; background: #fff; }
.exchange-form textarea { min-height: 92px; resize: vertical; }
.exchange-form input[type="file"] { padding: 11px; }
.exchange-form small { color: var(--muted); font-weight: 400; }
.exchange-form > .button { justify-self: start; }
.exchange-summary { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 1px; max-width: 1180px; margin-bottom: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--line); }
.exchange-summary div { min-height: 92px; display: grid; align-content: center; gap: 5px; padding: 16px; background: var(--surface); }
.exchange-summary span { color: var(--muted); font-size: 0.78rem; }
.exchange-summary strong { overflow-wrap: anywhere; }
.exchange-preview-table { max-width: 1380px; padding: 10px 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-soft); }
.exchange-preview-table .data-table td { min-width: 90px; }
.exchange-preview-table .data-table td:nth-child(2), .exchange-preview-table .data-table td:nth-child(3) { min-width: 180px; }
.row-resolution { min-width: 150px; display: grid; gap: 7px; margin: 0; padding: 0; border: 0; }
.row-resolution label { display: flex; align-items: center; gap: 7px; }
.row-resolution input { width: 18px; height: 18px; }
.validation-ok { color: var(--success-ink); }
.validation-warning { color: #735a00; }
.validation-failed { color: var(--danger); }
.cancel-preview-form { margin-top: 12px; }
.export-confirmation-panel { max-width: 900px; }
.export-confirmation-panel .exchange-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.export-fields { margin: 28px 0; padding: 26px; border-left: 4px solid var(--brand-blue); background: #eef6fa; }
.export-fields h2 { margin: 0 0 14px; font-size: 1.15rem; }
.export-fields ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; padding-left: 20px; }
.export-confirmation-form { max-width: 680px; }

/* Flow */
.flow-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 380px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.flow-main { padding: 36px; }
.flow-main > h2 { margin: 8px 0 32px; font-size: 2rem; }
.flow-steps { list-style: none; margin: 0; padding: 0; }
.flow-steps li { min-height: 88px; display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 16px; position: relative; padding: 10px 0; }
.flow-steps li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 62px; bottom: -18px; width: 2px; background: var(--line); }
.flow-steps li > span { width: 44px; height: 44px; display: grid; place-items: center; position: relative; z-index: 1; border: 2px solid var(--line); border-radius: 50%; background: var(--surface); font-weight: 800; }
.flow-steps li.is-complete > span { border-color: var(--success-ink); background: var(--success-ink); color: #fff; }
.flow-steps li.is-current > span { border-color: var(--brand-magenta); color: var(--brand-magenta); }
.flow-steps strong, .flow-steps small { display: block; }
.flow-steps small { margin-top: 3px; color: var(--muted); }
.safe-action-note { display: grid; gap: 4px; margin: 26px 0 18px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.safe-action-note span, .disabled-explanation { color: var(--muted); }
.flow-inspector .button { width: 100%; margin-top: 4px; }
.disabled-explanation { display: block; margin-top: 10px; font-size: 0.78rem; }

/* Governance workspace */
.collaboration-view-tabs { display: inline-flex; gap: 4px; margin: -8px 0 28px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); }
.collaboration-view-tabs a { padding: 9px 15px; border-radius: 999px; color: var(--muted); text-decoration: none; font-weight: 800; }
.collaboration-view-tabs a[aria-current="page"] { color: var(--surface); background: var(--brand-magenta); }
.governance-filters.is-hidden, .governance-search.is-hidden, .reminder-worklist.is-hidden, .governance-workspace.is-hidden { display: none; }
.governance-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: -16px 0 20px; }
.governance-filters a { padding: 8px 12px; border-bottom: 2px solid transparent; color: var(--muted); text-decoration: none; font-weight: 750; }
.governance-filters a[aria-current="page"] { border-color: var(--brand-magenta); color: var(--ink); }
.governance-workspace { display: grid; grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); min-height: 680px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.governance-workspace.is-list, .governance-workspace.is-detail { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.governance-workspace.is-list .governance-register { padding-right: 0; border-right: 0; }
.governance-workspace.is-detail .governance-detail { padding-left: 0; }
.governance-search { max-width: 760px; margin-bottom: 24px; }
.governance-search > div { display: flex; gap: 10px; }
.governance-search input { flex: 1 1 auto; min-width: 0; }
.governance-back { margin-bottom: 20px; }
.governance-register { padding: 18px 28px 36px 0; border-right: 1px solid var(--line); }
.governance-detail { min-width: 0; padding: 30px 0 50px 38px; }
.meeting-list { list-style: none; margin: 0; padding: 0; }
.meeting-list li { border-bottom: 1px solid var(--line); }
.meeting-list li { position: relative; }
.meeting-list a { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px 14px; padding: 18px 12px; color: var(--ink); text-decoration: none; }
.meeting-list a[aria-current="true"] { margin-left: -4px; padding-left: 12px; border-left: 4px solid var(--brand-magenta); background: var(--surface-soft); }
.meeting-list strong, .meeting-list small { display: block; }
.meeting-list small, .meeting-counts, .meeting-date { color: var(--muted); font-size: .82rem; }
.meeting-date { white-space: nowrap; font-weight: 800; }
.meeting-counts { grid-column: 2; }
.meeting-summary h2 { max-width: 22ch; margin: 12px 0 6px; font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.035em; }
.meeting-summary > p { color: var(--muted); }
.meeting-summary .key-values { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.governance-warning { margin: 22px 0 0; padding: 14px 18px; border-left: 4px solid #d1a829; background: #fff9df; }
.governance-progress { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; margin: 34px 0; padding: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.governance-progress li { min-width: 0; padding: 15px 8px; text-align: center; font-size: .78rem; }
.governance-progress span { width: 28px; height: 28px; display: grid; place-items: center; margin: 0 auto 6px; border: 1px solid var(--line); border-radius: 50%; color: var(--brand-magenta); font-weight: 800; }
.governance-progress strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.governance-section { padding: 30px 0; border-top: 1px solid var(--line); }
.governance-section > h3 { margin: 0 0 18px; font-size: 1.35rem; }
.governance-section details { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--line); }
.governance-section summary { cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.governance-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.governance-form label, .approval-actions label { display: grid; gap: 6px; font-weight: 700; }
.governance-form input, .governance-form select, .governance-form textarea, .approval-actions input, .task-status-form input, .task-status-form select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 11px; background: #fff; }
.governance-form textarea { resize: vertical; }
.governance-form .wide, .governance-form .checkbox-label, .governance-form > .button { grid-column: 1 / -1; }
.agenda-list, .resolution-list { list-style: none; margin: 0; padding: 0; }
.agenda-list li, .resolution-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.agenda-list li > span, .resolution-list li > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #f3e2eb; color: var(--brand-magenta); font-weight: 800; }
.agenda-list strong, .agenda-list small, .resolution-list strong, .resolution-list small { display: block; }
.agenda-list small, .resolution-list small { margin-top: 4px; color: var(--muted); }
.resolution-list p { margin: 7px 0; white-space: pre-wrap; }
.version-list, .plain-record-list, .task-list { list-style: none; margin: 0; padding: 0; }
.version-list > li, .plain-record-list li, .task-list > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.version-list form { margin: 0; }
.approval-actions { flex: 1 1 100%; display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; align-items: end; gap: 10px; padding: 12px 0; }
.split-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.bilingual-draft-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-top: 1px solid var(--line); padding: 20px 0; }
.task-list small { display: block; margin-top: 4px; color: var(--muted); }
.task-status-form { display: grid; grid-template-columns: 150px minmax(150px, 1fr) auto; gap: 8px; }
.governance-next { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.governance-next h3 { flex: 1 1 100%; }
.page-more-actions { position: relative; }
.page-more-actions > summary { list-style: none; cursor: pointer; }
.page-more-actions > summary::-webkit-details-marker { display: none; }
.page-more-actions > div { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; display: grid; min-width: 240px; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.page-more-actions > div a { padding: 11px 12px; border-radius: 8px; color: var(--ink); text-decoration: none; font-weight: 750; }
.page-more-actions > div a:hover { background: var(--surface-soft); }
.governance-basis { max-width: 760px; margin-top: 18px; }
.governance-basis > summary { cursor: pointer; color: var(--muted); font-weight: 750; }
.governance-next-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 24px; align-items: center; margin: 26px 0 20px; padding: clamp(18px,3vw,28px); border: 1px solid rgba(144, 30, 78, .24); border-left: 5px solid var(--brand-magenta); border-radius: var(--radius); background: #fff8fb; }
.governance-next-action > .eyebrow { grid-column: 1 / -1; }
.governance-next-action h3 { margin: 0 0 6px; font-size: clamp(1.2rem,2vw,1.55rem); }
.governance-next-action p { max-width: 68ch; margin: 0; color: var(--muted); }
.governance-next-action.is-complete { border-color: rgba(35, 112, 85, .28); border-left-color: var(--success-ink); background: #f3faf6; }
.governance-area-nav { display: flex; gap: 6px; margin: 0 0 26px; padding: 6px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); scrollbar-width: thin; }
.governance-area-nav a { flex: 0 0 auto; padding: 10px 13px; border-radius: 9px; color: var(--muted); text-decoration: none; font-weight: 780; }
.governance-area-nav a[aria-current="page"] { color: var(--ink); background: var(--surface); box-shadow: 0 1px 4px rgba(23,63,53,.12); }
.governance-detail[class*="is-section-"] > .governance-section { display: none; }
.governance-detail[class*="is-section-"] > .governance-advanced-actions { display: none; }
.governance-detail.is-section-overview > .governance-section:not([id]),
.governance-detail.is-section-overview > .governance-advanced-actions,
.governance-detail.is-section-documents > #governance-linked-documents,
.governance-detail.is-section-documents > #governance-invitation,
.governance-detail.is-section-documents > #governance-minutes,
.governance-detail.is-section-attendance > #governance-attendance,
.governance-detail.is-section-attendance > #governance-meeting-roles,
.governance-detail.is-section-resolutions > #governance-resolutions,
.governance-detail.is-section-tasks > #governance-tasks { display: block; }
.governance-advanced-actions { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.governance-advanced-actions > summary { cursor: pointer; color: var(--muted); font-weight: 750; }
.governance-advanced-actions > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.document-toolbar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.meeting-document { display: grid; width: 100%; min-width: 0; gap: 26px; max-width: 900px; margin: 0 auto; overflow-wrap: anywhere; hyphens: auto; }
.meeting-document-sheet { position: relative; width: 100%; min-width: 0; min-height: 297mm; padding: 20mm 18mm 16mm; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); color: #201b20; }
.meeting-document-letterhead { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; padding-bottom: 14px; border-bottom: 2px solid var(--brand-magenta); }
.meeting-document-letterhead img { width: 54px; height: 54px; object-fit: contain; }
.meeting-document-letterhead div { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.meeting-document-letterhead div span { color: var(--muted); font-size: .78rem; }
.document-state { margin: 0; padding: 6px 10px; border: 1px solid #b74646; color: #8a2828; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.document-state.is-approved { border-color: var(--success-ink); color: var(--success-ink); }
.meeting-document-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 12px 0; color: var(--muted); font-size: .74rem; }
.document-language { padding: 20px 0 24px; }
.document-language + .document-language { border-top: 1px solid var(--line); }
.document-language h1,.document-language h2,.delegation-sheet h2 { margin: 7px 0 18px; font-size: 1.55rem; line-height: 1.18; }
.language-label { margin: 0; color: var(--brand-magenta); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.document-prose { font-size: .94rem; line-height: 1.58; }
.document-attachments { padding: 12px 14px; background: var(--surface-soft); }
.meeting-document-footer { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr) auto; gap: 12px; margin-top: 30px; padding-top: 7px; border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; }
.meeting-document-footer span:nth-child(2) { overflow-wrap: anywhere; text-align: center; }
.delegation-sheet { break-before: page; page-break-before: always; }
.delegation-sheet > h2 { margin-top: 30px; }
.delegation-language { margin-top: 24px; padding: 18px; border-left: 3px solid var(--brand-magenta); background: #faf7f9; line-height: 1.55; }
.delegation-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 48px; }
.delegation-signatures p { line-height: 2; }
.delegation-signatures span { display: block; margin-top: 30px; border-bottom: 1px solid #333; }
.minutes-heading { padding: 18px 0 12px; }
.minutes-heading h1 { margin: 7px 0 3px; font-size: 1.55rem; line-height: 1.18; }
.minutes-title-it { margin: 0 0 16px; color: var(--muted); font-size: 1rem; }
.minutes-facts { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 10px; margin: 0; }
.minutes-facts div { padding: 9px 11px; border: 1px solid var(--line); background: #faf8f3; }
.minutes-facts dt { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.minutes-facts dd { margin: 3px 0 0; font-weight: 700; }
.minutes-attendance,.minutes-points { padding: 14px 0; border-top: 1px solid var(--line); }
.minutes-attendance h2,.minutes-points>h2 { margin: 0 0 10px; font-size: 1.05rem; }
.minutes-attendance ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 18px; margin: 0; padding: 0; list-style: none; }
.minutes-attendance li { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 3px; border-bottom: 1px dotted #aaa; }
.minutes-attendance small { color: var(--muted); }
.minutes-missing { margin: 0; color: #8a2828; font-weight: 700; }
.minutes-points>ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.minutes-point { break-inside: avoid; page-break-inside: avoid; padding: 10px 0 0; border-top: 1px solid #aaa; }
.minutes-point>header { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 8px; align-items: start; }
.minutes-point>header>span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--brand-magenta); color: #fff; font-size: .75rem; font-weight: 800; }
.minutes-point h3 { margin: 0; font-size: .98rem; }
.minutes-point header p { margin: 1px 0 0; color: var(--muted); font-size: .82rem; }
.minutes-point-bilingual { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 8px 0 0 34px; }
.minutes-point-bilingual>div { min-width: 0; }
.minutes-point-bilingual strong { color: var(--brand-magenta); font-size: .68rem; }
.minutes-point-bilingual p { margin: 2px 0 6px; font-size: .82rem; line-height: 1.42; white-space: pre-wrap; }
.minutes-decision { padding: 5px 7px; background: #f6f2e8; }
.minutes-review-note { margin: 5px 0 0 34px; color: #8a2828; font-size: .72rem; font-weight: 700; }
.minutes-signatures { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); break-inside: avoid; page-break-inside: avoid; }
.minutes-signatures p { margin: 0; font-size: .72rem; font-weight: 700; }
.minutes-signatures p strong { display: block; margin-top: 4px; color: #201b20; font-size: .82rem; font-weight: 800; }
.minutes-signatures span { display: block; height: 30px; border-bottom: 1px solid #333; }
@media (max-width: 700px) {
    .governance-search > div { display: grid; grid-template-columns: 1fr; }
    .governance-next-action { grid-template-columns: 1fr; }
    .governance-next-action > .button { width: 100%; }
    .page-more-actions { width: 100%; }
    .page-more-actions > summary { width: 100%; text-align: center; }
    .page-more-actions > div { right: auto; left: 0; width: min(320px, calc(100vw - 36px)); }
    .document-toolbar { align-items: stretch; flex-direction: column; }
    .meeting-document-sheet { min-height: 0; padding: 28px 24px; }
    .meeting-document-letterhead { grid-template-columns: 48px minmax(0,1fr); }
    .meeting-document-letterhead img { width: 44px; height: 44px; }
    .meeting-document-letterhead .document-state { grid-column: 1 / -1; justify-self: start; }
    .meeting-document-meta { display: grid; grid-template-columns: 1fr auto; }
    .meeting-document-meta span:last-child { grid-column: 1 / -1; }
    .meeting-document-footer { grid-template-columns: 1fr auto; }
    .meeting-document-footer span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; text-align: left; }
    .delegation-signatures { grid-template-columns: 1fr; }
    .minutes-facts,.minutes-point-bilingual,.minutes-signatures { grid-template-columns: 1fr; }
    .minutes-attendance ul { grid-template-columns: 1fr; }
    .minutes-point-bilingual,.minutes-review-note { margin-left: 0; }
}
.reminder-worklist { margin: 10px 0 34px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.reminder-worklist > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.reminder-worklist > header h2 { margin: 2px 0 0; font-size: 1.55rem; }
.reminder-worklist > header p { max-width: 460px; margin: 0; color: var(--muted); text-align: right; }
.reminder-filters { display: flex; flex-wrap: wrap; gap: 4px; margin: 18px 0 6px; }
.reminder-filters a { padding: 7px 10px; border-bottom: 2px solid transparent; color: var(--muted); text-decoration: none; font-weight: 750; transition: color .16s ease, border-color .16s ease; }
.reminder-filters a[aria-current="page"] { border-color: var(--brand-magenta); color: var(--ink); }
.reminder-list, .task-reminders { list-style: none; margin: 0; padding: 0; }
.reminder-row { display: grid; grid-template-columns: 145px minmax(220px, 1fr) minmax(210px, auto); align-items: start; gap: 18px; padding: 17px 0; border-top: 1px solid var(--line); }
.reminder-row.is-due { box-shadow: inset 3px 0 var(--brand-magenta); padding-left: 14px; }
.reminder-row > time { color: var(--muted); font-size: .86rem; font-weight: 800; }
.reminder-row strong, .reminder-row small { display: block; }
.reminder-row small { margin-top: 4px; color: var(--muted); }
.reminder-row p { margin: 7px 0 0; }
.reminder-actions { display: flex; align-items: flex-start; justify-content: flex-end; gap: 8px; }
.reminder-actions details { min-width: 170px; }
.reminder-actions summary { padding: 9px 0; color: var(--brand-magenta); cursor: pointer; font-weight: 800; }
.reminder-actions label { display: grid; gap: 5px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.reminder-actions input { width: 100%; min-height: 40px; margin: 6px 0; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.task-row { align-items: flex-start !important; }
.task-summary { flex: 1 1 320px; min-width: 0; }
.task-reminders { margin-top: 10px; }
.task-reminders li { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 10px; padding: 6px 0; color: var(--muted); font-size: .82rem; }
.reminder-create { max-width: 620px; }
.reminder-create[open] form { animation: reminder-reveal .16s ease-out both; }
@keyframes reminder-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.evidence-document { max-width: 1120px; margin: 0 auto; }
.evidence-header { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.evidence-header h1 { max-width: 18ch; margin: 5px 0; font-size: clamp(2.2rem, 4vw, 3.7rem); letter-spacing: -.04em; }
.evidence-header p { margin: 0; color: var(--muted); font-size: 1.05rem; }
.evidence-actions, .page-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.evidence-meta, .evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0 0; }
.evidence-meta div, .evidence-grid div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.evidence-grid .wide { grid-column: 1 / -1; }
.evidence-meta dt, .evidence-grid dt { color: var(--muted); font-size: .82rem; font-weight: 800; }
.evidence-meta dd, .evidence-grid dd { margin: 0; overflow-wrap: anywhere; }
.evidence-document > section { padding: 34px 0; border-top: 1px solid var(--line); }
.evidence-document > section > h2 { margin: 0 0 18px; font-size: 1.55rem; }
.evidence-records { list-style: none; margin: 0; padding: 0; }
.evidence-records > li { display: grid; gap: 5px; padding: 14px 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.evidence-records span, .evidence-records small { color: var(--muted); }
.evidence-records p { margin: 7px 0; white-space: normal; }
.evidence-version { padding: 20px 0 26px; border-bottom: 1px solid var(--line); break-inside: avoid; }
.evidence-version > header { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.evidence-version > header span { color: var(--muted); }
.evidence-bilingual, .evidence-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
.evidence-bilingual > div + div { padding-left: 34px; border-left: 1px solid var(--line); }
.evidence-bilingual h3 { margin: 0 0 10px; font-size: 1rem; }
.evidence-bilingual p { line-height: 1.62; }
.evidence-history ol { list-style: none; margin: 0; padding: 0; }
.evidence-history li { display: grid; grid-template-columns: 165px minmax(180px, .7fr) minmax(180px, .7fr) minmax(240px, 1fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .84rem; }
.evidence-history li > * { min-width: 0; overflow-wrap: anywhere; }
.evidence-history time, .evidence-history span, .evidence-history small { color: var(--muted); }

/* Privacy and retention workspace */
.privacy-heading { align-items: flex-end; }
.privacy-person-selector { width: min(360px, 100%); display: flex; align-items: flex-end; gap: 10px; }
.privacy-person-selector label { flex: 1; display: grid; gap: 6px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.privacy-person-selector select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.privacy-area-nav { margin: 18px 0 28px; }
.privacy-person-search { margin: 18px 0 12px; }
.privacy-person-results { margin-top: 10px; }
.privacy-back { margin-bottom: 16px; }
.privacy-workspace { display: grid; grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr); min-height: 560px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.purpose-register { min-width: 0; padding: 30px 28px 30px 0; border-right: 1px solid var(--line); }
.purpose-register h2, .purpose-detail h2, .privacy-retention h2 { margin-top: 0; }
.purpose-list { display: grid; gap: 4px; margin: 20px 0 28px; }
.purpose-link { display: grid; gap: 4px; padding: 13px 14px; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.purpose-link:hover { background: var(--surface-soft); }
.purpose-link.is-active { border-left-color: var(--brand); background: #f8edf3; }
.purpose-link span, .purpose-link small { color: var(--muted); font-size: .82rem; }
.purpose-detail { min-width: 0; padding: 30px 0 36px 34px; }
.purpose-detail > header > p { max-width: 720px; color: var(--muted); line-height: 1.62; }
.privacy-purpose-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.privacy-purpose-meta div { grid-template-columns: 130px minmax(0, 1fr); }
.privacy-purpose-meta dd { overflow-wrap: anywhere; }
.privacy-person-status { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.privacy-create { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 18px; }
.privacy-create summary, .privacy-history summary { cursor: pointer; color: var(--brand-deep); font-weight: 800; }
.privacy-timeline, .retention-review-list { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.privacy-timeline li { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.privacy-timeline span, .privacy-timeline small { color: var(--muted); }
.privacy-retention { margin-top: 48px; }
.privacy-retention > header p { color: var(--muted); }
.privacy-warning { max-width: 900px; padding: 13px 16px; border-left: 3px solid #c38928; background: #fff7e5; color: #604613; }
.retention-columns { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 44px; margin-top: 32px; }
.retention-columns > div { min-width: 0; }
.retention-review-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 5px; }
.retention-review-list > li { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(280px, 1.25fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.retention-review-list > li > div { display: grid; align-content: start; justify-items: start; gap: 5px; }
.retention-review-list > li > div > span:not(.status-label) { color: var(--muted); font-size: .87rem; }
.retention-review-list form { display: grid; grid-template-columns: minmax(130px, .6fr) minmax(180px, 1fr); gap: 9px; }
.retention-review-list form label { display: grid; gap: 5px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.retention-review-list form input, .retention-review-list form select { width: 100%; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.retention-review-list form .button { grid-column: 1 / -1; justify-self: start; }

.privacy-work-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 30px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.privacy-work-nav a { min-height: 42px; display: inline-flex; align-items: center; padding: 9px 13px; border-radius: 999px; color: var(--muted); font-weight: 750; text-decoration: none; }
.privacy-work-nav a:hover { background: var(--surface-soft); color: var(--ink); }
.privacy-work-nav a[aria-current="page"] { background: #76254f; color: #fff; }
.privacy-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.privacy-overview article, .privacy-admin-grid > article { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.privacy-overview h2, .privacy-admin-grid h3 { margin: 12px 0 8px; }
.privacy-overview article > p, .privacy-administration > header p, .privacy-consent-workspace aside > p { color: var(--muted); line-height: 1.55; }
.privacy-card-number { width: 32px; height: 32px; display: inline-grid; place-items: center; border-radius: 50%; background: #f8edf3; color: #76254f; font-weight: 850; }
.privacy-count-summary { display: flex; align-items: baseline; gap: 7px; }
.privacy-count-summary strong { color: #76254f; font-size: 1.45rem; }
.privacy-consent-workspace { display: grid; grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr); min-height: 560px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.privacy-person-picker { min-width: 0; padding: 30px 28px 30px 0; border-right: 1px solid var(--line); }
.privacy-consent-detail { min-width: 0; padding: 30px 0 36px 34px; }
.privacy-consent-cards { display: grid; gap: 14px; margin-top: 22px; }
.privacy-consent-card { min-width: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.privacy-consent-card > div:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; }
.privacy-consent-card h3 { flex: 1 1 260px; margin: 0; font-size: 1.04rem; }
.privacy-consent-card small { flex-basis: 100%; color: var(--muted); }
.privacy-next-action, .privacy-technical-details { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 12px; }
.privacy-next-action summary, .privacy-technical-details summary { cursor: pointer; color: #76254f; font-weight: 800; }
.privacy-next-action .governance-form, .privacy-technical-details .key-values { margin-top: 14px; }
.privacy-history { margin-top: 24px; }
.privacy-retention { margin-top: 0; }
.privacy-retention-lanes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 24px 0; }
.privacy-retention-lanes a { display: grid; gap: 3px; min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; }
.privacy-retention-lanes a[aria-current="page"] { border-color: var(--brand); background: #f8edf3; }
.privacy-retention-lanes strong { color: #76254f; font-size: 1.45rem; }
.privacy-retention-lanes span { color: var(--muted); font-size: .86rem; font-weight: 750; }
.privacy-review-cards { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.privacy-review-cards > li { display: grid; grid-template-columns: minmax(220px, 1fr) auto; align-items: start; gap: 12px 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.privacy-review-main { display: grid; gap: 4px; }
.privacy-review-main span, .privacy-review-main small { color: var(--muted); }
.privacy-review-cards .privacy-next-action { grid-column: 1 / -1; }
.privacy-administration > header { margin-bottom: 24px; }
.privacy-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.privacy-admin-grid > article:first-child { grid-column: 1 / -1; }
.privacy-admin-list { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.privacy-admin-list li { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.privacy-admin-list span, .privacy-admin-list small { color: var(--muted); overflow-wrap: anywhere; }

/* Controlled accounts and temporal roles */
.access-heading { align-items: flex-end; }
.access-create { position: relative; width: auto; }
.access-create > summary { width: max-content; margin-left: auto; list-style: none; }
.access-create .governance-form { position: absolute; z-index: 20; top: calc(100% + 12px); right: 0; width: min(660px, calc(100vw - 80px)); padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.credential-reveal { margin: 0 0 28px; padding: 20px 22px; border-left: 4px solid var(--brand-magenta); background: #f8edf3; }
.credential-reveal h2 { margin: 7px 0 4px; font-size: 1.2rem; }
.credential-reveal p { margin: 0; color: var(--muted); }
.credential-reveal dl { margin: 15px 0 0; }
.credential-reveal dt { color: var(--muted); font-size: .8rem; font-weight: 750; }
.credential-reveal dd { margin: 4px 0 0; }
.credential-reveal code { display: inline-block; padding: 8px 10px; border: 1px solid #d7b7c8; border-radius: var(--radius-sm); background: #fff; color: var(--ink); font-size: 1rem; user-select: all; }
.access-readiness { margin: 0 0 30px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-soft); }
.access-readiness > header { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr); gap: 24px; align-items: end; }
.access-readiness h2 { margin: 5px 0 0; font-size: 1.45rem; }
.access-readiness > header p { margin: 0; color: var(--muted); }
.access-readiness-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.access-readiness-summary div { padding: 14px 16px; }
.access-readiness-summary div + div { border-left: 1px solid var(--line); }
.access-readiness-summary dt { color: var(--muted); font-size: .76rem; font-weight: 750; }
.access-readiness-summary dd { margin: 4px 0 0; color: var(--brand-deep); font-size: 1.35rem; font-weight: 850; }
.access-readiness h3 { margin: 0 0 8px; font-size: 1rem; }
.access-review-capacity { display: grid; margin: 0; padding: 0; list-style: none; }
.access-review-capacity li { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--line); }
.access-review-capacity li > div { display: grid; gap: 2px; }
.access-review-capacity li span { color: var(--muted); font-size: .82rem; }
.access-review-capacity li > span { font-weight: 750; }
.access-review-capacity .is-ready > span { color: #29643f; }
.access-review-capacity .is-pending > span { color: #8b4a12; }
.access-workspace { display: grid; grid-template-columns: minmax(300px, .64fr) minmax(0, 1.36fr); min-height: 680px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.access-workspace:not(.has-selection) { grid-template-columns: 1fr; }
.access-workspace:not(.has-selection) .access-detail { display: none; }
.access-workspace:not(.has-selection) .access-register { padding-right: 0; border-right: 0; }
.access-register { min-width: 0; padding: 28px 28px 32px 0; border-right: 1px solid var(--line); }
.access-register .register-search input:not([type="hidden"]) { min-width: 0; flex: 1; }
.access-register .register-search .button { flex: 0 0 auto; white-space: nowrap; }
.access-register-search { display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(130px,.75fr)) auto; gap: 10px; align-items: end; }
.access-register-search label { display: grid; gap: 5px; min-width: 0; }
.access-register-search input,.access-register-search select { width: 100%; min-width: 0; }
.access-readiness-detail > summary { cursor: pointer; font-weight: 800; }
.access-device-rollout { margin: -12px 0 30px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.access-device-rollout > header { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr); gap: 24px; align-items: end; }
.access-device-rollout h2 { margin: 5px 0 0; font-size: 1.45rem; }
.access-device-rollout > header p, .access-device-rollout > footer p { margin: 0; color: var(--muted); }
.access-device-rollout-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.access-device-rollout-grid article { display: grid; gap: 10px; min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.access-device-rollout-grid article > div { display: grid; gap: 3px; }
.access-device-rollout-grid article span, .access-device-rollout-grid article small { color: var(--muted); font-size: .8rem; }
.access-device-rollout-grid progress { width: 100%; height: .7rem; accent-color: var(--brand-green); }
.access-device-rollout > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 16px; }
.access-device-rollout > footer p { max-width: 70ch; font-size: .84rem; }
.access-detail-back { display: none; }
.access-filters { margin: 16px 0; }
.access-list { display: grid; }
.access-record { display: grid; gap: 3px; padding: 13px 14px; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.access-record:hover { background: var(--surface-soft); }
.access-record.is-active { border-left-color: var(--brand-magenta); background: #f8edf3; }
.access-record span, .access-record small { overflow-wrap: anywhere; color: var(--muted); font-size: .83rem; }
.access-detail { min-width: 0; padding: 30px 0 38px 34px; }
.access-detail > header h2 { margin: 10px 0 4px; font-size: 2rem; }
.access-detail > header p { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.access-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.access-meta div { grid-template-columns: 130px minmax(0, 1fr); }
.access-section { margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--line); }
.role-assignment-list { display: grid; margin: 0; padding: 0; list-style: none; }
.role-assignment-list > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.role-assignment-list > li > div { display: grid; gap: 4px; }
.role-assignment-list span, .role-assignment-list small { color: var(--muted); }
.role-assignment-list details { min-width: 220px; }
.role-assignment-list summary, .access-inline-form summary, .access-history summary { cursor: pointer; color: var(--brand-deep); font-weight: 800; }
.role-assignment-list form { display: grid; gap: 9px; margin-top: 12px; }
.role-assignment-list form label, .access-status-form label { display: grid; gap: 5px; font-size: .8rem; font-weight: 750; }
.role-assignment-list input, .access-status-form input, .access-status-form select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.access-inline-form, .access-history { margin-top: 22px; }
.person-link-current { display: grid; gap: 3px; margin-bottom: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.person-link-current small { color: var(--muted); }
.access-status-form { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(240px, 1.4fr) auto; align-items: end; gap: 10px; }
.access-view-as { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; padding: 16px; border: 1px solid #d5a45a; border-radius: var(--radius-sm); background: #fff9e9; }
.access-view-as > div { display: grid; gap: 3px; }
.access-view-as small { max-width: 66ch; color: var(--muted); }

/* Bilingual communication register, approval and manual outbox */
.communication-heading { align-items: flex-end; }
.communication-create { position: relative; }
.communication-create > summary { list-style: none; }
.communication-create > summary::-webkit-details-marker { display: none; }
.communication-composer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.communication-create .communication-composer { position: absolute; z-index: 25; top: calc(100% + 12px); right: 0; width: min(880px, calc(100vw - 80px)); max-height: calc(100vh - 150px); overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.communication-composer > label, .communication-languages label, .setup-form label, .delivery-log form label { display: grid; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.communication-composer input, .communication-composer select, .communication-composer textarea, .setup-form input, .setup-form select, .setup-form textarea, .delivery-log input, .delivery-log select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.communication-composer textarea, .setup-form textarea { resize: vertical; line-height: 1.5; }
.communication-composer .wide { grid-column: 1 / -1; }
.communication-languages { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; min-width: 0; margin: 4px 0; padding: 20px 0; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.communication-languages legend { padding: 0 12px 0 0; color: var(--ink); font-weight: 800; }
.communication-languages > div, .communication-languages > article { min-width: 0; display: grid; align-content: start; gap: 10px; }
.communication-languages > * + * { padding-left: 28px; border-left: 1px solid var(--line); }
.communication-safety { margin: -8px 0 24px; padding: 12px 15px; border-left: 3px solid #c38928; background: #fff7e5; color: #604613; }
.communication-workspace { display: grid; grid-template-columns: minmax(270px, .58fr) minmax(0, 1.42fr); min-height: 660px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.communication-workspace:not(.has-selection) { grid-template-columns: 1fr; }
.communication-workspace:not(.has-selection) .communication-detail { display: none; }
.communication-workspace:not(.has-selection) .communication-register { padding-right: 0; border-right: 0; }
.communication-tabs { margin: 18px 0; }
.communication-register-search { grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(130px,.8fr)) auto; }
.communication-detail-back { display: none; }
.communication-register { min-width: 0; padding: 28px 28px 32px 0; border-right: 1px solid var(--line); }
.communication-list { display: grid; margin-top: 18px; }
.communication-record { display: grid; gap: 4px; padding: 14px; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.communication-record:hover { background: var(--surface-soft); }
.communication-record.is-active { border-left-color: var(--brand-magenta); background: #f8edf3; }
.communication-record span, .communication-record small { color: var(--muted); font-size: .82rem; }
.communication-detail { min-width: 0; padding: 30px 0 40px 34px; }
.communication-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.communication-detail-head h2 { margin: 10px 0 4px; font-size: 2rem; }
.communication-detail-head p { margin: 0; color: var(--muted); }
.communication-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 26px; }
.communication-cancel { margin-top: 16px; text-align: right; }
.communication-cancel summary { cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 750; }
.communication-cancel form { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.communication-cancel label { display: grid; gap: 5px; text-align: left; color: var(--muted); font-size: .78rem; font-weight: 750; }
.communication-cancel input { min-width: 300px; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.communication-meta div { grid-template-columns: 125px minmax(0, 1fr); }
.communication-meta dd { overflow-wrap: anywhere; }
.communication-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.communication-section h3 { margin: 4px 0 8px; }
.recipient-preview > header, .approval-band > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.recipient-preview > header > strong { font-size: 2.6rem; color: var(--brand-deep); }
.recipient-preview > p { color: var(--muted); }
.exclusion-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 18px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.exclusion-summary li { display: grid; gap: 3px; padding: 14px; }
.exclusion-summary li + li { border-left: 1px solid var(--line); }
.exclusion-summary span { color: var(--muted); font-size: .78rem; }
.recipient-preview summary, .communication-edit summary, .communication-setup summary, .delivery-log summary { cursor: pointer; color: var(--brand-deep); font-weight: 800; }
.recipient-list { margin: 14px 0 0; padding: 0; list-style: none; }
.recipient-list li { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) 44px; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.recipient-list span:nth-child(2) { color: var(--muted); }
.bilingual-preview .communication-languages { margin-top: 18px; }
.bilingual-preview h4 { margin: 0; font-size: 1rem; }
.bilingual-preview article p { margin: 0; line-height: 1.62; overflow-wrap: anywhere; }
.attachment-note { color: var(--muted); }
.communication-edit { margin-top: 20px; }
.communication-edit .communication-composer { margin-top: 16px; }
.approval-band code { display: block; margin-top: 12px; color: var(--muted); overflow-wrap: anywhere; }
.delivery-log > header p { color: var(--muted); }
.delivery-log > ol { margin: 18px 0 0; padding: 0; list-style: none; }
.delivery-log > ol > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .8fr); gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.delivery-log > ol > li > div { display: grid; gap: 4px; }
.delivery-log span, .delivery-log small { color: var(--muted); }
.delivery-log form { display: grid; gap: 8px; margin-top: 12px; }
.communication-setup { margin-top: 52px; }
.communication-setup > header p { color: var(--muted); }
.communication-setup-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 54px; margin-top: 28px; }
.communication-setup-columns ul { margin: 0 0 18px; padding: 0; list-style: none; }
.communication-setup-columns li { display: grid; gap: 3px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.communication-setup-columns li span { color: var(--muted); font-size: .82rem; }
.setup-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.setup-form .wide { grid-column: 1 / -1; }

/* Contributions and manual payment evidence */
.finance-heading { align-items: flex-end; flex-wrap: wrap; }
.finance-heading > div { flex: 1 1 24rem; min-width: 0; }
.finance-create-actions { align-items: center; display: flex; flex: 1 1 36rem; flex-wrap: wrap; gap: 9px; justify-content: flex-end; min-width: 0; }
.finance-create-actions details { position: relative; }
.finance-create-actions summary { list-style: none; }
.finance-create-actions summary::-webkit-details-marker { display: none; }
.finance-create-form { position: absolute; z-index: 26; top: calc(100% + 12px); right: 0; width: min(560px, calc(100vw - 80px)); max-height: calc(100vh - 150px); overflow: auto; display: grid; gap: 13px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.finance-create-form h2 { margin: 0 0 4px; font-size: 1.35rem; }
.finance-create-form label, .finance-reversal label, .finance-approval label { display: grid; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.finance-create-form input, .finance-create-form select, .finance-create-form textarea, .finance-reversal input, .finance-approval input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.finance-create-form textarea { resize: vertical; }
.finance-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.finance-allocation { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(130px, .6fr); gap: 10px; margin: 3px 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); }
.finance-allocation legend { padding-right: 10px; color: var(--ink); font-weight: 800; }
.finance-safety { margin: -8px 0 22px; padding: 12px 15px; border-left: 3px solid #c38928; background: #fff7e5; color: #604613; }
.finance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-summary div { padding: 16px 18px; }
.finance-summary div + div { border-left: 1px solid var(--line); }
.finance-summary dt { color: var(--muted); font-size: .76rem; font-weight: 750; }
.finance-summary dd { margin: 5px 0 0; color: var(--brand-deep); font-size: 1.35rem; font-weight: 850; }
.finance-tabs { margin-bottom: 0; }
.finance-income { display: grid; gap: 1rem; }
.finance-income > .section-heading { align-items: end; flex-wrap: wrap; }
.finance-income > .section-heading > * { min-width: 0; }
.finance-income > .section-heading form { width: min(100%, 15rem); min-width: 0; }
.finance-income > .section-heading label { display: grid; gap: .35rem; font-weight: 700; }
.finance-tariff { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1.25rem; align-items: center; padding: 1.1rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.finance-tariff > * { min-width: 0; }
.finance-tariff.needs-review { border-color: var(--warning-ink); }
.finance-tariff h3, .finance-income-card h4 { margin: .35rem 0; }
.finance-tariff p { margin: 0; color: var(--muted); }
.finance-tariff dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 0; }
.finance-tariff dl div { padding: .7rem; border-radius: var(--radius-md); background: var(--surface-soft); }
.finance-tariff dt { color: var(--muted); font-size: .82rem; }
.finance-tariff dd { margin: .2rem 0 0; font-weight: 800; }
.finance-tariff form { grid-column: 1 / -1; min-width: 0; }
.finance-income-list { padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.finance-income-list > .section-heading { margin-bottom: .8rem; }
.finance-income-card { display: grid; gap: .65rem; }
.finance-income-card > p { margin: 0; }
.finance-income-card form { justify-self: start; }
@media (max-width: 900px) {
    .finance-tariff { grid-template-columns: 1fr; }
    .finance-tariff dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .finance-tariff dl { grid-template-columns: 1fr; }
}
.finance-tabs a { color: var(--muted); text-decoration: none; }
.finance-tabs a[aria-current="page"] { color: var(--brand-deep); border-bottom-color: var(--brand-magenta); }
.finance-workspace { display: grid; grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); min-height: 650px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-register { min-width: 0; padding: 26px 28px 34px 0; border-right: 1px solid var(--line); }
.finance-list { display: grid; margin-top: 17px; }
.finance-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.finance-record:hover { background: var(--surface-soft); }
.finance-record.is-active { border-left-color: var(--brand-magenta); background: #f8edf3; }
.finance-record > span { min-width: 0; display: grid; gap: 2px; }
.finance-record strong { overflow-wrap: anywhere; }
.finance-record b { color: var(--brand-deep); }
.finance-record > small { grid-column: 1 / -1; }
.finance-record small { color: var(--muted); font-size: .78rem; }
.finance-detail { min-width: 0; padding: 30px 0 42px 34px; }
.finance-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.finance-detail-head h2 { margin: 10px 0 4px; font-size: 2rem; }
.finance-detail-head p { margin: 0; color: var(--muted); }
.finance-detail-head > strong { color: var(--brand-deep); font-size: 2rem; white-space: nowrap; }
.finance-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 26px; }
.finance-meta div { grid-template-columns: 115px minmax(0, 1fr); }
.finance-meta dd { overflow-wrap: anywhere; }
.finance-primary-action { margin-top: 22px; text-align: right; }
.finance-approval { display: grid; grid-template-columns: minmax(0, .8fr) minmax(300px, 1.2fr); gap: 32px; margin-top: 30px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-approval h3 { margin: 5px 0 6px; }
.finance-approval p { margin: 0; color: var(--muted); }
.finance-approval .approval-actions { align-self: start; }
.finance-reversal { margin-top: 20px; text-align: right; }
.finance-reversal summary { cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 750; }
.finance-reversal form { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.finance-reversal label { min-width: min(360px, 100%); text-align: left; }
.finance-section { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line); }
.finance-section h3 { margin: 0 0 12px; }
.finance-history { margin: 0; padding: 0; list-style: none; }
.finance-history li { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(100px, .45fr) minmax(0, 1.4fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.finance-history li > span { color: var(--muted); overflow-wrap: anywhere; }
.finance-history li.empty-state { display: block; }
.finance-checks { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr); gap: 42px; margin: 28px 0 34px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-checks h2 { margin: 5px 0 6px; font-size: 1.35rem; }
.finance-checks p { margin: 0; color: var(--muted); }
.finance-checks dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.finance-checks dl div { padding: 12px 18px; border-left: 1px solid var(--line); }
.finance-checks dt { color: var(--muted); font-size: .78rem; font-weight: 750; }
.finance-checks dd { margin: 5px 0 0; color: var(--brand-deep); font-size: 1.15rem; font-weight: 850; }
.member-finance-person { margin: -8px 0 22px; color: var(--muted); }
.member-finance-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.member-finance-summary .has-overdue dd { color: var(--danger); }
.member-contribution-filters { display: grid; grid-template-columns: repeat(2,minmax(180px,1fr)) auto; align-items: end; gap: 12px; margin: 0 0 22px; }
.member-contribution-filters label { display: grid; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 760; }
.member-contribution-filters select { min-height: 44px; }
.member-contribution-filter-disclosure { margin: 18px 0 0; }
.member-contribution-filter-disclosure > summary { width: max-content; min-height: 40px; display: inline-flex; align-items: center; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.member-contribution-filter-disclosure .member-contribution-filters { margin: 10px 0 0; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.member-contribution-list { margin-top: 34px; }
.member-contributions { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.member-contribution { display: grid; grid-template-columns: minmax(230px,.8fr) minmax(0,1.2fr); gap: 36px; padding: 22px 0; border-bottom: 1px solid var(--line); transition: background-color .16s ease; }
.member-contribution:hover { background: var(--surface-soft); }
.member-contribution.is-overdue { border-left: 4px solid var(--danger); padding-left: 18px; }
.member-contribution-main h3 { margin: 9px 0 4px; font-size: 1.16rem; }
.member-contribution-main p { margin: 0; color: var(--muted); }
.member-contribution-values { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0; }
.member-contribution-values div { min-width: 0; }
.member-contribution-values dt { color: var(--muted); font-size: .74rem; font-weight: 750; }
.member-contribution-values dd { margin: 5px 0 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.member-finance-empty { max-width: 720px; margin-top: 24px; }
.installment-timeline { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.installment-timeline>header { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.installment-timeline>header h3 { margin: 4px 0 0; }
.installment-timeline>header small { color: var(--muted); }
.installment-timeline ol { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.installment-timeline li { min-width: 0; display: grid; gap: 6px; padding: 10px 8px; border: 1px solid var(--line); border-radius: 10px; }
.installment-timeline li.is-overdue { border-color: var(--danger); }
.installment-timeline time,.installment-timeline .status-label { font-size: .7rem; overflow-wrap: anywhere; }
.installment-number { color: var(--muted); font-size: .75rem; font-weight: 800; }

/* Calendar and cleaning rota */
.calendar-heading { align-items: flex-end; }
.calendar-heading-actions { align-items: center; justify-content: flex-end; }
.calendar-create { position: relative; }
.calendar-create > summary { list-style: none; }
.calendar-create > summary::-webkit-details-marker { display: none; }
.calendar-create-form { position: absolute; z-index: 26; top: calc(100% + 12px); right: 0; width: min(760px, calc(100vw - 80px)); max-height: calc(100vh - 150px); overflow: auto; display: grid; gap: 13px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow); }
.calendar-create-form h2 { margin: 0 0 4px; font-size: 1.35rem; }
.calendar-create-form label, .calendar-transition label, .cleaning-assign-form label { display: grid; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.calendar-create-form input, .calendar-create-form select, .calendar-create-form textarea, .calendar-transition input, .cleaning-assign-form select, .cleaning-swaps input, .calendar-controls input, .calendar-controls select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.calendar-create-form textarea { resize: vertical; }
.calendar-form-grid, .calendar-recurrence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.calendar-recurrence, .calendar-cleaning-fields { margin: 3px 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); }
.calendar-recurrence legend, .calendar-cleaning-fields legend { padding-right: 10px; font-weight: 850; }
.calendar-cleaning-fields { display: grid; gap: 10px; }
.calendar-cleaning-fields > small { color: var(--muted); }
.calendar-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.calendar-controls > * { min-width: 0; }
.calendar-controls form { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: flex-end; gap: 8px; }
.calendar-controls form label { display: grid; gap: 4px; color: var(--muted); font-size: .74rem; font-weight: 750; }
.calendar-controls input { width: 145px; }
.calendar-controls select { width: 170px; }
.calendar-view-more { position: relative; }
.calendar-view-more > summary { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); cursor: pointer; font-size: .82rem; font-weight: 750; }
.calendar-view-more > nav { position: absolute; z-index: 8; top: calc(100% + 4px); right: 0; min-width: 180px; display: grid; padding: 7px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow-soft); }
.calendar-view-more > nav a { min-height: 40px; display: flex; align-items: center; padding: 8px 10px; border-radius: 8px; color: var(--ink); font-weight: 700; text-decoration: none; }
.calendar-view-more > nav a:hover,.calendar-view-more > nav a[aria-current="page"] { background: var(--surface-soft); color: var(--brand-magenta); }
.calendar-modes { margin: 0; }
.calendar-modes { flex-wrap: wrap; }
.calendar-modes a { color: var(--muted); text-decoration: none; }
.calendar-modes a[aria-current="page"] { color: var(--brand-deep); border-bottom-color: var(--brand-magenta); }
.calendar-filter { position: relative; }
.calendar-filter > summary, .calendar-secondary > summary { min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 800; }
.calendar-filter > form { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; width: max-content; max-width: min(720px, calc(100vw - 80px)); padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow-soft); }
.calendar-secondary { margin-top: 22px; padding-top: 6px; border-top: 1px solid var(--line); }
.calendar-secondary-actions { display: grid; justify-items: start; gap: 10px; padding-bottom: 14px; }
.calendar-feed { width: 100%; margin: 0; padding: 0; }
.calendar-feed > summary { cursor: pointer; color: var(--brand-deep); font-weight: 800; }
.calendar-feed > p { color: var(--muted); }
.calendar-feed > form { display: grid; grid-template-columns: minmax(180px,1fr) 130px minmax(190px,1fr) auto; align-items: end; gap: 8px; }
.calendar-feed label { display: grid; gap: 5px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.calendar-feed input, .calendar-feed select, .alert input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; font: inherit; }
.calendar-feed-list { margin: 18px 0 0; padding: 0; list-style: none; }
.calendar-feed-list li { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--line); }
.calendar-feed-list li > div { display: grid; gap: 3px; }
.calendar-feed-list small { color: var(--muted); }
.calendar-feed-list form { display: flex; gap: 7px; }
.week-calendar { border-bottom: 1px solid var(--line); }
.week-calendar > header { display: flex; align-items: center; justify-content: center; gap: 22px; padding: 16px 0; }
.week-calendar > header h2 { min-width: 220px; margin: 0; text-align: center; font-size: 1.15rem; }
.week-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.week-day { min-width: 0; min-height: 116px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.week-day:first-child { border-left: 0; }
.week-day > h3 { display: flex; justify-content: space-between; gap: 6px; margin: 0; padding: 11px 9px; color: var(--muted); font-size: .78rem; }
.week-day.is-today > h3 { border-top: 3px solid var(--brand-magenta); padding-top: 8px; color: var(--brand-deep); }
.week-day ol { margin: 0; padding: 0 7px 12px; list-style: none; }
.week-day li { margin: 4px 0; border-left: 3px solid var(--line); }
.week-day li.event-cleaning { border-left-color: #c38928; }
.week-day li.event-meeting { border-left-color: var(--brand-magenta); }
.week-day a { display: grid; gap: 2px; padding: 5px 7px; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.week-day a:hover { background: var(--surface-soft); }
.week-day a time, .week-day a small { color: var(--muted); font-size: .7rem; }
.week-day a strong { font-size: .78rem; }
.calendar-workspace { display: grid; grid-template-columns: minmax(310px, .72fr) minmax(0, 1.28fr); min-height: 650px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-agenda { min-width: 0; padding: 22px 26px 34px 0; border-right: 1px solid var(--line); }
.calendar-list { display: grid; }
.calendar-row { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 12px; padding: 14px 12px 14px 16px; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.calendar-row::before { position: absolute; left: 0; top: 18px; width: 3px; height: 30px; content: ""; background: var(--line); }
.calendar-row.event-cleaning::before { background: #c38928; }
.calendar-row.event-meeting::before { background: var(--brand-magenta); }
.calendar-row.event-closure::before { background: #687d73; }
.calendar-row:hover { background: var(--surface-soft); }
.calendar-row.is-active { border-left-color: var(--brand-magenta); background: #f8edf3; }
.calendar-row.is-active::before { display: none; }
.calendar-row time { min-width: 0; color: var(--muted); font-size: .78rem; line-height: 1.45; overflow-wrap: anywhere; }
.calendar-row > span { min-width: 0; display: grid; gap: 3px; }
.calendar-row strong { overflow-wrap: anywhere; }
.calendar-row small { color: var(--muted); }
.calendar-row > b { align-self: center; color: #75520f; font-size: .82rem; }
.calendar-detail { min-width: 0; padding: 30px 0 42px 36px; }
.calendar-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.calendar-detail-head > div { min-width: 0; max-width: 100%; display: grid; grid-template-columns: minmax(0, max-content) minmax(0, max-content); align-items: center; gap: 8px; }
.calendar-detail-head h2, .calendar-detail-head p { grid-column: 1 / -1; }
.calendar-detail-head h2 { margin: 8px 0 0; font-size: 2rem; }
.calendar-detail-head p { min-width: 0; margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.calendar-detail-head > small, .event-kind { color: var(--muted); font-size: .78rem; font-weight: 750; }
.calendar-description { max-width: 760px; margin: 24px 0; line-height: 1.62; }
.calendar-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 26px; }
.calendar-meta div { grid-template-columns: 105px minmax(0, 1fr); }
.calendar-links { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.calendar-links h3 { margin: 0 0 10px; }
.calendar-links ul { margin: 0; padding: 0; list-style: none; }
.calendar-links li { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.calendar-links li > span { display: grid; gap: 2px; }
.calendar-links small { color: var(--muted); }
.calendar-links form { display: flex; flex-wrap: wrap; align-items: end; gap: 7px; margin-top: 10px; }
.calendar-links input, .calendar-links select { min-width: 0; flex: 1 1 220px; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; font: inherit; }
.calendar-links .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.calendar-transition { margin-top: 22px; text-align: right; }
.calendar-transition summary { cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 750; }
.calendar-transition form { display: flex; align-items: flex-end; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.calendar-transition label { min-width: min(340px, 100%); text-align: left; }
.cleaning-detail { margin-top: 30px; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cleaning-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cleaning-detail h3 { margin: 5px 0 0; font-size: 1.45rem; }
.cleaning-detail > header > strong { color: #75520f; }
.cleaning-detail > p { color: var(--muted); }
.cleaning-assignments { margin: 18px 0 0; padding: 0; list-style: none; }
.cleaning-assignments > li { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.cleaning-assignments > li > div { min-width: 0; display: grid; gap: 2px; }
.cleaning-assignments strong { overflow-wrap: anywhere; }
.cleaning-assignments span { color: var(--muted); font-size: .78rem; }
.cleaning-assignments form { display: flex; gap: 6px; }
.cleaning-assignment-actions { min-width: 0; max-width: 100%; flex: 1 1 280px; display: grid; justify-items: end; gap: 6px; }
.cleaning-assignment-actions details { width: 100%; max-width: 100%; text-align: right; }
.cleaning-assignment-actions summary { min-height: 24px; display: inline-flex; align-items: center; cursor: pointer; color: var(--muted); font-size: .78rem; font-weight: 750; }
.cleaning-swap-request { width: min(440px, 100%); max-width: 100%; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px !important; margin: 8px 0 0 auto; padding: 14px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); text-align: left; }
.cleaning-swap-request label { display: grid; gap: 5px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.cleaning-swap-request select, .cleaning-swap-request input { width: 100%; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; font: inherit; }
.cleaning-swap-request .button { grid-column: 1 / -1; justify-self: end; }
.cleaning-assign-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: 18px; }
.cleaning-swaps { margin-top: 28px; }
.cleaning-swaps h4 { margin: 0 0 8px; }
.cleaning-swaps article { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 22px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.cleaning-swaps article p { margin: 3px 0 0; color: var(--muted); }
.cleaning-swaps form { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(140px, 1fr) auto auto; gap: 6px; }
.calendar-history { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line); }
.calendar-history h3 { margin: 0 0 10px; }
.calendar-history ol { margin: 0; padding: 0; list-style: none; }
.calendar-history li { display: grid; grid-template-columns: 145px 110px minmax(0, 1fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.calendar-history time, .calendar-history span { color: var(--muted); }
.calendar-history li > *,.calendar-meta dt,.cleaning-detail > header strong,.calendar-controls .checkbox-label { min-width: 0; overflow-wrap: anywhere; }
.month-calendar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.month-calendar > header { display: flex; align-items: center; justify-content: center; gap: 22px; padding: 16px 0; }
.month-calendar > header > div { min-width: 150px; display: grid; justify-items: center; gap: 2px; }
.month-calendar > header h2 { margin: 0; text-align: center; }
.month-today { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; padding: 2px 10px; color: var(--brand-deep); font-size: .76rem; font-weight: 800; text-underline-offset: 3px; }
.month-weekdays, .month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.month-weekdays span { padding: 9px; color: var(--muted); font-size: .75rem; font-weight: 800; text-align: center; }
.month-day { min-width: 0; min-height: 126px; padding: 8px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.month-day:nth-child(7n+1) { border-left: 0; }
.month-day.is-outside { color: #6d6762; background: #faf9f6; }
.month-day.is-today > time { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-magenta); color: #fff; font-weight: 850; }
.month-day ol { margin: 7px 0 0; padding: 0; list-style: none; }
.month-day li { margin-top: 4px; border-left: 3px solid var(--line); }
.month-day li.event-cleaning { border-left-color: #c38928; }
.month-day li.event-meeting { border-left-color: var(--brand-magenta); }
.month-day a { min-width: 0; display: grid; gap: 1px; padding: 4px 6px; color: var(--ink); text-decoration: none; }
.month-day a span { overflow: hidden; font-size: .76rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.month-day a small { color: var(--muted); font-size: .68rem; }
.month-mobile { display: none; }

/* Volunteer register: restrained register/detail surface with explicit evidence boundaries */
.volunteer-heading { align-items: flex-start; }
.volunteer-create { position: relative; }
.volunteer-create > summary, .volunteer-section-action > summary { list-style: none; cursor: pointer; }
.volunteer-create > summary::-webkit-details-marker, .volunteer-section-action > summary::-webkit-details-marker { display: none; }
.volunteer-create .volunteer-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(680px, calc(100vw - 72px)); max-height: min(720px, calc(100vh - 150px)); overflow: auto; padding: 22px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.volunteer-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.volunteer-form label, .volunteer-snapshot-form label, .volunteer-export label, .volunteer-transition label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.volunteer-form input, .volunteer-form select, .volunteer-form textarea, .volunteer-snapshot-form input, .volunteer-export input, .volunteer-transition input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.volunteer-form textarea { resize: vertical; }
.volunteer-form .wide { grid-column: 1 / -1; }
.volunteer-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.volunteer-summary div { padding: 18px 22px; }
.volunteer-summary div + div { border-left: 1px solid var(--line); }
.volunteer-summary dt { color: var(--muted); font-size: .74rem; font-weight: 780; text-transform: uppercase; letter-spacing: .06em; }
.volunteer-summary dd { display: flex; align-items: center; gap: 8px; margin: 5px 0 0; font-size: 1.25rem; font-weight: 820; }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: #a56b00; }
.status-dot.is-good { background: #397552; }
.volunteer-tabs { margin-bottom: 24px; }
.volunteer-tools { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 18px; margin-bottom: 20px; }
.volunteer-tools .register-search { margin: 0; }
.volunteer-export { position: relative; }
.volunteer-export > summary { cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.volunteer-export form { position: absolute; z-index: 10; top: calc(100% + 8px); right: 0; width: min(440px, calc(100vw - 60px)); display: grid; gap: 10px; padding: 18px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.volunteer-workspace { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.volunteer-register { padding: 18px 24px 18px 0; border-right: 1px solid var(--line); }
.volunteer-register ol { margin: 0; padding: 0; list-style: none; }
.volunteer-register li + li { border-top: 1px solid var(--line); }
.volunteer-register a { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 10px; color: var(--ink); text-decoration: none; }
.volunteer-register a:hover, .volunteer-register a[aria-current="page"] { background: var(--surface-soft); }
.volunteer-register a > b { color: var(--brand-magenta); font-size: .76rem; letter-spacing: .04em; }
.volunteer-register a > span { min-width: 0; display: grid; gap: 3px; }
.volunteer-register a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.volunteer-register a small { color: var(--muted); }
.volunteer-register a em { color: var(--muted); font-size: .72rem; font-style: normal; font-weight: 750; }
.volunteer-detail { min-width: 0; padding: 30px 0 36px 34px; }
.volunteer-detail > header, .volunteer-policy-list article > header, .volunteer-snapshots article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.volunteer-detail h2, .volunteer-policy-list h2, .volunteer-snapshots h3 { margin: 4px 0; }
.volunteer-detail header p, .volunteer-policy-list header p { margin: 0; color: var(--muted); }
.volunteer-identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 26px 0 10px; border-top: 1px solid var(--line); }
.volunteer-identity div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.volunteer-identity div:nth-child(odd) { padding-right: 20px; }
.volunteer-identity div:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--line); }
.volunteer-identity dt { color: var(--muted); font-size: .73rem; font-weight: 780; text-transform: uppercase; }
.volunteer-identity dd { margin: 5px 0 0; overflow-wrap: anywhere; }
.volunteer-transition { margin-top: 18px; border-top: 1px solid var(--line); }
.volunteer-transition > summary { padding: 12px 0; cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.volunteer-transition > form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) auto; align-items: end; gap: 10px; padding: 4px 0 16px; }
.volunteer-transition .volunteer-form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: initial; }
.volunteer-history { margin-top: 30px; }
.volunteer-history ol { margin: 0; padding: 0; list-style: none; }
.volunteer-history li { display: grid; grid-template-columns: 140px 140px 100px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.volunteer-history time, .volunteer-history span { color: var(--muted); }
.volunteer-history p { margin: 0; }
.volunteer-section-action { margin: 18px 0; }
.volunteer-section-action .volunteer-form { margin-top: 10px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.volunteer-policy-list article, .volunteer-snapshots article { padding: 24px 0; border-top: 1px solid var(--line); }
.volunteer-policy-list article details, .volunteer-snapshots article details { margin-top: 16px; }
.volunteer-policy-list article summary, .volunteer-snapshots article summary { cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.volunteer-policy-list article .volunteer-form, .volunteer-snapshots article .volunteer-form { margin-top: 12px; }
.volunteer-snapshot-form { display: grid; grid-template-columns: 170px 230px minmax(260px, 1fr) auto; align-items: end; gap: 12px; padding: 20px 0 28px; }
.volunteer-snapshot-form .wide { min-width: 0; }
.volunteer-snapshot-preview { margin: 0 0 30px; padding: 24px 0; border-top: 2px solid var(--brand-magenta); border-bottom: 1px solid var(--line); }
.volunteer-snapshot-preview h2 { margin: 4px 0 16px; font-size: 2rem; }
.volunteer-snapshot-preview dl { display: grid; grid-template-columns: 110px 190px minmax(0, 1fr); gap: 14px; }
.volunteer-snapshot-preview dt { color: var(--muted); font-size: .73rem; font-weight: 780; }
.volunteer-snapshot-preview dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.volunteer-snapshot-preview form { display: flex; align-items: center; gap: 18px; margin-top: 20px; }
.volunteer-snapshots > h2 { margin: 28px 0 10px; }
.volunteer-snapshots article > p { color: var(--muted); }
.volunteer-snapshots article > ol { margin: 12px 0 0; padding: 0; list-style: none; }
.volunteer-snapshots article > ol li { display: grid; grid-template-columns: 220px minmax(0, 1fr) 210px; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.volunteer-export-panel { max-width: 920px; }

/* Asset custody: compact inventory register with an auditable detail inspector */
.asset-heading { align-items: flex-start; }
.asset-create { position: relative; }
.asset-create > summary { list-style: none; cursor: pointer; }
.asset-create > summary::-webkit-details-marker { display: none; }
.asset-create > .asset-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(680px, calc(100vw - 72px)); max-height: min(720px, calc(100vh - 150px)); overflow: auto; padding: 22px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.asset-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.asset-form label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.asset-form input, .asset-form select, .asset-form textarea { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.asset-form textarea { resize: vertical; }
.asset-tools { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: center; gap: 18px; margin: 24px 0 20px; }
.asset-tools .register-search { margin: 0; }
.asset-workspace { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.asset-register { padding: 18px 24px 18px 0; border-right: 1px solid var(--line); }
.asset-register ol { margin: 0; padding: 0; list-style: none; }
.asset-register li + li { border-top: 1px solid var(--line); }
.asset-register a { display: grid; grid-template-columns: 105px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 10px; color: var(--ink); text-decoration: none; }
.asset-register a:hover, .asset-register a[aria-current="page"] { background: var(--surface-soft); }
.asset-register code { color: var(--brand-magenta); font-size: .72rem; font-weight: 820; overflow-wrap: anywhere; }
.asset-register a > span { min-width: 0; display: grid; gap: 3px; }
.asset-register strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-register small { color: var(--muted); }
.asset-register em { font-style: normal; white-space: nowrap; }
.asset-detail { min-width: 0; padding: 30px 0 36px 34px; }
.asset-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.asset-detail h2 { margin: 4px 0; }
.asset-detail header p { margin: 0; color: var(--muted); }
.asset-detail .key-values { margin: 24px 0; }
.asset-workspace.is-detail { grid-template-columns: minmax(0,1fr); }
.asset-workspace.is-detail .asset-detail { padding-left: 0; }
.asset-action { margin-top: 16px; border-top: 1px solid var(--line); }
.asset-action > summary { padding: 12px 0; cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.asset-action > .asset-form { padding: 4px 0 18px; }
.asset-history { margin-top: 30px; }
.asset-history ol { margin: 0; padding: 0; list-style: none; }
.asset-history li { display: grid; grid-template-columns: 170px 120px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.asset-history time, .asset-history span { color: var(--muted); }
.asset-history p { grid-column: 3; margin: 0; }
.time-create, .time-export { position: relative; }
.time-create > summary, .time-export > summary { list-style: none; cursor: pointer; }
.time-create > summary::-webkit-details-marker, .time-export > summary::-webkit-details-marker { display: none; }
.time-create > .time-form, .time-export > .time-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(720px, calc(100vw - 72px)); max-height: min(720px, calc(100vh - 150px)); overflow: auto; padding: 22px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.time-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.time-form label, .time-workflow label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.time-form input, .time-form select, .time-form textarea, .time-workflow input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.time-form .wide, .time-form .form-hint { grid-column: 1 / -1; }
.time-form .form-hint { margin: 0; color: var(--muted); }
.time-tools { display: grid; grid-template-columns: 1fr; align-items: center; gap: 14px; margin: 24px 0 20px; }
.time-tools .register-search { margin: 0; flex-wrap: wrap; }
.time-tools .register-search label { flex: 1 1 180px; }
.time-tools .register-search > input:not([type="hidden"]) { flex: 2 1 240px; min-width: min(240px, 100%); }
.time-workspace { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.time-workspace.is-list,.time-workspace.is-detail { grid-template-columns: minmax(0,1fr); }
.time-workspace.is-list .time-register { padding-right: 0; border-right: 0; }
.time-workspace.is-detail .time-detail { padding-left: 0; }
.time-secondary-actions { display: flex; justify-content: flex-end; margin: -8px 0 16px; }
.time-register { padding: 18px 24px 18px 0; border-right: 1px solid var(--line); }
.time-register ol, .time-entries ol, .time-history ol { margin: 0; padding: 0; list-style: none; }
.time-register li + li, .time-entries li, .time-history li { border-top: 1px solid var(--line); }
.time-register a { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px 10px; color: var(--ink); text-decoration: none; }
.time-register a:hover, .time-register a[aria-current="page"] { background: var(--surface-soft); }
.time-register a > span { min-width: 0; display: grid; gap: 3px; }
.time-register strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.time-register small, .time-register time { color: var(--muted); }
.time-register em { font-style: normal; white-space: nowrap; }
.time-register b { grid-column: 3; color: var(--brand-magenta); font-size: .82rem; text-align: right; }
.time-detail { min-width: 0; padding: 30px 0 36px 34px; }
.time-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.time-detail h2 { margin: 4px 0; }
.time-detail header p { margin: 0; color: var(--muted); }
.mail-workspace, .mail-workspace > *, .mail-workspace .key-values dd { min-width: 0; }
.mail-workspace .time-register strong, .mail-workspace .time-register small, .mail-workspace .key-values dt, .mail-workspace .key-values dd, .mail-workspace li { overflow-wrap: anywhere; }
.mail-setup-progress { margin: 24px 0; }
.mail-setup-progress ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.mail-setup-progress li { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.mail-setup-progress li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--warning-ink); }
.mail-setup-progress li.is-complete::before { background: var(--success-ink); }
.mail-setup-progress li span { color: var(--muted); font-size: .9rem; }
.mail-activation-form { display: grid; gap: 12px; margin: 20px 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.mail-activation-form label { display: grid; gap: 6px; font-weight: 700; }
.mail-activation-form input[type="password"] { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 11px; background: #fff; }
.mail-activation-form .checkbox-label { display: flex; align-items: flex-start; }
.mail-activation-form .checkbox-label input { width: auto; min-height: 0; margin-top: .2rem; }
.mail-workspace .time-register strong { white-space: normal; }
.platform-settings-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.platform-settings-heading h1 { hyphens: auto; }
.platform-settings-nav a { min-height: 42px; display: inline-flex; align-items: center; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font-weight: 750; text-decoration: none; }
.platform-settings-nav a:hover,.platform-settings-nav a:focus-visible { border-color: var(--brand-magenta); color: var(--brand-magenta); }
.platform-settings-overview,.platform-policy-settings,.platform-mail-settings { scroll-margin-top: 18px; }
.platform-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0 0 34px; }
.platform-settings-grid article { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.platform-settings-grid h3 { margin: 0 0 13px; font-size: 1rem; }
.platform-settings-grid dl { display: grid; gap: 9px; margin: 0; }
.platform-settings-grid dl div { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.platform-settings-grid dt { min-width: 0; color: var(--muted); overflow-wrap: anywhere; }
.platform-settings-grid dd { margin: 0; }
.platform-policy-settings { margin: 0 0 34px; }
.platform-policy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.platform-policy-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.platform-policy-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.platform-policy-card h3 { margin: 0 0 6px; }
.platform-policy-card header p { margin: 0; color: var(--muted); }
.platform-policy-readiness { display: grid; gap: 8px; margin: 18px 0; }
.platform-policy-readiness div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding-top: 8px; }
.platform-policy-readiness dt { color: var(--muted); }
.platform-policy-readiness dd { margin: 0; text-align: right; font-weight: 700; }
.platform-policy-action { margin-top: 16px; }
.platform-policy-action form { display: grid; gap: 13px; margin-top: 12px; }
.platform-policy-action textarea { min-height: 84px; }
.platform-policy-action summary[aria-disabled="true"] { opacity: .6; }
.platform-policy-history { margin-top: 14px; }
.platform-policy-history ol { display: grid; gap: 10px; padding-left: 24px; }
.platform-policy-history p { margin: 3px 0; }
.setting-state { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; font-size: .76rem; font-weight: 800; }
.setting-state.is-on { background: #e7efd8; color: #4e6621; }
.setting-state.is-off { background: #e8e9e6; color: #4f544d; }
.platform-mail-settings > .section-heading { align-items: flex-start; margin-bottom: 18px; }
.platform-mail-workspace .time-register li a { grid-template-columns: minmax(0,1fr) auto; }
.platform-mail-workspace .time-register li a > span { min-width: 0; }
.platform-mail-workspace .time-register li a strong,.platform-mail-workspace .time-register li a small { display: block; min-width: 0; overflow-wrap: anywhere; }
.platform-mail-workspace .status-badge { align-self: start; white-space: nowrap; }
.platform-mail-back { display: none; }
.mail-search { flex-wrap: wrap; }
.mail-search label { min-width: 0; flex: 1 1 180px; }
.mail-search input,.mail-search select { width: 100%; min-width: 0; }
.mail-search { position: sticky; top: 0; z-index: 12; padding: 10px 0; background: var(--surface); }
.mail-route.is-list .time-workspace:not(.platform-mail-workspace),.mail-route.is-detail .time-workspace:not(.platform-mail-workspace) { grid-template-columns: 1fr; }
.mail-route.is-list .time-workspace:not(.platform-mail-workspace) .time-detail,.mail-route.is-detail .time-workspace:not(.platform-mail-workspace) .time-register { display: none; }
.mail-route.is-list .time-workspace:not(.platform-mail-workspace) .time-register { padding-right: 0; border-right: 0; }
.mail-route.is-detail .time-workspace:not(.platform-mail-workspace) .time-detail { padding-left: 0; }
.mail-detail-back { margin: 14px 0; }
@media (max-width: 760px) {
    .mail-search { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; }
    .mail-search label { min-height: 0; flex: none; }
    .mail-search label:first-child,.mail-search > .button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 760px) { .member-contribution-filters { grid-template-columns:1fr; } .installment-timeline ol { grid-template-columns:1fr; } .installment-timeline li { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; } .installment-timeline li .status-label { grid-column:2; } .installment-timeline li strong { grid-column:3; grid-row:1 / span 2; } }
@media (max-width: 760px) {
    .platform-settings-grid { grid-template-columns: 1fr; }
    .platform-policy-grid { grid-template-columns: 1fr; }
    .platform-policy-card { padding: 16px; }
    .platform-policy-card > header { align-items: flex-start; }
    .platform-policy-readiness div { align-items: flex-start; }
    .platform-settings-heading h1 { font-size: clamp(1.85rem,9vw,2.35rem); }
    .platform-settings-nav a { flex: 1 1 145px; justify-content: center; }
    .platform-mail-workspace { grid-template-columns: 1fr; }
    .platform-mail-workspace .time-register { padding-right: 0; border-right: 0; }
    .platform-mail-workspace .time-detail { padding-left: 0; }
    .platform-mail-workspace .time-register li a { align-items: start; gap: 10px; padding: 14px 10px; }
    .platform-mail-workspace .time-register li a > span { display: grid; gap: 4px; }
    .platform-mail-workspace .status-badge { max-width: 8.5rem; white-space: normal; text-align: right; overflow-wrap: anywhere; }
    .platform-mail-workspace.is-list .time-detail { display: none; }
    .platform-mail-workspace.is-detail .time-register { display: none; }
    .platform-mail-workspace.is-detail .time-detail { display: block; }
    .platform-mail-workspace.is-detail .platform-mail-back { display: inline-flex; margin-bottom: 16px; }
    .platform-mail-settings.is-detail > .section-heading details,.platform-mail-settings.is-detail > .governance-warning { display: none; }
}
.time-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 24px 0; border: 1px solid var(--line); }
.time-summary div { padding: 14px; }
.time-summary div + div { border-left: 1px solid var(--line); }
.time-summary dt { color: var(--muted); font-size: .76rem; }
.time-summary dd { margin: 4px 0 0; font-weight: 800; }
.time-entries li { display: grid; grid-template-columns: 110px 70px minmax(0,1fr); gap: 12px; padding: 11px 0; }
.time-entries span { display: grid; gap: 3px; }
.time-entries small { color: var(--muted); }
.time-entries li > details { grid-column: 1 / -1; min-width: 0; }
.time-entries li > details > summary { cursor: pointer; padding: 10px 0; }
.time-entries li > details .time-form { margin-top: 10px; }
.time-history time { overflow-wrap: anywhere; }
.time-action { margin-top: 18px; border-top: 1px solid var(--line); }
.time-action > summary { padding: 12px 0; cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.time-action > .time-form { padding-bottom: 18px; }
.time-workflow, .time-history { margin-top: 28px; }
.time-workflow > p, .time-history > p { color: var(--muted); }
.time-workflow form { display: grid; grid-template-columns: minmax(220px,1fr) auto auto; gap: 10px; align-items: end; }
.time-history li { display: grid; grid-template-columns: 155px 110px minmax(0,1fr); gap: 12px; padding: 11px 0; }
.time-history time, .time-history span { color: var(--muted); }
.time-history p { grid-column: 3; margin: 0; }
.document-create, .document-export { position: relative; }
.document-create > summary, .document-export > summary { list-style: none; cursor: pointer; }
.document-create > summary::-webkit-details-marker, .document-export > summary::-webkit-details-marker { display: none; }
.document-create > .document-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(820px, calc(100vw - 72px)); max-height: min(760px, calc(100vh - 150px)); overflow: auto; padding: 22px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.document-export > .document-form { margin: 14px 0 24px auto; max-width: 760px; }
.document-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.document-form label, .document-archive label, .document-versions form label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.document-form input, .document-form select, .document-form textarea, .document-archive input, .document-versions form input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.document-form .wide, .document-form .form-hint { grid-column: 1 / -1; }
.document-scope-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.document-scope-tabs .filter-button span { display: inline-grid; min-width: 22px; min-height: 22px; place-items: center; margin-left: 5px; border-radius: 999px; background: var(--surface-soft); font-size: .72rem; }
.document-scope-help { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; margin: -4px 0 18px; padding: 12px 14px; border-left: 3px solid var(--green); background: var(--surface-soft); color: var(--muted); }
.document-scope-help strong { color: var(--ink); white-space: nowrap; }
.document-triage-summary { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,1fr) auto; gap: 20px; align-items: center; margin: 18px 0 22px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg,var(--surface),var(--surface-soft)); }
.document-triage-summary h2 { margin: 4px 0 6px; }
.document-triage-summary p { max-width: 68ch; margin: 0 0 6px; }
.document-triage-summary small { color: var(--muted); }
.document-triage-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.document-triage-summary dl div { padding: 10px; border-radius: var(--radius-md); background: var(--surface); text-align: center; }
.document-triage-summary dt { font-size: 1.35rem; font-weight: 750; color: var(--success-ink); }
.document-triage-summary dd { margin: 2px 0 0; color: var(--muted); font-size: .78rem; }
.document-triage-row > a span em { display: block; margin-top: 3px; color: var(--success-ink); font-size: .76rem; font-style: normal; font-weight: 650; }
.document-triage-options { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 10px; }
.document-triage-options label { display: inline-flex; align-items: center; min-height: 36px; gap: 7px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); font-size: .78rem; cursor: pointer; }
.document-triage-options input { width: 18px; height: 18px; margin: 0; accent-color: var(--brand); }
.document-collections { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 18px 0 22px; }
.document-collection { display: flex; min-width: 0; min-height: 76px; padding: 14px; align-items: flex-start; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 1px 0 rgba(35,49,43,.03); }
.document-collection strong { min-width: 0; overflow-wrap: anywhere; font-size: .88rem; line-height: 1.25; }
.document-collection span { display: grid; place-items: center; min-width: 30px; min-height: 30px; padding: 2px 7px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: .78rem; font-weight: 800; }
.document-collection:hover,.document-collection:focus-visible,.document-collection.is-active { border-color: var(--green); background: var(--green-soft); }
.document-collection.is-insurance { border-color: #d7a94b; }
.document-collection.is-insurance.is-active { background: #fff8e8; }
.document-insurance-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; margin-bottom: 18px; border: 1px solid #ead7a8; border-radius: var(--radius); background: #fffaf0; }
.document-insurance-intro h2,.document-insurance-intro p { margin: 4px 0; }
.document-insurance-intro p { max-width: 72ch; color: var(--muted); }
.document-category-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 18px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.document-category-intro p { max-width: 68ch; margin: 5px 0 0; color: var(--muted); }
.document-upload-page { max-width: 760px; margin: 20px auto; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-soft); }
.workflow-entry { max-width: 760px; margin: 20px auto; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.workflow-entry .finance-create-form { position: static; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; box-shadow: none; overflow: visible; }
.workflow-optional { border-top: 1px solid var(--line); padding: 8px 0; }
.workflow-optional > summary, .workflow-section > summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-weight: 750; }
.workflow-optional[open] > summary { margin-bottom: 12px; }
.workflow-optional > label { display: grid; gap: 8px; margin: 12px 0; }
.workflow-section { scroll-margin-top: 100px; }
.workflow-section > summary { font-size: 1.15rem; }
.workflow-section > summary > span { color: var(--muted); font-size: .95rem; margin-left: 8px; }
.workflow-next { margin: 20px 0; padding: 18px; border-left: 4px solid var(--brand-magenta); background: var(--surface, #faf8f3); }
.workflow-next p { margin: 8px 0 14px; }
.workflow-jumps { margin: 20px 0; flex-wrap: wrap; }
.contract-review-actions { grid-column: 1 / -1; display: grid; gap: 12px; }
.contract-review-actions form { flex-wrap: wrap; align-items: end; }
.contract-review-actions label { flex: 1; min-width: 0; }
.personnel-contracts form.personnel-form { display: grid; }
.care-day-navigation { margin: 8px 0 20px; flex-wrap: wrap; }
.care-day-navigation [aria-disabled] { opacity: .45; }
.care-day-navigation [aria-current] { border-color: var(--brand-magenta); }
.care-date-picker input[type="date"] { min-height: 44px; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); font: inherit; }
@media(max-width:600px) { .workflow-entry { padding: 18px; } .workflow-jumps, .care-day-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .workflow-jumps .button, .care-day-navigation .button { min-width: 0; white-space: normal; text-align: center; } }
.document-drop-field { padding: 18px; border: 1px dashed var(--green); border-radius: var(--radius); background: var(--green-soft); }
.document-drop-field small { color: var(--muted); font-weight: 500; }
.document-upload-more { padding: 10px 0 0; border-top: 1px solid var(--line); }
.document-upload-more > summary,.document-admin > summary { min-height: 44px; cursor: pointer; color: var(--green-dark); font-weight: 800; }
.document-tools .register-search { width: 100%; }
.document-filter-more { min-width: 170px; }
.document-filter-more > summary { min-height: 42px; padding: 10px 12px; cursor: pointer; color: var(--green-dark); font-weight: 750; }
.document-filter-more label { display: grid; gap: 5px; margin-top: 8px; }
.document-register time { min-width: 84px; color: var(--muted); font-size: .75rem; }
.document-register b { min-width: 24px; color: var(--green); text-align: center; }
.document-admin { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line); }
.document-versions > ol > li > .form-hint { display: none; }
.document-technical { margin: 8px 0 22px; padding: 16px; border-radius: var(--radius-sm); background: var(--surface-soft); }
.document-technical h3 { margin: 0 0 10px; }
.document-technical h3:not(:first-child) { margin-top: 18px; }
.document-technical dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0 0 10px; }
.document-technical dt { color: var(--muted); font-size: .74rem; }
.document-technical dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.document-technical ul { margin: 0; padding-left: 20px; }
.document-technical code { overflow-wrap: anywhere; word-break: break-all; }
.document-variants { margin: 16px 0; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--surface-soft); }
.document-variants h3 { margin: 0 0 8px; }
.document-variants ul { margin: 0; padding-left: 20px; }
.language-pair,.duration-fields { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: end; gap: 10px; }
.language-pair label,.duration-fields label { min-width: 0; display: grid; gap: 6px; }
.duration-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.duration-fields legend { margin-bottom: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.document-versions ol { margin: 0; padding: 0; list-style: none; }
.document-versions li { padding: 18px 0; border-top: 1px solid var(--line); }
.document-versions li > header { display: flex; justify-content: space-between; gap: 14px; }
.document-versions li > header time, .document-versions li > p { color: var(--muted); }
.document-versions dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; }
.document-versions dl div { min-width: 0; }
.document-versions dt { color: var(--muted); font-size: .76rem; }
.document-versions dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.document-versions form, .document-archive { display: grid; grid-template-columns: minmax(220px,1fr) auto auto; align-items: end; gap: 10px; margin-top: 14px; }
.document-archive { padding-top: 18px; border-top: 1px solid var(--line); }
.summer-heading { align-items: flex-start; }
.summer-import { position: relative; }
.summer-import > summary { list-style: none; cursor: pointer; }
.summer-import > summary::-webkit-details-marker { display: none; }
.summer-import > form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(520px, calc(100vw - 72px)); display: grid; gap: 14px; padding: 22px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.summer-import label, .summer-commit label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 780; }
.summer-import input, .summer-commit input, .summer-table select, .summer-table input { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font: inherit; }
.summer-import p { margin: 0; color: var(--muted); font-size: .85rem; }
.summer-boundary { margin: 22px 0; padding: 16px 18px; border-left: 4px solid var(--brand-magenta); background: var(--surface-soft); }
.summer-boundary p { margin: 5px 0 0; color: var(--muted); }
.summer-workspace { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.summer-register { padding: 18px 24px 18px 0; border-right: 1px solid var(--line); }
.summer-register ol { margin: 0; padding: 0; list-style: none; }
.summer-register li + li { border-top: 1px solid var(--line); }
.summer-register a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 10px; color: var(--ink); text-decoration: none; }
.summer-register a:hover, .summer-register a[aria-current="page"] { background: var(--surface-soft); }
.summer-register a span { min-width: 0; display: grid; gap: 3px; }
.summer-register a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.summer-register small { color: var(--muted); }
.summer-register b { color: var(--brand-magenta); }
.summer-detail { min-width: 0; padding: 30px 0 36px 34px; }
.summer-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.summer-detail h2 { margin: 5px 0; }
.summer-detail header p { margin: 0; color: var(--muted); }
.summer-review { display: block; margin-top: 8px; color: var(--muted); }
.summer-detail header dl { display: grid; grid-template-columns: repeat(3, minmax(68px, 1fr)); margin: 0; border: 1px solid var(--line); }
.summer-detail header dl div { padding: 10px 13px; }
.summer-detail header dl div + div { border-left: 1px solid var(--line); }
.summer-detail dt { color: var(--muted); font-size: .72rem; }
.summer-detail dd { margin: 3px 0 0; font-weight: 800; }
.summer-commit { display: grid; grid-template-columns: minmax(220px, 1fr) auto; align-items: end; gap: 12px; margin: 22px 0; padding: 16px; background: var(--surface-soft); }
.summer-table { margin-top: 24px; }
.summer-table td { vertical-align: top; }
.summer-table td > strong, .summer-table td > small { display: block; }
.summer-table td > small { margin-top: 4px; color: var(--muted); }
.summer-week { display: block; white-space: nowrap; }
.summer-table details { margin-top: 8px; }

/* Permission-aware aggregate reporting */
.reports-heading { align-items: flex-start; }
.reports-heading h1 { max-width: none; }
.reports-export { position: relative; flex: 0 0 auto; }
.reports-export > summary { list-style: none; cursor: pointer; }
.reports-export > summary::-webkit-details-marker { display: none; }
.reports-export[open] > summary { background: #7a2454; color: #fff; }
.reports-export form { position: absolute; z-index: 5; top: calc(100% + 10px); right: 0; display: grid; gap: 14px; width: min(390px, calc(100vw - 36px)); padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.reports-export label, .reports-date label, .report-export-confirm label { display: grid; gap: 7px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.reports-boundary { max-width: 880px; margin: -12px 0 26px; padding-left: 18px; border-left: 3px solid var(--brand-magenta); }
.reports-boundary strong { font-size: .88rem; }
.reports-boundary p { max-width: 760px; margin: 4px 0 0; color: var(--muted); }
.reports-date { display: flex; align-items: end; gap: 12px; margin-bottom: 28px; }
.reports-date input { min-width: 170px; }
.reports-register { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.report-group { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(0, 2fr); gap: 32px; padding: 26px 0; }
.report-group + .report-group { border-top: 1px solid var(--line); }
.report-group > header { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: start; gap: 12px; }
.report-index { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; color: #7a2454; font-size: .72rem; font-weight: 850; }
.report-group h2 { margin: 3px 0 0; font-size: 1.05rem; line-height: 1.3; }
.report-group > h2 { margin: 0; }
.report-group dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0; }
.report-group dl div { min-width: 0; padding: 0 18px; border-left: 1px solid var(--line); }
.report-group dt { color: var(--muted); font-size: .76rem; line-height: 1.35; }
.report-group dd { margin: 7px 0 0; color: var(--ink); font-size: clamp(1.55rem,2.6vw,2.25rem); font-weight: 820; letter-spacing: -.035em; overflow-wrap: anywhere; }
.reports-register .empty-state { margin: 0; padding: 28px 0; }
.report-export-meta { display: grid; grid-template-columns: minmax(130px,.5fr) minmax(130px,.5fr) minmax(260px,2fr); margin: 0 0 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.report-export-meta div { padding: 16px; }
.report-export-meta div + div { border-left: 1px solid var(--line); }
.report-export-meta dt { color: var(--muted); font-size: .76rem; }
.report-export-meta dd { margin: 5px 0 0; font-weight: 760; overflow-wrap: anywhere; }
.reports-register-preview { margin-bottom: 32px; }
.reports-register-preview .report-group { grid-template-columns: minmax(180px,.72fr) minmax(0,2fr); }
.report-export-confirm { display: grid; grid-template-columns: minmax(260px,1fr) minmax(240px,.7fr) auto; align-items: end; gap: 18px; padding: 22px 0; }
.report-export-confirm .checkbox-label { align-self: center; display: flex; align-items: flex-start; color: var(--ink); font-size: .9rem; }
.report-export-confirm .checkbox-label input { flex: 0 0 auto; margin-top: 2px; }
.summer-table summary { cursor: pointer; color: var(--brand-magenta); font-weight: 780; }
.summer-table form { min-width: 240px; display: grid; gap: 8px; margin-top: 8px; }

/* Legacy development-only prototype support */
.prototype-note { margin-bottom: 18px; padding: 12px 16px; border: 1px solid #e3c86b; background: #fff3c7; }
.prototype { min-height: 620px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.prototype-a { display: grid; grid-template-columns: 220px 1fr; }
.side-rail { padding: 28px 22px; background: #7a2454; color: #fff; }
.side-rail nav { display: grid; gap: 5px; }
.side-rail a { padding: 10px 12px; border-radius: var(--radius-sm); color: #fff; text-decoration: none; }
.side-rail a.active { background: #fff; color: #7a2454; font-weight: 800; }
.cockpit-main, .prototype-b, .register-pane { padding: 28px; }
.cockpit-heading, .command-header, .register-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.focus-strip, .board-summary { display: flex; flex-wrap: wrap; gap: 14px; padding: 14px; background: #f3e2eb; }
.card-grid, .lane-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 20px 0; }
.work-card, .lane article { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.mode-tabs, .register-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.lane-board { grid-template-columns: repeat(4, 1fr); }
.lane { padding: 12px; background: var(--surface-soft); }
.prototype-c { display: grid; grid-template-columns: minmax(0, 1fr) 330px; }
.register-head input { width: 340px; max-width: 100%; padding: 10px; border: 1px solid var(--line); }
.register-table { width: 100%; border-collapse: collapse; }
.register-table th, .register-table td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; }
.detail-pane { padding: 28px; border-left: 1px solid var(--line); background: var(--surface-soft); }
.prototype-switcher { position: fixed; left: 50%; bottom: 20px; z-index: 40; display: flex; align-items: center; gap: 12px; transform: translateX(-50%); padding: 8px 12px; border-radius: 999px; background: var(--ink); color: #fff; box-shadow: var(--shadow); }
.prototype-switcher a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--ink); text-decoration: none; }

@media (max-width: 1100px) {
    .dashboard-columns { grid-template-columns: 1fr; gap: 36px; }
    .dashboard-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .attention-item { grid-template-columns: minmax(0, 1fr) minmax(220px, 0.8fr); }
    .attention-item .text-action { grid-column: 1 / -1; min-height: 32px; }
    .register-workspace, .flow-workspace { grid-template-columns: minmax(0, 1fr) 320px; }
    .exchange-summary { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
    .governance-workspace { grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); }
    .governance-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    .app-frame { display: block; }
    .app-sidebar { width: 280px; position: fixed; left: 0; transform: translateX(calc(-100% - 16px)); visibility: hidden; pointer-events: none; transition: transform 180ms ease, visibility 0s linear 180ms; box-shadow: var(--shadow); }
    .sidebar-is-open .app-sidebar { transform: translateX(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 25; width: 100%; height: 100%; border: 0; background: rgba(36, 38, 32, 0.42); }
    .sidebar-is-open .sidebar-backdrop { display: block; }
    .menu-button { display: inline-flex; }
    .workspace-context { display: none; }
    .nav-item { min-height: 44px; padding: 9px 11px; font-size: 0.94rem; }
    .summer-workspace { grid-template-columns: 1fr; }
    .summer-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .summer-detail { padding-left: 0; }
    .workspace-topbar { padding: 0 22px; }
    .view-as-banner { padding-inline: 22px; }
    .workspace-main { padding: 34px 24px 56px; }
    .account-summary { display: none; }
    .register-workspace, .flow-workspace { grid-template-columns: 1fr; }
    .record-inspector, .flow-inspector { border-left: 0; border-top: 1px solid var(--line); }
    .people-workspace.has-selection .record-inspector { order: -1; scroll-margin-top: 76px; }
    .prospect-intake-workspace.has-selection .record-inspector { order: -1; scroll-margin-top: 76px; }
    .prospect-intake-workspace:not(.has-selection) .record-inspector { display: none; }
    .data-exchange-grid { grid-template-columns: 1fr; }
    .governance-workspace { grid-template-columns: 1fr; }
    .governance-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .governance-detail { padding-left: 0; }
    .privacy-workspace, .privacy-consent-workspace, .retention-columns { grid-template-columns: 1fr; }
    .privacy-workspace[data-privacy-area="consents"][data-privacy-selected="true"] > .purpose-register { display:none; }
    .purpose-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .purpose-detail { padding-left: 0; }
    .privacy-person-picker { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .privacy-consent-detail { padding-left: 0; }
    .privacy-consent-workspace[data-privacy-selected="true"] > .privacy-person-picker { display: none; }
    .access-workspace { grid-template-columns: 1fr; }
    .access-register-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .access-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .access-detail { padding-left: 0; scroll-margin-top: 76px; }
    .communication-workspace { grid-template-columns: 1fr; }
    .communication-register-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .communication-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .communication-detail { padding-left: 0; }
    .finance-workspace { grid-template-columns: 1fr; }
    .finance-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .finance-detail { padding-left: 0; }
    .finance-workspace.has-selection .finance-register { display:none; }
    .finance-checks { grid-template-columns: 1fr; gap: 18px; }
    .member-contribution { grid-template-columns: 1fr; gap: 18px; }
    .member-contribution-values { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .calendar-controls { align-items: stretch; flex-direction: column; gap: 0; }
    .calendar-filter { align-self: flex-end; }
    .calendar-feed > form { grid-template-columns: 1fr 1fr; }
    .calendar-feed > form label:first-of-type, .calendar-feed > form label:nth-of-type(3) { grid-column: 1 / -1; }
    .calendar-feed-list li { align-items: stretch; flex-direction: column; }
    .week-grid { grid-template-columns: 1fr; }
    .week-day { min-height: 0; border-left: 0; }
    .calendar-workspace { grid-template-columns: 1fr; }
    .calendar-agenda { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .calendar-detail { padding-left: 0; scroll-margin-top: 76px; }
    .volunteer-workspace { grid-template-columns: 1fr; }
    .volunteer-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .volunteer-detail { padding-left: 0; scroll-margin-top: 76px; }
    .volunteer-tools { grid-template-columns: 1fr auto; }
    .volunteer-tools .register-search { grid-column: 1 / -1; }
    .asset-workspace { grid-template-columns: 1fr; }
    .asset-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .asset-detail { padding-left: 0; scroll-margin-top: 76px; }
    .asset-tools { grid-template-columns: 1fr; }
    .time-workspace { grid-template-columns: 1fr; }
    .mail-setup-progress ol { grid-template-columns: 1fr; }
    .time-register { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .time-detail { padding-left: 0; scroll-margin-top: 76px; }
    .time-tools { grid-template-columns: 1fr; }
    .report-group, .reports-register-preview .report-group { grid-template-columns: 1fr; gap: 18px; }
    .report-export-confirm { grid-template-columns: 1fr 1fr; }
    .report-export-confirm .checkbox-label { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .auth-page { padding: 0; background: var(--surface); }
    .login-shell { min-height: 100svh; }
    .login-brand { margin: 18px 20px; }
    .login-layout { display: block; border: 0; border-radius: 0; box-shadow: none; }
    .login-intro { min-height: auto; padding: 26px 24px; }
    .login-intro h1 { margin: 12px 0; font-size: 2.35rem; }
    .login-form { gap: 16px; padding: 28px 24px 42px; }
    .auth-method { gap: 12px; }
    .auth-method-email { padding: 16px; }
    .workspace-topbar { height: 64px; padding: 0 14px; }
    .view-as-banner { align-items: stretch; flex-direction: column; top: 64px; gap: 10px; padding: 12px 14px; }
    .view-as-banner .button { width: 100%; }
    .topbar-actions { gap: 6px; }
    .topbar-logout { display: none; }
    .sidebar-logout { display: flex; justify-content: flex-start; }
    .sidebar-logout .button { width: auto; min-width: 0; padding-inline: 12px; }
    .workspace-main { padding: 28px 18px 48px; }
    .account-panel { padding: 26px 22px; }
    .recovery-codes ul { grid-template-columns: 1fr; }
    .page-heading { min-width: 0; display: grid; gap: 18px; margin-bottom: 30px; }
    .page-heading > div { min-width: 0; }
    .page-heading h1 { max-width: none; overflow-wrap: anywhere; font-size: 2.35rem; }
    .dashboard-page-finder { grid-template-columns: 1fr; padding: 18px; }
    .board-page-finder { display: block; padding: 0; }
    .board-page-finder[open] { padding: 0 18px 18px; }
    .meeting-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .today-attendance { grid-template-columns: 1fr; padding: 18px; gap: 14px; }
    .today-attendance-values { flex-wrap: wrap; }
    .today-attendance-actions { display: grid; grid-template-columns: 1fr; justify-content: stretch; }
    .today-attendance-actions .button,.today-attendance-actions form,.today-attendance-actions form .button { width: 100%; min-height: 44px; }
    .dashboard-page-results,.dashboard-page-status { grid-column: 1; }
    .signature-register-search { grid-template-columns: 1fr; }
    .dashboard-side-column { grid-template-columns: 1fr; }
    .attention-item { grid-template-columns: 1fr; gap: 16px; padding: 20px 0; }
    .attention-item.is-urgent { padding-left: 14px; }
    .attention-item dl { grid-template-columns: 1fr 1fr; }
    .work-list li { align-items: flex-start; }
    .register-workspace, .flow-workspace { margin: 0 -18px; border-right: 0; border-left: 0; border-radius: 0; box-shadow: none; }
    .register-main, .flow-main, .record-inspector, .flow-inspector { padding: 24px 18px; }
    .register-search { align-items: stretch; flex-direction: column; }
    .register-search .button { align-self: flex-start; }
    .prospect-batch-actions { align-items: stretch; flex-direction: column; }
    .prospect-batch-actions label { flex-basis: auto; }
    .prospect-batch-actions .button { width: 100%; }
    .table-scroll { overflow: visible; }
    .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
    .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .data-table tr { padding: 12px 0; border-top: 1px solid var(--line); }
    .data-table td { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 7px 0; border: 0; }
    .data-table td::before { content: attr(data-label); color: var(--muted); font-size: 0.76rem; font-weight: 700; }
    .data-table tr.is-selected { margin: 0 -10px; width: calc(100% + 20px); padding: 12px 10px; }
    .flow-steps li { grid-template-columns: 40px 1fr; }
    .flow-steps li > span { width: 40px; height: 40px; }
    .flow-steps li:not(:last-child)::after { left: 19px; }
    .language-switch button { min-width: 44px; min-height: 44px; }
    .topbar-actions .button { min-height: 44px; }
    .button-quiet { padding: 7px 8px; font-size: 0.8rem; }
    .person-form-header { display: grid; }
    .form-section { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid-wide { grid-column: auto; }
    .record-tabs { overflow-x: auto; }
    .association-section { grid-template-columns: 1fr; gap: 24px; padding: 30px 0; }
    .association-heading { grid-row: auto; }
    .association-heading p { max-width: none; }
    .association-list > li { display: grid; }
    .association-form { grid-template-columns: 1fr; margin-right: 0; padding: 18px 14px; }
    .exchange-card { padding: 26px 20px; }
    .exchange-step { top: 22px; right: 20px; }
    .exchange-summary, .export-confirmation-panel .exchange-summary { grid-template-columns: 1fr; }
    .exchange-summary div { min-height: 72px; }
    .exchange-preview-table { margin: 0 -18px; padding: 8px 18px; border-right: 0; border-left: 0; border-radius: 0; }
    .governance-workspace, .governance-register, .governance-detail, .meeting-summary, .meeting-summary dl, .meeting-summary dl div { min-width: 0; width: 100%; }
    .meeting-summary h2, .meeting-summary dd { overflow-wrap: anywhere; }
    .meeting-summary .key-values { grid-template-columns: 1fr; }
    .governance-form, .split-actions, .bilingual-draft-section { grid-template-columns: 1fr; }
    .governance-form .wide, .governance-form .checkbox-label, .governance-form > .button { grid-column: auto; }
    .governance-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .task-status-form, .approval-actions { grid-template-columns: 1fr; width: 100%; }
    .reminder-worklist > header { display: grid; gap: 8px; }
    .reminder-worklist > header p { text-align: left; }
    .reminder-row { grid-template-columns: 1fr; gap: 8px; }
    .reminder-actions { justify-content: flex-start; flex-wrap: wrap; }
    .task-reminders li { grid-template-columns: 1fr; gap: 2px; }
    .evidence-header { display: grid; }
    .evidence-meta, .evidence-grid, .evidence-bilingual, .evidence-columns { grid-template-columns: 1fr; }
    .evidence-grid .wide { grid-column: auto; }
    .evidence-bilingual > div + div { padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
    .evidence-history li { grid-template-columns: 1fr; gap: 3px; }
    .export-fields ul { grid-template-columns: 1fr; }
    .privacy-person-selector { align-items: stretch; flex-direction: column; }
    .privacy-work-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; }
    .privacy-work-nav a { flex: 0 0 auto; }
    .privacy-overview, .privacy-admin-grid { grid-template-columns: 1fr; }
    .privacy-admin-grid > article:first-child { grid-column: auto; }
    .privacy-retention-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .privacy-review-cards > li { grid-template-columns: 1fr; }
    .privacy-review-cards .privacy-next-action { grid-column: auto; }
    .privacy-purpose-meta { grid-template-columns: 1fr; }
    .privacy-purpose-meta div { grid-template-columns: 110px minmax(0, 1fr); }
    .retention-review-heading { display: grid; }
    .retention-review-list > li, .retention-review-list form { grid-template-columns: 1fr; }
    .retention-review-list form .button { grid-column: auto; }
    .access-create > summary { margin-left: 0; }
    .access-create { width: 100%; }
    .access-create .governance-form { position: static; width: 100%; margin-top: 12px; }
    .access-readiness > header, .access-readiness-summary { grid-template-columns: 1fr; }
    .access-readiness-summary div + div { border-top: 1px solid var(--line); border-left: 0; }
    .access-device-rollout > header, .access-device-rollout-grid { grid-template-columns: 1fr; }
    .access-device-rollout > footer { align-items: stretch; flex-direction: column; }
    .access-device-rollout > footer .button { width: 100%; justify-content: center; }
    .access-review-capacity li { align-items: flex-start; flex-direction: column; gap: 4px; }
    .access-meta { grid-template-columns: 1fr; }
    .access-register-search { grid-template-columns: 1fr; }
    .access-workspace.has-selection .access-register { display: none; }
    .access-workspace.has-selection { display: block; }
    .access-workspace.has-selection .access-detail-back { display: inline-flex; margin: 14px 0; }
    .access-meta div { grid-template-columns: 110px minmax(0, 1fr); }
    .role-assignment-list > li, .access-status-form { grid-template-columns: 1fr; }
    .access-view-as { align-items: stretch; flex-direction: column; }
    .role-assignment-list details { min-width: 0; }
    .communication-create { width: 100%; }
    .communication-create .communication-composer { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .communication-composer, .communication-languages, .communication-meta, .communication-setup-columns, .setup-form { grid-template-columns: 1fr; }
    .communication-languages > * + * { padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
    .communication-detail-head, .recipient-preview > header, .approval-band > header { display: grid; }
    .communication-register-search { grid-template-columns: 1fr; }
    .communication-workspace.has-selection .communication-register { display: none; }
    .communication-workspace.has-selection .communication-detail-back { display: inline-flex; margin-bottom: 14px; }
    .exclusion-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .exclusion-summary li + li { border-left: 0; }
    .recipient-list li, .delivery-log > ol > li { grid-template-columns: 1fr; }
    .communication-cancel form { align-items: stretch; flex-direction: column; }
    .communication-cancel input { min-width: 0; width: 100%; }
    .finance-create-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .finance-create-actions details { width: 100%; }
    .finance-create-actions summary { width: 100%; justify-content: center; }
    .finance-create-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .finance-form-grid, .finance-allocation, .finance-summary, .finance-meta, .finance-approval { grid-template-columns: 1fr; }
    .finance-summary div + div { border-top: 1px solid var(--line); border-left: 0; }
    .finance-checks dl, .member-contribution-values { grid-template-columns: 1fr; }
    .finance-checks dl div { border-top: 1px solid var(--line); border-left: 0; }
    .finance-detail-head { display: grid; }
    .finance-reversal form { align-items: stretch; flex-direction: column; }
    .finance-reversal label { min-width: 0; }
    .finance-history li { grid-template-columns: 1fr; gap: 3px; }
    .calendar-create { width: 100%; }
    .calendar-heading-actions { width: 100%; display: grid; }
    .calendar-heading-actions > .button { width: 100%; justify-content: center; }
    .calendar-create > summary { width: 100%; justify-content: center; }
    .calendar-create-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .calendar-form-grid, .calendar-recurrence, .calendar-meta { grid-template-columns: 1fr; }
    .week-calendar > header { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 8px; }
    .week-calendar > header h2 { min-width: 0; overflow-wrap: anywhere; font-size: 1rem; }
    .week-calendar > header .button { width: 44px; min-width: 44px; padding-right: 0; padding-left: 0; }
    .calendar-filter { width: 100%; }
    .calendar-filter > summary { width: 100%; justify-content: flex-end; }
    .calendar-filter > form { position: static; display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: none; margin-bottom: 12px; padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
    .calendar-controls form label:last-of-type, .calendar-controls form .button { grid-column: 1 / -1; }
    .calendar-controls input, .calendar-controls select { width: 100%; }
    .week-day { min-height: 48px; }
    .week-day > h3 { padding: 10px 8px; }
    .week-day ol { padding: 0 5px 8px; }
    .calendar-secondary-actions > .button { width: 100%; justify-content: center; }
    .calendar-links li { align-items: stretch; flex-direction: column; }
    .calendar-links form { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
    .calendar-links input, .calendar-links select, .calendar-links .button { box-sizing: border-box; min-width: 0; width: 100%; }
    .calendar-row { grid-template-columns: 82px minmax(0, 1fr) auto; padding-right: 0; }
    .calendar-detail-head { display: grid; }
    .calendar-detail-head > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; width: 100%; }
    .calendar-detail-head .event-kind { overflow-wrap: anywhere; text-align: right; }
    .calendar-detail-head h2, .calendar-detail-head p, .calendar-detail-head small { min-width: 0; overflow-wrap: anywhere; }
    .calendar-transition form { align-items: stretch; flex-direction: column; }
    .cleaning-detail > header, .cleaning-assignments > li { align-items: flex-start; flex-direction: column; }
    .cleaning-assignments form { flex-wrap: wrap; }
    .cleaning-assignment-actions { width: 100%; justify-items: stretch; }
    .cleaning-assignment-actions details { text-align: left; }
    .cleaning-swap-request { width: 100%; grid-template-columns: 1fr; box-shadow: none; }
    .cleaning-swap-request .button { grid-column: auto; justify-self: stretch; }
    .cleaning-assign-form, .cleaning-swaps article, .cleaning-swaps form, .calendar-history li { grid-template-columns: 1fr; }
    .month-calendar > header { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 8px; }
    .month-calendar > header > div { min-width: 0; }
    .month-calendar > header h2 { min-width: 0; overflow-wrap: anywhere; font-size: 1.08rem; }
    .month-calendar > header .button, .month-calendar > header .month-today { min-width: 44px; min-height: 44px; }
    .month-calendar > header .button { width: 44px; padding-right: 0; padding-left: 0; }
    .month-weekdays, .month-grid { display: none; }
    .month-mobile { display: grid; gap: 26px; }
    .month-mobile-overview { margin: 0 -12px; padding: 8px 12px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .month-mobile-weekdays, .month-mobile-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .month-mobile-weekdays span { padding: 8px 0; color: var(--muted); font-size: .7rem; font-weight: 800; text-align: center; }
    .month-mobile-day { position: relative; min-width: 0; min-height: 44px; display: grid; place-items: center; border-radius: 10px; color: var(--ink); text-decoration: none; }
    .month-mobile-day.is-outside { color: #6d6762; }
    .month-mobile-day.is-today { background: var(--brand-magenta); color: #fff; font-weight: 850; }
    .month-mobile-day.has-events:not(.is-today) { background: #f3e6ed; color: var(--brand-deep); font-weight: 850; }
    .month-mobile-day > span { position: absolute; right: 2px; bottom: 1px; min-width: 16px; height: 16px; display: grid; place-items: center; padding: 0 3px; border-radius: 999px; background: var(--brand-deep); color: #fff; font-size: .62rem; font-weight: 850; }
    .month-mobile-day.is-today > span { background: #fff; color: var(--brand-deep); }
    .month-mobile-agenda { display: grid; gap: 2px; }
    .month-mobile-agenda > h3 { margin: 0 0 8px; font-size: 1.08rem; }
    .month-mobile-agenda > section { scroll-margin-top: 76px; padding: 14px 0; border-top: 1px solid var(--line); }
    .month-mobile-agenda > section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
    .month-mobile-agenda > section > header time { font-weight: 820; }
    .month-mobile-agenda > section > header span { color: var(--muted); font-size: .72rem; white-space: nowrap; }
    .month-mobile-agenda ol { margin: 0; padding: 0; list-style: none; }
    .month-mobile-agenda li { margin-top: 5px; border-left: 3px solid var(--line); }
    .month-mobile-agenda li.event-cleaning { border-left-color: #9b6b16; }
    .month-mobile-agenda li.event-meeting { border-left-color: var(--brand-magenta); }
    .month-mobile-agenda a { min-height: 48px; display: grid; grid-template-columns: 64px minmax(0, 1fr); align-content: center; gap: 2px 10px; padding: 7px 10px; color: var(--ink); text-decoration: none; }
    .month-mobile-agenda a > time { grid-row: 1 / 3; align-self: center; color: var(--muted); font-size: .76rem; }
    .month-mobile-agenda a > strong { min-width: 0; overflow-wrap: anywhere; }
    .month-mobile-agenda a > small { color: var(--muted); }
    .volunteer-create { width: 100%; }
    .volunteer-create > summary { width: 100%; justify-content: center; }
    .volunteer-create .volunteer-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .volunteer-summary, .volunteer-form, .volunteer-identity, .volunteer-snapshot-preview dl { grid-template-columns: 1fr; }
    .volunteer-summary div + div { border-top: 1px solid var(--line); border-left: 0; }
    .volunteer-tools { grid-template-columns: 1fr; }
    .volunteer-register a { grid-template-columns: 42px minmax(0, 1fr); }
    .volunteer-register a em { grid-column: 2; }
    .volunteer-detail > header, .volunteer-policy-list article > header, .volunteer-snapshots article > header { display: grid; }
    .volunteer-identity div:nth-child(odd), .volunteer-identity div:nth-child(even) { padding: 13px 0; border-left: 0; }
    .volunteer-form .wide { grid-column: auto; }
    .volunteer-transition > form, .volunteer-transition .volunteer-form, .volunteer-history li, .volunteer-snapshot-form, .volunteer-snapshots article > ol li { grid-template-columns: 1fr; }
    .volunteer-snapshot-preview form { align-items: stretch; flex-direction: column; }
    .asset-create { width: 100%; }
    .asset-create > summary { width: 100%; justify-content: center; }
    .asset-create > .asset-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .asset-form { grid-template-columns: 1fr; }
    .asset-register a { grid-template-columns: 90px minmax(0, 1fr); }
    .asset-register a em { grid-column: 2; justify-self: start; }
    .asset-detail > header, .asset-history li { display: grid; grid-template-columns: 1fr; }
    .asset-history p { grid-column: auto; }
    .time-create, .time-export { width: 100%; }
    .time-create > summary, .time-export > summary { width: 100%; justify-content: center; }
    .time-create > .time-form, .time-export > .time-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .time-form, .time-summary, .time-workflow form { grid-template-columns: 1fr; }
    .time-form .wide, .time-form .form-hint { grid-column: auto; }
    .time-summary div + div { border-top: 1px solid var(--line); border-left: 0; }
    .time-register a { grid-template-columns: 68px minmax(0, 1fr); }
    .time-register a em, .time-register a b { grid-column: 2; justify-self: start; text-align: left; }
    .time-detail > header, .time-entries li, .time-history li { display: grid; grid-template-columns: 1fr; }
    .time-history p { grid-column: auto; }
    .document-create, .document-export { width: 100%; }
    .document-create > summary, .document-export > summary { width: 100%; justify-content: center; }
    .document-create > .document-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .document-form, .document-versions dl, .document-versions form, .document-archive, .document-technical dl { grid-template-columns: 1fr; }
    .document-form .wide, .document-form .form-hint { grid-column: auto; }
    .summer-heading { align-items: stretch; }
    .summer-import, .summer-import > summary { width: 100%; }
    .summer-import > summary { justify-content: center; }
    .summer-import > form { position: static; width: 100%; margin-top: 12px; }
    .summer-detail > header, .summer-commit { grid-template-columns: 1fr; display: grid; }
    .summer-detail header dl { grid-template-columns: 1fr; }
    .summer-detail header dl div + div { border-top: 1px solid var(--line); border-left: 0; }
    .summer-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .summer-table, .summer-table tbody, .summer-table tr, .summer-table td { display: block; width: 100%; }
    .summer-table tr { padding: 12px 0; border-top: 1px solid var(--line); }
    .summer-table td { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; border: 0; }
    .summer-table td::before { content: attr(data-label); color: var(--muted); font-size: .76rem; font-weight: 780; }
    .summer-table td > * { grid-column: 2; }
    .reports-export { width: 100%; }
    .reports-export > summary { width: 100%; justify-content: center; }
    .reports-export form { position: static; width: 100%; margin-top: 12px; box-shadow: none; }
    .reports-date { align-items: stretch; flex-direction: column; }
    .reports-date input, .reports-date .button { width: 100%; }
    .report-group dl { grid-template-columns: 1fr; }
    .report-group dl div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 18px; padding: 13px 0; border-top: 1px solid var(--line); border-left: 0; }
    .report-group dd { margin: 0; font-size: 1.55rem; text-align: right; }
    .report-export-meta { grid-template-columns: 1fr; }
    .report-export-meta div + div { border-top: 1px solid var(--line); border-left: 0; }
    .report-export-confirm { grid-template-columns: 1fr; }
    .report-export-confirm .checkbox-label { grid-column: auto; }
    .prototype-a, .prototype-c, .lane-board, .card-grid { grid-template-columns: 1fr; }
    .prototype { border-radius: 0; }
    .side-rail nav { grid-template-columns: 1fr 1fr; }
    .cockpit-heading, .command-header, .register-head { align-items: flex-start; flex-direction: column; }
    .prototype-switcher { bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

@media (max-width: 760px) {
    .document-collections { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .document-collection { min-height: 70px; }
    .document-insurance-intro,.document-category-intro { align-items: stretch; flex-direction: column; }
    .document-insurance-intro .button,.document-category-intro .button { width: 100%; }
    .document-tools .register-search > input,.document-tools .register-search > label,.document-tools .register-search > button { flex: 0 0 auto; }
    .document-tools .register-search > input:not([type="hidden"]) { height: 44px; max-height: 44px; }
    .focused-shortcuts { gap: 4px 14px; }
    .focused-shortcuts > span { flex-basis: 100%; }
    .inline-action-disclosure { width: 100%; }
    .inline-action-disclosure > summary { width: 100%; }
    .inline-action-disclosure > form { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
}

@media print {
    @page { size: A4; margin: 14mm; }
    .app-sidebar, .workspace-topbar, .view-as-banner, .evidence-actions, .skip-link { display: none !important; }
    .app-frame, .app-workspace, .workspace-main { display: block; min-height: 0; padding: 0; }
    .evidence-document { max-width: none; color: #111; font-size: 10pt; }
    .evidence-header h1 { font-size: 24pt; }
    .governance-warning { background: transparent; }
    .evidence-document > section { padding: 7mm 0; }
    .evidence-bilingual, .evidence-columns { gap: 8mm; }
    .evidence-history li { grid-template-columns: 34mm 40mm 38mm 1fr; }
    a { color: inherit; text-decoration: none; }
    body:has(.meeting-document) { background: #fff; }
    .meeting-document { display: block; max-width: none; }
    .meeting-document-sheet { display: flex; flex-direction: column; min-height: calc(297mm - 28mm); padding: 0; border: 0; box-shadow: none; break-after: page; page-break-after: always; }
    .meeting-document-sheet:last-child { break-after: auto; page-break-after: auto; }
    .meeting-document-footer { position: static; display: flex; justify-content: space-between; margin-top: auto; }
    .meeting-document-letterhead, .document-language, .delegation-language, .minutes-heading, .minutes-attendance, .minutes-signatures { break-inside: avoid; page-break-inside: avoid; }
}

.statute-surface-public { width: min(1120px, calc(100% - 32px)); margin: clamp(24px, 6vw, 72px) auto; }
.statute-language { display: flex; justify-content: flex-end; gap: .35rem; margin-bottom: .75rem; }
.statute-language [aria-current="true"] { background: var(--accent-soft, #e8f3ed); font-weight: 700; }
.statute-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .75fr); gap: 20px; }
.statute-card { background: var(--surface, #fff); border: 1px solid var(--line, #ded7d0); border-radius: 22px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 12px 35px rgba(73, 49, 55, .08); }
.statute-primary { display: grid; gap: 18px; align-content: start; }
.statute-primary p { margin: 0; max-width: 75ch; }
.statute-meta h2 { margin-top: 0; }
.statute-meta dl { display: grid; gap: 14px; margin: 0; }
.statute-meta dl div { display: grid; gap: 4px; }
.statute-meta dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted, #6f6269); }
.statute-meta dd { margin: 0; font-weight: 650; }
.statute-meta code { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: .75rem; }
.statute-login { text-align: center; margin: 24px 0 0; }
@media (max-width: 760px) {
    .statute-grid { grid-template-columns: 1fr; }
    .statute-surface-public { width: min(100% - 20px, 1120px); margin: 20px auto; }
    .statute-card { border-radius: 17px; }
    .statute-primary .record-actions { align-items: stretch; }
    .statute-primary .record-actions .button { justify-content: center; min-height: 44px; }
}

/* Personnel and employee attendance */
.personnel-heading { align-items: flex-start; }
.personnel-create { position: relative; }
.personnel-create > .personnel-form { position: absolute; z-index: 12; top: calc(100% + 10px); right: 0; width: min(720px, 86vw); max-height: 72vh; overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-lg); }
.personnel-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.personnel-form label { display: grid; gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 760; }
.personnel-form input,.personnel-form select,.personnel-form textarea,.personnel-flow input,.compact-input,.submit-month input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); padding: 9px 11px; font: inherit; }
.personnel-form .wide,.action-row { grid-column: 1/-1; }
.inline-fields,.action-row { display: flex; gap: 10px; }
.personnel-workspace { display: grid; grid-template-columns: minmax(270px, .78fr) minmax(0, 1.6fr); gap: 0; border-block: 1px solid var(--line); }
.personnel-register { border-right: 1px solid var(--line); padding: 20px 22px 20px 0; }
.personnel-register ol,.personnel-contracts ol,.payroll-drafts,.personnel-contract-list,.attendance-list { list-style: none; margin: 16px 0 0; padding: 0; }
.personnel-register li+li,.personnel-contracts li+li,.payroll-drafts li+li,.personnel-contract-list li+li,.attendance-list li+li { border-top: 1px solid var(--line); }
.personnel-register a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 13px 8px; color: inherit; text-decoration: none; border-radius: 10px; transition: background .16s ease,transform .16s ease; }
.personnel-register a:hover,.personnel-register a[aria-current="page"] { background: var(--surface-soft); transform: translateX(2px); }
.personnel-register span,.personnel-contracts li>span,.payroll-drafts li>span,.personnel-contract-list li>span { display: grid; gap: 3px; min-width: 0; }
.personnel-register small,.personnel-contracts small,.payroll-drafts small,.personnel-contract-list small { color: var(--muted); }
.personnel-detail { min-width: 0; padding: 24px 0 28px 28px; }
.personnel-detail>header,.payroll-close>header,.self-time-period-bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.personnel-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 24px 0; border-block: 1px solid var(--line); }
.personnel-summary div { padding: 15px 16px; }
.personnel-summary div+div { border-left: 1px solid var(--line); }
.personnel-summary dt { color: var(--muted); font-size: .75rem; font-weight: 780; text-transform: uppercase; letter-spacing: .06em; }
.personnel-summary dd { margin: 5px 0 0; font-size: 1.05rem; font-weight: 760; }
.personnel-action { margin: 20px 0; border-block: 1px solid var(--line); padding: 14px 0; }
.personnel-action summary { cursor: pointer; font-weight: 780; }
.personnel-action .personnel-form { margin-top: 16px; }
.personnel-flow,.personnel-schedules,.personnel-contracts,.payroll-close,.self-personnel { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.self-personnel-tabs { margin-top: 18px; }
.self-personnel { margin-top: 0; }
.personnel-flow form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 12px; }
.personnel-flow label { display: grid; gap: 6px; }
.personnel-contracts li,.payroll-drafts li,.personnel-contract-list li { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 13px 0; }
.personnel-contracts form { display: flex; gap: 8px; align-items: center; }
.compact-input { min-width: 150px; }
.payroll-close { padding-bottom: 30px; }
.payroll-close>.personnel-form { max-width: 920px; }
.self-time-workspace { display: grid; grid-template-columns: minmax(200px,.6fr) minmax(0,1.6fr); border-block: 1px solid var(--line); }
.self-time-months { display: grid; align-content: start; border-right: 1px solid var(--line); padding: 18px 20px 18px 0; }
.self-time-months a { display: grid; grid-template-columns: 1fr auto; gap: 7px; padding: 13px 8px; color: inherit; text-decoration: none; border-radius: 10px; }
.self-time-months a[aria-current="page"],.self-time-months a:hover { background: var(--surface-soft); }
.self-time-months b { grid-column: 1/-1; }
.self-time-detail { padding: 24px 0 28px 28px; }
.self-time-period-bar { position: sticky; z-index: 4; top: 0; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(10px); }
.self-time-period-bar h2,.self-time-period-bar small { margin: 0; }
.self-time-period-total { display: grid; justify-items: end; gap: 2px; }
.self-time-period-total strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.preparation-progress { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: start; margin: 22px 0; padding: 18px 0; border-block: 1px solid var(--line); }
.preparation-progress h3,.month-entry h3 { margin: 0; }
.preparation-progress p,.month-entry header p { max-width: 760px; margin: 5px 0 0; color: var(--muted); }
.preparation-progress dl { display: flex; gap: 22px; margin: 0; }
.preparation-progress dl div { display: grid; gap: 3px; }
.preparation-progress dt { color: var(--muted); font-size: .75rem; font-weight: 780; text-transform: uppercase; }
.preparation-progress dd { margin: 0; font-size: 1.08rem; font-weight: 820; font-variant-numeric: tabular-nums; }
.month-entry { display: grid; gap: 16px; margin: 24px 0 30px; }
.month-entry-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.month-entry-table { width: 100%; min-width: 860px; border-collapse: collapse; background: var(--surface); }
.month-entry-table th,.month-entry-table td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.month-entry-table thead th { position: sticky; top: 0; z-index: 2; background: var(--surface-soft); color: var(--muted); font-size: .75rem; font-weight: 820; text-transform: uppercase; letter-spacing: .04em; }
.month-entry-table tbody tr:last-child>* { border-bottom: 0; }
.month-entry-table tbody tr.is-weekend { background: var(--surface-soft); }
.month-entry-table tbody th { width: 84px; }
.month-entry-table time { display: grid; grid-template-columns: 30px auto; gap: 5px; align-items: baseline; font-variant-numeric: tabular-nums; }
.month-entry-table select,.month-entry-table input { min-height: 42px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); padding: 8px 9px; font: inherit; }
.month-entry-table select { width: 100%; min-width: 190px; }
.duration-input { display: inline-grid; grid-template-columns: 54px auto 54px; gap: 4px; align-items: center; }
.duration-input input { width: 54px; text-align: center; font-variant-numeric: tabular-nums; }
.duration-input i { color: var(--muted); font-style: normal; font-weight: 800; }
.preparation-entry { display: grid; grid-template-columns: auto minmax(190px,1fr); gap: 8px; align-items: center; min-width: 330px; }
.preparation-entry .recorded-value { grid-column: 1/-1; }
.preparation-activity { width: 100%; }
.recorded-value { display: grid; gap: 2px; }
.recorded-value small { color: var(--muted); overflow-wrap: anywhere; }
.month-entry>.button { justify-self: start; }
.time-entry-history { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 18px; }
.time-entry-history>summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.attendance-list li { display: grid; grid-template-columns: 100px minmax(0,1fr) auto; gap: 14px; align-items: center; margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.attendance-list li+li { border-top: 1px solid var(--line); }
.attendance-list span { display: grid; gap: 2px; }
.attendance-list small { color: var(--muted); }
.schedule-list,.standard-day-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.schedule-card { border: 1px solid var(--line); border-radius: 14px; padding: 16px; background: var(--surface-soft); }
.schedule-card>header,.personnel-schedules>header,.standard-month>header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.schedule-card>p { color: var(--muted); overflow-wrap: anywhere; }
.schedule-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; }
.schedule-card dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding-block: 7px; }
.schedule-card dd { margin: 0; font-variant-numeric: tabular-nums; }
.schedule-card form,.schedule-actions { margin-top: 14px; display: flex; align-items: end; gap: 10px; }
.schedule-card form label { display: grid; gap: 5px; flex: 1; }
.schedule-grid { display: grid; grid-template-columns: minmax(110px,1fr) 70px repeat(3,minmax(90px,1fr)); align-items: center; gap: 8px 12px; overflow-x: auto; }
.schedule-grid>span { color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.schedule-grid label { margin: 0; }
.standard-month { margin: 20px 0 28px; }
.standard-month>header { border-block: 1px solid var(--line); padding-block: 14px; }
.standard-month>header p { color: var(--muted); margin: 4px 0 0; }
.standard-month>header dl { display: flex; gap: 20px; margin: 0; }
.standard-month>header dl div { display: grid; gap: 2px; }
.standard-month>header dt,.standard-day small { color: var(--muted); font-size: .75rem; }
.standard-month>header dd { margin: 0; font-weight: 800; }
.standard-day { display: grid; grid-template-columns: 100px minmax(120px,1fr) repeat(2,80px) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-left: 4px solid var(--warning-ink); border-radius: 12px; padding: 12px; }
.standard-day.is-matched { border-left-color: var(--success-ink); }
.standard-day.is-different { border-left-color: var(--accent); }
.standard-day>span { display: grid; gap: 2px; }
.standard-day-actions { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: 8px; }
.standard-days-disclosure { margin-top: 12px; border-top: 1px solid var(--line); }
.standard-days-disclosure > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.standard-days-disclosure .standard-day-list { margin-top: 4px; }
.self-time-entry { margin-top: 24px; }
.self-time-entry>summary { cursor: pointer; list-style: none; width: fit-content; }
.self-time-entry>summary::-webkit-details-marker { display: none; }
.family-time-heading { align-items: flex-start; }
.family-time-heading > div { max-width: 760px; }
.family-time-empty { max-width: 760px; margin-top: 24px; }
.family-time-workspace { display: grid; grid-template-columns: minmax(210px,.62fr) minmax(0,1.7fr); gap: 0; margin-top: 22px; border-block: 1px solid var(--line); }
.family-time-months { display: grid; align-content: start; gap: 4px; padding: 18px 18px 18px 0; border-right: 1px solid var(--line); }
.family-time-months a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 10px; min-height: 64px; padding: 12px; border-radius: 12px; color: inherit; text-decoration: none; }
.family-time-months a:hover,.family-time-months a:focus-visible,.family-time-months a[aria-current="page"] { background: var(--surface-soft); }
.family-time-months a span { display: grid; gap: 2px; min-width: 0; }
.family-time-months a small { color: var(--muted); overflow-wrap: anywhere; }
.family-time-months a>b { grid-column: 1/-1; font-variant-numeric: tabular-nums; }
.family-time-months em { align-self: start; font-style: normal; }
.family-time-detail { min-width: 0; padding: 24px 0 32px 28px; }
.family-time-summary { position: sticky; top: 0; z-index: 4; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 18px; align-items: center; padding: 12px 0 16px; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 95%,transparent); backdrop-filter: blur(10px); }
.family-time-summary h2,.family-time-summary p,.family-time-summary small { margin: 0; }
.family-time-summary p,.family-time-summary small { color: var(--muted); }
.family-time-summary>div:last-child { display: grid; justify-items: end; gap: 3px; }
.family-time-summary>div:last-child strong { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.family-time-entry-card { margin: 24px 0; padding: clamp(18px,3vw,28px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-soft); }
.family-time-entry-card header h3,.family-time-entry-card header p { margin: 0; }
.family-time-entry-card header p { margin-top: 5px; color: var(--muted); }
.family-time-entry-card form { display: grid; grid-template-columns: minmax(150px,.6fr) minmax(190px,.8fr) minmax(240px,1.6fr) auto; gap: 14px; align-items: end; margin-top: 18px; }
.family-time-entry-card label,.family-time-entry-card fieldset,.family-time-entries details label { display: grid; gap: 6px; min-width: 0; }
.family-time-entry-card fieldset { margin: 0; padding: 0; border: 0; }
.family-time-entry-card label,.family-time-entry-card legend,.family-time-entries details label { font-weight: 750; }
.family-time-entry-card input,.family-time-entries details input { width: 100%; min-height: 44px; }
.family-duration { display: grid; grid-template-columns: minmax(72px,1fr) auto minmax(72px,1fr); gap: 7px; align-items: end; }
.family-duration>span { padding-bottom: 12px; font-weight: 850; }
.family-duration label span { color: var(--muted); font-size: .78rem; }
.family-time-entries { margin-top: 26px; }
.family-time-entries>header { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.family-time-entries>header h3 { margin: 0; }
.family-time-entries>header b { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.family-time-entries ol { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.family-time-entries li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.family-entry-main { display: grid; grid-template-columns: 105px minmax(0,1fr) auto; gap: 14px; align-items: center; }
.family-entry-main time { color: var(--muted); font-variant-numeric: tabular-nums; }
.family-entry-main strong { overflow-wrap: anywhere; }
.family-entry-main b { font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.family-time-entries details { margin-top: 8px; border-top: 1px solid var(--line); }
.family-time-entries details summary { display: flex; align-items: center; width: fit-content; min-height: 44px; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.family-time-entries details form { display: grid; grid-template-columns: minmax(150px,.7fr) 100px 100px minmax(240px,1.5fr) auto; gap: 12px; align-items: end; padding-top: 8px; }
.family-time-submit { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center; margin-top: 26px; padding: 20px 0; border-top: 1px solid var(--line); }
.family-time-submit h3,.family-time-submit p { margin: 0; }
.family-time-submit p { max-width: 680px; margin-top: 5px; color: var(--muted); }
.family-month-form { min-width: min(520px,80vw); }
@media(max-width:74rem){.family-time-entry-card form{grid-template-columns:repeat(2,minmax(0,1fr))}.family-time-entry-card .family-activity{grid-column:1/-1}.family-time-entry-card .button{justify-self:start}.family-time-entries details form{grid-template-columns:repeat(2,minmax(0,1fr))}.family-time-entries details .family-activity{grid-column:1/-1}.family-time-entries details .button{justify-self:start}}
@media(max-width:47.99rem){.family-time-heading{align-items:stretch}.family-time-heading .inline-action-disclosure,.family-time-heading .inline-action-disclosure>summary{width:100%}.family-month-form{min-width:0;width:100%}.family-time-workspace{grid-template-columns:minmax(0,1fr)}.family-time-months{display:flex;gap:8px;overflow-x:auto;padding:12px 0;border-right:0;border-bottom:1px solid var(--line);scroll-snap-type:x proximity}.family-time-months a{flex:0 0 min(78vw,250px);scroll-snap-align:start}.family-time-detail{padding-left:0}.family-time-summary{grid-template-columns:minmax(0,1fr) auto;top:-1px}.family-time-summary>div:last-child{grid-column:1/-1;grid-template-columns:1fr auto;justify-items:stretch}.family-time-entry-card form,.family-time-entries details form,.family-time-submit{grid-template-columns:minmax(0,1fr)}.family-time-entry-card .family-activity,.family-time-entries details .family-activity{grid-column:auto}.family-time-entry-card .button,.family-time-entries details .button,.family-time-submit .button{width:100%}.family-entry-main{grid-template-columns:minmax(0,1fr) auto}.family-entry-main time{grid-column:1/-1}.family-time-submit{align-items:stretch}}

/* Family-hours school-year cockpit */
.family-year-select,.family-hours-overview-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}.family-year-select label,.family-hours-overview-filter label{display:grid;gap:6px;min-width:180px;font-weight:750}.family-hours-overview-filter label:nth-child(2){flex:1 1 260px}.family-year-select select,.family-hours-overview-filter select,.family-hours-overview-filter input{min-height:44px}.family-hours-overview{margin-top:18px}.family-hours-overview>header{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.family-hours-overview>header h2,.family-hours-overview>header p{margin:0}.family-hours-overview>header p{margin-top:4px;color:var(--muted)}.family-hours-overview>header dl{display:flex;gap:22px;margin:0}.family-hours-overview>header dl div{display:grid;gap:2px;text-align:right}.family-hours-overview>header dt{color:var(--muted);font-size:.86rem}.family-hours-overview>header dd{margin:0;font-size:1.35rem;font-weight:850}.family-hours-status-filter{display:flex;gap:8px;overflow-x:auto;padding:14px 0}.family-hours-status-filter a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:inherit;text-decoration:none;white-space:nowrap}.family-hours-status-filter a[aria-current=page]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent);font-weight:800}.family-hours-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.family-hours-family-card,.family-year-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.family-hours-family-card>header,.family-year-card>header{display:flex;justify-content:space-between;gap:14px;align-items:start}.family-hours-family-card h3,.family-year-card h2,.family-year-card small{margin:0}.family-hours-family-card progress,.family-year-card progress{width:100%;height:12px;margin-top:16px;accent-color:var(--brand-green)}.family-hours-family-card dl,.family-year-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.family-hours-family-card dl div,.family-year-totals div{display:grid;gap:3px;min-width:0}.family-hours-family-card dt,.family-year-totals dt{color:var(--muted);font-size:.84rem}.family-hours-family-card dd,.family-year-totals dd{margin:0;font-size:1.08rem;font-weight:850;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.family-hours-family-card footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:12px;border-top:1px solid var(--line)}.family-hours-family-card footer details{flex:1}.family-hours-family-card footer summary,.family-year-history summary{display:flex;align-items:center;min-height:44px;color:var(--link-blue);cursor:pointer;font-weight:800}.family-hours-family-card footer form,.family-hours-target-bulk form{display:grid;gap:12px;margin-top:10px}.family-hours-family-card footer form{grid-template-columns:repeat(2,minmax(0,1fr))}.family-hours-family-card footer form label,.family-hours-target-fields label{display:grid;gap:5px;font-weight:750}.family-hours-family-card footer form .button{grid-column:1/-1;justify-self:start}.family-hours-family-card footer>a{white-space:nowrap}.family-hours-status-open{border-left:5px solid var(--brand-orange)}.family-hours-status-fulfilled{border-left:5px solid var(--brand-green)}.family-hours-status-unset{border-left:5px solid var(--brand-yellow)}.family-hours-target-bulk{margin-top:18px}.family-hours-target-bulk>summary{width:fit-content}.family-hours-target-bulk>form{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.family-hours-target-fields{display:grid;grid-template-columns:repeat(2,minmax(130px,220px));gap:12px}.family-hours-target-bulk button:disabled{opacity:.48;cursor:not-allowed}.family-hours-batch-card>header h2,.family-hours-batch-card>header p{margin:0}.family-hours-batch-card>header p{margin-top:5px;color:var(--muted)}
.family-year-cockpit{display:grid;gap:16px;margin-top:18px}.family-year-card>header small{color:var(--muted)}.family-year-card>header h2{margin-top:3px}.family-progress{display:grid;gap:5px;margin-top:16px}.family-progress span{font-weight:750}.family-target-pending{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--brand-yellow) 18%,white)}.family-year-history{padding-top:12px;border-top:1px solid var(--line)}.family-year-history ol{display:grid;gap:0;margin:8px 0 0;padding:0;list-style:none}.family-year-history li{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.family-year-history li:last-child{border-bottom:0}.family-year-history li span{display:grid;gap:3px;min-width:0}.family-year-history li strong{overflow-wrap:anywhere}.family-year-history li small{color:var(--muted)}.family-year-history li b{font-variant-numeric:tabular-nums}.family-monthly{margin-top:26px}.family-monthly>header{display:flex;justify-content:space-between;gap:18px;align-items:start}.family-monthly>header h2,.family-monthly>header p{margin:0}.family-monthly>header p{margin-top:3px;color:var(--muted)}.family-time-summary h3{margin:0;font-size:1.55rem}
.family-time-boundary{margin-top:8px!important;color:var(--muted);font-size:.9rem}
@media(max-width:62rem){.family-hours-family-grid{grid-template-columns:1fr}.family-hours-overview>header{align-items:start;flex-direction:column}.family-hours-overview>header dl{width:100%;justify-content:space-between}.family-hours-overview>header dl div{text-align:left}.family-year-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:47.99rem){.family-year-select,.family-hours-overview-filter{align-items:stretch;flex-direction:column}.family-year-select label,.family-year-select .button,.family-hours-overview-filter label,.family-hours-overview-filter .button{width:100%}.family-hours-overview-filter label:nth-child(2){flex:none}.family-hours-overview-filter input[type=search]{height:44px;min-height:44px}.family-hours-overview>header dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.family-hours-family-card,.family-year-card{padding:16px}.family-hours-family-card dl,.family-year-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.family-hours-family-card footer{align-items:stretch;flex-direction:column}.family-hours-family-card footer>a{display:flex;align-items:center;min-height:44px;white-space:normal}.family-hours-target-fields{grid-template-columns:1fr}.family-year-card>header{align-items:stretch;flex-direction:column}.family-year-card>header .status-badge{align-self:start}.family-year-history li{grid-template-columns:minmax(0,1fr) auto}.family-year-history li time{grid-column:1/-1}.family-monthly>header{align-items:stretch;flex-direction:column}.family-monthly>header .inline-action-disclosure,.family-monthly>header .inline-action-disclosure>summary{width:100%}}
.inline-action-disclosure { position: relative; }
.inline-action-disclosure > summary { list-style: none; cursor: pointer; }
.inline-action-disclosure > summary::-webkit-details-marker { display: none; }
.inline-action-disclosure > form { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; width: min(420px,calc(100vw - 48px)); padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-soft); }
.attendance-form,.submit-month { margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--line); }
.attendance-entry-form { display: grid; gap: 16px; max-width: 760px; }
.attendance-entry-basics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.attendance-entry-form label { display: grid; gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 760; }
.attendance-entry-form input,.attendance-entry-form select,.attendance-entry-form textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); padding: 9px 11px; font: inherit; }
.attendance-entry-basics .wide { grid-column: 1/-1; }
.attendance-entry-clock,.attendance-entry-more fieldset { margin: 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--line); }
.attendance-entry-clock legend,.attendance-entry-more legend { padding: 0 8px 0 0; font-weight: 800; }
.attendance-entry-clock > p,.attendance-entry-more fieldset > p { margin: 3px 0 12px; color: var(--muted); font-size: .85rem; }
.attendance-entry-clock > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.attendance-entry-more { border-top: 1px solid var(--line); }
.attendance-entry-more > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--link-blue); cursor: pointer; font-weight: 750; }
.attendance-entry-more > div { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 18px; padding-top: 8px; }
.attendance-entry-more fieldset > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.attendance-entry-form > .button { justify-self: start; }
.submit-month { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.submit-month label,.inline-action label { display: grid; gap: 6px; }
.inline-action { display: flex; align-items: end; gap: 10px; }

@media (max-width: 760px) {
    .personnel-create,.personnel-create>summary { width: 100%; }
    .personnel-create>summary { justify-content: center; }
    .personnel-create>.personnel-form { position: static; width: 100%; max-height: none; margin-top: 12px; }
    .personnel-form,.personnel-workspace,.self-time-workspace,.personnel-summary,.personnel-flow form,.submit-month,.attendance-entry-basics,.attendance-entry-clock > div,.attendance-entry-more > div,.preparation-progress { grid-template-columns: 1fr; }
    .personnel-form .wide,.action-row { grid-column: auto; }
    .attendance-entry-basics .wide { grid-column: auto; }
    .attendance-entry-form > .button { width: 100%; }
    .personnel-register,.self-time-months { border-right: 0; border-bottom: 1px solid var(--line); padding-right: 0; }
    .personnel-detail,.self-time-detail { padding-left: 0; }
    .personnel-summary div+div { border-left: 0; border-top: 1px solid var(--line); }
    .personnel-contracts li,.payroll-drafts li,.personnel-contract-list li,.attendance-list li { grid-template-columns: 1fr; align-items: stretch; }
    .standard-day { grid-template-columns: minmax(86px,.8fr) minmax(0,1.2fr); align-items: center; gap: 8px 12px; }
    .standard-day > time { grid-column: 1/-1; }
    .standard-day > span:nth-of-type(1) { grid-column: 1; }
    .standard-day > span:nth-of-type(2),.standard-day > span:nth-of-type(3) { grid-column: 2; }
    .standard-day > .status-badge { grid-column: 1; grid-row: 3 / span 2; align-self: end; }
    .self-time-period-bar { flex-wrap: wrap; top: -1px; }
    .self-time-period-total { margin-left: auto; }
    .self-time-period-total+.self-time-period-total { margin-left: 0; }
    .preparation-progress dl { justify-content: space-between; gap: 12px; }
    .month-entry-table-wrap { overflow: visible; border: 0; }
    .month-entry-table { min-width: 0; display: block; background: transparent; }
    .month-entry-table thead { display: none; }
    .month-entry-table tbody { display: grid; gap: 12px; }
    .month-entry-table tr { display: grid; grid-template-columns: 1fr; border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: var(--surface); }
    .month-entry-table th,.month-entry-table td { display: grid; width: auto; padding: 8px 0; border: 0; }
    .month-entry-table td::before { content: attr(data-label); margin-bottom: 5px; color: var(--muted); font-size: .74rem; font-weight: 800; text-transform: uppercase; }
    .month-entry-table time { font-size: 1.05rem; }
    .month-entry-table select { min-width: 0; }
    .preparation-entry { min-width: 0; grid-template-columns: 1fr; }
    .preparation-entry .recorded-value { grid-column: auto; }
    .month-entry>.button { width: 100%; }
    .personnel-contracts form,.inline-fields,.action-row,.inline-action,.schedule-card form,.schedule-actions,.standard-month>header { align-items: stretch; flex-direction: column; }
    .schedule-card dl { grid-template-columns: 1fr; }
    .standard-month>header dl { justify-content: space-between; }
    .standard-day-actions { grid-column: 1/-1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: stretch; }
    .standard-day-actions .button,.standard-day-actions form,.standard-day-actions form .button { width: 100%; }
    .compact-input { min-width: 0; }
}

/* Funding costs: one operational register, not a dashboard-card mosaic. */
.funding-workspace { display: grid; gap: 20px; }
.funding-heading { padding-bottom: 4px; }
.boundary-note { padding: 15px 18px; border-left: 4px solid var(--accent); background: var(--surface-soft); line-height: 1.55; }
.funding-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line); }
.funding-kpis div { display: grid; gap: 7px; padding: 18px 20px; }
.funding-kpis div+div { border-left: 1px solid var(--line); }
.funding-kpis span,.funding-source-proof span,.funding-sources span,.snapshot-list span { color: var(--muted); font-size: .88rem; }
.funding-kpis strong { font-size: clamp(1.25rem,2vw,1.75rem); font-variant-numeric: tabular-nums; }
.funding-grid,.cost-layout { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.7fr); border-block: 1px solid var(--line); }
.funding-project-picker { display:grid; gap:14px; margin:24px 0; }
.funding-workspace[data-funding-mode="projects"] > .summer-project-create,.funding-workspace[data-funding-mode="new"] > :is(.funding-kpis,.funding-project-picker,.funding-grid,.cost-register,.cost-import),.funding-workspace[data-funding-mode="projects"] > .funding-kpis { display:none; }
.funding-workspace[data-funding-mode="new"] > .summer-project-create { display:block; }
.funding-list .section-heading details { display:none; }
.funding-back { margin-bottom:16px; }
.funding-process-nav { display:flex; gap:6px; margin:18px 0 24px; padding-bottom:6px; overflow-x:auto; scrollbar-width:thin; }
.funding-process-nav a { display:flex; min-height:44px; flex:0 0 auto; align-items:center; padding:8px 13px; border:1px solid var(--line); border-radius:999px; color:inherit; text-decoration:none; }
.funding-process-nav a:hover,.funding-process-nav a[aria-current="page"] { border-color:var(--accent); background:var(--surface-soft); }
.funding-list,.cost-layout>.record-list { padding: 24px 24px 24px 0; border-right: 1px solid var(--line); }
.funding-detail,.cost-detail { padding: 24px 0 30px 30px; min-width: 0; }
.section-heading,.detail-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.record-list,.import-list { display: grid; align-content: start; margin-top: 18px; }
.record-list a,.import-list a { display: grid; gap: 4px; padding: 13px 9px; color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.record-list a:hover,.record-list a[aria-current="page"],.import-list a:hover { background: var(--surface-soft); }
.record-list small { color: var(--muted); }
.compact-form,.wide-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; min-width: min(620px,80vw); }
.compact-form > *,.compact-form label { min-width: 0; max-width: 100%; }
.compact-form input:not([type="checkbox"]):not([type="radio"]),.compact-form select,.compact-form textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.wide-form { grid-template-columns: repeat(3,minmax(0,1fr)); min-width: 0; padding: 20px 0; border-bottom: 1px solid var(--line); }
.mail-workspace .compact-form { width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr); }
.mail-workspace .compact-form label,.mail-workspace .compact-form input { min-width: 0; max-width: 100%; }
.compact-form label,.wide-form label,.inline-decision label { display: grid; gap: 6px; }
.compact-form .wide,.wide-form .wide { grid-column: 1/-1; }
.funding-source-proof { display: grid; gap: 5px; margin: 14px 0 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; }
.table-scroll table { width: 100%; border-collapse: collapse; min-width: 680px; }
.table-scroll th,.table-scroll td { padding: 11px 10px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.table-scroll td:not(:nth-child(2)) { font-variant-numeric: tabular-nums; }
.table-scroll td small { display: block; color: var(--muted); margin-top: 3px; }
.finance-metric-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:18px 0; border-block:1px solid var(--line); }
.finance-metric-strip div { padding:14px 16px; border-right:1px solid var(--line); }
.finance-metric-strip div:last-child { border-right:0; }
.finance-metric-strip dt { color:var(--muted); font-size:.82rem; }
.finance-metric-strip dd { margin:5px 0 0; font-size:clamp(1.05rem,1.5vw,1.35rem); font-weight:700; font-variant-numeric:tabular-nums; }
.finance-insights .forecast-alert td { background:color-mix(in srgb,var(--danger) 7%,transparent); }
.finance-insights .inline-decision { display:grid; gap:8px; min-width:300px; }
.finance-insight-scope { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:18px 0 24px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.finance-insight-scope label { display:grid; gap:6px; min-width:min(100%,150px); flex:1 1 150px; font-weight:700; }
.finance-insight-scope input,.finance-insight-scope select { width:100%; }
.finance-insights .finance-metric-strip { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); }
.finance-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0; }
.finance-chart-card,.finance-source-chart { min-width:0; margin:24px 0; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,var(--surface),var(--surface-soft)); }
.finance-chart-grid .finance-chart-card { margin:0; }
.finance-chart-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.finance-chart-heading h3,.finance-source-chart h4 { margin:2px 0 0; }
.finance-chart-heading .eyebrow { margin:0; }
.finance-chart-svg { display:block; width:100%; height:auto; min-height:230px; overflow:visible; font-family:system-ui,"Segoe UI",Arial,sans-serif; }
.chart-axis { stroke:var(--ink); stroke-width:1.3; }
.chart-grid-line { stroke:var(--line); stroke-width:1; }
.chart-axis-label,.chart-month-label { fill:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.chart-bar.is-inflow { fill:var(--brand-blue); }
.chart-bar.is-outflow { fill:url(#movement-outflow-pattern); stroke:var(--brand-orange); stroke-width:1; }
.chart-pattern-base { fill:#fff8ef; }
.chart-pattern-line { stroke:var(--brand-orange); stroke-width:3; }
.finance-chart-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 14px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:.78rem; font-weight:700; }
.finance-chart-legend li { display:flex; align-items:center; gap:7px; }
.legend-swatch { width:18px; height:12px; border:1px solid transparent; }
.legend-swatch.is-inflow { background:var(--brand-blue); }
.legend-swatch.is-outflow { border-color:var(--brand-orange); background:repeating-linear-gradient(45deg,#fff8ef 0,#fff8ef 4px,var(--brand-orange) 4px,var(--brand-orange) 6px); }
.legend-line { width:22px; height:0; border-top:3px solid var(--brand-magenta); }
.legend-line.is-reserve { border-top:2px dashed var(--brand-orange); }
.chart-balance-line { fill:none; stroke:var(--brand-magenta); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.chart-reserve-line { stroke:var(--brand-orange); stroke-width:2.5; stroke-dasharray:9 7; }
.chart-balance-point { fill:var(--surface); stroke:var(--brand-magenta); stroke-width:2; }
.chart-balance-point.is-below-reserve { fill:var(--danger); stroke:var(--surface); stroke-width:2; }
.finance-chart-card figcaption,.finance-source-chart figcaption { margin-top:12px; color:var(--muted); font-size:.82rem; line-height:1.5; }
.finance-progress-chart { display:grid; gap:14px; }
.finance-progress-chart>div { display:grid; gap:5px; }
.finance-progress-chart>div>span { display:flex; justify-content:space-between; gap:14px; align-items:baseline; }
.finance-progress-chart strong { flex:0 0 auto; font-variant-numeric:tabular-nums; }
.finance-progress-chart small { color:var(--muted); }
.finance-progress-chart progress { display:block; width:100%; height:15px; overflow:hidden; border:0; border-radius:999px; background:var(--line); accent-color:var(--brand-blue); }
.finance-progress-chart progress::-webkit-progress-bar { border-radius:999px; background:var(--line); }
.finance-progress-chart progress::-webkit-progress-value { border-radius:999px; background:var(--brand-blue); }
.finance-progress-chart progress::-moz-progress-bar { border-radius:999px; background:var(--brand-blue); }
.finance-progress-chart progress.is-outflow { accent-color:var(--brand-orange); }
.finance-progress-chart progress.is-outflow::-webkit-progress-value { background:repeating-linear-gradient(45deg,#fff1e6 0,#fff1e6 5px,var(--brand-orange) 5px,var(--brand-orange) 8px); }
.finance-progress-chart progress.is-outflow::-moz-progress-bar { background:var(--brand-orange); }
.finance-progress-chart progress.is-capital,.finance-progress-chart progress.is-source-2 { accent-color:var(--brand-green); }
.finance-progress-chart progress.is-capital::-webkit-progress-value,.finance-progress-chart progress.is-source-2::-webkit-progress-value { background:var(--brand-green); }
.finance-progress-chart progress.is-capital::-moz-progress-bar,.finance-progress-chart progress.is-source-2::-moz-progress-bar { background:var(--brand-green); }
.finance-progress-chart progress.is-source-1 { accent-color:var(--brand-magenta); }
.finance-progress-chart progress.is-source-1::-webkit-progress-value { background:var(--brand-magenta); }
.finance-progress-chart progress.is-source-1::-moz-progress-bar { background:var(--brand-magenta); }
.finance-progress-chart progress.is-source-3 { accent-color:var(--brand-orange); }
.finance-progress-chart progress.is-source-3::-webkit-progress-value { background:var(--brand-orange); }
.finance-progress-chart progress.is-source-3::-moz-progress-bar { background:var(--brand-orange); }
.finance-chart-result { display:flex; justify-content:space-between; gap:14px; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--line); }
.finance-chart-result strong { font-size:1.15rem; font-variant-numeric:tabular-nums; }
.finance-source-chart { margin:18px 0; background:var(--surface); }
.finance-chart-empty { display:grid; min-height:180px; place-items:center; padding:24px; border:1px dashed var(--line); color:var(--muted); text-align:center; }
@media (max-width:900px) { .finance-metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.finance-metric-strip div { border-bottom:1px solid var(--line); }.finance-chart-grid { grid-template-columns:1fr; }.finance-chart-svg { min-height:200px; } }
@media (max-width:520px) { .finance-metric-strip { grid-template-columns:1fr; }.finance-metric-strip div { border-right:0; }.finance-insights .inline-decision { min-width:240px; }.finance-insight-scope>* { flex-basis:100%; }.finance-insight-scope .button { width:100%; }.finance-chart-card,.finance-source-chart { padding:15px; }.finance-chart-heading { display:grid; }.finance-chart-legend { justify-content:flex-start; }.finance-chart-svg { min-height:160px; }.finance-progress-chart>div>span { display:grid; gap:2px; } }
.variance-bad { color: var(--danger,#9b2d30); font-weight: 700; }
.variance-ok { color: var(--success,#2d6d45); }
.funding-sources,.snapshot-list,.allocation-list { list-style: none; margin: 0; padding: 0; }
.funding-sources li,.snapshot-list li,.allocation-list li { display: grid; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.funding-sources dl,.cost-facts,.personnel-cost-detail dl { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 0; }
.funding-sources dl div,.cost-facts div,.personnel-cost-detail dl div { display: grid; gap: 2px; }
.funding-sources dt,.cost-facts dt,.personnel-cost-detail dt { color: var(--muted); font-size: .82rem; }
.funding-sources dd,.cost-facts dd,.personnel-cost-detail dd { margin: 0; font-variant-numeric: tabular-nums; }
.snapshot-form,.cost-create-actions,.cost-import { padding-top: 20px; border-top: 1px solid var(--line); }
.inline-decision { display: flex; gap: 10px; align-items: end; padding-top: 18px; }
.cost-register { display: grid; gap: 18px; }
.cost-create-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cost-create-actions details { flex: 1 1 320px; }
.cost-facts { padding: 14px 0 20px; border-bottom: 1px solid var(--line); }
.personnel-cost-detail { margin: 18px 0; padding: 16px 18px; background: var(--surface-soft); border-left: 4px solid var(--accent); }
.allocation-list li { grid-template-columns: minmax(0,1fr) auto; }
.allocation-list small { grid-column: 1/-1; color: var(--muted); }
.form-help { color: var(--muted); max-width: 75ch; }
.cost-import { display: grid; gap: 18px; }

@media (max-width: 900px) {
    .document-triage-summary { grid-template-columns: 1fr; }
    .document-triage-summary form .button { width: 100%; }
    .funding-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .funding-kpis div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
    .funding-kpis div:nth-child(4) { border-top: 1px solid var(--line); }
    .wide-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .funding-grid,.cost-layout,.funding-kpis,.compact-form,.wide-form { grid-template-columns: 1fr; }
    .funding-workspace[data-funding-selected="true"] > .funding-project-picker,.funding-workspace[data-funding-selected="true"] .funding-list { display:none; }
    .funding-list,.cost-layout>.record-list { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .funding-detail,.cost-detail { padding-left: 0; }
    .funding-kpis div+div { border-left: 0; border-top: 1px solid var(--line); }
    .section-heading,.detail-heading,.inline-decision { flex-direction: column; align-items: stretch; }
    .compact-form { min-width: 0; }
    .invoice-bank-page .workspace-section,.invoice-bank-page details,.invoice-bank-page .compact-form { min-width: 0; max-width: 100%; overflow-x: clip; }
    .compact-form .wide,.wide-form .wide { grid-column: auto; }
    .allocation-list li { grid-template-columns: 1fr; }
    .allocation-list small { grid-column: auto; }
}

/* Cleaning distribution: a reviewable plan with contracts kept distinct from memberships. */
.cleaning-distribution-heading { align-items: end; }
.distribution-principle { margin: 6px 0 28px; padding: 16px 20px; border-left: 4px solid var(--brand-yellow); background: var(--surface-soft); }
.distribution-principle h2 { margin: 0 0 6px; font-size: 1.05rem; }
.distribution-principle p { margin: 0; max-width: 82ch; }
.distribution-contract-create { margin-bottom: 26px; }
.distribution-contract-create > form { margin-top: 12px; padding: 22px; background: var(--surface); border: 1px solid var(--line); }
.distribution-contracts,.distribution-builder,.distribution-preview { padding: 26px 0; border-top: 1px solid var(--line); }
.responsive-table { overflow-x: auto; }
.responsive-table table { width: 100%; border-collapse: collapse; }
.responsive-table th,.responsive-table td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.distribution-contracts > header,.distribution-builder > header,.distribution-preview > header { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 18px; }
.distribution-contracts > header strong { font-size: 1.75rem; font-variant-numeric: tabular-nums; }
.distribution-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.distribution-form-grid label,.distribution-contracts form label { display: grid; gap: 6px; }
.distribution-duty-options { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.distribution-builder form { display: grid; gap: 18px; }
.distribution-preview-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(240px,.7fr); gap: 30px; align-items: start; }
.distribution-preview-grid aside { padding-left: 24px; border-left: 1px solid var(--line); }
.distribution-preview-grid aside dl { margin: 0; }
.distribution-preview-grid aside dl div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.distribution-preview-grid aside dd { margin: 0; font-variant-numeric: tabular-nums; }
.distribution-preview-grid aside small { display: block; margin-top: 12px; color: var(--muted); }
.distribution-confirm { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:20px; }
.pagination span { color:var(--muted); font-weight:700; }
.data-table tbody tr { position:relative; }
.record-link-stretched::after { content:""; position:absolute; inset:0; z-index:1; }
.people-workspace.is-detail { grid-template-columns: minmax(0,1fr); }
.people-workspace.is-detail .record-inspector { padding-left: 0; border-left: 0; }
.data-table tbody tr:focus-within { outline:3px solid var(--focus); outline-offset:-3px; }
.data-table tbody tr details,.data-table tbody tr button,.data-table tbody tr input,.data-table tbody tr select { position:relative; z-index:1; }
.data-table tbody tr input.prospect-selection { z-index:2; }
.child-register-search { flex-wrap:wrap; justify-content:flex-end; }
.summer-row-search { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 8px; }
.summer-row-search label { flex:1 1 260px; }
.summer-row-search input,.summer-row-search select { min-height:44px; }
.child-register-search label { display:grid; gap:6px; }
@media (max-width: 700px) {
    .child-register-search { width:100%; display:grid; grid-template-columns:1fr; }
    .child-register-search input,.child-register-search select,.child-register-search button { width:100%; min-height:44px; }
    .summer-row-search { display:grid; grid-template-columns:1fr; }
    .summer-row-search input,.summer-row-search select,.summer-row-search button { width:100%; min-height:44px; }
}

@media (max-width: 900px) {
    .distribution-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .distribution-preview-grid { grid-template-columns: 1fr; }
    .distribution-preview-grid aside { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
    .cleaning-distribution-heading,.distribution-contracts > header,.distribution-builder > header,.distribution-preview > header,.distribution-confirm { align-items: stretch; flex-direction: column; }
    .distribution-form-grid { grid-template-columns: 1fr; }
    .cleaning-distribution-heading .button,
    .distribution-contract-create > summary,
    .distribution-contract-create button,
    .distribution-contract-create input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .distribution-contract-create select,
    .distribution-contracts summary,
    .distribution-contracts button,
    .distribution-contracts input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .distribution-builder button,
    .distribution-builder input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .distribution-preview button { min-height: 44px; }
    .distribution-contract-create > summary,
    .distribution-contracts summary { display: flex; align-items: center; }
    .responsive-table { overflow: visible; }
    .responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td { display: block; }
    .responsive-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .responsive-table tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
    .responsive-table td { display: grid; grid-template-columns: minmax(110px,.8fr) minmax(0,1.2fr); gap: 12px; padding: 7px 0; border: 0; }
    .responsive-table td::before { content: attr(data-label); color: var(--muted); font-size: .82rem; font-weight: 700; }
}

/* Operational care bookings and daily attendance. */
.care-page-heading p { max-width: 720px; margin: 8px 0 0; color: var(--muted); font-size: 1.05rem; }
.care-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.care-flow li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.care-flow li > span,.care-step-number { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--accent-soft,#f5e8ef); color: var(--accent-strong,#7f2859); font-weight: 800; }
.care-flow div { display: grid; gap: 4px; }
.care-flow small { color: var(--muted); line-height: 1.4; }
.care-empty-workspace { display: grid; gap: 22px; max-width: 980px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.care-empty-workspace h2 { margin: 0 0 5px; }
.care-empty-workspace p { margin: 0; color: var(--muted); }
.care-empty-primary { display: grid; justify-items: start; gap: 10px; }
.care-empty-primary form { margin-top: 6px; }
.care-empty-workspace .care-period-action { max-width: 760px; margin: 0; padding-top: 16px; border-top: 1px solid var(--line); }
.care-empty-workspace .care-period-action > summary { min-height: 44px; padding: 10px 0; color: var(--link); cursor: pointer; font-weight: 750; }
.care-empty-workspace .care-period-action > .form-help { margin: 0 0 12px; }
.care-service-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; }
.care-service-options article { padding: 16px; border-left: 4px solid var(--brand-blue); background: var(--surface-soft); }
.care-service-options article + article { border-left-color: var(--brand-orange); }
.care-service-options p { margin-top: 6px; }
.care-period-action { max-width: 980px; margin-top: 16px; }
.care-period-form { max-width: 820px; }
.care-period-form .form-help { margin: 0; color: var(--muted); }
.care-service-setup { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.care-service-setup-all { grid-template-columns: repeat(3,minmax(0,1fr)); }
.care-service-setup form { display: grid; align-content: start; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.care-service-setup form > p { min-height: 3.9em; margin: 0; color: var(--muted); font-size: .88rem; }
.care-service-setup label { display: grid; gap: 5px; }
.care-service-setup .button { align-self: end; width: 100%; }
.care-workspace { display: grid; gap: 20px; min-width: 0; max-width: 1100px; margin-top: 28px; }
.care-workspace > * { min-width: 0; }
.care-period-picker { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.care-period-picker > summary { min-height: 60px; padding: 12px 16px; cursor: pointer; }
.care-period-picker > summary > span { display: grid; gap: 2px; padding-right: 24px; }
.care-period-picker > summary small { color: var(--muted); font-weight: 600; }
.care-periods { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); align-content: start; gap: 8px; min-width: 0; padding: 0 12px 12px; }
.care-periods h2 { margin: 0 0 4px; font-size: 1rem; }
.care-periods a { display: grid; gap: 3px; min-width: 0; padding: 14px 16px; color: inherit; text-decoration: none; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.care-periods h2,.care-periods a > *,.care-task-switcher a { overflow-wrap: anywhere; }
.care-periods a[aria-current="page"] { border-color: var(--accent); box-shadow: inset 4px 0 0 var(--accent); }
.care-periods small { color: var(--muted); }
.care-detail { min-width: 0; display: grid; gap: 24px; }
.care-period-heading { padding-bottom: 4px; }
.care-task-switcher { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.care-task-switcher a { min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--link); background: var(--surface); font-weight: 700; text-decoration: none; }
.care-task-switcher a:hover { border-color: var(--accent,var(--brand-magenta)); background: var(--accent-soft,#f5e8ef); }
.care-task-section { display: grid; gap: 16px; min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); scroll-margin-top: 20px; }
.care-task-section > .section-heading h3 { margin-top: -30px; margin-left: 42px; }
.care-task-section > .section-heading p { max-width: 680px; margin: 6px 0 0 42px; color: var(--muted); }
.care-attendance-primary > .section-heading h3,.care-attendance-primary > .section-heading p,.care-booking-section > .section-heading h3,.care-booking-section > .section-heading p { margin-left: 0; }
.care-attendance-primary > .section-heading h3,.care-booking-section > .section-heading h3 { margin-top: 0; }
.care-capacity { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.care-capacity article { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); background: var(--surface-soft); }
.care-capacity span { color: var(--muted); font-size: .85rem; }
.care-booking-list,.attendance-register { display: grid; gap: 10px; }
.care-booking-list > article,.attendance-register > form { padding: 16px; border: 1px solid var(--line); background: var(--surface); }
.care-booking-list > article > header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.care-booking-list > article > header div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.care-booking-edit { margin-top: 12px; border-top: 1px solid var(--line); }
.care-booking-edit > summary { width: fit-content; min-height: 44px; padding: 12px 0; color: var(--link); cursor: pointer; font-weight: 700; }
.care-booking-list .compact-form { padding-top: 4px; }
.care-booking-form fieldset,.care-booking-list fieldset { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.care-batch-action > .form-help { margin: 14px 0; }
.care-batch-form { display: grid; gap: 14px; }
.care-batch-toolbar { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(280px,1.5fr) minmax(170px,.65fr); gap: 14px; align-items: end; padding: 14px; border-radius: var(--radius-sm); background: var(--surface-soft); }
.care-batch-toolbar > label { display: grid; gap: 5px; }
.care-batch-toolbar .care-select-all { display: flex; min-height: 44px; align-items: center; gap: 9px; font-weight: 750; }
.care-batch-toolbar fieldset { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 0; border: 0; }
.care-batch-toolbar legend { margin-bottom: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.care-batch-list { display: grid; gap: 8px; }
.care-batch-row { display: grid; grid-template-columns: minmax(210px,1fr) minmax(300px,1.2fr); gap: 12px; align-items: center; margin: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.care-child-choice { display: flex; min-height: 44px; align-items: center; gap: 10px; }
.care-child-days { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; }
.care-child-days label { min-height: 36px; display: flex; align-items: center; gap: 6px; }
.care-batch-footer { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(10px); }
.care-batch-footer span { color: var(--muted); }
.care-attendance-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,320px); align-items: end; }
.care-date-picker { display: grid; grid-template-columns: minmax(0,1fr); min-width: 0; max-width: 320px; }
.care-date-picker .button { width: 100%; }
.attendance-register > form { display: grid; grid-template-columns: minmax(170px,1fr) minmax(170px,.7fr) minmax(180px,1fr) auto; gap: 12px; align-items: end; }
.attendance-person { display: grid; align-self: center; justify-items: start; gap: 5px; }
.attendance-register label { display: grid; gap: 5px; min-width: 0; }
.attendance-register select,.attendance-register input { width: 100%; min-width: 0; }
.care-booking-management { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.care-booking-management > summary { min-height: 64px; padding: 16px 20px; cursor: pointer; }
.care-booking-management > summary > span { display: grid; gap: 3px; padding-right: 24px; }
.care-booking-management > summary small { color: var(--muted); font-weight: 500; }
.care-booking-management > .care-capacity-section { padding: 4px 22px 20px; }
.care-booking-management > .care-task-section { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.attendance-sheet { display: grid; gap: 14px; }
.attendance-sheet-toolbar,.attendance-sheet-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--surface-soft); }
.attendance-sheet-toolbar p { display: grid; gap: 2px; margin: 0; }
.attendance-sheet-toolbar span,.attendance-sheet-footer p { color: var(--muted); }
.attendance-sheet-footer { border: 1px solid var(--line); background: var(--surface); }
.attendance-sheet-footer p { margin: 0; }
.attendance-row { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(360px,1.4fr) minmax(120px,.45fr); gap: 14px; align-items: center; min-width: 0; margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.attendance-row > legend { float: left; width: 100%; padding: 0; font-weight: 750; }
.attendance-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; min-width: 0; }
.attendance-choice { position: relative; min-width: 0; }
.attendance-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.attendance-choice span { display: grid; min-height: 44px; place-items: center; padding: 8px 10px; color: var(--ink); font-weight: 700; text-align: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); cursor: pointer; }
.attendance-choice input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.attendance-choice input:checked + span { color: var(--accent-strong); border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.attendance-choice-absent input:checked + span,.attendance-choice-excused input:checked + span { color: var(--warning-ink); border-color: var(--brand-orange); background: #fff3e8; box-shadow: inset 0 0 0 1px var(--brand-orange); }
.attendance-note > summary { min-height: 44px; padding: 11px 0; color: var(--link); cursor: pointer; font-weight: 700; }
.attendance-note[open] { grid-column: 1/-1; padding-top: 4px; border-top: 1px solid var(--line); }
.attendance-note label { display: grid; gap: 5px; }
.attendance-register-readonly > article { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid var(--line); }

@media (max-width: 900px) {
    .care-flow { grid-template-columns: 1fr; }
    .care-flow li { grid-template-columns: 34px minmax(0,1fr); }
    .care-periods { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .attendance-row { grid-template-columns: minmax(140px,.6fr) minmax(0,1.4fr); }
    .attendance-note { grid-column: 1/-1; }
    .care-service-setup-all,.care-batch-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .care-empty-workspace,.care-task-section { padding: 18px; }
    .care-service-options { grid-template-columns: 1fr; }
    .care-periods,.care-capacity { grid-template-columns: 1fr; }
    .care-booking-list > article > header { flex-direction: column; }
    .care-attendance-heading { grid-template-columns: 1fr; align-items: stretch; }
    .care-date-picker { min-width: 0; width: 100%; }
    .care-date-picker label,.care-date-picker input,.care-date-picker .button { width: 100%; }
    .attendance-row { grid-template-columns: 1fr; padding: 14px 12px; }
    .attendance-options { grid-template-columns: 1fr; }
    .attendance-note { grid-column: auto; }
    .attendance-sheet-toolbar,.attendance-sheet-footer { align-items: stretch; }
    .attendance-sheet-toolbar .button,.attendance-sheet-footer .button { width: 100%; }
    .care-service-setup,.care-service-setup-all,.care-batch-row { grid-template-columns: 1fr; }
    .care-service-setup form > p { min-height: 0; }
    .care-child-days { justify-content: flex-start; }
    .care-batch-footer { align-items: stretch; flex-direction: column; }
    .care-batch-footer .button { width: 100%; }
}

/* Operational workflows and report signals: structure first, without inventing chart data. */
.governance-progress { position: relative; border: 0; }
.governance-progress::before { content: ""; position: absolute; z-index: 0; top: 32px; right: 8.33%; left: 8.33%; height: 2px; background: var(--line); }
.governance-progress li { position: relative; z-index: 1; padding: 0 4px; }
.governance-progress a { display: grid; min-height: 104px; place-items: start center; align-content: start; gap: 5px; padding: 16px 8px 12px; color: var(--muted); text-align: center; text-decoration: none; border-radius: var(--radius-sm); transition: background-color .16s ease,color .16s ease,transform .16s ease; }
.governance-progress a:hover { background: var(--surface-soft); color: var(--ink); transform: translateY(-2px); }
.governance-progress a:focus-visible { outline-offset: 2px; }
.governance-progress a > span { margin: 0 auto 4px; background: var(--surface); }
.governance-progress a > strong { overflow: visible; text-overflow: clip; }
.governance-progress a > small { color: inherit; font-size: .68rem; font-weight: 750; }
.governance-progress .is-complete a { color: var(--success-ink); }
.governance-progress .is-complete a > span { color: var(--surface); border-color: var(--success-ink); background: var(--success-ink); }
.governance-progress .is-current a { color: var(--ink); background: #f8eef3; }
.governance-progress .is-current a > span { color: var(--surface); border-color: var(--brand-magenta); background: var(--brand-magenta); box-shadow: 0 0 0 5px #f8eef3; }
.governance-section[id],.meeting-summary[id],.report-group[id] { scroll-margin-top: 24px; }

.report-map { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0 0 36px; padding: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.report-map-card { position:relative; min-width:0; min-height:94px; background:var(--surface); box-shadow:inset -1px -1px 0 var(--line); }
.report-map-card > .record-link { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 10px; min-height:94px; padding:16px 54px 16px 16px; color:inherit; text-decoration:none; transition:background-color .16s ease,transform .16s ease; }
.report-map-card > .record-link:hover { z-index:1; background:var(--surface-soft); }
.report-map-card > .record-link:focus-visible { z-index:2; outline-offset:-3px; }
.report-map .report-favorite { position:absolute; z-index:3; top:8px; right:8px; display:grid; place-items:center; width:44px; min-height:44px; padding:0; color:var(--brand-magenta); font-size:1.35rem; text-decoration:none; border-radius:50%; }
.report-search { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-bottom:24px; }
.report-search label { display:grid; gap:7px; min-width:min(100%,190px); flex:1 1 190px; color:var(--muted); font-size:.78rem; font-weight:750; }
.report-back { margin-bottom:18px; }
.report-map-index { grid-row: 1 / span 2; color: var(--muted); font-size: .72rem; font-weight: 800; }
.report-map strong { align-self: end; overflow-wrap: anywhere; line-height: 1.2; }
.report-map small { align-self: start; color: var(--muted); font-size: .72rem; }
.report-map .has-signals::after { content: ""; position: absolute; top: 15px; right: 15px; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-yellow); }
.report-map .has-signals small,.report-group-state.has-signals { color: var(--warning-ink); }
.report-map .is-clear small,.report-group-state.is-clear { color: var(--success-ink); }
.report-group > header > div { min-width: 0; }
.report-group-state { display: block; margin-top: 5px; font-size: .72rem; font-weight: 750; }
.report-metric dt { display: flex; gap: 8px; align-items: flex-start; }
.report-metric-mark { flex: 0 0 auto; width: 7px; height: 7px; margin-top: .28rem; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); }
.report-metric.has-signal { background: linear-gradient(90deg,rgba(240,188,2,.11),transparent 70%); }
.report-metric.has-signal .report-metric-mark { border-color: var(--brand-yellow); background: var(--brand-yellow); }

@media (max-width: 1180px) {
    .report-map { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .report-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .governance-progress::before { display: none; }
}
@media (max-width: 640px) {
    .report-map { grid-template-columns: 1fr; }
    .report-map-card,.report-map-card > .record-link { min-height:76px; }
    .report-search > * { flex-basis:100%; }.report-search .button { width:100%; }
    .governance-progress a { min-height: 92px; padding-inline: 5px; }
}

@media (prefers-reduced-motion: reduce) {
    .governance-progress a,.report-map a { transition: none; }
}

/* Organization roles and member workgroups. */
.section-tabs { min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.section-tabs a { min-width: 0; max-width: 100%; display: grid; gap: 2px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.section-tabs a.active,.section-tabs a[aria-current="page"] { border-color: var(--brand); background: var(--brand-soft); }
.section-tabs small { color: var(--muted); }
.workspace-columns { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.workspace-panel,.workspace-panel form,.workspace-panel label,.workspace-panel article,.workspace-panel .compact-list { min-width: 0; }
.workspace-panel { box-sizing: border-box; width: 100%; max-width: 100%; margin-top: 18px; overflow-x: clip; }
.workspace-panel .compact-list,.workspace-panel .organization-list { width: 100%; max-width: 100%; overflow-x: clip; }
.workspace-panel form { max-width: 100%; display: grid; gap: 10px; }
.workspace-panel label { display: grid; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 750; }
.workspace-panel input,.workspace-panel select,.workspace-panel textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.workspace-panel textarea { resize: vertical; }
.workspace-panel .compact-list article { display: grid; gap: 5px; padding: 12px 0; border-top: 1px solid var(--line); }
.workspace-panel strong,.workspace-panel span,.workspace-panel small { overflow-wrap: anywhere; }
.workspace-panel .organization-list > article form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.workspace-panel .organization-list > article form label { grid-column: 1 / -1; }
.workspace-panel .organization-list > article form .button { width: 100%; }

/* Operational workspaces: overview -> register -> contextual creation. */
.operation-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.operation-summary div { min-width: 0; padding: 15px 18px; }
.operation-summary div + div { border-left: 1px solid var(--line); }
.operation-summary dt { color: var(--muted); font-size: .76rem; font-weight: 750; }
.operation-summary dd { margin: 4px 0 0; font-size: 1.35rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.operation-summary .has-warning dd { color: var(--warning-ink); }
.workspace-create { position: relative; }
.workspace-create > summary { list-style: none; }
.workspace-create > summary::-webkit-details-marker { display: none; }
.workspace-create-form { position: absolute; z-index: 26; top: calc(100% + 10px); right: 0; width: min(720px,calc(100vw - 80px)); max-height: calc(100vh - 140px); overflow: auto; display: grid; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow); }
.workspace-create-form.compact-form { width: min(440px,calc(100vw - 80px)); }
.workspace-create-form h2 { margin: 0; }
.workspace-create-form label,.inline-decision label { min-width: 0; display: grid; gap: 5px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.workspace-create-form input,.workspace-create-form select,.workspace-create-form textarea,.inline-decision input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.operational-section { min-width: 0; margin-top: 30px; scroll-margin-top: 90px; }
.kitchen-register-search { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin: 0 0 18px; }
.kitchen-register-search label { display: grid; gap: 6px; min-width: 0; }
.kitchen-register-search input { width: 100%; min-width: 0; }
@media (max-width: 760px) { .kitchen-register-search { grid-template-columns: 1fr; }.kitchen-register-search .button { width: 100%; } }
.operational-section .section-heading > div { min-width: 0; }
.operational-section .section-heading p { margin: 3px 0 0; color: var(--muted); font-size: .85rem; }
.operational-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px; }
.operational-columns .operational-list > article { grid-template-columns: 1fr; align-items: start; }
.operational-columns .record-actions { justify-content: flex-start; }
.operational-list { display: grid; }
.operational-list > article { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.operational-list h3 { margin: 3px 0; font-size: 1rem; }
.operational-list p { margin: 0; color: var(--muted); }
.operational-list time,.operational-list small { color: var(--muted); font-size: .76rem; }
.waldorf-library-list { gap: 12px; }
.waldorf-library-list > article { align-items: start; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.waldorf-library-entry > div:first-child { min-width: 0; display: grid; gap: 10px; }
.waldorf-resource-meta,.waldorf-rights dl { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; }
.waldorf-resource-meta div,.waldorf-rights dl div { min-width: 8rem; }
.waldorf-resource-meta dt,.waldorf-rights dt { color: var(--muted); font-size: .76rem; }
.waldorf-resource-meta dd,.waldorf-rights dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.waldorf-rights { max-width: 72ch; }
.waldorf-rights summary { cursor: pointer; color: var(--link); font-weight: 650; }
.waldorf-rights[open] { padding: 12px; border-radius: 12px; background: var(--background); }
.record-actions { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.inline-decision { min-width: min(360px,100%); display: grid; grid-template-columns: minmax(150px,1fr) auto auto; align-items: end; gap: 7px; }
.inline-decision label { grid-row: 1 / 3; }
.inline-create { width: max-content; max-width: 100%; margin: 14px 0 4px auto; }
.inline-create-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 14px 0 4px; }
.subsection-title { margin: 22px 0 7px; font-size: .86rem; letter-spacing: .035em; text-transform: uppercase; }
.stock-list { border-top: 1px solid var(--line); }
.stock-list article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.stock-list article > div { min-width: 0; display: grid; gap: 2px; }
.stock-list article > div:last-child { text-align: right; }
.stock-list small,.supplier-list small { color: var(--muted); }
.stock-list .is-low { padding-left: 12px; border-left: 4px solid var(--brand-orange); }
.supplier-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.supplier-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.supplier-list li > span:first-child { min-width: 0; display: grid; gap: 2px; }
.control-register { display: grid; margin-top: 8px; }
.control-register > article { min-width: 0; display: grid; grid-template-columns: 150px minmax(110px,.65fr) auto minmax(100px,.5fr) minmax(260px,1fr); align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.control-register time,.control-register small { color: var(--muted); font-size: .78rem; }
.status-pass { background: #e7efd8; color: #4e6621; }
.status-fail { background: #fbe9e7; color: #7b1b16; }
@media (max-width: 1440px) {
    .workspace-panel .workspace-columns { grid-template-columns: 1fr; }
}
.organization-panel { display: grid; gap: 22px; margin-top: 24px; }
.organization-tabs { margin-top: 20px; }
.organization-master-detail { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.85fr); gap: 24px; align-items: start; }
.organization-register .record-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.organization-register .record-list article { position: relative; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.organization-register .record-link { display: grid; gap: 3px; color: inherit; text-decoration: none; }
.organization-detail { scroll-margin-top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.organization-detail form { display: grid; gap: 12px; margin-top: 14px; }
.organization-detail-back { display: none; }
.organization-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; align-items: end; padding: 18px; border: 1px solid var(--line); background: var(--surface-soft); }
.organization-form label { min-width: 0; }
.organization-form input,.organization-form select { width: 100%; min-width: 0; max-width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.organization-form .wide { grid-column: span 2; }
.obligation-items { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.obligation-items .workspace-card { padding: 18px; border: 1px solid var(--line); background: var(--surface); }
.obligation-items .organization-form { margin-top: 12px; }
.obligation-tabs a { min-height: 44px; place-items: center; }
.obligation-back { margin: 4px 0 2px; }
.obligation-register-search { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(4,minmax(145px,.75fr)); align-items: end; gap: 12px; }
.obligation-register-search > .wide { grid-column: 1 / -1; }
.obligation-register-search > input { min-height: 44px; }
.obligation-register-search .filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.obligation-case-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 18px 0 0; padding: 0; list-style: none; }
.obligation-case-list li,.obligation-case-list article { min-width: 0; }
.obligation-case-list article { position: relative; height: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; gap: 8px 12px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.obligation-case-list .record-link { min-height: 44px; display: flex; align-items: center; color: var(--ink); font-weight: 850; text-decoration: none; }
.obligation-case-list article > p,.obligation-case-list article > dl,.obligation-case-list article > small { grid-column: 1 / -1; }
.obligation-case-list article > p { margin: 0; color: var(--muted); }
.card-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 8px 0; }
.card-facts div { min-width: 0; }
.card-facts dt { color: var(--muted); font-size: .72rem; font-weight: 750; }
.card-facts dd { margin: 2px 0 0; overflow-wrap: anywhere; font-weight: 750; }
.invoice-card-list { display:grid; gap:14px; margin:14px 0; padding:0; list-style:none; }
.invoice-card-list > li,.invoice-card-list .record-card,.invoice-card-list .record-card-actions { min-width:0; }
.invoice-card-list .record-card { padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.invoice-card-list .record-card-actions { display:grid; gap:10px; margin-top:12px; }
.invoice-card-list .inline-form { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%; }
.invoice-card-list .inline-form label,.invoice-card-list .inline-form input { min-width:0; max-width:100%; }
.invoice-card-list .inline-form .button { justify-self:start; }
.finance-approval-list { display:grid; gap:14px; margin:18px 0; padding:0; list-style:none; }
.finance-approval-list .record-card { position:relative; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.obligation-items details { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--line); }
.obligation-items summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--brand-magenta); font-weight: 800; }
.obligation-lanes { margin: 18px 0; }
.obligation-lanes a { min-height: 46px; place-items: center; }
.obligation-quick-search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.obligation-quick-search input { width: 100%; min-width: 0; min-height: 44px; }
.obligation-filter { margin-top: 12px; }
.obligation-filter > summary,.obligation-admin > summary,.obligation-audit > summary,.obligation-closed > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--brand-magenta); }
.obligation-filter .obligation-register-search { grid-template-columns: repeat(2,minmax(180px,1fr)) auto; margin-top: 10px; }
.obligation-case-heading { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.obligation-case-list article { display: block; }
.obligation-case-list .record-link { padding-right: 8px; }
.obligation-next { display: grid; gap: 3px; margin-top: 14px; padding: 12px; border-left: 4px solid var(--brand-orange); background: var(--surface-soft); }
.obligation-next small,.obligation-next span,.obligation-case-meta,.obligation-task-meta { color: var(--muted); }
.obligation-case-meta { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 12px; font-size: .8rem; }
.obligation-task-card { display: grid; gap: 12px; }
.obligation-task-card:target,.obligation-task-card.is-focused { border-color: var(--brand-magenta); box-shadow: 0 0 0 3px rgba(165,51,116,.14); scroll-margin-top: 24px; }
.obligation-direct-action { margin-top: 2px; }
.obligation-action > summary.button { display: inline-flex; color: #fff; }
.obligation-action .organization-form { margin-top: 10px; }
.obligation-secondary > summary { color: var(--muted); }
.obligation-closed { margin-top: 18px; }
.obligation-audit { margin-top: 16px; }
.obligation-audit-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); gap: 28px; padding-top: 12px; }
.obligation-admin { margin-top: 14px; }
.obligation-admin .button-row { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 12px; }
.timeline-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.timeline-list li { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--line); }
.timeline-list li > div { min-width: 0; display: grid; gap: 3px; }
.timeline-list time,.timeline-list small { color: var(--muted); font-size: .78rem; }
.source-list { display: grid; gap: 10px; padding-inline-start: 22px; }
.organization-list { display: grid; gap: 8px; }
.organization-list > article { display: grid; grid-template-columns: minmax(220px,1fr) minmax(320px,1.2fr); gap: 18px; align-items: end; padding: 16px 0; border-top: 1px solid var(--line); }
.organization-list > article > div { display: grid; gap: 3px; min-width: 0; }
.organization-list > article form { display: grid; grid-template-columns: 150px minmax(160px,1fr) auto; gap: 10px; align-items: end; }
.workgroup-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.workgroup-summary article { display: grid; gap: 5px; padding: 16px; border: 1px solid var(--line); background: var(--surface); }
.workgroup-summary small,.my-workgroup-list small { color: var(--muted); }
.my-workgroup-list { display: grid; border-top: 1px solid var(--line); }
.my-workgroup-card { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto; align-items:center; gap:16px; padding:17px 10px; border-bottom:1px solid var(--line); border-radius:var(--radius-sm); color:inherit; text-decoration:none; transition:background .16s ease,transform .16s ease; }
.my-workgroup-card:hover,.my-workgroup-card:focus-visible { background:var(--surface-soft); transform:translateY(-1px); }
.my-workgroup-card>div { display:grid; gap:4px; min-width:0; }
.my-workgroup-card h2 { margin:0; font-size:1rem; }
.my-workgroup-card p { grid-column:1 / -1; margin:0; color:var(--muted); }
.my-workgroup-next-task time { color:var(--muted); font-size:.8rem; }
.my-workgroup-card strong,.my-workgroup-card h2,.my-workgroup-next-task { min-width: 0; overflow-wrap: anywhere; }

/* Audited narrow-screen containment for data-dense administration surfaces. */
.document-workspace,.document-workspace > *,.document-workspace code,
.project-archive-workspace,.project-archive-workspace > *,.project-archive-workspace .funding-grid > *,
.finance-heading,.finance-income,.finance-income > *,
.account-panel,.account-panel > * { min-width: 0; max-width: 100%; }
.document-workspace strong,.document-workspace small,.document-workspace code,.document-sources li,
.project-archive-workspace strong,.project-archive-workspace span,.project-archive-workspace small,
.account-panel code { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.project-archive-workspace .snapshot-list > li { grid-template-columns: minmax(0,1fr); min-width: 0; }
.project-archive-workspace .snapshot-list details { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.project-archive-workspace .snapshot-list ul,.project-archive-workspace .snapshot-list li { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.table-wrap { box-sizing: border-box; width: 100%; max-width: 100%; overflow-x: auto; }
.account-panel form,.account-panel label,.account-panel input,.account-panel textarea { min-width: 0; max-width: 100%; }
@media (max-width: 980px) {
    .workspace-columns { grid-template-columns: 1fr; }
    .obligation-register-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .obligation-case-list { grid-template-columns: 1fr; }
    .operational-columns { grid-template-columns: 1fr; gap: 10px; }
    .control-register > article { grid-template-columns: 125px minmax(100px,1fr) auto minmax(80px,.6fr); }
    .control-register > article .inline-decision,.control-register > article > small { grid-column: 1 / -1; }
    .organization-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .organization-list > article { grid-template-columns: 1fr; }
    .workgroup-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .operation-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .operation-summary div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
    .operation-summary div:nth-child(4) { border-top: 1px solid var(--line); }
    .workspace-create,.workspace-create > summary,.inline-create { width: 100%; }
    .workspace-create > summary { justify-content: center; }
    .workspace-create-form,.workspace-create-form.compact-form { position: static; width: 100%; max-height: none; margin-top: 10px; box-shadow: var(--shadow-soft); }
    .form-grid,.operational-list > article,.inline-decision,.control-register > article { grid-template-columns: 1fr; }
    .inline-decision label { grid-row: auto; }
    .record-actions { align-items: stretch; justify-content: stretch; }
    .record-actions > * { width: 100%; }
    .section-tabs a { flex: 1 1 145px; }
    .organization-form,.organization-list > article form,.workgroup-summary,.my-workgroup-card { grid-template-columns: 1fr; }
    .organization-master-detail { grid-template-columns: 1fr; }
    .organization-master-detail.has-selection .organization-register { display: none; }
    .organization-detail-back { display: inline-flex; margin-bottom: 12px; }
    .organization-form .wide { grid-column: auto; }
    .obligation-register-search,.card-facts,.timeline-list li { grid-template-columns: 1fr; }
    .obligation-register-search .filter-actions,.obligation-register-search .filter-actions > * { width: 100%; }
    .obligation-quick-search,.obligation-filter .obligation-register-search,.obligation-audit-grid { grid-template-columns: 1fr; }
    .obligation-quick-search .button,.obligation-direct-action .button,.obligation-action > summary.button,.obligation-action .button { width: 100%; justify-content: center; }
    .language-pair { grid-template-columns: 1fr; align-items: stretch; }
    .language-pair > span { display: none; }
    .duration-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .project-archive-workspace .funding-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .mcp-table-wrap { overflow: visible; }
    .mcp-table-wrap table,.mcp-table-wrap tbody,.mcp-table-wrap tr,.mcp-table-wrap td { display: block; width: 100%; }
    .mcp-table-wrap thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mcp-table-wrap tr { margin: 0 0 14px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
    .mcp-table-wrap td { min-width: 0; padding: 9px 0; border: 0; overflow-wrap: anywhere; }
    .mcp-table-wrap td + td { border-top: 1px solid var(--line); }
    .mcp-table-wrap td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: .72rem; font-weight: 800; }
}

@media (max-width: 360px) {
    .page-heading h1,.my-workgroup-card strong,.finance-income h2 { overflow-wrap: anywhere; hyphens: auto; }
    .finance-subnav,.section-tabs { flex-direction: column; align-items: stretch; }
    .finance-subnav > *,.section-tabs > * { width: 100%; }
}

/* Personnel: register-first mobile workflow with dedicated task surfaces. */
.personnel-tabs { margin-bottom: 18px; }
.workspace-panel.personnel-register { border-right: 1px solid var(--line); padding: 22px; }
.personnel-register-search { display: grid; grid-template-columns: minmax(240px,1.5fr) minmax(160px,.7fr) auto; align-items: end; gap: 12px; }
.personnel-register-search > .wide { grid-column: 1 / -1; }
.personnel-register-search > input,.personnel-register-search select { min-height: 44px; }
.personnel-register-search .filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.personnel-card-list,.personnel-import-rows,.personnel-import-batches { list-style: none; margin: 18px 0 0; padding: 0; }
.personnel-card-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.personnel-card-list li,.personnel-card-list article { min-width: 0; }
.personnel-card-list article { position: relative; height: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; gap: 8px 12px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.personnel-card-list .record-link { min-height: 44px; display: flex; align-items: center; color: var(--ink); font-weight: 850; text-decoration: none; }
.personnel-card-list article > p,.personnel-card-list article > dl { grid-column: 1 / -1; }
.personnel-card-list article > p { margin: 0; color: var(--muted); }
.personnel-back { margin-bottom: 16px; }
.workspace-panel.personnel-detail { padding: 22px; }
.personnel-import-rows { display: grid; gap: 10px; }
.personnel-import-rows article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.personnel-import-rows article > span,.personnel-import-rows article > small { grid-column: 1; }
.personnel-import-rows article > em { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.personnel-import-batches li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; border-top: 1px solid var(--line); }
.personnel-import-batches a { min-height: 44px; display: flex; align-items: center; }
@media (max-width: 900px) {
    .personnel-card-list { grid-template-columns: 1fr; }
    .personnel-register-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .personnel-register-search .filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .workspace-panel.personnel-register,.workspace-panel.personnel-detail { padding: 16px; }
    .personnel-register-search { grid-template-columns: 1fr; }
    .personnel-register-search .filter-actions,.personnel-register-search .filter-actions > * { grid-column: auto; width: 100%; }
    .personnel-card-list article { grid-template-columns: minmax(0,1fr); }
    .personnel-card-list article > .status-badge { justify-self: start; }
    .personnel-import-rows article { grid-template-columns: 1fr; }
    .personnel-import-rows article > em { grid-column: 1; grid-row: auto; justify-self: start; }
}

/* Training: four focused registers instead of one long administration page. */
.training-tabs { margin-bottom: 18px; }
.training-search { display: grid; grid-template-columns: minmax(240px,1.5fr) minmax(170px,.7fr) auto; align-items: end; gap: 12px; }
.training-search > label:first-child { grid-column: 1 / -1; }
.training-search input,.training-search select { min-height: 44px; }
.training-search .filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.training-program-list,.training-baseline-list,.training-assignment-list,.training-evidence-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; list-style: none; margin: 18px 0 0; padding: 0; }
.training-program-list li,.training-baseline-list li,.training-assignment-list li,.training-evidence-list li { min-width: 0; }
.training-program-list article,.training-baseline-list article,.training-assignment-list article,.training-evidence-list article { height: 100%; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.training-program-list article { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.training-program-list h2,.training-baseline-list h2,.training-assignment-list h2,.training-evidence-list h2 { margin: 0; font-size: 1.05rem; }
.training-program-list p,.training-assignment-list p,.training-evidence-list p { margin: 0; color: var(--muted); }
.training-program-list .card-facts { width: 100%; margin-top: auto; }
.training-baseline-list article > div,.training-assignment-list article > div,.training-evidence-list article > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
@media (max-width: 900px) {
    .training-program-list,.training-baseline-list,.training-assignment-list,.training-evidence-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .training-search { grid-template-columns: 1fr; }
    .training-search > label:first-child { grid-column: auto; }
    .training-search .filter-actions,.training-search .filter-actions > * { width: 100%; }
}

/* Cleaning distribution: explicit person batch, schedule and preview steps. */
.distribution-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0 0 18px; }
.distribution-steps span { min-height: 44px; display: flex; align-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); }
.distribution-steps span[aria-current="step"] { border-color: var(--accent); background: var(--surface-soft); color: var(--ink); font-weight: 800; }
.cleaning-contract-search { display: grid; grid-template-columns: minmax(240px,1.5fr) minmax(160px,.7fr) auto; align-items: end; gap: 12px; margin-bottom: 18px; }
.cleaning-contract-search > label:first-child { grid-column: 1 / -1; }
.cleaning-contract-search input,.cleaning-contract-search select { min-height: 44px; }
.distribution-form-grid input,.distribution-form-grid select { min-height: 44px; }
.cleaning-scope input:not([type="checkbox"]),.cleaning-scope select { min-height: 44px; }
.cleaning-contract-search .filter-actions { display: flex; gap: 8px; }
.cleaning-contract-list,.cleaning-preview-list { list-style: none; margin: 12px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cleaning-contract-card { min-height: 88px; height: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); cursor: pointer; }
.cleaning-contract-card input { width: 24px; height: 24px; }
.cleaning-contract-card > span { display: grid; gap: 3px; min-width: 0; }
.cleaning-contract-card small { color: var(--muted); overflow-wrap: anywhere; }
.cleaning-selected-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cleaning-selected-list li { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-top: 1px solid var(--line); }
.cleaning-scope > form > label input { min-height: 44px; }
.cleaning-scope-back { margin-bottom: 16px; }
.cleaning-preview-list article { height: 100%; display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.cleaning-preview-list time,.cleaning-preview-list span { color: var(--muted); }
.cleaning-balance { margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.cleaning-balance dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; }
.cleaning-balance dl div { display: flex; justify-content: space-between; gap: 12px; }
@media (max-width: 760px) {
    .distribution-steps,.cleaning-contract-list,.cleaning-preview-list,.cleaning-balance dl { grid-template-columns: 1fr; }
    .cleaning-contract-search { grid-template-columns: 1fr; }
    .cleaning-contract-search > label:first-child { grid-column: auto; }
    .cleaning-contract-search .filter-actions,.cleaning-contract-search .filter-actions > * { width: 100%; }
    .cleaning-contract-card { grid-template-columns: auto minmax(0,1fr); }
    .cleaning-contract-card > .status-label { grid-column: 2; justify-self: start; }
}

/* Versioned staff learning and compliance evidence. */
.table-shell { max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain; }
.table-shell table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.table-shell th { color: var(--muted); font-size: .74rem; letter-spacing: .035em; text-align: left; text-transform: uppercase; }
.table-shell th,.table-shell td { padding: 11px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.table-shell tbody th { color: var(--ink); font-size: .86rem; letter-spacing: 0; text-transform: none; }
.content-card,.form-grid,.form-grid label { min-width:0; }
.content-card { margin-top: 32px; padding-top: 2px; }
.metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 26px; border-block: 1px solid var(--line); }
.metric-card { min-width: 0; display: grid; gap: 4px; padding: 15px 18px; }
.metric-card + .metric-card { border-left: 1px solid var(--line); }
.metric-card span,.metric-card small { color: var(--muted); }
.metric-card span { font-size: .76rem; font-weight: 760; }
.metric-card strong { font-size: 1.38rem; font-variant-numeric: tabular-nums; }
.form-grid input,.form-grid select { min-width:0;max-width:100%; }
.training-catalog-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.training-program-card { display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface); }
.training-self-grid { display: grid; border-top: 1px solid var(--line); }
.training-self-card { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.45fr); align-items: center; gap: 26px; padding: 20px 12px; border-bottom: 1px solid var(--line); border-radius: var(--radius-sm); color: inherit; text-decoration: none; transition: background .16s ease,transform .16s ease; }
.training-self-card:hover,.training-self-card:focus-visible { background: var(--surface-soft); transform: translateY(-1px); }
.training-self-card>div:last-child { display: grid; gap: 10px; }
.training-self-card>div:last-child>strong { justify-self: end; font-size: 1.35rem; }
.training-self-filters { margin-bottom: 18px; }
.training-self-filters a span { font-variant-numeric: tabular-nums; }
.training-program-card h3,.training-self-card h2 { margin:10px 0 7px; }
.training-program-card p,.training-self-card p { color:var(--muted); }
.training-program-card small,.training-self-card small { color:var(--muted); }
.training-self-card .button { margin-top:14px; }
.training-preview-banner { display:flex;gap:12px;align-items:flex-start;margin:0 0 22px;padding:14px 16px;border-inline-start:4px solid var(--accent);background:var(--surface-soft);color:var(--ink); }
.training-preview-banner strong { flex:0 0 auto; }
.training-preview-toolbar { display:grid;gap:18px;margin-bottom:24px; }
.training-preview-toolbar > div { max-width:75ch; }
.training-preview-toolbar h2 { margin:4px 0 8px; }
.training-preview-toolbar p { margin:0;color:var(--muted); }
.training-course-layout { display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,2fr);gap:28px;align-items:start; }
.training-module-nav { position:sticky;top:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden; }
.training-module-nav ol { list-style:none;margin:0;padding:0; }
.training-module-nav a { display:grid;grid-template-columns:32px 1fr;gap:3px 8px;padding:12px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line); }
.training-module-nav li:last-child a { border-bottom:0; }
.training-module-nav a:hover { background:var(--surface-soft); }
.training-module-nav a span { grid-row:1 / span 2;color:var(--accent);font-size:.75rem;font-weight:800; }
.training-module-nav a small { color:var(--muted); }
.training-module-content { display:grid;gap:22px;min-width:0; }
.training-module { scroll-margin-top:20px; }
.training-module > p { max-width:75ch;line-height:1.7; }
.training-quiz { margin-top:24px;padding-top:20px;border-top:1px solid var(--line); }
.training-quiz fieldset { display:grid;gap:8px;margin:0 0 18px;padding:0;border:0; }
.training-quiz legend { margin-bottom:10px;font-weight:750; }
.choice-row { display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft); }
.choice-row:has(input:checked) { border-color:var(--accent);background:#f8eef3; }
.choice-row input { margin-top:.22rem; }
.choice-row.choice-correct { border-color:#387a4b;background:#e7f4ea; }
.choice-row.choice-incorrect { border-color:#ad3e47;background:#fae9eb; }
.quiz-rationale { margin:-5px 0 18px;padding:10px 12px;border-inline-start:3px solid var(--accent);color:var(--muted); }
.status-regulated_support { background:#fff5cc; }
.status-external { background:#eef0f3; }
.status-internal { background:#e7f4ea; }
.form-disclosure { margin-top:18px; }
.form-disclosure summary { cursor:pointer;font-weight:750; }
.action-disclosure > summary { width: max-content; max-width: 100%; list-style: none; }
.action-disclosure > summary::-webkit-details-marker { display: none; }
.action-disclosure > form { margin-top: 16px; padding: 18px; border-left: 4px solid var(--brand-magenta); background: var(--surface-soft); }
.auto-action-disclosure { width: 100%; }
.auto-action-disclosure > form.organization-form { border: 0; border-left: 4px solid var(--brand-magenta); }
@media(max-width:980px){.workspace-index{top:58px;margin-top:-14px;gap:2px 16px}}
@media(max-width:640px){.workspace-index{position:static;margin-bottom:22px;padding-block:8px}.workspace-index a{flex:1 1 130px;justify-content:center;text-align:center}}
@media(max-width:900px){.training-course-layout{grid-template-columns:1fr}.training-module-nav{position:static}.training-catalog-grid,.training-self-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.metric-card+.metric-card{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:640px){.training-program-card,.training-self-card{padding:16px}.training-self-card{grid-template-columns:1fr;gap:12px}.training-course-layout{gap:16px}.training-preview-banner{display:grid}}
@media print{.training-module-nav,.training-quiz,.back-link{display:none!important}.training-course-layout{display:block}.training-module{break-inside:avoid;box-shadow:none}.training-module-content{display:block}.training-module-content>article{margin-bottom:24px}}
.person-summary {
    border-top: 2px solid var(--color-primary, #476b45);
    padding-top: 1rem;
}

.person-document-summary + .person-document-summary {
    border-top: 1px solid var(--color-border, #d8ddd7);
    margin-top: 1rem;
    padding-top: 1rem;
}

.person-document-summary > header,
.person-document-list > li,
.row-actions {
    align-items: center;
    display: flex;
    gap: .65rem;
    justify-content: space-between;
}

.compact-key-values {
    margin-block: .75rem;
}

.person-document-list {
    display: grid;
    gap: .75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.person-document-list > li {
    border-bottom: 1px solid var(--color-border, #d8ddd7);
    padding-bottom: .75rem;
}

.person-document-list span,
.document-gap {
    color: var(--color-text-muted, #5d675c);
    display: block;
    font-size: .875rem;
    margin-top: .2rem;
}

.person-secondary-details > summary {
    cursor: pointer;
    font-weight: 700;
    padding-block: .5rem;
}

@media (max-width: 760px) {
    .person-document-summary > header,
    .person-document-list > li {
        align-items: flex-start;
        flex-direction: column;
    }
}

.generated-paper {
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(36, 48, 35, .12);
    color: #1d251d;
    margin: 1.5rem auto;
    max-width: 48rem;
    min-height: 65rem;
    padding: 4rem 4.5rem;
    position: relative;
}

.generated-paper > header {
    border-bottom: 2px solid #476b45;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}

.draft-watermark {
    color: #9a3f32;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-align: right;
}

.generated-fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-block: 2rem;
}

.generated-fields div {
    border-bottom: 1px solid #788278;
    min-height: 3.5rem;
}

.generated-fields dt {
    color: #596259;
    font-size: .75rem;
    text-transform: uppercase;
}

.generated-fields dd {
    font-weight: 700;
    margin: .35rem 0 0;
}

.signature-grid {
    border-top: 1px solid #c9d0c8;
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-top: 2.5rem;
    padding-top: 1rem;
}
.signature-downloads,.signature-page-controls,.signature-workspace .button-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.signature-workspace { display:grid; gap:18px; margin-top:18px; }
.signature-step { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface,#fff); }
.signature-step h4 { margin:0; display:flex; align-items:center; gap:10px; }
.signature-step h4 > span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:var(--color-primary,#a03570); color:#fff; }
.signature-page-controls label { display:flex; align-items:center; gap:8px; font-weight:700; }
.signature-page-controls select { min-width:74px; min-height:44px; }
.signature-pdf-stage { position:relative; width:min(100%,760px); margin-inline:auto; overflow:hidden; border:1px solid #aeb5aa; border-radius:8px; background:#e7e8e4; box-shadow:0 8px 26px rgb(33 39 31 / 12%); touch-action:none; }
.signature-pdf-stage canvas { display:block; width:100%; height:auto; background:#fff; }
.signature-pdf-stage--error { min-height:220px; border-style:dashed; }
.signature-placement { position:absolute; left:8%; top:72%; width:42%; height:16%; min-width:0; min-height:44px; display:flex; align-items:flex-end; padding:8px; overflow:hidden; border:2px solid #a03570; border-radius:6px; background:rgb(255 255 255 / 78%); color:#53213d; font:700 .78rem/1.25 system-ui,sans-serif; text-align:left; cursor:move; touch-action:none; box-shadow:0 2px 10px rgb(70 24 50 / 18%); }
.signature-placement::before { content:''; position:absolute; inset:12% 8% 38%; border-bottom:2px solid #453b41; transform:skewY(-4deg); opacity:.5; }
.signature-placement span { position:relative; max-width:100%; overflow-wrap:anywhere; }
.signature-pad { width:min(100%,760px); margin-inline:auto; border:2px solid #687062; border-radius:10px; background:#fff; background-image:linear-gradient(to bottom,transparent 74%,#d6d9d2 75%,transparent 76%); overflow:hidden; }
.signature-pad canvas { display:block; width:100%; height:auto; aspect-ratio:3 / 1; touch-action:none; cursor:crosshair; }
.signature-pad canvas:focus-visible,.signature-pdf-stage:focus-visible { outline:3px solid #a03570; outline-offset:3px; }
.signature-place-date { grid-template-columns:repeat(2,minmax(0,1fr)); }
.signature-place-date h4 { grid-column:1 / -1; }
.signature-place-date label { display:grid; gap:6px; font-weight:700; }
.governance-signing-handoff { margin:1rem 0; padding:1rem; border:1px solid color-mix(in srgb,var(--brand-magenta) 28%,var(--line)); border-radius:var(--radius-lg); background:color-mix(in srgb,var(--brand-magenta) 5%,var(--surface)); }
.governance-signing-handoff>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.governance-signing-handoff h4,.governance-signing-handoff h5 { margin:0 0 .35rem; }
.governance-signing-form { margin-top:.8rem; }
.governance-signing-form label small { display:block; margin:.2rem 0; color:var(--muted); }
.signature-administration { margin-top:1rem; background:var(--surface-soft); }
@media (max-width:640px) { .signature-step { padding:12px; } .signature-place-date { grid-template-columns:1fr; } .signature-place-date h4 { grid-column:auto; } .signature-page-controls { display:grid; grid-template-columns:1fr auto 1fr; } .signature-page-controls .button { min-width:0; padding-inline:8px; } }

.generated-paper > footer {
    border-top: 1px solid #c9d0c8;
    bottom: 2rem;
    display: flex;
    font-size: .75rem;
    justify-content: space-between;
    left: 4.5rem;
    padding-top: .75rem;
    position: absolute;
    right: 4.5rem;
}

@media (max-width: 640px) {
    .generated-paper { margin: 1rem 0; min-height: 0; padding: 1.25rem; width: 100%; }
    .generated-fields,.signature-grid { grid-template-columns: minmax(0,1fr); }
    .generated-paper h2,.generated-paper p,.generated-paper dd { overflow-wrap: anywhere; }
    .generated-paper > footer { bottom: auto; display: grid; gap: .4rem; left: auto; margin-top: 2rem; position: static; right: auto; }
}

@media print {
    .app-sidebar,.app-header,.mobile-nav,.draft-document-actions { display:none!important; }
    .app-shell,.app-main,.page-content { display:block!important;margin:0!important;padding:0!important; }
    .generated-paper { box-shadow:none;margin:0;max-width:none;min-height:0;padding:18mm 16mm; }
    .generated-paper > footer { bottom:8mm;left:16mm;right:16mm; }
}
.personnel-dossier{margin-top:28px}
.personnel-dossier-list{display:grid;gap:16px;padding:0;list-style:none}
.personnel-dossier-list article{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.personnel-dossier-list article>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.personnel-dossier-list article>header div{display:grid;gap:.25rem}
.personnel-dossier-list .personnel-form,.personnel-dossier-list .schedule-actions{margin-top:8px}
@media(max-width:47.99rem){.personnel-dossier-list article>header{align-items:stretch;flex-direction:column}.personnel-dossier-list .heading-actions{display:grid}.personnel-dossier-list .heading-actions .button{width:100%}}
.protocol-point-list{display:grid;gap:1rem;padding:0;list-style:none;counter-reset:none}.protocol-point-card{border:1px solid var(--color-border,#d7cad1);border-radius:.9rem;background:var(--color-surface,#fff);overflow:hidden}.protocol-point-card>header{display:flex;gap:.85rem;align-items:flex-start;padding:1rem;background:color-mix(in srgb,var(--color-primary,#8b0051) 7%,white)}.protocol-point-card>header>span{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:var(--color-primary,#8b0051);color:#fff;font-weight:700}.protocol-point-card>header div{display:grid;gap:.2rem}.protocol-point-card>header small{color:var(--color-muted,#665b61)}.protocol-point-body{padding:1rem}.protocol-point-body p{margin:.25rem 0 .75rem;white-space:pre-wrap}.protocol-point-card>details,.protocol-ai{border-top:1px solid var(--color-border,#d7cad1);padding:.85rem 1rem}.protocol-ai{margin-bottom:1rem;border:1px solid var(--color-border,#d7cad1);border-radius:.9rem;background:color-mix(in srgb,var(--color-primary,#8b0051) 4%,white)}@media(min-width:900px){.protocol-point-list{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-point-card:has(details[open]){grid-column:1/-1}}
.minutes-readiness{display:grid;gap:.35rem;margin:.75rem 0 1rem;padding:0;list-style:none}.minutes-readiness li{padding-left:1.5rem;position:relative}.minutes-readiness li::before{left:0;position:absolute;font-weight:800}.minutes-readiness .is-ready::before{content:'✓';color:var(--success-ink)}.minutes-readiness .is-blocked::before{content:'!';color:var(--error)}.governance-form button:disabled{cursor:not-allowed;opacity:.52}
.protocol-audio-jobs{display:grid;gap:.55rem;padding:0;list-style:none}.protocol-audio-jobs li{display:flex;align-items:center;gap:.7rem;justify-content:space-between;padding:.65rem .75rem;border:1px solid var(--color-border,#d7cad1);border-radius:.65rem;background:#fff}.protocol-audio-jobs small{color:var(--color-muted,#665b61);text-align:right}.protocol-source-ranges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.75rem}.protocol-source-ranges span{padding:.25rem .45rem;border-radius:.4rem;background:color-mix(in srgb,var(--color-primary,#8b0051) 8%,white);font-size:.82rem}@media(max-width:680px){.protocol-audio-jobs li{align-items:flex-start;flex-direction:column}.protocol-audio-jobs small{text-align:left}}

.anchor-target { display: block; position: relative; top: -1rem; visibility: hidden; }
.data-tools-section { margin-top: 1.5rem; }
.data-tool-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.data-tool-card { align-content: start; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); display: grid; gap: .75rem; height: 100%; padding: 1.25rem; }
.data-tool-card h3,.data-tool-card p { margin: 0; }
.data-tool-card .status-pill { justify-self: start; }
.data-tool-card .button { justify-self: start; margin-top: auto; }
.data-tools-transition { background: color-mix(in srgb,var(--accent-soft,#e8f3ed) 55%,var(--surface)); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 1.25rem; }
.data-tools-transition .section-heading { margin: 0; }
.data-tools-rare,.rare-import-disclosure { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); margin-top: 1.5rem; }
.data-tools-rare > summary,.rare-import-disclosure > summary { cursor: pointer; list-style: none; min-height: 3.5rem; padding: 1rem 1.25rem; }
.data-tools-rare > summary::-webkit-details-marker,.rare-import-disclosure > summary::-webkit-details-marker { display: none; }
.data-tools-rare > summary > span,.rare-import-disclosure > summary > span { display: grid; gap: .2rem; padding-right: 2rem; position: relative; }
.data-tools-rare > summary > span::after,.rare-import-disclosure > summary > span::after { content: '+'; font-size: 1.4rem; position: absolute; right: 0; top: .15rem; }
.data-tools-rare[open] > summary > span::after,.rare-import-disclosure[open] > summary > span::after { content: '−'; }
.data-tools-rare > summary small,.rare-import-disclosure > summary small { color: var(--muted); font-weight: 500; }
.data-tools-rare > p { margin: 0; padding: 0 1.25rem 1rem; }
.data-tools-rare > .data-tool-grid { padding: 0 1.25rem 1.25rem; }
.rare-import-content { border-top: 1px solid var(--line); display: grid; gap: 1rem; padding: 1.25rem; }

@media(max-width:47.99rem){
    .data-tool-grid { grid-template-columns: minmax(0,1fr); }
    .data-tools-transition .section-heading { align-items: stretch; }
    .data-tools-transition .button,.data-tool-card .button { justify-self: stretch; width: 100%; }
}
.mail-draft-register{margin:1rem 0 1.5rem}.mail-draft-register>header{display:flex;justify-content:space-between;gap:1rem}.mail-draft-register>header h2,.mail-draft-register>header p{margin:.2rem 0}.mail-draft-register>ol{display:grid;gap:.75rem;list-style:none;margin:1rem 0 0;padding:0}.mail-draft-register article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:.8rem;padding:1rem}.mail-draft-register article>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.mail-draft-register article>header div{display:grid;gap:.2rem;min-width:0}.mail-draft-register article>header small{color:var(--muted);overflow-wrap:anywhere}.mail-draft-register .action-row,.mail-message-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.65rem}.mail-draft-review{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:.75rem 0;padding:1rem}.mail-draft-review>summary{cursor:pointer;font-weight:700}.mail-draft-body{background:var(--surface-soft);border-radius:.6rem;font:inherit;margin:1rem 0 0;max-height:24rem;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.mail-compose-dialog{border:0;border-radius:1rem;box-shadow:0 1.5rem 5rem rgba(24,31,23,.28);max-height:min(90vh,54rem);max-width:48rem;padding:0;width:calc(100% - 2rem)}.mail-compose-dialog::backdrop{background:rgba(22,28,21,.55)}.mail-compose-dialog form{display:grid;gap:1rem;padding:1.25rem}.mail-compose-dialog header,.mail-compose-dialog footer{align-items:center;display:flex;gap:1rem;justify-content:space-between}.mail-compose-dialog header h2,.mail-compose-dialog header span,.mail-compose-dialog footer{margin:0}.mail-compose-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.mail-compose-grid .wide{grid-column:1/-1}.mail-compose-grid textarea{min-height:16rem;resize:vertical}.mail-compose-dialog footer{border-top:1px solid var(--line);padding-top:1rem}.mail-message-actions{margin:.5rem 0 1rem}@media(max-width:47.99rem){.mail-compose-grid{grid-template-columns:minmax(0,1fr)}.mail-compose-grid .wide{grid-column:auto}.mail-compose-dialog{height:100dvh;max-height:none;width:100%}.mail-compose-dialog form{min-height:100%}.mail-compose-dialog footer{margin-top:auto}.mail-draft-register .action-row,.mail-draft-register .inline-decision{align-items:stretch;display:grid}.mail-draft-register .button{width:100%}}

/* Mail app surface: compact mobile-first scanning, focused reading and recoverable deletion. */
.mail-command-bar{position:relative;z-index:8;display:grid;grid-template-columns:minmax(13rem,1fr) auto;align-items:center;gap:.75rem;margin:-.25rem 0 .75rem;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 8px 28px rgba(35,47,34,.06)}.mail-command-actions{display:flex;align-items:center;gap:.45rem}.mail-command-actions .button{min-height:42px}.mail-folder-picker{position:relative;min-width:0}.mail-folder-picker>summary{min-height:44px;box-sizing:border-box;display:grid;grid-template-columns:2rem minmax(0,1fr) 1.25rem;align-items:center;gap:.45rem;padding:.3rem .4rem;cursor:pointer;border-radius:.7rem;list-style:none}.mail-folder-picker>summary::-webkit-details-marker{display:none}.mail-folder-picker>summary:hover,.mail-folder-picker>summary:focus-visible{background:var(--surface-soft)}.mail-folder-icon{display:grid;place-items:center;color:var(--muted);font-size:1rem}.mail-folder-current{display:grid;min-width:0}.mail-folder-current strong,.mail-folder-current small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folder-current strong{font-size:1rem}.mail-folder-current small{color:var(--muted);font-size:.75rem;font-weight:500}.mail-folder-chevron{color:var(--muted);font-size:1.1rem;transition:transform .15s}.mail-folder-picker[open] .mail-folder-chevron{transform:rotate(180deg)}.mail-folder-picker>nav{position:absolute;z-index:30;top:calc(100% + .45rem);left:0;width:min(36rem,calc(100vw - 2rem));max-height:min(70vh,34rem);overflow:auto;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 18px 48px rgba(25,35,24,.2)}.mail-folder-picker section{min-width:0}.mail-folder-picker h2{margin:.2rem .45rem .35rem;font-size:.72rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.mail-folder-picker section>div{display:grid;gap:.15rem}.mail-folder-picker a{min-height:42px;box-sizing:border-box;display:flex;align-items:center;padding:.5rem .65rem;border-radius:.6rem;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.mail-folder-picker a:hover,.mail-folder-picker a:focus-visible,.mail-folder-picker a[aria-current="page"]{background:var(--surface-soft)}.mail-folder-picker a[aria-current="page"]{color:var(--brand-magenta);font-weight:750}
.platform-mail-workspace{gap:0;margin-top:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.mail-message-register{min-width:0;padding:0}.mail-message-register>header{display:grid;grid-template-columns:auto minmax(11rem,18rem);align-items:center;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.mail-message-register>header h2,.mail-message-register>header p{margin:0}.mail-message-register>header h2{font-size:.95rem}.mail-message-register>header p{margin-top:.05rem;color:var(--muted);font-size:.72rem}.mail-list-search input{min-height:38px;padding:.45rem .65rem;font-size:.86rem;background:var(--surface)}.mail-message-register ol{margin:0;padding:.25rem;list-style:none}.mail-message-register li{position:relative}.mail-message-register li[hidden]{display:none}.mail-message-register li.is-unread:before{content:'';position:absolute;z-index:1;left:.45rem;top:50%;width:.38rem;height:.38rem;border-radius:50%;background:var(--brand-magenta);transform:translateY(-50%)}.platform-mail-workspace .mail-message-register li a{min-height:58px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.55rem .55rem .55rem 1rem;border:1px solid transparent;border-radius:.55rem;color:var(--ink);text-decoration:none}.platform-mail-workspace .mail-message-register li a:hover,.platform-mail-workspace .mail-message-register li a:focus-visible,.platform-mail-workspace .mail-message-register li a[aria-current="page"]{background:var(--surface-soft);border-color:var(--line)}.mail-message-copy{display:grid;gap:.12rem;min-width:0}.mail-message-sender{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;min-width:0}.mail-message-sender strong,.mail-message-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-message-sender strong{font-size:.87rem}.mail-message-sender time{color:var(--muted);font-size:.72rem;white-space:nowrap}.mail-message-subject{color:var(--muted);font-size:.82rem}.mail-message-register .is-unread .mail-message-sender strong,.mail-message-register .is-unread .mail-message-subject{color:var(--ink);font-weight:750}.mail-message-register .is-read .mail-message-sender strong{font-weight:600}.mail-saved-marker{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--surface-soft);color:var(--brand-green);font-size:.75rem;font-style:normal}.mail-list-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border-top:1px solid var(--line);background:var(--surface-soft)}.mail-list-footer .result-count{margin:0;color:var(--muted);font-size:.78rem}.mail-list-footer .button{min-height:38px;padding:.4rem .7rem}
.mail-route.is-detail .platform-mail-workspace{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr)}.platform-mail-workspace.is-detail .mail-message-register{display:block;border-right:1px solid var(--line)}.platform-mail-workspace.is-list .mail-message-detail{display:none}.mail-message-detail{min-width:0;max-width:none;margin:0;padding:0 clamp(1rem,3vw,2.5rem) 2rem}.mail-reader-toolbar{position:sticky;z-index:7;top:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin:0 calc(clamp(1rem,3vw,2.5rem) * -1) .5rem;padding:.5rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px)}.mail-reader-toolbar .button{min-height:40px}.mail-message-detail>header{padding:.9rem 0 .75rem;border-bottom:0}.mail-message-detail>header h2{margin:0;font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.2;overflow-wrap:anywhere}.mail-message-detail>header p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .8rem;margin:.6rem 0 0;color:var(--muted);font-size:.84rem}.mail-message-detail>header p strong{min-width:0;color:var(--ink);overflow-wrap:anywhere}.mail-message-detail>header time{white-space:nowrap}.mail-message-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .8rem}.mail-message-actions>.button{min-height:42px}.mail-message-meta{margin:.25rem 0 .75rem;color:var(--muted);font-size:.82rem}.mail-message-meta>summary{cursor:pointer;list-style:none;font-weight:650}.mail-message-meta>summary::-webkit-details-marker{display:none}.mail-message-meta>summary:after{content:' +';font-weight:800}.mail-message-meta[open]>summary:after{content:' −'}.mail-message-meta dl{display:grid;gap:.3rem;margin:.5rem 0 0}.mail-message-meta dl>div{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.5rem}.mail-message-meta dt{font-weight:700}.mail-message-meta dd{min-width:0;margin:0;overflow-wrap:anywhere}.mail-message-body{min-height:10rem;padding:1rem 0;border-top:1px solid var(--line);font-size:1rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.mail-attachments{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.mail-attachments h3{margin:0 0 .6rem;font-size:.95rem}.mail-attachments ol{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.mail-attachments li{display:flex;justify-content:space-between;gap:1rem}.mail-attachments li span{color:var(--muted);font-size:.8rem}.mail-more-actions{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}.mail-more-actions>summary{list-style:none}.mail-more-actions>summary::-webkit-details-marker{display:none}.mail-more-actions>div{display:grid;gap:.8rem;margin-top:.8rem;padding:1rem;border-radius:var(--radius-lg);background:var(--surface-soft)}.mail-secondary-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.mail-secondary-action>label{display:grid;gap:.35rem;min-width:0}.mail-secondary-action select,.mail-secondary-action input{min-width:0}.mail-technical-meta{display:flex;flex-wrap:wrap;gap:1rem;margin:0}.mail-technical-meta>div{display:flex;gap:.35rem}.mail-technical-meta dt{color:var(--muted)}.mail-technical-meta dd{margin:0}.mail-delete-dialog{width:min(26rem,calc(100% - 2rem));padding:0;border:0;border-radius:var(--radius-lg);box-shadow:0 1.5rem 5rem rgba(24,31,23,.28)}.mail-delete-dialog::backdrop{background:rgba(22,28,21,.55)}.mail-delete-dialog form{display:grid;gap:.75rem;padding:1.25rem}.mail-delete-dialog h2,.mail-delete-dialog p{margin:0}.mail-delete-dialog .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.4rem}.mail-delete-dialog .button{width:100%}.mail-compose-dialog form{overflow:auto}.mail-compose-dialog textarea{line-height:1.55}
@media(max-width:61.99rem){.platform-mail-workspace.is-detail{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr)}}
@media(max-width:47.99rem){.mail-command-bar{position:sticky;top:64px;grid-template-columns:minmax(0,1fr) auto;margin:-.65rem -.35rem .55rem;padding:.35rem;border-radius:.8rem}.mail-command-actions{gap:.25rem}.mail-command-actions .button{min-width:auto;padding-inline:.65rem}.mail-folder-picker>nav{position:fixed;inset:4.5rem .5rem auto;width:auto;max-height:calc(100dvh - 5rem)}.platform-mail-workspace{margin-inline:-.35rem;border-radius:.8rem}.platform-mail-workspace.is-detail{display:block}.platform-mail-workspace.is-detail .mail-message-register{display:none}.platform-mail-workspace.is-detail .mail-message-detail{display:block}.mail-message-register>header{grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.55rem}.mail-list-search input{width:100%;min-height:42px}.mail-message-register ol{padding:.15rem}.platform-mail-workspace .mail-message-register li a{min-height:56px;padding:.48rem .45rem .48rem .9rem}.mail-list-footer{align-items:stretch;flex-direction:column}.mail-list-footer .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mail-list-footer .button{width:100%;min-height:44px}.mail-message-detail{padding:0 1rem 1.5rem}.mail-reader-toolbar{top:64px;margin:0 -1rem .35rem;padding:.4rem .65rem}.mail-reader-toolbar .button{min-height:44px}.mail-message-detail>header{padding-top:.75rem}.mail-message-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mail-message-actions>.button{width:100%}.mail-message-meta dl>div{grid-template-columns:minmax(0,1fr)}.mail-message-body{min-height:7rem}.mail-attachments li{display:grid;gap:.15rem}.mail-secondary-action{grid-template-columns:minmax(0,1fr)}.mail-secondary-action .button{width:100%}.mail-compose-dialog{margin:0;max-width:none;border-radius:0}.mail-compose-dialog form{box-sizing:border-box;height:100dvh;min-height:0}.mail-compose-dialog textarea{min-height:10rem}.mail-compose-dialog footer{position:sticky;bottom:0;background:var(--surface)}}
@media(max-width:22.5rem){.mail-command-actions .button-quiet{display:none}.mail-message-actions,.mail-list-footer .action-row,.mail-delete-dialog .action-row{grid-template-columns:minmax(0,1fr)}}
.mail-folder-picker>summary{grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.3rem .55rem;list-style:revert}.mail-folder-picker>summary::-webkit-details-marker{display:initial}.mail-folder-label{color:var(--muted);font-size:.75rem;font-weight:700}.mail-message-meta>summary{list-style:revert}.mail-message-meta>summary::-webkit-details-marker{display:initial}.mail-message-meta>summary:after,.mail-message-meta[open]>summary:after{content:none}.mail-saved-marker{display:inline-flex;width:auto;height:auto;padding:.18rem .4rem;border-radius:999px;font-size:.66rem;font-weight:750;white-space:nowrap}

.credential-heading{align-items:flex-start}.credential-create{max-width:34rem}.credential-create[open]{width:min(34rem,100%)}.credential-form,.credential-reveal-form,.credential-archive form{display:grid;gap:1rem;margin-top:1rem}.credential-form label,.credential-reveal-form label,.credential-archive label{display:grid;gap:.35rem}.credential-form small,.form-hint{color:var(--muted);font-size:.88rem;margin:0}.credential-workspace{display:grid;gap:1.25rem;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.7fr);margin-top:1rem}.credential-register,.credential-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:1.1rem}.credential-register ol,.credential-history ol{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.credential-register a{border:1px solid transparent;border-radius:.7rem;color:var(--text);display:grid;gap:.2rem;padding:.8rem;text-decoration:none}.credential-register a:hover,.credential-register a:focus-visible,.credential-register a.is-active{background:var(--surface-soft);border-color:var(--line)}.credential-register span,.credential-detail header p,.credential-history span{color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}.credential-detail>header{display:grid;gap:.35rem}.credential-detail>header h2,.credential-detail>header p{margin:0}.credential-detail .status-pill{justify-self:start}.credential-reveal,.credential-edit,.credential-archive,.credential-history,.credential-reveal-form{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.credential-secret{align-items:end;display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto;margin-top:.8rem}.credential-secret label{grid-column:1/-1;font-weight:700}.credential-secret input,.credential-secret textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-width:0}.credential-history li{border-left:3px solid var(--line);display:grid;gap:.15rem;padding:.35rem 0 .35rem .8rem}.credential-history p{margin:.25rem 0 0;overflow-wrap:anywhere}.credential-edit>summary,.credential-archive>summary{cursor:pointer}.credential-archive .button-danger{justify-self:start}.credential-detail .check-row,.credential-form .check-row,.credential-archive .check-row{align-items:flex-start;display:flex;gap:.6rem}.credential-detail .check-row input,.credential-form .check-row input,.credential-archive .check-row input{margin-top:.2rem}.credential-reveal .notice{margin-top:.75rem}
@media(max-width:61.99rem){.credential-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:47.99rem){.credential-heading{align-items:stretch}.credential-create,.credential-create[open]{max-width:none;width:100%}.credential-create>summary,.credential-form .button,.credential-reveal-form .button,.credential-archive .button{width:100%}.credential-secret{align-items:stretch;grid-template-columns:minmax(0,1fr)}.credential-secret label{grid-column:auto}.credential-secret .button{width:100%}}
.finance-due-cockpit{display:grid;gap:1.25rem;margin-top:2rem}.finance-due-aging-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-due-cockpit .finance-source-chart{margin:0}.finance-due-drilldown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem}.finance-due-drilldown>summary{cursor:pointer;font-weight:750;min-height:2.75rem;padding:.65rem}.finance-due-table td strong,.finance-due-table td small{display:block}.finance-due-table td small{color:var(--muted);margin-top:.25rem}.finance-due-form{min-width:min(42rem,80vw)}.finance-due-form textarea{min-height:6rem}.finance-due-form input,.finance-due-form select,.finance-due-form textarea,.finance-due-form button,.finance-due-form summary{min-height:44px}.finance-due-form label{min-width:0}.finance-due-form input,.finance-due-form select,.finance-due-form textarea{width:100%}
@media(max-width:61.99rem){.finance-due-aging-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:47.99rem){.finance-due-form{min-width:0;width:100%}.finance-due-drilldown .table-scroll{max-width:100%;min-width:0;overflow:visible}.finance-due-drilldown .table-scroll .finance-due-table,.finance-due-table tbody,.finance-due-table tr,.finance-due-table td{display:block;max-width:100%;min-width:0;width:100%}.finance-due-table thead{display:none}.finance-due-table tr{border-bottom:1px solid var(--line);padding:1rem 0}.finance-due-table td{border:0;display:grid;gap:.2rem;overflow-wrap:anywhere;padding:.45rem 0}.finance-due-table td::before{color:var(--muted);content:attr(data-label);font-size:.78rem;font-weight:750;text-transform:uppercase}.finance-due-table td:last-child details,.finance-due-table td:last-child details>summary{max-width:100%;width:100%}.finance-due-metrics{grid-template-columns:minmax(0,1fr)}}

.deposit-overview,.deposit-register,.deposit-review-column>section,.deposit-review-column>details,.deposit-detail,.deposit-pending{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1rem,2vw,1.5rem)}.deposit-summary{display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr));margin:1rem 0}.deposit-summary div{background:var(--surface-soft);border-radius:var(--radius-md);padding:.8rem}.deposit-summary dt{color:var(--muted);font-size:.82rem}.deposit-summary dd{font-size:1.25rem;font-weight:750;margin:.2rem 0 0}.deposit-layout{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.5fr) minmax(19rem,.8fr)}.deposit-review-column{display:grid;gap:1rem}.deposit-account-list,.deposit-candidate-list{display:grid;gap:.75rem;list-style:none;margin:1rem 0 0;padding:0}.deposit-account-list article,.deposit-candidate-list article{border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem}.deposit-account-list article{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(17rem,.9fr)}.deposit-account-list h3{margin:.35rem 0}.deposit-account-list dl{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.deposit-account-list dl div{border-bottom:1px solid var(--line);display:flex;gap:.75rem;justify-content:space-between;padding:.25rem 0}.deposit-account-list dd{font-weight:700;margin:0}.deposit-candidate-list article>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.deposit-candidate-list form,.deposit-manual-form{display:grid;gap:.75rem}.deposit-candidate-list label,.deposit-manual-form label{display:grid;gap:.3rem}.deposit-pending{margin-top:1.25rem}.status-review{background:var(--color-brand-yellow,#f0bc02);color:var(--text)}
@media(max-width:61.99rem){.deposit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.deposit-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:47.99rem){.deposit-account-list article{grid-template-columns:minmax(0,1fr)}.deposit-account-list dl{grid-template-columns:minmax(0,1fr)}.deposit-candidate-list .button,.deposit-manual-form .button{width:100%}}
.membership-fee-overview{margin-block:1.25rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.membership-fee-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.membership-fee-summary div{padding:.85rem;border-radius:var(--radius-md);background:var(--surface-soft)}.membership-fee-summary dt{font-size:.82rem;color:var(--muted)}.membership-fee-summary dd{margin:.2rem 0 0;font-size:1.35rem;font-weight:750}
.membership-fee-list{display:grid;gap:.65rem;padding:0;list-style:none}.membership-fee-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md)}.membership-fee-list h3{margin:.35rem 0 .2rem}.membership-fee-list p{margin:0}.membership-fee-actions{flex:0 0 auto}
@media (max-width:700px){.membership-fee-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-fee-list article{align-items:stretch;flex-direction:column}.membership-fee-actions .button{width:100%}}

.privacy-notice-gate{max-width:72rem;margin-inline:auto}.privacy-notice-gate form{display:grid;gap:1.25rem}.privacy-notice-document{display:grid;gap:1rem}.privacy-notice-document>header h2{margin:.5rem 0 .25rem}.privacy-notice-document>header p{margin:0;color:var(--muted)}.privacy-notice-scroll{max-height:min(58vh,38rem);overflow:auto;padding:clamp(.85rem,2vw,1.35rem);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);scrollbar-gutter:stable}.privacy-notice-scroll section+section{margin-top:1.25rem}.privacy-notice-scroll h3{margin:0 0 .45rem;font-size:1.05rem}.privacy-notice-scroll p{margin:.45rem 0;line-height:1.58}.privacy-notice-document .check-row,.stack-form .check-row{display:flex;align-items:flex-start;gap:.65rem}.privacy-notice-document .check-row input,.stack-form .check-row input{flex:0 0 auto;margin-top:.25rem}.stack-form{display:grid;gap:.8rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.stack-form>label:not(.check-row){display:grid;gap:.35rem}.stack-form textarea{min-height:6rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1rem}.detail-list>div{display:grid;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.detail-list dd{margin:0;overflow-wrap:anywhere}
@media(max-width:47.99rem){.privacy-notice-scroll{max-height:none}.privacy-notice-gate .form-actions .button,.stack-form .button{width:100%}}
.privacy-notice-gate h1,.privacy-notice-gate h2,.privacy-notice-management h1,.privacy-notice-management h2{min-width:0;overflow-wrap:anywhere}
.profile-verification-gate{max-width:72rem;margin-inline:auto}.profile-verification-gate form{display:grid;gap:1.25rem}.profile-section{display:grid;gap:1rem}.profile-section h2,.profile-section h3{margin:0}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-fields label,.child-card label{display:grid;gap:.35rem}.family-mode{display:grid;gap:.65rem;border:0;padding:0}.family-mode label{align-items:flex-start;display:flex;gap:.65rem}.profile-subsection{border-top:1px solid var(--line);display:grid;gap:1rem;padding-top:1rem}.profile-subsection[hidden]{display:none}.child-card{border:1px solid var(--line);border-radius:var(--radius-md);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 .8rem;padding:1rem}.profile-confirm{align-items:flex-start;display:flex;gap:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem}.profile-confirm input{margin-top:.2rem}.profile-verification-gate input,.profile-verification-gate select,.profile-verification-gate button{min-height:44px}
@media(max-width:47.99rem){.profile-fields,.child-card{grid-template-columns:minmax(0,1fr)}.profile-verification-gate .button{width:100%}.profile-subsection .section-heading{align-items:stretch;display:grid}}

/* Classic mail client: folders, list and reader with compact icon controls. */
.action-icon{display:block;width:1.1rem;height:1.1rem;object-fit:contain}.button-with-icon{align-items:center;display:inline-flex;gap:.5rem}.button-with-icon .action-icon{flex:0 0 auto}
.mail-icon{display:block;width:1.15rem;height:1.15rem;object-fit:contain}.mail-icon-button{align-items:center;appearance:none;background:transparent;border:1px solid transparent;border-radius:.65rem;box-sizing:border-box;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;padding:0;text-decoration:none;width:44px}.mail-icon-button:hover,.mail-icon-button:focus-visible{background:var(--surface-soft);border-color:var(--line)}.mail-icon-button.is-primary{background:var(--brand-magenta);border-color:var(--brand-magenta);filter:none}.mail-icon-button.is-primary .mail-icon{filter:brightness(0) invert(1)}.mail-icon-button.is-danger{color:var(--danger)}.mail-icon-button.is-danger:hover,.mail-icon-button.is-danger:focus-visible{background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-color:color-mix(in srgb,var(--danger) 25%,var(--line))}.mail-action-with-icon{align-items:center;display:inline-flex;gap:.55rem}.mail-toolbar-form{display:flex;margin:0}.mail-toolbar-spacer{flex:1 1 auto}.mail-saved-marker{color:var(--ink)}
.mail-outbox-link{min-height:44px;padding-inline:.75rem;text-decoration:none}.mail-outbox-link em{align-items:center;background:var(--brand-magenta);border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-style:normal;font-weight:800;justify-content:center;min-height:1.25rem;min-width:1.25rem;padding:0 .25rem}.mail-saved-title small{color:var(--muted);display:block;font-size:.75rem;margin-top:.1rem}.mail-draft-register>header p{color:var(--muted);max-width:58rem}
.mail-command-bar{grid-template-columns:minmax(0,1fr) auto}.mail-desktop-title{align-items:center;display:flex;gap:.65rem;padding-left:.45rem}.mail-desktop-title strong{font-size:1rem}.mail-folder-picker{display:none}.mail-command-actions .mail-icon-button{height:44px;width:44px}.platform-mail-workspace,.mail-route.is-detail .platform-mail-workspace{display:grid;grid-template-columns:minmax(11.5rem,14rem) minmax(18rem,22rem) minmax(0,1fr)}.platform-mail-workspace.is-list{grid-template-columns:minmax(11.5rem,14rem) minmax(0,1fr)}.mail-folder-rail{background:var(--surface-soft);border-right:1px solid var(--line);min-width:0;padding:.65rem .5rem}.mail-folder-rail section+section{margin-top:.8rem}.mail-folder-rail h2{color:var(--muted);font-size:.7rem;letter-spacing:.045em;margin:.25rem .55rem .35rem;text-transform:uppercase}.mail-folder-rail nav{display:grid;gap:.12rem}.mail-folder-rail a{align-items:center;border-radius:.55rem;color:var(--ink);display:grid;font-size:.87rem;gap:.55rem;grid-template-columns:1.15rem minmax(0,1fr);min-height:42px;padding:.35rem .55rem;text-decoration:none}.mail-folder-rail a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folder-rail a:hover,.mail-folder-rail a:focus-visible,.mail-folder-rail a[aria-current="page"]{background:var(--surface)}.mail-folder-rail a[aria-current="page"]{color:var(--brand-magenta);font-weight:750}.platform-mail-workspace.is-detail .mail-message-register{border-right:1px solid var(--line)}.mail-list-search{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:.55rem;display:grid;grid-template-columns:auto minmax(0,1fr);padding-left:.55rem}.mail-list-search input{border:0;box-shadow:none;min-width:0;padding-left:.45rem}.mail-reader-toolbar{display:flex;gap:.18rem;padding-block:.35rem}.mail-reader-toolbar .mail-icon-button{height:44px;width:44px}.mail-reader-toolbar .mail-detail-back{display:none}.mail-delete-action{display:flex}.mail-more-actions{align-items:flex-start;border-top:0;display:flex;flex-direction:column;margin-top:.5rem;padding-top:0;position:relative}.mail-more-actions>summary{align-self:flex-end;list-style:none}.mail-more-actions>summary::-webkit-details-marker{display:none}.mail-more-actions>div{border:1px solid var(--line);box-shadow:0 12px 32px rgba(25,35,24,.12);margin-top:.35rem;width:min(28rem,100%)}.mail-secondary-action{grid-template-columns:minmax(0,1fr) auto}.mail-list-footer .action-row{display:flex}.mail-list-footer .mail-icon-button{height:40px;width:40px}
@media(max-width:74rem){.platform-mail-workspace,.mail-route.is-detail .platform-mail-workspace{grid-template-columns:minmax(10.5rem,12.5rem) minmax(16rem,19rem) minmax(0,1fr)}.platform-mail-workspace.is-list{grid-template-columns:minmax(10.5rem,12.5rem) minmax(0,1fr)}}
@media(max-width:61.99rem){.mail-desktop-title{display:none}.mail-folder-rail{display:none}.mail-folder-picker{display:block}.platform-mail-workspace,.mail-route.is-detail .platform-mail-workspace{grid-template-columns:minmax(16rem,20rem) minmax(0,1fr)}.platform-mail-workspace.is-list{grid-template-columns:minmax(0,1fr)}.mail-reader-toolbar .mail-detail-back{display:inline-flex}}
@media(max-width:47.99rem){.mail-command-bar{grid-template-columns:minmax(0,1fr) auto}.mail-folder-picker>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;list-style:none}.mail-folder-picker>summary::-webkit-details-marker{display:none}.mail-folder-picker .mail-folder-chevron{transition:transform .15s}.mail-folder-picker[open] .mail-folder-chevron{transform:rotate(90deg)}.mail-folder-picker>nav{inset:7.75rem .5rem auto}.platform-mail-workspace,.mail-route.is-detail .platform-mail-workspace,.platform-mail-workspace.is-list{display:block}.mail-reader-toolbar{overflow-x:auto;padding-inline:.55rem}.mail-reader-toolbar .mail-icon-button{height:44px;min-width:44px}.mail-message-detail>header h2{font-size:1.25rem}.mail-more-actions>div{box-sizing:border-box;width:100%}}
@media(min-width:62rem){.platform-mail-workspace{height:calc(100dvh - 10.75rem);min-height:30rem;max-height:60rem}.platform-mail-workspace>*{min-height:0;max-height:100%}.platform-mail-workspace .mail-folder-rail,.platform-mail-workspace .mail-message-register,.platform-mail-workspace .mail-message-detail{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.mail-message-register>header{position:sticky;z-index:5;top:0}.mail-list-footer{position:sticky;z-index:5;bottom:0}.mail-message-detail .mail-reader-toolbar{top:0}}
.mail-saved-command-bar{margin-bottom:.75rem}.mail-saved-title{align-items:center;display:flex;gap:.65rem;min-width:0;padding-left:.45rem}.mail-saved-title h1{font-size:1.05rem;margin:0}.mail-saved-reader-toolbar{position:static;margin:.25rem 0 .75rem;padding:.25rem 0}.mail-search{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:.55rem;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));margin:.75rem 0;padding:.65rem}.mail-search label{font-size:.75rem;gap:.2rem;min-width:0}.mail-search input,.mail-search select{min-height:40px;min-width:0;width:100%}.mail-search .button{min-height:40px}.mail-page-heading+button[hidden]+.notice,.mail-saved-command-bar+.notice{margin-top:0}
@media(max-width:74rem){.mail-search{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-search label:first-of-type{grid-column:1/-1}}
@media(max-width:47.99rem){.mail-saved-command-bar{margin-inline:-.35rem}.mail-search{grid-template-columns:minmax(0,1fr);margin-inline:-.35rem}.mail-search label:first-of-type{grid-column:auto}.mail-search .button{width:100%}}
/* Mail reader refresh: keep actions, identity, content and attachments in one compact reading flow. */
.mail-message-detail {
    align-content: start;
    display: block;
}
.mail-reader-toolbar {
    align-items: center;
    display: flex;
    gap: .18rem;
    min-height: 52px;
}
.mail-reader-heading {
    align-items: stretch;
    display: grid !important;
    gap: .42rem;
    padding: .9rem 0 .75rem !important;
}
.mail-reader-heading h2 {
    letter-spacing: -.015em;
}
.mail-sender-line {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .2rem .8rem;
    justify-content: space-between;
    min-width: 0;
}
.mail-sender-line strong {
    min-width: 0;
    overflow-wrap: anywhere;
}
.mail-sender-line time {
    color: var(--muted);
    flex: 0 0 auto;
    font-size: .8rem;
    white-space: nowrap;
}
.mail-message-meta {
    color: var(--muted);
    font-size: .8rem;
    margin: 0;
    min-width: 0;
}
.mail-message-meta > summary {
    align-items: center;
    cursor: pointer;
    display: inline-grid;
    gap: .25rem;
    grid-template-columns: minmax(0,auto) 1rem;
    list-style: none;
    max-width: 100%;
}
.mail-message-meta > summary::-webkit-details-marker {
    display: none;
}
.mail-message-meta > summary span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mail-message-meta > summary .mail-icon {
    height: .9rem;
    transform: rotate(90deg);
    transition: transform .15s ease;
    width: .9rem;
}
.mail-message-meta[open] > summary .mail-icon {
    transform: rotate(-90deg);
}
.mail-message-meta dl {
    border-left: 2px solid var(--line);
    padding-left: .65rem;
}
.mail-message-body {
    border-top: 1px solid var(--line);
    font-size: 1rem;
    line-height: 1.58;
    min-height: 0;
    overflow-wrap: anywhere;
    padding: 1rem 0 .5rem;
    white-space: pre-wrap;
}
.mail-attachments {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    margin: 1rem 0 0;
    padding: .85rem 0 0;
}
.mail-attachments h3 {
    align-items: center;
    display: flex;
    gap: .42rem;
    margin: 0 0 .55rem;
}
.mail-attachments li {
    align-items: center;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: .75rem;
    display: grid;
    gap: .65rem;
    grid-template-columns: 1.15rem minmax(0,1fr);
    justify-content: start;
    min-height: 58px;
    padding: .55rem .7rem;
}
.mail-attachments li > span {
    display: grid;
    gap: .12rem;
    min-width: 0;
}
.mail-attachments li strong,
.mail-attachments li small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mail-attachments li small {
    color: var(--muted);
    font-size: .75rem;
}
.mail-reader-toolbar .mail-more-actions {
    align-items: initial;
    border: 0;
    display: block;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    position: relative;
}
.mail-reader-toolbar .mail-more-actions > summary {
    align-self: auto;
}
.mail-reader-toolbar .mail-more-actions > div {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: 0 14px 36px rgba(25,35,24,.18);
    box-sizing: border-box;
    display: grid;
    gap: .75rem;
    margin: .35rem 0 0;
    padding: .8rem;
    position: absolute;
    right: 0;
    top: 100%;
    width: min(28rem,calc(100vw - 2rem));
    z-index: 20;
}
.mail-reader-toolbar .mail-secondary-action {
    padding-bottom: .65rem;
}
.mail-reader-toolbar .mail-secondary-action:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}
.mail-context-menu {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: .7rem;
    box-shadow: 0 16px 42px rgba(25,35,24,.2);
    display: grid;
    max-height: min(28rem,calc(100dvh - 1rem));
    max-width: calc(100vw - 1rem);
    min-width: min(15rem,calc(100vw - 1rem));
    overflow-y: auto;
    padding: .35rem;
    position: fixed;
    width: max-content;
    z-index: 120;
}
.mail-context-menu[hidden] {
    display: none;
}
.mail-context-menu > button {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: .5rem;
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-weight: 650;
    min-height: 44px;
    padding: .55rem .75rem;
    text-align: left;
    width: 100%;
}
.mail-context-menu > button:hover,
.mail-context-menu > button:focus-visible {
    background: var(--surface-soft);
}
.mail-context-menu > button.is-danger {
    color: var(--danger);
}

@media(max-width:47.99rem) {
    .platform-mail-workspace {
        overflow: visible;
    }
    .mail-message-detail {
        padding: 0 .85rem 1.1rem;
    }
    .mail-reader-toolbar {
        height: 52px;
        margin: 0 -.85rem;
        max-height: 52px;
        min-height: 52px;
        overflow: visible;
        padding: .25rem .4rem;
        top: calc(64px + 3.9rem);
    }
    .mail-reader-toolbar .mail-icon-button {
        height: 44px;
        min-width: 44px;
        width: 44px;
    }
    .mail-reader-heading {
        padding-top: .8rem !important;
    }
    .mail-reader-heading h2 {
        font-size: 1.22rem;
        line-height: 1.25;
    }
    .mail-sender-line {
        align-items: flex-start;
        display: grid;
        gap: .2rem;
    }
    .mail-message-meta > summary {
        width: 100%;
    }
    .mail-message-meta > summary span {
        max-width: calc(100vw - 4rem);
    }
    .mail-message-body {
        font-size: .98rem;
        line-height: 1.55;
        padding-top: .9rem;
    }
    .mail-reader-toolbar .mail-more-actions > div {
        right: -.15rem;
    }
}

@media(max-width:22.5rem) {
    .mail-reader-toolbar {
        gap: 0;
        padding-inline: .1rem;
    }
}

@media(max-width:700px){.board-work-queue .section-heading,.board-next-meeting .section-heading{align-items:flex-start;flex-direction:row}.board-work-queue .section-heading>span{align-self:flex-start;flex:0 0 28px;min-width:28px;width:28px}}
.pwa-install-dialog{border:0;border-radius:1rem;box-shadow:0 1.5rem 5rem rgba(24,31,23,.28);max-height:min(90dvh,42rem);max-width:36rem;padding:0;width:calc(100% - 2rem)}.pwa-install-dialog::backdrop{background:rgba(22,28,21,.55)}.pwa-install-dialog-body{display:grid;gap:1rem;padding:1.25rem}.pwa-install-dialog header,.pwa-install-dialog footer{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.pwa-install-dialog h2,.pwa-install-dialog p{margin:.2rem 0}.pwa-install-steps{display:grid;gap:.75rem;margin:0;padding-left:1.4rem}.pwa-install-steps li{padding-left:.25rem}.pwa-install-steps li strong,.pwa-install-steps li span{display:block}.pwa-install-steps li span{margin-top:.2rem}.pwa-install-dialog footer{border-top:1px solid var(--line);padding-top:1rem}.pwa-install-dialog footer .button{margin-left:auto}@media(max-width:35rem){.pwa-install-dialog{height:100dvh;max-height:none;width:100%;border-radius:0}.pwa-install-dialog-body{min-height:100%;box-sizing:border-box}.pwa-install-dialog header{align-items:flex-start}.pwa-install-dialog footer{margin-top:auto}.pwa-install-dialog footer .button{width:100%}}

/* 2026 Rhythm Board: modern shell with a reversible, CSS-led visual layer. */
:root {
    --rhythm-forest: #173f35;
    --rhythm-forest-deep: #10342c;
    --rhythm-cream: #fbf7ef;
    --rhythm-magenta-soft: #f7e9f0;
    --rhythm-sage-soft: #edf2e8;
    --rhythm-ochre-soft: #f6eedb;
}

.app-frame { grid-template-columns: 236px minmax(0, 1fr); background: var(--rhythm-cream); }
.app-sidebar {
    padding: 24px 16px 18px;
    border-right: 0;
    background: var(--rhythm-forest);
    color: #fff;
}
.brand-lockup { min-height: 70px; gap: 12px; padding: 0 8px 24px; color: #fff; }
.brand-lockup img { width: 54px; height: 54px; padding: 3px; border-radius: 50%; background: #fff; }
.brand-lockup strong { font-size: .94rem; line-height: 1.2; }
.brand-lockup small { color: rgba(255,255,255,.72); }
.primary-nav { gap: 3px; }
.nav-group { border-color: rgba(255,255,255,.13); }
.nav-group-label,
.nav-group-label::after { color: rgba(255,255,255,.58); }
.nav-group-label small { background: rgba(255,255,255,.11); color: #fff; }
.nav-item {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    justify-content: stretch;
    min-height: 44px;
    padding: 9px 11px;
    border-radius: 9px;
    color: rgba(255,255,255,.85);
    font-size: .88rem;
    font-weight: 640;
}
.nav-item-icon { width: 22px; height: 22px; display: grid; place-items: center; }
.nav-item-icon img { width: 19px; height: 19px; filter: brightness(0) invert(1); opacity: .76; }
a.nav-item:hover { background: rgba(255,255,255,.1); color: #fff; }
.nav-item.is-active { background: #fff; color: var(--rhythm-forest); box-shadow: none; }
.nav-item.is-active::before { display: none; }
.nav-item.is-active .nav-item-icon img { filter: none; opacity: .82; }
.nav-item.is-disabled { color: rgba(255,255,255,.42); }
.nav-item small { background: rgba(255,255,255,.12); color: inherit; }
.sidebar-foot { border-color: rgba(255,255,255,.16); color: rgba(255,255,255,.6); }
.sidebar-foot .button-quiet { border-color: rgba(255,255,255,.22); color: #fff; }

.app-workspace { background: var(--rhythm-cream); }
.workspace-topbar {
    height: 72px;
    gap: 22px;
    padding: 0 clamp(22px,3.2vw,48px);
    border-color: #e7e1d6;
    background: rgba(251,247,239,.95);
}
.workspace-context span { color: #66685f; }
.workspace-context strong { font-size: .96rem; }
.topbar-page-search {
    width: min(440px,42vw);
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    padding: 8px 14px;
    border: 1px solid #ddd8ce;
    border-radius: 999px;
    background: #fff;
    color: #6b6e66;
    cursor: pointer;
    text-align: left;
}
.topbar-page-search:hover { border-color: #b9b7ad; }
.topbar-page-search .action-icon { width: 18px; height: 18px; opacity: .68; }
.topbar-page-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions { margin-left: 0; }
.language-switch { border: 0; background: #ede9e1; }
.language-switch button[aria-current="true"] { color: var(--rhythm-forest); box-shadow: none; }
.account-summary,
.icon-button { width: 44px; height: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid #ded9cf; border-radius: 50%; background: #fff; color: var(--rhythm-forest); }
.account-summary { margin-left: 2px; }
.account-summary .action-icon,
.icon-button .action-icon { width: 19px; height: 19px; }
.topbar-logout .icon-button {
    position: relative;
    width: 38px;
    height: 38px;
    min-height: 38px;
    border-radius: 11px;
}
.topbar-logout .icon-button::after { content: ""; position: absolute; inset: -3px; }
.workspace-main { width: min(1380px,100%); padding: 44px clamp(30px,4.4vw,72px) 72px; }

body[data-navigation-experience="board"] .page-heading { margin-bottom: 34px; }
body[data-navigation-experience="board"] .page-heading .eyebrow { color: var(--brand-magenta); }
body[data-navigation-experience="board"] .page-heading h1 {
    margin: 6px 0 4px;
    font-family: "Trebuchet MS", system-ui, sans-serif;
    font-size: clamp(3rem,6vw,5.8rem);
    font-weight: 900;
    letter-spacing: -.065em;
    line-height: .95;
    text-transform: uppercase;
}
body[data-navigation-experience="board"] .page-heading p { margin: 12px 0 0; color: var(--muted); font-size: 1.05rem; }

.board-page-finder { margin: -16px 0 30px; border: 0; background: transparent; }
.board-page-finder > summary { width: max-content; margin-left: auto; color: var(--rhythm-forest); font-size: .84rem; }
.board-page-finder:not([open]) > summary { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.board-page-finder[open] { padding: 20px; border: 1px solid #ded9cf; border-radius: 18px; background: #fff; }
.board-page-finder[open] > summary { margin: -8px 0 12px auto; }
.board-work-queue { margin: 0 0 28px; padding: 24px; border: 1px solid #ded9cf; background: rgba(255,255,255,.82); }
.board-queue-heading { margin-bottom: 12px; align-items: flex-start; }
.board-queue-heading > div { min-width: 0; }
.board-queue-heading h2 { margin: 2px 0 4px; }
.board-queue-heading p { margin: 0; max-width: 66ch; color: var(--muted); }
.board-queue-heading > span { flex: 0 0 auto; min-width: 32px; height: 32px; display: grid; place-items: center; border-radius: 999px; background: var(--rhythm-sage-soft); color: var(--rhythm-forest); font-weight: 850; }
.board-priority-list { margin: 0; padding: 0; border-top: 1px solid rgba(23,63,53,.13); }
.board-priority-list .board-queue-item { list-style: none; }
.board-priority-list .board-queue-item.is-urgent { margin-inline: -12px; padding-inline: 12px; background: var(--rhythm-magenta-soft); border-radius: 12px; }
.board-priority-list-secondary { margin-top: 2px; }
.board-queue-lane {
    margin: 0 0 24px;
    padding: 22px 24px 10px;
    border: 0;
    border-radius: 18px;
    background: var(--rhythm-sage-soft);
}
.board-queue-lane[data-board-queue-lane="now"] { background: var(--rhythm-magenta-soft); }
.board-queue-lane[data-board-queue-lane="waiting"] { background: var(--rhythm-ochre-soft); }
.board-lane-heading { margin: 0 0 6px; }
.board-lane-heading > div { display: flex; align-items: center; gap: 10px; }
.board-queue-lane .board-lane-heading h3 { color: var(--rhythm-forest); font-size: .8rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.board-queue-lane[data-board-queue-lane="now"] .board-lane-heading h3 { color: var(--brand-magenta); }
.board-queue-lane[data-board-queue-lane="waiting"] .board-lane-heading h3 { color: #8d6320; }
.board-lane-heading span { min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.72); color: var(--rhythm-forest); font-size: .72rem; font-weight: 800; }
.board-queue-lane .work-list li.board-queue-item {
    min-height: 0;
    display: block;
    padding: 0;
    border-bottom: 0;
}
.board-queue-link {
    min-height: 76px;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 13px 0;
    border-color: rgba(23,63,53,.13);
    color: var(--ink);
    text-decoration: none;
}
.board-priority-list .board-queue-link { min-height: 72px; }
.board-queue-lane .work-list li.board-queue-item:last-child { border-bottom: 0; }
.board-queue-item + .board-queue-item { border-top: 1px solid rgba(23,63,53,.13); }
.board-queue-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.82); }
.board-queue-icon .action-icon { width: 22px; height: 22px; }
.board-queue-lane[data-board-queue-lane="now"] .board-queue-icon .action-icon { filter: invert(31%) sepia(30%) saturate(1859%) hue-rotate(282deg) brightness(82%); }
.board-queue-copy { min-width: 0; display: grid; gap: 3px; }
.board-queue-copy strong,
.board-queue-copy small { display: block; }
.board-queue-copy strong { font-size: 1rem; }
.board-queue-link:hover .board-queue-copy strong { color: var(--brand-magenta); text-decoration: underline; text-underline-offset: 3px; }
.board-queue-copy small { color: var(--muted); }
.board-queue-action { align-items: center; color: var(--accent-strong); display: inline-flex; font-size: .88rem; font-weight: 800; gap: 5px; justify-self: end; white-space: nowrap; }
.board-queue-action .action-icon { height: 17px; width: 17px; }
.board-queue-more { margin: 4px 0 28px; border: 0; }
.board-queue-more summary { width: max-content; padding-inline: 2px; }
.board-queue-lane-secondary { margin-top: 12px; }
.board-next-meeting,
.board-attendance { border-color: #ded9cf; background: rgba(255,255,255,.72); box-shadow: none; }
.meeting-facts div { background: #f5f1e9; }
.pwa-runtime-status { left: auto; right: 1rem; transform: none; max-width: min(92vw,32rem); border-radius: 14px; }

@media (max-width: 1100px) {
    .topbar-page-search { width: min(360px,38vw); }
}

@media (max-width: 980px) {
    .app-sidebar { width: 280px; }
    .topbar-page-search { width: min(480px,55vw); margin-left: 0; }
    .workspace-topbar { justify-content: flex-start; }
    .topbar-actions { margin-left: auto; }
}

@media (max-width: 720px) {
    .workspace-topbar { height: 66px; padding-inline: 14px; gap: 10px; }
    .topbar-page-search { width: 44px; min-width: 44px; min-height: 44px; justify-content: center; padding: 0; }
    .topbar-page-search span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .workspace-main { padding: 30px 18px 52px; }
    .preview-badge { width: max-content; justify-self: start; }
    body[data-navigation-experience="board"] .page-heading { margin-bottom: 26px; }
    body[data-navigation-experience="board"] .page-heading h1 { font-size: clamp(2.85rem,15vw,4.1rem); overflow-wrap: normal; }
    body[data-navigation-experience="board"] .page-heading p { font-size: .98rem; }
    .board-page-finder { margin-top: -10px; }
    .board-queue-lane { margin-inline: -4px; padding: 18px 16px 8px; border-radius: 15px; }
    .board-queue-link { grid-template-columns: 42px minmax(0,1fr) 22px; gap: 11px; min-height: 70px; }
    .board-queue-icon { width: 42px; height: 42px; }
    .board-queue-action { grid-column: 2 / 4; justify-self: start; margin-top: -1px; white-space: normal; }
    .meeting-facts { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .language-switch button { min-width: 44px; }
    .board-queue-link { grid-template-columns: 38px minmax(0,1fr) 20px; }
    .board-queue-icon { width: 38px; height: 38px; }
    .board-queue-icon .action-icon { width: 19px; height: 19px; }
}

/* Rhythm Board complete: one visual system across registers, forms, workflows and utilities. */
:root {
    --rhythm-line: #ded8cd;
    --rhythm-line-strong: #c9c2b6;
    --rhythm-surface: #fffdf9;
    --rhythm-surface-strong: #ffffff;
    --rhythm-ink-soft: #66685f;
    --rhythm-focus-ring: 0 0 0 3px rgba(31,102,138,.22);
}

.workspace-main > * { min-width: 0; }
.workspace-main > :last-child { margin-bottom: 0; }
.workspace-context span { color: #5f625a; }

body[data-navigation-experience="board"] .page-heading,
body[data-navigation-experience="board"] .workspace-header {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}
body[data-navigation-experience="board"] .page-heading > div,
body[data-navigation-experience="board"] .workspace-header > div { min-width: 0; }
body[data-navigation-experience="board"] .page-heading h1,
body[data-navigation-experience="board"] .workspace-header h1 {
    max-width: 18ch;
    margin: 6px 0 8px;
    font-family: "Trebuchet MS", system-ui, sans-serif;
    font-size: clamp(3rem,5.2vw,5rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .96;
    text-wrap: balance;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
body[data-navigation-experience="board"] .page-heading p,
body[data-navigation-experience="board"] .workspace-header p {
    max-width: 68ch;
    margin: 12px 0 0;
    color: var(--rhythm-ink-soft);
    font-size: 1.03rem;
    line-height: 1.55;
}
body[data-navigation-experience="board"] .page-heading .eyebrow,
body[data-navigation-experience="board"] .workspace-header .eyebrow,
.section-heading .eyebrow,
.global-page-finder .eyebrow {
    color: var(--brand-magenta);
    font-weight: 850;
    letter-spacing: .095em;
}
.page-heading-with-action .heading-actions,
.workspace-header > .button,
.workspace-header > .heading-actions { flex: 0 0 auto; }

/* Permission-aware finder is now a platform control instead of a dashboard-only block. */
.global-page-finder:not([open]) { display: none; }
.global-page-finder[open] {
    position: fixed;
    z-index: 1150;
    inset: 92px max(24px,calc((100vw - 820px) / 2)) auto;
    box-sizing: border-box;
    width: auto;
    max-height: calc(100dvh - 116px);
    margin: 0;
    overflow: auto;
    padding: 26px;
    border: 1px solid var(--rhythm-line);
    border-radius: 20px;
    background: var(--rhythm-surface-strong);
    box-shadow: 0 0 0 100vmax rgba(12,35,29,.48), 0 24px 70px rgba(12,35,29,.24);
}
.global-page-finder > summary {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--rhythm-line);
    border-radius: 50%;
    background: #fff;
    color: var(--rhythm-forest);
    cursor: pointer;
    list-style: none;
}
.global-page-finder > summary::-webkit-details-marker { display: none; }
.global-page-finder > summary > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.global-page-finder > summary .action-icon { width: 19px; height: 19px; }
.global-page-finder-intro { padding-right: 58px; }
.global-page-finder-intro h2 { margin: 5px 0 6px; font-size: clamp(1.75rem,4vw,2.55rem); letter-spacing: -.04em; }
.global-page-finder-intro p { margin: 0 0 22px; color: var(--muted); }
.global-page-finder > label { display: block; margin-bottom: 7px; font-size: .78rem; font-weight: 800; }
.global-page-search-field {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid var(--rhythm-line-strong);
    border-radius: 14px;
    background: var(--rhythm-cream);
}
.global-page-search-field:focus-within { border-color: var(--focus); box-shadow: var(--rhythm-focus-ring); }
.global-page-search-field .action-icon { width: 20px; height: 20px; opacity: .62; }
.global-page-search-field input { min-width: 0; min-height: 48px; padding: 0; border: 0; outline: 0; background: transparent; font: inherit; }
.global-page-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
.global-page-results a {
    min-height: 54px;
    display: grid;
    grid-template-columns: minmax(0,1fr) 20px;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border: 1px solid var(--rhythm-line);
    border-radius: 12px;
    background: var(--rhythm-sage-soft);
    color: var(--ink);
    font-weight: 750;
    text-decoration: none;
}
.global-page-results a:hover { border-color: var(--brand-magenta); color: var(--brand-magenta); }
.global-page-results .action-icon { width: 17px; height: 17px; opacity: .62; }
.global-page-finder .dashboard-page-status { margin: 14px 0 0; color: var(--muted); font-size: .86rem; }

/* Flat, calm working surfaces replace the legacy stack of unrelated white cards. */
.panel,
.card,
.content-card,
.surface-card,
.account-panel,
.workspace-panel,
.record-inspector,
.person-form-panel,
.governance-section,
.operational-section,
.finance-section,
.app-capability-card,
.setting-state,
.finance-due-drilldown,
.deposit-overview,
.deposit-register,
.deposit-review-column > section,
.deposit-review-column > details,
.deposit-detail,
.deposit-pending,
.membership-fee-overview {
    border-color: var(--rhythm-line);
    background: var(--rhythm-surface);
    box-shadow: none;
}
.panel,
.card,
.content-card,
.surface-card,
.account-panel,
.workspace-panel,
.record-inspector,
.app-capability-card { border-radius: 16px; }
.workspace-panel,
.governance-section,
.operational-section,
.finance-section { padding: clamp(18px,2.2vw,28px); }
.workspace-columns,
.operational-grid,
.board-hub-grid,
.app-settings-grid { gap: 14px; }
.section-heading {
    min-width: 0;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rhythm-line);
}
.section-heading > div { min-width: 0; }
.section-heading h2,
.section-heading h3 { text-wrap: balance; }

/* One action language. */
.button {
    min-height: 44px;
    border-radius: 10px;
    font-weight: 760;
    box-shadow: none;
}
.button-primary { border-color: var(--brand-magenta); background: var(--brand-magenta); color: #fff; }
.button-secondary { border-color: var(--rhythm-forest); background: var(--rhythm-forest); color: #fff; }
.button-quiet { background: transparent; }
.button:hover { transform: none; }
.button:focus-visible,
.filter-button:focus-visible,
.section-tabs a:focus-visible,
.record-tabs a:focus-visible,
.finance-subnav a:focus-visible { box-shadow: var(--rhythm-focus-ring); }
.filter-group { gap: 6px; }
.filter-button { min-height: 42px; padding: 9px 14px; background: #f0ede7; font-weight: 650; }
.filter-button.is-active { background: var(--brand-magenta); }

/* Tabs read as navigation, not a row of unrelated buttons. */
.section-tabs,
.record-tabs,
.finance-subnav,
.self-personnel-tabs,
.personnel-tabs,
.calendar-view-nav,
.account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 22px;
    margin-bottom: 24px;
    padding: 0;
    border-bottom: 1px solid var(--rhythm-line);
}
.section-tabs a,
.record-tabs a,
.finance-subnav a,
.self-personnel-tabs a,
.personnel-tabs a,
.calendar-view-nav a,
.account-tabs a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 10px 0 9px;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-weight: 750;
    text-decoration: none;
}
.section-tabs a.active,
.section-tabs a[aria-current="page"],
.record-tabs a.active,
.record-tabs a[aria-current="page"],
.finance-subnav a.active,
.finance-subnav a[aria-current="page"],
.self-personnel-tabs a.active,
.self-personnel-tabs a[aria-current="page"],
.personnel-tabs a.active,
.personnel-tabs a[aria-current="page"],
.calendar-view-nav a.active,
.calendar-view-nav a[aria-current="page"],
.account-tabs a.active,
.account-tabs a[aria-current="page"] {
    border-color: var(--brand-magenta);
    background: transparent;
    color: var(--ink);
}

/* Registers: stable tools, readable rows and retained detail context. */
.register-workspace {
    min-width: 0;
    overflow: clip;
    border-color: var(--rhythm-line);
    border-radius: 18px;
    background: var(--rhythm-surface-strong);
    box-shadow: none;
}
.asset-workspace.is-list { grid-template-columns: minmax(0,1fr); }
.asset-workspace.is-list .asset-register { padding-right: 0; border-right: 0; }
.asset-tools { grid-template-columns: minmax(0,1fr); align-items: start; }
.asset-tools .register-search { width: min(100%,720px); }
.register-main { min-width: 0; padding: clamp(18px,2.2vw,28px); }
.register-tools,
.filter-bar,
.personnel-register-search,
.finance-register-search {
    min-width: 0;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid var(--rhythm-line);
    border-radius: 14px;
    background: var(--rhythm-surface);
}
.register-tools { gap: 14px; }
.register-search input,
.filter-bar input,
.filter-bar select,
.personnel-register-search input,
.personnel-register-search select,
.finance-register-search input,
.finance-register-search select { background: #fff; }
.result-count { margin: 0; color: var(--muted); font-size: .84rem; }
.table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; }
.table-scroll table,
.data-table { width: 100%; min-width: 0; border-collapse: collapse; }
.data-table th,
.table-scroll th {
    padding: 12px 10px;
    color: var(--rhythm-ink-soft);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.data-table td,
.table-scroll td { padding: 15px 10px; border-color: var(--rhythm-line); }
.data-table tbody tr,
.table-scroll tbody tr { transition: background-color .15s ease; }
.data-table tbody tr:hover,
.table-scroll tbody tr:hover { background: var(--rhythm-sage-soft); }
.record-card-list,
.personnel-card-list { gap: 10px; }
.record-card,
.personnel-card,
.personnel-summary,
.operational-list > article {
    border-color: var(--rhythm-line);
    border-radius: 14px;
    background: var(--rhythm-surface-strong);
    box-shadow: none;
}
.record-card:hover,
.personnel-card:hover { border-color: #b7b0a5; background: var(--rhythm-sage-soft); }
.record-inspector { border-color: var(--rhythm-line); background: var(--rhythm-sage-soft); }
.inspector-section { border-color: rgba(23,63,53,.16); }

/* Forms become calm numbered work stages with one field treatment. */
.person-form-panel { border-top: 0; }
.person-form,
.compact-form,
.wide-form,
.governance-form,
.personnel-form,
.document-form,
.account-form { min-width: 0; }
.form-section {
    gap: 34px;
    margin-bottom: 12px;
    padding: 28px;
    border: 0;
    border-radius: 16px;
    background: var(--rhythm-sage-soft);
}
.form-section:nth-of-type(3n+2) { background: var(--rhythm-magenta-soft); }
.form-section:nth-of-type(3n+3) { background: var(--rhythm-ochre-soft); }
.form-section-heading > span { background: rgba(255,255,255,.82); }
label { min-width: 0; }
input,
select,
textarea {
    box-sizing: border-box;
    max-width: 100%;
    border-color: var(--rhythm-line-strong);
    border-radius: 10px;
}
input:focus,
select:focus,
textarea:focus { border-color: var(--focus); outline: 0; box-shadow: var(--rhythm-focus-ring); }
.form-actions {
    margin-top: 18px;
    padding: 14px 0 max(14px,env(safe-area-inset-bottom));
    border-top: 1px solid var(--rhythm-line);
    background: transparent;
}
.confirmation-row,
.check-row,
.checkbox-row,
.choice-row { border-radius: 12px; }

/* Calendar and status workflows keep their task shape while using the shared rhythm. */
.calendar-controls { border-color: var(--rhythm-line); }
.calendar-workspace { min-width: 0; border-color: var(--rhythm-line); }
.calendar-agenda,
.calendar-detail { min-width: 0; }
.calendar-row { min-height: 68px; align-items: center; }
.calendar-row.is-selected { background: var(--rhythm-magenta-soft); }
.calendar-detail { background: var(--rhythm-surface); }
.calendar-detail-head > div,
.calendar-form-grid,
.calendar-meta,
.calendar-links,
.calendar-links form { min-width: 0; }
.calendar-create-form { border-radius: 16px; box-shadow: 0 18px 50px rgba(23,63,53,.16); }
.governance-progress,
.flow-steps { border-color: var(--rhythm-line); }

/* Status and feedback use the same three stage colors as the board. */
.notice,
.alert,
.boundary-note,
.governance-warning { border-radius: 12px; box-shadow: none; }
.notice-warning,
.governance-warning { background: var(--rhythm-ochre-soft); }
.notice-success,
.alert-success { background: var(--rhythm-sage-soft); }
.notice-error,
.alert:not(.alert-success) { background: var(--rhythm-magenta-soft); }
.empty-state {
    max-width: none;
    margin: 0;
    padding: 26px;
    border-radius: 14px;
    background: var(--rhythm-sage-soft);
}
.status-label,
.status-pill,
.status-badge { border-radius: 999px; font-weight: 750; }

/* Authentication belongs to the same product. */
.auth-page { background: var(--rhythm-cream); }
.login-shell { min-height: 100dvh; }
.login-layout { border-color: var(--rhythm-line); border-radius: 22px; background: var(--rhythm-surface-strong); box-shadow: 0 20px 70px rgba(23,63,53,.1); }
.login-intro { background: var(--rhythm-forest); color: #fff; }
.login-intro .eyebrow { color: #eab4d0; }
.login-intro h1 { font-family: "Trebuchet MS",system-ui,sans-serif; font-weight: 900; letter-spacing: -.055em; text-transform: uppercase; }
.login-form { background: var(--rhythm-surface-strong); }
.language-switch-auth { border: 1px solid rgba(255,255,255,.42); background: rgba(255,255,255,.14); }
.language-switch-auth button { color: #fff; }
.language-switch-auth button[aria-current="true"] { background: #fff; color: #7a2454; }

/* The update prompt remains available without covering the working content. */
.workspace-main { padding-bottom: 112px; }
.pwa-runtime-status { border-color: #d6bd70; background: #fff9e8; }

@media (min-width: 62rem) {
    .platform-mail-workspace {
        height: calc(100dvh - 12rem);
        min-height: min(30rem,calc(100dvh - 12rem));
    }
}

@media (max-width: 980px) {
    .global-page-finder[open] { inset: 78px 20px auto; max-height: calc(100dvh - 98px); }
    .register-workspace { grid-template-columns: minmax(0,1fr); }
    .record-inspector { border-left: 0; border-top: 1px solid var(--rhythm-line); }
}

@media (max-width: 720px) {
    .workspace-main { width: 100%; padding: 28px 18px 116px; overflow-x: clip; }
    body[data-navigation-experience="board"] .page-heading,
    body[data-navigation-experience="board"] .workspace-header {
        display: grid;
        gap: 18px;
        margin-bottom: 28px;
    }
    body[data-navigation-experience="board"] .page-heading h1,
    body[data-navigation-experience="board"] .workspace-header h1 {
        max-width: 100%;
        font-size: clamp(2.45rem,12vw,3.55rem);
        line-height: .96;
        letter-spacing: -.055em;
        overflow-wrap: anywhere;
        hyphens: auto;
    }
    body[data-navigation-experience="board"] .page-heading p,
    body[data-navigation-experience="board"] .workspace-header p { font-size: .96rem; }
    .page-heading-with-action .heading-actions,
    .calendar-heading-actions,
    .workspace-header > .button,
    .workspace-header > .heading-actions { width: 100%; justify-content: stretch; }
    .page-heading-with-action .heading-actions > *,
    .calendar-heading-actions > *,
    .workspace-header > .button,
    .workspace-header > .heading-actions > * { width: 100%; justify-content: center; }

    .global-page-finder[open] { inset: 70px 10px auto; max-height: calc(100dvh - 82px); padding: 22px 16px 18px; border-radius: 16px; }
    .global-page-finder > summary { top: 12px; right: 12px; }
    .global-page-finder-intro { padding-right: 48px; }
    .global-page-results { grid-template-columns: minmax(0,1fr); }

    .section-tabs,
    .record-tabs,
    .finance-subnav,
    .self-personnel-tabs,
    .personnel-tabs,
    .calendar-view-nav,
    .account-tabs {
        max-width: 100%;
        flex-wrap: nowrap;
        gap: 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }
    .section-tabs a,
    .record-tabs a,
    .finance-subnav a,
    .self-personnel-tabs a,
    .personnel-tabs a,
    .calendar-view-nav a,
    .account-tabs a { flex: 0 0 auto; width: auto; white-space: nowrap; }

    .register-workspace,
    .register-main,
    .register-tools { width: 100%; max-width: 100%; min-width: 0; }
    .register-workspace { overflow: visible; border-inline: 0; border-radius: 0; background: transparent; }
    .register-main { padding: 0; }
    .register-tools,
    .filter-bar,
    .personnel-register-search,
    .finance-register-search { padding: 14px; }
    .register-search,
    .filter-bar,
    .personnel-register-search,
    .finance-register-search { grid-template-columns: minmax(0,1fr); align-items: stretch; }
    .register-search .button,
    .filter-bar .button,
    .personnel-register-search .button,
    .finance-register-search .button { width: 100%; }

    .table-scroll { overflow: visible; }
    .table-scroll table,
    .data-table,
    .data-table tbody,
    .data-table tr,
    .data-table td { display: block; width: 100%; max-width: 100%; min-width: 0 !important; }
    .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .data-table tbody { display: grid; gap: 10px; }
    .data-table tr {
        box-sizing: border-box;
        padding: 13px 14px;
        border: 1px solid var(--rhythm-line);
        border-radius: 13px;
        background: var(--rhythm-surface-strong);
    }
    .data-table td {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: minmax(92px,34%) minmax(0,1fr);
        gap: 12px;
        padding: 7px 0;
        border: 0;
        overflow-wrap: anywhere;
    }
    .data-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
    .data-table tr.is-selected { width: 100%; margin: 0; padding: 13px 14px; background: var(--rhythm-magenta-soft); }
    .record-card-list,
    .personnel-card-list { grid-template-columns: minmax(0,1fr); }

    .form-section { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 20px 16px; }
    .form-grid,
    .compact-form,
    .wide-form,
    .governance-form,
    .personnel-form,
    .document-form,
    .account-form { grid-template-columns: minmax(0,1fr); }
    .form-grid-wide,
    .wide { grid-column: auto; }
    .form-actions { display: grid; grid-template-columns: minmax(0,1fr); }
    .form-actions > * { width: 100%; justify-content: center; }

    .calendar-workspace { width: 100%; max-width: 100%; grid-template-columns: minmax(0,1fr); }
    .calendar-agenda { min-width: 0; padding: 16px 0 20px; border-right: 0; }
    .calendar-row { grid-template-columns: 76px minmax(0,1fr) auto; gap: 8px; padding: 12px 8px 12px 12px; }
    .calendar-detail { min-width: 0; padding: 22px 0 30px; }
    .calendar-detail-head,
    .calendar-detail-head > div,
    .calendar-form-grid,
    .calendar-recurrence,
    .calendar-meta,
    .calendar-links form { width: 100%; max-width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr); }
    .calendar-detail-head > div > *,
    .calendar-form-grid > *,
    .calendar-form-grid input,
    .calendar-form-grid select,
    .calendar-form-grid textarea { width: 100%; max-width: 100%; min-width: 0; }
    .calendar-detail-head .event-kind { text-align: left; }
    .calendar-create-form { padding: 18px 14px; }

    .pwa-runtime-status {
        left: 10px;
        right: 10px;
        bottom: max(10px,env(safe-area-inset-bottom));
        max-width: none;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 8px;
        padding: 8px 8px 8px 12px;
        border-radius: 12px;
        font-size: .84rem;
    }
    .pwa-runtime-status .button { min-height: 40px; }
}

@media (max-width: 390px) {
    body[data-navigation-experience="board"] .page-heading h1,
    body[data-navigation-experience="board"] .workspace-header h1 { font-size: clamp(2.25rem,11.4vw,3rem); }
    .data-table td { grid-template-columns: minmax(80px,31%) minmax(0,1fr); }
}

@media (max-width: 420px) {
    body[data-navigation-experience="board"] .workspace-header.account-header h1 {
        font-size: clamp(2.15rem,10.2vw,2.65rem);
    }
    .account-tabs { gap: 0 12px; flex-wrap: wrap; overflow-x: visible; scrollbar-width: none; }
    .account-tabs::-webkit-scrollbar { display: none; }
    .account-tabs a { font-size: .92rem; }
}

@media (prefers-reduced-motion: reduce) {
    .data-table tbody tr,
    .table-scroll tbody tr { transition: none; }
}
/* Public summer registration stays visually related to the platform while
   keeping the transaction focused on one short, accessible form. */
.summer-public-brand span strong{color:#263c31}.summer-public-brand span small{color:#5d6c64}
.summer-public-card h1{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.summer-public-shell{width:min(100% - 2rem,72rem);margin:clamp(1rem,4vw,3rem) auto;padding-bottom:3rem}.summer-public-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.summer-public-brand{text-decoration:none}.summer-public-card{background:var(--surface,#fff);border:1px solid rgba(58,79,66,.14);border-radius:1.5rem;box-shadow:0 1.25rem 3.5rem rgba(44,59,50,.1);padding:clamp(1.25rem,4vw,3rem)}.summer-public-card h1{max-width:18ch;margin:.25rem 0 .75rem}.summer-public-card .lede{max-width:62ch}.summer-public-price{display:flex;align-items:baseline;gap:.5rem;margin:1.25rem 0 1.75rem}.summer-public-price strong{font-size:1.45rem;color:var(--color-primary,#a03570)}.summer-public-price span{color:var(--text-muted,#66736b)}.summer-public-form{display:grid;gap:1.5rem}.summer-public-form .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.summer-public-form label:not(.check-row):not(.summer-week-option){display:grid;gap:.4rem;font-weight:650}.summer-public-form input[type=text],.summer-public-form input[type=email],.summer-public-form input[type=tel],.summer-public-form input:not([type]){width:100%}.summer-week-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.summer-week-option{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(58,79,66,.18);border-radius:1rem;padding:.9rem;cursor:pointer}.summer-week-option:has(input:checked){border-color:var(--color-primary,#a03570);background:rgba(160,53,112,.05)}.summer-week-option span{display:grid;gap:.2rem}.summer-week-option small{color:var(--text-muted,#66736b)}.summer-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.summer-result div{background:rgba(58,79,66,.05);border-radius:.8rem;padding:.8rem}.summer-result dt{font-size:.82rem;color:var(--text-muted,#66736b)}.summer-result dd{font-weight:700;margin:.25rem 0 0}.summer-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){.summer-public-shell{width:min(100% - 1rem,72rem);margin:.5rem auto}.summer-public-card{border-radius:1rem;padding:1rem}.summer-public-form .field-grid,.summer-week-options,.summer-result{grid-template-columns:1fr}.summer-public-header .brand-lockup small{display:none}}
.summer-program{display:grid;gap:1rem;background:linear-gradient(135deg,rgba(160,53,112,.055),rgba(222,170,46,.055));border:1px solid rgba(160,53,112,.16);border-radius:1.25rem;padding:clamp(1rem,2vw,1.5rem);margin-bottom:1.25rem}.summer-program>.section-heading,.summer-campaign-detail>header,.summer-program .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.summer-campaign-form{display:grid;gap:1rem;min-width:min(48rem,85vw)}.summer-campaign-form .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.summer-campaign-form label{display:grid;gap:.35rem}.summer-campaign-tabs,.summer-program-actions{display:flex;flex-wrap:wrap;gap:.6rem}.summer-campaign-tabs small{margin-left:.3rem}.summer-campaign-detail{display:grid;gap:1rem;background:var(--surface,#fff);border-radius:1rem;padding:1rem}.summer-campaign-detail>header dl{display:flex;gap:1rem;margin:0}.summer-campaign-detail>header dl div{min-width:6rem}.summer-campaign-detail dt{font-size:.75rem;color:var(--text-muted,#66736b)}.summer-campaign-detail dd{font-weight:700;margin:.2rem 0}.summer-program-actions form{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.55rem;border-radius:.75rem;background:rgba(58,79,66,.04)}.summer-week-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:.6rem;padding-top:.8rem}.summer-week-form label{display:grid;gap:.3rem}.summer-program .data-table td small{display:block;margin-top:.2rem}.summer-program details form{margin-top:.7rem}.summer-program details form+form{border-top:1px solid rgba(58,79,66,.12);padding-top:.7rem}
.summer-focus-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:.3rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}
.summer-focus-nav a{min-height:44px;padding:.65rem .9rem;border-radius:.55rem;color:var(--ink);font-weight:750;text-decoration:none}
.summer-focus-nav a:hover,.summer-focus-nav a:focus-visible{background:var(--surface)}
.summer-focus-nav a[aria-current=page]{background:var(--surface);box-shadow:inset 0 -3px var(--brand-magenta);color:var(--brand-magenta)}
.summer-priority-cockpit{display:grid;gap:.85rem}.summer-priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.75rem}
.summer-priority-grid a{display:grid;gap:.3rem;min-width:0;min-height:8.25rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none}
.summer-priority-grid a:hover,.summer-priority-grid a:focus-visible{border-color:var(--brand-magenta);box-shadow:0 8px 24px rgba(36,38,32,.08)}
.summer-priority-grid strong{font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.1;color:var(--brand-magenta)}.summer-priority-grid span{font-weight:750}.summer-priority-grid small{margin-top:auto;color:var(--muted)}
.summer-more-tools{margin-bottom:1rem}
.summer-boundary .status-pill{margin-right:.5rem}
@media(max-width:900px){.summer-program>.section-heading,.summer-campaign-detail>header{display:grid}.summer-campaign-detail>header dl{flex-wrap:wrap}.summer-week-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.summer-focus-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.summer-focus-nav a{display:grid;place-items:center;text-align:center}}@media(max-width:620px){.summer-campaign-form .field-grid,.summer-week-form{grid-template-columns:1fr}.summer-campaign-form{min-width:0}.summer-program-actions form{display:grid;width:100%}}@media(max-width:380px){.summer-focus-nav{grid-template-columns:minmax(0,1fr)}}

/* Calm editorial imagery with real watercolor assets: orientation only, never work records. */
.page-heading.page-heading-visual {
    display: grid;
    grid-template-columns: minmax(0,1fr) clamp(280px,31vw,410px);
    align-items: stretch;
    gap: clamp(22px,3vw,42px);
}
.page-heading-visual > div:first-child { align-self: center; }
.page-heading-visual-stack {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 12px;
}
.page-heading-visual-stack > .heading-actions,
.page-heading-visual-stack > .page-heading-actions {
    width: 100%;
    justify-content: flex-end;
}
.page-visual-composition {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: clamp(142px,13vw,184px);
}
.page-visual {
    position: relative;
    z-index: 1;
    width: 78%;
    height: clamp(142px,13vw,184px);
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(95,121,40,.18);
    border-radius: 20px 7px 20px 7px;
    background: #f3eee4;
    box-shadow: 0 14px 34px rgba(31,58,46,.10);
}
.page-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: inherit;
    pointer-events: none;
}
.page-visual-photo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.page-visual-dashboard .page-visual-photo { object-position: 66% 54%; }
.page-visual-people .page-visual-photo { object-position: 44% 55%; }
.page-visual-calendar .page-visual-photo { object-position: 64% 51%; }
.page-watercolor-branch {
    position: absolute;
    z-index: 2;
    right: -7%;
    bottom: -4%;
    width: 67%;
    height: auto;
    max-width: none;
    opacity: .9;
    pointer-events: none;
}
.month-calendar-watercolor {
    position: relative;
    isolation: isolate;
}
.month-calendar-watercolor > :not(.calendar-watercolor-corner) {
    position: relative;
    z-index: 1;
}
.calendar-watercolor-corner {
    position: absolute;
    z-index: 0;
    left: -58px;
    bottom: -32px;
    width: clamp(190px,20vw,260px);
    height: auto;
    max-width: none;
    opacity: .58;
    pointer-events: none;
}
.hub-page-heading.page-heading-visual { margin-bottom: 30px; }
.board-meeting-intro {
    display: grid;
    grid-template-columns: minmax(0,1fr) 168px;
    align-items: center;
    gap: 18px;
    margin: -4px 0 16px;
}
.board-meeting-intro > p { margin: 0; color: var(--muted); }
.meeting-visual {
    width: 168px;
    height: 68px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(95,121,40,.16);
    border-radius: 14px 5px 14px 5px;
    background: #f3eee4;
}
.meeting-visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 28% 67%; }

@media (max-width: 900px) {
    .page-heading.page-heading-visual {
        grid-template-columns: minmax(0,1fr) minmax(230px,34vw);
        gap: 20px;
    }
    .page-visual-composition { min-height: 148px; }
    .page-visual { height: 148px; }
}

@media (max-width: 720px) {
    .page-heading.page-heading-visual {
        grid-template-columns: minmax(0,1fr);
        gap: 18px;
    }
    .page-heading-visual-stack { width: 100%; align-items: stretch; }
    .page-heading-visual-stack > .heading-actions,
    .page-heading-visual-stack > .page-heading-actions { justify-content: stretch; }
    .page-heading-visual-stack > .heading-actions > *,
    .page-heading-visual-stack > .page-heading-actions > * { flex: 1 1 auto; }
    .page-visual {
        width: 76%;
        height: 126px;
        border-radius: 16px 6px 16px 6px;
        box-shadow: 0 10px 26px rgba(31,58,46,.08);
    }
    .page-visual-composition { min-height: 126px; }
    .page-watercolor-branch { right: -2%; bottom: -2%; width: 62%; opacity: .86; }
    .page-visual-dashboard .page-visual-photo { object-position: 70% 57%; }
    .page-visual-people .page-visual-photo { object-position: 46% 55%; }
    .page-visual-calendar .page-visual-photo { object-position: 68% 52%; }
    .calendar-watercolor-corner { left: -34px; bottom: -24px; width: 164px; opacity: .46; }
    .board-meeting-intro { grid-template-columns: minmax(0,1fr); }
    .meeting-visual { display: none; }
}

@media (prefers-reduced-data: reduce) {
    .page-visual-composition,
    .calendar-watercolor-corner { display: none; }
}

.summer-program{width:100%;min-width:0;max-width:100%;overflow:hidden}.summer-program>*{min-width:0;max-width:100%}.summer-program>.section-heading{flex-wrap:wrap}.summer-program>.section-heading>.status-pill{max-width:100%;height:auto;min-height:28px;white-space:normal;text-align:center}.summer-import>form{max-width:100%}.summer-campaign-form{width:min(48rem,100%);min-width:0}
.summer-registration-filters{display:grid;grid-template-columns:minmax(13rem,2fr) repeat(4,minmax(8rem,1fr)) auto auto;gap:.65rem;align-items:end;padding:.8rem;border-radius:.9rem;background:rgba(58,79,66,.045)}
.summer-registration-filters label,.summer-dossier-form label,.summer-tools label,.summer-bulk-mail label{display:grid;gap:.3rem}
.summer-dossier,.summer-tools,.summer-bulk-mail{border:1px solid rgba(58,79,66,.14);border-radius:1rem;padding:1rem;background:rgba(255,255,255,.72)}
.summer-dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summer-dossier-grid .panel{min-width:0}
.summer-dossier-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.summer-dossier-form fieldset{display:grid;gap:.65rem;min-width:0}.summer-dossier-form textarea{min-height:5rem}
.summer-tools .compact-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;align-items:end}.summer-bulk-mail .summer-dossier-form{margin-top:.8rem}
.summer-program .pagination{display:flex;flex-wrap:wrap;gap:.35rem}.summer-program td .status-pill{display:inline-flex;margin:.1rem;font-size:.72rem}.summer-program td>.button,.summer-program td>details{margin:.15rem}
@media(max-width:1100px){.summer-registration-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.summer-dossier-grid{grid-template-columns:1fr}.summer-tools .compact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.summer-dossier-form{grid-template-columns:1fr}}
@media(max-width:620px){.summer-registration-filters,.summer-tools .compact-form{grid-template-columns:1fr}}

/* Anonymous annual summer satisfaction survey. */
.survey-public-shell{width:min(58rem,calc(100% - 2rem));padding-bottom:3rem}.survey-public-card{max-width:none}.survey-anonymous-note{margin:1.25rem 0;padding:1rem 1.1rem;border-left:4px solid var(--brand-green);border-radius:0 var(--radius-md) var(--radius-md) 0;background:#f2f7e8}.survey-anonymous-note p{margin:.35rem 0 0;max-width:72ch}.survey-public-form{display:grid;gap:1.25rem}.survey-question-section{display:grid;gap:1rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.survey-question-section h2{margin:0;font-size:clamp(1.2rem,3vw,1.55rem)}.survey-question-section>label{display:grid;gap:.45rem;font-weight:700}.survey-question-section textarea{box-sizing:border-box;width:100%;resize:vertical}.survey-weeks-field{max-width:14rem}.survey-weeks-field input{min-height:48px}.survey-rating-question{min-width:0;margin:0;padding:0;border:0}.survey-rating-question legend{max-width:68ch;margin-bottom:.75rem;font-weight:700;line-height:1.45}.survey-rating-options{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:.5rem;max-width:32rem}.survey-rating-options label{position:relative;display:block;min-width:0;cursor:pointer}.survey-rating-options input{position:absolute;width:1px;height:1px;opacity:0}.survey-rating-options span{display:grid;place-items:center;box-sizing:border-box;min-height:48px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-weight:800}.survey-rating-options input:checked+span{border-color:var(--brand-magenta);background:var(--brand-magenta);color:#fff}.survey-rating-options input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.survey-scale-hints{display:flex;justify-content:space-between;gap:1rem;max-width:32rem;margin-top:.5rem;color:var(--muted);font-size:.875rem}.survey-submit{justify-self:start;min-height:50px}
.summer-survey-heading{align-items:end}.summer-survey-heading .page-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.summer-survey-heading details{position:relative}.summer-survey-heading details>form{position:absolute;z-index:5;right:0;top:calc(100% + .5rem);display:grid;gap:.75rem;width:min(22rem,calc(100vw - 2rem));padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow)}.summer-survey-heading details>form label{display:grid;gap:.35rem}.summer-survey-workspace{display:grid;grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);gap:1.25rem;align-items:start}.summer-survey-results{min-width:0}.survey-link-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid rgba(51,139,186,.35);border-radius:var(--radius-md);background:#eef7fb}.survey-link-panel>div{min-width:0;display:grid;gap:.35rem}.survey-link-panel code{overflow-wrap:anywhere;word-break:break-word}.survey-status-form{display:grid;grid-template-columns:minmax(12rem,1fr) auto;align-items:end;gap:.75rem;margin:1rem 0}.survey-status-form label{display:grid;gap:.35rem}.survey-average-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.survey-average-grid article{display:grid;gap:.25rem;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.survey-average-grid article span{font-weight:700}.survey-average-grid article strong{font-size:clamp(1.6rem,4vw,2.35rem);color:var(--brand-magenta)}.survey-average-grid article small{color:var(--muted)}.survey-week-distribution{margin:1.25rem 0}.survey-week-distribution ul{display:grid;gap:.45rem;max-width:32rem;padding:0;list-style:none}.survey-week-distribution li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border-bottom:1px solid var(--line)}.survey-comment-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.survey-comment-columns section{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.survey-comment-columns h3{margin-top:0}.survey-comment-columns ul{display:grid;gap:.75rem;padding:0;list-style:none}.survey-comment-columns li{padding:.85rem;border-radius:var(--radius-sm);background:var(--surface-soft);overflow-wrap:anywhere}
@media(max-width:800px){.summer-survey-workspace{grid-template-columns:1fr}.survey-average-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-comment-columns{grid-template-columns:1fr}.survey-link-panel{align-items:stretch;flex-direction:column}.survey-link-panel .button{align-self:flex-start}}
@media(max-width:560px){.survey-public-shell{width:min(100% - 1rem,58rem)}.survey-public-card{padding:1rem}.survey-question-section{padding:1rem}.survey-rating-options{gap:.35rem}.survey-scale-hints{display:grid;gap:.2rem}.summer-survey-heading .page-heading-actions{width:100%;justify-content:stretch}.summer-survey-heading .page-heading-actions>*{flex:1 1 auto}.summer-survey-heading .page-heading-actions .button{width:100%}.summer-survey-heading details>form{right:auto;left:0}.survey-status-form,.survey-average-grid{grid-template-columns:1fr}.survey-submit{width:100%}}

/* Font-relative containment for the survey result workspace, including 200% text. */
.summer-survey-workspace{grid-template-columns:minmax(0,1fr);max-width:100%;overflow-x:clip}
.summer-survey-workspace>.summer-register{padding-right:0;border-right:0;border-bottom:1px solid var(--line)}
.summer-survey-workspace>.summer-register ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.5rem}
.summer-survey-workspace>.summer-register li+li{border-top:0}
.summer-survey-results{padding-left:0}
.summer-survey-results>header{flex-wrap:wrap}
.summer-survey-results>header dl{grid-template-columns:repeat(2,minmax(min(100%,10rem),1fr));max-width:100%}
.survey-link-panel{flex-wrap:wrap}
.survey-average-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.survey-average-grid article span{overflow-wrap:anywhere}
.survey-comment-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.workspace-topbar{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
.workspace-topbar>*{min-width:0}
.workspace-topbar>.menu-button{min-width:44px}
.topbar-page-search{min-width:0;flex:1 1 440px}
.topbar-page-search span{min-width:0}
.topbar-actions{flex:0 0 auto}

/* Canonical insurance register. */
.insurance-page{min-width:0}.insurance-page .summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.75rem;margin:1.25rem 0}.insurance-page .summary-grid article{display:grid;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.insurance-page .summary-grid strong{font-size:1.65rem;color:var(--brand-magenta)}.insurance-page .summary-grid span{color:var(--muted);font-size:.85rem;font-weight:700}.insurance-list ol{margin:0;padding:0;list-style:none}.insurance-list li+li{border-top:1px solid var(--line)}.insurance-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;color:var(--ink);text-decoration:none}.insurance-list a:hover{background:var(--surface-soft)}.insurance-list a>span{min-width:0;display:grid;gap:.25rem}.insurance-list a>span:last-child{justify-items:end}.insurance-list strong,.insurance-list small{overflow-wrap:anywhere}.insurance-list small{color:var(--muted)}.insurance-detail{display:grid;gap:1.25rem;margin-top:1rem}.insurance-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.insurance-detail small{display:block;color:var(--muted)}.insurance-form .wide{grid-column:1/-1}.insurance-form fieldset{display:grid;gap:.45rem;max-height:18rem;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md)}.insurance-form .check-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.insurance-form .check-row input{width:1.2rem;min-height:1.2rem}.insurance-detail section>ul{display:grid;gap:.45rem;padding-left:1.2rem}@media(max-width:720px){.insurance-list a,.insurance-detail>header{align-items:stretch;flex-direction:column}.insurance-list a>span:last-child{justify-items:start}.insurance-page .page-actions{width:100%}.insurance-page .page-actions .button{width:100%}}

/* Document workspace: folders, authoring and protected previews. */
.document-workspace-folders{grid-template-columns:minmax(0,240px) minmax(0,384px) minmax(0,1fr)}.document-workspace-folders>*{min-width:0}.document-folder-rail{min-width:0;padding:.8rem;border-right:1px solid var(--line);background:var(--surface-soft)}.document-folder-rail>header h2{margin:0;font-size:1rem}.document-folder-rail>header p{margin:.35rem 0 .8rem;color:var(--muted);font-size:.8rem}.document-folder-rail nav,.document-folder-rail nav ul{display:grid;gap:.15rem;margin:0;padding:0;list-style:none}.document-folder-rail nav ul ul{padding-left:.75rem;border-left:1px solid var(--line)}.document-folder-rail nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center;min-height:40px;padding:.35rem .5rem;border-radius:.55rem;color:var(--ink);text-decoration:none}.document-folder-rail nav a:hover,.document-folder-rail nav a:focus-visible,.document-folder-rail nav a[aria-current=page]{background:var(--surface)}.document-folder-rail nav a[aria-current=page]{color:var(--brand-magenta);font-weight:750}.document-folder-rail nav a span{overflow:hidden;text-overflow:ellipsis}.document-folder-rail nav a b{color:var(--muted);font-size:.75rem}.document-folder-manage,.document-folder-assignment{margin-top:.75rem;border-top:1px solid var(--line);padding-top:.65rem}.document-folder-manage>summary,.document-folder-assignment>summary{cursor:pointer;font-weight:700}.document-folder-manage form{display:grid;gap:.55rem;margin-top:.65rem}.document-folder-manage label{display:grid;gap:.25rem;font-size:.8rem}.document-folder-manage input,.document-folder-manage select{min-width:0}.document-breadcrumbs{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.5rem 0;color:var(--muted);font-size:.85rem}.document-breadcrumbs a{color:var(--link)}
.document-markdown-workspace{max-width:96rem;min-width:0}.document-markdown-form{grid-template-columns:repeat(4,minmax(0,1fr))}.document-editor-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.45rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-soft)}.document-editor-toolbar button{min-height:40px;padding:.35rem .65rem;border:1px solid var(--line);border-radius:.45rem;background:var(--surface);color:var(--ink);cursor:pointer}.document-editor-toolbar span{flex:1}.document-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-height:34rem}.document-editor-grid>label{display:grid;min-width:0;grid-template-rows:auto minmax(28rem,1fr) auto;gap:.35rem}.document-editor-grid textarea{box-sizing:border-box;width:100%;min-width:0;min-height:28rem;resize:vertical;font:normal .95rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-preview{min-width:0;overflow:auto;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface)}.markdown-preview>h2{margin-top:0;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.markdown-preview-content,.markdown-preview [data-markdown-preview]{max-width:72ch}.markdown-preview h3,.markdown-preview-content h3{font-size:1.5rem}.markdown-preview h4,.markdown-preview-content h4{font-size:1.25rem}.markdown-preview h5,.markdown-preview-content h5{font-size:1.1rem}.markdown-preview h6,.markdown-preview-content h6{font-size:1rem}.markdown-preview pre,.markdown-preview-content pre{max-width:100%;overflow:auto;padding:.75rem;border-radius:.5rem;background:#f1f2ed}.markdown-preview code,.markdown-preview-content code{overflow-wrap:anywhere}.markdown-preview blockquote,.markdown-preview-content blockquote{margin-left:0;padding-left:1rem;border-left:4px solid var(--brand-yellow);color:var(--muted)}.markdown-checklist{list-style:none;padding-left:0}.markdown-checklist input{width:1rem;height:1rem}.document-file-preview{margin:.75rem 0;padding:.65rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface-soft)}.document-file-preview>summary{cursor:pointer;font-weight:750}.document-file-preview iframe{display:block;width:100%;height:min(68vh,46rem);margin:.75rem 0;border:1px solid var(--line);border-radius:.5rem;background:#fff}.document-file-preview>img{display:block;width:auto;max-width:100%;max-height:70vh;margin:.75rem auto;border-radius:.5rem;object-fit:contain}.document-file-preview .markdown-preview-content{margin-top:.75rem;padding:1rem;border-radius:.5rem;background:var(--surface)}
@media(max-width:74rem){.document-workspace-folders{grid-template-columns:minmax(0,224px) minmax(0,336px) minmax(0,1fr)}}@media(max-width:61.99rem){.document-workspace-folders{grid-template-columns:minmax(0,1fr)}.document-folder-rail{border-right:0;border-bottom:1px solid var(--line)}.document-folder-rail nav>ul{grid-template-columns:repeat(2,minmax(0,1fr))}.document-editor-grid{grid-template-columns:minmax(0,1fr)}.document-markdown-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:35rem){.document-folder-rail nav>ul,.document-markdown-form{grid-template-columns:minmax(0,1fr)}.document-editor-grid{min-height:0}.document-editor-grid>label{grid-template-rows:auto minmax(20rem,1fr) auto}.document-editor-grid textarea{min-height:20rem}.document-editor-toolbar span{display:none}.document-file-preview iframe{height:65vh}}

/* Calm people and child workspaces. Technical provenance remains secondary. */
.people-table .record-link small{max-width:34rem}.people-status-stack{display:grid;justify-items:start;gap:.3rem}.people-status-stack small{color:var(--muted)}.person-more-actions{margin:.85rem 0 0;padding:.75rem 0;border-top:1px solid var(--line)}.person-more-actions>summary{cursor:pointer;font-weight:750}.person-more-actions>.row-actions{margin-top:.65rem}
.children-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0 1.25rem;border-block:1px solid var(--line)}.children-overview>div{display:grid;gap:.15rem;padding:1rem 1.15rem;border-right:1px solid var(--line)}.children-overview>div:last-child{border-right:0}.children-overview strong{font-size:clamp(1.45rem,3vw,2rem);line-height:1;color:var(--ink)}.children-overview span{color:var(--muted);font-size:.86rem;font-weight:700}.children-overview .needs-attention strong{color:var(--brand-magenta)}.children-list-heading{align-items:end;gap:1rem}.children-list-heading>div{max-width:32rem}.child-table{table-layout:fixed}.child-table th:first-child{width:42%}.child-table td,.child-table th{vertical-align:middle}.child-table .record-link small{display:block;margin-top:.18rem;font-weight:600}.completion-list{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:0;padding:0;list-style:none;font-size:.82rem}.completion-list li::before{content:'✓';display:inline-block;margin-right:.3rem;color:var(--ink);font-weight:900}.completion-list .is-missing::before{content:'—';color:var(--muted)}.children-review-panel{padding:1rem 1.2rem}.children-review-panel>summary{cursor:pointer;font-weight:800}.children-review-panel>p{color:var(--muted)}.child-detail-grid{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);gap:1rem;align-items:start}.child-detail-grid>.workspace-panel{margin:0}.child-detail-summary .key-values>div{grid-template-columns:minmax(7rem,1fr) minmax(0,1.35fr);gap:.75rem}.child-detail-summary .key-values dd{text-align:right;overflow-wrap:anywhere}.child-detail-summary .button{margin-top:1rem}.child-protected-data{min-width:0}.child-data-section{border-top:1px solid var(--line)}.child-data-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.75rem 0;cursor:pointer;font-weight:800}.child-data-section>.key-values,.child-data-section>p{margin:.2rem 0 1rem}.technical-details{color:var(--muted)}
@media(max-width:900px){.children-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.children-overview>div:nth-child(2){border-right:0}.children-overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.child-detail-grid{grid-template-columns:minmax(0,1fr)}.children-list-heading{align-items:stretch;flex-direction:column}.child-register-search{justify-content:flex-start}}
@media(max-width:560px){.page-heading-with-action>.heading-actions{width:100%}.page-heading-with-action>.heading-actions>.button{width:100%}.children-overview{margin-top:.5rem}.children-overview>div{padding:.8rem}.child-table th:first-child{width:auto}.completion-list{display:grid}.person-more-actions .button{width:100%}.child-register-search input,.child-register-search select,.child-register-search button{box-sizing:border-box;min-height:44px}}

/* Calm finance workspace: priorities first, records second, technical evidence on demand. */
.finance-suite-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:.3rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}
.finance-suite-nav a{min-height:44px;padding:.65rem .9rem;border-radius:.55rem;color:var(--ink);font-weight:750;text-decoration:none}
.finance-suite-nav a:hover,.finance-suite-nav a:focus-visible{background:var(--surface)}
.finance-suite-nav a[aria-current=page]{background:var(--surface);box-shadow:inset 0 -3px var(--brand-magenta);color:var(--brand-magenta)}
.finance-guided-create{flex-basis:100%;justify-content:stretch;margin-top:.75rem}
.finance-guided-create details{width:min(100%,62rem)}
.finance-guided-create summary{display:none}
.finance-guided-create .finance-create-form{position:static;width:100%;max-height:none;margin:0;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:none}
.finance-payment-step{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding:.85rem 0;border-top:1px solid var(--line)}
.finance-payment-step>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--brand-magenta);color:#fff;font-weight:850}
.finance-payment-step>div{display:grid;gap:.7rem;min-width:0}.finance-payment-step h3{margin:.2rem 0;font-size:1rem}
.finance-tab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.finance-tab-toolbar p{margin:0;color:var(--muted)}
.finance-priority-cockpit{display:grid;gap:1rem;margin:1.25rem 0}
.finance-priority-cockpit>.section-heading{align-items:end}
.finance-priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem}
.finance-priority-grid a{display:grid;gap:.35rem;min-width:0;min-height:9.5rem;padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none}
.finance-priority-grid a:hover,.finance-priority-grid a:focus-visible{border-color:var(--brand-magenta);box-shadow:0 8px 24px rgba(36,38,32,.08)}
.finance-priority-grid span{font-weight:750}.finance-priority-grid strong{font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.1;color:var(--brand-magenta);overflow-wrap:anywhere}.finance-priority-grid small{margin-top:auto;color:var(--muted)}
.finance-overview-actions{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.5rem 0}.finance-overview-actions h2{margin:.25rem 0 0}
.finance-quick-links{display:flex;flex-wrap:wrap;gap:.5rem}.finance-quick-links a{min-height:44px;padding:.65rem .85rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-weight:700;text-decoration:none}
.finance-more,.finance-overview-details,.finance-technical-details{margin:1rem 0;border-top:1px solid var(--line);padding-top:.8rem}
.finance-more>summary,.finance-overview-details>summary,.finance-technical-details>summary{min-height:44px;cursor:pointer;font-weight:800}
.finance-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.65rem;margin-top:.75rem}.finance-more-grid a{display:grid;gap:.25rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);text-decoration:none}.finance-more-grid span{color:var(--muted);font-size:.88rem}
.finance-next-action{display:grid;gap:.7rem;margin:1.25rem 0;padding:1rem 1.1rem;border-left:4px solid var(--brand-magenta);border-radius:0 var(--radius-md) var(--radius-md) 0;background:#fbf1f6}.finance-next-action h3,.finance-next-action p{margin:0}.finance-next-action .approval-actions{margin-top:.25rem}
.finance-installment-plan{margin:1.25rem 0}.finance-installment-plan ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.5rem;margin:0;padding:0;list-style:none}.finance-installment-plan li{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.finance-installment-plan li[aria-current=true]{border-color:var(--brand-magenta);background:#fbf1f6}.finance-installment-plan small{color:var(--muted)}
.finance-technical-details>.key-values{margin-top:.75rem}.finance-technical-details>.finance-history{margin-bottom:0}
@media(max-width:700px){.finance-suite-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-suite-nav a{display:grid;place-items:center;text-align:center}.finance-tab-toolbar,.finance-overview-actions{align-items:stretch;flex-direction:column}.finance-tab-toolbar .button,.finance-tab-toolbar .button-row,.finance-priority-cockpit>.section-heading .button{width:100%}.finance-tab-toolbar .button-row{display:grid}.finance-overview-actions{display:grid}.finance-quick-links{display:grid}.finance-payment-step{grid-template-columns:1.75rem minmax(0,1fr)}.finance-payment-step>span{width:1.75rem;height:1.75rem}}
@media(max-width:380px){.finance-suite-nav{grid-template-columns:minmax(0,1fr)}}

/* Finance home: one bounded action queue before specialist registers. */
.finance-home{min-width:0}.finance-home-heading{align-items:flex-end;flex-wrap:wrap}.finance-home-heading>div{min-width:0;max-width:min(48rem,100%)}.finance-home-heading>.button,.finance-home-actions{flex:0 1 auto}.finance-home-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
.finance-today{margin:1.25rem 0 1.75rem}.finance-task-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.finance-task{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto 1.25rem;gap:.8rem;align-items:center;min-height:64px;padding:.75rem .9rem;border:1px solid var(--line);border-left:4px solid var(--brand-yellow);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-decoration:none}.finance-task:hover,.finance-task:focus-visible{border-color:var(--brand-magenta);box-shadow:0 8px 22px rgba(36,38,32,.08)}.finance-task-urgent{border-left-color:var(--brand-magenta)}.finance-task-important{border-left-color:#c88718}.finance-task-state{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--surface-soft);color:var(--brand-magenta)}.finance-task>span:nth-child(2){display:grid;gap:.18rem;min-width:0}.finance-task small{color:var(--muted);overflow-wrap:anywhere}.finance-task>b{font-size:1rem;text-align:right;overflow-wrap:anywhere}.finance-task-arrow{color:var(--muted)}
.finance-home-areas{margin:1.5rem 0}.finance-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.7rem 0}.finance-home-card{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 1.25rem;gap:.8rem;align-items:center;min-height:88px;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none}.finance-home-card:hover,.finance-home-card:focus-visible{border-color:var(--brand-magenta);box-shadow:0 8px 22px rgba(36,38,32,.08)}.finance-home-card-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.7rem;background:var(--surface-soft);color:var(--brand-magenta)}.finance-home-card>span:nth-child(2){display:grid;gap:.25rem;min-width:0}.finance-home-card small{color:var(--muted);overflow-wrap:anywhere}
.finance-readiness{margin:1.5rem 0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.finance-readiness>summary{min-height:44px;cursor:pointer}.finance-readiness>summary>span{display:grid;gap:.2rem}.finance-readiness>summary small{color:var(--muted)}.finance-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:.85rem}.finance-readiness-grid article{display:grid;gap:.25rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--surface)}.finance-readiness-grid strong{font-size:1.55rem}.finance-readiness-grid small{color:var(--muted);overflow-wrap:anywhere}
.finance-completion-callout{display:grid;gap:.55rem;margin:0 0 1rem;padding:1rem 1.1rem;border-left:4px solid var(--brand-yellow);border-radius:0 var(--radius-md) var(--radius-md) 0;background:#fff8df}.finance-completion-callout p{margin:0}.finance-completion-callout .button{width:max-content}
@media(max-width:760px){.finance-home-heading{align-items:stretch;flex-direction:column}.finance-home-heading>.button{width:100%}.finance-home-grid{grid-template-columns:minmax(0,1fr)}.finance-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-task{grid-template-columns:2.25rem minmax(0,1fr) 1.25rem}.finance-task>b{grid-column:2;text-align:left}.finance-task-arrow{grid-column:3;grid-row:1/3}}
@media(max-width:430px){.finance-readiness-grid{grid-template-columns:minmax(0,1fr)}}
.finance-completion{min-width:0}.finance-completion-heading{align-items:flex-end}.finance-completion-heading>div{max-width:52rem}.finance-completion-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,18rem);gap:1.5rem;align-items:center;margin:1rem 0 1.5rem;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.finance-completion-overview h2{margin:.25rem 0}.finance-completion-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.finance-completion-progress>strong{font-size:.82rem}.finance-completion-meter{width:100%;height:1.25rem;overflow:hidden;border:0;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.finance-completion-meter::-webkit-progress-bar{background:var(--surface)}.finance-completion-meter::-webkit-progress-value{background:var(--brand-magenta)}.finance-completion-meter::-moz-progress-bar{background:var(--brand-magenta)}.finance-completion-steps{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.finance-completion-step{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.8rem;position:relative}.finance-completion-step:not(:last-child)::after{content:"";position:absolute;top:3rem;bottom:-.75rem;left:1.45rem;width:2px;background:var(--line)}.finance-completion-number{z-index:1;display:grid;place-items:center;width:3rem;height:3rem;border:2px solid var(--line);border-radius:50%;background:var(--surface);font-weight:800;color:var(--muted)}.finance-completion-step article{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.finance-completion-step article>header{display:flex;justify-content:space-between;gap:1rem}.finance-completion-step h2{margin:.4rem 0 .25rem;font-size:1.15rem}.finance-completion-step p{margin:.35rem 0;color:var(--muted)}.finance-completion-step.is-current article{border:2px solid var(--brand-magenta);box-shadow:0 10px 28px rgba(36,38,32,.08)}.finance-completion-step.is-current .finance-completion-number{border-color:var(--brand-magenta);background:var(--brand-magenta);color:#fff}.finance-completion-step.is-done .finance-completion-number{border-color:var(--brand-green);background:var(--brand-green);color:#fff}.finance-completion-step.is-unavailable{opacity:.7}.finance-completion-metrics{display:flex;gap:.55rem;flex-wrap:wrap;margin:.8rem 0}.finance-completion-metrics>div{min-width:10rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-soft)}.finance-completion-metrics dt{font-size:.78rem;color:var(--muted)}.finance-completion-metrics dd{margin:.2rem 0 0;font-weight:750;overflow-wrap:anywhere}.finance-completion-next{margin-top:.25rem}.finance-completion-boundary{margin:1.25rem 0;padding:1rem;border-left:4px solid var(--brand-yellow);border-radius:var(--radius-sm);background:var(--surface-soft)}.finance-completion-boundary p{margin:.3rem 0 0;color:var(--muted)}
@media(max-width:760px){.finance-home-actions{width:100%;display:grid}.finance-completion-heading{align-items:stretch;flex-direction:column}.finance-completion-heading>.button{width:100%}.finance-completion-overview{grid-template-columns:minmax(0,1fr)}.finance-completion-step{grid-template-columns:2.5rem minmax(0,1fr)}.finance-completion-number{width:2.5rem;height:2.5rem}.finance-completion-step:not(:last-child)::after{top:2.5rem;left:1.2rem}.finance-completion-metrics{display:grid;grid-template-columns:minmax(0,1fr)}.finance-completion-metrics>div{min-width:0}.finance-completion-next{width:100%}}
/* Focused Mail and PEC workspaces */
.mail-focus-nav{display:flex;gap:.4rem;overflow-x:auto;margin:0 0 .85rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.mail-focus-nav a{flex:1;min-width:max-content;padding:.55rem .85rem;border-radius:999px;text-align:center;text-decoration:none;color:var(--muted);font-weight:650}
.mail-focus-nav a[aria-current="page"]{background:var(--brand-magenta);color:#fff}
.mail-folder-rail-secondary{display:none!important}
.mail-command-bar .mail-folder-picker{display:block}
.mail-command-bar .mail-folder-picker>summary{grid-template-columns:auto minmax(0,1fr) auto;list-style:none}
.mail-command-bar .mail-desktop-title{display:none}
.mail-category-badge{display:inline-flex;width:max-content;margin-top:.25rem;padding:.15rem .5rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.76rem;font-style:normal;font-weight:650}
.mail-technical-details{margin:.8rem 0;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-md)}
.mail-technical-details>summary{cursor:pointer;color:var(--muted);font-weight:650}
.mail-filter-details{margin:.75rem 0}.mail-filter-details>summary{width:max-content}.mail-filter-details[open]>.mail-search{margin-top:.65rem}
.pec-timeline{list-style:none;padding:0;margin:1rem 0}
.pec-timeline li{display:grid;grid-template-columns:1rem 1fr;gap:.65rem;position:relative;padding:0 0 1rem}
.pec-timeline li:not(:last-child)::before{content:"";position:absolute;left:.34rem;top:.75rem;bottom:0;border-left:2px solid var(--line)}
.pec-timeline-marker{width:.75rem;height:.75rem;margin-top:.28rem;border-radius:50%;background:var(--brand-magenta)}
.pec-timeline time{display:block;color:var(--muted);font-size:.86rem}

/* Bilingual online forms. */
.forms-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;max-width:100%;overflow-x:clip}.forms-layout>*{min-width:0}.forms-register{display:grid;gap:1rem}.forms-register .section-heading{align-items:center}.form-empty-state{display:grid;justify-items:start;gap:.75rem;max-width:38rem;padding:clamp(1rem,3vw,2rem);border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.form-empty-state h3,.form-empty-state p{margin:0}.form-empty-state p{color:var(--muted);line-height:1.6}.form-register-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),22rem));gap:.75rem;margin:0;padding:0;list-style:none}.form-register-list a{display:grid;align-content:start;gap:.45rem;min-height:8.5rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);text-decoration:none;background:var(--surface);transition:border-color .15s,box-shadow .15s,transform .15s}.form-register-list a:hover,.form-register-list a:focus-visible,.form-register-list a[aria-current="page"]{border-color:var(--brand-magenta);box-shadow:0 10px 24px rgba(35,47,34,.08);transform:translateY(-1px)}.form-register-list a>span:last-child{color:var(--muted);font-size:.84rem}.forms-published{padding-top:1rem;border-top:1px solid var(--line)}.forms-published .compact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.5rem}.forms-published .compact-list a{color:var(--ink)}
.form-builder{display:grid;gap:1rem;min-width:0;width:min(100%,68rem);margin-inline:auto}.form-builder input,.form-builder select,.form-builder textarea{min-width:0;max-width:100%}.form-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.form-builder-heading h2{margin:.25rem 0}.form-builder-heading p{margin:0;color:var(--muted)}.form-builder-back{font-size:.86rem;font-weight:750}.form-builder>form.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.form-builder-step{display:grid;gap:1rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.form-step-heading{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:start;gap:.75rem}.form-step-heading>span{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--brand-yellow);font-weight:850}.form-step-heading h3,.form-step-heading p{margin:0}.form-step-heading p{margin-top:.15rem;color:var(--muted);font-size:.9rem}.form-builder-basics,.form-field-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}.form-builder-languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-builder-languages fieldset{display:grid;align-content:start;gap:.65rem;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.form-builder-languages label,.form-builder-basics label,.form-field-settings label,.form-field-advanced label{display:grid;gap:.3rem;min-width:0;overflow-wrap:anywhere}.form-builder-languages small,.form-builder-basics small,.form-field-advanced small{color:var(--muted);font-weight:500}.form-builder-advanced{padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.form-builder-advanced>summary,.form-field-copy>summary,.form-field-advanced>summary{min-height:2rem;cursor:pointer;font-weight:750}.form-builder-advanced[open]>summary,.form-field-copy[open]>summary,.form-field-advanced[open]>summary{margin-bottom:.8rem}.form-builder-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.85rem}.form-builder-options label,.form-field-required{display:flex!important;align-items:center;gap:.55rem;padding:.65rem .75rem;border-radius:var(--radius-md);background:var(--surface)}.form-builder-options input,.form-field-required input{flex:0 0 auto}.form-builder-fields{display:grid;gap:.75rem}.form-field-editor{min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);overflow:hidden}.form-field-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.75rem;padding:.75rem 1rem;cursor:pointer;list-style:none}.form-field-editor>summary::-webkit-details-marker{display:none}.form-field-editor>summary>span:first-child{display:grid;gap:.15rem}.form-field-editor>summary small{color:var(--muted);font-size:.78rem;font-weight:600}.form-field-edit-label{color:var(--brand-magenta);font-size:.82rem;font-weight:800}.form-field-editor[open]>summary{border-bottom:1px solid var(--line);background:var(--surface)}.form-field-body{display:grid;gap:1rem;padding:1rem}.form-field-languages fieldset{background:var(--surface)}.form-field-copy{padding:.6rem .7rem;border:1px solid var(--line);border-radius:var(--radius-md)}.form-field-copy>div{display:grid;gap:.65rem}.form-field-options[hidden]{display:none}.form-field-advanced{max-width:30rem}.form-field-advanced>label{padding:.75rem;border-radius:var(--radius-md);background:var(--surface)}.form-remove-field{justify-self:start}.form-add-field{justify-self:start}.form-builder-actions{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.form-builder-links,.form-related-section{margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.form-fill,.form-public-heading,.form-thanks{width:min(100%,48rem);margin-inline:auto}.form-public-language{display:flex;width:max-content;max-width:100%;margin:0 auto 1rem}.form-fill{display:grid;gap:1rem}.form-section-title{margin:1.4rem 0 .2rem;padding-bottom:.35rem;border-bottom:2px solid var(--brand-yellow);font-size:1.25rem}.form-info{padding:.85rem 1rem;border-left:4px solid var(--brand-yellow);background:var(--surface-soft)}.form-fill-field{display:grid;gap:.4rem;min-width:0;padding:0;border:0}.form-fill-field legend{font-weight:750}.form-choice,.form-choice-list label{display:flex;gap:.55rem;align-items:flex-start}.form-choice input,.form-choice-list input{flex:0 0 auto;width:1.2rem;min-height:1.2rem;margin-top:.12rem}.form-choice-list{display:grid;gap:.45rem}.form-signature-section{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.form-signature-section .signature-pad canvas{display:block;width:100%;height:auto;aspect-ratio:3/1;touch-action:none;background:#fff}.form-signature-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.form-submission dl{display:grid;gap:0}.form-submission dl>div{display:grid;grid-template-columns:minmax(10rem,35%) minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.form-submission dt{font-weight:750}.form-submission dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:880px){.form-builder-languages,.form-signature-meta{grid-template-columns:minmax(0,1fr)}.form-builder-options{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.forms-register .section-heading,.form-builder-heading{align-items:stretch;display:grid}.forms-register .section-heading .button{width:100%}.form-builder-step,.form-field-body{padding:.75rem}.form-builder-actions{display:grid}.form-builder-actions .button{width:100%}.form-submission dl>div{grid-template-columns:minmax(0,1fr);gap:.2rem}}

/* Keep the board navigation off-canvas on touch layouts until it is opened. */
@media(max-width:980px){
    .app-frame:not(.sidebar-is-open)>.app-sidebar{transform:translateX(calc(-100% - 16px));visibility:hidden;pointer-events:none}
    .app-frame.sidebar-is-open>.app-sidebar{transform:translateX(0);visibility:visible;pointer-events:auto}
}
@media (min-width:900px){.platform-mail-workspace{grid-template-columns:minmax(18rem,34%) minmax(0,1fr)!important;height:calc(100dvh - 21rem);min-height:0}}
.mail-format-choice{align-items:center;border:0;display:flex;gap:1rem;padding:0}.mail-format-choice legend{font-weight:700;margin-bottom:.35rem}.mail-html-editor{min-width:0}.mail-editor-toolbar{background:var(--surface-soft);border:1px solid var(--line);border-bottom:0;border-radius:.65rem .65rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem}.mail-editor-toolbar button{background:var(--surface);border:1px solid var(--line);border-radius:.45rem;min-height:2.75rem;min-width:2.75rem}.mail-rich-editor{background:var(--surface);border:1px solid var(--line);border-radius:0 0 .65rem .65rem;min-height:16rem;overflow:auto;padding:.85rem}.mail-signature-settings{border:1px solid var(--line);border-radius:.75rem;margin:1rem 0;padding:.75rem}.mail-signature-settings form{display:grid;gap:.75rem;margin-top:.75rem;max-width:48rem}.mail-safe-html{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1rem}
.mail-contact-shortcut{align-items:end;display:flex;justify-content:flex-end}.mail-recipient-options{border:1px solid var(--line);border-radius:.65rem;padding:.7rem}.mail-recipient-options>summary{cursor:pointer;font-weight:700}.mail-recipient-options>div{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:.8rem}.mail-recipient-options label{display:grid;gap:.35rem}.mail-compose-groups,.mail-group-members{border:0;display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.mail-compose-groups legend,.mail-group-members legend{font-weight:700;margin-bottom:.4rem}.mail-compose-groups label,.mail-group-members label{align-items:flex-start;display:flex;gap:.5rem;font-weight:500}.mail-draft-attachments{background:var(--surface-soft);border-radius:.65rem;padding:.75rem}.mail-draft-attachments h3{font-size:.95rem;margin:0 0 .5rem}.mail-draft-attachments ol,.mail-signature-list,.mail-group-summary{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.mail-draft-attachments li,.mail-signature-list li{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.mail-autosave-status{color:var(--muted);font-size:.82rem;margin-right:auto}.mail-contact-register{margin-block:1rem}.mail-contact-form{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.75rem}.mail-contact-form label{display:grid;gap:.35rem}.mail-contact-form .wide{grid-column:1/-1}.mail-contact-register .record-card-list{margin-top:1rem}.mail-group-summary{color:var(--muted);font-size:.88rem;margin-block:.75rem}.mail-signature-list{margin-top:1rem}.mail-signature-list form{display:block;margin:0}.mail-signature-list .button{min-height:2.5rem}
@media(max-width:47.99rem){.mail-recipient-options>div,.mail-contact-form,.mail-compose-groups,.mail-group-members{grid-template-columns:1fr}.mail-contact-form .wide{grid-column:auto}.mail-contact-shortcut{justify-content:stretch}.mail-contact-shortcut .button{width:100%}.mail-compose-dialog footer{display:grid;grid-template-columns:1fr 1fr}.mail-compose-dialog footer .mail-autosave-status{grid-column:1/-1}.mail-draft-attachments li,.mail-signature-list li{align-items:stretch;display:grid}.mail-signature-list .button{width:100%}}

/* Native choice controls must never inherit full-width text-field sizing. */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    flex: 0 0 1.25rem;
    width: 1.25rem !important;
    min-width: 1.25rem !important;
    max-width: 1.25rem !important;
    height: 1.25rem !important;
    min-height: 1.25rem !important;
    padding: 0 !important;
    margin: .15rem 0 0;
}

/* These two controls intentionally use a visually hidden native input. */
.attendance-choice input[type="radio"],
.survey-rating-options input[type="radio"] {
    position: absolute;
    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0;
    opacity: 0;
}

.work-safety-document-brand {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--color-border, #d9ded6);
    color: #254837;
}

.work-safety-document-brand img {
    width: 3rem;
    height: 3rem;
    object-fit: contain;
}

.work-safety-document-brand strong {
    font-size: 1rem;
    letter-spacing: .01em;
}

/* Protected tax-code completeness workspace. */
.tax-completeness-summary{display:grid;gap:1rem;margin:0 0 1.25rem;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}
.tax-progress{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,2fr) auto;align-items:center;gap:1rem}.tax-progress>div{display:grid;gap:.2rem}.tax-progress strong{font-size:1.35rem}.tax-progress progress{width:100%;height:1.1rem;overflow:hidden;border:0;border-radius:999px;background:var(--surface)}.tax-progress progress::-webkit-progress-bar{background:var(--surface)}.tax-progress progress::-webkit-progress-value{background:var(--brand-green)}.tax-progress progress::-moz-progress-bar{background:var(--brand-green)}
.tax-completeness-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.tax-completeness-summary dl>div{padding:.8rem;border-radius:var(--radius-md);background:var(--surface)}.tax-completeness-summary dt{color:var(--muted);font-size:.8rem;font-weight:700}.tax-completeness-summary dd{margin:.2rem 0 0;font-size:1.35rem;font-weight:800}.tax-completeness-summary>p{margin:0;color:var(--muted)}
.tax-completeness-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:end;gap:.75rem;margin:0 0 1rem}.tax-completeness-filters label{display:grid;gap:.3rem;min-width:0}
.tax-completeness-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.tax-completeness-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:center;gap:1rem;min-width:0;padding:1rem;border:1px solid var(--line);border-left:4px solid var(--brand-yellow);border-radius:var(--radius-md);background:var(--surface)}.tax-completeness-row.status-complete{border-left-color:var(--brand-green)}.tax-completeness-row.status-conflict,.tax-completeness-row.status-duplicate{border-left-color:var(--error)}.tax-person,.tax-state{display:grid;gap:.25rem;min-width:0}.tax-person strong{overflow-wrap:anywhere}.tax-person span,.tax-state small{color:var(--muted)}.tax-state .status-badge{justify-self:start;white-space:normal}.tax-row-actions{display:flex;align-items:end;justify-content:flex-end;gap:.65rem;min-width:0}.tax-row-actions label{display:grid;flex:1;gap:.3rem;min-width:0}.tax-row-actions label>span{font-size:.82rem;font-weight:700}.tax-row-actions input{width:100%;text-transform:uppercase}.tax-completeness-save{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-top:1px solid var(--line)}.tax-completeness-save p{max-width:60rem;margin:0;color:var(--muted)}
@media(max-width:900px){.tax-completeness-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tax-row-actions{grid-column:1/-1}}
@media(max-width:700px){.tax-progress,.tax-completeness-filters,.tax-completeness-row{grid-template-columns:minmax(0,1fr)}.tax-completeness-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}.tax-row-actions{grid-column:auto;display:grid;justify-content:stretch}.tax-row-actions .button,.tax-completeness-save .button{width:100%}.tax-completeness-save{align-items:stretch;flex-direction:column}}
@media(max-width:430px){.tax-completeness-summary dl{grid-template-columns:minmax(0,1fr)}}

/* Everyday orientation: compact headings, explicit destinations and recoverable errors. */
.page-way-back { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 1.25rem; font-size:.85rem; }
.page-way-back a { display:inline-flex; align-items:center; gap:.4rem; min-height:44px; color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.everyday-shortcuts { margin:0 0 1.5rem; }
.everyday-shortcuts h2 { font-size:1.05rem; margin:0 0 .65rem; }
.everyday-shortcuts > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:.65rem; }
.everyday-shortcuts a { display:flex; align-items:center; justify-content:space-between; gap:.7rem; min-height:64px; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); color:var(--ink); text-decoration:none; }
.everyday-shortcuts a:hover { border-color:var(--brand-magenta); background:var(--surface-soft); }
.device-rollout-secondary { display:block; position:relative; margin:1.5rem 0 0; padding:0; }
.device-rollout-details > summary { cursor:pointer; font-weight:700; padding:1rem 1.25rem; min-height:56px; }
.device-rollout-details[open] { padding-bottom:1rem; }
.device-rollout-details .device-rollout-copy { padding:1rem 1.25rem; }
.device-rollout-details .device-rollout-qr { display:inline-flex; width:180px; margin-inline:1.25rem; }
.device-rollout-details .device-rollout-dismiss { position:static; margin:0 1.25rem; }
.live-validation-summary ul { padding:0; margin:.5rem 0 0; list-style:none; }
.live-validation-summary li button { display:block; max-width:100%; border:0; background:transparent; color:inherit; text-decoration:underline; text-align:left; overflow-wrap:anywhere; cursor:pointer; min-height:44px; padding:.4rem 0; }
body[data-navigation-experience] .page-heading h1 { font-size:clamp(1.8rem,3.5vw,2.75rem); line-height:1.15; text-transform:none; letter-spacing:-.035em; overflow-wrap:anywhere; }
body[data-navigation-experience] .page-heading { margin-bottom:1.5rem; }
body[data-navigation-experience] .page-heading-visual { min-height:0; padding-block:0; }
body[data-navigation-experience] .page-heading-visual-stack { max-width:180px; }
@media(max-width:760px) {
 .workspace-topbar { gap:.4rem; padding-inline:.65rem; }
 .workspace-topbar > .menu-button { gap:.3rem; align-items:center; padding:8px; flex-shrink:0; font-size:.8rem; }
 .topbar-page-search { flex:1 1 auto; gap:.25rem; padding:8px; width:auto; font-size:.8rem; }
 .topbar-page-search span { position:static; width:auto; height:auto; clip:auto; overflow:visible; }
 .topbar-actions { gap:.25rem; }
 .language-switch button { padding-inline:.45rem; min-width:44px; }
 .everyday-shortcuts > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .everyday-shortcuts a { min-width:0; padding:.8rem; font-size:.9rem; overflow-wrap:anywhere; }
 .everyday-shortcuts a .action-icon { display:none; }
 .page-way-back { margin-bottom:.65rem; }
 .device-rollout-details .device-rollout-qr { display:none; }
 body[data-navigation-experience] .page-heading-visual-stack { display:none; }
}
@media(max-width:360px) { .everyday-shortcuts > div { grid-template-columns:minmax(0,1fr); } .everyday-shortcuts a { min-height:52px; } }


/* Decorative header art fades into the workspace without reserving a column. */
body[data-navigation-experience] .page-heading.page-heading-visual {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 0;
}
body[data-navigation-experience] .page-heading-visual-stack {
    position: static;
    display: flex;
    max-width: 100%;
    width: auto;
}
body[data-navigation-experience] .page-heading-visual-stack:not(:has(.heading-actions, .page-heading-actions)) {
    display: contents;
}
.page-heading-visual .page-visual-composition {
    position: absolute;
    z-index: -1;
    inset: -1rem 0 -1rem auto;
    width: min(55%, 540px);
    min-height: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: .32;
    -webkit-mask-image: radial-gradient(ellipse at 66% 42%, #000 5%, transparent 72%);
    mask-image: radial-gradient(ellipse at 66% 42%, #000 5%, transparent 72%);
}
.page-heading-visual .page-visual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.page-heading-visual .page-visual::after { content: none; }
.page-heading-visual .page-watercolor-branch { display: none; }
@media (max-width: 760px) {
    body[data-navigation-experience] .page-heading-visual-stack { width: 100%; }
    .page-heading-visual .page-visual-composition { width: 65%; opacity: .18; }
}
@media print {
    .page-heading-visual .page-visual-composition { display: none; }
}

.board-meeting-intro { position: relative; isolation: isolate; display: block; }
.board-meeting-intro .meeting-visual {
    position: absolute;
    z-index: -1;
    inset: -1rem 0 -1rem auto;
    width: min(45%, 280px);
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    opacity: .22;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse, #000 5%, transparent 72%);
    mask-image: radial-gradient(ellipse, #000 5%, transparent 72%);
}
