:root{--ink:#172a3a;--muted:#73838c;--teal:#147d73;--line:#e3eae9;--paper:#f5f8f8;--sidebar:244px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}a{color:var(--teal);text-decoration:none}a:hover{color:#0c544d}h1,h2,h3,h4{font-weight:650;letter-spacing:-.025em}h1{font-size:29px;margin:0}h2{font-size:20px}h3{font-size:16px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:28px 18px;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 29px;font-size:23px;font-weight:700;color:var(--ink)}.brand-icon{background:var(--teal);color:white;display:grid;place-items:center;width:37px;height:37px;border-radius:12px;font-size:29px;font-weight:400}.nav-caption{color:#93a19e;font-size:10px;letter-spacing:1.5px;font-weight:700;padding:12px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:9px;color:#66767e;margin:3px 0;font-weight:500}.sidebar nav a.active{background:#e6f3ef;color:#116c62}.sidebar nav a:hover{background:#f0f7f5}.sidebar .nav-symbol{width:20px;text-align:center;font-size:17px}.sidebar-foot{margin-top:35px;border-top:1px solid var(--line);padding:20px 10px;color:var(--muted);font-size:12px}.workspace{margin-left:var(--sidebar)}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:15px}.topbar-title{font-size:13px;color:var(--muted)}.account{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:35px;height:35px;background:#f0e9df;color:#8d7145;border-radius:50%;font-weight:650}.account small{display:block;color:var(--muted);font-size:11px}.content{padding:32px 36px;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:var(--teal);margin-bottom:8px;text-transform:uppercase}.subtitle{color:var(--muted);margin:9px 0 0}.btn{font-size:13px;padding:9px 15px;border-radius:7px}.btn-primary{background:var(--teal);border-color:var(--teal)}.btn-primary:hover,.btn-primary:focus{background:#0f655d;border-color:#0f655d}.btn-outline-primary{border-color:#c4dcd5;color:var(--teal)}.btn-light{background:white;border:1px solid var(--line);color:#53656d}.btn-sm{padding:5px 10px;font-size:12px}.card{border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 4px #19392e02;margin-bottom:22px;background:white;overflow:hidden}.card-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2,.card-head h3{margin:0}.card-body{padding:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.metric-label{color:var(--muted);font-size:12px}.metric-value{font-size:31px;font-weight:650;margin:9px 0 7px;letter-spacing:-1px}.metric-note{color:var(--muted);font-size:11px}.metric-icon{float:right;display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#eef6f3;color:var(--teal);font-size:18px}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.table{color:var(--ink);margin-bottom:0;font-size:13px}.table>thead>tr>th{background:#fafcfb;color:#7b898e;border-bottom:1px solid var(--line);font-size:10px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;padding:13px 20px;white-space:nowrap}.table>tbody>tr>td{padding:16px 20px;border-color:#edf1ef;vertical-align:middle}.table td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:10px;padding:6px 9px;font-weight:550;border-radius:5px}.status-scheduled,.status-planned,.status-draft{background:#eaf0fd;color:#557dc4}.status-checked-in,.status-final,.status-completed{background:#e5f5ed;color:#268465}.status-in-consultation{background:#fff1dc;color:#a87924}.status-cancelled,.status-no-show,.status-legacy{background:#faeaea;color:#b46666}.form-label{font-size:12px;font-weight:550;color:#50636d;margin-bottom:7px}.form-control,.form-select{font-size:13px;min-height:39px;border-color:#dce5e2;border-radius:6px}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #147d7310;border-color:#68a99e}textarea.form-control{min-height:84px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .wide{grid-column:1/-1}.form-actions{margin-top:22px;display:flex;gap:10px;align-items:center}.field{min-width:0}.filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filter-bar .field{min-width:140px}.filter-bar input,.filter-bar select{min-width:130px}.empty-state{padding:45px 22px;text-align:center;color:var(--muted)}.empty-state h2{color:var(--ink);font-size:18px}.muted{color:var(--muted)}.quick-link{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #eef2f0;color:var(--ink)}.quick-link:last-child{border:0}.dot{width:8px;height:8px;background:#279e7b;border-radius:50%;display:inline-block;margin-right:7px}.timeline-entry{border-left:2px solid #dcebe5;padding:0 0 24px 18px;margin-left:8px}.timeline-entry h3{margin-bottom:6px}.timeline-entry p{margin:5px 0}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:20px;background:white;padding:7px 12px;gap:5px;font-size:11px;color:var(--muted)}.inline-form{display:inline-flex;gap:6px;margin:0}.alert{border-radius:8px;font-size:13px}.alert-success{background:#e7f4ee;border-color:#d0e9dc;color:#2a7459}.small-note{font-size:12px;color:var(--muted);line-height:1.65}.tooth-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:5px;margin:10px 0}.tooth{padding:9px 0;border:1px solid #dce5e2;background:white;border-radius:5px;color:#57766c;font-size:12px}.tooth:hover,.tooth.selected{background:#d9efe5;border-color:var(--teal)}.tooth-chart-label{font-size:11px;color:var(--muted);margin-top:10px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-grid img{width:100%;height:280px;object-fit:contain;background:#f1f5f4;border-radius:8px}.photo-grid figcaption{font-size:12px;padding:10px 0;color:var(--muted)}.rx-sheet{background:white;max-width:950px;margin:auto;padding:40px;border:1px solid var(--line);border-radius:10px}.rx-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--teal);padding-bottom:22px;margin-bottom:22px}.rx-section{margin:24px 0}.rx-sign{margin-top:35px;text-align:right}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-aside{background:#123e38;color:#e4f1eb;padding:65px;display:flex;flex-direction:column;justify-content:space-between}.login-aside .brand{padding:0;color:white}.login-aside h1{font-size:48px;line-height:1.2;max-width:470px}.login-aside p{color:#a8c4b9;max-width:400px;line-height:1.8;font-size:16px}.login-main{display:grid;place-items:center;padding:40px;background:#fff}.login-box{width:100%;max-width:365px}.login-box h2{font-size:27px}.login-box .field{margin-top:20px}.login-box .btn{width:100%;margin-top:24px}.login-note{margin-top:25px;font-size:12px;line-height:1.7;color:var(--muted)}.menu-toggle{display:none;border:0;background:transparent;font-size:23px;color:var(--ink)}.progress-track{background:#edf2f0;height:6px;border-radius:5px;margin:8px 0 20px}.progress-fill{background:#459988;height:100%;border-radius:5px}.med-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 80px;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.med-row .full{grid-column:1/-1}.remove-row{border:0;background:none;color:#a45757;font-size:12px}.stack-form{margin:10px 0}.stack-form .field{margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer.app-footer{padding:8px 36px 25px;color:#94a39d;font-size:11px}.print-only{display:none}@media(max-width:1150px){.grid-main{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:25px}.topbar{padding:0 25px}}@media(max-width:780px){:root{--sidebar:220px}.sidebar{transform:translateX(-100%)}body.menu-open .sidebar{transform:translateX(0)}.workspace{margin-left:0}.menu-toggle{display:block}.content{padding:22px 16px}.topbar{padding:0 16px;height:67px}.topbar-title{display:none}.page-heading{align-items:flex-start}h1{font-size:25px}.form-grid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:16px}.metric-value{font-size:25px}.card-body{padding:17px}.account .name{max-width:130px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.login-page{grid-template-columns:1fr}.login-aside{display:none}.login-main{padding:25px}.med-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tooth-grid{grid-template-columns:repeat(8,1fr)}.rx-sheet{padding:20px}.photo-grid{grid-template-columns:1fr}.table>tbody>tr>td{padding:13px}.filter-bar .field{min-width:110px;flex:1}}@media print{.sidebar,.topbar,.no-print,.page-heading,.app-footer,.alert{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}body{background:#fff;font-size:11px}.rx-sheet{border:0;border-radius:0;padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid}.print-only{display:block}.table{font-size:11px}.table td,.table th{padding:8px!important}.rx-sign{break-inside:avoid}@page{size:A4;margin:15mm}}
