@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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}:root{--color-bg:#f4f2ec;--color-surface:#fffefb;--color-surface-sunken:#efece4;--color-border:#e2ded3;--color-border-strong:#cdc8ba;--color-text:#17202e;--color-text-muted:#4f5662;--color-text-subtle:#636975;--color-text-inverse:#fff;--color-navy-900:#121c33;--color-navy-800:#1c2a47;--color-navy-700:#2b3f66;--color-navy-100:#e1e6ef;--color-navy-50:#eef1f6;--color-olive-800:#39442a;--color-olive-700:#4a5835;--color-olive-600:#5c6b42;--color-olive-100:#e4e8d8;--color-olive-50:#eff2e7;--color-amber-700:#8a5b14;--color-amber-100:#f4ead4;--color-red-700:#9b3527;--color-red-100:#f5e2dd;--color-primary:var(--color-navy-800);--color-primary-hover:var(--color-navy-900);--color-primary-soft:var(--color-navy-50);--color-accent:var(--color-olive-700);--color-accent-soft:var(--color-olive-50);--color-focus:#4f6fa8;--tone-neutral-fg:var(--color-text-muted);--tone-neutral-bg:var(--color-surface-sunken);--tone-positive-fg:var(--color-olive-700);--tone-positive-bg:var(--color-olive-100);--tone-warning-fg:var(--color-amber-700);--tone-warning-bg:var(--color-amber-100);--tone-info-fg:var(--color-navy-700);--tone-info-bg:var(--color-navy-100);--tone-danger-fg:var(--color-red-700);--tone-danger-bg:var(--color-red-100);--font-sans:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--weight-regular:450;--weight-medium:550;--weight-semibold:620;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:999px;--shadow-sm:0 1px 2px #121c330d;--shadow-md:0 1px 2px #121c330a, 0 6px 20px #121c330f;--shadow-lg:0 -8px 40px #121c3329;--content-width:680px;--header-height:60px;--tabbar-height:64px;--tap-size:48px;--duration:.16s}@media (width>=1024px){:root{--sidebar-width:232px;--content-width:1040px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-regular);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;line-height:1.5}h1,h2,h3,p{margin:0}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.2}h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}h3{font-size:var(--text-md);font-weight:var(--weight-semibold)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}a{color:var(--color-navy-700)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:var(--stack-gap,var(--space-3));flex-direction:column;display:flex}.stack--tight{--stack-gap:var(--space-2)}.row{align-items:center;gap:var(--space-2);display:flex}.row--wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.pre-wrap{white-space:pre-wrap}.tone-neutral{--tone-fg:var(--tone-neutral-fg);--tone-bg:var(--tone-neutral-bg)}.tone-positive{--tone-fg:var(--tone-positive-fg);--tone-bg:var(--tone-positive-bg)}.tone-warning{--tone-fg:var(--tone-warning-fg);--tone-bg:var(--tone-warning-bg)}.tone-info{--tone-fg:var(--tone-info-fg);--tone-bg:var(--tone-info-bg)}.tone-danger{--tone-fg:var(--tone-danger-fg);--tone-bg:var(--tone-danger-bg)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--weight-semibold);white-space:nowrap;transition:background-color var(--duration), border-color var(--duration), transform var(--duration);border:1px solid #0000;line-height:1.2;display:inline-flex}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.55;cursor:default}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn--md{min-height:44px;padding:0 var(--space-4);font-size:var(--text-sm)}.btn--lg{min-height:56px;padding:0 var(--space-5);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn--block{width:100%;display:flex}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--accent{background:var(--color-accent);color:var(--color-text-inverse)}.btn--accent:hover:not(:disabled){background:var(--color-olive-800)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.btn--ghost{color:var(--color-navy-700)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-soft)}.btn--danger{background:var(--color-surface);border-color:var(--color-red-100);color:var(--color-red-700)}.btn--danger:hover:not(:disabled){background:var(--color-red-100)}.btn__icon{flex:none;width:1.15em;height:1.15em}.btn__spinner{animation:.8s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-muted);transition:background-color var(--duration);place-items:center;display:inline-grid}.icon-btn:hover{background:var(--color-surface-sunken)}.icon-btn svg{width:20px;height:20px}.notice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);background:var(--notice-bg);border:1px solid var(--notice-border,transparent);display:flex}.notice__icon{width:18px;height:18px;color:var(--notice-fg);flex:none;margin-top:1px}.notice__body{flex:1;min-width:0}.notice__title{font-weight:var(--weight-semibold);color:var(--notice-fg)}.notice--neutral{--notice-fg:var(--tone-neutral-fg);--notice-bg:var(--color-surface-sunken)}.notice--info{--notice-fg:var(--tone-info-fg);--notice-bg:var(--color-navy-50)}.notice--positive{--notice-fg:var(--tone-positive-fg);--notice-bg:var(--color-olive-50)}.notice--warning{--notice-fg:var(--tone-warning-fg);--notice-bg:var(--tone-warning-bg)}.notice--danger{--notice-fg:var(--tone-danger-fg);--notice-bg:var(--tone-danger-bg)}.sheet{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__backdrop{background:#121c336b;animation:.18s ease-out sheet-fade;position:absolute;inset:0}.sheet__panel{overscroll-behavior:contain;background:var(--color-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:640px;max-height:94dvh;box-shadow:var(--shadow-lg);padding:0 var(--space-5) calc(var(--space-8) + env(safe-area-inset-bottom));outline:none;animation:.24s cubic-bezier(.2,.8,.2,1) sheet-up;position:relative;overflow-y:auto}.sheet__grabber{width:40px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-full);background:var(--color-border-strong)}.sheet__header{z-index:1;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;background:var(--color-bg);display:flex;position:sticky;top:0}.sheet__title{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.015em;flex:1}.sheet__close{background:var(--color-surface);border:1px solid var(--color-border)}.sheet__body{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=720px){.sheet{padding:var(--space-6);align-items:center}.sheet__panel{border-radius:var(--radius-xl);max-height:88dvh;padding-bottom:var(--space-6)}.sheet__grabber{display:none}.sheet__header{padding-top:var(--space-5)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet__panel,.sheet__backdrop{animation:none}}.sheet__footer{bottom:calc(var(--space-8) * -1 - env(safe-area-inset-bottom));z-index:2;margin:0 calc(var(--space-5) * -1) calc(var(--space-8) * -1 - env(safe-area-inset-bottom));padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-bg);border-top:1px solid var(--color-border);position:sticky;box-shadow:0 -6px 16px #121c330f}@media (width>=720px){.sheet__footer{bottom:calc(var(--space-6) * -1);margin-bottom:calc(var(--space-6) * -1);padding-bottom:var(--space-4);border-radius:0 0 var(--radius-xl) var(--radius-xl)}}.sheet__confirm{bottom:calc(var(--space-8) * -1 - env(safe-area-inset-bottom));z-index:3;margin:var(--space-4) calc(var(--space-5) * -1) calc(var(--space-8) * -1 - env(safe-area-inset-bottom));padding:var(--space-4) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:2px solid var(--color-amber-700);position:sticky;box-shadow:0 -10px 30px #121c332e}.sheet__confirm-text{margin-bottom:var(--space-3);font-weight:var(--weight-semibold)}.sheet__confirm-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width>=720px){.sheet__confirm{bottom:calc(var(--space-6) * -1);margin-bottom:calc(var(--space-6) * -1);border-radius:0 0 var(--radius-xl) var(--radius-xl)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card--flush{padding:0;overflow:hidden}.card--highlight{border-color:var(--color-olive-600);box-shadow:0 0 0 1px var(--color-olive-600), var(--shadow-md)}.card__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.card__icon{border-radius:var(--radius-sm);background:var(--color-accent-soft);width:32px;height:32px;color:var(--color-accent);flex:none;place-items:center;display:grid}.card__icon svg{width:18px;height:18px}.card__title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.card__subtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.auth{min-height:100dvh;padding:calc(var(--space-10) + env(safe-area-inset-top)) var(--space-4) var(--space-8);flex-direction:column;align-items:center;display:flex}.auth__brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.auth__logo{background:var(--color-navy-800);width:44px;height:44px;color:var(--color-text-inverse);font-size:22px;font-weight:var(--weight-bold);box-shadow:inset 0 -4px 0 var(--color-olive-600);border-radius:13px;place-items:center;display:grid}.auth__name{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.02em}.auth__card{width:100%;max-width:420px;padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-md)}.auth__title{font-size:var(--text-xl)}.auth__intro{margin:var(--space-1) 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.auth__form,.auth__actions{gap:var(--space-4);flex-direction:column;display:flex}.auth__actions{margin-top:var(--space-5);gap:var(--space-2)}.auth__links{justify-content:center;gap:var(--space-1);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.auth__invite{margin-bottom:var(--space-4)}.auth__privacy{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.auth__loading{width:24px;height:24px;margin:var(--space-2) auto;color:var(--color-text-subtle);animation:.8s linear infinite btn-spin;display:block}.auth__message{margin-top:var(--space-4)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.field__optional{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-subtle)}.field__hint{font-size:var(--text-xs);color:var(--color-text-muted)}.input{width:100%;min-height:var(--tap-size);padding:11px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-md);transition:border-color var(--duration), box-shadow var(--duration)}.input::placeholder{color:var(--color-text-subtle)}.input:focus{border-color:var(--color-navy-700);box-shadow:0 0 0 3px var(--color-navy-100);outline:none}.input--multiline{resize:vertical;min-height:112px;line-height:1.45}.checkbox{align-items:center;gap:var(--space-3);min-height:40px;font-size:var(--text-sm);cursor:pointer;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--color-navy-800);margin:0}.toast-region{left:0;right:0;bottom:calc(var(--tabbar-height) + var(--space-4) + env(safe-area-inset-bottom));z-index:50;pointer-events:none;padding:0 var(--space-4);justify-content:center;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-2);max-width:440px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-navy-900);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-md);animation:.2s ease-out toast-in;display:flex}.toast__icon{flex:none;width:18px;height:18px}.toast--success .toast__icon{color:#b8c79a}.toast--error{background:var(--color-red-700)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width>=1024px){.toast-region{bottom:var(--space-6)}}.google-btn{justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);color:#1f1f1f;font-weight:var(--weight-semibold);transition:background-color var(--duration);background:#fff;display:flex}.google-btn:hover:not(:disabled){background:var(--color-surface-sunken)}.google-btn:disabled{opacity:.7}.google-btn__logo{flex:none;width:20px;height:20px}.auth__divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.google-signin{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.google-signin__button{justify-content:center;width:100%;min-height:44px;display:flex}.google-signin__fallback{font-size:var(--text-xs);color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline}.onboarding__section{gap:var(--space-3);flex-direction:column;display:flex}.onboarding__heading{font-size:var(--text-md)}.onboarding__text{margin-top:calc(var(--space-2) * -1);font-size:var(--text-sm);color:var(--color-text-muted)}.onboarding__divider{align-items:center;gap:var(--space-3);margin:var(--space-6) 0;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);display:flex}.onboarding__divider:before,.onboarding__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.day-card{padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.day-card--today{border-color:var(--color-olive-600);box-shadow:0 0 0 1px var(--color-olive-600)}.day-card--past{background:0 0}.day-card__header{align-items:center;gap:var(--space-2);min-height:32px;margin-bottom:var(--space-2);display:flex}.day-card__date{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex:1;display:flex}.day-card__label:first-letter{text-transform:uppercase}.day-card__today{border-radius:var(--radius-full);background:var(--color-olive-700);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px 8px}.day-card__empty{font-size:var(--text-sm);color:var(--color-text-subtle)}.segmented{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-sunken);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.segmented__option{min-height:44px;padding:var(--space-2);border-radius:calc(var(--radius-md) - 3px);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);transition:background-color var(--duration), color var(--duration);justify-content:center;align-items:center;gap:6px;display:flex}.segmented__option svg{flex:none;width:16px;height:16px}.segmented__option.is-selected{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm), 0 0 0 1px var(--color-border)}.choice-list{gap:var(--space-2);flex-direction:column;display:flex}.choice-list__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;display:flex}.choice-list__item.is-selected{border-color:var(--color-navy-700);box-shadow:0 0 0 1px var(--color-navy-700)}.choice-list__dot{border:2px solid var(--color-border-strong);border-radius:50%;flex:none;width:18px;height:18px}.is-selected .choice-list__dot{border:5px solid var(--color-navy-800)}.choice-list__label{font-weight:var(--weight-semibold);display:block}.choice-list__desc{font-size:var(--text-sm);color:var(--color-text-muted);display:block}.page-header{align-items:flex-end;gap:var(--space-4);margin:var(--space-2) 0 var(--space-5);display:flex}.page-header__eyebrow{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-accent);margin-bottom:var(--space-1)}.page-header__description{margin-top:var(--space-1);color:var(--color-text-muted)}.section{margin-top:var(--space-6)}.section__header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section__title{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);display:flex}.section__count{border-radius:var(--radius-full);background:var(--color-surface-sunken);min-width:22px;font-size:var(--text-xs);text-align:center;letter-spacing:0;padding:0 7px;line-height:20px}.empty-state{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty-state__icon{width:40px;height:40px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted);place-items:center;display:grid}.empty-state__icon svg{width:20px;height:20px}.empty-state__title{font-weight:var(--weight-semibold)}.empty-state__text{font-size:var(--text-sm);color:var(--color-text-muted)}.disclosure{margin-top:var(--space-6)}.disclosure summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);padding:var(--space-2) 0}.disclosure__content{margin-top:var(--space-2)}.pill{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;color:var(--pill-fg);background:var(--pill-bg);align-items:center;gap:5px;padding:3px 10px;line-height:1.4;display:inline-flex}.pill__icon{width:13px;height:13px}.pill--button{cursor:pointer}.pill--neutral{--pill-fg:var(--tone-neutral-fg);--pill-bg:var(--tone-neutral-bg)}.pill--positive{--pill-fg:var(--tone-positive-fg);--pill-bg:var(--tone-positive-bg)}.pill--warning{--pill-fg:var(--tone-warning-fg);--pill-bg:var(--tone-warning-bg)}.pill--info{--pill-fg:var(--tone-info-fg);--pill-bg:var(--tone-info-bg)}.pill--danger{--pill-fg:var(--tone-danger-fg);--pill-bg:var(--tone-danger-bg)}.absence-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.absence-row__main{align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-size);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);text-align:left;display:flex}.absence-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.absence-row__title{font-weight:var(--weight-semibold)}.absence-row__period{font-size:var(--text-sm);color:var(--color-text-muted)}.absence-row__note{font-size:var(--text-sm);color:var(--color-text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.absence-row__chevron{width:18px;height:18px;color:var(--color-text-subtle);flex:none}.absence-row__actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);display:flex}.absence-row__status{margin-top:var(--space-1)}.job-row{align-items:stretch;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;transition:border-color var(--duration), background-color var(--duration);display:flex}.job-row:hover{border-color:var(--color-border-strong)}.job-row:active{background:var(--color-surface-sunken)}.job-row--done{opacity:.6}.job-row__bar{border-radius:var(--radius-full);flex:none;width:4px}.job-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.job-row__title-line{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.job-row__title{font-weight:var(--weight-semibold)}.job-row__subtitle,.job-row__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.job-row__meta{color:var(--color-text-subtle)}.job-row__people{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-navy-700)}.job-row__chevron{width:18px;height:18px;color:var(--color-text-subtle);flex:none;align-self:center}.month-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.month-grid__head,.month-grid__week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-grid__head{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border)}.month-grid__head span{padding:var(--space-2) 0;text-align:center;font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-subtle);text-transform:uppercase}.month-grid__week+.month-grid__week{border-top:1px solid var(--color-border)}.month-grid__day{text-align:left;min-height:64px;transition:background-color var(--duration);flex-direction:column;gap:4px;padding:6px 4px;display:flex}.month-grid__day+.month-grid__day{border-left:1px solid var(--color-border)}.month-grid__day:hover{background:var(--color-surface-sunken)}.month-grid__day.is-weekend{background:#efece499}.month-grid__day.is-outside{color:var(--color-text-subtle)}.month-grid__day.is-outside .month-grid__bars{opacity:.45}.month-grid__day.is-selected{background:var(--color-navy-50);box-shadow:inset 0 0 0 2px var(--color-navy-700)}.month-grid__num{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding-left:2px;line-height:22px;display:flex}.month-grid__day.is-today .month-grid__num{border-radius:var(--radius-full);background:var(--color-olive-700);width:24px;height:24px;color:var(--color-text-inverse);justify-content:center;padding:0}.month-grid__checkin{border-radius:var(--radius-full);background:var(--tone-fg);flex:none;width:6px;height:6px}.month-grid__day.is-today .month-grid__checkin{display:none}.month-grid__bars{flex-direction:column;gap:2px;display:flex}.month-grid__bars i{border-radius:3px;height:5px;display:block}.month-grid__bars i.part-vm{width:50%}.month-grid__bars i.part-nm{width:50%;margin-left:50%}.month-grid__bars em{font-size:10px;font-style:normal;font-weight:var(--weight-semibold);color:var(--color-text-muted);line-height:1}.week-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.week-grid__row{border-bottom:1px solid var(--color-border);text-align:left;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.week-grid__row:last-child{border-bottom:0}.week-grid__row--head{background:var(--color-surface-sunken)}.week-grid__day{border-left:1px solid var(--color-border);padding:var(--space-2) 0;flex-direction:column;align-items:center;line-height:1.2;display:flex;position:relative}.week-grid__dow{font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-subtle);text-transform:uppercase}.week-grid__date{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.week-grid__day.is-today .week-grid__date{border-radius:var(--radius-full);background:var(--color-olive-700);width:24px;height:24px;color:var(--color-text-inverse);place-items:center;display:grid}.week-grid__checkin{border-radius:var(--radius-full);background:var(--tone-fg);width:6px;height:6px;margin-top:3px}.week-grid__job{padding-bottom:var(--space-2);transition:background-color var(--duration)}.week-grid__job:hover{background:var(--color-surface-sunken)}.week-grid__job.is-done{opacity:.55}.week-grid__title{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3) var(--space-1);grid-column:1/-1;display:flex}.week-grid__swatch{border-radius:var(--radius-full);flex:none;width:8px;height:8px}.week-grid__text{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.week-grid__name,.week-grid__client{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-grid__name{max-width:70%;font-size:var(--text-sm);font-weight:var(--weight-semibold);flex-shrink:0}.week-grid__client{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:1}.week-grid__cell{border-left:1px solid var(--color-border);grid-template-columns:1fr 1fr;align-items:center;display:grid}.week-grid__cell.is-weekend,.week-grid__day.is-weekend{background:#efece499}.week-grid__cell.is-today{background:var(--color-olive-50)}.week-grid__half{height:22px}.week-grid__half.is-start{border-top-left-radius:6px;border-bottom-left-radius:6px;margin-left:3px}.week-grid__half.is-end{border-top-right-radius:6px;border-bottom-right-radius:6px;margin-right:3px}.week-grid__empty{padding:var(--space-3)}.week-grid__empty .empty-state{border:0}.week-grid__day:first-child,.week-grid__cell:nth-child(2){border-left:0}.people-grid__row{cursor:default}.people-grid__row:hover{background:0 0}.people-grid__slot{cursor:pointer;border-radius:4px;margin:0 1px;display:block}.people-grid__slot.is-conflict{box-shadow:inset 0 0 0 2px var(--color-red-700);background-image:repeating-linear-gradient(135deg, var(--color-red-700) 0 4px, transparent 4px 8px)!important}.people-grid__absent{background:repeating-linear-gradient(135deg,#1c2a4738 0 3px,#0000 3px 7px)}.period-nav{top:calc(var(--header-height) + env(safe-area-inset-top));z-index:5;align-items:center;gap:var(--space-2);margin:0 calc(var(--space-4) * -1) var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-bg);display:flex;position:sticky}.period-nav__label{font-weight:var(--weight-semibold);flex-direction:column;flex:1;align-items:center;display:flex}.period-nav__label>span:first-letter{text-transform:uppercase}.period-nav__today{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-navy-700);text-underline-offset:2px;text-decoration:underline}.planning-calendar__switch{margin-bottom:var(--space-3)}.planning-calendar__agenda{margin-top:var(--space-4)}.planning-calendar__hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.planning-calendar__layout{margin-bottom:var(--space-3)}.planning-calendar__layout .segmented{max-width:360px;margin:0 auto}.detail-list{gap:var(--space-3);margin:0;display:grid}.detail-list div{gap:var(--space-3);display:flex}.detail-list dt{align-items:center;gap:var(--space-2);min-width:110px;font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.detail-list dt svg{width:16px;height:16px}.detail-list dd{font-weight:var(--weight-medium);margin:0}.detail-heading{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.detail-days{margin:0;padding:0;list-style:none}.detail-days li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;display:flex}.detail-days li:last-child{border-bottom:0}.detail-days li span:first-child:first-letter{text-transform:uppercase}.detail-days li span:first-child{display:inline-block}.route-buttons{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.route-buttons .btn{text-decoration:none}.route-buttons .btn__icon--brand{width:24px;height:24px}.request-image{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);width:100%;display:block;overflow:hidden}.request-image img{width:100%}.request-image--thumb img{object-fit:cover;object-position:top;max-height:220px}.request-image__loading{height:120px;animation:1.2s ease-in-out infinite pulse;display:block}.request-image__missing{align-items:center;gap:var(--space-2);padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.request-image__missing svg{width:18px;height:18px}@keyframes pulse{50%{opacity:.5}}.request-card{gap:var(--space-3);flex-direction:column;display:flex}.request-card__header{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.request-card__client{font-size:var(--text-md)}.request-card__time{white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-subtle)}.request-card__contact{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.request-card__contact>*{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.request-card__contact svg{width:15px;height:15px}.request-card__note{line-height:1.5}.request-card__planned{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-accent)}.request-card__actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.conversation{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.conversation__more{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-navy-700);text-underline-offset:2px;text-decoration:underline}.conversation__item{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.conversation__event{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.conversation__event svg{flex:none;width:12px;height:12px}.conversation__item.is-new .conversation__event{color:var(--color-navy-700);font-weight:var(--weight-semibold)}.bubble{max-width:88%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.45}.bubble--theirs{background:var(--color-navy-50);border-bottom-left-radius:4px;align-self:flex-start}.bubble--mine{background:var(--color-olive-50);border-bottom-right-radius:4px;align-self:flex-end}.conversation__item.is-new .bubble--theirs{box-shadow:inset 0 0 0 1.5px var(--color-navy-700)}.bubble__meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin-bottom:2px;display:flex}.bubble__new{border-radius:var(--radius-full);background:var(--color-navy-700);color:var(--color-text-inverse);text-transform:uppercase;letter-spacing:.04em;padding:0 6px;font-size:10px;line-height:16px}.conversation__reply{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.conversation__reply .input--multiline{min-height:80px}.stepper{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;display:inline-flex;overflow:hidden}.stepper__btn{width:52px;height:52px;color:var(--color-navy-800);place-items:center;display:grid}.stepper__btn:disabled{color:var(--color-text-subtle);cursor:default}.stepper__btn:hover:not(:disabled){background:var(--color-surface-sunken)}.stepper__btn svg{width:20px;height:20px}.stepper__value{text-align:center;min-width:108px;font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);line-height:52px}.stepper__value.is-empty{color:var(--color-text-subtle);font-weight:var(--weight-regular)}.step-title{align-items:center;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--text-lg);display:flex}.step-title__n{border-radius:var(--radius-full);background:var(--color-navy-800);width:28px;height:28px;color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;place-items:center;display:grid}.photo-picker{gap:var(--space-2);flex-direction:column;display:flex}.photo-picker__drop{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;cursor:pointer;transition:border-color var(--duration);flex-direction:column;display:flex}.photo-picker__drop:hover,.photo-picker__drop:focus-within{border-color:var(--color-navy-700)}.photo-picker__drop svg{width:28px;height:28px;margin-bottom:var(--space-1);color:var(--color-navy-700)}.photo-picker__title{font-weight:var(--weight-semibold)}.photo-picker__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.photo-picker__preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);position:relative;overflow:hidden}.photo-picker__preview img{object-fit:contain;width:100%;max-height:320px}.photo-picker__remove{top:var(--space-2);right:var(--space-2);background:var(--color-surface);box-shadow:var(--shadow-md);position:absolute}.checkin-tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.checkin-tile{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-height:104px;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:border-color var(--duration), background-color var(--duration), transform var(--duration);flex-direction:column;line-height:1.3;display:flex}.checkin-tile:hover:not(:disabled){border-color:var(--tone-fg)}.checkin-tile:active:not(:disabled){background:var(--tone-bg);transform:scale(.98)}.checkin-tile:disabled{opacity:.6}.checkin-tile__icon{border-radius:var(--radius-sm);background:var(--tone-bg);width:38px;height:38px;color:var(--tone-fg);place-items:center;display:grid}.checkin-tile__icon svg{width:20px;height:20px}.checkin-card{gap:var(--space-3);flex-direction:column;display:flex}.checkin-card__header{align-items:center;gap:var(--space-3);display:flex}.checkin-card__icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--tone-fg);background:var(--tone-bg);flex:none;place-items:center;display:grid}.checkin-card__icon svg{width:18px;height:18px}.checkin-card__details{gap:var(--space-1);font-size:var(--text-sm);margin:0;display:grid}.checkin-card__details:empty{display:none}.checkin-card__details div{gap:var(--space-2);display:flex}.checkin-card__details dt{min-width:92px;color:var(--color-text-muted)}.checkin-card__details dd{font-weight:var(--weight-medium);margin:0}.checkin-card__note{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--text-sm)}.checkin-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.missing-list{margin:0;padding:0;list-style:none}.missing-list li{justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.missing-list li:last-child{border-bottom:0}.missing-list__day{font-weight:var(--weight-medium);display:inline-block}.missing-list__day:first-letter{text-transform:uppercase}.calendar__nav{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.calendar__month{font-weight:var(--weight-semibold);text-transform:capitalize}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__weekday{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-subtle);text-transform:uppercase;padding-bottom:2px}.calendar__day{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;align-items:center;min-height:54px;padding:5px 0 9px;display:flex;position:relative;overflow:hidden}.calendar__day.is-weekend{background:var(--color-surface-sunken)}.calendar__day.is-today{border-color:var(--color-text)}.calendar__num{z-index:1;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;position:relative}.calendar__part{z-index:1;min-height:14px;font-size:10px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;position:relative}.calendar__day.is-dag{background:var(--color-navy-800);border-color:var(--color-navy-800);color:var(--color-text-inverse)}.calendar__day.is-vm{background:linear-gradient(to bottom, var(--color-navy-800) 50%, var(--color-surface) 50%);border-color:var(--color-navy-800)}.calendar__day.is-vm .calendar__num{color:var(--color-text-inverse)}.calendar__day.is-vm .calendar__part{color:var(--color-navy-800)}.calendar__day.is-nm{background:linear-gradient(to bottom, var(--color-surface) 50%, var(--color-navy-800) 50%);border-color:var(--color-navy-800)}.calendar__day.is-nm .calendar__part{color:var(--color-text-inverse)}.calendar__busy{flex-direction:column;gap:1px;display:flex;position:absolute;bottom:3px;left:4px;right:4px}.calendar__busy i{border-radius:2px;height:3px;display:block}.calendar__busy i.part-vm{width:50%}.calendar__busy i.part-nm{width:50%;margin-left:50%}.calendar__day.is-absent:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#1c2a4729 0 3px,#0000 3px 7px);position:absolute;inset:0}.calendar__day.is-absent-vm:after{bottom:50%}.calendar__day.is-absent-nm:after{top:50%}.form-grid{gap:var(--space-4);display:grid}@media (width>=520px){.form-grid{grid-template-columns:1fr 1fr}}.plan__heading{margin-top:var(--space-2);font-size:var(--text-lg)}.plan__card-title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-weight:var(--weight-semibold);display:flex}.plan__card-title svg{width:18px;height:18px;color:var(--color-accent)}.plan__card-title+p{margin-bottom:var(--space-3)}.plan__fill{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.plan__fill .field{flex:1;min-width:160px}.plan__blocks{margin:var(--space-1) 0;padding-left:var(--space-4)}.plan__answer{min-height:72px}.plan__extend{margin-top:var(--space-3)}.plan__confirm{margin-top:var(--space-2)}.people-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.people-picker__chip{min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-medium);align-items:center;gap:6px;display:inline-flex}.people-picker__chip svg{width:16px;height:16px;color:var(--color-text-muted)}.people-picker__chip.is-selected{border-color:var(--color-navy-800);background:var(--color-navy-800);color:var(--color-text-inverse)}.people-picker__chip.is-selected svg{color:var(--color-text-inverse)}.people-picker__role{font-size:var(--text-xs);opacity:.7}.plan__lane+.plan__lane{margin-top:var(--space-1)}.plan__conflict{color:var(--color-amber-700);font-weight:var(--weight-medium)}.week-weekend{padding:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--color-text-subtle)}.week-weekend:first-letter{text-transform:uppercase}.week-earlier{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-navy-700);text-underline-offset:2px;align-self:flex-start;text-decoration:underline}.planning-search{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex;position:relative}.planning-search__icon{width:18px;height:18px;color:var(--color-text-subtle);pointer-events:none;position:absolute;left:14px}.planning-search__input{flex:1;min-width:0;padding-left:42px}.planning-actions{align-items:center;gap:var(--space-2);display:flex}.planning-search__input::-webkit-search-cancel-button{display:none}.day-absent{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-muted);background:repeating-linear-gradient(135deg,#1c2a470f 0 4px,#0000 4px 9px)}.push-prompt{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.push-prompt__icon{width:20px;height:20px;color:var(--color-olive-700);flex:none;margin-top:2px}.push-prompt__body{flex:1;min-width:0}.push-prompt__title{font-weight:var(--weight-semibold)}.push-prompt__text{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.push-prompt__actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.push-prompt__close{flex:none;margin-top:-6px}.account__label{font-size:var(--text-xs);color:var(--color-text-muted)}.account__email{font-weight:var(--weight-semibold);word-break:break-all}.account__heading{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.account__heading svg{width:16px;height:16px}.account__orgs{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.account__org{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;display:flex}.account__org:last-child{border-bottom:0}.account__org:hover{background:var(--color-surface-sunken)}.account__org-icon{width:20px;height:20px;color:var(--color-text-muted)}.account__org.is-active .account__org-icon{color:var(--color-olive-700)}.account__org-name{font-weight:var(--weight-semibold);display:block}.account__check{width:20px;height:20px;color:var(--color-olive-700)}.account__privacy{font-size:var(--text-sm);color:var(--color-text-muted);align-self:center}.team-list{margin:0;padding:0;list-style:none}.team-list li{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.team-list li:last-child{border-bottom:0}.team-list__title{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);word-break:break-all;flex-wrap:wrap;display:flex}.team-list__meta{font-size:var(--text-xs);color:var(--color-text-muted);display:block}.team-list__role{min-height:40px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.team-list__role:disabled{opacity:.7}.app-header{z-index:20;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--color-border);background:#f4f2eceb;position:sticky;top:0}.app-header__inner{align-items:center;gap:var(--space-3);max-width:var(--content-width);height:var(--header-height);padding:0 max(var(--space-4), env(safe-area-inset-right)) 0 max(var(--space-4), env(safe-area-inset-left));margin:0 auto;display:flex}.app-header__logo{background:var(--color-navy-800);width:34px;height:34px;color:var(--color-text-inverse);font-weight:var(--weight-bold);letter-spacing:-.02em;box-shadow:inset 0 -3px 0 var(--color-olive-600);border-radius:10px;place-items:center;font-size:17px;display:grid}.app-header__org{text-align:left;flex:1;min-width:0}.app-header__name{font-weight:var(--weight-bold);letter-spacing:-.01em;align-items:center;gap:4px;line-height:1.2;display:flex}.app-header__name svg{width:16px;height:16px;color:var(--color-text-subtle);flex:none}.app-header__account{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-navy-800);place-items:center;display:grid}.app-header__account:hover{background:var(--color-surface-sunken)}.app-header__account svg{width:26px;height:26px}.app-header__role{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-muted);display:block;overflow:hidden}.app-header__add{border-radius:var(--radius-full);background:var(--color-navy-800);width:42px;height:42px;color:var(--color-text-inverse);box-shadow:var(--shadow-md);transition:background-color var(--duration), transform var(--duration);flex:none;place-items:center;display:grid}.app-header__add:hover{background:var(--color-navy-900)}.app-header__add:active{transform:scale(.94)}.app-header__add svg{stroke-width:2.5px;width:24px;height:24px}@media (width>=1024px){.app-header__inner{max-width:none;padding:0 var(--space-6)}}.tab-bar{z-index:20;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--color-border);background:#fffefbf2;position:fixed;bottom:0;left:0;right:0}.tab-bar__inner{max-width:var(--content-width);height:var(--tabbar-height);margin:0 auto;display:flex}.tab-bar__item{font-size:11px;font-weight:var(--weight-medium);color:var(--color-text-subtle);transition:color var(--duration);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.tab-bar__item.is-active{color:var(--color-navy-800);font-weight:var(--weight-semibold)}.tab-bar__icon{border-radius:var(--radius-full);width:52px;height:30px;transition:background-color var(--duration);place-items:center;display:grid;position:relative}.is-active .tab-bar__icon{background:var(--color-olive-100);color:var(--color-olive-800)}.tab-bar__icon svg{width:21px;height:21px}.tab-bar__badge{border-radius:var(--radius-full);background:var(--color-red-700);min-width:18px;height:18px;color:var(--color-text-inverse);font-size:10px;font-weight:var(--weight-bold);text-align:center;box-shadow:0 0 0 2px var(--color-surface);padding:0 5px;line-height:18px;position:absolute;top:-2px;right:6px}@media (width>=1024px){.tab-bar{top:calc(var(--header-height) + 1px);width:var(--sidebar-width);padding:var(--space-4) var(--space-3);border-top:0;border-right:1px solid var(--color-border);background:var(--color-bg);-webkit-backdrop-filter:none;backdrop-filter:none;right:auto}.tab-bar__inner{gap:var(--space-1);flex-direction:column;max-width:none;height:auto}.tab-bar__item{justify-content:flex-start;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:row;flex:none}.tab-bar__item:hover{background:var(--color-surface-sunken)}.tab-bar__item.is-active{background:var(--color-olive-100);color:var(--color-olive-800)}.tab-bar__icon,.is-active .tab-bar__icon{background:0 0;width:24px;height:24px}.tab-bar__badge{top:-6px;right:-8px}}.app-main{max-width:var(--content-width);padding:var(--space-4) max(var(--space-4), env(safe-area-inset-right)) var(--space-10) max(var(--space-4), env(safe-area-inset-left));margin:0 auto}.app-main--with-tabs{padding-bottom:calc(var(--tabbar-height) + var(--space-10) + env(safe-area-inset-bottom))}.app-main>.notice{margin-bottom:var(--space-3)}.app-loading{min-height:100dvh;color:var(--color-text-subtle);place-items:center;display:grid}.app-loading__spinner{width:28px;height:28px;animation:.8s linear infinite btn-spin}@media (width>=1024px){.app-main--with-tabs{margin-left:calc(var(--sidebar-width) + max(0px, (100vw - var(--sidebar-width) - var(--content-width)) / 2));padding:var(--space-6) var(--space-8) var(--space-10);margin-right:0}.app-main--with-tabs .section>.stack{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));align-items:start;display:grid}}.error-screen{justify-content:center;align-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.error-screen p{max-width:340px;color:var(--color-text-muted)}.update-prompt{top:calc(var(--header-height) + env(safe-area-inset-top) + var(--space-2));z-index:60;align-items:center;gap:var(--space-3);width:max-content;max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-navy-900);color:var(--color-text-inverse);font-size:var(--text-sm);text-align:left;box-shadow:var(--shadow-md);display:flex;position:fixed;left:50%;transform:translate(-50%)}.update-prompt svg{flex:none;width:18px;height:18px}.update-prompt strong{font-weight:var(--weight-semibold);display:block}
