:root{--palette-forest:#244c3a;--palette-forest-dark:#123e32;--palette-forest-darker:#0d2f26;--palette-leaf:#2f6b4a;--palette-cream:#f5f2e9;--palette-ivory:#f7f0df;--palette-paper:#fffdf8;--palette-sage-50:#f0f4ee;--palette-sage-100:#e3ebe1;--palette-sage-200:#cddbc9;--palette-gold:#b89a5a;--palette-gold-100:#f2e9d4;--palette-gray-700:#4f5751;--palette-gray-500:#7d837e;--palette-gray-300:#c9c4b7;--palette-gray-200:#e2ddd0;--color-background:var(--palette-cream);--color-surface:var(--palette-paper);--color-surface-warm:var(--palette-ivory);--color-surface-sage:var(--palette-sage-100);--color-text:#1f2a24;--color-heading:var(--palette-forest-dark);--color-text-muted:var(--palette-gray-700);--color-primary:var(--palette-forest);--color-primary-hover:var(--palette-forest-dark);--color-primary-active:var(--palette-forest-darker);--color-primary-contrast:#fff;--color-accent:var(--palette-gold);--color-border:var(--palette-gray-200);--color-border-strong:var(--palette-gray-300);--color-input-border:var(--palette-gray-500);--color-focus:var(--palette-leaf);--color-error:#9b1c1c;--color-success:#1d5c2e;--color-success-surface:#e2efe3;--color-warning:#6b4100;--color-warning-surface:#f8ecd0;--color-danger-surface:#f9e4e1;--color-muted-surface:#ebe8e0;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:Georgia, Cambria, "Noto Serif", "Times New Roman", serif;--font-size-small:.875rem;--font-size-body:1rem;--font-size-h2:1.2rem;--font-size-h1:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-small:8px;--radius:12px;--radius-large:16px;--radius-pill:999px;--shadow-small:0 1px 2px #123e320f;--shadow-medium:0 2px 4px #123e320d, 0 8px 24px #123e3212;--focus-ring:0 0 0 3px #2f6b4a40;--transition-fast:.12s ease-out;--touch-target:44px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-background);accent-color:var(--color-primary);font-size:18px;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-background);margin:0}a{color:var(--color-primary);text-underline-offset:.2em;font-weight:600;text-decoration-thickness:1px}a:hover{color:var(--color-primary-hover);text-decoration-thickness:2px}h1,h2,h3{color:var(--color-heading);line-height:1.25}h1{font-family:var(--font-serif);font-size:var(--font-size-h1);margin:0 0 var(--space-2);font-weight:700}h2{font-size:var(--font-size-h2);margin:0 0 var(--space-2);font-weight:650}.icon{vertical-align:-.2em;flex-shrink:0;width:1.1em;height:1.1em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.standalone-main{max-width:40rem;padding:3rem var(--space-4);margin:0 auto}.standalone-main .brand-logo{margin-bottom:var(--space-6)}.brand-logo{align-items:center;gap:var(--space-2);color:var(--color-heading);display:flex}.brand-logo-mark{width:2rem;height:auto;display:block}.brand-logo-name{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.6rem;font-weight:700;line-height:1}.brand-logo-tagline{letter-spacing:.3em;text-transform:uppercase;font-size:.7rem;font-weight:600}.brand-logo--stacked{gap:var(--space-1);text-align:center;flex-direction:column}.brand-logo--stacked .brand-logo-mark{width:3.25rem}.brand-logo--stacked .brand-logo-name{font-size:2.75rem}.brand-logo--stacked .brand-logo-tagline{margin-top:var(--space-2)}.auth-layout{isolation:isolate;align-items:center;gap:var(--space-5);min-height:100dvh;padding:var(--space-6) var(--space-4) var(--space-4);flex-direction:column;display:flex;position:relative}.auth-layout:before{content:"";z-index:-1;background:var(--color-background) url(/assets/auth-background-mobile-D7U3xhUL.webp) center top / cover no-repeat;position:fixed;inset:0}.auth-quote{display:none}.auth-panel{gap:var(--space-4);flex-direction:column;width:100%;max-width:28rem;display:flex}.auth-card{padding:var(--space-5) 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-medium);border-radius:20px}.auth-heading{margin-bottom:var(--space-5);text-align:center}.auth-heading p{color:var(--color-text-muted);margin:0}.divider-text{align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-small);display:flex}.divider-text:before,.divider-text:after{content:"";border-top:1px solid var(--color-border-strong);flex:1}.auth-switch{margin:var(--space-5) 0 0;text-align:center}.auth-success{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius);background:var(--color-success-surface);flex-direction:column;display:flex}.auth-success p{margin:0}.forgot-password-link{min-height:var(--touch-target);font-size:var(--font-size-small);align-self:flex-end;align-items:center;display:inline-flex}.auth-alternatives{gap:var(--space-3);flex-direction:column;display:flex}.auth-alternatives .button{margin-top:0}.auth-footer{text-align:center;font-size:var(--font-size-small)}.auth-footer a{min-height:var(--touch-target);padding:0 var(--space-4);border-radius:var(--radius-pill);background:#fffdf8e0;align-items:center;display:inline-flex}@media (width>=900px){.auth-layout{padding:var(--space-5) clamp(2rem, 7vw, 7rem);grid-template-columns:1fr minmax(24rem,28rem);align-items:center;column-gap:clamp(2rem,6vw,6rem);display:grid}.auth-heading{margin-bottom:var(--space-4)}.divider-text{margin:var(--space-4) 0 var(--space-3)}.auth-switch{margin-top:var(--space-4)}.auth-layout:before{background-image:url(/assets/auth-background-desktop-DgiyCXh7.webp);background-position:50%}.auth-brand{padding:var(--space-6) 3rem;text-align:center;background:radial-gradient(closest-side,#faf6ecd9,#faf6ec00);justify-self:center}.brand-logo--stacked .brand-logo-mark{width:5rem}.brand-logo--stacked .brand-logo-name{font-size:5.5rem}.brand-logo--stacked .brand-logo-tagline{font-size:.95rem}.auth-quote{color:var(--color-heading);margin:3rem 0 0;display:block}.auth-quote blockquote{margin:0;font-size:1.4rem;line-height:1.4}.auth-quote figcaption{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-small)}.auth-card{padding:2rem 2.5rem}.auth-heading h1{font-size:2.1rem}}.auth-document-header{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.auth-document-brand{min-height:var(--touch-target);align-items:center;text-decoration:none;display:inline-flex}.auth-document-main{max-width:48rem;padding:var(--space-5) var(--space-4) 3rem;margin:0 auto}.privacy section{margin-top:1.5rem}.privacy-updated{color:var(--color-text-muted);font-size:.9rem}.app-shell{isolation:isolate;min-height:100vh;padding-bottom:calc(var(--touch-target) + 1.25rem + env(safe-area-inset-bottom));position:relative}@media (width>=600px){.app-shell:before{content:"";z-index:-1;aspect-ratio:402/569;pointer-events:none;background:url(/assets/content-background-mobile-CBBhz88V.webp) 100% 0/100% no-repeat;width:min(26rem,85vw);position:absolute;top:0;right:0}}.app-topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3.75rem;padding:var(--space-2) var(--space-4);background:url(/assets/content-background-mobile-CBBhz88V.webp) right 30% / 11rem auto no-repeat, var(--color-background);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}@media (width>=600px){.app-topbar{background:var(--color-background)}}.app-topbar .brand-logo-mark{width:1.75rem}.app-topbar .brand-logo-name{font-size:1.45rem}.app-main{width:100%;max-width:64rem;padding:var(--space-4)}.app-navigation{z-index:30;padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);position:fixed;inset:auto 0 0}.app-navigation-brand,.navigation-section-title,.app-navigation-illustration{display:none}.navigation-list{margin:0;padding:0;list-style:none;display:flex}.navigation-list>li,.navigation-admin-group{flex:auto;min-width:0;display:flex}.app-navigation-link{min-width:0;min-height:calc(var(--touch-target) + .75rem);color:var(--color-text-muted);font:inherit;text-align:center;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:none;border-top:3px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;padding:.375rem .125rem;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.app-navigation-link .icon{width:1.4rem;height:1.4rem}.app-navigation-link:hover{color:var(--color-primary)}.app-navigation-link.active{border-top-color:var(--color-primary);color:var(--color-primary);font-weight:700}.app-navigation-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.navigation-admin-list{right:var(--space-3);bottom:calc(var(--touch-target) + 1.25rem + env(safe-area-inset-bottom));left:var(--space-3);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-medium);margin:0;list-style:none;display:none;position:fixed}.navigation-admin-group[data-open] .navigation-admin-list{display:block}.navigation-admin-list .app-navigation-link{gap:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius);text-align:left;border-top:none;flex-direction:row;justify-content:flex-start;font-size:1rem}.navigation-admin-list .app-navigation-link .icon,.account-menu .icon{width:1.25rem;height:1.25rem}.navigation-admin-list .app-navigation-link.active{background:var(--color-surface-sage);color:var(--color-heading)}.account-menu{position:relative}.account-menu-toggle{gap:var(--space-2);min-height:var(--touch-target);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-small);color:var(--color-heading);font:inherit;cursor:pointer;border:none;align-items:center;padding:.25rem .5rem .25rem .25rem;font-weight:600;display:flex}.account-menu-toggle:hover{background:var(--palette-sage-50)}.account-menu-toggle:focus-visible,.menu-item:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.avatar{background:var(--color-surface-sage);width:2.25rem;height:2.25rem;color:var(--color-heading);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.account-menu-name{display:none}.account-menu-panel{z-index:40;min-width:13rem;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-medium);margin:0;list-style:none;position:absolute;top:calc(100% + .375rem);right:0}.menu-item{gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;font-weight:600;text-decoration:none;display:flex}.menu-item:hover{background:var(--palette-sage-50);color:var(--color-heading)}.menu-separator{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--color-border)}@media (width>=900px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:16rem minmax(0,1fr);padding-bottom:0;display:grid}.app-shell:before{aspect-ratio:auto;background-image:url(/assets/content-background-6u4xBU1r.webp);background-position:100%;background-size:cover;width:auto;position:fixed;inset:0}.app-topbar{padding:var(--space-4) var(--space-6) 0;background:0 0;border-bottom:none;grid-area:1/2;justify-content:flex-end;position:static}.app-topbar-brand,.navigation-admin-toggle{display:none}.account-menu-name{display:inline}.app-navigation{gap:var(--space-5);height:100vh;padding:var(--space-5) var(--space-4);border-top:none;border-right:1px solid var(--color-border);flex-direction:column;grid-area:1/1/span 2;display:flex;position:sticky;top:0;overflow-y:auto}.app-navigation-brand{padding:0 var(--space-3);display:block}.navigation-list,.navigation-admin-list{gap:var(--space-1);flex-direction:column}.navigation-list>li,.navigation-admin-group{flex:none;display:block}.app-navigation-link,.navigation-admin-list .app-navigation-link{gap:var(--space-3);min-height:var(--touch-target);border-radius:var(--radius);text-align:left;border-top:none;flex-direction:row;justify-content:flex-start;padding:0 .875rem;font-size:1rem}.app-navigation-link .icon{width:1.25rem;height:1.25rem}.app-navigation-link:hover{background:var(--palette-sage-50)}.app-navigation-link.active,.navigation-admin-list .app-navigation-link.active{background:var(--color-surface-sage);color:var(--color-heading)}.navigation-section-title{margin:var(--space-5) .875rem var(--space-2);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.navigation-admin-list{box-shadow:none;background:0 0;border:none;padding:0;display:flex;position:static}.app-navigation-illustration{min-height:7rem;margin:auto calc(-1 * var(--space-4)) calc(-1 * var(--space-5));background:url(/assets/sidebar-illustration-46aNY3P2.webp) top/cover no-repeat;flex:0 14.6389rem;display:block}.app-main{padding:var(--space-4) var(--space-6) var(--space-6);grid-column:2}}@media (width>=900px) and (height<=600px){.app-navigation-illustration{display:none}}@media (width>=600px){.app-main .form>.button[type=submit]{align-self:flex-end;min-width:12rem}}.app-main :is(h1,h2,h3){font-family:var(--font-sans);font-weight:600}.card{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-small)}@media (width>=600px){.card{padding:var(--space-4) var(--space-5)}}.status-line{margin:0}.card .retryable-error,.highlight-card .retryable-error{margin-top:var(--space-2);box-shadow:none;background:0 0;border:none;padding:0}.status-line--error{color:var(--color-error)}.status-line--attention{gap:var(--space-2);margin-top:var(--space-2);color:var(--color-warning);align-items:center;font-weight:600;display:flex}.button{gap:var(--space-2);min-height:var(--touch-target);min-width:var(--touch-target);margin-top:var(--space-2);border-radius:var(--radius);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:0 1.125rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-primary-hover);color:var(--color-primary-contrast);text-decoration:none}.button:active{background:var(--color-primary-active)}.button--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-strong)}.button--secondary:hover{background:var(--palette-sage-50);color:var(--color-primary-hover);border-color:var(--color-primary)}.button--secondary:active{background:var(--color-surface-sage)}.button--tonal{background:var(--color-surface-sage);color:var(--color-primary)}.button--tonal:hover{background:var(--palette-sage-200);color:var(--color-primary-hover)}.button--tonal:active{background:var(--palette-sage-200)}.button--full{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.form h2{margin-bottom:0}.form>p,.form>h4{margin:0}.form-field{flex-direction:column;gap:.25rem;display:flex}.form-field label{color:var(--color-heading);font-weight:600}.form-field input,.form-field select,.form-field textarea{min-height:var(--touch-target);border:1px solid var(--color-input-border);border-radius:var(--radius);font:inherit;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;padding:.5rem .875rem}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--color-primary)}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{border-color:var(--color-focus);box-shadow:var(--focus-ring);outline:2px solid #0000}.form-field input:read-only,.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{background:var(--color-muted-surface)}.button:focus-visible,a:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border:2px solid var(--color-error)}.form-field input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px #9b1c1c33}.form-control{display:flex;position:relative}.form-control input{flex:1;width:100%;min-width:0}.form-control-icon{color:var(--color-text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.form-control--with-icon input{padding-left:2.75rem}.form-control--with-action input{padding-right:3rem}.form-control-action{width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.form-control-action:hover{color:var(--color-primary)}.form-control-action:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.form-control-action .icon{width:1.25rem;height:1.25rem}.form-hint{color:var(--color-text-muted);margin:0;font-size:.9rem}.form-error{color:var(--color-error);margin:0;font-weight:600}.loading-state{justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.button--danger{background:var(--color-error);color:var(--color-primary-contrast)}.button--danger:hover,.button--danger:active{background:#7a1515}.button:disabled,.button:disabled:hover{opacity:.55;cursor:not-allowed}.button:disabled:hover{background:var(--color-primary)}.button--secondary:disabled:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.button--danger:disabled:hover{background:var(--color-error)}.confirmation{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-error);border-radius:var(--radius-small);background:var(--color-surface-warm)}.confirmation p{margin:0}.action-error{margin-top:.75rem}.checkbox-field{min-height:var(--touch-target);grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;display:grid}.checkbox-field input{width:1.5rem;height:1.5rem;margin:0}.checkbox-field .form-hint{grid-column:2}.role-fieldset{border:none;margin:0;padding:0}.role-fieldset legend{color:var(--color-heading);margin-bottom:.25rem;padding:0;font-size:1.05rem;font-weight:600}.role-fieldset>.form-hint{margin:0}.copy-field{flex-wrap:wrap;gap:.5rem;display:flex}.copy-field input{flex:14rem;min-width:0}.copy-field .button{margin-top:0}.filter-bar{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.filter-bar .form-field input{width:100%}.segmented-control{border:1px solid var(--color-primary);border-radius:var(--radius);display:flex;overflow:hidden}.segmented-control-option{min-width:0;min-height:var(--touch-target);background:var(--color-surface);color:var(--color-primary);font:inherit;overflow-wrap:anywhere;cursor:pointer;border:none;flex:auto;padding:0 .25rem;font-size:.9rem;font-weight:600}.segmented-control-option+.segmented-control-option{border-left:1px solid var(--color-primary)}.segmented-control-option:hover{background:var(--palette-sage-50)}.segmented-control-option[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-contrast)}.segmented-control-option:focus-visible{outline:3px solid var(--color-focus);outline-offset:-5px}.segmented-control-option[aria-pressed=true]:focus-visible{outline-color:var(--color-primary-contrast)}.outcome-message:empty{display:none}.outcome-message{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);background:var(--color-success-surface);border-left:4px solid var(--color-primary);color:var(--color-heading);font-weight:600}.user-list{flex-direction:column;display:flex}.user-card h3{margin:0}.user-card>.form,.user-card>.confirmation{margin-top:.75rem}.user-card-contact{flex-wrap:wrap;gap:.25rem 1rem;margin:.25rem 0;display:flex}.user-card-contact>*{overflow-wrap:anywhere;min-width:0}.role-list{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.role-badge{border-radius:var(--radius-pill);background:var(--color-surface-sage);color:var(--color-heading);font-size:var(--font-size-small);padding:.125rem .625rem}@media (width>=768px){.filter-bar{flex-direction:row;align-items:flex-end}.filter-bar .segmented-control{flex:none}.segmented-control-option{padding:0 1.25rem;font-size:1rem}.filter-bar .form-field{flex:1}}.team-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.team-card h2,.team-card h3{margin:0}.team-card h3{margin-top:1rem}.member-list{margin:.5rem 0 0;padding:0;list-style:none}.member-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.5rem 0;display:flex}.member-name{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.member-row .button-row{margin-left:auto}.member-row .button{margin-top:0}.member-search{margin-top:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status-badge{border-radius:var(--radius-pill);font-size:var(--font-size-small);border:1px solid #0000;align-items:center;gap:.3rem;padding:.125rem .625rem;font-weight:600;line-height:1.6;display:inline-flex}.status-badge .icon{width:1em;height:1em}.status-badge--complete{background:var(--color-success-surface);color:var(--color-success)}.status-badge--missing{background:var(--color-warning-surface);color:var(--color-warning)}.status-badge--empty{background:var(--color-danger-surface);color:var(--color-error)}.status-badge--neutral{background:var(--color-muted-surface);color:var(--color-text-muted)}.status-badge--canceled{background:var(--color-muted-surface);color:var(--color-text-muted);text-decoration:line-through}.status-badge--draft{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-text-muted);border-style:dashed}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.page-title-row .button{margin-top:0}.page-header{gap:var(--space-3) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.page-header-main{flex:20rem;min-width:0}.page-header>.button{margin-top:0}.month-bar{justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0 .75rem;display:flex}.month-bar h2{text-align:center;margin:0;font-size:1.15rem}@media (width>=600px){.month-bar h2{font-size:1.35rem}}.month-bar h2:first-letter{text-transform:uppercase}.month-bar .button{margin-top:0;font-size:1.4rem}.mass-day h3{margin:0 0 .5rem;font-size:1.05rem}.mass-day h3:first-letter{text-transform:uppercase}.mass-day-list{margin:0;padding:0;list-style:none}.mass-row{min-height:var(--touch-target);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.25rem 0;display:flex}.mass-row+.mass-row{border-top:1px solid var(--color-border)}.mass-row-notes{flex-basis:100%}.mass-calendar-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-small);margin-top:1rem;overflow:hidden}.mass-calendar{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);width:100%}.mass-calendar th{background:var(--palette-sage-50);color:var(--color-text-muted);padding:.5rem 0;font-size:.8rem}.mass-calendar td{vertical-align:top;border:1px solid var(--color-border);height:4.5rem;padding:.125rem}.calendar-empty-day{background:var(--color-background)}.calendar-day-number{color:var(--color-text-muted);font-size:.8rem;display:block}.calendar-chip{min-height:var(--touch-target);overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:.2rem;margin-top:.125rem;padding:.125rem .25rem;font-size:.7rem;line-height:1.3;text-decoration:none;display:flex}@media (width>=768px){.mass-calendar td{height:6rem;padding:.25rem}.calendar-chip{font-size:.8rem}}.form-row{gap:1rem;display:grid}@media (width>=600px){.form-row{grid-template-columns:1fr 1fr}}.capacity-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem 1rem;margin-top:.5rem;display:grid}.capacity-grid input{flex:none;width:6rem}.mass-summary{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.settings-row{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.75rem 0;display:flex}.settings-row--new h3{margin:0;font-size:1.05rem}.settings-row .form-hint{margin:0}.settings-row-fields{gap:.5rem 1rem;display:grid}@media (width>=600px){.settings-row-fields{grid-template-columns:2fr 1fr}}.settings-row .button{margin-top:0}@media (width>=900px){.settings-row:not(.settings-row--new){flex-flow:wrap;align-items:flex-end;gap:.5rem 1rem;padding:.5rem 0}.settings-row:not(.settings-row--new) .settings-row-fields{flex:24rem}.settings-row:not(.settings-row--new)>.form-hint{flex-basis:100%}.settings-row:not(.settings-row--new)+.settings-row:not(.settings-row--new){border-top-style:dashed}.settings-row:not(.settings-row--new)+.settings-row:not(.settings-row--new) label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.volunteer-mass-list{margin:0;padding:0;list-style:none}.volunteer-mass-card{color:var(--color-text);flex-direction:column;gap:.25rem;font-weight:400;text-decoration:none;display:flex}.volunteer-mass-card:hover{border-color:var(--color-primary)}.volunteer-mass-date{font-size:1.05rem;font-weight:700}.volunteer-mass-date:first-letter{text-transform:uppercase}.volunteer-mass-badges{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.service-seats-header{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.service-seats h2{margin:0}.seat-list{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.seat-chip{border-radius:999px;align-items:center;min-height:2.25rem;padding:.25rem .75rem;font-size:.95rem;display:inline-flex}.seat-chip--taken{background:var(--color-muted-surface);color:var(--color-text)}.seat-chip--free{border:2px dashed var(--color-success);color:var(--color-success);font-weight:600}.seat-chip--mine{background:var(--color-success-surface);color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success);font-weight:700}.my-service{background:var(--palette-sage-50);border-left:4px solid var(--color-primary)}.my-service h2{gap:var(--space-2);align-items:center;margin:0;display:flex}.my-service .form-hint{margin-top:.5rem}.overlap-warning{background:var(--color-warning-surface);color:var(--color-warning);font-weight:600}.canceled-notice{background:var(--color-muted-surface);font-weight:600}.canceled-notice .icon,.overlap-warning .icon{margin-right:var(--space-1)}.mass-share .button{margin-top:0}.mass-share .form-hint{margin:var(--space-2) 0 0}.dashboard-grid{gap:0 1rem;display:grid}@media (width>=1100px){.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start}.dashboard-grid>:first-child{grid-row:span 2}}.reset-request-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.reset-request-list li{display:grid}.dashboard-grid .icon-panel .button{margin-top:.75rem}.assignment-summary-link{gap:var(--space-1);min-height:var(--touch-target);align-items:center;text-decoration:none;display:inline-flex}.assignment-summary-link:hover{text-decoration:underline}.assignment-summary-link .icon{flex-shrink:0;width:1rem;height:1rem}.dashboard-list,.assignment-summary-list,.staffing-seat-list{margin:.5rem 0 0;padding:0;list-style:none}.dashboard-list>li+li,.assignment-summary-row+.assignment-summary-row,.staffing-seat+.staffing-seat{border-top:1px solid var(--color-border)}.dashboard-mass-link{gap:.125rem var(--space-3);min-height:var(--touch-target);margin:0 calc(-1 * var(--space-2));padding:var(--space-3) var(--space-2);border-radius:var(--radius);color:var(--color-text);grid-template-columns:auto 1fr;align-items:center;display:grid}.dashboard-mass-link .date-tile{grid-row:span 3;align-self:start}.dashboard-mass-link .status-badge{justify-self:start}.dashboard-mass-link{text-decoration:none}.dashboard-mass-link:hover,.mass-row-link:hover{background:var(--palette-sage-50);color:var(--color-heading)}.dashboard-mass-date{font-weight:600}.dashboard-mass-date:first-letter{text-transform:uppercase}.recent-change{flex-direction:column;padding:.5rem 0;display:flex}.assignment-summary-row{min-height:var(--touch-target);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.5rem 0;display:flex}.assignment-summary-person{font-weight:600}.assignment-summary-badges{flex-wrap:wrap;gap:.5rem;display:flex}.assignment-summary-badges:empty{display:none}.future-assignments{margin-top:.75rem}.service-staffing h2{margin:0}.staffing-seat a[href^=tel\:],.user-card a[href^=tel\:]{min-height:var(--touch-target);align-items:center;display:inline-flex}.staffing-seat{min-height:var(--touch-target);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem 0;display:flex}.seat-person{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.seat-free{border:2px dashed var(--color-success);border-radius:var(--radius-pill);min-height:2.25rem;color:var(--color-success);align-items:center;padding:.25rem .75rem;font-weight:600;display:inline-flex}.service-staffing>.button{margin-top:.75rem}.person-picker{border-left:4px solid var(--color-primary);background:var(--color-background);margin-top:.75rem;padding:.75rem}.person-picker-title{margin:0;font-weight:600}.person-picker .member-search{margin-top:.5rem}.person-picker>.button{margin-top:.75rem}.page-greeting h1{margin-bottom:var(--space-1)}.page-greeting p{color:var(--color-text-muted);margin:0}.home-highlights{gap:var(--space-4);margin-top:var(--space-5);display:grid}.highlight-card{gap:var(--space-3);padding:var(--space-5) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-small);align-items:flex-start;display:flex}.highlight-card--warm{background:var(--color-surface-warm)}.highlight-card--sage{background:var(--palette-sage-50)}.highlight-icon,.icon-panel-icon,.health-icon,.login-method-icon,.quick-action-icon,.service-row-icon,.team-card-icon,.stat-icon{border-radius:var(--radius);background:var(--palette-gold-100);color:var(--palette-forest);justify-content:center;align-items:center;display:flex}.highlight-icon{flex-shrink:0;width:2.75rem;height:2.75rem}.highlight-card--sage .highlight-icon{background:var(--color-surface-sage)}.highlight-icon .icon{width:1.6rem;height:1.6rem}.highlight-body{flex:1;min-width:0}.highlight-body h2{margin:0 0 var(--space-2);font-size:var(--font-size-h2)}.highlight-lead{color:var(--color-heading);margin:0;font-size:1.15rem;font-weight:700}.highlight-date:first-letter,.highlight-lead:first-letter{text-transform:uppercase}.highlight-detail,.highlight-empty{color:var(--color-text-muted);margin:0}.highlight-actions{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.highlight-actions .button{margin-top:0}.arrow-link{gap:var(--space-2);min-height:var(--touch-target);font-size:var(--font-size-small);align-items:center;display:inline-flex}.arrow-link .icon{flex-shrink:0;width:1rem;height:1rem}.card--link{transition:box-shadow var(--transition-fast);position:relative}.card--link:hover{box-shadow:var(--shadow-medium)}.card-link:after{content:"";border-radius:var(--radius-large);position:absolute;inset:0}.card-chevron{color:var(--color-text-muted);align-self:center;display:none}.card-chevron .icon{width:1.25rem;height:1.25rem}@media (width<=599px){.card-chevron{display:flex}}.quick-actions h2{margin-bottom:var(--space-3);font-size:var(--font-size-h2)}.quick-action-list{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(4rem,1fr));margin:0;padding:0;list-style:none;display:grid}.quick-action{gap:var(--space-2);height:100%;min-height:var(--touch-target);padding:var(--space-3) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-heading);font-size:var(--font-size-small);overflow-wrap:anywhere;text-align:center;flex-direction:column;align-items:center;text-decoration:none;display:flex}.quick-action:hover{background:var(--palette-sage-50);color:var(--color-heading)}.quick-action-icon{width:3rem;height:3rem}.quick-action-icon .icon{width:1.4rem;height:1.4rem}.home-columns{gap:0 var(--space-5);display:grid}.icon-panel,.health-status{--icon-panel-indent:calc(2.75rem + var(--space-3));gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.dashboard-grid .icon-panel :is(.dashboard-list,.assignment-summary-list){margin-left:calc(-1 * var(--icon-panel-indent))}.icon-panel.card--link{grid-template-columns:auto minmax(0,1fr) auto}.icon-panel-icon,.health-icon{width:2.75rem;height:2.75rem}.icon-panel-icon .icon,.health-icon .icon{width:1.5rem;height:1.5rem}.icon-panel-body,.health-body{min-width:0}.icon-panel h2,.health-status h2{font-size:var(--font-size-h2);margin:.375rem 0 0}.icon-panel-hint{margin:var(--space-1) 0 0}.icon-panel-footer .button{margin-top:var(--space-2)}.icon-panel .overlap-warning{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius)}.missing-mass-list{margin:var(--space-2) 0 0;padding:0;list-style:none}.missing-mass{padding:var(--space-3) 0}.missing-mass+.missing-mass{border-top:1px solid var(--color-border)}.health-status{align-items:center}.health-icon--ok{background:var(--color-success);color:var(--color-primary-contrast);border-radius:50%}.health-icon--problem{background:var(--color-warning-surface);color:var(--color-warning)}.list-empty{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.service-row-list{margin:var(--space-2) 0 0;padding:0;list-style:none}.service-row-list>li+li{border-top:1px solid var(--color-border)}.service-row{gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3) var(--space-1);color:var(--color-text);align-items:flex-start;font-weight:400;text-decoration:none;display:flex}.service-row:hover{background:var(--palette-sage-50)}.service-row-icon{border-radius:var(--radius-small);flex-shrink:0;width:2.5rem;height:2.5rem}.service-row-body{flex-direction:column;gap:.125rem;min-width:0;font-size:.95rem;display:flex}.service-row .my-service-role{color:var(--color-heading);font-size:1rem}.service-row .volunteer-mass-date:first-letter{text-transform:uppercase}.service-row .volunteer-mass-date{font-size:.95rem;font-weight:400}.service-row .volunteer-mass-badges:empty{display:none}@media (width>=700px){.home-highlights{grid-template-columns:1fr 1fr}.highlight-card{padding:var(--space-5)}.highlight-icon{width:3.25rem;height:3.25rem}}@media (width<=599px){.icon-panel .missing-mass-list,.icon-panel .service-row-list{margin-left:calc(-1 * var(--icon-panel-indent))}}@media (width>=700px){.icon-panel,.health-status{--icon-panel-indent:calc(3.25rem + var(--space-3))}.icon-panel-icon,.health-icon{width:3.25rem;height:3.25rem}.icon-panel h2,.health-status h2{margin-top:.625rem}}@media (width>=1100px){.home-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.my-service-role{font-weight:600}.missing-mass-link{min-height:var(--touch-target);color:var(--color-text);flex-direction:column;gap:.25rem;font-weight:400;text-decoration:none;display:flex}.open-service-list{margin:.5rem 0 0;padding:0;list-style:none}.open-service{min-height:var(--touch-target);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.25rem 0;display:flex}.account-tabs{margin:var(--space-4) 0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-small);display:flex;overflow:hidden}.account-tab{gap:var(--space-2);min-width:0;min-height:calc(var(--touch-target) + .25rem);background:var(--color-surface);color:var(--color-heading);flex:1 1 0;justify-content:center;align-items:center;padding:0 .5rem;font-weight:600;text-decoration:none;display:flex}.account-tab .icon{flex-shrink:0;width:1.25rem;height:1.25rem}.account-tab+.account-tab{border-left:1px solid var(--color-border-strong)}.account-tab:hover{background:var(--palette-sage-50)}.account-tab.active{background:var(--color-primary);color:var(--color-primary-contrast)}.account-tabs,.account-section{max-width:56rem}.profile-form .form-control-icon{border-right:1px solid var(--color-border-strong);justify-content:center;align-items:center;width:2.75rem;top:1px;bottom:1px;left:1px;transform:none}.profile-form .form-control-icon .icon{width:1.2rem;height:1.2rem}.profile-form .form-control--with-icon input{padding-left:3.5rem}@media (width>=1100px){.profile-form{gap:1rem var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.profile-form>*{grid-column:1/-1}.profile-form>.form-field:nth-child(-n+2){grid-column:auto}.profile-form>.button[type=submit]{justify-self:end}}.account-section{margin-top:1.5rem}.account-section h2{margin:0 0 .5rem}.history-panel{max-width:56rem}.history-panel .service-row-list{margin-top:0}.account-section h2+p{color:var(--color-text-muted);margin-top:0}.login-method-list{margin:0;padding:0;list-style:none}.login-method{gap:var(--space-2) var(--space-3);min-height:var(--touch-target);padding:var(--space-3) 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.login-method+.login-method{border-top:1px solid var(--color-border)}.login-method-icon{border:1px solid var(--color-border);background:var(--color-surface);width:2.75rem;height:2.75rem}.login-method-icon .icon{width:1.4rem;height:1.4rem}.login-method-name{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:center;margin:0;display:flex}.login-method-action .button{margin-top:0}.login-method>.confirmation,.login-method>.login-method-form{grid-column:1/-1}@media (width<=599px){.login-method{grid-template-columns:auto minmax(0,1fr)}.login-method-action{grid-column:2}}.login-method-form h3{margin:.5rem 0;font-size:1.05rem}.login-method .form-hint{margin:0}.date-tile{width:3.25rem;padding:var(--space-2) 0;border-radius:var(--radius);background:var(--palette-gold-100);color:var(--color-heading);text-transform:uppercase;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;line-height:1.1;display:flex}.date-tile-weekday,.date-tile-month{letter-spacing:.06em;font-size:.7rem;font-weight:700}.date-tile-day{font-family:var(--font-sans);font-size:1.6rem;font-weight:700}.mass-card-grid{gap:0 var(--space-4);display:grid}.volunteer-mass-card.mass-card{gap:var(--space-3);flex-direction:row;align-items:center}.mass-card:hover{box-shadow:var(--shadow-medium)}.mass-card-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.mass-card-chevron{color:var(--color-text-muted);display:flex}.back-link{gap:var(--space-1);min-height:var(--touch-target);font-size:var(--font-size-small);align-items:center;display:inline-flex}.mass-header{gap:var(--space-4);margin-bottom:var(--space-2);align-items:flex-start;display:flex}.mass-header-body{min-width:0}.mass-header h1{margin-bottom:var(--space-2)}.mass-facts{gap:var(--space-1) var(--space-4);color:var(--color-text-muted);flex-wrap:wrap;margin:0;display:flex}.mass-facts>span{gap:var(--space-2);align-items:baseline;display:inline-flex}.mass-notes{margin:var(--space-2) 0 0}.confirmation--positive{border-left-color:var(--color-primary);background:var(--palette-sage-50)}.service-grid{gap:0 var(--space-4);align-items:start;display:grid}@media (width<=599px){.mass-header .date-tile{display:none}}@media (width>=600px){.date-tile{width:3.75rem}}@media (width>=1100px){.mass-card-grid,.service-grid{grid-template-columns:1fr 1fr}}.mass-day-header{gap:var(--space-3);margin-bottom:var(--space-2);align-items:center;display:flex}.mass-day-header h3{margin:0}.mass-row-link{gap:var(--space-2);min-height:var(--touch-target);margin-left:calc(-1 * var(--space-2));padding:0 var(--space-2);border-radius:var(--radius);color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.mass-calendar{border-style:hidden}.mass-form,.mass-share{max-width:44rem}.avatar--small{width:2rem;height:2rem;font-size:.75rem}.service-staffing .service-seats-header{margin-bottom:var(--space-1)}@media (width<=599px){.calendar-chip{justify-content:center}.calendar-chip .icon{width:1rem;height:1rem}.calendar-chip-time{display:none}}.dashboard-summary{margin-top:var(--space-4)}.stat-list{gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.stat-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.stat-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-tile{gap:0 var(--space-3);min-height:var(--touch-target);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-small);color:var(--color-heading);grid-template-columns:auto 1fr;align-items:center;text-decoration:none;display:grid}.stat-tile:hover{box-shadow:var(--shadow-medium);color:var(--color-heading)}.stat-icon{grid-row:span 2;width:2.75rem;height:2.75rem}.stat-tile--attention .stat-icon{background:var(--color-warning-surface);color:var(--color-warning)}.stat-tile--calm .stat-icon{background:var(--color-success-surface);color:var(--color-success)}.stat-icon .icon{width:1.4rem;height:1.4rem}.stat-value{font-family:var(--font-sans);font-size:1.75rem;font-weight:700;line-height:1.1}.stat-label{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:600}.recent-change>span:first-child .icon{color:var(--color-primary)}.user-card-header{gap:var(--space-3);align-items:center;display:flex}.user-card-header h3{overflow-wrap:anywhere;min-width:0}.team-card-icon{border-radius:var(--radius-small);width:2.25rem;height:2.25rem}.team-create,.settings-stack{max-width:52rem}@media (width>=600px){.team-create{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.team-create>:not(.form-field,.button){grid-column:1/-1}.app-main .team-create>.button[type=submit]{margin-top:0}}
