*,*:before,*:after{box-sizing:border-box}:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--border: #2a2f3a;--text: #e8eaee;--text-muted: #9aa3b2;--primary: #4f8cff;--primary-hover: #6ea0ff;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--clinician: #a78bfa;--radius-sm: 4px;--radius-lg: 12px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--space-xxxl: 48px;--space-huge: 64px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-xxl: 32px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-tight: 1.2;--line-normal: 1.5;--line-loose: 1.7;--motion-instant: 0ms;--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease: cubic-bezier(.2, 0, 0, 1)}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5}button{font-family:inherit;font-size:15px;cursor:pointer}input,textarea,select{font-family:inherit;font-size:15px}a{color:var(--primary);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease);min-height:44px;border:1px solid transparent}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-muted)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-quiet{background:transparent;color:var(--text-muted);border:none;font-weight:var(--font-weight-medium)}.btn-quiet:hover:not(:disabled){color:var(--text);text-decoration:underline}.field{display:flex;flex-direction:column;gap:var(--space-sm)}.field-label{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-weight-medium)}.field-hint{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--space-xs)}.input,.textarea,.select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);width:100%;font-size:var(--font-size-md);font-family:inherit;min-height:44px;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}.textarea{min-height:88px;resize:vertical;line-height:var(--line-normal)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--primary);background:var(--surface)}.input:hover:not(:focus),.textarea:hover:not(:focus),.select:hover:not(:focus){border-color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.chip{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-lg);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--motion-fast) var(--ease);min-height:44px}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-hover{transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease);cursor:pointer;display:block;color:var(--text);text-decoration:none}.card-hover:hover{background:var(--surface-2);border-color:var(--text-muted)}.card-hover:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-xxl);text-align:center;color:var(--text-muted)}.page-title{margin:0;font-size:var(--font-size-xxl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:var(--line-tight)}.page-subtitle{color:var(--text-muted);font-size:var(--font-size-md);margin-top:var(--space-sm);line-height:var(--line-normal)}.section-title{margin:0 0 var(--space-lg) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-tight)}.section-label{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.icon-link{color:var(--text-muted);text-decoration:none;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transition:color var(--motion-fast) var(--ease)}.icon-link:hover{color:var(--text)}.icon-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.unread-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--primary)}.nav-link{color:var(--text-muted);font-size:var(--font-size-sm);text-decoration:none;padding:var(--space-sm) var(--space-xs);min-height:44px;display:inline-flex;align-items:center;transition:color var(--motion-fast) var(--ease)}.nav-link:hover,.nav-link[aria-current=page],.nav-link-active{color:var(--text)}.nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.card-empty-icon{color:var(--text-muted);display:flex;justify-content:center;margin-bottom:var(--space-md);line-height:1}.card-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);margin-bottom:var(--space-sm)}.card-empty-body{color:var(--text-muted);font-size:var(--font-size-md);line-height:var(--line-normal);max-width:400px;margin:0 auto}.card-empty-action{margin-top:var(--space-lg);display:flex;justify-content:center;gap:var(--space-md)}.card-error{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-md)}.card-error-icon{color:var(--danger);flex-shrink:0;line-height:1}.card-error-body{flex:1;min-width:0;color:var(--text);font-size:var(--font-size-md);line-height:var(--line-normal)}.card-error-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}@keyframes zv-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:zv-pulse 1.6s var(--ease) infinite}@keyframes zv-fade-in{0%{opacity:0}to{opacity:1}}.route-fade{animation:zv-fade-in var(--motion-base) var(--ease) both}@media(prefers-reduced-motion:reduce){.skeleton,.route-fade{animation:none}}
