:root{--color-bg-primary:#fafafa;--color-bg-secondary:#f4f5f7;--color-bg-tertiary:#eceef2;--color-bg-elevated:#fff;--color-bg-hover:#e4e7ef;--color-text-primary:#111318;--color-text-secondary:#4a4f61;--color-text-tertiary:#737887;--color-text-inverse:#fafafa;--color-text-disabled:#9ca0ae;--color-accent:#10b981;--color-accent-hover:#059669;--color-accent-active:#047857;--color-accent-subtle:#10b9811a;--color-accent-text:#059669;--brand-gradient:linear-gradient(135deg, #10b981 0%, #34d399 100%);--brand-gradient-hover:linear-gradient(135deg, #059669 0%, #10b981 100%);--brand-shadow:0 4px 14px -4px #10b98173;--brand-shadow-hover:0 6px 18px -4px #10b9818c;--color-success:#16a34a;--color-success-hover:#15803d;--color-success-subtle:#16a34a1a;--color-success-text:#15803d;--color-warning:#d97706;--color-warning-hover:#b45309;--color-warning-subtle:#d977061a;--color-warning-text:#b45309;--color-error:#dc2626;--color-error-hover:#b91c1c;--color-error-subtle:#dc26261a;--color-error-text:#b91c1c;--color-info:#0891b2;--color-info-subtle:#0891b21a;--color-info-text:#0e7490;--color-border:#00000014;--color-border-hover:#00000029;--color-border-focus:var(--color-accent);--color-border-strong:#0000003d;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 20px 60px #0000001f;--shadow-focus:0 0 0 3px var(--color-accent-subtle);--font-display:"Cabinet Grotesk", sans-serif;--font-body:"Satoshi", sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--space-px:1px;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--duration-instant:50ms;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.35s;--easing-default:cubic-bezier(.4, 0, .2, 1);--easing-in:cubic-bezier(.4, 0, 1, 1);--easing-out:cubic-bezier(0, 0, .2, 1);--easing-bounce:cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:240px;--sidebar-width-collapsed:64px;--header-height:56px;--content-max-width:1200px;--content-padding:var(--space-8);--content-padding-sm:var(--space-4);--z-base:0;--z-raised:10;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400;--z-tooltip:500}.dark{--color-bg-primary:#0f1114;--color-bg-secondary:#161921;--color-bg-tertiary:#1c2029;--color-bg-elevated:#232733;--color-bg-hover:#2a2f3d;--color-text-primary:#e8e9ed;--color-text-secondary:#9ca0ae;--color-text-tertiary:#6b7084;--color-text-inverse:#0f1114;--color-text-disabled:#4a4f61;--color-accent:#34d399;--color-accent-hover:#10b981;--color-accent-active:#059669;--color-accent-subtle:#34d3991f;--color-accent-text:#6ee7b7;--brand-gradient:linear-gradient(135deg, #10b981 0%, #34d399 100%);--brand-gradient-hover:linear-gradient(135deg, #34d399 0%, #6ee7b7 100%);--brand-shadow:0 4px 14px -4px #34d39973;--brand-shadow-hover:0 6px 18px -4px #34d39999;--color-success:#22c55e;--color-success-hover:#16a34a;--color-success-subtle:#22c55e1f;--color-success-text:#86efac;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-subtle:#f59e0b1f;--color-warning-text:#fcd34d;--color-error:#ef4444;--color-error-hover:#dc2626;--color-error-subtle:#ef44441f;--color-error-text:#fca5a5;--color-info:#06b6d4;--color-info-subtle:#06b6d41f;--color-info-text:#67e8f9;--color-border:#ffffff14;--color-border-hover:#ffffff26;--color-border-focus:var(--color-accent);--color-border-strong:#ffffff3d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000040;--shadow-lg:0 8px 32px #0000004d;--shadow-xl:0 20px 60px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:2;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;height:100%}body{line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}img,picture,video,canvas,svg{max-width:100%;display:block}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}input,button,textarea,select,optgroup{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}fieldset{border:none;padding:0}legend{padding:0}blockquote,dl,dd,figure{margin:0}hr{border:none;height:0}[hidden]{display:none!important}#app{isolation:isolate;min-height:100vh}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.theme-transition,html.theme-transition *{transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)!important}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:var(--color-text-primary);letter-spacing:-.01em}h1{font-size:var(--text-3xl);letter-spacing:-.02em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base);font-weight:var(--font-weight-semibold)}h6{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}p{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}small{font-size:var(--text-xs);color:var(--color-text-tertiary)}strong,b{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}code{font-family:var(--font-mono);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:.125em .375em;font-size:.875em}pre{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);line-height:var(--leading-relaxed);overflow-x:auto}pre code{font-size:inherit;background:0 0;border:none;padding:0}kbd{font-family:var(--font-mono);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-secondary);border-bottom-width:2px;padding:.125em .375em;font-size:.875em}a{color:var(--color-accent);transition:color var(--duration-fast) var(--easing-default)}a:hover{color:var(--color-accent-hover);text-underline-offset:2px;text-decoration:underline}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-accent-subtle);color:var(--color-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--easing-default)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}hr{border-top:1px solid var(--color-border);margin-block:var(--space-6)}label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1-5);line-height:var(--leading-normal);display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-size:var(--text-sm);padding:var(--space-2-5) var(--space-3);line-height:var(--leading-normal);transition:border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), background var(--duration-fast) var(--easing-default);display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]):hover,textarea:hover,select:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-elevated)}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus,select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);background-color:var(--color-bg-elevated);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}textarea{resize:vertical;min-height:80px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7084' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--color-bg-hover) 50%, var(--color-bg-elevated) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}#nprogress .bar{background:var(--color-accent)!important;height:2px!important}#nprogress .peg{box-shadow:0 0 10px var(--color-accent), 0 0 5px var(--color-accent)!important}body .btn{border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}body .btn:disabled,body .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none!important}body .btn.btn--primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--brand-shadow);border-color:#0000}body .btn.btn--primary:hover:not(:disabled){background:var(--brand-gradient-hover);box-shadow:var(--brand-shadow-hover);transform:translateY(-1px)}body .btn.btn--primary:active:not(:disabled){box-shadow:var(--brand-shadow);transform:translateY(0)}body .btn.btn--primary:disabled{background:var(--color-accent);box-shadow:none}body .btn.btn--ghost{border-color:var(--color-border);color:var(--color-text-secondary);background:0 0}body .btn.btn--ghost:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}body .btn.btn--outline{border-color:var(--color-accent);color:var(--color-accent);background:0 0}body .btn.btn--outline:hover:not(:disabled){background:var(--color-accent-subtle)}body .btn.btn--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}body .btn.btn--danger:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}body .btn.btn--danger-outline{border-color:var(--color-error);color:var(--color-error);background:0 0}body .btn.btn--danger-outline:hover:not(:disabled){background:var(--color-error-subtle)}body .btn.btn--danger-ghost{color:var(--color-error);background:0 0;border-color:#0000}body .btn.btn--danger-ghost:hover:not(:disabled){background:var(--color-error-subtle)}body .btn.btn--confirm{background:var(--color-success);border-color:var(--color-success);color:#fff}body .btn.btn--confirm:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover)}body .btn.btn--reject{background:var(--color-error);border-color:var(--color-error);color:#fff}body .btn.btn--reject:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}body .btn.btn--sm{font-size:var(--text-xs);gap:.3rem;padding:.35rem .65rem}body .btn.btn--lg{font-size:var(--text-base);padding:.75rem 1.5rem}body .btn.btn--full{width:100%}body .btn.btn--badge{background:var(--color-accent-subtle);color:var(--color-accent);border-color:#0000;font-weight:600}body .btn.btn--badge:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 18%, transparent)}body .btn :where(svg){flex-shrink:0}body :where(.input,.form-input):not([type=checkbox]):not([type=radio]):not([type=range]){background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);padding:.55rem .75rem;font-family:inherit;line-height:1.5;display:block}body :where(.input,.form-input):hover:not(:disabled):not([readonly]){border-color:var(--color-border-hover);background-color:var(--color-bg-elevated)}body :where(.input,.form-input):focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);background-color:var(--color-bg-elevated);outline:none}body :where(.input--error,.form-input--error,.input.input--error,.form-input.input--error){border-color:var(--color-error)!important}body :where(.input--mono,.form-input--mono,.input.input--mono,.form-input.input--mono){font-family:var(--font-mono)}body :where(.input--locked,.form-input--readonly,.input.input--locked){background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed}body textarea.form-input,body textarea.input{resize:vertical;min-height:80px}body :where(.form-label,.label){font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.35rem;font-weight:500;line-height:1.4;display:block}body :where(.form-hint,.field-hint){font-size:var(--text-xs);color:var(--color-text-tertiary);margin:.35rem 0 0;line-height:1.4}body :where(.form-error,.field-error){font-size:var(--text-xs);color:var(--color-error);margin:.35rem 0 0;line-height:1.4}.data-table-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.75rem 1.1rem}.data-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);background:var(--color-bg-elevated,var(--color-bg-secondary));border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:600}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.row-clickable{cursor:pointer}.cell-mono{font-family:var(--font-mono);color:var(--color-text-secondary);white-space:nowrap;font-size:.78rem}.cell-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cell-meta{color:var(--color-text-tertiary);white-space:nowrap;font-size:.72rem}.cell-actions{text-align:right;white-space:nowrap;width:1%}.cell-name{flex-direction:column;gap:.1rem;min-width:0;display:flex}.cell-name__primary{color:var(--color-text-primary);font-weight:500}.cell-name__secondary{color:var(--color-text-tertiary);font-size:.72rem}.row-actions{opacity:0;align-items:center;gap:.25rem;transition:opacity .15s,transform .15s;display:inline-flex;transform:translate(-4px)}.data-table tbody tr:hover .row-actions,.data-table tbody tr:focus-within .row-actions{opacity:1;transform:translate(0)}.row-actions__btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.row-actions__btn:hover{color:var(--color-accent);background:var(--color-accent-subtle);border-color:var(--color-accent)}.row-actions__btn--danger:hover{color:var(--color-error);background:#ef444414;border-color:#ef444466}.status-pill{border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.status-pill:before{content:"";opacity:.85;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-pill--success{color:var(--color-success);background:#22c55e1f}.status-pill--warning{color:var(--color-warning);background:#f59e0b1f}.status-pill--danger{color:var(--color-error);background:#ef44441f}.status-pill--info{color:var(--color-accent);background:#3b82f61f}.status-pill--neutral{background:var(--color-bg-elevated);color:var(--color-text-tertiary)}.status-pill--violet{color:#7c3aed;background:#8b5cf61f}.data-table-empty{text-align:center;padding:3rem 2rem}.data-table-empty__icon{border-radius:var(--radius-full);background:var(--color-bg-elevated);width:56px;height:56px;color:var(--color-text-tertiary);justify-content:center;align-items:center;margin:0 auto 1rem;display:inline-flex}.data-table-empty__title{font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 .4rem;font-weight:600}.data-table-empty__desc{font-size:var(--text-sm);color:var(--color-text-tertiary);max-width:400px;margin:0 auto 1.25rem;line-height:1.5}
