.spinner-root[data-v-a69b8265]{justify-content:center;align-items:center;display:flex}.spinner-root--inline[data-v-a69b8265]{vertical-align:middle;gap:.5rem;display:inline-flex}.spinner-root--overlay[data-v-a69b8265]{z-index:2000;pointer-events:all;position:fixed;inset:0}.spinner-backdrop[data-v-a69b8265]{background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset:0}.spinner-box[data-v-a69b8265]{z-index:1;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:relative}.spinner-root--inline .spinner-box[data-v-a69b8265]{flex-direction:row;gap:.5rem}.spinner-ring[data-v-a69b8265]{border-style:solid;border-color:var(--border);border-top-color:var(--brand);border-radius:50%;animation:.75s linear infinite costops-spin-a69b8265;display:block}.spinner-box--sm .spinner-ring[data-v-a69b8265]{border-width:2px;width:1.1rem;height:1.1rem}.spinner-box--md .spinner-ring[data-v-a69b8265]{border-width:3px;width:2.25rem;height:2.25rem}.spinner-box--lg .spinner-ring[data-v-a69b8265]{border-width:4px;width:3rem;height:3rem}.spinner-label[data-v-a69b8265]{color:var(--text-secondary);font-size:.9rem;font-weight:500}@keyframes costops-spin-a69b8265{to{transform:rotate(360deg)}}.login-page[data-v-86a1777b]{background:linear-gradient(180deg, var(--surface) 0%, var(--bg) 45%, var(--bg-page) 100%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card[data-v-86a1777b]{width:min(480px,100%);padding:1.75rem 1.5rem 2rem}.brand-row[data-v-86a1777b]{flex-direction:column;align-items:center;gap:.85rem;margin-bottom:.25rem;display:flex}.brand-logo[data-v-86a1777b]{object-fit:contain;width:64px;height:64px}.title[data-v-86a1777b]{text-align:center;color:var(--text);margin:0;font-size:1.2rem;font-weight:700;line-height:1.3}.login-form[data-v-86a1777b]{text-align:left}.login-submit[data-v-86a1777b]{margin-top:.35rem}.turnstile-host[data-v-86a1777b]{min-height:0}.brand-mark[data-v-efeb4149]{--brand-mark-size:48px;--loader-stroke:max(2px, calc(var(--brand-mark-size) * 3 / 65));width:var(--brand-mark-size);height:var(--brand-mark-size);flex-shrink:0;position:relative}.brand-logo[data-v-efeb4149]{width:var(--brand-mark-size);height:var(--brand-mark-size);object-fit:contain;opacity:1;transition:opacity .22s ease-in;display:block}.brand-mark--busy .brand-logo[data-v-efeb4149]{opacity:0;transition:opacity .12s ease-out}.loader[data-v-efeb4149]{width:var(--brand-mark-size);aspect-ratio:1;opacity:0;pointer-events:none;transition:opacity .12s ease-out;position:absolute;inset:0}.brand-mark--busy .loader[data-v-efeb4149]{opacity:1;transition:opacity .12s ease-in 80ms}.loader[data-v-efeb4149]:before,.loader[data-v-efeb4149]:after{content:"";box-shadow:0 0 0 var(--loader-stroke) inset var(--brand);border-radius:50px;animation:2.5s infinite paused brand-loader-orbit-efeb4149;position:absolute}.loader[data-v-efeb4149]:after{animation-delay:-1.25s}.brand-mark--busy .loader[data-v-efeb4149]:before,.brand-mark--busy .loader[data-v-efeb4149]:after{animation-play-state:running}@keyframes brand-loader-orbit-efeb4149{0%{inset:0 53.846% 53.846% 0}12.5%{inset:0 53.846% 0 0}25%{inset:53.846% 53.846% 0 0}37.5%{inset:53.846% 0 0}50%{inset:53.846% 0 0 53.846%}62.5%{inset:0 0 0 53.846%}75%{inset:0 0 53.846% 53.846%}87.5%{inset:0 0 53.846%}to{inset:0 53.846% 53.846% 0}}@media (prefers-reduced-motion:reduce){.brand-logo[data-v-efeb4149],.loader[data-v-efeb4149]{transition:none}.brand-mark--busy .brand-logo[data-v-efeb4149]{opacity:1}.brand-mark--busy .loader[data-v-efeb4149]{opacity:0}.loader[data-v-efeb4149]:before,.loader[data-v-efeb4149]:after{animation:none}}.layout[data-v-c6b34190]{background:var(--bg-page);height:100vh;display:flex;overflow:hidden}.mobile-header[data-v-c6b34190]{display:none}.sidebar[data-v-c6b34190]{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:1.25rem;width:min(300px,88vw);padding:1.25rem .85rem;display:flex;overflow:hidden;box-shadow:2px 0 12px #1111110a}.brand[data-v-c6b34190]{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding:.35rem .65rem 1.1rem;display:flex}.brand-text[data-v-c6b34190]{min-width:0}.brand-title[data-v-c6b34190]{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.25}.brand-sub[data-v-c6b34190]{color:var(--muted);margin-top:.2rem;font-size:.75rem}.nav[data-v-c6b34190]{flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex;overflow-y:auto}.tenant-switcher[data-v-c6b34190]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.35rem;margin:0 .35rem;padding:.65rem .75rem;display:flex}.tenant-banner[data-v-c6b34190]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.1rem;margin-top:-.4rem;padding:.55rem .8rem;display:flex}.tenant-banner-label[data-v-c6b34190]{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem;font-weight:700}.tenant-banner-name[data-v-c6b34190]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.nav-link[data-v-c6b34190]{border-radius:var(--radius);min-height:52px;color:var(--text-secondary);border:1px solid #0000;align-items:center;gap:.65rem;padding:0 1rem;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:flex}.nav-link[data-v-c6b34190]:hover{background:var(--surface-2);color:var(--text)}.nav-link-active[data-v-c6b34190]{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:0 4px 12px #da212640}.nav-link-active[data-v-c6b34190]:hover{background:var(--brand-dark);color:var(--on-brand)}.nav-link-active .nav-icon[data-v-c6b34190]{color:var(--on-brand)}.nav-icon[data-v-c6b34190]{opacity:.9;justify-content:center;align-items:center;width:28px;display:flex}.pref-row[data-v-c6b34190]{flex-direction:column;flex-shrink:0;gap:.35rem;margin-top:auto;padding:.5rem .65rem 0;display:flex}.pref-label[data-v-c6b34190]{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:600}.pref-toggle[data-v-c6b34190]{gap:.35rem;display:flex}.pref-btn[data-v-c6b34190]{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);min-height:40px;color:var(--text-secondary);cursor:pointer;flex:1;padding:0 .5rem;font-size:.8rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.pref-btn[data-v-c6b34190]:hover{color:var(--text);border-color:var(--border)}.pref-btn-active[data-v-c6b34190]{color:var(--brand);background:#da21261a;border-color:#da212666}.sidebar-footer[data-v-c6b34190]{flex-direction:column;flex-shrink:0;gap:.5rem;width:100%;margin-top:.65rem;display:flex}.trial-remaining[data-v-c6b34190]{letter-spacing:.02em;color:var(--color-warning-text);text-align:center;border-radius:var(--radius);background:var(--color-warning-bg);margin:0;padding:.4rem .5rem;font-size:.8rem;font-weight:700}.logout-btn[data-v-c6b34190]{flex:none;width:100%}.readonly-banner[data-v-c6b34190]{border-radius:var(--radius);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text);margin:0 0 1rem;padding:.85rem 1rem;font-size:.9rem;font-weight:600}.main[data-v-c6b34190]{--main-pad-y:1.5rem;--main-pad-x:1.35rem;min-width:0;padding:var(--main-pad-y) var(--main-pad-x);flex:1;overflow:auto}.main[data-v-c6b34190]:has(.form-page){padding-bottom:0}@media (width<=1200px){.mobile-header[data-v-c6b34190]{background:var(--surface);border-bottom:1px solid var(--border);z-index:900;flex-shrink:0;align-items:center;gap:1rem;height:64px;padding:0 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000014}.hamburger-btn[data-v-c6b34190]{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;display:flex}.hamburger-line[data-v-c6b34190]{background:var(--text);border-radius:2px;width:24px;height:2px;transition:all .2s;display:block}.mobile-brand[data-v-c6b34190]{align-items:center;gap:.75rem;min-width:0;text-decoration:none;display:flex}.mobile-brand-title[data-v-c6b34190]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;font-weight:800;overflow:hidden}.mobile-trial-remaining[data-v-c6b34190]{color:var(--muted);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.75rem;font-weight:700}.layout[data-v-c6b34190]{flex-direction:column}.sidebar[data-v-c6b34190]{z-index:1000;-webkit-overflow-scrolling:touch;width:280px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:10px 0 30px #0000001a}.sidebar-active[data-v-c6b34190]{transform:translate(0)}.sidebar-backdrop[data-v-c6b34190]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#0006;animation:.3s fadeIn-c6b34190;position:fixed;inset:0}@keyframes fadeIn-c6b34190{0%{opacity:0}to{opacity:1}}.main[data-v-c6b34190]{--main-pad-y:1.25rem;--main-pad-x:1rem;padding:var(--main-pad-y) var(--main-pad-x)}.main[data-v-c6b34190]:has(.form-page){padding-bottom:0}}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dry-CzQC4F9w.woff2)format("woff2");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}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dry-DqJHHkLj.woff2)format("woff2");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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dry-CNMooFZX.woff2)format("woff2");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}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dry-BIGslYFI.woff2)format("woff2");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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dry-CmETpp4t.woff2)format("woff2");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}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dry-REKAfBVG.woff2)format("woff2");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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dry-CU6LeQOd.woff2)format("woff2");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}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dry-DAxitmSu.woff2)format("woff2");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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dry-BoBbeF2z.woff2)format("woff2");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}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dry-bnJnpGuO.woff2)format("woff2");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}:root{--brand:#da2126;--brand-dark:#b41c20;--on-brand:#fff;--bg:#f5f6f8;--bg-page:#edeff2;--surface:#fff;--surface-2:#f5f6f8;--border:#e0e0e0;--border-strong:#d6d6d6;--text:#111;--text-secondary:#333;--muted:#5c5c5c;--emphasis:#000;--radius:14px;--touch-min:54px;--control-height:var(--touch-min);--control-height-mini:40px;--control-pad-x:1.15rem;--control-pad-y:.9rem;--font-scale:1;--form-gap:1.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--shadow-card:0 1px 3px #1111110f;--shadow-popover:0 8px 28px #11111124;--focus-ring:0 0 0 3px #da21261f;--chart-legend:var(--text-secondary);--chart-tick:var(--muted);--chart-grid:#11111114;--chart-tooltip-bg:var(--surface);--chart-tooltip-text:var(--text);--chart-tooltip-border:var(--border);--text-muted:var(--muted);--border-subtle:var(--border);--accent:var(--brand);--bg-input:var(--surface);--danger-bg:#fef2f2;--danger-text:#991b1b;--danger-border:#fecaca;--color-danger-bg:var(--danger-bg);--color-danger-text:var(--danger-text);--color-danger-border:var(--danger-border);--color-success-bg:#f0fdf4;--color-success-text:#166534;--color-success-border:#bbf7d0;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--color-warning-border:#fcd34d;--color-info-bg:#eff6ff;--color-info-text:#1e40af;--color-info-border:#bfdbfe;--color-neutral-bg:#f1f5f9;--color-neutral-text:#334155;--color-neutral-border:#cbd5e1;--z-dialog:1100;--z-alert:5200;--z-popover:5000;--z-toast:5300}:root.theme-dim{--bg:#121212;--bg-page:#2f2b2b;--surface:#1a1a1a;--surface-2:#242424;--border:#333;--border-strong:#444;--text:#fff;--text-secondary:#e0e0e0;--muted:#a0a0a0;--emphasis:#fff;--shadow-card:0 5px 20px #0009;--shadow-popover:0 8px 28px #0000008c;--chart-grid:#ffffff1f;--danger-bg:#991b1b40;--danger-text:#fecaca;--danger-border:#fecaca59;--color-success-bg:#16653447;--color-success-text:#86efac;--color-success-border:#86efac59;--color-warning-bg:#92400e47;--color-warning-text:#fcd34d;--color-warning-border:#fcd34d59;--color-info-bg:#1e40af47;--color-info-text:#93c5fd;--color-info-border:#93c5fd59;--color-neutral-bg:#33415573;--color-neutral-text:#cbd5e1;--color-neutral-border:#cbd5e159}:root.theme-dark{--bg:#000;--bg-page:#000;--surface:#0a0a0a;--surface-2:#141414;--border:#2d2d2d;--border-strong:#333;--text:#fff;--text-secondary:#ddd;--muted:#999;--emphasis:#fff;--shadow-card:0 5px 20px #000000f2;--shadow-popover:0 8px 28px #000000bf;--chart-grid:#ffffff1a;--danger-bg:#991b1b40;--danger-text:#fecaca;--danger-border:#fecaca59;--color-success-bg:#16653447;--color-success-text:#86efac;--color-success-border:#86efac59;--color-warning-bg:#92400e47;--color-warning-text:#fcd34d;--color-warning-border:#fcd34d59;--color-info-bg:#1e40af47;--color-info-text:#93c5fd;--color-info-border:#93c5fd59;--color-neutral-bg:#33415573;--color-neutral-text:#cbd5e1;--color-neutral-border:#cbd5e159}.ui-control{width:100%;height:var(--control-height);min-height:var(--control-height);padding:var(--control-pad-y) var(--control-pad-x);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;box-sizing:border-box;font-size:1rem}.ui-control:focus,.ui-control:focus-visible,.ui-control[data-state=open]{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.ui-control:disabled,.ui-control[data-disabled]{opacity:.55;cursor:not-allowed}.ui-control--mini{height:var(--control-height-mini);min-height:var(--control-height-mini);padding:.35rem .65rem;font-size:.9rem}.ui-control--compact{height:36px;min-height:36px;box-shadow:none;background:0 0;border:none;width:auto;padding:4px 6px;font-size:.85rem}.ui-control--compact:focus,.ui-control--compact:focus-visible,.ui-control--compact[data-state=open]{box-shadow:none;border:none}.ui-label{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:.9rem;font-weight:600;display:block}.ui-textarea{resize:vertical;height:auto;min-height:6.5rem;line-height:1.45}.ui-file{width:100%;min-height:var(--control-height);border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--text);box-sizing:border-box;padding:.85rem 1rem;font-size:.95rem}.ui-file:focus,.ui-file:focus-visible{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;box-sizing:border-box;background:0 0;border:none;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s,opacity .15s,border-color .15s;display:inline-flex}.ui-btn svg{flex-shrink:0;display:block}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled,.ui-btn[data-disabled]{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--brand);color:var(--on-brand)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-dark)}.ui-btn--ghost{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border)}.ui-btn--ghost:hover:not(:disabled){border-color:var(--brand);color:var(--text)}.ui-btn--secondary{background:var(--surface-2);color:var(--text);border:2px solid var(--border-strong)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--text-secondary);background:var(--border)}.ui-btn--danger{background:var(--danger-bg);color:var(--danger-text);border:2px solid var(--danger-border)}.ui-btn--danger:hover:not(:disabled){filter:brightness(.97)}.ui-btn--mini{min-height:var(--control-height-mini);padding:0 var(--space-3);font-size:.9rem}.ui-btn--block{width:100%}.ui-select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;display:inline-flex}.ui-select-trigger .ui-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select-trigger .ui-select-icon{opacity:.65;flex-shrink:0}[data-reka-popper-content-wrapper]{z-index:var(--z-popover)!important;pointer-events:auto!important}.ui-select-content{z-index:var(--z-popover);pointer-events:auto;min-width:var(--reka-select-trigger-width);max-height:min(320px, var(--reka-select-content-available-height,60vh));border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-popover);padding:var(--space-1);overflow:hidden}.ui-select-viewport{max-height:min(300px,55vh);padding:var(--space-1)}.ui-select-item{align-items:center;gap:var(--space-2);border-radius:calc(var(--radius) - 4px);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;outline:none;padding:.65rem .85rem;font-size:.95rem;display:flex}.ui-select-item[data-highlighted]{background:var(--surface-2)}.ui-select-item[data-state=checked]{color:var(--brand);font-weight:600}.ui-select-item[data-disabled]{opacity:.45;pointer-events:none}.ui-select-indicator{justify-content:center;width:1rem;display:inline-flex}.ui-checkbox{box-sizing:border-box;border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;width:1.35rem;height:1.35rem;color:var(--on-brand);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-checkbox[data-state=checked],.ui-checkbox[data-state=indeterminate]{background:var(--brand);border-color:var(--brand)}.ui-checkbox[data-disabled]{opacity:.55;cursor:not-allowed}.ui-checkbox:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-checkbox-indicator{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ui-checkbox-indicator svg{flex-shrink:0;width:.85rem;max-width:none;height:.85rem;display:block}.ui-checkbox-row{align-items:center;gap:var(--space-2);min-height:var(--control-height-mini);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;display:flex}.ui-checkbox-row[data-disabled]{cursor:not-allowed}.ui-checkbox-row:has(.ui-checkbox[data-disabled]){cursor:not-allowed}.ui-checkbox-row .ui-checkbox-label{color:var(--text);font-size:.95rem;font-weight:500;line-height:1.35}.ui-switch{background:var(--border-strong);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:46px;height:24px;padding:0;transition:background .15s;position:relative}.ui-switch[data-state=checked]{background:var(--brand)}.ui-switch:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-switch-thumb{background:var(--on-brand);border-radius:50%;width:18px;height:18px;transition:transform .15s;display:block;transform:translate(3px);box-shadow:0 1px 3px #0003}.ui-switch[data-state=checked] .ui-switch-thumb{transform:translate(25px)}.ui-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:1.5rem;display:flex;position:relative}.ui-slider-track{background:var(--border);border-radius:999px;flex-grow:1;height:6px;position:relative}.ui-slider-range{background:var(--brand);border-radius:999px;height:100%;position:absolute}.ui-slider-thumb{background:var(--brand);border:2px solid var(--on-brand);cursor:pointer;border-radius:50%;width:20px;height:20px;display:block;box-shadow:0 1px 4px #00000040}.ui-slider-thumb:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-currency{width:100%;height:var(--control-height);min-height:var(--control-height);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);box-sizing:border-box;align-items:stretch;display:flex;overflow:hidden}.ui-currency:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.ui-currency-prefix{color:var(--text-secondary);background:var(--surface-2);border-right:1px solid var(--border);flex-shrink:0;align-items:center;padding:0 .65rem 0 1rem;font-size:1.05rem;font-weight:700;display:flex}.ui-currency .ui-control{min-width:0;height:100%;min-height:0;box-shadow:none;border:none;border-radius:0;flex:1;padding-top:0;padding-bottom:0}.ui-currency .ui-control:focus,.ui-currency .ui-control:focus-visible{box-shadow:none}.ui-date-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;text-align:left;display:inline-flex}.ui-date-trigger .ui-date-placeholder{color:var(--muted)}.ui-popover-content{z-index:var(--z-popover);pointer-events:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-popover);padding:var(--space-3);min-width:280px}.ui-calendar{width:100%}.ui-calendar-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.ui-calendar-heading{color:var(--text);font-size:.95rem;font-weight:700}.ui-calendar-nav{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;width:2rem;height:2rem;color:var(--text);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.ui-calendar-nav:hover{border-color:var(--brand)}.ui-calendar-grid{border-collapse:collapse;width:100%}.ui-calendar-head-cell{color:var(--muted);text-align:center;padding:.35rem;font-size:.75rem;font-weight:600}.ui-calendar-cell{text-align:center;padding:.15rem}.ui-calendar-day{width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:10px;font-size:.9rem}.ui-calendar-day:hover{background:var(--surface-2)}.ui-calendar-day[data-selected]{background:var(--brand);color:var(--on-brand)}.ui-calendar-day[data-today]:not([data-selected]){box-shadow:inset 0 0 0 1px var(--brand)}.ui-calendar-day[data-outside-view],.ui-calendar-day[data-disabled]{opacity:.35}.ui-time-field{align-items:center;gap:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-variant-numeric:tabular-nums;display:flex}.ui-time-segment{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;text-align:center;border-radius:8px;min-width:2rem;padding:.35rem .45rem}.ui-time-segment[data-placeholder]{color:var(--muted)}.ui-time-literal{color:var(--muted);font-weight:600}.ui-dialog-overlay{z-index:var(--z-dialog);background:#11111159;position:fixed;inset:0}.ui-dialog-overlay--alert{z-index:var(--z-alert)}.ui-dialog-content{z-index:calc(var(--z-dialog) + 1);pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);width:min(560px,100vw - 2rem);height:fit-content;max-height:min(94vh,980px);box-shadow:var(--shadow-popover);color:var(--text);flex-direction:column;margin:auto;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.ui-dialog-content--form{width:min(860px,100vw - 2rem);min-height:min(clamp(320px,68vh,760px),100vh - 3.5rem)}.ui-dialog-content--wide{width:min(1040px,100vw - 2rem);min-height:min(clamp(320px,68vh,760px),100vh - 3.5rem)}.ui-dialog-content--alert{z-index:calc(var(--z-alert) + 1);width:min(440px,100vw - 2rem);min-height:0;max-height:min(90vh,640px)}.ui-dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0;padding:1.1rem 1.35rem 1rem;display:flex}.ui-dialog-title{text-align:left;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.ui-dialog-description{margin:0 0 var(--space-4);color:var(--text-secondary);text-align:left;white-space:pre-wrap;padding:0;font-size:1rem;font-weight:400;line-height:1.55}.ui-dialog-description:last-child{margin-bottom:0}.ui-alert-list{color:var(--text-secondary);text-align:left;margin:0;padding:0 0 0 1.35rem;font-size:1rem;font-weight:400;line-height:1.55;list-style:outside}.ui-alert-list li+li{margin-top:.2rem}.ui-dialog-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.15rem .35rem;font-size:1.5rem;line-height:1}.ui-dialog-close:hover{color:var(--text)}.ui-dialog-body{text-align:left;flex:auto;min-height:0;padding:1.15rem 1.35rem 1.25rem;overflow-y:auto}.ui-dialog-content--alert .ui-dialog-body{padding:1rem 1.35rem 1.15rem}.ui-dialog-content--no-body .ui-dialog-header{border-bottom:none;padding-bottom:.25rem}.ui-dialog-footer{gap:var(--space-3);border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;padding:1rem 1.35rem 1.25rem;display:flex}.ui-dialog-content--no-body .ui-dialog-footer{border-top:none;padding-top:.85rem}.ui-alert-content{width:min(440px,100vw - 2rem);padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.ui-alert-title{margin:0;font-size:1.2rem;font-weight:700}.ui-alert-desc{color:var(--text-secondary);text-align:left;white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.55}.ui-alert-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ui-toast-viewport{top:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);outline:none;flex-direction:column;width:min(420px,100vw - 2rem);margin:0;padding:0;list-style:none;display:flex;position:fixed;left:50%;transform:translate(-50%)}.ui-toast{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-popover);color:var(--text);padding:.9rem 1.1rem;display:flex}.ui-toast--success{border-color:var(--color-success-border)}.ui-toast--error{border-color:var(--danger-border)}.ui-toast-title{flex:auto;min-width:0;font-size:.95rem;font-weight:600;line-height:1.4}.ui-toast-close{flex:none;align-self:center;margin-left:auto}.ui-number{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);align-items:stretch;width:100%;display:inline-flex;overflow:hidden}.ui-number:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.ui-number-btn{background:var(--surface-2);min-width:2.75rem;color:var(--text);cursor:pointer;font:inherit;border:none;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;display:inline-flex}.ui-number-btn:hover:not(:disabled){background:var(--border)}.ui-number-btn:disabled{opacity:.45;cursor:not-allowed}.ui-number-input{text-align:center;min-width:0;font:inherit;color:var(--text);min-height:var(--control-height);padding:0 var(--space-2);background:0 0;border:none;flex:1}.ui-number-input:focus{outline:none}.ui-tooltip-content{z-index:var(--z-popover);background:var(--emphasis);max-width:260px;color:var(--surface);box-shadow:var(--shadow-popover);border-radius:8px;padding:.45rem .7rem;font-size:.8rem;line-height:1.35}.filter-group .ui-control,.date-input-group .ui-control,.filter-group .ui-date-trigger,.date-input-group .ui-date-trigger{width:125px;min-height:36px;box-shadow:none;background:0 0;border:none;padding:4px 6px;font-size:.85rem}.filter-group .ui-control:focus,.date-input-group .ui-control:focus,.filter-group .ui-date-trigger:focus,.date-input-group .ui-date-trigger:focus,.filter-group .ui-date-trigger[data-state=open],.date-input-group .ui-date-trigger[data-state=open]{box-shadow:none;border:none}@media (width<=1200px){.filter-group .ui-control,.date-input-group .ui-control,.filter-group .ui-date-trigger,.date-input-group .ui-date-trigger{width:45%}}.ta-center>.ui-btn+.ui-btn,.ta-center>.ui-btn+a,.ta-center>a+.ui-btn,.ta-center>a+a,.ta-center>.ui-btn+.tooltip-trigger-wrap,.ta-center>.tooltip-trigger-wrap+.ui-btn,.ta-center>.tooltip-trigger-wrap+.tooltip-trigger-wrap,.ta-center>a+.tooltip-trigger-wrap,.ta-center>.tooltip-trigger-wrap+a{margin-left:var(--space-2)}.tooltip-trigger-wrap{vertical-align:middle;display:inline-flex}html{font-size:calc(100% * var(--font-scale,1));transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;word-wrap:break-word;margin:0;font-family:IBM Plex Serif,Georgia,serif;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}#app{min-height:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.form-stack{gap:var(--form-gap);flex-direction:column;min-width:0;max-width:100%;display:flex}.form-section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-width:0;max-width:100%;padding:1.35rem 1.5rem 1.5rem}.form-section-title{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 1.2rem;padding-bottom:.75rem;font-size:1.05rem;font-weight:700}.field-block{margin-bottom:1.2rem}.field-block:last-child{margin-bottom:0}.modal-form{width:min(860px,100%);max-height:min(94vh,980px)}.modal-form-wide{width:min(1040px,100%);max-height:min(94vh,980px)}.form-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.form-page{flex-direction:column;min-width:0;max-width:100%;min-height:100%;display:flex}.form-page-head{margin-bottom:1.5rem}.form-page-head-row{align-items:flex-start;gap:.5rem;display:flex}.form-page-back{box-sizing:border-box;width:var(--control-height-mini);height:var(--control-height-mini);min-width:var(--control-height-mini);min-height:var(--control-height-mini);flex-shrink:0;padding:0}.form-page-back svg{width:18px;max-width:none;height:18px}.form-page-titles{flex:1;min-width:0}.form-page-titles .page-title{min-height:var(--control-height-mini);align-items:center;margin-bottom:.15rem;display:flex}.form-page-titles .page-desc{margin-top:.15rem;margin-bottom:0}.form-page-body{flex:auto;min-width:0}.form-page-fields{border:0;min-width:0;margin:0;padding:0}.form-page-fields:disabled{opacity:1}html[data-tenant-read-only] .view-container .ui-btn--primary:not([data-allow-readonly]),html[data-tenant-read-only] .view-container .ui-btn--danger:not([data-allow-readonly]),html[data-tenant-read-only] .view-container .ui-btn--secondary:not([data-allow-readonly]){pointer-events:none;opacity:.55}.form-page-footer{z-index:5;margin-top:1.5rem;margin-left:calc(-1 * var(--main-pad-x,1.35rem));margin-right:calc(-1 * var(--main-pad-x,1.35rem));padding:.85rem var(--main-pad-x,1.35rem) calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg-page);box-shadow:0 -10px 18px -6px var(--bg-page);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex;position:sticky;bottom:0}.entity-form-layout{gap:var(--form-gap);grid-template-columns:minmax(0,1fr);grid-template-areas:"main""image";align-items:start;min-width:0;max-width:100%;display:grid}.entity-form-main{grid-area:main;min-width:0}.entity-form-image{grid-area:image;min-width:0}.entity-form-image .form-section{margin:0}.entity-form-image .field-block:last-of-type,.entity-image-frame{margin-bottom:1.2rem}.entity-image-btn{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.entity-image-preview{aspect-ratio:1;object-fit:cover;object-position:center;border-radius:calc(var(--radius) - 4px);width:100%;height:auto;display:block}img.pswp__img--placeholder{display:none}.entity-image-placeholder{aspect-ratio:1;border:2px dashed var(--border);border-radius:calc(var(--radius) - 4px);width:100%;color:var(--muted);background:var(--surface);justify-content:center;align-items:center;font-size:.9rem;display:flex}.form-section-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.2rem;padding-bottom:.75rem;display:flex}.form-section-head .form-section-title{border:0;flex:1;min-width:0;margin:0;padding:0}.form-section-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.fields-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.85rem 1rem;margin-bottom:1.2rem;display:grid}.fields-row--3{grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr) minmax(0,1fr)}.fields-row .field-block{min-width:0;margin-bottom:0}.fields-row:last-child{margin-bottom:0}.fields-row--top{align-items:start}@media (width<=1200px){.fields-row,.fields-row--3{grid-template-columns:minmax(0,1fr);align-items:stretch}}@media (width>=1201px){.entity-form-layout{grid-template-columns:minmax(0,1fr) 17.5rem;grid-template-areas:"main image"}.entity-form-image{z-index:1;align-self:start;position:sticky;top:0}}@keyframes form-page-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.form-page{animation:.18s form-page-in}@media (prefers-reduced-motion:reduce){.form-page{animation:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-card);min-width:0;max-width:100%;padding:1.35rem}.load-card{justify-content:center;align-items:center;min-height:120px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;overflow-x:auto}table.data{border-collapse:collapse;width:max-content;min-width:100%;font-size:.95rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:.9rem .75rem}table.data th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);z-index:2;font-size:.78rem;font-weight:600;position:sticky;top:0}table.data td.col-id{color:var(--text);font-weight:500}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr.data-empty:hover{background:0 0}table.data tbody tr.data-empty td{text-align:center;color:var(--muted);padding:1.35rem 1rem;font-size:.95rem}.table-empty{flex-direction:column;align-items:center;gap:.65rem;padding:.5rem 0;display:flex}.table-empty-icon{color:var(--muted)}.table-empty-msg{color:var(--muted);margin:0}.table-skeleton-row td{vertical-align:middle}.table-skeleton-bar{background:var(--border);border-radius:4px;height:.7rem;animation:1.2s ease-in-out infinite table-skeleton;display:block}@keyframes table-skeleton{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.table-skeleton-bar{animation:none}}.page-title{color:var(--text);margin:0 0 .35rem;font-size:1.5rem;font-weight:700;line-height:1.25}.page-desc{color:var(--muted);word-break:normal;overflow-wrap:normal;max-width:100%;margin:0 0 1rem;line-height:1.55}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.page-head-actions{flex-wrap:wrap;gap:.5rem;display:flex}.th-sort{font:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .2s}.th-sort:hover{opacity:.7}.th-sort:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}[role=dialog]:focus{outline:none}.section-title{color:var(--text);margin:1.5rem 0 .85rem;font-size:1.15rem;font-weight:700;line-height:1.3}.section-title:first-child{margin-top:0}.modal-title{color:var(--text);font-size:1.25rem;font-weight:700;line-height:1.3}.badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .65rem;font-size:.75rem;font-weight:700;line-height:1.3;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-primary{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-ghost{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border)}.badge-secondary{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.status-pill{border:1px solid #0000;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:700;line-height:1.3;display:inline-flex}.status-ok,.status-active{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.status-wait{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.status-reversed{background:var(--color-neutral-bg);color:var(--color-neutral-text);border-color:var(--color-neutral-border)}.stock-ok{background:var(--color-success-bg);color:var(--color-success-text)}.stock-bad{background:var(--color-danger-bg);color:var(--color-danger-text)}.muted,.text-muted{color:var(--muted)}.text-success{color:var(--color-success-text)}.text-danger{color:var(--color-danger-text)}.warn-banner{border-radius:var(--radius);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text);margin:0 0 1rem;padding:.85rem 1rem;font-size:.9rem}.amount-list{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.amount-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.amount-row dt{color:var(--muted);margin:0;font-size:.95rem;font-weight:400}.amount-row dd{color:var(--text);font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap;margin:0;font-size:.95rem;font-weight:400}.amount-row-emphasis{padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:.15rem}.amount-row-emphasis dt{color:var(--text);font-size:1rem;font-weight:600}.amount-row-emphasis dd{font-size:1.05rem;font-weight:700}.hint{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.form-section .hint{margin-top:.35rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.table-tools{background:var(--surface-2);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.form-section .table-tools{background:0 0;border-radius:0;margin-bottom:.75rem;padding:0}.tool-group{align-items:center;gap:.75rem;min-width:0;display:flex}.table-tools>.tool-group:has(>.ui-control:first-child:not(.ui-control--mini):not(.ui-control--compact)){flex:12rem}.tool-group>.ui-control:not(.ui-control--mini):not(.ui-control--compact){flex:auto;width:100%;min-width:0}.filter-group,.date-input-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;gap:.25rem;padding:0 6px;flex-flow:row!important;align-items:center!important;display:inline-flex!important}.filter-group .range-sep,.date-input-group .date-sep{color:var(--muted);opacity:.5;flex-shrink:0;font-size:.85rem;font-weight:600}@media (width<=1200px){.table-tools{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.75rem;padding:.5rem .65rem}.form-section .table-tools{margin-bottom:.5rem;padding:0}.table-tools>.tool-group:has(>.ui-control:first-child:not(.ui-control--mini):not(.ui-control--compact)){flex:none;width:100%}.tool-group{flex-wrap:nowrap;justify-content:flex-start;gap:.5rem}.filter-group,.date-input-group{flex:1;justify-content:space-between;width:100%}}table.data .num,.num{text-align:right;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}.nowrap{white-space:nowrap}table.data th.ta-center,table.data td.ta-center{text-align:center}table.data th.num,table.data td.num,table.data th.ta-right,table.data td.ta-right{text-align:right}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}table.data th.ta-left,table.data td.ta-left{text-align:left}
