/* Font lokal dan utilitas tema khusus untuk halaman login. */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito-v9-latin-regular.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito-v9-latin-600.woff2') format('woff2');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito-v9-latin-700.woff2') format('woff2');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito-v9-latin-800.woff2') format('woff2');
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

.font-arabic { font-family: Georgia, 'Times New Roman', serif; }
.bg-ramada-500 { --tw-bg-opacity: 1; background-color: rgba(16, 185, 129, var(--tw-bg-opacity)); }
.from-ramada-600 { --tw-gradient-from: #059669; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(5, 150, 105, 0)); }
.text-ramada-500 { --tw-text-opacity: 1; color: rgba(16, 185, 129, var(--tw-text-opacity)); }
.text-ramada-600 { --tw-text-opacity: 1; color: rgba(5, 150, 105, var(--tw-text-opacity)); }
.focus\:ring-ramada-500:focus { --tw-ring-color: rgba(16, 185, 129, 0.5); }
.min-h-\[80px\] { min-height: 80px; }
.min-h-\[90px\] { min-height: 90px; }
.text-\[10px\] { font-size: 10px; }
.text-\[11px\] { font-size: 11px; }

/* Warna Tailwind modern yang dipakai tampilan login tetapi tidak ada pada build v2 lokal. */
.bg-emerald-400 { --tw-bg-opacity: 1; background-color: rgba(52, 211, 153, var(--tw-bg-opacity)); }
.bg-emerald-500\/20 { background-color: rgba(16, 185, 129, .2); }
.bg-emerald-600 { --tw-bg-opacity: 1; background-color: rgba(5, 150, 105, var(--tw-bg-opacity)); }
.bg-emerald-950\/40 { background-color: rgba(2, 44, 34, .4); }
.bg-rose-50 { --tw-bg-opacity: 1; background-color: rgba(255, 241, 242, var(--tw-bg-opacity)); }
.bg-slate-50 { --tw-bg-opacity: 1; background-color: rgba(248, 250, 252, var(--tw-bg-opacity)); }
.bg-teal-400 { --tw-bg-opacity: 1; background-color: rgba(45, 212, 191, var(--tw-bg-opacity)); }
.bg-white\/10 { background-color: rgba(255, 255, 255, .1); }
.bg-white\/40 { background-color: rgba(255, 255, 255, .4); }
.border-emerald-300 { --tw-border-opacity: 1; border-color: rgba(110, 231, 183, var(--tw-border-opacity)); }
.border-emerald-400 { --tw-border-opacity: 1; border-color: rgba(52, 211, 153, var(--tw-border-opacity)); }
.border-emerald-400\/30 { border-color: rgba(52, 211, 153, .3); }
.border-emerald-500\/20 { border-color: rgba(16, 185, 129, .2); }
.border-emerald-500\/30 { border-color: rgba(16, 185, 129, .3); }
.border-emerald-800\/60 { border-color: rgba(6, 95, 70, .6); }
.border-slate-100 { --tw-border-opacity: 1; border-color: rgba(241, 245, 249, var(--tw-border-opacity)); }
.border-slate-200 { --tw-border-opacity: 1; border-color: rgba(226, 232, 240, var(--tw-border-opacity)); }
.border-slate-200\/80 { border-color: rgba(226, 232, 240, .8); }
.border-slate-300 { --tw-border-opacity: 1; border-color: rgba(203, 213, 225, var(--tw-border-opacity)); }
.border-rose-200 { --tw-border-opacity: 1; border-color: rgba(254, 205, 211, var(--tw-border-opacity)); }
.border-white\/10 { border-color: rgba(255, 255, 255, .1); }
.border-white\/15 { border-color: rgba(255, 255, 255, .15); }
.text-emerald-100 { --tw-text-opacity: 1; color: rgba(209, 250, 229, var(--tw-text-opacity)); }
.text-emerald-100\/80 { color: rgba(209, 250, 229, .8); }
.text-emerald-200 { --tw-text-opacity: 1; color: rgba(167, 243, 208, var(--tw-text-opacity)); }
.text-emerald-300 { --tw-text-opacity: 1; color: rgba(110, 231, 183, var(--tw-text-opacity)); }
.text-emerald-300\/70 { color: rgba(110, 231, 183, .7); }
.text-emerald-400 { --tw-text-opacity: 1; color: rgba(52, 211, 153, var(--tw-text-opacity)); }
.text-rose-500 { --tw-text-opacity: 1; color: rgba(244, 63, 94, var(--tw-text-opacity)); }
.text-rose-600 { --tw-text-opacity: 1; color: rgba(225, 29, 72, var(--tw-text-opacity)); }
.text-rose-800 { --tw-text-opacity: 1; color: rgba(159, 18, 57, var(--tw-text-opacity)); }
.text-slate-400 { --tw-text-opacity: 1; color: rgba(148, 163, 184, var(--tw-text-opacity)); }
.text-slate-500 { --tw-text-opacity: 1; color: rgba(100, 116, 139, var(--tw-text-opacity)); }
.text-slate-600 { --tw-text-opacity: 1; color: rgba(71, 85, 105, var(--tw-text-opacity)); }
.text-slate-700 { --tw-text-opacity: 1; color: rgba(51, 65, 85, var(--tw-text-opacity)); }
.text-slate-800 { --tw-text-opacity: 1; color: rgba(30, 41, 59, var(--tw-text-opacity)); }
.placeholder-slate-400::placeholder { --tw-placeholder-opacity: 1; color: rgba(148, 163, 184, var(--tw-placeholder-opacity)); }
.from-ramada-600 { --tw-gradient-from: #059669; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(5, 150, 105, 0)); }
.to-emerald-400 { --tw-gradient-to: #34d399; }
.to-teal-400 { --tw-gradient-to: #2dd4bf; }
.via-emerald-500 { --tw-gradient-stops: var(--tw-gradient-from), #10b981, var(--tw-gradient-to, rgba(16, 185, 129, 0)); }
.hover\:bg-emerald-700:hover { --tw-bg-opacity: 1; background-color: rgba(4, 120, 87, var(--tw-bg-opacity)); }
.hover\:text-slate-600:hover { --tw-text-opacity: 1; color: rgba(71, 85, 105, var(--tw-text-opacity)); }
.group:hover .group-hover\:translate-x-1 { transform: translateX(.25rem); }
.decoration-emerald-400\/50 { text-decoration-color: rgba(52, 211, 153, .5); }
.decoration-wavy { text-decoration-style: wavy; }
.underline-offset-8 { text-underline-offset: 8px; }
::selection { background-color: #10b981; color: #fff; }
