:root{--primary:#2f6690;--primary-hover:#24506f;--primary-soft:#e8f1f6;--primary-dark:#1f2937;--sidebar-bg:#1f2937;--sidebar-active:#2c3a4d;--bg:#f6f7f9;--card:#fff;--border:#e5e7eb;--divider:#f1f2f4;--text:#1f2937;--text-muted:#64748b;--text-faint:#9ca3af;--success-bg:#ecfdf5;--success-fg:#065f46;--success:#10b981;--warning-bg:#fffbeb;--warning-fg:#92400e;--warning:#f59e0b;--danger-bg:#fef2f2;--danger-fg:#991b1b;--danger:#ef4444;--neutral-bg:#f1f5f9;--neutral-fg:#475569;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #0f172a0d, 0 1px 2px #0f172a08;--shadow-md:0 4px 12px #0f172a0f, 0 2px 4px #0f172a08;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}input,select,textarea,button{font-family:inherit;font-size:14px}button{cursor:pointer}a{color:var(--primary);text-decoration:none}h1,h2,h3{margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text);padding:20px;transition:box-shadow .15s,transform .15s}a.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.input,select.input,textarea.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:100%;padding:10px 12px}.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.btn{border-radius:var(--radius-sm);background:var(--primary);color:#fff;border:none;padding:10px 16px;font-weight:600;transition:background .15s}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{cursor:not-allowed;background:#b9c8d3}.btn-secondary{background:var(--neutral-bg);color:var(--neutral-fg)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-success{background:var(--success)}.btn-danger{background:var(--danger)}.btn-sm{padding:6px 10px;font-size:13px}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px}td{border-bottom:1px solid var(--divider);vertical-align:top;padding:12px;font-size:14px}tr:last-child td{border-bottom:none}.badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-success{background:var(--success-bg);color:var(--success-fg)}.badge-warning{background:var(--warning-bg);color:var(--warning-fg)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab{color:var(--text-muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px;font-size:14px;font-weight:600}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.stat-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px}.stat-tile .stat-value{color:var(--text);font-size:26px;font-weight:700}.stat-tile .stat-label{color:var(--text-muted);margin-top:4px;font-size:13px}:root{--storm-deep:#232b38;--storm-mid:#3d4d63;--storm-edge:#5a6f88;--dawn:#e3b478;--dawn-soft:#c99a63}.tribute-bg{background:radial-gradient(120% 90% at 50% -10%, var(--storm-mid) 0%, var(--storm-deep) 55%, #171d27 100%);color:#faf7f1;min-height:100vh}.tribute-banner{text-align:center;letter-spacing:.05em;text-transform:uppercase;background:#171d27;border-bottom:1px solid #e3b4784d;width:100%;padding:26px 24px;font-size:32px;font-weight:800}.tribute-banner .accent{color:var(--dawn)}.tribute-halo{justify-content:center;align-items:center;display:flex;position:relative}.tribute-halo:before{content:"";background:radial-gradient(circle,#e3b47861 0%,#e3b47824 45%,#e3b47800 72%);border-radius:50%;animation:6s ease-in-out infinite tribute-breathe;position:absolute;inset:-34px}@media (prefers-reduced-motion:reduce){.tribute-halo:before{animation:none}}@keyframes tribute-breathe{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}.tribute-portrait{border:3px solid #e3b4788c;border-radius:50%;overflow:hidden;box-shadow:0 18px 40px #00000073,0 0 0 8px #ffffff08}.tribute-portrait img{object-fit:cover;width:100%;height:100%;display:block}.tribute-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--dawn);font-size:11px}.tribute-heading{text-align:center;text-wrap:balance;color:#faf7f1;font-family:Fraunces,Iowan Old Style,Georgia,serif;font-style:italic;font-weight:500;line-height:1.15}.tribute-heading em{color:var(--dawn);font-style:normal;font-weight:600}.tribute-divider{background:linear-gradient(90deg, transparent, var(--dawn-soft), transparent);width:44px;height:1px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.mobile-topbar,.mobile-bottom-nav,.mobile-next-appt{display:none}@media (width<=768px){.practice-sidebar{display:none!important}table{display:block}table thead{display:none}table tbody,table tr{width:100%;display:block}table tr{border-bottom:1px solid var(--border);padding:10px 4px}table tr:last-child{border-bottom:none}table td{text-align:right;border-bottom:none;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}table td[data-label]:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;text-align:left;flex-shrink:0;font-size:11px;font-weight:600}:is(table td:empty,table td:not([data-label]):not(:has(*))){display:none}table tfoot tr{border-top:2px solid var(--border)}.messages-layout{flex-direction:column}.messages-sidebar{width:100%!important;max-height:220px!important}.tabs{flex-wrap:wrap;row-gap:4px}.tab{white-space:nowrap}.mobile-topbar{background:var(--sidebar-bg);color:#fff;z-index:20;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-next-appt{display:block}.app-main.has-bottom-nav{padding:16px 16px 92px!important}.mobile-bottom-nav{background:var(--card);border-top:1px solid var(--border);z-index:30;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0f172a12}}.mobile-bottom-nav a,.mobile-bottom-nav button.nav-more{color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 2px 6px;font-size:10px;font-weight:600;line-height:1.3;display:flex}.mobile-bottom-nav a.active,.mobile-bottom-nav button.nav-more.active{color:var(--primary)}.mobile-bottom-nav .nav-icon{font-size:19px;line-height:1}.mobile-more-backdrop{z-index:40;background:#0f172a73;position:fixed;inset:0}.mobile-more-sheet{z-index:41;background:var(--card);padding:8px 8px calc(16px + env(safe-area-inset-bottom,0));border-radius:16px 16px 0 0;max-height:70vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 28px #0f172a33}.mobile-more-sheet .sheet-handle{background:var(--border);border-radius:99px;width:36px;height:4px;margin:6px auto 12px}.mobile-more-sheet button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:13px 12px;font-size:15px;display:flex}.mobile-more-sheet button:active{background:var(--neutral-bg)}.mobile-more-sheet .sheet-divider{background:var(--divider);height:1px;margin:6px 4px}.next-appt-card{border-radius:var(--radius-lg);border-left:5px solid var(--accent,var(--primary));background:var(--card);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}
