/* DSR Data Hub V1.0 - green palette (loaded after v85.css) + Work Hub style Master Data page */
:root,html:not([data-theme="dark"]){
 --u-bg:#f2f6f4;--u-surface:#ffffff;--u-surface2:#f4f8f6;--u-line:#dfe8e3;--u-text:#0d1f17;--u-muted:#5b6f66;
 --u-primary:#0b7a4b;--u-primary-d:#08603b;--u-soft:#e4f3ea;--u-ok:#12905c;--u-warn:#b36b00;--u-danger:#c2382b}
html[data-theme="dark"]{
 --u-bg:#09120e;--u-surface:#101c17;--u-surface2:#0c1712;--u-line:#1e3229;--u-text:#e6f1ec;--u-muted:#93a99f;
 --u-primary:#3ccf8b;--u-primary-d:#6fe0ab;--u-soft:#12301f;--u-ok:#43d19b;--u-warn:#f2b54a;--u-danger:#ff8a7e}
@media(prefers-color-scheme:dark){html:not([data-theme]){
 --u-bg:#09120e;--u-surface:#101c17;--u-surface2:#0c1712;--u-line:#1e3229;--u-text:#e6f1ec;--u-muted:#93a99f;
 --u-primary:#3ccf8b;--u-primary-d:#6fe0ab;--u-soft:#12301f}}
body>header{background:#0b3a26!important}
html[data-theme="dark"] body>header{background:#08231a!important}
body>header .brand-logo{background:linear-gradient(135deg,#19a463,#0b7a4b)!important;color:#fff!important}
html[data-theme="dark"] .hx-primary,html[data-theme="dark"] .v8-primary,html[data-theme="dark"] #app .hx-primary{color:#05140d!important}
button:not(.secondary):not(.theme-toggle):not(.header-lock):not([class*="hx-"]):not([class*="v8-"]):not(.menu-row):not(.dm-outline):not(.dm-link):not(.mb-x):not(.ic-tab):not(.ic-tf){accent-color:var(--u-primary)}
input[type=checkbox],input[type=radio]{accent-color:var(--u-primary)}

/* ---------- Master Data page (Work Hub layout) ---------- */
#transfer.dm-on>:not(#dmRoot){display:none!important}
.dm-root{display:flex;flex-direction:column;gap:14px;padding-bottom:12px}
.dm-card{background:var(--u-surface);border:1px solid var(--u-line);border-radius:18px;padding:18px;box-shadow:var(--u-shadow)}
.dm-title{font-size:1.55rem!important;font-weight:800!important;letter-spacing:-.025em;margin:0 0 6px!important;color:var(--u-text)!important}
.dm-card h3{margin:0 0 10px;font-size:1.08rem;font-weight:780;color:var(--u-text)}
.dm-sub,.dm-muted{color:var(--u-muted);margin:0 0 12px;font-size:.9rem;line-height:1.45}
.dm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 14px}
.dm-stats>div{background:var(--u-surface2);border:1px solid var(--u-line);border-radius:14px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.dm-stats b{font-size:1.45rem;font-weight:800;color:var(--u-text);font-variant-numeric:tabular-nums;line-height:1.1}
.dm-stats b.warn{color:var(--u-warn)}.dm-stats b.ok{color:var(--u-ok)}
.dm-stats small{color:var(--u-muted);font-size:.78rem;line-height:1.25}
.dm-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dm-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:52px;font-weight:700;font-size:.95rem;border-radius:var(--r-ctl,12px)!important;margin:0!important}
.dm-btn .ico,.dm-btn svg{width:20px;height:20px}
.dm-outline{background:var(--u-surface)!important;color:var(--u-primary)!important;border:1px solid var(--u-line)!important;box-shadow:none!important}
.dm-outline:hover{border-color:var(--u-primary)!important}
#dmPick{color:#fff}
html[data-theme="dark"] #dmPick{color:#05140d}
.dm-dl{margin:0;display:flex;flex-direction:column}
.dm-dl>div{display:grid;grid-template-columns:42% 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--u-line);font-size:.88rem}
.dm-dl>div:first-child{border-top:0;padding-top:0}
.dm-dl dt{color:var(--u-muted)}
.dm-dl dd{margin:0;font-weight:650;color:var(--u-text);overflow-wrap:anywhere}
.dm-dl dd small{display:block;font-weight:500;color:var(--u-muted);font-size:.76rem;margin-top:2px}
.dm-dl dd.warn{color:var(--u-warn)}
.dm-link{background:none!important;border:0!important;color:var(--u-primary)!important;font-weight:700;padding:0 0 0 6px!important;margin:0!important;min-height:0!important;cursor:pointer;text-decoration:underline}
.dm-his{padding:0}
.dm-his details>summary{padding:18px;cursor:pointer;font-weight:650;color:var(--u-text);list-style:none;display:flex;align-items:center;gap:10px}
.dm-his details>summary::-webkit-details-marker{display:none}
.dm-his details>summary::before{content:'';width:0;height:0;border-left:7px solid var(--u-muted);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s}
.dm-his details[open]>summary::before{transform:rotate(90deg)}
#dmHisBody{padding:0 14px 14px}
.dm-lab{font-weight:700;font-size:.88rem;margin:6px 0 8px;color:var(--u-text)}
.dm-hint{font-size:.8rem;color:var(--u-muted);margin:8px 0 0;line-height:1.45}
#dmDrop .px-drop{margin:0}
#dmDrop .px-drop:not(.has){border-color:color-mix(in srgb,var(--u-primary) 45%,var(--u-line))!important;background:color-mix(in srgb,var(--u-primary) 5%,var(--u-surface))!important}
.dm-run{display:flex;gap:10px;margin-top:12px}
.dm-run>button{flex:1;min-height:48px;margin:0!important;font-weight:700}
.dm-run>button[hidden]{display:none!important}
#importBtn.dm-import{color:#fff;border:0}
#importBtn.dm-import:disabled{opacity:.5}
html[data-theme="dark"] #importBtn.dm-import{color:#05140d}
#dmProg .import-dashboard{margin-top:12px}

/* per-file list (Work Hub "mb" panel) */
#importReview{margin-top:12px}
.mb-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.mb-head strong{font-size:.95rem}
.mb-head small{color:var(--u-muted);font-size:.78rem}
.mb-group{border:1px solid var(--u-line);border-radius:14px;padding:10px;background:color-mix(in srgb,var(--u-primary) 4%,var(--u-surface))}
.mb-gh{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--u-muted);flex-wrap:wrap}
.mb-gh b{color:var(--u-text)}
.mb-ds{font-weight:800;font-size:.74rem;padding:3px 10px;border-radius:99px;color:#fff;background:var(--u-primary);letter-spacing:.04em}
html[data-theme="dark"] .mb-ds{color:#05140d}
.mb-file{border:1px solid var(--u-line);border-radius:12px;padding:10px;background:var(--u-surface);margin-top:8px}
.mb-file.off{opacity:.75}
.mb-file.bad{border-color:color-mix(in srgb,var(--u-danger) 40%,var(--u-line))}
.mb-row1{display:flex;align-items:flex-start;gap:8px}
.mb-step{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--u-primary) 14%,transparent);color:var(--u-primary);font-size:.74rem;font-weight:800}
.mb-name{display:flex;flex-direction:column;min-width:0;flex:1}
.mb-name b{font-size:.88rem;overflow-wrap:anywhere}
.mb-name small{color:var(--u-muted);font-size:.72rem;line-height:1.35}
.mb-x{flex:none;width:30px;height:30px;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;background:var(--u-surface2)!important;color:var(--u-muted)!important;border:1px solid var(--u-line)!important;font-size:1.1rem;line-height:1}
.mb-row2{display:grid;grid-template-columns:1fr 110px;gap:8px;margin-top:8px}
.mb-row2 label{font-size:.76rem;color:var(--u-muted);display:flex;flex-direction:column;gap:4px;margin:0}
.mb-row2 input,.mb-row2 select{margin:0!important;min-height:40px}
.mb-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mb-counts span{display:inline-flex;align-items:baseline;gap:4px;font-size:.72rem;color:var(--u-muted);padding:3px 8px;border-radius:99px;background:color-mix(in srgb,var(--u-muted) 10%,transparent)}
.mb-counts b{font-size:.82rem;color:var(--u-text);font-variant-numeric:tabular-nums}
.mb-counts .add b{color:var(--u-ok)}.mb-counts .upd b{color:var(--u-primary)}.mb-counts .bad b{color:var(--u-danger)}
.mb-note{margin:6px 0 0;font-size:.76rem;padding:6px 9px;border-radius:9px;line-height:1.4}
.mb-note.warn{background:color-mix(in srgb,var(--u-warn) 12%,transparent);color:var(--u-warn)}
.mb-note.bad{background:color-mix(in srgb,var(--u-danger) 10%,transparent);color:var(--u-danger)}
.mb-map{margin-top:8px}
.mb-map>summary{font-size:.78rem;font-weight:650;color:var(--u-primary);cursor:pointer}
.mb-sum{font-weight:650;font-size:.86rem;margin-top:10px}
#importReview .ic-changes{margin-top:12px}
#importReview .ic-changes h3{font-size:1rem;margin:0 0 4px}

/* misc DSR wording helpers */
.dsr-badge{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:99px;background:var(--u-soft);color:var(--u-primary)}
#dmDrop,#dmDrop .px-drop{min-width:0;max-width:100%;box-sizing:border-box}
#dmDrop .px-drop-t,#dmDrop .px-drop-f{min-width:0;max-width:100%}
#dmDrop .px-drop-f{display:flex;flex-wrap:wrap;gap:6px}
#dmDrop .px-drop-f>span{min-width:0;max-width:100%;overflow:hidden}
#dmDrop .px-drop-f b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dm-run>button{width:auto!important;min-width:0!important;box-sizing:border-box}
.dm-root,.dm-card{min-width:0;max-width:100%;box-sizing:border-box}

/* ---------- Project site list (assign date / day / PIC) ---------- */
.pl-box{margin:16px 0 10px}
.pl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pl-head h3{margin:0;font-size:1.08rem;font-weight:780}
.pl-mode{background:var(--u-surface)!important;color:var(--u-primary)!important;border:1px solid var(--u-line)!important;border-radius:99px!important;padding:7px 14px!important;font-size:.8rem;font-weight:700;margin:0!important;min-height:0!important}
.pl-mode.on{background:var(--u-primary)!important;color:#fff!important;border-color:var(--u-primary)!important}
html[data-theme="dark"] .pl-mode.on{color:#05140d!important}
.pl-seg{display:grid!important;grid-template-columns:repeat(3,1fr);margin-bottom:10px}
.pl-seg button{font-weight:700;font-size:.84rem;padding:9px 4px!important;margin:0!important;min-height:0!important;background:transparent;border:0;color:var(--u-muted)}
.pl-seg button small{font-weight:800;opacity:.75;margin-left:2px}
.pl-tools{display:flex;gap:8px}
.pl-tools input{flex:1;min-width:0;margin:0!important}
.pl-tools select{width:42%;margin:0!important}
.pl-count{font-size:.78rem;color:var(--u-muted);margin:8px 2px}
.pl-list{display:flex;flex-direction:column;gap:10px}
.pl-card{background:var(--u-surface);border:1px solid var(--u-line);border-radius:18px;padding:14px 14px 12px;box-shadow:var(--u-shadow)}
.pl-card.done{border-color:color-mix(in srgb,var(--u-ok) 35%,var(--u-line))}
.pl-card.sel{border-color:var(--u-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--u-primary) 30%,transparent)}
.pl-h{display:flex;align-items:flex-start;gap:10px}
.pl-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;background:none!important;border:0!important;padding:0!important;margin:0!important;color:var(--u-text)!important;min-height:0!important;box-shadow:none!important}
.pl-t b{font-size:.98rem;font-weight:780;line-height:1.3;text-transform:uppercase;overflow-wrap:anywhere}
.pl-t small{font-size:.8rem;color:var(--u-muted);font-weight:500}
.pl-b{display:flex;align-items:center;gap:8px;flex:none}
.pl-gps{font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:5px 10px;border-radius:99px;background:color-mix(in srgb,var(--u-ok) 15%,transparent);color:var(--u-ok)}
.pl-gps.no{background:color-mix(in srgb,var(--u-warn) 14%,transparent);color:var(--u-warn)}
.pl-sel{width:36px;height:36px;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;border:2px solid color-mix(in srgb,var(--u-primary) 55%,var(--u-line))!important;background:var(--u-surface)!important;color:#fff!important;display:grid;place-items:center;box-shadow:none!important;cursor:pointer}
.pl-sel svg{width:20px;height:20px}
.pl-sel.on,.pl-sel.pick{background:var(--u-primary)!important;border-color:var(--u-primary)!important}
.pl-sel.on{background:var(--u-ok)!important;border-color:var(--u-ok)!important}
html[data-theme="dark"] .pl-sel.on,html[data-theme="dark"] .pl-sel.pick{color:#05140d!important}
.pl-area{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:var(--u-primary);font-size:.84rem;font-weight:600}
.pl-area .ico,.pl-area svg{width:16px;height:16px;flex:none}
.pl-id{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin:10px 0 0;padding-top:9px;border-top:1px dashed var(--u-line);font-size:.8rem}
.pl-id:empty{display:none}
.pl-id span{color:var(--u-muted);font-size:.72rem;letter-spacing:.03em}
.pl-id b{font-weight:650;margin-right:8px}
.pl-done{display:flex;align-items:flex-start;gap:7px;margin:9px 0 0;padding:8px 10px;border-radius:11px;background:color-mix(in srgb,var(--u-ok) 10%,transparent);color:var(--u-ok);font-size:.8rem;line-height:1.4}
.pl-done svg{width:15px;height:15px;flex:none;margin-top:2px}
.pl-done span{color:var(--u-text)}.pl-done b{color:var(--u-ok)}
.pl-empty{text-align:center;color:var(--u-muted);padding:18px 0}
.pl-more{width:100%;margin-top:10px!important}
.pl-selbar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px;border-radius:16px;background:var(--u-surface);border:1px solid var(--u-line);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.pl-selbar span{flex:1;font-size:.84rem}
.pl-selbar button{margin:0!important;min-height:40px;padding:8px 12px!important;font-size:.8rem;font-weight:700}
.pl-selbar .hx-primary{color:#fff}
.pl-selbar button:disabled{opacity:.5}
.pl-form .pl-who{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.pl-who span{display:flex;flex-direction:column;padding:8px 11px;border-radius:12px;background:var(--u-soft)}
.pl-who b{font-size:.88rem}.pl-who small{font-size:.74rem;color:var(--u-muted)}
.pl-who .more{font-size:.8rem;color:var(--u-primary);font-weight:700;background:none;padding:2px 4px}
.pl-day{display:flex;align-items:center;min-height:46px;padding:0 12px;border-radius:var(--r-ctl,12px);background:var(--u-surface2);border:1px solid var(--u-line);font-weight:700;color:var(--u-primary)}
.pl-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.pl-chip{display:inline-flex;align-items:center;gap:5px;min-height:0!important;margin:0!important;padding:8px 13px!important;border-radius:99px!important;border:1px solid var(--u-line)!important;background:var(--u-surface)!important;color:var(--u-text)!important;font-size:.84rem;font-weight:650;box-shadow:none!important}
.pl-chip svg{width:14px;height:14px}
.pl-chip.on{background:var(--u-primary)!important;border-color:var(--u-primary)!important;color:#fff!important}
html[data-theme="dark"] .pl-chip.on{color:#05140d!important}
.pl-chip.rm{border-color:color-mix(in srgb,var(--u-danger) 45%,var(--u-line))!important;color:var(--u-danger)!important;background:var(--u-surface)!important}
.pl-pich{display:flex!important;align-items:center;justify-content:space-between}
.pl-man{background:none!important;border:0!important;color:var(--u-primary)!important;font-size:.78rem;font-weight:700;padding:0!important;margin:0!important;min-height:0!important;text-decoration:underline}
.pl-add{display:flex;gap:8px;margin-top:9px}
.pl-add input{flex:1;min-width:0;margin:0!important}
.pl-add button{margin:0!important;flex:none}
.pl-dl{margin:0 0 12px}
.pl-dl>div{display:grid;grid-template-columns:36% 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--u-line);font-size:.88rem}
.pl-dl>div:first-child{border-top:0}
.pl-dl dt{color:var(--u-muted)}.pl-dl dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.pl-dl dd.ok{color:var(--u-ok);display:flex;align-items:center;gap:6px}.pl-dl dd.ok svg{width:16px;height:16px}

/* ---------- Site location from screenshots (V1.2) ---------- */
.dm-wide{grid-column:1/-1;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;margin:10px 0 0!important;min-height:46px;background:var(--u-surface2)!important;color:var(--u-text)!important;border:1px solid var(--u-line)!important;border-radius:var(--r-ctl,12px)!important;font-weight:700;font-size:.9rem;box-shadow:none!important}
.dm-wide svg{width:18px;height:18px;color:var(--u-primary)}
.ol-pick{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px dashed color-mix(in srgb,var(--u-primary) 45%,var(--u-line));border-radius:14px;background:color-mix(in srgb,var(--u-primary) 5%,var(--u-surface));cursor:pointer;margin:0}
.ol-pi{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--u-surface);border:1px solid var(--u-line);color:var(--u-primary);flex:none}
.ol-pi svg{width:22px;height:22px}
.ol-pick strong{display:block;font-size:.92rem}.ol-pick small{color:var(--u-muted);font-size:.76rem}
.ol-busy{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--u-primary);font-weight:650;margin:12px 0 0}
.ol-busy i{width:16px;height:16px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--u-primary) 25%,transparent);border-top-color:var(--u-primary);animation:olspin .8s linear infinite;flex:none}
@keyframes olspin{to{transform:rotate(360deg)}}
.ol-sum{margin-top:12px}.ol-sum .warn b{color:var(--u-warn)}
.ol-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ol-item{position:relative;border:1px solid var(--u-line);border-radius:14px;padding:10px;background:var(--u-surface)}
.ol-item.off{opacity:.72}
.ol-top{display:flex;gap:10px;padding-right:26px}
.ol-top img{width:54px;height:96px;object-fit:cover;object-position:center 62%;border-radius:8px;border:1px solid var(--u-line);flex:none;background:var(--u-surface2)}
.ol-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.ol-main b{font-size:.9rem;overflow-wrap:anywhere}
.ol-main small{font-size:.74rem;color:var(--u-muted);overflow-wrap:anywhere}
.ol-main small.ol-m b{font-size:.74rem;color:var(--u-text)}
.ol-st{align-self:flex-start;font-size:.66rem;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:99px;background:color-mix(in srgb,var(--u-muted) 14%,transparent);color:var(--u-muted)}
.ol-st.upd{background:color-mix(in srgb,var(--u-primary) 14%,transparent);color:var(--u-primary)}
.ol-st.add{background:color-mix(in srgb,var(--u-ok) 15%,transparent);color:var(--u-ok)}
.ol-st.warn{background:color-mix(in srgb,var(--u-warn) 15%,transparent);color:var(--u-warn)}
.ol-st.bad{background:color-mix(in srgb,var(--u-danger) 12%,transparent);color:var(--u-danger)}
.ol-ed{margin-top:8px}.ol-ed>summary{font-size:.76rem;font-weight:650;color:var(--u-primary);cursor:pointer}
.ol-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ol-grid label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;color:var(--u-muted);margin:0}
.ol-grid label.w{grid-column:1/-1}
.ol-grid input{margin:0!important;min-height:38px;font-size:.86rem}
.ol-raw{white-space:pre-wrap;font-size:.68rem;color:var(--u-muted);background:var(--u-surface2);border-radius:8px;padding:8px;margin:8px 0 0;max-height:140px;overflow:auto}
.ol-use{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:650;margin:8px 0 0}
.ol-x{position:absolute;top:8px;right:8px;width:26px;height:26px;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;background:var(--u-surface2)!important;color:var(--u-muted)!important;border:1px solid var(--u-line)!important;line-height:1;box-shadow:none!important}
#olSave{color:#fff}html[data-theme="dark"] #olSave{color:#05140d}#olSave:disabled{opacity:.5}
.ol-use{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center;gap:10px;width:auto!important}
.ol-use input{width:20px!important;height:20px!important;min-height:0!important;margin:0!important;flex:none;padding:0!important}
.ol-top img{object-position:center 66%}
.ol-type{margin-top:10px}
.ol-type>summary{font-size:.84rem;font-weight:700;color:var(--u-primary);cursor:pointer;padding:4px 0}
.ol-type textarea{width:100%;box-sizing:border-box;margin:8px 0!important;font-size:.86rem;min-height:110px}
.ol-type button{width:100%;margin:0!important}
.ol-tx{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;background:var(--u-soft);color:var(--u-primary);font-weight:800;flex:none}
.ol-main small.ol-w{color:var(--u-warn);font-weight:650}
.ol-dl{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.ol-dlb{display:flex!important;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0!important;padding:13px 14px!important;min-height:50px;border-radius:12px!important;background:var(--u-surface)!important;border:1px solid var(--u-line)!important;color:var(--u-text)!important;font-weight:650;text-align:left;box-shadow:none!important}
.ol-dlb b{color:var(--u-primary);font-variant-numeric:tabular-nums}
.ol-dlb:first-child{border-color:color-mix(in srgb,var(--u-primary) 45%,var(--u-line))!important}

/* V1.4 ID chips: value vs missing are clearly different */
.rp-ids{display:flex!important;flex-wrap:wrap;gap:6px;font-family:inherit!important;margin:3px 0 2px}
.idc{display:inline-flex;align-items:baseline;gap:5px;font-size:.78rem;font-weight:700;color:var(--u-text);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.idc i{font-style:normal;font-weight:600;font-size:.68rem;color:var(--u-muted);letter-spacing:.03em}
.idc.miss{font-weight:500;font-style:italic;color:var(--u-muted);opacity:.8}
.idc.miss i{font-style:normal}
.idc+.idc::before{content:'·';color:var(--u-muted);margin-right:6px;font-style:normal}
.hx-cb-edit{color:var(--u-primary)!important}

/* ---------- V1.4 Analysis (Laporan → Analisis) ---------- */
#analysis .v8-body{display:flex;flex-direction:column;gap:12px}
.an-card{background:var(--u-surface);border:1px solid var(--u-line);border-radius:18px;padding:14px;box-shadow:var(--u-shadow)}
.an-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.an-row label,.an-one{display:flex;flex-direction:column;gap:4px;font-size:.76rem;color:var(--u-muted);font-weight:600;margin:0}
.an-row select,.an-row input,.an-one select{margin:0!important;min-height:42px;font-size:.88rem}
.an-one{margin-top:10px}
.an-lab{font-size:.76rem;color:var(--u-muted);font-weight:600;margin:12px 0 6px}
.an-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.an-chips::-webkit-scrollbar{display:none}
.an-chip{flex:none;min-height:0!important;margin:0!important;padding:7px 12px!important;border-radius:99px!important;border:1px solid var(--u-line)!important;background:var(--u-surface)!important;color:var(--u-text)!important;font-size:.8rem;font-weight:650;box-shadow:none!important;white-space:nowrap}
.an-chip b{font-weight:800;margin-left:3px;opacity:.8}
.an-chip.on{background:var(--u-primary)!important;border-color:var(--u-primary)!important;color:#fff!important}
html[data-theme="dark"] .an-chip.on{color:#05140d!important}
.an-sub{margin:2px 0 10px}
.an-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.an-kpis>div{background:var(--u-surface);border:1px solid var(--u-line);border-radius:14px;padding:10px 8px;display:flex;flex-direction:column;gap:2px;min-width:0}
.an-kpis b{font-size:1.2rem;font-weight:800;font-variant-numeric:tabular-nums}.an-kpis b.ok{color:var(--u-ok)}.an-kpis b.warn{color:var(--u-warn)}
.an-kpis small{font-size:.68rem;color:var(--u-muted);line-height:1.25}
.an-seg{display:grid!important;grid-template-columns:repeat(5,1fr)}
.an-seg button{font-size:.78rem!important;padding:9px 2px!important;margin:0!important;min-height:0!important}
.an-list{display:flex;flex-direction:column;gap:8px}
.an-item{background:var(--u-surface);border:1px solid var(--u-line);border-radius:14px;overflow:hidden}
.an-item.open{border-color:color-mix(in srgb,var(--u-primary) 40%,var(--u-line))}
.an-h{display:flex!important;align-items:center;gap:10px;width:100%;margin:0!important;padding:12px!important;min-height:0!important;background:none!important;border:0!important;color:var(--u-text)!important;text-align:left;box-shadow:none!important;border-radius:0!important}
.an-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.an-t b{font-size:.9rem;font-weight:750;overflow-wrap:anywhere}
.an-t small{font-size:.72rem;color:var(--u-muted);line-height:1.4}
.an-t .warn,.an-site small.warn{color:var(--u-warn);font-weight:650}
.an-p{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:84px}
.an-p em{font-style:normal;font-weight:800;font-size:.84rem;color:var(--u-primary)}
.an-p small{font-size:.68rem;color:var(--u-muted)}
.an-big{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums}
.an-bar{display:block;width:84px;height:6px;border-radius:99px;background:color-mix(in srgb,var(--u-muted) 18%,transparent);overflow:hidden}
.an-bar i{display:block;height:100%;background:var(--u-ok);border-radius:99px}
.an-sites{display:flex;flex-direction:column;border-top:1px solid var(--u-line)}
.an-site{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 0;border-bottom:1px solid var(--u-line)}
.an-site:last-child{border-bottom:0}
.an-sn{flex:1;min-width:0;display:flex!important;flex-direction:column;gap:2px;margin:0!important;padding:8px 12px!important;min-height:0!important;background:none!important;border:0!important;color:var(--u-text)!important;text-align:left;box-shadow:none!important}
.an-sn b{font-size:.84rem;font-weight:700}.an-sn small{font-size:.72rem;color:var(--u-muted)}.an-sn small.ok{color:var(--u-ok);font-weight:650}
.an-ed{flex:none;width:36px;height:36px;min-height:0!important;padding:0!important;margin:0!important;border-radius:10px!important;background:var(--u-surface2)!important;border:1px solid var(--u-line)!important;color:var(--u-primary)!important;display:grid;place-items:center;box-shadow:none!important}
.an-ed .ico{width:18px;height:18px}
.an-more{width:100%;margin:8px 0 0!important}
.an-empty{text-align:center;color:var(--u-muted);padding:18px 6px;font-size:.88rem;line-height:1.5}
.an-chart{display:flex;align-items:flex-end;gap:6px;height:190px;overflow-x:auto;padding:6px 2px 0;background:var(--u-surface);border:1px solid var(--u-line);border-radius:14px}
.an-col{flex:none;width:44px;height:100%;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;margin:0!important;padding:0 0 6px!important;min-height:0!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--u-text)!important}
.an-col span{width:26px;border-radius:7px 7px 3px 3px;background:color-mix(in srgb,var(--u-primary) 70%,transparent)}
.an-col.on span{background:var(--u-ok)}
.an-col em{font-style:normal;font-size:.7rem;font-weight:800}
.an-col small{font-size:.6rem;color:var(--u-muted);text-align:center;line-height:1.15;max-width:44px}
.an-loc p{margin:0 0 10px;font-size:.82rem;color:var(--u-muted);line-height:1.45}
.an-loc button{width:100%;margin:0!important}
.an-exp button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;margin:0!important;color:#fff}
html[data-theme="dark"] .an-exp button{color:#05140d}
.an-exp .ico{width:18px;height:18px}

/* map legend */
.dsr-legend{background:var(--u-surface);color:var(--u-text);border:1px solid var(--u-line);border-radius:12px;padding:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);max-width:210px;font-size:.74rem}
.dsr-legend .lg-top{display:flex;gap:6px;align-items:center}
.dsr-legend select{flex:1;min-width:0;margin:0!important;min-height:30px!important;padding:2px 6px!important;font-size:.74rem!important}
.dsr-legend #lgMin{width:28px;height:28px;min-height:0!important;padding:0!important;margin:0!important;border-radius:8px!important;background:var(--u-surface2)!important;color:var(--u-text)!important;border:1px solid var(--u-line)!important;box-shadow:none!important}
.dsr-legend .lg-items{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-height:170px;overflow:auto}
.dsr-legend.min .lg-items,.dsr-legend.min .lg-b,.dsr-legend.min .lg-all{display:none}
.lg-i{display:flex!important;align-items:center;gap:7px;width:100%;margin:0!important;padding:4px 4px!important;min-height:0!important;background:none!important;border:0!important;color:var(--u-text)!important;text-align:left;box-shadow:none!important;border-radius:6px!important;font-size:.74rem}
.lg-i i{width:11px;height:11px;border-radius:50%;flex:none;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.lg-i span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-i b{font-variant-numeric:tabular-nums;color:var(--u-muted)}
.lg-i.off{opacity:.38}.lg-i.off span{text-decoration:line-through}
.lg-b{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;margin:6px 0 0!important;font-size:.72rem;color:var(--u-muted)}
.lg-b input{width:16px!important;height:16px!important;margin:0!important;min-height:0!important}
.lg-all{width:100%;margin:6px 0 0!important;min-height:0!important;padding:5px!important;font-size:.72rem;background:var(--u-soft)!important;color:var(--u-primary)!important;border:0!important;border-radius:8px!important;box-shadow:none!important}
.pl-hb{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pl-dr{margin:8px 0 0}
.iw-list{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:10px;border-radius:12px;background:var(--u-surface2);border:1px solid var(--u-line)}
.iw-list div{display:flex;flex-direction:column}.iw-list b{font-size:.84rem}.iw-list small{font-size:.74rem;color:var(--u-muted)}
.pl-head{flex-wrap:wrap}
.pl-head h3{flex:1 1 100%}
.pl-hb{flex:1 1 100%;justify-content:flex-start}
html[data-theme="dark"] .site-status{background:rgba(255,255,255,.08)!important;color:#d7e6df!important}
html[data-theme="dark"] .site-status.st-commissioned,html[data-theme="dark"] .site-status.st-active{background:rgba(60,207,139,.16)!important;color:#7ff0c6!important}
.dsr-legend.min .lg-b,.dsr-legend.min .lg-all{display:none!important}
