:root{
  --bg:#F6F8FC;
  --card:#FFFFFF;
  --border:#DCE6F0;
  --border-strong:#B9C9D8;

  --text:#243447;
  --text-2:#5F7285;
  --text-3:#8B9AAD;

  /* Warna utama */
  --teal:   #1976D2;   /* Primary */
  --teal-d: #1565C0;   /* Hover */
  --teal-l: #E3F2FD;   /* Background badge */

  --sand:#D39A2D;
  --sand-l:#FFF4DE;

  --coral:#D96B4F;
  --coral-l:#FFF0EB;

  --red:#C0392B;
  --red-l:#FDEDEC;
}

*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);}
.app{max-width:1000px;margin:0 auto;padding:28px 20px 60px;}
header{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
.logo{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
}

.logo img{
    width: 60px;      /* sesuaikan */
    height: auto;
    display: block;
}
h1{font-size:19px;font-weight:600;margin:0;color:white;}
header p{margin:2px 0 0;font-size:12.5px;color:var(--text-2);}
nav{display:flex;gap:6px;margin-bottom:22px;border-bottom:1px solid var(--border);overflow-x:auto;}
nav a{background:none;border:none;padding:10px 14px;font-size:13.5px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font-family:inherit;text-decoration:none;display:inline-block;}
nav a.active{color:var(--teal);border-color:var(--teal);font-weight:600;}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:16px;}
.row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.row-between h2{font-size:15px;font-weight:600;margin:0;}
.btn{background:var(--teal);color:white;border:none;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.btn:hover{opacity:0.9;}
.btn-ghost{background:none;border:1px solid var(--border-strong);color:var(--text);padding:7px 13px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;text-decoration:none;}
.btn-icon{background:none;border:none;cursor:pointer;padding:4px 6px;color:var(--text-3);font-size:13px;font-family:inherit;}
.btn-icon.danger:hover{color:var(--red);}
form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;padding:14px;background:var(--bg);border-radius:10px;}
form.full{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:4px;}
.field.span2{grid-column:span 2;}
label{font-size:12px;color:var(--text-2);font-weight:600;}
input,select,textarea{font-family:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--card);color:var(--text);}
textarea{resize:vertical;min-height:36px;}
.form-actions{grid-column:span 2;display:flex;gap:8px;justify-content:flex-end;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:0.03em;color:var(--text-3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);}
td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--text);}
tr:last-child td{border-bottom:none;}
.empty{text-align:center;padding:30px 10px;color:var(--text-3);font-size:13px;}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;}
.badge.aktif{background:var(--teal-l);color:var(--teal-d);}
.badge.selesai{background:var(--sand-l);color:var(--sand);}
.badge.pemasukan{background:var(--teal-l);color:var(--teal-d);}
.badge.pengeluaran{background:var(--coral-l);color:var(--coral);}
.num{text-align:right;font-variant-numeric:tabular-nums;}
.actions-col{text-align:right;white-space:nowrap;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;}
.stat .label{font-size:11.5px;color:var(--text-2);margin-bottom:4px;}
.stat .value{font-size:19px;font-weight:600;}
.stat .value.pos{color:var(--teal);}
.stat .value.neg{color:var(--red);}
.note{font-size:12px;color:var(--text-3);margin-top:2px;}
.flash-success{border-color:var(--teal);background:var(--teal-l);color:var(--teal-d);padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:13px;}
.flash-error{border-color:var(--red);background:var(--red-l);color:var(--red);padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:13px;}
@media(max-width:640px){
  form{grid-template-columns:1fr;}
  .field.span2{grid-column:span 1;}
  .form-actions{grid-column:span 1;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  table{font-size:12px;}
}
