:root{--green:#194d3e;--deep:#123b30;--mint:#eaf2ed;--ink:#20352d;--muted:#778079;--line:#e6e9e3;--paper:#f7f8f4;--orange:#d88c42;--radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}button{border:0}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #d8a96c;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:650;letter-spacing:-1px;margin-bottom:9px}h2{font-size:17px;letter-spacing:-.3px;margin-bottom:7px}h3{font-size:15px}small,.muted{color:var(--muted)}.initial-loading{display:grid;place-content:center;justify-items:center;min-height:100vh;gap:20px}.brand-symbol{width:43px;height:43px;background:var(--green);color:white;display:grid;place-items:center;border-radius:13px;font-size:32px;font-weight:400;line-height:1}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--line);padding:34px 19px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 12px 35px}.brand strong{font-size:16px;display:block;letter-spacing:-.5px}.brand small{display:block;font-size:10px;letter-spacing:1.7px;margin-top:5px}.nav-caption{font-size:10px;font-weight:650;letter-spacing:1.7px;color:#929a93;padding:12px 15px}.nav-link{display:flex;gap:13px;align-items:center;padding:13px 15px;border-radius:9px;width:100%;background:transparent;color:#6a746e;text-align:left;margin:5px 0;font-size:13px;font-weight:500;text-decoration:none}.nav-link:hover{background:#f4f6f2}.nav-link.active{background:var(--green);color:#fff}.nav-link svg{width:19px;height:19px}.sidebar-note{margin-top:auto;background:#f3f6f0;border-radius:12px;padding:17px;margin-inline:6px;font-size:12px;line-height:1.65;color:#727e70}.sidebar-note strong{display:block;color:#365746;font-size:13px;margin-bottom:6px}.sidebar-footer{font-size:10px;color:#a0a59f;padding:20px 13px 0}.workspace{grid-column:2;min-width:0}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);gap:20px}.breadcrumb{font-size:12px;color:#949b94;display:flex;gap:12px;align-items:center}.breadcrumb b{font-weight:500;color:#425649}.account{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ede9df;color:#706652;font-size:12px;font-weight:650}.account-name{font-size:12px;font-weight:600}.account-role{font-size:10px;color:var(--muted);margin-top:4px}.icon-btn{background:transparent;display:inline-grid;place-items:center;width:32px;height:32px;color:#7b877e;border-radius:7px}.icon-btn:hover{background:var(--mint);color:var(--green)}.icon-btn svg{width:17px;height:17px}.content{max-width:1520px;margin:auto;padding:34px 38px 30px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{color:#8a948b;font-size:10px;font-weight:650;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.page-heading p{color:var(--muted);font-size:13px;margin-bottom:0;line-height:1.7}.heading-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:8px;font-size:12px;font-weight:600;background:white;color:var(--green);border:1px solid var(--line);white-space:nowrap;min-height:40px}.btn svg{width:16px;height:16px}.btn:hover{background:#eff3ec}.btn-primary{background:var(--green);color:white;border-color:var(--green)}.btn-primary:hover{background:var(--deep)}.btn-danger{background:#a63c37;border-color:#a63c37;color:#fff}.btn-danger:hover{background:#8c2e29}.demo-banner{padding:10px 15px;margin-bottom:24px;border:1px solid #ecdfbb;border-radius:9px;background:#fff9e9;color:#8c713d;font-size:11px;display:flex;justify-content:space-between;gap:12px;align-items:center}.demo-banner button{font-size:11px;background:transparent;color:#745a21;text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 21px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#778278;font-size:12px}.stat-icon{width:34px;height:34px;border-radius:10px;background:#eff4ee;display:grid;place-items:center;color:#50745d}.stat-icon svg{width:18px;height:18px}.stat-value{font-size:33px;font-weight:650;letter-spacing:-1.2px;margin:11px 0 9px}.stat-note{font-size:10px;color:#899188}.stat-note strong{font-weight:500;color:#457958}.stat.featured{background:var(--green);color:white;border-color:var(--green)}.stat.featured .stat-top,.stat.featured .stat-note{color:#c0d6c6}.stat.featured .stat-icon{background:#32604f;color:#e3efe4}.stat.featured .stat-note strong{color:#d7eacb}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px;margin-bottom:23px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.card-header{padding:23px 23px 8px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-header p{font-size:11px;color:var(--muted);margin-bottom:0;line-height:1.6}.card-body{padding:20px 23px 23px}.text-link{border:0;background:none;color:var(--green);font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:5px;padding:5px 0;white-space:nowrap}.text-link svg{width:14px;height:14px}.period-label{border:1px solid var(--line);border-radius:6px;padding:7px 9px;color:#7f8a7f;font-size:10px;white-space:nowrap}.legend{display:flex;gap:18px;align-items:center;font-size:10px;color:#849082}.legend span{display:inline-flex;gap:6px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#719877}.dot.orange{background:#d2a569}.chart{width:100%;height:200px;display:block}.chart text{font:10px "Segoe UI",sans-serif;fill:#90998f}.chart-wrap{padding:10px 10px 0 0}.chart-footer{display:flex;justify-content:space-between;align-items:center;padding-top:7px;border-top:1px solid #f0f1ee;font-size:11px;color:#879082}.chart-footer b{font-size:18px;color:#355c42;display:inline-block;margin-right:5px}.target-panel{display:flex;align-items:center;gap:22px;padding:5px 0 18px}.donut{width:138px;min-width:120px;aspect-ratio:1;position:relative;display:grid;place-items:center}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-value{position:absolute;text-align:center}.donut-value strong{font-size:29px;display:block;letter-spacing:-1px}.donut-value small{font-size:10px}.target-key{font-size:11px;color:#869080;margin:14px 0}.target-key b{display:block;font-size:18px;font-weight:600;color:#344d3a;margin-top:4px;padding-left:13px}.target-message{background:#f3f6ee;padding:11px 13px;border-radius:8px;line-height:1.65;font-size:11px;color:#76856d}.target-message strong{color:#557344;font-weight:600}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}.data-table th{padding:12px 22px;font-size:10px;font-weight:500;color:#8b9389;background:#fafbf8;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9}.data-table td{padding:15px 22px;font-size:12px;border-bottom:1px solid #eff1eb;color:#667561}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#354a39;font-weight:550;display:block}.subline{font-size:10px;color:#9aA394;display:block;margin-top:5px}.person{display:flex;align-items:center;gap:10px}.person-icon{width:33px;height:33px;background:#f0f2e9;border-radius:10px;display:grid;place-items:center;color:#7d8c65;font-size:11px}.badge{padding:5px 8px;border-radius:5px;font-size:10px;display:inline-flex;align-items:center;gap:5px;background:#ecf3e9;color:#5a804e}.badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.scheduled{background:#faf1df;color:#b28b4b}.badge.inactive{background:#f1efec;color:#9a8c7c}.table-footer{padding:13px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#9aa292;font-size:10px}.map-card{height:205px;margin:14px 23px 0;border-radius:10px;overflow:hidden;background:#edf0e6}.map-card.full{height:520px;margin:0;border-radius:0}.leaflet-container{font-family:inherit!important;background:#edf0e6!important}.leaflet-popup-content{font-size:12px;line-height:1.7}.map-marker{width:25px;height:25px;border-radius:50% 50% 50% 0;background:var(--green);border:3px solid #fff;box-shadow:0 2px 8px #153c3030;transform:rotate(-45deg)}.map-marker span{display:block;width:5px;height:5px;border-radius:50%;background:#fff;margin:7px}.map-summary{display:flex;justify-content:space-between;padding:17px 23px;font-size:11px;color:#8a9585}.map-summary strong{color:#506b43}.page-footer{font-size:10px;color:#a2a99e;display:flex;justify-content:space-between;gap:20px;padding-top:8px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:220px}.search-box svg{position:absolute;left:13px;top:12px;width:17px;height:17px;color:#8e998b}.search-box input{padding-left:40px;width:100%}input,select,textarea{background:#fff;border:1px solid #dfe5da;border-radius:8px;padding:10px 12px;color:#39533b;outline:none;min-height:40px;max-width:100%}input:focus,select:focus,textarea:focus{border-color:#7ea47d;box-shadow:0 0 0 3px #749a7215}input[type=month]{font-size:12px}input::placeholder,textarea::placeholder{color:#a1aa9a}.empty{text-align:center;padding:50px 20px;color:#929c8d;line-height:1.8}.empty svg{width:36px;height:36px;margin-bottom:10px;color:#819879}.empty strong{display:block;color:#516e47}.mobile-toggle{display:none}.table-actions{display:flex;gap:4px}.summary-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.summary-pills span{border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:white;font-size:11px;color:#819073}.summary-pills b{color:var(--green);margin-right:5px}.progress{height:7px;border-radius:20px;background:#edf1e7;min-width:100px;margin:7px 0}.progress span{display:block;height:100%;border-radius:20px;background:#628756;max-width:100%}.split-view{display:grid;grid-template-columns:1fr 300px;gap:20px}.map-list{max-height:520px;overflow:auto}.map-list button{padding:15px 20px;background:white;text-align:left;width:100%;border-bottom:1px solid var(--line);font-size:12px;color:#4a6742}.map-list button:hover{background:#f4f7ef}.map-list small{display:block;font-size:10px;margin-top:6px}.trend-chart .chart{height:300px}.trends-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.bar-row{margin:16px 0;font-size:12px}.bar-label{display:flex;justify-content:space-between;margin-bottom:8px;color:#63765a}.bar-row .progress{height:9px}.info-note{font-size:11px;color:#8b977f;line-height:1.7;margin:15px 0 0}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-art{background:var(--green);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"+";position:absolute;font-size:560px;line-height:1;right:-110px;bottom:35px;color:#ffffff06;font-weight:300;pointer-events:none}.login-art .brand{padding:0}.login-art .brand-symbol{background:#ffffff20}.login-art .brand small{color:#b7cabc}.login-art h1{font-size:48px;line-height:1.2;max-width:420px;letter-spacing:-2px}.login-art p{font-size:14px;color:#c3d3c0;line-height:1.8;max-width:370px}.login-form-wrap{display:grid;place-items:center;padding:35px}.login-form{max-width:380px;width:100%}.login-form h2{font-size:27px}.login-form>p{font-size:13px;line-height:1.8;color:#89957e;margin-bottom:28px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#627256;margin-bottom:16px}.field small{line-height:1.6;font-size:10px}.login-form .btn{width:100%;margin-top:10px}.form-error{color:#a34339;font-size:12px;background:#fff0ec;padding:11px;border-radius:7px;line-height:1.7;display:none}.form-error:not(:empty){display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.field.wide{grid-column:1/-1}textarea{min-height:90px;resize:vertical}dialog{width:min(580px,calc(100% - 30px));max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:0;color:var(--ink);box-shadow:0 25px 90px #153c3033}dialog::backdrop{background:#16352c66;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px 18px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0}.modal-body{padding:22px 25px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:15px;border-top:1px solid var(--line);margin-top:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:#254d39;color:white;padding:12px 20px;border-radius:9px;z-index:1000;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.detail-list{display:grid;grid-template-columns:110px 1fr;gap:14px;font-size:12px;line-height:1.7}.detail-list dt{color:#8a967f}.detail-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.patient-history{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.history-item{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}.history-item p{color:#7e8d73;font-size:11px;white-space:pre-wrap;margin:5px 0}.history-item .badge{float:right}.error-page{min-height:100vh;display:grid;place-content:center;padding:30px;text-align:center}.error-page p{max-width:520px;color:#8a957e;line-height:1.8}.check-line{font-size:12px;color:#758669}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.content{padding:42px 48px}.stat{padding:24px}.chart{height:230px}.map-card{height:225px}}
@media(max-width:1150px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{width:210px;padding-inline:12px}.topbar{padding:0 25px}.content{padding:28px 25px}.stats{gap:12px}.stat{padding:16px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:16px}.card-header{padding:20px 18px 8px}.card-body{padding:16px 18px}.target-panel{gap:12px}.donut{width:120px}.heading-actions .btn{padding:10px 12px}.page-heading{align-items:flex-start}.split-view{grid-template-columns:1fr 250px}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.target-panel{justify-content:center;gap:45px}.map-card{height:240px}.page-heading{flex-wrap:wrap}.split-view{grid-template-columns:1fr}.map-list{max-height:220px}.trends-bottom{grid-template-columns:1fr}.login-art{padding:35px}.login-art h1{font-size:38px}.breadcrumb>span{display:none}}
@media(max-width:650px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:240px;box-shadow:20px 0 80px #163d301a}.sidebar.open{transform:translateX(0)}.mobile-toggle{display:grid}.topbar{height:68px;padding:0 18px;gap:10px}.breadcrumb{flex:1}.account-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:24px 17px}.page-heading{gap:18px;margin-bottom:22px}h1{font-size:26px}.eyebrow{font-size:9px}.heading-actions{width:100%}.heading-actions .btn{flex:1}.stats{gap:10px;margin-bottom:17px}.stat{padding:15px}.stat-top{font-size:10px}.stat-icon{width:27px;height:27px}.stat-icon svg{width:15px;height:15px}.stat-value{font-size:29px}.stat-note{font-size:9px}.dashboard-grid{gap:17px;margin-bottom:17px}.demo-banner{font-size:10px;line-height:1.6;align-items:flex-start}.demo-banner button{white-space:nowrap;font-size:10px}.card-header{padding:20px 17px 10px}.card-header h2{font-size:15px}.card-body{padding:13px 17px 20px}.data-table th,.data-table td{padding:12px 17px}.page-footer{font-size:9px;line-height:1.7;flex-direction:column;gap:2px}.toolbar{gap:8px}.toolbar>select,.toolbar>input{flex:1;width:150px;font-size:12px}.search-box{flex-basis:100%}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal-body{padding:20px}.login-page{grid-template-columns:1fr}.login-art{padding:25px;min-height:220px}.login-art h1{font-size:27px;letter-spacing:-.8px;margin:25px 0 0}.login-art p,.login-art>small{display:none}.login-art:after{font-size:260px;bottom:-50px;right:0}.login-form-wrap{padding:35px 25px;align-items:start}.map-card.full{height:390px}.detail-list{grid-template-columns:90px 1fr}.trend-chart .chart{height:230px}}
.mobile-toggle{display:grid;flex-shrink:0}.sidebar-close{position:absolute;top:7px;right:7px}.menu-scrim{display:none}.topbar .breadcrumb{flex:1}.sidebar{transition:transform .2s ease}.app-shell{transition:grid-template-columns .2s ease}@media(min-width:651px){.app-shell.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.nav-collapsed .sidebar{transform:translateX(-100%)}}@media(max-width:650px){.sidebar.open+.menu-scrim{display:block;position:fixed;inset:0 0 0 240px;z-index:19;background:#153c3060;backdrop-filter:blur(2px)}.sidebar.open{box-shadow:12px 0 40px #163d3025}}
.target-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.target-controls input{font-size:12px}.segmented{display:inline-flex;padding:4px;background:#eef2e9;border-radius:9px;gap:3px}.segmented button{background:transparent;color:#75826c;padding:8px 13px;border-radius:6px;font-size:12px;font-weight:600}.segmented button.active{background:var(--green);color:white;box-shadow:0 2px 5px #143e3412}.target-range{font-size:12px;margin:17px 0 8px;color:#5f7455}.target-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.target-stats .stat-value small{font-size:22px;font-weight:400}.target-stats .stat-note{margin:12px 0}.barthel-badge{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:5px;font-size:10px;padding:6px 8px;border-radius:6px;line-height:1.5;white-space:normal;max-width:240px;font-weight:500}.barthel-badge.total{background:#fbe9e8;color:#a94147}.barthel-badge.heavy{background:#fff0dd;color:#a16c22}.barthel-badge.other{background:#eaf2e6;color:#51723e}.barthel-badge.unassessed{background:#eff0ee;color:#788174}.score-marker{width:32px;height:32px;display:grid;place-items:center;border:3px solid white;border-radius:50%;font-size:12px;font-weight:700;color:white;box-shadow:0 2px 8px #163c3040;background:#839080}.score-marker.total{background:#b75258}.score-marker.heavy{background:#ca9043}.score-marker.other{background:#5c8053}.score-marker.unassessed{background:#8b9584}.map-legend{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 15px}.map-list .barthel-badge{margin-top:10px}.patient-modal{width:min(820px,calc(100% - 30px))}.form-section-title{font-size:13px;font-weight:650;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:11px;margin:12px 0 18px}.wide{grid-column:1/-1}#location-picker{height:280px;width:100%;border-radius:10px;background:#eef2e9;border:1px solid var(--line)}#location-status{font-size:11px;color:#728265;margin-top:6px}.barthel-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf3e8;border:1px solid #dce7d4;padding:15px 18px;border-radius:10px;margin-bottom:22px}.barthel-preview strong{font-size:18px;color:#355e31}.barthel-preview span{font-size:12px;color:#718265}.legacy-targets{margin:22px 0}.legacy-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;font-size:12px;border-bottom:1px solid var(--line)}.form-grid select{width:100%;text-overflow:ellipsis}.form-grid .field{min-width:0}.data-table .barthel-badge{min-width:170px}.patient-modal .form-error{position:sticky;bottom:0}
.trend-range{margin-left:auto}.trend-range button{white-space:nowrap}
@media(max-width:650px){.target-controls{gap:8px}.segmented button{padding:8px 10px}.target-controls>label{flex:1;min-width:145px}.target-controls input{width:100%;min-width:0}.target-stats{grid-template-columns:1fr}.patient-modal .modal-body{padding:17px}.patient-modal .form-grid{display:block}#location-picker{height:260px}.barthel-preview{display:block}.barthel-preview span{display:block;margin-top:8px}.map-legend{gap:7px}.barthel-badge{font-size:10px}.patient-modal .modal-header{padding:18px}.target-panel{gap:25px}.trend-range{margin-left:0;width:100%;overflow-x:auto}.trend-range button{flex:1}}
.patient-search-wrap{position:relative;margin-bottom:18px}.patient-search-wrap .field{margin-bottom:0}.patient-search-wrap .info-note{margin-top:8px}#patient-options{position:absolute;top:66px;left:0;right:0;max-height:240px;overflow:auto;background:white;border:1px solid #cfdcc7;border-radius:10px;box-shadow:0 12px 35px #244c3925;z-index:3}#patient-options[hidden]{display:none}#patient-options [role=option]{display:block;width:100%;padding:12px 15px;background:white;text-align:left;color:#355333;border-bottom:1px solid #eef1e8}#patient-options [role=option]:hover,#patient-options [aria-selected=true]{background:#eef5e8}#patient-options small{display:block;font-size:10px;margin-top:5px;line-height:1.6}#patient-options .info-note{padding:14px;margin:0}#visit-clinical{margin:0;padding:0;border:0;min-width:0}#visit-clinical:disabled{opacity:.65}input[readonly]{background:#f2f5ee;color:#61705a}.visit-change{padding:12px 15px;border:1px dashed #cbdcc0;border-radius:9px;margin:-10px 0 20px;color:#547148;font-size:12px;line-height:1.8}.visit-change strong{display:block}.clinical-summary{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 22px;align-items:center}.clinical-summary>span:not(.barthel-badge){font-size:11px;padding:7px 9px;background:#f2f5ed;border-radius:6px;color:#647956}.history-item .clinical-summary{margin:10px 0}.visit-answer-details{font-size:12px;padding-top:20px;line-height:1.8}.visit-answer-details summary{cursor:pointer;font-weight:600;color:var(--green)}.visit-answer-details p{margin-top:14px;color:#76866b}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Compact desktop navigation */
.sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:width .2s ease,transform .2s ease}
.sidebar>.brand,.sidebar>.nav-caption,.sidebar>nav,.sidebar>.sidebar-note,.sidebar>.sidebar-footer{flex-shrink:0}
.brand{gap:13px;padding:0 10px 31px;min-width:200px;color:var(--ink)}
.brand-symbol{position:relative;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:linear-gradient(145deg,#24604e 0%,#123f33 72%);box-shadow:0 8px 20px #123f3326, inset 0 1px 0 #ffffff24;display:grid;place-items:center;color:#fff;overflow:hidden}
.brand-symbol:after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;right:-14px;bottom:-13px;background:#d7b27c33}
.brand-symbol svg{width:32px;height:32px;position:relative;z-index:1}
.brand-symbol circle{stroke:#dcead8;stroke-width:1.4;opacity:.58}
.brand-symbol path{stroke:currentColor;stroke-width:3.6;stroke-linecap:round}
.brand-copy{min-width:0}
.brand-copy strong{display:flex;align-items:baseline;gap:4px;font-size:15.5px;line-height:1.1;font-weight:700;letter-spacing:-.45px;white-space:nowrap}
.brand-copy .brand-accent{color:#24634f}
.brand-copy small{display:flex;align-items:center;gap:6px;margin-top:7px;color:#8a948d;font-size:8.5px;font-weight:650;line-height:1;text-transform:uppercase;letter-spacing:1.45px;white-space:nowrap}
.brand-copy small i{width:5px;height:5px;border-radius:50%;background:#c99459;box-shadow:0 0 0 3px #c9945918;flex:0 0 5px}
.login-art .brand{color:#fff}
.login-art .brand-symbol{background:#ffffff18;border:1px solid #ffffff25;box-shadow:none}
.login-art .brand-symbol:after{background:#d7b27c38}
.login-art .brand-copy .brand-accent{color:#dcebd7}
.login-art .brand-copy small{color:#b7cabc}
.sidebar .nav-link svg{flex:0 0 19px}
.nav-link{overflow:hidden;white-space:nowrap;transition:width .2s ease,gap .2s ease,background-color .14s ease,color .14s ease}
.nav-label{display:block;max-width:150px;white-space:nowrap;transition:opacity .12s ease}
.brand>div,.nav-caption,.sidebar-note,.sidebar-footer{transition:opacity .12s ease}
.sidebar-note{width:190px;min-width:190px}
.sidebar-footer{white-space:nowrap}
@media(min-width:651px){
 .app-shell.nav-collapsed{grid-template-columns:76px minmax(0,1fr)}
 .nav-collapsed .sidebar{width:76px;padding-inline:0;transform:translateX(0)}
 .nav-collapsed .brand{width:76px;min-width:76px;gap:0;justify-content:center;padding-inline:0}
 .nav-collapsed .brand>div{display:none}
 .nav-collapsed .nav-caption{width:76px;padding:5px 0}
 .nav-collapsed nav{width:76px}
 .nav-collapsed .nav-link{width:52px;gap:0;justify-content:center;margin-left:auto;margin-right:auto;padding-inline:0}
 .nav-collapsed .brand-symbol{opacity:1;visibility:visible;color:#fff}
 .nav-collapsed .nav-label{max-width:0}
 .nav-collapsed .brand>div,.nav-collapsed .nav-caption,.nav-collapsed .nav-label,.nav-collapsed .sidebar-note,.nav-collapsed .sidebar-footer{opacity:0;visibility:hidden;pointer-events:none}
}
@media(min-width:651px) and (max-width:1150px){.sidebar-note{width:174px;min-width:174px}}

/* Compact patient table */
.patients-table th,.patients-table td,.visits-table th,.visits-table td{text-align:center}
.patients-table td:first-child,.visits-table td:first-child{text-align:left}
.patients-table .person,.visits-table .person{justify-content:flex-start}
.patients-table .table-actions,.visits-table .table-actions{justify-content:center}
@media(min-width:651px){
 .patients-table{table-layout:fixed;white-space:normal}
 .patients-table th,.patients-table td{padding:10px 7px;vertical-align:middle;overflow-wrap:anywhere;font-size:11px}
 .patients-table th{font-size:9px}
 .patients-table th:nth-child(1){width:17%}
 .patients-table th:nth-child(2){width:13%}
 .patients-table th:nth-child(3){width:7%}
 .patients-table th:nth-child(4){width:11%}
 .patients-table th:nth-child(5){width:16%}
 .patients-table th:nth-child(6){width:13%}
 .patients-table th:nth-child(7){width:8%}
 .patients-table th:nth-child(8){width:7%}
 .patients-table th:nth-child(9){width:8%}
 .patients-table .person{gap:6px}
 .patients-table .person-icon{width:26px;height:26px;flex:0 0 26px;font-size:9px}
.patients-table .barthel-badge,.visits-table .barthel-badge{min-width:0;padding:5px 7px;font-size:9px}
 .patients-table .table-actions{gap:2px;justify-content:center}
 .patients-table .icon-btn{width:25px;height:25px;flex:0 0 25px}
 .patients-table .icon-btn svg{width:15px;height:15px}
 .patients-table .patient-rt-rw{white-space:nowrap;font-size:10px}
}
.visit-detail-header{margin-bottom:24px}.visit-detail-header h3{font-size:20px;margin-bottom:6px}.visit-detail-header p{margin:0}.visit-detail-section{margin:0 0 25px}.visit-detail-section>.form-section-title{margin:0 0 15px}.visit-detail-section .detail-list{grid-template-columns:160px minmax(0,1fr);gap:10px 18px}.visit-detail-section .detail-list dd{min-width:0}.visit-detail-section .comparison-panel{margin-top:18px}.barthel-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:14px 0 0}.barthel-answer-list li{border:1px solid var(--line);border-radius:9px;background:#fafbf8;padding:11px 13px;min-width:0}.barthel-answer-list span{display:block;color:#7b8878;font-size:10px;line-height:1.55;margin-bottom:6px}.barthel-answer-list strong{display:block;color:#38513d;font-size:11px;line-height:1.55;font-weight:600}.visit-detail-section .clinical-summary{margin:0}.visit-detail-section .info-note{line-height:1.7}
.visit-detail-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.visit-detail-heading-row .visit-detail-header{margin:0}.visit-detail-heading-row>.btn{flex:0 0 auto}
@media(max-width:650px){.visit-detail-heading-row{flex-direction:column}.visit-detail-heading-row>.btn{width:100%}}
.patient-detail-modal{width:min(980px,calc(100% - 30px))}.patient-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.patient-detail-hero h3{font-size:24px;letter-spacing:-.5px;margin:0 0 10px;color:var(--green)}.patient-detail-hero .eyebrow{margin-bottom:8px}.patient-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.patient-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:25px}.patient-detail-stats article{border:1px solid var(--line);border-radius:11px;padding:15px 16px;background:#fafbf8;min-width:0}.patient-detail-stats span,.patient-detail-stats small{display:block;color:#7c887c;font-size:10px;line-height:1.5}.patient-detail-stats strong{display:block;color:#244c3b;font-size:17px;margin:7px 0 4px;overflow-wrap:anywhere}.patient-detail-section{margin:0 0 27px;min-width:0}.patient-detail-section>.form-section-title{margin:0 0 15px}.patient-detail-list{grid-template-columns:145px minmax(0,1fr);gap:10px 18px}.patient-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.patient-detail-grid .patient-detail-section{border:1px solid var(--line);border-radius:12px;padding:18px}.patient-barthel-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.patient-barthel-summary>span{font-size:11px;color:#778477}.patient-detail-map{height:330px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#edf0e6}.patient-detail-map .leaflet-pane,.patient-detail-map .leaflet-control{z-index:auto!important}.patient-location-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px}.patient-location-footer div{min-width:0}.patient-location-footer strong,.patient-location-footer span{display:block}.patient-location-footer strong{font-size:11px;color:#405d49;margin-bottom:4px}.patient-location-footer span{font-size:11px;color:#7c887c;overflow-wrap:anywhere}.patient-location-empty{display:flex;align-items:center;gap:15px;padding:22px;border:1px dashed #bdcbbb;border-radius:11px;background:#f7f9f4;color:#72826f}.patient-location-empty>svg{width:28px;height:28px;flex:0 0 auto}.patient-location-empty strong{display:block;color:#3d5c48;margin-bottom:5px}.patient-location-empty p{font-size:11px;line-height:1.65;margin:0}.patient-history-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.patient-history-title h3{font-size:17px;color:var(--green);margin:0 0 5px}.patient-history-title p{font-size:11px;color:#7c887c;margin:0}.patient-visit-list{display:grid;gap:12px;margin-top:14px}.patient-visit-item{border:1px solid var(--line);border-radius:11px;padding:16px 17px;background:#fff}.patient-visit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.patient-visit-head strong,.patient-visit-head span{display:block}.patient-visit-head strong{font-size:13px;color:#304e3a;margin-bottom:5px}.patient-visit-head span{font-size:10px;color:#7e897e;line-height:1.6}.patient-visit-signals{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.patient-visit-signals>span:first-child{display:inline-flex}.patient-barthel-change,.patient-attachment-count{display:inline-flex;padding:6px 8px;border-radius:6px;background:#eef3eb;color:#59735b;font-size:10px}.patient-barthel-change{background:#f5f2e8;color:#7b6b43}.patient-visit-ttv,.patient-visit-note{font-size:11px;line-height:1.7;margin:8px 0;color:#617063}.patient-visit-note{white-space:pre-wrap;background:#f7f9f5;border-radius:7px;padding:9px 11px}.patient-visit-decisions{display:grid;grid-template-columns:95px minmax(0,1fr);gap:5px 10px;font-size:10px;line-height:1.6;margin:10px 0}.patient-visit-decisions dt{color:#8a9589}.patient-visit-decisions dd{margin:0;color:#56695a;overflow-wrap:anywhere}
form[data-entity="patients"] input[name="name"]{text-transform:uppercase}
@media(max-width:650px){.patient-detail-modal{width:calc(100% - 18px);max-height:94vh}.patient-detail-modal .modal-header{padding:17px 18px}.patient-detail-modal .modal-body{padding:17px}.patient-detail-hero{flex-direction:column}.patient-detail-hero>.btn{width:100%}.patient-detail-stats{grid-template-columns:1fr}.patient-detail-grid{grid-template-columns:1fr;gap:0}.patient-detail-list{grid-template-columns:100px minmax(0,1fr);gap:9px 12px}.patient-detail-map{height:270px}.patient-location-footer{align-items:stretch;flex-direction:column}.patient-location-footer .btn{width:100%}.patient-visit-item{padding:14px}.patient-visit-head{gap:10px}.patient-visit-head>.badge{flex:0 0 auto}}
@media(max-width:650px){.visit-detail-section .detail-list{grid-template-columns:95px minmax(0,1fr);gap:9px 12px}.barthel-answer-list{grid-template-columns:1fr}}
.visit-media-section{margin:12px 0 22px;min-width:0}.media-upload{border:1px dashed #91a58a;border-radius:12px;background:#f5f8f1;padding:20px;gap:12px;display:flex;flex-direction:column;color:var(--green)}.media-upload input{width:100%;min-width:0;font-size:12px;background:transparent;border:0;padding:0}.media-upload input::file-selector-button{padding:10px 14px;border:0;border-radius:7px;background:var(--green);color:white;margin-right:12px;cursor:pointer}.media-upload span{font-size:11px;color:#718265}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.media-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0;background:white}.media-item img,.media-item video{display:block;width:100%;height:180px;object-fit:contain;background:#edf1e9}.media-preview-button{display:block;width:100%;padding:0;background:transparent;cursor:zoom-in}.media-preview-button:focus-visible{outline-offset:-4px}.media-caption{padding:12px;display:flex;flex-direction:column;gap:7px}.media-caption strong{font-size:12px;overflow-wrap:anywhere;line-height:1.5}.media-caption small{font-size:11px;color:#75826c}.media-caption .text-link{font-size:12px;align-self:flex-start}.media-removed{border-color:#dcaaa8;background:#fff4f2}.media-removed img,.media-removed video{opacity:.4}.visit-media-section .form-error{position:static!important}.visit-media-section .info-note{line-height:1.7}#data-form[data-saving="1"]{pointer-events:none;opacity:.8}.media-viewer{box-sizing:border-box;width:min(1100px,calc(100% - 24px));max-width:calc(100% - 24px);height:min(88vh,850px);max-height:88vh;padding:0;background:#101915;border:1px solid #ffffff26;border-radius:15px;overflow:hidden}.media-viewer-head{box-sizing:border-box;width:100%;height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px;background:#fff}.media-viewer-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#28483a;font-size:13px}.media-viewer-stage{box-sizing:border-box;width:100%;height:calc(100% - 58px);min-height:0;display:grid;place-items:center;padding:18px;overflow:auto;background:#101915}.media-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:5px}.media-viewer::backdrop{background:#07110ddd;backdrop-filter:blur(5px)}@media(max-width:500px){.media-grid{grid-template-columns:1fr}.media-item img,.media-item video{height:200px}.media-viewer{width:calc(100% - 12px);max-width:calc(100% - 12px);height:92vh;max-height:92vh;border-radius:12px}.media-viewer-stage{padding:8px}}
.condition-badge{display:inline-flex;padding:6px 9px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.condition-badge.improved{background:#e5f2e8;color:#2c6b44}.condition-badge.stable{background:#edf0fa;color:#4d648a}.condition-badge.declined{background:#fce9e7;color:#a44842}.condition-badge.unassessed{background:#f0f1ed;color:#788174}.condition-detail{margin:20px 0}.condition-detail .form-section-title{display:flex;align-items:center;justify-content:space-between}.comparison-panel{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:20px}.comparison-panel .info-note{padding:10px 15px;line-height:1.7;margin:0;background:#f7f9f4}.comparison-table td,.comparison-table th{padding:10px 14px;font-size:11px}.condition-note{white-space:pre-wrap;font-size:12px;line-height:1.8}.condition-trends{margin-top:32px}.section-intro{margin:0 0 18px}.section-intro h2{font-size:19px;color:var(--green);margin:0 0 7px}.section-intro p{font-size:12px;color:#718265}.condition-chart{overflow-x:auto}.condition-chart svg{display:block;width:100%;min-width:440px}.condition-trends .info-note{line-height:1.7}.condition-stats .stat-note{line-height:1.6}
.condition-trends .table-wrap .data-table th,.condition-trends .table-wrap .data-table td{text-align:center}.condition-trends .table-wrap .data-table th:first-child,.condition-trends .table-wrap .data-table td:first-child{text-align:left}
.users-sort-button{display:inline-flex;align-items:center;gap:6px;padding:0;background:transparent;color:inherit;font:inherit;font-weight:inherit}.users-sort-button:hover{color:var(--green)}.users-sort-button span{font-size:13px;line-height:1}
.patient-map-popup{min-width:190px}.patient-map-popup>strong{display:block;color:#294b38;font-size:13px;margin-bottom:2px}.patient-map-popup>span{display:block;color:#7c887a;font-size:10px;margin-bottom:9px}.patient-map-popup>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.patient-map-popup>div small{font-size:10px;color:#788474}.map-directions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:9px 11px;border-radius:7px;background:var(--green);color:#fff!important;text-decoration:none;font-size:11px;font-weight:650}.map-directions svg{width:14px;height:14px}.map-directions:hover{background:var(--deep)}.map-list-item{border-bottom:1px solid var(--line);background:#fff}.map-list-item:last-child{border-bottom:0}.map-list-item .map-patient{border-bottom:0;padding-bottom:9px}.map-external{display:inline-flex;align-items:center;gap:6px;margin:0 20px 14px;padding:6px 9px;border-radius:6px;background:#eef4eb;color:#426c4b;text-decoration:none;font-size:10px;font-weight:650}.map-external:hover{background:#e2eddd}.map-external svg{width:13px;height:13px}
.embedded-mobile-preview,.embedded-mobile-preview *{scrollbar-width:none}.embedded-mobile-preview::-webkit-scrollbar,.embedded-mobile-preview *::-webkit-scrollbar{display:none;width:0;height:0}

/* Login */
.login-page{grid-template-columns:minmax(520px,1.12fr) minmax(420px,.88fr);min-height:100svh;background:#fff}
.login-art{min-height:100svh;padding:38px 48px 26px;background:linear-gradient(145deg,#123f34 0%,#1b5746 58%,#174838 100%)}
.login-art:after{content:none}
.login-art>.brand{position:relative;z-index:2}
.login-art-content{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(310px,1.18fr);align-items:center;gap:4px;width:100%;max-width:880px;margin:auto}
.login-art-copy{position:relative;z-index:2;padding-bottom:42px}
.login-art-copy .eyebrow{color:#b9d1c2;margin-bottom:17px}
.login-art h1{font-size:clamp(37px,3.3vw,54px);line-height:1.08;letter-spacing:-2.5px;margin-bottom:20px}
.login-art-copy p{max-width:390px;color:#c8d9ce;font-size:13px;line-height:1.75;margin:0}
.login-illustration{position:relative;width:100%;align-self:end;margin-left:-18px;filter:drop-shadow(0 24px 30px #08282025)}
.login-illustration svg{display:block;width:100%;max-height:570px;overflow:visible}
.login-orbit{stroke:#fff;stroke-width:2;stroke-dasharray:4 11;opacity:.13;stroke-linecap:round}
.login-spark{fill:#e7c891;opacity:.82}
.login-worker,.login-elder,.login-care-heart,.login-plant,.login-spark{transform-box:fill-box;transform-origin:center}
.login-worker{animation:login-float 5.8s ease-in-out infinite}
.login-elder{animation:login-breathe 6.4s ease-in-out infinite}
.login-care-heart{animation:login-heart 3.8s ease-in-out infinite}
.login-plant{animation:login-sway 6.8s ease-in-out infinite;transform-origin:bottom center}
.spark-one{animation:login-spark 4.8s ease-in-out infinite}
.spark-two{animation:login-spark 5.5s .8s ease-in-out infinite}
.spark-three{animation:login-spark 4.2s 1.3s ease-in-out infinite}
.orbit-one{animation:login-dash 16s linear infinite}.orbit-two{animation:login-dash 20s linear infinite reverse}
.login-art-footer{display:flex;align-items:center;gap:9px;position:relative;z-index:2;color:#b8ccbf}
.login-art-footer span{width:7px;height:7px;border-radius:50%;background:#d8ad70;box-shadow:0 0 0 5px #d8ad701c}
.login-art-footer small{color:inherit;font-size:9px;text-transform:uppercase;letter-spacing:1.5px}
.login-form-wrap{position:relative;padding:48px;background:radial-gradient(circle at 90% 5%,#edf5ee 0,transparent 28%),#fff}
.login-form-wrap:before{content:"";position:absolute;inset:28px;border:1px solid #edf0ea;border-radius:24px;pointer-events:none}
.login-form{position:relative;z-index:1;max-width:390px}
.login-form-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:30px;border-radius:14px;background:#eaf2ed;color:var(--green)}
.login-form-mark svg{width:21px;height:21px}
.login-form .eyebrow{color:#6f806f;margin-bottom:13px}
.login-form h2{font-size:32px;letter-spacing:-1.1px;margin-bottom:10px;color:#213a30}
.login-form>p{max-width:350px;color:#7e8a80;margin-bottom:30px}
.login-form .field{gap:9px;margin-bottom:18px;font-weight:600;color:#53675a}
.login-form .field input{height:48px;border-radius:10px;padding-inline:15px;font-weight:400;background:#fbfcfa}
.login-form .field input:disabled{color:#6d7c70;background:#f4f6f2;opacity:1}
.remember-choice{display:flex;align-items:center;gap:11px;margin:3px 0 20px;color:#43594c;cursor:pointer;user-select:none}
.remember-choice>input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0}
.remember-box{width:21px;height:21px;flex:0 0 21px;border:1px solid #cbd6ca;border-radius:6px;background:#fff;display:grid;place-items:center;color:transparent;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.remember-box svg{width:14px;height:14px;stroke-width:2.3}
.remember-choice>input:checked+.remember-box{background:var(--green);border-color:var(--green);color:#fff}
.remember-choice>input:focus-visible+.remember-box{outline:3px solid #d8a96c;outline-offset:3px}
.remember-choice:active .remember-box{transform:scale(.93)}
.remember-choice strong{display:block;font-size:12px;font-weight:650;line-height:1.35}
.remember-choice small{display:block;margin-top:3px;font-size:10px;color:#849087;line-height:1.4}
.login-form .login-submit{height:48px;margin-top:2px;border-radius:10px;box-shadow:0 10px 24px #16483822;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.login-form .login-submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px #1648382d}
.login-security{display:flex;align-items:center;gap:9px;margin-top:18px;padding:12px 14px;background:#f7faf7;border:1px solid #dfe8df;border-radius:10px;color:#6f7f75;font-size:10px;line-height:1.6}
.login-security svg{width:16px;height:16px;flex:0 0 16px;color:#64806d}
@keyframes login-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes login-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(.35deg)}}
@keyframes login-heart{0%,100%{transform:scale(1)}45%{transform:scale(1.05)}55%{transform:scale(1.02)}}
@keyframes login-sway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(1.2deg)}}
@keyframes login-spark{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(-9px);opacity:1}}
@keyframes login-dash{to{stroke-dashoffset:-120}}
@media(max-width:1050px){.login-page{grid-template-columns:minmax(450px,1fr) minmax(390px,.82fr)}.login-art{padding:34px}.login-art-content{grid-template-columns:1fr}.login-art-copy{padding:22px 0 0}.login-art-copy p{max-width:460px}.login-illustration{max-width:470px;margin:-46px auto -8px}.login-form-wrap{padding:40px}.login-form-wrap:before{inset:20px}}
@media(max-width:720px){.login-page{display:flex;flex-direction:column}.login-art{min-height:290px;padding:24px 24px 15px}.login-art>.brand{padding-bottom:12px}.login-art-content{display:grid;grid-template-columns:1.08fr .92fr;min-height:175px}.login-art-copy{padding:0}.login-art h1{font-size:30px;letter-spacing:-1.3px;margin:4px 0 10px}.login-art-copy .eyebrow{font-size:8px;margin-bottom:8px}.login-art-copy p{display:block;font-size:10px;line-height:1.55}.login-illustration{width:250px;margin:0 -44px -7px -22px;align-self:end}.login-art-footer{display:none}.login-form-wrap{padding:42px 25px 34px;place-items:start center}.login-form-wrap:before{display:none}.login-form{max-width:420px}.login-form-mark{display:none}.login-form h2{font-size:28px}.login-form>p{margin-bottom:25px}.login-form .field input{height:46px}}
@media(max-width:420px){.login-art{min-height:270px}.login-art-content{grid-template-columns:1.15fr .85fr}.login-art h1{font-size:27px}.login-art-copy p{font-size:9.5px}.login-illustration{width:230px;margin-left:-30px}.login-form-wrap{padding-inline:21px}}
.login-alt-actions{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;color:#7c8a80;font-size:11px}.login-alt-actions .text-link{font-size:11px}.login-form#register-form .field{margin-bottom:12px}.login-form#register-form>p{margin-bottom:20px}.login-form#otp-form input[name="otp"]{font-size:22px;font-weight:650;letter-spacing:7px;text-align:center}.registration-complete .login-form-mark{background:#e4f1e4;color:#4e7a51}.account-status{display:block;width:max-content;padding:5px 8px;border-radius:5px;font-size:10px;background:#eaf3e8;color:#55794f}.account-status.pending{background:#fff3dc;color:#9b742f}.account-status.suspended{background:#f1efec;color:#8f8274}.account-status+.text-link{margin-top:5px}

/* Account profile and password recovery */
.account-profile{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;border-radius:10px;padding:4px 6px}.account-profile:hover{background:#f3f6f1}.account-profile>span:last-child{display:block}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-large{width:84px;height:84px;flex:0 0 84px;border:4px solid #fff;box-shadow:0 8px 24px #153c3024;font-size:23px}.profile-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);gap:22px;margin-bottom:22px}.profile-identity{position:relative}.profile-cover{height:112px;background:linear-gradient(135deg,#174b3d,#2a6652 58%,#79966c)}.profile-person{display:flex;align-items:center;gap:18px;padding:0 25px;margin-top:-40px;position:relative}.profile-person h2{font-size:21px;margin:43px 0 4px}.profile-person p{font-size:11px;color:#718077;margin:0 0 8px}.profile-details{padding:25px;margin:0}.profile-details>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.profile-details>div:last-child{border-bottom:0}.profile-details dt{color:#879187}.profile-details dd{margin:0;color:#365241;overflow-wrap:anywhere}.profile-settings .card-body{padding-top:18px}.profile-form input[type=file]{height:auto;padding:8px;font-size:11px}.profile-form input[type=file]::file-selector-button{border:0;border-radius:7px;background:#edf3e9;color:var(--green);padding:9px 12px;margin-right:10px;font-weight:600;cursor:pointer}.profile-remove{margin-top:18px}.profile-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.security-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.security-card>div{display:flex;align-items:center;gap:15px}.security-card h2{margin:0 0 5px}.security-card p{font-size:11px;color:#7e8a80;margin:0}.security-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf3ed;color:var(--green);flex:0 0 42px}.security-icon svg{width:20px;height:20px}.login-options{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:3px 0 20px}.login-options .remember-choice{margin:0}.login-options>.text-link{padding-top:4px}.login-form#forgot-verify-form input[name="otp"],#password-verify-form input[name="otp"]{font-size:21px;font-weight:650;letter-spacing:7px;text-align:center}
@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-cover{height:96px}}
@media(max-width:650px){.account-profile>span:last-child{display:none}.account-profile{padding:2px}.profile-person{padding-inline:18px}.profile-details{padding:20px 18px}.profile-details>div{grid-template-columns:110px 1fr}.security-card{align-items:flex-start;flex-direction:column}.security-card .btn{width:100%}.login-options{align-items:center}.login-options .remember-choice small{display:none}}

.account-profile .account-name,.account-profile .account-role{display:block}

/* iOS memperbesar halaman ketika field yang menerima keyboard memakai teks <16px. */
@media(max-width:650px){
 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select,textarea{font-size:16px!important}
}

/* Leaflet memakai pane hingga z-index 1000; kurung seluruh peta di bawah navigasi. */
.leaflet-container{isolation:isolate;z-index:0!important}
.sidebar{z-index:1200}
@media(max-width:650px){.sidebar.open+.menu-scrim{z-index:1100}}

.location-import{border:1px solid #dce6d9;border-radius:12px;background:#f6f9f3;padding:17px 18px;margin-bottom:18px}.location-import-copy strong{display:block;color:#355a42;font-size:13px}.location-import-copy p{margin:5px 0 15px;color:#788779;font-size:11px;line-height:1.65}.location-link-field{margin-bottom:13px}.location-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.location-link-row .btn{min-width:112px}.location-current{display:flex;align-items:center;gap:12px}.location-current .btn{flex:0 0 auto}.location-current span{color:#7e8c7e;font-size:10px;line-height:1.55}.btn-location svg{width:16px;height:16px}
@media(max-width:650px){.location-import{padding:15px}.location-link-row{grid-template-columns:1fr}.location-link-row .btn,.location-current .btn{width:100%}.location-current{align-items:stretch;flex-direction:column;gap:8px}}

.visit-team-choice{margin:4px 0 0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.visit-team-choice strong,.visit-team-choice small{display:block}.visit-team-choice small{margin-top:3px;color:#7b887c;font-size:10px;line-height:1.5}.executor-field>.field{margin-bottom:0}

/* Mobile bottom navigation */
.mobile-navigation{display:none}
@media(max-width:650px){
 .sidebar,.menu-scrim,.topbar .mobile-toggle{display:none!important}
 .content{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .mobile-navigation{display:block}
 .mobile-bottom-nav{position:fixed;z-index:1420;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(70px + env(safe-area-inset-bottom,0px));padding:7px 5px max(7px,env(safe-area-inset-bottom,0px));background:#ffffffed;border-top:1px solid #dfe6dd;box-shadow:0 -10px 30px #153c3012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .mobile-nav-item{position:relative;display:flex;min-width:0;align-items:center;justify-content:flex-end;flex-direction:column;gap:4px;padding:2px;border-radius:10px;background:transparent;color:#7d8981;text-decoration:none;font-size:9px;font-weight:600;line-height:1;white-space:nowrap}
 .mobile-nav-item:hover{background:#f3f6f1;color:#345c48}
 .mobile-nav-item.active{color:#15503e}
 .mobile-nav-item.active:after{content:"";position:absolute;bottom:-3px;width:4px;height:4px;border-radius:50%;background:#c49155}
 .mobile-nav-icon{display:grid;place-items:center;width:30px;height:28px;border-radius:9px}
 .mobile-nav-icon svg{width:21px;height:21px;stroke-width:1.8}
 .mobile-nav-add{color:#234c3c}
 .mobile-nav-add .mobile-nav-icon{width:46px;height:39px;margin-top:-17px;border:4px solid #fff;border-radius:14px;background:linear-gradient(145deg,#23624f,#113f33);color:#fff;box-shadow:0 7px 18px #153f3238}
 .mobile-nav-add .mobile-nav-icon svg{width:22px;height:22px;stroke-width:2.2}
 .mobile-nav-scrim{position:fixed;z-index:1400;inset:0;background:#102f2766;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
 .mobile-nav-panel{position:fixed;z-index:1410;left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom,0px));padding:10px;border:1px solid #dfe6dc;border-radius:17px;background:#fff;box-shadow:0 20px 55px #102f2738;animation:mobile-nav-in .16s ease-out}
 .mobile-nav-panel>strong{display:block;padding:6px 8px 10px;color:#829087;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
 .mobile-nav-option{display:grid;width:100%;grid-template-columns:37px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:51px;padding:7px 10px;border-radius:11px;background:transparent;color:#355446;text-align:left;text-decoration:none;font-size:13px;font-weight:600}
 .mobile-nav-option:hover,.mobile-nav-option[aria-current="page"]{background:#eef4eb;color:#174f3d}
 .mobile-nav-option>svg:first-child{width:20px;height:20px;margin:auto;color:#557565}
 .mobile-nav-option>svg:last-child{width:15px;height:15px;color:#9aa69d}
 .mobile-nav-panel[hidden],.mobile-nav-scrim[hidden]{display:none!important}
 #toast{z-index:1500;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@keyframes mobile-nav-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Installable web app */
.pwa-install-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:17px;margin-top:22px;padding:19px 21px}.pwa-install-icon{width:58px;height:58px;border-radius:17px;overflow:hidden;background:#164f3e;box-shadow:0 8px 20px #164f3e24}.pwa-install-icon img{display:block;width:100%;height:100%;object-fit:cover}.pwa-install-card h2{margin:0 0 5px;color:#28493a}.pwa-install-card p{margin:0 0 4px;color:#6f7f74;font-size:12px;line-height:1.6}.pwa-install-card small{font-size:10px;line-height:1.55}
@media(max-width:650px){.pwa-install-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:16px}.pwa-install-icon{width:48px;height:48px;border-radius:14px}.pwa-install-card .btn{grid-column:1/-1;width:100%}}

/* Camera capture with permanent visit stamp */
.media-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}.media-source{position:relative;display:flex;width:100%;align-items:center;gap:13px;min-height:76px;padding:15px 16px;border:1px solid #d8e2d5;border-radius:13px;background:#f6f8f3;color:#2e5946;cursor:pointer;overflow:hidden;text-align:left;font:inherit;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.media-source:hover{border-color:#8aa48f;background:#f0f5ec;transform:translateY(-1px)}.media-source:focus-visible,.media-source:has(input:focus-visible){outline:3px solid #c7955140;outline-offset:2px}.media-source:disabled,.media-source:has(input:disabled){cursor:not-allowed;opacity:.55;transform:none}.media-source-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#dfeadf;color:#1a5743}.media-source-icon svg{width:22px;height:22px;stroke-width:1.8}.media-source>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:4px}.media-source strong{font-size:13px;line-height:1.35}.media-source small{color:#718077;font-size:10px;line-height:1.45}.media-source input{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;opacity:0;cursor:pointer}.camera-source{border-color:#245d4b;background:linear-gradient(145deg,#1d5b48,#123f34);color:#fff;box-shadow:0 8px 20px #164c3d18}.camera-source:hover{border-color:#164c3d;background:linear-gradient(145deg,#236650,#16483a)}.camera-source .media-source-icon{background:#ffffff1f;color:#fff}.camera-source small{color:#d6e5dd}.media-camera-note{margin:2px 0 7px!important;padding:9px 11px;border-left:3px solid #c79655;background:#fbf7eb;border-radius:0 7px 7px 0}.media-stamp-label{align-self:flex-start;padding:4px 7px;border-radius:999px;background:#e9f1e5;color:#2c654d;font-size:9px;font-weight:700;line-height:1.2}
@media(max-width:650px){.media-source-grid{grid-template-columns:1fr}.media-source{min-height:70px;padding:13px 14px}.media-source-icon{flex-basis:39px;width:39px;height:39px}.media-camera-note{font-size:10px}}

/* Other activities */
#custom-activity-field[hidden]{display:none}.activity-media-source{margin-bottom:10px}.activities-table th,.activities-table td{text-align:center;vertical-align:middle}.activities-table th:first-child,.activities-table td:first-child{text-align:left}.activities-table .table-actions{justify-content:center}.activity-mobile-list{display:none}
@media(max-width:650px){.activity-desktop-table{display:none}.activity-mobile-list{display:grid;gap:11px;padding:12px}.activity-mobile-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.activity-mobile-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid #edf0e9}.activity-mobile-card header strong{display:block;color:#304b3a;font-size:13px;line-height:1.4}.activity-mobile-card header span{display:block;margin-top:4px;color:#8b978d;font-size:9px}.activity-mobile-card time{flex:0 0 auto;color:#65776b;font-size:10px}.activity-mobile-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:13px 14px;gap:13px}.activity-mobile-card dl>div:nth-child(2){grid-column:1/-1}.activity-mobile-card dt{margin-bottom:4px;color:#909b92;font-size:9px}.activity-mobile-card dd{margin:0;color:#425b4c;font-size:11px;line-height:1.45}.activity-mobile-card dd small{display:block;margin-top:3px;font-size:9px}.activity-mobile-card footer{display:flex;justify-content:flex-end;padding:7px 10px;border-top:1px solid #edf0e9;background:#fafbf8}.activity-mobile-card .table-actions{justify-content:flex-end}.activity-media-source{min-height:70px}}

/* Password visibility */
.password-input{position:relative;width:100%}.password-input input{width:100%;padding-right:48px}.password-toggle{position:absolute;inset-block:0;right:4px;margin-block:auto;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:7px;background:transparent;color:#77877c;line-height:0}.password-toggle:hover{background:#edf3e9;color:var(--green)}.password-toggle:focus-visible{outline:3px solid #d8a96c;outline-offset:1px}.password-toggle svg{display:block;width:18px;height:18px}.password-input:focus-within .password-toggle{color:var(--green)}

/* Visit filters */
.visit-extra-filters{align-items:flex-end;margin-top:-8px}.date-filter{display:flex;flex-direction:column;gap:6px;color:#758669;font-size:10px}.date-filter input,.date-filter select{min-width:170px;font-size:12px}.dependency-select{flex:1;min-width:220px}.dependency-select select{width:100%}
@media(max-width:650px){.visit-extra-filters{display:grid;grid-template-columns:1fr 1fr}.date-filter input,.date-filter select{width:100%;min-width:0}.dependency-select{grid-column:1/-1;min-width:0}}


/* Dashboard operasional, audit, dan pencegahan data ganda */
.schedule-card,.village-performance{margin-bottom:22px}.schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 20px}.schedule-count{border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:#fafbf8}.schedule-count span,.schedule-count small{display:block;font-size:10px;color:#7b887e}.schedule-count strong{display:block;margin:4px 0 2px;font-size:25px;color:#294c3b}.schedule-count.overdue{background:#fff6f4;border-color:#f0d5d1}.schedule-count.overdue strong{color:#a44842}.schedule-count.today{background:#fff9ec;border-color:#ecdcb8}.schedule-count.today strong{color:#9a6a22}.schedule-list{border-top:1px solid var(--line)}.schedule-item{display:grid;grid-template-columns:135px minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;padding:13px 24px;background:#fff;border-bottom:1px solid var(--line);text-align:left;color:#4c6354}.schedule-item:hover{background:#fafbf8}.schedule-item>svg{width:17px}.schedule-item strong,.schedule-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-item strong{font-size:12px;color:#314f3d;margin-bottom:4px}.schedule-item small{font-size:10px;color:#859086}.schedule-date{font-size:10px;font-weight:650;padding:6px 8px;border-radius:6px;text-align:center;background:#eef2eb}.schedule-date.overdue{background:#fbe9e7;color:#a44842}.schedule-date.today{background:#fff0d5;color:#94651d}.schedule-empty{margin:0;padding:22px 24px;color:#7a887e;font-size:11px}.village-performance-table{padding:0 24px 24px}.village-performance-head,.village-performance-row{display:grid;grid-template-columns:minmax(145px,1.3fr) .7fr 1.1fr 1.55fr .55fr .75fr;align-items:center;gap:12px}.village-performance-head{padding:10px 12px;color:#89948b;font-size:9px;text-transform:uppercase;letter-spacing:.35px;border-bottom:1px solid var(--line)}.village-performance-row{padding:13px 12px;border-bottom:1px solid var(--line);font-size:11px;color:#526758}.village-performance-row:last-child{border-bottom:0}.village-performance-row>div strong,.village-performance-row>div small{display:block}.village-performance-row>div strong{color:#2f503d;margin-bottom:4px}.village-performance-row>div small{font-size:9px;color:#879288}.mini-progress{display:block;width:100%;height:4px;margin-top:6px;background:#edf1e9;border-radius:4px;overflow:hidden}.mini-progress>i{display:block;height:100%;background:#6b8e58}.condition-mini{display:inline-flex;padding:4px 5px;border-radius:5px;font-size:9px;font-style:normal;margin:1px}.condition-mini.improved{background:#e5f2e8;color:#2c6b44}.condition-mini.stable{background:#edf0fa;color:#4d648a}.condition-mini.declined{background:#fce9e7;color:#a44842}.backup-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:20px;padding:20px 22px;border-radius:13px;background:#eaf2e7;border:1px solid #d4e3ce}.backup-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:#fff;color:var(--green)}.backup-icon svg{width:24px}.backup-card h2{margin:0 0 6px;font-size:16px;color:#284b39}.backup-card p{margin:0;max-width:720px;font-size:11px;line-height:1.7;color:#65776b}.audit-action{display:inline-flex;padding:6px 8px;border-radius:6px;background:#eef3eb;color:#4f7055;font-size:10px}.duplicate-warning{margin:18px 0;padding:16px 18px;border:1px solid #e8c784;border-radius:11px;background:#fff9ea;color:#674e23}.duplicate-warning>strong{display:block;font-size:14px}.duplicate-warning>p{font-size:11px;margin:6px 0 10px}.duplicate-warning ul{list-style:none;margin:0 0 13px;padding:0}.duplicate-warning li{padding:9px 0;border-top:1px solid #eadbb8}.duplicate-warning li b,.duplicate-warning li span{display:block}.duplicate-warning li b{font-size:11px}.duplicate-warning li span{font-size:10px;margin-top:3px;color:#816b40}.duplicate-confirm{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;font-weight:600}.duplicate-confirm input{margin-top:2px;accent-color:var(--green)}
@media(max-width:750px){.schedule-summary{padding-inline:16px;gap:7px}.schedule-count{padding:11px}.schedule-count strong{font-size:22px}.schedule-item{grid-template-columns:100px minmax(0,1fr) 17px;padding:12px 16px}.village-performance-table{padding:0 14px 16px}.village-performance-head{display:none}.village-performance-row{grid-template-columns:1fr 1fr;gap:10px;padding:15px 4px}.village-performance-row>div{grid-column:1/-1}.village-performance-row>span{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:6px;background:#f7f9f5}.village-performance-row>span:before{content:attr(data-label);color:#89948b;font-size:9px}.backup-card{grid-template-columns:46px minmax(0,1fr);padding:17px;gap:13px}.backup-icon{width:46px;height:46px}.backup-card .btn{grid-column:1/-1;width:100%}}
@media(max-width:450px){.schedule-summary{grid-template-columns:1fr}.schedule-count{display:grid;grid-template-columns:1fr auto;align-items:center}.schedule-count strong{grid-row:1/3;grid-column:2}.schedule-item{grid-template-columns:1fr 17px}.schedule-date{grid-column:1/-1;text-align:left}.audit-table th:nth-child(4),.audit-table td:nth-child(4),.audit-table th:nth-child(5),.audit-table td:nth-child(5){display:none}}

.dashboard-clock{min-width:184px;padding-right:13px;border-right:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.dashboard-clock strong,.dashboard-clock span{display:block}.dashboard-clock strong{font-size:18px;line-height:1.15;letter-spacing:.2px;color:#244c3b}.dashboard-clock span{margin-top:5px;font-size:10px;color:#7f8d82;white-space:nowrap}@media(max-width:650px){.page-heading .heading-actions:has(.dashboard-clock){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-clock{min-width:0;text-align:left;border-right:0;border-left:3px solid #d4a566;padding:2px 0 2px 11px}.dashboard-clock strong{font-size:16px}.dashboard-clock span{font-size:9px}.page-heading .heading-actions:has(.dashboard-clock) .btn{flex:none}}@media(max-width:390px){.page-heading .heading-actions:has(.dashboard-clock){grid-template-columns:1fr}.page-heading .heading-actions:has(.dashboard-clock) .btn{width:100%}}

/* Tema warna */
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--green:#3f9476;--deep:#337a62;--mint:#1d3028;--ink:#e7f0eb;--muted:#9dacA4;--line:#31453d;--paper:#0d1713;--orange:#dfa35e;background:var(--paper)}
.theme-toggle{flex:0 0 auto;border:1px solid transparent;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.theme-toggle:active{transform:scale(.94)}.login-theme-toggle{position:fixed;z-index:30;right:24px;top:24px;width:42px;height:42px;border-color:var(--line);background:#ffffffeb;box-shadow:0 8px 24px #143e3420;backdrop-filter:blur(10px)}
html[data-theme="dark"] body,html[data-theme="dark"] .workspace,html[data-theme="dark"] .content,html[data-theme="dark"] .error-page{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .sidebar,html[data-theme="dark"] .topbar{background:#111d18f2;border-color:var(--line)}
html[data-theme="dark"] .brand strong,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] .account-name,html[data-theme="dark"] .breadcrumb b{color:var(--ink)}
html[data-theme="dark"] .nav-link{color:#aab9b1}html[data-theme="dark"] .nav-link:hover{background:#1b2b25}html[data-theme="dark"] .nav-link.active{background:#286e58;color:#fff}
html[data-theme="dark"] .sidebar-note,html[data-theme="dark"] .target-message,html[data-theme="dark"] .info-note,html[data-theme="dark"] .patient-location-empty{background:#17261f;color:#a6b5ad;border-color:#31483d}html[data-theme="dark"] .sidebar-note strong,html[data-theme="dark"] .empty strong{color:#dce9e2}
html[data-theme="dark"] .card,html[data-theme="dark"] .stat,html[data-theme="dark"] .summary-pills span,html[data-theme="dark"] .patient-visit-item,html[data-theme="dark"] .media-item,html[data-theme="dark"] .activity-mobile-card,html[data-theme="dark"] dialog{background:#15221d;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .stat.featured{background:#235e4c;border-color:#347c65}html[data-theme="dark"] .stat.featured .stat-top,html[data-theme="dark"] .stat.featured .stat-note{color:#c3d8ce}
html[data-theme="dark"] .btn,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#192822;border-color:#3a5047;color:#e7f0eb}html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#82928a}html[data-theme="dark"] .btn:hover{background:#22362e}html[data-theme="dark"] .btn-primary{background:#327e65;border-color:#3f9476;color:#fff}html[data-theme="dark"] .btn-primary:hover{background:#3b8b70}
html[data-theme="dark"] .icon-btn{color:#adbbb4}html[data-theme="dark"] .icon-btn:hover{background:#20342b;color:#8ac5ad}html[data-theme="dark"] .login-theme-toggle{background:#17261feb;border-color:#3b5148;box-shadow:0 8px 28px #0008}
html[data-theme="dark"] .login-page,html[data-theme="dark"] .login-form-wrap{background:#0f1915}html[data-theme="dark"] .login-form-wrap{background:radial-gradient(circle at 90% 5%,#1a3026 0,transparent 30%),#0f1915}html[data-theme="dark"] .login-form-wrap:before{border-color:#273a32}html[data-theme="dark"] .login-form>p,html[data-theme="dark"] .field{color:#a6b4ac}html[data-theme="dark"] .remember-choice{background:#17251f;border-color:#30443b;color:#9eadA5}html[data-theme="dark"] .login-security{background:#17251f;border-color:#30443b;color:#b5c2bb}html[data-theme="dark"] .login-security svg{color:#7fba9f}
html[data-theme="dark"] .login-form .field input{background:#192822;border-color:#3a5047;color:#e7f0eb;-webkit-text-fill-color:#e7f0eb;caret-color:#e7f0eb}html[data-theme="dark"] .login-form .field input::placeholder{color:#82928a;-webkit-text-fill-color:#82928a}html[data-theme="dark"] .login-form .field input:-webkit-autofill,html[data-theme="dark"] .login-form .field input:-webkit-autofill:hover,html[data-theme="dark"] .login-form .field input:-webkit-autofill:focus{-webkit-text-fill-color:#e7f0eb;caret-color:#e7f0eb;-webkit-box-shadow:0 0 0 1000px #192822 inset;box-shadow:0 0 0 1000px #192822 inset;border-color:#4d6b5e}html[data-theme="dark"] .password-toggle{color:#a9b9b1}html[data-theme="dark"] .password-toggle:hover{background:#243930;color:#8ac5ad}
html[data-theme="dark"] .demo-banner{background:#2a2518;border-color:#5b4a29;color:#dec38d}html[data-theme="dark"] .demo-banner button{color:#f0d49b}
html[data-theme="dark"] .data-table th{background:#192721;border-color:var(--line);color:#9eadA5}html[data-theme="dark"] .data-table td{border-color:#2b3e36;color:#adbbb3}html[data-theme="dark"] .data-table td strong,html[data-theme="dark"] .person strong{color:#e1ebe6}html[data-theme="dark"] .person-icon{background:#24352d;color:#b8c9c0}
html[data-theme="dark"] .table-footer,html[data-theme="dark"] .modal-header,html[data-theme="dark"] .modal-actions,html[data-theme="dark"] .patient-history,html[data-theme="dark"] .patient-history-title,html[data-theme="dark"] .form-section-title{border-color:var(--line)}
html[data-theme="dark"] .segmented,html[data-theme="dark"] .progress,html[data-theme="dark"] .mini-progress{background:#203029}html[data-theme="dark"] .segmented button{color:#aab8b0}html[data-theme="dark"] .segmented button.active{background:#347e65;color:white}
html[data-theme="dark"] .barthel-preview,html[data-theme="dark"] .backup-card,html[data-theme="dark"] .security-icon{background:#1b3027;border-color:#355044;color:#c0d3c8}html[data-theme="dark"] .backup-icon{background:#233a30}html[data-theme="dark"] .backup-card h2,html[data-theme="dark"] .profile-details dd,html[data-theme="dark"] .patient-detail-stats strong,html[data-theme="dark"] .patient-visit-head strong,html[data-theme="dark"] .schedule-item strong,html[data-theme="dark"] .village-performance-row>div strong,html[data-theme="dark"] .dashboard-clock strong{color:#dbe8e1}
html[data-theme="dark"] .patient-detail-stats article,html[data-theme="dark"] .schedule-count{background:#192721;border-color:var(--line)}html[data-theme="dark"] .schedule-item{background:#15221d;border-color:var(--line);color:#acbbb3}html[data-theme="dark"] .schedule-item:hover{background:#1c2c25}
html[data-theme="dark"] .schedule-count.overdue,html[data-theme="dark"] .duplicate-warning{background:#33201e;border-color:#70403b;color:#efc5bf}html[data-theme="dark"] .schedule-count.today{background:#302819;border-color:#685330}html[data-theme="dark"] .patient-visit-note{background:#1b2a24;color:#adbbb3}
html[data-theme="dark"] .activity-mobile-card header,html[data-theme="dark"] .activity-mobile-card footer{background:#182620;border-color:var(--line)}html[data-theme="dark"] .activity-mobile-card header strong,html[data-theme="dark"] .activity-mobile-card dd{color:#dbe7e1}
html[data-theme="dark"] .media-upload{background:#182820;border-color:#537363}html[data-theme="dark"] .media-item img,html[data-theme="dark"] .media-item video{background:#0d1512}html[data-theme="dark"] .media-viewer-head{background:#17251f}html[data-theme="dark"] .media-viewer-head strong{color:#dce9e2}
html[data-theme="dark"] .mobile-bottom-nav,html[data-theme="dark"] .mobile-nav-panel{background:#14221dec;border-color:#33483f;color:var(--ink)}html[data-theme="dark"] .mobile-nav-option{color:#c3d0ca;border-color:#2f433a}html[data-theme="dark"] .mobile-nav-item{color:#94a49c}html[data-theme="dark"] .mobile-nav-item.active{color:#78b99e}
html[data-theme="dark"] .leaflet-tile-pane{filter:brightness(.72) contrast(1.08) saturate(.72)}html[data-theme="dark"] .leaflet-control-zoom a,html[data-theme="dark"] .leaflet-popup-content-wrapper,html[data-theme="dark"] .leaflet-popup-tip{background:#17251f;color:#e4eee9}html[data-theme="dark"] .leaflet-control-attribution{background:#14211dcc!important;color:#a7b5ad}html[data-theme="dark"] .leaflet-control-attribution a{color:#86bba5}
html[data-theme="dark"] .chart text{fill:#9dacA4}html[data-theme="dark"] .chart-footer{border-color:var(--line)}html[data-theme="dark"] .chart-footer b,html[data-theme="dark"] .target-key b,html[data-theme="dark"] .bar-label{color:#c9d7d0}
@media(max-width:650px){.login-theme-toggle{right:17px;top:17px;width:38px;height:38px}.topbar>.theme-toggle{margin-left:auto}.topbar .account{gap:4px}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
html[data-theme="dark"] .login-form .field input:disabled,html[data-theme="dark"] input[readonly]{background:#1a2923;color:#aebcb5;border-color:#3b5147}
html[data-theme="dark"] .remember-choice{background:transparent;border-color:transparent}
html[data-theme="dark"] .map-list-item,html[data-theme="dark"] .map-list button{background:#15221d;border-color:var(--line);color:#c9d6cf}html[data-theme="dark"] .map-list button:hover{background:#1d3028}html[data-theme="dark"] .map-external{background:#21352c;color:#89c2a8}html[data-theme="dark"] .map-external:hover{background:#294337}
html[data-theme="dark"] .barthel-badge.unassessed,html[data-theme="dark"] .badge.inactive{background:#2a3530;color:#b5c0ba}html[data-theme="dark"] .barthel-badge.other,html[data-theme="dark"] .badge{background:#21382c;color:#9bc8a9}html[data-theme="dark"] .barthel-badge.heavy,html[data-theme="dark"] .badge.scheduled{background:#3a2e1d;color:#edc17f}html[data-theme="dark"] .barthel-badge.total{background:#3b2323;color:#efa3a6}
html[data-theme="dark"] #patient-options,html[data-theme="dark"] #patient-options [role=option]{background:#182620;border-color:#354a40;color:#dce8e2}html[data-theme="dark"] #patient-options [role=option]:hover,html[data-theme="dark"] #patient-options [aria-selected=true]{background:#22372e}
html[data-theme="dark"] .clinical-summary>span:not(.barthel-badge),html[data-theme="dark"] .patient-barthel-change,html[data-theme="dark"] .patient-attachment-count{background:#22342c;color:#b2c5ba}html[data-theme="dark"] .visit-change{border-color:#4d6a5d;color:#a8c9b6}
html[data-theme="dark"] .barthel-answer-list li{background:#192721;border-color:#354a40}html[data-theme="dark"] .barthel-answer-list span{color:#8fa198}html[data-theme="dark"] .barthel-answer-list strong{color:#dce8e2}
html[data-theme="dark"] .media-source{background:#192a23;border-color:#3b5548;color:#cde0d6}html[data-theme="dark"] .media-source:hover{background:#20372d}html[data-theme="dark"] .media-source-icon{background:#294337;color:#92c7ad}html[data-theme="dark"] .media-camera-note{background:#30291b;color:#d9c08e}
html[data-theme="dark"] .schedule-date{background:#263a31;color:#d8e6df;border:1px solid #3d574b}html[data-theme="dark"] .schedule-date.today{background:#493819;border-color:#765927;color:#ffd48d}html[data-theme="dark"] .schedule-date.overdue{background:#482625;border-color:#73403e;color:#ffb5b2}
.condition-mini{align-items:center;justify-content:center;min-width:35px;padding:5px 7px;border:1px solid transparent;border-radius:6px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.condition-mini.improved{color:#225c39}.condition-mini.stable{color:#40577f}.condition-mini.declined{color:#943a35}
html[data-theme="dark"] .condition-mini.improved{background:#183b2a;border-color:#2f6948;color:#a8e8be}html[data-theme="dark"] .condition-mini.stable{background:#222f49;border-color:#41577e;color:#b9cbf2}html[data-theme="dark"] .condition-mini.declined{background:#482526;border-color:#7a4142;color:#ffb8b5}
html[data-theme="dark"] .condition-badge.improved{background:#183b2a;color:#a8e8be;border:1px solid #2f6948}html[data-theme="dark"] .condition-badge.stable{background:#222f49;color:#b9cbf2;border:1px solid #41577e}html[data-theme="dark"] .condition-badge.declined{background:#482526;color:#ffb8b5;border:1px solid #7a4142}html[data-theme="dark"] .condition-badge.unassessed{background:#27332e;color:#c1ccc6;border:1px solid #43544c}
.village-performance-row>span>b{font-weight:650;color:inherit}@media(max-width:750px){.village-performance-row{gap:8px;padding:18px 0}.village-performance-row>div{padding:0 5px 5px}.village-performance-row>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:46px;gap:7px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9f5}.village-performance-row>span:before{font-size:10px}.village-performance-row>span>b{font-size:12px}.village-performance-row>span[data-label="Kondisi"]{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}.village-performance-row>span[data-label="Kondisi"]:before{margin-right:auto}.village-performance-row .mini-progress{grid-column:1/-1;margin:0}.village-performance-row .condition-mini{margin:0;min-width:42px;padding:6px 8px}}
@media(max-width:750px){html[data-theme="dark"] .village-performance-row>span{background:#1a2a23;border-color:#365046;color:#dce8e2}html[data-theme="dark"] .village-performance-row>span:before{color:#98aaa1}html[data-theme="dark"] .village-performance-row .mini-progress{background:#0f1d17}}
.dashboard-targets{margin-bottom:23px}.dashboard-targets .section-intro{margin-bottom:14px}.dashboard-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.village-target-card .stat-value{font-size:27px;margin-bottom:10px}.village-target-card .progress{min-width:0}.village-target-card .stat-note{line-height:1.5}.trend-scope{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.trend-scope select{min-width:185px}
.village-summary-stat .stat-top{gap:8px}.village-summary-stat .stat-top>span:first-child{min-width:0}.village-summary-stat select{flex:0 1 108px;min-width:0;min-height:30px;padding:4px 6px;font-size:10px}.village-summary-stat .stat-note{line-height:1.45}
@media(max-width:900px){.dashboard-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-scope{width:100%;justify-content:space-between}.trend-scope select{flex:1}}
@media(max-width:480px){.dashboard-target-grid{grid-template-columns:1fr;gap:10px}.village-target-card .stat-value{font-size:24px}.trend-scope{align-items:stretch;flex-direction:column;gap:6px}.trend-scope select{width:100%}}
