:root{--nav:#152d48;--nav2:#1b3959;--bg:#f6f8fb;--white:#fff;--line:#e6ebf1;--text:#192b42;--muted:#74859a;--primary:#176ac4;--primary-deep:#10539f;--light:#edf4fc;--shadow:0 2px 8px rgba(30,56,91,.035)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:14px/1.46 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.app{min-height:100vh;display:flex}.sidebar{flex:0 0 224px;background:var(--nav);color:#d6e1ef;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:25px 20px 28px}.logo{width:39px;height:39px;border-radius:12px;background:#2a7ed1;color:#fff;font-size:24px;display:grid;place-items:center}.brand strong{display:block;color:white;font-size:18px;letter-spacing:-.5px}.brand small{display:block;color:#9fb5c8;font-size:11px}.nav-heading{margin:0;padding:15px 23px 9px;font-size:10px;letter-spacing:1.5px;color:#7792b0;font-weight:750}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding:0 10px}.sidebar nav button{display:flex;gap:12px;align-items:center;background:none;color:#ced9e6;border:0;border-radius:9px;text-align:left;padding:12px 14px;font-weight:590}.sidebar nav button span{font-size:18px;width:21px;display:inline-block;text-align:center;font-weight:400}.sidebar nav button:hover,.sidebar nav button.active{background:#28547f;color:#fff}.sidebar nav button.active{background:#1c72c5}.sidebar nav .nav-heading{padding-left:13px;margin-top:12px}.sidebar-bottom{margin:auto 16px 19px;display:flex;gap:10px;align-items:center;border:1px solid #34506b;background:var(--nav2);border-radius:11px;padding:12px}.sidebar-bottom strong{font-size:11px;display:block;color:#edf6ff}.sidebar-bottom small{font-size:10px;color:#a9bed0}.status-dot{height:8px;width:8px;border-radius:50%;background:#48c898}.main-area{flex:1;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;padding:0 27px;height:68px;background:white;border-bottom:1px solid var(--line)}.top-title{font-size:13px;font-weight:620;color:#576980}.top-right{display:flex;gap:17px;align-items:center;font-size:12px}.top-right strong{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-demo{font-weight:800;color:#9a570b;background:#fff3e0;border:1px solid #ffdfae;padding:5px 9px;border-radius:5px;letter-spacing:.6px;font-size:10px}.logout{border:0;background:none;color:#5f7187;font-weight:600}.logout:hover{color:#0d63b7}.mobile-menu{display:none;background:#f3f6fa;border:1px solid var(--line);border-radius:7px;padding:7px 11px;color:#183454}.content{max-width:1500px;margin:auto;padding:30px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.page-heading h1{font-size:24px;margin:0 0 4px;letter-spacing:-.6px;font-weight:750}.page-heading p{margin:0;color:var(--muted);font-size:13px}.heading-actions{display:flex;gap:8px}.btn{border-radius:8px;border:1px solid var(--line);padding:10px 16px;font-weight:650;min-height:39px;transition:background .16s;color:var(--text);background:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-deep)}.btn.soft{background:var(--light);border-color:#dbe8f8;color:#125aa6}.btn.soft:hover{background:#dfeefd}.btn.ghost{background:white;border-color:#dae4ed;color:#315274}.btn.full{display:block;width:100%;margin-top:10px}.panel,.metric,.side-panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel-pad{padding:22px}.panel h2,.side-panel h2{font-size:15px;letter-spacing:-.2px;font-weight:740;margin:0}.panel h3{font-size:13px}.panel p{color:var(--muted);font-size:12px;margin:4px 0 0}.demo-strip{border-radius:8px;color:#996219;background:#fffaf1;border:1px solid #f9e6c5;padding:9px 13px;font-size:11px;font-weight:670;margin-bottom:17px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{text-align:left;padding:17px 19px;border-radius:11px;transition:transform .15s,border-color .15s}.metric:hover{border-color:#b7cfe7;transform:translateY(-1px)}.metric-icon{height:36px;width:36px;display:grid;place-items:center;font-size:19px;border-radius:10px;background:#edf4fe;color:#2369b8;margin-bottom:13px}.metric span,.metric strong,.metric small{display:block}.metric span{font-size:12px;color:var(--muted)}.metric strong{font-size:29px;letter-spacing:-.8px;margin-top:3px}.metric small{color:#3172b5;margin-top:5px;font-weight:650;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(270px,.86fr);gap:16px}.panel-head{padding:20px 21px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.text-button{border:0;background:none;color:#1b70c1;font-weight:700;padding:4px 0;font-size:12px}.text-button:hover{text-decoration:underline}.table-scroller{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:600px}th,td{border-bottom:1px solid #edf0f4;padding:13px 18px}th{color:#8291a1;background:#fafcff;font-size:10px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}td{font-size:12px}td strong,td small{display:block}td small{margin-top:4px;font-size:10px;color:var(--muted)}tr:last-child td{border-bottom:0}.row-link{border:0;border-radius:6px;background:#edf5ff;color:#0c65b8;font-size:12px;font-weight:750;white-space:nowrap;padding:7px 11px}.row-link:hover{background:#dbeafd}.unpaid{color:#bc5e25;font-weight:700}.chip{display:inline-block;font-size:10px;border-radius:50px;padding:5px 8px;font-weight:700;white-space:nowrap}.chip.ok{color:#21816a;background:#e9f8f3}.chip.pending{color:#bc7b19;background:#fff6e6}.chip.neutral{color:#536e8a;background:#f0f4f8}.chip.demo{color:#95601e;background:#fff0d4}.side-panel{padding:20px}.side-panel>h2{margin-bottom:12px}.quick-action{display:flex;align-items:center;text-align:left;gap:11px;width:100%;border:1px solid var(--line);background:white;border-radius:9px;padding:12px;margin:8px 0}.quick-action:hover{background:#f7fbff}.quick-action>span:nth-child(2){flex:1}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:12px}.quick-action small{font-size:10px;color:var(--muted);margin-top:3px}.quick-action b{color:#3e82ca;font-size:18px}.quick-symbol{width:33px;height:33px;border-radius:8px;background:#eff6ff;color:#1c6bb8;display:grid;place-items:center;font-size:21px}.today-total{margin-top:19px;padding:17px;background:#f2f7fd;border-radius:9px}.today-total>*{display:block}.today-total span{font-size:12px;color:var(--muted)}.today-total strong{font-size:23px;margin-top:4px}.today-total small{font-size:11px;color:#7e90a4;margin-top:7px}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:17px;align-items:start}.work-primary{display:grid;gap:16px;min-width:0}.section-line{display:flex;align-items:center;gap:12px;margin-bottom:19px}.section-line .step{width:31px;height:31px;flex:0 0 31px;background:#ecf4ff;color:#266bb4;border-radius:9px;display:grid;place-items:center;font-size:14px;font-weight:750}.section-line p{color:var(--muted);font-size:11px;margin:3px 0 0}.right-note{margin-left:auto;font-size:11px;color:#2370b7;font-weight:700}.patient-lookup{padding:11px 13px;background:#f6f9fd;border-radius:8px;margin-bottom:17px;border:1px solid #eaf0f8}.patient-lookup label{display:block;font-size:11px;color:#61738b;font-weight:680;margin-bottom:5px}.patient-lookup select{width:100%;background:transparent;border:0;color:#173e69;outline:none;font-weight:610}.patient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.input-field{display:flex;flex-direction:column;gap:6px;min-width:0}.input-field span{font-size:11px;font-weight:670;color:#53677e}.input-field input,.input-field select,.input-field textarea,.wide-search,#recordSearch,.param-row input{border:1px solid #dbe3ed;background:#fff;border-radius:8px;min-height:40px;padding:9px 11px;color:#263a52;width:100%;outline:0;min-width:0}.input-field textarea{resize:vertical;min-height:87px}.input-field input:focus,.input-field select:focus,.wide-search:focus,#recordSearch:focus,.param-row input:focus,.result-line input:focus{border-color:#7eb2ed;box-shadow:0 0 0 3px #d8eaff99}.wide-search{margin-bottom:13px;min-height:39px}.test-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.test-choice{border:1px solid #dfe8f0;background:#fff;border-radius:9px;padding:11px;display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.test-choice:has(input:checked){background:#f1f8ff;border-color:#82b5ea}.test-choice[hidden]{display:none}.test-choice input{accent-color:#126dc0}.test-choice span{flex:1;min-width:0}.test-choice strong,.test-choice small{display:block}.test-choice strong{font-size:12px}.test-choice small{font-size:10px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.test-choice b{font-size:11px;color:#426282;white-space:nowrap}.inline-empty{padding:28px;text-align:center;background:#f9fbfd;border:1px dashed #dae4ee;border-radius:9px;color:#7b8da2;font-size:12px}.result-test{border:1px solid #e4ebf1;border-radius:9px;overflow:hidden;margin-bottom:11px}.result-test:last-child{margin-bottom:0}.result-header{display:flex;justify-content:space-between;padding:11px 13px;background:#f3f7fc;gap:12px}.result-header strong{font-size:12px}.result-header span{font-size:10px;color:#76869a}.result-line{display:grid;grid-template-columns:1fr minmax(130px,40%);gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #f0f3f7;font-size:12px}.result-line small{display:block;color:#8794a6;font-size:10px}.result-line input{border:1px solid #dce5ed;border-radius:7px;padding:8px 10px;outline:0;min-width:0;width:100%}.summary-card{padding:18px 18px 22px;position:sticky;top:87px}.summary-card .section-line{margin-bottom:22px}.price-line{display:flex;justify-content:space-between;padding:10px 0;font-size:12px;color:#6b7d90;border-bottom:1px solid #edf1f5}.price-line strong{color:#213951}.price-line.total{padding:15px 0;margin-top:3px;color:#152d47;font-weight:720;border-bottom:0}.price-line.total strong{font-size:18px;color:#105db0}.payment-fields{border-top:1px solid var(--line);padding-top:17px;margin-top:7px}.payment-fields .input-field{margin-top:11px}.payment-fields .text-button{margin:6px 0 5px}.checkbox-line{display:flex;gap:9px;align-items:center;font-size:12px;color:#516b81;margin:17px 0 18px}.checkbox-line input{accent-color:#136ec5}.note{font-size:10px!important;line-height:1.55;color:#8493a4!important;margin-top:13px!important}.payment-history{border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.payment-history h3{margin:0 0 9px}.payment-history>div{display:flex;justify-content:space-between;gap:7px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:10px;color:var(--muted)}.payment-history strong{color:#305a81}.info-inline{color:#658099;background:#f5f9fe;padding:9px;border-radius:7px;margin-bottom:14px}.records-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px}.records-bar #recordSearch{max-width:365px;flex:1}.filter-pills{display:flex;gap:7px;flex-wrap:wrap}.filter-pill{border:1px solid #dce5ee;background:white;border-radius:50px;padding:8px 12px;color:#667b8f;font-weight:680;font-size:11px}.filter-pill.chosen{background:#e8f3ff;color:#1265ad;border-color:#bfd9f5}.settings-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:17px}.settings-form{display:grid;gap:14px;margin-top:18px}.notice-box{background:#f9fbfe;border:1px solid #e5edf6;padding:14px;border-radius:8px;color:#536c86;margin-top:22px;font-size:11px}.muted-text{font-size:13px!important;color:#637891!important;line-height:1.7!important;margin:15px 0!important}.modal-back{position:fixed;inset:0;background:#0e223d88;display:grid;place-items:center;z-index:20;padding:15px}.modal-window{background:white;border-radius:13px;padding:22px;max-width:700px;width:100%;max-height:90vh;overflow:auto}.modal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title h2{font-size:18px;margin:0}.modal-title button,.param-row button{background:#f0f3f8;border:0;border-radius:7px;font-size:20px;padding:5px 11px}.param-area{display:grid;gap:7px;margin-bottom:11px}.param-row{display:grid;grid-template-columns:1.2fr .55fr 1fr 37px;gap:8px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.empty{padding:43px;text-align:center;color:#8291a3;font-size:13px}.toast{background:#244a6f;color:#fff;padding:12px 17px;border-radius:9px;box-shadow:0 10px 30px #09294840;font-size:12px;max-width:350px}.toast.danger{background:#a93b3b}#toasts{position:fixed;right:22px;bottom:22px;z-index:40;display:grid;gap:8px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-brand{background:#163551;color:white;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(30px,7vw,110px)}.brand-symbol{display:grid;place-items:center;background:#2879c6;width:66px;height:66px;font-size:36px;border-radius:17px}.login-brand h1{font-size:44px;letter-spacing:-1px;margin:23px 0 5px}.login-brand p{color:#d6e6f7;font-size:18px;margin:0 0 25px}.login-brand span{font-size:12px;color:#9cbbd8}.login-card{max-width:415px;width:calc(100% - 50px);margin:auto;display:grid;gap:16px}.login-card h2{font-size:27px;margin:0;letter-spacing:-.6px}.login-card>p{margin:-12px 0 8px;color:var(--muted);font-size:13px}.login-card>small{font-size:11px;color:var(--muted);text-align:center}.small-tag{font-size:10px;color:#2673b8;font-weight:800;letter-spacing:1px}.server-error{max-width:450px;margin:100px auto;background:white;padding:25px;border-radius:12px;border:1px solid var(--line)}@media(max-width:1170px){.content{padding:22px}.work-layout{grid-template-columns:minmax(0,1fr) 260px}.sidebar{flex-basis:204px}.dashboard-grid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:14px}.summary-card{padding:16px}.test-choices{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{position:fixed;left:0;top:0;z-index:12;transform:translateX(-101%);transition:transform .2s;width:235px;box-shadow:0 15px 36px #0b2d4b30}.sidebar.open{transform:translateX(0)}.mobile-menu{display:inline-block}.top{padding:0 17px;height:57px}.content{padding:17px}.work-layout{grid-template-columns:minmax(0,1fr)}.summary-card{position:static}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}.top-right{gap:9px}.top-title{margin-right:auto;margin-left:8px}}@media(max-width:510px){.page-heading h1{font-size:21px}.page-heading p{font-size:12px}.page-heading{align-items:flex-start}.page-heading .heading-actions .btn{padding:8px 10px;white-space:nowrap;font-size:11px}.panel-pad{padding:15px}.patient-grid{gap:9px}.test-choices{grid-template-columns:1fr}.top-right strong,.top-title{display:none}.top{justify-content:space-between}.metrics{gap:8px}.metric{padding:13px}.metric strong{font-size:24px}.metric-icon{margin-bottom:8px}.result-line{grid-template-columns:1fr minmax(100px,46%)}.result-line input{padding:8px}.param-row{grid-template-columns:1fr 65px 90px 34px;gap:4px}.param-row input{padding:6px;font-size:11px}.login-wrap{grid-template-columns:1fr}.login-brand{padding:25px;min-height:200px}.login-brand h1{font-size:28px;margin:12px 0 0}.login-brand p{font-size:13px;margin:4px 0 9px}.brand-symbol{height:43px;width:43px;font-size:27px}.login-card{margin:30px auto;width:calc(100% - 36px)}.records-bar{padding:12px}.records-bar #recordSearch{max-width:none;flex-basis:100%}table{min-width:570px}}
