:root{--bai-color-brand-50: hsl(234 80% 97%);--bai-color-brand-100: hsl(234 75% 92%);--bai-color-brand-200: hsl(234 70% 83%);--bai-color-brand-500: hsl(234 55% 50%);--bai-color-brand-600: hsl(234 55% 42%);--bai-color-brand-700: hsl(234 55% 34%);--bai-color-brand-800: hsl(234 50% 26%);--bai-color-brand-900: hsl(234 45% 18%);--bai-color-brand-950: hsl(234 45% 12%);--bai-color-accent-400: hsl(185 70% 45%);--bai-color-accent-500: hsl(185 75% 36%);--bai-color-neutral-0: hsl(220 20% 100%);--bai-color-neutral-50: hsl(220 20% 98%);--bai-color-neutral-100: hsl(220 18% 95%);--bai-color-neutral-200: hsl(220 16% 90%);--bai-color-neutral-300: hsl(220 14% 80%);--bai-color-neutral-400: hsl(220 12% 65%);--bai-color-neutral-500: hsl(220 10% 50%);--bai-color-neutral-700: hsl(220 10% 32%);--bai-color-neutral-800: hsl(220 12% 22%);--bai-color-neutral-900: hsl(220 14% 13%);--bai-color-status-success: hsl(142 68% 35%);--bai-color-status-error: hsl(0 72% 50%);--bai-color-status-warning: hsl(38 92% 45%);--bai-color-surface-base: var(--bai-color-neutral-50);--bai-color-surface-raised: var(--bai-color-neutral-0);--bai-color-surface-overlay: var(--bai-color-neutral-100);--bai-color-text-primary: var(--bai-color-neutral-900);--bai-color-text-secondary: var(--bai-color-neutral-500);--bai-color-text-on-brand: var(--bai-color-neutral-0);--bai-color-border-default: var(--bai-color-neutral-200);--bai-color-border-strong: var(--bai-color-neutral-300);--bai-color-border: var(--bai-color-border-default);--bai-color-primary-50: var(--bai-color-brand-50);--bai-space-1: .25rem;--bai-space-2: .5rem;--bai-space-3: .75rem;--bai-space-4: 1rem;--bai-space-5: 1.25rem;--bai-space-6: 1.5rem;--bai-space-8: 2rem;--bai-space-10: 2.5rem;--bai-space-12: 3rem;--bai-space-16: 4rem;--bai-font-sans: "Inter", system-ui, -apple-system, sans-serif;--bai-font-mono: "JetBrains Mono", "Fira Code", monospace;--bai-text-sm: .875rem;--bai-text-base: 1rem;--bai-text-lg: 1.125rem;--bai-text-xl: 1.25rem;--bai-text-2xl: 1.5rem;--bai-shadow-sm: 0 1px 2px 0 hsl(220 14% 13% / .05);--bai-shadow-md: 0 4px 6px -1px hsl(220 14% 13% / .1), 0 2px 4px -1px hsl(220 14% 13% / .06);--bai-shadow-lg: 0 10px 15px -3px hsl(220 14% 13% / .1), 0 4px 6px -2px hsl(220 14% 13% / .05);--bai-focus-ring: 0 0 0 3px hsl(234 55% 50% / .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--bai-font-sans);font-size:var(--bai-text-base);color:var(--bai-color-text-primary);background:var(--bai-color-surface-base);-webkit-font-smoothing:antialiased}a{color:var(--bai-color-brand-600);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--bai-color-surface-raised);border:1px solid var(--bai-color-border-default);border-radius:.5rem;box-shadow:var(--bai-shadow-sm);padding:var(--bai-space-6)}.btn{display:inline-flex;align-items:center;gap:var(--bai-space-2);padding:var(--bai-space-2) var(--bai-space-4);border-radius:.375rem;font-size:var(--bai-text-sm);font-weight:500;cursor:pointer;border:none;transition:background .15s,box-shadow .15s}.btn:focus-visible{outline:none;box-shadow:var(--bai-focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--bai-color-brand-600);color:var(--bai-color-text-on-brand)}.btn-primary:hover:not(:disabled){background:var(--bai-color-brand-700)}.btn-secondary{background:var(--bai-color-surface-raised);color:var(--bai-color-text-primary);border:1px solid var(--bai-color-border-default)}.btn-secondary:hover:not(:disabled){background:var(--bai-color-surface-overlay)}.btn-danger{background:var(--bai-color-status-error);color:var(--bai-color-text-on-brand)}.btn-danger:hover:not(:disabled){background:#b81e1e}.btn-ghost{background:transparent;color:var(--bai-color-text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bai-color-surface-overlay);color:var(--bai-color-text-primary)}.form-input{width:100%;padding:var(--bai-space-2) var(--bai-space-3);border:1px solid var(--bai-color-border-default);border-radius:.375rem;font-size:var(--bai-text-sm);font-family:var(--bai-font-sans);color:var(--bai-color-text-primary);background:var(--bai-color-surface-raised);transition:border-color .15s,box-shadow .15s}.form-input:focus{outline:none;border-color:var(--bai-color-brand-500);box-shadow:var(--bai-focus-ring)}.badge{display:inline-flex;align-items:center;gap:var(--bai-space-1);padding:.125rem var(--bai-space-2);border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--bai-color-brand-100);color:var(--bai-color-brand-700)}.badge-remove{background:none;border:none;cursor:pointer;color:var(--bai-color-brand-600);line-height:1;padding:0;font-size:.875rem}.badge-remove:hover{color:var(--bai-color-status-error)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--bai-space-3) var(--bai-space-4);border-bottom:1px solid var(--bai-color-border-default);font-size:var(--bai-text-sm)}th{font-weight:600;color:var(--bai-color-text-secondary);background:var(--bai-color-surface-overlay);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}tr:hover td{background:var(--bai-color-surface-overlay)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--bai-space-6)}.page-title{font-size:var(--bai-text-2xl);font-weight:700;color:var(--bai-color-text-primary)}.page-subtitle{font-size:var(--bai-text-sm);color:var(--bai-color-text-secondary);margin-top:var(--bai-space-1)}.alert{padding:var(--bai-space-3) var(--bai-space-4);border-radius:.375rem;font-size:var(--bai-text-sm);margin-bottom:var(--bai-space-4)}.alert-error{background:#db24241a;color:#9a1919;border:1px solid hsl(0 72% 50% / .3)}.alert-success{background:#1d96491a;color:#146b34;border:1px solid hsl(142 68% 35% / .3)}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--bai-color-border-default);border-top-color:var(--bai-color-brand-500);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;justify-content:center;padding:var(--bai-space-16)}.empty-state{text-align:center;padding:var(--bai-space-16);color:var(--bai-color-text-secondary)}.modal-backdrop{position:fixed;inset:0;background:#1d202680;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bai-color-surface-raised);border-radius:.5rem;box-shadow:var(--bai-shadow-lg);padding:var(--bai-space-6);width:100%;max-width:32rem}.modal-title{font-size:var(--bai-text-lg);font-weight:600;margin-bottom:var(--bai-space-4)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--bai-space-3);margin-top:var(--bai-space-6)}.tag-input-row{display:flex;gap:var(--bai-space-2);align-items:center;margin-top:var(--bai-space-2)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--bai-space-2);margin-top:var(--bai-space-2)}.toggle{position:relative;display:inline-block;width:2.25rem;height:1.25rem}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bai-color-neutral-300);border-radius:9999px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;height:.875rem;width:.875rem;left:.1875rem;bottom:.1875rem;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--bai-color-brand-600)}.toggle input:checked+.toggle-slider:before{transform:translate(1rem)}.toggle input:focus-visible+.toggle-slider{box-shadow:var(--bai-focus-ring)}
