@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{border-width:0}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.uppercase{text-transform:uppercase}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--lh-tight:1.2;--lh-normal:1.45;--radius-sm:6px;--radius:10px;--radius-lg:14px;--sidebar-w:248px;--topbar-h:56px;--table-green:#87c7ab;--table-red:#f56a6c;--inst-amber:#efad52;--inst-blue:#567bcd;--font-sans:"Inter Variable",Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;--dur:160ms;--ease:cubic-bezier(0.4,0,0.2,1)}:root,[data-theme=light]{color-scheme:light;--bg:#d6e5e5;--panel:#ffffff;--panel-alt:#f3f7f7;--panel-hover:#eaf6f6;--sidebar:#ffffff;--sidebar-text:#6d727e;--sidebar-text-strong:#2d3038;--sidebar-hover:#eaf6f6;--sidebar-line:#d6e5e5;--topbar:#ffffff;--text:#2d3038;--text-muted:#6d727e;--text-faint:#888796;--line:#d6e5e5;--line-strong:#bcd7d7;--brand:#009191;--brand-600:#005e5e;--brand-300:#a5d8d8;--brand-ink:#005e5e;--app-selected:#a5d8d8;--app-selected-text:#2d3038;--context-selected:#005e5e;--context-selected-text:#ffffff;--badge:#ec0000;--badge-text:#ffffff;--ok:#00842c;--danger:#ec0000;--warn:#ff9292;--warn-text:#2d3038;--licence-note:#ec0000;--inst-amber-ink:#8a5a14;--inst-blue-ink:#2f4f9a;--backdrop:rgba(178,191,191,0.7);--accent-soft:#daf0f0;--on-accent-soft:#005e5e;--field-readonly:#e9f1f1;--pin-shadow:-12px 0 12px -12px rgba(39,89,89,0.45);--shadow-sm:0 2px 2px rgba(39,89,89,0.05);--shadow:0 4px 6px rgba(39,89,89,0.03),0 2px 2px rgba(39,89,89,0.05);--shadow-lg:0 10px 28px rgba(39,89,89,0.14),0 2px 4px rgba(39,89,89,0.06);--track:#eff5f5}[data-theme=dark]{color-scheme:dark;--bg:#26293b;--panel:#15182d;--panel-alt:#1d2033;--panel-hover:#26293b;--sidebar:#15182d;--sidebar-text:#d8dbea;--sidebar-text-strong:#f6f6f6;--sidebar-hover:#26293b;--sidebar-line:#26293b;--topbar:#15182d;--text:#f6f6f6;--text-muted:#d8dbea;--text-faint:#989db8;--line:#26293b;--line-strong:#50546d;--brand:#5847f5;--brand-600:#4d40d5;--brand-300:#908cff;--brand-ink:#908cff;--app-selected:#4d40d5;--app-selected-text:#f6f6f6;--context-selected:#908cff;--context-selected-text:#15182d;--badge:#f9fbfb;--badge-text:#15182d;--ok:#00ff37;--danger:#ff3c3c;--warn:#a4003c;--warn-text:#f6f6f6;--licence-note:#f56a6c;--inst-amber-ink:#efad52;--inst-blue-ink:#8aa6ea;--backdrop:rgba(21,24,45,0.85);--accent-soft:#4a2f79;--on-accent-soft:#f6f6f6;--field-readonly:#26293b;--pin-shadow:-12px 0 12px -12px rgba(0,0,0,0.7);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow:0 2px 10px rgba(0,0,0,0.4);--shadow-lg:0 10px 34px rgba(0,0,0,0.55);--track:#26293b}body,html{margin:0;padding:0;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--text);white-space:nowrap}.brand-mark{color:#005de4;flex:none}[data-theme=dark] .brand-mark{color:#ffffff}.brand-sep{width:1px;align-self:stretch;background:currentColor;opacity:.85}.brand-name{font-weight:300;letter-spacing:.01em;line-height:1}.shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-areas:"side top" "side main"}.topbar{grid-area:top;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--topbar);border-bottom:1px solid var(--line)}.topbar-title{font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{flex:1}.topbar-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;font-size:var(--fs-sm)}.topbar-user small{color:var(--text-muted)}@media (max-width:640px){.topbar-user{display:none}}.sidebar{grid-area:side;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--sidebar-line);z-index:40}.sidebar-head{height:var(--topbar-h);flex:none;display:flex;align-items:center;padding:0 var(--sp-4);border-bottom:1px solid var(--sidebar-line)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-2) var(--sp-6)}.nav-group+.nav-group{margin-top:var(--sp-2)}.nav-group-title{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border:0;background:none;color:var(--sidebar-text);font:inherit;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm)}.nav-group-title:hover{color:var(--sidebar-text-strong)}.nav-group-title svg{margin-left:auto;transition:transform var(--dur) var(--ease)}.nav-group[data-open=false] .nav-group-title svg{transform:rotate(-90deg)}.nav-group[data-open=false] .nav-items{display:none}.nav-link{display:flex;align-items:center;gap:var(--sp-3);min-height:38px;padding:0 var(--sp-3);border-radius:var(--radius-sm);color:var(--sidebar-text-strong);font-weight:500;text-decoration:none}.nav-link:hover{background:var(--sidebar-hover);text-decoration:none}.nav-link.is-active{background:var(--app-selected);color:var(--app-selected-text)}.nav-link svg{flex:none;color:var(--sidebar-text)}.nav-link.is-active svg{color:inherit}.main{grid-area:main;min-width:0;padding:var(--sp-5) var(--sp-6) var(--sp-8)}.icon-btn.menu-toggle,.sidebar-backdrop{display:none}@media (max-width:1023px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main"}.icon-btn.menu-toggle{display:inline-flex}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,300px);transform:translateX(-100%);transition:transform var(--dur) var(--ease);box-shadow:var(--shadow-lg)}.shell[data-drawer=open] .sidebar{transform:none}.shell[data-drawer=open] .sidebar-backdrop{display:block;position:fixed;inset:0;background:var(--backdrop);z-index:35}.main{padding:var(--sp-4) var(--sp-3) var(--sp-8)}}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.page-head-text{flex:1 1 280px;min-width:0}.page-title{margin:0;font-size:var(--fs-xl);font-weight:600;line-height:var(--lh-tight)}.page-sub{margin:4px 0 0;color:var(--text-muted)}.page-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.page-head.dense{margin-bottom:var(--sp-2)}.page-head.dense .breadcrumbs{margin-bottom:0}.page-head.dense .page-title{font-size:var(--fs-lg)}.page-head.dense .page-sub{margin-top:0;font-size:var(--fs-sm)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;color:var(--text-muted);font-size:var(--fs-sm)}.card{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:var(--sp-4)}.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-strong);background:var(--accent-soft);color:var(--on-accent-soft)}.card>.card-head:first-child{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}details.card:not([open])>summary.card-head{border-bottom:0;border-radius:calc(var(--radius) - 1px)}.card-head .cell-sub,.card-head .field-hint,.card-title{color:var(--on-accent-soft)}.card-title{margin:0;font-size:var(--fs-md);font-weight:600}.card-head .spacer{flex:1}.card.card-pad:has(.field){background:var(--panel-alt)}.group-title{margin:calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4)) var(--sp-4);padding:10px var(--sp-4);border-bottom:1px solid var(--line-strong);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:var(--accent-soft);color:var(--on-accent-soft);font-size:var(--fs-md);font-weight:600}.stack>*+*{margin-top:var(--sp-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-4);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--panel-hover)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-danger{color:var(--danger);border-color:currentColor}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.icon-btn:hover{background:var(--panel-hover);color:var(--text)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-3) var(--sp-4)}.form-grid>*{grid-row:span 3}.form-grid>.field{display:grid;grid-template-rows:subgrid;row-gap:4px}.form-grid>.field>:first-child{align-self:end}.form-grid>.field>:nth-child(2){align-self:start}.form-grid>.field>.check:first-child{grid-row:2;align-self:center}.form-grid>.field>.check:first-child~*{grid-row:3}.form-grid .span-2{grid-column:span 2}.form-grid .span-3{grid-column:span 3}.form-grid .span-4{grid-column:span 4}.form-rule{margin:var(--sp-3) 0;border:0;border-top:1px solid var(--line-strong)}.form-grid .span-all{grid-column:1/-1}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 12px}.form-grid.cols-6 .input,.form-grid.cols-6 .select{min-height:32px;padding:3px 8px}.form-grid.cols-6 .textarea{min-height:56px;padding:4px 8px}.form-grid.cols-6 .field-label{font-size:var(--fs-xs)}.form-section{margin:0 0 var(--sp-2);padding-bottom:4px;border-bottom:1px solid var(--line-strong);color:var(--on-accent-soft);font-size:var(--fs-sm);font-weight:600}.form-section:not(:first-child){margin-top:var(--sp-4)}@media (max-width:1250px){.form-grid.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.form-grid.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-6 .span-3,.form-grid.cols-6 .span-4{grid-column:1/-1}}@media (max-width:560px){.form-grid.cols-3,.form-grid.cols-4,.form-grid.cols-6{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:1/-1}}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-muted)}.field-label .req{color:var(--danger);margin-left:2px}.field-hint{font-size:var(--fs-xs);color:var(--text-faint)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:max(16px,var(--fs-base))}@media (min-width:768px){.input,.select,.textarea{font-size:var(--fs-base)}}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.input:disabled,.input[readonly],.select:disabled,.textarea:disabled,.textarea[readonly]{background:var(--field-readonly)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.textarea{min-height:84px;resize:vertical}.check{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:38px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--brand)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.toolbar .spacer{flex:1}.search{position:relative;flex:1 1 260px;max-width:520px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.search .input{padding-left:34px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0}.table td,.table th{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.table th{vertical-align:bottom;background:var(--panel-alt);border-bottom-color:var(--line-strong);color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table tbody tr:hover>td{background:var(--panel-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .nowrap{white-space:nowrap}.text-danger{color:var(--danger)}.table .actions{width:1%;white-space:nowrap;text-align:right}@media (min-width:768px){.table td{white-space:nowrap}.table td.primary:not(.nowrap),.table td.wrap{white-space:normal;min-width:9rem}.table td.actions,.table th.actions{position:sticky;right:0;z-index:1;background:var(--panel)}.table th.actions{background:var(--panel-alt)}.table tbody tr:hover>td.actions{background:var(--panel-hover)}.table-wrap[data-covered] .table td.actions,.table-wrap[data-covered] .table th.actions{box-shadow:inset 1px 0 0 var(--line-strong),var(--pin-shadow)}.table td.wrap.empty-cell{min-width:0}}.table .icon-btn{width:32px;height:32px}.table .icon-btn:focus-visible,.table .icon-btn:hover{background:var(--accent-soft);color:var(--on-accent-soft)}.row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:2px}.row-action{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:46px;height:44px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--brand-ink);font:inherit;font-size:var(--fs-xs);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.row-action>span{color:var(--text)}.row-action:focus-visible,.row-action:hover{border-color:var(--line-strong);background:var(--accent-soft);text-decoration:none}.row-action:disabled,.row-action[aria-disabled=true]{opacity:.4;cursor:default}.row-action:disabled:hover{border-color:transparent;background:transparent}.row-action.is-blue{color:var(--inst-blue-ink)}.row-action.is-green{color:var(--ok)}.row-action.is-amber{color:var(--inst-amber-ink)}.row-action.is-ink{color:var(--text)}.table.compact .row-action{flex-direction:row;gap:6px;height:28px;padding:0 10px;border-color:var(--line-strong)}.table.compact td{padding-top:4px;padding-bottom:4px}@media (max-width:767px){.row-actions{flex-wrap:wrap;justify-content:flex-start}}.table-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-muted)}.row-link{color:inherit;font-weight:600}.row-detail-body{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-6)}.row-detail-field{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.row-detail-label{flex:none;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.row-detail-value{min-width:0}.row-detail-actions{margin-left:auto}@media (min-width:768px){.table tr.has-detail>td{padding-bottom:2px;border-bottom:0}.table tr.row-detail>td{padding-top:2px;white-space:normal}.table tbody tr.has-detail:has(+tr.row-detail:hover)>td,.table tbody tr.has-detail:hover+tr.row-detail>td{background:var(--panel-hover)}.table.dense th,.table.dense tr:not(.row-slot)>td{padding-left:6px;padding-right:6px}.table.dense th:first-child,.table.dense tr:not(.row-slot)>td:first-child{padding-left:10px}.table.dense th:last-child,.table.dense tr:not(.row-slot)>td:last-child{padding-right:10px}}.table-wrap:has(.row-slot){container-type:inline-size}.table .row-slot>td,.table tbody tr.row-slot:hover>td{padding:0;white-space:normal;background:color-mix(in srgb,var(--brand) 5%,var(--panel));border-bottom-color:var(--line-strong)}.row-slot-body{position:sticky;left:0;box-sizing:border-box;width:100cqw;padding:var(--sp-3) var(--sp-4) var(--sp-2);border-left:3px solid var(--brand)}.cell-sub{display:block;color:var(--text-muted)}.cell-sub,.table.pivot,.table.wide{font-size:var(--fs-sm)}.table.pivot td,.table.pivot th,.table.wide td,.table.wide th{padding:5px 8px;vertical-align:middle}.table.pivot td:first-child,.table.pivot th:first-child,.table.wide td:first-child,.table.wide thead tr:first-child th:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}.table.pivot th:first-child,.table.pivot tr.is-group>td,.table.wide thead tr:first-child th:first-child{background:var(--panel-alt)}.table.pivot tr.is-group>td{font-weight:700}.table.wide .grp{border-left:1px solid var(--line-strong)}.table.pivot tbody tr:hover>td,.table.wide tbody tr:hover>td{background:var(--panel-hover)}.table.wide .cell-sub{font-size:11px}@media (max-width:767px){.table.responsive thead{display:none}.table.responsive,.table.responsive tbody,.table.responsive td,.table.responsive tr{display:block;width:100%}.table.responsive tr{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.table.responsive td{display:flex;gap:var(--sp-3);padding:3px 0;border:0;text-align:left}.table.responsive td:before{content:attr(data-label);flex:0 0 38%;color:var(--text-muted);font-size:var(--fs-sm)}.table.responsive td[data-label=""]:before{display:none}.table.responsive td.primary{font-size:var(--fs-md)}.table.responsive td.primary:before{display:none}.table.responsive .num{text-align:left}.table.responsive td.actions{justify-content:flex-end;width:100%}.table.responsive td.empty-cell{display:none}.table.responsive tr.row-slot{padding:0}.table.responsive tr.row-slot>td{display:block;padding:0}.table.responsive tr.has-detail{padding-bottom:0;border-bottom:0}.table.responsive tr.row-detail{padding-top:0}.row-detail-body,.table.responsive tr.row-detail>td{display:block}.row-detail-field{gap:var(--sp-3);padding:3px 0}.row-detail-label{flex:0 0 38%;font-size:var(--fs-sm);font-weight:400;letter-spacing:0;text-transform:none}.row-detail-value{flex:1}.row-detail-actions{display:flex;justify-content:flex-end;padding-top:var(--sp-2)}}.pager{flex-wrap:wrap;justify-content:space-between;padding:var(--sp-3) var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm)}.pager,.pager-buttons{display:flex;align-items:center;gap:var(--sp-2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;background:var(--track);color:var(--text-muted)}.badge-ok{background:color-mix(in srgb,var(--table-green) 35%,transparent);color:var(--text)}.badge-danger{background:var(--table-red);color:#15182d}.badge-warn{background:color-mix(in srgb,var(--inst-amber) 30%,transparent);color:var(--inst-amber-ink)}.badge-info{background:color-mix(in srgb,var(--inst-blue) 22%,transparent);color:var(--inst-blue-ink)}.tabs{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;scrollbar-width:none;padding:var(--sp-2) var(--sp-3) 0;box-shadow:inset 0 -1px 0 var(--line-strong)}.tab{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius) var(--radius) 0 0;background:var(--panel-alt);color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tab,.tab:hover{text-decoration:none}.tab:hover{background:var(--panel-hover);color:var(--text)}.tab.is-active,.tab[aria-selected=true]{position:relative;z-index:1;border-bottom-color:var(--panel);background:var(--panel);color:var(--text);box-shadow:inset 0 3px 0 var(--brand)}.page-tabs{margin-bottom:var(--sp-4)}.page-tabs .tabs{padding:0}.ws-tabs{position:sticky;top:var(--topbar-h);z-index:25;display:flex;align-items:flex-end;gap:2px;overflow-x:auto;scrollbar-width:thin;margin:calc(-1 * var(--sp-5)) calc(-1 * var(--sp-6)) var(--sp-4);padding:var(--sp-2) var(--sp-6) 0;background:var(--bg);box-shadow:inset 0 -1px 0 var(--line-strong)}@media (max-width:767px){.ws-tabs{margin:calc(-1 * var(--sp-4)) calc(-1 * var(--sp-3)) var(--sp-4);padding-inline:var(--sp-3)}}a.ws-tab{padding:0 12px;line-height:32px;text-decoration:none}.ws-tab{flex:none;display:inline-flex;align-items:center;max-width:340px;min-height:32px;border:1px solid var(--line-strong);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--panel-alt);color:var(--text-muted);font-size:var(--fs-sm);font-weight:500}.ws-tab>a{display:block;padding:0 12px;line-height:32px;color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-tab-link{padding-right:4px!important}.ws-tab:hover{background:var(--panel-hover);color:var(--text)}.ws-tab.is-active{background:var(--panel);color:var(--text);box-shadow:inset 0 3px 0 var(--brand)}.ws-tab-close{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.ws-tab-close:hover{background:var(--line-strong);color:var(--text)}.save-bar{position:sticky;bottom:var(--sp-3);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.save-bar .spacer{flex:1}.save-bar.is-inline{position:static;margin:var(--sp-3) 0 var(--sp-4);padding:0;background:none;box-shadow:none}.form-grid.cols-8{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px 12px}.form-grid.cols-8 .input,.form-grid.cols-8 .select{min-height:28px;padding:2px 8px}.form-grid.cols-8 .field{row-gap:1px}.form-grid.cols-8 .textarea{min-height:48px;padding:3px 8px}.form-grid.cols-8 .field-label{font-size:var(--fs-xs);line-height:1.2}.card.record .form-rule{margin:6px 0}.form-grid .span-5{grid-column:span 5}.form-grid .span-6{grid-column:span 6}.card.record{max-width:1080px;padding:var(--sp-3) var(--sp-4)}@media (max-width:1250px){.form-grid.cols-8{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.cols-8 .span-3,.form-grid.cols-8 .span-4,.form-grid.cols-8 .span-5,.form-grid.cols-8 .span-6{grid-column:span 4}}@media (max-width:800px){.form-grid.cols-8{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-8 .span-3,.form-grid.cols-8 .span-4,.form-grid.cols-8 .span-5,.form-grid.cols-8 .span-6{grid-column:1/-1}}@media (max-width:560px){.form-grid.cols-8{grid-template-columns:minmax(0,1fr)}}.alert{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--panel-alt);border:1px solid var(--line-strong)}.alert-danger{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.alert-ok{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--panel))}.dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:var(--radius-lg);background:var(--panel);color:var(--text);text-align:left;white-space:normal;box-shadow:var(--shadow-lg)}.dialog[open]{display:flex;flex-direction:column}.dialog.wide{width:min(960px,calc(100vw - 24px))}.dialog::backdrop{background:var(--backdrop)}.dialog-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.dialog-head h2{flex:1;margin:0;font-size:var(--fs-md);font-weight:600}.dialog-body{padding:var(--sp-4);overflow-y:auto}.dialog-foot{justify-content:flex-end;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.dialog-foot,.toasts{display:flex;gap:var(--sp-2)}.toasts{position:fixed;inset:auto var(--sp-4) var(--sp-4) auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible;z-index:100;flex-direction:column;max-width:min(420px,calc(100vw - 32px))}.toast{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);border-left:4px solid var(--brand)}.toast-error{border-left-color:var(--danger)}.toast-ok{border-left-color:var(--ok)}.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px var(--sp-4);margin:0}.kv dt{color:var(--text-muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.login{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-4)}.login-card{width:min(400px,100%);padding:var(--sp-8) var(--sp-6)}.login-card .brand-lockup{margin-bottom:var(--sp-6)}.login-foot{font-size:var(--fs-xs);color:var(--text-faint)}.login-foot a{color:inherit;text-decoration:none}.login-foot a:hover{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--track),var(--panel-hover),var(--track));background-size:200% 100%;animation:skeleton 1.2s linear infinite}@keyframes skeleton{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}