@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:1px 7px!important}.med-indicator{cursor:pointer;vertical-align:middle;background:0 0;border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:3px;padding:1px 7px;font-family:inherit;font-size:11px;font-weight:500;line-height:1.2;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:11px;font-weight:600}.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}.urine-ind{cursor:pointer;text-underline-offset:3px;margin-left:6px;font-size:13px;font-weight:800;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.urine-ind.urine-clean{color:var(--med-ok-border)}.urine-ind.urine-dirty{color:var(--med-overdue-border)}.urine-reminder{vertical-align:middle;border:1px solid var(--med-overdue-border);background:var(--med-overdue-bg);color:var(--med-overdue-text);cursor:pointer;border-radius:999px;align-items:center;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.task-dot{vertical-align:middle;cursor:pointer;border:1px solid;border-radius:50%;width:10px;height:10px;margin-left:7px;display:inline-block}.task-dot-overdue{background:var(--med-overdue-border);border-color:var(--med-overdue-border)}.task-dot-warning{background:var(--med-pending-border);border-color:var(--med-pending-border)}.task-dot-ok{background:var(--med-ok-border);border-color:var(--med-ok-border)}.demo-onboarding{box-sizing:border-box;color:#18234c;background:#f5f7fa;grid-template-columns:minmax(260px,480px) minmax(320px,480px);justify-content:center;align-items:center;gap:80px;min-height:100vh;padding:64px 32px;font-family:Inter,system-ui,sans-serif;display:grid}.demo-brand{color:#252862;align-items:center;gap:12px;margin-bottom:64px;font-size:25px;font-weight:700;text-decoration:none;display:inline-flex}.demo-brand span{color:#fff;background:#252862;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:400;display:grid}.demo-eyebrow{letter-spacing:.13em;color:#64748b;margin:0 0 16px;font-size:11px;font-weight:700}.demo-intro h1{letter-spacing:-.035em;margin:0 0 24px;font-size:clamp(36px,4vw,54px);line-height:1.12}.demo-intro>p:not(.demo-eyebrow){color:#526177;max-width:410px;line-height:1.7}.demo-steps{color:#334155;margin:28px 0;padding-left:22px;font-size:14px;line-height:2.3}.demo-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:36px;box-shadow:0 12px 42px #18234c08}.demo-card h2{letter-spacing:-.02em;margin:0 0 14px;font-size:29px;line-height:1.2}.demo-lead{color:#526177;margin-bottom:24px;font-size:14px;line-height:1.65}.demo-card label{margin:17px 0 7px;font-size:13px;font-weight:600;display:block}.demo-card input:not([type=checkbox]){box-sizing:border-box;width:100%;font:inherit;color:#18234c;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px;font-size:15px}.demo-card input:focus-visible,.demo-primary:focus-visible,.demo-card a:focus-visible{outline-offset:2px;outline:3px solid #b8bbed}.demo-optional{color:#64748b;font-weight:400}.demo-card .demo-consent{color:#475569;align-items:flex-start;gap:10px;margin:24px 0 12px;font-size:12px;font-weight:400;line-height:1.65;display:flex}.demo-consent input{accent-color:#252862;flex-shrink:0;width:17px;height:17px;margin:3px 0 0}.demo-small{color:#64748b;font-size:12px;line-height:1.6}.demo-card a{color:#343775;text-underline-offset:3px}.demo-primary{box-sizing:border-box;text-align:center;width:100%;font:inherit;cursor:pointer;background:#252862;border:0;border-radius:8px;margin-top:22px;padding:13px 16px;font-size:14px;font-weight:600;text-decoration:none;display:block;color:#fff!important}.demo-primary:disabled{cursor:not-allowed;background:#8c91aa}.demo-login{text-align:center;color:#64748b;margin:22px 0 0;font-size:12px}.demo-error,.demo-info,.demo-success{border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.65}.demo-error{color:#991b1b;background:#fff1f2}.demo-info{color:#525168;background:#f1f2f8}.demo-success{color:#245b48;background:#f0f8f5}.demo-success h3{margin-top:0}@media (width<=760px){.demo-onboarding{grid-template-columns:minmax(0,480px);gap:30px;padding:28px 18px 40px}.demo-brand{margin-bottom:30px}.demo-intro h1{font-size:36px}.demo-steps{margin:18px 0}.demo-card{padding:26px 22px}.demo-intro>p.demo-small{display:none}}.demo-secondary{color:#252862;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #b7bfd4;border-radius:8px;padding:11px;font-size:13px}.demo-secondary:disabled{opacity:.6;cursor:wait}
