@charset "UTF-8";:root{--bg: #f2f6f4;--surface: #ffffff;--surface-2: #f4f8f6;--surface-3: #e9f0ed;--overlay: rgba(16, 26, 24, .38);--text: #101a18;--text-2: #4a5c57;--text-3: #7a8b86;--text-inverse: #ffffff;--border: #e2eae6;--border-strong: #cddad5;--accent: #6d43d8;--accent-hover: #5b35c2;--accent-active: #4d2bad;--accent-soft: rgba(109, 67, 216, .09);--accent-ring: rgba(109, 67, 216, .28);--on-accent: #ffffff;--success: #1a7a48;--success-soft: rgba(26, 122, 72, .11);--warning: #9a6412;--warning-soft: rgba(154, 100, 18, .12);--danger: #b2382e;--danger-hover: #972f26;--danger-soft: rgba(178, 56, 46, .11);--info: #2b6c98;--info-soft: rgba(43, 108, 152, .11);--font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--radius-sm: 5px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(16, 26, 24, .06);--shadow: 0 2px 8px rgba(16, 26, 24, .07), 0 1px 2px rgba(16, 26, 24, .05);--shadow-lg: 0 16px 40px rgba(16, 26, 24, .16), 0 2px 8px rgba(16, 26, 24, .08);--sidebar-w: 244px;--sidebar-w-collapsed: 68px;--topbar-h: 56px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b1211;--surface: #121d1b;--surface-2: #172522;--surface-3: #1e2d2a;--overlay: rgba(0, 0, 0, .58);--text: #e8efec;--text-2: #b4c3be;--text-3: #7f918c;--border: #23312d;--border-strong: #32433e;--accent: #9d7bf0;--accent-hover: #ac8ff4;--accent-active: #bba3f7;--accent-soft: rgba(157, 123, 240, .15);--accent-ring: rgba(157, 123, 240, .35);--on-accent: #1b1046;--success: #4cb87b;--success-soft: rgba(76, 184, 123, .14);--warning: #d9a45c;--warning-soft: rgba(217, 164, 92, .14);--danger: #e08076;--danger-hover: #e99b92;--danger-soft: rgba(224, 128, 118, .14);--info: #6aa8d0;--info-soft: rgba(106, 168, 208, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 8px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #0b1211;--surface: #121d1b;--surface-2: #172522;--surface-3: #1e2d2a;--overlay: rgba(0, 0, 0, .58);--text: #e8efec;--text-2: #b4c3be;--text-3: #7f918c;--border: #23312d;--border-strong: #32433e;--accent: #9d7bf0;--accent-hover: #ac8ff4;--accent-active: #bba3f7;--accent-soft: rgba(157, 123, 240, .15);--accent-ring: rgba(157, 123, 240, .35);--on-accent: #1b1046;--success: #4cb87b;--success-soft: rgba(76, 184, 123, .14);--warning: #d9a45c;--warning-soft: rgba(217, 164, 92, .14);--danger: #e08076;--danger-hover: #e99b92;--danger-soft: rgba(224, 128, 118, .14);--info: #6aa8d0;--info-soft: rgba(106, 168, 208, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 8px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.25;letter-spacing:-.011em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:6px}*::-webkit-scrollbar-track{background:transparent}.page-title{font-size:19px}.section-title{font-size:15px}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:12.5px}.mono{font-family:var(--font-mono);font-size:.92em}.nums{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.btn{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-border: var(--border-strong);display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 13px;height:34px;font-size:13.5px;font-weight:500;white-space:nowrap;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.btn:active:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{--btn-bg: var(--accent);--btn-fg: var(--on-accent);--btn-border: var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-danger{--btn-bg: var(--danger);--btn-fg: #fff;--btn-border: var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{--btn-bg: transparent;--btn-border: transparent;box-shadow:none;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.btn-lg{height:40px;padding:0 18px;font-size:14px}.btn-block{width:100%}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:28px}.field{display:flex;flex-direction:column;gap:5px}.label{font-size:12.5px;font-weight:500;color:var(--text-2);display:flex;align-items:baseline;gap:var(--s2)}.label .optional{font-weight:400;color:var(--text-3);font-size:11.5px}.help{font-size:12px;color:var(--text-3)}.field-error{font-size:12px;color:var(--danger)}.input,.select,.textarea{width:100%;padding:0 11px;height:34px;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .12s ease,box-shadow .12s ease}.textarea{height:auto;padding:8px 11px;line-height:1.5;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.input.is-invalid,.textarea.is-invalid{border-color:var(--danger)}.select{appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 11px) 15px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.input-search{position:relative;display:flex;align-items:center}.input-search .input{padding-left:32px}.input-search>tm-icon{position:absolute;left:9px;color:var(--text-3);pointer-events:none;display:flex}.check{display:flex;align-items:flex-start;gap:var(--s3);font-size:13.5px;color:var(--text);cursor:pointer}.check input[type=checkbox]{appearance:none;flex:none;width:17px;height:17px;margin:1px 0 0;background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.check input[type=checkbox]:checked{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center/13px no-repeat;border-color:var(--accent)}.check input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check .check-text{display:flex;flex-direction:column;gap:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.card-body{padding:var(--s5)}.card-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s5);background:var(--surface-2);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{position:sticky;top:0;z-index:1;padding:9px 16px;text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;background:var(--surface-2);border-bottom:1px solid var(--border)}.table td{padding:0 16px;height:46px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .1s ease}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr.is-selected td{background:var(--accent-soft)}.table tbody tr:last-child td{border-bottom:0}.table .col-num{text-align:right;font-variant-numeric:tabular-nums}.table .col-actions{text-align:right;white-space:nowrap;width:1%}.row-actions{display:inline-flex;gap:var(--s1);opacity:0;transition:opacity .12s ease}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1}@media(hover:none){.row-actions{opacity:1}}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:500;border-radius:20px;white-space:nowrap}.badge-neutral{color:var(--text-2);background:var(--surface-3)}.badge-success{color:var(--success);background:var(--success-soft)}.badge-warning{color:var(--warning);background:var(--warning-soft)}.badge-danger{color:var(--danger);background:var(--danger-soft)}.badge-info{color:var(--info);background:var(--info-soft)}.badge-accent{color:var(--accent);background:var(--accent-soft)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.level-chip{display:inline-grid;place-items:center;width:20px;height:20px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-2);background:var(--surface-3);border-radius:4px}.alert{display:flex;align-items:flex-start;gap:var(--s3);padding:11px 14px;font-size:13px;border-radius:var(--radius-sm);border:1px solid transparent}.alert-danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-soft)}.alert-success{color:var(--success);background:var(--success-soft)}.alert-info{color:var(--info);background:var(--info-soft)}.alert-warning{color:var(--warning);background:var(--warning-soft)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s8) var(--s6);text-align:center;color:var(--text-2)}.empty .empty-icon{display:grid;place-items:center;width:44px;height:44px;color:var(--text-3);background:var(--surface-3);border-radius:var(--radius)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;border-radius:4px;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.stack{display:flex;flex-direction:column;gap:var(--s4)}.stack-sm{display:flex;flex-direction:column;gap:var(--s2)}.row{display:flex;align-items:center;gap:var(--s3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.spacer{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
