@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");:root{--ink:#172525;--muted:#6b7978;--line:#dfe7e5;--paper:#fff;--canvas:#f3f6f4;--nav:#102a2a;--nav2:#163535;--teal:#087f72;--mint:#dff4ee;--amber:#f4b860;--red:#c94b50;--shadow:0 1px 2px rgba(19,42,41,.04),0 8px 24px rgba(19,42,41,.05)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,strong{font-family:Manrope,sans-serif}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{height:100vh;position:-webkit-sticky;position:sticky;top:0;background:var(--nav);color:#d8e7e4;padding:23px 15px;display:flex;flex-direction:column;overflow-y:auto}.logo{display:flex;align-items:center;gap:11px;padding:0 10px;margin-bottom:25px;font:800 19px Manrope}.brand-mark{width:48px;height:48px;border-radius:15px;background:#0d8d7f;color:white;display:grid;place-items:center;font:800 26px Manrope;box-shadow:inset 0 0 0 1px #ffffff25}.brand-mark.small{width:30px;height:30px;border-radius:9px;font-size:16px}.practice-switch{background:#ffffff09;border:1px solid #ffffff12;border-radius:10px;padding:11px 12px;margin:0 3px 22px;display:flex;flex-direction:column}.nav-section>small,.practice-switch small{color:#829f9b;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:700}.practice-switch strong{font-size:12px;margin:4px 0}.practice-switch span{font-size:10px;color:#8caaa6}.nav-section{display:flex;flex-direction:column;margin:0 0 17px}.nav-section>small{padding:0 12px 6px}.nav-section a{display:flex;align-items:center;gap:11px;border-radius:8px;padding:9px 11px;font-size:12px;color:#b9cdca;margin:1px 0}.nav-section a:hover{background:#ffffff0d;color:white}.nav-section svg{color:#84aaa5}.sidebar-user{margin-top:auto;padding:12px 7px 0;border-top:1px solid #ffffff10;display:flex;align-items:center;gap:9px}.avatar{height:32px;width:32px;border-radius:9px;background:#e9b85e;color:#263d3b;display:grid;place-items:center;font-weight:700;font-size:11px}.sidebar-user>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.sidebar-user strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user span{font-size:9px;color:#89a6a2;text-transform:capitalize}.sidebar-user form{margin-left:auto}.sidebar-user button{background:none;color:#92aaa7;border:0;cursor:pointer}.workspace{min-width:0}.topbar{height:64px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);position:-webkit-sticky;position:sticky;top:0;z-index:10}.status-dot{height:7px;width:7px;background:#28a67e;border-radius:50%;display:inline-block;margin-right:7px}.top-actions{display:flex;align-items:center;gap:12px}.top-actions kbd{border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:#f7f9f8;color:#71817e}.icon-btn{border:0;background:none;color:#e2a940;font-size:10px}.content{padding:30px 34px 60px;max-width:1600px;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:27px;letter-spacing:-.035em;margin:4px 0}.page-header p{margin:0;color:var(--muted);font-size:12px}.eyebrow{text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.13em;color:var(--teal)}.header-actions{display:flex;gap:9px}.btn{border:1px solid transparent;border-radius:8px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:11px;cursor:pointer;background:#fff}.btn svg{width:14px}.btn.primary{background:var(--teal);color:#fff;box-shadow:0 4px 12px #087f7225}.btn.primary:hover{background:#066e63}.btn.secondary{border-color:var(--line);color:#435453}.btn.danger{background:#fff1f1;color:#9f3337}.btn.wide{width:100%;padding:11px}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px;margin-bottom:16px}.metric{padding:16px 17px;display:flex;flex-direction:column;min-height:105px}.metric>span{font-size:10px;color:var(--muted);font-weight:600}.metric>strong{font-size:23px;letter-spacing:-.04em;margin:9px 0 4px}.metric small{font-size:9px;color:#899694;display:flex;align-items:center}.metric small svg{width:12px}.trend.up{color:#18866b}.trend.down{color:#b96d36}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.dashboard-grid,.right-stack{display:grid;grid-gap:16px;gap:16px}.right-stack{align-content:start}.card-head{padding:16px 18px 13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f0}.card-head h2{font-size:15px;margin:3px 0 0;letter-spacing:-.02em}.card-head>a{font-size:10px;color:var(--teal);display:flex;align-items:center}.card-head>a svg{width:13px}.schedule-list{padding:3px 0}.schedule-row{display:grid;grid-template-columns:60px 4px minmax(180px,1fr) 145px;align-items:center;grid-gap:13px;gap:13px;padding:12px 17px;border-bottom:1px solid #edf1f0}.schedule-row:last-child{border:0}.schedule-row:hover{background:#f7faf9}.schedule-row time{font-size:10px;font-weight:700}.color-bar{height:32px;border-radius:5px}.patient-cell,.provider-cell{display:flex;flex-direction:column}.patient-cell strong{font-size:11px}.patient-cell span,.provider-cell>span{font-size:9px;color:var(--muted);margin-top:3px}.provider-cell{align-items:flex-start;gap:4px}.badge{display:inline-flex;width:max-content;border-radius:99px;padding:3px 7px;text-transform:capitalize;font-size:8px;font-weight:700;letter-spacing:.02em;background:#eef1f0;color:#677572}.badge.active,.badge.completed,.badge.confirmed,.badge.delivered,.badge.paid{background:#dcf3eb;color:#23745f}.badge.acknowledged,.badge.arrived,.badge.seated,.badge.submitted{background:#e4edfb;color:#3b6094}.badge.open,.badge.pending,.badge.ready,.badge.scheduled{background:#fff0d7;color:#8c611d}.badge.cancelled,.badge.collections,.badge.denied,.badge.failed,.badge.no-show{background:#fbe4e5;color:#a43e43}.badge.in-progress,.badge.partial{background:#eee8fb;color:#69539b}.flow-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 10px}.flow-stats>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.flow-stats>div:last-child{border:0}.flow-stats svg{width:16px;color:var(--teal);margin-bottom:4px}.flow-stats strong{font-size:20px}.flow-stats span{font-size:8px;color:var(--muted)}.task-list{padding:8px 17px 15px}.task-list>div{display:flex;align-items:center;gap:10px;padding:9px 0}.task-list strong{font-size:10px;display:block}.task-list small{font-size:8px;color:var(--muted)}.priority{width:5px;height:27px;border-radius:4px;background:#80aaa5}.priority.high{background:var(--red)}.priority.urgent{background:#9d2630}.empty-mini{padding:30px;text-align:center;color:var(--muted);font-size:11px}.table-card{overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 15px;background:#f8faf9;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#798682}.data-table td{padding:12px 15px;border-bottom:1px solid #edf1f0;font-size:10px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcfb}.name-cell{display:flex;align-items:center;gap:9px}.name-cell .avatar{background:#dceeea;color:#187464}.name-cell strong{font-size:10px}.name-cell span{display:block;color:var(--muted);font-size:8px;margin-top:2px}.searchbar{display:flex;background:white;border:1px solid var(--line);border-radius:8px;align-items:center;padding:0 10px;min-width:230px}.searchbar input{border:0;outline:0;padding:8px;background:none;width:100%;font-size:10px}.searchbar svg{width:14px;color:#85928f}.toolbar{display:flex;gap:8px;margin-bottom:14px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:13px;gap:13px}.field-grid .span-2{grid-column:1/-1}label{font-size:10px;font-weight:600;color:#40514f;display:flex;flex-direction:column;gap:5px}input,select,textarea{border:1px solid #cfdbd8;background:#fff;border-radius:8px;padding:9px 10px;color:var(--ink);outline:none;font-size:11px}input:focus,select:focus,textarea:focus{border-color:#51a89d;box-shadow:0 0 0 3px #53aa9e18}textarea{resize:vertical;min-height:80px}.form-card{max-width:820px;padding:22px}.form-card h2{font-size:15px;margin-bottom:18px}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.error,.inline-alert{border-radius:8px;padding:9px 11px;background:#fff1e0;color:#875c1e;display:flex;align-items:center;gap:8px;font-size:10px}.inline-alert svg{width:15px}.error{background:#ffebeb;color:#a53c43;margin:10px 0}.empty{padding:45px;text-align:center;color:var(--muted)}.empty svg{width:28px;color:#8bb3ae}.empty h3{color:var(--ink);font-size:14px;margin:9px 0 5px}.empty p{font-size:10px}.center-page{min-height:100vh;display:grid;place-items:center}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-brand{background:var(--nav);color:white;padding:70px 10vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #ffffff12;border-radius:50%;left:-200px;bottom:-300px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03}.login-brand h1{font-size:40px;margin:20px 0 9px}.login-brand p{max-width:360px;color:#a8c1bd;line-height:1.7;font-size:14px}.trust{margin-top:50px;display:flex;align-items:center;gap:8px;color:#85aaa4;font-size:10px}.login-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(370px,100%);display:flex;flex-direction:column;gap:14px}.auth-card h2{font-size:23px;margin:3px 0 -8px}.auth-card p{font-size:11px}.auth-card small{color:#85918f;font-size:8px;text-align:center;line-height:1.5}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs a{padding:9px 13px;font-size:10px;color:var(--muted);border-bottom:2px solid transparent}.tabs a:first-child,.tabs a:hover{color:var(--teal);border-color:var(--teal)}.patient-hero{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:18px;margin-bottom:16px}.patient-hero .avatar{width:52px;height:52px;border-radius:14px;font-size:16px}.patient-hero h1{font-size:21px;margin:0 0 3px}.patient-hero p{font-size:9px;color:var(--muted);margin:0}.alerts{display:flex;gap:5px;margin-top:8px}.alert-chip{background:#fff0e3;color:#965e25;padding:4px 7px;border-radius:5px;font-size:8px}.patient-stats{display:flex;gap:27px;text-align:right}.patient-stats div{display:flex;flex-direction:column}.patient-stats strong{font-size:14px}.patient-stats span{font-size:8px;color:var(--muted)}.patient-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);grid-gap:16px;gap:16px}.section-card{padding:18px;margin-bottom:16px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:14px;margin:0}.section-title p{font-size:9px;color:var(--muted);margin:2px 0 0}.timeline{border-left:1px solid var(--line);margin-left:5px;padding-left:18px}.timeline-item{position:relative;padding:0 0 18px}.timeline-item:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--teal);left:-22px;top:4px;box-shadow:0 0 0 4px #e6f4f1}.timeline-item:last-child{padding-bottom:0}.timeline-item header{display:flex;justify-content:space-between}.timeline-item h3{font-size:10px;margin:0}.timeline-item time{font-size:8px;color:var(--muted)}.timeline-item p{font-size:9px;color:#536260;white-space:pre-wrap;margin:6px 0}.tooth-chart{display:grid;grid-template-columns:repeat(16,1fr);grid-gap:5px;gap:5px;margin:14px 0}.tooth{aspect-ratio:.74;border:1px solid #b8ccc8;border-radius:45% 45% 35% 35%;display:grid;place-items:center;font-size:8px;color:#55716d;background:#fafeff;position:relative}.tooth.has-work{background:#f9dfb6;border-color:#dca753}.tooth.completed{background:#bcded6;border-color:#559e91}.tooth span{position:absolute;top:105%;font-size:7px}.compact-form{display:grid;grid-gap:9px;gap:9px}.compact-form .row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mini-list>div{padding:9px 0;border-bottom:1px solid var(--line);font-size:9px}.mini-list>div:last-child{border:0}.mini-list strong{display:block;font-size:9px}.mini-list span{color:var(--muted);font-size:8px}.ledger-total{font-size:20px;color:#a1474c}.calendar-board{overflow:auto}.calendar-head,.calendar-row{min-width:900px;display:grid;grid-template-columns:90px repeat(var(--columns,4),minmax(180px,1fr))}.calendar-head>div{padding:11px;border-left:1px solid var(--line);text-align:center;font-size:10px;font-weight:700;background:#f8faf9}.calendar-row{min-height:72px;border-top:1px solid var(--line)}.calendar-row>time{padding:9px;color:var(--muted);font-size:9px}.calendar-cell{border-left:1px solid var(--line);padding:3px}.appt{border-left:3px solid var(--teal);background:#e8f5f2;border-radius:5px;padding:6px;font-size:8px;display:block;margin-bottom:3px}.appt strong{font-size:9px;display:block}.appt span{color:#60716e}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.report-bars{height:180px;display:flex;align-items:flex-end;gap:13px;padding:20px}.report-bars>div{flex:1 1;background:#70afa6;border-radius:5px 5px 0 0;min-height:4px;position:relative}.report-bars span{position:absolute;bottom:-17px;width:100%;text-align:center;font-size:7px;color:var(--muted)}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.patient-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:200px 1fr}.sidebar{padding-left:9px;padding-right:9px}.content{padding:24px}.chart-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell{display:block}.sidebar{height:auto;position:static}.practice-switch,.sidebar nav,.sidebar-user{display:none}.logo{margin:0}.workspace{width:100%}.topbar{padding:0 15px}.top-actions kbd,.topbar>div:first-child{display:none}.content{padding:20px 14px}.metrics{grid-template-columns:1fr 1fr}.page-header{align-items:flex-start;gap:15px;flex-direction:column}.dashboard-grid{display:block}.right-stack{margin-top:14px}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.field-grid{grid-template-columns:1fr}.field-grid .span-2{grid-column:auto}.patient-hero{grid-template-columns:auto 1fr}.patient-stats{grid-column:1/-1;text-align:left}.tooth-chart{grid-template-columns:repeat(8,1fr)}}