/* =====================================================================
   theme.css — Skema warna UNIKA Atma Jaya untuk Sistem RPS/OBE
   Dimuat SETELAH Bootstrap agar override-nya menang.
   Warna disampel dari sistem resmi Atma Jaya.
   ===================================================================== */
:root{
  /* Palet brand */
  --brand:#E87018; --brand-600:#CF610F; --brand-50:#FDF0E4;
  --green:#34C38F; --green-600:#2AA97B;
  --blue:#4E93E8;  --blue-600:#3B7FD4;
  --red:#E2413C;   --red-600:#C9352F;
  --bg:#F5F6F9; --surface:#FFFFFF; --border:#E5E8EC;
  --text:#40454C; --muted:#8A9099; --heading:#2B2F35;

  /* Petakan token Bootstrap -> palet Atma Jaya (mengubah semua bg-*/text-*/border-*/badge) */
  --bs-warning:#E87018;   --bs-warning-rgb:232,112,24;
  --bs-primary:#4E93E8;   --bs-primary-rgb:78,147,232;
  --bs-success:#34C38F;   --bs-success-rgb:52,195,143;
  --bs-danger:#E2413C;    --bs-danger-rgb:226,65,60;
  --bs-info:#4E93E8;      --bs-info-rgb:78,147,232;
  --bs-secondary:#6B7280; --bs-secondary-rgb:107,114,128;
  --bs-body-bg:#F5F6F9;   --bs-body-color:#40454C;
  --bs-link-color:#E87018; --bs-link-color-rgb:232,112,24;
  --bs-link-hover-color:#CF610F;
  --bs-border-color:#E5E8EC;
}

body{ background:var(--bg); color:var(--text); }

/* ---------- Tombol (Bootstrap 5.3 pakai variabel runtime per kelas) ---------- */
.btn-warning{
  --bs-btn-color:#fff; --bs-btn-bg:var(--brand); --bs-btn-border-color:var(--brand);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--brand-600); --bs-btn-hover-border-color:var(--brand-600);
  --bs-btn-active-color:#fff; --bs-btn-active-bg:var(--brand-600); --bs-btn-active-border-color:var(--brand-600);
  --bs-btn-disabled-color:#fff; --bs-btn-disabled-bg:var(--brand); --bs-btn-disabled-border-color:var(--brand);
}
.btn-success{
  --bs-btn-color:#fff; --bs-btn-bg:var(--green); --bs-btn-border-color:var(--green);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--green-600); --bs-btn-hover-border-color:var(--green-600);
  --bs-btn-active-bg:var(--green-600); --bs-btn-active-border-color:var(--green-600);
  --bs-btn-disabled-bg:var(--green); --bs-btn-disabled-border-color:var(--green);
}
.btn-primary{
  --bs-btn-color:#fff; --bs-btn-bg:var(--blue); --bs-btn-border-color:var(--blue);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--blue-600); --bs-btn-hover-border-color:var(--blue-600);
  --bs-btn-active-bg:var(--blue-600); --bs-btn-active-border-color:var(--blue-600);
  --bs-btn-disabled-bg:var(--blue); --bs-btn-disabled-border-color:var(--blue);
}
.btn-danger{
  --bs-btn-color:#fff; --bs-btn-bg:var(--red); --bs-btn-border-color:var(--red);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--red-600); --bs-btn-hover-border-color:var(--red-600);
}
.btn-secondary{
  --bs-btn-bg:#6B7280; --bs-btn-border-color:#6B7280; --bs-btn-hover-bg:#565d68; --bs-btn-hover-border-color:#565d68;
}
.btn-outline-warning{
  --bs-btn-color:var(--brand); --bs-btn-border-color:var(--brand);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--brand); --bs-btn-hover-border-color:var(--brand);
  --bs-btn-active-bg:var(--brand); --bs-btn-active-border-color:var(--brand);
}
.btn-outline-primary{
  --bs-btn-color:var(--blue); --bs-btn-border-color:var(--blue);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--blue); --bs-btn-hover-border-color:var(--blue);
}
.btn-outline-danger{
  --bs-btn-color:var(--red); --bs-btn-border-color:var(--red);
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--red); --bs-btn-hover-border-color:var(--red);
}
.btn-outline-secondary{
  --bs-btn-color:#6B7280; --bs-btn-border-color:#c7ccd3;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#6B7280; --bs-btn-hover-border-color:#6B7280;
}

/* ---------- Badge teks gelap tetap terbaca ---------- */
.badge.bg-warning{ color:#fff !important; }
.badge.bg-info{ color:#fff !important; }

/* ---------- Header tabel (semula table-warning kuning) ---------- */
.table-warning{ --bs-table-color:#7A3D0C; --bs-table-bg:#FDECE0; --bs-table-border-color:#F3D6C2; }
.table > :not(caption) > * > *{ }

/* ---------- Tab (detail RPS) ---------- */
.nav-tabs{ border-bottom:1px solid var(--border); }
.nav-tabs .nav-link{ color:#6b727b; border:none; }
.nav-tabs .nav-link:hover{ color:var(--brand); border:none; }
.nav-tabs .nav-link.active{ color:var(--brand); background:transparent; border:none; border-bottom:3px solid var(--brand); }

/* ---------- Kartu, form, link ---------- */
.card{ border-color:var(--border); }
a{ color:var(--brand); }
a:hover{ color:var(--brand-600); }
.form-control, .form-select{ border-color:var(--border); }
.form-control:focus, .form-select:focus{
  border-color:var(--brand); box-shadow:0 0 0 .2rem rgba(232,112,24,.15);
}
.form-check-input:checked{ background-color:var(--brand); border-color:var(--brand); }
.text-warning{ color:var(--brand) !important; }

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-track{ background:#eef0f3; }
::-webkit-scrollbar-thumb{ background:var(--brand); border-radius:4px; }
::-webkit-scrollbar-thumb:hover{ background:var(--brand-600); }

/* =====================================================================
   LAYOUT — topbar & sidebar terang (dipakai oleh partial header/sidebar)
   ===================================================================== */
.app-accent{ height:3px; background:linear-gradient(90deg,var(--green) 0%, var(--brand) 22%, var(--brand) 100%); }
.app-topbar{
  background:var(--surface); border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:16px; padding:0 22px; height:58px;
}
.app-topbar .brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.app-topbar .brand .crest{
  width:34px; height:34px; border-radius:7px;
  background:linear-gradient(135deg,#1E7A46,#2E9E5B);
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:13px;
}
.app-topbar .brand .name{ font-weight:800; letter-spacing:.4px; color:#111; line-height:1.05; }
.app-topbar .brand .name small{ display:block; font-weight:600; font-size:9px; letter-spacing:1px; color:var(--muted); }
.app-topbar .spacer{ margin-left:auto; }
.app-topbar .who{ color:var(--heading); font-size:14px; }
.app-topbar .who strong{ color:var(--brand); }

.app-sidebar{
  width:260px; flex:0 0 auto; background:var(--surface);
  border-right:1px solid var(--border); padding:10px 0; min-height:calc(100vh - 61px);
}
.app-sidebar .grp{ color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.6px; padding:14px 20px 6px; text-transform:uppercase; }
.side-link{
  display:flex; align-items:center; gap:11px; padding:11px 20px; color:#5b626b;
  text-decoration:none; font-weight:500; border-left:3px solid transparent;
}
.side-link .ic{ width:18px; text-align:center; opacity:.85; }
.side-link:hover{ background:#fafbfc; color:var(--brand); }
.side-link.active{ color:var(--brand); background:var(--brand-50); border-left-color:var(--brand); font-weight:600; }

.app-footer{ background:var(--surface); border-top:3px solid var(--brand); color:var(--muted); text-align:center; padding:14px; font-size:13px; }
