:root{--bd-bg-primary: #0f172a;--bd-bg-secondary: #1e293b;--bd-bg-tertiary: #334155;--bd-bg-elevated: #1e293b;--bd-text-primary: #f8fafc;--bd-text-secondary: #94a3b8;--bd-text-muted: #64748b;--bd-text-inverse: #0f172a;--bd-brand-primary: #22c55e;--bd-brand-hover: #16a34a;--bd-brand-muted: rgba(34, 197, 94, .125);--bd-success: #22c55e;--bd-warning: #f59e0b;--bd-error: #ef4444;--bd-info: #3b82f6;--bd-border-default: #334155;--bd-border-focus: #6366f1;--bd-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bd-font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--bd-text-xs: .75rem;--bd-text-sm: .875rem;--bd-text-base: 1rem;--bd-text-lg: 1.125rem;--bd-text-xl: 1.25rem;--bd-text-2xl: 1.5rem;--bd-text-3xl: 1.875rem;--bd-text-4xl: 2.25rem;--bd-font-normal: 400;--bd-font-medium: 500;--bd-font-semibold: 600;--bd-font-bold: 700;--bd-space-0: 0;--bd-space-1: .25rem;--bd-space-2: .5rem;--bd-space-3: .75rem;--bd-space-4: 1rem;--bd-space-5: 1.25rem;--bd-space-6: 1.5rem;--bd-space-8: 2rem;--bd-space-10: 2.5rem;--bd-space-12: 3rem;--bd-space-16: 4rem;--bd-space-20: 5rem;--bd-radius-none: 0;--bd-radius-sm: .375rem;--bd-radius-md: .5rem;--bd-radius-lg: .75rem;--bd-radius-xl: 1rem;--bd-radius-2xl: 1.5rem;--bd-radius-full: 9999px;--bd-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--bd-shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--bd-shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--bd-shadow-xl: 0 20px 25px rgba(0, 0, 0, .3);--bd-transition-fast: .1s ease;--bd-transition-normal: .15s ease;--bd-transition-slow: .3s ease;--bd-header-height: 56px;--bd-sidebar-width: 240px;--bd-max-content-width: 1280px;--bd-z-dropdown: 100;--bd-z-sticky: 200;--bd-z-modal: 300;--bd-z-popover: 400;--bd-z-tooltip: 500}:root{--bg-primary: var(--bd-bg-primary);--bg-secondary: var(--bd-bg-secondary);--bg-tertiary: var(--bd-bg-tertiary);--bg-elevated: var(--bd-bg-elevated);--text-primary: var(--bd-text-primary);--text-secondary: var(--bd-text-secondary);--text-muted: var(--bd-text-muted);--text-inverse: var(--bd-text-inverse);--brand-primary: var(--bd-brand-primary);--brand-hover: var(--bd-brand-hover);--brand-muted: var(--bd-brand-muted);--success: var(--bd-success);--warning: var(--bd-warning);--error: var(--bd-error);--info: var(--bd-info);--border-default: var(--bd-border-default);--border-focus: var(--bd-border-focus);--font-sans: var(--bd-font-sans);--text-xs: var(--bd-text-xs);--text-sm: var(--bd-text-sm);--text-base: var(--bd-text-base);--text-lg: var(--bd-text-lg);--text-xl: var(--bd-text-xl);--text-2xl: var(--bd-text-2xl);--text-3xl: var(--bd-text-3xl);--font-normal: var(--bd-font-normal);--font-medium: var(--bd-font-medium);--font-semibold: var(--bd-font-semibold);--font-bold: var(--bd-font-bold);--space-1: var(--bd-space-1);--space-2: var(--bd-space-2);--space-3: var(--bd-space-3);--space-4: var(--bd-space-4);--space-5: var(--bd-space-5);--space-6: var(--bd-space-6);--space-8: var(--bd-space-8);--space-10: var(--bd-space-10);--space-12: var(--bd-space-12);--radius-sm: var(--bd-radius-sm);--radius-md: var(--bd-radius-md);--radius-lg: var(--bd-radius-lg);--radius-xl: var(--bd-radius-xl);--radius-full: var(--bd-radius-full);--shadow-sm: var(--bd-shadow-sm);--shadow-md: var(--bd-shadow-md);--shadow-lg: var(--bd-shadow-lg);--header-height: var(--bd-header-height);--sidebar-width: var(--bd-sidebar-width)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--bd-font-sans);background-color:var(--bd-bg-primary);color:var(--bd-text-primary);line-height:1.5;min-height:100vh}a{color:var(--bd-brand-primary);text-decoration:none;transition:color var(--bd-transition-fast)}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--bd-border-focus);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bd-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bd-bg-tertiary);border-radius:var(--bd-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--bd-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--bd-bg-tertiary) var(--bd-bg-secondary)}.bd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bd-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--bd-space-2);padding:var(--bd-space-2) var(--bd-space-4);font-size:var(--bd-text-sm);font-weight:var(--bd-font-medium);border-radius:var(--bd-radius-md);transition:all var(--bd-transition-normal);cursor:pointer;border:none}.bd-btn:focus-visible{outline:2px solid var(--bd-border-focus);outline-offset:2px}.bd-btn:disabled{opacity:.5;cursor:not-allowed}.bd-btn-primary{background-color:var(--bd-brand-primary);color:var(--bd-text-inverse)}.bd-btn-primary:hover:not(:disabled){background-color:var(--bd-brand-hover)}.bd-btn-secondary{background-color:var(--bd-bg-tertiary);color:var(--bd-text-primary)}.bd-btn-secondary:hover:not(:disabled){background-color:var(--bd-border-default)}.bd-btn-ghost{background-color:transparent;color:var(--bd-text-secondary)}.bd-btn-ghost:hover:not(:disabled){background-color:var(--bd-bg-tertiary);color:var(--bd-text-primary)}.bd-btn-danger{background-color:var(--bd-error);color:#fff}.bd-btn-danger:hover:not(:disabled){background-color:#dc2626}.bd-btn-sm{padding:var(--bd-space-1) var(--bd-space-2);font-size:var(--bd-text-xs)}.bd-btn-lg{padding:var(--bd-space-3) var(--bd-space-6);font-size:var(--bd-text-base)}.bd-card{background-color:var(--bd-bg-secondary);border:1px solid var(--bd-border-default);border-radius:var(--bd-radius-lg);padding:var(--bd-space-4)}.bd-card-elevated{box-shadow:var(--bd-shadow-md)}.bd-input{width:100%;padding:var(--bd-space-2) var(--bd-space-3);background-color:var(--bd-bg-tertiary);border:1px solid var(--bd-border-default);border-radius:var(--bd-radius-md);color:var(--bd-text-primary);font-size:var(--bd-text-sm);transition:border-color var(--bd-transition-fast),box-shadow var(--bd-transition-fast)}.bd-input:focus{outline:none;border-color:var(--bd-border-focus);box-shadow:0 0 0 2px #6366f133}.bd-input::placeholder{color:var(--bd-text-muted)}.bd-input:disabled{opacity:.5;cursor:not-allowed}.bd-input-error{border-color:var(--bd-error)}.bd-input-error:focus{box-shadow:0 0 0 2px #ef444433}.bd-badge{display:inline-flex;align-items:center;padding:var(--bd-space-1) var(--bd-space-2);font-size:var(--bd-text-xs);font-weight:var(--bd-font-medium);border-radius:var(--bd-radius-full);background-color:var(--bd-bg-tertiary);color:var(--bd-text-secondary)}.bd-badge-success{background-color:#22c55e33;color:var(--bd-success)}.bd-badge-warning{background-color:#f59e0b33;color:var(--bd-warning)}.bd-badge-error{background-color:#ef444433;color:var(--bd-error)}.bd-badge-info{background-color:#3b82f633;color:var(--bd-info)}.bd-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--bd-space-12);text-align:center;color:var(--bd-text-muted)}.bd-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--bd-bg-tertiary);border-top-color:var(--bd-brand-primary);border-radius:50%;animation:bd-spin .6s linear infinite}.bd-spinner-sm{width:1rem;height:1rem}.bd-spinner-lg{width:2rem;height:2rem}.bd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;z-index:var(--bd-z-modal)}.bd-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bd-bg-secondary);border:1px solid var(--bd-border-default);border-radius:var(--bd-radius-xl);padding:var(--bd-space-6);max-width:90vw;max-height:90vh;overflow:auto;z-index:calc(var(--bd-z-modal) + 1);box-shadow:var(--bd-shadow-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--bd-space-2);padding:var(--bd-space-2) var(--bd-space-4);font-size:var(--bd-text-sm);font-weight:var(--bd-font-medium);border-radius:var(--bd-radius-md);transition:all var(--bd-transition-normal)}.btn-primary{background-color:var(--bd-brand-primary);color:var(--bd-text-inverse)}.btn-primary:hover{background-color:var(--bd-brand-hover)}.btn-secondary{background-color:var(--bd-bg-tertiary);color:var(--bd-text-primary)}.btn-secondary:hover{background-color:var(--bd-border-default)}.btn-ghost{background-color:transparent;color:var(--bd-text-secondary)}.btn-ghost:hover{background-color:var(--bd-bg-tertiary);color:var(--bd-text-primary)}.card{background-color:var(--bd-bg-secondary);border:1px solid var(--bd-border-default);border-radius:var(--bd-radius-lg);padding:var(--bd-space-4)}.input{width:100%;padding:var(--bd-space-2) var(--bd-space-3);background-color:var(--bd-bg-tertiary);border:1px solid var(--bd-border-default);border-radius:var(--bd-radius-md);color:var(--bd-text-primary);font-size:var(--bd-text-sm)}.input:focus{outline:none;border-color:var(--bd-border-focus);box-shadow:0 0 0 2px #6366f133}.input::placeholder{color:var(--bd-text-muted)}.badge{display:inline-flex;align-items:center;padding:var(--bd-space-1) var(--bd-space-2);font-size:var(--bd-text-xs);font-weight:var(--bd-font-medium);border-radius:var(--bd-radius-full);background-color:var(--bd-bg-tertiary);color:var(--bd-text-secondary)}.badge-success{background-color:#22c55e33;color:var(--bd-success)}.badge-warning{background-color:#f59e0b33;color:var(--bd-warning)}.badge-error{background-color:#ef444433;color:var(--bd-error)}.badge-info{background-color:#3b82f633;color:var(--bd-info)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--bd-space-12);text-align:center;color:var(--bd-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bd-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;animation:bd-fade-in .15s ease}.bd-confirm-dialog{background:var(--bd-bg-primary, #0f172a);border:1px solid var(--bd-border-default, #334155);border-radius:var(--bd-radius-lg, .75rem);width:min(440px,90vw);padding:2rem 1.5rem 1.5rem;text-align:center;animation:bd-slide-up .2s ease}.bd-confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;margin-bottom:1rem}.bd-confirm-title{margin:0 0 .5rem;font-size:var(--bd-text-xl, 1.25rem);font-weight:var(--bd-font-semibold, 600);color:var(--bd-text-primary, #f8fafc)}.bd-confirm-message{margin:0 0 1.5rem;font-size:var(--bd-text-sm, .875rem);color:var(--bd-text-secondary, #94a3b8);line-height:1.6}.bd-confirm-message strong{color:var(--bd-text-primary, #f8fafc)}.bd-confirm-actions{display:flex;gap:.75rem;justify-content:center}.bd-confirm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:120px;padding:.5rem 1rem;font-size:var(--bd-text-sm, .875rem);font-weight:var(--bd-font-medium, 500);border-radius:var(--bd-radius-md, .5rem);border:none;cursor:pointer;transition:background .1s ease,opacity .1s ease}.bd-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.bd-confirm-btn-cancel{background:var(--bd-bg-tertiary, #334155);color:var(--bd-text-primary, #f8fafc);border:1px solid var(--bd-border-default, #334155)}.bd-confirm-btn-cancel:hover:not(:disabled){background:var(--bd-bg-secondary, #1e293b)}.bd-confirm-btn-danger{background:var(--bd-confirm-accent, var(--bd-error, #ef4444));color:#fff}.bd-confirm-btn-danger:hover:not(:disabled){filter:brightness(.9)}.bd-confirm-btn-warning{background:var(--bd-confirm-accent, var(--bd-warning, #f59e0b));color:#fff}.bd-confirm-btn-warning:hover:not(:disabled){filter:brightness(.9)}.bd-confirm-btn-info{background:var(--bd-confirm-accent, var(--bd-info, #3b82f6));color:#fff}.bd-confirm-btn-info:hover:not(:disabled){filter:brightness(.9)}.bd-confirm-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bd-spin .6s linear infinite}@keyframes bd-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bd-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bd-spin{to{transform:rotate(360deg)}}
