/* M1 13 Okt: UAT Abdi — kotak × kecil, hover tab tanpa blok gelap. */
.ui-shell .ui-workspace-select,.ui-shell .ui-workspace-select:hover:not(:disabled){background:transparent;color:inherit}
.ui-workspace-tab:hover{color:var(--ui-text)}
.ui-workspace-tab.active:hover{background:var(--ui-panel)}
.ui-shell .ui-workspace-close{display:grid;place-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;margin:0 5px 0 0;border-radius:6px;line-height:1;background:transparent}
.ui-workspace-close .portal-icon{display:block;width:12px;height:12px;stroke-width:1.7}
.ui-shell .ui-workspace-close:hover:not(:disabled),.ui-shell .ui-workspace-close:focus-visible{background:var(--ui-line)}
.ui-shell .ui-workspace-select:focus-visible,.ui-shell .ui-workspace-close:focus-visible{outline:1px solid var(--ui-muted);outline-offset:-1px}
.ui-shell .ui-logout{display:grid;place-items:center;width:40px;min-width:40px;height:40px;padding:0;border:0;background:transparent;color:var(--ui-muted-text)}
.ui-shell .ui-logout:hover:not(:disabled){background:var(--ui-hover);color:var(--ui-text)}
.ui-logout .portal-icon{width:18px;height:18px}
.ui-menu-search-box{display:flex;align-items:center;min-height:40px;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-panel);margin:0 0 14px}
.ui-menu-search-box:focus-within{outline:1px solid var(--ui-muted)}
.ui-menu-search-box input{flex:1;min-width:0;width:100%;height:38px;min-height:38px;padding:8px 0 8px 10px;margin:0;border:0;background:transparent;font-size:12px;outline:0}
.ui-shell .ui-menu-search-box input:focus{outline:0;box-shadow:none}
.ui-menu-search-box input::placeholder{color:var(--ui-muted-text)}
.ui-shell .ui-menu-search-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;min-height:38px;height:38px;padding:0;margin:0;border:0;background:transparent;color:var(--ui-muted-text)}
.ui-shell .ui-menu-search-icon:hover:not(:disabled){background:var(--ui-hover)}
.ui-menu-search-icon .portal-icon{width:16px;height:16px}
.ui-menu-search-status{margin:0 0 10px;font-size:12px}
.ui-shell #ui-sidebar [data-route][hidden],.ui-salary-submenu a[hidden]{display:none}
.ui-shell #ui-sidebar .ui-submenu-chevron{width:14px;height:14px;flex:0 0 14px;margin-left:auto;transition:transform .15s ease}
.ui-shell #ui-sidebar [aria-expanded=true]>.ui-submenu-chevron{transform:rotate(180deg)}
.ui-sidebar-collapsed .ui-menu-search-box{border:0;justify-content:center}
.ui-sidebar-collapsed .ui-menu-search-box input,.ui-sidebar-collapsed .ui-shell #ui-sidebar .ui-submenu-chevron{display:none}
body.ui-workspace-child>dialog.ui-confirm-dialog[open]{display:block!important}
.ui-confirm-dialog{width:min(440px,calc(100vw - 32px))}
@media(max-width:760px){.ui-shell #ui-sidebar .home-monogram{width:44px;height:44px;min-width:44px;min-height:44px}.ui-sidebar-collapsed .ui-menu-search-box{border:1px solid var(--ui-line)}.ui-sidebar-collapsed .ui-menu-search-box input{display:block}.ui-sidebar-collapsed .ui-shell #ui-sidebar .ui-submenu-chevron{display:block}.ui-menu-search-box,.ui-shell .ui-menu-search-icon{min-height:40px}}
@media(prefers-reduced-motion:reduce){.ui-shell #ui-sidebar .ui-submenu-chevron{transition:none}}


.dw-quick-links{display:grid;gap:6px}.dw-quick-row{display:flex;align-items:center;gap:4px}.dw-quick-row a{flex:1;min-width:0;padding:8px 4px;color:var(--ui-text);text-decoration:none}.dw-quick-row a:hover{text-decoration:underline}.dw-quick-row button{min-height:28px;padding:2px 8px}.dw-quick-picker{border:1px solid var(--ui-line);border-radius:6px;padding:10px;margin-top:12px}.dw-quick-picker label{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px}.dw-quick-picker input{width:auto;margin:0}


/* M1 revisi: pertahankan geometri/lazy-load saat gambar baru menunggu akses. */
.ui-access-image-pending{visibility:hidden}

/* Q3: calendar metadata is validated before becoming a CSS color. */
.schedule-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;font-size:12px}
.schedule-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.schedule-legend-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--schedule-color)}
.schedule-page button.schedule-colored,.schedule-dialog button.schedule-colored,.schedule-page .schedule-month button.schedule-colored{background:var(--schedule-fill);color:#172033;border-left:3px solid var(--schedule-color)}
.schedule-colored .schedule-source{color:#172033;background:transparent;border-color:var(--schedule-color)}
.schedule-page button.schedule-past,.schedule-dialog button.schedule-past,.schedule-page .schedule-month button.schedule-past{background:var(--schedule-past-fill,color-mix(in srgb,var(--schedule-fill) 40%,white))}
.schedule-event.schedule-past>strong,.schedule-event.schedule-past>span{opacity:.55}

/* Q4: shared button contents have a geometric centre; keep existing box sizes. */
button>svg,.button-link>svg{flex-shrink:0}
.ui-shell .ui-workspace-select{text-align:center}
.ui-glyph-button .portal-icon{display:block;width:1em;height:1em}
.ui-workspace-add .portal-icon,.ui-dialog-close .portal-icon{display:block;width:20px;height:20px}
.ui-pagination .portal-icon{display:block;width:16px;height:16px}
/* Preserve the existing intrinsic glyph-button boxes in the widget editor. */
.dw-quick-row .ui-glyph-button .portal-icon{width:11px;height:16px}
.dw-resize .portal-icon{width:.84em;height:1.35em}
.ui-shell .table-sort{justify-content:center;text-align:center;gap:5px}
.table-sort[data-sort]::after{content:none}
.ui-shell .table-sort>span{white-space:nowrap;flex-shrink:0}
.table-sort .portal-icon{width:10px;height:14px;stroke-width:1.6;opacity:.45}
.table-sort[data-sort=asc] .portal-icon,.table-sort[data-sort=desc] .portal-icon{opacity:1}
.table-sort[data-sort=asc] .portal-icon path:nth-child(n+3),.table-sort[data-sort=desc] .portal-icon path:nth-child(-n+2){display:none}
/* Explicit left-aligned exceptions: navigation, list rows and legacy switches. */
button:is(.home-nav,.pp-switch,.k4-toggle,.followup-title,.schedule-event,.schedule-more,.dw-schedule-event),.k4-partner-choices button{justify-content:flex-start;text-align:left}
button.schedule-event{align-items:stretch}
.pss-toggle .portal-icon{width:20px;height:20px}

/* NB1: tombol kembali bersama, sebelum judul detail. */
.ui-back-button{display:flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin:0 0 12px;text-align:left}
@media(max-width:760px){.ui-back-button{min-height:40px;min-width:40px}}
/* NB1 akhir. */
/* Q1: kelompok menu menggunakan daftar rute bersama. */
.ui-shell #ui-sidebar .ui-nav-group{border-top:1px solid var(--ui-line);margin-top:10px;padding-top:6px;min-width:0}
.ui-shell #ui-sidebar .ui-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--ui-muted-text);font-size:11px;font-weight:500;text-align:left;box-shadow:none}
.ui-shell #ui-sidebar .ui-nav-group-toggle:hover{background:var(--ui-hover)}
.ui-shell #ui-sidebar .ui-nav-group-toggle .portal-icon{width:14px;height:14px;flex-basis:14px;transform:rotate(180deg)}
.ui-shell #ui-sidebar .ui-nav-group-closed>.ui-nav-group-toggle .portal-icon{transform:none}
.ui-nav-group-items{display:grid;gap:4px;min-width:0}
.ui-nav-group-closed>.ui-nav-group-items,.ui-shell #ui-sidebar .ui-nav-group[hidden]{display:none}
.ui-mobile-menu-group{border-top:1px solid var(--ui-line);padding-top:8px;margin-top:8px}
.ui-mobile-group-heading{font-size:12px;font-weight:500;color:var(--ui-muted-text);margin:4px 12px}
@media(min-width:761px){
 .ui-sidebar-collapsed .ui-shell #ui-sidebar .ui-nav-group-toggle{display:none}
 .ui-sidebar-collapsed .ui-shell #ui-sidebar .ui-nav-group-items{display:grid}
 .ui-sidebar-collapsed .ui-shell #ui-sidebar .ui-nav-group{padding-top:8px;margin-top:8px}
}
@media(max-width:760px){.ui-shell #ui-sidebar .ui-nav-group-toggle{min-height:40px}}

/* K4: inline hierarchy within the shared Portal table. */
.k4-projects{min-width:0}.k4-projects .table-wrap{max-height:min(70dvh,820px)}
.k4-projects tr[data-project]{cursor:pointer}.k4-projects tr[data-project]:focus{outline:2px solid var(--portal-blue)}
.k4-detail-row>td{padding:0!important;white-space:normal}.k4-project-detail{padding:16px;min-width:0;overflow-wrap:anywhere;background:var(--portal-surface)}
.k4-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.k4-heading h3{margin:12px 0}
.k4-party,.k4-contract{border-top:1px solid var(--portal-line);padding:12px 0}.k4-contract{margin-left:12px}.k4-toggle{text-align:left;white-space:normal;max-width:100%;overflow-wrap:anywhere}
.k4-contract-detail{padding:8px}.k4-partner-choices{display:flex;flex-direction:column;max-height:180px;overflow:auto;gap:4px}.k4-partner-choices button{text-align:left}.k4-partner-new:empty{display:none}
.k4-project-detail .beta-facts{grid-template-columns:minmax(80px,130px) minmax(0,1fr)}
@media(max-width:600px){.k4-projects .ui-search-actions{width:100%;flex-wrap:wrap}.k4-projects .ui-search-actions input{min-width:0;width:100%}.k4-projects table{min-width:0;width:100%;table-layout:fixed}.k4-projects th,.k4-projects td{white-space:normal;overflow-wrap:anywhere}.k4-projects .k4-detail-row{display:table-row}.k4-projects .k4-detail-row>td{display:table-cell}.k4-projects .k4-detail-row>td:before{display:none}.k4-project-detail{padding:10px}.k4-projects .beta-facts{grid-template-columns:1fr}.k4-projects .beta-facts dd{margin-bottom:8px}}

@media(max-width:600px){.ui-shell .k4-projects .ui-identity-table tbody tr.k4-detail-row{display:table-row;padding:0}.ui-shell .k4-projects .ui-identity-table tbody tr.k4-detail-row>td{display:table-cell;padding:0}.ui-shell .k4-projects .ui-identity-table tbody tr.k4-detail-row>td:before{display:none}.ui-shell .k4-projects .beta-facts{grid-template-columns:1fr}.k4-project-detail{text-align:left}}

/* WD1 22 Okt: widget Inventaris kendaraan (batang mendatar). Palet kategorikal aman buta warna (validate_palette: terang/gelap lulus),
   Buffer Kantor selalu abu netral, Tanpa proyek abu muda bergaris. Tema gelap Portal belum ada; token gelap aktif lewat :root[data-theme=dark]. */
/* WD3 22 Okt (Abdi memilih palet no 12 "Navy & emas"): elegan, matte; Buffer Kantor abu hangat. Token --vp-* (terang/gelap) di :root style.css (TK1). */
.dw-vp-tone-1{--vp-fill:var(--vp-1)}.dw-vp-tone-2{--vp-fill:var(--vp-2)}.dw-vp-tone-3{--vp-fill:var(--vp-3)}.dw-vp-tone-4{--vp-fill:var(--vp-4)}.dw-vp-tone-5{--vp-fill:var(--vp-5)}.dw-vp-tone-6{--vp-fill:var(--vp-6)}.dw-vp-tone-7{--vp-fill:var(--vp-7)}.dw-vp-tone-office{--vp-fill:var(--vp-office)}.dw-vp-tone-none{--vp-fill:var(--vp-none)}
.dw-body.dw-vehicles{container-type:inline-size}
.dw-vp{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
/* WD4 22 Okt (Abdi): legenda lebih kecil dan rapat, huruf Inter/Helvetica. */
.dw-vp{font-family:Inter,Helvetica,Arial,sans-serif}
.dw-vp-legend{list-style:none;margin:0;padding:0;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-content:start;align-self:center}
.dw-vp-legend li{margin:0;padding:0;min-height:0}
/* Tombol legenda rapat (24 px, batas target sentuh WCAG 2.2) mengalahkan aturan umum .ui-shell button 44 px. */
.ui-shell .dw-vp-row{min-height:24px}
.dw-vp-row{display:flex;align-items:center;gap:8px;width:100%;min-height:24px;padding:2px 6px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:var(--portal-ink);font-size:12px;font-weight:400;line-height:1.25;text-align:left}
.dw-vp-row:hover,.dw-vp-row.dw-vp-on{background:var(--portal-soft-blue)}
.dw-vp-swatch{flex:none;width:10px;height:10px;border-radius:2px;background:var(--vp-fill)}
.dw-vp-row.dw-vp-tone-none .dw-vp-swatch{background:repeating-linear-gradient(45deg,var(--vp-none) 0 2px,var(--vp-none-line) 2px 3px);outline:1px solid var(--vp-none-line);outline-offset:-1px}
.dw-vp-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dw-vp-num{flex:none;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
/* AC1: Accurate laba rugi; tabel lebar tetap bergulir di panel pada 390px. */
.accurate-page{display:flex;flex-direction:column;gap:22px;min-width:0;max-width:1400px;margin:auto;overflow-wrap:anywhere}
.accurate-page h1,.accurate-page h2,.accurate-page h3,.accurate-page p{margin:0}.accurate-page h2{font-size:18px}.accurate-source{font-size:13px;color:var(--ui-muted-text)}
.accurate-number{white-space:nowrap}.accurate-detail td:nth-child(n+2),.accurate-detail th:nth-child(n+2){text-align:right}
.accurate-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.accurate-panel{min-width:0;padding:18px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);display:flex;flex-direction:column;gap:12px}.accurate-number{font-size:23px;font-weight:650}.accurate-loss{color:var(--ui-danger)}
.accurate-warning{background:var(--ui-warn-bg);color:var(--ui-warn);border:1px solid var(--ui-warn-line);border-radius:var(--ui-radius);padding:16px}.accurate-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.accurate-loss-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}.accurate-loss-list li{padding-left:4px}.accurate-loss-list li>span{display:block}.accurate-project-link{background:transparent;border:0;color:var(--ui-text);padding:0;text-align:left;white-space:normal;min-height:40px;text-decoration:underline;text-underline-offset:3px}
.accurate-chart-row{display:grid;grid-template-columns:130px minmax(30px,1fr) 160px;align-items:center;gap:12px}.accurate-chart-row>span{text-align:right}.accurate-chart-row progress{width:100%;height:16px;accent-color:var(--ui-danger)}.accurate-chart-row progress::-webkit-progress-bar{background:var(--ui-hover);border-radius:4px}.accurate-chart-row progress::-webkit-progress-value{background:var(--ui-danger);border-radius:4px}
.accurate-page .table-wrap{min-width:0;max-width:100%;overflow:auto;max-height:min(60dvh,620px)}.accurate-page .table-wrap table{min-width:1000px!important;white-space:nowrap;width:100%;display:table}.accurate-page .table-wrap thead{display:table-header-group}.accurate-page .table-wrap tbody{display:table-row-group}.accurate-page .table-wrap tr{display:table-row;border:0;padding:0}.accurate-page .table-wrap td,.accurate-page .table-wrap th{display:table-cell;white-space:nowrap;padding:12px;text-align:right}.accurate-page .table-wrap td:nth-child(-n+2),.accurate-page .table-wrap th:nth-child(-n+2){text-align:left}.accurate-page .table-wrap td:before{display:none}.accurate-page .table-wrap thead th{position:sticky;top:0;background:#FBFBFB}
.accurate-page .ui-search-actions{min-width:0;flex-wrap:wrap}.accurate-page input[type=search]{min-width:0;max-width:100%}.accurate-detail[open]{display:flex;width:min(1100px,94vw);max-width:94vw;max-height:90dvh;padding:22px;overflow:auto}.accurate-detail:not([open]){display:none}.accurate-detail section{min-width:0}.accurate-detail .table-wrap table{min-width:760px!important}
@media(max-width:1100px){.accurate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.accurate-highlights,.accurate-summary{grid-template-columns:minmax(0,1fr)}.accurate-panel{padding:14px}.accurate-chart-row{grid-template-columns:100px minmax(20px,1fr);gap:8px}.accurate-chart-row>span{grid-column:2}.accurate-detail[open]{padding:14px}.ui-shell .accurate-page .table-wrap:not(:has(.ui-identity-table)){overflow:auto;max-height:min(60dvh,620px)}.ui-shell .accurate-page .table-wrap td,.ui-shell .accurate-page .table-wrap:not(:has(.ui-identity-table)) thead th{display:table-cell;white-space:nowrap}.ui-shell .accurate-page .table-wrap thead{display:table-header-group}.ui-shell .accurate-page .table-wrap tbody{display:table-row-group}.ui-shell .accurate-page .table-wrap tr{display:table-row;padding:0;border:0;margin:0}.ui-shell .accurate-page .table-wrap td:before{display:none}}

/* GHL1: strip sesi bergulir di dalam kartu, termasuk pada ponsel. */
.hl-page{min-width:0;max-width:100%;overflow:hidden}
.hl-sessions{display:flex;align-items:center;gap:10px;max-width:100%;min-width:0;overflow-x:auto;padding:14px 0;margin:12px 0 22px}
.hl-session{flex:none;white-space:nowrap;padding:10px 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);text-decoration:none}
.hl-session[aria-current=page]{background:var(--portal-soft-blue);font-weight:600}
.hl-session:disabled{color:var(--ui-muted-text);cursor:not-allowed;opacity:.75}
.hl-separator{flex:none;color:var(--ui-muted-text)}
.hl-content{min-width:0;overflow-wrap:anywhere}.hl-content h2{font-size:20px}
.hl-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}
.hl-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%;flex:0 1 140px}
.hl-filters input,.hl-filters select{width:100%;min-width:0;max-width:100%;height:44px;padding:9px 11px;border-color:var(--ui-input-line);font-size:13px;font-weight:600}
.hl-filters .pss>.pss-input{font-size:13px}
.hl-filters .hl-penanda-filter{flex:0 1 210px}
.hl-result{min-width:0}.hl-result li{overflow-wrap:anywhere}.hl-result ul{margin:0;padding-left:20px}
.hl-unassigned{margin-top:24px}.hl-unassigned h4{margin-bottom:8px}
/* GHL1 akhir. */

/* GHL3: penanda gaji baca-saja di tab Koreksi. */
.hl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.hl-chip[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-panel)}
.hl-filters .hl-info-toggle{flex-direction:row;align-items:center;flex-basis:240px}
.hl-filters .hl-info-toggle input{width:auto;flex:none}
.hl-flags{display:flex;flex-wrap:wrap;gap:6px;max-width:360px;white-space:normal}
.hl-flag{display:inline-block;padding:4px 7px;border-radius:4px;font-size:11px;line-height:1.5}
.hl-flag-merah{color:var(--ui-danger);background:var(--ui-danger-bg);border:1px solid var(--ui-danger-line)}
.hl-flag-info{color:var(--ui-info);background:var(--ui-info-bg);border:1px solid var(--ui-info-line)}
@media(max-width:640px){
.hl-content .hl-penanda .table-wrap{max-height:none;overflow:visible;border:0}
.hl-content .hl-penanda .table-wrap table,.hl-content .hl-penanda .table-wrap tbody{display:block;min-width:0;width:100%;white-space:normal}
.hl-content .hl-penanda .table-wrap thead{display:block;position:static}
.hl-content .hl-penanda .table-wrap thead tr{display:flex;flex-wrap:wrap}
.hl-content .hl-penanda .table-wrap thead th{display:block;position:static}
.hl-content .hl-penanda .table-wrap tbody tr{display:grid;border:1px solid var(--ui-line);border-radius:8px;padding:10px;margin:10px 0}
.hl-content .hl-penanda .table-wrap tbody td{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px;white-space:normal;overflow-wrap:anywhere;padding:8px 0}
.hl-content .hl-penanda .table-wrap tbody td:before{display:block;content:attr(data-label);color:var(--ui-muted-text);font-size:11px}
}
/* GHL3 akhir. */
/* HL6a: menu Presensi Harian Lepas (contoh v6) — judul + Tabel|Peta, sel jam+lokasi, ikon aksi, sub menu bersarang. */
.hl-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.hl-head h1{margin:0}
.hl-seg{display:inline-flex;border:1px solid var(--ui-line);border-radius:var(--ui-radius);overflow:hidden}
.hl-seg button{min-height:36px;padding:6px 14px;border:0;border-radius:0;background:var(--ui-panel);color:var(--ui-text);box-shadow:none}
.hl-seg button[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-panel)}
.hl-seg button:disabled{color:var(--ui-muted-text);cursor:not-allowed}
.hl-filters .hl-grow{flex:1 1 200px}
.hl-filters :is(input,select){margin:0}
.hl-filters label:has(input[type=date]){flex-basis:140px}
.hl-jam b{display:block;font-weight:600}
.hl-jam small{display:block;font-size:11px;color:var(--ui-muted-text);white-space:nowrap}
.hl-jam small.hl-lokasi-salah{color:var(--ui-danger)}
.hl-kosong{color:var(--ui-muted-text)}
.hl-belum{text-align:center;color:var(--ui-muted-text);padding:24px 12px}
.hl-urut{margin-left:4px;font-size:10px}
.hl-page .table-sort:is([data-sort=asc],[data-sort=desc])::after{content:none}
.hl-page .table-wrap .hl-aksi{position:sticky;right:0;z-index:1;background:var(--ui-panel);box-shadow:-1px 0 0 var(--ui-table-line)}
.hl-page .table-wrap thead .hl-aksi{z-index:3;background:var(--ui-table-head)}
.hl-acts{display:flex;gap:2px}
.hl-ic{display:inline-grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none}
.hl-ic-setuju{color:var(--ui-ok)}.hl-ic-edit{color:var(--ui-info)}.hl-ic-veto{color:var(--ui-danger)}
.hl-ic:hover:not(:disabled){background:var(--ui-hover)}
.hl-ic:disabled{opacity:.45;cursor:not-allowed}
.hl-aturan{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}
.hl-aturan-kartu{min-width:0;padding:14px 16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel)}
.hl-aturan-kartu h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:14px}
.hl-riwayat-versi{margin-top:12px}.hl-riwayat-versi h3{margin-bottom:10px}
.ui-submenu-nest-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:40px;margin:0;padding:10px 12px;border:0;border-radius:0;background:transparent;color:var(--ui-nav-text);font-size:12px;font-weight:600;text-align:left;box-shadow:none}
.ui-submenu-nest-toggle .ui-submenu-chevron{width:14px;height:14px;flex:0 0 14px;margin-left:auto;transition:transform .15s ease}
.ui-submenu-nest-toggle[aria-expanded=true]>.ui-submenu-chevron{transform:rotate(180deg)}
.ui-submenu-nest-list a{padding-left:24px}
.ui-nav-group-search .ui-submenu-nest-list[hidden]{display:block}
.ui-nav-group-search .ui-submenu-nest:not(:has(a:not([hidden]))){display:none}
@media(prefers-reduced-motion:reduce){.ui-submenu-nest-toggle .ui-submenu-chevron{transition:none}}
/* HL6a akhir. */
/* HL6b: Koreksi tersimpan — ikon Ulang, jam dicoret, status tujuan, pop-up Edit (tengah) dan Veto (440 px), Peta. */
.hl-ic-ulang{color:var(--ui-text)}
.hl-page :is(.hl-filters,.hl-result,.hl-peta)[hidden]{display:none}
.hl-was{color:var(--ui-muted-text);text-decoration:line-through;margin-right:6px;font-weight:400}
.hl-now{color:var(--ui-info);font-weight:600}
.hl-p1{margin-left:3px;font-size:10px;font-weight:600;color:var(--ui-warn)}
.hl-jam-koreksi>div{white-space:nowrap}
.hl-status-sel{display:grid;gap:2px;white-space:nowrap}.hl-status-sel small{font-size:11px;color:var(--ui-muted-text)}
.hl-tujuan-cek{color:var(--ui-info)}.hl-tujuan-list_gaji{color:var(--ui-ok)}.hl-tujuan-laporan{color:var(--ui-danger)}
.hl-dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto}
.hl-dialog-sempit{width:min(440px,calc(100vw - 24px))}
.hl-dialog .dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.hl-dialog-sub{display:block;margin-top:4px;color:var(--ui-muted-text)}
.hl-dialog-kaki{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}
.hl-dialog-galat{margin:10px 0 0}
.hl-req{color:var(--ui-danger);margin-left:2px}
.hl-kf{display:grid;grid-template-columns:118px minmax(130px,1fr) 104px minmax(200px,1.4fr);gap:8px 12px;align-items:start}
.hl-kf-h{font-size:11px;font-weight:600;color:var(--ui-muted-text);padding-bottom:4px;border-bottom:1px solid var(--ui-line)}
.hl-kf-l{font-size:13px;font-weight:600;padding-top:8px}
.hl-kf input,.hl-kf select{width:100%;min-width:0;margin:0}
.hl-kf .hl-jam small{white-space:normal;overflow-wrap:anywhere}
.hl-arah{min-height:14px;margin-top:3px;font-size:11px}.hl-arah-cek{color:var(--ui-warn)}.hl-arah-list{color:var(--ui-ok)}
.hl-hasil{margin-top:14px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-bg);color:var(--ui-muted-text);font-size:13px}
.hl-hasil ul{margin:6px 0 0;padding-left:18px}
.hl-hasil-cek{color:var(--ui-warn);background:var(--ui-warn-bg);border-color:var(--ui-warn-line)}
.hl-hasil-list_gaji{color:var(--ui-ok);background:var(--ui-ok-bg);border-color:var(--ui-ok-line)}
.hl-hasil-laporan{color:var(--ui-danger);background:var(--ui-danger-bg);border-color:var(--ui-danger-line)}
.hl-dua{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.hl-dua label,.hl-dialog-sempit label:has(textarea){display:flex;flex-direction:column;gap:6px;margin-top:12px}.hl-dua label{margin-top:0}
.hl-dialog textarea{min-height:72px;resize:vertical}
.hl-vt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hl-vt label{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:8px;font-size:13px;text-align:center;cursor:pointer}
.hl-vt .hl-vt-sehari{grid-column:1/-1}
.hl-vt input{width:16px;height:16px;min-height:0;margin:0;flex:none}
.hl-vt label.hl-on{border-color:var(--ui-danger-line);background:var(--ui-danger-bg)}
.hl-vt label.hl-mati{opacity:.45;cursor:not-allowed}
.hl-vp table{width:100%;margin-top:12px;font-size:12px;border-collapse:collapse}
.hl-vp :is(th,td){padding:5px 8px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--ui-line)}
.hl-muted{color:var(--ui-muted-text)}
.hl-peta-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;min-width:0}
.hl-peta-map{min-width:0;height:clamp(360px,calc(100dvh - 300px),720px);border:1px solid var(--ui-line);border-radius:var(--ui-radius);overflow:hidden}
.hl-peta-side{min-width:0;max-height:clamp(360px,calc(100dvh - 300px),720px);overflow:auto;padding:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel)}
.hl-peta-side h3{margin:0 0 10px;font-size:14px}
.hl-peta-bar label{flex:0 1 200px}
.hl-peta-item{display:grid;justify-items:start;gap:4px;width:100%;margin-bottom:8px;padding:9px 10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);color:var(--ui-text);text-align:left;box-shadow:none}
.hl-peta-item:hover{background:var(--ui-table-hover)}
.hl-legenda{display:flex;flex-wrap:wrap;gap:10px;padding:6px 10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);font-size:11px}
.hl-legenda i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:50%;vertical-align:-1px}
@media (max-width:700px){.hl-peta-wrap{grid-template-columns:minmax(0,1fr)}.hl-peta-side{max-height:none}
 .hl-kf{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hl-kf-h{display:none}.hl-kf>:nth-child(4n){grid-column:1/-1}.hl-kf-l{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--ui-line)}
 .hl-dua{grid-template-columns:minmax(0,1fr)}}
/* HL6b akhir. */
/* HL6c: Tampilkan 50/100/200 baris dan nomor halaman di bawah tabel Presensi Harian Lepas (contoh KOMPAS 5 Nov). */
.hl-filters .hl-tampil{flex:0 1 130px}
.hl-halaman{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:13px}
.hl-halaman-info{color:var(--ui-muted-text);font-variant-numeric:tabular-nums}.hl-halaman-info b{color:var(--ui-text);font-weight:600}
.hl-halaman-tombol{display:flex;flex-wrap:wrap;gap:4px}
.hl-halaman-tombol button{min-width:34px;min-height:34px;padding:0 8px;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-panel);color:var(--ui-text);font-size:13px;font-weight:400;font-variant-numeric:tabular-nums;box-shadow:none}
.hl-halaman-tombol button:hover:not(:disabled){background:var(--ui-hover)}
.hl-halaman-tombol button[aria-current=page],.hl-halaman-tombol button[aria-current=page]:hover{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-panel);font-weight:600}
.hl-halaman-tombol button:disabled{opacity:.4;cursor:default}
.hl-halaman-jeda{align-self:center;padding:0 4px;color:var(--ui-muted-text)}
@media(max-width:640px){.hl-halaman{justify-content:center}.hl-halaman-tombol{justify-content:center}.hl-halaman-tombol button{min-width:40px;min-height:40px}}
/* HL6c akhir. */
/* HLM2: Presensi Manual sesuai contoh revisi 4; isian dan tabel memakai token Portal. */
.hl-manual-page .table-wrap{border-radius:10px}
.hl-manual-page .table-wrap th{padding:8px 14px;font-size:11.5px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--ui-table-head-text)}
.hl-manual-page .table-wrap td{padding:6px 14px;font-size:13px;line-height:1.35}
.hl-manual-page .hl-head button{background:var(--ui-primary);color:var(--ui-panel)}
.hl-manual-status{display:inline-flex;align-items:center;gap:6px}
.hl-manual-status:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ui-info)}
.hl-manual-status-ok:before{background:var(--ui-ok)}
.hl-manual-status-warn:before{background:var(--ui-warn)}
.hl-manual-ganti{display:inline-block;padding:4px 7px;border-radius:4px;border:1px solid var(--ui-warn-line);color:var(--ui-warn);background:var(--ui-warn-bg);font-size:11px}
.hl-ic-hapus{color:var(--ui-danger)}
.hl-page .hl-diganti-manual td,.hl-page .hl-diganti-manual :is(b,small){color:var(--ui-muted-text);background:var(--ui-hover)}
.hl-page .hl-diganti-manual{opacity:.6}
.hl-manual-dialog,.hl-manual-confirm{margin:auto;padding:26px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-panel);color:var(--ui-text)}
.hl-manual-dialog h2,.hl-manual-confirm h2{font-size:20px;font-weight:600}
.hl-manual-dialog .ui-dialog-close,.hl-manual-confirm .ui-dialog-close{flex:none;width:40px;height:40px;min-height:40px;padding:0;border:0;background:transparent;color:var(--ui-muted-text)}
.hl-manual-dialog .ui-dialog-close:hover,.hl-manual-confirm .ui-dialog-close:hover{background:var(--ui-hover)}
.hl-manual-dialog .hl-manual-field{display:flex;flex-direction:column;gap:6px;margin:16px 0 0;min-width:0;font-size:13px;font-weight:600}
.hl-manual-dua{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}
.hl-manual-dua .hl-manual-field{margin:0}
.hl-manual-dialog :is(input,select,textarea){min-width:0;margin:0;height:44px;padding:9px 11px;border:1px solid var(--ui-input-line);border-radius:6px;font-size:13px;font-weight:600}
.hl-manual-dialog .pss>.pss-input{font-size:13px}
.hl-manual-dialog .pss-option,.hl-filters .pss-option{min-height:38px;padding:10px 11px}
.hl-manual-dialog textarea{height:80px;min-height:80px;resize:none}
.hl-manual-dialog .hl-manual-alasan{width:340px;max-width:100%}
.hl-manual-grid{display:grid;grid-template-columns:160px 110px minmax(0,1fr);gap:10px 16px;align-items:center;margin-top:16px;font-size:13px;font-weight:600}
.hl-manual-grid>input{text-align:center;font-variant-numeric:tabular-nums}
.hl-manual-kh{padding-bottom:6px;border-bottom:1px solid var(--ui-line)}
.hl-manual-check{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:0;min-height:24px;font-size:13px}
.hl-manual-check input{flex:none;width:18px;height:18px;margin:0;padding:0;accent-color:var(--ui-primary)}
.hl-manual-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 12px;margin-top:16px;border:1px solid var(--ui-warn-line);border-radius:8px;font-size:13px;line-height:1.5}
.hl-manual-info[hidden]{display:none}
.hl-manual-info-warn{color:var(--ui-warn);background:var(--ui-warn-bg);border-color:var(--ui-warn-line)}
.hl-manual-info-danger{color:var(--ui-danger);background:var(--ui-danger-bg);border-color:var(--ui-danger-line)}
.hl-manual-info button{min-height:34px;padding:6px 12px;background:var(--ui-panel);color:var(--ui-text);border:1px solid var(--ui-warn-line)}
.hl-manual-dialog .hl-dialog-galat,.hl-manual-confirm .hl-dialog-galat{font-size:13px;color:var(--ui-danger)}
.hl-page .table-wrap,.hl-dialog{scrollbar-width:thin;scrollbar-color:var(--ui-scroll-thumb) var(--ui-panel)}
.hl-page .table-wrap::-webkit-scrollbar,.hl-dialog::-webkit-scrollbar{width:6px;height:6px}
.hl-page .table-wrap::-webkit-scrollbar-thumb,.hl-dialog::-webkit-scrollbar-thumb{background:var(--ui-scroll-thumb);border-radius:6px}
.hl-page .table-wrap::-webkit-scrollbar-thumb:hover,.hl-dialog::-webkit-scrollbar-thumb:hover{background:var(--ui-scroll-thumb-hover)}
.hl-page .table-wrap::-webkit-scrollbar-track,.hl-dialog::-webkit-scrollbar-track{background:var(--ui-panel)}
.hl-page .table-wrap::-webkit-scrollbar-button,.hl-dialog::-webkit-scrollbar-button{display:none}
@media(max-width:600px){
 .hl-manual-dialog,.hl-manual-confirm{padding:16px}
 .hl-manual-dua{grid-template-columns:minmax(0,1fr)}
 .hl-manual-page .hl-head button{width:100%}
 .hl-manual-grid{grid-template-columns:minmax(0,1fr) 96px;gap:8px 12px}
 .hl-manual-kh{display:none}
 .hl-manual-grid>.pss,.hl-manual-grid>select{grid-column:1/-1;margin-bottom:8px}
}
/* HLM2 akhir. */
/* LG1 26 Okt: masuk ramah — satu halaman, ikon mata, kotak kode 6 angka, Daftar/Lupa lewat kode admin. */
.ui-pw>input{padding-right:52px}
.ui-pw>.ui-pw-toggle,.auth-card .ui-pw-toggle,.ui-shell .ui-pw-toggle{right:2px;width:44px;min-width:44px;height:40px;min-height:40px;padding:0;border:0;background:transparent;color:var(--ui-muted-text);box-shadow:none}
.ui-pw>.ui-pw-toggle:hover:not(:disabled){background:transparent;color:var(--ui-text)}
.ui-pw-toggle .portal-icon{width:20px;height:20px}
.auth-card .auth-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;margin:0 0 10px -10px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ui-text);box-shadow:none}
.auth-card .auth-back:hover{background:var(--ui-hover)}
.auth-card .auth-back .portal-icon{width:22px;height:22px}
.auth-card form .auth-forgot{display:table;margin:12px 0 0 auto;font-size:13px;font-weight:600;text-decoration:none}
.auth-card form .auth-forgot:hover,.auth-alt a:hover,.auth-link:hover{text-decoration:underline;text-underline-offset:3px}
.auth-card .full:disabled{opacity:1;background:var(--ui-button-line);border-color:var(--ui-button-line);color:var(--ui-panel)}
.auth-error{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 8px;margin:16px 0 0;color:var(--ui-danger);font-size:13px;line-height:1.5}
.auth-error>.portal-icon{width:18px;height:18px;flex:0 0 18px;margin-top:1px}
.auth-error>span{flex:1 1 0;min-width:0}
.auth-error .auth-link{flex-basis:100%;margin-left:26px;color:var(--ui-danger);text-decoration:underline}
.auth-card button.auth-link{display:inline;min-height:0;height:auto;padding:4px 0;border:0;background:transparent;color:var(--ui-text);font-size:13px;font-weight:600;box-shadow:none}
.auth-card button.auth-link:hover:not(:disabled){background:transparent}
.auth-center{margin-top:16px;text-align:center}
.auth-alt{margin:28px 0 0;text-align:center;font-size:14px}
.auth-alt a{font-weight:600;text-decoration:none;color:var(--ui-text)}
.auth-alt.auth-minor{margin-top:12px;font-size:12px}
.auth-alt.auth-minor a{font-weight:500;color:var(--ui-muted-text)}
.ui-otp{position:relative;display:block}
.ui-otp>input.ui-otp-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;font-size:16px;caret-color:transparent;cursor:text}
.ui-otp-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ui-otp-cells>span{display:grid;place-items:center;height:52px;border:1px solid var(--ui-input-line);border-radius:10px;background:var(--ui-panel);color:var(--ui-text);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.ui-otp-cells>span.on{border-color:var(--ui-muted)}
.ui-otp:focus-within .ui-otp-cells>span.cur{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-line)}
.auth-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;padding:6px 12px;border-radius:999px;background:var(--ui-hover);font-size:13px}
.auth-chip span{color:var(--ui-muted-text)}
.auth-chip b{font-variant-numeric:tabular-nums}
.auth-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 0 8px;padding:4px;border-radius:10px;background:var(--ui-hover)}
.auth-choice button{min-height:40px;border:0;border-radius:7px;background:transparent;color:var(--ui-muted-text);font-size:14px;box-shadow:none}
.auth-choice button:hover:not(:disabled){background:transparent;color:var(--ui-text)}
.auth-choice button[aria-pressed=true],.auth-choice button[aria-pressed=true]:hover:not(:disabled){background:var(--ui-panel);color:var(--ui-text);box-shadow:0 1px 2px var(--ui-line)}
.auth-note{margin:0;font-size:13px}
dialog.auth-sheet{width:min(420px,calc(100vw - 32px));height:auto;max-height:85dvh;margin:auto;padding:12px 22px 22px;border:0;border-radius:16px;display:none;flex-direction:column;gap:12px;background:var(--ui-panel);color:var(--ui-text)}
dialog.auth-sheet[open]{display:flex}
dialog.auth-sheet h2{margin:4px 0;font-size:19px}
.auth-sheet-grab{align-self:center;width:38px;height:5px;border-radius:3px;background:var(--ui-line)}
dialog.auth-sheet .auth-option{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-panel);color:var(--ui-text);text-align:left;font-weight:400}
dialog.auth-sheet .auth-option:hover:not(:disabled){background:var(--ui-hover)}
.auth-option>span{flex:1;min-width:0}
.auth-option b{display:block;font-size:14px}
.auth-option small{color:var(--ui-muted-text);font-size:12.5px}
.auth-option .portal-icon{width:18px;height:18px;flex:0 0 18px;color:var(--ui-muted-text)}
dialog.auth-sheet .full{min-height:44px}
@media(max-width:760px){dialog.auth-sheet{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:20px 20px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}}
.auth-issued{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:14px 0}
.auth-issued .auth-issued-code{font-size:32px;line-height:1.2;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.auth-issued small{color:var(--ui-muted-text)}
.auth-issued textarea{width:100%;min-height:150px;margin-top:6px;padding:10px 12px;font-size:13.5px;line-height:1.5;resize:vertical;white-space:pre-wrap}
.auth-issued .actions{display:flex;flex-wrap:wrap;gap:8px}
a.auth-brand-link{position:absolute;left:32px;top:28px;display:flex;align-items:center;gap:10px;color:var(--ui-text);text-decoration:none}
a.auth-brand-link .auth-brand{position:static}
.auth-wordmark{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;white-space:nowrap}
@media(max-width:760px){a.auth-brand-link{left:24px;top:24px}}
.auth-sheet-note{margin:0;font-size:13px;color:var(--ui-muted-text)}
/* LG1 akhir. */

/* LR3b: total enam angka dan kartu proyek pada layar sempit. */
.accurate-body{display:flex;flex-direction:column;gap:18px;min-width:0}
.accurate-tabs,.accurate-toolbar,.accurate-segment,.accurate-chips,.accurate-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.accurate-tabs button[aria-pressed=true],.accurate-segment button[aria-pressed=true],.accurate-chips button[aria-pressed=true]{background:var(--ui-text);color:var(--ui-panel)}
.accurate-toolbar label{display:flex;align-items:center;gap:6px}.accurate-toolbar input[type=search]{flex:1;min-width:160px}
.accurate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.accurate-total-group{min-width:0;display:flex;flex-direction:column;gap:8px}.accurate-total-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.accurate-total-row .accurate-panel{padding:14px}.accurate-total-row .accurate-number{font-size:20px}
.accurate-badge{font-size:12px;padding:3px 7px;border-radius:4px;background:var(--ui-hover)}.accurate-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.accurate-list .table-wrap{max-height:65dvh}.accurate-project-table th{font-size:12px}
/* LRP4b 9 Nov: daftar proyek pola UC1 (table() + kartuHp). Uang rata kanan menurut kelas sel (bukan urutan kolom, kolom bisa dipindah);
   alat satu baris (cari · Kolom · Filter · Unduh Excel) di kanan; HP: kotak cari selebar layar di bawah tombol. */
.accurate-page .accurate-project-table th,.accurate-page .accurate-project-table td{text-align:left}.accurate-page .accurate-project-table th.accurate-num,.accurate-page .accurate-project-table td.accurate-num{text-align:right}
.accurate-page .accurate-project-table td[data-label=Nama]{min-width:180px;max-width:260px;white-space:normal}
.accurate-tools{display:flex;align-items:center;gap:8px;flex:1 1 360px;min-width:0;justify-content:flex-end}.accurate-toolbar .accurate-tools input[type=search]{flex:1 1 160px;min-width:0}
.accurate-sort-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
/* Judul uang dua baris paling banyak ("Pendapatan ·" / "sejak awal"). TL1 >=1400px membuat .table-wrap ui-page-wide overflow:visible;
   tabel 10 kolom lebih lebar dari panel, jadi daftar LR tetap bergulir di dalam panelnya (seperti Karyawan PM D2). */
.accurate-page .accurate-project-table th.accurate-num{min-width:100px}
/* LRP4d 9 Nov: muat di laptop 1280 px (sidebar terbuka). Padding samping 8 px, lebar uang pas angka (judul dua baris, angka satu baris),
   Nama dua baris, Orang boleh terbungkus. Bila tetap tidak muat (tab Aktif + Alasan, kolom ditambah, angka miliar): Kode dan Nama beku di kiri
   saat digulir samping (lebar pasti, latar buram; `left` kedua = lebar pertama dari --accurate-beku-left yang diisi JS). Kartu HP tidak berubah.
   Awalan selektor sengaja lebih spesifik dari aturan TL1 >=1400px (:is(th,td) padding 12 px). */
@media(min-width:761px){
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table th,.accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table td{padding-inline:8px}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table th.accurate-num{min-width:0}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table td[data-label=Nama]{min-width:150px;max-width:220px}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table td[data-label=Orang]{white-space:normal}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table:not(.ui-sized) th.accurate-beku-kode,.accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table:not(.ui-sized) td.accurate-beku-kode{width:104px;min-width:104px;max-width:104px}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table:not(.ui-sized) th.accurate-beku-nama,.accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table:not(.ui-sized) td.accurate-beku-nama{width:168px;min-width:168px;max-width:168px}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table th.accurate-beku,.accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table td.accurate-beku{position:sticky;left:0;z-index:2;background:var(--ui-panel)}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table th.accurate-beku-2,.accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table td.accurate-beku-2{left:var(--accurate-beku-left,104px)}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table th.accurate-beku{z-index:4;background:#FBFBFB}
 .accurate-page .accurate-panel.accurate-list .accurate-project-table .table-wrap table tbody tr:hover td.accurate-beku{background:var(--portal-soft-blue)}
}
@media(min-width:1400px){.accurate-page .accurate-list.ui-page-wide .table-wrap:not(:has(table.ui-sized)){max-height:65dvh;overflow:auto;isolation:isolate}.accurate-page .accurate-list.ui-page-wide .table-wrap:not(:has(table.ui-sized)) thead th{top:0}}
.accurate-spark{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;min-height:110px;align-items:end}.accurate-spark>div{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.accurate-spark>div>span{display:flex;flex-direction:column;align-items:center;line-height:1.2;white-space:nowrap}.accurate-spark-n{font-variant-numeric:tabular-nums}.accurate-detail .accurate-spk td:nth-child(2),.accurate-detail .accurate-spk th:nth-child(2){white-space:normal;text-align:left;min-width:180px;max-width:300px}.accurate-spark progress{writing-mode:vertical-lr;direction:rtl;width:14px;height:80px;accent-color:var(--ui-text)}
@media(max-width:1100px){.accurate-summary{grid-template-columns:1fr}}
@media(max-width:640px){.accurate-tools{flex-wrap:wrap}.accurate-toolbar .accurate-tools input[type=search]{order:9;flex-basis:100%}.accurate-list.ui-page-wide .ui-kartu-hp tbody td.accurate-labelled:not([hidden]):not(.hidden){flex:1 1 calc(50% - 10px);min-width:0;text-align:left}.accurate-list.ui-page-wide .ui-kartu-hp tbody td.accurate-orang:not([hidden]):not(.hidden){flex-basis:100%}.accurate-list .ui-kartu-urut>span{white-space:nowrap}.accurate-list.ui-page-wide .ui-kartu-hp tbody td.accurate-labelled::before{content:attr(data-label);display:block;font-size:10.5px;color:var(--ui-muted-text)}.accurate-total-row{gap:4px}.accurate-total-row .accurate-panel{padding:8px;gap:6px}.accurate-total-row .accurate-number{font-size:15px}.accurate-total-row .small{font-size:10px}.accurate-tabs button{flex:1 1 40%}.accurate-spark{gap:1px}.accurate-spark>div>span{font-size:10px}.accurate-spark-bln{display:none}}
/* LR3b akhir. */
/* LRP2: pilih periode, tiga kartu periode, tren laba/rugi per bulan (batang minus ke bawah). */
.accurate-periode .accurate-segment{flex-wrap:wrap}.accurate-range{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.accurate-range label{display:flex;flex-direction:column;gap:4px;font-size:13px}.accurate-range select{min-width:150px}.accurate-summary.accurate-summary-periode{grid-template-columns:minmax(0,1fr)}.accurate-segment button[aria-pressed=true]:hover{background:var(--ui-text);color:var(--ui-panel)}
.accurate-trend-bars{display:flex;align-items:stretch;gap:4px;height:170px;min-width:0}.accurate-trend-col{flex:1 1 0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto;text-align:center}.accurate-trend-up{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--ui-line)}.accurate-trend-down{display:flex;align-items:flex-start;justify-content:center}.accurate-trend-bar{display:block;width:100%;max-width:36px;min-height:1px;background:var(--ui-text);border-radius:2px}.accurate-trend-minus .accurate-trend-bar{background:var(--ui-danger)}.accurate-trend-belum .accurate-trend-bar{opacity:.35}.accurate-trend-col>.small{overflow:hidden;white-space:nowrap;font-size:11px}
@media(max-width:640px){.accurate-trend-bars{gap:1px;height:130px}.accurate-trend-col>.small{font-size:9px}.accurate-range select{min-width:0}}
/* LRP2 akhir. */

/* TB1: kolom berteks panjang (ui-cell-wrap, ditandai table()) dibungkus sehingga tabel
   tidak melebar karena satu teks; kode/tanggal/angka tetap satu baris. Lebar kolom
   ditarik dari tepi kanan judul kolom di layar >760px (app.js uiColumnResize). */
.ui-shell .table-wrap tbody td.ui-cell-wrap{white-space:normal;overflow-wrap:break-word;min-width:14em}
.ui-shell .table-wrap thead th{overflow-wrap:normal}
.ui-shell .table-wrap thead .table-sort,.ui-shell .table-wrap thead .table-sort>span{white-space:normal}
.ui-col-resize{display:none}
@media(min-width:761px){
 .ui-shell .table-wrap thead .table-sort>span{flex-shrink:1;min-width:0}
 .ui-shell .table-wrap .ui-col-resize{display:block;position:absolute;top:0;right:0;width:9px;height:100%;cursor:col-resize;touch-action:none;z-index:3}
 .ui-shell .table-wrap .ui-col-resize::after{content:'';position:absolute;top:30%;bottom:30%;right:3px;width:1px;background:var(--portal-line)}
 .ui-shell .table-wrap .ui-col-resize:hover::after,.ui-shell .table-wrap .ui-col-resize.aktif::after,.ui-shell .table-wrap .ui-col-resize:focus-visible::after{top:0;bottom:0;right:2px;width:3px;background:var(--ui-info)}
 .ui-shell .table-wrap .ui-col-resize:focus-visible{outline:none}
 .ui-shell .table-wrap table.ui-sized{table-layout:fixed;width:var(--ui-table-w);min-width:0!important;max-width:none}
 .ui-shell .table-wrap table.ui-sized thead th{width:var(--ui-col-w)}
 .ui-shell .table-wrap table.ui-sized thead .table-sort{max-width:100%;min-width:0}
 .ui-shell .table-wrap table.ui-sized thead .table-sort>span{flex-shrink:1;min-width:0;white-space:normal;overflow-wrap:break-word}
 .ui-shell .table-wrap table.ui-sized tbody td{white-space:normal;overflow-wrap:anywhere;min-width:0}
 /* TB3: judul kolom bisa digeser; sentuh mendatar menggeser kolom, bukan menggulir tabel. */
 .ui-shell .table-wrap thead th.ui-col-movable{touch-action:pan-y}
}
.ui-col-dragging{user-select:none;cursor:grabbing}
.ui-col-drop{position:fixed;width:3px;background:var(--ui-info);z-index:6;pointer-events:none}
/* TB1 akhir. */
/* TF1: menu nilai di judul kolom, chip dan lembar bawah HP. */
.ui-column-filter-trigger::before{content:'⌄';margin-right:6px}
.ui-shell .table-wrap th.ui-column-filtered .table-sort{color:var(--ui-info);font-weight:750}
.table-sort[data-filtered=true]::before{content:'⏷'}
.ui-column-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.ui-column-filter-chips[hidden],.ui-column-filter-summary[hidden]{display:none}
.ui-column-filter-chips .ui-column-filter-chip{margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:6px 10px;min-height:36px}
.ui-column-filter-summary{margin:8px 0}
.ui-column-filter-menu{box-sizing:border-box;width:min(340px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:14px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);box-shadow:0 8px 24px #0000001f;font-size:14px;letter-spacing:normal;text-align:left;text-transform:none;white-space:normal}
.ui-column-filter-menu[popover]{position:fixed;inset:auto;margin:0}
.ui-column-filter-menu .dialog-head{gap:12px;margin-bottom:10px}
.ui-column-filter-menu input[type=search]{width:100%;margin:10px 0}
.ui-column-filter-menu label{display:flex;align-items:center;gap:8px;min-height:36px;margin:0;font-weight:400;overflow-wrap:anywhere}
.ui-column-filter-menu input[type=checkbox]{width:auto;min-height:0;margin:0;flex:none}
.ui-column-filter-values{max-height:min(38dvh,300px);overflow:auto;margin:8px 0;border-block:1px solid var(--ui-line)}
.ui-column-filter-actions{display:flex;justify-content:space-between;gap:8px}
.ui-column-filter-actions>button{margin:0;min-height:40px}
@media(max-width:700px){
 dialog.ui-column-filter-sheet{width:100vw;max-width:100vw;max-height:90dvh;margin:auto 0 0;padding:16px 16px max(16px,env(safe-area-inset-bottom));border:0;border-radius:14px 14px 0 0}
 .ui-column-filter-sheet label{min-height:44px}
 .ui-column-filter-sheet .ui-column-filter-actions>button{min-height:44px;flex:1}
}
/* PT1: tindakan baris = tombol utama + menu ⋯ (uiRowMenu di app.js). */
td:has(>.ui-row-actions){white-space:nowrap;text-align:right;width:1%}
.ui-shell .ui-row-actions,.ui-row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;margin:0}
.ui-row-actions>button{flex:none;margin:0}
.ui-row-menu-trigger{min-width:42px;padding-inline:10px;font-size:18px;line-height:1}
.ui-row-menu{min-width:200px;max-height:calc(100dvh - 16px);overflow:auto;padding:6px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);box-shadow:0 8px 24px #0000001f;text-align:left;white-space:nowrap;font-size:14px}
.ui-row-menu[popover]{position:fixed;inset:auto;margin:0}
.ui-row-menu button,.ui-row-menu button.danger{display:block;width:100%;min-height:36px;margin:0;padding:8px 12px;border:0;border-radius:6px;background:none;color:var(--ui-text);font-weight:500;text-align:left;filter:none}
.ui-row-menu button.danger{color:var(--ui-danger)}
.ui-row-menu button:hover,.ui-row-menu button:focus-visible{background:var(--ui-hover);outline-offset:-2px}
.ui-row-menu hr{border:0;border-top:1px solid var(--ui-line);margin:6px 0}
dialog.ui-row-sheet{width:100vw;max-width:100vw;max-height:85dvh;margin:auto 0 0;padding:0;border:0;border-radius:14px 14px 0 0;text-align:left;white-space:normal}
dialog.ui-row-sheet::before{content:"";display:block;width:40px;height:4px;margin:10px auto 2px;border-radius:2px;background:var(--ui-line)}
dialog.ui-row-sheet .ui-row-menu{max-height:none;border:0;border-radius:0;box-shadow:none;padding:4px 10px max(14px,env(safe-area-inset-bottom))}
dialog.ui-row-sheet .ui-row-menu button{min-height:46px;font-size:15px}

/* SD5: pilihan cepat tetap satu baris dan dapat digulir pada layar sempit. */
.ui-quick-filters{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;max-width:100%;padding:4px 0;margin:8px 0}
.ui-shell .ui-quick-filters>button{flex:0 0 auto;white-space:nowrap;border-radius:999px;margin:0;min-height:40px}
.ui-shell .ui-quick-filters>button[aria-pressed=true]{background:#000;color:#fff;border-color:#000}
/* SD5 akhir. */

/* SD4: tombol Unduh Excel bersama; HP hanya ikon. */
.ui-shell .ui-search-actions .ui-export-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:40px;margin:0;white-space:nowrap}
.ui-export-icon{display:inline-flex}
@media(max-width:700px){.ui-shell .ui-search-actions .ui-export-label{display:none}.ui-shell .ui-search-actions .ui-export-button{width:40px;min-width:40px;padding:8px}}
/* SD4 akhir. */

/* SD9: cetakan ruang kerja dan daftar, mengikuti Master Proyek. */
.ui-workspace{min-width:0;max-width:100%}
.ui-tabrow{display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid var(--ui-line);min-width:0}
.ui-tabline{display:flex;align-items:flex-end;gap:4px;min-width:0;flex:0 1 auto}
.ui-tabrow .ui-tabs{border-bottom:0;flex:0 1 auto;min-width:0}
.ui-shell .ui-tabline .ui-tab-add,.ui-tabline .ui-tab-add{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;margin:0 0 2px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--ui-text)}
.ui-tabline .ui-tab-add:hover:not(:disabled){background:var(--ui-line)}
.ui-tab-add .portal-icon{width:18px;height:18px}
.ui-shell .ui-tabline .ui-tab-add[hidden],.ui-tabline .ui-tab-add[hidden],.ui-list-tools[hidden],.ui-panel>.hint[hidden]{display:none}
.ui-list-tools{margin-left:auto;padding-bottom:6px;min-width:0;flex:0 1 500px}
.ui-shell .ui-list-tools .ui-search-actions{width:100%;margin:0}
.ui-workspace .ui-list-tools .ui-search-actions{flex-wrap:nowrap}.ui-workspace .ui-list-tools .ui-search-actions input{flex:1 1 0;width:auto;min-width:0}
.ui-tabs{display:flex;gap:4px;overflow-x:auto;max-width:100%;border-bottom:1px solid var(--ui-line);padding:4px 0 0;scrollbar-width:thin}
.ui-tab{display:flex;align-items:center;flex:none;height:39px;border:1px solid var(--ui-line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--ui-hover);color:var(--ui-muted-text)}
.ui-tab.ui-active{background:var(--ui-panel)}
.ui-tabs .ui-tab-open{display:flex;align-items:center;gap:6px;justify-content:center;height:36px;min-height:36px;padding:8px 12px;border:0;border-radius:0;color:var(--ui-text);background:transparent;white-space:nowrap;font-size:12px;font-weight:500}
.ui-tabs .ui-tab-open:hover,.ui-tabs .ui-tab-open:active{background:transparent;color:var(--ui-text)}
.ui-tabs .ui-tab-close{display:grid;place-items:center;flex:none;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;margin:0 5px 0 0;border:0;border-radius:6px;line-height:1;background:transparent;color:var(--ui-muted-text)}
.ui-tab-close .portal-icon{display:block;width:12px;height:12px;stroke-width:1.7}
.ui-tabs .ui-tab-close:hover:not(:disabled),.ui-tabs .ui-tab-close:focus-visible{background:var(--ui-line);color:var(--ui-text)}
.ui-tabs .ui-tab-open:focus-visible,.ui-tabs .ui-tab-close:focus-visible{outline:1px solid var(--ui-muted);outline-offset:-1px}
.ui-dirty{font-size:14px;margin-right:4px;color:var(--ui-muted-text)}
.ui-panel{padding-top:16px;min-width:0}.ui-panel[hidden],.ui-dirty[hidden]{display:none}
@media(max-width:760px){.ui-tabrow{flex-wrap:wrap;border-bottom:0}.ui-tabline{flex:1 1 100%;border-bottom:1px solid var(--ui-line)}.ui-list-tools{flex:1 1 100%;margin:0;padding:4px 0 0}.ui-tab{height:43px}.ui-tabs .ui-tab-close{width:40px;height:40px;min-height:40px}}
@media(max-width:760px){.ui-list-tools .ui-search-actions>button:first-child{white-space:nowrap}}
.ui-column-menu{flex-direction:column;align-items:stretch;gap:2px}
.ui-column-line{display:flex;align-items:center;gap:6px}.ui-column-line>label{flex:1}
.ui-column-line>button{min-height:36px;min-width:36px;padding:6px}
.ui-column-menu>.ui-column-reset{align-self:flex-start;margin-top:8px}
@media(max-width:760px){.ui-column-line>button,.ui-column-menu>.ui-column-reset{display:none}}
/* SD9 akhir. */

/* TL1 2 Nov: halaman tabel penuh lebar dan satu gulir tegak (penanda ui-page-wide). Formulir dan halaman baca tidak
   memakai penanda ini, jadi tetap ber-max-width. Di bawah 1400px tabel tetap dibatasi dan menggulir sendiri
   (kolom belum tentu muat); di atasnya halaman yang bergulir dan kepala tabel menempel di bawah topbar. */
@media(min-width:761px){
 .ui-shell main:has(.ui-page-wide){max-width:none;padding:0 20px}
 .ui-shell .card.ui-page-wide{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
}
@media(min-width:1400px){
 .ui-shell .ui-page-wide .table-wrap:not(:has(table.ui-sized)){max-height:none;overflow:visible;isolation:auto;border:0;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);border-radius:0;background:var(--ui-panel)}
 .ui-shell .ui-page-wide .table-wrap:not(:has(table.ui-sized)) thead th{top:var(--ui-sticky-top)}
 .ui-shell .ui-page-wide .table-wrap:not(:has(table.ui-sized)) :is(th,td){padding:8px 12px}
 .ui-shell .ui-page-wide .table-wrap:not(:has(table.ui-sized)) tbody td>button{min-height:28px;padding:2px 9px}
}
/* TL1 akhir. */

/* TL2 2 Nov: kotak isian formulir ringkas (label kecil di dalam kotak, dua kolom, lebar terbatas). Tiga bentuk markup yang sudah ada:
   (W) label membungkus isian, (D) .em-field berisi label + isian, (S) label bersaudara dengan isian (kotak = label sebagai atap + isian sebagai dasar).
   Lingkup lewat kelas bersama ui-form atau formulir yang disebut; formulir lain, filter, dan halaman masuk tidak tersentuh. */
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi){display:grid;grid-template-columns:auto 1fr;align-content:start;min-width:0;margin:10px 0 0;padding:6px 10px 5px;border:1px solid var(--ui-input-line);border-radius:8px;background:var(--ui-panel);color:var(--ui-muted-text);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.02em}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi):first-child{margin-top:0}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi):has(>:required)::after{content:"*";order:1;margin-left:3px;color:var(--ui-danger)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi)>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss){order:2;grid-column:1/-1}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi):focus-within{border-color:var(--ui-field-focus);box-shadow:var(--ui-field-ring)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-field:not(.em-check){min-width:0;padding:6px 10px 5px;border:1px solid var(--ui-input-line);border-radius:8px;background:var(--ui-panel)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-field:not(.em-check):focus-within{border-color:var(--ui-field-focus);box-shadow:var(--ui-field-ring)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-field:not(.em-check)>label{display:block;margin:0;color:var(--ui-muted-text);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.02em}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-field:not(.em-check):has(>:required)>label::after{content:" *";color:var(--ui-danger)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea){display:block;width:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:2px 0 1px;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:var(--ui-text);font-size:14px;font-weight:400;letter-spacing:0}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>textarea{min-height:44px;resize:vertical}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>select{padding-right:22px}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>.pss>.pss-input{border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;padding:2px 30px 1px 0;min-height:0;font-size:14px}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>.pss>.pss-toggle{top:50%;right:-6px;height:24px;min-height:0;max-height:none;margin-top:-12px}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(label:has(>:is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):not(.ui-opsi),.em-field:not(.em-check))>.pss.pss-open>.pss-input{border:0;outline:0}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair{padding:6px 10px 5px;border:1px solid var(--ui-input-line);border-radius:8px;background:var(--ui-panel)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair:focus-within{border-color:var(--ui-field-focus);box-shadow:var(--ui-field-ring)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair>label{display:block;margin:0;color:var(--ui-muted-text);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.02em}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair:has(.em-phone-input>:required)>label::after{content:" *";color:var(--ui-danger)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair .em-phone-input{min-height:0;border:0;border-radius:0;background:transparent}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair .em-phone-input:focus-within{outline:0;border-color:transparent}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair .em-phone-input>input{padding:2px 8px 1px 3px;font-size:14px}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-phone-pair .em-country-trigger{min-height:28px;min-width:0;padding:2px 6px}
:is(.ui-form,.pt-form,#detail form) label:has(+ :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)){display:block;margin:10px 0 0;padding:6px 10px 0;border:1px solid var(--ui-input-line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--ui-panel);color:var(--ui-muted-text);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.02em}
:is(.ui-form,.pt-form,#detail form) label:has(+ :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):first-child{margin-top:0}
:is(.ui-form,.pt-form,#detail form) label:has(+ :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):has(+ :required)::after{content:" *";color:var(--ui-danger)}
:is(.ui-form,.pt-form,#detail form) label:has(+ :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):has(+ :focus),:is(.ui-form,.pt-form,#detail form) label:has(+ :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea,.pss)):has(+ .pss:focus-within){border-color:var(--ui-field-focus)}
:is(.ui-form,.pt-form,#detail form) label + :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea){display:block;width:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:1px 10px 6px;border:1px solid var(--ui-input-line);border-top:0;border-radius:0 0 8px 8px;outline:0;box-shadow:none;background:var(--ui-panel);color:var(--ui-text);font-size:14px;font-weight:400}
:is(.ui-form,.pt-form,#detail form) label + :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range],[type=submit],[type=button],[type=search]),select,textarea):focus{border-color:var(--ui-field-focus);box-shadow:var(--ui-field-ring)}
:is(.ui-form,.pt-form,#detail form) label + .pss{margin:0;padding:1px 10px 6px;border:1px solid var(--ui-input-line);border-top:0;border-radius:0 0 8px 8px;background:var(--ui-panel)}
:is(.ui-form,.pt-form,#detail form) label + .pss:focus-within{border-color:var(--ui-field-focus);box-shadow:var(--ui-field-ring)}
:is(.ui-form,.pt-form,#detail form) label + .pss>.pss-input{border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;padding:1px 28px 0 0;min-height:0;font-size:14px}
:is(.ui-form,.pt-form,#detail form) label + .pss>.pss-toggle{top:-3px;right:6px;height:28px}
:is(.ui-form,.pt-form,#detail form) label + .pss.pss-open>.pss-input{border:0;outline:0}
:is(.ui-form,.pt-form,#detail form) :is(fieldset,.ui-field-grup){gap:0}
:is(.ui-form,.pt-form,#detail form) :is(.hint,.small){margin:5px 2px 0;padding:0;border:0;background:none;font-size:11px;line-height:1.4;color:var(--ui-muted-text)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) .em-grid{gap:12px 14px}
.em-profile-form .em-panel{max-width:720px}
.pt-form{max-width:720px}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(fieldset>legend,.ui-form-bagian){padding:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-table-muted)}
:is(.ui-form,.pt-form,.em-profile-form,.pb-panel,#detail form) :is(.actions,.pt-form-aksi,.pb-actions){justify-content:flex-end}
@media(max-width:560px){
.ui-form .actions>button,.pt-form-aksi>button,#detail form .actions>button{flex:1 1 0}
}
/* TL2 akhir. */
