/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--fp-font-family);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--fp-primary:#0f5132;--fp-primary-hover:#0b3f27;--fp-accent:#a86a2c;--fp-success:#17704e;--fp-danger:#b3402e;--fp-warning:#a86a2c;--fp-info:#2f6f8f;--fp-bg:#eef2ee;--fp-surface:#fff;--fp-surface-muted:#f4f7f4;--fp-border:#dde5de;--fp-border-strong:#c6d2c8;--fp-ink:#16211b;--fp-text-muted:#5b6a61;--fp-radius-sm:6px;--fp-radius:10px;--fp-radius-lg:14px;--fp-radius-pill:999px;--fp-shadow-sm:0 1px 2px #10211b0f;--fp-shadow:0 1px 3px #10211b14, 0 1px 2px #10211b0d;--fp-shadow-md:0 6px 16px #10211b1a;--fp-font-family:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fp-font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fp-space-1:.25rem;--fp-space-2:.5rem;--fp-space-3:1rem;--fp-space-4:1.5rem;--fp-space-5:2rem;--fp-space-6:3rem;--fp-copper:var(--fp-accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark,[data-bs-theme=dark]{--fp-primary:#3fa874;--fp-primary-hover:#4fbc86;--fp-accent:#d1954f;--fp-success:#3fa874;--fp-danger:#e06a58;--fp-warning:#d1954f;--fp-info:#5aa0c4;--fp-bg:#0e1512;--fp-surface:#151f1b;--fp-surface-muted:#1b2620;--fp-border:#29352e;--fp-border-strong:#3a473f;--fp-ink:#e8f0ea;--fp-text-muted:#9aa8a0;--fp-shadow-sm:0 1px 2px #0006;--fp-shadow:0 1px 3px #00000080;--fp-shadow-md:0 6px 18px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{font-family:var(--fp-font-family);background:var(--fp-bg);color:var(--fp-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4{margin:0 0 var(--fp-space-3);letter-spacing:-.02em;font-weight:650;line-height:1.15}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0 0 var(--fp-space-3)}a{color:var(--fp-primary);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}button,.btn{justify-content:center;align-items:center;gap:var(--fp-space-1);min-height:2.25rem;font:inherit;white-space:nowrap;color:var(--fp-ink);background:var(--fp-surface);border:1px solid var(--fp-border-strong);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);cursor:pointer;padding:.5rem .9rem;font-weight:550;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform 50ms;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--fp-surface-muted)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn--primary{color:#fff;background:var(--fp-primary);border-color:var(--fp-primary)}.btn--primary:hover{background:var(--fp-primary-hover);border-color:var(--fp-primary-hover)}.btn--danger{color:var(--fp-danger);border-color:var(--fp-danger)}@supports (color:color-mix(in lab, red, red)){.btn--danger{border-color:color-mix(in srgb, var(--fp-danger) 45%, var(--fp-border-strong))}}.btn--danger:hover{background:var(--fp-danger)}@supports (color:color-mix(in lab, red, red)){.btn--danger:hover{background:color-mix(in srgb, var(--fp-danger) 10%, transparent)}}.btn--ghost{box-shadow:none;background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--fp-surface-muted)}.btn--sm{min-height:1.9rem;padding:.3rem .65rem;font-size:.8125rem}.icon-btn{min-width:2.25rem;padding:.5rem}input,select,textarea{font:inherit;color:var(--fp-ink);background:var(--fp-surface);border:1px solid var(--fp-border-strong);border-radius:var(--fp-radius);max-width:100%;min-height:2.25rem;padding:.5rem .7rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--fp-primary);box-shadow:0 0 0 3px var(--fp-primary);outline:none}@supports (color:color-mix(in lab, red, red)){input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--fp-primary) 22%, transparent)}}input::placeholder,textarea::placeholder{color:var(--fp-text-muted)}input[type=checkbox]{width:1.05rem;height:1.05rem;min-height:0;accent-color:var(--fp-primary)}label{font-size:.875rem;font-weight:500}.field{gap:var(--fp-space-1);flex-direction:column;display:flex}.field__error{color:var(--fp-danger);margin:0;font-size:.8125rem}.form-note{color:var(--fp-text-muted);font-size:.875rem}.card{background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);box-shadow:var(--fp-shadow);padding:var(--fp-space-4)}.card__title{margin:0 0 var(--fp-space-1);font-size:1rem;font-weight:600}.card__hint{color:var(--fp-text-muted);margin:0;font-size:.875rem}.card--muted{background:var(--fp-surface-muted)}.stack{gap:var(--fp-space-2);margin:0;padding:0;list-style:none;display:grid}.row-between{justify-content:space-between;align-items:center;gap:var(--fp-space-2);flex-wrap:wrap;display:flex}.progress{height:.5rem;margin-top:var(--fp-space-2);background:var(--fp-surface-muted);border:1px solid var(--fp-border);border-radius:var(--fp-radius-pill);overflow:hidden}.progress__bar{background:var(--fp-primary);height:100%;transition:width .2s;display:block}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--fp-space-3);margin-bottom:var(--fp-space-4);flex-wrap:wrap;display:flex}.page-head h2,.page-head__title{margin:0;font-size:1.5rem}.page-head__count{margin-left:var(--fp-space-2);color:var(--fp-text-muted);background:var(--fp-surface-muted);border:1px solid var(--fp-border);border-radius:var(--fp-radius-pill);vertical-align:middle;padding:.1rem .5rem;font-size:.8125rem;font-weight:600;display:inline-block}.page-head__sub{margin:var(--fp-space-1) 0 0;color:var(--fp-text-muted);font-size:.875rem}.page-head__actions{gap:var(--fp-space-2);flex-wrap:wrap;display:flex}.crumb{align-items:center;gap:var(--fp-space-1);margin-bottom:var(--fp-space-1);color:var(--fp-text-muted);font-size:.8125rem;display:flex}.crumb a{color:var(--fp-text-muted)}.crumb a:hover{color:var(--fp-primary)}.crumb svg{opacity:.6}.crumb [aria-current]{color:var(--fp-ink);font-weight:500}.kpi{background:var(--fp-surface);border:1px solid var(--fp-border);border-top:3px solid var(--fp-border);border-radius:var(--fp-radius-lg);box-shadow:var(--fp-shadow-sm);padding:var(--fp-space-3) var(--fp-space-4)}.kpi[data-tone=in]{border-top-color:var(--fp-success)}.kpi[data-tone=out]{border-top-color:var(--fp-danger)}.kpi[data-tone=warn]{border-top-color:var(--fp-copper)}.kpi__head{justify-content:space-between;align-items:flex-start;gap:var(--fp-space-2);display:flex}.kpi__label{color:var(--fp-text-muted);margin:0;font-size:.8125rem;font-weight:500}.kpi__value{margin:var(--fp-space-1) 0 0;font-size:1.5rem}.kpi__icon{border-radius:var(--fp-radius-sm);width:2rem;height:2rem;color:var(--fp-text-muted);background:var(--fp-surface-muted);flex-shrink:0;place-items:center;display:grid}.kpi[data-tone=in] .kpi__icon{color:var(--fp-success);background:var(--fp-success)}@supports (color:color-mix(in lab, red, red)){.kpi[data-tone=in] .kpi__icon{background:color-mix(in srgb, var(--fp-success) 12%, transparent)}}.kpi[data-tone=out] .kpi__icon{color:var(--fp-danger);background:var(--fp-danger)}@supports (color:color-mix(in lab, red, red)){.kpi[data-tone=out] .kpi__icon{background:color-mix(in srgb, var(--fp-danger) 12%, transparent)}}.kpi[data-tone=warn] .kpi__icon{color:var(--fp-copper);background:var(--fp-copper)}@supports (color:color-mix(in lab, red, red)){.kpi[data-tone=warn] .kpi__icon{background:color-mix(in srgb, var(--fp-copper) 14%, transparent)}}.kpi__trend{margin:var(--fp-space-2) 0 0;font-size:.8125rem;font-weight:500}.kpi__trend--up{color:var(--fp-success)}.kpi__trend--down{color:var(--fp-danger)}.grid-2{gap:var(--fp-space-3);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=48rem){.grid-2{grid-template-columns:1fr 1fr}}.grid-kpi{gap:var(--fp-space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.empty-state{align-items:center;gap:var(--fp-space-2);color:var(--fp-text-muted);font-size:.875rem;display:flex}.empty-state svg{opacity:.6;flex-shrink:0}.error-text{color:var(--fp-danger);font-size:.875rem}.toolbar{align-items:center;gap:var(--fp-space-2);margin-bottom:var(--fp-space-3);flex-wrap:wrap;display:flex}.toolbar__spacer{flex:1}.search{align-items:center;gap:var(--fp-space-2);background:var(--fp-surface);border:1px solid var(--fp-border-strong);border-radius:var(--fp-radius);width:100%;max-width:20rem;padding:0 .6rem;transition:border-color .15s,box-shadow .15s;display:inline-flex}.search:focus-within{border-color:var(--fp-primary);box-shadow:0 0 0 3px var(--fp-primary)}@supports (color:color-mix(in lab, red, red)){.search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--fp-primary) 22%, transparent)}}.search svg{color:var(--fp-text-muted);flex-shrink:0}.search input{box-shadow:none;background:0 0;border:0;flex:1;min-width:0;padding-left:0;padding-right:0}.search input:focus{box-shadow:none;outline:none}.badge{border-radius:var(--fp-radius-pill);background:var(--fp-surface-muted);color:var(--fp-text-muted);align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.badge--in{color:var(--fp-success);background:var(--fp-success)}@supports (color:color-mix(in lab, red, red)){.badge--in{background:color-mix(in srgb, var(--fp-success) 12%, transparent)}}.badge--out{color:var(--fp-danger);background:var(--fp-danger)}@supports (color:color-mix(in lab, red, red)){.badge--out{background:color-mix(in srgb, var(--fp-danger) 12%, transparent)}}.badge--warn{color:var(--fp-copper);background:var(--fp-copper)}@supports (color:color-mix(in lab, red, red)){.badge--warn{background:color-mix(in srgb, var(--fp-copper) 14%, transparent)}}.chart-donut{align-items:center;gap:var(--fp-space-4);flex-wrap:wrap;display:flex}.chart-donut svg{flex-shrink:0}.legend{gap:var(--fp-space-1);flex:1;min-width:10rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.legend li{align-items:center;gap:var(--fp-space-2);display:flex}.legend__dot{border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem}.legend li .ledger-figure{margin-left:auto}.ledger-figure{font-family:var(--fp-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.balance-strip{border-top:3px solid var(--fp-copper);background:var(--fp-surface);border-left:1px solid var(--fp-border);border-right:1px solid var(--fp-border);border-bottom:1px solid var(--fp-border);border-radius:0 var(--fp-radius-lg) var(--fp-radius-lg) 0;box-shadow:var(--fp-shadow-sm);padding:var(--fp-space-4) var(--fp-space-4)}.balance-strip__total{font-family:var(--fp-font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700;line-height:1}.table-wrap{overflow-x:auto}@media (width<=47.99rem){table.ledger:has(tbody tr td:last-child button) th:last-child{background:var(--fp-surface);border-left:1px solid var(--fp-border);position:sticky;right:0}table.ledger tbody tr td:last-child:has(button){background:var(--fp-surface);border-left:1px solid var(--fp-border);position:sticky;right:0}}table.ledger{border-collapse:collapse;background:var(--fp-surface);width:100%}table.ledger th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--fp-text-muted);border-bottom:1px solid var(--fp-border-strong);padding:var(--fp-space-2) var(--fp-space-3);white-space:nowrap;font-size:.75rem;font-weight:600}table.ledger td{border-bottom:1px solid var(--fp-border);padding:var(--fp-space-2) var(--fp-space-3)}table.ledger tbody tr:hover{background:var(--fp-surface-muted)}table.ledger tr[data-sign=in] td:first-child{box-shadow:inset 3px 0 0 var(--fp-success)}table.ledger tr[data-sign=out] td:first-child{box-shadow:inset 3px 0 0 var(--fp-danger)}:focus-visible{outline:2px solid var(--fp-copper);outline-offset:2px}.content{max-width:80rem;margin:0 auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{grid-template-columns:15rem 1fr;min-height:100svh;display:grid}.sidebar{background:var(--fp-surface);border-right:1px solid var(--fp-border);padding:var(--fp-space-4) var(--fp-space-3);align-self:start;height:100svh;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--fp-space-2);letter-spacing:-.02em;margin:0 0 var(--fp-space-4);padding-bottom:var(--fp-space-3);border-bottom:1px solid var(--fp-border);font-size:1.0625rem;font-weight:700;display:flex}.brand__mark{border-radius:var(--fp-radius-sm);background:var(--fp-primary);color:#fff;width:1.9rem;height:1.9rem;font-family:var(--fp-font-mono);place-items:center;font-size:1rem;font-weight:700;display:grid}.brand__mark svg{width:1.1rem;height:1.1rem}.sidebar__section{color:var(--fp-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:var(--fp-space-3) 0 var(--fp-space-1);font-size:.6875rem;font-weight:600}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar a{align-items:center;gap:var(--fp-space-2);color:var(--fp-ink);padding:.4rem var(--fp-space-2);border-radius:var(--fp-radius-sm);font-size:.9375rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar a:hover{background:var(--fp-surface-muted);text-decoration:none}.sidebar a svg{color:var(--fp-text-muted);flex-shrink:0;transition:color .12s}.sidebar a[data-active]{background:var(--fp-primary)}@supports (color:color-mix(in lab, red, red)){.sidebar a[data-active]{background:color-mix(in srgb, var(--fp-primary) 10%, transparent)}}.sidebar a[data-active]{box-shadow:inset 3px 0 0 var(--fp-copper);font-weight:600}.sidebar a[data-active] svg{color:var(--fp-primary)}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{align-items:center;gap:var(--fp-space-2);background:var(--fp-surface);display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--fp-surface) 88%, transparent)}}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--fp-border);padding:var(--fp-space-2) var(--fp-space-4);z-index:10;position:sticky;top:0}.topbar__spacer{flex:1}.topbar__actions{align-items:center;gap:var(--fp-space-1);display:flex}.topbar__menu{display:none}.topbar__brand{align-items:center;gap:var(--fp-space-2);letter-spacing:-.02em;white-space:nowrap;font-weight:700;display:none}.topbar__brand .brand__mark{width:1.6rem;height:1.6rem}.user-menu{position:relative}.user-menu>summary{align-items:center;gap:var(--fp-space-2);border-radius:var(--fp-radius-pill);cursor:pointer;padding:.25rem .4rem;list-style:none;transition:background .12s;display:flex}.user-menu>summary::-webkit-details-marker{display:none}.user-menu>summary:hover,.user-menu[open]>summary{background:var(--fp-surface-muted)}.avatar{background:var(--fp-primary);border-radius:50%;flex-shrink:0;place-items:center;width:1.9rem;height:1.9rem;display:grid}@supports (color:color-mix(in lab, red, red)){.avatar{background:color-mix(in srgb, var(--fp-primary) 14%, transparent)}}.avatar{color:var(--fp-primary);text-transform:uppercase;font-size:.75rem;font-weight:700}.user-chip__id{text-align:left;line-height:1.2;display:none}.user-chip__name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.8125rem;font-weight:600;display:block;overflow:hidden}.user-chip__sub{color:var(--fp-text-muted);font-size:.6875rem;display:block}.user-menu__pop{right:0;top:calc(100% + var(--fp-space-2));min-width:12rem;padding:var(--fp-space-1);background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-md);z-index:20;position:absolute}.user-menu__pop button,.user-menu__pop a{justify-content:flex-start;width:100%;text-decoration:none}.topbar__full{display:none}@media (width>=40rem){.topbar__full{display:inline-flex}.user-chip__id{display:block}}.content{padding:var(--fp-space-5) var(--fp-space-4);width:100%}.modal{border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);width:min(32rem,100vw - 2rem);max-height:calc(100vh - 3rem);box-shadow:var(--fp-shadow-md);background:var(--fp-surface);color:var(--fp-ink);margin:auto;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a140f80}.modal--wide{width:min(52rem,100vw - 2rem)}.modal__head{justify-content:space-between;align-items:center;gap:var(--fp-space-2);padding:var(--fp-space-3) var(--fp-space-4);border-bottom:1px solid var(--fp-border);display:flex}.modal__title{margin:0;font-size:1.125rem}.modal__body{padding:var(--fp-space-4);overflow-y:auto}.modal__body form{gap:var(--fp-space-3);display:grid}.form-actions{justify-content:flex-end;gap:var(--fp-space-2);margin-top:var(--fp-space-1);display:flex}.skeleton{gap:var(--fp-space-2);padding:var(--fp-space-2) 0;display:grid}.skeleton__line{border-radius:var(--fp-radius-sm);background:linear-gradient(90deg, var(--fp-surface-muted), var(--fp-border), var(--fp-surface-muted));background-size:200% 100%;height:.9rem;animation:1.3s ease-in-out infinite skeleton;display:block}.skeleton__line:nth-child(2n){width:70%}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.toaster{right:var(--fp-space-4);bottom:var(--fp-space-4);z-index:60;gap:var(--fp-space-2);max-width:min(24rem,100vw - 2rem);display:grid;position:fixed}.toast{align-items:flex-start;gap:var(--fp-space-2);padding:var(--fp-space-2) var(--fp-space-3);background:var(--fp-surface);border:1px solid var(--fp-border);border-left:3px solid var(--fp-border);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-md);font-size:.875rem;animation:.18s ease-out toast-in;display:flex}.toast--ok{border-left-color:var(--fp-success)}.toast--ok>svg{color:var(--fp-success);flex-shrink:0}.toast--error{border-left-color:var(--fp-danger)}.toast--error>svg{color:var(--fp-danger);flex-shrink:0}.toast__msg{flex:1}.toast__close{min-height:0;margin-left:var(--fp-space-1);color:var(--fp-text-muted);box-shadow:none;cursor:pointer;background:0 0;border:0;padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.auth{min-height:100svh;padding:var(--fp-space-4);place-items:center;display:grid}.auth__card{width:100%;max-width:24rem}.auth__title{text-align:center;font-size:1.25rem}.auth__brand{justify-content:center;align-items:center;gap:var(--fp-space-2);margin-bottom:var(--fp-space-3);letter-spacing:-.02em;font-weight:700;display:flex}.footer{border-top:1px solid var(--fp-border);padding:var(--fp-space-3) var(--fp-space-4);color:var(--fp-text-muted);font-size:.8125rem}.avatar--lg{width:3rem;height:3rem;font-size:1.25rem}.kv{gap:var(--fp-space-1) var(--fp-space-3);margin:var(--fp-space-4) 0 0;padding-top:var(--fp-space-3);border-top:1px solid var(--fp-border);grid-template-columns:auto 1fr;font-size:.875rem;display:grid}.kv dt{color:var(--fp-text-muted)}.kv dd{text-align:right;margin:0}@media (width<=56rem){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--fp-border);height:auto;display:none;position:static}.sidebar.is-open{display:block}.topbar__menu{display:inline-flex}.topbar__brand{display:flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
