:root{--bg:#f1eff3;--surface:#fff;--surface-2:#f5f3f6;--header-bg:#f1eff3db;--fg:#1e1a21;--label:#3b3540;--muted:#716a76;--line:#eae6ec;--line-strong:#d2cbd5;--accent:#d93380;--accent-hover:#c22470;--accent-text:#c22470;--accent-ink:#fff;--accent-soft:#e33a871c;--danger:#c62f2f;--danger-soft:#fcebeb;--warn-soft:#fff2d4;--warn-ink:#8a5a00;--focus:#e33a87;--field-bg:#f5f3f6;--row-hover:#faf8fa;--th-bg:transparent;--toast-bg:#1e1a21;--toast-fg:#fff;--shadow:0 1px 2px #2814280a, 0 10px 30px #2814280d;--shadow-color:#28142829;--scrim:#1e142247;--font-display:"Outfit", "Segoe UI", system-ui, sans-serif;--font-body:"Figtree", "Segoe UI", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, Consolas, monospace;--radius:20px;--radius-sm:12px;--field-radius:12px;--btn-radius:999px;--panel-border:0;--gutter:28px;--sticky-top:96px;--h1-weight:500;--h1-track:-.015em;--rail-w:84px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121014;--surface:#1c191f;--surface-2:#26222a;--header-bg:#121014db;--fg:#f1edf3;--label:#d5ced9;--muted:#a49ca9;--line:#2e2933;--line-strong:#463f4c;--accent:#e0408a;--accent-hover:#ec5a9c;--accent-text:#f27ab2;--accent-ink:#fff;--accent-soft:#ec4c952b;--danger:#f07a7a;--danger-soft:#f0707024;--warn-soft:#ffbe3c26;--warn-ink:#f3c35a;--focus:#f27ab2;--field-bg:#252128;--row-hover:#221e25;--toast-bg:#f1edf3;--toast-fg:#1c191f;--shadow:0 1px 0 #ffffff08 inset;--shadow-color:#0000008c;--scrim:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121014;--surface:#1c191f;--surface-2:#26222a;--header-bg:#121014db;--fg:#f1edf3;--label:#d5ced9;--muted:#a49ca9;--line:#2e2933;--line-strong:#463f4c;--accent:#e0408a;--accent-hover:#ec5a9c;--accent-text:#f27ab2;--accent-ink:#fff;--accent-soft:#ec4c952b;--danger:#f07a7a;--danger-soft:#f0707024;--warn-soft:#ffbe3c26;--warn-ink:#f3c35a;--focus:#f27ab2;--field-bg:#252128;--row-hover:#221e25;--toast-bg:#f1edf3;--toast-fg:#1c191f;--shadow:0 1px 0 #ffffff08 inset;--shadow-color:#0000008c;--scrim:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.5}h1,h2{font-family:var(--font-display);text-wrap:balance;color:var(--fg);margin:0}h1{font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);font-weight:var(--h1-weight,600);letter-spacing:var(--h1-track,-.01em);flex-wrap:wrap;align-items:center;gap:.6rem;line-height:1.2;display:flex}h2{font-size:1rem;font-weight:600}a{color:var(--accent-text)}button,input,select,textarea{font:inherit;color:inherit}.i{flex:none;width:18px;height:18px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.content{width:100%;max-width:var(--content-max,1360px);padding-inline:var(--gutter,16px);min-width:0;margin-inline:auto;padding-block:20px 96px}section[data-screen]{gap:18px;min-width:0;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.page-head>div:first-child{min-width:0}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.crumbs>*+:before{content:"/";color:var(--line-strong);margin-right:6px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent-text)}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.status{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn-ink);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.meta-chip{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.btn{border-radius:var(--btn-radius,var(--radius-sm));cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--btn-shadow,none)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--surface);color:var(--fg);border-color:var(--line)}.btn-ghost:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn-ghost.current{border-color:var(--accent);color:var(--accent-text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--fg);border-color:var(--line)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft);border-color:#0000}.panel{background:var(--surface);border:var(--panel-border,1px solid var(--line));border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 16px;display:flex}.toolbar-title{align-items:baseline;gap:10px;display:flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.search{border:1px solid var(--line);border-radius:var(--field-radius,var(--radius-sm));background:var(--field-bg);max-width:420px;min-height:40px;color:var(--muted);flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{min-width:0;color:var(--fg);background:0 0;border:0;outline:0;flex:1;padding:8px 0}.pager{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.pager-btns{gap:6px;display:flex}.warn{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);margin:12px 16px 0;padding:10px 12px;font-size:13px}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--th-bg,transparent);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-size:11.5px;font-weight:600}.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px}.data tbody tr:last-child td{border-bottom:0}.data tbody tr:hover td{background:var(--row-hover)}.data .num{text-align:right}.data .actions{text-align:right;white-space:nowrap;width:1%}.data .strong{color:var(--fg);font-weight:600}.data .muted{color:var(--muted)}.data .nowrap{white-space:nowrap}.data td small{color:var(--muted);font-size:12px;font-weight:400;display:block}.data tr.empty td{text-align:center;color:var(--muted);padding:32px 16px}.code{font-family:var(--font-mono);background:var(--surface-2);color:var(--fg);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12.5px}.tag{background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.cell-input{text-align:right;border:1px solid var(--line);border-radius:var(--field-radius,var(--radius-sm));background:var(--field-bg);font-variant-numeric:tabular-nums;width:96px;min-height:34px;padding:4px 8px}.cell-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.cell-input.invalid{border-color:var(--danger);background:var(--danger-soft)}@media (width<=640px){.cards-sm thead{display:none}.cards-sm,.cards-sm tbody,.cards-sm tr,.cards-sm td{width:100%;display:block}.cards-sm tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px 16px;display:grid}.cards-sm tbody tr:last-child{border-bottom:0}.cards-sm td{padding:0;text-align:left!important;border:0!important}.cards-sm td:before{content:attr(data-label);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;display:block}.cards-sm td[data-label=Name]{order:-2;grid-column:1/-1;font-size:15px}.cards-sm td[data-label=Name]:before,.cards-sm td[data-label=Action]:before{display:none}.cards-sm td[data-label=Action]{grid-column:1/-1;justify-content:flex-end;gap:6px;width:auto;display:flex}.cards-sm tbody tr:hover td{background:0 0}}@media (width<=1100px){.cards-md thead{display:none}.cards-md,.cards-md tbody,.cards-md tr,.cards-md td{width:100%;display:block}.cards-md tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 14px;padding:14px 16px;display:grid;position:relative}.cards-md tbody tr:last-child{border-bottom:0}.cards-md td{padding:0;text-align:left!important;border:0!important}.cards-md td:before{content:attr(data-label);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.cards-md td[data-label=Supplier]{grid-column:1/-1;padding-right:44px;font-size:15px}.cards-md td[data-label=Supplier]:before,.cards-md td[data-label=Action]:before{display:none}.cards-md td[data-label=Action]{width:auto;position:absolute;top:10px;right:10px}.cards-md .cell-input{text-align:left;width:100%}.cards-md tbody tr:hover td{background:0 0}.cards-md tr.empty{display:block}}.form-section{gap:16px;padding:20px 16px;display:grid}.form-section+.form-section{border-top:1px solid var(--line)}.section-head p{color:var(--muted);max-width:60ch;margin:4px 0 0;font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px 18px;display:grid}.field{align-content:start;gap:6px;min-width:0;display:grid}.field.span-all{grid-column:1/-1}@media (width>=720px){.field.span-2{grid-column:span 2}}.field label{color:var(--label);font-size:13px;font-weight:500}.req{color:var(--accent-text);font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--field-radius,var(--radius-sm));background:var(--field-bg);width:100%;min-height:42px;color:var(--fg);padding:9px 12px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:84px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.field input[readonly]{background:var(--surface-2);color:var(--muted)}.affix{border:1px solid var(--line);border-radius:var(--field-radius,var(--radius-sm));background:var(--field-bg);align-items:stretch;display:flex;overflow:hidden}.affix:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.affix>span{color:var(--muted);background:var(--surface-2);place-items:center;padding:0 10px;font-size:13px;display:grid}.field .affix input{border:0;border-radius:0;box-shadow:none!important}.hint{color:var(--muted);font-size:12px}.err{color:var(--danger);font-size:12px;display:none}.field.has-error .err{display:block}.field.has-error input,.field.has-error select,.field.has-error .affix{border-color:var(--danger)}.form-actions{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;gap:10px;padding:14px 16px;display:flex;position:sticky;bottom:0}@media (width<=640px){.form-actions .btn{flex:1}}.so-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.so-main{gap:18px;min-width:0;display:grid}@media (width>=1240px){.so-layout{grid-template-columns:minmax(0,1fr) 300px}.so-side{top:var(--sticky-top,84px);position:sticky}}.summary{gap:14px;padding:18px;display:grid}.summary dl{gap:10px;margin:0;display:grid}.summary dl>div{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.summary dt{color:var(--muted)}.summary dd{text-align:right;margin:0;font-weight:600}.summary .grand{border-top:1px dashed var(--line-strong);padding-top:12px;font-size:16px}.summary .grand dd{color:var(--accent-text);font-size:18px}.summary-actions{gap:8px;display:grid}@media (width<=1239px){.summary{grid-template-columns:1fr}.so-side{z-index:5;position:sticky;bottom:0}.so-side .summary{border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 24px var(--shadow-color)}.so-side .summary>h2,.so-side .summary>.hint,.so-side .summary dl>div:not(.grand){display:none}.so-side .summary{grid-template-columns:1fr auto;align-items:center;padding:12px 16px}.so-side .summary dl .grand{border:0;flex-direction:column;gap:0;padding:0}.so-side .summary-actions{grid-auto-flow:column}.so-side .summary-actions .btn-ghost{display:none}}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-sm);background:var(--toast-bg);max-width:calc(100% - 32px);color:var(--toast-fg);box-shadow:0 10px 30px var(--shadow-color);opacity:0;z-index:100;padding:12px 18px;font-size:13.5px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}.rail{z-index:40;width:var(--rail-w);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;align-items:stretch;gap:4px;padding:14px 8px;display:flex;position:fixed;top:12px;bottom:12px;left:12px;overflow-y:auto}.rail .mark{place-items:center;padding:4px 0 14px;display:grid}.rail .mark img{width:34px;height:34px}.rail-btn{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;justify-items:center;gap:3px;padding:9px 4px 7px;display:grid}.rail-btn em{letter-spacing:.01em;font-size:11px;font-style:normal;font-weight:600}.rail-btn .i{width:21px;height:21px}.rail-btn:hover{background:var(--surface-2);color:var(--fg)}.rail-item.has-active>.rail-btn{color:var(--accent-text);background:var(--accent-soft)}.rail-btn.active-panel{color:var(--fg);background:var(--surface-2)}.flyout{z-index:45;top:12px;bottom:12px;left:calc(var(--rail-w) + 24px);background:var(--surface);width:268px;box-shadow:0 18px 50px var(--shadow-color);opacity:0;visibility:hidden;border-radius:24px;padding:20px 14px;transition:opacity .18s,transform .18s,visibility .18s;position:fixed;overflow-y:auto;transform:translate(-8px)}.flyout.open{opacity:1;visibility:visible;transform:none}.fly-title{font-family:var(--font-display);margin:0 10px 12px;font-size:20px;font-weight:500}.fly-links{gap:2px;display:grid}.flyout:has(.two-col){width:460px}.fly-links.two-col{grid-template-columns:1fr 1fr}.nav-link{color:var(--label);border-radius:12px;padding:9px 12px;font-size:14px;text-decoration:none;display:block}.nav-link:hover{background:var(--surface-2);color:var(--fg)}.nav-link.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.scrim{display:none}body.panel-open .scrim{z-index:35;background:var(--scrim);display:block;position:fixed;inset:0}.main{margin-left:calc(var(--rail-w) + 12px);min-width:0}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);position:sticky}.topbar-in{max-width:var(--content-max,1360px);padding:14px var(--gutter);align-items:center;gap:14px;margin-inline:auto;display:flex}.topbar img{width:150px;height:auto;display:block}.topbar .search{background:var(--surface);box-shadow:var(--shadow);border:0;border-radius:999px;flex:0 400px;margin-left:auto}.top-right{align-items:center;gap:6px;display:flex}.top-right .icon-btn{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;width:40px;height:40px}.avatar{color:#fff;background:linear-gradient(135deg,#e33a87,#9c6bb0);border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid}.content{padding-block:8px 96px}.page-head h1{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.15rem)}.toolbar{border-bottom:0;padding:18px 20px 6px}.data th{border-bottom:0;padding-top:12px}.data td{border-bottom-color:var(--line)}.data tbody tr td:first-child{border-radius:12px 0 0 12px}.data tbody tr td:last-child{border-radius:0 12px 12px 0}.table-wrap{padding:0 8px 8px}.data td,.data th{padding-inline:14px}.pager{border-top:0;padding:4px 20px 18px}.form-section{padding:24px 22px}.form-section+.form-section{border-top:0;padding-top:4px}.section-head h2{font-family:var(--font-display);font-size:18px;font-weight:500}.field input,.field select,.field textarea,.affix,.search,.cell-input{border-color:#0000}.affix>span{background:0 0}.form-actions{border-top:0;padding:16px 22px 22px}.btn-ghost{background:var(--surface-2);border-color:#0000}.btn-ghost:hover{background:var(--line);border-color:#0000}.meta-chip{box-shadow:var(--shadow);border:0;border-radius:999px}.summary{padding:22px}.code{background:var(--accent-soft);color:var(--accent-text)}@media (width<=1023px){.topbar .search{display:none}.top-right{margin-left:auto}}@media (width<=899px){:root{--gutter:16px;--sticky-top:76px}.rail{width:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px var(--shadow-color);border-radius:22px 22px 0 0;flex-direction:row;gap:2px;inset:auto 0 0;overflow:auto hidden}.rail .mark{display:none}.rail-item{flex:1 0 64px}.rail-btn{padding:7px 2px 5px}.flyout{top:auto;left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom,0px));border-radius:22px;width:auto;max-height:62vh;transform:translateY(12px)}.flyout:has(.two-col){width:auto}.main{margin-left:0}.topbar-in{padding-block:10px}.topbar img{width:124px}.content{padding-bottom:150px}.so-side{bottom:calc(70px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}.form-actions{bottom:calc(70px + env(safe-area-inset-bottom,0px))}}@media (width<=420px){.fly-links.two-col{grid-template-columns:1fr}.bell{display:none}}html,body{margin:0}body,#root{min-height:100vh}.page{gap:18px;min-width:0;display:grid}.page-sub{color:var(--muted);margin:6px 0 0}.placeholder{color:var(--muted);padding:28px 24px}.placeholder p{margin:0}a.rail-btn{text-decoration:none}.rail-btn em{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.brand-link{display:block}.top-right{margin-left:auto}.user-menu{position:relative}button.avatar{cursor:pointer;border:0;padding:0}.user-dropdown{z-index:50;background:var(--surface);min-width:220px;box-shadow:0 18px 50px var(--shadow-color);border-radius:18px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-dropdown-head{border-bottom:1px solid var(--line);gap:2px;margin-bottom:4px;padding:8px 12px 10px;display:grid}.user-dropdown-head span{color:var(--muted);font-size:12.5px}.user-dropdown .nav-link{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;align-items:center;gap:10px;display:flex}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{gap:16px;width:min(100%,400px);padding:32px 28px;display:grid}.login-logo{justify-self:center;width:220px;height:auto;margin-bottom:4px}.login-card h1{font-size:1.6rem}.login-message{margin:0}.login-card .btn{min-height:46px;margin-top:4px}:root{--rail-w:96px}.rail-btn em{letter-spacing:0;font-size:10.5px}@media (width<=899px){.rail-btn em{font-size:10px}.rail-item{flex:1 0 60px}}.rail .mark img{background:#fff;border-radius:10px}@media (width<=380px){.rail{padding-inline:4px}.rail-btn em{font-size:9.5px}}.toolbar-end{align-items:center;gap:10px;margin-left:auto;display:flex}.page-size{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.page-size select{border-radius:var(--field-radius);background:var(--field-bg);min-height:36px;color:var(--fg);border:0;padding:4px 10px}.th-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.th-sort:hover,.th-sort.active{color:var(--fg)}.sort-mark{opacity:.55;font-size:9px}.th-sort.active .sort-mark{opacity:1;color:var(--accent-text)}.data th.num .th-sort{flex-direction:row-reverse}.pager-gap{color:var(--muted);align-self:center;padding:0 4px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=899px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.grid-spacer{display:none}}.field-label{color:var(--label);font-size:13px;font-weight:500}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.92)}.dialog-scrim{z-index:120;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{width:min(100%,420px);box-shadow:0 24px 60px var(--shadow-color);gap:20px;padding:24px;display:grid}.dialog p{margin:0;font-size:15px}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.modal{width:min(100%,720px);max-height:calc(100vh - 32px);box-shadow:0 24px 60px var(--shadow-color);grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:20px 24px 24px;display:grid}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-body{min-height:0;overflow:auto}.modal-body>.panel{box-shadow:none}.combo{position:relative}.combo-btn{border:1px solid var(--line);border-radius:var(--field-radius,var(--radius-sm));background:var(--field-bg);width:100%;min-height:42px;color:var(--fg);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.combo-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combo-btn.placeholder{color:var(--muted)}.combo-btn .i{width:16px;height:16px;color:var(--muted);flex:none}.combo-btn:focus-visible,.combo.open .combo-btn{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.combo-btn.invalid{border-color:var(--danger)}.combo-pop{z-index:60;box-shadow:0 16px 40px var(--shadow-color);padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0}.field .combo-search{min-height:38px}.combo-list{max-height:260px;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.combo-list li{border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;font-size:14px}.combo-list li.active{background:var(--surface-2)}.combo-list li[aria-selected=true]{color:var(--accent);font-weight:600}.combo-list li.combo-msg{color:var(--muted);cursor:default}.accordion{gap:12px;display:grid}.acc-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.acc-title{font-size:inherit;margin:0}.acc-head{width:100%;color:var(--fg);text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.acc-head:hover{background:var(--surface-2)}.acc-head .i{width:18px;height:18px;color:var(--muted);transition:transform .15s}.acc-item.open .acc-head{color:var(--accent)}.acc-item.open .acc-head .i{color:var(--accent);transform:rotate(180deg)}.acc-body{padding:4px 16px 18px}.acc-body>*+*{margin-top:16px}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0;display:grid}.detail-list div{min-width:0}.detail-list dt{color:var(--muted);font-size:13px}.detail-list dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}@media (width<=560px){.detail-list{grid-template-columns:minmax(0,1fr)}}.field .static{min-height:42px;color:var(--fg);align-items:center;font-weight:600;display:flex}p.muted{color:var(--muted);margin:0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:4px;padding:0;font-size:13px;text-decoration:underline}.hint.warn-hint{color:#b45309;font-weight:600}.hint.ok-hint{color:#047857;font-weight:600}.field-btn{align-content:end}.field-btn .btn{justify-self:start}.icon-btn.inline-eye{vertical-align:middle;width:28px;height:28px;margin-left:6px}.doc-preview{place-items:center;min-height:60vh;display:grid}.doc-preview iframe{border:0;width:100%;height:60vh}.doc-preview img{max-width:100%;max-height:60vh}.profile-card{width:min(100%,820px);margin:0 auto;padding:24px}.profile-title{text-align:center;margin:0 0 20px;font-size:16px}.detail-list .span-all{grid-column:1/-1}.inline-add{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.inline-add .field{flex:260px;max-width:420px}.inline-add .btn{margin-top:26px}.data td.check-cell input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.data td.check-cell input[type=checkbox]:disabled{cursor:default}.data th.narrow,.data td.narrow{white-space:nowrap;width:1%;padding-right:28px}.sort-mark{visibility:hidden}.th-sort:hover .sort-mark,.th-sort:focus-visible .sort-mark,.th-sort.active .sort-mark{visibility:visible}.th-sort:not(.active):hover .sort-mark{opacity:.4}[data-sonner-toaster] [data-sonner-toast]{font-family:var(--font-body);box-shadow:0 12px 32px var(--shadow-color);border-left-width:4px;border-radius:14px;font-size:14px}[data-sonner-toaster] [data-sonner-toast][data-type=success]{border-left-color:#1f9d55}[data-sonner-toaster] [data-sonner-toast][data-type=success] [data-icon]{color:#1f9d55}[data-sonner-toaster] [data-sonner-toast][data-type=error]{border-left-color:#d64545}[data-sonner-toaster] [data-sonner-toast][data-type=error] [data-icon]{color:#d64545}[data-sonner-toaster] [data-sonner-toast][data-type=info]{border-left-color:var(--accent)}[data-sonner-toaster] [data-sonner-toast][data-type=info] [data-icon]{color:var(--accent)}.spinner{border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;flex:none;animation:.7s linear infinite spin;display:inline-block}.btn .spinner,.icon-btn .spinner{border-color:currentColor #ffffff59 #ffffff59}.btn-ghost .spinner,.icon-btn .spinner{border-color:var(--line);border-top-color:currentColor}.page-loader{min-height:160px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.login-card .page-loader{box-shadow:none;min-height:100px}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 50%, var(--surface-2) 75%);vertical-align:middle;background-size:200% 100%;border-radius:6px;max-width:100%;height:12px;animation:1.2s ease-in-out infinite shimmer;display:inline-block}.data tbody tr.skeleton-row:hover td{background:0 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s!important}}.rail-skeleton{cursor:default}.rail-skeleton:hover{background:0 0}.filter-bar{gap:12px;padding:18px 20px;display:grid}.filter-actions{justify-content:flex-end;display:flex}
