
:root{--bg:#07111f;--bg-soft:#0b1728;--panel:#0d1b2e;--panel-2:#122238;--line:rgba(255,255,255,.08);--gold:#d8a94d;--gold-light:#f3d58c;--gold-deep:#a77324;--text:#f7f8fb;--muted:#91a0b5;--success:#39d98a;--danger:#ff6475;--shadow:0 24px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(42,111,151,.14),transparent 34%),radial-gradient(circle at 85% 80%,rgba(216,169,77,.10),transparent 32%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}button,input{font:inherit}.hidden{display:none!important}
.ambient{position:fixed;border-radius:999px;filter:blur(90px);pointer-events:none}.ambient-one{width:380px;height:380px;left:-140px;top:-100px;background:rgba(23,104,146,.18)}.ambient-two{width:320px;height:320px;right:-120px;bottom:-80px;background:rgba(216,169,77,.10)}
.login-page{min-height:100vh;padding:30px;display:grid;place-items:center;position:relative;z-index:1}.login-shell{width:min(1180px,100%);min-height:690px;display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:rgba(7,17,31,.74);backdrop-filter:blur(22px)}
.brand-showcase{position:relative;padding:54px 64px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:linear-gradient(145deg,rgba(13,27,46,.96),rgba(7,17,31,.88))}.brand-showcase:before{content:"";position:absolute;inset:22px;border:1px solid rgba(216,169,77,.14);border-radius:24px}.login-logo{width:min(360px,72%);max-height:300px;object-fit:contain;margin:0 auto 20px;filter:drop-shadow(0 22px 28px rgba(0,0,0,.48));position:relative;z-index:1}.brand-copy{position:relative;z-index:1;text-align:center}.eyebrow,.mini-badge{display:inline-flex;color:var(--gold-light);letter-spacing:.18em;font-size:11px;font-weight:800;text-transform:uppercase}.brand-copy h1{font-family:"Playfair Display",serif;font-size:clamp(34px,4.5vw,58px);line-height:1.06;margin:15px 0 18px}.brand-copy p{color:var(--muted);line-height:1.8;font-size:15px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.feature-row div{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:15px;padding:15px;text-align:center}.feature-row strong{display:block;color:var(--gold-light);font-size:13px}.feature-row span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.login-card{padding:62px 46px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,rgba(15,30,50,.98),rgba(8,18,31,.98))}.login-card-head h2{font-size:30px;margin:14px 0 8px}.login-card-head p{color:var(--muted);font-size:14px;margin-bottom:32px}#login-form label>span{font-size:12px;font-weight:700;color:#cdd5e0;display:block;margin-bottom:9px}#login-form label{display:block;margin-bottom:19px}.field{height:52px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;padding:0 15px;background:rgba(255,255,255,.025)}.field:focus-within{border-color:rgba(216,169,77,.7);box-shadow:0 0 0 4px rgba(216,169,77,.08)}.field i{font-style:normal}.field input{flex:1;height:100%;border:0;outline:0;background:transparent;color:white;padding:0 12px}.password-toggle{background:transparent;color:#aab5c4;cursor:pointer}.form-meta{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 22px}.remember{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:12px}.remember span{margin:0!important;color:var(--muted)!important}.link-button{background:none;color:var(--gold-light);font-size:12px}.primary-button{height:54px;width:100%;border:0;border-radius:14px;cursor:pointer;color:#111820;font-weight:800;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-deep))}.error-msg{min-height:20px;color:var(--danger);font-size:12px;text-align:center;margin-top:14px}.login-footer{text-align:center;color:#5f7087;font-size:11px;margin-top:34px}
.app-shell{min-height:100vh;display:flex;position:relative;z-index:1}.sidebar{width:274px;height:100vh;position:fixed;left:0;top:0;z-index:50;background:linear-gradient(180deg,#0c192b,#081322);border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-brand{min-height:84px;padding:12px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.sidebar-brand img{width:50px;height:50px;object-fit:contain}.sidebar-brand strong{display:block;font-family:"Playfair Display",serif;font-size:19px;color:var(--gold-light)}.sidebar-brand span{font-size:9px;color:var(--muted)}.sidebar-close{display:none;margin-left:auto;background:transparent;color:white;font-size:28px}.sidebar-caption{font-size:9px;color:#627288;letter-spacing:.16em;font-weight:800;padding:20px 22px 8px}.sidebar-menu{padding:0 12px 12px;overflow-y:auto;flex:1}.menu-item{display:flex;align-items:center;gap:13px;text-decoration:none;color:#94a2b6;padding:11px 12px;border-radius:11px;margin:3px 0;font-size:12px;border:1px solid transparent}.menu-item span{width:22px;text-align:center}.menu-item.active{color:#f6e3b2;background:linear-gradient(90deg,rgba(216,169,77,.18),rgba(216,169,77,.045));border-color:rgba(216,169,77,.18);box-shadow:inset 3px 0 0 var(--gold)}.sidebar-footer{padding:12px;border-top:1px solid var(--line);display:grid;gap:8px}.sidebar-action{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.025);color:#8f9eb2;text-align:left}.sidebar-action.logout{color:#ff9aa5}.content-area{margin-left:274px;min-height:100vh;width:calc(100% - 274px)}.main-header{height:84px;position:sticky;top:0;z-index:30;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(7,17,31,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-left,.header-right,.user-chip{display:flex;align-items:center}.header-left{gap:14px}.header-right{gap:12px}.breadcrumb{font-size:9px;color:#627288;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.breadcrumb span{color:var(--gold)}.mobile-menu{display:none;background:transparent;color:white;font-size:22px}.icon-button{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.035);color:#d7dfeb;border:1px solid var(--line)}.user-chip{gap:10px;padding:7px 10px 7px 7px;border:1px solid var(--line);border-radius:14px}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-light),var(--gold-deep));color:#16202b;font-weight:900}.user-chip strong{display:block;font-size:11px}.user-chip span{display:block;color:var(--muted);font-size:9px}
#content-container{padding:28px}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-intro p{color:var(--muted);font-size:12px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{background:linear-gradient(145deg,rgba(18,34,56,.96),rgba(11,24,41,.96));border:1px solid var(--line);border-radius:18px;padding:20px}.card{position:relative}.card-label{color:var(--muted);font-size:11px}.card-value{font-size:25px;font-weight:800;margin:10px 0}.card-trend{font-size:10px;color:var(--success)}.card-icon{position:absolute;right:16px;bottom:16px;font-size:22px;opacity:.5}.dashboard-lower{display:grid;grid-template-columns:1.45fr .85fr;gap:16px;margin-top:16px}.panel-head{display:flex;justify-content:space-between;margin-bottom:18px}.activity-list{display:grid;gap:12px}.activity{display:flex;align-items:center;gap:12px;padding:12px;border-radius:13px;background:rgba(255,255,255,.025)}.activity-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(216,169,77,.11)}.activity strong{font-size:11px}.activity p{font-size:10px;color:var(--muted)}.activity time{margin-left:auto;font-size:9px;color:#68788d}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{min-height:84px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);color:white;padding:14px;text-align:left}.quick-action span{font-size:20px;display:block;margin-bottom:10px}.btn-add{background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));color:#121821;padding:11px 16px;border-radius:11px;font-weight:800}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.search-box{width:min(300px,100%);height:40px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:white}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}.data-table th{color:var(--gold-light);font-size:9px}.status{padding:5px 8px;border-radius:999px;font-size:9px}.status.ok{background:rgba(57,217,138,.11);color:#65e3a6}.status.warn{background:rgba(255,189,70,.11);color:#ffd17a}.empty-state{text-align:center;padding:44px}.symbol{font-size:46px}.toast{
  position:fixed;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  z-index:500;
  width:min(430px,calc(100vw - 32px));
  min-height:96px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
  padding:18px 18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:20px;
  background:rgba(255,255,255,.97);
  box-shadow:0 28px 80px rgba(21,61,101,.28),0 8px 24px rgba(21,61,101,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-44%) scale(.94);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
}
.toast.show{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}
.toast::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,0));
}
.toast-icon{
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  font-size:24px;
  font-weight:900;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.toast-copy{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.toast-copy strong{
  color:#173858;
  font-size:15px;
  line-height:1.25;
}
.toast-copy span{
  color:#60788f;
  font-size:12px;
  line-height:1.55;
  word-break:break-word;
}
.toast-close{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #cbdceb;
  border-radius:11px;
  background:#f7fbff;
  color:#405b75;
  font-size:20px;
  cursor:pointer;
}
.toast-close:hover{background:#edf6ff}
.toast-success{border-color:#bfe8d5}
.toast-success .toast-icon{background:linear-gradient(145deg,#24b474,#148a57)}
.toast-error{border-color:#f1c4ca}
.toast-error .toast-icon{background:linear-gradient(145deg,#f15b6b,#c9374b)}
.toast-warning{border-color:#f1dca8}
.toast-warning .toast-icon{background:linear-gradient(145deg,#f1b936,#d88b0d)}
.toast-info{border-color:#bdddf5}
.toast-info .toast-icon{background:linear-gradient(145deg,#3da4f5,#176fc4)}
body.toast-visible::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:490;
  background:rgba(18,42,67,.26);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  animation:toastBackdropIn .2s ease both;
}
@keyframes toastBackdropIn{from{opacity:0}to{opacity:1}}
@media(max-width:560px){
  .toast{
    width:calc(100vw - 28px);
    min-height:88px;
    grid-template-columns:42px minmax(0,1fr) 32px;
    gap:11px;
    padding:15px;
    border-radius:17px;
  }
  .toast-icon{width:42px;height:42px;border-radius:13px;font-size:21px}
  .toast-copy strong{font-size:14px}
  .toast-copy span{font-size:11px}
  .toast-close{width:32px;height:32px}
}.sidebar-backdrop{display:none}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr 420px}}
@media(max-width:860px){.login-page{padding:0}.login-shell{min-height:100vh;border-radius:0;border:0;grid-template-columns:1fr}.brand-showcase{display:none}.login-card{padding:42px 24px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.sidebar-close,.mobile-menu{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.56);z-index:40;opacity:0;visibility:hidden}.sidebar-backdrop.show{opacity:1;visibility:visible}.content-area{margin-left:0;width:100%}.main-header{padding:0 16px;height:74px}#content-container{padding:18px}.dashboard-lower{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:16px}.card-value{font-size:19px}.user-chip div:last-child{display:none}.page-intro,.toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}}
@media(max-width:390px){.dashboard-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}}


/* MOBILE & TABLET FIRST REFINEMENT */
.mobile-login-brand{display:none}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

@media (min-width:621px) and (max-width:1024px){
  .login-page{padding:18px}
  .login-shell{width:100%;min-height:calc(100vh - 36px);grid-template-columns:1fr 390px;border-radius:24px}
  .brand-showcase{padding:36px 30px}
  .login-logo{width:min(310px,78%);max-height:250px;margin-bottom:12px}
  .brand-copy h1{font-size:38px}
  .brand-copy p{font-size:13px}
  .feature-row{gap:8px;margin-top:22px}
  .feature-row div{padding:12px 8px}
  .login-card{padding:40px 30px}
  .sidebar{width:250px}
  .content-area{margin-left:250px;width:calc(100% - 250px)}
  .main-header{padding:0 22px}
  #content-container{padding:22px}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-lower{grid-template-columns:1fr}
}

@media (max-width:860px){
  body{overflow-x:hidden}
  .login-card{min-height:100vh;justify-content:center}
  .mobile-login-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;text-align:left}
  .mobile-login-brand img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.42))}
  .mobile-login-brand strong{display:block;font-family:"Playfair Display",serif;color:var(--gold-light);font-size:20px;letter-spacing:.06em}
  .mobile-login-brand span{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;margin-top:4px;text-transform:uppercase}
  .sidebar{width:min(84vw,320px)}
  .sidebar-menu{padding-bottom:24px}
  .menu-item{min-height:46px;font-size:13px}
  .sidebar-action{min-height:44px}
  .main-header{height:72px}
  .header-right{gap:8px}
  .icon-button{width:38px;height:38px}
  #content-container{min-height:calc(100vh - 72px)}
  .page-intro{margin-bottom:16px}
  .btn-add{min-height:43px}
  .search-box{min-height:43px}
  .table-wrap{-webkit-overflow-scrolling:touch}
}

@media (max-width:620px){
  .login-card{padding:28px 20px 24px}
  .mobile-login-brand{margin-bottom:20px}
  .mobile-login-brand img{width:68px;height:68px}
  .login-card-head{text-align:center}
  .login-card-head h2{font-size:25px;margin-top:10px}
  .login-card-head p{margin-bottom:24px}
  .field{height:50px}
  .primary-button{height:52px}
  .form-meta{gap:10px}
  .main-header{padding:0 12px}
  .header-left{gap:10px;min-width:0}
  .header-left>div{min-width:0}
  .breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  #section-title{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  .mobile-menu{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
  .user-chip{padding:5px;border-radius:11px}
  .avatar{width:32px;height:32px}
  #content-container{padding:14px}
  .page-intro h3{font-size:18px}
  .dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}
  .card{min-height:116px;padding:14px;border-radius:15px}
  .card-label{font-size:10px;max-width:78%}
  .card-value{font-size:18px;line-height:1.2;margin:9px 0 6px}
  .card-trend{font-size:9px;max-width:78%}
  .card-icon{right:12px;bottom:12px;font-size:18px}
  .panel{padding:15px;border-radius:15px}
  .activity{padding:10px;gap:9px}
  .activity-icon{width:34px;height:34px;flex:0 0 34px}
  .activity time{display:none}
  .quick-action{min-height:74px;padding:12px}
  .toolbar{gap:10px}
  .data-table{min-width:660px}
  .data-table th,.data-table td{padding:12px 13px}
  .toast{left:14px;right:14px;bottom:14px;text-align:center}
}

@media (max-width:420px){
  .dashboard-grid{grid-template-columns:1fr}
  .card{min-height:104px}
  .form-meta{align-items:flex-start}
  .remember,.link-button{font-size:11px}
  .mobile-login-brand img{width:60px;height:60px}
  .mobile-login-brand strong{font-size:18px}
}

@supports (padding:max(0px)){
  .login-page{padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom))}
  .main-header{padding-top:env(safe-area-inset-top)}
  .sidebar-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}


/* =========================================================
   RESPONSIVE FLUID SYSTEM — HP & TABLET
   Ukuran elemen mengikuti lebar layar secara otomatis.
   ========================================================= */

html {
  font-size: clamp(14px, 1.25vw, 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 280px;
  overflow-x: hidden;
}

img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

.login-page {
  min-height: 100dvh;
  padding:
    max(14px, env(safe-area-inset-top))
    max(14px, env(safe-area-inset-right))
    max(14px, env(safe-area-inset-bottom))
    max(14px, env(safe-area-inset-left));
}

.login-shell {
  width: min(100%, 1180px);
  min-height: min(720px, calc(100dvh - 28px));
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
}

.brand-showcase {
  padding: clamp(28px, 5vw, 64px);
}

.login-logo {
  width: clamp(190px, 34vw, 360px);
  max-height: min(32dvh, 300px);
}

.login-card {
  padding: clamp(26px, 5vw, 58px);
}

.login-card-head h2 {
  font-size: clamp(1.55rem, 4vw, 2rem);
}

.field,
.primary-button {
  min-height: clamp(50px, 7vw, 56px);
}

.sidebar {
  width: clamp(252px, 78vw, 310px);
}

.content-area {
  min-width: 0;
}

.main-header {
  min-height: clamp(70px, 9vw, 84px);
  height: auto;
  padding:
    10px
    max(14px, env(safe-area-inset-right))
    10px
    max(14px, env(safe-area-inset-left));
}

#content-container {
  padding: clamp(14px, 3vw, 28px);
}

.dashboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: clamp(10px, 2vw, 16px);
}

.card,
.panel {
  padding: clamp(15px, 2.6vw, 21px);
  border-radius: clamp(14px, 2.4vw, 18px);
}

.card-value {
  font-size: clamp(1.15rem, 4.2vw, 1.75rem);
}

.dashboard-lower {
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .85fr);
  gap: clamp(10px, 2vw, 16px);
}

.quick-grid {
  grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
}

.toolbar {
  flex-wrap: wrap;
}

.search-box {
  flex: 1 1 220px;
  width: auto;
  min-width: 0;
}

.btn-add,
.icon-button,
.mobile-menu,
.sidebar-action,
.quick-action {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.btn-add {
  min-height: 42px;
}

.table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.data-table {
  min-width: 680px;
}

.data-table th,
.data-table td {
  white-space: nowrap;
}

@media (hover: none) and (pointer: coarse) {
  .menu-item {
    min-height: 46px;
  }

  .icon-button,
  .mobile-menu {
    min-width: 44px;
    min-height: 44px;
  }

  .btn-add {
    min-height: 46px;
  }
}

/* Tablet landscape dan layar menengah */
@media (min-width: 861px) and (max-width: 1180px) {
  .sidebar {
    width: 244px;
  }

  .content-area {
    margin-left: 244px;
    width: calc(100% - 244px);
  }

  .sidebar-brand strong {
    font-size: 17px;
  }

  .menu-item {
    padding: 10px;
  }

  .dashboard-lower {
    grid-template-columns: 1fr;
  }
}

/* Tablet portrait dan HP landscape */
@media (max-width: 860px) {
  .login-shell {
    width: 100%;
    min-height: calc(100dvh - 28px);
    grid-template-columns: 1fr;
    border-radius: clamp(18px, 4vw, 26px);
  }

  .brand-showcase {
    display: none;
  }

  .login-card {
    width: min(100%, 560px);
    margin: auto;
  }

  .content-area {
    width: 100%;
    margin-left: 0;
  }

  .main-header {
    position: sticky;
    top: 0;
  }

  .dashboard-lower {
    grid-template-columns: 1fr;
  }

  .page-intro {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

/* HP umum */
@media (max-width: 600px) {
  .login-page {
    padding: 0;
  }

  .login-shell {
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .login-card {
    width: 100%;
    padding:
      max(24px, env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      max(24px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }

  .main-header {
    gap: 10px;
  }

  .header-right {
    gap: 7px;
  }

  .user-chip {
    padding: 5px;
  }

  .user-chip > div:last-child {
    display: none;
  }

  #section-title {
    font-size: clamp(1rem, 5vw, 1.3rem);
  }

  .breadcrumb {
    max-width: 52vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card {
    min-width: 0;
  }

  .card-label {
    font-size: .68rem;
    line-height: 1.35;
  }

  .card-value {
    overflow-wrap: anywhere;
  }

  .card-icon {
    position: static;
    display: block;
    margin-top: 8px;
  }

  .page-intro {
    flex-direction: column;
    align-items: stretch;
  }

  .toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .search-box,
  .btn-add {
    width: 100%;
  }

  .activity {
    align-items: flex-start;
  }

  .activity time {
    white-space: nowrap;
  }
}

/* HP kecil */
@media (max-width: 380px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .quick-grid {
    grid-template-columns: 1fr 1fr;
  }

  .main-header {
    padding-inline: 10px;
  }

  .header-left {
    gap: 8px;
  }

  .icon-button {
    display: none;
  }
}

/* HP sangat kecil */
@media (max-width: 320px) {
  .quick-grid {
    grid-template-columns: 1fr;
  }

  .login-card {
    padding-inline: 14px;
  }
}

/* Tinggi layar pendek, misalnya HP landscape */
@media (max-height: 540px) and (orientation: landscape) {
  .login-page {
    align-items: start;
  }

  .login-shell {
    min-height: auto;
  }

  .login-card {
    padding-block: 22px;
  }

  .login-card-head p {
    margin-bottom: 18px;
  }

  #login-form label {
    margin-bottom: 12px;
  }

  .login-footer {
    margin-top: 18px;
  }
}


/* =========================================================
   TEMA BIRU CERAH + PUTIH, KHUSUS HP & TABLET
   Logo di kiri pada tampilan mobile.
   ========================================================= */

:root{
  --bg:#eef7ff;
  --bg-soft:#f7fbff;
  --panel:#ffffff;
  --panel-2:#eef6ff;
  --line:rgba(30,96,160,.14);
  --gold:#f4b844;
  --gold-light:#ffd978;
  --gold-deep:#d08a13;
  --text:#12304f;
  --muted:#6d8298;
  --success:#28b878;
  --danger:#eb5f70;
  --shadow:0 22px 55px rgba(61,126,190,.16);
}

body{
  background:
    radial-gradient(circle at 10% 10%, rgba(87,178,255,.25), transparent 30%),
    radial-gradient(circle at 92% 88%, rgba(169,220,255,.42), transparent 32%),
    linear-gradient(135deg,#f9fdff 0%,#eaf6ff 48%,#ffffff 100%);
  color:var(--text);
}

.ambient-one{background:rgba(62,159,235,.22)}
.ambient-two{background:rgba(125,205,255,.24)}

.login-shell{
  background:rgba(255,255,255,.82);
  border-color:rgba(41,118,185,.14);
  box-shadow:0 26px 70px rgba(58,121,183,.18);
}

.brand-showcase{
  background:
    linear-gradient(145deg,rgba(233,247,255,.98),rgba(255,255,255,.96)),
    radial-gradient(circle at 20% 20%,rgba(76,170,242,.18),transparent 34%);
}

.brand-showcase:before{
  border-color:rgba(53,137,205,.16);
}

.brand-copy h1,
.login-card-head h2,
#section-title,
.page-intro h3,
.panel-head h3,
.card-value{
  color:#123b64;
}

.brand-copy p,
.login-card-head p,
.page-intro p,
.card-label,
.activity p,
.user-chip span{
  color:#72869b;
}

.login-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,247,255,.98));
}

.field{
  background:#f7fbff;
  border-color:rgba(47,126,194,.18);
}

.field input{
  color:#173d63;
}

.field input::placeholder{
  color:#9aabba;
}

.primary-button,
.btn-add{
  background:linear-gradient(135deg,#48aef2,#79c8ff);
  color:white;
  box-shadow:0 12px 24px rgba(72,174,242,.24);
}

.primary-button:hover,
.btn-add:hover{
  filter:brightness(1.03);
}

.mini-badge,
.eyebrow,
.link-button{
  color:#2788cc;
}

.login-footer{
  color:#8ea1b4;
}

.sidebar{
  background:linear-gradient(180deg,#eaf6ff 0%,#ffffff 100%);
  border-right-color:rgba(46,124,192,.14);
  box-shadow:12px 0 30px rgba(58,121,183,.08);
}

.sidebar-brand{
  border-bottom-color:rgba(46,124,192,.12);
}

.sidebar-brand strong{
  color:#1f6fa9;
}

.sidebar-brand span,
.sidebar-caption{
  color:#7e94a9;
}

.menu-item{
  color:#56728d;
}

.menu-item:hover{
  background:rgba(73,163,229,.10);
  color:#205f91;
}

.menu-item.active{
  color:#155d92;
  background:linear-gradient(90deg,rgba(79,174,243,.18),rgba(255,255,255,.62));
  border-color:rgba(74,158,222,.16);
  box-shadow:inset 3px 0 0 #42a5eb;
}

.sidebar-action{
  background:rgba(64,151,218,.08);
  color:#52718d;
}

.sidebar-action.logout{
  color:#d85b6a;
}

.content-area{
  background:transparent;
}

.main-header{
  background:rgba(255,255,255,.78);
  border-bottom-color:rgba(45,121,187,.12);
  box-shadow:0 10px 28px rgba(56,118,177,.08);
}

.breadcrumb{
  color:#8ca0b3;
}

.breadcrumb span{
  color:#2486c9;
}

.icon-button,
.user-chip{
  background:rgba(255,255,255,.86);
  border-color:rgba(43,119,184,.14);
  color:#285c86;
}

.avatar{
  background:linear-gradient(145deg,#58b6f4,#8dd3ff);
  color:white;
}

.card,
.panel{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,248,255,.98));
  border-color:rgba(42,119,184,.13);
  box-shadow:0 14px 34px rgba(57,120,180,.10);
}

.card:after{
  background:rgba(72,166,233,.10);
}

.activity,
.quick-action{
  background:rgba(228,243,255,.68);
  border-color:rgba(41,117,182,.11);
  color:#214e75;
}

.activity-icon{
  background:rgba(65,159,226,.13);
}

.table-wrap{
  background:white;
  border-color:rgba(44,121,186,.14);
  box-shadow:0 12px 30px rgba(52,117,178,.08);
}

.data-table{
  background:white;
}

.data-table th{
  background:#edf7ff;
  color:#2178b7;
}

.data-table td{
  color:#315574;
}

.data-table th,
.data-table td{
  border-bottom-color:rgba(43,119,184,.10);
}

.search-box{
  background:white;
  color:#234d70;
  border-color:rgba(43,119,184,.16);
}

.toast{
  background:#ffffff;
  color:#214e75;
  border:1px solid rgba(49,132,199,.18);
  box-shadow:0 16px 40px rgba(58,121,183,.16);
}

/* Header/logo mobile: logo di kiri */
.mobile-brand{
  display:none;
}

@media(max-width:860px){
  .main-header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
  }

  .header-left{
    min-width:0;
  }

  .mobile-brand{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
  }

  .mobile-brand img{
    width:42px;
    height:42px;
    object-fit:contain;
    flex:0 0 auto;
  }

  .mobile-brand-text{
    min-width:0;
  }

  .mobile-brand-text strong{
    display:block;
    color:#1f6fa9;
    font-family:"Playfair Display",serif;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
  }

  .mobile-brand-text span{
    display:block;
    color:#7d93a8;
    font-size:8px;
    letter-spacing:.08em;
    margin-top:3px;
    white-space:nowrap;
  }

  .header-title-wrap{
    display:none;
  }

  .mobile-menu{
    color:#1f6fa9;
  }
}

@media(max-width:420px){
  .mobile-brand-text span{
    display:none;
  }

  .mobile-brand img{
    width:38px;
    height:38px;
  }

  .main-header{
    gap:8px;
  }
}


/* =========================================================
   PERAPIHAN HEADER KHUSUS HP/TABLET
   Refresh + profil Administrator tetap rapat di sisi kanan.
   ========================================================= */

@media (max-width: 860px) {
  .main-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 10px 14px !important;
  }

  .header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
  }

  .header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
  }

  .mobile-menu {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(43,119,184,.18);
    border-radius: 12px;
    background: #ffffff;
    color: #1f6fa9;
    box-shadow: 0 8px 20px rgba(58,121,183,.08);
  }

  .mobile-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
  }

  .mobile-brand img {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  .mobile-brand-text {
    min-width: 0;
    overflow: hidden;
  }

  .mobile-brand-text strong,
  .mobile-brand-text span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .icon-button {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #ffffff;
    color: #1f6fa9;
  }

  .user-chip {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 5px 9px 5px 5px;
    border-radius: 13px;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 190px;
  }

  .user-chip .avatar {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .user-chip > div:last-child {
    display: block !important;
    min-width: 0;
    text-align: left;
  }

  .user-chip strong {
    display: block;
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.1;
    color: #174c78;
  }

  .user-chip span {
    display: block;
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 9px;
    line-height: 1.1;
    margin-top: 3px;
    color: #7b91a5;
  }
}

@media (max-width: 620px) {
  .main-header {
    padding-inline: 10px !important;
    gap: 7px;
  }

  .header-left {
    gap: 7px;
  }

  .header-right {
    gap: 6px;
  }

  .mobile-menu {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .mobile-brand img {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .mobile-brand-text strong {
    font-size: 12px;
  }

  .mobile-brand-text span {
    font-size: 7px;
  }

  .icon-button {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .user-chip {
    min-height: 42px;
    max-width: 158px;
    padding-right: 7px;
    gap: 6px;
  }

  .user-chip .avatar {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .user-chip strong {
    max-width: 94px;
    font-size: 10px;
  }

  .user-chip span {
    max-width: 94px;
    font-size: 8px;
  }
}

@media (max-width: 480px) {
  .mobile-brand-text span {
    display: none;
  }

  .mobile-brand-text strong {
    max-width: 105px;
  }

  .user-chip {
    max-width: 140px;
  }

  .user-chip strong,
  .user-chip span {
    max-width: 78px;
  }
}

@media (max-width: 390px) {
  .mobile-brand-text {
    display: none;
  }

  .mobile-brand img {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .user-chip {
    max-width: 128px;
  }

  .user-chip strong,
  .user-chip span {
    max-width: 68px;
  }
}

@media (max-width: 340px) {
  .user-chip > div:last-child {
    display: none !important;
  }

  .user-chip {
    width: 40px;
    min-width: 40px;
    padding: 4px;
    justify-content: center;
  }

  .icon-button {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }
}


/* =========================================================
   FIX FINAL: SIDEBAR DAN KONTEN TIDAK BOLEH BERTUMPUK
   Lebar sidebar dan margin konten memakai satu variabel.
   ========================================================= */

:root{
  --sidebar-width: 274px;
}

/* Desktop */
@media (min-width: 1181px){
  .sidebar{
    width: var(--sidebar-width) !important;
  }

  .content-area{
    margin-left: var(--sidebar-width) !important;
    width: calc(100% - var(--sidebar-width)) !important;
    min-width: 0 !important;
  }

  .main-header,
  #content-container{
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-intro,
  .dashboard-grid,
  .dashboard-lower,
  .toolbar,
  .table-wrap{
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Tablet landscape */
@media (min-width: 861px) and (max-width: 1180px){
  :root{
    --sidebar-width: 244px;
  }

  .sidebar{
    width: var(--sidebar-width) !important;
  }

  .content-area{
    margin-left: var(--sidebar-width) !important;
    width: calc(100% - var(--sidebar-width)) !important;
    min-width: 0 !important;
  }

  .main-header,
  #content-container{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* HP dan tablet portrait: sidebar menjadi drawer, konten selalu penuh */
@media (max-width: 860px){
  .sidebar{
    width: min(82vw, 310px) !important;
    max-width: calc(100vw - 44px) !important;
  }

  .content-area{
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
  }

  .main-header{
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  #content-container{
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .page-intro{
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-intro > div{
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .page-intro h3,
  .page-intro p{
    overflow-wrap: anywhere !important;
  }

  .dashboard-grid{
    width: 100% !important;
    min-width: 0 !important;
  }

  .card{
    min-width: 0 !important;
    width: 100% !important;
  }

  .dashboard-lower{
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Pada HP, tombol Perbarui Data tidak menimpa judul */
@media (max-width: 620px){
  .page-intro{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .page-intro .btn-add{
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .dashboard-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 390px){
  .dashboard-grid{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Mencegah elemen lebar memaksa halaman keluar layar */
.app-shell,
.content-area,
.main-header,
#content-container,
#dynamic-content{
  min-width: 0 !important;
}

#dynamic-content{
  width: 100% !important;
  max-width: 100% !important;
}

body{
  overflow-x: hidden !important;
}


/* =========================================================
   HILANGKAN JUDUL GANDA DI AREA KONTEN
   Judul menu cukup tampil di header atas.
   ========================================================= */

.page-intro.page-actions-only{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  width:100% !important;
  margin-bottom:16px !important;
}

.page-intro.page-actions-only .btn-add{
  margin-left:auto !important;
}

@media(max-width:620px){
  .page-intro.page-actions-only{
    display:flex !important;
    justify-content:flex-end !important;
  }

  .page-intro.page-actions-only .btn-add{
    width:auto !important;
    min-width:150px;
    max-width:100%;
  }
}


/* FAST LOAD: tidak menampilkan teks "Memuat data..." lagi */
.fast-empty{
  min-height:180px;
  opacity:.78;
}
.fast-empty .symbol{
  animation:pulseFast 1s ease-in-out infinite;
}
@keyframes pulseFast{
  0%,100%{transform:scale(1);opacity:.55}
  50%{transform:scale(1.08);opacity:1}
}
.primary-button:disabled{
  opacity:.72;
  cursor:wait;
}


/* =========================================================
   DASHBOARD PREMIUM — CEPAT, RINGKAS, MOBILE/TABLET FIRST
   ========================================================= */
.welcome-block{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:16px;
}
.dashboard-kicker{
  display:block;
  color:#008f89;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  margin-bottom:4px;
}
.welcome-block h2{
  color:#0d2038;
  font-size:clamp(24px,3vw,34px);
  line-height:1.05;
  margin-bottom:6px;
}
.welcome-block p{
  color:#657b92;
  font-size:12px;
}

.finance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.finance-card{
  min-height:68px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(52,105,157,.14);
  border-radius:16px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  box-shadow:0 9px 26px rgba(61,113,165,.08);
}
.finance-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#dff8fa;
  font-size:19px;
}
.finance-card span{
  display:block;
  color:#59708a;
  font-size:10px;
  font-weight:800;
  margin-bottom:3px;
}
.finance-card strong{
  display:block;
  color:#0d2440;
  font-size:18px;
}

.dashboard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);
  gap:14px;
}
.dashboard-panel{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(52,105,157,.14);
  border-radius:16px;
  padding:16px;
  min-width:0;
  box-shadow:0 10px 26px rgba(61,113,165,.07);
}
.dashboard-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.dashboard-panel-head span{
  color:#5c7290;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.dashboard-panel-head h3{
  color:#10253e;
  font-size:16px;
  margin-top:3px;
}
.soft-action{
  background:#dbfaf5;
  color:#07867d;
  border-radius:11px;
  min-height:34px;
  padding:0 12px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.health-card{
  min-height:92px;
  border-radius:14px;
  background:#f7f9fc;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
}
.health-card h4{
  color:#10243c;
  font-size:20px;
  margin-bottom:5px;
}
.health-card p{
  color:#5e7690;
  font-size:11px;
  line-height:1.5;
}
.health-badge{
  flex:0 0 auto;
  max-width:115px;
  padding:12px 14px;
  border-radius:999px;
  background:#e6ebf2;
  color:#455d78;
  font-size:11px;
  line-height:1.2;
  text-align:center;
}
.operation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.operation-card{
  background:#f7f9fc;
  border:1px solid rgba(52,105,157,.12);
  border-radius:12px;
  padding:12px;
  min-height:64px;
}
.operation-card span{
  display:block;
  color:#5d7490;
  font-size:9px;
  font-weight:800;
  margin-bottom:6px;
}
.operation-card strong{
  color:#0e2540;
  font-size:17px;
}
.trend-panel{
  min-height:230px;
}
.trend-chart{
  min-height:155px;
  display:flex;
  align-items:flex-end;
  gap:12px;
  padding-top:14px;
}
.trend-item{
  flex:1 1 0;
  min-width:0;
  text-align:center;
  height:145px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.trend-value{
  font-size:8px;
  color:#698098;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:5px;
}
.trend-bar-wrap{
  height:100px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.trend-bar{
  width:min(30px,70%);
  min-height:8px;
  border-radius:8px 8px 3px 3px;
  background:linear-gradient(180deg,#48b8f6,#55d5c4);
}
.trend-item span{
  font-size:9px;
  color:#60778e;
  margin-top:6px;
}
.trend-empty{
  width:100%;
  align-self:center;
  text-align:center;
  color:#7b8fa4;
  font-size:12px;
}
.warning-list{
  display:grid;
  gap:9px;
}
.warning-item{
  display:flex;
  align-items:center;
  gap:11px;
  background:#f7f9fc;
  border:1px solid rgba(52,105,157,.12);
  border-radius:12px;
  padding:11px;
}
.warning-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#dff8fa;
  flex:0 0 34px;
}
.warning-item strong{
  display:block;
  color:#16314c;
  font-size:11px;
}
.warning-item p{
  color:#657c93;
  font-size:9px;
  margin-top:3px;
}

@media(max-width:900px){
  .finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .welcome-block{margin-bottom:12px}
  .finance-grid{grid-template-columns:1fr}
  .finance-card{min-height:64px}
  .dashboard-panel-head{align-items:flex-start}
  .health-card{align-items:flex-start;flex-direction:column}
  .health-badge{max-width:none}
  .operation-grid{grid-template-columns:1fr 1fr}
  .trend-chart{gap:7px}
  .trend-value{display:none}
}
@media(max-width:360px){
  .operation-grid{grid-template-columns:1fr}
}


/* =========================================================
   SEMUA MENU AKTIF: FORM, TABEL, MODAL, LAPORAN
   ========================================================= */
.module-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;
}
.module-summary{display:flex;align-items:baseline;gap:10px;min-width:0}
.module-summary b{color:#173d61;font-size:15px}.module-summary span{color:#7890a6;font-size:10px}
.toolbar-actions{display:flex;align-items:center;gap:9px}
.table-search{
  min-height:42px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid rgba(43,119,184,.16);
  border-radius:11px;padding:0 12px;color:#6b849c;
}
.table-search input{border:0;outline:0;background:transparent;color:#173d61;width:190px;max-width:38vw}
.row-actions{display:flex;gap:6px}
.action-edit,.action-delete{
  border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer;
}
.action-edit{background:#e4f5ff;color:#1978b5}.action-delete{background:#fff0f2;color:#db5264}
.status-pill{display:inline-flex;padding:5px 8px;background:#e8f7f3;color:#10806f;border-radius:999px;font-size:9px;font-weight:800}

.app-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px}
.app-modal.hidden{display:none!important}.modal-backdrop{position:absolute;inset:0;background:rgba(13,39,63,.46);backdrop-filter:blur(5px)}
.modal-card{
  position:relative;width:min(760px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:20px;
  box-shadow:0 30px 90px rgba(18,64,103,.28);border:1px solid rgba(58,126,185,.16)
}
.modal-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid #e4edf5}
.modal-kicker{font-size:9px;color:#0a948b;font-weight:900;letter-spacing:.12em}.modal-header h3{color:#173c60;font-size:20px;margin-top:3px}
.modal-close{width:38px;height:38px;border-radius:11px;background:#eef6fc;color:#315b7d;font-size:24px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field.form-wide{grid-column:1/-1}
.form-field>span{font-size:10px;color:#536d86;font-weight:800}
.form-field input,.form-field select,.form-field textarea{
  width:100%;border:1px solid #dbe7f1;background:#f8fbfe;border-radius:11px;padding:11px 12px;outline:0;color:#173d61
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#55aee8;box-shadow:0 0 0 3px rgba(85,174,232,.12)}
.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;background:#fff;border-top:1px solid #e4edf5}
.btn-secondary,.btn-save,.btn-danger{
  min-height:42px;padding:0 16px;border-radius:11px;font-weight:800;cursor:pointer
}
.btn-secondary{background:#edf4f9;color:#4e6b84}.btn-save{background:linear-gradient(135deg,#49aef0,#63c7ef);color:#fff}.btn-danger{background:#eb5d6d;color:#fff}
.confirm-card{width:min(450px,100%)}.confirm-text{padding:22px;color:#587188;line-height:1.6}

.report-filter{display:grid;grid-template-columns:1.3fr 1fr 1fr auto auto;gap:10px;align-items:end;margin-bottom:16px}
.report-filter label{display:flex;flex-direction:column;gap:6px}.report-filter label span{font-size:9px;font-weight:800;color:#5d7690}
.report-filter input,.report-filter select{height:42px;border:1px solid #d8e5ef;border-radius:11px;padding:0 11px;background:#fff;color:#173d61}
.report-section{margin-bottom:18px}.report-section h3{color:#173d61;margin:0 0 9px}
.demo-button{align-self:flex-start;background:#fff2cf;color:#9a6500;border:1px solid #f0d68b;border-radius:11px;min-height:38px;padding:0 13px;font-weight:800;cursor:pointer}

@media(max-width:720px){
  .module-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{width:100%}.table-search{flex:1}.table-search input{width:100%;max-width:none}
  .form-grid{grid-template-columns:1fr}.form-field.form-wide{grid-column:auto}
  .report-filter{grid-template-columns:1fr 1fr}.report-filter .btn-add,.report-filter .btn-secondary{width:100%}
}
@media(max-width:480px){
  .toolbar-actions{flex-direction:column;align-items:stretch}.table-search,.toolbar-actions .btn-add{width:100%}
  .report-filter{grid-template-columns:1fr}.modal-card{max-height:95dvh}.app-modal{padding:8px}
  .welcome-block{flex-direction:column;gap:10px}.demo-button{width:100%}
}
@media print{
  .sidebar,.main-header,.report-filter,.module-toolbar,.toast{display:none!important}.content-area{margin:0!important;width:100%!important}
}

.closebook-page{display:grid;gap:13px}.closebook-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.closebook-kicker{display:block;color:#008f89;font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:4px}.closebook-topbar h2{font-size:22px;color:#112842;margin:0 0 4px}.closebook-topbar p{font-size:10px;color:#6c8298}.closebook-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.closebook-actions input{height:38px;border:1px solid #dce7f0;border-radius:10px;background:#fff;padding:0 11px;color:#173d61}.closebook-health{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid #dce7f0;border-radius:15px;padding:16px;box-shadow:0 8px 24px rgba(45,96,145,.07)}.closebook-health span{font-size:9px;font-weight:900;color:#60758b;letter-spacing:.06em}.closebook-health h3{font-size:20px;color:#10253f;margin:3px 0 4px}.closebook-health p{font-size:10px;color:#637a91;line-height:1.45}.closebook-status{flex:0 0 auto;max-width:140px;padding:11px 14px;border-radius:999px;background:#e9eef4;color:#4d637a;font-size:10px;text-align:center}.closebook-status.sehat{background:#dcf8ee;color:#08795e}.closebook-status.waspada{background:#fff4d7;color:#946400}.closebook-status.perlu-perhatian{background:#ffe8ec;color:#b64051}.closebook-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.closebook-metric{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #dce7f0;border-radius:14px;padding:13px;min-width:0}.closebook-metric-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ddf7f8;flex:0 0 34px}.closebook-metric span{display:block;font-size:8px;color:#657a91;font-weight:800;margin-bottom:3px}.closebook-metric strong{display:block;font-size:16px;color:#10253f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.closebook-grid{display:grid;grid-template-columns:1.18fr .86fr;gap:13px}.closebook-card{background:#fff;border:1px solid #dce7f0;border-radius:15px;overflow:hidden}.closebook-card>header{padding:14px 16px;border-bottom:1px solid #e4edf4}.closebook-card>header h3{font-size:14px;color:#142c47;margin:0 0 3px}.closebook-card>header p{font-size:9px;color:#6b8096}.calculation-list{display:grid}.calculation-row{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px dashed #e3eaf0;font-size:10px}.calculation-row.bold{font-weight:800;background:#f8fafc}.calculation-row.highlight{background:#e8fbff;border:1px solid #7cdeef;border-radius:10px;margin:7px}.recommendation-list{display:grid;gap:8px;padding:8px}.recommendation-box{padding:11px;border-radius:11px;border:1px solid #d9e4ed}.recommendation-box span{display:block;font-size:9px;font-weight:800;color:#27405a}.recommendation-box strong{display:block;font-size:16px;color:#10253f;margin:2px 0}.recommendation-box p{font-size:8px;color:#677d92;line-height:1.4}.recommendation-box.blue{background:#eef5ff}.recommendation-box.green{background:#e9fbf4}.recommendation-box.yellow{background:#fff9e8}.decision-card{padding-bottom:12px}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.decision-grid label,.decision-note{display:flex;flex-direction:column;gap:6px}.decision-grid span,.decision-note span{font-size:9px;font-weight:800;color:#203b56}.decision-grid input,.decision-note textarea{border:1px solid #dbe7f0;border-radius:10px;background:#fff;padding:10px;color:#173d61;outline:0}.decision-warning{padding:0 14px;color:#008f89;font-size:8px;font-weight:700}.decision-note{padding:13px 14px 0}.closebook-linked{padding:10px 14px 0;color:#07856f;font-size:8px}@media(max-width:900px){.closebook-grid{grid-template-columns:1fr}.closebook-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.closebook-topbar{flex-direction:column}.closebook-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.closebook-actions input{grid-column:1/-1;width:100%}.closebook-actions button{width:100%}.decision-grid{grid-template-columns:1fr}}@media(max-width:380px){.closebook-metrics{grid-template-columns:1fr}}


/* =========================================================
   HAPUS HEADER ATAS DI SEMUA MENU
   Breadcrumb, judul halaman, refresh, dan profil dihilangkan.
   Isi halaman ditarik langsung ke atas.
   ========================================================= */

.main-header{
  display:none !important;
}

.content-area{
  padding-top:0 !important;
}

#content-container{
  min-height:100vh !important;
  padding-top:20px !important;
}

.mobile-menu-float{
  display:none;
}

@media(max-width:860px){
  .mobile-menu-float{
    position:fixed;
    top:max(10px, env(safe-area-inset-top));
    left:max(10px, env(safe-area-inset-left));
    z-index:35;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(43,119,184,.18);
    border-radius:12px;
    background:#ffffff;
    color:#1f6fa9;
    font-size:21px;
    box-shadow:0 10px 28px rgba(58,121,183,.18);
    cursor:pointer;
  }

  #content-container{
    padding-top:66px !important;
  }
}

@media(max-width:480px){
  #content-container{
    padding-top:62px !important;
  }

  .mobile-menu-float{
    width:40px;
    height:40px;
  }
}


/* =========================================================
   BRAND MOBILE/TABLET DI SAMPING TOMBOL MENU
   ========================================================= */

.mobile-top-brand{
  display:none;
}

@media(max-width:860px){
  .mobile-top-brand{
    position:fixed;
    top:max(10px, env(safe-area-inset-top));
    left:max(10px, env(safe-area-inset-left));
    right:max(10px, env(safe-area-inset-right));
    z-index:35;
    height:48px;
    display:flex;
    align-items:center;
    gap:9px;
    pointer-events:none;
  }

  .mobile-top-brand .mobile-menu-float{
    position:static !important;
    top:auto !important;
    left:auto !important;
    flex:0 0 44px;
    width:44px;
    height:44px;
    pointer-events:auto;
  }

  .mobile-top-brand img{
    width:40px;
    height:40px;
    object-fit:contain;
    flex:0 0 40px;
    filter:drop-shadow(0 5px 8px rgba(28,85,128,.14));
  }

  .mobile-top-brand-text{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
  }

  .mobile-top-brand-text strong{
    color:#1f6fa9;
    font-family:"Playfair Display",serif;
    font-size:15px;
    letter-spacing:.03em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-top-brand-text span{
    color:#7d93a8;
    font-size:8px;
    letter-spacing:.11em;
    margin-top:4px;
    white-space:nowrap;
  }

  #content-container{
    padding-top:72px !important;
  }
}

@media(max-width:480px){
  .mobile-top-brand{
    gap:7px;
    height:44px;
  }

  .mobile-top-brand .mobile-menu-float{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .mobile-top-brand img{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .mobile-top-brand-text strong{
    font-size:13px;
  }

  .mobile-top-brand-text span{
    font-size:7px;
  }

  #content-container{
    padding-top:66px !important;
  }
}

@media(max-width:330px){
  .mobile-top-brand-text span{
    display:none;
  }

  .mobile-top-brand-text strong{
    font-size:12px;
  }
}


/* =========================================================
   NOTIFIKASI INTERNAL — MENGIKUTI TEMA KAISAR CUPANG
   Tidak memakai alert, confirm, atau prompt browser.
   ========================================================= */

.confirm-body{
  padding:18px 20px 4px;
}
.notice-heading{
  display:flex;
  align-items:center;
  gap:12px;
}
.notice-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:20px;
  font-weight:900;
  background:#fff4d9;
  color:#a56a00;
}
#confirm-modal[data-type="danger"] .notice-icon{
  background:#ffe9ed;
  color:#d34659;
}
#confirm-modal[data-type="success"] .notice-icon{
  background:#e4f9f1;
  color:#108568;
}
#confirm-modal[data-type="info"] .notice-icon{
  background:#e5f4ff;
  color:#237caf;
}
.confirm-text{
  padding:0 !important;
  color:#587188;
  line-height:1.65;
  font-size:12px;
}
.confirm-input-wrap{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:16px;
}
.confirm-input-wrap.hidden{
  display:none !important;
}
.confirm-input-wrap span{
  color:#284862;
  font-size:10px;
  font-weight:800;
}
.confirm-input-wrap input{
  width:100%;
  height:46px;
  border:1px solid #d8e6f1;
  border-radius:11px;
  background:#f8fbfe;
  padding:0 12px;
  color:#173d61;
  outline:0;
  text-transform:none;
}
.confirm-input-wrap input:focus{
  border-color:#4dade6;
  box-shadow:0 0 0 4px rgba(77,173,230,.12);
}
.confirm-input-wrap input.input-error{
  border-color:#e75b6d;
  box-shadow:0 0 0 4px rgba(231,91,109,.10);
}
.confirm-input-wrap small{
  min-height:14px;
  color:#6e8498;
  font-size:9px;
}
.confirm-input-wrap input.input-error + small{
  color:#d34659;
}

.toast{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  left:auto !important;
  z-index:300 !important;
  width:min(390px,calc(100vw - 30px));
  min-height:66px;
  display:flex !important;
  align-items:center;
  gap:12px;
  padding:11px 12px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.97) !important;
  color:#173d61 !important;
  border:1px solid rgba(43,119,184,.14) !important;
  box-shadow:0 20px 55px rgba(37,92,139,.18) !important;
  transform:translateY(120px) scale(.97) !important;
  opacity:0 !important;
  visibility:hidden;
  transition:.24s ease !important;
}
.toast.show{
  transform:translateY(0) scale(1) !important;
  opacity:1 !important;
  visibility:visible;
}
.toast-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  font-size:18px;
  font-weight:900;
  background:#e3f8f0;
  color:#0d8767;
}
.toast-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.toast-copy strong{
  color:#173d61;
  font-size:11px;
}
.toast-copy span{
  color:#6b8196;
  font-size:10px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.toast-close{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
  background:#edf5fb;
  color:#5c758c;
  cursor:pointer;
  font-size:17px;
}
.toast-error{
  border-color:rgba(222,73,92,.20) !important;
}
.toast-error .toast-icon{
  background:#ffe8ec;
  color:#d84458;
}
.toast-warning{
  border-color:rgba(222,166,40,.22) !important;
}
.toast-warning .toast-icon{
  background:#fff3d7;
  color:#a86b00;
}
.toast-info .toast-icon{
  background:#e3f3ff;
  color:#267daf;
}

@media(max-width:620px){
  .toast{
    right:10px !important;
    bottom:max(10px,env(safe-area-inset-bottom)) !important;
    width:calc(100vw - 20px);
  }
  .confirm-card{
    width:min(100%,460px);
  }
}


/* LOGIKA LABA / KERUGIAN TUTUP BUKU */
.btn-loss{
  min-height:42px;padding:0 16px;border-radius:11px;font-weight:800;cursor:pointer;
  border:1px solid #e45a6d;background:linear-gradient(135deg,#ef6677,#d9475b);
  color:#fff;box-shadow:0 10px 24px rgba(217,71,91,.18)
}
.loss-highlight{
  background:#fff0f2 !important;border:1px solid #ef9daa !important;color:#a72f42
}
.loss-summary-card{border-color:rgba(217,71,91,.22)}
.loss-summary{
  min-height:185px;padding:20px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;background:#fff7f8
}
.loss-summary-icon,.loss-alert-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:#e55367;color:#fff;font-size:21px;font-weight:900
}
.loss-summary strong{font-size:22px;color:#a62f42;margin:10px 0 5px}
.loss-summary p{font-size:10px;color:#765a60;line-height:1.5;max-width:300px}
.loss-decision{border-color:rgba(217,71,91,.22)}
.loss-decision>header{background:#fff7f8}
.loss-alert{
  margin:14px;padding:14px;border:1px solid #f2c4cb;border-radius:13px;
  background:#fff1f3;display:flex;gap:12px;align-items:flex-start
}
.loss-alert-icon{flex:0 0 42px}
.loss-alert strong{display:block;color:#9f2f40;font-size:14px;margin-bottom:4px}
.loss-alert p{color:#765a60;font-size:10px;line-height:1.5}
.profit-decision{border-color:rgba(24,153,118,.18)}
.profit-note{color:#138267 !important}


/* =========================================================
   LAPORAN KANTOR PREMIUM
   ========================================================= */
.office-report-page{display:grid;gap:16px}
.report-control-panel{
  background:linear-gradient(135deg,#ffffff,#eef8ff);
  border:1px solid rgba(46,118,178,.14);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 32px rgba(48,105,157,.09)
}
.report-control-kicker{display:block;color:#008f89;font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:4px}
.report-control-panel h2{color:#143755;font-size:22px;margin:0 0 5px}
.report-control-panel p{color:#6b8297;font-size:10px;margin-bottom:16px}
.premium-filter{display:grid;grid-template-columns:1.25fr 1fr 1fr auto auto;gap:10px;align-items:end}
.premium-filter label{display:flex;flex-direction:column;gap:6px}
.premium-filter label span{font-size:9px;font-weight:800;color:#5f7690}
.premium-filter input,.premium-filter select{
  height:42px;border:1px solid #d9e6ef;border-radius:11px;background:#fff;padding:0 11px;color:#173d61
}
.btn-print-report{
  height:42px;padding:0 15px;border-radius:11px;background:#173d61;color:#fff;font-weight:800;cursor:pointer
}

.office-report-document{
  width:min(1100px,100%);
  margin:0 auto;
  background:#fff;
  border:1px solid #dbe6ee;
  box-shadow:0 20px 55px rgba(34,83,124,.13);
  color:#172f46
}
.office-report-header{
  display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 30px 18px
}
.office-brand{display:flex;align-items:center;gap:15px}
.office-brand img{width:82px;height:82px;object-fit:contain}
.office-brand h1{font-family:"Playfair Display",serif;color:#183f65;font-size:27px;letter-spacing:.05em;margin:0}
.office-brand p{color:#b47b19;font-size:9px;font-weight:800;letter-spacing:.18em;margin:4px 0}
.office-brand span{color:#6d8296;font-size:10px}
.office-doc-meta{text-align:right;max-width:360px}
.office-doc-meta span{display:block;color:#008f89;font-size:8px;font-weight:900;letter-spacing:.15em}
.office-doc-meta strong{display:block;color:#173d61;font-size:15px;margin:5px 0;line-height:1.35}
.office-doc-meta small{color:#75899c;font-size:8px}
.office-report-divider{height:5px;background:linear-gradient(90deg,#173d61,#2fa8dc,#29bfae,#d5a33d)}
.office-report-title{text-align:center;padding:22px 25px 12px}
.office-report-title span{color:#008f89;font-size:8px;font-weight:900;letter-spacing:.15em}
.office-report-title h2{color:#173d61;font-size:21px;margin:5px 0}
.office-report-title p{color:#62798f;font-size:10px}
.office-report-info{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:10px 30px 22px;
  border:1px solid #dce6ed;border-radius:10px;overflow:hidden
}
.office-report-info div{padding:11px 13px;border-right:1px solid #dce6ed;background:#f8fbfd}
.office-report-info div:last-child{border-right:0}
.office-report-info span{display:block;color:#74899c;font-size:8px;margin-bottom:4px}
.office-report-info strong{display:block;color:#203e5a;font-size:9px;overflow-wrap:anywhere}
.office-report-body{padding:0 30px 25px}
.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.report-summary-card{
  border:1px solid #dbe6ee;border-radius:12px;padding:13px;background:#f8fbfd
}
.report-summary-card span{display:block;color:#70869a;font-size:7px;font-weight:900;letter-spacing:.08em}
.report-summary-card h3{font-size:10px;color:#35516d;margin:6px 0}
.report-summary-card strong{font-size:16px;color:#173d61}
.report-summary-card.positive{background:#ecfaf4;border-color:#ccebdd}
.report-summary-card.positive strong{color:#08775c}
.report-summary-card.negative{background:#fff1f3;border-color:#f0cad0}
.report-summary-card.negative strong{color:#b63d50}
.report-office-section{margin-top:14px}
.report-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}
.report-section-heading span{display:block;color:#008f89;font-size:7px;font-weight:900;letter-spacing:.12em}
.report-section-heading h3{color:#173d61;font-size:14px;margin:3px 0 0}
.report-section-heading b{font-size:8px;color:#71879a}
.office-table-wrap{overflow:auto;border:1px solid #dbe5ec;border-radius:9px}
.office-report-table{width:100%;border-collapse:collapse;min-width:720px}
.office-report-table th{
  padding:9px 8px;background:#173d61;color:#fff;font-size:7px;letter-spacing:.04em;text-align:left
}
.office-report-table td{
  padding:8px;border-bottom:1px solid #e7edf2;color:#2d4c68;font-size:8px;vertical-align:top
}
.office-report-table tbody tr:nth-child(even){background:#f8fbfd}
.office-report-table tbody tr:last-child td{border-bottom:0}
.office-summary-table{width:100%;border-collapse:collapse;border:1px solid #dce6ed}
.office-summary-table td{padding:11px 13px;border-bottom:1px solid #e3ebf1;font-size:10px}
.office-summary-table td:last-child{text-align:right;font-weight:800;color:#173d61}
.office-summary-table tr:last-child td{border-bottom:0}
.office-summary-table .summary-positive{background:#eaf8f2;color:#08775c}
.office-summary-table .summary-negative{background:#fff0f2;color:#b43b4d}
.report-no-data,.report-empty-document{
  min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#6f8599;border:1px dashed #cedce7;border-radius:10px;background:#fbfdfe;padding:25px
}
.report-empty-icon,.report-loading-mark{font-size:38px;color:#2d8fc8;margin-bottom:10px}
.report-empty-document h3{color:#1f405e;font-size:16px;margin-bottom:5px}
.report-empty-document p{font-size:10px}
.report-loading-mark{animation:reportSpin 1s linear infinite}
@keyframes reportSpin{to{transform:rotate(360deg)}}
.report-error-document .report-empty-icon{color:#d84b5e}
.office-report-footer{padding:0 30px 24px}
.report-note-box{border:1px solid #dce6ed;background:#f8fbfd;border-radius:9px;padding:11px 13px}
.report-note-box strong{font-size:9px;color:#173d61}
.report-note-box p{font-size:8px;color:#6c8295;margin-top:4px;line-height:1.5}
.signature-area{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:28px 40px 20px;text-align:center}
.signature-area span{font-size:8px;color:#657b90}
.signature-space{height:65px}
.signature-area strong{display:block;border-top:1px solid #8da0b1;padding-top:5px;font-size:9px;color:#213f5a}
.office-page-footer{display:flex;justify-content:space-between;border-top:1px solid #dce6ed;padding-top:9px;color:#8294a5;font-size:7px}

@media(max-width:850px){
  .premium-filter{grid-template-columns:1fr 1fr}
  .premium-filter label:first-child{grid-column:1/-1}
  .office-report-header{align-items:flex-start}
  .office-report-info{grid-template-columns:1fr 1fr}
  .office-report-info div:nth-child(2){border-right:0}
  .office-report-info div:nth-child(-n+2){border-bottom:1px solid #dce6ed}
  .report-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .premium-filter{grid-template-columns:1fr}
  .premium-filter label:first-child{grid-column:auto}
  .office-report-document{border-radius:12px;overflow:hidden}
  .office-report-header{padding:18px;flex-direction:column}
  .office-brand img{width:62px;height:62px}
  .office-brand h1{font-size:21px}
  .office-doc-meta{text-align:left}
  .office-report-info{margin:8px 16px 18px;grid-template-columns:1fr}
  .office-report-info div{border-right:0;border-bottom:1px solid #dce6ed}
  .office-report-info div:last-child{border-bottom:0}
  .office-report-body,.office-report-footer{padding-left:16px;padding-right:16px}
  .report-summary-grid{grid-template-columns:1fr}
  .signature-area{gap:25px;margin-left:5px;margin-right:5px}
}

@media print{
  @page{size:A4 portrait;margin:10mm}
  body{background:#fff!important}
  .no-print,.sidebar,.mobile-top-brand,.toast,.app-modal{display:none!important}
  .content-area{margin:0!important;width:100%!important}
  #content-container{padding:0!important}
  .office-report-page{display:block}
  .office-report-document{
    width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important;margin:0!important
  }
  .office-report-header{padding:0 0 10px}
  .office-brand img{width:58px;height:58px}
  .office-brand h1{font-size:20px}
  .office-report-title{padding:12px 0 8px}
  .office-report-info{margin:6px 0 14px}
  .office-report-body{padding:0 0 14px}
  .office-report-footer{padding:0}
  .office-table-wrap{overflow:visible}
  .office-report-table{min-width:0;font-size:7px}
  .office-report-table th,.office-report-table td{padding:5px 4px}
  .report-office-section{break-inside:avoid}
  .signature-area{break-inside:avoid}
}


/* ========================= IMPOR DATA ========================= */
.import-page{display:grid;gap:18px}
.import-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid rgba(24,119,242,.18);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(231,243,255,.96));box-shadow:0 18px 48px rgba(25,83,145,.10)}
.import-kicker{display:inline-block;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.16em;color:#1375d1}
.import-hero h2{margin:0 0 8px;font-size:26px;color:#112d4e}
.import-hero p{max-width:780px;margin:0;color:#5a7088;line-height:1.7;font-size:12px}
.import-icon{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#238df5,#0b62bd);color:#fff;font-size:34px;box-shadow:0 16px 32px rgba(23,116,207,.26)}
.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.import-card{padding:20px;border:1px solid rgba(21,95,164,.14);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(29,82,137,.08)}
.import-card h3{margin:0 0 15px;color:#173858;font-size:15px}
.import-drop{min-height:190px;padding:24px;border:2px dashed #9fcaf2;border-radius:18px;background:#f3f9ff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:.2s}
.import-drop:hover{border-color:#238df5;background:#eaf5ff;transform:translateY(-1px)}
.import-drop input{display:none}
.import-drop-icon{font-size:42px;margin-bottom:12px}
.import-drop b{color:#173858;font-size:14px;word-break:break-word}
.import-drop small{margin-top:7px;color:#7b91a7;font-size:10px}
.import-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}
.import-actions button:disabled{opacity:.45;cursor:not-allowed}
.import-summary{min-height:250px}
.empty-import{height:250px;display:grid;place-items:center;text-align:center;color:#8296aa;border:1px dashed #c8d9e8;border-radius:16px;background:#f8fbfe;padding:20px}
.empty-import.error{color:#bd4250;background:#fff4f5;border-color:#efb7bd}
.import-file-meta{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;margin-bottom:12px;border-radius:13px;background:#edf7ff;color:#173858}
.import-file-meta b{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.import-file-meta span{color:#2275bd;font-size:11px}
.import-sheet-list{display:grid;gap:8px}
.import-sheet-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid #dceaf6;border-radius:12px;background:#fff;color:#4d657b}
.import-sheet-list b{color:#126cbd}
.import-ignored{margin-top:12px;padding:10px 12px;border-radius:11px;background:#fff7e7;color:#8c6819;font-size:10px}
.import-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.import-rule-grid>div{padding:14px;border-radius:14px;background:#f5f9fd;border:1px solid #e0ebf4}
.import-rule-grid b,.import-rule-grid span{display:block}
.import-rule-grid b{color:#173858;font-size:12px;margin-bottom:5px}
.import-rule-grid span{color:#71869b;font-size:10px;line-height:1.6}
.import-success{display:flex;gap:12px;align-items:flex-start;padding:15px;margin-bottom:12px;border-radius:14px;background:#edfdf5;border:1px solid #bcebd4}
.import-success>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#22a86b;color:#fff;font-weight:900}
.import-success b{color:#16724b}
.import-success p{margin:4px 0 0;color:#5d7d6d;font-size:10px}
@media(max-width:860px){
  .import-grid{grid-template-columns:1fr}
  .import-hero{align-items:flex-start}
  .import-icon{width:58px;height:58px;flex-basis:58px;font-size:25px}
}
@media(max-width:560px){
  .import-hero{padding:18px}
  .import-hero h2{font-size:20px}
  .import-icon{display:none}
  .import-card{padding:16px}
  .import-rule-grid{grid-template-columns:1fr}
  .import-actions{display:grid;grid-template-columns:1fr 1fr}
}

.formula-note{display:block;margin-top:3px;font-size:9px;font-weight:700;color:#6d8298;letter-spacing:.01em}


/* Kode otomatis */
.auto-code-input{
  background:#edf6ff!important;
  border-color:#b9d8f3!important;
  color:#1269b5!important;
  font-weight:800!important;
  letter-spacing:.04em;
  cursor:not-allowed;
}

.auto-total-input{
  background:#eef8f5!important;
  border-color:#b8e1d2!important;
  color:#157052!important;
  font-weight:800!important;
  cursor:not-allowed;
}


/* NOTIFIKASI PERINGATAN KONDISIONAL */
.toast-stock{
  border-color:#f2d78f!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,216,92,.20),transparent 31%),
    linear-gradient(135deg,#fffdf7,#ffffff)!important;
}
.toast-stock .toast-icon{
  background:linear-gradient(145deg,#ffbf2e,#e69000)!important;
  box-shadow:0 12px 26px rgba(230,144,0,.28)!important;
  animation:toastBellShake .7s ease 1;
}
.toast-stock .toast-copy strong{
  color:#9b5e00!important;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-size:16px!important;
}
.toast-stock .toast-copy span{
  color:#6b5a3e!important;
}
.toast-stock::after{
  content:"PERINGATAN STOK";
  position:absolute;
  right:18px;
  top:12px;
  padding:4px 8px;
  border-radius:999px;
  background:#fff4cf;
  color:#a26800;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
@keyframes toastBellShake{
  0%,100%{transform:rotate(0)}
  20%{transform:rotate(-12deg)}
  40%{transform:rotate(10deg)}
  60%{transform:rotate(-7deg)}
  80%{transform:rotate(5deg)}
}
@media(max-width:560px){
  .toast-stock::after{right:14px;top:9px;font-size:7px}
  .toast-stock .toast-copy strong{font-size:14px!important}
}


/* =========================================================
   FINAL OVERRIDE — NOTIFIKASI TENGAH PREMIUM
   ========================================================= */
html body #toast.toast{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  z-index:99999!important;

  width:min(420px,calc(100vw - 28px))!important;
  min-width:0!important;
  max-width:420px!important;
  min-height:auto!important;

  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:14px!important;

  padding:18px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:
    0 30px 90px rgba(15,43,72,.30),
    0 10px 28px rgba(15,43,72,.16)!important;

  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,-46%) scale(.94)!important;
  transition:
    opacity .20s ease,
    transform .20s ease,
    visibility .20s ease!important;

  overflow:hidden!important;
}

html body #toast.toast.show{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
}

html body #toast.toast .toast-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  font-size:23px!important;
  font-weight:900!important;
  line-height:1!important;
  color:#fff!important;
}

html body #toast.toast .toast-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}

html body #toast.toast .toast-copy strong{
  display:block!important;
  margin:0!important;
  color:#173858!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

html body #toast.toast .toast-copy span{
  display:block!important;
  margin:0!important;
  color:#60788f!important;
  font-size:12px!important;
  line-height:1.55!important;
  word-break:break-word!important;
}

html body #toast.toast .toast-close{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #cbdceb!important;
  border-radius:11px!important;
  background:#f7fbff!important;
  color:#405b75!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
}

html body #toast.toast.toast-success .toast-icon{
  background:linear-gradient(145deg,#27b779,#168b59)!important;
}

html body #toast.toast.toast-error .toast-icon{
  background:linear-gradient(145deg,#f15f6f,#cb394d)!important;
}

html body #toast.toast.toast-warning .toast-icon{
  background:linear-gradient(145deg,#f2ba37,#d88d10)!important;
}

html body #toast.toast.toast-info .toast-icon{
  background:linear-gradient(145deg,#3da4f5,#176fc4)!important;
}

html body #toast.toast.toast-stock{
  border-color:#f1d38a!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,215,91,.22),transparent 30%),
    rgba(255,255,255,.99)!important;
}

html body #toast.toast.toast-stock .toast-icon{
  background:linear-gradient(145deg,#ffbf2f,#e58f00)!important;
}

html body #toast.toast.toast-stock .toast-copy strong{
  color:#9a5e00!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}

html body #toast.toast.toast-stock::after{
  content:"PERINGATAN STOK"!important;
  position:absolute!important;
  top:10px!important;
  right:14px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#fff4cf!important;
  color:#9d6500!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
}

html body.toast-visible::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:99990!important;
  background:rgba(18,42,67,.30)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  pointer-events:none!important;
}

@media(max-width:560px){
  html body #toast.toast{
    width:calc(100vw - 24px)!important;
    grid-template-columns:42px minmax(0,1fr) 32px!important;
    gap:11px!important;
    padding:15px!important;
    border-radius:17px!important;
  }

  html body #toast.toast .toast-icon{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
    font-size:20px!important;
  }

  html body #toast.toast .toast-copy strong{
    font-size:14px!important;
  }

  html body #toast.toast .toast-copy span{
    font-size:11px!important;
  }

  html body #toast.toast .toast-close{
    width:32px!important;
    height:32px!important;
  }
}

.form-field[style*="display: none"]{display:none!important}


/* FORM KHUSUS PAKAN */
.food-form-note{
  grid-column:1/-1;
  padding:12px 14px;
  border:1px solid #bfe1f7;
  border-radius:14px;
  background:#eef8ff;
  color:#356681;
  font-size:11px;
  line-height:1.6;
}

.auto-extra-input{
  background:#fff7e8!important;
  border-color:#f2d69a!important;
  color:#9a6500!important;
  font-weight:800!important;
  cursor:not-allowed;
}

.auto-modal-input{
  background:#fff7e8!important;
  border-color:#efd397!important;
  color:#915d00!important;
  font-weight:800!important;
  cursor:not-allowed;
}

.auto-total-input[name="Total Harga Beli"]{
  background:#fff7e8!important;
  border-color:#efd397!important;
  color:#915d00!important;
}
.auto-total-input[name="Total Harga Jual"]{
  background:#eef8f5!important;
  border-color:#b8e1d2!important;
  color:#157052!important;
}

.manual-total-input{
  background:#ffffff!important;
  border-color:#59bff4!important;
  color:#0f4f78!important;
  font-weight:800!important;
}
.manual-total-input:focus{
  box-shadow:0 0 0 3px rgba(65,180,239,.16)!important;
}

.purchase-summary-note{
  grid-column:1/-1;
  padding:12px 14px;
  border:1px solid #bfe1f7;
  border-radius:14px;
  background:#eef8ff;
  color:#356681;
  font-size:12px;
}


/* NOTIFIKASI SAT SET */
body.toast-fast::after{
  display:none!important;
}
html body #toast.toast.toast-success,
html body #toast.toast.toast-info{
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;
}


/* TUTUP BUKU MUDAH DIPAHAMI */
.closebook-metrics-clear .closebook-metric{min-height:78px}
.closebook-formula{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0;
  padding:13px 16px;
  border:1px solid #b9e0f5;
  border-radius:14px;
  background:#eff9ff;
  color:#315f7d;
  font-size:12px;
}
.closebook-formula strong{
  flex:none;
  padding:5px 9px;
  border-radius:999px;
  background:#d9f1ff;
  color:#0b6a9c;
}
.closebook-grid-readable{align-items:stretch}
.cashflow-card .cashflow-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px;
}
.cashflow-summary>div{
  padding:13px;
  border:1px solid #d7e5f0;
  border-radius:13px;
  background:#f8fbfe;
}
.cashflow-summary span{
  display:block;
  margin-bottom:5px;
  color:#6b8195;
  font-size:10px;
}
.cashflow-summary strong{
  color:#173858;
  font-size:15px;
}
.closebook-explanation{
  margin:0 12px 12px;
  padding:13px 14px;
  border-left:4px solid #4eafe2;
  border-radius:10px;
  background:#eef8ff;
}
.closebook-explanation b{color:#205f83;font-size:12px}
.closebook-explanation p{margin:4px 0 0;color:#5e7689;font-size:11px;line-height:1.55}
.recommendation-three{grid-template-columns:repeat(3,1fr)}
.allocation-check{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 4px;
  padding:11px 13px;
  border-radius:12px;
  font-size:11px;
}
.allocation-check.ok{background:#eef9f4;border:1px solid #bce4d1;color:#176b4a}
.allocation-check.over{background:#fff0f2;border:1px solid #f0bdc5;color:#a12e42}
.allocation-check span{text-align:right}
.empty-closebook{text-align:center;padding:28px!important}
.empty-closebook strong{display:block;color:#173858;font-size:17px}
.empty-closebook p{color:#6b8195}
@media(max-width:760px){
  .closebook-formula{align-items:flex-start;flex-direction:column}
  .cashflow-card .cashflow-summary{grid-template-columns:1fr}
  .recommendation-three{grid-template-columns:1fr}
  .allocation-check{flex-direction:column}
  .allocation-check span{text-align:left}
}


.period-lock-info{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
  padding:13px 16px;
  border:1px solid #d7e5f0;
  border-radius:14px;
  background:#f8fbfe;
}
.period-lock-info div{display:flex;gap:10px;align-items:center}
.period-lock-info b{color:#173858}
.period-lock-info span{color:#2b7a5b;font-weight:700}
.period-lock-info small{color:#6b8195;text-align:right}
.closebook-metrics-clear{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:1000px){
  .closebook-metrics-clear{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .closebook-metrics-clear{grid-template-columns:1fr}
  .period-lock-info{flex-direction:column}
  .period-lock-info small{text-align:left}
}


/* TOMBOL DAN MODAL PENJELASAN TUTUP BUKU */
.btn-help-closebook{
  border:1px solid #9dcbe5;
  border-radius:12px;
  padding:10px 14px;
  background:#eef8ff;
  color:#17688f;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.btn-help-closebook:hover{background:#dff2fd}

.closebook-help-card{
  width:min(960px,94vw)!important;
  max-height:92vh;
  overflow:hidden;
}
.closebook-help-body{
  padding:18px 20px 24px;
  overflow-y:auto;
  background:#f7fbfe;
}
.help-intro,
.help-formula-main,
.help-flow,
.help-profit-allocation,
.help-warning{
  margin-bottom:14px;
  padding:15px 16px;
  border-radius:14px;
}
.help-intro{background:#eef8ff;border:1px solid #c8e5f6}
.help-intro b{display:block;color:#173858;font-size:16px;margin-bottom:5px}
.help-intro p,
.help-profit-allocation p,
.help-warning p{margin:0;color:#5c7488;line-height:1.6;font-size:12px}

.help-formula-main{
  display:flex;
  align-items:center;
  gap:14px;
  background:#173858;
  color:white;
}
.help-formula-main span{
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  font-size:10px;
  font-weight:800;
}
.help-formula-main strong{font-size:15px}

.help-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.help-topic{
  padding:14px;
  border:1px solid #d7e5f0;
  border-radius:14px;
  background:white;
}
.help-topic h4{margin:0 0 7px;color:#173858;font-size:13px}
.help-topic p{margin:0;color:#627b8f;font-size:11px;line-height:1.55}
.help-example{
  margin-top:9px;
  padding:9px 10px;
  border-radius:10px;
  background:#eef8f5;
  color:#176b4a;
  font-size:10px;
  font-weight:700;
}

.help-flow{background:white;border:1px solid #d7e5f0}
.help-flow h4,
.help-profit-allocation h4{margin:0 0 10px;color:#173858}
.help-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.help-steps span{
  padding:10px;
  border-radius:10px;
  background:#eef8ff;
  color:#276a8f;
  font-size:10px;
  font-weight:700;
}
.help-profit-allocation{background:#eef9f4;border:1px solid #c5e7d7}
.help-warning{background:#fff7e8;border:1px solid #f1d9a8}
.help-warning b{display:block;color:#8f5d00;margin-bottom:5px}

@media(max-width:700px){
  .closebook-actions{flex-wrap:wrap}
  .btn-help-closebook{order:4;width:100%}
  .help-topic-grid{grid-template-columns:1fr}
  .help-steps{grid-template-columns:1fr 1fr}
  .help-formula-main{align-items:flex-start;flex-direction:column}
}

.food-cost-note{
  grid-column:1/-1;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #c8e5f6;
  background:#eef8ff;
  color:#456b82;
  font-size:11px;
  line-height:1.5;
}

.form-field[data-category-note="plastic"]{
  grid-column:1/-1;
}

.form-field input[readonly].auto-total-input{
  cursor:not-allowed;
}


/* RINGKASAN ASET */
.asset-summary-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.asset-summary-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:92px;
  padding:16px;
  border:1px solid #d5e4ef;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 22px rgba(32,91,130,.07);
}
.asset-summary-card.asset-summary-wide{
  grid-column:span 4;
  min-height:78px;
}
.asset-summary-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:13px;
  background:#e5f7fb;
  color:#087d8e;
  font-size:20px;
  font-weight:900;
}
.asset-summary-card span{
  display:block;
  color:#60788d;
  font-size:11px;
  font-weight:700;
}
.asset-summary-card strong{
  display:block;
  margin-top:3px;
  color:#163654;
  font-size:20px;
  line-height:1.2;
}
.asset-summary-card small{
  display:block;
  margin-top:4px;
  color:#8295a5;
  font-size:10px;
  line-height:1.4;
}

@media(max-width:1000px){
  .asset-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .asset-summary-card.asset-summary-wide{grid-column:span 2}
}
@media(max-width:620px){
  .asset-summary-cards{grid-template-columns:1fr}
  .asset-summary-card.asset-summary-wide{grid-column:span 1}
  .asset-summary-card{min-height:84px}
}

.action-edit[data-id]{white-space:nowrap}

/* FORM PELUNASAN SEDERHANA */
.form-field input.auto-total-input{
  background:#eef8f5!important;
  color:#08744f!important;
  font-weight:800;
}

.report-calculation-note{
  margin-top:10px;
  padding:11px 13px;
  border:1px solid #cfe2ee;
  border-radius:10px;
  background:#f2f9fd;
  color:#567187;
  font-size:10px;
  line-height:1.55;
}


/* =========================================================
   HEADER BRAND HP/TABLET TIDAK MENGIKUTI SCROLL
   Logo, tulisan, dan tombol menu hanya berada di bagian atas halaman.
   Berlaku untuk seluruh menu aplikasi.
   ========================================================= */
@media(max-width:860px){
  .mobile-top-brand{
    position:absolute !important;
    top:max(10px, env(safe-area-inset-top)) !important;
    left:max(10px, env(safe-area-inset-left)) !important;
    right:max(10px, env(safe-area-inset-right)) !important;
  }

  .main-header{
    position:relative !important;
    top:auto !important;
  }
}

#cb-owner-cash-wrap small{
  display:block;
  margin-top:6px;
  color:#6d8295;
  font-size:10px;
  line-height:1.4;
}
#cb-owner-cash{
  width:100%;
  min-height:44px;
  border:1px solid #cbddea;
  border-radius:11px;
  background:#fff;
  color:#173858;
  padding:0 12px;
}

.manual-stock-note{
  font-size:11px;
  color:#617b8f;
}

/* ========================================================================== 
   KAISAR CUPANG — OCEAN JEWEL PREMIUM THEME
   Mobile-first, ringan, tanpa animasi berat.
   ========================================================================== */
:root{
  --kc-ink:#061a23;
  --kc-navy:#082633;
  --kc-navy-2:#0b3441;
  --kc-teal:#087f7a;
  --kc-aqua:#18b7aa;
  --kc-mint:#6ed8c9;
  --kc-ice:#ecfbf8;
  --kc-gold:#d6aa57;
  --kc-gold-soft:#f2dfae;
  --kc-coral:#e66d65;
  --kc-amber:#d9942b;
  --kc-surface:#ffffff;
  --kc-bg:#f2f8f7;
  --kc-line:#d8e8e5;
  --kc-text:#102b33;
  --kc-muted:#667e83;
  --kc-shadow:0 12px 35px rgba(5,44,53,.09);
  --kc-radius:20px;
}
*{scrollbar-width:thin;scrollbar-color:#9acbc5 transparent}
html{background:var(--kc-bg)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;background:var(--kc-bg)!important;color:var(--kc-text)!important}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 8% 8%,rgba(24,183,170,.10),transparent 28%),radial-gradient(circle at 92% 15%,rgba(214,170,87,.08),transparent 24%),linear-gradient(180deg,#f8fcfb 0%,#eef7f5 100%)}
.ambient{display:none!important}
.hidden{display:none!important}

/* Login */
.login-page{min-height:100dvh!important;padding:18px!important;background:linear-gradient(145deg,#061b25 0%,#073b46 52%,#087f7a 100%)!important;overflow:hidden}
.login-page:before,.login-page:after{content:"";position:fixed;border-radius:999px;pointer-events:none;filter:blur(1px)}
.login-page:before{width:260px;height:260px;right:-105px;top:-80px;background:rgba(110,216,201,.13)}
.login-page:after{width:210px;height:210px;left:-100px;bottom:-90px;background:rgba(214,170,87,.12)}
.login-shell{width:min(1080px,100%)!important;min-height:auto!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:28px!important;box-shadow:0 28px 80px rgba(0,12,18,.35)!important;overflow:hidden!important;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(10px)}
.brand-showcase{background:linear-gradient(150deg,rgba(3,33,43,.94),rgba(4,86,91,.82))!important;padding:42px!important}
.login-logo{width:min(220px,62vw)!important;height:auto!important;filter:drop-shadow(0 14px 18px rgba(0,0,0,.24))}
.eyebrow,.mini-badge,.modal-kicker{color:var(--kc-gold-soft)!important;letter-spacing:.14em!important}
.brand-copy h1{font-family:inherit!important;color:#fff!important;font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.08!important}
.brand-copy p{color:rgba(234,255,252,.78)!important}
.feature-row>div{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.11)!important;border-radius:16px!important}
.feature-row strong{color:#fff!important}.feature-row span{color:#9eddd5!important}
.login-card{padding:32px!important;background:rgba(255,255,255,.98)!important}
.login-card-head h2{color:var(--kc-navy)!important}
.login-card-head p,.login-footer{color:var(--kc-muted)!important}
.field{border:1px solid var(--kc-line)!important;background:#f8fcfb!important;border-radius:15px!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease!important}
.field:focus-within{border-color:var(--kc-aqua)!important;box-shadow:0 0 0 4px rgba(24,183,170,.12)!important;background:#fff!important}
.field input{color:var(--kc-text)!important}
.primary-button,.btn-save,.btn-add{background:linear-gradient(135deg,var(--kc-teal),var(--kc-aqua))!important;color:#fff!important;border:0!important;border-radius:14px!important;box-shadow:0 10px 22px rgba(8,127,122,.22)!important}
.primary-button:hover,.btn-save:hover,.btn-add:hover{transform:translateY(-1px)!important;filter:brightness(1.03)}

/* App shell */
.app-shell{background:transparent!important;min-height:100dvh!important}
.sidebar{background:linear-gradient(180deg,#061f2a 0%,#07343d 62%,#075a5c 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:12px 0 34px rgba(0,28,36,.12)!important}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 5%,rgba(110,216,201,.12),transparent 30%),linear-gradient(180deg,transparent 75%,rgba(214,170,87,.07))}
.sidebar-brand{position:relative!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.sidebar-brand img{filter:drop-shadow(0 8px 12px rgba(0,0,0,.2))!important}
.sidebar-brand strong{color:#fff!important}.sidebar-brand span,.sidebar-caption{color:#8fd5cd!important}
.menu-item{position:relative!important;color:#b8d8d6!important;border-radius:14px!important;margin:3px 10px!important;border:1px solid transparent!important;transition:background .16s ease,color .16s ease!important}
.menu-item span{background:rgba(255,255,255,.07)!important;border-radius:10px!important}
.menu-item:hover{background:rgba(255,255,255,.075)!important;color:#fff!important}
.menu-item.active{background:linear-gradient(135deg,rgba(24,183,170,.28),rgba(110,216,201,.12))!important;color:#fff!important;border-color:rgba(110,216,201,.22)!important;box-shadow:inset 3px 0 0 var(--kc-gold)!important}
.menu-item.active span{background:rgba(214,170,87,.18)!important;color:var(--kc-gold-soft)!important}
.sidebar-footer{border-top-color:rgba(255,255,255,.09)!important}
.sidebar-action{border-radius:13px!important;color:#b7d4d3!important}.sidebar-action:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}.sidebar-action.logout{color:#ffd1cb!important}
.content-area{background:transparent!important}
.main-header{background:rgba(248,252,251,.88)!important;border-bottom:1px solid rgba(8,79,83,.09)!important;backdrop-filter:blur(12px)!important;box-shadow:0 8px 26px rgba(8,55,61,.04)!important}
.breadcrumb{color:var(--kc-teal)!important}.header-title-wrap h2{color:var(--kc-navy)!important}
.icon-button,.mobile-menu,.mobile-menu-float{border:1px solid var(--kc-line)!important;background:#fff!important;color:var(--kc-teal)!important;border-radius:13px!important;box-shadow:0 6px 16px rgba(5,57,62,.07)!important}
.user-chip{background:#fff!important;border:1px solid var(--kc-line)!important;border-radius:15px!important;box-shadow:0 7px 20px rgba(5,57,62,.06)!important}
.avatar{background:linear-gradient(135deg,var(--kc-teal),var(--kc-aqua))!important;color:#fff!important}
#content-container{padding:18px!important}

/* Cards, dashboard and panels */
.card,.dashboard-panel,.finance-card,.cashflow-card,.health-card,.module-summary,.import-card,.closebook-page,.asset-summary-card{background:rgba(255,255,255,.94)!important;border:1px solid var(--kc-line)!important;border-radius:var(--kc-radius)!important;box-shadow:var(--kc-shadow)!important}
.card:before,.finance-card:before{background:linear-gradient(90deg,var(--kc-aqua),var(--kc-gold))!important}
.card-label,.dashboard-kicker{color:var(--kc-muted)!important}.card-value{color:var(--kc-navy)!important}
.finance-icon,.asset-summary-icon{background:linear-gradient(135deg,rgba(24,183,170,.14),rgba(214,170,87,.12))!important;color:var(--kc-teal)!important;border:1px solid rgba(24,183,170,.16)!important}
.dashboard-panel-head{border-bottom-color:var(--kc-line)!important}
.health-badge{background:#e3f8f3!important;color:#08766f!important;border:1px solid #c3ebe4!important}

/* Tables */
.table-wrap{background:#fff!important;border:1px solid var(--kc-line)!important;border-radius:18px!important;box-shadow:var(--kc-shadow)!important;overflow:auto!important}
.data-table{background:#fff!important;color:var(--kc-text)!important}
.data-table thead th{background:#eaf6f3!important;color:#17424a!important;border-bottom:1px solid #cfe5e1!important;font-size:.73rem!important;letter-spacing:.045em!important;text-transform:uppercase!important}
.data-table tbody td{border-bottom-color:#e8f1ef!important}
.data-table tbody tr:hover{background:#f5fbfa!important}
.status-badge,.badge{border-radius:999px!important;font-weight:700!important}
.action-edit{background:#e7f8f5!important;color:#087d75!important;border-color:#c9ebe5!important}.action-delete{background:#fff0ef!important;color:#bd4d47!important;border-color:#f4d0cd!important}

/* Forms and modals */
.app-modal{backdrop-filter:blur(5px)!important}
.modal-backdrop{background:rgba(1,24,31,.62)!important}
.modal-card{border:1px solid rgba(255,255,255,.55)!important;border-radius:24px!important;box-shadow:0 28px 80px rgba(0,23,31,.28)!important;overflow:hidden!important}
.modal-header{background:linear-gradient(135deg,#082d38,#087b78)!important;border-bottom:0!important;color:#fff!important}
.modal-header h3{color:#fff!important}.modal-close{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important}
.form-field input,.form-field select,.form-field textarea,.confirm-input-wrap input{background:#f8fcfb!important;border:1px solid var(--kc-line)!important;border-radius:13px!important;color:var(--kc-text)!important}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.confirm-input-wrap input:focus{border-color:var(--kc-aqua)!important;box-shadow:0 0 0 4px rgba(24,183,170,.11)!important;outline:0!important;background:#fff!important}
.modal-footer{background:#f7fbfa!important;border-top-color:var(--kc-line)!important}
.btn-secondary{background:#fff!important;color:#36565c!important;border:1px solid var(--kc-line)!important;border-radius:13px!important}
.btn-danger{background:linear-gradient(135deg,#cf554e,#e87970)!important;border:0!important;border-radius:13px!important;box-shadow:0 8px 18px rgba(207,85,78,.2)!important}
.confirm-card .notice-icon{background:#fff0ee!important;color:var(--kc-coral)!important;border:1px solid #f4cfcb!important}

/* Premium toast */
.toast{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(20px + env(safe-area-inset-bottom))!important;width:min(430px,calc(100vw - 24px))!important;min-height:74px!important;transform:translate(-50%,24px) scale(.97)!important;opacity:0!important;display:grid!important;grid-template-columns:46px 1fr 34px!important;align-items:center!important;gap:12px!important;padding:13px 12px 13px 14px!important;border-radius:18px!important;background:rgba(7,34,43,.96)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 46px rgba(0,24,31,.28)!important;backdrop-filter:blur(15px)!important;z-index:99999!important;pointer-events:none!important;transition:opacity .22s ease,transform .22s ease!important;overflow:hidden!important}
.toast:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--toast-accent,var(--kc-aqua));transform-origin:left;animation:kcToastBar 3.4s linear forwards}
.toast.show{opacity:1!important;transform:translate(-50%,0) scale(1)!important;pointer-events:auto!important}
.toast-icon{width:44px!important;height:44px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--toast-accent,var(--kc-aqua)) 22%,transparent)!important;color:var(--toast-accent,var(--kc-aqua))!important;border:1px solid color-mix(in srgb,var(--toast-accent,var(--kc-aqua)) 40%,transparent)!important;font-size:1.2rem!important;font-weight:900!important}
.toast-copy strong{display:block!important;color:#fff!important;font-size:.93rem!important;margin-bottom:3px!important}.toast-copy span{display:block!important;color:#c6dbdb!important;font-size:.82rem!important;line-height:1.35!important}
.toast-close{width:32px!important;height:32px!important;border-radius:10px!important;border:0!important;background:rgba(255,255,255,.08)!important;color:#d8e9e8!important}
.toast-success{--toast-accent:#54d5b3}.toast-info{--toast-accent:#65cfe3}.toast-warning{--toast-accent:#f1bd59}.toast-error{--toast-accent:#ff8077}.toast-stock{--toast-accent:#f1bd59}
@keyframes kcToastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.toast{transition:none!important}.toast:after{animation:none!important}}

/* Mobile first */
.mobile-top-brand{background:linear-gradient(135deg,#061f2a,#087772)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:0 9px 24px rgba(1,37,44,.15)!important}
.mobile-top-brand img,.mobile-brand img{filter:drop-shadow(0 5px 8px rgba(0,0,0,.22))!important}
.mobile-top-brand-text strong,.mobile-brand-text strong{color:#fff!important}.mobile-top-brand-text span,.mobile-brand-text span{color:#9bdcd4!important}
@media(max-width:860px){
  body{background:#f3f9f7!important}
  #content-container{padding:12px!important;padding-bottom:28px!important}
  .main-header{padding:11px 13px!important;position:sticky!important;top:0!important;z-index:30!important}
  .header-title-wrap h2{font-size:1.18rem!important}.breadcrumb{display:none!important}
  .user-chip{display:none!important}
  .sidebar{width:min(86vw,330px)!important}
  .dashboard-grid,.finance-grid,.asset-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .dashboard-main-grid,.dashboard-lower{grid-template-columns:1fr!important}
  .card,.finance-card,.dashboard-panel{border-radius:17px!important;box-shadow:0 8px 23px rgba(5,44,53,.07)!important}
  .card{padding:15px!important}.card-value{font-size:1.34rem!important}
  .module-head{align-items:flex-start!important;gap:10px!important}.module-head>div:last-child{width:100%!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}.btn-add{flex:1!important;min-height:44px!important}
  .modal-card{width:calc(100% - 16px)!important;max-height:calc(100dvh - 18px)!important;border-radius:20px!important}
  .modal-header{padding:17px!important}.modal-footer{padding:12px!important;position:sticky!important;bottom:0!important;z-index:2!important}.modal-footer button{min-height:44px!important;flex:1!important}
  .form-grid{grid-template-columns:1fr!important;gap:13px!important}
}
@media(max-width:560px){
  .login-page{padding:0!important;background:#f5fbfa!important}
  .login-shell{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;min-height:100dvh!important}
  .brand-showcase{display:none!important}
  .login-card{min-height:100dvh!important;padding:24px 19px 26px!important;justify-content:center!important}
  .mobile-login-brand{display:flex!important;margin-bottom:24px!important;padding:14px!important;border-radius:18px!important;background:linear-gradient(135deg,#062732,#087f7a)!important;box-shadow:0 14px 30px rgba(4,91,89,.18)!important}
  .mobile-login-brand img{width:62px!important;height:62px!important;object-fit:contain!important}.mobile-login-brand strong{color:#fff!important}.mobile-login-brand span{color:#a6ddd7!important}
  .dashboard-grid,.finance-grid,.asset-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card-label{font-size:.72rem!important}.card-value{font-size:1.15rem!important}
  .table-wrap{border-radius:15px!important}
  .data-table{min-width:720px!important}
  .toast{bottom:calc(12px + env(safe-area-inset-bottom))!important;grid-template-columns:42px 1fr 30px!important;min-height:68px!important;border-radius:16px!important;padding:11px!important}
  .toast-icon{width:40px!important;height:40px!important;border-radius:12px!important}
}
@media(min-width:861px) and (max-width:1180px){
  .sidebar{width:238px!important}.content-area{margin-left:238px!important}
  #content-container{padding:20px!important}
  .dashboard-grid,.finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(min-width:1181px){#content-container{padding:24px 28px!important}.dashboard-grid,.finance-grid{gap:16px!important}}

/* =========================================================
   KAISAR CUPANG — ROYAL BETTA THEME
   Mobile first • menu & application logic remain unchanged
   ========================================================= */
:root{
  --kc-royal:#071426;
  --kc-royal-2:#0b213d;
  --kc-blue:#123e68;
  --kc-aqua:#25b9bd;
  --kc-gold:#d4a84f;
  --kc-gold-soft:#f3d995;
  --kc-ivory:#fbfaf6;
  --kc-paper:#f4f6f8;
  --kc-text:#162437;
  --kc-muted:#68788d;
  --kc-line:#dce3e9;
  --kc-danger:#c95559;
  --kc-success:#21896f;
  --kc-shadow:0 14px 36px rgba(10,31,58,.09);
  --kc-shadow-strong:0 24px 70px rgba(4,17,34,.24);
}
html{background:var(--kc-paper)!important}
body{background:linear-gradient(180deg,#eef2f6 0,#f7f8fa 46%,#f3f5f7 100%)!important;color:var(--kc-text)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.ambient-one{background:rgba(31,135,170,.10)!important}.ambient-two{background:rgba(212,168,79,.10)!important}

/* Login */
.login-page{background:radial-gradient(circle at 12% 18%,rgba(37,185,189,.12),transparent 30%),radial-gradient(circle at 88% 82%,rgba(212,168,79,.13),transparent 28%),#061222!important}
.login-shell{background:#fff!important;border:1px solid rgba(243,217,149,.23)!important;box-shadow:0 32px 90px rgba(0,8,20,.46)!important}
.brand-showcase{background:linear-gradient(145deg,#061225 0%,#0b2340 58%,#10375a 100%)!important}
.brand-showcase:before{border-color:rgba(243,217,149,.24)!important}
.brand-showcase:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-120px;top:-105px;border:1px solid rgba(243,217,149,.13);box-shadow:0 0 0 42px rgba(243,217,149,.025),0 0 0 84px rgba(37,185,189,.025)}
.login-logo{filter:drop-shadow(0 22px 30px rgba(0,0,0,.5)) drop-shadow(0 0 17px rgba(212,168,79,.18))!important}
.brand-copy h1{color:#fff!important}.brand-copy p{color:#aebed1!important}.eyebrow,.mini-badge{color:var(--kc-gold-soft)!important}
.feature-row div{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.09)!important}.feature-row strong{color:var(--kc-gold-soft)!important}.feature-row span{color:#9eb0c5!important}
.login-card{background:linear-gradient(180deg,#fff,#f8fafc)!important;color:var(--kc-text)!important}
.login-card-head h2{color:var(--kc-royal)!important}.login-card-head p{color:var(--kc-muted)!important}
#login-form label>span{color:#33465e!important}.field{background:#fff!important;border-color:#d7e0e8!important}.field:focus-within{border-color:var(--kc-gold)!important;box-shadow:0 0 0 4px rgba(212,168,79,.13)!important}.field input{color:var(--kc-text)!important}.password-toggle{color:#718197!important}.remember span{color:var(--kc-muted)!important}.link-button{color:#9b7124!important}
.primary-button,.btn-add,.btn-primary{background:linear-gradient(135deg,#f1d58d,#d2a347 55%,#b67b24)!important;color:#101a27!important;border:0!important;box-shadow:0 10px 24px rgba(171,117,31,.24)!important}
.primary-button:hover,.btn-add:hover,.btn-primary:hover{filter:brightness(1.035)!important;transform:translateY(-1px)}
.login-footer{color:#8592a2!important}

/* Sidebar and header */
.sidebar{background:linear-gradient(180deg,#061426 0%,#09213b 62%,#07182d 100%)!important;border-right:1px solid rgba(243,217,149,.13)!important;box-shadow:12px 0 34px rgba(3,15,30,.12)!important}
.sidebar-brand{border-bottom-color:rgba(255,255,255,.07)!important}.sidebar-brand img{filter:drop-shadow(0 6px 10px rgba(0,0,0,.38))!important}.sidebar-brand strong{color:var(--kc-gold-soft)!important}.sidebar-brand span{color:#9bafc7!important}
.sidebar-caption{color:#697f99!important}.menu-item{color:#a9b8ca!important}.menu-item:hover{background:rgba(255,255,255,.045)!important;color:#fff!important}.menu-item.active{color:#fff5d9!important;background:linear-gradient(90deg,rgba(212,168,79,.24),rgba(25,87,125,.10))!important;border-color:rgba(243,217,149,.22)!important;box-shadow:inset 3px 0 0 var(--kc-gold),0 8px 22px rgba(0,0,0,.10)!important}.sidebar-footer{border-top-color:rgba(255,255,255,.07)!important}.sidebar-action{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.06)!important;color:#a8b6c8!important}.sidebar-action.logout{color:#ffaaa9!important}
.content-area{background:transparent!important}.main-header{background:rgba(255,255,255,.92)!important;border-bottom:1px solid var(--kc-line)!important;box-shadow:0 6px 22px rgba(8,31,58,.055)!important;color:var(--kc-text)!important}.header-title-wrap h2{color:var(--kc-royal)!important}.breadcrumb{color:#8290a1!important}.breadcrumb span{color:#9e7428!important}.mobile-menu{color:var(--kc-royal)!important}.icon-button{background:#fff!important;color:var(--kc-royal)!important;border-color:var(--kc-line)!important}.user-chip{background:#fff!important;border-color:var(--kc-line)!important}.avatar{background:linear-gradient(145deg,var(--kc-gold-soft),#bd8128)!important;color:#142033!important}.user-chip strong{color:var(--kc-text)!important}.user-chip span{color:var(--kc-muted)!important}

/* Content cards */
#content-container{color:var(--kc-text)!important}.page-intro h1,.module-head h2,.dashboard-panel-head h3{color:var(--kc-royal)!important}.page-intro p,.module-head p{color:var(--kc-muted)!important}
.card,.panel,.dashboard-panel,.finance-card,.cashflow-card,.health-card,.module-summary,.import-card,.closebook-page,.asset-summary-card{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;border:1px solid var(--kc-line)!important;border-radius:19px!important;box-shadow:var(--kc-shadow)!important;color:var(--kc-text)!important}
.card:before,.finance-card:before{background:linear-gradient(90deg,var(--kc-gold),var(--kc-aqua))!important}.card-label,.dashboard-kicker{color:var(--kc-muted)!important}.card-value{color:var(--kc-royal)!important}.card-trend{color:var(--kc-success)!important}
.finance-icon,.asset-summary-icon{background:linear-gradient(135deg,rgba(212,168,79,.16),rgba(37,185,189,.11))!important;color:#9a7025!important;border:1px solid rgba(212,168,79,.24)!important}.activity{background:#f6f8fa!important}.activity-icon{background:rgba(212,168,79,.13)!important;color:#966d22!important}.activity strong{color:var(--kc-text)!important}.activity p,.activity time{color:var(--kc-muted)!important}.quick-action{background:#fff!important;border-color:var(--kc-line)!important;color:var(--kc-text)!important}.quick-action:hover{border-color:rgba(212,168,79,.7)!important;box-shadow:0 10px 26px rgba(20,45,73,.08)!important}.health-badge{background:#e8f7f3!important;color:#1c7665!important;border-color:#c9ebe2!important}

/* Tables */
.table-wrap{background:#fff!important;border:1px solid var(--kc-line)!important;border-radius:17px!important;box-shadow:var(--kc-shadow)!important}.data-table{background:#fff!important;color:var(--kc-text)!important}.data-table thead th{background:linear-gradient(180deg,#0d2948,#102f52)!important;color:#f7df9f!important;border-bottom:1px solid #173d66!important;letter-spacing:.045em!important;text-transform:uppercase!important}.data-table tbody td{border-bottom-color:#e8edf1!important}.data-table tbody tr:hover{background:#faf8f1!important}.search-box{background:#fff!important;color:var(--kc-text)!important;border-color:var(--kc-line)!important}.search-box:focus{border-color:var(--kc-gold)!important;box-shadow:0 0 0 4px rgba(212,168,79,.12)!important;outline:0!important}.action-edit{background:#eef5fb!important;color:#245b84!important;border-color:#d5e4ef!important}.action-delete{background:#fff1f0!important;color:#b84c50!important;border-color:#f0d4d3!important}

/* Forms / modal */
.modal-backdrop{background:rgba(2,12,25,.72)!important}.modal-card{background:#fff!important;border:1px solid rgba(243,217,149,.43)!important;border-radius:22px!important;box-shadow:var(--kc-shadow-strong)!important}.modal-header{background:linear-gradient(135deg,#071426,#10385f)!important;color:#fff!important;border-bottom:1px solid rgba(243,217,149,.18)!important}.modal-header h3{color:#fff!important}.modal-kicker{color:var(--kc-gold-soft)!important}.modal-close{background:rgba(255,255,255,.09)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}.form-field label,.form-field>span{color:#34465d!important}.form-field input,.form-field select,.form-field textarea,.confirm-input-wrap input{background:#fbfcfd!important;border:1px solid #d7e0e8!important;color:var(--kc-text)!important;border-radius:12px!important}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.confirm-input-wrap input:focus{background:#fff!important;border-color:var(--kc-gold)!important;box-shadow:0 0 0 4px rgba(212,168,79,.12)!important;outline:0!important}.modal-footer{background:#f7f8fa!important;border-top-color:var(--kc-line)!important}.btn-secondary{background:#fff!important;color:#405168!important;border:1px solid var(--kc-line)!important}.btn-danger{background:linear-gradient(135deg,#bb4249,#d96868)!important;color:#fff!important;box-shadow:0 9px 20px rgba(187,66,73,.2)!important}.confirm-card .notice-icon{background:#fff0ee!important;color:var(--kc-danger)!important;border-color:#efd2d0!important}

/* Royal notifications */
.toast{background:linear-gradient(145deg,rgba(6,20,38,.98),rgba(12,43,72,.98))!important;border:1px solid rgba(243,217,149,.25)!important;box-shadow:0 20px 55px rgba(2,13,28,.36)!important}.toast-copy strong{color:#fff8e3!important}.toast-copy span{color:#c2cfde!important}.toast-icon{background:rgba(212,168,79,.13)!important;color:var(--toast-accent,var(--kc-gold-soft))!important;border:1px solid rgba(243,217,149,.18)!important}.toast-close{background:rgba(255,255,255,.07)!important;color:#e5ebf2!important}.toast:after{background:linear-gradient(90deg,var(--toast-accent,var(--kc-gold)),var(--kc-gold-soft))!important}.toast-success{--toast-accent:#54c8a5}.toast-info{--toast-accent:#5ec7dc}.toast-warning{--toast-accent:#e4b954}.toast-error{--toast-accent:#ef7678}.toast-stock{--toast-accent:#e4b954}

/* Mobile and tablet refinements */
.mobile-top-brand{background:linear-gradient(135deg,#061426,#10385f)!important;border-bottom:1px solid rgba(243,217,149,.17)!important;box-shadow:0 10px 28px rgba(3,18,35,.2)!important}.mobile-top-brand-text strong,.mobile-brand-text strong{color:var(--kc-gold-soft)!important}.mobile-top-brand-text span,.mobile-brand-text span{color:#adc0d5!important}
@media(max-width:860px){
  body{background:#f3f5f7!important}.main-header{background:rgba(255,255,255,.96)!important}.sidebar{width:min(87vw,332px)!important}.card,.finance-card,.dashboard-panel{box-shadow:0 8px 22px rgba(9,34,63,.075)!important}.module-head>div:last-child{width:100%!important}.btn-add{min-height:44px!important}.modal-card{width:calc(100% - 16px)!important;max-height:calc(100dvh - 16px)!important}
}
@media(max-width:560px){
  .login-page{background:#fff!important}.login-shell{background:#fff!important}.login-card{background:#fff!important}.mobile-login-brand{display:flex!important;background:linear-gradient(135deg,#061426,#10385f)!important;border:1px solid rgba(243,217,149,.18)!important;box-shadow:0 16px 34px rgba(3,25,48,.22)!important}.mobile-login-brand strong{color:var(--kc-gold-soft)!important}.mobile-login-brand span{color:#b1c1d3!important}.dashboard-grid,.finance-grid,.asset-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card{padding:14px!important}.card-value{font-size:1.16rem!important}.data-table{min-width:720px!important}.toast{bottom:calc(12px + env(safe-area-inset-bottom))!important}
}
@media(min-width:561px) and (max-width:860px){.dashboard-grid,.finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* =========================================================
   KAISAR CUPANG — FRESH AQUA LIGHT (FINAL OVERRIDE)
   Referensi: login biru modern + dashboard cerah berwarna
   ========================================================= */
:root{
  --fresh-bg:#eef4fb;
  --fresh-surface:#ffffff;
  --fresh-navy:#06152a;
  --fresh-blue:#2f67f6;
  --fresh-cyan:#16b8d4;
  --fresh-violet:#8247ec;
  --fresh-orange:#ff9228;
  --fresh-green:#13aa5b;
  --fresh-red:#ef5962;
  --fresh-text:#10213a;
  --fresh-muted:#6c7b91;
  --fresh-line:#dce5f0;
  --fresh-shadow:0 10px 30px rgba(40,72,110,.10);
}
body{background:var(--fresh-bg)!important;color:var(--fresh-text)!important}
body:before{background:linear-gradient(180deg,#edf4fc 0,#f7f9fc 52%,#eef3f8 100%)!important}

/* LOGIN: benar-benar model baru, satu kartu di tengah */
.login-page{
  background:
    radial-gradient(circle at 15% 20%,rgba(18,174,230,.20),transparent 25%),
    radial-gradient(circle at 85% 25%,rgba(24,108,221,.28),transparent 30%),
    linear-gradient(135deg,#031128 0%,#072b58 52%,#064c79 100%)!important;
  padding:20px!important;
}
.login-page:before{
  width:70vw!important;height:70vw!important;left:-38vw!important;top:42%!important;
  background:transparent!important;border:1px solid rgba(65,168,255,.12)!important;filter:none!important;
  box-shadow:0 0 0 90px rgba(24,130,220,.035),0 0 0 180px rgba(24,130,220,.025)!important;
}
.login-page:after{width:420px!important;height:420px!important;right:-170px!important;top:-120px!important;left:auto!important;bottom:auto!important;background:rgba(0,196,255,.10)!important;filter:blur(2px)!important}
.login-shell{
  display:block!important;width:min(430px,100%)!important;min-height:0!important;
  background:rgba(5,29,61,.83)!important;border:1px solid rgba(85,190,255,.36)!important;
  border-radius:24px!important;box-shadow:0 30px 90px rgba(0,8,28,.44)!important;
  backdrop-filter:blur(18px)!important;overflow:visible!important;
}
.brand-showcase{display:none!important}
.login-card{padding:38px!important;background:transparent!important;border-radius:24px!important;color:#fff!important}
.mobile-login-brand{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin:0 auto 18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important}
.mobile-login-brand img{width:76px!important;height:76px!important;object-fit:contain!important;filter:drop-shadow(0 10px 18px rgba(0,0,0,.32))!important}
.mobile-login-brand strong{display:block!important;color:#fff!important;font-size:17px!important;letter-spacing:.06em!important}.mobile-login-brand span{display:block!important;color:#8ecbf5!important;font-size:10px!important;margin-top:3px!important}
.login-card-head{text-align:center!important}.login-card-head .mini-badge{display:none!important}.login-card-head h2{color:#fff!important;font-size:29px!important;margin:8px 0 6px!important}.login-card-head p{color:#9eb3cb!important;margin-bottom:28px!important}
#login-form label>span{color:#eaf4ff!important;font-size:12px!important}.field{height:49px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(178,210,239,.34)!important;border-radius:13px!important}.field:focus-within{border-color:#13c5ff!important;box-shadow:0 0 0 3px rgba(19,197,255,.14)!important}.field input{color:#fff!important}.field input::placeholder{color:#8da2ba!important}.field i,.password-toggle{color:#d8e8f8!important}.remember span{color:#a7b8cb!important}.link-button{color:#4fd3ff!important}.primary-button{background:linear-gradient(90deg,#12b9f2,#2458f3)!important;color:#fff!important;box-shadow:0 14px 30px rgba(31,102,238,.34)!important;border-radius:13px!important;text-transform:uppercase!important;letter-spacing:.04em!important}.login-footer{color:#849ab2!important}

/* SIDEBAR gelap modern */
.sidebar{background:#06152a!important;border-right:0!important;box-shadow:8px 0 24px rgba(23,47,78,.10)!important}
.sidebar-brand{min-height:78px!important;padding:12px 15px!important;border-bottom-color:rgba(255,255,255,.07)!important}.sidebar-brand img{width:40px!important;height:40px!important}.sidebar-brand strong{color:#fff!important;font-family:inherit!important;font-size:17px!important}.sidebar-brand span{color:#7f93ac!important}
.sidebar-caption{color:#657b96!important}.menu-item{color:#c0cbda!important;border-radius:9px!important;padding:10px 12px!important}.menu-item:hover{background:rgba(255,255,255,.055)!important}.menu-item.active{background:linear-gradient(90deg,#356cf4,#2b5be7)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(47,103,246,.25)!important}.menu-item.active:before{display:none!important}.sidebar-action{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.06)!important}

/* HEADER & AREA UTAMA */
.content-area{background:var(--fresh-bg)!important}.main-header{height:76px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--fresh-line)!important;box-shadow:0 5px 18px rgba(37,70,105,.06)!important}.header-title-wrap h2{color:#0c203c!important}.breadcrumb{color:#8795a8!important}.breadcrumb span{color:var(--fresh-blue)!important}.icon-button,.user-chip{background:#fff!important;border-color:var(--fresh-line)!important;box-shadow:0 5px 15px rgba(34,67,104,.06)!important}.avatar{background:linear-gradient(135deg,#7a50ed,#3f70ef)!important;color:#fff!important}
#content-container{padding:24px!important}.page-intro{margin-bottom:18px!important}.page-intro h1,.module-head h2{color:#0c203c!important}.page-intro p,.module-head p{color:var(--fresh-muted)!important}

/* KARTU DASHBOARD WARNA-WARNI seperti referensi */
.dashboard-grid{gap:12px!important}.dashboard-grid .card{border:0!important;color:#fff!important;box-shadow:0 10px 22px rgba(28,65,115,.12)!important;overflow:hidden!important;min-height:112px!important}.dashboard-grid .card:before{content:""!important;position:absolute!important;width:105px!important;height:105px!important;right:-28px!important;bottom:-45px!important;border-radius:50%!important;background:rgba(255,255,255,.17)!important}.dashboard-grid .card:nth-child(5n+1){background:linear-gradient(135deg,#356cf4,#437bea)!important}.dashboard-grid .card:nth-child(5n+2){background:linear-gradient(135deg,#8247ec,#a14de7)!important}.dashboard-grid .card:nth-child(5n+3){background:linear-gradient(135deg,#16a9c1,#28b9cc)!important}.dashboard-grid .card:nth-child(5n+4){background:linear-gradient(135deg,#ff8c24,#ffa031)!important}.dashboard-grid .card:nth-child(5n+5){background:linear-gradient(135deg,#11a95b,#23b96d)!important}.dashboard-grid .card .card-label,.dashboard-grid .card .card-value,.dashboard-grid .card .card-trend,.dashboard-grid .card .card-icon{color:#fff!important}.dashboard-grid .card .card-label{opacity:.92!important}.dashboard-grid .card .card-trend{opacity:.85!important}
.card,.panel,.dashboard-panel,.finance-card,.cashflow-card,.health-card,.module-summary,.import-card,.asset-summary-card{background:#fff!important;border:1px solid var(--fresh-line)!important;box-shadow:var(--fresh-shadow)!important;border-radius:16px!important;color:var(--fresh-text)!important}
.dashboard-lower{gap:14px!important}.panel-head h3,.dashboard-panel-head h3{color:#0c203c!important}.activity{background:#f7f9fc!important;border:1px solid #edf1f6!important}.quick-action{background:#fff!important;border:1px solid var(--fresh-line)!important;color:var(--fresh-text)!important}.quick-action:hover{border-color:#a8bdf0!important;box-shadow:0 8px 20px rgba(47,103,246,.10)!important}

/* TOMBOL, FORM, TABEL */
.btn-add,.btn-primary,.btn-save{background:linear-gradient(135deg,#356cf4,#2458df)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(47,103,246,.22)!important}.btn-add:hover,.btn-primary:hover,.btn-save:hover{filter:brightness(1.04)!important}.search-box{background:#fff!important;border:1px solid var(--fresh-line)!important;color:var(--fresh-text)!important}.search-box:focus{border-color:#6f95f5!important;box-shadow:0 0 0 3px rgba(47,103,246,.11)!important}
.table-wrap{background:#fff!important;border:1px solid var(--fresh-line)!important;box-shadow:var(--fresh-shadow)!important;border-radius:16px!important}.data-table thead th{background:#f4f7fb!important;color:#334963!important;border-bottom:1px solid var(--fresh-line)!important}.data-table tbody td{color:#24364d!important;border-bottom-color:#edf1f6!important}.data-table tbody tr:hover{background:#f8fbff!important}
.modal-backdrop{background:rgba(3,18,38,.65)!important}.modal-card{background:#fff!important;border:0!important;box-shadow:0 28px 80px rgba(9,34,68,.25)!important}.modal-header{background:linear-gradient(135deg,#2f67f6,#16a9c1)!important}.modal-kicker{color:#d8f7ff!important}.modal-footer{background:#f7f9fc!important}.form-field input,.form-field select,.form-field textarea,.confirm-input-wrap input{background:#fff!important;border:1px solid var(--fresh-line)!important;color:var(--fresh-text)!important}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#6e93f3!important;box-shadow:0 0 0 3px rgba(47,103,246,.10)!important}

/* NOTIFIKASI fresh dan premium */
.toast{background:#fff!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 24px 70px rgba(23,58,97,.24)!important}.toast-copy strong{color:#10213a!important}.toast-copy span{color:#65768c!important}.toast-icon{background:rgba(47,103,246,.10)!important;border:0!important;color:var(--toast-accent,#2f67f6)!important}.toast-close{background:#f1f5f9!important;color:#66788e!important}.toast:after{background:linear-gradient(90deg,var(--toast-accent,#2f67f6),#19b8d2)!important}.toast-success{--toast-accent:#13aa5b}.toast-error{--toast-accent:#ef5962}.toast-warning,.toast-stock{--toast-accent:#ff9228}.toast-info{--toast-accent:#2f67f6}

/* Mobile-first */
.mobile-top-brand{background:#06152a!important;border-bottom:0!important}.mobile-top-brand-text strong{color:#fff!important}.mobile-top-brand-text span{color:#8ca0b8!important}
@media(max-width:860px){
  .content-area{background:#f2f6fb!important}.main-header{height:68px!important}.sidebar{width:min(86vw,320px)!important}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-lower{grid-template-columns:1fr!important}.toolbar{align-items:stretch!important}.search-box{min-height:44px!important}.btn-add{min-height:44px!important}
}
@media(max-width:560px){
  .login-page{background:linear-gradient(145deg,#031128,#063a6f)!important;padding:14px!important}.login-card{padding:25px 20px!important}.mobile-login-brand img{width:64px!important;height:64px!important}.login-card-head h2{font-size:24px!important}
  #content-container{padding:14px!important}.dashboard-grid{gap:10px!important}.dashboard-grid .card{min-height:104px!important;padding:14px!important}.card-value{font-size:1.15rem!important}.toolbar{flex-direction:column!important}.toolbar>*{width:100%!important}.page-intro{align-items:flex-start!important}.toast{width:calc(100vw - 24px)!important}
}

/* FIX LOGIN INPUT: teks selalu terlihat pada bidang putih, termasuk autofill Chrome */
.login-card .field{
  background:#ffffff!important;
  border-color:#d6e1ec!important;
}
.login-card .field input{
  color:#10233b!important;
  caret-color:#10233b!important;
  -webkit-text-fill-color:#10233b!important;
}
.login-card .field input::placeholder{
  color:#7b8ca1!important;
  opacity:1!important;
}
.login-card .field i,
.login-card .password-toggle{
  color:#344860!important;
}
.login-card .field input:-webkit-autofill,
.login-card .field input:-webkit-autofill:hover,
.login-card .field input:-webkit-autofill:focus,
.login-card .field input:-webkit-autofill:active{
  -webkit-text-fill-color:#10233b!important;
  caret-color:#10233b!important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset!important;
  box-shadow:0 0 0 1000px #ffffff inset!important;
  transition:background-color 9999s ease-out 0s;
}

/* =========================================================
   FINAL OVERRIDE — FLOATING CAPSULE NOTIFICATION
   Compact, premium, ringan, dan tidak menutup dashboard.
   ========================================================= */
html body #toast.toast{
  left:50%!important;
  top:22px!important;
  right:auto!important;
  bottom:auto!important;
  width:min(390px,calc(100vw - 28px))!important;
  max-width:390px!important;
  min-height:72px!important;
  grid-template-columns:54px minmax(0,1fr) 32px!important;
  gap:12px!important;
  padding:10px 12px 10px 10px!important;
  border:1px solid rgba(168,196,220,.72)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 48px rgba(25,67,105,.20),0 3px 12px rgba(25,67,105,.10)!important;
  backdrop-filter:blur(16px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(145%)!important;
  transform:translate(-50%,-24px) scale(.96)!important;
  overflow:hidden!important;
}

html body #toast.toast.show{
  transform:translate(-50%,0) scale(1)!important;
}

html body #toast.toast .toast-icon{
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  font-size:24px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 18px rgba(27,75,115,.18)!important;
}

html body #toast.toast .toast-copy{
  gap:3px!important;
  padding-right:2px!important;
}

html body #toast.toast .toast-copy strong{
  font-size:14px!important;
  line-height:1.2!important;
  color:#12395d!important;
}

html body #toast.toast .toast-copy span{
  font-size:11px!important;
  line-height:1.4!important;
  color:#668096!important;
}

html body #toast.toast .toast-close{
  width:30px!important;
  height:30px!important;
  border:none!important;
  border-radius:50%!important;
  background:#edf5fb!important;
  color:#52708a!important;
  font-size:18px!important;
  transition:transform .18s ease,background .18s ease!important;
}

html body #toast.toast .toast-close:hover{
  background:#dcecf7!important;
  transform:rotate(90deg)!important;
}

html body #toast.toast::before{
  content:""!important;
  position:absolute!important;
  left:70px!important;
  right:46px!important;
  bottom:7px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#22b8f4,#3268f4)!important;
  transform-origin:left center!important;
  animation:kcToastLife 3.8s linear forwards!important;
  opacity:.75!important;
}

html body #toast.toast.toast-success::before{background:linear-gradient(90deg,#21b979,#37d99a)!important}
html body #toast.toast.toast-error::before{background:linear-gradient(90deg,#ef5265,#d42d48)!important}
html body #toast.toast.toast-warning::before,
html body #toast.toast.toast-stock::before{background:linear-gradient(90deg,#f4b82d,#ec8f0c)!important}
html body #toast.toast.toast-info::before{background:linear-gradient(90deg,#28b9f5,#3768ef)!important}

@keyframes kcToastLife{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}

html body.toast-visible::after{
  display:none!important;
  content:none!important;
}

html body #toast.toast.toast-stock{
  border-radius:24px!important;
  background:rgba(255,252,241,.97)!important;
}

html body #toast.toast.toast-stock::after{
  display:none!important;
  content:none!important;
}

@media(max-width:560px){
  html body #toast.toast{
    top:12px!important;
    width:calc(100vw - 20px)!important;
    min-height:66px!important;
    grid-template-columns:48px minmax(0,1fr) 29px!important;
    gap:10px!important;
    padding:9px 10px 9px 9px!important;
    border-radius:22px!important;
  }
  html body #toast.toast .toast-icon{
    width:48px!important;
    height:48px!important;
    font-size:21px!important;
  }
  html body #toast.toast .toast-copy strong{font-size:13px!important}
  html body #toast.toast .toast-copy span{font-size:10px!important}
  html body #toast.toast .toast-close{width:28px!important;height:28px!important}
  html body #toast.toast::before{left:63px!important;right:42px!important;bottom:6px!important}
}


/* Notifikasi pop-up dinonaktifkan */
#toast.toast{display:none!important;}
body.toast-visible::after{display:none!important;}


/* =========================================================
   HEADER MENU MENYATU DENGAN LATAR + TANPA JUMLAH DATA
   Berlaku untuk seluruh menu modul
   ========================================================= */
.module-summary,
.card.module-summary,
.panel.module-summary {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.module-summary span { display:none !important; }
.module-summary b {
  display:flex;
  align-items:center;
  gap:6px;
  color:#173d61 !important;
  font-size:15px !important;
  line-height:1.25;
}
@media (max-width:620px){
  .module-toolbar{margin-bottom:12px!important;}
  .module-summary b{font-size:14px!important;}
}

/* =========================================================
   FIX MODAL PANDUAN TUTUP BUKU: ISI BISA DI-SCROLL
   Header dan tombol bawah tetap terlihat, isi tengah yang bergulir.
   ========================================================= */
#closebook-help-modal{
  overflow:hidden!important;
}
#closebook-help-modal .closebook-help-card{
  display:flex!important;
  flex-direction:column!important;
  width:min(960px,94vw)!important;
  height:min(760px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
}
#closebook-help-modal .modal-header,
#closebook-help-modal .modal-footer{
  flex:0 0 auto!important;
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  z-index:3!important;
}
#closebook-help-modal .closebook-help-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable;
}
#closebook-help-modal .closebook-help-body::-webkit-scrollbar{
  width:8px;
}
#closebook-help-modal .closebook-help-body::-webkit-scrollbar-thumb{
  background:#a9c7dc;
  border-radius:999px;
}
#closebook-help-modal .closebook-help-body::-webkit-scrollbar-track{
  background:transparent;
}

@media(max-width:720px){
  #closebook-help-modal{
    padding:8px!important;
    align-items:center!important;
  }
  #closebook-help-modal .closebook-help-card{
    width:100%!important;
    height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:18px!important;
  }
  #closebook-help-modal .closebook-help-body{
    padding:14px 13px 22px!important;
  }
  #closebook-help-modal .help-topic-grid{
    grid-template-columns:1fr!important;
  }
  #closebook-help-modal .help-formula-main{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
}

/* =========================================================
   FIX HEADER HP — CERAH, RINGKAS, TIDAK MENUTUP KONTEN
   ========================================================= */
@media (max-width:860px){
  .mobile-top-brand{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:58px!important;
    padding:7px 12px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid #dce8f2!important;
    box-shadow:0 5px 18px rgba(34,75,112,.10)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    z-index:90!important;
    pointer-events:auto!important;
  }

  .mobile-top-brand .mobile-menu-float{
    position:static!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    border-radius:12px!important;
    background:#ffffff!important;
    color:#0d7f83!important;
    border:1px solid #cfe3ea!important;
    box-shadow:0 5px 14px rgba(32,103,120,.10)!important;
  }

  .mobile-top-brand img{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    filter:drop-shadow(0 4px 7px rgba(10,49,70,.16))!important;
  }

  .mobile-top-brand-text strong{
    color:#0b2741!important;
    font-family:inherit!important;
    font-size:14px!important;
    line-height:1.05!important;
  }

  .mobile-top-brand-text span{
    color:#698196!important;
    font-size:7px!important;
    margin-top:3px!important;
  }

  /* Header desktop disembunyikan agar tidak ada dua lapis header di HP */
  .main-header{
    display:none!important;
  }

  /* Konten selalu dimulai di bawah header, tidak tertutup */
  #content-container{
    padding-top:74px!important;
  }
}

@media (max-width:480px){
  .mobile-top-brand{
    height:56px!important;
    padding:7px 10px!important;
  }

  .mobile-top-brand .mobile-menu-float{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }

  .mobile-top-brand img{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }

  #content-container{
    padding-top:70px!important;
  }
}

/* =========================================================
   HEADER HP MENYATU DENGAN BACKGROUND HALAMAN
   ========================================================= */
@media (max-width:860px){
  .mobile-top-brand{
    background:#f3f5f7!important;
    border-bottom:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .mobile-top-brand .mobile-menu-float{
    background:rgba(255,255,255,.72)!important;
    border-color:#d7e3ec!important;
    box-shadow:0 3px 10px rgba(32,103,120,.07)!important;
  }
}

/* =========================================================
   FINAL THEME — SIDEBAR CERAH + DRAWER RESPONSIF
   Referensi: panel navigasi putih/biru muda, menu aktif aqua.
   Tidak mengubah struktur menu maupun logika aplikasi.
   ========================================================= */
:root{
  --sidebar-light:#eef8ff;
  --sidebar-light-2:#f8fcff;
  --sidebar-border:#cfe3f2;
  --sidebar-text:#55718d;
  --sidebar-strong:#0b3155;
  --sidebar-accent:#28a9f6;
  --sidebar-active:#e4f5ff;
}

.sidebar{
  width:274px!important;
  background:linear-gradient(180deg,var(--sidebar-light-2) 0%,var(--sidebar-light) 100%)!important;
  border-right:1px solid var(--sidebar-border)!important;
  box-shadow:8px 0 24px rgba(38,91,132,.08)!important;
  color:var(--sidebar-strong)!important;
}
.sidebar:before{display:none!important}
.sidebar-brand{
  min-height:82px!important;
  padding:12px 18px!important;
  border-bottom:1px solid var(--sidebar-border)!important;
  background:transparent!important;
}
.sidebar-brand img{
  width:48px!important;height:48px!important;
  filter:drop-shadow(0 5px 8px rgba(23,70,101,.16))!important;
}
.sidebar-brand strong{
  color:#17669b!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:19px!important;
  letter-spacing:.015em!important;
}
.sidebar-brand span{color:#7890a7!important;font-size:9px!important}
.sidebar-caption{color:#7890a7!important;padding:20px 20px 8px!important}
.sidebar-menu{padding:0 12px 14px!important}
.menu-item{
  color:var(--sidebar-text)!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  padding:11px 13px!important;
  margin:4px 0!important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.menu-item:hover{
  background:rgba(255,255,255,.72)!important;
  color:#17669b!important;
  border-color:#d7e9f5!important;
  transform:translateX(1px)!important;
}
.menu-item.active{
  color:#17669b!important;
  background:linear-gradient(90deg,#dff3ff,#f4fbff)!important;
  border:1px solid #bfe3f7!important;
  box-shadow:inset 4px 0 0 var(--sidebar-accent),0 5px 15px rgba(42,133,191,.08)!important;
}
.menu-item.active:before{display:none!important}
.sidebar-footer{
  padding:12px!important;
  border-top:1px solid var(--sidebar-border)!important;
  background:rgba(248,252,255,.84)!important;
}
.sidebar-action{
  background:rgba(255,255,255,.62)!important;
  border:1px solid #cbdce8!important;
  color:#59748f!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.sidebar-action:hover{background:#fff!important;color:#17669b!important;border-color:#9fd5f2!important}
.sidebar-action.logout{color:#ef5263!important}
.sidebar-close{
  color:#55718d!important;
  border:1px solid #9db4c6!important;
  background:rgba(255,255,255,.74)!important;
  border-radius:0!important;
  width:30px!important;height:38px!important;
  font-size:0!important;
  position:relative!important;
}
.sidebar-close:before,.sidebar-close:after{
  content:"";position:absolute;left:7px;right:7px;top:18px;height:2px;background:#71889d;border-radius:2px;
}
.sidebar-close:before{transform:rotate(45deg)}
.sidebar-close:after{transform:rotate(-45deg)}

@media (min-width:861px){
  .content-area{margin-left:274px!important;width:calc(100% - 274px)!important}
}

@media (max-width:860px){
  .sidebar{
    width:min(310px,82vw)!important;
    max-width:310px!important;
    z-index:120!important;
    box-shadow:18px 0 42px rgba(14,37,60,.24)!important;
    transition:transform .24s ease!important;
  }
  .sidebar.open{transform:translateX(0)!important}
  .sidebar-brand{min-height:84px!important;padding:12px 16px!important}
  .sidebar-close{display:block!important;margin-left:auto!important}
  .sidebar-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:110!important;
    background:rgba(8,22,39,.58)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }
  .sidebar-backdrop.show{opacity:1!important;visibility:visible!important}
  .mobile-top-brand{
    background:var(--bg,#f3f5f7)!important;
    border:0!important;
    box-shadow:none!important;
  }
  .mobile-top-brand .mobile-menu-float{
    background:rgba(255,255,255,.74)!important;
    color:#0b8292!important;
    border:1px solid #cbdfe9!important;
    box-shadow:0 3px 10px rgba(31,85,112,.07)!important;
  }
}

@media (max-width:480px){
  .sidebar{width:86vw!important;max-width:310px!important}
  .sidebar-brand strong{font-size:17px!important}
  .sidebar-brand img{width:46px!important;height:46px!important}
  .menu-item{padding:12px 13px!important;font-size:13px!important}
}


/* PERBAIKAN CETAK LAPORAN: HEADER TUNGGAL DAN POSISI LEBIH ATAS */
.office-report-divider + .office-report-info{
  margin-top:14px;
}
@media print{
  .mobile-top-brand,
  .mobile-menu-float,
  .sidebar-overlay,
  .sidebar,
  .no-print,
  .toast,
  .app-modal{
    display:none!important;
    visibility:hidden!important;
  }
  .office-report-document{
    position:relative!important;
    top:0!important;
  }
  .office-report-header{
    padding-top:0!important;
    margin-top:0!important;
  }
  .office-report-divider + .office-report-info{
    margin-top:8px!important;
  }
  .office-report-title{display:none!important;}
}

/* =========================================================
   RAPIIKAN TUTUP BUKU KHUSUS HP
   ========================================================= */
@media (max-width: 620px){
  .closebook-page{
    gap:12px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .closebook-topbar{
    gap:10px!important;
    padding:0 2px!important;
  }

  .closebook-topbar h2{
    font-size:24px!important;
    line-height:1.15!important;
    margin:2px 0 5px!important;
  }

  .closebook-topbar p{
    font-size:11px!important;
    line-height:1.5!important;
    max-width:100%!important;
  }

  .closebook-kicker{
    font-size:9px!important;
    margin-bottom:5px!important;
  }

  .closebook-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .closebook-actions input{
    grid-column:1/-1!important;
    height:44px!important;
    border-radius:12px!important;
    font-size:14px!important;
    padding:0 13px!important;
  }

  .closebook-actions button,
  .btn-help-closebook{
    min-height:44px!important;
    border-radius:12px!important;
    font-size:13px!important;
    padding:0 10px!important;
  }

  .closebook-health{
    padding:16px!important;
    border-radius:18px!important;
    align-items:flex-start!important;
    gap:10px!important;
  }

  .closebook-health > div:first-child{
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .closebook-health span{
    font-size:9px!important;
  }

  .closebook-health h3{
    font-size:21px!important;
    line-height:1.2!important;
    margin:5px 0!important;
  }

  .closebook-health p{
    font-size:10px!important;
    line-height:1.5!important;
  }

  .closebook-status{
    max-width:112px!important;
    padding:10px 12px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }

  .closebook-metrics,
  .closebook-metrics-clear{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  .closebook-metric{
    min-height:104px!important;
    padding:14px!important;
    border-radius:18px!important;
    align-items:flex-start!important;
    gap:10px!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  .closebook-metric-icon{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:12px!important;
    font-size:18px!important;
  }

  .closebook-metric span{
    font-size:9px!important;
    line-height:1.35!important;
    margin-bottom:4px!important;
  }

  .closebook-metric strong{
    font-size:18px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  .closebook-grid,
  .closebook-grid-readable{
    gap:10px!important;
  }

  .closebook-card{
    border-radius:18px!important;
  }
}

@media (max-width: 390px){
  .closebook-health{
    flex-direction:column!important;
  }
  .closebook-status{
    max-width:none!important;
    align-self:flex-start!important;
  }
  .closebook-metrics,
  .closebook-metrics-clear{
    grid-template-columns:1fr!important;
  }
  .closebook-metric{
    min-height:88px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
}
