/* K-Worker institutional interface, September 2026. */
:root{--kp-navy:#132b49;--kp-blue:#1b5fc1;--kp-teal:#087e8b;--kp-ink:#172d47;--kp-muted:#53677e;--kp-line:#d9e2ec;--kp-bg:#f1f4f8}
.kp-system{background:var(--kp-bg)!important;color:var(--kp-ink);font-variant-numeric:tabular-nums}
.kp-system #kfs-sidebar{background:#122942!important;border-right:1px solid #233c58}
.kp-system .kfs-topbar{background:#fff!important;border-bottom:1px solid var(--kp-line);box-shadow:none!important}
.kp-system .kfs-main [class*="shadow-sm"]{box-shadow:0 1px 2px #142d4610!important;border-color:var(--kp-line)!important}
.kp-system .kfs-main table{font-size:14px;line-height:1.6;border-collapse:collapse}
.kp-system .kfs-main th{background:#edf2f7;font-weight:700;color:#3d526b}
.kp-system .kfs-main td,.kp-system .kfs-main th{padding-block:13px!important}
.kp-system .kfs-main tr:hover td{background:#f3f7fc}
.kp-system .kfs-stat{border:1px solid var(--kp-line)!important;border-radius:10px!important;box-shadow:none!important;background:#fff!important}
.kp-system .kfs-stat-value{font-size:32px!important;letter-spacing:-1px;color:var(--kp-navy)!important}
.kp-system .kfs-stat-icon{border-radius:9px!important;box-shadow:none!important;background:#eaf1fa!important;color:var(--kp-blue)!important}
.kp-system .kfs-stat-label{color:#455b74!important;font-size:14px!important}
.kp-system .kfs-stat-sub{font-size:12px!important;color:var(--kp-muted)!important}
.kp-system .kfs-stat-value small{font-size:14px!important;font-weight:500}
.kp-system [data-kf-map]{border:1px solid #e1e9f1;border-radius:10px;background-color:#f6f9fc;background-image:linear-gradient(#dce5ef66 1px,transparent 1px),linear-gradient(90deg,#dce5ef66 1px,transparent 1px);background-size:28px 28px}
.kp-system [data-kf-map] a:focus path{stroke:#092e5d;stroke-width:3}
.kp-system svg text{font-family:inherit}
.kp-system .kfs-ops-columns__unit,.kp-system .kfs-ops-tick{fill:#576b82;color:#576b82;font-size:11px}
.kp-system :is(a,button,input,select,textarea):focus-visible,.kp-auth :is(a,button,input):focus-visible{outline:3px solid #1676d2;outline-offset:3px}
.kp-page{display:grid;gap:20px;min-width:0}
.kp-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.kp-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#61778f;display:block;margin-bottom:7px}
.kp-page h1,.kp-page h2,.kp-panel h2{margin:0;font-weight:750;color:var(--kp-ink)}
.kp-page-heading p,.kp-help{font-size:14px;color:var(--kp-muted);line-height:1.7;margin:8px 0 0}
.kp-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;border:1px solid #cbd8e7;border-radius:7px;background:white;padding:9px 16px;color:#174c8f;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.kp-button:hover{background:#edf4fc;border-color:#7fa6d3}.kp-button-primary{background:#1758a8;color:white;border-color:#1758a8}.kp-button-primary:hover{background:#114786;color:white}.kp-button:disabled{cursor:not-allowed;opacity:.48}
.kp-data-note{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 16px;background:#e9eff6;border:1px solid #d4dfeb;border-radius:7px;color:#4b627b;font-size:12px;line-height:1.5}
.kp-data-note strong{color:#213e5e;font-weight:750}.kp-data-note time{margin-left:auto}.kp-dot{height:7px;width:7px;background:#087e8b;border-radius:50%;flex-shrink:0}
.kp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kp-kpi{position:relative;background:#fff;border:1px solid var(--kp-line);border-radius:9px;padding:20px 22px;min-width:0;overflow:hidden}
.kp-kpi:before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:3px;background:var(--kp-blue)}
.kp-kpi[data-tone=teal]:before{background:var(--kp-teal)}.kp-kpi[data-tone=amber]:before{background:#b87913}.kp-kpi[data-tone=slate]:before{background:#687d96}
.kp-kpi p{font-size:14px;font-weight:650;color:#4b5f75;margin:0 0 13px}
.kp-kpi strong{display:block;font-size:35px;font-weight:750;line-height:1.2;letter-spacing:-1px;color:#193754}.kp-kpi small{font-size:14px;font-weight:500;margin-left:6px;letter-spacing:0;color:#68788b}.kp-kpi>span{display:block;margin-top:12px;font-size:12px;color:#66788b;line-height:1.5}
.kp-panel{min-width:0;background:white;border:1px solid var(--kp-line);border-radius:10px;padding:22px}
.kp-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.kp-panel-heading h2{font-size:17px}.kp-badge{font-size:12px;line-height:1.4;color:#3c6385;background:#edf3f9;border:1px solid #dbe5f0;padding:5px 9px;border-radius:5px;white-space:nowrap}
.kp-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:20px}.kp-stack{display:grid;gap:20px;align-content:start}
.kp-map{background:#f6f9fc;border:1px solid #e3eaf1;border-radius:8px;background-image:linear-gradient(#dbe5ed66 1px,transparent 1px),linear-gradient(90deg,#dbe5ed66 1px,transparent 1px);background-size:26px 26px;position:relative;overflow:hidden}
.kp-map svg{display:block;width:100%;max-height:560px;height:auto}.kp-map a path{transition:fill .2s,filter .2s}.kp-map a:hover path{filter:brightness(.87);stroke:#173959;stroke-width:2}.kp-map a:focus-visible path{stroke:#102f4e;stroke-width:3}.kp-map text{font-family:inherit;pointer-events:none;font-weight:700;fill:#153854;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.kp-map-key{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#5d7188;margin-top:14px}.kp-map-key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:#dce6ef}.kp-map-key .populated{background:#2774bb}.kp-map-key .locked{background:#99aabb}
.kp-bars{display:grid;gap:17px}.kp-bar-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:14px;color:#435d76}.kp-bar-top b{color:#203f5f;font-weight:750}.kp-bar-track{height:9px;background:#edf2f7;border-radius:3px;overflow:hidden}.kp-bar-track i{height:100%;background:#2d73b8;display:block;border-radius:3px}.kp-bar-track i.teal{background:#138c96}
.kp-ring-row{display:flex;align-items:center;gap:24px}.kp-ring{width:142px;height:142px;flex-shrink:0;position:relative}.kp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.kp-ring div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#23405e}.kp-ring strong{font-size:25px}.kp-ring small{font-size:12px;color:#6c7c90}.kp-legend{display:grid;gap:13px;flex:1}.kp-legend>div{display:flex;justify-content:space-between;font-size:14px;color:#496079}.kp-legend b{color:#193952}.kp-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:8px}
.kp-table-wrap{overflow-x:auto}.kp-table{width:100%;font-size:14px;border-collapse:collapse;white-space:nowrap}.kp-table th{text-align:left;padding:13px 16px;background:#f1f5f9;border-block:1px solid #dbe3ed;color:#4e627a}.kp-table td{padding:13px 16px;border-bottom:1px solid #e7edf4;color:#3c526c}.kp-table .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.kp-table a{color:#1556a1;font-weight:700}.kp-table tfoot td{background:#f0f5fa;font-weight:800;color:#193d62}.kp-restricted{font-size:12px;color:#748395}
.kp-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kp-filter label{font-size:14px;font-weight:650;color:#435b73}.kp-filter select{min-height:42px;min-width:180px;border:1px solid #cbd7e5;border-radius:6px;padding:8px 12px;font-size:14px;background:#fff;color:#334e68}
.kp-camera-section{margin-block:20px;scroll-margin-top:90px}.kp-camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.kp-camera{border:1px solid #dae3ed;border-radius:8px;overflow:hidden;min-width:0}.kp-camera-media{aspect-ratio:16/10;background:#172b40;color:#d9e4ee}.kp-camera-media :is(video,iframe,img){width:100%;height:100%;object-fit:contain;border:0}.kp-camera-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;padding:20px}.kp-camera-empty svg{width:32px;height:32px;fill:none;stroke:#90a7bf;stroke-width:1.4}.kp-camera-empty strong{font-size:15px}.kp-camera-empty span{font-size:12px;color:#9caec0}.kp-camera-caption{padding:13px 15px;display:flex;flex-direction:column;gap:5px}.kp-camera-caption strong{font-size:14px;color:#263e58}.kp-camera-caption span{font-size:12px;color:#65778b}.kp-camera-error{padding:0 15px 14px;font-size:12px;color:#b5472e}.kp-camera-error[hidden]{display:none}
.kp-auth{min-height:100vh;background:#eef2f7;display:grid;grid-template-columns:1fr 1fr;color:#1c3651;font-family:inherit}.kp-auth-brand{background:#152d49;padding:clamp(36px,7vw,100px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff}.kp-auth-brand>span{color:#a7bbd0;font-size:12px;letter-spacing:2px;margin-bottom:25px}.kp-auth-brand h1{font-size:clamp(28px,3vw,42px);line-height:1.35;letter-spacing:-1.2px;font-weight:750}.kp-auth-brand p{color:#b7c8da;font-size:15px;line-height:1.8;margin-top:24px}.kp-auth-main{display:flex;align-items:center;justify-content:center;padding:40px}.kp-auth-card{width:100%;max-width:430px}.kp-auth-card h2{font-size:28px;font-weight:750;letter-spacing:-.7px}.kp-auth-card>p{font-size:14px;line-height:1.7;color:#65778c;margin:14px 0 28px}.kp-auth-steps{display:flex;gap:10px;margin-bottom:34px;font-size:12px;color:#60758b}.kp-auth-steps b{color:#1758a8}.kp-auth-card label{font-size:14px;font-weight:700;display:block;margin:22px 0 8px}.kp-otp-input{position:relative}.kp-otp-input input{width:100%;background:#fff;border:1px solid #becddf;border-radius:7px;padding:16px;font-size:25px;letter-spacing:10px;font-variant-numeric:tabular-nums}.kp-otp-input span{position:absolute;right:16px;top:22px;font-size:13px;font-weight:650;color:#946419}.kp-auth-card .kp-button{width:100%;margin-top:12px}.kp-auth-card [role=status]{font-size:13px;line-height:1.7;color:#765922;min-height:48px;background:#fff9eb;border:1px solid #eddfbc;border-radius:6px;padding:12px;margin-top:15px}.kp-auth-back{display:block;text-align:center;margin-top:25px;font-size:14px;color:#48617d}
.kfh-hero__meta{gap:14px!important}.kfh-hero__meta li{min-height:88px!important;background:#fff!important;border:1px solid #becddc!important;box-shadow:0 4px 12px #1537540a!important}.kfh-hero__meta-label{font-size:17px!important;font-weight:800!important;line-height:1.45!important;color:#153858!important;letter-spacing:-.4px}.kfh-hero__meta-index{background:#164d83!important;color:#fff!important;box-shadow:none!important}.kfh-hero__meta li:nth-child(2) .kfh-hero__meta-index{background:#087884!important}.kfh-hero__meta li:nth-child(3) .kfh-hero__meta-index{background:#8c682b!important}
.kp-join-types{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px}.kp-join-types a p:first-child{font-size:15px!important;line-height:1.55}.kp-join-types a p:last-child{font-size:12px!important;color:#53677e!important}
@media(min-width:1600px){.kp-system .kfs-main>main{padding:30px!important}.kp-overview{grid-template-columns:1.45fr 1fr}}
@media(max-width:1180px){.kp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-overview{grid-template-columns:1fr}.kp-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kp-system .kfs-main>main{padding:14px!important}.kp-page{gap:14px}.kp-page-heading{align-items:flex-start;flex-direction:column;gap:12px}.kp-page-heading h1{font-size:24px!important}.kp-kpis{gap:10px}.kp-kpi{padding:17px}.kp-kpi strong{font-size:28px}.kp-kpi>span{font-size:11px}.kp-panel{padding:16px}.kp-stack{grid-template-columns:1fr}.kp-data-note time{margin-left:0;width:100%;padding-left:17px}.kp-camera-grid{grid-template-columns:1fr}.kp-auth{grid-template-columns:1fr}.kp-auth-brand{padding:30px}.kp-auth-brand p{display:none}.kp-auth-brand h1{font-size:26px}.kp-auth-brand>span{margin-bottom:12px}.kp-auth-main{padding:30px 22px}.kp-join-types{grid-template-columns:1fr!important}.kfh-hero__meta li{min-height:72px!important}.kfh-hero__meta-label{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.kp-system *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.kp-public-cams{margin-top:22px;padding-top:16px;border-top:1px solid #dbe4ef;font-size:14px;color:#476079}.kp-public-cams summary{cursor:pointer;font-weight:700}.kp-public-cams .kp-filter{margin-top:14px}

/* Original municipal banner / map / six-row status composition retained. */
.kp-system .kfs-municipal-hero{border-color:#c8d8ea;box-shadow:0 2px 8px #142d4608}
.kp-system .kfs-municipal-main>article{border-color:#d5e0eb;box-shadow:0 2px 8px #142d4608}
.kp-system .kfs-municipal-main h2{color:#183c69;letter-spacing:-.2px}
.kp-system .kfs-municipal-status li{border-bottom-color:#e3eaf1}
.kp-system .kfs-municipal-status__meter{display:block;height:5px;border-radius:3px;background:#e9eff5;overflow:hidden;margin-top:4px}
.kp-system .kfs-municipal-status__meter i{display:block;height:100%;border-radius:3px}
.kp-system .kfs-municipal-map [data-kf-locked]{fill:#e7edf3;stroke:#fff}
.kp-system .kfs-municipal-scope__own{border-color:#b5cde8;background:#eaf2fb;color:#164f8d}

/* Players stay in the existing farm/dorm camera grid. */
.kp-existing-camera{min-width:0;background:white;color:#172d47;overflow:hidden;border-radius:7px}
.kp-existing-camera-media{height:176px;background:#102136;overflow:hidden}
.kp-existing-camera-media :is(video,iframe,img){display:block;width:100%;height:100%;object-fit:contain;border:0}
.is-cctv-simulated .kp-existing-camera-media,.is-cctv-simulated .kp-camera-media{position:relative;background:#071018}
.is-cctv-simulated .kp-existing-camera-media video,.is-cctv-simulated .kp-camera-media video{object-fit:cover;filter:saturate(.84) contrast(1.04) brightness(1.04) sepia(0)}
.kp-cctv-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;color:#edf7f0;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 1px 3px #000}
.kp-cctv-overlay:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),linear-gradient(rgba(15,55,48,.035),rgba(3,16,22,.04)),radial-gradient(circle at center,transparent 48%,rgba(0,0,0,.18));opacity:.42}
.kp-cctv-rec,.kp-cctv-channel,.kp-cctv-clock,.kp-cctv-place{position:absolute;z-index:1}
.kp-cctv-rec{top:9px;left:10px;display:flex;align-items:center;gap:5px;color:#ff6b6b;letter-spacing:.08em}.kp-cctv-rec i{width:7px;height:7px;border-radius:50%;background:#ff3b30;box-shadow:0 0 5px #ff3b30;animation:kpCctvBlink 1.1s steps(2,end) infinite}
.kp-cctv-channel{top:9px;right:10px}.kp-cctv-clock{right:10px;bottom:9px;font-variant-numeric:tabular-nums}.kp-cctv-place{left:10px;bottom:9px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes kpCctvBlink{50%{opacity:.25}}
.kp-existing-camera-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#b9ccde;text-align:center;padding:8px}
.kp-existing-camera-empty>span{font-size:25px}.kp-existing-camera-empty>strong{font-size:12px;line-height:1.5}
.kp-existing-camera-caption{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:9px 10px}
.kp-existing-camera-caption>strong{font-size:12px}.kp-existing-camera-caption>button{margin-left:auto;border:1px solid #c9d8e8;border-radius:4px;background:#eef5fc;padding:3px 6px;color:#1a5796;font-size:11px;cursor:pointer}
.kp-existing-camera-caption>span,.kp-existing-camera-caption>small{display:block;width:100%;font-size:11px;color:#526980;line-height:1.5}
.kp-existing-camera.is-compact .kp-existing-camera-media{height:auto;aspect-ratio:4/3}
.kp-existing-camera.is-compact .kp-existing-camera-caption{padding:6px;gap:4px}.kp-existing-camera.is-compact .kp-existing-camera-caption>strong{font-size:11px}
.kp-video-dialog{width:calc(100% - 32px);max-width:760px;max-height:90vh;padding:18px;border:1px solid #cbd8e5;border-radius:12px;background:white;color:#172d47;overflow:auto}
.kp-video-dialog::backdrop{background:#0f172a99}.kp-video-dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.kp-video-dialog-heading button{border:1px solid #d4deea;border-radius:6px;padding:6px 12px;background:white;cursor:pointer}
.kp-video-dialog .kp-existing-camera-media{height:auto;aspect-ratio:16/9}.kp-video-dialog-note{font-size:12px;color:#526980;margin-top:12px}
.kp-camera-reference{display:block;background:#f0f5fa;padding:7px 10px;font-size:11px;color:#19528d;text-decoration:underline}

/* 2026-09-06 · Map/chart presentation only. No layout, data, geometry or event changes. */
.kp-system :is(.kfs-card,.kfs-municipal-main>article,.kfs-farm-dashboard-map,.kfs-farm-dashboard-charts>div,.kfs-dorm-map-card,.kfs-dorm-chart-card,.kfs-dorm-country-card){
 border-color:#d4e0eb!important;
 box-shadow:0 2px 5px #173b5e05,0 9px 24px #173b5e06!important;
 background-color:#fff;
}
.kp-system :is(.kfs-card-title,.kfs-municipal-main h2,.kfs-farm-dashboard-charts h2,.kfs-dorm-chart-card h2,.kfs-dorm-map-card h2,.kfs-dorm-country-card h2){
 color:#153c62;letter-spacing:-.025em;font-weight:800;
}

/* GIS surface: unchanged administrative boundaries and count thresholds. */
.kp-system [data-kf-map]{
 background-color:#f3f7fa;
 background-image:radial-gradient(ellipse at 65% 32%,#fff 0%,#ffffff00 65%),linear-gradient(#b5c8da20 1px,transparent 1px),linear-gradient(90deg,#b5c8da20 1px,transparent 1px),linear-gradient(#b5c8da12 1px,transparent 1px),linear-gradient(90deg,#b5c8da12 1px,transparent 1px);
 background-size:auto,96px 96px,96px 96px,24px 24px,24px 24px;
 border-color:#d0dce8;border-radius:10px;
 box-shadow:inset 0 1px 8px #163b5b04;
}
.kp-system [data-kf-map-g] path[data-region]{
 vector-effect:non-scaling-stroke;stroke-linejoin:round;
 transition:filter .18s ease,stroke .18s ease;
}
.kp-system [data-kf-map-g] a path{filter:drop-shadow(0 1px 1px #123d631a)}
.kp-system [data-kf-map-g] a:hover path{filter:brightness(1.06) drop-shadow(0 2px 2px #123d6340);stroke:#16466b}
.kp-system [data-kf-map-g] a:focus-visible path{stroke:#123b5d;stroke-width:2.5;filter:brightness(1.06)}
.kp-system [data-kf-map] [data-kf-locked]{fill:#e0e7ed;stroke:#f9fbfd}
.kp-system [data-kf-map] text[data-region-label]{font-size:18px!important;font-variant-numeric:tabular-nums;font-weight:750!important;paint-order:stroke;stroke-linejoin:round;letter-spacing:-.025em}
.kp-system [data-kf-map] text[data-region-label] tspan{font-size:13px!important}
.kp-system [data-kf-map] g[data-region-label]>text{font-size:18px!important;font-weight:750!important;letter-spacing:-.025em}
.kp-system [data-kf-map] g[data-region-label]>text[y="24"]{font-size:14px!important}
.kp-system [data-kf-map] :is(text[data-region-label],g[data-region-label]):is([data-region-label="서울특별시"],[data-region-label="인천광역시"],[data-region-label="경기도"],[data-region-label="세종특별자치시"],[data-region-label="대전광역시"]),
.kp-system [data-kf-map] g[data-region-label]:is([data-region-label="서울특별시"],[data-region-label="인천광역시"],[data-region-label="경기도"],[data-region-label="세종특별자치시"],[data-region-label="대전광역시"])>text{font-size:13px!important}
.kp-system [data-kf-map] text[data-region-label]:is([data-region-label="서울특별시"],[data-region-label="인천광역시"],[data-region-label="경기도"],[data-region-label="세종특별자치시"],[data-region-label="대전광역시"]) tspan{font-size:11px!important}
.kp-system .kfs-municipal-map text[data-region-label]{font-size:17px!important}
.kp-system .kfs-municipal-map text[data-region-label] tspan{font-size:13px!important;font-weight:700!important}
.kp-system [data-kf-map] :is([data-kf-map-search],input[type=search]){
 color:#234866;border-color:#c7d7e6;background:#fffffff5;box-shadow:0 2px 6px #183b6108;
}
.kp-system [data-kf-map] :is([data-kf-map-search],input[type=search]):focus{
 outline:2px solid #2071bb38;outline-offset:2px;border-color:#3c80b5;
}
.kp-system [data-kf-map] :is([data-kf-zoom-in],[data-kf-zoom-out],[data-kf-map-reset]){
 background:#fff;color:#234c72;border-color:#cbdbe9;box-shadow:0 2px 6px #123b5d0d;
}
.kp-system [data-kf-map-tip]{
 background:#133650!important;color:#fff!important;border:1px solid #38617e;
 box-shadow:0 6px 18px #123b5d26!important;font-variant-numeric:tabular-nums;
}
.kp-system .kfs-municipal-scope__own{background:#eaf3fb;border-color:#b7d0e6;color:#18578d}

/* Bars retain the exact widths/heights and the existing semantic colors. */
.kp-system :is(.kfs-municipal-status__meter,.kfs-rbar-track,.kfs-statlist__track,.kfs-ops-legend__track,.kfs-ops-hbar__track){
 background:#eaf0f5;box-shadow:inset 0 1px 2px #20425f09;border-radius:4px;
}
.kp-system :is(.kfs-municipal-status__meter i,.kfs-statlist__fill,.kfs-ops-legend__track>i,.kfs-ops-hbar__track>i,.kf-bar){
 background-image:linear-gradient(90deg,#ffffff24,#ffffff00);border-radius:4px;
}
.kp-system .kfs-rbar-fill{background-color:#2475b9;background-image:linear-gradient(90deg,#143f69,#3289c7)}
.kp-system .kfs-vchart{background-image:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#dbe5ed 25%);border-bottom-color:#b9cbda}
.kp-system .kf-vbar{background-image:linear-gradient(0deg,#194a78,#3789c8)!important;box-shadow:inset 1px 0 #ffffff18,inset -1px 0 #0b3d6418;border-radius:4px 4px 0 0}
.kp-system .kfs-municipal-status li>span:last-child{font-size:21px;font-weight:750;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#173c60}
.kp-system .kfs-municipal-status li>span:last-child small{letter-spacing:0;font-weight:600;color:#657b8e}
.kp-system .kfs-municipal-status__label>strong{font-weight:750;color:#294963}

/* SVG chart scales, paths, arc lengths and category/legend colors stay intact. */
.kp-system :is(.kfs-ops-columns,.kfs-dorm-chart-card) svg line{stroke:#dce5ed;stroke-dasharray:3 4}
.kp-system :is(.kfs-ops-columns,.kfs-dorm-chart-card) svg text{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.kp-system :is(.kfs-ops-columns,.kfs-dorm-chart-card) svg text[fill="#8ea0bf"]{fill:#647c91}
.kp-system .kfs-ops-columns .kfs-ops-tick{fill:#627b90;font-weight:600}
.kp-system .kfs-ops-columns .kfs-ops-colval{fill:#1b4567;font-weight:750}
.kp-system .kfs-dorm-chart-svg text{font-size:11.5px}
.kp-system .kfs-dorm-chart-svg text[font-weight]{fill:#264c6b;font-weight:750}
.kp-system .kfs-dorm-month-card polyline{stroke:#2475b9;stroke-width:2.5;filter:drop-shadow(0 2px 2px #2678b521)}
.kp-system .kfs-dorm-month-card circle{fill:#fff;stroke:#2475b9;stroke-width:2}
.kp-system :is(.kfs-ops-columns,.kfs-dorm-region-chart-card) rect[fill="#1a6ef2"]{fill:#287cba}
.kp-system .kfs-farm-dashboard-charts>div:has(.kfs-ops-columns) [class~="bg-[#1a6ef2]"]{background-color:#287cba}
.kp-system :is(.kfs-ops-donut__ring,.kfs-dorm-donut) svg{filter:drop-shadow(0 3px 3px #1a405b0c)}
.kp-system .kfs-ops-donut__center strong{color:#173c60;font-weight:750;letter-spacing:-.04em}
.kp-system :is(.kfs-ops-legend__val,.kfs-ops-legend__pct,.kfs-rbar-count,.kfs-vchart-axis){font-variant-numeric:tabular-nums}
.kp-system .kfs-ops-legend__label{color:#35516a}
.kp-system .kfs-ops-legend__pct{color:#657e92}
.kp-system .kfs-ops-legend__swatch{box-shadow:inset 0 0 0 1px #123b5d0b}
@media(prefers-reduced-motion:reduce){.kp-system [data-kf-map-g] path[data-region]{transition:none}}
@media(forced-colors:active){.kp-system [data-kf-map] path{forced-color-adjust:none}.kp-system [data-kf-map] text{forced-color-adjust:none}}
