@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page-bg: #f4f7fb;--surface: #ffffff;--surface-subtle: #f8fafc;--surface-hover: #f1f5f9;--text: #182230;--text-secondary: #344054;--text-muted: #667085;--border: #e3e8ef;--border-strong: #cbd5e1;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff6ff;--accent: #0f766e;--control-height: 42px;--control-radius: 8px;--compact-control-size: 30px;--focus-ring: rgba(37, 99, 235, .2);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 8px 24px rgba(16, 24, 40, .08);color:var(--text);background:var(--page-bg);color-scheme:light;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--page-bg);line-height:1.5}button,summary,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,summary,a{transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}::selection{color:#fff;background:var(--primary)}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh}.app-shell--signed-out{display:flex;flex-direction:column}.connection-banner{display:flex;width:min(1120px,calc(100% - 32px));align-items:center;justify-content:space-between;gap:12px;margin:12px auto 0;border:1px solid #f3d37a;border-radius:8px;padding:10px 14px;color:#7a4d00;background:#fff7d6;box-shadow:0 10px 24px #7a4d001f}.connection-banner strong,.connection-banner span{display:block}.connection-banner strong{flex:0 0 auto;font-size:.9rem}.connection-banner span{color:#6d5120;font-size:.9rem;font-weight:700}.eyebrow{margin:0 0 8px;color:inherit;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;color:var(--text);font-size:1.5rem;font-weight:750;line-height:1.2}h2{margin-bottom:0;color:var(--text);font-size:1.2rem;font-weight:750;line-height:1.3}.topbar{display:flex;width:min(1180px,calc(100% - 40px));align-items:center;justify-content:space-between;gap:16px;margin:0 auto;padding:20px 0}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-navigation,.navigation-menu-trigger,.navigation-menu-layer{display:none}.icon-button,.navigation-menu-trigger{width:42px;height:42px;place-items:center;flex:0 0 auto;border:1px solid var(--border-strong);border-radius:8px;color:var(--text);background:var(--surface);cursor:pointer}.navigation-menu-backdrop{position:fixed;z-index:80;inset:0;border:0;background:#0f172a6b}.navigation-drawer{position:fixed;z-index:81;top:0;left:0;display:flex;width:min(320px,calc(100vw - 48px));max-height:calc(100vh - 24px);flex-direction:column;overflow-y:auto;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-right-radius:8px;color:var(--text);background:var(--surface);box-shadow:12px 0 30px #0f172a2e}.navigation-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 16px;border-bottom:1px solid var(--border)}.navigation-drawer__brand{display:flex;min-width:0;align-items:center;gap:10px}.navigation-drawer__brand img{width:34px;height:34px;border-radius:7px}.navigation-drawer__brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-drawer__items{display:grid;padding:10px 0}.navigation-drawer__item{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border:0;padding:10px 20px;color:var(--text-secondary);background:transparent;font:inherit;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}.navigation-drawer__privacy{margin-top:4px;border-top:1px solid var(--border)}.navigation-drawer__item:hover,.navigation-drawer__item[aria-current=page]{color:var(--primary);background:var(--surface-hover)}.brand{display:flex;min-width:0;align-items:center;gap:14px}.brand img{width:44px;height:44px;flex:0 0 auto;border-radius:8px}.brand .eyebrow{color:#48627d}.environment-badge{display:inline-flex;min-height:36px;align-items:center;white-space:nowrap;border:1px solid #cdd8e5;border-radius:999px;padding:7px 12px;color:#33465a;background:#fff;font-size:.9rem;font-weight:800}.workspace{display:grid;width:min(1180px,calc(100% - 40px));grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 auto;padding-bottom:48px}.app-footer{width:min(1180px,calc(100% - 40px));margin:auto auto 0;padding:24px 0 28px;text-align:center}.app-footer a{color:var(--text-muted);font-size:.9rem;font-weight:700;text-decoration:none}.app-footer a:hover{color:var(--primary);text-decoration:underline}.auth-layout{display:grid;width:calc(100% - 40px);max-width:460px;gap:14px;margin:clamp(28px,7vh,72px) auto 48px}.auth-layout .panel{min-height:0}.pwa-install-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:8px;padding:16px 18px;background:var(--surface);box-shadow:var(--shadow-sm)}.pwa-install-prompt .panel__header{margin:0}.pwa-install-prompt h2{font-size:1rem}.pwa-install-prompt .pwa-install-button{flex:0 0 auto;margin:0}.account-menu{position:relative;z-index:20}.notification-menu{position:relative;z-index:21}.notification-menu>summary{position:relative;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-secondary);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu>summary:hover{border-color:#94a3b8;background:var(--surface-subtle)}.notification-menu__badge{position:absolute;top:-6px;right:-6px;display:grid;min-width:20px;height:20px;place-items:center;border:2px solid var(--page-bg);border-radius:999px;padding:0 4px;color:#fff;background:#dc2626;font-size:.7rem;font-weight:800;line-height:1}.notification-menu__popover{position:absolute;top:calc(100% + 8px);right:0;width:min(440px,calc(100vw - 24px));border:1px solid var(--border);border-radius:8px;padding:14px;color:var(--text);background:var(--surface);box-shadow:0 18px 42px #10182829}.notification-menu__header{margin-bottom:12px}.notification-menu__header h2{font-size:1rem}.notification-menu__popover>p{margin:0}.notification-menu__list{display:grid;max-height:min(68vh,600px);gap:10px;overflow-y:auto;padding-right:3px;scrollbar-gutter:stable}.notification-menu__popover .reminder-row{grid-template-columns:1fr;padding:12px}.notification-menu__popover .reminder-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left}.account-menu summary{display:flex;min-height:40px;max-width:280px;align-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;padding:8px 12px;color:var(--text-secondary);background:var(--surface);font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm)}.account-menu summary:hover{border-color:#94a3b8;background:var(--surface-subtle)}.account-menu summary svg{flex:0 0 auto;margin-right:8px}.account-menu summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__popover{position:absolute;top:calc(100% + 8px);right:0;display:grid;width:min(320px,calc(100vw - 24px));gap:8px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface);box-shadow:0 18px 42px #10182829}.menu-button{display:flex;min-height:40px;align-items:center;gap:8px;border:0;border-radius:6px;padding:8px 10px;color:var(--text-secondary);background:transparent;font-weight:800;text-align:left;cursor:pointer}.menu-button:hover{background:var(--surface-hover)}.menu-button--sign-out{color:#8a1f17;background:#fff0ef}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#16212f80}.confirm-dialog{display:grid;width:min(420px,100%);gap:22px;border:1px solid var(--border-strong);border-radius:8px;padding:24px;color:#16212f;background:#fff;box-shadow:0 24px 64px #16212f33}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog p{margin-top:10px;color:#4a5b6d;line-height:1.5}.confirm-dialog__actions .danger-button{display:inline-flex;align-items:center;gap:8px}.confirm-dialog__actions button{flex:1 1 0;justify-content:center}.menu-button:disabled{cursor:not-allowed;opacity:.7}.account-settings,.account-actions{display:grid;gap:20px}.account-actions--panel{max-width:520px;gap:28px}.account-actions--panel .install-app-button,.account-actions--panel .account-change-password-button,.account-actions--panel .menu-button--sign-out{width:fit-content;min-width:140px;justify-content:center}.account-notification-note{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.notification-setting{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface-subtle)}.notification-setting__label{display:flex;min-width:0;align-items:center;gap:10px}.notification-setting__label>svg{flex:0 0 auto;color:var(--primary)}.notification-setting__label span{display:grid;min-width:0;gap:2px}.notification-setting__label strong{color:var(--text);font-size:.94rem}.notification-setting__label small{color:var(--text-muted);font-size:.78rem;line-height:1.3}.notification-switch{position:relative;width:46px;min-width:46px;height:26px;border:0;border-radius:999px;padding:3px;background:#94a3b8;cursor:pointer;transition:background .16s ease}.notification-switch--on{background:var(--primary)}.notification-switch:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.notification-switch:disabled{cursor:not-allowed;opacity:.55}.notification-switch__thumb{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a4d;transition:transform .16s ease}.notification-switch--on .notification-switch__thumb{transform:translate(20px)}.notification-help-dialog{gap:18px}.notification-help-instructions{display:grid;gap:7px;color:var(--text-secondary);font-size:.9rem;line-height:1.45}.notification-help-instructions ol{display:grid;gap:4px;margin:0 0 8px;padding-left:22px}.notification-help-instructions li{padding-left:2px}.account-actions--panel .menu-button--sign-out{margin-top:24px}.password-change-dialog{width:min(460px,100%)}.password-change-fields{display:grid;gap:16px}.password-change-fields label{display:grid;gap:7px;color:var(--text-secondary);font-size:.88rem;font-weight:750}.password-change-fields input{width:100%;min-height:42px;border:1px solid var(--border-strong);border-radius:8px;padding:9px 12px;color:var(--text);background:var(--surface)}.password-change-fields input:focus{border-color:var(--primary);outline:3px solid var(--focus-ring)}.account-actions--panel .menu-button--sign-out{border:1px solid #f0aaa5}.workspace--account{max-width:720px;grid-template-columns:minmax(0,1fr)}.volunteer-account-settings-panel .theme-setting{border-bottom:0;padding:0}.install-app-button{display:inline-flex;align-items:center;gap:8px}.ios-install-hint{display:inline-flex;width:fit-content;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-secondary);background:var(--surface-muted);font-weight:800}.theme-setting{display:grid;gap:7px;border-bottom:1px solid #e2e9f1;padding:4px 4px 12px}.theme-setting>span{color:#5d7084;font-size:.78rem;font-weight:800}.theme-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;padding:3px;background:var(--surface-subtle)}.theme-switcher__option{min-height:34px;border:0;border-radius:6px;padding:6px 8px;color:#48627d;background:transparent;font-size:.82rem;font-weight:800;cursor:pointer}.theme-switcher__option[aria-pressed=true]{color:#fff;background:var(--primary);box-shadow:var(--shadow-sm)}.dashboard-tabs-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding-bottom:48px}.page-heading,.team-workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading h2,.team-workspace-header h2{font-size:1.65rem}.team-workspace-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding-bottom:48px}.team-workspace-shell>.dashboard-tabs-shell{width:100%;padding-bottom:0}.team-workspace-header{align-items:flex-start;border-bottom:1px solid #dce5ef;padding-bottom:18px}.team-workspace-header h2{margin-top:8px}.breadcrumb-button{border:0;padding:0;color:#23597a;background:transparent;font-weight:800;cursor:pointer}.team-switcher{display:grid;min-width:220px;gap:6px;color:#26384c;font-size:.82rem;font-weight:800}.team-switcher select{width:100%;min-height:42px;border:1px solid #cdd8e5;border-radius:8px;padding:8px 10px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.summary-metric{display:grid;gap:8px;min-width:0;border-right:1px solid #dce5ef;padding:16px 18px}.summary-metric:last-child{border-right:0}.summary-metric span{color:var(--text-muted);font-size:.82rem;font-weight:800}.summary-metric strong{color:var(--text);font-size:1.55rem}.summary-metric--attention{background:#fff7d6}.summary-metric--attention strong{color:#7a4d00}.team-overview-table{border:1px solid #dce5ef;border-radius:8px;overflow:hidden}.team-overview-table__header,.team-overview-table__row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(80px,.65fr)) minmax(110px,auto);gap:12px;align-items:center}.team-overview-table__header{padding:10px 14px;color:#5d7084;background:#f5f8fc;font-size:.78rem;font-weight:800}.team-overview-table__row{border-top:1px solid #dce5ef;padding:14px}.team-overview-table__row:first-of-type{border-top:0}.team-overview-table__row>div{display:grid;min-width:0;gap:4px}.team-overview-table__row>div span{color:#0d5b3d;font-size:.78rem;font-weight:800;text-transform:capitalize}.team-overview-table__row>span{color:#33465a;font-weight:800}.maintenance-form{max-width:520px;margin-top:20px}.dashboard-tabs{display:flex;flex-wrap:nowrap;gap:4px;margin:0 0 16px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:thin}.dashboard-tab{min-height:42px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 12px 9px;color:var(--text-muted);background:transparent;font-weight:800;cursor:pointer;white-space:nowrap}.dashboard-tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.dashboard-tab[aria-selected=true]{color:var(--primary);border-color:var(--primary);background:transparent;box-shadow:none}.dashboard-tab-panel{display:grid;gap:16px}.dashboard-notices{display:grid;gap:10px;margin-bottom:16px}.dashboard-notices .notice{margin-top:0}.workspace--primary{grid-template-columns:minmax(0,1fr);padding-bottom:16px}.workspace--admin{width:100%;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);margin-top:24px;padding-bottom:0}.workspace--schedule-admin{width:100%;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);margin-top:16px;padding-bottom:0}.workspace--volunteer{width:100%;grid-template-columns:minmax(240px,.8fr) minmax(0,1.25fr) minmax(240px,.8fr);margin-top:24px;padding-bottom:0}.workspace--tab-panel{margin-top:0}.dashboard-panel--wide{grid-column:1 / -1}.panel{min-height:260px;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm),var(--shadow-md)}.panel__header{margin-bottom:18px}.panel__header .eyebrow{color:var(--text-muted)}.panel--status{border-top:4px solid var(--primary)}.panel p{color:var(--text-muted);line-height:1.6}.auth-panel,.dashboard-panel{min-height:auto}.auth-panel{padding:30px}.auth-panel .panel__header{margin-bottom:24px}.auth-form{display:grid;gap:10px;max-width:440px}.auth-actions{display:block;margin-top:6px}.auth-form .auth-primary-button{width:100%}.auth-help-section{display:grid;justify-items:center;gap:8px;border-top:1px solid var(--border);margin-top:12px;padding-top:18px;text-align:center}.auth-help-section>p{margin:0;font-size:.88rem}.auth-help-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px}.auth-form .auth-help-link{width:fit-content;min-height:auto;border:0;padding:2px 4px;color:var(--primary);background:transparent;box-shadow:none;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.auth-form .auth-help-link:not(:disabled):hover{color:var(--primary-hover);background:transparent;transform:none}.auth-reset-panel{display:grid;width:100%;justify-items:stretch;gap:14px;margin-top:6px;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface-subtle);text-align:left}.auth-reset-panel h3,.auth-reset-panel p{margin:0}.auth-reset-panel h3{font-size:1rem}.auth-reset-panel p{margin-top:5px;font-size:.88rem}.auth-reset-email{overflow-wrap:anywhere;color:var(--text)}.auth-reset-actions{justify-content:flex-end}.auth-form label,.admin-form label{color:var(--text-secondary);font-size:.92rem;font-weight:800}.admin-form{display:grid;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reminder-lead-control{min-width:0;margin:0;border:0;padding:0}.reminder-lead-control legend{margin-bottom:10px;padding:0;color:var(--text-secondary);font-size:.92rem;font-weight:800}.form-grid label{display:block;margin-bottom:10px}.time-select{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.time-select select{min-width:0}.time-select span{color:var(--text-secondary);font-size:1.1rem;font-weight:800}.checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkbox-option{display:flex;min-height:40px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text-secondary);background:var(--surface-subtle)}.admin-form .checkbox-option input{width:18px;min-height:18px;flex:0 0 auto}.auth-form input,.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.admin-form textarea{min-height:86px;resize:vertical}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--primary);outline:3px solid var(--focus-ring)}.auth-form button,.admin-form button,.primary-button,.secondary-button,.danger-button{min-height:var(--control-height);border:0;border-radius:var(--control-radius);padding:9px 14px;color:#fff;background:var(--primary);font-weight:800;cursor:pointer;box-shadow:var(--shadow-sm)}.auth-form button:not(.secondary-button):not(.danger-button):not(.auth-help-link):not(:disabled):hover,.admin-form button:not(.secondary-button):not(.danger-button):not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px)}.auth-form button,.admin-form button{width:fit-content}.auth-form button:disabled,.admin-form button:disabled,.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.72}.primary-button:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px)}.secondary-button,.auth-form .secondary-button,.admin-form .secondary-button{border:1px solid var(--border-strong);color:var(--text-secondary);background:var(--surface)}.secondary-button:not(:disabled):hover{border-color:#94a3b8;background:var(--surface-hover);transform:translateY(-1px)}.danger-button{border:1px solid #f1aaa5;color:#8a1f17;background:#fff0ef}.button-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.notice{margin-top:16px;border:1px solid #b9d7c8;border-radius:8px;padding:12px 14px;color:#0d5b3d;background:#ecf9f2;line-height:1.5}.notice--warning{border-color:#f3d37a;color:#7a4d00;background:#fff7d6}.notice--error{border-color:#f1aaa5;color:#8a1f17;background:#fff0ef}.notice--success{border-color:#b9d7c8;color:#0d5b3d;background:#ecf9f2}.success-toast{position:fixed;z-index:1000;top:78px;left:50%;width:min(420px,calc(100vw - 24px));margin:0;transform:translate(-50%);box-shadow:0 14px 34px #10182833;animation:success-toast-in .18s ease-out}@keyframes success-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.auth-form .danger-button,.admin-form .danger-button{border:1px solid #f1aaa5;color:#8a1f17;background:#fff0ef}.settings-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.settings-summary span{border:1px solid #d2dce8;border-radius:8px;padding:8px 10px;color:#23395d;background:#f5f8fc;font-size:.9rem;font-weight:700}.retention-action{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:22px;border-top:1px solid #e2e9f1;padding-top:18px}.retention-action h3{margin:4px 0 10px;font-size:1.05rem}.retention-action .settings-summary{margin-bottom:0}.access-status{display:flex;align-items:center;justify-content:space-between;gap:16px}.access-status strong,.access-status span{display:block}.access-status span{margin-top:4px;font-size:.9rem}.status-pill{display:inline-flex;align-items:center;min-height:36px;margin-top:12px;padding:7px 12px;border-radius:999px;color:#7a4d00;background:#fff2c7;font-size:.9rem;font-weight:800}.status-pill.success{color:#0d5b3d;background:#dff7eb}.pwa-status-panel .summary-list{margin-bottom:12px}.pwa-install-button{margin-top:12px}.milestone-list,.check-list,.compact-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.milestone-list li{padding-left:14px;border-left:3px solid #3b82a0;color:#26384c;line-height:1.45}.check-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;color:#26384c;line-height:1.45}.check-list span{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:999px;color:#fff;background:#0f766e;font-size:.68rem;font-weight:900}.compact-list{gap:6px;margin-top:12px;color:#4a5b6d;font-size:.9rem}.dashboard-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-grid div{min-width:0;border:1px solid #dce5ef;border-radius:8px;padding:14px;background:#f9fbfd}.account-grid span{display:block;margin-bottom:6px;color:#5d7084;font-size:.82rem;font-weight:800}.account-grid strong{display:block;overflow-wrap:anywhere;color:#16212f;font-size:.94rem}.next-step-list{margin-top:20px}.next-step-list .eyebrow{color:#48627d}.next-step-list ul{display:grid;gap:10px;margin:0;padding-left:18px;color:#26384c}.team-form-panel,.team-list-panel,.volunteer-summary-panel,.volunteer-schedule-panel,.volunteer-profile-panel,.volunteer-reminders-panel,.volunteer-open-shifts-panel,.shift-form-panel,.shift-list-panel{min-height:auto}.volunteer-schedule-panel,.volunteer-reminders-panel{grid-column:span 2}.volunteer-schedule-panel{padding:8px}.empty-state{border:1px dashed var(--border-strong);border-radius:8px;padding:18px;color:var(--text-muted);background:var(--surface-subtle)}.team-list{display:grid;gap:12px}.reminder-list{display:grid;gap:10px}.reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.reminder-row--unread{border-color:var(--primary);background:#f0f8fb;box-shadow:inset 4px 0 0 var(--primary)}.reminder-row time{display:block;margin-bottom:6px;color:#5d7084;font-size:.82rem;font-weight:800}.reminder-row .reminder-sent-when{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:4px}.reminder-sent-when span,.reminder-shift-when b{white-space:nowrap}.reminder-row h3,.reminder-row p{margin:0}.reminder-row h3{color:#16212f;font-size:.98rem}.reminder-row p{margin-top:6px;color:#5d7084;line-height:1.45}.reminder-meta{display:grid;justify-items:end;gap:6px;color:#5d7084;font-size:.84rem;text-align:right}.reminder-meta span,.reminder-meta strong{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:5px 9px;background:#f5f8fc;font-weight:800}.reminder-meta strong{color:#0d5b3d;background:#dff7eb}.reminder-meta .reminder-shift-when{gap:12px}.reminder-shift-when b{font:inherit}.reminder-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.reminder-summary span{border-radius:999px;padding:5px 10px;color:#33465a;background:#eef3f8;font-size:.82rem;font-weight:800}.summary-list{display:grid;gap:10px}.summary-list div{min-width:0;border:1px solid #dce5ef;border-radius:8px;padding:12px;background:#f9fbfd}.summary-list span{display:block;margin-bottom:6px;color:#5d7084;font-size:.82rem;font-weight:800}.summary-list strong{display:block;overflow-wrap:anywhere;color:#16212f;font-size:.94rem}.team-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.team-row--selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary),var(--shadow-sm)}.volunteer-list{display:grid;gap:8px}.volunteer-list-row{display:grid;width:100%;min-height:54px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px 14px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.volunteer-list-row:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-1px)}.volunteer-list-row--static{cursor:default}.volunteer-list-row--static:hover{border-color:var(--border);background:var(--surface);transform:none}.volunteer-list-row:focus-visible{border-color:var(--primary);outline:3px solid var(--focus-ring);outline-offset:2px}.volunteer-list-row strong{overflow-wrap:anywhere}.volunteer-list-row svg{color:var(--text-muted)}.volunteer-detail-header{display:grid;gap:14px}.volunteer-detail-header h2{overflow-wrap:anywhere}.volunteer-back-button{display:inline-flex;width:fit-content;align-items:center;gap:7px}.volunteer-detail-grid{margin-bottom:24px}.volunteer-access-action{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding-top:20px}.volunteer-access-action h3,.volunteer-access-action p{margin:0}.volunteer-access-action p{margin-top:6px}.volunteer-access-action .danger-button{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.member-lifecycle-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.member-lifecycle-actions button,.confirm-dialog__actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.member-reactivate-confirm{color:#fff;border-color:var(--primary);background:var(--primary)}.member-reactivate-confirm:not(:disabled):hover{color:#fff;border-color:var(--primary-hover);background:var(--primary-hover)}.team-member-groups{display:grid;gap:24px}.team-member-groups h3{margin:0 0 10px;font-size:1.2rem;line-height:1.3}.team-member-groups section+section{border-top:1px solid var(--border);padding-top:24px}.member-name-list{margin:0;padding:0;list-style:none}.member-name-list li{min-height:42px;border-bottom:1px solid var(--border);padding:10px 0;font-weight:750}.member-name-list li:last-child{border-bottom:0}.template-row{grid-template-columns:36px minmax(0,1fr) auto;align-items:center}.subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.subsection-heading h3{margin:0;color:var(--text);font-size:1rem}.subsection-heading span{color:var(--text-muted);font-size:.86rem;font-weight:700}.template-select-button{display:grid;width:32px;height:32px;min-width:32px;min-height:32px;place-items:center;border:1px solid var(--border-strong);border-radius:8px;padding:0;color:transparent;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.template-select-button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.template-select-button:focus-visible{border-color:var(--primary);outline:3px solid var(--focus-ring);outline-offset:2px}.template-select-button[aria-pressed=true]{border-color:var(--primary);color:#fff;background:var(--primary)}.template-select-button:disabled{cursor:not-allowed;opacity:.6}.generation-form{margin-bottom:24px}.schedule-list{position:relative;z-index:1;display:grid;gap:12px;max-height:min(68vh,760px);overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.schedule-toolbar{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:10px 14px;align-items:start;margin-bottom:14px}.schedule-toolbar--filters-only{grid-template-columns:1fr;gap:0}.schedule-toolbar__title{display:flex;min-height:36px;align-items:center}.schedule-toolbar__title h2{margin:0}.schedule-toolbar__title--with-action{justify-content:space-between;gap:12px}.schedule-toolbar .schedule-manage-button{width:fit-content;max-width:max-content;min-height:36px;flex:0 0 auto;padding:6px 12px}.schedule-toolbar .settings-summary{margin:0}.schedule-toolbar label{display:block;margin-bottom:6px;color:#26384c;font-size:.86rem;font-weight:800}.schedule-filter-control{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.filter-chip{display:inline-flex;min-height:38px;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;color:var(--text-secondary);background:var(--surface);font-size:.88rem;font-weight:800;cursor:pointer}.filter-chip strong{display:inline-flex;min-width:24px;min-height:24px;align-items:center;justify-content:center;border-radius:999px;padding:2px 7px;color:#1e3a5f;background:#e9f1f8;font-size:.78rem}.filter-chip:hover{border-color:#94a3b8;background:var(--surface-hover)}.filter-chip:focus{border-color:var(--primary);outline:3px solid var(--focus-ring)}.filter-chip[aria-pressed=true]{color:#fff;border-color:var(--primary);background:var(--primary)}.filter-chip[aria-pressed=true] strong{color:#1e3a5f;background:var(--surface);box-shadow:var(--shadow-sm)}.filter-chip:disabled{cursor:not-allowed;opacity:.72}.schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.schedule-row[data-upcoming-anchor=true]{scroll-margin-top:12px}.template-workspace .template-tools-panel{grid-column:1 / -1;min-width:0}.template-tools-tabs{justify-content:flex-start}.template-tools-tabs button{min-width:120px;justify-content:center}.template-tools-tabs button[aria-selected=true]{color:#fff;border-color:var(--primary);background:var(--primary)}.template-generation-heading{margin-top:10px}.template-generation-heading h3{margin:0;color:var(--text);font-size:1rem}.template-help{margin:8px 0 16px;color:var(--text-muted);font-size:.82rem}.template-create-form{margin:0}.template-weekdays{min-width:0;margin:0;border:0;padding:0}.template-weekdays legend{margin-bottom:8px;padding:0;color:var(--text-secondary);font-size:.9rem;font-weight:700}.template-weekdays__buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.template-tools-panel .template-weekdays .template-day-button{min-width:0;min-height:44px;padding:6px 0;font-size:.72rem}.template-tools-panel .template-weekdays .template-day-button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 -3px 0 var(--primary)}.template-tools-panel .template-row{grid-template-columns:32px minmax(0,1fr) 34px;gap:8px;padding:9px 10px}.template-edit-button{display:grid;width:34px;height:34px;min-width:34px;min-height:34px;place-items:center;align-self:center;border:1px solid var(--border);border-radius:8px;padding:0;color:var(--text-secondary);background:var(--surface);cursor:pointer}.template-edit-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.template-edit-button:disabled{cursor:not-allowed;opacity:.55}.admin-shift-edit-button{flex:0 0 auto}.admin-shift-primary-actions .admin-shift-edit-button{align-self:flex-end}.template-form-actions{justify-content:flex-end}.admin-form .template-delete-button{margin-top:8px}.template-row__content{min-width:0;overflow-wrap:anywhere}.template-row__content h3{margin:0;line-height:1.25}.template-row__details{display:flex;flex-wrap:wrap;gap:1px 10px;margin-top:3px;color:var(--text-muted);font-size:.78rem;line-height:1.3}.template-tools-panel .generation-form{margin-top:16px}.generation-summary{display:grid;gap:4px;padding:10px;border-radius:8px;background:var(--surface-subtle);color:var(--text-secondary);font-size:.82rem}.schedule-row.volunteer-shift-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.volunteer-shift-details{min-width:0;overflow-wrap:anywhere}.volunteer-shift-row .volunteer-choose-button{width:auto;min-height:44px;grid-column:2;grid-row:1;padding:8px 12px}.volunteer-shift-primary-actions{display:flex;grid-column:2;grid-row:1;align-items:flex-end;flex-direction:column;gap:6px}.volunteer-shift-primary-actions .secondary-button{width:auto}.volunteer-shift-row .assignment-controls{grid-column:1 / -1}.schedule-row.admin-shift-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.admin-shift-primary-actions{display:flex;grid-column:2;grid-row:1;align-items:flex-end;flex-direction:column;gap:6px}.admin-shift-row .admin-choose-shift-action{width:auto;min-height:44px;padding:8px 12px}.admin-shift-row .assignment-controls--admin{grid-column:1 / -1;min-width:0}.admin-shift-row .shift-volunteers{margin-top:8px}.shift-volunteers{position:relative;grid-column:1 / -1;min-width:0;overflow:hidden}.shift-volunteers__line,.shift-volunteers__measure,.shift-volunteers__expanded{display:flex;align-items:center;gap:6px}.shift-volunteers__line>*,.shift-volunteers__measure>*{flex:0 0 auto;white-space:nowrap}.shift-volunteers .schedule-status{margin:0}.shift-volunteers__more{min-height:32px;border:0;border-radius:999px;padding:5px 8px;color:var(--primary);background:transparent;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.shift-volunteers__measure{position:absolute;top:0;left:0;width:max-content;visibility:hidden;pointer-events:none}.shift-volunteers__expanded{flex-wrap:wrap;margin-top:6px}.shift-volunteers__expanded .assigned-pill{max-width:100%;overflow-wrap:anywhere}.team-row:hover,.reminder-row:hover,.schedule-row:hover{border-color:var(--border-strong)}.schedule-row--mine{border-color:var(--primary);background:#f0f8fb;box-shadow:inset 4px 0 0 var(--primary)}.schedule-row--swap-requested{border-color:#d39e12;background:#fffaf0;box-shadow:inset 4px 0 #d39e12}.schedule-row.schedule-row--past{border-color:var(--border);background:var(--surface-subtle);box-shadow:none}.schedule-row--past h3,.schedule-row--past .shift-when{color:var(--text-muted)}.schedule-row--past .shift-volunteers{opacity:.82}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-row.schedule-row--swap-requested{border-left:3px solid #d39e12;background:#fffaf0;box-shadow:none}.schedule-row--editing{grid-template-columns:1fr;border-color:var(--primary);background:#f8fcfe}.schedule-list--editing{display:block}.schedule-list--editing .schedule-row--editing{border:0;padding:0;background:transparent;box-shadow:none}.shift-edit-screen__header{margin-bottom:4px}.shift-edit-screen__title{display:flex;align-items:center;gap:10px}.admin-form .shift-edit-back-button{width:32px;max-width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;align-self:center;border-radius:6px;padding:0}.shift-edit-form{width:100%}.shift-edit-form .settings-summary{margin:4px 0 2px}.swap-action-list{display:grid;gap:8px;margin-top:12px}.swap-action-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,240px) auto;gap:8px;align-items:end;border:1px solid #f0d492;border-radius:8px;padding:10px;background:#fffaf0}.volunteer-swap-list{display:grid;gap:6px;min-width:0}.volunteer-swap-request{min-width:0;border-top:1px solid var(--border);padding-top:6px}.volunteer-swap-request__summary{display:flex;align-items:center;gap:6px}.volunteer-swap-request__person{flex:1;min-width:0;font-size:.84rem;overflow-wrap:anywhere}.volunteer-swap-request__person strong{color:var(--text)}.volunteer-swap-request__person span{margin-left:5px;color:#7a4d00;font-weight:600}.volunteer-swap-request .secondary-button{min-height:44px;padding:8px 10px;font-size:.84rem}.assignment-controls .volunteer-swap-request__summary .secondary-button{flex:0 0 auto;width:auto}.volunteer-swap-request__summary [aria-expanded=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.volunteer-swap-request__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px;padding:10px;border-radius:8px;background:var(--surface-subtle)}.volunteer-swap-request__form label{grid-column:1 / -1;font-size:.8rem;font-weight:700;color:var(--text-secondary)}.volunteer-swap-request__form select{min-width:0}.admin-swap-list{grid-column:1 / -1;margin-top:8px}.admin-swap-request .secondary-button{width:auto}.swap-action-row strong,.swap-action-row span{display:block}.swap-action-row strong{color:#16212f;font-size:.9rem}.swap-action-row span{margin-top:4px;color:#7a4d00;font-size:.82rem;font-weight:800}.swap-action-row select{width:100%;min-height:42px;border:1px solid #cdd8e5;border-radius:8px;padding:9px 12px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.swap-action-row select:focus{border-color:#3b82a0;outline:3px solid rgba(59,130,160,.18)}.inline-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.date-chip-list{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.assigned-pill{display:inline-flex;min-height:30px;align-items:center;border-radius:999px;overflow:hidden;color:#1e3a5f;background:#e9f1f8;font-size:.84rem;font-weight:800}.assigned-pill span{padding:5px 10px}.assigned-pill .assigned-pill__remove{display:grid;width:30px;min-width:30px;min-height:30px;place-items:center;border:0;border-left:1px solid #cdd8e5;padding:0;color:#8a1f17;background:#fff0ef;cursor:pointer}.assigned-pill .assigned-pill__remove:disabled{cursor:not-allowed;opacity:.55}.assigned-pill--mine{color:#1e3a5f;background:#d8ecf6}.assigned-pill--mine .assigned-pill__remove{border-left-color:#b9d3e0;background:#d8ecf6}.assigned-pill--swap-requested{color:#7a4d00;background:#fff1c7}.chip-button{min-height:30px;border:0;border-left:1px solid #cdd8e5;padding:5px 10px;color:#8a1f17;background:#fff0ef;font-size:.8rem;font-weight:800;cursor:pointer}.chip-button:disabled{cursor:not-allowed;opacity:.72}.schedule-status{display:inline-flex;min-height:30px;align-items:center;margin-top:8px;border-radius:999px;padding:5px 10px;color:#0d5b3d;background:#dff7eb;font-size:.82rem;font-weight:800}.schedule-status-group{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.schedule-status-group .schedule-status{margin-top:0}.schedule-status--cancelled{color:#8a1f17;background:#fff0ef}.danger-button:not(:disabled):hover{border-color:#e47c75;background:#ffe4e2;transform:translateY(-1px)}.schedule-status--draft{color:#7a4d00;background:#fff7d6}.schedule-status--mine{color:#1e3a5f;background:#d8ecf6}.schedule-status--swap-requested{color:#7a4d00;background:#fff1c7}.schedule-status--open{color:#0d5b3d;background:#dff7eb}.schedule-status--past{color:#5d7084;background:#e7edf3}.schedule-status--full{color:#5d7084;background:#eef3f8}.schedule-status--reminder-due{color:#7a4d00;background:#fff1c7}.schedule-status--reminder-planned{color:#1e3a5f;background:#d8ecf6}.assignment-controls{display:grid;min-width:220px;gap:8px}.compact-action-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.button-label--mobile{display:none}.assignment-state{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid #d2dce8;border-radius:8px;padding:9px 14px;color:#33465a;background:#f5f8fc;font-size:.9rem;text-align:center}.assignment-controls select{width:100%;min-height:42px;border:1px solid #cdd8e5;border-radius:8px;padding:9px 12px;color:#16212f;background:#fff}.assignment-controls select:focus{border-color:#3b82a0;outline:3px solid rgba(59,130,160,.18)}.admin-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}.admin-assignment-row .admin-assignment-select{min-width:0}.admin-assignment-row .admin-assign-button{min-width:auto;padding-inline:10px}.team-row h3,.team-row p,.schedule-row h3,.schedule-row p{margin:0}.team-row h3,.schedule-row h3{font-size:1rem}.team-row p,.schedule-row p{margin-top:6px;color:#5d7084;line-height:1.45}.schedule-row .shift-when{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:4px}.shift-when span{white-space:nowrap}.team-meta{display:grid;justify-items:end;gap:4px;color:#5d7084;font-size:.85rem;text-align:right}.team-row__side{display:grid;justify-items:end;gap:12px}.team-row__actions{display:flex;justify-content:flex-end}.team-meta strong{color:#0d5b3d;text-transform:capitalize}:root[data-color-scheme=dark]{--page-bg: #111315;--surface: #1a1d21;--surface-subtle: #20242a;--surface-hover: #282d34;--text: #f2f4f7;--text-secondary: #d0d5dd;--text-muted: #98a2b3;--border: #30363d;--border-strong: #475467;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #1d2b46;--focus-ring: rgba(96, 165, 250, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 10px 28px rgba(0, 0, 0, .22);color:var(--text);background:var(--page-bg);color-scheme:dark}:root[data-color-scheme=dark] .app-footer a,:root[data-color-scheme=dark] .brand .eyebrow,:root[data-color-scheme=dark] .panel__header .eyebrow,:root[data-color-scheme=dark] .eyebrow{color:var(--text-muted)}:root[data-color-scheme=dark] .environment-badge,:root[data-color-scheme=dark] .account-menu summary,:root[data-color-scheme=dark] .account-menu__popover,:root[data-color-scheme=dark] .pwa-install-prompt,:root[data-color-scheme=dark] .panel,:root[data-color-scheme=dark] .summary-strip,:root[data-color-scheme=dark] .team-overview-table,:root[data-color-scheme=dark] .team-row,:root[data-color-scheme=dark] .reminder-row,:root[data-color-scheme=dark] .schedule-row{border-color:var(--border);color:var(--text);background:var(--surface)}:root[data-color-scheme=dark] .team-row--selected{border-color:var(--primary);background:var(--primary-soft)}:root[data-color-scheme=dark] .template-select-button{border-color:var(--border-strong);color:var(--text-secondary);background:var(--surface-subtle)}:root[data-color-scheme=dark] .template-select-button[aria-pressed=true]{border-color:#60a5fa;color:#fff;background:#2563eb}:root[data-color-scheme=dark] .account-menu summary,:root[data-color-scheme=dark] .environment-badge{color:var(--text-secondary)}:root[data-color-scheme=dark] .theme-setting,:root[data-color-scheme=dark] .team-workspace-header,:root[data-color-scheme=dark] .dashboard-tabs,:root[data-color-scheme=dark] .retention-action{border-color:var(--border)}:root[data-color-scheme=dark] .theme-setting>span,:root[data-color-scheme=dark] .panel p,:root[data-color-scheme=dark] .team-row p,:root[data-color-scheme=dark] .schedule-row p,:root[data-color-scheme=dark] .reminder-row p,:root[data-color-scheme=dark] .reminder-row time,:root[data-color-scheme=dark] .team-meta,:root[data-color-scheme=dark] .reminder-meta,:root[data-color-scheme=dark] .summary-list span,:root[data-color-scheme=dark] .account-grid span,:root[data-color-scheme=dark] .summary-metric span,:root[data-color-scheme=dark] .compact-list{color:var(--text-muted)}:root[data-color-scheme=dark] .menu-button,:root[data-color-scheme=dark] .secondary-button{border-color:var(--border-strong);color:var(--text-secondary);background:var(--surface-subtle)}:root[data-color-scheme=dark] .menu-button--sign-out{color:#f2aaa7;background:#3d2427}:root[data-color-scheme=dark] .dialog-backdrop{background:#000000ad}:root[data-color-scheme=dark] .confirm-dialog{border-color:var(--border-strong);color:var(--text);background:var(--surface)}:root[data-color-scheme=dark] .confirm-dialog p{color:var(--text-muted)}:root[data-color-scheme=dark] .menu-button:hover,:root[data-color-scheme=dark] .secondary-button:hover{background:var(--surface-hover)}:root[data-color-scheme=dark] .theme-switcher,:root[data-color-scheme=dark] .team-overview-table__header,:root[data-color-scheme=dark] .checkbox-option,:root[data-color-scheme=dark] .account-grid div,:root[data-color-scheme=dark] .summary-list div,:root[data-color-scheme=dark] .empty-state,:root[data-color-scheme=dark] .settings-summary span,:root[data-color-scheme=dark] .reminder-meta span,:root[data-color-scheme=dark] .reminder-summary span,:root[data-color-scheme=dark] .assignment-state{border-color:var(--border);color:var(--text-secondary);background:var(--surface-subtle)}:root[data-color-scheme=dark] .theme-switcher__option{color:var(--text-muted)}:root[data-color-scheme=dark] .theme-switcher__option[aria-pressed=true],:root[data-color-scheme=dark] .auth-form button:not(.secondary-button):not(.danger-button):not(.auth-help-link),:root[data-color-scheme=dark] .admin-form button:not(.secondary-button):not(.danger-button),:root[data-color-scheme=dark] .filter-chip[aria-pressed=true]{color:#fff;border-color:var(--primary);background:var(--primary)}:root[data-color-scheme=dark] .admin-form label,:root[data-color-scheme=dark] .auth-form label,:root[data-color-scheme=dark] .schedule-toolbar label,:root[data-color-scheme=dark] .team-switcher,:root[data-color-scheme=dark] .milestone-list li,:root[data-color-scheme=dark] .check-list li,:root[data-color-scheme=dark] .swap-action-row strong,:root[data-color-scheme=dark] .summary-list strong,:root[data-color-scheme=dark] .account-grid strong,:root[data-color-scheme=dark] .reminder-row h3{color:var(--text)}:root[data-color-scheme=dark] .auth-form input,:root[data-color-scheme=dark] .admin-form input,:root[data-color-scheme=dark] .admin-form select,:root[data-color-scheme=dark] .admin-form textarea,:root[data-color-scheme=dark] .team-switcher select,:root[data-color-scheme=dark] .swap-action-row select,:root[data-color-scheme=dark] .assignment-controls select{border-color:var(--border-strong);color:var(--text);background:#14171a}:root[data-color-scheme=dark] .auth-form input::placeholder,:root[data-color-scheme=dark] .admin-form input::placeholder,:root[data-color-scheme=dark] .admin-form textarea::placeholder{color:#8296a3}:root[data-color-scheme=dark] .dashboard-tab{color:var(--text-muted)}:root[data-color-scheme=dark] .dashboard-tab:hover,:root[data-color-scheme=dark] .filter-chip:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}:root[data-color-scheme=dark] .dashboard-tab[aria-selected=true]{color:#93c5fd;border-color:var(--primary);background:transparent}:root[data-color-scheme=dark] .filter-chip{border-color:var(--border-strong);color:var(--text-secondary);background:var(--surface)}:root[data-color-scheme=dark] .filter-chip[aria-pressed=true],:root[data-color-scheme=dark] .filter-chip[aria-pressed=true]:hover{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 4px 12px #2563eb52}:root[data-color-scheme=dark] .filter-chip strong,:root[data-color-scheme=dark] .assigned-pill,:root[data-color-scheme=dark] .assigned-pill--mine,:root[data-color-scheme=dark] .assigned-pill--mine .assigned-pill__remove,:root[data-color-scheme=dark] .schedule-status--mine,:root[data-color-scheme=dark] .schedule-status--reminder-planned{color:#bfe2f1;background:#254456}:root[data-color-scheme=dark] .filter-chip[aria-pressed=true] strong{color:#173040;background:#e5f1f6}:root[data-color-scheme=dark] .notice,:root[data-color-scheme=dark] .notice--success{border-color:#39775f;color:#a5e4c5;background:#17372f}:root[data-color-scheme=dark] .notice--warning,:root[data-color-scheme=dark] .connection-banner{border-color:#8b742d;color:#f0d47d;background:#3a3119}:root[data-color-scheme=dark] .connection-banner span{color:#dfc887}:root[data-color-scheme=dark] .notice--error,:root[data-color-scheme=dark] .danger-button,:root[data-color-scheme=dark] .chip-button,:root[data-color-scheme=dark] .schedule-status--cancelled{border-color:#865152;color:#f2aaa7;background:#3d2427}:root[data-color-scheme=dark] .status-pill,:root[data-color-scheme=dark] .summary-metric--attention,:root[data-color-scheme=dark] .schedule-status--draft,:root[data-color-scheme=dark] .schedule-status--swap-requested,:root[data-color-scheme=dark] .schedule-status--reminder-due,:root[data-color-scheme=dark] .assigned-pill--swap-requested{color:#f0d47d;background:#3a3119}:root[data-color-scheme=dark] .status-pill.success,:root[data-color-scheme=dark] .reminder-meta strong,:root[data-color-scheme=dark] .schedule-status,:root[data-color-scheme=dark] .schedule-status--open{color:#a5e4c5;background:#17372f}:root[data-color-scheme=dark] .schedule-status--full{color:#b3c3cc;background:#283740}:root[data-color-scheme=dark] .schedule-row.schedule-row--past{border-color:var(--border);background:#202b35}:root[data-color-scheme=dark] .schedule-status--past{color:#b3c3cc;background:#2c3a46}:root[data-color-scheme=dark] .reminder-row--unread,:root[data-color-scheme=dark] .schedule-row--mine,:root[data-color-scheme=dark] .schedule-row--editing{border-color:#4f91ae;background:#19313e}:root[data-color-scheme=dark] .schedule-row--swap-requested,:root[data-color-scheme=dark] .swap-action-row{border-color:#8b742d;background:#332c1b}:root[data-color-scheme=dark] .swap-action-row span,:root[data-color-scheme=dark] .summary-metric--attention strong{color:#f0d47d}:root[data-color-scheme=dark] .dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-row.schedule-row--swap-requested{border-left-color:#d4ab47;background:#332c1b}:root[data-color-scheme=dark] .volunteer-swap-request__person span{color:#f0d47d}:root[data-color-scheme=dark] .volunteer-shift-row .schedule-status--swap-requested{color:#f0d47d;background:#3a3119}:root[data-color-scheme=dark] .team-overview-table__row,:root[data-color-scheme=dark] .team-overview-table__header{border-color:#344b5a}:root[data-color-scheme=dark] .team-overview-table__row>span,:root[data-color-scheme=dark] .summary-metric strong,:root[data-color-scheme=dark] .team-overview-table__row>div strong{color:#edf4f7}:root[data-color-scheme=dark] .team-overview-table__row>div span,:root[data-color-scheme=dark] .team-meta strong{color:#9dddbd}:root[data-color-scheme=dark] .breadcrumb-button{color:#9ed0e5}@media(max-width:900px){.workspace,.workspace--admin,.workspace--schedule-admin,.workspace--volunteer{grid-template-columns:1fr}.volunteer-schedule-panel,.volunteer-reminders-panel{grid-column:auto}.panel{min-height:auto}.account-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric:nth-child(2){border-right:0}.summary-metric:nth-child(-n+2){border-bottom:1px solid #dce5ef}.team-overview-table__header{display:none}.team-overview-table__row{grid-template-columns:repeat(2,minmax(0,1fr))}.team-overview-table__row>div,.team-overview-table__row>button{grid-column:1 / -1}.team-overview-table__row>span:before{display:block;margin-bottom:3px;color:#5d7084;content:attr(data-label);font-size:.72rem;font-weight:800}}@media(max-width:760px){.topbar-navigation{display:grid;flex:0 0 auto}.navigation-menu-trigger,.navigation-menu-layer{display:grid}.dashboard-tabs{display:none}.dashboard-tabs-shell--volunteer{width:100%}.dashboard-tabs-shell--volunteer .workspace--volunteer{width:100%;gap:0}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0;background:transparent;box-shadow:none}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-toolbar{padding-inline:8px}}@media(max-width:560px){.schedule-row[data-upcoming-anchor=true]{scroll-margin-top:168px}.topbar{position:sticky;z-index:40;top:0;width:calc(100% - 24px);height:70px;align-items:center;flex-direction:row;justify-content:flex-start;gap:8px;padding:14px 0;background:var(--page-bg)}.brand{gap:10px}.brand img{width:40px;height:40px}.brand h1{font-size:1.35rem}.topbar-actions{flex:0 0 auto;margin-left:auto}.workspace{width:calc(100% - 24px)}.auth-layout{width:calc(100vw - 24px);max-width:none;margin-top:20px}.pwa-install-prompt{align-items:stretch;flex-direction:column}.pwa-install-prompt .secondary-button{width:100%}.dashboard-tabs-shell{width:calc(100% - 24px)}.dashboard-tabs-shell--volunteer,.dashboard-tabs-shell--admin,.team-workspace-shell--admin{width:100%}.dashboard-tabs-shell--admin>.page-heading,.dashboard-tabs-shell--admin>.dashboard-tabs,.team-workspace-shell--admin>.team-workspace-header{padding-inline:16px}.dashboard-tabs-shell--admin>.dashboard-notices,.team-workspace-shell--admin .dashboard-notices{margin-inline:12px}.dashboard-tabs-shell--admin .workspace{width:100%;gap:0}.dashboard-tabs-shell--admin .workspace>.panel{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:18px 16px;background:transparent;box-shadow:none}.dashboard-tabs-shell--admin .summary-strip{border-right:0;border-left:0;border-radius:0;box-shadow:none}.dashboard-tabs-shell--admin .team-row,.dashboard-tabs-shell--admin .schedule-row,.dashboard-tabs-shell--admin .reminder-row,.dashboard-tabs-shell--admin .volunteer-list-row,.dashboard-tabs-shell--admin .team-overview-table__row{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.dashboard-tabs-shell--admin .team-row--selected,.dashboard-tabs-shell--admin .schedule-row--swap-requested{border-left:3px solid var(--primary)}.dashboard-tabs-shell--volunteer>.dashboard-tabs,.dashboard-tabs-shell--admin>.dashboard-tabs{position:sticky;z-index:30;top:68px;padding-inline:12px;background:var(--page-bg)}.dashboard-tabs-shell--volunteer>.dashboard-notices{margin-inline:12px}.dashboard-tabs-shell--volunteer .workspace--volunteer{width:100%;gap:0}.dashboard-tabs-shell--volunteer .workspace--volunteer>.panel{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:18px 16px;background:transparent;box-shadow:none}.team-workspace-shell{width:calc(100% - 24px)}.team-workspace-shell--admin{width:100%}.connection-banner{width:calc(100% - 24px);align-items:flex-start;flex-direction:column}.panel{padding:16px}.dashboard-panel__header,.page-heading,.team-workspace-header{align-items:stretch;flex-direction:column}.team-switcher{width:100%;min-width:0}.account-menu{width:auto}.account-menu summary{width:40px;max-width:40px;justify-content:center;padding:0}.account-menu summary svg{margin-right:0}.account-menu summary span{display:none}.account-menu__popover{right:0;left:auto}.summary-strip{grid-template-columns:1fr}.summary-metric,.summary-metric:nth-child(2){border-right:0;border-bottom:1px solid #dce5ef}.summary-metric:last-child{border-bottom:0}.auth-form button,.admin-form button,.secondary-button,.button-row{width:100%}.team-row,.reminder-row,.schedule-row{grid-template-columns:1fr}.template-row{grid-template-columns:30px minmax(0,1fr) 30px}.template-tools-panel .template-create-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-tools-panel .time-select{gap:4px}.template-tools-panel .time-select select{padding-inline:4px}.volunteer-access-action{align-items:stretch;flex-direction:column}.volunteer-access-action .danger-button{width:100%;justify-content:center}.member-lifecycle-actions{width:100%}.member-lifecycle-actions .secondary-button,.member-lifecycle-actions .danger-button{width:auto;min-width:0;flex:1 1 0}.form-grid{grid-template-columns:1fr}.shift-edit-time-grid,.reminder-lead-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-edit-actions{flex-wrap:nowrap}.admin-form .shift-edit-actions button{width:auto;min-width:0;flex:1 1 0}.checkbox-list{grid-template-columns:1fr}.assignment-controls{min-width:0}.inline-form-row{grid-template-columns:1fr}.schedule-toolbar{grid-template-columns:1fr;margin-bottom:8px}.schedule-toolbar--filters-only{position:sticky;z-index:35;top:70px;backface-visibility:hidden;isolation:isolate;transform:translateZ(0);will-change:transform;padding-block:6px;border-bottom:1px solid var(--border);background:var(--page-bg)}.schedule-toolbar--filters-only .schedule-toolbar__title{min-height:32px;align-items:flex-start;position:relative;top:-3px;margin-bottom:5px}.template-workspace{margin-top:0}.template-workspace .template-tools-panel{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.template-tools-header .template-tools-tabs button{min-width:0;flex:1 1 0;flex-direction:row;font-size:.78rem}.template-generation-heading{margin-top:5px;padding-bottom:3px}.template-tools-content{padding:16px}.template-tools-panel .template-list{width:calc(100% + 16px);gap:6px;margin-inline:-8px}.template-tools-panel .template-row{gap:7px;padding:7px 8px}.template-tools-panel .template-select-button,.template-tools-panel .template-edit-button{width:30px;height:30px;min-width:30px;min-height:30px}.schedule-filter-control{flex-wrap:nowrap;gap:4px;justify-content:space-between;width:100%;overflow:hidden;padding:2px 0 6px}.filter-chip{min-width:0;min-height:42px;flex:1 1 auto;flex-direction:column;gap:2px;justify-content:center;padding:4px 5px;font-size:.7rem;line-height:1.1;text-align:center;white-space:normal}.filter-chip[data-shift-filter=open],.filter-chip[data-shift-filter=past]{flex-grow:1.35;padding-inline:7px}.filter-chip strong{min-width:18px;min-height:18px;padding:1px 4px;font-size:.66rem}.schedule-list{max-height:none;gap:0;overflow:visible;padding-right:0;scrollbar-gutter:auto}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel{border:0;padding:0;background:transparent;box-shadow:none}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel>.panel__header{padding:0 16px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-toolbar{padding-inline:8px}.dashboard-tabs-shell--volunteer .filter-chip[data-shift-filter=open],.dashboard-tabs-shell--volunteer .filter-chip[data-shift-filter=past]{flex-grow:1.6;padding-inline:11px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel>p,.dashboard-tabs-shell--volunteer .volunteer-schedule-panel>.empty-state{margin-inline:16px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-row{gap:4px 10px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:7px 16px;background:transparent;box-shadow:none}.dashboard-tabs-shell--team-admin .shift-list-panel .schedule-row:not(.schedule-row--editing){gap:4px 10px;padding-block:7px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-row h3,.dashboard-tabs-shell--team-admin .shift-list-panel .schedule-row h3{font-size:.94rem;line-height:1.2}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .shift-when,.dashboard-tabs-shell--team-admin .shift-list-panel .shift-when{margin-top:2px;row-gap:1px;font-size:.84rem;line-height:1.25}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-status-group,.dashboard-tabs-shell--team-admin .shift-list-panel .schedule-status-group{gap:4px;margin-top:4px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-status,.dashboard-tabs-shell--team-admin .shift-list-panel .schedule-status{min-height:26px;padding:3px 8px;font-size:.76rem}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .shift-volunteers,.dashboard-tabs-shell--team-admin .shift-list-panel .shift-volunteers{margin-top:4px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .assigned-pill,.dashboard-tabs-shell--team-admin .shift-list-panel .assigned-pill{min-height:28px;font-size:.78rem}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .assigned-pill>span,.dashboard-tabs-shell--team-admin .shift-list-panel .assigned-pill>span{padding:4px 8px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .shift-volunteers__more,.dashboard-tabs-shell--team-admin .shift-list-panel .shift-volunteers__more{min-height:28px;padding:3px 6px;font-size:.76rem}.dashboard-tabs-shell--team-admin .shift-list-panel .assigned-pill__remove{width:28px;min-width:28px;min-height:28px}.dashboard-tabs-shell--volunteer .volunteer-choose-button,.dashboard-tabs-shell--team-admin .admin-choose-shift-action{min-height:40px;padding:6px 10px}.dashboard-tabs-shell--team-admin .admin-shift-primary-actions{gap:4px}.dashboard-tabs-shell--team-admin .admin-shift-edit-button{width:30px;height:30px;min-width:30px;min-height:30px}.dashboard-tabs-shell--team-admin .assignment-controls--admin,.dashboard-tabs-shell--volunteer .assignment-controls,.dashboard-tabs-shell--team-admin .admin-assignment-row{gap:4px}.dashboard-tabs-shell--team-admin .admin-assignment-select,.dashboard-tabs-shell--team-admin .admin-assign-button{min-height:38px}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-row--mine{border-left:3px solid var(--primary)}.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .schedule-status-group,.dashboard-tabs-shell--volunteer .volunteer-schedule-panel .assignment-controls{gap:6px}.dashboard-tabs-shell--volunteer .schedule-row--mine .assignment-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-tabs-shell--team-admin .assignment-controls--admin{grid-template-columns:minmax(0,1fr)}.dashboard-tabs-shell--team-admin .admin-assignment-select{min-width:0}.dashboard-tabs-shell--team-admin .admin-choose-shift-action{grid-column:1 / -1}.dashboard-tabs-shell--team-admin .admin-shift-action{min-width:0;min-height:40px;padding:7px 6px;font-size:.82rem}.dashboard-tabs-shell--volunteer .compact-action-button{min-height:40px;padding:7px 9px;font-size:.88rem}.button-label--desktop{display:none}.button-label--mobile{display:inline}.account-actions--panel .install-app-button,.account-actions--panel .account-change-password-button,.account-actions--panel .menu-button--sign-out{width:100%}.swap-action-row{grid-template-columns:1fr}.team-meta,.reminder-meta{justify-items:start;text-align:left}.team-row__side,.team-row__actions{justify-items:stretch;justify-content:stretch}.team-row__actions .danger-button,.assignment-controls .secondary-button{width:100%}}
