@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-arabic-400-normal-DN15VWMM.woff2) format("woff2"),url(/assets/cairo-arabic-400-normal-CAYwymWN.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-ext-400-normal-xCL67Y2R.woff2) format("woff2"),url(/assets/cairo-latin-ext-400-normal-C_BIE9Qe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-400-normal-Dh7otpdh.woff2) format("woff2"),url(/assets/cairo-latin-400-normal-b1R3q6Pf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cairo-arabic-500-normal-DDl0i4Xv.woff2) format("woff2"),url(/assets/cairo-arabic-500-normal-BADfnM6v.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cairo-latin-ext-500-normal-DxXN6Mb5.woff2) format("woff2"),url(/assets/cairo-latin-ext-500-normal-De4OTi8O.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cairo-latin-500-normal-D-WQsSKQ.woff2) format("woff2"),url(/assets/cairo-latin-500-normal-DkdkMETP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-arabic-600-normal-rkrvveqO.woff2) format("woff2"),url(/assets/cairo-arabic-600-normal-B3EOalmC.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-ext-600-normal-DuRnqffh.woff2) format("woff2"),url(/assets/cairo-latin-ext-600-normal-DAfLYaOC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-600-normal-mGS0uvCM.woff2) format("woff2"),url(/assets/cairo-latin-600-normal-buYOP1M3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-arabic-700-normal-D3nDedWX.woff2) format("woff2"),url(/assets/cairo-arabic-700-normal-CyOqhaeK.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-ext-700-normal-Cscux539.woff2) format("woff2"),url(/assets/cairo-latin-ext-700-normal-htXca11Z.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-700-normal-C3GYtKbV.woff2) format("woff2"),url(/assets/cairo-latin-700-normal-6fcUy4Rc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-arabic-800-normal-G1qvPr6G.woff2) format("woff2"),url(/assets/cairo-arabic-800-normal-CVTPwINa.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-latin-ext-800-normal-ChnkP8hn.woff2) format("woff2"),url(/assets/cairo-latin-ext-800-normal-RObK5hVW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cairo-latin-800-normal-BBdTpBXf.woff2) format("woff2"),url(/assets/cairo-latin-800-normal-ReWrxM5E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo Fallback;src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:96.5%;ascent-override:135%;descent-override:59.2%;line-gap-override:0%}:root{color-scheme:light;--bg: #f2f5fb;--surface: #ffffff;--surface-muted: #eef2fb;--border: #e2e8f4;--border-strong: #cbd5ea;--text: #101a2e;--text-muted: #5c6b87;--text-faint: #5f6d89;--accent: #2f5fe0;--accent-strong: #1f45b8;--accent-soft: #e7edfd;--success: #137a55;--success-soft: #e1f5ec;--warning: #8f600b;--warning-soft: #faf0da;--danger: #b83030;--danger-soft: #fbe8e8;--purple: #6a4bc4;--purple-soft: #efe9fb;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-card: 0 1px 2px rgba(16, 26, 46, .04), 0 12px 28px -18px rgba(16, 26, 46, .28);--shadow-pop: 0 16px 40px -16px rgba(16, 26, 46, .32);--font-sans: "Cairo", "Cairo Fallback", -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-sans)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700;color:var(--text);text-wrap:balance}h1{font-size:26px;letter-spacing:-.01em;margin:0 0 20px}h3{font-size:16px;margin:0 0 14px}p{line-height:1.6}a{color:var(--accent-strong)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text)}@media (prefers-reduced-motion: no-preference){.btn,.nav-link,.tooth-btn,input,select,textarea{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .1s ease}}.app-shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.app-header strong{font-size:15px}.app-nav{display:flex;gap:14px;align-items:center}.app-nav a{color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:500;padding:6px 4px}.app-nav a.active,.app-nav a:hover{color:var(--accent-strong)}.app-main{width:100%;max-width:1080px;margin:0 auto;padding:28px}.auth-page{max-width:420px;margin:64px auto;display:flex;flex-direction:column;gap:16px}.auth-page .card{margin-bottom:0}.auth-page-top{display:flex;justify-content:flex-end}.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans)}.brand-icon{color:var(--accent);flex:none}.brand-word{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em}.brand-word .brand-accent{color:var(--accent)}.staff-shell{display:flex;min-height:100vh;background:var(--bg)}.staff-sidebar{flex:none;width:240px;display:flex;flex-direction:column;gap:22px;padding:22px 16px;background:var(--surface);border-inline-end:1px solid var(--border)}.sidebar-brand{padding-inline-start:6px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:600}.nav-link svg{flex:none;color:var(--text-faint)}.nav-link:hover{background:var(--surface-muted);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-link.active svg{color:var(--accent-strong)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.sidebar-footer .btn{width:100%;justify-content:center}.staff-content{flex:1;min-width:0;display:flex;flex-direction:column}.staff-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-clinic{font-size:14px;font-weight:600;color:var(--text-muted)}.topbar-actions{display:flex;align-items:center;gap:12px}@media (max-width: 720px){.staff-shell{flex-direction:column}.staff-sidebar{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px 0;border-inline-end:none;border-bottom:1px solid var(--border)}.sidebar-footer{margin-top:0;margin-inline-start:auto;flex-direction:row}.sidebar-footer .btn{width:auto;padding:6px 10px}.sidebar-nav{order:1;flex-basis:100%;flex-direction:row;overflow-x:auto;padding-bottom:8px}.nav-link{flex:none;padding:8px 10px}.staff-topbar{padding:10px 16px}.app-main{padding:16px}.app-main table{display:block;overflow-x:auto}}.user-chip{display:flex;align-items:center;gap:10px}.user-chip-text{display:flex;flex-direction:column;line-height:1.25}.user-chip-name{font-size:13px;font-weight:700}.user-chip-role{font-size:12px;color:var(--text-faint)}.avatar-circle{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;font-size:14px}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--accent-strong);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-muted);border-color:var(--accent)}.btn.danger{border-color:var(--danger);background:var(--danger)}.btn.danger:hover{background:#b32e2e;border-color:#b32e2e}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.error-text{color:var(--danger);font-size:13px}.confirm-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.confirm-inline-prompt{font-size:13px;font-weight:600;color:var(--danger)}.success-text{color:var(--success);font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px;margin-bottom:20px}.form-row{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-row label{font-size:13px;font-weight:600;color:var(--text-muted)}.form-row input,.form-row select,.form-row textarea{padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;background:var(--surface)}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-faint)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:start;padding:11px 12px;border-bottom:1px solid var(--border)}th{color:var(--text-faint);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}tbody tr:hover{background:var(--surface-muted)}.status-pill{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700;background:var(--surface-muted);color:var(--text-muted)}.status-pill.pending,.status-pill.active{background:var(--warning-soft);color:var(--warning)}.status-pill.confirmed{background:var(--success-soft);color:var(--success)}.status-pill.completed{background:var(--accent-soft);color:var(--accent-strong)}.status-pill.cancelled{background:var(--danger-soft);color:var(--danger)}.status-pill.reschedule_proposed{background:var(--purple-soft);color:var(--purple)}.dental-chart-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:16px}.dental-chart-quadrant-label{grid-column:1 / -1;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin:8px 0 2px}.dental-chart-quadrant-label:first-child{margin-top:0}.tooth-btn{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);padding:0}.tooth-btn.selected{outline:2px solid var(--accent);outline-offset:1px}.tooth-btn.status-healthy{background:var(--success-soft)}.tooth-btn.status-decayed{background:var(--danger-soft);color:var(--danger)}.tooth-btn.status-filled{background:var(--accent-soft)}.tooth-btn.status-missing{background:var(--surface-muted);color:var(--text-faint);border-style:dashed}.tooth-btn.status-crowned{background:var(--warning-soft)}.tooth-btn.status-root_canal{background:var(--purple-soft)}.brand-lg .brand-icon{width:40px;height:40px}.brand-lg .brand-word{font-size:34px}.landing-page{min-height:100vh}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 48px;background:var(--surface);border-bottom:1px solid var(--border)}.landing-nav-links{display:flex;align-items:center;gap:32px}.landing-nav-links a{color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:600}.landing-nav-links a:hover{color:var(--accent-strong)}.landing-nav-actions{display:flex;align-items:center;gap:18px}.landing-nav-login{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:600;font-size:14px}.landing-nav-login:hover{color:var(--accent-strong)}.landing-hero{max-width:1280px;margin:0 auto;padding:64px 48px 96px;display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:48px;align-items:center}.landing-hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.landing-hero-text h1{font-size:34px;margin:0}.landing-hero-text>p{color:var(--text-muted);font-size:16px;margin:0}.landing-cta{font-size:15px;padding:12px 26px}.landing-trust-row{display:flex;gap:22px;margin-top:8px}.landing-trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-weight:600}.landing-trust-item svg{color:var(--accent)}.landing-hero-photo{position:relative}.landing-hero-photo img{display:block;width:100%;height:auto;border-radius:260px 260px 32px 32px;box-shadow:var(--shadow-pop)}.landing-stats{max-width:1120px;margin:-64px auto 64px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:28px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.landing-stat svg{color:var(--accent)}.landing-stat-value{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.landing-stat-label{font-size:13px;color:var(--text-muted)}@media (max-width: 860px){.landing-hero{grid-template-columns:1fr;padding-top:40px}.landing-stats{grid-template-columns:repeat(2,1fr);margin-top:32px}}@media (max-width: 480px){.landing-nav{padding:14px 16px;flex-wrap:wrap;row-gap:10px}}.role-select-page{max-width:1080px;margin:0 auto;padding:24px 24px 64px;display:flex;flex-direction:column;gap:40px}.role-select-top{justify-content:flex-end}.role-select-heading{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.role-select-welcome{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-muted)}.role-select-heading h1{margin:0;font-size:26px}.role-select-heading p{margin:0;color:var(--text-muted);max-width:520px}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:26px 22px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.role-card-image{width:112px;height:112px;border-radius:50%;object-fit:cover;background:var(--surface-muted);margin-bottom:10px}.role-card h2{margin:0;font-size:18px}.role-card p{margin:0 0 14px;color:var(--text-muted);font-size:13px;min-height:40px}.role-card-cta{width:100%;justify-content:center}.role-card-doctor h2{color:var(--accent-strong)}.role-card-doctor .role-card-cta{background:var(--accent-strong);border-color:var(--accent-strong)}.role-card-secretary h2{color:var(--success)}.role-card-secretary .role-card-cta{background:var(--success);border-color:var(--success)}.role-card-patient h2{color:var(--purple)}.role-card-patient .role-card-cta{background:var(--purple);border-color:var(--purple)}.role-select-trust{align-self:center;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);max-width:640px;text-align:center}.role-select-trust svg{flex:none;color:var(--accent)}@media (max-width: 720px){.role-cards{grid-template-columns:1fr}}.auth-split-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-photo-panel{position:relative;background:var(--surface-muted);overflow:hidden}.auth-photo-panel img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.5}.auth-photo-overlay{position:relative;padding:48px 48px 0;display:flex;flex-direction:column;gap:14px;max-width:460px}.auth-photo-overlay h2{margin:0;font-size:30px;color:var(--accent-strong)}.auth-photo-overlay p{margin:0;color:var(--text-muted)}.auth-trust-card{position:relative;margin:auto 48px 48px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px;display:flex;gap:12px}.auth-trust-card svg{flex:none;color:var(--accent);margin-top:2px}.auth-trust-card strong{display:block;font-size:14px;margin-bottom:4px}.auth-trust-card p{margin:0;font-size:12px;color:var(--text-muted)}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:32px 48px}.auth-form-panel>*{width:100%;max-width:420px;margin-inline:auto}.auth-form-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.auth-back-link{font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none}.auth-back-link:hover{color:var(--accent-strong)}@media (max-width: 900px){.auth-split-page{grid-template-columns:1fr}.auth-photo-panel{display:none}}.dashboard-home{display:flex;flex-direction:column;gap:24px}.dashboard-search{position:relative;max-width:420px}.dashboard-search svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.dashboard-search input{width:100%;padding:10px 14px 10px 40px;padding-inline-start:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit}.dashboard-search-results{position:absolute;top:calc(100% + 6px);inset-inline-start:0;width:100%;padding:8px;z-index:10}.dashboard-search-result{display:block;width:100%;text-align:start;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);font-size:13px;color:var(--text)}.dashboard-search-result:hover{background:var(--surface-muted)}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column;gap:14px}.stat-card>svg{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:8px;width:36px;height:36px;box-sizing:border-box}.stat-card-body{display:flex;flex-direction:column;gap:2px}.stat-card-label{font-size:13px;color:var(--text-muted);font-weight:600}.stat-card-value{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.stat-card-value-sm{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.stat-card-unit{font-size:13px;color:var(--text-faint)}.stat-card-link{align-self:flex-start;border:none;background:none;padding:0;color:var(--accent-strong);font-size:13px;font-weight:600}.stat-card-link:hover{text-decoration:underline}@media (max-width: 980px){.stat-cards{grid-template-columns:repeat(2,1fr)}}.queue-tabs{display:flex;gap:6px;margin-bottom:16px}.queue-tab{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);padding:7px 16px;border-radius:99px;font-size:13px;font-weight:600}.queue-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.queue-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.queue-row:last-child{border-bottom:none}.queue-row-readonly{opacity:.85}.queue-number-badge{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.queue-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:220px}.queue-row-time{color:var(--text-muted);font-size:13px}.queue-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.queue-actions .btn svg{width:16px;height:16px}.reorder-buttons{display:flex;flex-direction:column;gap:2px}.reorder-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);width:26px;height:22px;display:flex;align-items:center;justify-content:center;padding:0}.reorder-btn:disabled{opacity:.4;cursor:not-allowed}.reorder-btn svg{width:14px;height:14px}.queue-reschedule-form{width:100%;padding:12px;margin-top:4px;background:var(--bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.queue-reschedule-note{font-size:13px;color:var(--text-muted);margin:0}.queue-reschedule-actions{display:flex;gap:8px;margin-top:4px}.prescription-patient{color:var(--text-muted);font-weight:600;margin:-12px 0 16px}.medication-row{padding:14px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.medication-row-remove{margin-top:4px}.field-with-mic{display:flex;align-items:flex-start;gap:8px}.field-with-mic textarea{flex:1}.dictation-btn{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:0}.dictation-btn.active{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.patient-search{position:relative}.patient-search>svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.patient-search input{width:100%;padding:10px 12px 10px 40px;padding-inline-start:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit}.patient-search-results{position:absolute;top:calc(100% + 6px);inset-inline-start:0;width:100%;max-height:260px;overflow-y:auto;padding:8px;z-index:10}.patient-search-result{display:block;width:100%;text-align:start;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);font-size:13px;color:var(--text)}.patient-search-result:hover{background:var(--surface-muted)}.billing-total-balance{font-size:16px;margin-bottom:16px}.billing-plan-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 0;border-block-end:1px solid var(--border)}.billing-plan-row:last-of-type{border-block-end:none}.billing-plan-title{font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:6px}.billing-plan-figures{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--text-muted)}.billing-balance-due{color:var(--warning);font-weight:700}.billing-balance-clear{color:var(--success);font-weight:700}.billing-payment-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.billing-payment-form input[type=number]{width:120px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit}.billing-payment-form select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;background:var(--surface)}.prescription-print-page{max-width:720px;margin-inline:auto;padding:24px 16px}.prescription-print-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px}@media screen and (max-width: 720px){.prescription-print-sheet{padding:20px 16px}.prescription-print-sheet table{display:block;overflow-x:auto}}.prescription-print-header{text-align:center;border-bottom:2px solid var(--accent);padding-bottom:16px;margin-bottom:20px}.prescription-print-header h1{margin:0;font-size:22px}.prescription-print-subtitle{margin:4px 0 0;color:var(--text-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.prescription-print-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.prescription-print-meta dt{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.prescription-print-meta dd{margin:2px 0 0;font-weight:600}.prescription-print-section{margin-bottom:20px}.prescription-print-section h3{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.prescription-print-table{width:100%;border-collapse:collapse}.prescription-print-table th,.prescription-print-table td{border:1px solid var(--border);padding:8px 10px;text-align:start;font-size:13px}.prescription-print-table th{background:var(--surface-muted);font-weight:600}.prescription-print-signature{display:flex;align-items:center;gap:10px;margin-top:40px;color:var(--text-muted);font-size:12px}.prescription-print-signature-line{width:200px;border-block-end:1px solid var(--border-strong)}.prescription-print-button{display:block;margin:20px auto 0}@media print{.no-print{display:none!important}body{background:#fff}.prescription-print-page{max-width:none;padding:0}.prescription-print-sheet{border:none;box-shadow:none;border-radius:0;padding:0}}.offline-banner{padding:12px 20px;font-size:13px;font-weight:600;border-block-end:1px solid var(--border)}.offline-banner p{margin:0}.offline-banner.warning{background:var(--warning-soft);color:var(--warning)}.offline-banner.danger{background:var(--danger-soft);color:var(--danger)}.offline-banner ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.offline-banner li{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.offline-banner-error{font-weight:400;color:var(--text-muted)}.ai-suggest{margin-top:10px}.ai-suggest-button{font-size:13px;padding:6px 12px}.ai-suggest-unavailable{margin:6px 0 0;font-size:13px;color:var(--text-muted)}.ai-suggest-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ai-suggest-candidate{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--accent-soft);font-size:13px}.ai-suggest-candidate span{flex:1;min-width:160px}.ai-unreviewed-badge{display:inline-block;margin-inline-start:8px;padding:1px 8px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:600}
