:root{color-scheme:dark;--radius-card: 16px;--radius-sm: 12px;--radius-pill: 999px;--sidebar-w: 248px;--topbar-h: 60px;--font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: "Cormorant Garamond", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: #08080a;--bg-2: #0d0d10;--surface: #121216;--surface-2: #16161c;--surface-3: #1c1c23;--line: rgba(201, 164, 73, .14);--line-soft: rgba(255, 255, 255, .06);--border: var(--line-soft);--border-strong: rgba(201, 164, 73, .35);--text: #ece8df;--text-2: #a39d90;--text-3: #6d685e;--gold: #c9a449;--gold-hi: #e8cd7c;--gold-dim: rgba(201, 164, 73, .55);--primary: var(--gold);--primary-hover: var(--gold-hi);--primary-soft: rgba(201, 164, 73, .1);--success: #6fae7a;--success-soft: rgba(111, 174, 122, .12);--warning: #d8a24a;--warning-soft: rgba(216, 162, 74, .12);--danger: #cf6f63;--danger-soft: rgba(207, 111, 99, .12);--info: #8fa6c9;--info-soft: rgba(143, 166, 201, .12);--neutral-soft: rgba(163, 157, 144, .12);--shadow-elevated: 0 24px 60px -28px rgba(0, 0, 0, .9);--row-pending: rgba(216, 162, 74, .06);--row-processing: rgba(143, 166, 201, .07);--row-success: rgba(111, 174, 122, .06);--row-danger: rgba(207, 111, 99, .06);--row-locked: rgba(201, 164, 73, .08)}[data-theme=light]{color-scheme:light;--bg: #f6f3ec;--bg-2: #efebe1;--surface: #fffdf8;--surface-2: #f7f3ea;--surface-3: #eee8dc;--line: rgba(160, 125, 40, .25);--line-soft: rgba(40, 30, 10, .08);--border-strong: rgba(160, 125, 40, .5);--text: #1d1a12;--text-2: #5b554a;--text-3: #8a8375;--gold: #a7832d;--gold-hi: #c9a449;--primary-soft: rgba(167, 131, 45, .12);--shadow-elevated: 0 20px 50px rgba(40, 30, 10, .18);--row-pending: rgba(216, 162, 74, .12);--row-processing: rgba(143, 166, 201, .12);--row-success: rgba(111, 174, 122, .12);--row-danger: rgba(207, 111, 99, .1);--row-locked: rgba(201, 164, 73, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:13px;line-height:1.45;color:var(--text);background:radial-gradient(900px 500px at 82% -10%,rgba(201,164,73,.06),transparent 60%),radial-gradient(700px 600px at -5% 110%,rgba(201,164,73,.04),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased}::selection{background:#c9a44947}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600}h1,h2{font-family:var(--serif);letter-spacing:.01em}h1{font-size:26px;font-weight:600}h2{font-size:20px}h3{font-size:14px}code,pre{font-family:var(--mono);font-size:12px}pre{margin:0;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:auto;max-height:360px;white-space:pre-wrap;word-break:break-word}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.shell{display:flex;min-height:100%}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;z-index:20}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border)}.brand-mark{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:-.5px}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-text strong{font-size:14px;font-weight:700}.brand-text span{font-size:11px;color:var(--text-3)}.brand-select{margin-inline-start:auto;background:transparent;border:0;color:var(--text-3);cursor:default;padding:4px}.nav{flex:1;overflow-y:auto;padding:10px 10px 20px}.nav-group{margin-top:14px}.nav-group:first-child{margin-top:4px}.nav-group-title{padding:0 10px 6px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-item.active{background:var(--primary-soft);color:var(--text)}.nav-item.active .ico{color:var(--primary)}.nav-item .ico{width:18px;height:18px;flex:none;color:var(--text-3)}.nav-item .label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-sub{padding-inline-start:18px}.nav-sub .nav-item{padding:6px 10px;font-size:12.5px}.nav-count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.nav-count.muted{background:var(--surface-3);color:var(--text-2)}.sidebar-foot{padding:10px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-3)}.main{flex:1;margin-inline-start:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:15;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-search{flex:1;max-width:460px;position:relative}.topbar-search input{width:100%;padding-inline-start:34px}.topbar-search .ico{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-3)}.topbar-spacer{flex:1}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center;cursor:pointer;color:var(--text-2);position:relative}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.icon-btn.on{color:var(--primary);border-color:var(--primary)}.icon-btn svg{width:17px;height:17px}.profile-btn{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.avatar{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.profile-btn .name{font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-btn .role{color:var(--text-3);font-size:11px}.content{padding:20px;flex:1}.env-strip{background:var(--warning);color:#1a1a1a;font-weight:600;text-align:center;font-size:12px;padding:3px}.update-strip{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 14px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#1a1505;font-weight:600;font-size:13px}.update-strip .btn-primary{background:#1a1505;color:var(--gold-hi);box-shadow:none}.update-strip .btn-primary:hover{background:#2a2208;filter:none}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{display:flex;align-items:baseline;gap:8px}.page-head h1 small{font-size:13px;color:var(--text-3);font-weight:500}.page-head .actions{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}.breadcrumb{color:var(--text-3);font-size:12px;margin-bottom:6px}.breadcrumb a{color:var(--text-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{flex:1;min-width:0}.card-body{padding:16px}.card-foot{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.section-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:18px 0 10px}.section-title:first-child{margin-top:0}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media (max-width: 1100px){.two-col{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:16px}.stat{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:4px}.stat .k{font-size:12px;color:var(--text-3)}.stat .v{font-size:22px;font-weight:700;letter-spacing:-.3px}.stat .sub{font-size:12px;color:var(--text-2)}.stat.accent{border-color:var(--primary)}.stat.link{cursor:pointer}.stat.link:hover{border-color:var(--border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--border-strong);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#06230f}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-xs{height:24px;padding:0 8px;font-size:11.5px}.btn-block{width:100%}.btn-group{display:inline-flex;gap:6px;flex-wrap:wrap}.input,.select,.textarea{width:100%;height:34px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);outline:none}.textarea{height:auto;min-height:84px;padding:8px 10px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2370708a' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-inline-end:28px}[dir=rtl] .select{background-position:left 10px center}.input-sm{height:28px;font-size:12px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--text-2)}.field-label .req{color:var(--danger);margin-inline-start:2px}.field-help{font-size:11.5px;color:var(--text-3)}.field-error{font-size:11.5px;color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}.form-grid .span-all{grid-column:1 / -1}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.inline-range{display:flex;align-items:center;gap:6px}.inline-range .input{min-width:0}.inline-range span{color:var(--text-3)}.input-group{display:flex}.input-group .input{border-start-end-radius:0;border-end-end-radius:0}.input-group .btn{border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.input-addon{display:grid;place-items:center;padding:0 10px;border:1px solid var(--border);border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--radius-sm);border-end-end-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2);font-size:12px;white-space:nowrap}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:36px;height:20px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;transition:background .15s;flex:none}.switch .track:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:14px;height:14px;border-radius:50%;background:var(--text-2);transition:transform .15s,background .15s}.switch input:checked+.track{background:var(--primary);border-color:var(--primary)}.switch input:checked+.track:after{transform:translate(16px);background:#fff}.switch.success input:checked+.track{background:var(--success);border-color:var(--success)}.switch.danger input:checked+.track{background:var(--danger);border-color:var(--danger)}.switch.sm .track{width:30px;height:17px}.switch.sm .track:after{width:11px;height:11px}.switch.sm input:checked+.track:after{transform:translate(13px)}.switch:has(input:disabled){opacity:.5;cursor:not-allowed}.check{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:15px;height:15px;accent-color:var(--primary);margin:0}.check-list{display:flex;flex-wrap:wrap;gap:8px 16px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}.multi-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 10px;max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:6px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font-size:12px;color:var(--text-2)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.on{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:start;vertical-align:top}.table th{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);white-space:nowrap;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table th .sort-ind{margin-inline-start:4px;color:var(--primary)}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:end;font-variant-numeric:tabular-nums}.table td.num strong{white-space:nowrap}.table td.nowrap,.nowrap,.cell-inline>.mono{white-space:nowrap}.table .row-pending{background:var(--row-pending)}.table .row-processing{background:var(--row-processing)}.table .row-success{background:var(--row-success)}.table .row-danger{background:var(--row-danger)}.table .row-locked{background:var(--row-locked)}.table .row-selected td{background:var(--primary-soft)}.table.compact th,.table.compact td{padding:7px 10px}.table tfoot td{font-weight:700;background:var(--surface-2);border-top:2px solid var(--border-strong)}.table-empty{padding:36px;text-align:center;color:var(--text-3)}.table-foot{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border);flex-wrap:wrap}.table-foot .count{color:var(--text-3);font-size:12px}.table-foot .spacer{flex:1}.pager{display:inline-flex;gap:4px}.pager button{min-width:30px;height:30px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer}.pager button.on{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.pager button:disabled{opacity:.4;cursor:default}.cell-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.cell-stack .muted{color:var(--text-3);font-size:12px}.cell-stack .strong{font-weight:600}.cell-inline{display:inline-flex;align-items:center;gap:6px}.loading-bar{height:2px;background:var(--primary);opacity:.8;animation:load 1s infinite linear;background:linear-gradient(90deg,transparent,var(--primary),transparent);background-size:50% 100%}@keyframes load{0%{background-position:-100% 0}to{background-position:200% 0}}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--text-2);border:1px solid transparent}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-outline{background:transparent;border-color:var(--border-strong)}.badge.clickable{cursor:pointer}.badge.clickable:hover{border-color:currentColor}.badge-sm{height:18px;padding:0 6px;font-size:10.5px}.status-stack{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.status-stack .meta{font-size:11px;color:var(--text-3)}.menu-wrap{position:relative;display:inline-block}.menu{position:absolute;inset-inline-end:0;top:calc(100% + 4px);min-width:190px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);padding:4px;z-index:30}.menu.left{inset-inline-end:auto;inset-inline-start:0}.menu button,.menu a{display:flex;width:100%;align-items:center;gap:8px;padding:7px 10px;border:0;background:transparent;color:var(--text);text-align:start;border-radius:6px;cursor:pointer;font-size:12.5px}.menu button:hover,.menu a:hover{background:var(--surface-2);text-decoration:none}.menu button:disabled{opacity:.45;cursor:not-allowed}.menu button.danger{color:var(--danger)}.menu .sep{height:1px;background:var(--border);margin:4px 0}.menu .menu-title{padding:6px 10px 4px;font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050c99;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.modal{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;max-height:calc(100vh - 80px)}.modal.md{max-width:760px}.modal.lg{max-width:1000px}.modal.xl{max-width:1240px}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h2{flex:1;min-width:0}.modal-body{padding:18px;overflow-y:auto}.modal-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.toasts{position:fixed;inset-inline-end:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:360px}.toast{padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-strong);border-inline-start:3px solid var(--info);color:var(--text);box-shadow:var(--shadow-elevated);font-size:12.5px}.toast.success{border-inline-start-color:var(--success)}.toast.error{border-inline-start-color:var(--danger)}.toast.warning{border-inline-start-color:var(--warning)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tab{padding:9px 14px;border:0;background:transparent;color:var(--text-2);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--primary)}.tab .cnt{margin-inline-start:6px;color:var(--text-3);font-size:11px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;font-size:12.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0;min-width:0;word-break:break-word}.kv.wide{grid-template-columns:170px 1fr}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.danger-text{color:var(--danger)}.success-text{color:var(--success)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.gap-sm{gap:4px}.mt{margin-top:16px}.mb{margin-bottom:16px}.mt-sm{margin-top:8px}.flex-1{flex:1;min-width:0}.copy-btn{display:inline-grid;place-items:center;width:20px;height:20px;border:0;background:transparent;color:var(--text-3);cursor:pointer;border-radius:4px;vertical-align:middle}.copy-btn:hover{color:var(--text);background:var(--surface-3)}.copy-btn svg{width:13px;height:13px}.copy-btn.done{color:var(--success)}.empty{padding:28px;text-align:center;color:var(--text-3)}.note{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;color:var(--text-2)}.note.warning{border-color:var(--warning)}.note.danger{border-color:var(--danger);color:var(--danger)}.divider{height:1px;background:var(--border);margin:16px 0}.alloc-total{display:flex;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);font-weight:600}.search-dd{position:relative}.search-dd .dd{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);max-height:260px;overflow-y:auto;z-index:40}.search-dd .dd button{display:block;width:100%;padding:7px 10px;text-align:start;border:0;background:transparent;color:var(--text);cursor:pointer;font-size:12.5px}.search-dd .dd button:hover,.search-dd .dd button.hl{background:var(--surface-2)}.search-dd .dd .dd-empty{padding:10px;color:var(--text-3);font-size:12px}.search-dd .input.has-clear{padding-inline-end:26px}.search-dd .clear{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-3);cursor:pointer;padding:2px 4px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 12px}.filter-grid .span-2{grid-column:span 2}.filter-grid .span-all{grid-column:1 / -1}.filter-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.perm-group{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.perm-group+.perm-group{margin-top:10px}.perm-group-head{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface-2);font-weight:600}.perm-group-head .cnt{margin-inline-start:auto;color:var(--text-3);font-weight:500;font-size:12px}.perm-group-body{padding:10px 12px}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.login-card .brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.search-results h4{margin:12px 0 6px;color:var(--text-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.search-results h4:first-child{margin-top:0}.list-group{display:flex;flex-direction:column}.list-group>a,.list-group>button{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:start;cursor:pointer;width:100%}.list-group>a:last-child,.list-group>button:last-child{border-bottom:0}.list-group>a:hover,.list-group>button:hover{background:var(--surface-2);text-decoration:none}.chart-card{height:320px}.recharts-default-tooltip{background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:var(--radius-sm);color:var(--text)!important}.recharts-tooltip-label{color:var(--text-2)!important}.col-vis{display:flex;flex-direction:column;gap:6px;padding:6px 8px;max-height:320px;overflow:auto}.secret{letter-spacing:.1em}.hint-box{font-size:12px;color:var(--text-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;border:1px solid var(--border)}.hint-box ol{margin:6px 0 0;padding-inline-start:18px}.json-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 760px){.json-cols{grid-template-columns:1fr}}.tbl-sel{width:32px}.tbl-sel input{accent-color:var(--primary);width:15px;height:15px;margin:0}.quick-pct{display:flex;gap:6px}.quick-pct .btn{flex:1}.sidebar{background:linear-gradient(180deg,#0a0a0d,#0c0c10);border-inline-end:1px solid var(--line)}[data-theme=light] .sidebar{background:var(--surface)}.sidebar-brand{border-bottom:1px solid var(--line)}.brand-mark{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#1a1505;border-radius:10px}.brand-text strong{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.nav-group-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3)}.nav-item{position:relative;border:1px solid transparent;transition:color .2s,background .2s,border-color .2s}.nav-item .ico{color:var(--gold-dim)}.nav-item:hover{background:#ffffff05}.nav-item.active{color:var(--gold-hi);background:linear-gradient(90deg,#c9a4491f,#c9a44905);border-color:var(--line)}.nav-item.active .ico{color:var(--gold)}.nav-item.active:before{content:"";position:absolute;inset-inline-start:-1px;top:8px;bottom:8px;width:2px;background:var(--gold);border-radius:2px}.topbar{border-bottom:1px solid var(--line);background:#08080ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=light] .topbar{background:#fffdf8d9}.card,.stat,.login-card,.modal{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-soft);border-radius:var(--radius-card)}.card-head{border-bottom:1px solid var(--line-soft)}.card-head h2,.card-head h3{font-family:var(--serif)}.stat{position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff24}.stat .k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3)}.stat .v{font-family:var(--mono);font-weight:500;font-size:24px;letter-spacing:0}.stat.accent{border-color:var(--line);background:linear-gradient(180deg,rgba(201,164,73,.08),var(--bg-2))}.stat.accent:after{background:var(--gold)}.stat.link:hover{transform:translateY(-3px);border-color:var(--line)}.btn{background:#ffffff08;border-color:var(--line-soft);transition:border-color .2s,filter .2s,transform .1s}.btn:hover{border-color:var(--gold-dim)}.btn-primary{background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-color:transparent;color:#1a1505;font-weight:700;box-shadow:0 12px 28px -14px #c9a449b3}.btn-primary:hover{background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-color:transparent;filter:brightness(1.06)}.btn-primary:active{transform:translateY(1px)}.btn-success{background:#6fae7a24;border-color:#6fae7a66;color:var(--success)}.btn-danger{background:#cf6f6324;border-color:#cf6f6366;color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{border-color:var(--line-soft)}.badge{border:1px solid transparent;font-size:11px;letter-spacing:.04em}.badge-success{border-color:#6fae7a66}.badge-warning{border-color:#d8a24a66}.badge-danger{border-color:#cf6f6366}.badge-info{border-color:#8fa6c966}.badge-primary{color:var(--gold-hi);border-color:var(--gold-dim);background:#c9a44914}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-card)}.table thead th{border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}.table tbody td{border-bottom:1px solid var(--line-soft)}.mono,.money,.amount,.num,.table td.num,.kv .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}input,select,textarea{background:#ffffff06;border-color:var(--line-soft)}input:focus,select:focus,textarea:focus{border-color:var(--gold-dim);background:#c9a4490a;box-shadow:0 0 0 3px #c9a44914;outline:none}.field-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-2)}.login-card{max-width:440px;padding:40px 38px 30px;border-color:var(--line);box-shadow:var(--shadow-elevated)}.login-card .brand{justify-content:center}.login-card .brand strong{font-family:var(--serif);font-size:26px;letter-spacing:.36em;padding-inline-start:.36em;text-transform:uppercase}a{color:var(--gold-hi)}.actions-inline{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;margin-inline-start:auto}.table th:last-child,.table td:last-child{min-width:250px}.actions-inline.left{justify-content:flex-start;margin-inline-start:0}.actions-inline>button,.actions-inline>a{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;font-size:12px;font-weight:500;color:var(--text);background:#ffffff08;border:1px solid var(--line-soft);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}.actions-inline>button:hover,.actions-inline>a:hover{border-color:var(--gold-dim);color:var(--gold-hi);text-decoration:none}.actions-inline>button:disabled{opacity:.45;cursor:not-allowed}.actions-inline>button.danger{color:var(--danger);border-color:#cf6f6366}.actions-inline>button.danger:hover{color:var(--danger);border-color:var(--danger)}.actions-inline>.sep,.actions-inline>.menu-title{display:none}.table td:last-child{text-align:end}.lang-seg{display:inline-flex;height:34px;padding:3px;gap:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.lang-seg button{height:26px;min-width:34px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:color .2s,background .2s}.lang-seg button:hover{color:var(--text)}.lang-seg button.on{background:var(--primary-soft);color:var(--gold-hi)}[data-theme=light] .lang-seg button.on{color:var(--gold)}.login-wrap{position:relative}.login-lang{position:absolute;top:16px;right:16px}[dir=rtl] .sidebar{inset:0 0 0 auto}[dir=rtl] .nav-item.active{background:linear-gradient(270deg,#c9a4491f,#c9a44905)}[dir=rtl] .switch input:checked+.track:after{transform:translate(-16px)}[dir=rtl] .switch.sm input:checked+.track:after{transform:translate(-13px)}[dir=rtl] .mono,[dir=rtl] code,[dir=rtl] pre,[dir=rtl] .secret{direction:ltr;unicode-bidi:isolate}[dir=rtl] input.mono,[dir=rtl] input[type=number],[dir=rtl] input[type=datetime-local],[dir=rtl] input[type=date],[dir=rtl] input[type=email],[dir=rtl] input[type=password]{direction:ltr;text-align:right}[dir=rtl] .sidebar-brand,[dir=rtl] .login-card .brand{direction:ltr}[dir=rtl] .sidebar-foot{direction:ltr;text-align:right}[dir=rtl] .kv dd.mono{text-align:right}[lang=ar] body,[lang=ar] button,[lang=ar] input,[lang=ar] select,[lang=ar] textarea{font-family:"Vazirmatn",var(--font)}[lang=ar] h1,[lang=ar] h2,[lang=ar] h3,[lang=ar] h4,[lang=ar] .card-head h2,[lang=ar] .card-head h3{font-family:"Vazirmatn",var(--font);font-weight:600;letter-spacing:0}[lang=ar] .brand-text strong,[lang=ar] .login-card .brand strong{font-family:var(--serif)}[lang=ar] .field-label,[lang=ar] .nav-group-title,[lang=ar] .table thead th,[lang=ar] .stat .k,[lang=ar] .section-title,[lang=ar] .menu .menu-title,[lang=ar] .search-results h4,[lang=ar] .badge,[lang=ar] .lang-seg button{letter-spacing:0}[lang=ar] .nav-group-title,[lang=ar] .field-label,[lang=ar] .stat .k,[lang=ar] .table thead th{font-size:12px}[lang=ar] .btn,[lang=ar] .nav-item{font-weight:500}
