/* DHPMJ UI Finishing v1.0.1 - Mobile Safe
   Berdasar inspeksi Shell v1.0.77 (22-10-2026).
   Hanya penajaman visual; TIDAK mengubah overflow utama, drawer, grid modul, atau viewport. */
.dhpmj-shell {
  --dhpmj-finish-border:#dce5f3;
  --dhpmj-finish-focus:#93c5fd;
}
/* Cegah elemen long-label memaksa main melampaui area konten. */
.dhpmj-shell .dhpmj-shell-main,
.dhpmj-shell .dhpmj-shell-stage,
.dhpmj-shell .dhpmj-shell-topbar-left {min-width:0}
.dhpmj-shell .dhpmj-shell-menu a {line-height:1.4;min-height:42px}
.dhpmj-shell .dhpmj-shell-menu a .dhpmj-shell-ico {flex-shrink:0}
.dhpmj-shell .dhpmj-shell-menu-section {line-height:1.4}
.dhpmj-shell :is(.dhpmj-shell-menu-toggle,.dhpmj-shell-sidebar-close,.dhpmj-shell-user-action,.dhpmj-shell-menu a):focus-visible {
  outline:2px solid var(--dhpmj-finish-focus)!important;
  outline-offset:2px;
}
.dhpmj-shell .dhpmj-shell-stage :is(button,a,input,select,textarea):focus-visible {
  outline:2px solid #2563eb;
  outline-offset:2px;
}
.dhpmj-shell .dhpmj-shell-stage :is(.card,.panel,.exec-kpi,.exec-module,.exec-source-summary-card,.dhpmj-wfl-card,.dhpmj-rs-card,.dhpmj-rs-box) {
  min-width:0;
}
.dhpmj-shell .dhpmj-shell-stage :is(input:not([type=hidden]),select,textarea) {
  box-sizing:border-box;
  max-width:100%;
}
.dhpmj-shell .dhpmj-shell-stage :is(.table-wrap,.responsive-table,.dhpmj-wfl-ranking-table-wrap,.dhpmj-rs-table-wrap) {
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.dhpmj-shell .dhpmj-shell-stage :is(th,td) {line-height:1.45;vertical-align:middle}
.dhpmj-shell .dhpmj-shell-crumb {overflow-wrap:anywhere}
@media (min-width:769px) {
  .dhpmj-shell .dhpmj-shell-menu a {min-height:40px}
}
@media (max-width:768px) {
  /* Shell bertanggung jawab penuh pada drawer dan main scroll. */
  .dhpmj-shell .dhpmj-shell-menu a {font-size:14px;min-height:44px}
  .dhpmj-shell .dhpmj-shell-menu-section {font-size:11px}
  .dhpmj-shell .dhpmj-shell-sidebar-close,
  .dhpmj-shell .dhpmj-shell-menu-toggle {min-width:40px;min-height:40px}
  .dhpmj-shell .dhpmj-shell-stage :is(input:not([type=hidden]),select,textarea) {font-size:16px}
  .dhpmj-shell .dhpmj-shell-stage :is(button,input[type=submit],input[type=button]) {max-width:100%}
}
@media (max-width:480px) {
  .dhpmj-shell .dhpmj-shell-stage :is(.table-wrap,.responsive-table,.dhpmj-wfl-ranking-table-wrap,.dhpmj-rs-table-wrap) {border-radius:10px}
}
@media (prefers-reduced-motion:reduce) {
  .dhpmj-shell .dhpmj-shell-menu a {transition:none}
}
