:root{color:#1d2927;font-synthesis:none;--ink:#1d2927;--muted:#68736f;--line:#d9e0dc;--panel:#fff;--soft:#f7f9f7;--accent:#1f5f50;--accent-2:#17483d;--accent-soft:#e8f1ed;--warn:#8d5d20;--warn-bg:#fff7e8;--danger:#a33d3d;--shadow:0 16px 44px #192a2514;background:#f4f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);background:#f4f6f4;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}input,textarea,select{outline:none}.muted{color:var(--muted)}.eyebrow,.section-kicker{letter-spacing:.14em;color:#6d7975;font-size:10px;font-weight:800;display:block}.brand-mark{background:var(--accent);color:#fff;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 10px 22px #1f5f502e}.brand-mark.small{border-radius:11px;width:38px;height:38px}.login-shell{background:radial-gradient(circle at 0 0,#edf4f0 0,#0000 32%),#f4f6f4;place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{border:1px solid var(--line);width:min(720px,100%);box-shadow:var(--shadow);background:#fff;border-radius:26px;padding:38px}.login-brand{align-items:center;gap:17px;display:flex}.login-brand span{letter-spacing:.15em;color:#6d7773;font-size:10px;font-weight:900}.login-brand h1{letter-spacing:-.03em;margin:3px 0 2px;font-size:29px}.login-brand p{color:var(--muted);margin:0}.demo-guard{color:#71552b;background:#fffaf0;border:1px solid #e1d6ba;border-radius:14px;align-items:flex-start;gap:12px;margin:26px 0 28px;padding:14px 16px;display:flex}.demo-guard strong,.demo-guard span{display:block}.demo-guard strong{letter-spacing:.06em;font-size:12px}.demo-guard span{margin-top:3px;font-size:12px;line-height:1.5}.login-card h2{margin:0 0 5px;font-size:20px}.login-card>p{margin:0 0 18px}.role-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.role-grid button:first-child{grid-column:1/-1}.role-grid button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:16px;grid-template-columns:32px 1fr;gap:2px 10px;padding:18px;display:grid}.role-grid button:hover{background:#fafcfb;border-color:#a8b9b2}.role-grid button svg{color:var(--accent);grid-row:1/3}.role-grid button strong{font-size:14px}.role-grid button span{color:var(--muted);font-size:12px;line-height:1.4}.security-foot{color:#6c7772;align-items:center;gap:8px;margin-top:18px;font-size:11px;display:flex}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#ecf2ef;z-index:40;background:#172521;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:2px 6px 21px;display:flex}.sidebar-brand>div:nth-child(2){min-width:0}.sidebar-brand strong,.sidebar-brand span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-brand strong{font-size:14px}.sidebar-brand span{color:#9fb0a9;margin-top:2px;font-size:10px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav button{color:#b7c5c0;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:13px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#263833}.sidebar nav button.active{box-shadow:inset 3px 0 #80ad9e}.sidebar-module{color:#b8c8c2;border:1px solid #31443e;border-radius:12px;align-items:center;gap:8px;margin-top:auto;padding:11px 12px;font-size:10.5px;display:flex}.demo-only-side{color:#e2cfa2;background:#352f24;border-radius:10px;align-items:center;gap:7px;margin-top:8px;padding:9px 12px;font-size:10.5px;display:flex}.app-main{min-width:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff5;align-items:center;gap:14px;height:70px;padding:0 22px;display:flex;position:sticky;top:0}.global-search{background:#f5f7f6;border:1px solid #e1e6e3;border-radius:11px;flex:1;align-items:center;gap:8px;max-width:560px;padding:0 11px;display:flex;position:relative}.global-search input{width:100%;color:var(--ink);background:0 0;border:0;padding:10px 0}.search-popover{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;position:absolute;top:46px;left:0;right:0;overflow:hidden}.search-popover button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;width:100%;padding:11px 13px;display:flex}.search-popover button:hover{background:#f7faf8}.search-popover strong,.search-popover span{display:block}.search-popover strong{font-size:12px}.search-popover span{color:var(--muted);margin-top:2px;font-size:10.5px}.empty-search{color:var(--muted);padding:14px;font-size:12px}.topbar-demo{letter-spacing:.12em;color:#876424;background:#fff8e8;border:1px solid #e8d9b8;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.profile{align-items:center;gap:9px;margin-left:auto;display:flex}.profile>div:nth-child(2){flex-direction:column;display:flex}.profile strong{font-size:11.5px}.profile span{color:var(--muted);font-size:9.5px}.avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-2);border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.icon-btn{color:#68736f;background:0 0;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.icon-btn:hover{background:#f0f3f1}.content{padding:26px}.page-stack{flex-direction:column;gap:18px;max-width:1380px;margin:0 auto;display:flex}.page-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-heading h1{letter-spacing:-.03em;margin:4px 0;font-size:27px}.page-heading p{color:var(--muted);margin:0;font-size:12px}.date-chip{border:1px solid var(--line);color:#4c5954;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;display:flex}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics>div{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px 18px;box-shadow:0 6px 18px #12282006}.metrics span,.metrics small,.metrics strong{display:block}.metrics span{text-transform:uppercase;letter-spacing:.09em;color:#79847f;font-size:10px;font-weight:800}.metrics strong{letter-spacing:-.04em;margin:6px 0 2px;font-size:26px}.metrics small{color:#8a938f;font-size:10px}.content-grid{grid-template-columns:1.3fr .7fr;gap:14px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.panel-head h2{margin:3px 0 0;font-size:16px}.list{flex-direction:column;display:flex}.list-row{text-align:left;color:var(--ink);background:#fff;border:0;border-top:1px solid #edf0ee;grid-template-columns:88px 1fr auto;align-items:center;gap:12px;padding:12px 4px;display:grid}.list-row:hover{background:#fafcfb}.time-box{color:#4e5a56;font-size:11px;font-weight:800}.list-row strong,.list-row span{display:block}.list-row div span{color:var(--muted);margin-top:2px;font-size:10.5px}.status{text-transform:capitalize;color:#59635f;background:#eef1ef;border-radius:999px;width:max-content;padding:5px 8px;font-size:9.5px;display:inline-flex!important}.status.checked_in{color:#855d21;background:#fff2da}.status.paid{color:#2f6a45;background:#e9f4ed}.security-list{flex-direction:column;gap:9px;display:flex}.security-list div{color:#4d5955;align-items:center;gap:8px;font-size:11.5px;display:flex}.security-list svg{color:var(--accent)}.table-panel{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0ee;padding:12px 14px;font-size:11.5px}th{text-transform:uppercase;letter-spacing:.08em;color:#7c8581;background:#fafbfa;font-size:9px}td strong{font-size:11.5px}.subcell{color:var(--muted);margin-top:2px;font-size:9.5px;display:block}.small-btn,.primary-btn,.secondary-btn{border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:700;display:inline-flex}.small-btn{border:1px solid var(--line);color:#44504b;background:#fff;padding:7px 10px}.primary-btn{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-btn:hover{background:var(--accent-2)}.secondary-btn{border:1px solid var(--line);color:#34403c;background:#fff}.secondary-btn:hover,.small-btn:hover{background:#f7f9f8}.inline-search{background:#f7f9f8;border:1px solid #e2e7e4;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:0 11px;display:flex}.inline-search input{background:0 0;border:0;width:100%;padding:10px 0}.patient-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.patient-cards>button{text-align:left;color:var(--ink);background:#fff;border:1px solid #e3e8e5;border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:12px;display:grid}.patient-cards>button:hover{background:#fafcfb;border-color:#b9c8c2}.patient-avatar{color:#2e5f50;background:#edf3f0;border-radius:12px;place-items:center;width:40px;height:40px;font-size:11px;font-weight:900;display:grid}.patient-cards strong,.patient-cards span,.patient-cards small{display:block}.patient-cards strong{font-size:12px}.patient-cards span{color:var(--muted);margin-top:2px;font-size:10px}.patient-cards small{color:#7f8884;margin-top:4px;font-size:9.5px}.payment-list{flex-direction:column;display:flex}.payment-row{border-bottom:1px solid #edf0ee;grid-template-columns:minmax(220px,1.7fr) repeat(3,.6fr) auto;align-items:center;gap:14px;padding:12px 2px;display:grid}.payment-row>div:first-child strong,.payment-row>div:first-child span{display:block}.payment-row>div:first-child span{color:var(--muted);margin-top:2px;font-size:10px}.payment-row>div:not(:first-child) span,.payment-row>div:not(:first-child) strong{display:block}.payment-row>div:not(:first-child) span{color:#7c8581;text-transform:uppercase;font-size:9px}.payment-row>div:not(:first-child) strong{margin-top:2px;font-size:12px}.due{color:#9a4d30}.expense-row{border-top:1px solid #edf0ee;grid-template-columns:130px 1fr auto;gap:14px;padding:11px 0;font-size:11.5px;display:grid}.audit-list{flex-direction:column;display:flex}.audit-list>div{border-bottom:1px solid #edf0ee;grid-template-columns:28px 1fr;gap:9px;padding:11px 2px;display:grid}.audit-list svg{color:var(--accent)}.audit-list strong,.audit-list span,.audit-list small{display:block}.audit-list strong{text-transform:capitalize;font-size:11.5px}.audit-list span{color:var(--muted);margin-top:2px;font-size:9.5px}.audit-list small{color:#77817d;margin-top:3px;font-size:9.5px}.modal-backdrop,.drawer-backdrop,.report-modal-backdrop{z-index:100;background:#121c197a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(620px,100%);overflow:hidden;box-shadow:0 24px 70px #0003}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-head h2{margin:0;font-size:16px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field>span{letter-spacing:.04em;color:#65706c;font-size:9.5px;font-weight:800}.field input,.field textarea,.field select{width:100%;color:var(--ink);background:#fff;border:1px solid #d8dfdb;border-radius:9px;padding:9px 10px;font-size:11.5px}.field textarea{resize:vertical;min-height:82px}.field input:focus,.field textarea:focus{border-color:#88aa9e;box-shadow:0 0 0 3px #1f5f5014}.field input:disabled,.field textarea:disabled{color:#65706c;background:#f3f5f4}.error{color:var(--danger);font-size:9px}.demo-warning{background:var(--warn-bg);color:#76582c;border:1px solid #ebddb9;border-radius:10px;align-items:center;gap:8px;margin:14px 18px 0;padding:10px 11px;font-size:10.5px;display:flex}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:15px 18px;display:flex}.drawer-backdrop{place-items:stretch end;padding:0}.patient-drawer{background:#fff;flex-direction:column;width:min(920px,100%);height:100vh;display:flex;box-shadow:-15px 0 50px #00000029}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 22px 15px;display:flex}.drawer-head h2{margin:3px 0 2px;font-size:22px}.drawer-head p{color:var(--muted);margin:0;font-size:10.5px}.tabbar{border-bottom:1px solid var(--line);gap:2px;padding:9px 16px;display:flex;overflow:auto}.tabbar button{color:#66716d;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:10.5px;display:flex}.tabbar button.active{color:#204f42;background:#edf3f0;font-weight:800}.drawer-body{padding:18px 20px 30px;overflow:auto}.patient-overview{flex-direction:column;gap:15px;display:flex}.info-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.info-grid>div{border:1px solid #e3e8e5;border-radius:11px;padding:11px}.info-grid span,.info-grid strong{display:block}.info-grid span{text-transform:uppercase;letter-spacing:.08em;color:#7b8581;font-size:8.5px}.info-grid strong{margin-top:4px;font-size:11.5px}.module-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.visit-compose{grid-template-columns:1fr auto;align-items:end;gap:9px;margin-bottom:15px;display:grid}.visit-compose textarea{resize:vertical;border:1px solid #d8dfdb;border-radius:10px;min-height:74px;padding:10px}.visit-list{flex-direction:column;gap:8px;display:flex}.visit-list article{border:1px solid #e2e7e4;border-radius:11px;padding:12px}.visit-list article>div{justify-content:space-between;gap:10px;display:flex}.visit-list strong{font-size:10.5px}.visit-list span{color:#5f6a66;font-size:10px}.visit-list p{margin:8px 0 5px;font-size:11px;line-height:1.5}.visit-list small{color:#75807b;font-size:9.5px}.file-label{position:relative;overflow:hidden}.file-label input{opacity:0;cursor:pointer;position:absolute;inset:0}.document-list{flex-direction:column;margin-top:14px;display:flex}.document-list>div{border-top:1px solid #edf0ee;grid-template-columns:24px 1fr 36px;align-items:center;gap:8px;padding:10px 2px;display:grid}.document-list strong,.document-list span{display:block}.document-list strong{font-size:10.5px}.document-list span{color:var(--muted);font-size:9.5px}.specialty-panel{flex-direction:column;gap:13px;display:flex}.section-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.section-title-row h3{align-items:center;gap:8px;margin:3px 0 0;font-size:17px;display:flex}.module-pill{color:#3b6256;background:#edf3f0;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.eye-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.eye-grid .field.wide{grid-column:1/-1}.selected-file-row{color:#59645f;background:#f5f8f6;border:1px solid #e0e6e2;border-radius:10px;align-items:center;gap:8px;padding:9px 10px;font-size:10px;display:flex}.selected-file-row span{flex:1}.selected-file-row button{color:#6f7975;background:0 0;border:0}.module-loading{color:var(--muted);text-align:center;padding:30px}.report-modal-backdrop{z-index:130}.report-modal{background:#e9edeb;border-radius:15px;flex-direction:column;width:min(1050px,100%);height:min(94vh,1200px);display:flex;overflow:hidden}.report-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:54px;padding:0 14px;display:flex}.report-toolbar strong{font-size:12px}.report-toolbar>div{gap:6px;display:flex}.report-toolbar button{background:#fff;border:1px solid #d9e0dc;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:10px;display:flex}.report-scroll{padding:18px;overflow:auto}.clinical-report{color:#1b2623;background:#fff;width:794px;min-height:1123px;margin:0 auto;padding:50px 54px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 30px #00000014}.report-head{border-bottom:2px solid #274d43;justify-content:space-between;gap:25px;padding-bottom:17px;display:flex}.report-head span{letter-spacing:.15em;color:#74807b;font-size:8px;font-weight:800}.report-head h1{margin:3px 0;font-size:21px}.report-head p{color:#65706c;margin:0;font-size:10px}.report-contact{text-align:right;max-width:210px}.report-contact strong,.report-contact span{display:block}.report-contact strong{font-size:11px}.report-contact span{color:#6c7772;margin-top:3px;font-size:9px}.report-title{text-align:center;border-bottom:1px solid #d7ddda;padding:26px 0 23px}.report-title span{letter-spacing:.16em;color:#75807b;font-size:8px;font-weight:900}.report-title h2{text-transform:uppercase;letter-spacing:.04em;margin:6px 0 0;font-size:19px}.report-patient{border-bottom:1px solid #d7ddda;grid-template-columns:1.5fr 1fr 1fr;margin-bottom:25px;display:grid}.report-patient>div{border-right:1px solid #e4e8e6;padding:12px}.report-patient>div:first-child{padding-left:0}.report-patient>div:last-child{border-right:0}.report-patient span,.report-patient strong{display:block}.report-patient span{text-transform:uppercase;letter-spacing:.1em;color:#7b8581;font-size:7.5px}.report-patient strong{margin-top:4px;font-size:10.5px}.report-section{margin:0 0 23px}.report-section h3{text-transform:uppercase;letter-spacing:.14em;color:#315a4f;border-bottom:1px solid #bdc9c4;margin:0 0 10px;padding-bottom:7px;font-size:9px}.report-section p{white-space:pre-wrap;margin:0;font-size:11px;line-height:1.6}.report-table{border:1px solid #dbe1de;display:grid}.report-table.four{grid-template-columns:repeat(4,1fr)}.report-table>div{border-right:1px solid #dbe1de;padding:9px}.report-table>div:last-child{border-right:0}.report-table span,.report-table b{display:block}.report-table span{text-transform:uppercase;color:#7e8884;font-size:7px}.report-table b{margin-top:4px;font-size:10px}.eye-report-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.eye-report-grid>div{border:1px solid #e0e5e2;padding:9px}.eye-report-grid span{text-transform:uppercase;letter-spacing:.06em;color:#74807b;font-size:7.5px}.eye-report-grid p{margin-top:4px;font-size:9.5px}.report-visit{border-bottom:1px solid #e5e9e7;padding:8px 0}.report-visit strong{font-size:9.5px}.report-visit p{margin:4px 0;font-size:9.5px}.report-visit small{color:#66716d;font-size:8.5px}.report-image-grid{gap:7px;display:grid}.report-image-grid.count-1{grid-template-columns:1fr}.report-image-grid.count-2,.report-image-grid.count-3,.report-image-grid.count-4{grid-template-columns:1fr 1fr}.report-image-grid.count-5,.report-image-grid.count-6{grid-template-columns:repeat(3,1fr)}.report-image-grid figure{border:1px solid #d9dfdc;margin:0;padding:5px}.report-image-grid img{object-fit:contain;width:100%;height:120px;display:block}.report-image-grid figcaption{color:#7a8580;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;overflow:hidden}.report-signature{grid-template-columns:1.5fr .7fr;gap:50px;margin-top:40px;display:grid}.report-signature>div{border-top:1px solid #69736f;padding-top:7px}.report-signature span,.report-signature strong,.report-signature small{display:block}.report-signature span{text-transform:uppercase;letter-spacing:.1em;color:#7f8985;font-size:7px}.report-signature strong{margin-top:3px;font-size:9.5px}.report-signature small{color:#6b7671;margin-top:2px;font-size:8px}.fatal{text-align:center;align-content:center;place-items:center;min-height:100vh;padding:30px;display:grid}.fatal h1{margin:10px 0 4px}.fatal p{max-width:600px;color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:28px;font-size:11px}.mobile{display:none}@media (max-width:1050px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.metrics{grid-template-columns:1fr 1fr}.content-grid,.patient-cards{grid-template-columns:1fr}.payment-row{grid-template-columns:1.4fr repeat(3,.6fr) auto}}@media (max-width:780px){.app-shell{display:block}.sidebar{width:244px;transition:left .2s;position:fixed;left:-260px}.sidebar.open{left:0;box-shadow:10px 0 35px #00000038}.mobile{display:grid}.topbar{padding:0 12px}.profile>div:nth-child(2){display:none}.content{padding:17px 12px}.page-heading{flex-direction:column}.metrics,.metrics.three{grid-template-columns:1fr 1fr}.role-grid{grid-template-columns:1fr}.login-card{padding:24px}.payment-row{grid-template-columns:1fr 1fr}.payment-row>div:first-child{grid-column:1/-1}.eye-grid,.info-grid{grid-template-columns:1fr}.eye-grid .field.wide{grid-column:auto}.patient-drawer{width:100%}.clinical-report{transform-origin:0 0}.report-scroll{padding:8px}.topbar-demo{display:none}}@media (max-width:520px){.metrics,.metrics.three,.form-grid,.patient-cards,.visit-compose{grid-template-columns:1fr}.payment-row{grid-template-columns:1fr 1fr}.login-brand h1{font-size:24px}}@media print{body *{visibility:hidden!important}.clinical-report,.clinical-report *{visibility:visible!important}.clinical-report{width:210mm;min-height:297mm;box-shadow:none;margin:0;padding:14mm;position:absolute;top:0;left:0}.report-toolbar{display:none!important}}
