/* ========================================
   Database Emailer - Production Styles
   ======================================== */

/* Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

:root{
  --bs-success:#16a34a;
  --bs-success-rgb:22,163,74;
  --header-bg:#f0fdf4; /* Light Green */
  --bs-body-font-family:'Inter',sans-serif;
}

/* Base font */
body{ font-family:var(--bs-body-font-family)!important; }

/* --- Theme Variables --- */
/* Light Mode */
[data-bs-theme="light"]{
  --bs-body-bg:#ffffff; 
  --bs-body-color:#111827; /* Dark text */
}

/* Dark Mode */
[data-bs-theme="dark"]{
  --bs-body-bg:#020617; /* Dark Slate Blue */
  --bs-body-color:#f8fafc; /* Light text */
}

/* --- Header & Navigation --- */
.header-bg{ 
    background-color:var(--header-bg)!important; 
}
.header-bg .nav-link{ 
    color:#1f2937!important; 
}
.header-bg .nav-link:hover{ 
    color:var(--bs-success)!important; 
}

/* FIX: Ensure all header text stays readable on light header in dark mode */
[data-bs-theme="dark"] .header-bg *{
  color: #1f2937 !important; /* Force dark gray text on light background */
}
/* OVERRIDE: Ensure the success button text is always white */
[data-bs-theme="dark"] .header-bg .btn-success,
.header-bg .btn-success {
    color: #ffffff !important;
}

/* Specific overrides for links/icons inside header to keep them correct */
[data-bs-theme="dark"] .header-bg .nav-link:hover{ 
  color: var(--bs-success) !important; 
}
[data-bs-theme="dark"] .header-bg .text-success {
  color: var(--bs-success) !important; 
}
/* Revert toggle icon to use a darker visible color */
[data-bs-theme="dark"] .header-bg .theme-toggle i {
  color: #111827 !important; /* Darker for better contrast */
}

/* --- Footer --- */
footer{ background-color:var(--header-bg)!important; }
footer a{ color:#374151; text-decoration:none; transition:color .3s; }
footer a:hover{ color:var(--bs-success); }
/* Ensure dark mode footer text stays readable on light footer background */
[data-bs-theme="dark"] footer a{ color:#374151; }
[data-bs-theme="dark"] footer .text-muted {
    color: #6c757d !important; 
}

/* --- Dropdowns --- */
[data-bs-theme="light"] .dropdown-item { 
    color: #1f2937 !important; 
}
[data-bs-theme="dark"] .dropdown-menu {
    background-color: #1e293b; 
    border-color: #334155; 
}
[data-bs-theme="dark"] .dropdown-menu .dropdown-item { 
    color: #ced4da !important; 
}
.dropdown-item:hover{ 
    background-color:var(--header-bg)!important;
    color:var(--bs-success)!important; 
}

/* --- Cards --- */
[data-bs-theme="light"] .card{ background-color:#fff;border-color:#e5e7eb;color:#111827;}
[data-bs-theme="dark"] .card{ background-color:#1e293b;border-color:#334155;color:#f8fafc;}
.card:hover{ border-color:var(--bs-success)!important; transform:translateY(-2px); transition:all .3s ease; }

/* --- Buttons --- */
.btn-success{ 
    background-color:var(--bs-success); 
    border-color:var(--bs-success); 
    color: #fff; /* Ensure white text on success buttons */
}
.btn-success:hover{ 
    background-color:#15803d; 
    border-color:#15803d; 
    color: #fff;
}

/* --- Theme Toggle --- */
.theme-toggle{ 
    width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid #d1d5db;
    background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:all .3s ease; 
}
.theme-toggle:hover{ background-color:#d1d5db; }
/* Dark mode toggle colors (sun/moon) */
[data-bs-theme="dark"] .theme-toggle .sun-icon { color: #fbbf24 !important; }

/* --- Offcanvas --- */
.offcanvas-header{ background-color:var(--header-bg); }
[data-bs-theme="light"] .offcanvas-body{ background-color:#fff; }
[data-bs-theme="dark"] .offcanvas-body{ background-color:#1e293b; }

/* --- Modals --- */
[data-bs-theme="light"] .modal-content{ background-color:#fff;border-color:#e5e7eb; }
[data-bs-theme="dark"] .modal-content{ background-color:#1e293b;border-color:#334155; }
[data-bs-theme="dark"] .modal-header,[data-bs-theme="dark"] .modal-footer{ border-color:#334155; }
[data-bs-theme="dark"] .btn-close{ filter:invert(1) grayscale(100) brightness(200%); }
.modal-body ul{ list-style-type:none; padding-left:0; }
.modal-body ul li{ display:flex; align-items:flex-start; gap:0.75rem; margin-bottom:0.75rem; }
.modal-body ul li i{ color:var(--bs-success); margin-top:0.25rem; }

/* --- Hero --- */
.hero-gradient{ background:linear-gradient(135deg,#ffffff 0%,#f9fafb 50%,#f0fdf4 100%); position:relative; overflow:hidden; }
[data-bs-theme="dark"] .hero-gradient{ background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%); }
.hero-glow{ position:absolute; inset:0; pointer-events:none; opacity:.5; background:radial-gradient(circle at center,rgba(34,197,94,.15) 0%,transparent 60%); }
[data-bs-theme="dark"] .hero-glow{ opacity:0; }

/* --- Sections --- */
.section-bg-light{ background-color:var(--header-bg); }
[data-bs-theme="dark"] .section-bg-light{ background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%); }
.content-section {
     background-color: var(--bs-body-bg);
}
.content-section.section-bg-light {
     background-color: var(--header-bg);
}
[data-bs-theme="dark"] .content-section.section-bg-light {
     background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);
}

/* --- Utilities --- */
.mobile-nav-toggle{ background:none;border:none;color:#1f2937;font-size:1.75rem;padding:0 .5rem; }
.data-stat i{ color:var(--bs-success); }
.software-card{ cursor:pointer; position:relative; }
.software-card:hover{ transform:translateY(-2px); }
.msft-badge{ position:absolute;top:10px;right:10px;background-color:#0078d4;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:bold; }

/* Smooth transitions */
*{ transition-property:background-color,border-color,color,transform; transition-duration:.3s; transition-timing-function:ease; }
.preload *{ transition:none!important; }
.login_user_input {
    width: 230px;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
}
#frmLoginSmall .login_user_input input#cmdLogin {
    width: 60% !important;
    background: #000000 !important;
    color: #fff;
    border-radius: 20px;
    margin: 10px;
}
span.or {
    display: block;
    margin: 0;
    padding: 0;
    position: relative;
    top: -6px;
}

span.or:before {
    content: "";
    width: 85px;
    height: 1px;
    background: #b7adad;
    position: absolute;
    top: 10px;
    left: 0;
}
span.or:after {
    content: "";
    width: 85px;
    height: 1px;
    background: #b7adad;
    position: absolute;
    top: 10px;
    right: 0;
}
.login_user_input a{
    font-size: 11pt;
    font-family: 'Poppins' !important;
    color: #111;
}
#frmLoginSmall h3{
    color: red;
    font-size: 14px !important;
    padding: 10px;
}
.login_user_input label {
    display: inline-block;
    margin: 5px 0;
}
/* Responsive heading tweaks */
@media (max-width: 767px){
  .display-5{ font-size:2rem!important; }
  .display-6{ font-size:1.75rem!important; }
}