@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Fraunces:wght@400;600;700&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--cc-bg:#f5f6f8;--cc-surface:#fdfefe;--cc-sidebar:#fbfbfc;--cc-border:#e8edef;--cc-border-light:#f0f2f4;--cc-text:#1b2e38;--cc-text-secondary:#51737f;--cc-text-muted:#8fa4af;--cc-primary:#233170;--cc-primary-light:#eef1fa;--cc-shadow-sm:0 1px 2px #0000000a}@layer base{*{box-sizing:border-box}body{background-color:var(--cc-bg);color:var(--cc-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--cc-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--cc-text-muted)}::selection{background:var(--cc-primary-light);color:var(--cc-primary)}}@layer components{@apply bg-primary-700 text-white px-4 py-2 rounded-lg font-medium hover:bg-primary-800 transition-colors duration-200 text-sm;@apply bg-white text-primary-700 border border-primary-200 px-4 py-2 rounded-lg font-medium hover:bg-primary-50 transition-colors duration-200 text-sm;@apply bg-white rounded-xl border border-clinical-200 shadow-sm;@apply w-full px-3 py-2 border border-clinical-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all;@apply block text-xs font-medium text-clinical-600 mb-1 uppercase tracking-wide;}body.theme-default{--bg-app:#f5f7fa;--bg-card:#fbfcfd;--bg-hover:#eef2f7;--bg-table-alt:#f9fafc;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--border:#e5e7eb;--border-strong:#d1d5db;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--status-current:#2563eb;--status-current-bg:#dbeafe;--status-upcoming:#d97706;--status-upcoming-bg:#fef3c7;--status-former:#6b7280;--status-former-bg:#f3f4f6;--med-none-bg:#f3f4f6;--med-none-border:#d1d5db;--med-none-text:#9ca3af;--med-ok-bg:#d1fae5;--med-ok-border:#059669;--med-ok-text:#065f46;--med-pending-bg:#fef3c7;--med-pending-border:#d97706;--med-pending-text:#92400e;--med-overdue-bg:#fee2e2;--med-overdue-border:#dc2626;--med-overdue-text:#991b1b;--med-pn-bg:#ede9fe;--med-pn-border:#7c3aed;--med-pn-text:#5b21b6;--cc-bg:#f5f7fa;--cc-sidebar:#fbfcfd;--cc-border-light:#f0f2f4;--cc-border:#e8edef;--cc-primary:#2563eb;--cc-text:#1f2937;--cc-text-secondary:#4b5563;--cc-text-muted:#6b7280}body.theme-colorblind{--bg-app:#f5f7fa;--bg-card:#fff;--bg-hover:#eef2f7;--bg-table-alt:#f9fafc;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--border:#d1d5db;--border-strong:#9ca3af;--primary:#0072b2;--primary-hover:#005a8e;--primary-light:#cce5f2;--status-current:#0072b2;--status-current-bg:#cce5f2;--status-upcoming:#e69f00;--status-upcoming-bg:#faeacc;--status-former:#6b7280;--status-former-bg:#f3f4f6;--med-none-bg:#f3f4f6;--med-none-border:#9ca3af;--med-none-text:#6b7280;--med-ok-bg:#ccebe2;--med-ok-border:#009e73;--med-ok-text:#00574a;--med-pending-bg:#faeacc;--med-pending-border:#e69f00;--med-pending-text:#7a5500;--med-overdue-bg:#f7d6bf;--med-overdue-border:#d55e00;--med-overdue-text:#7a3500;--med-pn-bg:#f0dae5;--med-pn-border:#cc79a7;--med-pn-text:#7a3f60;--cc-bg:#f5f7fa;--cc-sidebar:#fff;--cc-border-light:#e5e7eb;--cc-border:#d1d5db;--cc-primary:#0072b2;--cc-text:#1f2937;--cc-text-secondary:#4b5563;--cc-text-muted:#6b7280}body.theme-dark{--bg-app:#0f172a;--bg-card:#1e293b;--bg-hover:#334155;--bg-table-alt:#1a2438;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border:#334155;--border-strong:#475569;--primary:#60a5fa;--primary-hover:#93c5fd;--primary-light:#1e3a8a;--status-current:#60a5fa;--status-current-bg:#1e3a8a;--status-upcoming:#fbbf24;--status-upcoming-bg:#78350f;--status-former:#94a3b8;--status-former-bg:#334155;--med-none-bg:#1e293b;--med-none-border:#475569;--med-none-text:#64748b;--med-ok-bg:#064e3b;--med-ok-border:#34d399;--med-ok-text:#6ee7b7;--med-pending-bg:#78350f;--med-pending-border:#fbbf24;--med-pending-text:#fcd34d;--med-overdue-bg:#7f1d1d;--med-overdue-border:#f87171;--med-overdue-text:#fca5a5;--med-pn-bg:#4c1d95;--med-pn-border:#a78bfa;--med-pn-text:#c4b5fd;--cc-bg:#0f172a;--cc-sidebar:#1e293b;--cc-border-light:#334155;--cc-border:#475569;--cc-primary:#60a5fa;--cc-text:#f1f5f9;--cc-text-secondary:#cbd5e1;--cc-text-muted:#94a3b8}body.density-comfortable{--row-padding-y:14px;--row-padding-x:16px;--row-font-size:15px;--avatar-size:40px}body.density-compact{--row-padding-y:9px;--row-padding-x:14px;--row-font-size:14px;--avatar-size:32px}body.density-tight{--row-padding-y:5px;--row-padding-x:12px;--row-font-size:13px;--avatar-size:26px}.density-row td{padding:var(--row-padding-y) var(--row-padding-x)!important;font-size:var(--row-font-size)!important}.density-avatar{width:var(--avatar-size)!important;height:var(--avatar-size)!important}.clients-main-table tbody td{padding:var(--row-padding-y) var(--row-padding-x)!important}body.density-comfortable .clients-main-table thead th{padding:14px 16px!important}body.density-compact .clients-main-table thead th{padding:10px 14px!important}body.density-tight .clients-main-table thead th{padding:8px 12px!important}.clients-main-table .med-indicator{padding:4px 9px!important}.med-indicator{cursor:pointer;background:0 0;border:2px solid;border-radius:14px;justify-content:center;align-items:center;gap:5px;min-width:44px;padding:4px 9px;font-family:inherit;font-size:12px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .12s;display:inline-flex}.med-indicator:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.med-indicator .ind-icon{font-size:12px;font-weight:700}.med-indicator.med-none{background:var(--med-none-bg);border-color:var(--med-none-border);color:var(--med-none-text);cursor:default}.med-indicator.med-none:hover{box-shadow:none;transform:none}.med-indicator.med-ok{background:var(--med-ok-bg);border-color:var(--med-ok-border);color:var(--med-ok-text)}.med-indicator.med-pending{background:var(--med-pending-bg);border-color:var(--med-pending-border);color:var(--med-pending-text)}.med-indicator.med-overdue{background:var(--med-overdue-bg);border-color:var(--med-overdue-border);color:var(--med-overdue-text);animation:2.2s ease-in-out infinite med-pulse}@keyframes med-pulse{0%,to{box-shadow:0 0 #dc262600}50%{box-shadow:0 0 0 4px #dc26262e}}.med-indicator.med-pn{background:var(--med-pn-bg);border-color:var(--med-pn-border);color:var(--med-pn-text);border-style:dashed}
