:root{--nav:#102e3d;--ink:#193542;--muted:#7b8f9a;--teal:#149d8a;--bg:#f4f7f8;--border:#e5edef;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}[v-cloak]{display:none}button,input,select{font:inherit}button{cursor:pointer;border:0;transition:.16s}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #71cfbf;outline-offset:2px}input,select{border:1px solid #dce5e9;border-radius:8px;background:white;padding:11px 12px;color:var(--ink);min-width:0;width:100%}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#5b737f}form label{margin:16px 0}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px}h3{font-size:14px}p{line-height:1.7;color:var(--muted)}small{display:block;font-size:11px;color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--teal);display:block;margin-bottom:11px}.primary{background:var(--teal);color:white;padding:12px 18px;border-radius:8px;font-weight:600;box-shadow:0 4px 12px #149d8a18;white-space:nowrap}.primary:hover{background:#118674}.outline{background:white;border:1px solid #dce6ea;color:#43606e;padding:10px 13px;border-radius:8px;font-size:12px;white-space:nowrap}.outline:hover{background:#f2f7f7}.text-button{background:none;color:var(--teal);padding:12px 0;font-size:12px;font-weight:600;text-align:left}.wide{width:100%}.layout{display:flex;min-height:100vh}.sidebar{background:var(--nav);width:250px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 20px;color:white;z-index:30}.brand{display:flex;align-items:center;gap:11px;font-size:22px;letter-spacing:-.7px;color:white;white-space:nowrap}.brand img{width:38px;height:38px}.brand b{font-weight:400;color:#77cebd}.workspace{display:flex;gap:12px;align-items:center;border:1px solid #ffffff15;border-radius:9px;padding:14px 12px;margin:32px 0}.workspace strong{font-size:12px;font-weight:500}.workspace small{color:#8ea7b2}.unit-dot{width:9px;height:9px;background:#41c5a9;border-radius:3px}.nav-caption{font-size:9px;letter-spacing:1.8px;color:#72919e;margin:0 12px 13px}nav button{display:flex;align-items:center;gap:12px;padding:14px 12px;background:transparent;color:#a6bac4;width:100%;border-radius:8px;margin-bottom:5px;text-align:left;font-size:13px}nav button.active{background:#1f4855;color:#b8f1e4}nav button:hover{background:#1b404f;color:white}.nav-icon{font-size:19px;line-height:1;width:21px;text-align:center}.nav-active-dot{margin-left:auto;width:5px;height:5px;background:#77e0c6;border-radius:50%}.sidebar-foot{margin-top:auto;padding-top:25px}.version{font-size:8px;color:#6e919f;letter-spacing:1.5px}.sidebar-foot p{font-size:13px;color:#83a1ae;line-height:1.7;margin:12px 0 22px}.profile{display:flex;align-items:center;gap:10px;padding:16px 0;border-top:1px solid #ffffff12;background:transparent;color:white;width:100%;text-align:left}.profile strong{font-weight:500;font-size:12px}.profile small{color:#7e9fac}.avatar{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;background:#e8f3ef;color:#438c7d;border-radius:10px;font-size:11px;flex-shrink:0;font-weight:600}.profile .avatar{background:#2b5360;color:#b3e5d7}.avatar.small{width:30px;height:30px;font-size:10px;border-radius:8px}.logout{background:none;color:#92b2c0;font-size:11px;padding:5px 0}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{display:flex;justify-content:space-between;align-items:center;height:75px;padding:0 35px;background:white;border-bottom:1px solid var(--border)}.breadcrumb{font-size:12px;color:#80949e}.breadcrumb span{margin:0 12px;color:#c2cdd2}.top-right{display:flex;gap:20px;align-items:center}.connection{display:flex;align-items:center;gap:8px;color:#82959d;font-size:10px}.connection i{height:6px;width:6px;border-radius:50%;background:#26ae8a}.demo-pill{font-size:9px;background:#fff0d5;color:#ad7925;border-radius:5px;padding:6px 8px;font-weight:700}main{max-width:1700px;margin:auto;padding:34px 35px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.page-heading p{margin-top:7px;font-size:12px}.filters{display:flex;gap:14px;align-items:end;padding:18px;background:white;border:1px solid var(--border);border-radius:11px;margin-bottom:23px}.filters label{min-width:135px}.filters label:last-of-type{min-width:95px;width:105px}.grow{flex:1}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.metric{position:relative;padding:23px 20px;background:white;border:1px solid var(--border);border-radius:12px}.metric>span:first-child{display:block;font-size:11px;color:#6e8490;max-width:80%}.metric strong{display:block;font-size:30px;font-weight:600;letter-spacing:-1px;margin:15px 0 8px}.metric small{font-size:10px}.metric-mark{position:absolute;right:17px;top:18px;font-size:18px;border-radius:9px;padding:8px 11px}.teal{background:#e6f6f1;color:#149d8a}.blue{background:#eaf0fa;color:#5087c9}.amber{background:#fff3e4;color:#c99139}.violet{background:#f2eefa;color:#9980c9}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.card{background:white;border:1px solid var(--border);border-radius:12px;margin-bottom:23px;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:23px 24px;gap:16px}.card-head p{font-size:11px;margin-top:5px}.card-head input{max-width:250px}.legend{display:flex;gap:15px;font-size:10px;color:#81959e}.legend span{display:flex;gap:5px;align-items:center}.legend i{width:7px;height:7px;border-radius:50%}.teal-bg{background:#149d8a}.pale-bg{background:#cfdee5}.chart-wrap{padding:10px 24px 0}.chart-wrap svg{width:100%;height:220px}.chart-foot{display:flex;align-items:center;gap:12px;border-top:1px solid #edf2f4;padding:15px 24px;color:#80959e;font-size:11px}.chart-foot strong{color:var(--ink);font-size:16px}.chart-foot small{margin-left:auto;font-size:9px;max-width:150px}.ranking{margin:0 24px 16px}.ranking>div:first-child{display:flex;align-items:center;gap:10px}.rank-name{font-size:10px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.ranking strong{font-size:11px}.bar-track{height:4px;background:#eef4f4;border-radius:5px;margin:9px 0 0 40px}.bar-track i{display:block;height:4px;background:#67bdac;border-radius:5px}.card>.text-button{margin-left:24px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{background:#f9fbfc;color:#8498a2;font-weight:500;font-size:10px;padding:13px 22px;border-top:1px solid #edf2f4;border-bottom:1px solid #edf2f4}td{padding:15px 22px;border-bottom:1px solid #f0f4f5}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}.name-cell{display:flex;gap:10px;align-items:center}.name-cell>span:last-child{font-size:11px;font-weight:600}.bold{font-weight:600}.badge{font-size:9px;border-radius:5px;padding:6px 8px;display:inline-block;white-space:nowrap}.badge.ok{background:#e8f6f0;color:#23866f}.badge.warn{background:#fff4e2;color:#b78332}.badge.danger{background:#fdeee9;color:#bd6651}.badge.neutral{background:#eef1f6;color:#788697}.method-note{font-size:10px;color:#91a1a8;line-height:1.7}.empty{padding:40px;text-align:center;color:var(--muted)}.empty>span{font-size:38px;color:#5fc0aa}.empty h3{margin:15px 0 5px}.empty p{font-size:12px;margin-bottom:16px}.empty.small{padding:25px}.empty-row{text-align:center;padding:35px;color:var(--muted)}.two-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.padded{padding:25px}.padded h2{margin-bottom:12px}.padded p{font-size:12px;margin:12px 0}.form-row{display:flex;gap:16px}.form-row>label{flex:1}.dropzone{display:flex;align-items:center;text-align:center;border:1.5px dashed #acd4cc;background:#f8fcfb;border-radius:12px;padding:30px 20px;cursor:pointer;margin:24px 0}.dropzone .upload-symbol{font-size:34px;color:var(--teal)}.dropzone strong{font-size:14px;color:var(--ink)}.dropzone>span:last-of-type{font-size:11px;font-weight:400}.dropzone input{padding:8px;font-size:11px;max-width:270px;margin-top:8px;background:#fff}.import-stats{display:flex;gap:35px;padding:15px 0}.import-stats strong{font-size:25px;display:block}.import-stats span{font-size:10px;color:var(--muted)}.check-line{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.7;margin:20px 0}.check-line input{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--teal)}.guide-item{display:flex;gap:15px;margin:25px 0}.guide-item b{width:30px;height:30px;border-radius:8px;background:#e9f6f1;color:var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.guide-item p{margin:5px 0;font-size:11px}.notice{background:#f4f8f9;border:1px solid #e7eff1;border-radius:9px;padding:17px;margin-top:22px}.notice strong{font-size:12px}.notice p{font-size:11px;margin:7px 0 0}.weekdays{display:flex;gap:8px;flex-wrap:wrap}.weekdays label{margin:5px 0;position:relative}.weekdays input{width:14px;position:absolute;opacity:0}.weekdays span{border:1px solid #dbe6e9;padding:9px 11px;border-radius:7px;cursor:pointer}.weekdays input:checked+span{background:#e5f6f0;color:var(--teal);border-color:#7bcbbb}.weekdays input:focus-visible+span{outline:2px solid var(--teal)}.doctor-form{display:flex;gap:14px;align-items:end}.doctor-form label{margin-bottom:0}.doctor-form .primary{margin-top:15px}.count{font-size:11px;background:#eaf5f1;padding:4px 7px;border-radius:5px;margin-left:6px}.subtle{color:var(--muted);font-size:11px}.danger{color:#b26751}.tabs{display:flex;gap:6px;background:#f3f7f8;border-radius:8px;padding:4px}.tabs button{padding:9px 20px;background:none;border-radius:6px;color:#8498a1;font-size:12px}.tabs button.selected{background:white;color:var(--teal);box-shadow:0 1px 5px #18374212}.actions{display:flex;gap:9px}.report-tools{display:flex;gap:12px;align-items:center;padding:0 24px 22px}.report-tools input{max-width:300px}.report-tools select{max-width:230px}.report-tools>span{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.pagination{display:flex;align-items:center;gap:8px;padding:17px 24px;border-top:1px solid var(--border)}.pagination>span{margin-right:auto;font-size:11px;color:var(--muted)}footer{margin-top:35px;color:#a0afb7;font-size:10px}footer span{padding:0 8px}.alert{padding:14px 17px;border-radius:9px;margin-bottom:20px;font-size:12px;line-height:1.6}.alert button{float:right;background:none;color:inherit}.alert.error{background:#fff0ec;color:#ad5f48;border:1px solid #f7ddd4}.alert.success{background:#e8f7ef;color:#258666;border:1px solid #ccebdc}.demo-banner{padding:11px 16px;background:#fff9eb;color:#a58547;border:1px solid #f3e7c9;border-radius:9px;font-size:11px;margin-bottom:20px}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.loading img{width:56px}.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-brand{background:var(--nav);padding:60px 12%;display:flex;flex-direction:column;color:white}.auth-brand .brand{margin-bottom:100px}.auth-brand h1{font-size:48px;font-weight:500;line-height:1.2;letter-spacing:-1.5px;margin:10px 0 25px}.auth-brand p{color:#88a9b8;font-size:14px;max-width:370px}.auth-brand .eyebrow{color:#58bdaa}.auth-lines{display:flex;flex-direction:column;gap:15px;margin:45px 0;color:#c0d8dc;font-size:12px}.auth-brand>small{margin-top:auto;color:#7095a6}.auth-form{display:flex;align-items:center;justify-content:center;background:#fafcfc;padding:40px}.form-card{width:370px}.form-card h2{font-size:26px;margin-bottom:10px}.form-card>p{font-size:12px;margin-bottom:25px}.form-card .text-button{text-align:center;margin-top:12px}.form-card .primary{display:flex;justify-content:space-between;margin-top:25px}.mobile-toggle{display:none}
@media(min-width:1600px){main{padding:42px 50px}.metric{padding:27px}}
@media(max-width:1200px){.sidebar{width:215px;padding:25px 16px}.main{margin-left:215px;width:calc(100% - 215px)}main{padding:25px}.filters{flex-wrap:wrap}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1.4fr 1fr}.chart-foot{flex-wrap:wrap}.rank-name{max-width:130px}.two-columns{grid-template-columns:1fr 1fr}.doctor-form{flex-wrap:wrap}.auth-brand h1{font-size:38px}}
@media(max-width:900px){.dashboard-grid,.two-columns{grid-template-columns:1fr}.sidebar{width:220px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;box-shadow:15px 0 50px #102e3d40}.main{width:100%;margin-left:0}.mobile-toggle{display:inline-block;background:none;color:var(--ink);margin-right:15px;font-size:18px}.topbar{padding:0 22px}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-form{min-height:100vh}.chart-wrap svg{height:250px}}
@media(max-width:600px){main{padding:22px 15px}.page-heading{align-items:flex-start}.page-heading .primary{font-size:11px;padding:11px}h1{font-size:25px}.metrics{gap:10px}.metric{padding:18px 13px}.metric strong{font-size:24px}.metric>span:first-child{font-size:10px}.metric-mark{right:9px;top:12px;padding:6px;font-size:13px}.metric small{font-size:9px}.connection{display:none}.filters{padding:14px;gap:10px}.filters label{min-width:calc(50% - 8px)}.filters label.grow{width:100%}.card-head{padding:18px}.card-head h2{font-size:15px}.legend{gap:8px;font-size:9px}.report-tools{flex-wrap:wrap;padding:0 18px 18px}.actions{flex-direction:column}.actions .outline{font-size:10px}.padded{padding:19px}.form-row{gap:10px}.doctor-form{display:block}.tabs button{padding:8px 12px}.chart-foot{padding:14px 18px}.auth-form{padding:25px}.breadcrumb{font-size:10px}.demo-pill{font-size:8px}footer{line-height:1.8}}
@media print{body{background:white}.sidebar,.topbar,.filters,.page-heading>button,.actions,.report-tools,.pagination,footer,.demo-banner,.alert{display:none!important}.main{margin:0;width:100%}main{padding:0;max-width:none}.card{border:0;border-radius:0}.table-scroll{overflow:visible}table{font-size:9px;white-space:normal}th,td{padding:8px}.card-head{padding:12px 0}.badge{padding:0}tr{break-inside:avoid}.page-heading{margin:20px 0}.method-note{color:#555}.tabs button:not(.selected){display:none}.metrics{grid-template-columns:repeat(4,1fr)}@page{size:A4 landscape;margin:12mm}}
