:root{--ink:#182b32;--muted:#74858a;--line:#e6ecec;--paper:#f7f9f8;--white:#fff;--teal:#217d78;--teal-soft:#e5f2ef;--gold:#c28a34;--gold-soft:#fbf2df;--blue:#3975a4;--blue-soft:#e8f0f7;--coral:#d56d5f;--coral-soft:#fae9e5;--shadow:0 10px 28px rgba(25,52,56,.055)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Inter,system-ui,sans-serif;display:flex;min-height:100vh}.sidebar{width:244px;min-height:100vh;background:#fff;border-right:1px solid var(--line);padding:25px 16px 18px;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:10px;padding:0 10px 28px}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--teal);color:#fff;border-radius:8px;font-size:23px;font-weight:400;line-height:1}.practice-switcher{display:flex;align-items:center;gap:9px;background:#f7faf9;border:1px solid #edf2f0;border-radius:10px;padding:10px;margin:0 0 27px}.clinic-dot,.sync-dot{width:8px;height:8px;background:#57b58a;border-radius:50%;box-shadow:0 0 0 4px #e1f3ea;flex:none}.practice-switcher div,.sync-status div,.user-chip div{display:grid;gap:2px;min-width:0}.practice-switcher strong,.sync-status strong,.user-chip strong{font-size:11px;white-space:nowrap}.practice-switcher small,.sync-status small,.user-chip small{color:var(--muted);font-size:10px;white-space:nowrap}.chevron{margin-left:auto;color:var(--muted)}.nav-label{color:#a1adae;text-transform:uppercase;font:500 10px Inter,sans-serif;letter-spacing:1.1px;margin:0 10px 9px}.nav-label-spaced{margin-top:28px}.nav-item{width:100%;border:0;background:transparent;color:#68797d;text-align:left;border-radius:8px;padding:11px 12px;margin:2px 0;font:600 12px Inter;display:flex;align-items:center;gap:11px;cursor:pointer}.nav-item:hover{background:#f6f9f8;color:var(--ink)}.nav-item.active{background:var(--teal-soft);color:var(--teal)}.nav-icon{font-size:18px;width:18px;text-align:center;font-weight:400}.nav-count{margin-left:auto;background:#d3e8e2;color:var(--teal);font:500 10px Inter;padding:3px 6px;border-radius:20px}.sidebar-bottom{margin-top:auto}.sync-status{display:flex;gap:11px;align-items:center;padding:12px 10px 20px;border-bottom:1px solid var(--line)}.user-chip{display:flex;align-items:center;gap:9px;padding:17px 8px 0}.avatar{width:29px;height:29px;background:#e5eceb;color:var(--teal);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800}.more{margin-left:auto;color:#9babab}.main-content{flex:1;padding:36px 48px 54px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.eyebrow{text-transform:uppercase;color:#92a2a4;font:500 10px Inter,sans-serif;letter-spacing:1px}.topbar h1{font-size:26px;letter-spacing:-1px;margin:8px 0 0;font-weight:700}.top-actions,.list-actions{display:flex;align-items:center;gap:13px}.icon-button,.close-button{border:0;background:transparent;color:#789093;cursor:pointer;position:relative;font-size:19px;padding:8px}.icon-button.small{font-size:20px}.notification-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--coral);top:7px;right:7px}.primary-button,.secondary-button{border:0;border-radius:7px;padding:11px 16px;font:700 12px Inter;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.primary-button{background:var(--teal);color:#fff;box-shadow:0 4px 12px rgba(33,125,120,.18)}.primary-button:hover{background:#196a66}.secondary-button{background:#fff;color:var(--ink);border:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.section-intro h2{font-size:20px;letter-spacing:-.6px;margin:0 0 5px}.section-intro p,.panel-header p{margin:0;color:var(--muted);font-size:12px}.date-filter{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 12px;color:#647578;font:600 11px Inter}.date-filter span{margin-left:16px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:9px;padding:17px 18px 14px;box-shadow:var(--shadow)}.accent-gold{border-top-color:var(--gold)}.accent-blue{border-top-color:var(--blue)}.accent-coral{border-top-color:var(--coral)}.stat-head,.stat-foot{display:flex;justify-content:space-between;align-items:center}.stat-head{color:#728286;font-size:11px;font-weight:600}.stat-icon{color:var(--teal);font-size:17px}.accent-gold .stat-icon{color:var(--gold)}.accent-blue .stat-icon{color:var(--blue)}.accent-coral .stat-icon{color:var(--coral)}.stat-card>strong{display:block;font:700 27px Inter,sans-serif;letter-spacing:-1.5px;margin:15px 0 18px}.stat-foot{font-size:10px;color:#9aa8aa}.trend{font-weight:700}.trend.up{color:#3c9b73}.trend.neutral{color:#a4813e}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:19px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.panel-header{padding:19px 21px 17px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.panel-header h3{margin:0 0 5px;font-size:13px}.text-button{background:transparent;border:0;color:var(--teal);font:700 11px Inter;cursor:pointer;padding:0}.text-button span{font-size:15px;margin-left:4px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font:500 10px Inter,sans-serif;color:#a0adaf;text-transform:uppercase;letter-spacing:.6px;padding:13px 18px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 18px;border-bottom:1px solid #eef2f1;font-size:11px;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.patient-name{display:flex;align-items:center;gap:9px;font-weight:700}.patient-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:800;background:var(--teal-soft);color:var(--teal)}.patient-avatar.alt{background:var(--gold-soft);color:var(--gold)}.patient-avatar.blue{background:var(--blue-soft);color:var(--blue)}.patient-avatar.coral{background:var(--coral-soft);color:var(--coral)}.treatment{color:#708184}.progress-cell{min-width:125px}.progress-row{display:flex;justify-content:space-between;color:#748286;font-size:10px;margin-bottom:5px}.progress-bar{height:5px;background:#edf1f0;border-radius:3px;overflow:hidden}.progress-bar i{display:block;height:100%;border-radius:3px;background:var(--teal)}.balance{font:600 12px Inter;color:var(--coral)}.visit-count{font:600 12px Inter;color:var(--teal)}.visit-month{display:block;color:var(--muted);font-size:9px;margin-top:3px}.status-badge{display:inline-block;padding:5px 8px;border-radius:5px;font-size:9px;font-weight:700}.status-badge.outstanding{background:var(--coral-soft);color:#bc5f53}.status-badge.cleared{background:var(--teal-soft);color:var(--teal)}.row-action{border:0;background:transparent;color:#96a5a6;font-size:16px;cursor:pointer}.activity-list{padding:5px 21px 9px}.activity-item{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid #eef2f1}.activity-item:last-child{border-bottom:0}.activity-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-size:13px;flex:none}.activity-copy{min-width:0;display:grid;gap:4px}.activity-copy strong{font-size:11px}.activity-copy span{font-size:10px;color:var(--muted)}.activity-amount{margin-left:auto;font:600 11px Inter;color:var(--teal);white-space:nowrap}.empty-state{text-align:center;color:var(--muted);font-size:12px;padding:44px 20px;line-height:2}.hidden{display:none!important}.view{display:none}.view.active-view{display:block}.search-box{background:#fff;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#91a0a2}.search-box input{border:0;outline:0;background:transparent;padding:10px 0;font:11px Inter;width:145px}.filter-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:18px}.filter-tab{border:0;background:transparent;padding:0 2px 13px;color:#8a999b;font:600 11px Inter;border-bottom:2px solid transparent;cursor:pointer}.filter-tab.active{color:var(--teal);border-color:var(--teal)}.filter-tab span{background:#e9efed;border-radius:12px;padding:3px 6px;margin-left:4px;font:500 9px Inter}.report-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:22px}.outstanding-card{border-top:3px solid var(--coral)}.cleared-card{border-top:3px solid var(--teal)}.report-card-heading{display:flex;align-items:center;gap:12px}.report-symbol{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:18px;background:var(--coral-soft);color:var(--coral)}.cleared-card .report-symbol{background:var(--teal-soft);color:var(--teal)}.report-card h3{font-size:13px;margin:0 0 4px}.report-card p{font-size:10px;color:var(--muted);margin:0}.report-total{font:700 27px Inter;margin:24px 0 18px}.report-list{border-top:1px solid var(--line)}.report-line{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #eef2f1;font-size:11px}.report-line small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.report-line strong{font:600 11px Inter}.outstanding-card .report-line strong{color:var(--coral)}.cleared-card .report-line strong{color:var(--teal)}.modal-backdrop{position:fixed;inset:0;background:rgba(25,43,47,.32);display:grid;place-items:center;z-index:5;padding:20px}.modal{width:min(470px,100%);background:#fff;border-radius:12px;padding:25px;box-shadow:0 24px 70px rgba(25,43,47,.2);animation:modal-in .18s ease-out}.modal-header{display:flex;justify-content:space-between;margin-bottom:25px}.modal-header h2{font-size:21px;margin:7px 0 0}.close-button{font-size:25px;line-height:1;padding:0}.modal form{display:grid;gap:16px}.modal label{display:grid;gap:7px;color:#66777a;font-size:11px;font-weight:700}.modal input,.modal select,.modal textarea{border:1px solid #dfe8e6;border-radius:6px;padding:11px 12px;font:12px Inter;color:var(--ink);outline:0;background:#fff}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.modal textarea{resize:vertical}.optional{font-weight:400;color:#a1adae;margin-left:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:6px}.payment-balance{background:#f5f9f8;color:#627578;padding:11px 12px;border-radius:6px;font-size:11px}.payment-balance strong{color:var(--coral);font-family:Inter}.toast{position:fixed;bottom:24px;right:28px;background:var(--ink);color:#fff;padding:12px 17px;border-radius:7px;font-size:11px;z-index:10;box-shadow:var(--shadow);animation:toast-in .2s ease-out}@keyframes modal-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:1050px){.main-content{padding:28px 26px}.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.activity-panel{min-height:0}}@media(max-width:720px){.sidebar{width:62px;padding:20px 8px}.brand{padding:0 9px 28px;font-size:0}.brand-mark{font-size:22px}.practice-switcher,.nav-label,.nav-item:not(.active) .nav-count,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:12px 8px}.nav-item{font-size:0}.nav-icon{font-size:19px}.main-content{padding:24px 16px}.topbar{align-items:center;margin-bottom:29px}.topbar h1{font-size:20px}.top-actions .icon-button{display:none}.section-intro{align-items:flex-start;gap:16px;flex-direction:column}.list-actions{width:100%;flex-wrap:wrap}.search-box{flex:1}.search-box input{width:100%}.stat-grid{gap:10px}.stat-card{padding:13px}.stat-card>strong{font-size:20px;margin:13px 0}.stat-foot{display:block}.stat-foot>span{display:block;margin-top:3px}.report-cards{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.top-actions .primary-button{padding:10px}.table-panel{overflow:hidden}th,td{padding-left:12px;padding-right:12px}.patient-list-panel{overflow:auto}}

/* Typography refresh: larger, smoother, tabular numbers */
body{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"tnum" 1}
.brand{font-size:20px;letter-spacing:-.6px}
.topbar h1{font-size:30px;font-weight:800;letter-spacing:-1.1px}
.section-intro h2{font-size:22px;font-weight:800;letter-spacing:-.7px}
.section-intro p,.panel-header p{font-size:13px;line-height:1.5}
.panel-header h3,.report-card h3{font-size:15px;font-weight:700;letter-spacing:-.2px}
.eyebrow{font-size:11px;letter-spacing:1.2px}
.nav-item{font-size:13.5px;font-weight:600;padding:10px 12px}
.nav-label{font-size:10.5px;color:#8e9d9f}
.practice-switcher strong,.sync-status strong,.user-chip strong{font-size:12.5px}
.practice-switcher small,.sync-status small,.user-chip small{font-size:11px}
th{font-size:11px;color:#8f9ea0}
td{font-size:13px}
.patient-name{font-weight:700;font-size:13.5px}
.balance,.visit-count{font-size:13px}
.activity-copy strong{font-size:13px}
.activity-copy span,.visit-month{font-size:11.5px}
.activity-amount{font-size:13px}
.stat-head{font-size:12.5px}
.stat-foot{font-size:11.5px}
.stat-card>strong{font-size:30px}
.primary-button,.secondary-button{font-size:13px}
.text-button{font-size:12.5px}
.filter-tab{font-size:13px}
.search-box input{font-size:13px}
.status-badge{font-size:11px}
.report-line,.report-card p{font-size:12.5px}
.report-line small{font-size:11.5px}
.report-line strong{font-size:13px}
.modal-header h2{font-size:22px;font-weight:800;letter-spacing:-.5px}
.modal label{font-size:12.5px}
.modal input,.modal select,.modal textarea{font-size:14px}
.payment-balance,.toast,.empty-state{font-size:13px}

/* Grouped sidebar navigation */
.nav-group{margin-top:22px}
.nav-group-title{display:flex;align-items:center;gap:9px;margin:0 10px 6px;color:var(--ink);font:800 11px Inter;text-transform:uppercase;letter-spacing:.9px}
.nav-group-title .nav-icon{font-size:15px;color:var(--teal)}
.nav-sub{margin-left:18px;padding-left:10px;border-left:1px solid var(--line)}
.nav-sub .nav-item{font-size:13px;padding:8px 10px}
.nav-sub .nav-item.nav-action{color:var(--teal)}
.logout-link{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#8a9a9c;text-decoration:none;font-size:16px}
.logout-link:hover{background:var(--coral-soft);color:var(--coral)}
@media(max-width:720px){.nav-item,.nav-sub .nav-item{font-size:0}.nav-group{margin-top:10px}.nav-group-title{display:none}.nav-sub{margin-left:0;padding-left:0;border-left:0}.nav-sub .nav-item{padding:12px 8px}}
.stat-card>strong,.report-total{font-family:Inter,sans-serif;font-weight:800;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}
.stat-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.brand{font-size:0}.sidebar-bottom{display:block}.sync-status,.user-chip .avatar,.user-chip>div{display:none}.user-chip{justify-content:center;padding:0}.logout-link{margin:0}.stat-grid{grid-template-columns:1fr}.doctor-settlement{white-space:normal}}
.main-content{min-width:0}
