:root{--brand-500: #41af64;--brand-600: #379555;--brand-700: #2f7e48;--brand-800: #26663a;--brand-900: #1b4a2a;--brand-50: #f0f9f3;--brand-100: #e1f2e6;--brand-200: #c6e7d1;--brand-300: #a0d7b2;--brand-400: #71c38b;--brand-marketing: #eaf1d4;--neutral-0: #ffffff;--neutral-50: #f6f8f7;--neutral-100: #edf0ee;--neutral-200: #dfe4e1;--neutral-300: #c4ccc7;--neutral-400: #9aa5a0;--neutral-600: #55625c;--neutral-900: #1a1f1d;--warning: #fab721;--warning-text: #8a5d00;--warning-bg: #fff8e6;--danger: #d0212b;--danger-bg: #fceaeb;--info: #17bae9;--info-text: #0e7fa3;--info-bg: #e6f6fc;--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-disabled: var(--neutral-400);--text-on-brand: #ffffff;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-10: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--border-width: 1px;--shadow-overlay: 0 4px 16px rgba(26, 31, 29, .1);--focus-ring: 0 0 0 3px rgba(47, 126, 72, .35);--bg: var(--neutral-50);--surface: var(--neutral-0);--surface-raised: var(--neutral-0);--border: var(--neutral-200);--border-strong: var(--neutral-300);--action: var(--brand-700);--action-hover: var(--brand-800);--action-text: #ffffff;--accent-text: var(--brand-700);--highlight: var(--brand-50)}@media (prefers-color-scheme: dark){:root{--bg: #141816;--surface: #1c211e;--surface-raised: #242b27;--border: #2c332f;--border-strong: #3a433e;--text-primary: #e8edea;--text-secondary: #a3aea8;--text-disabled: #6e7b75;--action: var(--brand-500);--action-hover: #4fc176;--action-text: #12160f;--accent-text: #5fc47f;--highlight: #1a2620;--warning-text: #e8b851;--warning-bg: #2a2313;--danger-text: #ff7a82;--danger-bg: #2c1618;--info-text: #4fc9f0;--info-bg: #132a33}}:root[data-theme=dark]{--bg: #141816;--surface: #1c211e;--surface-raised: #242b27;--border: #2c332f;--border-strong: #3a433e;--text-primary: #e8edea;--text-secondary: #a3aea8;--text-disabled: #6e7b75;--action: #41af64;--action-hover: #4fc176;--action-text: #12160f;--accent-text: #5fc47f;--highlight: #1a2620;--warning-text: #e8b851;--warning-bg: #2a2313;--danger-text: #ff7a82;--danger-bg: #2c1618;--info-text: #4fc9f0;--info-bg: #132a33}:root[data-theme=light]{--bg: #f6f8f7;--surface: #ffffff;--surface-raised: #ffffff;--border: #dfe4e1;--border-strong: #c4ccc7;--text-primary: #1a1f1d;--text-secondary: #55625c;--text-disabled: #9aa5a0;--action: #2f7e48;--action-hover: #26663a;--action-text: #ffffff;--accent-text: #2f7e48;--highlight: #f0f9f3;--warning-text: #8a5d00;--warning-bg: #fff8e6;--danger-text: #d0212b;--danger-bg: #fceaeb;--info-text: #0e7fa3;--info-bg: #e6f6fc}.bs-type-display{font:600 40px/48px var(--font-sans)}.bs-type-h1{font:600 32px/40px var(--font-sans)}.bs-type-h2{font:600 24px/32px var(--font-sans)}.bs-type-h3{font:600 20px/28px var(--font-sans)}.bs-type-body-lg{font:400 16px/24px var(--font-sans)}.bs-type-body{font:400 14px/20px var(--font-sans)}.bs-type-caption{font:400 12px/16px var(--font-sans)}.bs-type-label{font:500 12px/16px var(--font-sans);letter-spacing:.02em}.bs-tabular-nums{font-variant-numeric:tabular-nums}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font-sans)}.bs-app-shell{display:flex;flex-direction:column;min-height:100vh}.bs-app-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--space-5);background:var(--surface);border-bottom:1px solid var(--border)}.bs-app-header-actions{display:flex;align-items:center;gap:var(--space-3)}.bs-app-body{display:flex;flex:1}.bs-app-sidebar{display:flex;flex-direction:column;gap:var(--space-2);width:220px;padding:var(--space-4);background:var(--surface);border-right:1px solid var(--border)}.bs-app-content{flex:1;padding:var(--space-6)}.bs-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0}.bs-badge-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.bs-two-column{display:flex;gap:var(--space-5);align-items:flex-start}.bs-two-column>*{flex:1;min-width:0}.bs-field-list{display:flex;flex-direction:column;gap:var(--space-3)}.bs-field-list dt{font:500 12px/16px var(--font-sans);color:var(--text-secondary)}.bs-field-list dd{margin:0;font:400 14px/20px var(--font-sans)}.bs-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bs-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.bs-login-page form{display:flex;flex-direction:column;gap:var(--space-3);min-width:320px}.bs-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0}.bs-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:var(--space-3);overflow-x:auto}.bs-schedule-day-header{font:500 13px/18px var(--font-sans);color:var(--text-secondary);margin-bottom:var(--space-2)}.bs-schedule-slot{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:6px;margin-bottom:var(--space-2)}.bs-schedule-slot-time{font:500 13px/18px var(--font-sans)}.bs-form{display:flex;flex-direction:column;gap:var(--space-3)}.bs-form-row{display:flex;gap:var(--space-3)}.bs-form-row>*{flex:1;min-width:0}.bs-form-label{display:flex;flex-direction:column;gap:var(--space-1);font:400 13px/18px var(--font-sans)}.bs-schedule-rule-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.bs-button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);font:500 14px/20px var(--font-sans);border:var(--border-width) solid transparent;cursor:pointer}@media (pointer: coarse){.bs-button{min-height:44px}}.bs-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-button--primary{background:var(--action);color:var(--action-text)}.bs-button--primary:hover:not(:disabled){background:var(--action-hover)}.bs-button--secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.bs-button--quiet{background:transparent;color:var(--accent-text)}.bs-button--danger{background:var(--danger, #d0212b);color:var(--action-text)}.bs-button:disabled{background:var(--border);color:var(--text-disabled);cursor:not-allowed}.bs-input{height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-strong);background:var(--surface);color:var(--text-primary);font:400 14px/20px var(--font-sans)}.bs-input:focus-visible{outline:none;border-color:var(--action);box-shadow:var(--focus-ring)}.bs-input[aria-invalid=true]{border-color:var(--danger, #d0212b)}.bs-input-error{margin-top:var(--space-1);font:400 12px/16px var(--font-sans);color:var(--danger-text, var(--danger, #d0212b))}.bs-table{width:100%;border-collapse:collapse;font:400 14px/20px var(--font-sans)}.bs-table th{background:var(--bg);text-align:left;padding:var(--space-3);font:500 12px/16px var(--font-sans);letter-spacing:.02em;border-bottom:var(--border-width) solid var(--border)}.bs-table td{padding:var(--space-3);height:48px;border-bottom:var(--border-width) solid var(--border)}.bs-table tbody tr:hover{background:var(--highlight)}.bs-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font:500 12px/16px var(--font-sans);letter-spacing:.02em}.bs-badge--success{background:var(--highlight);color:var(--accent-text)}.bs-badge--warning{background:var(--warning-bg, #fff8e6);color:var(--warning-text, #8a5d00)}.bs-badge--danger{background:var(--danger-bg, #fceaeb);color:var(--danger-text, #d0212b)}.bs-badge--info{background:var(--info-bg, #e6f6fc);color:var(--info-text, #0e7fa3)}.bs-badge--neutral{background:var(--border);color:var(--text-secondary)}.bs-card{background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.bs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding-top:var(--space-4)}.bs-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-4)}.bs-empty-state h3{font:600 20px/28px var(--font-sans);color:var(--text-primary);margin:0}.bs-empty-state p{font:400 14px/20px var(--font-sans);color:var(--text-secondary);margin:0}
