:root{
  --dcl-green:#0b6b5c;
  --dcl-green-2:#0b7c6a;
  --dcl-bg:#eef6f4;
  --dcl-card:#ffffff;
  --dcl-shadow: 0 18px 60px rgba(0,0,0,.08);
  --dcl-shadow2: 0 26px 75px rgba(0,0,0,.12);
  --dcl-ease:cubic-bezier(.2,.8,.2,1);
}
.dcl-body{ background:var(--dcl-bg); min-height:100vh; }
.dcl-navbar{ background:linear-gradient(135deg,var(--dcl-green),var(--dcl-green-2)); box-shadow:0 10px 30px rgba(0,0,0,.12); }
.dcl-badge{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:28px; background:rgba(255,255,255,.16); border-radius:12px; font-weight:800; margin-right:.35rem; }
.dcl-brand{ display:inline-flex; align-items:center; gap:.55rem; }
.dcl-brand-logo{ width:34px; height:34px; border-radius:12px; object-fit:contain; background:rgba(255,255,255,.10); padding:4px; }
.dcl-brand-text{ font-weight:800; letter-spacing:.2px; }
.dcl-shell{ padding:24px 18px; }
.dcl-card{ background:var(--dcl-card); border:0; border-radius:18px; box-shadow:var(--dcl-shadow); }
.dcl-card:hover{ transform:translateY(-1px); box-shadow:var(--dcl-shadow2); transition: all .25s var(--dcl-ease); }
.dcl-title{ font-weight:800; letter-spacing:.2px; }
.dcl-sub{ font-size:.8rem; opacity:.8; }
.dcl-user{ font-weight:700; line-height:1.1; }
.dcl-kpi{ border-radius:18px; border:1px solid rgba(0,0,0,.06); background:rgba(255,255,255,.7); backdrop-filter: blur(8px); }
.dcl-kpi .num{ font-weight:900; font-size:1.2rem; }
.dcl-muted{ color:rgba(0,0,0,.60); }
.table thead th{ white-space:nowrap; }
.form-control, .form-select{ border-radius:14px; }
.btn{ border-radius:14px; }
.alert{ border-radius:16px; }

/* Bank Recon (Rekening Koran) */
.bank-recon .table-responsive{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.bank-recon table{ margin-bottom: 0; }
.bank-recon .table thead th{ background: rgba(255,255,255,.85); }
.bank-recon .form-floating > .form-control,
.bank-recon .form-floating > .form-select{ border-radius: 14px; }
.bank-recon textarea.dcl-no-resize{ resize: none !important; }
.bank-recon input[readonly]{ background: rgba(11,107,92,.04); font-weight: 700; }


/* Checklist UI */
.dcl-check-card{
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(10, 108, 92, .12);
  border-radius: 18px;
  box-shadow: 0 14px 45px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.dcl-check-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 60px rgba(0,0,0,.09);
}
.dcl-check-title{
  font-weight: 700;
  letter-spacing: .2px;
}
.dcl-check-meta{
  font-size: 12px;
  color: rgba(0,0,0,.55);
}
.dcl-switch{
  transform: scale(1.15);
  transform-origin: right top;
}
.dcl-reason textarea{
  resize: vertical;
  min-height: 72px;
}
.dcl-savebar{
  position: sticky;
  bottom: 12px;
  z-index: 20;
}
.dcl-savebar .card{
  border-radius: 16px;
  border: 1px solid rgba(10, 108, 92, .12);
  box-shadow: 0 14px 45px rgba(0,0,0,.08);
}
