/* WAFA E-TABUNGANKU THEME - Emerald Navy Final */

html, body, #root {
  min-height: 100%;
}

body {
  background:
    radial-gradient(circle at 10% 10%, rgba(16,185,129,.16), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(6,182,212,.14), transparent 28%),
    linear-gradient(135deg, #ecfdf5 0%, #f8fafc 42%, #ecfeff 100%) !important;
}

/* =========================
   LOGIN PAGE
========================= */

body:not(:has(aside)) {
  background:
    radial-gradient(circle at 18% 15%, rgba(16,185,129,.16), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(6,182,212,.16), transparent 28%),
    linear-gradient(135deg, #f8fafc 0%, #ecfdf5 48%, #ecfeff 100%) !important;
}

body:not(:has(aside)) #root {
  position: relative;
}

body:not(:has(aside)) #root::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(15,23,42,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, black 0%, transparent 80%);
}

body:not(:has(aside)) img {
  filter: drop-shadow(0 14px 24px rgba(15,23,42,.10)) !important;
}

body:not(:has(aside)) h1 {
  color: #0f172a !important;
  letter-spacing: -.04em !important;
}

body:not(:has(aside)) form,
body:not(:has(aside)) [class*="Card"],
body:not(:has(aside)) .bg-white {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(16,185,129,.16) !important;
  box-shadow:
    0 28px 80px rgba(15,23,42,.12),
    0 8px 24px rgba(16,185,129,.08) !important;
  backdrop-filter: blur(18px);
}

body:not(:has(aside)) input {
  background: #f8fafc !important;
  border: 1px solid rgba(16,185,129,.20) !important;
}

body:not(:has(aside)) input:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 4px rgba(16,185,129,.12) !important;
}

/* =========================
   DASHBOARD / APP
========================= */

body:has(aside) {
  background:
    radial-gradient(circle at 30% 0%, rgba(16,185,129,.10), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(6,182,212,.10), transparent 28%),
    linear-gradient(135deg, #f0fdfa 0%, #f8fafc 46%, #ecfeff 100%) !important;
}

/* Sidebar */
aside {
  background: linear-gradient(180deg, #052e2b 0%, #082f49 100%) !important;
  border-right: 1px solid rgba(45,212,191,.20) !important;
  box-shadow: 18px 0 45px rgba(15,23,42,.16) !important;
}

aside * {
  color: rgba(255,255,255,.84) !important;
}

aside img {
  background: #fff;
  border-radius: 14px;
}

aside a,
aside button {
  border-radius: 16px !important;
}

aside a:hover,
aside button:hover {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
}

aside .bg-indigo-50,
aside .bg-blue-50,
aside .bg-emerald-50,
aside [class*="bg-indigo"],
aside [class*="bg-blue"] {
  background: linear-gradient(135deg, #10b981, #06b6d4) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(16,185,129,.24) !important;
}

/* Main content */
main {
  background:
    radial-gradient(circle at 30% 0%, rgba(16,185,129,.09), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(6,182,212,.08), transparent 30%) !important;
}

/* Cards */
.bg-white,
[class*="bg-white"] {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(16,185,129,.15) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.065) !important;
}

/* Hero/stat cards that already have strong color */
.bg-emerald-600,
.bg-teal-600,
.bg-cyan-600 {
  background: linear-gradient(135deg, #059669 0%, #0891b2 100%) !important;
  color: #ffffff !important;
}

/* Buttons */
button[class*="bg-indigo"],
button[class*="bg-blue"],
button[class*="bg-emerald"],
.bg-indigo-600,
.bg-blue-600,
.bg-emerald-600 {
  background: linear-gradient(135deg, #059669, #0891b2) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(5,150,105,.22) !important;
}

button {
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

button:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

button:active {
  transform: translateY(0);
}

/* Inputs */
input,
select,
textarea {
  background: #f8fafc !important;
  border-color: rgba(16,185,129,.22) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 4px rgba(16,185,129,.12) !important;
}

/* Tables */
thead tr,
thead th {
  background: rgba(209,250,229,.72) !important;
  color: #064e3b !important;
}

tbody tr {
  background: rgba(255,255,255,.95) !important;
}

tbody tr:hover {
  background: rgba(236,253,245,.72) !important;
}

/* Headings */
h1, h2, h3 {
  color: #0f172a !important;
}

body:has(aside) h1 {
  color: #0f172a !important;
}

/* Footer */
footer {
  color: #64748b !important;
}

/* Mobile */
@media (max-width: 768px) {
  body:not(:has(aside)) #root::before {
    background-size: 30px 30px;
  }

  aside {
    box-shadow: 0 20px 60px rgba(15,23,42,.25) !important;
  }
}

/* =========================
   LOGIN FINAL REFINEMENT
   memperbaiki login agar tidak terlihat kotak dalam kotak
========================= */

body:not(:has(aside)) {
  background:
    radial-gradient(circle at 18% 14%, rgba(16,185,129,.13), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(6,182,212,.13), transparent 28%),
    linear-gradient(135deg, #f8fafc 0%, #f0fdfa 46%, #ecfeff 100%) !important;
}

body:not(:has(aside)) #root::before {
  opacity: .45 !important;
}

/* jangan beri kartu lagi ke form, karena form ada di dalam card */
body:not(:has(aside)) form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* kartu login utama */
body:not(:has(aside)) [class*="Card"],
body:not(:has(aside)) .bg-white {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94)) !important;
  border: 1px solid rgba(16,185,129,.18) !important;
  border-radius: 30px !important;
  box-shadow:
    0 24px 70px rgba(15,23,42,.12),
    0 10px 26px rgba(16,185,129,.08) !important;
  backdrop-filter: blur(18px) !important;
}

/* area logo agar lebih premium */
body:not(:has(aside)) img {
  border-radius: 22px !important;
  filter:
    drop-shadow(0 14px 24px rgba(15,23,42,.10))
    drop-shadow(0 0 18px rgba(16,185,129,.13)) !important;
}

body:not(:has(aside)) h1 {
  color: #0f172a !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

body:not(:has(aside)) h2 {
  color: #0f172a !important;
  font-weight: 900 !important;
}

/* input lebih soft */
body:not(:has(aside)) input {
  background: #f8fafc !important;
  border: 1px solid rgba(16,185,129,.18) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
}

body:not(:has(aside)) input:focus {
  background: #ffffff !important;
  border-color: #10b981 !important;
  box-shadow:
    0 0 0 4px rgba(16,185,129,.11),
    0 10px 22px rgba(16,185,129,.08) !important;
}

/* tombol login dan cek saldo dibuat lebih elegan */
body:not(:has(aside)) button {
  border-radius: 18px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

body:not(:has(aside)) button[type="submit"],
body:not(:has(aside)) button[class*="bg-gradient"],
body:not(:has(aside)) button[class*="bg-emerald"],
body:not(:has(aside)) button[class*="bg-blue"],
body:not(:has(aside)) button[class*="bg-indigo"] {
  background: linear-gradient(135deg, #059669 0%, #0891b2 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 16px 36px rgba(5,150,105,.23),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

/* tombol cek saldo sedikit lebih navy agar tidak monoton */
body:not(:has(aside)) button:last-of-type {
  background: linear-gradient(135deg, #064e3b 0%, #0e7490 100%) !important;
}

/* footer login */
body:not(:has(aside)) footer {
  border-color: rgba(148,163,184,.25) !important;
}

body:not(:has(aside)) footer p,
body:not(:has(aside)) footer span {
  color: #64748b !important;
}

body:not(:has(aside)) footer span {
  color: #059669 !important;
}

/* mobile login */
@media (max-width: 768px) {
  body:not(:has(aside)) [class*="Card"],
  body:not(:has(aside)) .bg-white {
    border-radius: 24px !important;
  }
}

/* =========================
   CONTRAST FIX - Buttons & Text
========================= */

/* Tombol umum agar teks selalu jelas */
button,
button *,
a,
a * {
  text-rendering: geometricPrecision;
}

/* Tombol utama emerald/cyan */
button[class*="bg-emerald"],
button[class*="bg-cyan"],
button[class*="bg-blue"],
button[class*="bg-indigo"],
.bg-emerald-600,
.bg-cyan-600,
.bg-blue-600,
.bg-indigo-600 {
  color: #ffffff !important;
  font-weight: 900 !important;
}

button[class*="bg-emerald"] *,
button[class*="bg-cyan"] *,
button[class*="bg-blue"] *,
button[class*="bg-indigo"] *,
.bg-emerald-600 *,
.bg-cyan-600 *,
.bg-blue-600 *,
.bg-indigo-600 * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Tombol outline putih seperti Template / Import */
button[class*="border"],
a[class*="border"] {
  color: #1e293b !important;
  font-weight: 900 !important;
}

button[class*="border"] *,
a[class*="border"] * {
  color: #1e293b !important;
  stroke: #1e293b !important;
}

/* Tombol aksi kecil di tabel */
td button,
td a,
tbody button,
tbody a {
  color: #ffffff !important;
}

td button *,
td a *,
tbody button *,
tbody a * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Kalau tombol aksi background terlalu gelap, buat lebih jelas */
tbody button[class*="rounded"],
tbody a[class*="rounded"] {
  background: linear-gradient(135deg, #059669, #047481) !important;
  box-shadow: 0 10px 22px rgba(5,150,105,.20) !important;
}

/* Sidebar: teks menu normal lebih terang */
aside nav a,
aside nav button,
aside nav a *,
aside nav button * {
  color: rgba(226, 232, 240, .88) !important;
  stroke: rgba(226, 232, 240, .88) !important;
  font-weight: 800 !important;
}

/* Sidebar active menu */
aside nav a[class*="bg"],
aside nav button[class*="bg"],
aside nav a[class*="text-white"],
aside nav button[class*="text-white"] {
  color: #ffffff !important;
  background: linear-gradient(135deg, #059669, #0891b2) !important;
  box-shadow: 0 14px 28px rgba(5,150,105,.24) !important;
}

aside nav a[class*="bg"] *,
aside nav button[class*="bg"] *,
aside nav a[class*="text-white"] *,
aside nav button[class*="text-white"] * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Tombol keluar sidebar */
aside button:last-child,
aside [class*="logout"],
aside button:has(svg) {
  color: rgba(255,255,255,.92) !important;
}

aside button:last-child *,
aside [class*="logout"] *,
aside button:has(svg) * {
  color: rgba(255,255,255,.92) !important;
  stroke: rgba(255,255,255,.92) !important;
}

/* Tombol keluar khusus yang background-nya gelap */
aside button[class*="bg"],
aside .bg-slate-950,
aside .bg-teal-900,
aside .bg-emerald-900 {
  color: #ffffff !important;
}

/* Header tabel lebih tegas */
thead th,
thead td {
  color: #064e3b !important;
  font-weight: 900 !important;
}

/* Data saldo dan teks penting */
tbody td,
tbody td *,
.text-slate-900,
.text-slate-800 {
  color: #0f172a !important;
}

/* Label badge kelas */
tbody span,
tbody [class*="badge"],
tbody [class*="rounded"] {
  font-weight: 800 !important;
}

/* Footer lebih terbaca */
footer,
footer p,
footer span,
footer a {
  color: #475569 !important;
  font-weight: 800 !important;
}

footer a,
footer span.text-emerald-600,
footer span[class*="emerald"],
footer span[class*="cyan"] {
  color: #047857 !important;
  font-weight: 900 !important;
}

/* Tombol QR Scan kanan atas */
main button,
main button * {
  font-weight: 900 !important;
}

/* Tombol dengan background putih tetap navy */
main button.bg-white,
main button[class*="bg-white"],
main a.bg-white,
main a[class*="bg-white"] {
  color: #1e293b !important;
}

main button.bg-white *,
main button[class*="bg-white"] *,
main a.bg-white *,
main a[class*="bg-white"] * {
  color: #1e293b !important;
  stroke: #1e293b !important;
}

/* =========================
   DASHBOARD FINAL POLISH
========================= */

/* Kartu jumlah siswa aktif: hilangkan kesan strip putih terlalu panjang */
main .bg-emerald-600,
main .bg-teal-600,
main .bg-cyan-600,
main [class*="from-emerald"],
main [class*="to-cyan"] {
  overflow: hidden !important;
}

main .bg-emerald-600::before,
main .bg-teal-600::before,
main .bg-cyan-600::before {
  opacity: .18 !important;
}

/* Tombol Export PDF lebih terbaca */
main button,
main a {
  font-weight: 900 !important;
}

main button:has(svg),
main a:has(svg) {
  gap: .5rem !important;
}

/* Tombol export di kartu putih */
main button[class*="border"],
main a[class*="border"] {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: rgba(16,185,129,.24) !important;
}

main button[class*="border"] *,
main a[class*="border"] * {
  color: #0f172a !important;
  stroke: #0f172a !important;
}

/* Tombol hijau/teal harus putih jelas */
main button[class*="emerald"],
main button[class*="teal"],
main button[class*="cyan"],
main a[class*="emerald"],
main a[class*="teal"],
main a[class*="cyan"] {
  color: #ffffff !important;
}

main button[class*="emerald"] *,
main button[class*="teal"] *,
main button[class*="cyan"] *,
main a[class*="emerald"] *,
main a[class*="teal"] *,
main a[class*="cyan"] * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Chart card dan panel kanan lebih menyatu */
main [class*="rounded"] {
  border-color: rgba(16,185,129,.14) !important;
}

/* Tombol keluar sidebar dibuat selaras, bukan merah */
aside button:last-child {
  background: linear-gradient(135deg, #064e3b, #0e7490) !important;
  color: #ffffff !important;
}

aside button:last-child * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Kurangi teks yang terlalu pucat */
main .text-slate-400,
main .text-slate-500,
main .text-slate-600 {
  color: #64748b !important;
}

main .text-slate-700,
main .text-slate-800,
main .text-slate-900 {
  color: #0f172a !important;
}

/* =========================
   FINAL CONTRAST FIX
   fokus hanya keterbacaan teks, bukan layout
========================= */

:root {
  --readable-dark: #0f172a;
  --readable-body: #334155;
  --readable-muted: #475569;
  --readable-soft: #64748b;
  --readable-emerald: #047857;
  --readable-cyan: #0e7490;
}

/* teks umum */
body,
main,
main p,
main span,
main td,
main th,
main label {
  color: var(--readable-body);
}

/* heading harus kuat */
h1,
h2,
h3,
h4,
main h1,
main h2,
main h3,
main h4,
.card-title,
[class*="CardTitle"] {
  color: var(--readable-dark) !important;
  font-weight: 900 !important;
}

/* teks slate yang terlalu pucat dibuat lebih terbaca */
.text-slate-300,
.text-slate-400,
.text-slate-500,
.text-gray-400,
.text-gray-500,
main .text-slate-300,
main .text-slate-400,
main .text-slate-500,
main .text-gray-400,
main .text-gray-500 {
  color: var(--readable-muted) !important;
}

.text-slate-600,
.text-gray-600,
main .text-slate-600,
main .text-gray-600 {
  color: var(--readable-body) !important;
}

.text-slate-700,
.text-slate-800,
.text-slate-900,
main .text-slate-700,
main .text-slate-800,
main .text-slate-900 {
  color: var(--readable-dark) !important;
}

/* label kecil dibuat tebal */
label,
main label,
main .uppercase,
main [class*="tracking-widest"] {
  font-weight: 900 !important;
}

/* tombol utama/dark: teks dan ikon wajib putih */
main button,
main a[role="button"] {
  font-weight: 900 !important;
}

main button:not([class*="bg-white"]):not([class*="border"]):not([class*="outline"]),
main a[role="button"]:not([class*="bg-white"]):not([class*="border"]):not([class*="outline"]),
main button[class*="bg-emerald"],
main button[class*="bg-teal"],
main button[class*="bg-cyan"],
main button[class*="bg-blue"],
main button[class*="bg-indigo"],
main button[class*="bg-slate"],
main button[class*="from-emerald"],
main button[class*="from-teal"],
main button[class*="from-cyan"],
main button[class*="from-blue"],
main button[class*="from-indigo"],
main button[class*="from-slate"],
main .bg-emerald-600,
main .bg-teal-600,
main .bg-cyan-600,
main .bg-blue-600,
main .bg-indigo-600,
main .bg-slate-900,
main .bg-slate-950 {
  color: #ffffff !important;
}

main button:not([class*="bg-white"]):not([class*="border"]):not([class*="outline"]) *,
main a[role="button"]:not([class*="bg-white"]):not([class*="border"]):not([class*="outline"]) *,
main button[class*="bg-emerald"] *,
main button[class*="bg-teal"] *,
main button[class*="bg-cyan"] *,
main button[class*="bg-blue"] *,
main button[class*="bg-indigo"] *,
main button[class*="bg-slate"] *,
main button[class*="from-emerald"] *,
main button[class*="from-teal"] *,
main button[class*="from-cyan"] *,
main button[class*="from-blue"] *,
main button[class*="from-indigo"] *,
main button[class*="from-slate"] *,
main .bg-emerald-600 *,
main .bg-teal-600 *,
main .bg-cyan-600 *,
main .bg-blue-600 *,
main .bg-indigo-600 *,
main .bg-slate-900 *,
main .bg-slate-950 * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* tombol putih/outline: teks wajib navy */
main button[class*="bg-white"],
main button[class*="border"],
main button[class*="outline"],
main a[class*="bg-white"],
main a[class*="border"],
main a[class*="outline"] {
  color: var(--readable-dark) !important;
}

main button[class*="bg-white"] *,
main button[class*="border"] *,
main button[class*="outline"] *,
main a[class*="bg-white"] *,
main a[class*="border"] *,
main a[class*="outline"] * {
  color: var(--readable-dark) !important;
  stroke: var(--readable-dark) !important;
}

/* tombol export PDF yang background-nya hijau tapi teks ikut hitam */
main button[class*="rounded"][class*="shadow"],
main a[class*="rounded"][class*="shadow"] {
  font-weight: 900 !important;
}

/* tombol aksi kecil pada tabel */
tbody button,
tbody a {
  color: #ffffff !important;
}

tbody button *,
tbody a * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* badge dan angka penting */
main .text-emerald-600,
main .text-emerald-700,
main .text-green-600,
main .text-green-700 {
  color: #047857 !important;
  font-weight: 900 !important;
}

main .text-rose-500,
main .text-rose-600,
main .text-red-500,
main .text-red-600 {
  color: #e11d48 !important;
  font-weight: 900 !important;
}

/* sidebar menu lebih terbaca */
aside nav a,
aside nav button {
  color: #475569 !important;
  font-weight: 800 !important;
}

aside nav a *,
aside nav button * {
  color: #475569 !important;
  stroke: #64748b !important;
}

/* sidebar menu aktif */
aside nav a[class*="bg"],
aside nav button[class*="bg"],
aside nav a[class*="text-indigo"],
aside nav button[class*="text-indigo"],
aside nav a[class*="text-emerald"],
aside nav button[class*="text-emerald"] {
  color: #4338ca !important;
  font-weight: 900 !important;
}

aside nav a[class*="bg"] *,
aside nav button[class*="bg"] *,
aside nav a[class*="text-indigo"] *,
aside nav button[class*="text-indigo"] *,
aside nav a[class*="text-emerald"] *,
aside nav button[class*="text-emerald"] * {
  color: #4338ca !important;
  stroke: #4f46e5 !important;
}

/* tombol keluar sidebar */
aside button:last-child {
  color: #ffffff !important;
  background: linear-gradient(135deg, #064e3b, #0e7490) !important;
  opacity: 1 !important;
}

aside button:last-child *,
aside button:last-child svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  opacity: 1 !important;
}

/* box user role */
aside [class*="USER ROLE"],
aside .text-\[10px\] {
  color: #475569 !important;
  font-weight: 900 !important;
}

/* chart text */
.recharts-text,
.recharts-cartesian-axis-tick-value,
.recharts-legend-item-text {
  fill: #64748b !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

/* footer */
footer,
footer p,
footer span,
footer a {
  color: #475569 !important;
  font-weight: 800 !important;
}

footer a,
footer span[class*="emerald"],
footer span[class*="cyan"],
footer span[class*="green"] {
  color: #047857 !important;
  font-weight: 900 !important;
}

/* input value dan placeholder */
input,
select,
textarea {
  color: var(--readable-dark) !important;
  font-weight: 700 !important;
}

input::placeholder,
textarea::placeholder {
  color: #64748b !important;
  font-weight: 600 !important;
}

/* =========================
   BUTTON INACTIVE + LOGOUT FIX
========================= */

/* Tombol secondary/inactive di area konten jangan putih polos */
main button[class*="bg-white"],
main a[class*="bg-white"],
main button[class*="border"],
main a[class*="border"],
main button[class*="outline"],
main a[class*="outline"] {
  background: linear-gradient(135deg, #f0fdfa 0%, #ecfeff 100%) !important;
  border: 1px solid rgba(20,184,166,.34) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
  font-weight: 900 !important;
}

main button[class*="bg-white"] *,
main a[class*="bg-white"] *,
main button[class*="border"] *,
main a[class*="border"] *,
main button[class*="outline"] *,
main a[class*="outline"] * {
  color: #0f172a !important;
  stroke: #0f172a !important;
}

/* Hover secondary button */
main button[class*="bg-white"]:hover,
main a[class*="bg-white"]:hover,
main button[class*="border"]:hover,
main a[class*="border"]:hover,
main button[class*="outline"]:hover,
main a[class*="outline"]:hover {
  background: linear-gradient(135deg, #ccfbf1 0%, #cffafe 100%) !important;
  border-color: rgba(13,148,136,.48) !important;
}

/* Tombol disabled/inactive tetap kelihatan sebagai tombol */
main button:disabled,
main button[disabled] {
  background: #e2e8f0 !important;
  color: #64748b !important;
  border: 1px solid #cbd5e1 !important;
  opacity: .85 !important;
  box-shadow: none !important;
}

main button:disabled *,
main button[disabled] * {
  color: #64748b !important;
  stroke: #64748b !important;
}

/* Khusus tombol Keluar / Exit Admin di sidebar */
aside button[class*="hover:text-rose"],
aside button[class*="text-rose"],
aside button[class*="logout"],
aside button:last-of-type {
  background: linear-gradient(135deg, #064e3b 0%, #0e7490 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  opacity: 1 !important;
  box-shadow: 0 14px 30px rgba(6,78,59,.24) !important;
}

aside button[class*="hover:text-rose"] *,
aside button[class*="text-rose"] *,
aside button[class*="logout"] *,
aside button:last-of-type *,
aside button[class*="hover:text-rose"] svg,
aside button[class*="text-rose"] svg,
aside button[class*="logout"] svg,
aside button:last-of-type svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  opacity: 1 !important;
}

/* Hover tombol keluar */
aside button[class*="hover:text-rose"]:hover,
aside button[class*="text-rose"]:hover,
aside button[class*="logout"]:hover,
aside button:last-of-type:hover {
  background: linear-gradient(135deg, #047857 0%, #0891b2 100%) !important;
  color: #ffffff !important;
}

/* Kalau ada teks merah di dalam sidebar, paksa putih hanya pada area tombol */
aside button .text-rose-500,
aside button .text-rose-600,
aside button .text-red-500,
aside button .text-red-600,
aside button span,
aside button p {
  color: #ffffff !important;
}

/* =========================
   FORCE SECONDARY BUTTON VISIBILITY v108
========================= */

/* Semua tombol di main yang BUKAN tombol utama dibuat terlihat sebagai tombol */
main button:not([class*="from-"]):not([class*="bg-emerald"]):not([class*="bg-teal"]):not([class*="bg-cyan"]):not([class*="bg-blue"]):not([class*="bg-indigo"]):not([class*="bg-rose"]):not([class*="bg-red"]),
main a:not([class*="from-"]):not([class*="bg-emerald"]):not([class*="bg-teal"]):not([class*="bg-cyan"]):not([class*="bg-blue"]):not([class*="bg-indigo"]):not([class*="bg-rose"]):not([class*="bg-red"])[class*="rounded"] {
  background: linear-gradient(135deg, #ecfdf5 0%, #ecfeff 100%) !important;
  border: 1px solid rgba(13,148,136,.32) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
  font-weight: 900 !important;
}

main button:not([class*="from-"]):not([class*="bg-emerald"]):not([class*="bg-teal"]):not([class*="bg-cyan"]):not([class*="bg-blue"]):not([class*="bg-indigo"]):not([class*="bg-rose"]):not([class*="bg-red"]) *,
main a:not([class*="from-"]):not([class*="bg-emerald"]):not([class*="bg-teal"]):not([class*="bg-cyan"]):not([class*="bg-blue"]):not([class*="bg-indigo"]):not([class*="bg-rose"]):not([class*="bg-red"])[class*="rounded"] * {
  color: #0f172a !important;
  stroke: #0f172a !important;
}

/* Hover secondary */
main button:not([class*="from-"]):not([class*="bg-emerald"]):not([class*="bg-teal"]):not([class*="bg-cyan"]):not([class*="bg-blue"]):not([class*="bg-indigo"]):not([class*="bg-rose"]):not([class*="bg-red"]):hover {
  background: linear-gradient(135deg, #ccfbf1 0%, #cffafe 100%) !important;
  border-color: rgba(13,148,136,.50) !important;
}

/* Jangan ganggu tombol aksi kecil tabel yang sudah gelap */
tbody button,
tbody a {
  background: linear-gradient(135deg, #059669, #047481) !important;
  color: #ffffff !important;
}

tbody button *,
tbody a * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* FORCE tombol keluar sidebar: teks + icon putih */
aside button:last-of-type,
aside button[class*="hover:text-rose"],
aside button[class*="text-rose"],
aside button[class*="text-red"] {
  background: linear-gradient(135deg, #064e3b 0%, #0e7490 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 30px rgba(6,78,59,.25) !important;
  opacity: 1 !important;
}

aside button:last-of-type *,
aside button[class*="hover:text-rose"] *,
aside button[class*="text-rose"] *,
aside button[class*="text-red"] *,
aside button:last-of-type svg,
aside button[class*="hover:text-rose"] svg,
aside button[class*="text-rose"] svg,
aside button[class*="text-red"] svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
  opacity: 1 !important;
}

/* Jika teks keluar berupa span/p langsung di dalam button */
aside button:last-of-type span,
aside button:last-of-type p,
aside button:last-of-type div {
  color: #ffffff !important;
}
