
.app-shell{display:contents}.login-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#123d36,#285d52)}.login-card{width:min(430px,100%);padding:36px;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.login-card .puskesmas-logo{margin-bottom:24px}.login-card h1{font-size:28px!important;margin:0 0 8px}.login-copy{color:var(--muted);margin-bottom:24px}.login-device-notice{display:none;margin:0 0 18px;padding:11px 12px;border-left:3px solid #b7791f;border-radius:6px;background:#fff8e6;color:#714b12;font-size:13px;line-height:1.5}.login-card label{display:block;margin-top:14px;font-weight:700;color:#526d65}.login-card input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:10px;outline:none}.login-card input:focus{border-color:#6b9187;box-shadow:0 0 0 3px #e5efeb}.login-card .btn{width:100%;margin-top:20px;padding:13px}.login-error{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:#fff0ed;color:#a63c32}.login-card button:disabled{opacity:.65;cursor:wait}@media(max-width:1024px){.login-device-notice{display:block}}
:root{--ink:#183b35;--muted:#74847f;--green:#174b41;--mint:#dcebe5;--lime:#d7ec84;--cream:#f5f2ea;--paper:#fff;--line:#e5e8e2;--red:#b95449;--shadow:0 18px 55px rgba(20,54,47,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',sans-serif;display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#123d36;color:#fff;padding:28px 20px 22px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.05;letter-spacing:.3px}.brand-mark{width:38px;height:38px;background:var(--lime);color:var(--green);display:grid;place-items:center;border-radius:12px;font-family:Newsreader;font-size:25px}.brand b{font-size:18px}nav{margin-top:58px;display:grid;gap:8px}.nav-item{border:0;color:#bbcdc8;background:transparent;padding:13px 14px;border-radius:10px;text-align:left;font:600 14px inherit;cursor:pointer}.nav-item span{display:inline-block;width:26px;font-size:18px}.nav-item.active,.nav-item:hover{color:white;background:rgba(255,255,255,.1)}.privacy-note{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);padding:18px 3px;display:flex;gap:9px;align-items:center}.privacy-note>span{font-size:9px;color:var(--lime)}.privacy-note b,.profile b{font-size:12px;display:block}.privacy-note small,.profile small{font-size:10px;color:#9eb3ad}.profile{display:flex;align-items:center;gap:10px;padding-top:18px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8c8ad;color:#563a2b;font-weight:700;font-size:11px}main{margin-left:236px;padding:40px 48px;width:calc(100% - 236px);max-width:1500px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#779088;margin:0 0 7px}h1,h2,h3,p{margin-top:0}h1{font:600 34px Newsreader;margin-bottom:0}h2{font:600 37px/1.04 Newsreader}h3{font:600 24px Newsreader;margin-bottom:0}.header-actions{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted)}button,input,select,textarea{font:inherit}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:600;font-size:12px;cursor:pointer}.primary{background:var(--green);color:white;box-shadow:0 8px 20px rgba(23,75,65,.18)}.ghost{background:white;color:var(--ink);border:1px solid var(--line)}.danger{background:#fbe9e7;color:var(--red)}.view{display:none}.view.active{display:block}.hero{height:245px;border-radius:20px;background:var(--mint);padding:35px 40px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.hero p{font-size:12px;font-weight:700;color:#55746c}.hero h2{font-size:39px}.hero h2 span{color:#a14c40}.text-btn,.link-btn{border:0;background:none;color:var(--green);font-weight:700;font-size:12px;padding:0;cursor:pointer}.pulse-art{width:320px;position:relative}.ring{position:absolute;border:1px solid rgba(23,75,65,.13);border-radius:50%;inset:50%;transform:translate(-50%,-50%)}.r1{width:210px;height:210px}.r2{width:145px;height:145px;background:rgba(255,255,255,.35)}.heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-size:35px;color:var(--green);box-shadow:0 14px 35px rgba(23,75,65,.13)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:17px 0}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat-icon{width:28px;height:28px;border-radius:8px;background:#edf3f0;display:grid;place-items:center;color:var(--green)}.stat strong{font:600 30px Newsreader;display:block;margin-top:10px}.stat small{color:var(--muted);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:17px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.agenda-list{display:grid}.agenda{display:grid;grid-template-columns:55px 1fr auto;align-items:center;padding:13px 0;border-top:1px solid var(--line);gap:14px}.date-box{text-align:center;background:var(--cream);padding:7px 4px;border-radius:8px}.date-box b{display:block;font:600 18px Newsreader}.date-box small,.agenda small{font-size:10px;color:var(--muted)}.agenda strong{font-size:13px;display:block}.chip{padding:6px 9px;border-radius:20px;background:#eef4f0;color:#456a61;font-size:9px;font-weight:700;white-space:nowrap}.chip.due{background:#f9e6e1;color:#a44a40}.condition-chart{display:grid;gap:15px}.bar-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.bar{height:9px;background:#eff1ec;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:10px}.bar-item:nth-child(2) i{background:#92ad62}.bar-item:nth-child(3) i{background:#d5a66d}.toolbar{display:flex;gap:10px;margin-bottom:15px}.search{background:white;border:1px solid var(--line);border-radius:10px;padding:0 13px;display:flex;align-items:center;gap:8px;flex:1}.search input{border:0;outline:0;width:100%;background:transparent}.toolbar select{background:white;border:1px solid var(--line);padding:0 12px;border-radius:10px;color:var(--ink);font-size:11px}.table-wrap{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}table{width:100%;border-collapse:collapse}th{text-align:left;background:#fafbf8;color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:13px 16px}td{padding:15px 16px;border-top:1px solid var(--line);font-size:11px;vertical-align:middle}td strong{display:block;font-size:12px}td small{color:var(--muted)}.row-avatar{display:flex;align-items:center;gap:10px}.initial{width:32px;height:32px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-weight:700}.more-btn,.icon-btn{background:none;border:0;font-size:19px;cursor:pointer;color:var(--muted)}.empty{text-align:center;padding:55px;display:grid;gap:5px}.empty span{color:var(--muted);font-size:12px}.hidden{display:none!important}.schedule-panel{max-width:900px}.schedule-list{display:grid}.schedule-row{display:grid;grid-template-columns:90px 1fr auto;gap:20px;border-top:1px solid var(--line);padding:18px 0;align-items:center}.schedule-row strong{font-size:13px}.schedule-row small{color:var(--muted);display:block;margin-top:3px;font-size:11px}dialog{border:0;border-radius:19px;padding:0;max-width:680px;width:calc(100% - 30px);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(11,35,31,.55);backdrop-filter:blur(3px)}form{padding:28px}.modal-head{display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:23px 0}.form-grid label{font-size:10px;font-weight:700;color:#61756f}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #dfe4df;border-radius:9px;outline:none;color:var(--ink);background:white}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6b9187;box-shadow:0 0 0 3px #e5efeb}.modal-actions{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px}.modal-actions span{flex:1}.toast{position:fixed;right:28px;bottom:28px;background:#123d36;color:white;padding:13px 18px;border-radius:10px;font-size:12px;opacity:0;transform:translateY(12px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:950px){.sidebar{width:76px}.brand span:not(.brand-mark),.nav-item{font-size:0}.nav-item span{font-size:18px}.privacy-note,.profile>div:not(.avatar){display:none}main{margin-left:76px;width:calc(100% - 76px);padding:28px}.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.pulse-art{display:none}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}}@media(max-width:650px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:65px;padding:8px;flex-direction:row}.brand,.privacy-note,.profile{display:none}nav{margin:0;display:flex;width:100%;justify-content:space-around}.nav-item{padding:10px}main{margin:0 0 65px;width:100%;padding:22px 15px}header{align-items:flex-start}.header-actions #today{display:none}.hero{padding:27px}.hero h2{font-size:32px}.stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.toolbar select{height:39px;flex:1}.table-wrap{overflow-x:auto}table{min-width:820px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
.control-submenu{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.control-tab{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.control-tab.active,.control-tab:hover{background:var(--green);border-color:var(--green);color:#fff}.control-panel{display:none}.control-panel.active{display:block}.control-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:0 0 18px}.control-filters label{color:#61756f;font-weight:800;font-size:12px}.control-filters input,.control-filters select{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.control-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.control-card{background:#eef5f1;border:1px solid #dce8e2;border-radius:14px;padding:16px}.control-card small{display:block;color:#647870;font-weight:800;margin-bottom:8px}.control-card strong{font-size:28px;line-height:1}.control-card span{display:block;color:#647870;margin-top:8px}.target-badge{background:#f4f7e2;color:var(--green);border:1px solid #d7ec84;border-radius:999px;padding:8px 12px;font-weight:800}.control-table-wrap{overflow:auto}.control-table-wrap table{min-width:760px}.control-table-wrap tr[data-open-record]{cursor:pointer}.control-table-wrap tr[data-open-record]:hover{background:#f6faf7}.dx-pill{display:inline-block;background:#eef5f1;border-radius:999px;padding:6px 9px;margin:2px 4px 2px 0;color:var(--ink)}.controlled-cell{background:#e7f4ea!important;color:#145d35}.controlled-cell b{color:#145d35}.rppt-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;align-items:end;min-height:260px}.rppt-month{border:1px solid var(--line);border-radius:14px;background:#fbfcfa;padding:12px;display:grid;gap:8px}.rppt-month>b{font-size:12px}.rppt-month small{color:#647870}.rppt-bars{height:170px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;position:relative;border-bottom:1px solid #cfd9d4;padding:0 4px}.rppt-bars label{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;text-align:center;font-size:11px;font-weight:800;color:var(--ink);position:relative;z-index:1}.rppt-bars i{display:block;min-height:3px;border-radius:8px 8px 0 0;background:var(--green)}.rppt-bars label:nth-of-type(2) i{background:#93ad62}.rppt-bars em{font-style:normal;color:#647870;font-size:10px}.bar-line.target{position:absolute;left:0;right:0;height:2px;background:#d5a66d;z-index:0}.bar-line.target:after{content:'5%';position:absolute;right:0;bottom:3px;color:#9c7138;font-size:10px;font-weight:800}@media(max-width:950px){.control-filters{grid-template-columns:1fr 1fr}.control-cards{grid-template-columns:1fr 1fr}.nav-item[data-view="disease-control"]{font-size:0}}@media(max-width:650px){.control-submenu{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.control-tab{white-space:nowrap}.control-filters,.control-cards{grid-template-columns:1fr}.control-table-wrap table{min-width:680px}.rppt-chart{grid-template-columns:1fr}}
.table-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px;color:var(--muted);font-weight:700}.table-meta>span{color:var(--ink)}.table-meta label{display:flex;align-items:center;gap:8px}.table-meta select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:0 10px}.table-meta .btn{padding:8px 11px;box-shadow:none}.table-meta .btn:disabled{opacity:.45;cursor:not-allowed}.control-filters .wide{grid-column:span 2}.control-age{background:#fbfcfa;border:1px solid var(--line);border-radius:12px;padding:10px}.rppt-line-chart{width:100%;min-height:280px;background:#fbfcfa;border:1px solid var(--line);border-radius:16px;padding:10px}.rppt-line-chart polyline{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.rppt-line-chart text{font:700 11px 'Inter',sans-serif;fill:#647870}.line-ht{stroke:#174b41}.line-dm{stroke:#93ad62}.dot-ht{fill:#174b41}.dot-dm{fill:#93ad62}.target-line{stroke:#d5a66d;stroke-width:3;stroke-dasharray:7 6}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-weight:800;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:22px;height:4px;border-radius:999px;display:inline-block}.line-ht-bg{background:#174b41}.line-dm-bg{background:#93ad62}.target-bg{background:#d5a66d}@media(max-width:650px){.table-meta{align-items:stretch}.table-meta label,.table-meta>div{width:100%;justify-content:space-between}.control-filters .wide{grid-column:auto}}
.control-filters .control-age{padding:16px!important;display:grid;gap:12px;align-content:start;min-height:auto}.control-age>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.control-age label{display:grid!important;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;margin:0;color:#61756f}.control-age input[type=range]{min-height:auto!important;height:22px!important;margin:0!important;padding:0!important}.rppt-chart{display:block!important;min-height:0!important}.rppt-line-chart{display:block;min-height:340px}.chart-legend{justify-content:center;margin-top:14px}.dx-builder{background:#fbfcfa;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}.filter-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dx-filter-row{display:grid;grid-template-columns:78px minmax(180px,1fr) minmax(150px,.7fr) 44px;gap:10px;align-items:end}.dx-filter-row label{font-size:12px}.dx-filter-row input,.dx-filter-row select{min-height:44px!important;margin-top:6px!important}.dx-row-spacer{min-height:44px}.dx-remove{width:44px;height:44px}.import-panel{display:none}.import-panel.active{display:block}.import-card{max-width:980px}.muted-copy{color:var(--muted);line-height:1.55}.file-drop{display:grid;gap:8px;border:1px dashed #b8c8c2;background:#fbfcfa;border-radius:14px;padding:18px;font-weight:800;color:#61756f}.file-drop input{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:8px}.import-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.import-result{margin-top:16px}.import-result>div{border-radius:12px;padding:12px 14px;background:#eef5f1;color:#174b41}.import-result .import-warning{background:#fff7e9;color:#8a5a18}.import-result .import-error{background:#fdeaea;color:#9f1d1d}.nav-item svg{width:20px;height:20px;fill:currentColor;vertical-align:middle}@media(max-width:950px){.dx-filter-row{grid-template-columns:1fr 1fr}.dx-row-spacer{display:none}.dx-remove{width:100%}}@media(max-width:650px){.filter-row-head{align-items:stretch;flex-direction:column}.dx-filter-row{grid-template-columns:1fr}.control-age label{grid-template-columns:50px 1fr}.import-card .panel-head{display:grid;gap:12px}.import-actions .btn{width:100%}}

/* Data Penyakit compact table + RPPT table */
.control-table-wrap table th,.control-table-wrap table td{padding:9px 12px!important;vertical-align:middle}
.control-table-wrap table td strong{font-size:14px!important;line-height:1.25}
.control-table-wrap table td small{display:block;font-size:12px!important;line-height:1.25;margin-top:2px;color:var(--muted)}
.control-table-wrap tbody tr{height:auto}
.control-table-wrap tbody tr:hover td{background:#f4f8f5}
.dx-pill{padding:4px 8px!important;margin:1px 4px 1px 0!important;font-size:12px!important;font-weight:800;cursor:help}
.rppt-cards{display:block!important}
.rppt-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}
.rppt-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0}
.rppt-table th,.rppt-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.rppt-table tr:last-child th,.rppt-table tr:last-child td{border-bottom:0}
.rppt-table th{font-size:12px!important;color:#61756f;text-transform:uppercase;letter-spacing:.08em;background:#fbfcfa}
.rppt-table td b{display:block;font-size:18px!important}
.rppt-table td small{display:block;font-size:12px!important;color:var(--muted);margin-top:3px}
.rppt-table td.rppt-below{background:#fff0ed;color:#a63c32}
.rppt-table td.rppt-below small{color:#a63c32}
.rppt-table td.rppt-ok,.rppt-table td.rppt-target{background:#eef5f1;color:var(--green)}
.rppt-point circle{cursor:help;stroke:white;stroke-width:1.5}
.rppt-point circle:hover{r:7}
.import-steps{display:grid;gap:12px}.import-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.import-step>b{display:inline-flex;background:#dcebe5;border-radius:999px;padding:5px 9px;margin-bottom:8px;font-size:12px}.import-step h4{margin:0 0 8px;color:var(--ink)}.import-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.import-table-wrap table{width:100%;min-width:640px;border-collapse:collapse}.import-table-wrap th,.import-table-wrap td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.import-choice{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;background:#fbfcfa}.import-choice small{display:block;color:var(--muted);margin-top:4px}.import-choice select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:white;color:var(--ink);font-weight:800}.import-error-text{color:#9f1d1d;font-weight:800}@media(max-width:650px){.import-choice{grid-template-columns:1fr}.import-table-wrap table{min-width:560px}}
.import-guidance{margin:0 0 16px;padding:14px 16px;border:1px solid #e4c86b;border-radius:12px;background:#fff9df;color:#5e4a0c}.import-guidance h4{margin:0 0 8px}.import-guidance ul{margin:0;padding-left:20px;display:grid;gap:6px}#import-export-view,.import-panel,.import-card,.import-result,.import-steps,.import-step{width:100%;max-width:100%;min-width:0}.import-table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.import-preview-table{width:max-content!important;min-width:1500px!important}.import-sort-button{display:flex;align-items:center;gap:5px;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;white-space:nowrap}.import-review-toolbar,.import-pagination,.import-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.import-review-toolbar select,.import-batch-actions select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px}.import-pagination .btn{min-width:42px}.import-duplicate-table{width:max-content!important;min-width:900px!important}.import-summary-bubbles{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 16px}.import-summary-bubble{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #bad5cb;border-radius:999px;background:#edf7f3;color:#174b41;font-weight:700}.import-verification-dialog{width:min(500px,calc(100% - 32px));padding:0;border:0}.import-verification-dialog form{padding:24px}.import-verification-dialog label{display:grid;gap:7px;margin-top:14px;font-weight:700}.import-verification-dialog input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.import-verification-dialog .modal-actions{margin-top:20px}
.lab-import-submenu{margin:18px 0}.ui-local-tabs{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;padding:4px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-subtle)}.ui-local-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);font:500 14px/20px "Inter",sans-serif;white-space:nowrap;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease}.ui-local-tab:hover{background:var(--surface);color:var(--text-primary)}.ui-local-tab.active,.ui-local-tab[aria-selected="true"]{border-color:var(--border-default);background:var(--surface);color:var(--primary-700);box-shadow:var(--shadow-xs);font-weight:600}.ui-local-tab:focus-visible{outline:3px solid rgba(54,117,104,.3);outline-offset:2px}.lab-import-panel{display:none}.lab-import-panel.active{display:grid;gap:16px}.import-date-confirm{display:grid;gap:7px;max-width:360px;font-weight:800;color:#61756f}.import-date-confirm input{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;color:var(--ink)}.compact-head{margin:0}.compact-head .muted-copy{margin:0}@media(max-width:650px){.ui-local-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.ui-local-tab{width:100%;padding-inline:10px}}
.lab-identity-review{min-width:1150px!important}.lab-identity-review td,.lab-identity-review th{white-space:nowrap}.lab-identity-unmatched td{background:#fff6f3}.lab-match-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-weight:800}.lab-match-status.matched{background:#e8f5ed;color:#17633a}.lab-match-status.unmatched{background:#fde9e5;color:#a33a2e}
.detected-header-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.detected-header-list span{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--line);background:#eef5f1;border-radius:999px;padding:6px 10px;color:var(--ink)}

/* Data Penyakit: filter layout */
.control-filters-control{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.control-filters-diagnosis{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;padding:16px;background:#fbfcfa;border:1px solid var(--line);border-radius:16px}
.control-filters-diagnosis .dx-search-wide{grid-column:span 2}
.control-filters .full-row{grid-column:1/-1}
.control-filters-control .full-row.compact-age{grid-column:1/-1}
.compact-age{padding:14px 16px!important;background:#fbfcfa;border:1px solid var(--line);border-radius:14px}
.compact-age>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.compact-age .age-number-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.compact-age .age-number-row label{display:block!important;font-size:12px;font-weight:800;color:#61756f}
.compact-age .age-number-row input[type=number]{display:block;width:100%;min-height:44px!important;height:44px!important;margin-top:6px!important;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px!important;font-weight:800}
.compact-age input[type=number]::-webkit-outer-spin-button,.compact-age input[type=number]::-webkit-inner-spin-button{margin:0}
@media(max-width:950px){.control-filters-control,.control-filters-diagnosis{grid-template-columns:1fr 1fr}.control-filters .full-row{grid-column:1/-1}}
@media(max-width:650px){.control-filters-control,.control-filters-diagnosis{grid-template-columns:1fr}.compact-age .age-number-row{grid-template-columns:1fr 1fr}}

/* Jadwal Kontrol compact grouped list */
.schedule-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.schedule-filter select,.schedule-filter input[type=date]{height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font-weight:800}
.schedule-days-control{display:flex;align-items:center;gap:10px;min-width:260px;background:#fbfcfa;border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.schedule-days-control input[type=range]{min-width:140px}
.schedule-days-control strong{font-size:18px}
.schedule-date-group{border-top:1px solid var(--line);padding:12px 0}
.schedule-date-group:first-child{border-top:0}
.schedule-date-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--muted)}
.schedule-date-head strong{font-size:13px;color:var(--ink)}
.schedule-date-head span{font-size:12px;font-weight:800;background:#eef5f1;border-radius:999px;padding:5px 9px;color:#456a61}
.schedule-patient-list{display:grid;gap:4px}
.schedule-patient-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;width:100%;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;cursor:pointer}
.schedule-patient-row:hover{background:#f4f8f5}
.schedule-patient-row strong{font-size:14px;line-height:1.2}
.schedule-patient-row small{font-size:12px;line-height:1.25;color:var(--muted)}
@media(max-width:650px){.schedule-filter{justify-content:stretch}.schedule-filter select,.schedule-filter input[type=date],.schedule-days-control{width:100%}.schedule-patient-row{grid-template-columns:1fr;gap:2px}}
.control-monitor-panel{max-width:none}.schedule-monitor-filters{grid-template-columns:repeat(4,minmax(170px,1fr))}.schedule-monitor-filters .wide{grid-column:span 2}.control-monitor-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:4px 0 18px}.control-monitor-stat{background:#eef5f1;border:1px solid #dce8e2;border-radius:13px;padding:14px}.control-monitor-stat small{display:block;color:var(--muted);font-weight:800}.control-monitor-stat strong{display:block;font-size:25px;margin-top:4px}.control-monitor-table{overflow:auto}.control-monitor-table table{min-width:1050px}.control-monitor-table tr[data-schedule-patient]{cursor:pointer}.control-monitor-table tr[data-schedule-patient]:hover td{background:#f4f8f5}.control-monitor-table td>small{display:block;margin-top:4px}.control-status{display:inline-block;border-radius:999px;padding:6px 9px;font-weight:800;font-size:12px}.control-status.visited{background:#e5f4ea;color:#17613a}.control-status.unvisited{background:#f2f0e8;color:#6b6250}.control-status.overdue{background:#fde9e6;color:#a33d32}@media(max-width:1050px){.schedule-monitor-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.control-monitor-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.schedule-monitor-filters{grid-template-columns:1fr}.schedule-monitor-filters .wide{grid-column:auto}.control-monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Final wording/layout polish */
.agenda-clickable{width:calc(100% + 20px);margin-inline:-10px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer;font:inherit;border-radius:12px;padding-inline:10px;transition:background .18s ease,box-shadow .18s ease}
.agenda-clickable:hover{background:#eef5f1;box-shadow:none}
.schedule-date-head strong{font-size:16px!important;font-weight:900!important}
.schedule-date-head span{font-size:13px!important;font-weight:900!important}
.schedule-filter-head{justify-content:flex-end!important}
.schedule-filter-head>div:first-child:empty{display:none}

/* Copy button for reusable identity fields */
.copyable-identity{position:relative}
.copy-identity-btn{
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  padding:0!important;
  margin-left:8px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--green)!important;
  font:800 12px/1 "Inter",sans-serif!important;
  box-shadow:none!important;
  cursor:pointer;
  vertical-align:middle;
}
.copy-identity-btn:hover{background:#eef5f1!important;border-color:#bad0c8!important}
.identity span.copyable-identity,
.identity-details span.copyable-identity,
#service-patient-meta span.copyable-identity{padding-right:10px}
#service-patient-meta .copy-identity-btn,
.identity-details .copy-identity-btn,
.identity .copy-identity-btn{float:right;margin-top:-2px!important}
@media(max-width:650px){
  #service-patient-meta .copy-identity-btn,
  .identity-details .copy-identity-btn,
  .identity .copy-identity-btn{float:none;margin-top:0!important}
}

/* WhatsApp Blast + diagnosis filter polish */
.schedule-tab-panel{display:none}
.schedule-tab-panel.active{display:block}
.wa-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.wa-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;white-space:nowrap;text-decoration:none}
.whatsapp-panel .control-table-wrap table{min-width:920px}
.wa-template-card{display:grid;gap:12px;margin:14px 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f7fbf8}
.wa-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.wa-template-head h4{margin:0 0 4px;font-size:16px}
.wa-template-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.wa-template-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#wa-message-template{width:100%;min-height:112px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;font:700 14px/1.5 "Inter",Arial,sans-serif;resize:vertical}
.wa-template-preview{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:#fff;border:1px dashed var(--line)}
.wa-template-preview b{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.wa-template-preview p{margin:0;line-height:1.55}
.dx-builder.full-row{gap:12px!important;padding:16px!important}
.dx-builder-head{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) minmax(190px,.72fr) 44px;gap:10px;align-items:end;color:#61756f;font-size:12px;font-weight:900}
.dx-builder-head label{display:grid;gap:6px}
.dx-builder-head select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font-weight:800}
.dx-filter-row{grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) minmax(190px,.72fr) 44px!important;gap:10px!important}
.dx-filter-row .dx-row-spacer{display:block!important}
.dx-filter-row .dx-row-logic{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font-weight:800}
.control-table-wrap:has(.diagnosis-summary-table){overflow:hidden}
.diagnosis-summary-table{width:100%;min-width:0!important;table-layout:fixed}
.diagnosis-summary-table th,.diagnosis-summary-table td{width:20%!important;overflow-wrap:anywhere;word-break:normal}
.diagnosis-summary-table td{vertical-align:top}
.diagnosis-summary-table td:nth-child(3){line-height:1.35}
.diagnosis-code-list{white-space:normal}
.table-wrap table th,.table-wrap table td,
.control-table-wrap table th,.control-table-wrap table td{padding:8px 12px!important}
.table-wrap table td strong,.control-table-wrap table td strong{line-height:1.16!important}
.table-wrap table td small,.control-table-wrap table td small{line-height:1.2!important;margin-top:1px!important}
@media(max-width:950px){
  .wa-filters{grid-template-columns:1fr 1fr}
  .dx-builder-head{grid-template-columns:1fr 1fr}
  .dx-builder-head>span:last-child{display:none}
  .dx-filter-row{grid-template-columns:1fr 1fr!important}
  .control-filters-diagnosis{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .wa-filters{grid-template-columns:1fr}
  .wa-template-head{display:grid}
  .wa-template-actions{justify-content:stretch}
  .wa-template-actions .btn{width:100%}
  .dx-builder-head{grid-template-columns:1fr}
  .dx-builder-head>span{display:none}
  .dx-filter-row{grid-template-columns:1fr!important}
  .control-filters-diagnosis{grid-template-columns:1fr}
  .control-filters-diagnosis .dx-search-wide{grid-column:auto}
  .diagnosis-summary-table th,.diagnosis-summary-table td{padding:7px 5px!important;font-size:10px}
}
.duplicate-identity-dialog{width:min(760px,calc(100vw - 32px));border:0;border-radius:16px;padding:0;color:var(--text-primary,#173a34);box-shadow:0 24px 70px rgba(12,40,34,.28)}
.duplicate-identity-dialog::backdrop{background:rgba(7,26,22,.55)}
.duplicate-identity-dialog form{padding:24px}.duplicate-identity-dialog header small{font-weight:800;color:var(--primary-700,#17695b);letter-spacing:.08em}.duplicate-identity-dialog h3{margin:6px 0;font-size:24px}.duplicate-identity-dialog header p{margin:0;color:var(--text-secondary,#647870)}
.duplicate-identity-grid{display:grid;gap:0;margin:20px 0;border:1px solid var(--border-default,#d8e1dc);border-radius:10px;overflow:hidden}.duplicate-identity-grid>div{display:grid;grid-template-columns:130px 1fr 1fr;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border-default,#d8e1dc)}.duplicate-identity-grid>div:last-child{border-bottom:0}.duplicate-identity-grid small{color:var(--text-secondary,#647870)}.duplicate-identity-head{background:var(--surface-subtle,#f4f7f5)}.duplicate-identity-dialog footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.duplicate-identity-dialog form{padding:18px}.duplicate-identity-grid>div{grid-template-columns:1fr}.duplicate-identity-head{display:none!important}.duplicate-identity-dialog footer .btn{width:100%}}
.monthly-hero{display:grid;gap:18px;margin-bottom:18px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#123f36,#1d6556);color:#fff}.monthly-hero small,.monthly-preview .panel-head small,.monthly-card-heading small{font-weight:700;letter-spacing:.13em;opacity:.75}.monthly-hero h2{margin:5px 0 6px;font-size:27px}.monthly-hero p{margin:0;opacity:.8}.monthly-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.monthly-steps button{display:flex;align-items:center;gap:8px;border:0;border-top:3px solid rgba(255,255,255,.25);padding:9px 0 0;background:transparent;color:inherit;text-align:left;font-weight:600;opacity:.58;cursor:default}.monthly-steps button.active{border-color:#cfb172;opacity:1}.monthly-steps button.complete{border-color:#93b9ad;opacity:.82;cursor:pointer}.monthly-steps button span{font-size:14px}.monthly-steps b{font-size:12px}.monthly-builder{display:grid;gap:0;overflow:hidden;padding:0}.monthly-step-card{display:grid;gap:24px;min-height:340px;padding:28px;animation:monthly-step-in .22s ease}.monthly-step-card[hidden]{display:none}.monthly-card-heading{display:flex;align-items:flex-start;gap:14px}.monthly-card-heading h3{margin:2px 0 4px;font-size:21px}.monthly-card-heading p{margin:0;color:var(--muted)}.monthly-number{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#174b41;color:#fff;font-size:13px;font-weight:700}.monthly-field{display:flex;align-items:flex-end;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7faf8}.monthly-field label{display:grid;gap:7px;flex:1;color:var(--muted);font-size:12px;font-weight:600}.monthly-scope-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.monthly-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.monthly-section-head .monthly-card-heading{flex:1}.monthly-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.monthly-section-grid label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.monthly-section-grid label:has(input:checked){border-color:#76a697;background:#f0f7f3}.monthly-section-grid input{margin-top:3px;accent-color:#174b41}.monthly-section-grid span{display:grid;gap:3px}.monthly-section-grid small{color:var(--muted);line-height:1.35}.monthly-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px}.monthly-card-actions .btn span{font-size:16px}.monthly-status{display:block;padding:0 28px 22px;color:var(--muted);font-size:12px}.monthly-preview{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.monthly-preview>.panel-head{align-items:flex-start}.monthly-preview>.panel-head h3{margin:4px 0}.monthly-preview>.panel-head p{margin:0;color:var(--muted)}.monthly-export-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid #bfd5cd;border-radius:16px;background:#eef5f1}.monthly-export-card b{font-size:18px}.monthly-export-card p{margin:5px 0 0;color:var(--muted)}.monthly-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.monthly-kpis>div{padding:14px;border-radius:13px;background:#f3f7f5;border:1px solid #dbe5e0}.monthly-kpis strong{display:block;margin-bottom:3px;color:#174b41;font-size:22px}.monthly-kpis span{color:var(--muted);font-size:12px}.monthly-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.monthly-chart{padding:16px;border:1px solid var(--line);border-radius:14px}.monthly-chart h4{margin:0 0 12px}.monthly-bar-row{display:grid;grid-template-columns:120px 1fr 55px;align-items:center;gap:9px;margin:8px 0;font-size:12px}.monthly-bar-track{height:9px;border-radius:9px;background:#e6ede9;overflow:hidden}.monthly-bar-track i{display:block;height:100%;border-radius:inherit;background:#2b7565}.monthly-preview-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.monthly-preview-section h4{margin:0 0 6px}.monthly-preview-section p{margin:0;color:var(--muted)}.monthly-warning{margin-bottom:12px;padding:11px 13px;border-radius:10px;background:#fff7e8;color:#7e5815;font-size:12px}.monthly-history{margin-top:18px}.monthly-history-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.monthly-history-row small{color:var(--muted)}.monthly-history-empty{padding:14px 0;color:var(--muted)}@keyframes monthly-step-in{from{opacity:.35;transform:translateX(14px)}to{opacity:1;transform:none}}@media(max-width:900px){.monthly-scope-fields,.monthly-charts{grid-template-columns:1fr}.monthly-kpis{grid-template-columns:1fr 1fr}.monthly-export-card{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.monthly-steps{grid-template-columns:1fr}.monthly-steps button{display:none}.monthly-steps button.active{display:flex}.monthly-section-grid,.monthly-kpis{grid-template-columns:1fr}.monthly-field{align-items:stretch;flex-wrap:wrap}.monthly-card-actions,.monthly-preview>.panel-head{display:grid}.monthly-card-actions .btn{width:100%}.monthly-section-head{display:grid}.monthly-history-row{grid-template-columns:1fr}}
.monthly-pie-layout{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:16px}.monthly-pie-layout svg{width:130px;max-width:100%;overflow:visible}.monthly-pie-layout svg text{fill:#174b41;font-size:17px;font-weight:900}.monthly-pie-layout svg .monthly-pie-caption{fill:#71837d;font-size:8px;font-weight:700}.monthly-pie-legend{display:grid;gap:8px}.monthly-pie-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:11px}.monthly-pie-legend i{width:10px;height:10px;border-radius:3px}.monthly-pie-legend span{color:var(--muted)}.monthly-pie-legend b{white-space:nowrap}@media(max-width:650px){.monthly-pie-layout{grid-template-columns:105px 1fr}.monthly-pie-layout svg{width:105px}}


.service-nav{color:var(--lime)}
.service-hero{display:flex;justify-content:space-between;align-items:center;background:var(--mint);border-radius:18px;padding:28px 32px;margin-bottom:16px}.service-hero h2{margin-bottom:7px}.service-hero>div>p:last-child{margin:0;color:var(--muted);font-size:12px}
.service-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.service-mini-stat{background:white;border:1px solid var(--line);border-radius:13px;padding:17px 19px}.service-mini-stat small{color:var(--muted);font-size:10px}.service-mini-stat strong{font:600 25px Newsreader;display:block;margin-top:4px}
.picker-dialog{max-width:760px}.picker-shell{padding:28px}.modal-head p{color:var(--muted);font-size:11px;margin:5px 0 0}.picker-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:9px;margin:22px 0}.picker-filters .search{min-height:42px}.picker-filters select{border:1px solid var(--line);border-radius:10px;padding:0 10px;color:var(--ink);font-size:11px;background:white}.participant-results{border:1px solid var(--line);border-radius:12px;max-height:390px;overflow:auto}.participant-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.participant-row:last-child{border:0}.participant-row:hover{background:#f4f8f5}.participant-row strong{font-size:13px}.participant-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.pick-arrow{font-size:20px;color:#8da29c}
.service-dialog{max-width:960px;width:calc(100% - 30px);max-height:94vh}.service-dialog form{padding:0}.sticky-head{position:sticky;top:0;background:white;z-index:3;padding:25px 30px 18px;border-bottom:1px solid var(--line)}.clinical-section{padding:25px 30px;border-bottom:1px solid var(--line)}.identity-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#f1f6f3}.identity-card .initial{width:44px;height:44px}.identity-card small{font-size:9px;color:var(--muted);letter-spacing:1px}.identity-card h3{font:600 20px Newsreader;margin:3px 0}.identity-card p{font-size:10px;color:var(--muted);margin:0}.program-badge{padding:8px 11px;background:var(--green);color:white;border-radius:20px;font-size:10px;font-weight:700}
.section-title{display:flex;align-items:center;gap:11px;margin-bottom:17px}.section-title>span{width:29px;height:29px;background:var(--mint);border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:700}.section-title h3{font:600 19px Newsreader;margin:0}.section-title p{font-size:10px;color:var(--muted);margin:2px 0 0}.section-title .add-row-btn{margin-left:auto}.clinical-section label{font-size:10px;font-weight:700;color:#61756f}.clinical-section input,.clinical-section select,.clinical-section textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #dfe4df;border-radius:9px;outline:none;color:var(--ink);background:white}.clinical-section textarea{resize:vertical}.clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.clinical-grid.four{grid-template-columns:repeat(4,1fr)}.clinical-grid.followup{max-width:280px;margin-top:15px}.clinical-grid label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.add-row-btn{border:1px solid #bdd0c9;background:#f1f7f4;color:var(--green);border-radius:8px;padding:8px 10px;font-size:10px;font-weight:700;cursor:pointer}
.dynamic-list{display:grid;gap:9px}.dynamic-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:8px;align-items:end;padding:11px;background:#fafbf9;border:1px solid var(--line);border-radius:10px}.dynamic-row.dx-row{grid-template-columns:1.8fr 1fr auto}.dynamic-row.med-row{grid-template-columns:1.4fr 1fr auto}.remove-row{width:36px;height:38px;border:0;border-radius:8px;background:#f7e8e6;color:var(--red);cursor:pointer}.subsection-head{display:flex;justify-content:space-between;align-items:end;margin:22px 0 11px}.subsection-head b{display:block;font-size:12px}.subsection-head small{color:var(--muted);font-size:9px}.sticky-actions{position:sticky;bottom:0;background:white;padding:17px 30px;z-index:3;box-shadow:0 -10px 30px rgba(20,54,47,.06)}
@media(max-width:850px){.clinical-grid.four{grid-template-columns:1fr 1fr}.picker-filters{grid-template-columns:1fr}.dynamic-row,.dynamic-row.dx-row,.dynamic-row.med-row{grid-template-columns:1fr 1fr}.service-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.service-hero{align-items:flex-start;gap:15px}.service-hero .btn{white-space:nowrap}.service-stats{grid-template-columns:1fr}.clinical-grid,.clinical-grid.four{grid-template-columns:1fr}.clinical-section,.sticky-head{padding-left:18px;padding-right:18px}.identity-card{grid-template-columns:auto 1fr}.program-badge{grid-column:1/-1;width:max-content}.dynamic-row,.dynamic-row.dx-row,.dynamic-row.med-row{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-wrap:wrap}.section-title .add-row-btn{margin-left:40px}}
.service-form-page{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.service-editor{max-width:980px;margin:0 auto 40px}.service-form-page .sticky-head{position:static}.service-form-page .sticky-actions{position:sticky}.outside-check{display:flex!important;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f9f7}.outside-check input{display:inline!important;width:auto!important;margin:0!important}.outside-check span{color:var(--ink)}.outside-check small{margin-left:auto;color:var(--muted);font-weight:400}html,body,button,input,select,textarea,h1,h2,h3,.brand-mark,.stat strong,.date-box b,.service-mini-stat strong,.identity-card h3,.section-title h3{font-family:'Inter',sans-serif!important}
.history-section{background:#fbfcfa}.patient-history{display:grid;grid-template-columns:1fr;gap:10px}.patient-history.history-loaded{grid-template-columns:repeat(3,minmax(0,1fr));max-height:520px;overflow:auto;padding-right:3px}.history-load-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #cbd8d3;background:white;border-radius:12px;padding:15px 16px}.history-load-card strong{display:block;font-size:13px}.history-load-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.history-load-card .btn{white-space:nowrap}.history-card{border:1px solid var(--line);background:white;border-radius:11px;padding:13px}.history-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.history-card-head strong{font-size:11px}.history-card-head span{color:var(--muted);font-size:9px}.history-metrics{display:flex;gap:6px;flex-wrap:wrap}.history-metrics span{font-size:9px;background:#eef4f0;padding:5px 7px;border-radius:6px}.history-card p{margin:9px 0 0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-empty{padding:16px;border:1px dashed #ccd8d3;border-radius:10px;color:var(--muted);font-size:10px;text-align:center}
.lab-summary-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.lab-summary-head h2{margin-bottom:5px}.lab-summary-head p:last-child{font-size:11px;color:var(--muted);margin:0}.lab-toolbar{flex-wrap:wrap}.lab-toolbar .search{min-width:260px}.lab-toolbar select{min-height:40px}.lab-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.lab-summary-card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px 18px}.lab-summary-card small{font-size:9px;color:var(--muted)}.lab-summary-card strong{display:block;font-size:23px;margin-top:5px}.lab-matrix-wrap{overflow-x:auto}.lab-matrix{min-width:1180px}.lab-matrix th:first-child,.lab-matrix td:first-child{position:sticky;left:0;z-index:2;background:white;min-width:175px;box-shadow:8px 0 14px rgba(20,54,47,.04)}.lab-matrix th:first-child{background:#fafbf8;z-index:3}.lab-value{display:block;font-weight:700;font-size:10px;white-space:nowrap}.lab-value small{display:block;font-weight:400;font-size:8px;margin-top:2px}.lab-missing{color:#b3bfbb}.data-note{font-size:9px;color:var(--muted);margin:10px 3px}.lab-test-hidden{display:none}
@media(max-width:850px){.patient-history.history-loaded{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.patient-history.history-loaded{grid-template-columns:1fr}.history-load-card{align-items:stretch;flex-direction:column}.lab-summary-head{align-items:flex-start;gap:12px}.lab-summary-cards{grid-template-columns:1fr}.lab-toolbar select{width:100%}}
.lab-patient-finder{position:relative;max-width:860px;margin:0 auto 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.lab-patient-finder>label>span{display:block;font-size:10px;font-weight:700;margin-bottom:7px;color:#61756f}.lab-patient-finder .btn{height:52px}.lab-search{height:52px;border-radius:13px;box-shadow:0 8px 25px rgba(20,54,47,.06)}.lab-patient-matches{position:absolute;top:78px;left:0;right:0;z-index:8;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:330px;overflow:auto}.lab-match{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line);cursor:pointer}.lab-match:last-child{border:0}.lab-match:hover{background:#f2f7f4}.lab-match strong{font-size:12px}.lab-match small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.lab-match>span:last-child{color:var(--green);font-weight:700}.lab-search-prompt{text-align:center;padding:75px 20px;background:rgba(255,255,255,.55);border:1px dashed #cbd8d3;border-radius:17px}.lab-search-prompt>span{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:var(--mint);font-size:24px}.lab-search-prompt h3{font-size:18px;margin-bottom:5px}.lab-search-prompt p{font-size:10px;color:var(--muted)}.selected-lab-patient{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(135deg,#e4f0eb,#f3f7ed);padding:19px 22px;border-radius:14px;margin-bottom:13px}.selected-lab-patient .initial{width:42px;height:42px}.selected-lab-patient strong{font-size:15px}.selected-lab-patient small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.comparison-matrix{min-width:720px}.comparison-matrix th:first-child,.comparison-matrix td:first-child{min-width:235px}.comparison-matrix th:not(:first-child){min-width:130px;text-align:center}.comparison-matrix td:not(:first-child){text-align:center}.comparison-matrix .lab-value{font-size:12px}.lab-change{font-size:8px!important;margin-top:4px!important;color:#6c847d}.lab-toolbar{justify-content:flex-end}.lab-toolbar select{height:40px}.puskesmas-seal{width:44px;height:44px;border-radius:12px;background:var(--green);color:white;display:grid;place-items:center;font-weight:700}
.logo-only{justify-content:center}.puskesmas-logo{position:relative;width:50px;height:50px;display:block;border-radius:15px;background:var(--lime);box-shadow:0 10px 25px rgba(0,0,0,.14)}.puskesmas-logo:before,.puskesmas-logo:after{content:'';position:absolute;background:var(--green);border-radius:3px;left:50%;top:50%;transform:translate(-50%,-50%)}.puskesmas-logo:before{width:25px;height:9px}.puskesmas-logo:after{width:9px;height:25px}.puskesmas-logo i{position:absolute;width:7px;height:7px;background:white;border-radius:50%;right:8px;top:8px}.puskesmas-logo.prima-logo{overflow:visible;background:transparent;box-shadow:none;border-radius:0}.puskesmas-logo.prima-logo:before,.puskesmas-logo.prima-logo:after,.puskesmas-logo.prima-logo i{display:none}.puskesmas-logo.prima-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}.database-title{line-height:1.55;color:var(--green);letter-spacing:1.5px}.database-title span{color:#8a9b96;font-size:9px}.history-section{background:#f6f8f5}
.donut-wrap{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:25px;padding:4px 5px}.program-donut{width:150px;height:150px;border-radius:50%;position:relative;display:grid;place-items:center}.program-donut:after{content:'';position:absolute;width:88px;height:88px;border-radius:50%;background:white}.program-donut>div{position:relative;z-index:1;text-align:center}.program-donut strong{display:block;font-size:26px}.program-donut span{display:block;color:var(--muted);font-size:9px;margin-top:2px}.donut-legend{display:grid;gap:12px}.donut-legend>div{display:flex;align-items:center;gap:9px}.donut-legend i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.donut-legend b{display:block;font-size:11px}.donut-legend small{display:block;color:var(--muted);font-size:9px;margin-top:2px}@media(max-width:1100px){.donut-wrap{grid-template-columns:120px 1fr;gap:15px}.program-donut{width:120px;height:120px}.program-donut:after{width:70px;height:70px}}
.rm-field{background:#eef5f1;border:1px solid #cbdcd5;border-radius:12px;padding:14px}.rm-input-wrap{position:relative}.rm-input-wrap input{font-size:18px!important;font-weight:700;letter-spacing:3px;color:var(--green)!important;background:white!important;padding-right:72px!important}.rm-input-wrap span{position:absolute;right:11px;top:50%;transform:translateY(-32%);font-size:8px;color:var(--muted);letter-spacing:0}.rm-field>small{display:block;color:var(--muted);font-weight:400;margin-top:6px}
.lab-row{grid-template-columns:1.45fr 1.35fr .7fr .7fr auto}.lab-reference{background:#eef3f0!important;color:#526d65!important}.lab-result-value{font-size:18px!important;font-weight:700!important;color:var(--green)!important}.lab-result-unit{font-size:14px!important;color:var(--muted)!important}.ttv-warning{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:12px;border:1px solid #edc3ba;background:#fff1ee;color:#9f4037;border-radius:10px}.ttv-warning span{font-size:14px!important;font-weight:600}.history-open{border:1px solid #bdd0c9;background:white;color:var(--green);border-radius:7px;padding:5px 8px;cursor:pointer;font-weight:700}.row-avatar strong{font-size:17px!important;line-height:1.25}.row-avatar small{font-size:14px!important}.subsection-head{padding-top:5px}@media(max-width:850px){.lab-row{grid-template-columns:1fr 1fr}}
html,body,button,input,select,textarea,h1,h2,h3,.brand-mark,.stat strong,.date-box b,.service-mini-stat strong,.identity-card h3,.section-title h3{font-family:'Inter',sans-serif!important}body,button,input,select,textarea,label,small,p,th,td,.eyebrow,.chip,.nav-item,.bar-label,.agenda strong,.privacy-note b,.donut-legend b,.donut-legend small{font-size:14pt!important}.app-brand{justify-content:flex-start}.app-brand .puskesmas-logo{width:44px;height:44px;flex:0 0 44px}.brand-copy{line-height:1.25}.brand-copy b{display:block;font-size:14pt!important;color:white}.brand-copy small{display:block;margin-top:3px;font-size:11pt!important;color:#a9bdb7}@media(max-width:950px){.app-brand{justify-content:center}.app-brand .puskesmas-logo{display:block!important}.brand-copy{display:none}}
.history-card{padding:16px}.history-card-head strong{font-size:15px}.history-metrics{gap:8px}.history-metrics span{font-size:14px;padding:6px 9px}.history-card p{font-size:14px!important;line-height:1.55;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-empty{font-size:14px}
#service-table,#service-table *{font-size:14px!important;line-height:1.45}
.ttv-compact{display:flex;align-items:center;gap:10px;white-space:nowrap}.ttv-compact .ttv-high{color:#b42318!important}.ttv-compact span{color:var(--muted)}
.identity-card{grid-template-columns:auto 1fr auto}.identity-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin-top:10px}.identity-details span{font-size:14px}.identity-details b{display:block;color:var(--muted);font-size:12px}.allergy-alert{grid-column:1/-1;padding:11px 14px;border-radius:9px;background:#fff0ed;color:#a63c32;font-weight:700}.vital-grid,.anthro-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.anthro-grid{margin-top:14px}.vital-grid label,.anthro-grid label{position:relative}.vital-grid small,.anthro-grid small{position:absolute;right:9px;bottom:12px;color:var(--muted);font-size:12px!important}.warning-bubbles{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.warning-bubble{padding:9px 11px;border-radius:20px;background:#fff2df;color:#945a00}.warning-bubble.abnormal{background:#fff0ed;color:#a63c32}.physical-row{display:grid;grid-template-columns:220px 1fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px}.standalone-note{display:block;margin-top:16px}.result-with-unit{position:relative}.result-with-unit .lab-result{padding-right:95px}.lab-unit-label{position:absolute;right:10px;top:50%;transform:translateY(-35%);color:var(--muted)}.settings-panel{max-width:900px}.template-setting{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.template-setting p{white-space:pre-line;color:var(--muted);margin:5px 0 0}.lab-value{font-size:18px!important}.lab-value small{font-size:14px!important}.comparison-matrix td:first-child strong{font-size:17px!important}.lab-reference-inline{display:block;margin-top:7px;color:var(--muted)}.lab-high{color:#b42318}.lab-low{color:#1769aa}@media(max-width:1100px){.vital-grid,.anthro-grid{grid-template-columns:repeat(3,1fr)}}
.sidebar{overflow-y:auto}.sidebar nav{margin-top:34px;gap:4px}.sidebar .nav-item{padding:10px 12px}.privacy-note{margin-top:24px}

/* Skala tipografi: metadata 12–13, isi 14–16, judul 20–32 px. */
:root{--type-caption:12px;--type-small:13px;--type-body:14px;--type-body-lg:16px;--type-subtitle:18px;--type-section:20px;--type-page:32px}
html,body{font-size:var(--type-body)!important;line-height:1.5}body,button,input,select,textarea,label,p,td{font-size:var(--type-body)!important}small,.eyebrow,.data-note,.section-title p,.modal-head p,.identity-details b,.lab-reference-inline{font-size:var(--type-caption)!important;line-height:1.45}h1{font-size:var(--type-page)!important;line-height:1.2}h2{font-size:26px!important;line-height:1.25}h3,.section-title h3{font-size:var(--type-section)!important;line-height:1.3}.panel-head h3,.subsection-head b{font-size:var(--type-subtitle)!important}
.nav-item{font-size:var(--type-body)!important}.brand-copy b{font-size:var(--type-small)!important}.brand-copy small{font-size:11px!important}.btn,.text-btn,.link-btn,.add-row-btn,.history-open{font-size:var(--type-body)!important}.chip{font-size:var(--type-caption)!important}
th{font-size:var(--type-caption)!important;line-height:1.35}td,td *{line-height:1.45}td strong{font-size:var(--type-body)!important}.row-avatar strong{font-size:var(--type-body-lg)!important}.row-avatar small,.participant-row small,.lab-match small{font-size:var(--type-small)!important}.participant-row strong,.lab-match strong{font-size:var(--type-body-lg)!important}
.stat-top,.bar-label{font-size:var(--type-small)!important}.stat strong{font-size:28px!important}.stat small,.service-mini-stat small,.lab-summary-card small{font-size:var(--type-small)!important}.service-mini-stat strong{font-size:24px!important}.lab-summary-card strong{font-size:22px!important}
.clinical-section label,.form-grid label{font-size:var(--type-small)!important}.clinical-section input,.clinical-section select,.clinical-section textarea,.form-grid input,.form-grid select,.form-grid textarea{font-size:var(--type-body)!important}.identity-card h3{font-size:22px!important}.identity-details span,.allergy-alert,.warning-bubble{font-size:var(--type-body)!important}.program-badge{font-size:var(--type-small)!important}.vital-grid small,.anthro-grid small{font-size:var(--type-caption)!important}
.history-card-head strong{font-size:var(--type-body-lg)!important}.history-metrics span,.history-card p,.history-empty{font-size:var(--type-body)!important}.comparison-matrix td:first-child strong{font-size:var(--type-body-lg)!important}.comparison-matrix td:first-child small{font-size:var(--type-caption)!important}.lab-value{font-size:18px!important;line-height:1.25}.lab-value small{font-size:var(--type-caption)!important}.lab-change{font-size:11px!important}
#service-table,#service-table *{font-size:var(--type-body)!important}.ttv-compact .ttv-high{font-weight:700}.more-btn,.icon-btn{font-size:20px!important}
.result-with-unit{display:block;min-width:0}.result-with-unit .lab-result{width:100%;min-width:0;padding-right:118px!important;font-size:18px!important;letter-spacing:0;-moz-appearance:textfield}.result-with-unit .lab-result::-webkit-outer-spin-button,.result-with-unit .lab-result::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.result-with-unit .lab-unit-label{right:14px;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;font-size:14px!important;background:white;padding-left:8px}
.result-with-unit{display:flex!important;align-items:center;gap:10px}.result-with-unit .lab-result{flex:1;padding-right:12px!important}.result-with-unit .lab-unit-label{position:static!important;transform:none!important;max-width:none;overflow:visible;background:transparent;padding:0;flex:0 0 auto;font-weight:600}.initial,.puskesmas-seal{display:none!important}.inline-field{display:flex;align-items:flex-end;gap:8px;margin-top:6px}.inline-field select{margin-top:0!important;flex:1}.inline-field .btn{white-space:nowrap;padding:11px 12px}.row-avatar{gap:0}.identity-card{grid-template-columns:1fr auto}.selected-lab-patient{grid-template-columns:1fr auto}.participant-row,.lab-match{grid-template-columns:1fr auto}
.lab-row{grid-template-columns:minmax(220px,1.4fr) minmax(200px,1.2fr) minmax(220px,1fr) auto}.lab-row .result-with-unit{margin-top:6px}.lab-row .result-with-unit .lab-result{margin-top:0}
.group-page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.group-page-head h2{margin-bottom:5px}.group-page-head p:last-child{color:var(--muted);margin:0}.group-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.group-card{background:white;border:1px solid var(--line);border-radius:15px;padding:20px}.group-card-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:20px}.group-card-head h3{font-size:19px!important;margin:0 0 4px}.group-card-head p{color:var(--muted);font-size:13px!important;margin:0}.group-card>strong{font-size:24px!important}.group-member-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.group-member-preview span{padding:5px 8px;border-radius:20px;background:#eef4f0;font-size:12px}.group-member-preview small{align-self:center}.group-dialog{max-width:980px}.group-dialog form{padding:28px}.group-fields{grid-template-columns:1.2fr 1fr 1fr}.group-member-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:8px 0 12px}.group-member-head h3{margin-bottom:4px}.group-member-head p{color:var(--muted);margin:0}.group-member-head .search{max-width:380px;min-height:43px}.group-member-list{border:1px solid var(--line);border-radius:12px;max-height:390px;overflow:auto;margin-bottom:20px}.group-member-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);cursor:pointer}.group-member-row:last-child{border-bottom:0}.group-member-row:hover{background:#f5f8f6}.group-member-row input{width:18px;height:18px;accent-color:var(--green)}.group-member-row strong,.group-member-row small{display:block}.group-member-row small{color:var(--muted)}.group-member-row em{font-style:normal;color:var(--muted);font-size:12px}.group-empty{grid-column:1/-1}@media(max-width:1050px){.group-list{grid-template-columns:repeat(2,1fr)}.group-fields{grid-template-columns:1fr}.group-member-head{align-items:stretch;flex-direction:column}.group-member-head .search{max-width:none}}

.group-page-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.group-card-head h3{display:flex;align-items:center;gap:9px}.group-member-count{font-size:13px!important;color:var(--muted);font-weight:600;white-space:nowrap}.group-gear{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--green)}.group-card-head{margin-bottom:13px}.patient-toolbar{margin-bottom:10px}.patient-advanced-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) minmax(230px,1.5fr);gap:10px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:15px}.patient-advanced-filters>label{font-size:12px!important;font-weight:700;color:#61756f}.patient-advanced-filters select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.age-filter{padding-left:4px}.age-filter>div{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#61756f}.age-filter>label{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-top:5px}.age-filter input{width:100%;accent-color:var(--green)}@media(max-width:1200px){.patient-advanced-filters{grid-template-columns:repeat(3,1fr)}.group-list{grid-template-columns:repeat(2,1fr)}}


.page-title-row{display:flex;align-items:center;gap:14px}.page-title-row h1{margin:0}.page-title-row #create-group{flex:0 0 auto}


.nav-item>span{display:inline-grid!important;place-items:center;vertical-align:middle}.nav-item>span svg{width:18px;height:18px;display:block;fill:currentColor}.nav-item>span svg *{fill:currentColor}.nav-item>span svg [fill="none"]{fill:none}.nav-item>span svg path[stroke]{stroke:currentColor}.group-member-count{min-width:25px;height:25px;display:inline-grid!important;place-items:center;padding:0 7px;border-radius:20px;background:var(--mint);color:var(--green);font-weight:800!important}.schedule-filter-head{align-items:center}.schedule-filter{display:flex;align-items:center;gap:9px;background:#f4f7f5;border:1px solid var(--line);border-radius:11px;padding:9px 12px}.schedule-filter select{border:0;background:transparent;color:var(--ink);font-weight:600}.schedule-filter input[type="range"]{width:170px;accent-color:var(--green)}.schedule-filter strong{min-width:24px;text-align:right}.schedule-filter span{color:var(--muted);font-size:12px}@media(max-width:800px){.schedule-filter-head{align-items:stretch;flex-direction:column}.schedule-filter{flex-wrap:wrap}.schedule-filter input[type="range"]{flex:1}}


.patient-advanced-filters>label>input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}
.schedule-row>div:first-child strong{white-space:nowrap}.clickable-schedule-row{cursor:pointer;border-radius:12px;margin-inline:-12px;padding-inline:12px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;text-decoration:none;color:inherit}.clickable-schedule-row:hover{background:#eef5f1;box-shadow:0 10px 28px rgba(23,75,65,.08);transform:translateY(-1px)}.clickable-schedule-row:active{background:#e3eee9;transform:none}
.patient-rm,.patient-gender{display:block;margin-top:2px}.patient-gender{font-weight:700}.gender-male{color:#3973b8!important}.gender-female{color:#c0527b!important}
.patient-gender.gender-inline{display:inline;margin:0}


.stat-icon svg{width:17px;height:17px;display:block;fill:currentColor}.stat-icon svg path[fill="none"]{fill:none;stroke:currentColor}


@media(max-width:650px){
  body{display:block;min-width:0}
  .sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:72px!important;padding:8px 6px!important;overflow:hidden!important;z-index:50}
  .sidebar .brand,.sidebar .privacy-note{display:none!important}
  .sidebar nav{display:flex!important;align-items:center;justify-content:space-between;width:100%;height:56px;margin:0!important;gap:2px!important;overflow:visible}
  .sidebar .nav-item{display:grid;place-items:center;flex:1 1 0;min-width:0;height:52px;padding:7px 4px!important;font-size:0!important;border-radius:10px;text-align:center}
  .sidebar .nav-item>span{display:grid!important;width:auto!important;font-size:22px!important;line-height:1}
  .sidebar .nav-item>span svg{width:22px;height:22px}
  main{margin:0 0 72px!important;width:100%!important;padding:20px 14px!important;overflow-x:hidden}
  header{gap:12px;margin-bottom:22px}.page-title-row{min-width:0}.page-title-row h1{font-size:28px!important}.header-actions{gap:8px}.header-actions #today{display:none}.header-actions .btn{padding-inline:13px}
  .search,.toolbar select,.picker-filters select,.btn,.patient-advanced-filters select,.patient-advanced-filters>label>input,.lab-toolbar select{height:44px!important;min-height:44px!important}
  .search{padding:0 12px}.search input{height:42px!important;min-height:42px!important}
  .patient-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:9px}.patient-toolbar .search{grid-column:1/-1}.patient-toolbar #patient-sort{grid-column:1}.patient-toolbar #export-csv{grid-column:2}
  .patient-advanced-filters{grid-template-columns:1fr!important;padding:12px;gap:10px}.age-filter{padding:4px 0 0}.age-filter>label{grid-template-columns:42px 1fr}
  #patients-view .table-wrap{overflow:hidden}#patients-view table{min-width:0!important;table-layout:fixed}#patients-view th,#patients-view td{padding:14px 12px}
  #patients-view th:nth-child(2),#patients-view td:nth-child(2),#patients-view th:nth-child(5),#patients-view td:nth-child(5),#patients-view th:nth-child(6),#patients-view td:nth-child(6),#patients-view th:nth-child(7),#patients-view td:nth-child(7){display:none}
  #patients-view th:nth-child(1){width:38%}#patients-view th:nth-child(3){width:22%}#patients-view th:nth-child(4){width:40%}
  #patients-view tbody tr{cursor:pointer;-webkit-tap-highlight-color:rgba(23,75,65,.09)}#patients-view tbody tr:active{background:#eef5f1}
  #patients-view td strong{font-size:14px!important;overflow-wrap:anywhere}#patients-view td small{font-size:12px!important;overflow-wrap:anywhere}.row-avatar>div{min-width:0}
  .picker-dialog{width:calc(100% - 20px);max-height:92vh}.picker-shell{padding:20px}.picker-filters{grid-template-columns:1fr!important;gap:9px}.participant-results{max-height:45vh}
  .lab-patient-finder{grid-template-columns:1fr;margin-bottom:15px}.lab-patient-finder .btn{width:100%;height:44px!important}.lab-search{height:44px!important}.lab-patient-matches{top:118px}
  .selected-lab-patient{grid-template-columns:1fr!important;padding:16px;gap:12px}.selected-lab-patient .identity-details{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 14px}.selected-lab-patient .identity-details span{min-width:0;overflow-wrap:anywhere}.selected-lab-patient .identity-details span:nth-child(3),.selected-lab-patient .identity-details span:nth-child(4){display:none}.selected-lab-patient .btn{width:100%}
  .lab-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:9px}.lab-toolbar select{width:100%;min-width:0}.lab-toolbar #export-lab-summary{width:100%;height:44px!important}
  .schedule-panel{padding:16px}.schedule-filter-head{gap:12px}.schedule-filter{display:grid!important;grid-template-columns:1fr auto;padding:10px;gap:8px}.schedule-filter select{grid-column:1/-1;height:40px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:white}.schedule-filter input[type="range"]{grid-column:1;width:100%}.schedule-filter strong{grid-column:2;grid-row:2;align-self:center}.schedule-filter span{display:none}
  .schedule-row{grid-template-columns:72px 1fr;gap:12px;padding:14px 0}.schedule-row>.chip{grid-column:2;justify-self:start}.schedule-row strong{font-size:14px!important}
  .group-list{grid-template-columns:1fr!important}.group-card{padding:16px}.group-dialog{width:calc(100% - 18px);max-height:94vh}.group-dialog form{padding:19px}.group-member-row{grid-template-columns:auto 1fr}.group-member-row em{grid-column:2}
  .service-hero{padding:20px;align-items:flex-start;gap:12px}.service-hero h2{font-size:24px!important}.service-stats{grid-template-columns:1fr}.service-editor{margin-bottom:20px}.clinical-section{padding:20px 16px}.sticky-head{padding:20px 16px}.vital-grid,.anthro-grid{grid-template-columns:1fr 1fr}.physical-row{grid-template-columns:1fr}.lab-row{grid-template-columns:1fr}.dynamic-row,.dynamic-row.dx-row,.dynamic-row.med-row{grid-template-columns:1fr}.sticky-actions{padding:14px 16px;flex-wrap:wrap}
  .btn{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
  dialog form{min-width:0}.modal-actions,.sticky-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.modal-actions>span,.sticky-actions>span{display:none}.modal-actions .btn,.sticky-actions .btn{width:100%;min-height:44px;height:auto!important;padding:10px 12px}.modal-actions .btn.primary:last-child,.sticky-actions .btn.primary:last-child{grid-column:1/-1}
  .panel-head,.service-hero,.subsection-head,.page-title-row{flex-wrap:wrap}.panel-head .btn,.service-hero .btn,.subsection-head .btn{flex:0 1 auto}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto}.inline-field .btn{height:auto!important}.header-actions{min-width:0}.header-actions .btn{flex-shrink:1}
}

.donut-legend>div{align-items:flex-start}.donut-legend i{margin-top:6px}.donut-legend b em{font-style:normal;font-weight:600}.delete-template-btn svg{display:none;width:22px;height:22px;fill:currentColor}
@media(max-width:650px){.settings-panel{padding:20px 18px}.settings-panel .panel-head{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}.settings-panel .panel-head>div{display:grid;gap:5px}.settings-panel .panel-head p,.settings-panel .panel-head h3{margin:0}.settings-panel #add-physical-template{justify-self:start}.template-setting{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:14px;padding:20px 0}.template-setting>div{min-width:0}.template-setting p{overflow-wrap:anywhere}.delete-template-btn{width:44px!important;height:44px!important;min-height:44px!important;padding:10px!important;display:grid;place-items:center}.delete-template-btn span{display:none}.delete-template-btn svg{display:block}}
@media(min-width:651px) and (max-width:1100px){.sidebar{width:76px!important;padding:22px 10px!important;overflow:hidden}.sidebar .app-brand{justify-content:center}.sidebar .brand-copy,.sidebar .privacy-note{display:none!important}.sidebar nav{width:56px;margin-top:38px!important;gap:8px}.sidebar .nav-item{display:grid;place-items:center;width:56px;height:48px;padding:10px!important;font-size:0!important;text-align:center}.sidebar .nav-item>span{display:grid;width:auto!important;font-size:20px!important}.sidebar .nav-item>span svg{width:21px;height:21px}main{margin-left:76px!important;width:calc(100% - 76px)!important;padding:32px clamp(24px,3vw,38px)!important}}
.settings-submenu{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.settings-tab{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.settings-tab.active,.settings-tab:hover{background:var(--green);border-color:var(--green);color:#fff}.settings-panel-tab{display:none}.settings-panel-tab.active{display:block}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.settings-grid .wide{grid-column:1/-1}.settings-grid label,.reference-rule label{font-weight:800;color:#61756f}.settings-grid input,.settings-grid textarea,.reference-rule input,.reference-rule select{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 12px}.reference-block{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:grid;gap:12px}.reference-rule{display:grid;grid-template-columns:1.2fr .6fr .6fr .8fr 1fr 1fr 44px;gap:10px;align-items:end;background:#fbfcfa;border:1px solid var(--line);border-radius:14px;padding:12px}.reference-rule label:has(select)+input{margin-top:4px}.reference-rule label select+input{margin-top:6px}.reference-rule .remove-row{width:44px;height:44px}.audit-log-list{display:grid;gap:10px}.audit-log-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfa}.audit-log-row small{color:var(--muted)}.audit-log-row span{grid-column:1/-1;color:#61756f}.lab-browser-panel{margin-top:22px}.lab-criteria-builder{margin-bottom:16px}.lab-criteria-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px 150px 44px;gap:10px;align-items:end}.lab-criteria-row label{font-weight:800;color:#61756f}.lab-criteria-row select,.lab-criteria-row input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.lab-criteria-row .remove-row{width:44px;height:44px}@media(max-width:950px){.reference-rule{grid-template-columns:1fr 1fr}.reference-rule .remove-row{width:100%}.lab-criteria-row{grid-template-columns:1fr 1fr}.lab-criteria-row .remove-row{width:100%}}@media(max-width:650px){.settings-submenu{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.settings-tab{white-space:nowrap}.settings-grid{grid-template-columns:1fr}.reference-rule,.lab-criteria-row{grid-template-columns:1fr}}
.audit-filter-toolbar{display:grid;grid-template-columns:minmax(150px,1fr) repeat(2,minmax(150px,.7fr)) auto auto;gap:10px;align-items:end;margin:0 0 16px}.audit-filter-toolbar label{color:var(--muted);font-size:12px;font-weight:800}.audit-filter-toolbar select,.audit-filter-toolbar input{display:block;width:100%;min-height:42px;margin-top:6px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px}.audit-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.audit-pagination span{color:var(--muted);font-size:13px;font-weight:800}@media(max-width:850px){.audit-filter-toolbar{grid-template-columns:1fr 1fr}.audit-filter-toolbar .btn{width:100%}}@media(max-width:560px){.audit-filter-toolbar{grid-template-columns:1fr}.audit-pagination{justify-content:space-between}.audit-pagination span{text-align:center}}
.restore-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.restore-columns h4{margin:0 0 10px}.restore-list{display:grid;gap:8px}.restore-row{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fbfcfa}.restore-row small{color:var(--muted)}.restore-row .btn{grid-column:2;grid-row:1/3}@media(max-width:760px){.restore-columns{grid-template-columns:1fr}}
.auth-current-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#eef7f2}.auth-current-card small{display:block;color:var(--muted);font-weight:800}.auth-current-card b{display:block;margin-top:4px}.user-access-list{margin-top:12px}.user-access-row{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(120px,.55fr) 110px;align-items:end}.user-access-row .user-role{min-width:120px}.user-access-row .revoke-user{height:42px;border-color:#b42318;background:#b42318;color:#fff}.user-access-row .revoke-user:hover:not(:disabled){border-color:#912018;background:#912018}.user-access-row .revoke-user.activate-user{border-color:#18794e;background:#18794e}.user-access-row .revoke-user.activate-user:hover{border-color:#12613e;background:#12613e}.user-access-row .revoke-user:disabled{border-color:#d0d5dd;background:#eaecf0;color:#667085;opacity:1}.user-access-row[data-active="false"]{opacity:.72}.admin-only.hidden{display:none!important}@media(max-width:900px){.user-access-row{grid-template-columns:1fr 1fr}.user-access-row .revoke-user{width:100%}}@media(max-width:650px){.auth-current-card,.user-access-row{grid-template-columns:1fr}}
@media(min-width:651px) and (max-width:900px){#patients-view .table-wrap{overflow:hidden}#patients-view table{min-width:0!important;table-layout:fixed}#patients-view th,#patients-view td{padding:14px 12px}#patients-view th:nth-child(2),#patients-view td:nth-child(2),#patients-view th:nth-child(5),#patients-view td:nth-child(5),#patients-view th:nth-child(6),#patients-view td:nth-child(6),#patients-view th:nth-child(7),#patients-view td:nth-child(7){display:none}#patients-view th:nth-child(1){width:38%}#patients-view th:nth-child(3){width:22%}#patients-view th:nth-child(4){width:40%}#patients-view tbody tr{cursor:pointer;-webkit-tap-highlight-color:rgba(23,75,65,.09)}#patients-view tbody tr:active{background:#eef5f1}}
@media(min-width:651px) and (max-width:820px){.patient-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.patient-toolbar .search{grid-column:1/-1;min-height:44px}.patient-toolbar select,.patient-toolbar .btn{min-width:0;min-height:44px}.patient-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.patient-advanced-filters .age-filter{grid-column:1/-1}}
@media(min-width:651px) and (max-width:720px){.selected-lab-patient{grid-template-columns:1fr!important;padding:18px;gap:14px}.selected-lab-patient .identity-details{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;gap:10px 16px}.selected-lab-patient .identity-details span{min-width:0;overflow-wrap:anywhere}.selected-lab-patient .btn{width:100%}.lab-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.lab-toolbar select{width:100%;min-width:0;min-height:44px}.lab-toolbar #export-lab-summary{width:100%;min-height:44px}}

#patients-view tbody tr{transition:background-color .16s ease,box-shadow .16s ease}
#patients-view tbody tr td{transition:background-color .16s ease}
@media(hover:hover){#patients-view tbody tr:hover{background:#eef5f1;box-shadow:inset 4px 0 0 var(--green)}#patients-view tbody tr:hover td{background:#eef5f1}}
#patients-view tbody tr:focus-within{background:#eef5f1;box-shadow:inset 4px 0 0 var(--green)}
#patients-view tbody tr:focus-within td,#patients-view tbody tr:active td{background:#eef5f1}

#services-view .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
#services-view .table-wrap table{min-width:980px}
#services-view .table-wrap::-webkit-scrollbar{height:10px}
#services-view .table-wrap::-webkit-scrollbar-thumb{background:#bfd0c9;border-radius:999px}
#services-view .table-wrap::-webkit-scrollbar-track{background:#eef4f0;border-radius:999px}
.lab-row label,.lab-row .result-with-unit,.lab-row input,.lab-row select{min-width:0}
.lab-row .result-with-unit{width:100%}
.lab-row .lab-unit-label{white-space:nowrap;flex:0 0 auto}
@media(max-width:1100px){.service-form-page .lab-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.service-form-page .lab-row .remove-row{justify-self:end;width:44px;min-height:44px}.service-form-page .lab-row .lab-unit-label{max-width:76px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){.service-form-page .lab-row{grid-template-columns:1fr!important}.service-form-page .lab-row .remove-row{justify-self:stretch;width:100%}.service-form-page .lab-row .lab-unit-label{max-width:none}}

.patient-toolbar .search,.patient-toolbar select,.patient-toolbar .btn{height:58px;min-height:58px}
.patient-toolbar .search{padding:0 18px}
.patient-toolbar .search input{height:56px;min-height:56px}
@media(max-width:650px){.patient-toolbar .search,.patient-toolbar select,.patient-toolbar .btn{height:44px!important;min-height:44px!important}.patient-toolbar .search input{height:42px!important;min-height:42px!important}}

.patient-toolbar{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
.patient-toolbar .search{grid-column:1/-1;width:100%;flex:none}
.patient-toolbar select,.patient-toolbar .btn{width:100%;min-width:0}
@media(max-width:820px){.patient-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.patient-toolbar .search{grid-column:1/-1}}

.group-member-preview{display:grid;gap:6px}.group-member-preview>span{padding:8px 10px;border-radius:10px}.group-member-preview b,.group-member-preview small{display:block}.group-member-preview small{color:var(--muted);line-height:1.45}
.record-actions{display:flex;justify-content:flex-end;gap:6px}.record-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer}.record-icon:hover{background:#eaf3ef}.record-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#patient-table tr[data-patient-detail]{cursor:pointer}#patient-table tr[data-patient-detail]:hover td{background:#f0f6f3}@media(max-width:650px){.record-actions{flex-direction:column}.record-icon{width:34px;height:34px}}
.service-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.service-row-actions .record-icon{width:34px;height:34px}.service-row-actions .more-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;line-height:1}.service-row-actions .more-btn:hover{background:#eaf3ef}

/* Responsive table actions */
#patient-table th:last-child,#patient-table td:last-child{position:sticky;right:0;z-index:3;background:#fff;box-shadow:-10px 0 16px rgba(20,54,47,.06)}
#patient-table th:last-child{background:#fafbf8}
#patient-table tr:hover td:last-child{background:#f0f6f3}
.import-preview-table{min-width:1320px}
.import-preview-table th,.import-preview-table td{white-space:nowrap}
.lab-matrix td:first-child .lab-reference-inline{margin-top:4px}
.comparison-matrix td:not(:first-child) .lab-reference-inline{display:none!important}
.lab-panel-tab{display:none}
.lab-panel-tab.active{display:block}
.export-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:650px){
  .lab-submenu{margin-bottom:14px}
  .lab-submenu .control-tab{flex:1;text-align:center}
  .comparison-matrix{min-width:560px!important;table-layout:fixed}
  .comparison-matrix th,.comparison-matrix td{padding:10px 12px!important}
  .comparison-matrix th:first-child,.comparison-matrix td:first-child{min-width:142px!important;width:142px!important;max-width:142px!important}
  .comparison-matrix th:not(:first-child),.comparison-matrix td:not(:first-child){min-width:96px!important;width:96px!important}
  .comparison-matrix td:first-child strong{font-size:14px!important;line-height:1.2}
  .comparison-matrix td:first-child small{font-size:11px!important;line-height:1.2}
  .comparison-matrix td:first-child .lab-reference-inline{font-size:10px!important;white-space:normal}
  .comparison-matrix .lab-value{font-size:15px!important}
  .lab-toolbar{grid-template-columns:1fr 1fr!important}
  .lab-toolbar #export-lab-summary,.lab-toolbar #print-lab-summary{width:100%;height:44px!important}
  .export-actions{width:100%;justify-content:stretch}
  .export-actions .btn{flex:1}
}

.table-wrap table th,.table-wrap table td{padding:10px 14px!important;vertical-align:middle}
.table-wrap table td strong{line-height:1.22}
.table-wrap table td small{line-height:1.28;margin-top:2px}
.table-wrap tbody tr:hover td{background:#f4f8f5}

.record-detail-overlay{position:fixed;inset:0;z-index:9999;background:rgba(8,28,24,.48);overflow:auto;padding:24px}.record-detail-shell{position:relative;max-width:1060px;margin:0 auto}.record-detail-content{background:#f5f2ea;border-radius:18px;padding:1px}.record-detail-close{position:sticky;top:12px;float:right;z-index:2;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:#174b41;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2);cursor:pointer}.record-detail-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.record-detail-close:hover{background:#0f3b33;transform:translateY(-1px)}.record-detail-overlay .record{padding:22px}.visit-worker{margin:7px 0 0;color:#647870;font-size:13px}.history-worker{display:block;margin-top:4px;color:var(--muted);font-size:12px}.group-more{width:100%;border:0;background:transparent;color:var(--green);font-weight:800;text-align:left;padding:6px 4px;cursor:pointer}.group-more:hover{text-decoration:underline}.group-members-dialog{width:min(620px,calc(100% - 24px));max-height:86vh;border:0;border-radius:16px;padding:0}.group-members-dialog::backdrop{background:rgba(8,28,24,.48)}.group-members-popup{padding:22px}.group-members-popup-list{display:grid;gap:6px;max-height:64vh;overflow:auto}.group-members-popup-list>div{min-height:34px;padding:7px 10px;border-radius:8px;background:#eef4f0}.group-members-popup-list .patient-identity{display:flex;align-items:center;justify-content:space-between;gap:10px}.group-members-popup-list .patient-name-line,.group-members-popup-list .patient-compact-meta{font-size:12px!important}@media(max-width:700px){.record-detail-overlay{padding:10px}.record-detail-content{border-radius:14px}.record-detail-overlay .record{padding:12px}.record-detail-close{top:8px;right:8px}}@media print{body>*:not(#record-detail-overlay){display:none!important}.record-detail-overlay{position:static!important;inset:auto!important;background:#fff!important;padding:0!important;overflow:visible!important}.record-detail-close{display:none!important}.record-detail-content{background:#fff!important}.record-detail-shell{max-width:none!important}}
.record-result-card.record-high{background:#fdeaea;color:#9f1d1d}.record-result-card.record-high small,.record-result-card.record-high b,.record-result-card.record-high em{color:#9f1d1d}.record-result-card.record-low{background:#e9f2ff;color:#1f5c9d}.record-result-card.record-low small,.record-result-card.record-low b,.record-result-card.record-low em{color:#1f5c9d}
.reference-data-stack{display:grid;gap:16px}.reference-data-card{border:1px solid var(--line);border-radius:16px;background:#fbfcfa;padding:14px}.editable-list{display:grid;gap:10px;margin-top:10px}.editable-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) 44px;gap:10px;align-items:end}.editable-row.village-reference-row{grid-template-columns:1fr 44px}.editable-row label{font-weight:800;color:#61756f}.editable-row input,.editable-row select{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.editable-row .remove-row{width:44px;height:44px}#rppt-chart{position:relative}.chart-tooltip{position:absolute;z-index:10;pointer-events:none;transform:translateY(-100%);background:#173f36;color:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;box-shadow:0 12px 26px rgba(8,28,24,.22);opacity:0;transition:opacity .12s ease;white-space:nowrap}.chart-tooltip.show{opacity:1}.rppt-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:help}@media(max-width:650px){.editable-row,.editable-row.village-reference-row{grid-template-columns:1fr}.editable-row .remove-row{width:100%}.chart-tooltip{white-space:normal;max-width:240px}}
.hamlet-group-list{display:grid;gap:14px;margin-top:12px}.hamlet-village-group{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.hamlet-village-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.hamlet-village-head h4{margin:0;font-size:18px}.editable-row.hamlet-reference-row{grid-template-columns:1fr 44px}

/* UI alignment polish */
.lab-patient-finder{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

@media(max-width:650px){
  .panel-head{align-items:flex-start;gap:14px}
  .panel-head .export-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:10px;justify-content:stretch}
  .panel-head .export-actions .btn{width:100%;min-width:0;min-height:48px;white-space:normal;line-height:1.15;padding:10px 12px;text-align:center;overflow-wrap:anywhere}
  .panel-head .export-actions .target-badge{grid-column:1/-1;justify-self:start;margin:2px 0 0}
  .reference-rule{gap:14px;margin:14px 0;padding:16px}
  #ht-rule-list .reference-rule + .reference-rule,
  #dm-rule-list .reference-rule + .reference-rule{margin-top:18px}
}
.schedule-filter-head{display:block!important}
.schedule-filter{width:100%;justify-content:space-between}
.schedule-days-control{flex:1}
.schedule-filter input[type="range"]{width:100%;min-width:220px}
.lab-patient-finder>label>span{font-size:14px!important;line-height:1.35!important}
.lab-search{height:52px!important}
.schedule-panel,.import-card,.settings-panel{width:100%!important;max-width:none!important}
.icd-selected-title{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35;font-weight:700}
.icd-selected-title.icd-warning{color:#9a6a17}

/* Akses pengguna: keep every control in one row on desktop */
.user-access-row{display:grid!important;grid-template-columns:minmax(230px,1.35fr) minmax(190px,1fr) 170px 90px 44px!important;align-items:end!important;gap:10px!important}
.user-access-row .user-role{width:100%!important;min-width:0!important}
.user-access-row .check-row{height:44px!important;margin:0!important;align-items:center!important}
.user-access-row .remove-row{width:44px!important;height:44px!important;align-self:end!important}
@media(max-width:980px){.user-access-row{grid-template-columns:1fr 1fr!important}.user-access-row .remove-row{width:100%!important}}
@media(max-width:650px){.user-access-row{grid-template-columns:1fr!important}.user-access-row .remove-row{width:100%!important}}

/* Referensi Data: safer chip editing */
.reference-data-card{padding:16px!important}
.hamlet-village-group{padding:14px!important}
.hamlet-village-head{margin-bottom:12px!important}
.hamlet-chip-list{display:flex;flex-wrap:wrap;gap:8px}
.hamlet-chip{border:1px solid #d9e5df;background:#eef5f1;color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.hamlet-chip:hover{background:#dcebe5;border-color:#b9cec6}
.health-worker-group-list{display:grid;gap:14px;margin-top:12px}
.health-worker-group{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}
.health-worker-group h4{margin:0 0 10px;font-size:18px}
.health-worker-reference-row{grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr) 44px!important}
@media(max-width:760px){.health-worker-reference-row{grid-template-columns:1fr!important}}

/* Current request: compact identities, table widths, and universal filters */
.identity-number,
.copyable-identity,
.patient-rm,
.identity-details span,
.record-identity-card span,
.lab-selected-content .identity-number{
  font-family:"SFMono-Regular","Roboto Mono","Cascadia Mono",Menlo,Consolas,monospace!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.patient-meta-lines{display:grid;gap:2px}
.patient-meta-lines .meta-sep{color:var(--muted);padding:0 2px}
.patient-meta-lines .gender-inline{display:inline!important;margin:0}

#patients-view .table-wrap table{table-layout:fixed}
#patients-view th:nth-child(1),#patients-view td:nth-child(1){width:32%}
#patients-view th:nth-child(2),#patients-view td:nth-child(2){width:11%}
#patients-view th:nth-child(3),#patients-view td:nth-child(3){width:14%}
#patients-view th:nth-child(4),#patients-view td:nth-child(4){width:13%}
#patients-view th:nth-child(5),#patients-view td:nth-child(5){width:10%}
#patients-view th:nth-child(6),#patients-view td:nth-child(6){width:120px}
#patients-view td:nth-child(3) small{display:block}

.service-toolbar{justify-content:flex-end;margin:12px 0}
.service-toolbar select{min-height:44px;min-width:180px}
#services-view .table-wrap table{min-width:900px;table-layout:fixed}
#services-view th:nth-child(1),#services-view td:nth-child(1){width:12%}
#services-view th:nth-child(2),#services-view td:nth-child(2){width:28%}
#services-view th:nth-child(3),#services-view td:nth-child(3){width:14%}
#services-view th:nth-child(4),#services-view td:nth-child(4){width:15%}
#services-view th:nth-child(5),#services-view td:nth-child(5){width:23%}
#services-view th:nth-child(6),#services-view td:nth-child(6){width:100px}
.service-assessment-cell .chip{display:inline-flex;margin:2px 4px 2px 0}

.dx-match-mode{display:block;max-width:320px}
.dx-match-mode select{margin-top:6px}
#control-diagnosis .control-table-wrap table{min-width:720px;table-layout:fixed}
#control-diagnosis th:nth-child(1),#control-diagnosis td:nth-child(1){width:38%}
#control-diagnosis th:nth-child(2),#control-diagnosis td:nth-child(2){width:18%}
#control-diagnosis th:nth-child(3),#control-diagnosis td:nth-child(3){width:44%}

.lab-browser-filters{grid-template-columns:repeat(4,minmax(170px,1fr))}
.lab-browser-filters .full-row{grid-column:1/-1}
@media(max-width:950px){
  .lab-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  #patients-view .table-wrap table,#services-view .table-wrap table{min-width:760px}
}
@media(max-width:650px){
  .lab-browser-filters{grid-template-columns:1fr}
  .service-toolbar{justify-content:stretch}
  .service-toolbar select{width:100%}
  #patients-view .table-wrap table,#services-view .table-wrap table{min-width:680px}
}

/* Final pass: Jadwal Kontrol tabs, WhatsApp Blast, diagnosis builder, compact tables */
.schedule-submenu{margin-bottom:14px}
.schedule-tab-panel{display:none}
.schedule-tab-panel.active{display:block}
.wa-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.wa-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;white-space:nowrap;text-decoration:none}
.whatsapp-panel .control-table-wrap table{min-width:920px}
.wa-blast-table-wrap table{width:100%;table-layout:fixed}.wa-blast-table-wrap th,.wa-blast-table-wrap td{padding:10px 9px!important;overflow-wrap:anywhere}.wa-blast-table-wrap th{font-size:11px!important;line-height:1.25}.wa-blast-table-wrap td{font-size:13px!important}.wa-blast-table-wrap th:nth-child(1){width:17%}.wa-blast-table-wrap th:nth-child(2){width:16%}.wa-blast-table-wrap th:nth-child(3){width:14%}.wa-blast-table-wrap th:nth-child(4){width:10%}.wa-blast-table-wrap th:nth-child(5){width:14%}.wa-blast-table-wrap th:nth-child(6){width:15%}.wa-blast-table-wrap th:nth-child(7){width:14%}.wa-stacked-cell{display:grid;gap:2px;min-width:0}.wa-stacked-cell small{display:block;margin:0;color:var(--text-muted);font-size:11px;line-height:1.25}.wa-blast-table-wrap .wa-link{width:100%;min-width:0;padding-inline:10px!important;white-space:nowrap}
.wa-template-card{display:grid;gap:12px;margin:14px 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f7fbf8}
.wa-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.wa-template-head h4{margin:0 0 4px;font-size:16px}
.wa-template-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.wa-template-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end}.wa-template-actions label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.wa-template-actions select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:0 10px}
#wa-message-template{width:100%;min-height:112px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;font:700 14px/1.5 "Inter",Arial,sans-serif;resize:vertical}
.wa-template-preview{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:#fff;border:1px dashed var(--line)}
.wa-template-preview b{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.wa-template-preview p{margin:0;line-height:1.55}

.dx-builder.full-row{gap:12px!important;padding:16px!important}
.dx-builder-head{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) minmax(190px,.72fr) 44px;gap:10px;align-items:end;color:#61756f;font-size:12px;font-weight:900}
.dx-builder-head label{display:grid;gap:6px}
.dx-builder-head select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font-weight:800}
.dx-filter-row{grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) minmax(190px,.72fr) 44px!important;gap:10px!important}
.dx-filter-row .dx-row-spacer{display:block!important}
.dx-filter-row .dx-row-logic{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font-weight:800}

.table-wrap table th,.table-wrap table td,
.control-table-wrap table th,.control-table-wrap table td{padding:8px 12px!important}
.table-wrap table td strong,.control-table-wrap table td strong{line-height:1.16!important}
.table-wrap table td small,.control-table-wrap table td small{line-height:1.2!important;margin-top:1px!important}

.patient-identity{display:grid;gap:3px;min-width:0;align-content:center}
.patient-name-line{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:900;line-height:1.12;color:var(--ink)}
.patient-name-line strong{display:inline!important;font-size:inherit!important;line-height:inherit!important;min-width:0;overflow-wrap:anywhere}
.patient-gender-icon{width:24px;height:24px;flex:0 0 24px;display:inline-grid;place-items:center;border-radius:7px;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.patient-gender-icon.male{background:#2f7fca}
.patient-gender-icon.female{background:#cf5b84}
.patient-gender-icon svg{width:15px;height:15px;display:block;color:#fff}
.patient-compact-meta{display:block;color:var(--muted);font-size:12px!important;font-weight:800;letter-spacing:.03em;line-height:1.22;text-transform:uppercase}
.patient-compact-meta .meta-sep{padding:0 5px;color:var(--muted)}
.row-avatar{gap:0!important;min-width:0}.row-avatar .patient-name-line{font-size:16px}.row-avatar .patient-compact-meta{font-size:13px!important}
.agenda .patient-name-line,.schedule-patient-row .patient-name-line{font-size:16px}.agenda .patient-compact-meta,.schedule-patient-row .patient-compact-meta{font-size:12px!important}
.group-member-preview .patient-name-line,.group-member-row .patient-name-line,.control-table-wrap .patient-name-line,.table-wrap .patient-name-line{font-size:14px}
.group-member-preview .patient-compact-meta,.group-member-row .patient-compact-meta,.control-table-wrap .patient-compact-meta,.table-wrap .patient-compact-meta{font-size:11px!important}
.table-wrap table td,.control-table-wrap table td{padding-top:9px!important;padding-bottom:9px!important}
.schedule-patient-row{min-height:44px;padding-top:6px!important;padding-bottom:6px!important}
.agenda{min-height:62px;padding-top:9px!important;padding-bottom:9px!important}

@media(max-width:950px){
  .wa-filters{grid-template-columns:1fr 1fr}
  .dx-builder-head{grid-template-columns:1fr 1fr}
  .dx-builder-head>span:last-child{display:none}
  .dx-filter-row{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
  .wa-filters{grid-template-columns:1fr}
  .wa-template-head{display:grid}
  .wa-template-actions{justify-content:stretch}
  .wa-template-actions .btn{width:100%}
  .dx-builder-head{grid-template-columns:1fr}
  .dx-builder-head>span{display:none}
  .dx-filter-row{grid-template-columns:1fr!important}
}

/* Compact patient identity: Nama (L/P) + Usia | Padukuhan */
.patient-name-line{gap:6px!important;align-items:baseline!important}
.patient-gender-code{font-weight:900;font-size:0.92em!important;line-height:1;color:var(--muted)}
.patient-gender-code.male{color:#2f7fca!important}.patient-gender-code.female{color:#cf5b84!important}
.patient-compact-meta{font-size:12px!important;letter-spacing:.015em;text-transform:uppercase;color:var(--muted);font-weight:800;line-height:1.35!important}
.patient-compact-meta .meta-sep{padding:0 7px;color:#8aa098}
#service-table td{padding-top:8px!important;padding-bottom:8px!important}
#service-table .patient-name-line strong{font-size:14px!important}
#service-table .patient-compact-meta{font-size:12px!important}
#service-table th:nth-child(4),#service-table td:nth-child(4){min-width:170px}
#service-table th:nth-child(5),#service-table td:nth-child(5){min-width:190px;padding-left:26px!important}
.ttv-compact .ttv-high,.ttv-compact .ttv-high *{color:#b42318!important;font-weight:900!important}
.service-filter-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) minmax(160px,210px);gap:12px;align-items:end;margin:14px 0 10px}
.service-search-group{display:grid;gap:6px;min-width:0}.service-filter-label{color:var(--muted);font-weight:800;font-size:12px!important}.service-search-group .service-search{min-height:44px}
#services-view .table-wrap table{min-width:1240px;table-layout:fixed}
#services-view th:nth-child(1),#services-view td:nth-child(1){width:13%}
#services-view th:nth-child(2),#services-view td:nth-child(2){width:19%}
#services-view th:nth-child(3),#services-view td:nth-child(3){width:14%}
#services-view th:nth-child(4),#services-view td:nth-child(4){width:15%}
#services-view th:nth-child(5),#services-view td:nth-child(5){width:11%;padding-left:16px!important}
#services-view th:nth-child(6),#services-view td:nth-child(6){width:13%}
#services-view th:nth-child(7),#services-view td:nth-child(7){width:15%}
#services-view th:nth-child(8),#services-view td:nth-child(8){width:84px}
.service-filter-toolbar label:not(.search){display:grid;gap:6px;color:var(--muted);font-weight:800;font-size:12px!important}
.service-filter-toolbar input,.service-filter-toolbar select{width:100%}
.service-table-meta{margin-top:4px;margin-bottom:12px}
@media(max-width:900px){.service-filter-toolbar{grid-template-columns:1fr 1fr}.service-filter-toolbar .service-search-group{grid-column:1/-1}}
@media(max-width:560px){.service-filter-toolbar{grid-template-columns:1fr}.service-table-meta{align-items:stretch}.service-table-meta label,.service-table-meta>div{width:100%;justify-content:space-between}}

/* 2026-07-14 polish: Inter, compact identity rows, consistent filters */
html,body,button,input,select,textarea,
h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,th,td,
.nav-item,.btn,.chip,.eyebrow{
  font-family:"Inter",Arial,sans-serif!important;
}
body,button,input,select,textarea,label,small,p,th,td,
.eyebrow,.chip,.nav-item,.bar-label,.agenda strong,
.privacy-note b,.donut-legend b,.donut-legend small{
  font-size:14px!important;
}
h1{font-size:34px!important}
h2{font-size:37px!important}
h3{font-size:24px!important}
.identity-number,
.mono-number,
.patient-rm,
.patient-register,
.number-value,
.copyable-number,
[data-copy-value] .number,
.identity-card .copy-field-value{
  font-family:"SFMono-Regular","Roboto Mono",ui-monospace,monospace!important;
  letter-spacing:.01em;
}

.patient-identity{
  display:grid!important;
  gap:2px!important;
  align-content:center!important;
  min-width:0!important;
}
.patient-name-line{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  line-height:1.16!important;
  color:var(--ink)!important;
  font-weight:400!important;
}
.patient-name-line strong{
  display:inline!important;
  font-weight:800!important;
  font-size:inherit!important;
  line-height:inherit!important;
  overflow-wrap:anywhere!important;
}
.patient-gender-code{
  font-size:.92em!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.patient-gender-code.male{color:#2f7fca!important}
.patient-gender-code.female{color:#cf5b84!important}
.patient-compact-meta{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.25!important;
  text-transform:none!important;
}
.patient-compact-meta .meta-sep{
  padding:0!important;
  color:#8aa098!important;
}
.row-avatar{gap:0!important;min-width:0!important}
.row-avatar .patient-name-line{font-size:15px!important}
.row-avatar .patient-compact-meta{font-size:12px!important}

.table-wrap table th,
.table-wrap table td,
.control-table-wrap table th,
.control-table-wrap table td{
  padding:8px 12px!important;
}
.table-wrap table td strong,
.control-table-wrap table td strong{
  line-height:1.16!important;
}
.table-wrap table td small,
.control-table-wrap table td small{
  line-height:1.2!important;
  margin-top:1px!important;
}

.group-member-preview{
  display:grid!important;
  gap:6px!important;
  margin-top:12px!important;
}
.group-member-preview span{
  display:block!important;
  border-radius:10px!important;
  padding:7px 10px!important;
  background:#eef4f0!important;
}
.group-member-preview .patient-name-line{font-size:13px!important}
.group-member-preview .patient-compact-meta{font-size:11px!important}

#service-table td{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
#service-table .patient-name-line strong{font-size:14px!important}
#service-table .patient-compact-meta{font-size:12px!important}
#service-table th:nth-child(4),
#service-table td:nth-child(4){
  min-width:150px!important;
}
#service-table th:nth-child(5),
#service-table td:nth-child(5){
  min-width:210px!important;
  padding-left:30px!important;
}
.ttv-compact{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}
.ttv-compact .ttv-high,
.ttv-compact .ttv-high *{
  color:#b42318!important;
  font-weight:900!important;
}
.ttv-compact .ttv-low,
.ttv-compact .ttv-low *{
  color:#1d6fb8!important;
  font-weight:900!important;
}

.service-filter-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) minmax(160px,210px)!important;
  gap:12px!important;
  align-items:end!important;
  margin:14px 0 10px!important;
}
.service-filter-toolbar .search,
.service-filter-toolbar input,
.service-filter-toolbar select{
  min-height:44px!important;
  height:44px!important;
  border-radius:10px!important;
}
.service-filter-toolbar label:not(.search){
  display:grid!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-weight:800!important;
  font-size:12px!important;
}
.service-filter-toolbar label:not(.search) input,
.service-filter-toolbar label:not(.search) select{
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
}
.service-table-meta>div{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.service-table-meta #service-page-info{
  min-width:58px!important;
  text-align:center!important;
  font-weight:800!important;
  color:var(--ink)!important;
}
.service-table-meta .btn{
  width:42px!important;
  height:42px!important;
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
}

.dx-builder.full-row{
  padding:16px!important;
  gap:14px!important;
  border-radius:14px!important;
}
.dx-builder .filter-row-head{
  margin-bottom:8px!important;
}
.dx-builder-head{
  display:block!important;
  color:#61756f!important;
  font-size:12px!important;
  font-weight:800!important;
}
.dx-builder-head>span{
  display:none!important;
}
.dx-builder-head label{
  display:grid!important;
  gap:6px!important;
  max-width:320px!important;
  margin:0!important;
}
.dx-builder-head select{
  min-height:44px!important;
  height:44px!important;
}
.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(150px,.55fr) minmax(260px,1.2fr) minmax(190px,.8fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:12px!important;
}
.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
}
.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}
.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  padding:0!important;
}
#ht-rule-list .reference-rule + .reference-rule,
#dm-rule-list .reference-rule + .reference-rule{
  margin-top:18px!important;
}
.reference-rule{
  row-gap:12px!important;
}

@media(max-width:900px){
  .service-filter-toolbar{grid-template-columns:1fr 1fr!important}
  .service-filter-toolbar .service-search{grid-column:1/-1!important}
  .dx-filter-row{grid-template-columns:1fr 1fr!important}
  .dx-filter-row .dx-row-spacer{display:none!important}
}
@media(max-width:560px){
  .service-filter-toolbar{grid-template-columns:1fr!important}
  .service-table-meta{align-items:stretch!important}
  .service-table-meta label,
  .service-table-meta>div{
    width:100%!important;
    justify-content:space-between!important;
  }
  .dx-builder-head label{max-width:none!important}
  .dx-filter-row{grid-template-columns:1fr!important}
  .dx-filter-row .remove-row{width:100%!important}
}

/* Final normalization after 2026-07-14 review */
html,body,button,input,select,textarea,table,label,small,p,span,div,strong,b,h1,h2,h3,h4,a{
  font-family:"Inter",Arial,sans-serif!important;
}
.identity-number,
.copyable-identity,
.number-value,
.identity-card .copy-field-value,
.lab-selected-content .identity-number{
  font-family:"Inter",Arial,sans-serif!important;
  letter-spacing:0!important;
}
.mono-number,
.copyable-number .identity-number,
.copyable-number .number-value,
.copyable-number .copy-field-value{
  font-family:"SFMono-Regular","Roboto Mono","Cascadia Mono",Menlo,Consolas,monospace!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
}
.patient-identity{
  display:inline-grid!important;
  gap:2px!important;
  align-content:center!important;
  min-width:0!important;
  max-width:100%!important;
}
.patient-name-line{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  min-width:0!important;
  font-weight:500!important;
  line-height:1.14!important;
  color:var(--ink)!important;
}
.patient-name-line strong{
  display:inline!important;
  font-weight:600!important;
  font-size:inherit!important;
  line-height:inherit!important;
  overflow-wrap:anywhere!important;
}
.patient-gender-code{
  font-size:.9em!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.patient-gender-code.male{color:#2f7fca!important}
.patient-gender-code.female{color:#cf5b84!important}
.patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.2!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.patient-compact-meta .meta-sep{
  display:inline!important;
  padding:0!important;
  color:#8aa098!important;
}
.row-avatar{gap:0!important;min-width:0!important}
.row-avatar .patient-name-line{font-size:14px!important}
.row-avatar .patient-compact-meta{font-size:12px!important}
.table-wrap table th,
.table-wrap table td,
.control-table-wrap table th,
.control-table-wrap table td{
  padding:6px 12px!important;
  vertical-align:middle!important;
}
.table-wrap table td strong,
.control-table-wrap table td strong{
  line-height:1.12!important;
  font-weight:600!important;
}
.table-wrap table td small,
.control-table-wrap table td small{
  line-height:1.14!important;
  margin-top:1px!important;
}
.group-member-preview{
  display:grid!important;
  gap:5px!important;
  margin-top:10px!important;
}
.group-member-preview>span{
  display:block!important;
  border-radius:9px!important;
  padding:7px 9px!important;
  background:#eef4f0!important;
  min-height:0!important;
}
.group-member-preview>span .patient-identity{
  display:inline-grid!important;
  gap:2px!important;
}
.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.group-member-preview>span .patient-name-line strong{
  display:inline!important;
  font-weight:600!important;
}
.group-member-preview>span .patient-name-line span,
.group-member-preview>span .patient-compact-meta span{
  display:inline!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.group-member-preview small{
  font-size:12px!important;
  color:var(--muted)!important;
}
#service-table td{
  padding-top:6px!important;
  padding-bottom:6px!important;
}
#service-table .patient-name-line strong{font-size:14px!important}
#service-table .patient-compact-meta{font-size:12px!important}
#service-table th:nth-child(4),
#service-table td:nth-child(4){
  min-width:145px!important;
}
#service-table th:nth-child(5),
#service-table td:nth-child(5){
  min-width:230px!important;
  padding-left:36px!important;
}
.ttv-compact{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}
.ttv-compact .ttv-high,
.ttv-compact .ttv-high *{
  color:#b42318!important;
  font-weight:700!important;
}
.ttv-compact .ttv-low,
.ttv-compact .ttv-low *{
  color:#1d6fb8!important;
  font-weight:700!important;
}
.service-filter-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) minmax(160px,210px)!important;
  gap:12px!important;
  align-items:end!important;
  margin:14px 0 10px!important;
}
.service-filter-toolbar .search,
.service-filter-toolbar input,
.service-filter-toolbar select{
  min-height:44px!important;
  height:44px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}
.service-filter-toolbar label:not(.search){
  display:grid!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-weight:700!important;
  font-size:12px!important;
}
.service-filter-toolbar label:not(.search) input,
.service-filter-toolbar label:not(.search) select{
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
}
.service-table-meta>div{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.service-table-meta #service-page-info{
  min-width:64px!important;
  text-align:center!important;
  font-weight:700!important;
  color:var(--ink)!important;
}
.service-table-meta .btn{
  width:42px!important;
  height:42px!important;
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
}
.dx-builder.full-row{
  padding:16px!important;
  gap:14px!important;
  border-radius:14px!important;
}
.dx-builder .filter-row-head{margin-bottom:10px!important}
.dx-builder-head{
  display:block!important;
  color:#61756f!important;
  font-size:12px!important;
  font-weight:700!important;
}
.dx-builder-head>span{display:none!important}
.dx-builder-head label{
  display:grid!important;
  gap:6px!important;
  max-width:320px!important;
  margin:0!important;
}
.dx-builder-head select{
  min-height:44px!important;
  height:44px!important;
}
.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(150px,.55fr) minmax(260px,1.2fr) minmax(190px,.8fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:12px!important;
}
.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
}
.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}
.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  padding:0!important;
}
#ht-rule-list .reference-rule + .reference-rule,
#dm-rule-list .reference-rule + .reference-rule{
  margin-top:18px!important;
}
.reference-rule{row-gap:12px!important}
@media(max-width:900px){
  .service-filter-toolbar{grid-template-columns:1fr 1fr!important}
  .service-filter-toolbar .service-search{grid-column:1/-1!important}
  .dx-filter-row{grid-template-columns:1fr 1fr!important}
  .dx-filter-row .dx-row-spacer{display:none!important}
  .group-member-preview>span .patient-compact-meta{white-space:normal!important}
}
@media(max-width:560px){
  .service-filter-toolbar{grid-template-columns:1fr!important}
  .service-table-meta{align-items:stretch!important}
  .service-table-meta label,
  .service-table-meta>div{
    width:100%!important;
    justify-content:space-between!important;
  }
  .dx-builder-head label{max-width:none!important}
  .dx-filter-row{grid-template-columns:1fr!important}
  .dx-filter-row .remove-row{width:100%!important}
  .patient-compact-meta{white-space:normal!important}
}

/* True final override — keep this as the last block */
*{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}

strong,
b,
h1,
h2,
h3,
h4,
th,
.btn,
button,
.sidebar a,
.panel-head h3,
.section-title h3,
.patient-name-line strong,
.patient-gender-code,
.chip,
.dx-pill,
.condition-pill{
  font-weight:600!important;
}

.copyable-number,
.copyable-number *,
.mono-number,
.number-mono,
.identity-number.mono-number,
.number-value.mono-number{
  font-family:"SFMono-Regular", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace!important;
  font-weight:500!important;
  font-variant-numeric:tabular-nums!important;
}

.group-member-preview{
  display:grid!important;
  gap:4px!important;
  margin-top:6px!important;
}

.group-member-preview>span{
  min-height:32px!important;
  padding:5px 10px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
}

.group-member-preview>span .patient-identity{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}

.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.dx-builder.full-row{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
}

.dx-builder.full-row .filter-row-head{
  margin:0!important;
}

#dx-filter-list{
  display:grid!important;
  gap:10px!important;
}

.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(320px,1.25fr) minmax(220px,.85fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin:0!important;
}

.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  font-size:12px!important;
  font-weight:500!important;
}

.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  align-self:end!important;
  padding:0!important;
}

@media(max-width:900px){
  .dx-filter-row{
    grid-template-columns:1fr 1fr!important;
  }
  .dx-filter-row .remove-row{
    width:100%!important;
  }
}

@media(max-width:560px){
  .dx-filter-row{
    grid-template-columns:1fr!important;
  }
  .group-member-preview>span{
    min-height:30px!important;
  }
}

/* Final override must stay at EOF — typography weight + diagnosis filter alignment */
*{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}

strong,
b,
h1,
h2,
h3,
h4,
th,
.btn,
button,
.sidebar a,
.panel-head h3,
.section-title h3,
.patient-name-line strong,
.patient-gender-code,
.chip,
.dx-pill,
.condition-pill{
  font-weight:600!important;
}

.copyable-number,
.copyable-number *,
.mono-number,
.number-mono,
.identity-number.mono-number,
.number-value.mono-number{
  font-family:"SFMono-Regular", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace!important;
  font-weight:500!important;
  font-variant-numeric:tabular-nums!important;
}

.group-member-preview{
  display:grid!important;
  gap:4px!important;
  margin-top:6px!important;
}

.group-member-preview>span{
  min-height:32px!important;
  padding:5px 10px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
}

.group-member-preview>span .patient-identity{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}

.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.dx-builder.full-row{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
}

.dx-builder.full-row .filter-row-head{
  margin:0!important;
}

#dx-filter-list{
  display:grid!important;
  gap:10px!important;
}

.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(320px,1.25fr) minmax(220px,.85fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin:0!important;
}

.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  font-size:12px!important;
  font-weight:500!important;
}

.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  align-self:end!important;
  padding:0!important;
}

@media(max-width:900px){
  .dx-filter-row{
    grid-template-columns:1fr 1fr!important;
  }
  .dx-filter-row .remove-row{
    width:100%!important;
  }
}

@media(max-width:560px){
  .dx-filter-row{
    grid-template-columns:1fr!important;
  }
  .group-member-preview>span{
    min-height:30px!important;
  }
}

/* Last pass: typography weight + diagnosis filter alignment */
*{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}

strong,
b,
h1,
h2,
h3,
h4,
th,
.btn,
button,
.sidebar a,
.panel-head h3,
.section-title h3,
.patient-name-line strong,
.patient-gender-code,
.chip,
.dx-pill,
.condition-pill{
  font-weight:600!important;
}

.copyable-number,
.copyable-number *,
.mono-number,
.number-mono,
.identity-number.mono-number,
.number-value.mono-number{
  font-family:"SFMono-Regular", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace!important;
  font-weight:500!important;
  font-variant-numeric:tabular-nums!important;
}

.group-member-preview{
  display:grid!important;
  gap:4px!important;
  margin-top:6px!important;
}

.group-member-preview>span{
  min-height:32px!important;
  padding:5px 10px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
}

.group-member-preview>span .patient-identity{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}

.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.dx-builder.full-row{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
}

.dx-builder.full-row .filter-row-head{
  margin:0!important;
}

#dx-filter-list{
  display:grid!important;
  gap:10px!important;
}

.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(320px,1.25fr) minmax(220px,.85fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin:0!important;
}

.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  font-size:12px!important;
  font-weight:500!important;
}

.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  align-self:end!important;
  padding:0!important;
}

@media(max-width:900px){
  .dx-filter-row{
    grid-template-columns:1fr 1fr!important;
  }
  .dx-filter-row .remove-row{
    width:100%!important;
  }
}

@media(max-width:560px){
  .dx-filter-row{
    grid-template-columns:1fr!important;
  }
  .group-member-preview>span{
    min-height:30px!important;
  }
}

/* Final typography and density pass — 14 Jul */
body,
button,
input,
select,
textarea{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}

strong,
b,
h1,
h2,
h3,
h4,
th,
.btn,
button,
.chip,
.patient-name-line strong,
.group-card h3,
.group-member-count,
.metric strong,
.card-number,
.count-number,
.table-meta strong,
.sidebar a,
.panel-head h3,
.section-title h3{
  font-weight:600!important;
}

.copyable-number,
.copyable-number *,
.identity-details .copyable-number,
.record .identity .copyable-number,
.number-mono{
  font-family:"SFMono-Regular", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace!important;
  font-weight:500!important;
}

.identity-details span:not(.copyable-number),
.identity-details b:not(.copyable-number),
.patient-compact-meta,
.patient-compact-meta *,
.muted,
small,
td,
td *,
.lab-summary-table td,
.lab-summary-table td *{
  font-weight:400!important;
}

.patient-name-line,
.patient-name-line strong,
.group-member-preview .patient-name-line,
.group-member-preview .patient-name-line strong{
  font-weight:600!important;
}

.patient-gender-code{
  font-weight:600!important;
}

.ttv-compact .ttv-high,
.ttv-compact .ttv-high *,
.ttv-compact .ttv-low,
.ttv-compact .ttv-low *{
  font-weight:600!important;
}

.group-member-preview{
  display:grid!important;
  gap:5px!important;
  margin-top:8px!important;
}

.group-member-preview>span{
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
}

.group-member-preview>span .patient-identity{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  width:100%!important;
}

.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:max-content!important;
  font-size:12px!important;
  line-height:1.15!important;
}

.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.group-member-preview>span .patient-compact-meta .meta-sep{
  opacity:.65!important;
}

.dx-builder.full-row{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
}

.dx-builder .filter-row-head{
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
}

#dx-filter-list{
  display:grid!important;
  gap:10px!important;
}

.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(210px,.9fr) minmax(300px,1.25fr) minmax(210px,.85fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin:0!important;
}

.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  color:#61756f!important;
  font-size:12px!important;
  font-weight:500!important;
}

.dx-filter-row label input,
.dx-filter-row label select,
.dx-filter-row>select,
.dx-filter-row .dx-row-spacer{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row .dx-row-spacer{
  display:block!important;
}

.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  align-self:end!important;
}

.table-meta>div,
.service-table-meta>div{
  gap:12px!important;
}

.table-meta button,
.service-table-meta button{
  min-width:44px!important;
}

@media(max-width:980px){
  .dx-filter-row{
    grid-template-columns:1fr 1fr!important;
  }
  .dx-filter-row .remove-row{
    width:100%!important;
  }
}

@media(max-width:620px){
  .dx-filter-row{
    grid-template-columns:1fr!important;
  }
  .dx-filter-row .dx-row-spacer{
    display:none!important;
  }
  .group-member-preview>span{
    min-height:32px!important;
  }
  .group-member-preview>span .patient-identity{
    flex-wrap:wrap!important;
    gap:3px 7px!important;
  }
}

/* Final UI normalization — 14 Jul */
body,
button,
input,
select,
textarea,
table,
label,
small,
p,
span,
div,
strong,
b,
h1,
h2,
h3,
h4,
a{
  font-family:"Inter",Arial,sans-serif!important;
}

.identity-number,
.copyable-identity,
.number-value,
.identity-card .copy-field-value,
.lab-selected-content .identity-number{
  font-family:"Inter",Arial,sans-serif!important;
  letter-spacing:0!important;
}

.mono-number,
.copyable-number .identity-number,
.copyable-number .number-value,
.copyable-number .copy-field-value{
  font-family:"SFMono-Regular","Roboto Mono","Cascadia Mono",Menlo,Consolas,monospace!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
}

.patient-identity{
  display:inline-grid!important;
  gap:1px!important;
  align-content:center!important;
  min-width:0!important;
  max-width:100%!important;
}

.patient-name-line{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  min-width:0!important;
  line-height:1.15!important;
  color:var(--ink)!important;
}

.patient-name-line strong{
  display:inline!important;
  font-weight:600!important;
  font-size:inherit!important;
  line-height:inherit!important;
  overflow-wrap:anywhere!important;
}

.patient-gender-code{
  display:inline!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  font-size:.9em!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:0!important;
}

.patient-gender-code.male{color:#2f7fca!important}
.patient-gender-code.female{color:#cf5b84!important}

.patient-compact-meta{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.2!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

.patient-compact-meta span{
  display:inline!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  font:inherit!important;
  color:inherit!important;
}

.patient-compact-meta .meta-sep{
  display:inline!important;
  padding:0!important;
  color:#8aa098!important;
}

.row-avatar{gap:0!important;min-width:0!important}
.row-avatar .patient-name-line{font-size:14px!important}
.row-avatar .patient-compact-meta{font-size:12px!important}

.table-wrap table th,
.table-wrap table td,
.control-table-wrap table th,
.control-table-wrap table td{
  padding:6px 12px!important;
  vertical-align:middle!important;
}

.table-wrap table td strong,
.control-table-wrap table td strong{
  line-height:1.12!important;
  font-weight:600!important;
}

.table-wrap table td small,
.control-table-wrap table td small{
  line-height:1.14!important;
  margin-top:1px!important;
}

.group-member-preview{
  display:grid!important;
  gap:5px!important;
  margin-top:10px!important;
}

.group-member-preview>span{
  display:block!important;
  min-height:0!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  background:#eef4f0!important;
}

.group-member-preview>span .patient-identity{
  display:inline-grid!important;
  gap:1px!important;
}

.group-member-preview>span .patient-name-line{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  font-size:13px!important;
  white-space:nowrap!important;
}

.group-member-preview>span .patient-name-line strong{
  display:inline!important;
  font-weight:600!important;
}

.group-member-preview>span .patient-name-line span,
.group-member-preview>span .patient-compact-meta span{
  display:inline!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}

.group-member-preview>span .patient-compact-meta{
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

.group-member-preview small{
  font-size:12px!important;
  color:var(--muted)!important;
}

#service-table td{
  padding-top:6px!important;
  padding-bottom:6px!important;
}

#service-table .patient-name-line strong{font-size:14px!important}
#service-table .patient-compact-meta{font-size:12px!important}
#service-table th:nth-child(4),
#service-table td:nth-child(4){
  min-width:145px!important;
}
#service-table th:nth-child(5),
#service-table td:nth-child(5){
  min-width:230px!important;
  padding-left:36px!important;
}

.ttv-compact{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}

.ttv-compact .ttv-high,
.ttv-compact .ttv-high *{
  color:#b42318!important;
  font-weight:700!important;
}

.ttv-compact .ttv-low,
.ttv-compact .ttv-low *{
  color:#1d6fb8!important;
  font-weight:700!important;
}

.service-filter-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) minmax(160px,210px)!important;
  gap:12px!important;
  align-items:end!important;
  margin:14px 0 10px!important;
}

.service-filter-toolbar .search,
.service-filter-toolbar input,
.service-filter-toolbar select{
  min-height:44px!important;
  height:44px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}

.service-filter-toolbar label:not(.search){
  display:grid!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-weight:700!important;
  font-size:12px!important;
}

.service-filter-toolbar label:not(.search) input,
.service-filter-toolbar label:not(.search) select{
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
}

.service-table-meta>div{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}

.service-table-meta #service-page-info{
  min-width:64px!important;
  text-align:center!important;
  font-weight:700!important;
  color:var(--ink)!important;
}

.service-table-meta .btn{
  width:42px!important;
  height:42px!important;
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
}

.dx-builder.full-row{
  padding:16px!important;
  gap:14px!important;
  border-radius:14px!important;
}

.dx-builder .filter-row-head{
  margin-bottom:10px!important;
}

.dx-builder-head{
  display:block!important;
  color:#61756f!important;
  font-size:12px!important;
  font-weight:700!important;
}

.dx-builder-head>span{
  display:none!important;
}

.dx-builder-head label{
  display:grid!important;
  gap:6px!important;
  max-width:320px!important;
  margin:0!important;
}

.dx-builder-head select{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row{
  display:grid!important;
  grid-template-columns:minmax(150px,.55fr) minmax(260px,1.2fr) minmax(190px,.8fr) 44px!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:12px!important;
}

.dx-filter-row label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
}

.dx-filter-row input,
.dx-filter-row select{
  min-height:44px!important;
  height:44px!important;
}

.dx-filter-row .remove-row{
  width:44px!important;
  height:44px!important;
  padding:0!important;
}

#ht-rule-list .reference-rule + .reference-rule,
#dm-rule-list .reference-rule + .reference-rule{
  margin-top:18px!important;
}

.reference-rule{
  row-gap:12px!important;
}

@media(max-width:900px){
  .service-filter-toolbar{grid-template-columns:1fr 1fr!important}
  .service-filter-toolbar .service-search{grid-column:1/-1!important}
  .dx-filter-row{grid-template-columns:1fr 1fr!important}
  .dx-filter-row .dx-row-spacer{display:none!important}
  .group-member-preview>span .patient-compact-meta{white-space:normal!important}
}

@media(max-width:560px){
  .service-filter-toolbar{grid-template-columns:1fr!important}
  .service-table-meta{align-items:stretch!important}
  .service-table-meta label,
  .service-table-meta>div{
    width:100%!important;
    justify-content:space-between!important;
  }
  .dx-builder-head label{max-width:none!important}
  .dx-filter-row{grid-template-columns:1fr!important}
  .dx-filter-row .remove-row{width:100%!important}
  .patient-compact-meta{white-space:normal!important}
}

/* Hasil Laboratorium — dashboard filter kelompok */
.lab-browser-panel{margin-top:var(--space-6);display:grid;gap:var(--space-8)}
.lab-browser-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.lab-browser-heading h2{margin:4px 0 6px;font-size:24px;line-height:1.25;color:var(--ink)}
.lab-browser-heading p:last-child,.lab-section-heading p,.lab-advanced small,.filter-row-head small{display:block;margin:0;color:var(--muted);font-weight:500}
.lab-filter-section,.lab-advanced,.lab-active-filters,.lab-results-section{display:grid;gap:var(--space-3)}
.lab-section-heading,.lab-results-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}
.lab-section-heading h3,.lab-results-heading h3{margin:0 0 3px;font-size:17px;color:var(--ink)}
.lab-filter-card{padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}
.lab-browser-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:var(--space-4)}
.lab-browser-filters label,.lab-patient-filter,.lab-criteria-row label{font-size:13px;font-weight:600;color:var(--muted)}
.lab-browser-filters input,.lab-browser-filters select,.lab-patient-filter input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font:inherit}
.lab-advanced{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.lab-advanced summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;color:var(--ink)}
.lab-advanced summary b{font-size:17px;line-height:1.45;font-weight:600}
.lab-advanced summary::-webkit-details-marker{display:none}.lab-advanced[open] summary>span:last-child{transform:rotate(180deg)}
.lab-advanced-content{display:grid;gap:18px}.lab-patient-filter{max-width:620px}.lab-criteria-builder{display:grid;gap:12px}
.filter-row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.btn.small{min-height:36px;padding:7px 11px;font-size:13px}
.lab-filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:-8px}
#lab-criteria-list{display:grid;gap:var(--space-4)}.lab-criteria-row{padding:0;grid-template-columns:minmax(240px,1fr) 112px 152px 42px;gap:var(--space-3)}
.lab-criteria-row select,.lab-criteria-row input{height:42px;min-height:42px!important;margin-top:6px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface);color:var(--text-primary)}.lab-criteria-row .remove-row{width:42px;height:42px}
.lab-age-filter{display:grid;align-content:start;min-width:0}.lab-age-label{font-size:13px;font-weight:600;line-height:18px;color:var(--muted)}
.lab-age-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;margin-top:6px}.lab-age-fields label{display:block;min-width:0}.lab-browser-filters .lab-age-fields input{display:block;width:100%;height:42px;min-height:42px!important;margin:0!important;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font:inherit;font-variant-numeric:tabular-nums}.lab-age-separator{align-self:center;color:var(--muted);font-weight:600}
.lab-age-filter>.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}
.lab-filter-chips{display:flex;gap:8px;flex-wrap:wrap;min-height:32px}
.lab-filter-chip{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;background:var(--green-soft,#eef5f1);color:var(--green,#174b41);padding:7px 10px;font:600 13px/18px inherit;cursor:pointer}
.lab-filter-chip:hover{background:#dcebe5}.lab-filter-chip span{font-size:17px;font-weight:400}
.lab-results-section{padding-top:var(--space-2);gap:var(--space-4)}.lab-results-heading{min-height:42px;align-items:center}.lab-results-heading h3{margin:0}.lab-results-heading .export-actions{width:auto!important;margin-left:auto;flex-wrap:nowrap}.lab-results-heading .export-actions .btn{flex:0 0 auto}
.lab-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.lab-result-metrics div{display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface);padding:var(--space-4)}.lab-result-metrics strong{font-size:19px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.lab-result-metrics span{font-size:12px;color:var(--muted)}
.lab-results-table{margin-top:0;overflow-x:hidden}.lab-results-table table{width:100%;min-width:0!important;table-layout:fixed}.lab-results-table th,.lab-results-table td{padding:10px 8px!important;overflow-wrap:anywhere}.lab-results-table th{font-size:11px!important;line-height:1.25}.lab-results-table td{font-size:13px!important}.lab-results-table th:nth-child(1){width:15%}.lab-results-table th:nth-child(2){width:13%}.lab-results-table th:nth-child(3){width:11%}.lab-results-table th:nth-child(4){width:13%}.lab-results-table th:nth-child(5){width:15%}.lab-results-table th:nth-child(6){width:13%}.lab-results-table th:nth-child(7){width:20%}.lab-stacked-cell,.lab-result-reading{display:grid;gap:2px;min-width:0}.lab-stacked-cell small,.lab-result-reading small{display:block;margin:0;color:var(--text-muted);font-size:11px;line-height:1.25}.lab-results-table .lab-value{display:flex;align-items:flex-start;gap:5px;min-width:0}.lab-result-arrow{flex:0 0 16px;width:16px;height:16px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lab-browser-empty{min-height:220px;justify-content:center;align-items:center;text-align:center;gap:8px}.lab-browser-empty .btn{margin-top:8px}
.lab-results-table .lab-value.lab-high,.lab-results-table .lab-value.lab-high strong{color:var(--danger)}.lab-results-table .lab-value.lab-low,.lab-results-table .lab-value.lab-low strong{color:var(--info)}
@media(max-width:950px){.lab-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-criteria-row{grid-template-columns:1fr 1fr}.lab-criteria-row .remove-row{width:100%}.lab-result-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.lab-browser-heading{display:grid}.lab-browser-heading .export-actions{justify-content:stretch}.lab-browser-heading .export-actions .btn{flex:1}.lab-browser-filters,.lab-criteria-row,.lab-result-metrics{grid-template-columns:1fr}.lab-section-heading{align-items:center}.lab-section-heading #add-lab-criteria{width:auto}.filter-row-head,.lab-results-heading{align-items:stretch;flex-direction:column}.filter-row-head .btn,.lab-results-heading .btn{width:100%}.lab-filter-actions{display:grid;grid-template-columns:1fr 1fr}.lab-filter-actions .btn{width:100%}}
@media(max-width:650px){.lab-filter-card{padding:var(--space-4)}}

/* Rekam Medis — search, filter dashboard, and sortable table */
.patient-search-bar{width:100%;min-height:48px;margin-bottom:16px}.patient-search-bar input{font-size:14px}
.patient-filter-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px;margin-bottom:20px;border:1px solid var(--line);border-radius:14px;background:var(--soft,#fafbf9);box-shadow:none}
.patient-filter-box>label,.patient-filter-label{font-size:13px;font-weight:600;line-height:18px;color:var(--muted)}
.patient-filter-box>label input,.patient-filter-box>label select{display:block;width:100%;height:42px;min-height:42px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font:inherit}
.patient-age-filter{display:grid;align-content:start;min-width:0}.patient-age-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:6px}.patient-age-fields input{display:block;width:100%;height:42px;min-height:42px!important;margin:0!important;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;font:inherit;font-variant-numeric:tabular-nums}.patient-age-fields>span{color:var(--muted);font-weight:600}.patient-age-filter>.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}
.patient-export-action{align-self:end;width:100%;height:42px;min-height:42px!important}
.patient-table-wrap table{min-width:800px;table-layout:fixed}.patient-table-wrap th:nth-child(-n+4),.patient-table-wrap td:nth-child(-n+4){width:20%!important}.patient-table-wrap th:nth-child(5),.patient-table-wrap td:nth-child(5){width:10%!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-table-wrap th:last-child,.patient-table-wrap td:last-child{width:10%!important}
.patient-table-wrap th button{display:inline-flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.patient-table-wrap th button:hover,.patient-table-wrap th button.active{color:var(--green)}.sort-indicator{font-size:13px;line-height:1}.patient-table-wrap tbody tr{cursor:pointer}.patient-table-wrap tbody tr:hover{background:var(--green-soft,#eef5f1)}
.patient-action-cell{padding-left:8px!important;padding-right:8px!important;text-align:right;overflow:hidden}.patient-action-cell .record-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:100%}.patient-action-cell .record-icon{flex:0 0 28px;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:5px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.patient-action-cell .record-icon:hover{color:var(--primary-700);background:transparent!important}.patient-action-cell .record-icon svg{width:17px;height:17px}
.patient-action-cell .settings-vector,.patient-action-cell .settings-vector *{fill:none!important;stroke:currentColor!important;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:950px){.patient-filter-box{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-export-action:last-of-type{grid-column:auto}}
@media(max-width:650px){.patient-filter-box{grid-template-columns:1fr;padding:16px}.patient-table-wrap table{min-width:720px}}

/* Grup Prolanis — searchable group cards with compact member tables */
#groups-view{display:none}
#groups-view.active{display:block}
.group-browser-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(160px,1fr));gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}
.group-browser-toolbar>label{display:grid;gap:6px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}
.group-browser-toolbar input,.group-browser-toolbar select{width:100%;height:44px;min-height:44px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit}
.group-browser-toolbar .group-search{display:flex;align-items:center;align-self:end;width:100%;height:44px;min-height:44px;margin:0;font-weight:var(--weight-regular)}
.group-browser-toolbar .group-search input{height:42px;min-height:42px;border:0}
.group-result-meta{margin:var(--space-4) 0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}
#groups-view .group-list{display:grid!important;grid-template-columns:1fr!important;gap:var(--space-4)!important}
#groups-view .group-card{padding:0!important;overflow:hidden;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-lg)!important;background:var(--surface)!important;box-shadow:none!important}
#groups-view .group-card-head{align-items:center;margin:0!important;padding:var(--space-5) var(--space-4) var(--space-4)!important}
#groups-view .group-card-head h3{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--title-sm)!important;font-weight:var(--weight-semibold)!important}
#groups-view .group-card-head p{margin:0;color:var(--text-muted);font-size:var(--text-sm)!important}
#groups-view .group-member-count{height:24px!important;min-width:0!important;padding:0 var(--space-2)!important;background:var(--primary-050)!important;color:var(--primary-700)!important;font-size:var(--text-xs)!important;font-weight:var(--weight-medium)!important}
#groups-view .group-gear{display:grid;place-items:center;width:40px!important;min-width:40px;height:40px!important;padding:9px!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;background:var(--surface)!important;color:var(--primary-700)!important}
#groups-view .group-gear:hover{border-color:var(--primary-200)!important;background:var(--primary-050)!important}
#groups-view .group-gear svg{width:22px;height:22px}.group-gear .settings-vector,.group-gear .settings-vector *{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.group-table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--border-subtle)}
.group-member-table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}
.group-member-table th,.group-member-table td{height:52px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:var(--surface);text-align:left;vertical-align:middle;font-size:var(--text-md)}
.group-member-table th{height:42px;padding-top:10px;padding-bottom:10px;background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}
.group-member-table th:nth-child(1){width:34%}.group-member-table th:nth-child(2){width:16%}.group-member-table th:nth-child(3){width:24%}.group-member-table th:nth-child(4){width:26%}
.group-member-table tbody tr:hover td{background:var(--primary-050)}.group-member-table tbody tr:last-child td{border-bottom:0}
.group-member-table th button{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--weight-medium);cursor:pointer}
.group-member-table th button:hover{color:var(--primary-700)}.group-member-table .patient-name-line{font-size:var(--text-md)!important}
.group-numeric{font-variant-numeric:tabular-nums}.group-member-empty{height:72px!important;color:var(--text-muted);text-align:center!important}
#groups-view .group-more{width:auto;margin:var(--space-3) var(--space-4) var(--space-4);padding:var(--space-2) 0;color:var(--primary-700);font-size:var(--text-sm);font-weight:var(--weight-medium)}
#groups-view .group-empty{min-height:220px;justify-content:center;align-items:center;text-align:center}.group-empty .btn{margin-top:var(--space-2)}
@media(max-width:1000px){.group-browser-toolbar{grid-template-columns:1fr 1fr}.group-browser-toolbar .group-search{grid-column:1/-1}}
@media(max-width:650px){.group-browser-toolbar{grid-template-columns:1fr;padding:var(--space-4)}.group-browser-toolbar .group-search{grid-column:auto}#groups-view .group-card-head{padding:var(--space-4)!important}.group-member-table{min-width:640px}#groups-view .group-more{margin-left:var(--space-4);margin-right:var(--space-4)}}

/* Kelola Grup Prolanis — compact member selection table */
.group-member-list{overflow:auto}
.group-member-columns,.group-member-row{display:grid;grid-template-columns:24px minmax(180px,1.25fr) minmax(150px,1fr) minmax(170px,1fr) minmax(165px,1fr);align-items:center;gap:var(--space-3);min-width:830px;padding-left:var(--space-4);padding-right:var(--space-4)}
.group-member-columns{position:sticky;top:0;z-index:1;min-height:42px;border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}
.group-member-row{min-height:52px;padding-top:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--surface)}
.group-member-row:last-child{border-bottom:0}.group-member-row:hover{background:var(--primary-050)}
.group-member-row input{width:18px;height:18px;margin:0;accent-color:var(--primary-700)}
.group-member-row .patient-name-line{font-size:var(--text-md)!important}.group-member-row small{display:inline;color:var(--text-muted);font-size:var(--text-xs)}
.group-member-birth,.group-member-nik{font-variant-numeric:tabular-nums}.group-member-nik{font-size:var(--text-sm)}

/* Pengendalian HT & DM — period controls and sortable compact table */
.control-period-filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);width:100%;margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-subtle)}
.control-period-filters label{display:grid;gap:6px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}
.control-period-filters input,.control-period-filters select{width:100%;height:44px;min-height:44px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);padding:0 var(--space-3);font:inherit}
.control-disease-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
.control-disease-filters .control-search-wide{grid-column:span 2}
#ht-control-table,#dm-control-table{min-width:900px;table-layout:fixed}
#ht-control-table th:nth-child(1),#dm-control-table th:nth-child(1){width:20%}#ht-control-table th:nth-child(2),#dm-control-table th:nth-child(2){width:17%}#ht-control-table th:nth-child(3),#dm-control-table th:nth-child(3){width:16%}#ht-control-table th:nth-child(4),#dm-control-table th:nth-child(4){width:10%}#ht-control-table th:nth-child(5),#dm-control-table th:nth-child(5){width:37%}
#ht-control-table th button,#dm-control-table th button{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--weight-medium);text-align:left;cursor:pointer}
#ht-control-table th button:hover,#dm-control-table th button:hover{color:var(--primary-700)}
.control-birth-cell,.control-address-cell{display:grid;gap:2px}.control-birth-cell small,.control-address-cell small{color:var(--text-muted)}
.control-reading-list{display:flex;align-items:stretch;gap:var(--space-2);overflow-x:auto;padding-bottom:2px}.control-reading{position:relative;display:grid;flex:0 0 auto;gap:2px;min-width:104px;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-subtle);font-variant-numeric:tabular-nums}.control-reading small{color:var(--text-muted);font-size:var(--text-xs)}.control-reading b{white-space:nowrap;font-size:var(--text-sm)}.control-reading>em{position:absolute;right:7px;top:6px;color:var(--text-secondary);font-size:var(--text-xs);font-style:normal}.controlled-reading{background:var(--success-bg);color:var(--success)}
.dm-reading-value{display:flex;align-items:center;gap:var(--space-1)}.dm-reading-value em{min-width:10px;color:var(--text-secondary);font-style:normal}.dm-reading-value span{white-space:nowrap}
@media(max-width:950px){.control-disease-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.control-period-filters{grid-template-columns:1fr;padding:var(--space-4)}.control-disease-filters .control-search-wide{grid-column:auto}}

/* Data Penyakit — compact single-row diagnosis query builder */
#disease-control-view .dx-builder.full-row{display:grid!important;gap:var(--space-3)!important;padding:var(--space-4)!important;overflow:hidden}
#disease-control-view .dx-builder .filter-row-head{align-items:center;margin:0!important}
#disease-control-view .dx-builder .filter-row-head .btn{min-height:36px;padding:7px 11px;border:1px solid var(--border-default);background:var(--surface);color:var(--primary-700)}
.dx-rule-labels,#dx-filter-list .dx-filter-row-compact{display:grid!important;grid-template-columns:minmax(0,65fr) minmax(160px,25fr) 48px!important;gap:var(--space-3)!important;width:100%;min-width:0;margin:0!important}
.dx-rule-labels{align-items:end;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}
#dx-filter-list{display:grid!important;gap:var(--space-3)!important;min-width:0}
#dx-filter-list .dx-filter-row-compact{align-items:center!important;min-height:52px!important}
.dx-code-control{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);min-width:0}
.dx-code-control:has(.dx-row-logic){grid-template-columns:88px minmax(0,1fr)}
#dx-filter-list .dx-filter-row-compact input,#dx-filter-list .dx-filter-row-compact select{display:block;width:100%;min-width:0;height:44px!important;min-height:44px!important;margin:0!important;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);padding:0 var(--space-3);font:inherit}
#dx-filter-list .dx-filter-row-compact .dx-row-logic{font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center}
#dx-filter-list .dx-filter-row-compact .dx-row-spacer{display:none!important}
#dx-filter-list .dx-filter-row-compact .remove-row{display:grid;place-items:center;align-self:center!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border-radius:var(--radius-md)}
@media(max-width:700px){.dx-rule-labels{display:none!important}#dx-filter-list .dx-filter-row-compact{grid-template-columns:minmax(0,1fr) minmax(140px,.55fr) 44px!important;gap:var(--space-2)!important}.dx-code-control:has(.dx-row-logic){grid-template-columns:72px minmax(0,1fr)}}

/* Shared patient table cells */
.patient-birth-cell,.patient-address-cell{display:grid;align-content:center;gap:2px;min-width:0;line-height:1.35}
.patient-birth-cell small,.patient-address-cell small{display:block;margin:0!important;color:var(--text-muted)!important;font-size:var(--text-sm)!important;font-weight:var(--weight-regular)!important;line-height:1.35!important}
.patient-address-cell strong{overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);font-weight:var(--weight-regular)!important;white-space:nowrap}
.patient-birth-cell{font-variant-numeric:tabular-nums}
.schedule-patient-identity{display:grid!important;gap:2px!important}.schedule-patient-identity .patient-compact-meta{display:block!important;color:var(--text-muted);font-size:var(--text-xs)!important}
.control-monitor-table table{min-width:1040px;table-layout:fixed}.control-monitor-table th:nth-child(1){width:16%}.control-monitor-table th:nth-child(2){width:15%}.control-monitor-table th:nth-child(3){width:15%}.control-monitor-table th:nth-child(4){width:14%}.control-monitor-table th:nth-child(5){width:15%}.control-monitor-table th:nth-child(6){width:13%}.control-monitor-table th:nth-child(7){width:12%}.control-monitor-table tbody tr{cursor:pointer}.control-monitor-table tbody tr:hover{background:var(--primary-050)}
.control-program-cell,.control-date-cell{display:grid;gap:2px}.control-program-cell small,.control-date-cell small{color:var(--text-muted);font-size:var(--text-xs)}

/* Pelayanan — TTV mendapat ruang utama; tabel tetap terbaca pada viewport sempit. */
#services-view .service-browser-table-wrap{overflow-x:auto!important}
#services-view .service-browser-table{width:100%!important;min-width:1160px!important;table-layout:fixed!important}
#services-view .service-browser-table #service-table td{min-width:0!important;padding-left:10px!important;padding-right:10px!important;overflow-wrap:anywhere}
.service-browser-table .service-col-date{width:11%}
.service-browser-table .service-col-identity{width:15%}
.service-browser-table .service-col-birth{width:14%}
.service-browser-table .service-col-address{width:14%}
.service-browser-table .service-col-program{width:9%}
.service-browser-table .service-col-ttv{width:20%}
.service-browser-table .service-col-diagnosis{width:11%}
.service-browser-table .service-col-actions{width:6%}
.service-browser-table th:nth-child(8),.service-browser-table td:nth-child(8){padding-left:4px!important;padding-right:4px!important}
#service-table .ttv-compact{display:flex!important;flex-wrap:wrap!important;align-content:center!important;align-items:center!important;gap:6px!important;white-space:normal!important}
#service-table .ttv-compact>strong,#service-table .ttv-compact>span{display:inline-flex;align-items:center;min-height:30px;padding:4px 8px;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-subtle);white-space:nowrap}
#service-table .service-row-actions{gap:2px}
#service-table .service-row-actions .record-icon,#service-table .service-row-actions .more-btn{flex:0 0 28px;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:5px!important}

/* Form pelayanan — identitas mengikuti kartu Detail Rekam Medis */
.service-record-identity{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:stretch!important;background:#fff!important}
.service-identity-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.service-identity-heading .identity-main small{display:block;margin-bottom:4px;color:var(--text-muted);font-size:11px!important;font-weight:600;letter-spacing:.08em}
.service-identity-heading .identity-main h3{margin:0;font-size:24px!important;font-weight:600!important}
.service-identity-details{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.service-identity-details>span{display:block!important;min-width:0;padding:11px!important;border-radius:10px!important;background:#eef5f1!important;color:var(--text-primary)!important;font-family:inherit!important;line-height:1.45}
.service-identity-details>span b{display:block;margin:0 0 4px;color:var(--text-muted);font-family:inherit;font-size:11px;font-weight:600}
.service-record-identity .allergy-alert{margin:0!important;padding:11px!important;border-radius:10px!important}

/* Rich text terbatas: tidak menyediakan atau menerima pengaturan font */
.rich-text-field{overflow:hidden;border:1px solid var(--border-default);border-radius:10px;background:var(--surface)}
.rich-text-toolbar{display:flex;align-items:center;gap:4px;min-height:42px;padding:6px 8px;border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle)}
.rich-text-toolbar>span{width:1px;height:24px;margin:0 4px;background:var(--border-default)}
.rich-text-toolbar button{width:auto;min-width:32px;height:30px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--text-primary);font-family:inherit!important;font-size:13px;cursor:pointer}
.rich-text-toolbar button:hover,.rich-text-toolbar button:focus-visible{background:var(--primary-050);color:var(--primary-700)}
.rich-text-editor{min-height:126px;padding:12px;outline:0;color:var(--text-primary);font-family:Inter,sans-serif!important;font-size:14px;line-height:1.6}
.rich-text-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}
.rich-text-editor:focus{box-shadow:inset 0 0 0 2px var(--primary-200)}
.rich-text-editor p{margin:0 0 8px}.rich-text-editor ul,.rich-text-editor ol{margin:6px 0;padding-left:24px}

/* Asesmen ICD-10 — dropdown aplikasi, bukan datalist browser */
.dynamic-row.dx-row{grid-template-columns:minmax(0,1fr) 38px!important;align-items:start!important;overflow:visible!important}
.dynamic-row.dx-row>label{min-width:0}.dynamic-row.dx-row .remove-row{align-self:start!important;margin-top:22px!important;width:38px!important;height:42px!important;display:grid;place-items:center;padding:0;font-size:18px;line-height:1}
.icd-combobox{position:relative;min-width:0}.icd-combobox .icd-search-input{height:42px}
.icd-search-menu{display:none;position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow-y:auto;border:1px solid var(--border-default);border-radius:10px;background:var(--surface);box-shadow:0 14px 35px rgba(20,54,47,.16)}
.icd-search-menu.open{display:block}.icd-search-menu button{display:grid;width:100%;gap:2px;padding:11px 13px;border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer}.icd-search-menu button:last-child{border-bottom:0}.icd-search-menu button:hover,.icd-search-menu button:focus{outline:0;background:var(--primary-050)}
.icd-search-menu button strong{color:var(--primary-700);font-size:13px}.icd-search-menu button span{font-size:13px;line-height:1.4}.icd-search-menu button small{color:var(--text-muted);font-size:11px}.icd-search-empty{padding:14px;color:var(--text-muted);font-size:13px;text-align:center}
.icd-selected-title{display:block;min-height:18px;margin-top:6px;color:var(--text-muted);font-size:12px;line-height:1.45}
.record-rich-text{font-family:Inter,Arial,sans-serif;line-height:1.65}.record-rich-text p{margin:0 0 8px}.record-rich-text ul,.record-rich-text ol{margin:6px 0;padding-left:20px}
@media(max-width:700px){.service-identity-details{grid-template-columns:1fr 1fr!important}.service-identity-heading{grid-template-columns:auto minmax(0,1fr)}.service-identity-heading .program-badge{grid-column:2}.rich-text-toolbar{flex-wrap:wrap}}

/* Identitas Pelayanan — struktur visual sama dengan Detail Rekam Medis */
.service-record-identity{padding:28px!important;border:1px solid var(--border-default)!important;border-radius:16px!important;background:var(--surface)!important}
.service-record-identity .service-identity-heading{display:block!important}
.service-record-identity .identity-main h3{margin:0 0 6px!important;color:var(--text-primary);font-size:28px!important;font-weight:600!important;line-height:1.2!important}
.service-record-identity #service-patient-demographic{margin:0 0 22px!important;color:var(--text-muted);font-size:15px!important;line-height:1.5}
.service-record-identity #service-patient-demographic>span[aria-hidden]{padding:0 5px;color:var(--text-muted)}
.service-record-identity #service-patient-demographic .patient-gender{font-weight:600}
.service-record-identity .service-identity-details{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.service-record-identity .service-identity-details>span{position:relative;min-height:88px;padding:14px!important;border-radius:10px!important;background:#eef5f1!important;color:var(--text-primary)!important;font-family:inherit!important;font-size:15px;line-height:1.45}
.service-record-identity .service-identity-details>span b{display:block;margin:0 0 5px!important;color:var(--text-primary)!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important}
.service-record-identity .service-identity-details>span.wide{grid-column:1/-1;min-height:76px}
.service-record-identity .service-identity-details .copy-identity-btn{position:absolute;right:12px;bottom:12px;margin:0!important}
@media(max-width:700px){.service-record-identity{padding:20px!important}.service-record-identity .service-identity-details{grid-template-columns:1fr 1fr!important}.service-record-identity .identity-main h3{font-size:24px!important}}
@media(max-width:480px){.service-record-identity .service-identity-details{grid-template-columns:1fr!important}.service-record-identity .service-identity-details>span.wide{grid-column:auto}}
.user-access-sort-head{display:grid;grid-template-columns:minmax(230px,1.35fr) minmax(190px,1fr) 170px 90px;gap:10px;align-items:center;padding:0 0 8px;border-bottom:1px solid var(--line)}
.user-access-sort-head button{display:flex;align-items:center;justify-content:flex-start;min-height:36px;border:0;background:transparent;color:var(--muted);padding:0;font-weight:800;text-align:left}.user-access-sort-head button:hover{color:var(--primary)}.user-access-sort-head span{color:var(--muted);font-weight:800}
.user-username[readonly]{background:#f2f5f3!important;color:var(--muted)!important;cursor:not-allowed}.auth-current-card>div{position:relative;min-width:0;padding-right:42px}.edit-self-profile{position:absolute;top:50%;right:0;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font-size:17px;line-height:1;cursor:pointer}.edit-self-profile:hover{border-color:var(--primary-500);background:var(--primary-050)}
@media(max-width:980px){.user-access-sort-head{display:none}}
@media(max-width:650px){.self-username-form{grid-template-columns:1fr}}
.record-detail-content .lab-compact{display:grid;gap:14px}.record-detail-content .lab-group{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0}.record-detail-content .lab-group h4{margin:0;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px}.record-detail-content .record-lab-table{width:100%;table-layout:fixed;border-collapse:collapse}.record-detail-content .record-lab-table th{height:42px;background:#f4f7f5!important;color:var(--muted)!important;padding:0 14px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;font-size:11px!important;font-weight:800!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important}.record-detail-content .record-lab-table th:first-child{width:40%}.record-detail-content .record-lab-table th:nth-child(2){width:24%}.record-detail-content .record-lab-table td{height:48px;padding:8px 14px!important;border-bottom:1px solid var(--line)!important;vertical-align:middle}.record-detail-content .record-lab-table tbody tr:last-child td{border-bottom:0!important}.record-detail-content .record-lab-table tbody tr:hover{background:#f8faf9}.record-detail-content .record-lab-table tr.lab-row-high,.record-detail-content .record-lab-table tr.lab-row-low{background:transparent!important;color:inherit!important}.record-detail-content .record-lab-result{display:inline-flex;align-items:baseline;gap:5px;min-width:86px;border-radius:6px;padding:6px 8px;background:#eef5f1;color:var(--ink)}.record-detail-content .record-lab-result em{color:var(--muted);font-size:11px;font-style:normal}.record-detail-content .record-lab-result.high{background:#fff0ee;color:#a92d24}.record-detail-content .record-lab-result.low{background:#eef5ff;color:#245f9f}
@media(max-width:650px){.record-detail-content .record-lab-table{min-width:560px}.record-detail-content .lab-group{overflow-x:auto}}
.patient-batch-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.75fr) auto minmax(220px,.9fr) auto;gap:10px;align-items:end;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f4f7f5}.patient-batch-toolbar>div{display:flex;align-items:center;gap:10px;min-height:44px}.patient-batch-toolbar strong{font-size:13px}.patient-batch-toolbar label{color:var(--muted);font-size:12px;font-weight:800}.patient-batch-toolbar select{display:block;width:100%;height:44px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px}.patient-batch-toolbar .btn{height:44px;white-space:nowrap}.patient-select-cell{width:48px!important;min-width:48px!important;text-align:center!important}.patient-select-cell input{width:17px;height:17px;accent-color:var(--green);cursor:pointer}.patient-table-wrap tr:has(.patient-row-select:checked) td{background:#eef5f1}
@media(max-width:1100px){.patient-batch-toolbar{grid-template-columns:1fr 1fr auto}.patient-batch-toolbar>div{grid-column:1/-1}}
@media(max-width:650px){.patient-batch-toolbar{grid-template-columns:1fr}.patient-batch-toolbar>div{align-items:flex-start;flex-direction:column}.patient-batch-toolbar .btn{width:100%}}
.user-access-warning{margin:14px 0 18px;border:1px solid #e6c85f;border-left:4px solid #c99516;border-radius:8px;background:#fff8d9;color:#624b0b;padding:14px 16px}.user-access-warning ul{display:grid;gap:7px;margin:0;padding-left:20px}.user-access-warning li{line-height:1.45}
.patient-table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed!important}.patient-table-wrap th,.patient-table-wrap td{min-width:0!important}.patient-table-wrap th:nth-child(1),.patient-table-wrap td:nth-child(1){width:34px!important}.patient-table-wrap th:nth-child(2),.patient-table-wrap td:nth-child(2){width:15%!important}.patient-table-wrap th:nth-child(3),.patient-table-wrap td:nth-child(3){width:14%!important}.patient-table-wrap th:nth-child(4),.patient-table-wrap td:nth-child(4){width:18%!important}.patient-table-wrap th:nth-child(5),.patient-table-wrap td:nth-child(5){width:16%!important}.patient-table-wrap th:nth-child(6),.patient-table-wrap td:nth-child(6){width:10%!important}.patient-table-wrap th:nth-child(7),.patient-table-wrap td:nth-child(7){width:7%!important;overflow:visible!important;text-overflow:clip!important}.patient-table-wrap th:nth-child(8),.patient-table-wrap td:nth-child(8){width:76px!important}.patient-select-cell{width:34px!important;min-width:34px!important;padding-left:8px!important;padding-right:4px!important}.patient-select-cell input{display:block;width:14px!important;height:14px!important;margin:0 auto;accent-color:var(--green);cursor:pointer}.patient-table-wrap .prb-status{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 6px;white-space:nowrap}
#services-view .service-browser-table-wrap{overflow-x:hidden!important}#services-view .service-browser-table{width:100%!important;min-width:0!important;table-layout:fixed!important}#services-view .service-browser-table th,#services-view .service-browser-table td{min-width:0!important;padding-left:8px!important;padding-right:8px!important;overflow-wrap:anywhere}.service-browser-table .service-col-date{width:10%}.service-browser-table .service-col-identity{width:15%}.service-browser-table .service-col-birth{width:13%}.service-browser-table .service-col-address{width:13%}.service-browser-table .service-col-program{width:9%}.service-browser-table .service-col-ttv{width:23%}.service-browser-table .service-col-diagnosis{width:11%}.service-browser-table .service-col-actions{width:6%}#service-table .ttv-compact{gap:4px!important}#service-table .ttv-compact>strong,#service-table .ttv-compact>span{min-height:26px;padding:3px 6px;font-size:12px!important}
@media(max-width:900px){#services-view .service-browser-table-wrap{border:0!important;background:transparent!important}#services-view .service-browser-table,#services-view .service-browser-table tbody{display:block!important;width:100%!important}#services-view .service-browser-table thead{display:none!important}#services-view .service-browser-table #service-table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:0;margin-bottom:12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface);overflow:hidden}#services-view .service-browser-table #service-table td{display:block!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid var(--border-subtle)!important}#services-view .service-browser-table #service-table td::before{display:block;margin-bottom:4px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}#services-view .service-browser-table #service-table td:nth-child(1)::before{content:'Tanggal pelayanan'}#services-view .service-browser-table #service-table td:nth-child(2)::before{content:'Pasien'}#services-view .service-browser-table #service-table td:nth-child(3)::before{content:'Tanggal lahir'}#services-view .service-browser-table #service-table td:nth-child(4)::before{content:'Alamat'}#services-view .service-browser-table #service-table td:nth-child(5)::before{content:'Prolanis'}#services-view .service-browser-table #service-table td:nth-child(6)::before{content:'TTV'}#services-view .service-browser-table #service-table td:nth-child(7)::before{content:'Diagnosis'}#services-view .service-browser-table #service-table td:nth-child(8){grid-column:1/-1;border-bottom:0!important}#services-view .service-browser-table #service-table td:nth-child(8)::before{content:'Aksi'}#service-table .service-row-actions{justify-content:flex-end}}
@media(max-width:650px){.patient-table-wrap table{min-width:680px!important}#services-view .service-browser-table #service-table tr{grid-template-columns:1fr}#services-view .service-browser-table #service-table td:nth-child(8){grid-column:auto}}
.history-metrics .ttv-high{border-color:#e9aaa4!important;background:#fff0ee!important;color:#ad2b22!important;font-weight:800}
.service-draft-status{display:inline-flex;align-items:center;min-height:24px;margin-top:5px;color:var(--text-muted);font-size:11px;font-weight:700}.service-draft-status[data-state="saving"]{color:#8a6811}.service-draft-status[data-state="saved"],.service-draft-status[data-state="restored"],.service-draft-status[data-state="complete"]{color:var(--primary-700)}
.service-saved-dialog{max-width:560px}.service-saved-shell{padding:28px}.service-saved-shell h2{margin-bottom:8px;font-size:28px}.service-saved-shell p{color:var(--text-muted)}.service-saved-actions{display:grid;gap:10px;margin-top:24px}.service-saved-actions .btn{min-height:46px;text-align:center}
#storage-status[data-state="saving"]>span{color:#f2c84b}#storage-status[data-state="error"]>span{color:#ef6b63}#storage-status[data-state="saved"]>span{color:#b8de65}
.sidebar,.app-shell>main{transition:width .2s ease,margin-left .2s ease}
.sidebar-collapse-toggle{position:fixed;top:82px;left:221px;z-index:108;display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:1px solid #d9e2dd;border-radius:50%;background:#fff;color:#174b41;box-shadow:0 3px 10px rgba(20,58,51,.14);cursor:pointer;font-size:22px;line-height:1;transition:left .2s ease}
.sidebar-collapse-toggle:hover{border-color:#8eb6aa;background:#eef5f1}.sidebar-collapse-toggle:focus-visible{outline:3px solid rgba(184,222,101,.45);outline-offset:2px}.sidebar-collapse-toggle span{display:block;transform:translateY(-1px);transition:transform .2s ease}
#app-shell.sidebar-collapsed .sidebar{width:76px!important;padding-left:10px!important;padding-right:10px!important;overflow:hidden}
#app-shell.sidebar-collapsed>main{margin-left:76px!important;width:calc(100% - 76px)!important}
#app-shell.sidebar-collapsed .sidebar .app-brand{justify-content:center}
#app-shell.sidebar-collapsed .sidebar .brand-copy,#app-shell.sidebar-collapsed .sidebar .privacy-note{display:none!important}
#app-shell.sidebar-collapsed .sidebar nav{width:56px;margin-left:auto!important;margin-right:auto!important}
#app-shell.sidebar-collapsed .sidebar .nav-item{display:grid;place-items:center;width:56px;height:48px;padding:10px!important;font-size:0!important;text-align:center}
#app-shell.sidebar-collapsed .sidebar .nav-item>span{display:grid;width:auto!important;margin:0!important;font-size:20px!important}
#app-shell.sidebar-collapsed .sidebar .nav-item>span svg{width:21px;height:21px}
#app-shell.sidebar-collapsed .sidebar-collapse-toggle{left:61px}#app-shell.sidebar-collapsed .sidebar-collapse-toggle span{transform:translateY(-1px) rotate(180deg)}
@media(max-width:1100px){.sidebar-collapse-toggle{display:none!important}}

/* Global dropdown — konsisten dengan visual PRIMA Prolanis */
select:not([multiple]){
  -webkit-appearance:none!important;
  appearance:none!important;
  min-height:42px;
  border:1px solid var(--border-default,var(--line,#d8e1dc))!important;
  border-radius:var(--radius-md,9px)!important;
  background-color:var(--surface,#fff)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23174b41' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:16px 16px!important;
  color:var(--text-primary,var(--ink,#173a34))!important;
  padding-left:12px!important;
  padding-right:40px!important;
  font:inherit;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
select:not([multiple]):hover{border-color:var(--primary-500,#6b9187)!important;background-color:#fbfdfc!important}
select:not([multiple]):focus-visible{border-color:var(--primary-700,#17695b)!important;outline:0!important;box-shadow:0 0 0 3px rgba(23,105,91,.14)!important}
select:not([multiple]):disabled{background-color:#f0f3f1!important;color:var(--text-muted,#7a8d87)!important;cursor:not-allowed;opacity:.8}
select option{background:#fff;color:#173a34}

.dashboard-credit{display:grid;gap:9px;margin-top:28px;padding:22px 4px 6px;border-top:1px solid var(--border-subtle,#e8ece9);color:var(--text-muted,#647870);font-size:12px;line-height:1.55;text-align:center}
.dashboard-credit p{margin:0;font-size:inherit!important}.dashboard-credit strong{color:var(--text-secondary,#526d65);font-weight:700}.dashboard-credit span{white-space:nowrap}
.dashboard-contact{display:inline-flex;align-items:center;justify-content:center;justify-self:center;min-height:30px;margin-top:2px;padding:5px 12px;border:1px solid var(--border-default,#d8e1dc);border-radius:999px;background:#fff;color:var(--primary-700,#17695b);font-size:11px;font-weight:700;line-height:1;text-decoration:none}.dashboard-contact:hover{border-color:var(--primary-500,#6b9187);background:var(--primary-050,#eef5f1)}.dashboard-contact:focus-visible{outline:3px solid rgba(23,105,91,.14);outline-offset:2px}
@media(max-width:650px){.dashboard-credit{padding-inline:10px;font-size:11px}}

<style id="prima-component-system">
/*
 * PRIMA reusable component system.
 * Page selectors must not define component appearance. They may only control
 * placement, columns, visibility, and responsive composition.
 */

/* Page shell and PageHeader */
.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px;padding-bottom:0;border:0!important}
.ui-page-header__title{margin:0;font-size:32px!important;line-height:1.18!important;font-weight:600!important;letter-spacing:-.035em}
.ui-page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}

/* Card and FilterPanel */
.ui-card{background:var(--surface)!important;border:1px solid var(--border-subtle)!important;border-radius:16px!important;box-shadow:var(--shadow-xs)!important}
.ui-card--padded{padding:24px!important}
.ui-filter-card{display:grid;gap:14px;padding:18px!important;margin-bottom:20px;border:1px solid var(--border-subtle)!important;border-radius:16px!important;background:var(--surface-subtle)!important;box-shadow:none!important}
.ui-filter-card label{color:var(--text-secondary)!important;font-size:12px!important;font-weight:500!important}

/* StatCard */
.ui-stat-card{min-height:88px;padding:20px!important;background:var(--surface)!important;border:1px solid var(--border-subtle)!important;border-radius:16px!important;box-shadow:none!important}
.ui-stat-card__label{color:var(--text-secondary)!important;font-size:13px!important;font-weight:400!important}
.ui-stat-card__value{display:block;margin-top:5px;font-size:28px!important;line-height:1.15!important;font-weight:600!important;letter-spacing:-.025em;font-variant-numeric:tabular-nums}

/* Button */
.ui-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px;min-height:42px!important;padding:10px 16px!important;border:1px solid transparent!important;border-radius:10px!important;font:500 14px/20px "Inter",sans-serif!important;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease,transform 160ms ease!important}
.ui-button.hidden{display:none!important}
.ui-button--primary{background:var(--primary-700)!important;color:#fff!important;box-shadow:0 2px 7px rgba(23,75,65,.16)!important}
.ui-button--primary:hover{background:var(--primary-800)!important}
.ui-button--primary:active{transform:translateY(1px)}
.ui-button--secondary{background:var(--surface)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-xs)!important}
.ui-button--secondary:hover{background:var(--surface-subtle)!important;border-color:var(--border-strong)!important}
.ui-button--tertiary{padding-inline:4px!important;background:transparent!important;color:var(--primary-700)!important;box-shadow:none!important}
.ui-button--danger{background:var(--danger-bg)!important;color:var(--danger)!important;box-shadow:none!important}
.ui-button--icon{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important}
.ui-button:disabled,.ui-button[aria-disabled="true"]{opacity:.5;cursor:not-allowed;box-shadow:none!important}

/* Input and Select */
.ui-input,.ui-select{display:block;width:100%;min-height:42px!important;border:1px solid var(--border-default)!important;border-radius:10px!important;background:var(--surface)!important;color:var(--text-primary)!important;font:400 14px/20px "Inter",sans-serif!important;outline:0}
.ui-input{padding:10px 12px!important}
.ui-select{padding:0 12px!important}
.ui-input:focus,.ui-select:focus{border-color:var(--primary-500)!important;box-shadow:0 0 0 3px rgba(54,117,104,.14)!important}
.ui-input:disabled,.ui-select:disabled{background:var(--surface-subtle)!important;color:var(--text-disabled)!important}

/* Badge */
.ui-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:24px;padding:4px 9px!important;border-radius:var(--radius-pill)!important;background:var(--primary-050)!important;color:var(--text-primary)!important;font:500 12px/16px "Inter",sans-serif!important;white-space:nowrap}
.ui-badge--success{background:var(--success-bg)!important;color:var(--success)!important}
.ui-badge--warning{background:var(--warning-bg)!important;color:var(--warning)!important}
.ui-badge--danger{background:var(--danger-bg)!important;color:var(--danger)!important}
.ui-badge--info{background:var(--info-bg)!important;color:var(--info)!important}

/* EmptyState */
.ui-empty-state{display:grid!important;place-content:center;justify-items:center;gap:8px;min-height:180px;padding:36px 24px!important;text-align:center;color:var(--text-muted)!important}
.ui-empty-state__title{color:var(--text-primary)!important;font-weight:600!important}
.ui-empty-state__description{max-width:520px;color:var(--text-muted)!important}

/* Visibility is state, so it must always win over component display rules. */
.hidden,.ui-empty-state.hidden,.ui-badge.hidden{display:none!important}

/* Pagination */
.ui-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;margin:0;padding:12px 2px 0;color:var(--text-secondary);font-size:13px;font-weight:500}
.ui-pagination__controls{display:flex;align-items:center;gap:8px}
.ui-pagination__info{font-variant-numeric:tabular-nums}

/* Table */
.ui-table{overflow:auto;border:1px solid var(--border-subtle)!important;border-radius:16px!important;background:var(--surface)!important;box-shadow:none!important}
.ui-table table{width:100%;border-collapse:collapse}
.ui-table th{padding:11px 16px!important;background:var(--surface-subtle)!important;color:var(--text-secondary)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.035em!important;text-align:left;text-transform:none!important}
.ui-table td{padding:12px 16px!important;border-top:1px solid var(--border-subtle)!important;color:var(--text-primary);font-size:14px!important;vertical-align:middle}
.ui-table tbody tr{transition:background-color 160ms ease}
.ui-table tbody tr:hover td{background:var(--primary-050)!important}
.ui-table tbody tr[aria-selected="true"] td{background:var(--primary-100)!important}
.ui-table td[data-type="number"],.ui-table th[data-type="number"]{text-align:right;font-variant-numeric:tabular-nums}

/* Modal */
.ui-modal{border:0!important;border-radius:16px!important;background:var(--surface)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-lg)!important}
.ui-modal::backdrop{background:rgba(8,28,24,.48)!important;backdrop-filter:blur(3px)}
.ui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--border-subtle)!important}

/* Toast */
.ui-toast{position:fixed;right:28px;bottom:28px;z-index:10000;max-width:min(420px,calc(100vw - 32px));padding:13px 18px;border-radius:var(--radius-md)!important;background:var(--primary-900)!important;color:#fff!important;box-shadow:var(--shadow-md)!important;font-size:14px!important}
.ui-toast[aria-hidden="true"]{pointer-events:none}

:where(.ui-button,.ui-input,.ui-select,[tabindex]):focus-visible{outline:3px solid rgba(54,117,104,.3)!important;outline-offset:2px!important}

@media(max-width:650px){
  .ui-page-header{display:grid;gap:14px;margin-bottom:24px}
  .ui-page-header__actions{justify-content:stretch}
  .ui-page-header__actions .ui-button{width:100%}
  .ui-card--padded,.ui-stat-card{padding:18px!important}
  .ui-filter-card{padding:14px!important}
  .ui-pagination{align-items:stretch;flex-direction:column}
  .ui-pagination__controls{justify-content:space-between}
  .ui-modal__footer{display:grid;grid-template-columns:1fr 1fr}
  .ui-toast{right:16px;bottom:88px;left:16px;max-width:none}
}

@media(prefers-reduced-motion:reduce){.ui-button{transition-duration:.01ms!important}}

/* Center the collapsed desktop sidebar navigation in its 76px rail. */
@media(min-width:651px) and (max-width:1100px){
  .sidebar{padding-left:0!important;padding-right:0!important}
  .sidebar nav{width:100%!important;margin-left:0!important;margin-right:0!important}
  .sidebar .nav-item{justify-self:center!important}
}

.staging-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;grid-column:1/-1;margin-top:2px}
.staging-apply-filter{min-width:148px}
.staging-filter-state{color:var(--muted,#647870);font-size:12px;font-weight:700}
.staging-filter-state.is-dirty{color:#9c641c}
@media(max-width:650px){.staging-filter-actions{align-items:stretch;flex-direction:column}.staging-apply-filter{width:100%}}


.database-loading-overlay{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:24px;background:rgba(245,248,246,.96);backdrop-filter:blur(6px)}.database-loading-overlay.hidden{display:none!important}.database-loading-card{box-sizing:border-box;width:min(430px,100%);padding:34px;border:1px solid #dce6e1;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(18,61,54,.16);text-align:center}.database-loading-icon{display:grid;width:52px;height:52px;margin:0 auto 18px;place-items:center;border-radius:15px;background:#174b41}.database-loading-icon span{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:database-loader-spin .8s linear infinite}.database-loading-eyebrow{margin:0 0 7px;color:#72882c;font-size:11px;font-weight:800;letter-spacing:.13em}.database-loading-card h2{margin:0;color:#173f37;font-size:24px}.database-loading-card>p:not(.database-loading-eyebrow){min-height:22px;margin:10px 0 18px;color:#5d716b}.database-loading-track{height:8px;overflow:hidden;border-radius:999px;background:#e7eeea}.database-loading-track i{position:relative;display:block;width:8%;height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#174b41,#8eaa35);transition:width .35s ease}.database-loading-track i:after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:database-loader-shimmer 1.1s ease-in-out infinite}.database-loading-card small{display:block;margin-top:11px;color:#81918c}@keyframes database-loader-spin{to{transform:rotate(360deg)}}@keyframes database-loader-shimmer{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.database-loading-icon span,.database-loading-track i:after{animation:none}.database-loading-track i{transition:none}}
.resource-loading,.resource-error{display:grid;justify-items:center;gap:8px;margin:0 0 18px;padding:24px;border:1px solid var(--border-subtle,#dfe5e1);border-radius:12px;background:var(--surface,#fff);color:var(--text-secondary,#647870);text-align:center}.resource-loading small{font-size:12px}.resource-spinner{width:24px;height:24px;border:3px solid #dce8e2;border-top-color:#174b41;border-radius:50%;animation:database-loader-spin .7s linear infinite}.resource-error{border-color:#e7b4b0;background:#fff6f5;color:#8f241d}.server-analytics-summary{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid #cfe0d8;border-radius:8px;background:#f2f7f4}.server-analytics-summary span{color:#647870}
.prb-field{margin:0;padding:0;border:0;min-width:0}.prb-field legend{margin-bottom:7px;color:var(--text-secondary,#506860);font-weight:700}.prb-segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--border-default,#d8e1dc);border-radius:7px;background:var(--surface-subtle,#f4f7f5)}.prb-segmented label{position:relative;margin:0}.prb-segmented input{position:absolute;opacity:0;pointer-events:none}.prb-segmented span{display:block;padding:9px 12px;border-radius:5px;text-align:center;font-weight:700;cursor:pointer}.prb-segmented input:checked+span{background:var(--primary-800,#174b41);color:#fff}.prb-segmented input:focus-visible+span{outline:2px solid #2f80ed;outline-offset:2px}.prb-status{display:inline-flex;min-width:50px;justify-content:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.prb-status.yes{background:#e6f4ea;color:#176b3a}.prb-status.no{background:#f0f2f1;color:#647870}
.migration-read-only :disabled{cursor:not-allowed!important;opacity:.5!important;box-shadow:none!important}
.migration-backup-import-card{border-left:4px solid #8eaa35!important}.migration-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.migration-import-head h3{margin:4px 0 6px}.migration-import-head p{margin:0;color:var(--text-secondary)}.migration-json-mark{flex:0 0 auto;border:1px solid var(--border-default);border-radius:6px;padding:7px 9px;background:var(--surface-subtle);color:var(--primary-700);font:700 11px/1 Inter,sans-serif}.migration-file-drop{margin-bottom:16px}.migration-backup-result{margin-top:14px;border:1px solid var(--border-default);border-radius:6px;padding:11px 12px;background:var(--surface-subtle);color:var(--text-secondary);font-size:13px}.migration-backup-result[data-state="success"]{border-color:#83a431;background:#f2f7e5;color:#365314}.migration-backup-result[data-state="error"]{border-color:#d88b8b;background:#fff1f1;color:#8b1e1e}
.region-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}.region-field-grid label{min-width:0}.atc-combobox{position:relative}.atc-search-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:260px;overflow:auto;border:1px solid var(--border-default);border-radius:6px;background:var(--surface);box-shadow:0 12px 28px rgba(20,50,44,.16)}.atc-search-menu.open{display:block}.atc-search-menu button{display:grid;width:100%;grid-template-columns:88px 1fr;gap:10px;border:0;border-bottom:1px solid var(--border-subtle);padding:10px 12px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.atc-search-menu button:hover{background:var(--primary-050)}.atc-search-menu strong{color:var(--primary-700);font-family:monospace}.atc-search-state{padding:12px;color:var(--text-secondary)}.atc-search-state.error{color:#8b1e1e}.atc-dose{margin-top:8px}.atc-selected-hint{display:block;margin-top:6px;color:var(--text-secondary)}
.service-form-page .service-record-identity{box-sizing:border-box;margin:20px 30px;padding:20px;border:1px solid var(--border-default)!important;border-radius:8px;background:var(--primary-050)!important;box-shadow:var(--shadow-xs)}
.service-form-page .service-record-identity .service-identity-details{gap:12px!important}
.service-form-page .service-record-identity .service-identity-details>span{box-sizing:border-box;min-height:82px!important;padding:14px 16px!important;border:1px solid var(--border-default)!important;border-radius:8px!important;background:var(--surface)!important;box-shadow:var(--shadow-xs)!important}
.service-form-page .service-record-identity .service-identity-details>span.wide{min-height:76px!important}
#medication-list .med-row{grid-template-columns:minmax(0,1.5fr) minmax(130px,.65fr) minmax(180px,1fr) 42px!important;align-items:start!important;overflow:visible!important;padding:14px!important}#medication-list .med-row>label{min-width:0}#medication-list .med-row .atc-dose{margin-top:8px}#medication-list .med-row .remove-row{margin-top:24px}.clinical-section>.section-title>#add-medication{margin-left:auto}
.invite-user-dialog,.first-account-dialog{width:min(560px,calc(100% - 28px));max-width:560px;border-radius:8px!important}.invite-user-dialog form,.first-account-dialog form{padding:26px}.invite-user-dialog h2,.first-account-dialog h2{font-size:26px!important}.invite-user-dialog .muted-copy,.first-account-dialog .muted-copy{margin:8px 0 0}.mobile-app-bar,.mobile-nav-overlay{display:none}.control-submenu{flex-wrap:nowrap!important}
.user-access-list{overflow-x:auto}.user-access-sort-head,.user-access-row{box-sizing:border-box;display:grid!important;grid-template-columns:minmax(180px,1.2fr) minmax(190px,1fr) minmax(125px,.55fr) 132px 118px!important;gap:10px!important;align-items:center!important;min-width:850px}.user-access-sort-head{padding:0 10px 9px!important}.user-access-sort-head span{font-size:12px!important}.user-access-row{position:relative;margin:0!important;padding:10px!important;border:0!important;border-bottom:1px solid var(--border-subtle,#e6ece8)!important;border-radius:0!important;background:#fff!important}.user-access-row:last-child{border-bottom:0!important}.user-access-row label{margin:0!important}.user-access-row .user-field-label{display:none}.user-access-row input,.user-access-row select{box-sizing:border-box;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 12px!important;border-radius:8px!important;font-size:14px!important}.user-access-row .btn{box-sizing:border-box;width:100%;height:40px!important;min-height:40px!important;margin:0!important;padding:0 10px!important;border-radius:8px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap}.user-access-row .reset-user-password{border:1px solid #cad8d2!important;background:#fff!important;color:#174b41!important}.user-access-row .revoke-user{border-color:#c0392b!important;background:#c0392b!important;color:#fff!important}.user-access-row .revoke-user.activate-user{border-color:#448a69!important;background:#448a69!important}.user-access-row[data-role="superadmin"]{background:#fbfcf6!important;box-shadow:inset 3px 0 #8eaa35}.user-access-row[data-role="superadmin"] .user-role{font-weight:800;color:#174b41}.user-access-row .btn:disabled{border-color:#e3e8e5!important;background:#f2f4f3!important;color:#9aa7a2!important;opacity:1!important}
.table-sort-button{display:inline-flex;align-items:center;gap:7px;width:100%;min-height:28px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.table-sort-button i{margin-left:auto;color:var(--text-tertiary,#81918c);font-style:normal;font-size:12px}.table-sort-button.active{color:var(--primary-700,#174b41)}.table-sort-button.active i{color:currentColor}.table-sort-button:hover span{text-decoration:underline;text-underline-offset:3px}
.filter-icd-combobox{position:relative;min-width:0}.filter-icd-combobox .icd-search-menu{z-index:80}.filter-icd-hint{display:block;margin:6px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.45}.global-icd-tooltip{position:fixed;z-index:12000;max-width:min(420px,calc(100vw - 24px));transform:translateY(-100%);pointer-events:none;padding:9px 11px;border-radius:6px;background:#123d36;color:#fff;box-shadow:0 10px 28px rgba(7,30,25,.24);font-size:12px;line-height:1.45;opacity:0;transition:opacity .12s}.global-icd-tooltip.show{opacity:1}[data-icd-tooltip]{cursor:help}.anthropometry-filters{overflow:visible!important}.anthropometry-filters .dx-builder,.anthropometry-filters .anthro-builder{position:relative;grid-column:1/-1;overflow:visible!important;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface);padding:16px;display:grid;gap:14px}.anthropometry-filters .filter-row-head{min-height:44px}.anthropometry-filters .filter-row-head b{font-size:14px}.anthropometry-filters #anthro-dx-filter-list,.anthropometry-filters #anthro-criteria-list{display:grid;gap:12px;min-width:0}.anthropometry-filters .dx-filter-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,.42fr) 44px!important;gap:12px!important;align-items:start!important;overflow:visible!important}.anthropometry-filters .dx-code-control{min-width:0}.anthropometry-filters .dx-row-mode{height:44px!important;min-height:44px!important;margin:0!important;align-self:start}.anthropometry-filters .dx-filter-row .remove-row{align-self:start!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important}.anthro-criteria-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,.4fr) minmax(150px,.55fr) 44px;gap:12px;align-items:end}.anthro-criteria-row label{font-size:12px}.anthro-criteria-row select,.anthro-criteria-row input{display:block;width:100%;height:44px;min-height:44px;margin-top:6px;border:1px solid var(--border-default);border-radius:8px;background:#fff;padding:0 12px}.anthro-criteria-row .remove-row{width:44px;height:44px;min-height:44px;margin:0}#anthro-table td:nth-child(n+6){font-variant-numeric:tabular-nums}
.clinical-config-header{position:sticky;top:0;z-index:4;margin-bottom:18px;padding:12px 0;background:var(--surface)}.clinical-config-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clinical-config-group{border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-subtle);padding:16px}.clinical-config-group-head{margin-bottom:14px}.clinical-config-group-head h4{margin:0;color:var(--text-primary);font-size:15px}.clinical-config-group-head p{margin:5px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.45}.clinical-config-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px}.clinical-config-grid label,.custom-lab-rule label,.risk-toolbar label,.longitudinal-toolbar label{color:var(--text-secondary);font-size:12px;font-weight:700}.clinical-config-grid input,.custom-lab-rule input,.custom-lab-rule select,.risk-toolbar input,.risk-toolbar select,.longitudinal-toolbar select{display:block;width:100%;min-height:42px;margin-top:6px;border:1px solid var(--border-default);border-radius:8px;background:#fff;padding:0 11px}.custom-lab-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.custom-lab-rule{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(130px,.7fr) minmax(110px,.55fr) minmax(110px,.55fr) 44px;gap:10px;align-items:end;margin-top:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-subtle)}.custom-lab-rule .remove-row{width:44px;height:42px}.risk-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 240px;gap:12px;align-items:end;margin-bottom:16px}.risk-toolbar>b{align-self:center;color:var(--text-secondary)}#risk-table td:nth-child(3){min-width:420px}.clinical-category-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px}.clinical-category-box{display:grid;align-content:start;gap:7px;border:1px solid var(--border-subtle);border-left:4px solid #c48220;border-radius:7px;background:#fff9ed;padding:10px}.clinical-category-box.critical{border-left-color:#ba3c31;background:#fff2f0}.clinical-category-box>b{font-size:12px}.clinical-category-box>span{display:grid;gap:2px;padding-top:6px;border-top:1px solid rgba(80,104,96,.15)}.clinical-category-box strong{font-size:11px}.clinical-category-box small{color:var(--text-secondary);font-size:11px;line-height:1.35}.clinical-alert-none{color:var(--text-secondary)}.clinical-alert-list{display:grid;gap:8px}.service-clinical-alerts{margin:0 30px 18px}.clinical-alert{display:grid;grid-template-columns:minmax(180px,.5fr) 1fr;gap:12px;border-left:4px solid;padding:11px 13px;border-radius:6px;background:#fff}.clinical-alert.critical{border-color:#ba3c31;background:#fff0ee;color:#8f241d}.clinical-alert.attention{border-color:#c48220;background:#fff7e7;color:#714708}.clinical-alert span{line-height:1.45}.record-submenu{display:flex;gap:4px;overflow-x:auto;margin:0 0 16px;padding:4px;border:1px solid #dfe5e1;border-radius:8px;background:#fff}.record-submenu button{flex:0 0 auto;background:transparent!important;color:#526d65!important;padding:9px 12px!important;border-radius:6px!important}.record-submenu button.active{background:#174b41!important;color:#fff!important}.record-extra-panel{display:none;background:#fff;border:1px solid #dfe5e1;border-radius:12px;padding:20px}.record-extra-panel.active{display:block}.timeline-item{display:grid;grid-template-columns:110px 100px 1fr;gap:12px;position:relative;padding:14px 0;border-bottom:1px solid #e8ece9}.timeline-item:last-child{border:0}.timeline-item time{font-weight:700}.timeline-item>span{width:max-content;height:max-content;border-radius:999px;background:#eef5f1;color:#174b41;padding:5px 8px;font-size:11px;font-weight:700}.timeline-item p,.audit-detail-row p{margin:4px 0 0;color:#647870}.longitudinal-toolbar{max-width:320px;margin-bottom:14px}.longitudinal-chart{overflow-x:auto}.longitudinal-svg{display:block;width:100%;min-width:680px;height:auto}.longitudinal-svg line{stroke:#ccd8d3}.longitudinal-svg polyline{fill:none;stroke:#174b41;stroke-width:3}.longitudinal-svg circle{fill:#93ad62;stroke:#fff;stroke-width:2}.longitudinal-svg text{font-size:10px;fill:#647870}.audit-detail-row{border-bottom:1px solid #e8ece9;padding:13px 0}.audit-detail-row:last-child{border:0}.audit-detail-row small{display:block;margin-top:4px;color:#647870}.record-history-node.hidden{display:none!important}
#disease-control-view .anthropometry-filters .dx-builder.full-row{overflow:visible!important}.ttv-complete{display:flex!important;flex-wrap:wrap!important;gap:5px!important}.ttv-complete>*{display:inline-flex!important;border:1px solid var(--border-subtle);border-radius:6px;padding:4px 6px;background:var(--surface-subtle)}.diagnosis-code-chip{display:inline-flex!important;border:1px solid var(--border-default)!important;border-radius:6px!important;cursor:help}
.lab-import-submenu{display:flex!important;width:100%!important;align-items:center!important;gap:6px!important}.lab-template-download{margin-left:auto!important;white-space:nowrap}.patient-name-line{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important;align-items:start!important}.patient-name-line>strong{min-width:0;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.patient-name-line .patient-gender-code{display:block!important;width:max-content}.record .identity .identity-address{grid-column:span 2!important}.record .identity .identity-prb{grid-column:span 1!important}.record-diagnosis-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid var(--border-default,#d8e1dc);border-radius:7px;background:var(--surface-subtle,#f4f7f5);padding:7px 9px;line-height:1.4;cursor:help}.clinical li:has(.record-diagnosis-pill){margin-bottom:7px}.timeline-item{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.timeline-item:hover,.timeline-item:focus-visible{background:var(--primary-050,#eef5f1);outline:0}.visit.timeline-target{outline:3px solid #8eaa35;outline-offset:3px}.generic-table-pagination{display:flex;align-items:center;gap:14px;margin:12px 0 18px;color:var(--text-secondary);font-size:12px}.generic-table-pagination>.generic-page-result{margin-right:auto;font-weight:700}.generic-table-pagination label,.generic-table-pagination>div{display:flex;align-items:center;gap:8px}.generic-table-pagination select{height:36px;border:1px solid var(--border-default);border-radius:7px;background:#fff;padding:0 9px}.generic-table-pagination .btn{min-width:38px;padding:8px 10px}
@media(max-width:850px){#medication-list .med-row{grid-template-columns:1fr 1fr!important}#medication-list .med-row .remove-row{margin-top:0}.clinical-section>.section-title>#add-medication{margin-left:auto}.anthropometry-filters .dx-filter-row{grid-template-columns:minmax(0,1fr) minmax(160px,.5fr) 44px!important}.clinical-category-grid{grid-template-columns:1fr}.user-access-sort-head{display:none!important}.user-access-row{grid-template-columns:1fr 1fr!important;min-width:0;padding:14px!important;border:1px solid var(--border-subtle,#e6ece8)!important;border-radius:10px!important;margin-bottom:10px!important}.user-access-row .user-field-label{display:block;margin:0 0 6px;color:var(--text-secondary,#506860);font-size:11px;font-weight:800}.user-access-row[data-role="superadmin"]:before{display:none}}
@media(max-width:650px){
  body{display:block!important;padding-top:56px!important}.mobile-app-bar{display:flex;position:fixed;inset:0 0 auto 0;height:56px;z-index:70;align-items:center;gap:12px;padding:0 14px;background:var(--primary-900,#123d36);color:#fff;box-shadow:0 3px 14px rgba(12,40,34,.18)}.mobile-app-bar strong{font-size:14px}.mobile-menu-button{display:grid;width:40px;height:40px;place-content:center;gap:4px;border:0;background:transparent;color:#fff}.mobile-menu-button span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}.mobile-bar-spacer{margin-left:auto}.mobile-nav-overlay{display:block;position:fixed;inset:56px 0 0;z-index:58;border:0;background:rgba(7,26,22,.42);opacity:0;pointer-events:none;transition:opacity .16s}.sidebar{display:flex!important;position:fixed!important;inset:56px auto 0 0!important;width:min(278px,84vw)!important;height:auto!important;padding:18px 14px!important;flex-direction:column!important;transform:translateX(-105%);transition:transform .2s ease;z-index:60!important;overflow-y:auto}.sidebar .brand{display:flex!important;margin-bottom:8px}.sidebar nav{display:grid!important;width:100%!important;justify-content:stretch!important;gap:4px!important;margin:12px 0!important}.sidebar .nav-item{display:flex!important;width:100%!important;align-items:center!important;gap:10px!important;padding:11px 12px!important;font-size:13px!important;text-align:left!important}.sidebar .nav-item span{width:24px!important}.sidebar .privacy-note,.sidebar .profile{display:none!important}.mobile-nav-open .sidebar{transform:translateX(0)}.mobile-nav-open .mobile-nav-overlay{opacity:1;pointer-events:auto}main{margin:0!important;width:100%!important;padding:16px 12px 30px!important}main>header{margin-bottom:16px!important}main>header #page-title{display:none!important}.region-field-grid{grid-template-columns:1fr}.service-form-page .service-record-identity{margin:14px 16px;padding:16px}#medication-list .med-row{grid-template-columns:1fr!important}.clinical-section>.section-title>#add-medication{margin-left:0}#migration-badge{bottom:12px;right:12px}.settings-submenu,.control-submenu{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}.settings-submenu>button,.control-submenu>button{flex:0 0 auto!important;white-space:nowrap}.user-access-row{grid-template-columns:1fr!important}.user-access-row .revoke-user,.user-access-row .reset-user-password{width:100%}.invite-user-dialog form,.first-account-dialog form{padding:20px}.anthro-criteria-row{grid-template-columns:1fr}.anthro-criteria-row .remove-row{width:100%}.clinical-config-groups,.clinical-config-grid,.custom-lab-rule,.risk-toolbar{grid-template-columns:1fr}.clinical-config-header{position:static;align-items:flex-start;flex-direction:column}.custom-lab-rule .remove-row{width:100%}.custom-lab-head{align-items:flex-start;flex-direction:column}.service-clinical-alerts{margin:0 16px 14px}.clinical-alert,.timeline-item{grid-template-columns:1fr}.record-extra-panel{padding:14px}
}
@media(max-width:650px){.anthropometry-filters .filter-row-head{align-items:stretch;flex-direction:column}.anthropometry-filters .filter-row-head .btn{width:100%}.anthropometry-filters .dx-filter-row{grid-template-columns:1fr!important}.anthropometry-filters .dx-filter-row .remove-row{width:100%!important}.clinical-category-grid{grid-template-columns:1fr}.lab-import-submenu{flex-wrap:wrap!important}.lab-template-download{flex-basis:100%;margin-left:0!important}.record .identity .identity-address,.record .identity .identity-prb{grid-column:1/-1!important}.generic-table-pagination{align-items:stretch;flex-direction:column}.generic-table-pagination>.generic-page-result{margin-right:0}.generic-table-pagination label,.generic-table-pagination>div{justify-content:space-between}}
#disease-control-view .dx-builder .dx-rule-labels{display:none!important}
#disease-control-view #dx-filter-list .dx-filter-row-compact{align-items:start!important;min-height:0!important}
#disease-control-view #dx-filter-list .dx-filter-row-compact>.dx-row-mode,#disease-control-view #dx-filter-list .dx-filter-row-compact>.remove-row{align-self:start!important;margin:0!important}
.anthropometry-filters .dx-builder,.anthropometry-filters .anthro-builder{align-content:start!important;min-height:0!important}
.anthropometry-filters .dx-builder>.filter-row-head,.anthropometry-filters .anthro-builder>.filter-row-head{display:flex!important;align-items:center!important;min-height:44px!important;height:44px!important;margin:0!important;padding:0!important}
.anthropometry-filters .dx-builder>.filter-row-head b,.anthropometry-filters .anthro-builder>.filter-row-head b{display:flex;align-items:center;height:44px;line-height:1.25}
.anthropometry-filters .dx-builder>.filter-row-head .btn,.anthropometry-filters .anthro-builder>.filter-row-head .btn{align-self:center!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0 14px!important}
@media(max-width:650px){.anthropometry-filters .dx-builder>.filter-row-head,.anthropometry-filters .anthro-builder>.filter-row-head{height:auto!important;align-items:stretch!important;flex-direction:column!important}.anthropometry-filters .dx-builder>.filter-row-head b,.anthropometry-filters .anthro-builder>.filter-row-head b{height:auto;min-height:36px}.anthropometry-filters .dx-builder>.filter-row-head .btn,.anthropometry-filters .anthro-builder>.filter-row-head .btn{width:100%!important}}
.record-extra-panel[data-record-panel="timeline"]{padding:16px;background:var(--surface-subtle,#f4f7f5)}.timeline-item{grid-template-columns:minmax(150px,.28fr) minmax(0,1fr)!important;gap:14px!important;margin-bottom:10px;padding:0!important;border:0!important;background:transparent!important}.timeline-date,.timeline-summary{display:grid;align-content:start;gap:7px;border:1px solid var(--border-default,#d8e1dc);border-radius:12px;background:#fff;padding:16px}.timeline-date{color:var(--text-primary,#173a34)}.timeline-date time{color:var(--text-primary,#173a34)!important;font-size:16px;font-weight:800}.timeline-date span{color:var(--primary-700,#17695b);font-size:12px;font-weight:800}.timeline-date small{color:var(--text-secondary,#647870);line-height:1.4}.timeline-summary{min-width:0;color:var(--text-primary,#173a34)}.timeline-diagnoses{display:flex;flex-wrap:wrap;gap:6px}.timeline-diagnoses b{max-width:100%;border:1px solid #b8d2c7;border-radius:999px;background:#eaf4ef;color:#174b41!important;padding:6px 9px;font-size:12px;font-weight:800}.timeline-summary p{margin:0!important;line-height:1.5}.timeline-summary strong{display:inline-block;min-width:66px;color:var(--text-primary,#173a34)}
.record-diagnosis-pill{display:grid!important;grid-template-columns:max-content 8px minmax(0,1fr)!important;align-items:start!important;width:100%;cursor:help}.clinical li:has(.record-diagnosis-pill){list-style:none!important}.record-diagnosis-pill i{font-style:normal;color:var(--text-secondary,#647870)}.record-diagnosis-pill>span{min-width:0}.record-lab-table th{background:#fff!important}.record-lab-table th button{width:100%;border:0!important;background:transparent!important;color:inherit!important;padding:0!important;text-align:left;font:inherit;cursor:pointer}.record-lab-result.high{background:#fff0ee!important;color:#a92d24!important}.record-lab-result.low{background:#eef5ff!important;color:#245f9f!important}
#labs-view .lab-value.lab-high{display:inline-flex!important;border-radius:7px;background:#fff0ee!important;color:#a92d24!important;padding:7px 9px}#labs-view .lab-value.lab-low{display:inline-flex!important;border-radius:7px;background:#eef5ff!important;color:#245f9f!important;padding:7px 9px}.lab-individual-date{display:grid;gap:4px;color:var(--text-secondary,#647870);font-size:11px;font-weight:700}.lab-individual-date input{height:40px;border:1px solid var(--border-default,#d8e1dc);border-radius:8px;background:#fff;padding:0 9px}.lab-individual-date.hidden,#lab-search-prompt.hidden{display:none!important}
@media(max-width:650px){.timeline-item{grid-template-columns:1fr!important}.lab-toolbar{align-items:stretch!important}.lab-individual-date{width:100%}.lab-individual-date input{width:100%}}

.control-rule-info{display:grid;gap:4px;margin:0 0 16px;padding:14px 16px;border:1px solid #e0b34f;border-left:5px solid #d79a18;border-radius:8px;background:#fff8dc;color:#61490d}.control-rule-info span{font-size:12px;line-height:1.5}.control-dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:16px}.control-dashboard-cards>div{display:grid;gap:5px;border:1px solid var(--border-subtle);border-radius:9px;background:#fff;padding:13px}.control-dashboard-cards small{color:var(--text-secondary)}.control-dashboard-cards strong{font-size:20px}.control-funnel{display:flex;align-items:center;gap:10px;margin:0 0 16px}.control-funnel span{flex:1;border-radius:8px;background:#edf5f1;padding:12px;text-align:center}.control-funnel b{display:block;font-size:20px}.control-trend-panel{margin:0 0 16px;border:1px solid var(--border-subtle);border-radius:9px;padding:14px}.control-trend-panel h4{margin:0 0 10px}.control-trend-bars{display:flex;align-items:end;height:150px;gap:7px}.control-trend-bars div{display:flex;flex:1;height:100%;min-width:16px;align-items:center;justify-content:flex-end;flex-direction:column;gap:5px}.control-trend-bars i{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:#2f7868}.control-trend-bars small{font-size:9px}.control-status-tabs{display:flex;gap:6px;margin:0 0 14px;overflow:auto}.control-status-tabs button{border:1px solid var(--border-default);border-radius:999px;background:#fff;padding:8px 12px;color:var(--text-secondary);font-weight:700}.control-status-tabs button.active{border-color:#174b41;background:#174b41;color:#fff}.control-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.control-status.controlled{background:#e4f4e9;color:#1e6a3d}.control-status.uncontrolled{background:#fee9e6;color:#a3342b}.control-status.not_measured{background:#edf0ef;color:#586b65}.control-cell-note{display:block;color:var(--text-secondary)}.control-settings-target,.control-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin:12px 0 22px}.control-setting-range{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid var(--border-subtle);border-radius:8px;padding:12px}.control-setting-range legend{font-weight:800}.control-setting-range input,.control-settings-target input{display:block;width:100%;margin-top:6px}@media(max-width:800px){.control-dashboard-cards{grid-template-columns:repeat(2,minmax(130px,1fr))}.control-funnel{align-items:stretch;flex-direction:column}.control-funnel i{transform:rotate(90deg)}.control-settings-target,.control-settings-grid{grid-template-columns:1fr}}

.import-review-workspace{display:grid;gap:16px}.import-review-head,.import-review-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.import-review-head h3{margin:4px 0}.import-review-progress{border-radius:999px;background:#e7f3ed;padding:9px 14px;color:#175d4c;font-weight:800}.import-review-tabs{display:flex;gap:7px;overflow:auto}.import-review-tabs button{border:1px solid var(--border-default);border-radius:999px;background:#fff;padding:8px 12px}.import-review-tabs button.active{background:#174b41;color:#fff}.import-hardening-table{min-width:1250px}.import-hardening-table tr.review-warning{background:#fffaf0}.import-hardening-table tr.review-error{background:#fff4f2}.import-review-input{min-width:120px;width:100%;border:1px solid #cfdad5;border-radius:6px;background:#fff;padding:8px}.review-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.review-status.valid{background:#def3e6;color:#17643a}.review-status.warning{background:#fff0c9;color:#7a5400}.review-status.error{background:#ffe0dc;color:#9d3028}.review-detail{max-width:230px;white-space:normal;text-align:left}.import-review-pager{display:flex;align-items:center;justify-content:center;gap:12px}.import-issue-panel{position:relative;border:1px solid var(--border-subtle);border-left:5px solid #d89b21;border-radius:9px;background:#fff;padding:18px}.review-detail-close{position:absolute;right:10px;top:10px;border:0;background:transparent;font-size:24px}.review-issue-list{display:grid;gap:8px;margin:12px 0}.review-issue-list>div{display:grid;gap:3px;border-radius:7px;padding:10px}.review-issue-list .blocking{background:#fff0ee;color:#8e2d25}.review-issue-list .nonblocking{background:#fff7df;color:#76520a}.review-quick-actions{display:flex;gap:8px;margin-top:12px}.import-review-footer{position:sticky;bottom:10px;z-index:5;border:1px solid var(--border-subtle);border-radius:10px;background:#fff;padding:14px;box-shadow:0 8px 26px rgba(15,45,38,.14)}.import-review-footer>div{display:grid}.import-final-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.import-final-cards>div{display:grid;border-radius:9px;padding:18px}.import-final-cards b{font-size:24px}.import-final-cards .success{background:#e4f4e9;color:#17643a}.import-final-cards .warning{background:#fff3d4;color:#76520a}.import-final-cards .error{background:#ffe5e1;color:#963329}@media(max-width:760px){.import-review-head,.import-review-footer{align-items:stretch;flex-direction:column}.import-final-cards{grid-template-columns:1fr}.review-quick-actions{flex-direction:column}}

.import-reliability{margin:0 0 16px;padding:14px 16px;border:1px solid #cbded7;border-radius:12px;background:#f7fbf9}.import-reliability-head{display:flex;justify-content:space-between;gap:12px;color:#174b41}.import-reliability-track{height:8px;margin:9px 0;border-radius:999px;background:#dce9e4;overflow:hidden}.import-reliability-track i{display:block;height:100%;border-radius:inherit;background:#2b806f;transition:width .2s}.import-reliability p{margin:0;color:#526d65}.import-reliability .form-actions{margin-top:12px}

.sidebar .nav-item {
  display: flex !important;
  align-items: center !important;
}
.about-view {
  max-width: 980px;
}
.about-shell {
  display: grid;
  gap: 0;
  padding-bottom: 24px;
}
.about-identity {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 4px;
  padding: 19px 22px;
  border: 1px solid var(--border, #dbe5e1);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    var(--surface, #fff),
    var(--primary-050, #f2f8f6)
  );
}
.about-identity img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}
.about-identity h1 {
  margin: 0 0 3px;
  font-size: 22px;
}
.about-identity p {
  margin: 0 0 2px;
  color: var(--text-muted, #60736f);
  font-size: 14px;
}
.about-identity span {
  color: var(--text-muted, #60736f);
  font-size: 12px;
}
.about-section {
  padding: 23px 4px;
  border-bottom: 1px solid var(--border, #dbe5e1);
  max-width: 820px;
}
.about-section h2 {
  margin: 0 0 11px;
  font-size: 19px;
  letter-spacing: -0.015em;
}
.about-section > p {
  max-width: 760px;
  margin: 0 0 10px;
  color: var(--text-secondary, #40544f);
  font-size: 14px;
  line-height: 1.65;
}
.about-feature-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.about-feature-list li {
  position: relative;
  padding: 5px 0 5px 20px;
  color: var(--text-secondary, #40544f);
}
.about-feature-list li::before {
  content: "✓";
  position: absolute;
  left: 1px;
  top: 6px;
  width: auto;
  height: auto;
  color: var(--primary-600, #277366);
  font-weight: 700;
}
.about-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.about-principles > div {
  min-height: 108px;
  padding: 16px 17px;
  border: 1px solid var(--border, #dbe5e1);
  border-radius: var(--radius-md, 12px);
  background: var(--surface, #fff);
}
.about-principles h3 {
  margin: 0 0 4px;
  font-size: 15px;
}
.about-principles p {
  margin: 0;
  color: var(--text-muted, #60736f);
  font-size: 13px;
  line-height: 1.55;
}
.about-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 620px;
  margin-top: 13px;
  padding: 16px 18px;
  border: 1px solid var(--border, #dbe5e1);
  border-radius: 14px;
  background: var(--surface, #fff);
}
.about-contact-card > strong {
  font-size: 20px;
}
.about-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.about-contact-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 12px;
  text-decoration: none;
}
.about-contact-actions svg {
  width: 17px;
  height: 17px;
}
.about-metadata {
  display: grid;
  gap: 0;
  max-width: 480px;
  margin: 0;
}
.about-metadata div {
  display: grid;
  grid-template-columns: 120px 1fr;
  padding: 9px 0;
  border-bottom: 1px solid var(--border, #dbe5e1);
}
.about-metadata div:last-child {
  border-bottom: 0;
}
.about-metadata dt {
  color: var(--text-muted, #60736f);
}
.about-metadata dd {
  margin: 0;
  font-weight: 600;
}
.about-system {
  padding-top: 18px;
  padding-bottom: 18px;
}
.about-system h2 {
  margin-bottom: 7px;
  color: var(--text-secondary, #40544f);
  font-size: 15px;
}
.about-footer {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 20px 4px 0;
  color: var(--text-muted, #60736f);
  font-size: 12px;
}
.about-footer strong {
  color: var(--text-primary, #20332f);
}
.about-footer strong::after {
  content: " ·";
  color: var(--text-muted, #60736f);
}
@media (max-width: 650px) {
  .about-view {
    padding-inline: 2px;
  }
  .about-identity {
    align-items: flex-start;
    padding: 17px;
  }
  .about-identity img {
    width: 50px;
    height: 50px;
  }
  .about-feature-list,
  .about-principles {
    grid-template-columns: 1fr;
  }
  .about-principles {
    gap: 10px;
  }
  .about-principles > div {
    min-height: 0;
    padding: 14px 15px;
  }
  .about-section {
    padding: 20px 2px;
  }
  .about-contact-actions .btn {
    flex: 1 1 135px;
    justify-content: center;
  }
  .about-contact-card {
    align-items: stretch;
    flex-direction: column;
  }
  .about-metadata div {
    grid-template-columns: 100px 1fr;
  }
  .about-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .about-footer strong::after {
    content: "";
  }
}
@media (min-width: 651px) {
  #app-shell.sidebar-collapsed .sidebar {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  #app-shell.sidebar-collapsed .sidebar nav {
    width: 100% !important;
  }
  #app-shell.sidebar-collapsed .sidebar .nav-item {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  #app-shell.sidebar-collapsed .sidebar .nav-item > span {
    display: grid !important;
    width: 24px !important;
    height: 24px !important;
    place-items: center;
    line-height: 0 !important;
  }
}
@media (min-width: 651px) and (max-width: 1100px) {
  #app-shell .sidebar {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  #app-shell .sidebar nav {
    width: 100% !important;
  }
  #app-shell .sidebar .nav-item {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  #app-shell .sidebar .nav-item > span {
    display: grid !important;
    width: 24px !important;
    height: 24px !important;
    place-items: center;
    line-height: 0 !important;
  }
}

.dashboard-action.danger,
.dashboard-action.warning {
  border: 1px solid transparent !important;
}
.dashboard-action.danger {
  border-color: color-mix(in srgb, var(--danger) 24%, transparent) !important;
  background: var(--danger-bg) !important;
}
.dashboard-action.warning {
  border-color: color-mix(in srgb, var(--warning) 24%, transparent) !important;
  background: var(--warning-bg) !important;
}
.dashboard-action.danger span,
.dashboard-action.danger strong,
.dashboard-action.danger small {
  color: var(--danger) !important;
}
.dashboard-action.warning span,
.dashboard-action.warning strong,
.dashboard-action.warning small {
  color: var(--warning) !important;
}
.control-overview h4 {
  font-size: 20px !important;
  line-height: 1.25 !important;
}
.control-overview header button {
  min-width: 36px;
  min-height: 36px;
  border-radius: var(--radius-md) !important;
  font-size: 18px;
}
.control-overview header button:hover {
  background: var(--primary-050) !important;
}
.activity-trend div {
  grid-template-rows: minmax(0, 1fr) 18px !important;
  align-items: stretch !important;
}
.activity-trend i {
  align-self: end;
  width: 100%;
}
.activity-trend small {
  display: grid;
  place-items: end center;
  line-height: 1;
}
.population-item:nth-child(1) {
  background: var(--primary-050) !important;
}
.population-item:nth-child(2) {
  background: var(--danger-bg) !important;
}
.population-item:nth-child(3) {
  background: var(--warning-bg) !important;
}
.population-item:nth-child(4) {
  background: var(--info-bg) !important;
}
.population-item:nth-child(2) strong {
  color: var(--danger);
}
.population-item:nth-child(3) strong {
  color: var(--warning);
}
.population-item:nth-child(4) strong {
  color: var(--info);
}

.monthly-preset{display:grid;grid-template-columns:minmax(220px,320px) 1fr;align-items:end;gap:18px;margin:0 0 20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f5f8f6}.monthly-preset label{display:grid;gap:7px;font-weight:800}.monthly-preset select{width:100%}.monthly-preset p{margin:0;color:var(--muted)}.monthly-identity-option{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:14px;border:1px solid #e0c98f;border-radius:12px;background:#fff9ea}.monthly-identity-option input{margin-top:4px}.monthly-identity-option span{display:grid;gap:3px}.monthly-identity-option small{color:var(--muted)}.monthly-visit-summary>div,.monthly-control-summary>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid var(--line)}.monthly-control-summary{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.monthly-control-summary h4{margin:0 0 10px;font-size:18px}.monthly-control-summary .rppt{margin-top:5px;padding:10px;border-radius:9px;background:#edf5f1}.monthly-control-summary small{display:block;color:var(--muted);font-weight:500}.monthly-pdf>section{break-inside:avoid;margin:18px 0}.monthly-pdf h2{margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #174b41;font-size:15px}.monthly-pdf-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.monthly-pdf-kpis>div{border:1px solid #d8e1dc;border-radius:7px;background:#f7f9f8;padding:9px}.monthly-pdf-kpis small,.monthly-pdf-kpis b{display:block}.monthly-pdf-kpis b{margin-top:4px;font-size:16px}.monthly-pdf-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.monthly-detail-note{color:#647870;font-style:italic}@media(max-width:700px){.monthly-preset,.monthly-pdf-controls{grid-template-columns:1fr}.monthly-pdf-kpis{grid-template-columns:repeat(2,1fr)}}
@media print{.monthly-pdf>section{break-inside:auto}.monthly-pdf table{break-inside:avoid}.monthly-pdf h2{break-after:avoid}.monthly-pdf-controls,.monthly-pdf-kpis{break-inside:avoid}}
