:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6fb;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef2f8;--text:#0f172a;--muted:#64748b;--border:#dbe3ef;--primary:#3b5bdb;--primary-strong:#2f4ec7;--accent:#06b6d4;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626;--primary-tint:#3b5bdb1f;--primary-tint-strong:#3b5bdb33;--danger-tint:#dc26261a;--success-tint:#16a34a1f;--warning-tint:#f59e0b24;--fill-secondary:#0f172a0d;--fill-tertiary:#0f172a14;--segment-selected:var(--surface);--ring:#3b5bdb52;--material-chrome:#ffffffc7;--material-blur:saturate(180%) blur(20px);--chrome-solid:#fdfdfe;--scrim:#0f172a61;--separator:#0f172a1f;--hairline:1px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:26px;--radius-full:999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 12px 30px #0f172a1f;--shadow-lg:0 -8px 40px #0f172a2e;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--gutter:16px;--content-max:720px;--content-max-wide:980px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;--font-large-title:2.125rem;--font-title:1.375rem;--font-headline:1.0625rem;--font-body:1.0625rem;--font-callout:1rem;--font-subhead:.9375rem;--font-footnote:.8125rem;--font-caption:.75rem;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--keyboard-inset:0px;--nav-h:44px;--tab-h:52px;--control-h:44px;--ease-spring:cubic-bezier(.32, .72, 0, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.14s;--dur-base:.24s;--dur-slow:.34s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (border-width:0.5px){:root{--hairline:.5px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1020;--surface:#151b2d;--surface-2:#1b2236;--surface-3:#232c43;--text:#eef2fb;--muted:#98a4bd;--border:#2a3450;--primary:#7b93f5;--primary-strong:#93a7ff;--accent:#22d3ee;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--primary-tint:#7b93f52e;--primary-tint-strong:#7b93f547;--danger-tint:#f8717129;--success-tint:#4ade8029;--warning-tint:#fbbf242e;--fill-secondary:#ffffff14;--fill-tertiary:#ffffff21;--segment-selected:var(--surface-3);--ring:#7b93f573;--material-chrome:#151b2dc7;--chrome-solid:#131929;--scrim:#0000008c;--separator:#ffffff24;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 30px #00000080;--shadow-lg:0 -8px 40px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1020;--surface:#151b2d;--surface-2:#1b2236;--surface-3:#232c43;--text:#eef2fb;--muted:#98a4bd;--border:#2a3450;--primary:#7b93f5;--primary-strong:#93a7ff;--accent:#22d3ee;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--primary-tint:#7b93f52e;--primary-tint-strong:#7b93f547;--danger-tint:#f8717129;--success-tint:#4ade8029;--warning-tint:#fbbf242e;--fill-secondary:#ffffff14;--fill-tertiary:#ffffff21;--segment-selected:var(--surface-3);--ring:#7b93f573;--material-chrome:#151b2dc7;--chrome-solid:#131929;--scrim:#0000008c;--separator:#ffffff24;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 30px #00000080;--shadow-lg:0 -8px 40px #0009}}@media (prefers-reduced-transparency:reduce){:root{--material-chrome:var(--surface);--material-blur:none}}@media (width>=768px){:root{--gutter:20px}}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;height:100dvh;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-callout);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;line-height:1.35}#root{width:100%;height:var(--app-height,100dvh);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}p,h1,h2,h3,h4,input,textarea,.selectable{-webkit-user-select:text;user-select:text}main,section,div,span,label,li,button,input,select,textarea{font:inherit}h1,h2,h3,h4{color:var(--text);margin-top:0}h1{font-size:var(--font-title);margin-bottom:var(--sp-2);font-weight:700}h2{font-size:var(--font-headline);font-weight:700}h3{font-size:var(--font-callout);font-weight:600}h4{font-size:var(--font-subhead);font-weight:600}a{color:var(--primary);text-decoration:none}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:0;height:0}input,select,textarea{font-size:max(16px, var(--font-body));min-height:var(--control-h);width:100%;padding:0 var(--sp-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);appearance:none;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}textarea{padding:var(--sp-3);resize:vertical;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--primary);padding:0}input[type=file]{padding:var(--sp-2);min-height:var(--control-h)}select{padding-right:var(--sp-6);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}button{font-size:var(--font-callout);min-height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--radius-sm);background:var(--fill-secondary);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-2);transition:transform var(--dur-fast) var(--ease-spring), background-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;font-weight:600;display:inline-flex}button:active:not(:disabled){opacity:.85;transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover){button:hover:not(:disabled){background:var(--fill-tertiary)}}.button-primary,.btn-primary{background:var(--primary);color:#fff}@media (hover:hover){.button-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--primary-strong)}}.btn-plain,.ghost-button,.auth-link-button{color:var(--primary);padding:0 var(--sp-2);background:0 0;font-weight:600}@media (hover:hover){.btn-plain:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:var(--primary-tint)}}.btn-danger,.danger-button{color:var(--danger);background:0 0}@media (hover:hover){.btn-danger:hover:not(:disabled),.danger-button:hover:not(:disabled){background:var(--danger-tint)}}.btn-danger-filled{background:var(--danger);color:#fff}.icon-button{border-radius:var(--radius-full);background:var(--fill-secondary);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--text);font-size:var(--font-callout);padding:0}a.button,.auth-oidc-button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--radius-sm);background:var(--fill-secondary);color:var(--text);font-weight:600;display:inline-flex}.app-shell{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.nav-bar{z-index:30;padding-top:max(var(--safe-top), var(--sp-1));background:var(--material-chrome);-webkit-backdrop-filter:var(--material-blur);transition:box-shadow var(--dur-base) var(--ease-out);flex:none;position:relative}.nav-bar[data-scrolled=true]{border-bottom:var(--hairline) solid var(--separator)}.nav-bar-inner{align-items:center;gap:var(--sp-2);min-height:var(--nav-h);padding:0 var(--sp-2);max-width:var(--content-max-wide);grid-template-columns:auto minmax(0,1fr) auto;width:100%;margin:0 auto;display:grid}.nav-bar-leading{justify-content:flex-start;align-items:center;gap:var(--sp-1);min-width:0;display:flex}.nav-bar-brand{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.nav-bar-logo{border-radius:9px;flex-shrink:0;width:30px;height:30px}.nav-bar-brand-title{font-size:var(--font-title);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.nav-bar[data-brand=true] .nav-bar-inner{min-height:52px;padding-left:var(--sp-3)}.nav-bar-trailing{justify-content:flex-end;align-items:center;gap:var(--sp-1);display:flex}.nav-bar-title{min-width:0;font-size:var(--font-headline);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);font-weight:600;overflow:hidden;transform:translateY(6px)}.nav-bar[data-scrolled=true] .nav-bar-title{opacity:1;transform:none}.nav-bar-large{max-width:var(--content-max-wide);margin:0 auto var(--sp-2);width:100%;padding:0 var(--gutter);font-size:var(--font-large-title);letter-spacing:-.02em;-webkit-line-clamp:2;overflow-wrap:anywhere;transform-origin:0 100%;transition:opacity var(--dur-base) var(--ease-out), max-height var(--dur-base) var(--ease-spring), transform var(--dur-base) var(--ease-spring), margin var(--dur-base) var(--ease-spring);-webkit-box-orient:vertical;max-height:4.9rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.nav-bar[data-scrolled=true] .nav-bar-large{opacity:0;max-height:0;margin-bottom:0;transform:scale(.86)translateY(-8px)}.nav-back{color:var(--primary);padding:0 var(--sp-2) 0 var(--sp-1);white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.nav-back-label{white-space:nowrap;font-weight:400}.nav-chevron{font-size:1.3rem;line-height:1}.nav-toolbar{z-index:25;background:var(--material-chrome);-webkit-backdrop-filter:var(--material-blur);border-bottom:var(--hairline) solid var(--separator);padding:var(--sp-2) var(--gutter);gap:var(--sp-2);flex:none;display:grid;position:relative}.nav-toolbar-inner{max-width:var(--content-max-wide);gap:var(--sp-2);width:100%;margin:0 auto;display:grid}.screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.screen-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;flex:1;min-height:0;overflow:hidden auto}.screen-content{max-width:var(--content-max);width:100%;padding:var(--sp-3) var(--gutter) calc(var(--sp-6) + var(--sp-4));gap:var(--sp-4);align-content:start;margin:0 auto;display:grid}.screen-content>*{min-width:0}.screen-content--wide{max-width:var(--content-max-wide)}.screen-stack{flex:1;min-height:0;position:relative;overflow:hidden}.screen-layer{background:var(--bg);will-change:transform, opacity;flex-direction:column;display:flex;position:absolute;inset:0}.screen-layer[data-anim=push-in]{animation:screen-push-in var(--dur-slow) var(--ease-spring) both}.screen-layer[data-anim=push-out]{animation:screen-push-out var(--dur-slow) var(--ease-spring) both}.screen-layer[data-anim=pop-in]{animation:screen-pop-in var(--dur-slow) var(--ease-spring) both}.screen-layer[data-anim=pop-out]{animation:screen-pop-out var(--dur-slow) var(--ease-spring) both}@keyframes screen-push-in{0%{transform:translate(100%)}to{transform:translate(0,0)}}@keyframes screen-push-out{0%{filter:brightness();transform:translate(0,0)}to{filter:brightness(.9);transform:translate(-24%)}}@keyframes screen-pop-in{0%{filter:brightness(.9);transform:translate(-24%)}to{filter:brightness();transform:translate(0,0)}}@keyframes screen-pop-out{0%{transform:translate(0,0)}to{transform:translate(100%)}}.tab-fade{animation:tab-fade var(--dur-base) var(--ease-out) both}@keyframes tab-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tab-bar{z-index:40;background:var(--material-chrome);-webkit-backdrop-filter:var(--material-blur);border-top:var(--hairline) solid var(--separator);padding-bottom:var(--safe-bottom);flex:none}.tab-bar-inner{max-width:var(--content-max-wide);grid-auto-columns:1fr;grid-auto-flow:column;width:100%;margin:0 auto;display:grid}.tab-bar-item{min-height:var(--tab-h);padding:var(--sp-1) 2px;color:var(--muted);font-size:var(--font-caption);background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:500;display:flex;position:relative}.tab-bar-item[aria-selected=true]{color:var(--primary)}.tab-bar-item:active:not(:disabled){opacity:.6;transform:none}@media (hover:hover){.tab-bar-item:hover:not(:disabled){color:var(--text);background:0 0}.tab-bar-item[aria-selected=true]:hover{color:var(--primary)}}.tab-bar-icon{transition:transform var(--dur-fast) var(--ease-spring);line-height:0;display:inline-flex}.tab-bar-item[aria-selected=true] .tab-bar-icon{transform:scale(1.08)}.tab-bar-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-bar-badge{border-radius:var(--radius-full);background:var(--danger);color:#fff;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2px;left:50%}.fab{right:calc(var(--gutter) + var(--safe-right));bottom:calc(var(--gutter) + var(--sp-2));z-index:35;border-radius:var(--radius-full);background:var(--primary);color:#fff;width:56px;min-width:56px;height:56px;min-height:56px;box-shadow:var(--shadow-md);padding:0;font-size:1.6rem;position:absolute}.list-group{background:var(--surface);border-radius:var(--radius-md);border:var(--hairline) solid var(--border);overflow:hidden}.list-group-header{margin:0 0 var(--sp-2);padding:0 var(--sp-1);font-size:var(--font-caption);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}.list-group-footer{margin:var(--sp-2) var(--sp-1) 0;font-size:var(--font-footnote);color:var(--muted)}.list-row{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);text-align:left;color:var(--text);background:0 0;border:none;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;font-weight:400;display:grid;position:relative}.list-row+.list-row:before{content:"";top:0;left:var(--sp-3);border-top:var(--hairline) solid var(--separator);position:absolute;right:0}.list-row--inset+.list-row--inset:before{left:calc(var(--sp-3) + 30px + var(--sp-3))}.list-row:active{background:var(--fill-secondary);transform:none}.list-row-hit{z-index:0;background:0 0;border-radius:0;min-height:0;padding:0;position:absolute;inset:0}.list-row-hit:active{background:var(--fill-secondary);transform:none}@media (hover:hover){.list-row-hit:hover:not(:disabled){background:var(--fill-secondary)}}.list-row[data-tappable=true]>.icon-slot,.list-row[data-tappable=true]>.list-row-content{z-index:1;pointer-events:none;position:relative}.list-row>.list-row-trailing{z-index:1;position:relative}.list-row[data-tappable=true]>.list-row-trailing{pointer-events:none}.list-row[data-tappable=true]>.list-row-trailing button,.list-row[data-tappable=true]>.list-row-trailing a,.list-row[data-tappable=true]>.list-row-trailing input,.list-row[data-tappable=true]>.list-row-trailing select{pointer-events:auto}.list-row-content{grid-column:2;gap:2px;min-width:0;display:grid}.list-row-title{font-size:var(--font-callout);overflow-wrap:anywhere;font-weight:500}.list-row-subtitle{font-size:var(--font-footnote);color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.list-row>input,.list-row>textarea,.list-row>select,.list-row>form,.list-row>.segmented,.list-row>.stack-sm,.list-row>.stack-md,.list-row>.composer{grid-column:1/-1;width:100%}.list-row-trailing{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--font-subhead);flex-shrink:0;grid-column:3;display:flex}.list-row-chevron{color:var(--muted);opacity:.6;font-size:1.1rem}.icon-slot{border-radius:var(--radius-sm);background:var(--fill-secondary);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;overflow:hidden}.list-row>.icon-slot{grid-column:1}.swipe-row{position:relative;overflow:hidden}.swipe-row+.swipe-row .list-row:before{content:"";top:0;left:var(--sp-3);border-top:var(--hairline) solid var(--separator);position:absolute;right:0}.swipe-row+.swipe-row .list-row--inset:before{left:calc(var(--sp-3) + 30px + var(--sp-3))}.swipe-row-actions{display:flex;position:absolute;inset:0 0 0 auto}.swipe-row-action{color:#fff;width:88px;min-width:88px;font-size:var(--font-caption);background:var(--success);border-radius:0;flex-direction:column;gap:2px}.swipe-row-action[data-tone=danger]{background:var(--danger)}.swipe-row-action[data-tone=primary]{background:var(--primary)}.swipe-row-action:active:not(:disabled){transform:none}.swipe-row-content{background:var(--surface);transition:transform var(--dur-base) var(--ease-spring);position:relative}.composer{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.composer>button{width:var(--control-h);min-width:var(--control-h);padding:0;font-size:1.35rem;line-height:1}.toolbar-row{align-items:center;gap:var(--sp-2);display:flex}.toolbar-row>.segmented{flex:1;min-width:0}.surface,.card{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3)}.surface+.surface{margin-top:var(--sp-3)}.card-subtle{background:var(--surface-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3)}.segmented{background:var(--fill-secondary);border-radius:var(--radius-sm);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;width:100%;padding:2px;display:grid}.segmented-item{min-height:34px;padding:0 var(--sp-2);border-radius:calc(var(--radius-sm) - 2px);color:var(--text);font-size:var(--font-subhead);white-space:nowrap;text-overflow:ellipsis;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;font-weight:500;overflow:hidden}.segmented-item[aria-selected=true]{background:var(--segment-selected);box-shadow:var(--shadow-sm);font-weight:600}@media (hover:hover){.segmented-item:hover:not([aria-selected=true]){background:var(--fill-secondary)}}.chip-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip-scroller{gap:var(--sp-2);scroll-snap-type:x proximity;min-width:0;margin:0 calc(var(--gutter) * -1);padding-bottom:2px;padding-left:var(--gutter);padding-right:var(--gutter);display:flex;overflow-x:auto}.chip-scroller>*{scroll-snap-align:start;flex:none}.chip{min-height:34px;padding:0 var(--sp-3);border-radius:var(--radius-full);background:var(--fill-secondary);color:var(--text);font-size:var(--font-subhead);white-space:nowrap;font-weight:500}.chip[aria-pressed=true]{background:var(--primary-tint-strong);color:var(--primary-strong);font-weight:600}.switch{border-radius:var(--radius-full);background:var(--fill-tertiary);width:51px;min-width:51px;height:31px;min-height:31px;transition:background-color var(--dur-base) var(--ease-out);padding:0;position:relative}.switch[aria-checked=true]{background:var(--success)}.switch:after{content:"";border-radius:var(--radius-full);width:27px;height:27px;transition:transform var(--dur-base) var(--ease-spring);background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0003}.switch[aria-checked=true]:after{transform:translate(20px)}.switch:active:not(:disabled){transform:none}.stepper{background:var(--fill-secondary);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:0 0;border-radius:0;width:44px;min-width:44px;font-size:1.2rem}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:3.2rem;font-weight:600}.search-field{align-items:center;display:flex;position:relative}.search-field-icon{left:var(--sp-3);color:var(--muted);pointer-events:none;display:inline-flex;position:absolute}.search-field input{padding-left:calc(var(--sp-3) + 1.6rem);border-radius:var(--radius-full);background:var(--fill-secondary);border-color:#0000}.search-field input:focus{background:var(--surface)}.search-clear{right:var(--sp-2);border-radius:var(--radius-full);background:var(--fill-tertiary);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--muted);padding:0;font-size:.8rem;position:absolute}.scrim{z-index:100;background:var(--scrim);animation:scrim-in var(--dur-base) var(--ease-out) both;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:fixed;inset:0}.scrim[data-closing=true]{animation:scrim-out var(--dur-base) var(--ease-out) both}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.sheet{left:0;right:0;bottom:var(--keyboard-inset);z-index:101;max-height:calc(100dvh - var(--safe-top) - var(--sp-5) - var(--keyboard-inset));background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);animation:sheet-in var(--dur-base) var(--ease-spring) both;will-change:transform;transition:bottom var(--dur-base) var(--ease-spring);flex-direction:column;display:flex;position:fixed}.sheet[data-detent=medium]{max-height:min(62dvh, calc(100dvh - var(--safe-top) - var(--sp-5) - var(--keyboard-inset)))}.sheet[data-closing=true]{animation:sheet-out var(--dur-base) var(--ease-spring) both}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes sheet-out{0%{transform:translate(0,0)}to{transform:translateY(100%)}}.sheet-grabber{width:36px;height:5px;margin:var(--sp-2) auto var(--sp-1);border-radius:var(--radius-full);background:var(--fill-tertiary);flex:none}.sheet-header{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:var(--hairline) solid var(--separator);flex:none;grid-template-columns:1fr auto 1fr;display:grid}.sheet-title{font-size:var(--font-headline);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.sheet-header-leading{justify-self:start}.sheet-header-trailing{justify-self:end}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:var(--sp-4) var(--gutter) calc(var(--sp-4) + var(--safe-bottom));gap:var(--sp-4);flex:1;align-content:start;display:grid;overflow-y:auto}.sheet-footer{padding:var(--sp-3) var(--gutter) calc(var(--sp-3) + var(--safe-bottom));border-top:var(--hairline) solid var(--separator);background:var(--material-chrome);-webkit-backdrop-filter:var(--material-blur);gap:var(--sp-2);flex:none;display:grid}.sheet-footer .button-primary{border-radius:var(--radius-full);min-height:50px;font-size:var(--font-headline)}@media (width>=768px){.sheet{left:50%;bottom:var(--sp-5);width:min(560px, calc(100vw - var(--sp-7)));border-radius:var(--radius-xl);transform:translate(-50%)}@keyframes sheet-in{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes sheet-out{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}}.action-sheet{z-index:101;padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + var(--safe-bottom));gap:var(--sp-2);animation:sheet-in var(--dur-base) var(--ease-spring) both;display:grid;position:fixed;bottom:0;left:0;right:0}.action-sheet-group{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.action-sheet-item{width:100%;min-height:56px;font-size:var(--font-body);color:var(--primary);background:0 0;border-radius:0;font-weight:400}.action-sheet-item+.action-sheet-item{border-top:var(--hairline) solid var(--separator)}.action-sheet-item[data-destructive=true]{color:var(--danger)}.action-sheet-cancel{border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:56px;box-shadow:var(--shadow-md);font-weight:600}.action-sheet-title{padding:var(--sp-3);text-align:center;font-size:var(--font-footnote);color:var(--muted);border-bottom:var(--hairline) solid var(--separator)}.alert{z-index:101;width:min(300px, calc(100vw - var(--sp-7)));background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:alert-in var(--dur-base) var(--ease-spring) both;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes alert-in{0%{opacity:0;transform:translate(-50%,-50%)scale(1.12)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.alert-body{padding:var(--sp-5) var(--sp-4) var(--sp-4);text-align:center;gap:var(--sp-2);display:grid}.alert-title{font-size:var(--font-headline);margin:0;font-weight:700}.alert-message{font-size:var(--font-subhead);color:var(--muted);margin:0}.alert-actions{border-top:var(--hairline) solid var(--separator);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.alert-actions>button{min-height:48px;color:var(--primary);background:0 0;border-radius:0;font-weight:400}.alert-actions>button+button{border-left:var(--hairline) solid var(--separator)}.alert-actions>button[data-emphasis=true]{font-weight:700}.alert-actions>button[data-destructive=true]{color:var(--danger)}.toast-host{left:50%;bottom:calc(var(--tab-h) + var(--safe-bottom) + var(--sp-3));z-index:120;gap:var(--sp-2);width:min(420px, calc(100vw - var(--sp-6)));pointer-events:none;display:grid;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-full);background:var(--material-chrome);-webkit-backdrop-filter:var(--material-blur);border:var(--hairline) solid var(--separator);box-shadow:var(--shadow-md);font-size:var(--font-subhead);animation:toast-in var(--dur-base) var(--ease-spring) both;font-weight:500;display:flex}.toast[data-tone=success]{color:var(--success)}.toast[data-tone=error]{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:none}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 37%, var(--fill-secondary) 63%);background-size:400% 100%;min-height:1rem;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:30px minmax(0,1fr);display:grid}.empty-state{justify-items:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-4);text-align:center;color:var(--muted);display:grid}.empty-state-icon{opacity:.5;color:var(--muted);font-size:2.6rem;line-height:1;display:inline-flex}.icon{flex-shrink:0;display:block}.icon-slot .icon{color:var(--muted)}.empty-state-title{font-size:var(--font-headline);color:var(--text);margin:0;font-weight:600}.empty-state-text{font-size:var(--font-subhead);max-width:28rem;margin:0}.offline-banner{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--gutter);background:var(--warning-tint);color:var(--warning);font-size:var(--font-footnote);animation:tab-fade var(--dur-base) var(--ease-out) both;font-weight:600;display:flex}.pull-indicator{color:var(--muted);transition:height var(--dur-base) var(--ease-spring);justify-content:center;align-items:center;display:flex;overflow:hidden}.spinner{border-radius:var(--radius-full);border:2px solid var(--fill-tertiary);border-top-color:var(--primary);width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{border-radius:var(--radius-full);background:var(--fill-tertiary);height:6px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width var(--dur-base) var(--ease-out)}.progress-fill[data-tone=warning]{background:var(--warning)}.progress-fill[data-tone=danger]{background:var(--danger)}.badge{align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-full);font-size:var(--font-caption);background:var(--fill-secondary);color:var(--muted);font-weight:600;display:inline-flex}.badge[data-tone=success]{background:var(--success-tint);color:var(--success)}.badge[data-tone=warning]{background:var(--warning-tint);color:var(--warning)}.badge[data-tone=danger]{background:var(--danger-tint);color:var(--danger)}.badge[data-tone=primary]{background:var(--primary-tint);color:var(--primary-strong)}.auth-shell{-webkit-overflow-scrolling:touch;min-height:0;padding:calc(var(--safe-top) + var(--sp-6)) var(--gutter) calc(var(--safe-bottom) + var(--sp-6));background:radial-gradient(120% 60% at 50% 0%, var(--primary-tint) 0%, transparent 60%), var(--bg);flex:1;align-content:center;justify-items:center;display:grid;overflow-y:auto}.auth-card{gap:var(--sp-4);background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:var(--sp-5) var(--sp-4);box-shadow:var(--shadow-md);display:grid}.auth-header{justify-items:center;gap:var(--sp-1);text-align:center;display:grid}.auth-mark{border-radius:var(--radius-lg);width:64px;height:64px;margin-bottom:var(--sp-2);box-shadow:var(--shadow-md)}.auth-kicker{color:var(--muted);font-size:var(--font-caption);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:700}.auth-header h1{font-size:var(--font-title);margin:0}.auth-form,.auth-oidc-list{gap:var(--sp-3);display:grid}.auth-inline-form{gap:var(--sp-2);display:grid}.auth-form .button-primary,.auth-inline-form .button-primary{border-radius:var(--radius-full);min-height:50px;font-size:var(--font-headline)}.auth-oidc-button{border-radius:var(--radius-full);width:100%;min-height:50px}.auth-divider{align-items:center;gap:var(--sp-3);color:var(--muted);font-size:var(--font-footnote);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:var(--hairline) solid var(--separator);flex:1}.muted,.status-muted{color:var(--muted)}.status-muted{font-size:var(--font-footnote)}.status-ok{color:var(--success)}.status-danger{color:var(--danger)}.toolbar{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.stack-sm{gap:var(--sp-2);display:grid}.divider{border-top:var(--hairline) solid var(--separator);margin:var(--sp-4) 0}.row-divider{border-bottom:var(--hairline) solid var(--separator)}.row-start{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.row-start>*{min-width:0}.row-start span,.status-muted{overflow-wrap:anywhere}.full-width{width:100%}.list-reset{margin:0;padding:0;list-style:none}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.check-button{border-radius:var(--radius-full);background:var(--fill-secondary);width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.file-input{white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;font-size:var(--font-subhead);display:block;overflow:hidden}.file-input::file-selector-button{margin-right:var(--sp-2);min-height:32px;padding:0 var(--sp-3);border-radius:var(--radius-full);background:var(--fill-secondary);color:var(--text);border:none;font-weight:600}.photo-upload{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.photo-upload-preview{border-radius:var(--radius-md);background:var(--fill-secondary);min-height:0;color:var(--muted);flex-shrink:0;padding:0;position:relative;overflow:hidden}.photo-upload-preview img{object-fit:cover;width:100%;height:100%}.photo-upload-preview .spinner{position:absolute}.photo-upload-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.icon-picker-trigger{align-items:center;gap:var(--sp-2);background:var(--fill-secondary);padding:0 var(--sp-3) 0 var(--sp-2);font-weight:500;display:inline-flex}.icon-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(48px,1fr));display:grid}.icon-grid-item{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--fill-secondary);min-height:48px;padding:0}.icon-grid-item[aria-pressed=true]{background:var(--primary-tint-strong);color:var(--primary-strong)}@media (width<=400px){.nav-bar-large{max-height:4.1rem;font-size:1.75rem}.tab-bar-label{font-size:10px}.planner-entry-layout{grid-template-columns:1fr}.planner-entry-actions{width:100%}.planner-entry-actions>button{flex:1}}@media (width>=1024px){.screen-content{padding-top:var(--sp-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.screen-layer[data-anim],.sheet,.action-sheet,.alert,.toast{animation:.1s linear both tab-fade}button:active:not(:disabled){transform:none}}
