:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.65;--tracking-tighter:-.03em;--tracking-tight:-.015em;--tracking-normal:0em;--tracking-wide:.04em;--tracking-wider:.08em;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--container-max:1200px;--gutter:var(--space-6);--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:9999px;--duration-micro:.12s;--duration-standard:.2s;--duration-large:.32s;--ease-enter:cubic-bezier(.22, 1, .36, 1);--ease-exit:cubic-bezier(.4, 0, .2, 1);--press-scale:.98;--bg:#f8f9fa;--surface:#fff;--surface-raised:#f1f3f5;--surface-sunken:#eef1f4;--surface-muted:#f4f6f8;--border-subtle:#e9ecef;--border:#dce1e7;--border-hover:#c4ccd6;--border-strong:#9aa5b5;--text:#1a1e23;--text-muted:#525a66;--text-faint:#808a98;--text-inverse:#fff;--accent:#1e56a0;--accent-hover:#16437e;--accent-active:#10325f;--accent-subtle:#edf3fa;--accent-subtle-border:#cfe0f5;--accent-contrast:#fff;--color-success:#15803d;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-warning:#b45309;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-info:#0369a1;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 1px 3px #1018280f, 0 1px 2px #1018280a;--shadow-md:0 4px 6px -1px #10182812, 0 2px 4px -2px #1018280a;--shadow-lg:0 10px 15px -3px #10182814, 0 4px 6px -4px #1018280a;--focus-ring:0 0 0 3px #1e56a038;--focus-ring-danger:0 0 0 3px #b91c1c38}[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-raised:#1f242c;--surface-sunken:#10141a;--surface-muted:#181d24;--border-subtle:#21262d;--border:#30363d;--border-hover:#444c56;--border-strong:#6e7681;--text:#e6edf3;--text-muted:#8b949e;--text-faint:#656d76;--text-inverse:#0d1117;--accent:#4489e4;--accent-hover:#589bf0;--accent-active:#3373cc;--accent-subtle:#4489e41f;--accent-subtle-border:#4489e447;--accent-contrast:#fff;--color-success:#4ade80;--color-success-bg:#4ade801f;--color-success-border:#4ade8047;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-warning-border:#fbbf2447;--color-danger:#f87171;--color-danger-bg:#f871711f;--color-danger-border:#f8717147;--color-info:#38bdf8;--color-info-bg:#38bdf81f;--color-info-border:#38bdf847;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 3px #00000073, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #0006;--focus-ring:0 0 0 3px #4489e459;--focus-ring-danger:0 0 0 3px #f8717159}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1117;--surface:#161b22;--surface-raised:#1f242c;--surface-sunken:#10141a;--surface-muted:#181d24;--border-subtle:#21262d;--border:#30363d;--border-hover:#444c56;--border-strong:#6e7681;--text:#e6edf3;--text-muted:#8b949e;--text-faint:#656d76;--text-inverse:#0d1117;--accent:#4489e4;--accent-hover:#589bf0;--accent-active:#3373cc;--accent-subtle:#4489e41f;--accent-subtle-border:#4489e447;--accent-contrast:#fff;--color-success:#4ade80;--color-success-bg:#4ade801f;--color-success-border:#4ade8047;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-warning-border:#fbbf2447;--color-danger:#f87171;--color-danger-bg:#f871711f;--color-danger-border:#f8717147;--color-info:#38bdf8;--color-info-bg:#38bdf81f;--color-info-border:#38bdf847;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 3px #00000073, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #0006;--focus-ring:0 0 0 3px #4489e459;--focus-ring-danger:0 0 0 3px #f8717159}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:var(--line-height-normal);-webkit-text-size-adjust:100%;tab-size:4;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text);background-color:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:var(--line-height-normal)}#root{text-align:left;border:none;flex-direction:column;width:100%;min-height:100vh;margin:0;padding:0;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--font-size-2xl);letter-spacing:var(--tracking-tight)}h3{font-size:var(--font-size-xl);letter-spacing:var(--tracking-tight)}h4{font-size:var(--font-size-lg)}p{color:var(--text-muted);line-height:var(--line-height-relaxed)}a{color:var(--accent);transition:color var(--duration-micro) var(--ease-enter);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0}button{cursor:pointer;background:0 0;border:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-family:var(--font-mono)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--font-size-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tb-container{width:100%;max-width:var(--container-max);padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}@media (width<=640px){.tb-container{padding-left:var(--space-4);padding-right:var(--space-4)}}.tb-shell{background-color:var(--bg);flex-direction:column;min-height:100vh;display:flex}.tb-header{z-index:40;background-color:var(--surface);border-bottom:1px solid var(--border-subtle);height:56px;transition:background-color var(--duration-standard) var(--ease-enter);align-items:center;display:flex;position:sticky;top:0}.tb-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;display:flex}.tb-brand{align-items:center;gap:var(--space-3);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text);letter-spacing:var(--tracking-tight);text-decoration:none;display:flex}.tb-brand__mark{border-radius:var(--radius-sm);background-color:var(--accent);width:24px;height:24px;color:var(--accent-contrast);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:flex}.tb-brand__text{align-items:center;gap:var(--space-2);display:flex}.tb-brand__badge{font-size:var(--font-size-xs);background-color:var(--accent-subtle);color:var(--accent);border-radius:var(--radius-pill);font-weight:var(--font-weight-medium);border:1px solid var(--accent-subtle-border);padding:2px 6px}.tb-nav{align-items:center;gap:var(--space-1);display:flex}.tb-nav-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);border-radius:var(--radius-md);transition:color var(--duration-micro) var(--ease-enter), background-color var(--duration-micro) var(--ease-enter);text-decoration:none;display:inline-flex}.tb-nav-link:hover{color:var(--text);background-color:var(--surface-raised)}.tb-nav-link--active{color:var(--accent);background-color:var(--accent-subtle);font-weight:var(--font-weight-semibold)}.tb-shell__main{padding-top:var(--space-6);padding-bottom:var(--space-12);flex:auto}.tb-btn{justify-content:center;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--duration-micro) var(--ease-enter);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex}.tb-btn:active{transform:scale(var(--press-scale))}.tb-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.tb-btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.tb-btn--md{height:36px;padding:0 var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.tb-btn--lg{height:44px;padding:0 var(--space-6);font-size:var(--font-size-base);border-radius:var(--radius-md)}.tb-btn--icon-only{width:36px;height:36px;padding:0}.tb-btn--icon-only.tb-btn--sm{width:28px;height:28px}.tb-btn--primary{background-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-xs)}.tb-btn--primary:hover{background-color:var(--accent-hover);color:var(--accent-contrast)}.tb-btn--primary:active{background-color:var(--accent-active)}.tb-btn--secondary{background-color:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-xs)}.tb-btn--secondary:hover{background-color:var(--surface-raised);border-color:var(--border-hover);color:var(--text)}.tb-btn--ghost{color:var(--text-muted);background-color:#0000}.tb-btn--ghost:hover{background-color:var(--surface-raised);color:var(--text)}.tb-btn--danger{background-color:var(--color-danger);color:#fff;box-shadow:var(--shadow-xs)}.tb-btn--danger:hover{filter:brightness(.92);color:#fff}.tb-btn--outline-danger{background-color:var(--surface);border-color:var(--color-danger-border);color:var(--color-danger)}.tb-btn--outline-danger:hover{background-color:var(--color-danger-bg)}.tb-card{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--duration-standard) var(--ease-enter), box-shadow var(--duration-standard) var(--ease-enter);overflow:hidden}.tb-card--interactive:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.tb-card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.tb-card__body{padding:var(--space-6)}.tb-card__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background-color:var(--surface-raised);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.tb-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text);margin-bottom:var(--space-1)}.tb-card__desc{font-size:var(--font-size-sm);color:var(--text-muted)}.tb-stat-tile{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs);gap:var(--space-2);flex-direction:column;display:flex}.tb-stat-tile__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.tb-stat-tile__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.tb-stat-tile__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text);font-family:var(--font-mono);font-feature-settings:"tnum";line-height:1.1}.tb-stat-tile__footer{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted);display:flex}.tb-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;line-height:1.4;display:inline-flex}.tb-badge--neutral{background-color:var(--surface-sunken);color:var(--text-muted);border-color:var(--border-subtle)}.tb-badge--success{background-color:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.tb-badge--warning{background-color:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.tb-badge--danger{background-color:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.tb-badge--info{background-color:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.tb-badge--accent{background-color:var(--accent-subtle);color:var(--accent);border-color:var(--accent-subtle-border)}.tb-field{gap:var(--space-1);margin-bottom:var(--space-4);text-align:left;flex-direction:column;display:flex}.tb-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text);justify-content:space-between;align-items:center;display:flex}.tb-input-wrapper{align-items:center;display:flex;position:relative}.tb-input-icon{left:var(--space-3);color:var(--text-faint);pointer-events:none;align-items:center;display:flex;position:absolute}.tb-input,.tb-textarea,.tb-select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;color:var(--text);font-size:var(--font-size-sm);transition:border-color var(--duration-micro) var(--ease-enter), box-shadow var(--duration-micro) var(--ease-enter)}.tb-input{height:38px;padding:0 var(--space-3)}.tb-input--has-icon{padding-left:var(--space-8)}.tb-textarea{padding:var(--space-2) var(--space-3);resize:vertical;min-height:96px}.tb-select{height:38px;padding:0 var(--space-8) 0 var(--space-3);appearance:none;cursor:pointer;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='%23808a98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.tb-input:focus,.tb-textarea:focus,.tb-select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.tb-input--error,.tb-textarea--error,.tb-select--error{border-color:var(--color-danger)}.tb-input--error:focus,.tb-textarea--error:focus,.tb-select--error:focus{box-shadow:var(--focus-ring-danger)}.tb-helper{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.tb-error-text{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:2px}.tb-table-container{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background-color:var(--surface);width:100%;box-shadow:var(--shadow-xs);overflow-x:auto}.tb-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--font-size-sm)}.tb-table th{background-color:var(--surface-raised);padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:1px solid var(--border);z-index:10;white-space:nowrap;position:sticky;top:0}.tb-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.tb-table tr:last-child td{border-bottom:none}.tb-table tbody tr:hover td{background-color:var(--surface-muted)}.tb-table .num-col{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum"}.tb-alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4);border:1px solid #0000;display:flex}.tb-alert--info{background-color:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.tb-alert--success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.tb-alert--warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.tb-alert--danger{background-color:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.tb-skeleton{background:linear-gradient(90deg, var(--surface-raised) 25%, var(--surface-sunken) 50%, var(--surface-raised) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite tb-shimmer}@keyframes tb-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tb-empty-state{text-align:center;padding:var(--space-12) var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.tb-empty-state__icon{border-radius:var(--radius-lg);background-color:var(--surface-raised);border:1px solid var(--border-subtle);width:48px;height:48px;color:var(--text-faint);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.tb-empty-state__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text)}.tb-empty-state__desc{font-size:var(--font-size-sm);color:var(--text-muted);max-width:380px}.tb-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;padding:var(--space-4);animation:tb-fade-in var(--duration-standard) var(--ease-enter);background-color:#0d1117a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tb-modal{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;animation:tb-scale-up var(--duration-standard) var(--ease-enter);overflow-y:auto}@keyframes tb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tb-spin{to{transform:rotate(360deg)}}@media (width>=768px){[data-desktop-nav]{display:flex!important}[data-mobile-trigger]{display:none!important}}@media (width<=767px){[data-desktop-nav]{display:none!important}[data-mobile-trigger]{display:inline-flex!important}}.tb-tabs{border-bottom:1px solid var(--border);gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.tb-tab-btn{padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);transition:all var(--duration-micro) var(--ease-enter);cursor:pointer;border-bottom:2px solid #0000;position:relative;top:1px}.tb-tab-btn:hover{color:var(--text)}.tb-tab-btn--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:var(--font-weight-semibold)}.tb-segmented{background-color:var(--surface-sunken);border-radius:var(--radius-md);border:1px solid var(--border-subtle);gap:2px;padding:3px;display:inline-flex}.tb-segmented-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--duration-micro) var(--ease-enter);cursor:pointer;white-space:nowrap}.tb-segmented-btn:hover{color:var(--text)}.tb-segmented-btn--active{background-color:var(--surface);color:var(--text);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}
