@layer base{:root{color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--surface-2);margin:0;padding:0}#root{min-height:100vh}}@layer primitives{.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--control-py) var(--sp-5);border-radius:var(--radius-md);font-size:var(--fs-md);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), opacity var(--t-fast);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn--sm{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm)}.btn--primary{background:var(--accent);color:var(--accent-text)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--surface-3)}.btn--danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger-soft)}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;font-size:var(--fs-xl);cursor:pointer;color:var(--text);transition:background var(--t-fast), border-color var(--t-fast);flex-shrink:0;line-height:1}.icon-btn:hover{background:var(--surface-3)}.icon-btn--sm,.icon-btn--lg,.icon-btn--swatch{flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn--sm{border-radius:var(--radius-sm);width:28px;height:28px;font-size:var(--fs-lg)}.icon-btn--lg{width:38px;height:38px}.icon-btn--round{border-radius:50%}.icon-btn--ghost{color:var(--text-faint);background:0 0;border:none}.icon-btn--ghost:hover{background:var(--surface-3);color:var(--text)}.icon-btn--danger:hover{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.icon-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.icon-btn--active,.icon-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.icon-btn--active:hover,.icon-btn[aria-pressed=true]:hover{background:var(--accent-soft)}.icon-btn--swatch{background-color:var(--c,var(--surface));border-radius:50%;width:24px;height:24px}.icon-btn--swatch:hover{background-color:var(--c,var(--surface-3));border-color:var(--text-muted)}.icon-btn--swatch.icon-btn--active,.icon-btn--swatch.icon-btn--active:hover,.icon-btn--swatch[aria-pressed=true],.icon-btn--swatch[aria-pressed=true]:hover{background-color:var(--c,var(--surface));border-color:var(--border);outline:2px solid var(--accent);outline-offset:1px}.icon-btn--swatch-none,.icon-btn--swatch-none:hover,.icon-btn--swatch-none[aria-pressed=true]{background-image:linear-gradient(45deg, transparent 45%, var(--danger) 45%, var(--danger) 55%, transparent 55%)}.field{margin-bottom:var(--sp-5);display:block}.field__label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--sp-2);font-weight:600;display:block}.field__input{width:100%;padding:var(--control-py) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-md);background:var(--surface);color:var(--text)}.field__input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.field__input:disabled{opacity:.6;cursor:default}.field__textarea{resize:vertical}.field__input--auto{width:auto}.field__input--xs{padding:var(--sp-2) var(--sp-3)}.field__hint{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-faint);display:block}.field--narrow{max-width:130px}.field-row{gap:var(--sp-4);display:flex}.field-row .field{flex:1;min-width:0}.field__unit{width:100%;min-width:0;display:block;position:relative}.field__unit .field__input{padding-right:calc(var(--sp-4) + var(--field-unit-chars,1) * .6em + .5em)}.field__unit .field__input--xs{padding-right:calc(var(--sp-3) + var(--field-unit-chars,1) * .6em + .5em)}.field__unit-sign{top:50%;right:var(--sp-4);pointer-events:none;color:var(--text-muted);font-size:var(--fs-md);position:absolute;transform:translateY(-50%)}.field__input--xs~.field__unit-sign{right:var(--sp-3);font-size:var(--fs-sm)}.seg{background:var(--surface-3);border-radius:var(--radius-md);gap:var(--sp-0);padding:3px;display:inline-flex}.seg--scroll{scrollbar-width:none;max-width:100%;overflow-x:auto}.seg--scroll::-webkit-scrollbar{display:none}.seg__btn{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;font-weight:600}.seg__btn:hover{color:var(--text)}.seg__btn:disabled{cursor:default;opacity:.5}.seg__btn--active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg--block{width:100%;display:flex}.seg--block .seg__btn{flex:1}.seg--lg .seg__btn{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-md);font-weight:700}@media (width<=900px){.seg--lg{width:100%;display:flex}.seg--lg .seg__btn{flex:1}}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);margin-bottom:var(--sp-5);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs__item{padding:var(--sp-3-5) var(--sp-5);font:inherit;font-size:var(--fs-md);color:var(--text-muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;font-weight:600;position:relative}.tabs__item:hover{color:var(--text)}.tabs__item--active{color:var(--accent);border-bottom-color:var(--accent)}.tabs__badge{margin-left:var(--sp-2);font-size:var(--fs-xxs);background:var(--surface-3);border-radius:var(--radius-pill);color:var(--text-muted);padding:1px 7px}.chip{align-items:center;gap:var(--sp-1);max-width:100%;padding:var(--sp-0) var(--sp-3);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--c,var(--text-muted)) 45%, transparent);background:color-mix(in srgb, var(--c,var(--text-muted)) 16%, transparent);color:var(--text);font:inherit;font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.5;display:inline-flex;overflow:hidden}.chip--up{--c:var(--positive)}.chip--down{--c:var(--danger)}.chip--warn{--c:var(--warning)}.chip--accent{--c:var(--accent)}.chip--pill{border-radius:var(--radius-pill)}button.chip{cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast)}button.chip:hover{border-color:var(--c,var(--text-muted))}.chip--active{background:color-mix(in srgb, var(--c,var(--accent)) 38%, transparent);border-color:var(--c,var(--accent))}.t-up{color:var(--positive)}.t-down{color:var(--danger)}.t-flat,.muted{color:var(--text-muted)}.banner{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md);font-size:var(--fs-md);display:flex}.banner--error{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger)}.banner--warn{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning)}.banner--info{border:1px solid var(--border);background:var(--surface-3);color:var(--text-muted)}.t-warn{color:var(--warning)}.menu{top:calc(100% + var(--sp-1));z-index:var(--z-dropdown);padding:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;margin:0;line-height:1.4;list-style:none;display:flex;position:absolute;left:0}.menu--end{left:auto;right:0}.menu--block{right:0}.menu--up{top:auto;bottom:calc(100% + var(--sp-1))}.menu--wide{min-width:220px}.menu--scroll{max-height:240px;overflow-y:auto}.menu__item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3-5) var(--sp-4);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;background:0 0;border:none;flex:none;text-decoration:none;display:flex}.menu__item:hover:not(:disabled),.menu__item--active{background:var(--surface-3)}.menu__item--selected{color:var(--accent);font-weight:600}.menu__item:disabled,.menu__item[aria-disabled=true]{opacity:.5;cursor:default}.menu__item--danger{color:var(--danger)}.menu__item--danger:hover:not(:disabled){background:var(--danger-soft)}.menu__sep{height:1px;margin:var(--sp-1) 0;background:var(--border);flex:none}.hint{margin-left:var(--sp-2);color:var(--text-faint);cursor:help;display:inline-flex;position:relative}.hint:hover,.hint:focus-visible{color:var(--text-muted)}.hint__bubble{bottom:calc(100% + var(--sp-2));z-index:var(--z-dropdown);width:max-content;max-width:min(240px,60vw);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-3);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--fs-xs);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;font-weight:400;line-height:1.4;transition:opacity .12s;position:absolute;left:0}.hint:hover .hint__bubble,.hint:focus-visible .hint__bubble{opacity:1;visibility:visible}.card{background:var(--card-bg,var(--surface));border:1px solid var(--card-border,var(--border));border-radius:var(--radius-lg)}.card--panel{border-radius:var(--radius-xl)}.card--accent-left{border-left:3px solid var(--c,var(--accent))}.stat{gap:var(--sp-0);flex-direction:column;min-width:0;display:flex}.stat__label{font-size:var(--fs-xxs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:700}.stat__value{font-size:var(--fs-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800}.stat__value--sm{font-size:var(--fs-lg)}.stat__unit{margin-left:var(--sp-1);font-size:var(--fs-sm);letter-spacing:0;color:var(--text-muted);font-weight:600}.stat__sub{font-size:var(--fs-xs);color:var(--text-muted);overflow-wrap:anywhere}.stat--card{padding:var(--sp-4) var(--sp-5)}.stat--accent{--card-bg:linear-gradient(135deg, color-mix(in srgb, var(--c,var(--accent)) 16%, var(--surface)), var(--surface));--card-border:color-mix(in srgb, var(--c,var(--accent)) 35%, var(--border))}.stat--row{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-1) 0;border-bottom:1px solid var(--surface-3);font-size:var(--fs-sm);flex-direction:row}.stat--row .stat__label{font-size:inherit;text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.stat--row .stat__value{font-size:inherit;letter-spacing:0;font-weight:700}.stat__value--lg{font-size:30px;line-height:1.1}.stat__label .hint__bubble{text-transform:none;letter-spacing:normal}.stat__icon{margin-right:var(--sp-1);vertical-align:text-bottom}.stat__sub--faint{font-size:var(--fs-xxs);color:var(--text-faint)}.chart-tip{fill:var(--surface-2);stroke:var(--border)}.chart-tiptext{font-size:var(--fs-xxs);fill:var(--text);text-anchor:middle;font-weight:600}.alloc-gauge{background:var(--surface-2,var(--surface));border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px var(--sp-5);margin-bottom:var(--sp-5)}.alloc-gauge__bar{border-radius:var(--radius-pill);background:var(--surface-3);height:12px;position:relative;overflow:hidden}.alloc-gauge__seg{border-right:1px solid var(--surface);position:absolute;top:0;bottom:0}.alloc-gauge__text{align-items:baseline;gap:var(--sp-3-5);margin-top:var(--sp-3-5);flex-wrap:wrap;display:flex}.alloc-gauge__total{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;color:var(--text);font-weight:800}.alloc-gauge__total--ok{color:var(--positive)}.alloc-gauge__total--over{color:var(--danger)}.alloc-gauge__hint{color:var(--text-muted);font-size:var(--fs-sm)}.alloc-gauge__action{cursor:pointer;font-family:inherit;font-size:var(--fs-sm);color:var(--accent);background:0 0;border:none;margin-left:auto;font-weight:600}.alloc-gauge__action:hover{text-decoration:underline}.pct-stepper{align-items:center;gap:var(--sp-0);background:var(--surface-3);padding:var(--sp-0);border-radius:9px;flex:none;display:inline-flex}.pct-stepper__btn{color:var(--text-muted);cursor:pointer;width:26px;height:28px;font-size:var(--fs-lg);background:0 0;border:none;border-radius:7px;font-weight:700}.pct-stepper__btn:hover{background:var(--surface);color:var(--text)}.pct-stepper__input{width:48px;color:var(--text);font-size:var(--fs-md-plus);text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:0 0;border:none;font-weight:700}.pct-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pct-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pct-stepper__sign{color:var(--text-faint);font-weight:600;font-size:var(--fs-sm)}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);margin-bottom:var(--sp-6);display:flex}.page-head__title{font-size:var(--fs-3xl);letter-spacing:-.02em;margin:0}.page-head__subtitle{margin:var(--sp-1) 0 0;color:var(--text-muted);font-size:var(--fs-md)}.page__headactions{align-items:center;gap:var(--sp-3);display:inline-flex}.empty{text-align:center;max-width:460px;padding:0 var(--sp-6);margin:48px auto}.empty__icon{margin-bottom:var(--sp-4);font-size:40px}.empty__title{margin:0 0 var(--sp-3);font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:700}.empty__text{color:var(--text-muted);margin:0}.empty__action{margin-top:var(--sp-5)}.drawer-overlay{background:var(--overlay);z-index:var(--z-overlay);animation:drawer-fade var(--t-fast) ease;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:100%;max-width:460px;height:100%;box-shadow:var(--shadow-md);animation:drawer-in var(--t-slow) ease-out;overflow-y:auto}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.disclosure__toggle{align-items:center;gap:var(--sp-1);color:var(--text-muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.disclosure__toggle:hover{color:var(--text)}.disclosure__toggle:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--ring);outline:none}.disclosure__body{margin-top:var(--sp-1);color:var(--text-faint);font-size:var(--fs-xs);line-height:1.5}.modal-overlay{background:var(--overlay);padding:var(--sp-6);z-index:var(--z-overlay);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--sp-6);width:100%;max-width:460px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal--sm{max-width:420px}.modal--lg{max-width:560px;max-height:92vh}.modal--xl{max-width:760px;max-height:92vh}.modal--2xl{max-width:960px;max-height:92vh}.modal__title{margin:0 0 var(--sp-5);font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:700}.modal__error{color:var(--danger);font-size:var(--fs-sm);margin:var(--sp-3) 0 0}.modal__actions{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-6);display:flex}.modal__actions-left,.modal__actions-right{gap:var(--sp-3);display:flex}.modal__actions-right{margin-left:auto}.toast{bottom:var(--sp-6);background:var(--text);color:var(--surface);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-lg);font-size:var(--fs-md);box-shadow:var(--shadow-md);z-index:var(--z-toast);animation:toast-in var(--t-slow) ease;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}.toast__action{margin-left:var(--sp-4);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translate(-50%, var(--sp-3))}to{opacity:1;transform:translate(-50%)}}@media (width<=640px){.page-head{gap:var(--sp-4);flex-wrap:wrap;align-items:flex-start}.page-head__title{font-size:var(--fs-2xl)}.page__headactions{flex-wrap:wrap}.field-row{flex-direction:column}.modal-overlay{padding:var(--sp-4)}.modal{padding:var(--sp-6) var(--sp-5)}}.switch{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);cursor:pointer;display:inline-flex}.icon-emoji{flex-shrink:0;line-height:1;display:inline-block}.icon-emoji:before{content:attr(data-emoji)}.row-actions{align-items:center;gap:var(--sp-1);flex-shrink:0;display:inline-flex}.group-title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--text-muted));margin:0;font-weight:700}.loading{align-items:center;gap:var(--sp-3);padding:var(--sp-6) 0;font-size:var(--fs-md);color:var(--text-muted);margin:0;display:flex}.loading__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:1.25em;height:1.25em;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading__spinner{animation-duration:2.4s}}.empty-inline{padding:var(--sp-3) 0;font-size:var(--fs-md);color:var(--text-muted);margin:0}.link-btn{font:inherit;font-size:var(--fs-sm);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.link-btn:hover{text-decoration:underline}.stable{border-collapse:collapse;width:100%;font-size:var(--fs-md);font-variant-numeric:tabular-nums}.stable th,.stable td{padding:var(--sp-2) var(--sp-3);text-align:right}.stable th:first-child,.stable td:first-child{text-align:left;padding-left:0}.stable th:last-child,.stable td:last-child{padding-right:0}.stable thead th{font-size:var(--fs-xxs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;font-weight:700}.stable tbody th{color:var(--text-muted);font-weight:600}.stable tbody tr{border-top:1px solid var(--border)}@media (width<=640px){.stable{font-size:var(--fs-sm)}.stable th,.stable td{padding-left:var(--sp-1);padding-right:var(--sp-1)}.stable tbody th{white-space:nowrap}}.edit-rows{gap:var(--sp-3);margin-bottom:var(--sp-3);flex-direction:column;display:flex}.edit-rows__row{align-items:center;gap:var(--sp-2);display:flex}.edit-rows__row--step{align-items:flex-start}.edit-rows__grip{cursor:grab;color:var(--text-faint);font-size:var(--fs-md);-webkit-user-select:none;user-select:none}.edit-rows__qty{max-width:64px}.edit-rows__unit{max-width:84px}.edit-rows__label{flex:1}.edit-rows__num{min-width:22px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;font-weight:700;display:flex}.edit-rows__steptext{resize:vertical;flex:1;font-family:inherit}.edit-rows__row--grid{grid-template-columns:var(--edit-rows-cols);gap:var(--sp-3);display:grid}.edit-rows__row--head{font-size:var(--fs-xxs);color:var(--text-faint);text-transform:uppercase}.edit-rows__n{text-align:center;font-size:var(--fs-sm);color:var(--text-muted)}.check{--check-size:20px;appearance:none;width:var(--check-size);height:var(--check-size);border:2px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);flex-shrink:0;margin:0;position:relative}.check--lg{--check-size:26px}.check:hover{border-color:var(--c,var(--accent))}.check:checked{background:var(--c,var(--accent));border-color:var(--c,var(--accent))}.check:checked:after{content:"";border:solid var(--accent-text);border-width:0 2px 2px 0;width:28%;height:56%;position:absolute;top:8%;left:30%;transform:rotate(45deg)}.check:focus-visible{outline:2px solid var(--c,var(--accent));outline-offset:2px}.check:disabled{opacity:.5;cursor:not-allowed}.veil-zone{transition:filter var(--t-slow)}.veil{filter:blur(var(--blur-veil));-webkit-user-select:none;user-select:none;pointer-events:none}@media (prefers-reduced-motion:reduce){.veil-zone{transition:none}}}:root{--brand-nuit:#0b1422;--brand-nuit-2:#122036;--brand-ambre:#fbbf24;--brand-ambre-soft:#fcd34d;--brand-gradient:linear-gradient(135deg, #38bdf8 0%, #fbbf24 100%);--surface:#15233b;--surface-2:#0b1422;--surface-3:#1f3050;--border:#27374f;--text:#e8eef6;--text-muted:#9fb0c4;--text-faint:#6b7d93;--accent:#38bdf8;--accent-soft:#38bdf824;--accent-hover:#7dd3fc;--accent-text:#08111e;--overlay:#04091299;--positive:#34d399;--warning:#f59e0b;--danger:#f87171;--on-color:#fff;--positive-text:#6ee7b7;--danger-text:#fca5a5;--cashout:#a78bfa;--cashout-text:#c4b5fd;--danger-soft:color-mix(in srgb, var(--danger) 12%, transparent);--danger-border:color-mix(in srgb, var(--danger) 40%, transparent);--warning-soft:color-mix(in srgb, var(--warning) 12%, transparent);--warning-border:color-mix(in srgb, var(--warning) 40%, transparent);--m-training:#818cf8;--m-habits:#34d399;--m-finances:#fbbf24;--m-budget:#f97316;--m-betting:#2dd4bf;--m-monitoring:#94a3b8;--m-knowhow:#fb923c;--m-referentiel:#a78bfa;--m-health:#f472b6;--m-course:#4ade80;--m-alimentation:#f59e0b;--m-projects:#c084fc;--m-overtify:#22d3ee;--sp-0:2px;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-3-5:10px;--sp-4:12px;--sp-5:16px;--sp-6:24px;--sp-7:32px;--control-py:9px;--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--z-sticky:20;--z-sticky-raised:25;--z-topbar:30;--z-dropdown:40;--z-nav-scrim:45;--z-overlay:50;--z-toast:80;--z-fullscreen:90;--z-dialog:200;--fs-xxs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-md-plus:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:26px;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 12px 30px #00000059;--shadow-lg:0 20px 50px #00000080;--ring:0 0 0 3px var(--accent-soft);--t-fast:.15s;--t-slow:.25s;--blur-veil:6px}.breadcrumb{margin-bottom:var(--sp-5);font-size:var(--fs-xs);color:var(--text-faint)}.breadcrumb__list{align-items:center;gap:var(--sp-2);padding:var(--sp-0);scrollbar-width:none;flex-wrap:nowrap;margin:0;list-style:none;display:flex;overflow-x:auto}.breadcrumb__list::-webkit-scrollbar{display:none}.breadcrumb__item{align-items:center;gap:var(--sp-2);white-space:nowrap;flex-shrink:0;display:inline-flex}.breadcrumb__item--current{flex-shrink:1;min-width:0}.breadcrumb__sep{color:var(--text-faint);flex-shrink:0}.breadcrumb__link{color:var(--text-muted);border-radius:var(--radius-xs);transition:color var(--t-fast);text-decoration:none}.breadcrumb__link:hover{color:var(--text);text-decoration:underline}.breadcrumb__text{text-overflow:ellipsis;overflow:hidden}.breadcrumb__item--current .breadcrumb__text{color:var(--text);font-weight:600}.app-shell{--nav-on:white;--nav-line:#ffffff0f;--nav-hover:#ffffff12;--nav-hover-strong:#ffffff1f;--nav-fg:color-mix(in srgb, var(--text) 85%, transparent);--nav-fg-dim:color-mix(in srgb, var(--text) 70%, transparent);--nav-item-fg:color-mix(in srgb, var(--text) 75%, transparent);--nav-sub-fg:color-mix(in srgb, var(--text) 60%, transparent);--nav-footer-fg:color-mix(in srgb, var(--text-muted) 60%, transparent);--nav-active-bg:color-mix(in srgb, var(--warning) 14%, transparent);--nav-drawer-shadow:#00000080;min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--brand-nuit) 0%, var(--brand-nuit-2) 100%);border-right:1px solid var(--nav-line);width:240px;color:var(--nav-fg);padding:var(--sp-5) var(--sp-4);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar__brand{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3-5) var(--sp-6);display:flex}.sidebar__collapse{background:var(--nav-line);color:var(--nav-fg-dim);border-radius:var(--radius-sm);width:24px;height:24px;font-size:var(--fs-lg);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);border:none;place-items:center;margin-left:auto;padding:0;line-height:1;display:grid}.sidebar__collapse:hover{background:var(--nav-hover-strong);color:var(--nav-on)}.sidebar__brandtext{flex-direction:column;line-height:1.15;display:flex}.sidebar__title{font-size:var(--fs-2xl);letter-spacing:-.01em;color:var(--nav-on);font-weight:800}.sidebar__nav{gap:var(--sp-1);scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-item{align-items:center;gap:var(--sp-4);padding:var(--sp-3-5) var(--sp-4);border-radius:var(--radius-md);color:var(--nav-item-fg);font-size:var(--fs-md-plus);transition:background var(--t-fast), color var(--t-fast);font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--nav-hover);color:var(--nav-on)}.nav-item--active{background:var(--nav-active-bg);color:var(--brand-ambre-soft);font-weight:700}.nav-item--active:before{content:"";border-radius:var(--radius-xs);background:var(--brand-ambre);width:3px;position:absolute;top:9px;bottom:9px;left:3px}.nav-item__icon{font-size:var(--fs-xl);text-align:center;width:20px}.nav-block,.nav-block__items{gap:var(--sp-1);flex-direction:column;display:flex}.nav-section{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-xxs);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--nav-footer-fg);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;font-weight:700;display:flex}.nav-section:hover{background:var(--nav-hover);color:var(--nav-on)}.nav-section--current{color:var(--brand-ambre-soft)}.nav-section__chevron{transition:transform var(--t-fast);flex-shrink:0}.nav-section[aria-expanded=false] .nav-section__chevron{transform:rotate(-90deg)}.nav-rule{height:1px;margin:var(--sp-3) var(--sp-3) var(--sp-2);background:var(--nav-footer-fg);opacity:.4}.nav-group{gap:var(--sp-1);flex-direction:column;display:flex}.nav-sub{gap:var(--sp-0);margin:var(--sp-0) 0 var(--sp-1) 0;padding-left:var(--sp-7);flex-direction:column;display:flex}.nav-subitem{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);color:var(--nav-sub-fg);font-size:var(--fs-sm);transition:background var(--t-fast), color var(--t-fast);font-weight:500;text-decoration:none}.nav-subitem:hover{background:var(--nav-line);color:var(--nav-on)}.nav-subitem--active{color:var(--brand-ambre-soft);font-weight:700}.sidebar__footer{gap:var(--sp-3);padding:var(--sp-4) var(--sp-3-5) 0;font-size:var(--fs-xs);color:var(--nav-footer-fg);flex-direction:column;display:flex}.sidebar__footer-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.sidebar__actions{align-items:center;gap:var(--sp-2);display:flex}.sidebar__notify-btn--on{color:var(--brand-ambre-soft)}.sidebar__notify-btn--muted{opacity:.5}.sidebar--collapsed{width:68px;padding-left:var(--sp-3-5);padding-right:var(--sp-3-5)}.sidebar--collapsed .sidebar__brandtext{display:none}.sidebar--collapsed .sidebar__brand{padding-left:var(--sp-1);padding-right:var(--sp-1);justify-content:center;gap:0;gap:var(--sp-4);flex-direction:column}.sidebar--collapsed .sidebar__collapse{margin-left:0}.sidebar--collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar--collapsed .nav-item__label{display:none}.sidebar--collapsed .nav-item--active:before{left:0}.sidebar--collapsed .sidebar__footer{align-items:center}.sidebar--collapsed .sidebar__footer-row{justify-content:center}.sidebar--collapsed .sidebar__actions{flex-direction:column}.sidebar--collapsed .sidebar__version,.sidebar--collapsed .sidebar__logout-label{display:none}.content{min-width:0;padding:var(--sp-6) var(--sp-7);flex:1;overflow-x:auto}.topbar,.sidebar__close{display:none}@media (width<=900px){.app-shell{flex-direction:column}.topbar{align-items:center;gap:var(--sp-3-5);z-index:var(--z-topbar);padding:var(--sp-3-5) var(--sp-4);background:linear-gradient(180deg, var(--brand-nuit) 0%, var(--brand-nuit-2) 100%);border-bottom:1px solid var(--nav-line);display:flex;position:sticky;top:0}.topbar__burger{color:var(--nav-on);font-size:var(--fs-2xl);padding:var(--sp-1) var(--sp-3);cursor:pointer;background:0 0;border:none;line-height:1;display:flex}.topbar__title{font-size:var(--fs-lg);color:var(--nav-on);font-weight:800}.sidebar{width:270px;max-width:82vw;height:100dvh;z-index:var(--z-overlay);transition:transform var(--t-slow) ease;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar--open{box-shadow:0 0 40px var(--nav-drawer-shadow);transform:translate(0)}.sidebar--collapsed{width:270px;max-width:82vw;padding:var(--sp-5) var(--sp-4)}.sidebar--collapsed .sidebar__brand{gap:var(--sp-4);padding:var(--sp-2) var(--sp-3-5) var(--sp-6);flex-direction:row;justify-content:flex-start}.sidebar--collapsed .nav-item__label,.sidebar--collapsed .sidebar__version,.sidebar--collapsed .sidebar__logout-label{display:initial}.sidebar--collapsed .sidebar__actions{flex-direction:row}.sidebar--collapsed .sidebar__brandtext{display:flex}.sidebar--collapsed .sidebar__footer{align-items:stretch}.sidebar--collapsed .sidebar__footer-row{justify-content:space-between}.sidebar--collapsed .nav-item{padding:var(--sp-3-5) var(--sp-4);justify-content:flex-start}.sidebar__collapse{display:none}.nav-scrim{background:var(--overlay);z-index:var(--z-nav-scrim);position:fixed;inset:0}.sidebar__brand{position:relative}.sidebar__close{color:var(--nav-fg-dim);font-size:var(--fs-xl);cursor:pointer;padding:var(--sp-1) var(--sp-3);background:0 0;border:none;display:flex;position:absolute;top:-2px;right:0}}@media (width<=640px){.content{padding:var(--sp-5) var(--sp-4)}}.overtify-gate__code{padding:0 var(--sp-1);border-radius:var(--radius-xs);background:var(--surface-3);font-family:var(--font-mono);font-size:var(--fs-sm)}.login{min-height:100vh;padding:var(--sp-5);background:var(--surface-2);justify-content:center;align-items:center;display:flex}.login__card{width:100%;max-width:380px;padding:var(--sp-6);box-shadow:var(--shadow-md)}.login__brand{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.login__title{font-size:var(--fs-xl);margin:0}.login__subtitle{margin:var(--sp-1) 0 0;font-size:var(--fs-xs)}.login__checking{font-size:var(--fs-sm);margin:0}.login__setup>:last-child{margin-bottom:0}.login__code{margin:var(--sp-4) 0 0;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre;overflow-x:auto}.login__submit{width:100%;margin-top:var(--sp-2);justify-content:center}.modal-overlay.modal-overlay--top{z-index:var(--z-dialog)}.dialog__message{color:var(--text-muted);font-size:var(--fs-md);white-space:pre-line;margin:0;line-height:1.5}.dialog__message+.field__input,.dialog__message+.dialog__textarea{margin-top:var(--sp-4)}.modal__title+.field__input,.modal__title+.dialog__textarea{margin-top:var(--sp-0)}.dialog__textarea{min-height:90px}
