.error-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--red);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.error-banner__text{font-family:var(--font-mono);font-size:12px;color:var(--red)}.error-banner__retry{padding:4px 12px;background:transparent;color:var(--text-primary);border:1px solid var(--ghost-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;cursor:pointer}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:12px}.empty-state__icon{color:var(--text-tertiary)}.empty-state__title{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-secondary)}.empty-state__subtitle{font-family:var(--font-body);font-size:14px;color:var(--text-tertiary)}.status-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:1px}.status-badge--active{font-weight:700;color:var(--green)}.status-badge--scheduled{font-weight:700;color:var(--blue)}.status-badge--closed{font-weight:400;color:var(--text-tertiary)}.toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;padding:0;transition:background var(--duration-normal);flex-shrink:0;background:var(--border)}.toggle--active{background:var(--text-primary)}.toggle__knob{display:block;width:16px;height:16px;border-radius:50%;margin-top:2px;margin-left:2px;transition:transform var(--duration-normal),background var(--duration-normal);background:var(--text-tertiary)}.toggle--active .toggle__knob{transform:translate(16px);background:var(--text-inverse)}:root{--bg-root: #111111;--bg-surface: #1A1A1A;--bg-elevated: #222222;--bg-hover: #2A2A2A;--bg-input: #0E0E0E;--border: #2E2E2E;--border-subtle: #2E2E2E;--border-focus: #444444;--ghost-border: #444444;--text-primary: #EEEEEE;--text-secondary: #888888;--text-tertiary: #606060;--text-inverse: #111111;--accent: #EEEEEE;--accent-hover: #DDDDDD;--accent-soft: rgba(238, 238, 238, .08);--green: #34D399;--green-soft: rgba(52, 211, 153, .12);--amber: #FBBF24;--amber-soft: rgba(251, 191, 36, .12);--red: #F87171;--red-soft: rgba(248, 113, 113, .12);--blue: #60A5FA;--blue-soft: rgba(96, 165, 250, .12);--font-body: "DM Sans", sans-serif;--font-display: "Space Mono", monospace;--font-mono: "Space Mono", monospace;--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;--space-20: 80px;--radius-sm: 4px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 4px;--radius-full: 9999px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.5;color:var(--text-primary);background:var(--bg-root);min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--text-primary);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-mono);font-size:12px;font-weight:700;line-height:1;padding:10px 24px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.5px;text-transform:uppercase}.btn-primary{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{transform:scale(.97)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--ghost-border);font-weight:400}.btn-ghost:hover{background:var(--bg-hover)}.btn-lg{font-size:13px;padding:12px 28px}.btn-full{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed}.input{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.5;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:12px 14px;width:100%;outline:none;transition:border-color var(--duration-fast)}.input:focus{border-color:var(--ghost-border)}.input::placeholder{color:var(--text-tertiary)}.input:disabled{color:var(--text-secondary);background:var(--bg-surface);border-color:var(--border-subtle, var(--border));cursor:not-allowed}.label{display:block;font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-2);letter-spacing:1.5px;text-transform:uppercase}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:var(--space-6)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:11px;font-weight:400;padding:2px 8px;border-radius:4px;border:1px solid var(--ghost-border);letter-spacing:.5px}.badge-green{color:var(--green);border-color:var(--green);background:transparent}.badge-amber{color:var(--amber);border-color:var(--amber);background:transparent}.badge-red{color:var(--red);border-color:var(--red);background:transparent}.badge-blue{color:var(--blue);border-color:var(--blue);background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scanLine{0%{transform:translateY(48px)}50%{transform:translateY(192px)}to{transform:translateY(48px)}}.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}.skip-link{position:absolute;top:-40px;left:0;background:var(--text-primary);color:var(--text-inverse);padding:8px 16px;z-index:1000;font-family:var(--font-mono);font-size:12px;text-decoration:none}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.input:focus-visible{outline:2px solid var(--text-primary);outline-offset:0;border-color:var(--ghost-border)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.form-stack{display:flex;flex-direction:column;gap:20px}.modal-actions{display:flex;gap:12px;margin-top:var(--space-1)}.stat-card{flex:1;padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.stat-card--centered{display:flex;flex-direction:column;align-items:center}.stat-card__value{font-family:var(--font-mono);font-weight:700;font-size:36px;color:var(--text-primary);line-height:1;margin-bottom:var(--space-2)}.stat-card__label{font-family:var(--font-mono);font-weight:400;font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px}.page-title{font-family:var(--font-mono);font-weight:700;font-size:24px;color:var(--text-primary)}.modal-title{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-6)}.section-label{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:1px}.section-label--sm{font-size:11px;color:var(--text-tertiary);letter-spacing:.1em}.field-hint{font-family:var(--font-body);font-size:12px;color:var(--text-tertiary);margin-top:var(--space-1)}.text-mono-sm{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.text-mono-xs{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.btn-danger-ghost{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 25%,transparent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;font-weight:400;cursor:pointer;transition:background var(--duration-fast)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--text-primary);cursor:pointer;border:2px solid var(--bg-root)}
