/* APK Unified Design System 2027
   Single UI model for buttons, tables, pagination, popups, date fields, Select2, and theme controls.
   Loaded last to neutralize legacy inline neon/absolute styles without changing business flow. */
:root{
  --apk-radius-xs:10px;
  --apk-radius-sm:14px;
  --apk-radius-md:18px;
  --apk-radius-lg:24px;
  --apk-radius-pill:999px;
  --apk-bg:#f4f8ff;
  --apk-panel:#ffffff;
  --apk-panel-2:#f8fbff;
  --apk-text:#10223f;
  --apk-heading:#061936;
  --apk-muted:#64748b;
  --apk-line:#d7e4f7;
  --apk-line-strong:#b9cff1;
  --apk-primary:#2454e8;
  --apk-primary-deep:#1437a8;
  --apk-primary-soft:#eaf1ff;
  --apk-purple:#7c3aed;
  --apk-success:#15803d;
  --apk-danger:#dc2626;
  --apk-warning:#d97706;
  --apk-info:#0369a1;
  --apk-shadow:0 14px 34px rgba(15,42,95,.11);
  --apk-shadow-sm:0 8px 20px rgba(15,42,95,.08);
  --apk-focus:0 0 0 4px rgba(36,84,232,.18);
  --apk-button-h:42px;
  --apk-button-pad:0 16px;
  --apk-button-font:800;
}
html[data-apk-theme="dark"]{
  --apk-bg:#07101f;
  --apk-panel:#101c31;
  --apk-panel-2:#14243e;
  --apk-text:#eef6ff;
  --apk-heading:#ffffff;
  --apk-muted:#bdd0e8;
  --apk-line:#293f62;
  --apk-line-strong:#42679e;
  --apk-primary:#68a9ff;
  --apk-primary-deep:#3b82f6;
  --apk-primary-soft:#152b4a;
  --apk-purple:#b197fc;
  --apk-success:#4ade80;
  --apk-danger:#fb7185;
  --apk-warning:#fbbf24;
  --apk-info:#67e8f9;
  --apk-shadow:0 18px 50px rgba(0,0,0,.32);
  --apk-shadow-sm:0 10px 24px rgba(0,0,0,.24);
  --apk-focus:0 0 0 4px rgba(104,169,255,.20);
}

html,body{background:var(--apk-bg)!important;color:var(--apk-text)!important;}
body,input,select,textarea,button,.btn,.form-control,.select2-container{font-family:Inter,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
body{overflow-x:hidden!important;}
a{color:var(--apk-primary);}
a:hover{color:var(--apk-primary-deep);}
#main,#main[style],.apk-page-content,.apk-page-content[style]{background:var(--apk-bg)!important;color:var(--apk-text)!important;}
.card,.box,.apk-list-toolbar,.apk-filter-panel,.apk-data-toolbar,.dataTables_wrapper,.table-responsive,.apk-entry-dialog,.modal-content{
  border-radius:var(--apk-radius-lg)!important;
  border:1px solid var(--apk-line)!important;
  background:var(--apk-panel)!important;
  color:var(--apk-text)!important;
  box-shadow:var(--apk-shadow-sm)!important;
}

/* Kill legacy absolute/neon button model everywhere. */
button, .btn, .button, input[type="submit"], input[type="button"], input[type="reset"],
a.btn, a.button, .dt-button,
.apk-top-action,.apk-secondary-action,.apk-primary-action,.apk-entry-open,.apk-flow-open,.apk-inline-action,
.table button,.table .btn,.table input[type="submit"],.table input[type="button"]{
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  float:none!important;
  clear:none!important;
  z-index:5!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:auto!important;
  width:auto!important;
  min-height:var(--apk-button-h)!important;
  height:auto!important;
  margin:0!important;
  padding:var(--apk-button-pad)!important;
  border:0!important;
  border-radius:var(--apk-radius-pill)!important;
  background:linear-gradient(135deg,var(--apk-primary),var(--apk-purple))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  line-height:1.15!important;
  font-size:13px!important;
  font-weight:var(--apk-button-font)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  opacity:1!important;
  pointer-events:auto!important;
  box-shadow:0 10px 22px rgba(36,84,232,.22)!important;
  transform:none!important;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease!important;
}
button::before,button::after,.btn::before,.btn::after,.button::before,.button::after,.dt-button::before,.dt-button::after{display:none!important;content:none!important;}
button:hover,.btn:hover,.button:hover,input[type="submit"]:hover,input[type="button"]:hover,a.btn:hover,a.button:hover,.dt-button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 28px rgba(36,84,232,.26)!important;
  text-decoration:none!important;
}
button:focus,.btn:focus,input:focus,select:focus,textarea:focus,.form-control:focus,.select2-container--focus .select2-selection{outline:0!important;box-shadow:var(--apk-focus)!important;}
button:disabled,.btn:disabled,input[type="submit"]:disabled,input[type="button"]:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important;}

/* Button variants by known classes / texts. */
.btn-danger,.delete button,button.delete,input[value="Delete"],input[value="Reject"],button[value="Delete"],button[value="Reject"]{background:linear-gradient(135deg,#dc2626,#ef4444)!important;color:#fff!important;}
.btn-success,.approve button,.approvex button,.process button,.donememo button,input[value="Approve"],input[value="Done"],input[value="Ready!"]{background:linear-gradient(135deg,#15803d,#22c55e)!important;color:#fff!important;}
.btn-warning,input[value="Undo"]{background:linear-gradient(135deg,#d97706,#f59e0b)!important;color:#fff!important;}
.detail button,.checks button,.print button,.apk-flow-open{background:linear-gradient(135deg,#0369a1,#2563eb)!important;color:#fff!important;}
.btn-light,.btn-outline-primary,.apk-secondary-action,.apk-inline-action--muted{
  background:var(--apk-panel)!important;
  color:var(--apk-primary)!important;
  -webkit-text-fill-color:var(--apk-primary)!important;
  border:1.5px solid var(--apk-line-strong)!important;
  box-shadow:none!important;
}

/* Theme toggle: explicit listener target, high contrast, always clickable. */
.apk-theme-toggle,
button.apk-theme-toggle{
  min-height:42px!important;
  padding:0 15px!important;
  background:var(--apk-panel)!important;
  color:var(--apk-text)!important;
  -webkit-text-fill-color:var(--apk-text)!important;
  border:1.5px solid var(--apk-line-strong)!important;
  border-radius:var(--apk-radius-pill)!important;
  box-shadow:none!important;
  z-index:20!important;
}
.apk-theme-toggle i{color:var(--apk-primary)!important;-webkit-text-fill-color:var(--apk-primary)!important;}
.apk-top-actions{position:relative!important;z-index:30!important;display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;}
.apk-topbar{position:relative!important;z-index:20!important;overflow:visible!important;}

/* Forms: single clean model. */
.form-group{margin-bottom:16px!important;color:var(--apk-text)!important;}
.form-group label,label{color:var(--apk-heading)!important;font-weight:850!important;margin-bottom:7px!important;}
.form-control,input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="date"],select,textarea{
  width:100%!important;
  min-height:46px!important;
  border-radius:var(--apk-radius-md)!important;
  border:1.5px solid var(--apk-line)!important;
  background:var(--apk-panel)!important;
  color:var(--apk-text)!important;
  -webkit-text-fill-color:var(--apk-text)!important;
  box-shadow:none!important;
  font-weight:700!important;
  padding:10px 14px!important;
}
textarea{min-height:110px!important;resize:vertical!important;}
select{appearance:auto!important;-webkit-appearance:auto!important;cursor:pointer!important;}
input::placeholder,textarea::placeholder{color:var(--apk-muted)!important;-webkit-text-fill-color:var(--apk-muted)!important;opacity:1!important;}
.form-control-icon,.form-group.has-icon-left .form-control-icon{pointer-events:none!important;z-index:3!important;color:var(--apk-primary)!important;}
.form-group.has-icon-left .form-control{padding-left:44px!important;}

/* Modal / popup: stable stacking and no blank body. */
.modal{z-index:10550!important;color:var(--apk-text)!important;}
.modal-backdrop{z-index:10540!important;}
.modal.show{display:block!important;opacity:1!important;visibility:visible!important;}
.modal-dialog{z-index:10560!important;pointer-events:auto!important;}
.modal-content,.modal-header,.modal-body,.modal-footer{
  background:var(--apk-panel)!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;
  border-color:var(--apk-line)!important;
}
.apk-entry-modal{z-index:10500!important;display:none!important;pointer-events:none!important;}
.apk-entry-modal.is-open{display:flex!important;pointer-events:auto!important;}
.apk-entry-backdrop{z-index:0!important;pointer-events:auto!important;}
.apk-entry-dialog{z-index:1!important;pointer-events:auto!important;overflow:auto!important;}
.apk-entry-head{background:linear-gradient(135deg,var(--apk-panel),var(--apk-panel-2))!important;color:var(--apk-text)!important;border-color:var(--apk-line)!important;}
.apk-entry-actions{background:var(--apk-panel)!important;border-color:var(--apk-line)!important;}

/* Select2: visible text, dropdown above modals, but never for Repeat Order unless explicitly requested. */
.select2-container{width:100%!important;max-width:100%!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;}
.select2-container .select2-selection,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  min-height:46px!important;height:auto!important;border-radius:var(--apk-radius-md)!important;border:1.5px solid var(--apk-line)!important;background:var(--apk-panel)!important;color:var(--apk-text)!important;overflow:visible!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;padding-left:14px!important;padding-right:40px!important;}
.select2-container--default .select2-selection--multiple{padding:6px 8px!important;}
.select2-container--default .select2-selection--multiple .select2-selection__choice{border:0!important;border-radius:var(--apk-radius-pill)!important;background:var(--apk-primary-soft)!important;color:var(--apk-primary)!important;-webkit-text-fill-color:var(--apk-primary)!important;font-weight:800!important;padding:6px 10px!important;margin:3px 5px 3px 0!important;}
.select2-dropdown{z-index:200000!important;background:var(--apk-panel)!important;color:var(--apk-text)!important;border:1px solid var(--apk-line)!important;border-radius:18px!important;box-shadow:0 22px 70px rgba(15,23,42,.22)!important;overflow:hidden!important;}
.select2-results__option,.select2-search__field{color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;background:var(--apk-panel)!important;}
.select2-results__option{padding:10px 13px!important;font-weight:750!important;line-height:1.35!important;}
.select2-results__option--highlighted{background:linear-gradient(135deg,var(--apk-primary),var(--apk-purple))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
.select2-search--dropdown{background:var(--apk-panel)!important;padding:8px!important;}
.select2-search--dropdown .select2-search__field{border:1px solid var(--apk-line)!important;border-radius:14px!important;min-height:40px!important;}

/* Date picker: keep old values visible and Zebra readable. */
input.tanggal,input.tanggalDepan,input.tanggalBelakang{background:var(--apk-panel)!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;}
.Zebra_DatePicker,.Zebra_DatePicker *{box-sizing:border-box!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;}
.Zebra_DatePicker{z-index:210000!important;background:var(--apk-panel)!important;border:1px solid var(--apk-line)!important;border-radius:18px!important;box-shadow:0 24px 72px rgba(15,23,42,.24)!important;padding:10px!important;}
.Zebra_DatePicker table,.Zebra_DatePicker thead,.Zebra_DatePicker tbody,.Zebra_DatePicker tr,.Zebra_DatePicker th,.Zebra_DatePicker td{background:var(--apk-panel)!important;color:var(--apk-text)!important;}
.Zebra_DatePicker td,.Zebra_DatePicker th{min-width:34px!important;height:34px!important;text-align:center!important;font-weight:800!important;border-radius:10px!important;}
.Zebra_DatePicker .dp_selected,.Zebra_DatePicker .dp_current{background:linear-gradient(135deg,var(--apk-primary),var(--apk-purple))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
.Zebra_DatePicker button,.Zebra_DatePicker .dp_previous,.Zebra_DatePicker .dp_next,.Zebra_DatePicker .dp_caption{position:relative!important;inset:auto!important;background:var(--apk-panel-2)!important;color:var(--apk-text)!important;border:0!important;box-shadow:none!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;margin:0!important;padding:8px!important;}

/* Tables and action buttons. */
.apk-table-shell,.table-responsive{width:100%!important;overflow-x:auto!important;padding:0!important;margin-top:10px!important;border-radius:var(--apk-radius-lg)!important;background:var(--apk-panel)!important;}
table.table,.apk-data-table{width:100%!important;margin:0!important;border-collapse:separate!important;border-spacing:0!important;color:var(--apk-text)!important;background:var(--apk-panel)!important;}
.table thead th,.apk-data-table thead th{position:sticky;top:0;z-index:2;background:var(--apk-panel-2)!important;color:var(--apk-heading)!important;border-bottom:1px solid var(--apk-line)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.03em!important;white-space:nowrap!important;}
.table td,.table th{vertical-align:middle!important;border-color:var(--apk-line)!important;color:var(--apk-text)!important;}
.table tbody tr:nth-child(even) td{background:rgba(148,163,184,.05)!important;}
.table tbody tr:hover td{background:rgba(36,84,232,.07)!important;}
.apk-action-cell{min-width:180px!important;white-space:normal!important;position:relative!important;z-index:6!important;}
.apk-action-cell form{margin:3px 4px!important;vertical-align:middle!important;position:relative!important;z-index:8!important;pointer-events:auto!important;}
.apk-action-cell button{min-height:36px!important;padding:0 12px!important;font-size:12px!important;}
.apk-action-cell br{display:none!important;}

/* DataTables: faster, clean, readable pagination. */
.dataTables_wrapper{padding:16px!important;margin-top:12px!important;overflow:visible!important;}
.apk-dt-top,.apk-dt-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:8px 0!important;}
.dataTables_length label,.dataTables_filter label,.dataTables_info{color:var(--apk-muted)!important;font-weight:800!important;}
.dataTables_filter input,.dataTables_length select{width:auto!important;min-height:40px!important;border-radius:var(--apk-radius-pill)!important;border:1.5px solid var(--apk-line)!important;background:var(--apk-panel)!important;color:var(--apk-text)!important;margin-left:8px!important;}
.dataTables_paginate{display:flex!important;align-items:center!important;gap:7px!important;overflow-x:auto!important;max-width:100%!important;padding:4px!important;}
.dataTables_paginate .paginate_button,.pagination .page-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:38px!important;height:38px!important;padding:0 12px!important;border-radius:var(--apk-radius-pill)!important;border:1px solid var(--apk-line)!important;background:var(--apk-panel)!important;color:var(--apk-primary)!important;-webkit-text-fill-color:var(--apk-primary)!important;font-weight:900!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer!important;
}
.dataTables_paginate .paginate_button.current,.dataTables_paginate .paginate_button.current:hover,.pagination .page-item.active .page-link{background:linear-gradient(135deg,var(--apk-primary),var(--apk-purple))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important;}
.dataTables_paginate .paginate_button.disabled{opacity:.45!important;cursor:not-allowed!important;}
.dt-buttons{display:none!important;} /* Export buttons disabled for faster table load; can be re-enabled later per page. */

/* Repeat order / repeat row controls. */
select[name*="repeat"],select[id*="repeat"],.repeat-row select,.repeat-order select{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:10!important;background:var(--apk-panel)!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;}
[class*="repeat"],[id*="repeat"]{visibility:visible!important;opacity:1!important;color:var(--apk-text)!important;-webkit-text-fill-color:var(--apk-text)!important;}

/* Mobile. */
@media(max-width:900px){
  .apk-topbar{grid-template-columns:1fr!important;padding:16px!important;}
  .apk-top-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;}
  .apk-top-actions > *{width:100%!important;justify-content:center!important;}
  .apk-dt-top,.apk-dt-bottom{align-items:stretch!important;flex-direction:column!important;}
  .dataTables_filter input,.dataTables_length select{width:100%!important;margin-left:0!important;margin-top:6px!important;}
  .apk-action-cell{min-width:150px!important;}
  .apk-action-cell form{display:block!important;margin:4px 0!important;}
  .apk-action-cell button{width:100%!important;}
}
@media(max-width:680px){
  .apk-entry-modal{padding:0!important;align-items:stretch!important;}
  .apk-entry-dialog{width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;border:0!important;}
  .apk-entry-head{padding:16px!important;}
  .apk-entry-form{padding:16px!important;}
  button,.btn,.button,input[type="submit"],input[type="button"]{min-height:44px!important;}
  .select2-dropdown,.Zebra_DatePicker{max-width:calc(100vw - 20px)!important;}
}
