:root{--p:#087e74;--dark:#103a3b;--bg:#f3f7f7;--line:#dce8e6;--text:#17302f;--muted:#687d79}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);font-size:16px}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d3939,#087e74)}.login form{background:white;width:min(410px,92vw);padding:38px;border-radius:18px;box-shadow:0 20px 60px #062f2f66}.login-logo{width:52px;height:52px;background:#dff4f0;color:var(--p);border-radius:14px;display:grid;place-items:center;font-size:25px}.login h1{margin:16px 0 3px}.login p{margin:0 0 25px;color:var(--muted)}label{font-size:13px;font-weight:bold;display:block}.login input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select,.admin-form input,.admin-form select{width:100%;border:1px solid #cddcda;border-radius:8px;padding:10px;margin:6px 0 15px;background:white;color:var(--text)}button{font:inherit;cursor:pointer}.login button,.primary{border:0;background:var(--p);color:white;border-radius:8px;padding:10px 15px;font-weight:bold}.login button{width:100%}.login small{display:block;color:var(--muted);text-align:center;margin-top:15px}.error{color:#b5403c;font-size:13px;margin-top:10px}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--dark);color:white;padding:22px 15px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 25px}.brand i{width:40px;height:40px;border-radius:12px;background:#299b8e;display:grid;place-items:center;font-style:normal}.brand b,.brand small{display:block}.brand small{font-size:12px;color:#9bc2be;margin-top:3px}nav{display:grid;gap:6px}nav button{border:0;background:none;color:#bdd7d4;text-align:left;padding:12px;border-radius:8px}nav button.active,nav button:hover{background:#215554;color:white}.secure{margin-top:auto;border:1px solid #2c6260;background:#174746;border-radius:9px;padding:12px}.secure b,.secure small{display:block;font-size:12px}.secure small{color:#9ac1be;margin-top:4px}.profile{border-top:1px solid #2b5a59;margin-top:14px;padding:14px 7px 0}.profile b,.profile small{display:block}.profile small{font-size:12px;color:#9ac1be;margin:3px 0 8px}.profile button{border:0;background:none;color:#e3c37e;padding:0}.profile button:hover{text-decoration:underline}main{margin-left:245px;min-height:100vh}main>header{height:86px;background:white;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;position:sticky;top:0;z-index:4}header h1{font-size:21px;margin:0 0 4px}header p{font-size:13px;color:var(--muted);margin:0}main>header .primary{margin-left:auto}#mobileMenu{display:none}.page{padding:25px 28px 45px;max-width:1550px;margin:auto}.progress{background:linear-gradient(110deg,#0c716a,#155555);color:white;padding:16px 20px;border-radius:13px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:17px}.progress b,.progress span{display:block}.progress small{font-size:12px}.bar{height:8px;background:#ffffff35;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:#9be0d8}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:17px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 9px #234b470b}.card{padding:15px}.card span,.card b{display:block}.card span{font-size:12px;color:var(--muted);min-height:29px}.card b{font-size:24px}.grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:17px;margin-bottom:17px}.panel{padding:18px}.panel h2{font-size:16px;margin:0}.panel .sub{font-size:12px;color:var(--muted);margin:5px 0 18px}.bars{display:grid;gap:12px}.bars div{display:grid;grid-template-columns:145px 1fr 28px;gap:9px;align-items:center;font-size:12px}.bars i{height:9px;border-radius:9px;background:var(--p);display:block}.donut-layout{display:flex;gap:25px;align-items:center}.donut{width:160px;height:160px;border-radius:50%;position:relative}.donut:after{content:"";position:absolute;inset:34px;background:white;border-radius:50%}.legend{flex:1}.legend div{display:flex;gap:8px;font-size:12px;margin:12px 0}.legend i{width:9px;height:9px;border-radius:50%}.legend b{margin-left:auto}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:13px}.filters input,.filters select{width:auto;min-width:170px;margin:0}.filters input{flex:1;max-width:400px}.secondary{border:1px solid #cbdad8;background:white;border-radius:8px;padding:9px 13px;color:var(--text)}.table-panel{padding:0;overflow:hidden}.table-title{padding:13px 17px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th{text-align:left;background:#f4f8f7;padding:11px 13px;font-size:11px;color:#60736f;text-transform:uppercase}td{padding:11px 13px;border-top:1px solid #edf2f1;font-size:13px}td b,td small{display:block}td small{font-size:11px;color:#7b8d8a;margin-top:3px}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#edf1f1;font-size:11px;font-weight:bold}.green{background:#dff5ea;color:#18744b}.red{background:#fee8e6;color:#a63c38}.amber{background:#fff1d7;color:#9b6209}.blue{background:#e3eef9;color:#386d9e}.action td:first-child{border-left:3px solid #e3a133}.report-actions{display:flex;gap:9px;margin-bottom:15px}.upload{border:1.5px dashed #aac4c0;text-align:center;padding:45px}.upload h2{margin:5px}.upload p{color:var(--muted);font-size:13px}.upload input{margin:18px}.admin-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.admin-form button{margin-bottom:15px}.admin-list{margin-top:18px}.admin-actions{display:flex;gap:10px}.admin-actions .panel{flex:1}dialog{border:0;border-radius:14px;padding:0;width:min(720px,94vw);box-shadow:0 25px 80px #17302f45}dialog::backdrop{background:#102e2e88}dialog form{padding:22px}dialog header{display:flex;justify-content:space-between}dialog .x{border:0;background:none;font-size:25px}.patient-card{display:grid;grid-template-columns:1fr auto;background:#f0f6f5;padding:13px;border-radius:9px;margin:15px 0}.patient-card b,.patient-card small{display:block}.patient-card small{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.form-grid textarea{height:75px}dialog h3{font-size:14px;border-top:1px solid var(--line);padding-top:14px}.history{font-size:12px;max-height:130px;overflow:auto}.history div{padding:9px;border-left:3px solid var(--p);margin-bottom:7px;background:#f5f8f8}dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}#toast{position:fixed;right:20px;bottom:20px;background:#174a47;color:white;padding:13px 17px;border-radius:9px;display:none;z-index:20}
@media(max-width:1150px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){aside{transform:translateX(-100%);transition:.2s}aside.open{transform:none}main{margin-left:0}#mobileMenu{display:block;margin-right:12px}.page{padding:16px}.grid2{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.progress{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr 1fr}}@media(max-width:500px){main>header p{display:none}main>header .primary{font-size:0;padding:11px}.cards{grid-template-columns:1fr 1fr}.card{padding:12px}.donut-layout{display:block}.donut{margin:auto}.progress small{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.patient-card{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}}
.filters.scope{background:#e7f2f0;border:1px solid #cce2de;padding:10px;border-radius:10px;align-items:center}.filters.scope span{font-size:12px;color:#54736e}.upload{padding:32px}.upload form{text-align:left;max-width:520px;margin:auto}.upload input,.upload select,#groupForm input{width:100%;border:1px solid #cddcda;border-radius:8px;padding:10px;margin:6px 0 14px;background:white}.group-list{display:grid;gap:8px;margin-top:12px}.group-list div{display:flex;justify-content:space-between;gap:10px;background:#f2f7f6;padding:11px;border-radius:8px}.group-list b{font-size:13px}.group-list span{font-size:11px;color:var(--muted)}
.rule-form{display:grid;grid-template-columns:1.2fr 1fr .6fr 1fr 1fr;gap:12px;align-items:end}.rule-form input,.rule-form select{width:100%;height:40px;border:1px solid #cddcda;border-radius:8px;padding:8px;margin-top:6px;background:white}.rule-form .rule-checks{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap;background:#f2f7f6;padding:12px;border-radius:9px}.rule-form .rule-checks label{font-weight:normal}.rule-form .rule-checks input{width:auto;height:auto;margin:0 5px 0 0}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media(max-width:1000px){.rule-form{grid-template-columns:1fr 1fr}}@media(max-width:550px){.rule-form{grid-template-columns:1fr}.rule-form .rule-checks{grid-column:auto;display:grid}}

#workflowDialog{padding:22px;max-height:90vh;overflow:auto}#workflowDialog form{padding:0}#workflowDialog textarea{width:100%;border:1px solid #cddcda;border-radius:8px;padding:10px;margin:6px 0 15px;min-height:70px}aside nav{overflow:auto;min-height:0}button:disabled{cursor:default;opacity:.55}

.reports-page .panel{margin-bottom:14px}.reports-page .filters label{min-width:160px}.reports-page .filters input{margin-top:6px}#monthCloseForm input{display:block;padding:10px;margin:8px 0 15px;border:1px solid #cddcda;border-radius:8px}

.filters .queue-pending-filter{display:inline-flex;align-items:center;gap:7px;min-height:40px;font-weight:normal}.filters .queue-pending-filter input{width:16px;height:16px;min-width:16px;max-width:16px;flex:none;margin:0;accent-color:var(--p)}aside .profile{margin-top:auto}

#backupList{margin-top:12px;max-height:320px;overflow:auto}#backupList table{min-width:0}#backupList td small{overflow-wrap:anywhere}#backupList a{display:inline-block;text-decoration:none}#backupStatus{margin-top:12px}
