/* APK Bright 2027 UI
   Purpose: make legacy percetakan app clean, bright, readable, and easier for senior operators. */
:root{
  --apk-bg:#f7fbff;
  --apk-bg-2:#fff4fb;
  --apk-surface:#ffffff;
  --apk-surface-soft:#f8fbff;
  --apk-text:#12203a;
  --apk-heading:#07152f;
  --apk-muted:#667895;
  --apk-border:#dce7f7;
  --apk-border-strong:#bfd2ef;
  --apk-primary:#2563eb;
  --apk-primary-soft:#e8f1ff;
  --apk-pink:#ef3f91;
  --apk-pink-soft:#fff0f7;
  --apk-cyan:#10b8d6;
  --apk-green:#16a34a;
  --apk-yellow:#f59e0b;
  --apk-danger:#dc2626;
  --apk-shadow:0 18px 55px rgba(31,68,128,.10);
  --apk-shadow-soft:0 10px 30px rgba(31,68,128,.07);
  --apk-radius:22px;
  --apk-radius-sm:15px;
}

*{box-sizing:border-box;}
html,body{
  min-height:100%;
  background:
    radial-gradient(circle at 8% 12%, rgba(239,63,145,.13), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(37,99,235,.14), transparent 27%),
    linear-gradient(135deg,#fbfdff 0%,#eef7ff 48%,#fff4fb 100%)!important;
  color:var(--apk-text)!important;
  font-family:Inter, Nunito, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:500!important;
  background-image:none!important;
}
body{overflow-x:hidden;}
a{color:var(--apk-primary);}
a:hover{text-decoration:none;color:#174ac1;}

#app{
  min-height:100vh;
  background:transparent!important;
}
#main{
  background:transparent!important;
  color:var(--apk-text)!important;
  padding:26px 34px 48px!important;
}
#main[style]{background:transparent!important;color:var(--apk-text)!important;}
#main>div,
#main>div[style]{margin-top:18px!important;color:var(--apk-text)!important;}
#main header.mb-3{
  min-height:0!important;
  margin-bottom:0!important;
}
.burger-btn{
  background:#fff!important;
  border:1px solid var(--apk-border)!important;
  width:48px;height:48px;border-radius:16px;
  display:inline-flex!important;align-items:center;justify-content:center;
  box-shadow:var(--apk-shadow-soft);
}

/* Left navigation: bright operating-console style */
.sidebar-wrapper,
.sidebar-wrapper.active{
  background:rgba(255,255,255,.88)!important;
  border-right:1px solid rgba(191,210,239,.9)!important;
  box-shadow:18px 0 45px rgba(31,68,128,.08)!important;
  backdrop-filter:blur(18px);
}
.sidebar-wrapper[style]{border-right:1px solid rgba(191,210,239,.9)!important;}
.sidebar-header{
  padding:24px 22px 12px!important;
  background:transparent!important;
}
.sidebar-header .justify-content-between[style]{font-size:inherit!important;}
.sidebar-header .text,
.text{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:transparent!important;
  color:var(--apk-heading)!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
  text-transform:none!important;
  font-family:Inter, Nunito, system-ui, sans-serif!important;
  user-select:text!important;
}
.sidebar-header .text:before,
.text::before{display:none!important;content:none!important;}
.sidebar-header .text:after{
  content:"APK";
  order:-1;
  width:42px;height:42px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:900;letter-spacing:.02em;
  background:linear-gradient(135deg,#2f7cff 0%,#8b5cf6 48%,#ef3f91 100%);
  box-shadow:0 14px 26px rgba(239,63,145,.24);
}
.neon,.gradient,.spotlight,svg circle{display:none!important;animation:none!important;filter:none!important;}
.sidebar-header span[style*="Sistem Digital"],
.sidebar-header .apk-system-badge{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:12px!important;
  width:auto!important;
  background:linear-gradient(135deg,#eff6ff,#fff0f7)!important;
  color:#2b5dbf!important;
  border:1px solid var(--apk-border)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 20px rgba(37,99,235,.08)!important;
}
.sidebar-header span[style*="Sistem Digital"]:before,
.sidebar-header .apk-system-badge:before{content:"●";color:#22c55e;font-size:13px;}
#sidebar .menu,
ul.menu{
  padding:10px 14px 34px!important;
  background:transparent!important;
}
#sidebar div[style*="background:#333"],
#sidebar div[style*="background: #333"],
.apk-menu-shell{
  background:transparent!important;
  color:var(--apk-text)!important;
  height:auto!important;
  min-height:calc(100vh - 120px)!important;
  margin-top:10px!important;
  border-top:0!important;
}
.apk-user-card{
  margin:0 14px 12px!important;
  padding:15px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f0f7ff 100%)!important;
  border:1px solid var(--apk-border)!important;
  box-shadow:var(--apk-shadow-soft)!important;
  color:var(--apk-text)!important;
}
.apk-user-card .apk-page-label{
  font-size:11px!important;
  color:var(--apk-pink)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.apk-user-card .apk-page-title{
  font-size:16px!important;
  line-height:1.25!important;
  color:var(--apk-heading)!important;
  font-weight:900!important;
  margin-top:3px!important;
}
.apk-user-card .apk-date,
.apk-user-card .apk-welcome{
  color:var(--apk-muted)!important;
  font-size:12px!important;
  margin-top:7px!important;
}
.apk-user-card b{color:var(--apk-primary)!important;}
.sidebar-item{margin:5px 0!important;}
#sidebar .sidebar-link,
.sidebar-wrapper .sidebar-link{
  min-height:48px!important;
  border-radius:16px!important;
  margin:3px 0!important;
  padding:13px 14px!important;
  color:#243553!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  font-weight:850!important;
  font-size:15px!important;
  transition:.18s ease!important;
}
#sidebar .sidebar-link i{
  width:34px;height:34px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#eef6ff!important;
  color:var(--apk-primary)!important;
  font-size:16px!important;
}
#sidebar .sidebar-link:hover,
.sidebar-item.active>.sidebar-link{
  background:linear-gradient(135deg,#eef6ff,#fff3fa)!important;
  color:var(--apk-heading)!important;
  transform:translateX(2px);
  box-shadow:0 10px 24px rgba(37,99,235,.10)!important;
}
#sidebar .submenu{
  background:#fff!important;
  border:1px solid var(--apk-border)!important;
  border-radius:18px!important;
  padding:8px!important;
  margin:4px 0 12px 0!important;
  box-shadow:0 12px 28px rgba(31,68,128,.06)!important;
}
#sidebar .submenu-item a{
  color:#40516f!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  display:block!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:750!important;
}
#sidebar .submenu-item a:hover{
  background:linear-gradient(135deg,#eff6ff,#fff0f7)!important;
  color:var(--apk-primary)!important;
}
#sidebar span[style*="gold"]{color:#8b5cf6!important;}

/* Top bar */
.apk-topbar{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  margin-bottom:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.96));
  border:1px solid var(--apk-border);
  border-radius:28px;
  box-shadow:var(--apk-shadow);
  position:relative;
  overflow:hidden;
}
.apk-topbar:before{
  content:"";
  position:absolute;right:-90px;top:-110px;width:320px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(239,63,145,.18),transparent 65%);
}
.apk-topbar:after{
  content:"";
  position:absolute;right:130px;bottom:-80px;width:260px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.13),transparent 65%);
}
.apk-topbar>*{position:relative;z-index:1;}
.apk-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;
  background:var(--apk-pink-soft);color:var(--apk-pink);
  border:1px solid #ffd2e7;
  font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;
}
.apk-pill:before{content:"●";color:#22c55e;font-size:12px;}
.apk-topbar h1{
  margin:8px 0 4px!important;
  color:var(--apk-heading)!important;
  font-weight:950!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
.apk-topbar p{margin:0;color:var(--apk-muted);font-size:15px;font-weight:650;}
.apk-top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.apk-top-action,
.apk-secondary-action{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:12px 17px;border-radius:16px;
  font-weight:900;text-decoration:none!important;
  border:1px solid var(--apk-border);
  white-space:nowrap;
}
.apk-top-action{
  color:#fff!important;
  background:linear-gradient(135deg,#ef3f91,#8b5cf6 52%,#2563eb)!important;
  box-shadow:0 15px 30px rgba(239,63,145,.20);
}
.apk-secondary-action{background:#fff;color:var(--apk-primary)!important;}

/* Cards, forms, tables */
h1,h2,h3,h4,h5{
  color:var(--apk-heading)!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
}
h1{font-size:34px!important;margin-bottom:18px!important;}
.form-group,
.card,
.content-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--apk-border)!important;
  border-radius:22px!important;
  padding:18px 20px!important;
  margin-bottom:16px!important;
  box-shadow:var(--apk-shadow-soft)!important;
}
.form-group label,
.form-group>label,
label{
  color:#4d607f!important;
  font-size:13px!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  font-weight:850!important;
}
.form-control,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="email"],
textarea,
select,
.select2-container--default .select2-selection--single{
  border:1.5px solid var(--apk-border)!important;
  border-radius:16px!important;
  min-height:48px!important;
  background:#fff!important;
  color:var(--apk-heading)!important;
  box-shadow:none!important;
  animation:none!important;
  font-size:15px!important;
  font-weight:650!important;
}
textarea{padding:12px 14px!important;}
.form-control,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="email"]{padding:10px 14px!important;}
.form-control:focus,
input:focus,
textarea:focus,
select:focus{
  border-color:#7bb5ff!important;
  box-shadow:0 0 0 5px rgba(37,99,235,.12)!important;
  outline:0!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:46px!important;color:var(--apk-heading)!important;font-weight:700!important;padding-left:14px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px!important;}

button,.btn,.button,input[type="button"],input[type="submit"],
a.button{
  position:relative!important;
  right:auto!important;left:auto!important;top:auto!important;
  clear:none!important;
  min-width:auto!important;
  height:auto!important;
  min-height:40px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--apk-primary),#8b5cf6)!important;
  color:#fff!important;
  padding:10px 15px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
  box-shadow:0 12px 22px rgba(37,99,235,.18)!important;
  z-index:1!important;
  cursor:pointer!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:3px 3px 6px 0!important;
}
button:before,button:after,.btn:before,.btn:after{display:none!important;content:none!important;}
button:hover,.btn:hover,.button:hover,input[type="submit"]:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}
.btn-danger,.button.btn-danger,.delete button{background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 12px 22px rgba(220,38,38,.17)!important;}
.process button,.donememo button,.approve button,.approvex button{background:linear-gradient(135deg,#16a34a,#10b981)!important;box-shadow:0 12px 22px rgba(22,163,74,.18)!important;}
.detail button,.checks button,.print button{background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;}
.edit button{background:linear-gradient(135deg,#8b5cf6,#2563eb)!important;}

.table-responsive{
  background:rgba(255,255,255,.97)!important;
  border:1px solid var(--apk-border)!important;
  border-radius:24px!important;
  padding:15px!important;
  box-shadow:var(--apk-shadow)!important;
  overflow:auto!important;
  margin:14px 0 28px!important;
}
table.table,
.table{
  background:#fff!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:0!important;
  width:100%!important;
  margin-bottom:0!important;
  font-size:14px!important;
}
table.table thead th,table.table thead td,
.table thead th,.table thead td{
  background:linear-gradient(180deg,#eff6ff,#f8fbff)!important;
  color:#24447b!important;
  border:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  white-space:nowrap!important;
  padding:14px 12px!important;
  font-weight:950!important;
}
table.table thead th:first-child{border-top-left-radius:14px!important;}
table.table thead th:last-child{border-top-right-radius:14px!important;}
table.table tbody td,
.table tbody td{
  border-top:1px solid #edf3fb!important;
  color:#243553!important;
  vertical-align:top!important;
  font-weight:650!important;
  padding:13px 12px!important;
  background:#fff!important;
}
table.table tbody tr:hover td{background:#f8fbff!important;}
table.table td:first-child{min-width:145px!important;}
.dataTables_wrapper{font-size:14px!important;color:var(--apk-text)!important;}
.dataTables_wrapper .dt-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;}
button.dt-button, div.dt-button, a.dt-button, input.dt-button,
.dataTables_wrapper .dt-buttons .dt-button{
  position:relative!important;
  float:none!important;
  margin:0 6px 8px 0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--apk-primary)!important;
  border:1px solid var(--apk-border)!important;
  padding:9px 13px!important;
  box-shadow:0 8px 18px rgba(37,99,235,.08)!important;
  font-weight:850!important;
}
.dataTables_filter input,.dataTables_length select{
  border:1.5px solid var(--apk-border)!important;
  border-radius:12px!important;
  padding:8px 12px!important;
  margin-left:8px!important;
}
.dataTables_info,.dataTables_paginate{margin-top:12px!important;color:var(--apk-muted)!important;font-weight:700!important;}
.page-link{border-radius:10px!important;margin:0 2px!important;border-color:var(--apk-border)!important;color:var(--apk-primary)!important;}
.page-item.active .page-link{background:var(--apk-primary)!important;border-color:var(--apk-primary)!important;}

.alert{
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff7ed,#fee2e2)!important;
  color:#991b1b!important;
  box-shadow:var(--apk-shadow-soft)!important;
  font-weight:800!important;
}
.closebtn{color:#991b1b!important;}

/* Legacy inline override safety */
[style*="background:#000"],[style*="background: #000"]{background-color:transparent!important;}
[style*="color:#ef5350"]{color:var(--apk-pink)!important;}
[style*="color:#333"]{color:var(--apk-text)!important;}
[style*="border: solid 2px #000"]{border-color:var(--apk-border)!important;}

/* Login page brightening */
#auth{background:linear-gradient(135deg,#f9fdff,#fff3fa)!important;}
#auth .card,#auth .auth-title{color:var(--apk-heading)!important;}

/* Mobile / senior readability */
@media(max-width:1199px){
  #main{padding:18px 18px 42px!important;}
  .apk-topbar{margin-top:8px;}
}
@media(max-width:768px){
  body{font-size:15px!important;}
  #main{padding:14px!important;}
  .apk-topbar{padding:18px;border-radius:22px;display:block;}
  .apk-top-actions{justify-content:flex-start;margin-top:14px;}
  .form-group{padding:15px!important;}
  .table-responsive{padding:9px!important;border-radius:18px!important;}
  table.table{font-size:13px!important;}
  button,.btn,.button,input[type="submit"]{width:auto!important;margin:4px 3px!important;}
  .sidebar-header .text{font-size:16px!important;}
}


/* APK 2027 hotfix: remove legacy floating document labels and large empty gaps */
.apk-page-content{
  margin-top:20px!important;
  color:var(--apk-text)!important;
}
#main div[style*="margin-top:169px"]{
  margin-top:20px!important;
  color:var(--apk-text)!important;
}
form[style*="margin-top:100px"]{
  margin-top:18px!important;
}
.form-group:has(> label[style*="position:absolute"]){
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  min-height:auto!important;
  padding:14px 16px!important;
  margin:0 0 18px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f2f8ff 62%,#fff3fa 100%)!important;
  border:1px solid var(--apk-border)!important;
  border-radius:20px!important;
  box-shadow:0 10px 28px rgba(31,68,128,.07)!important;
}
.form-group:has(> label[style*="position:absolute"]) br{
  display:none!important;
}
.form-group > label[style*="position:absolute"]{
  position:static!important;
  right:auto!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  border:1px solid #d8e6fb!important;
  background:#ffffff!important;
  color:#315071!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  box-shadow:0 6px 16px rgba(37,99,235,.07)!important;
}
.form-group > label[style*="position:absolute"]:first-child{
  background:linear-gradient(135deg,#2563eb,#8b5cf6)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.form-group.position-relative{
  overflow:visible!important;
}
.form-group.position-relative > select.form-control,
.form-group.position-relative > input.form-control{
  margin-top:8px!important;
  width:100%!important;
}
select.form-control{
  padding-right:42px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:768px){
  .form-group:has(> label[style*="position:absolute"]){
    justify-content:flex-start!important;
  }
  .form-group > label[style*="position:absolute"]{
    font-size:11px!important;
    white-space:normal!important;
    text-align:left!important;
  }
}

/* APK 2027 Form Stabilizer Hotfix
   Fixes legacy forms that shifted because every .form-group became a large card.
   Entry forms now live inside one clean panel; fields align in a stable grid. */
html.apk-modal-open,
html.apk-modal-open body{overflow:hidden!important;}

.apk-data-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:14px 0 18px!important;
  padding:18px 20px!important;
  border:1px solid var(--apk-border)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 60%,#fff3fa 100%)!important;
  box-shadow:var(--apk-shadow-soft)!important;
}
.apk-data-toolbar h2{margin:4px 0 3px!important;font-size:24px!important;letter-spacing:-.03em!important;}
.apk-data-toolbar p{margin:0!important;color:var(--apk-muted)!important;font-size:14px!important;font-weight:700!important;}
.apk-toolbar-kicker{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  color:var(--apk-pink)!important;font-size:12px!important;font-weight:950!important;
  letter-spacing:.07em!important;text-transform:uppercase!important;
}
.apk-toolbar-kicker:before{content:"●";color:#22c55e;font-size:12px;}

/* modal/shared entry */
.apk-entry-modal{position:fixed!important;inset:0!important;z-index:99999!important;display:none!important;align-items:center!important;justify-content:center!important;padding:22px!important;}
.apk-entry-modal.is-open{display:flex!important;}
.apk-entry-backdrop{position:absolute!important;inset:0!important;background:rgba(15,23,42,.42)!important;backdrop-filter:blur(7px)!important;}
.apk-entry-dialog{
  position:relative!important;width:min(860px,100%)!important;max-height:calc(100vh - 44px)!important;overflow:auto!important;
  border-radius:28px!important;background:#fff!important;border:1px solid rgba(219,231,255,.95)!important;
  box-shadow:0 36px 100px rgba(15,23,42,.28)!important;
}
.apk-entry-head{
  position:sticky!important;top:0!important;z-index:3!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  padding:22px 24px!important;border-bottom:1px solid #e7eefc!important;background:linear-gradient(135deg,#fff 0%,#f7fbff 64%,#fff3fb 100%)!important;
}
.apk-entry-kicker{display:inline-flex!important;margin-bottom:6px!important;color:var(--apk-pink)!important;font-size:12px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.apk-entry-head h2{margin:0!important;color:var(--apk-heading)!important;font-size:24px!important;font-weight:950!important;letter-spacing:-.03em!important;}
.apk-entry-head p{margin:5px 0 0!important;color:var(--apk-muted)!important;font-weight:700!important;line-height:1.45!important;}
.apk-entry-close{
  width:42px!important;height:42px!important;min-width:42px!important;border:1px solid #dbe7ff!important;border-radius:14px!important;background:#fff!important;color:#1e293b!important;
  font-size:26px!important;line-height:1!important;box-shadow:none!important;padding:0!important;margin:0!important;
}
.apk-entry-form{margin:0!important;padding:22px 24px 26px!important;background:#fff!important;border:0!important;box-shadow:none!important;}
.apk-form-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;}
.apk-field{grid-column:span 6!important;min-width:0!important;}
.apk-field--full,.apk-entry-actions{grid-column:1 / -1!important;}
.apk-field label{display:block!important;margin:0 0 8px!important;color:#34435f!important;font-size:13px!important;font-weight:900!important;letter-spacing:.01em!important;}
.apk-input-wrap{position:relative!important;display:block!important;}
.apk-input-wrap>i{
  position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;
  color:#2563eb!important;font-size:18px!important;width:22px!important;text-align:center!important;pointer-events:none!important;
}
.apk-input-wrap--textarea>i{top:18px!important;transform:none!important;}
.apk-input-wrap .form-control,
.apk-input-wrap input,
.apk-input-wrap textarea,
.apk-input-wrap select{
  width:100%!important;min-height:52px!important;border:1.5px solid #d4e2f7!important;border-radius:16px!important;background:#fff!important;color:var(--apk-heading)!important;
  font-size:15px!important;font-weight:750!important;box-shadow:none!important;padding:12px 14px 12px 50px!important;margin:0!important;
}
.apk-input-wrap textarea{min-height:132px!important;resize:vertical!important;padding-top:14px!important;}
.apk-input-wrap .form-control:focus,.apk-input-wrap input:focus,.apk-input-wrap textarea:focus,.apk-input-wrap select:focus{border-color:#7bb5ff!important;box-shadow:0 0 0 5px rgba(37,99,235,.12)!important;outline:none!important;}
.apk-entry-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;margin-top:4px!important;padding-top:18px!important;border-top:1px solid #edf2fb!important;}
.apk-primary-action,.apk-secondary-action,.apk-entry-open{
  position:relative!important;inset:auto!important;float:none!important;clear:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  min-height:48px!important;width:auto!important;min-width:0!important;border-radius:15px!important;padding:13px 18px!important;font-weight:950!important;text-decoration:none!important;
}
.apk-primary-action,.apk-entry-open{border:0!important;color:#fff!important;background:linear-gradient(135deg,var(--apk-primary),#8b5cf6)!important;box-shadow:0 14px 26px rgba(37,99,235,.20)!important;}
.apk-secondary-action{color:#1d4ed8!important;background:#fff!important;border:1px solid #cfe0ff!important;box-shadow:none!important;}
.apk-alert-inline{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin:12px 0!important;padding:14px 16px!important;}
.apk-inline-undo{margin:0!important;display:inline-flex!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;}
.apk-inline-undo button{min-height:34px!important;padding:8px 12px!important;border-radius:12px!important;}

/* stabilize old inline entry forms that are still rendered directly */
#main > form[action*="brain/init.php"],
#main > form[action*="../brain/init.php"],
#main > form[action*="/brain/init.php"],
#main > form[action*="formula/"],
#main > form[action*="docgen/"]{
  width:100%!important;margin:18px 0 22px!important;padding:22px!important;border:1px solid var(--apk-border)!important;border-radius:26px!important;background:rgba(255,255,255,.97)!important;box-shadow:var(--apk-shadow-soft)!important;
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;align-items:start!important;
}
#main > form[action*="brain/init.php"] > .form-group,
#main > form[action*="../brain/init.php"] > .form-group,
#main > form[action*="/brain/init.php"] > .form-group,
#main > form[action*="formula/"] > .form-group,
#main > form[action*="docgen/"] > .form-group{
  grid-column:span 6!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;min-width:0!important;position:relative!important;
}
#main > form[action*="brain/init.php"] > .form-group:has(textarea),
#main > form[action*="../brain/init.php"] > .form-group:has(textarea),
#main > form[action*="/brain/init.php"] > .form-group:has(textarea),
#main > form[action*="formula/"] > .form-group:has(textarea),
#main > form[action*="docgen/"] > .form-group:has(textarea){grid-column:1 / -1!important;}
#main > form[action*="brain/init.php"] > button,
#main > form[action*="../brain/init.php"] > button,
#main > form[action*="/brain/init.php"] > button,
#main > form[action*="formula/"] > button,
#main > form[action*="docgen/"] > button,
#main > form[action*="brain/init.php"] > input[type="submit"],
#main > form[action*="../brain/init.php"] > input[type="submit"],
#main > form[action*="/brain/init.php"] > input[type="submit"]{grid-column:1 / -1!important;justify-self:start!important;}
.form-group.position-relative.has-icon-left .form-control{padding-left:50px!important;}
.form-group.position-relative.has-icon-left .form-control-icon{
  position:absolute!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;margin:0!important;color:var(--apk-primary)!important;pointer-events:none!important;
}
.form-group.position-relative.has-icon-left:has(textarea) .form-control-icon{top:18px!important;transform:none!important;}
.form-group.position-relative.has-icon-left > div:not(.form-control-icon) i[style]{
  position:absolute!important;left:16px!important;top:18px!important;margin-left:0!important;color:var(--apk-primary)!important;z-index:2!important;pointer-events:none!important;
}
.form-group.position-relative.has-icon-left textarea.form-control{padding-left:50px!important;}

/* table action column must not stretch the whole table */
.table-responsive{max-width:100%!important;}
table.table td:first-child{min-width:112px!important;width:112px!important;white-space:normal!important;}
table.table td:first-child form{display:block!important;margin:0 0 8px!important;}
table.table td:first-child button{width:82px!important;min-width:82px!important;min-height:38px!important;padding:9px 10px!important;margin:0!important;border-radius:12px!important;font-size:13px!important;}
.dataTables_wrapper{width:100%!important;overflow:visible!important;}
.dataTables_wrapper .row{align-items:center!important;row-gap:10px!important;}
.dataTables_filter{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;}
.dataTables_filter label{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;}
.dataTables_filter input{min-width:180px!important;max-width:260px!important;}

@media(max-width:900px){
  .apk-data-toolbar{flex-direction:column!important;align-items:flex-start!important;}
  .apk-data-toolbar .apk-entry-open{width:100%!important;}
  .apk-field{grid-column:1 / -1!important;}
  #main > form[action*="brain/init.php"],#main > form[action*="../brain/init.php"],#main > form[action*="/brain/init.php"],#main > form[action*="formula/"],#main > form[action*="docgen/"]{grid-template-columns:1fr!important;padding:16px!important;border-radius:22px!important;}
  #main > form[action*="brain/init.php"] > .form-group,#main > form[action*="../brain/init.php"] > .form-group,#main > form[action*="/brain/init.php"] > .form-group,#main > form[action*="formula/"] > .form-group,#main > form[action*="docgen/"] > .form-group{grid-column:1 / -1!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-head h2{font-size:20px!important;}
  .apk-entry-form{padding:16px!important;}
  .apk-entry-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding-bottom:12px!important;}
  .apk-entry-actions button,.apk-primary-action,.apk-secondary-action{width:100%!important;}
  .dataTables_filter{justify-content:flex-start!important;width:100%!important;}
  .dataTables_filter label,.dataTables_filter input{width:100%!important;max-width:none!important;}
}

/* APK 2027 pagination stabilizer: DataTables + Bootstrap pagination */
.dataTables_wrapper .dataTables_paginate,
.dataTables_paginate,
.pagination,
ul.pagination{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  text-align:right!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_paginate .paginate_button,
.pagination .page-item,
ul.pagination .page-item,
.pagination li,
ul.pagination li{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  min-width:auto!important;
  height:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  list-style:none!important;
  opacity:1!important;
  text-indent:0!important;
  overflow:visible!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button a,
.dataTables_paginate .paginate_button a,
.pagination .page-link,
ul.pagination .page-link,
.pagination li > a,
ul.pagination li > a,
.pagination li > span,
ul.pagination li > span,
.dataTables_wrapper .dataTables_paginate .paginate_button{
  position:relative!important;
  inset:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:44px!important;
  height:42px!important;
  padding:0 14px!important;
  margin:0!important;
  border-radius:14px!important;
  border:1.5px solid #dbe7fb!important;
  background:#fff!important;
  color:#2563eb!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:center!important;
  text-decoration:none!important;
  text-indent:0!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(37,99,235,.07)!important;
  opacity:1!important;
  overflow:visible!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous,
.dataTables_wrapper .dataTables_paginate .paginate_button.next,
.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next,
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link{
  min-width:86px!important;
  padding:0 16px!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.active,
.dataTables_paginate .paginate_button.current,
.dataTables_paginate .paginate_button.active,
.pagination .page-item.active .page-link,
ul.pagination .page-item.active .page-link,
.pagination li.active > a,
.pagination li.active > span{
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(37,99,235,.22)!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current *,
.dataTables_wrapper .dataTables_paginate .paginate_button.active *,
.pagination .page-item.active .page-link *,
ul.pagination .page-item.active .page-link *{
  color:#fff!important;
  fill:#fff!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_paginate .paginate_button.disabled,
.pagination .page-item.disabled .page-link,
ul.pagination .page-item.disabled .page-link{
  opacity:.55!important;
  cursor:not-allowed!important;
  color:#94a3b8!important;
  background:#f8fbff!important;
  box-shadow:none!important;
}
.dataTables_wrapper .row:last-child,
.dataTables_wrapper > .row:last-child{
  align-items:center!important;
  row-gap:12px!important;
  margin-top:10px!important;
}
.dataTables_wrapper .dataTables_info{
  margin:16px 0 0!important;
  color:#64748b!important;
  font-weight:800!important;
  text-align:left!important;
}
@media(max-width:900px){
  .dataTables_wrapper .dataTables_paginate,
  .dataTables_paginate,
  .pagination,
  ul.pagination{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 2px 8px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button a,
  .dataTables_paginate .paginate_button a,
  .pagination .page-link,
  ul.pagination .page-link,
  .pagination li > a,
  ul.pagination li > a,
  .pagination li > span,
  ul.pagination li > span,
  .dataTables_wrapper .dataTables_paginate .paginate_button{
    min-width:42px!important;
    height:40px!important;
    padding:0 12px!important;
    flex:0 0 auto!important;
  }
}
