@charset "UTF-8";:root{--color-bg: #eef3f7;--color-surface: #ffffff;--color-surface-elevated: #f7fafc;--color-border: #d5dee7;--color-text: #1c2a36;--color-muted: #5d6f7e;--color-accent: #0f5f7a;--shadow-soft: 0 10px 30px rgba(28, 42, 54, .06);color:var(--color-text);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top left,rgba(15,95,122,.12),transparent 40%),linear-gradient(180deg,#f7fbff 0%,var(--color-bg) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh}a{color:inherit}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.page--narrow{max-width:720px}.page__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.page__eyebrow{margin:0;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.page__lede{margin:.35rem 0 0;color:#4a5d6c}.page h1,.auth-card h1{margin:.2rem 0 0;font-size:1.75rem}.page .filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;margin-bottom:1rem;align-items:end}.page .filters--compact{grid-template-columns:2fr 1fr auto}.page .filters__actions{display:flex;gap:.5rem}.page label,.auth-card label{display:grid;gap:.3rem;font-size:.85rem;color:var(--color-muted)}.form label{font-size:.9rem;color:var(--color-text)}.page label:not([class]):has(input[type=checkbox]),.page label:not([class]):has(input[type=radio]),.page label.full:has(input[type=checkbox]),.page label.full:has(input[type=radio]),.auth-card label:not([class]):has(input[type=checkbox]),.auth-card label:not([class]):has(input[type=radio]),.form label:not([class]):has(input[type=checkbox]),.form label:not([class]):has(input[type=radio]){display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;width:fit-content;max-width:100%;color:var(--color-text);font-size:.9rem}.page label:not([class]):has(>span+input[type=checkbox])>input[type=checkbox],.page label:not([class]):has(>span+input[type=radio])>input[type=radio],.form label:not([class]):has(>span+input[type=checkbox])>input[type=checkbox],.form label:not([class]):has(>span+input[type=radio])>input[type=radio]{order:-1}.page label:not([class]) input[type=checkbox],.page label:not([class]) input[type=radio],.page label.full input[type=checkbox],.page label.full input[type=radio],.auth-card label:not([class]) input[type=checkbox],.auth-card label:not([class]) input[type=radio],.form label:not([class]) input[type=checkbox],.form label:not([class]) input[type=radio]{width:auto;margin:0;flex-shrink:0;accent-color:var(--color-accent)}.page input:not([type=checkbox]):not([type=radio]),.page select,.page textarea,.auth-card input:not([type=checkbox]):not([type=radio]),.auth-card select,.auth-card textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.auth-card input:not([type=checkbox]):not([type=radio]),.auth-card select,.auth-card textarea{background:#fff}.page input[readonly],.auth-card input[readonly]{background:var(--color-surface-elevated);color:var(--color-muted)}.touch-keyboard-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:stretch}.touch-keyboard-trigger{min-width:2.75rem;min-height:2.75rem;padding:.35rem .55rem;font-size:1.15rem;line-height:1;align-self:stretch}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:.4rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-decoration:none;cursor:pointer;font:inherit;line-height:1.25}a.btn{color:var(--color-text)}.btn--primary,a.btn--primary,button.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--ghost,a.btn--ghost,button.btn--ghost{background:transparent}.btn:disabled,button.btn:disabled{opacity:.6;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.actions--row{flex-direction:row}.actions .check{margin-top:0}.page [class$=__actions]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.panel>.actions,.landing>.actions,.state>.actions{margin-top:.75rem}.table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem}.page table{width:100%;border-collapse:collapse}.page th,.page td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--color-border);vertical-align:top}.page th{font-size:.8rem;color:var(--color-muted);font-weight:600}.page a:not(.btn){color:var(--color-accent)}.pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:#e8eef2;font-size:.8rem}.pill--active{background:#0f5f7a1f;color:var(--color-accent)}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem}.state{padding:1.25rem;border-radius:.6rem;background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:1rem}.state--error{border-color:#c45c5c;background:#fff5f5}.meta,.hint{color:#4a5d6c;font-size:.88rem}.field-error{color:#a33;font-size:.8rem}.form{display:grid;gap:.9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;padding:1.1rem}.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem}.page fieldset{border:1px solid var(--color-border);border-radius:.45rem;padding:.75rem .9rem;margin:0}.page fieldset legend{padding:0 .25rem;font-size:.85rem;color:var(--color-muted)}.page label.check,.form label.check,.auth-card label.check,.page label.checkbox,.form label.checkbox,.auth-card label.checkbox,.check,.checkbox{display:inline-flex;flex-direction:row;align-items:center;gap:.55rem;margin-top:0;color:var(--color-text);font-size:.9rem;line-height:1.3;width:fit-content;max-width:100%;cursor:pointer}.page label.check input[type=checkbox],.page label.check input[type=radio],.form label.check input[type=checkbox],.form label.check input[type=radio],.auth-card label.check input[type=checkbox],.auth-card label.check input[type=radio],.page label.checkbox input[type=checkbox],.page label.checkbox input[type=radio],.form label.checkbox input[type=checkbox],.form label.checkbox input[type=radio],.auth-card label.checkbox input[type=checkbox],.auth-card label.checkbox input[type=radio],.check input[type=checkbox],.check input[type=radio],.checkbox input[type=checkbox],.checkbox input[type=radio]{width:1.05rem;height:1.05rem;margin:0;flex-shrink:0;accent-color:var(--color-accent)}.page fieldset.check-group,.page fieldset:has(>label.check),.page fieldset:has(>label.checkbox),.check-group{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.35rem}.page fieldset.check-group legend,.page fieldset:has(>label.check) legend,.page fieldset:has(>label.checkbox) legend,.check-group legend{width:100%;float:left;padding:0 .25rem;margin-bottom:.15rem}.page .filters:has(input[type=checkbox]),.page .filters--compact:has(input[type=checkbox]){align-items:center}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;padding:1rem 1.1rem;margin-bottom:1rem}.panel__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:.75rem}.panel h2{margin:0 0 .75rem;font-size:1.1rem}.panel__header h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;margin:0}.grid dt{color:var(--color-muted);font-size:.8rem}.grid dd{margin:.15rem 0 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-bottom:1.25rem}.card{padding:1.1rem 1.15rem;border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);min-width:0}.card h2{margin:0 0 .85rem;font-size:1.05rem;color:var(--color-text)}.card dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.85rem 1rem}.card dl>div{display:grid;gap:.25rem;align-content:start;min-width:0}.card dt{margin:0;color:var(--color-muted);font-size:.8rem;font-weight:600;letter-spacing:.01em}.card dd{margin:0;color:var(--color-text);font-size:.95rem;font-weight:600;line-height:1.35;word-break:break-word}.card__label{margin:0;color:var(--color-muted);font-size:.8rem}.card__value{margin:.35rem 0 0;font-size:1.35rem;font-weight:700}.card__value--compact{font-size:1rem;font-weight:600}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.4rem;padding:.45rem .75rem;cursor:pointer;font:inherit;color:var(--color-text)}.tabs button.is-active{border-color:var(--color-accent);color:var(--color-accent)}.nav-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.section-title{margin:1.5rem 0 .75rem;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid .full{grid-column:1/-1}@media(max-width:900px){.page .filters,.page .filters--compact,.grid,.form-grid{grid-template-columns:1fr}.page__header{flex-direction:column}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;box-shadow:var(--shadow-soft);padding:2rem 1.75rem}.auth-card--wide{max-width:420px}.auth-card form{display:grid;gap:1rem;margin-top:1.25rem}.auth-card .page__eyebrow+h1{margin-top:.2rem}.auth-card .hint{margin:.75rem 0 0}.auth-card .state{margin-top:1rem;margin-bottom:0}.password-field{display:flex;gap:.5rem;align-items:center}.password-field input:not([type=checkbox]):not([type=radio]){width:auto;flex:1;min-width:0}.linkish{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:0;font:inherit;font-size:.85rem;text-decoration:none;display:inline-block}a.linkish{padding:.4rem 0}.admin-page{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.admin-page__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.admin-eyebrow{margin:0;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.admin-lede{margin:.35rem 0 0;color:#4a5d6c}.admin-page h1{margin:.2rem 0 0;font-size:1.75rem}.admin-actions,.admin-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-toolbar{margin:1rem 0}.admin-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)) auto;gap:.75rem;margin-bottom:1rem;align-items:end}.admin-filters label{display:grid;gap:.3rem;font-size:.85rem;color:var(--color-muted)}.admin-filters select,.admin-filters input{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.admin-toolbar input,.admin-toolbar select{width:auto;min-width:12rem;max-width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem;margin:.75rem 0 1rem}.admin-panel>h2{margin:0 0 .35rem;font-size:1.1rem}.admin-panel>.admin-button,.admin-panel>.admin-form-grid+.admin-button{margin-top:.25rem}.admin-panel label:not([class]){display:grid;gap:.3rem;font-size:.85rem;color:var(--color-muted)}.admin-panel label:not([class]) input:not([type=checkbox]):not([type=radio]),.admin-panel label:not([class]) select,.admin-panel label:not([class]) textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.admin-panel+.admin-toolbar,.admin-panel+.admin-table,.admin-toolbar+.admin-table,.admin-toolbar+p{margin-top:1rem}.admin-table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem}.admin-table-wrap .admin-table{margin:0}.admin-table-wrap .admin-table th:first-child,.admin-table-wrap .admin-table td:first-child{padding-left:.85rem}.admin-button,a.admin-button,button.admin-button{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:.4rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-decoration:none;cursor:pointer;font:inherit;line-height:1.25}.admin-button--primary,a.admin-button--primary,button.admin-button--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.admin-button:disabled,button.admin-button:disabled{opacity:.6;cursor:not-allowed}.admin-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;padding:1rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--color-border);vertical-align:top}.admin-table th{font-size:.8rem;color:var(--color-muted);font-weight:600}.admin-table a:not(.admin-button){color:var(--color-accent)}.admin-banner{margin:0 0 1rem;padding:.75rem .9rem;border-radius:.5rem;border:1px solid var(--color-border)}.admin-banner--error{border-color:#c45c5c;background:#fdf2f2;color:#8a1f1f}.admin-banner--success{border-color:#2f6f4e;background:#eef7f2;color:#1f5a3a}.admin-muted{color:var(--color-muted)}.admin-definition-list{margin:0 0 1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.85rem 1.25rem;padding:1rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem}.admin-definition-list>div{display:grid;gap:.25rem;align-content:start;min-width:0}.admin-definition-list dt{margin:0;color:var(--color-muted);font-size:.8rem;font-weight:600}.admin-definition-list dd{margin:0;color:var(--color-text);word-break:break-word}.admin-definition-list--rows{grid-template-columns:1fr;gap:0;padding:.35rem 1.1rem}.admin-definition-list--rows>div{display:grid;grid-template-columns:minmax(8.5rem,11rem) minmax(0,1fr);gap:.75rem 1rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid var(--color-border)}.admin-definition-list--rows>div:last-child{border-bottom:0}.admin-definition-list--rows dt{font-size:.85rem}.admin-definition-list--rows dd{font-size:.95rem}.admin-panel .admin-definition-list{margin-bottom:0;padding:0;background:transparent;border:0;border-radius:0}.admin-panel .admin-definition-list--rows{padding:0}.admin-definition-list+.admin-actions,.admin-panel+.admin-actions{margin-top:1rem}.admin-panel-stack{display:grid;gap:1rem;margin-bottom:1.25rem}.admin-panel-stack>.admin-panel{margin:0}.admin-panel>h2:first-child{margin-top:0}.admin-form{display:grid;gap:1rem;max-width:40rem;margin-top:.5rem}.admin-form--inline{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;max-width:none}.admin-form>label:not([class]),.admin-field{display:grid;gap:.35rem;font-size:.9rem;color:var(--color-text)}.admin-form>label:not([class]) input:not([type=checkbox]):not([type=radio]),.admin-form>label:not([class]) select,.admin-form>label:not([class]) textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.admin-form>label:not([class]) textarea{resize:vertical;min-height:4.5rem}.admin-field:has(>input[type=checkbox]){display:inline-flex;flex-direction:row;align-items:center;gap:.55rem;width:fit-content;max-width:100%}.admin-field:has(>input[type=checkbox])>input[type=checkbox]{order:-1;width:auto;margin:0;flex-shrink:0;accent-color:var(--color-accent)}.admin-file{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-file__trigger{position:relative;overflow:hidden;cursor:pointer}.admin-file__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.admin-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-field select,.admin-field textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--color-surface);color:var(--color-text);font:inherit}.admin-field textarea{resize:vertical;min-height:4.5rem}.admin-form .admin-button{justify-self:start;margin-top:.25rem}.admin-page--narrow{max-width:720px}.admin-wizard-steps{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 1.25rem;color:var(--color-muted);font-size:.85rem}.admin-wizard-steps__step--active,.admin-wizard-steps span.admin-wizard-steps__step--active{color:var(--color-text);font-weight:600}.admin-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin:1rem 0}.admin-choice-card{display:grid;gap:.35rem;text-align:left;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.admin-choice-card strong{font-size:.95rem}.admin-choice-card span{color:#4a5d6c;font-size:.85rem;line-height:1.35}.admin-choice-card--selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.admin-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.admin-chip{padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.85rem;cursor:pointer}.admin-chip--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));font-weight:600}.admin-page--wide{max-width:1400px}.admin-calendar-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;margin:.75rem 0 1rem}.admin-calendar-heading{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text)}.admin-calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;overflow:hidden}.admin-calendar__weekdays,.admin-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.admin-calendar__grid--day{grid-template-columns:1fr}.admin-calendar__weekday{padding:.55rem .65rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:center}.admin-calendar__day{min-height:7.5rem;padding:.4rem .45rem .55rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.admin-calendar__grid>.admin-calendar__day:nth-child(7n){border-right:none}.admin-calendar--week .admin-calendar__day{min-height:14rem}.admin-calendar--day .admin-calendar__day{min-height:12rem;border-right:none}.admin-calendar__day--outside{background:color-mix(in srgb,var(--color-bg) 55%,var(--color-surface));color:var(--color-muted)}.admin-calendar__day--today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-accent) 45%,transparent)}.admin-calendar__day--selected:not(.admin-calendar__day--today){background:color-mix(in srgb,var(--color-accent) 6%,var(--color-surface))}.admin-calendar__day-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.35rem}.admin-calendar__day-number{margin:0;padding:0;border:none;background:transparent;font:inherit;font-size:.85rem;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left}.admin-calendar__day-number:hover{color:var(--color-accent)}.admin-calendar__day--outside .admin-calendar__day-number{color:var(--color-muted)}.admin-calendar__day-count{min-width:1.25rem;padding:.05rem .35rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 14%,var(--color-surface));color:var(--color-accent);font-size:.7rem;font-weight:600;text-align:center}.admin-calendar__events{display:flex;flex-direction:column;gap:.3rem}.admin-calendar__event{display:grid;gap:.1rem;padding:.3rem .4rem;border-radius:.35rem;border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-text);text-decoration:none;font-size:.75rem;line-height:1.25}.admin-calendar__event:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface))}.admin-calendar__event--draft{border-style:dashed;background:var(--color-surface-elevated)}.admin-calendar__event--completed{border-color:color-mix(in srgb,#2f6b4f 35%,var(--color-border));background:color-mix(in srgb,#2f6b4f 10%,var(--color-surface))}.admin-calendar__event--cancelled{opacity:.65;text-decoration:line-through;border-color:var(--color-border);background:var(--color-surface-elevated)}.admin-calendar__event-time{color:var(--color-muted);font-weight:600}.admin-calendar__event-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-calendar__event-meta,.admin-calendar__event-status{color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-calendar--month .admin-calendar__event-status,.admin-calendar--month .admin-calendar__event-open{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-calendar--month .admin-calendar__event{position:relative}.admin-calendar--week .admin-calendar__event-open,.admin-calendar--day .admin-calendar__event-open{color:var(--color-accent);font-weight:600}@media(max-width:900px){.admin-calendar--month .admin-calendar__day{min-height:5.5rem}.admin-calendar--week .admin-calendar__grid{grid-template-columns:1fr}.admin-calendar--week .admin-calendar__day{min-height:auto;border-right:none}.admin-calendar--week .admin-calendar__event-title,.admin-calendar--week .admin-calendar__event-meta,.admin-calendar--week .admin-calendar__event-status{white-space:normal}}
