@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ============================================================
   RentalPanelMM Pro Theme — overrides for the client area
   Design tokens matched to the public homepage:
   ink #0f172a / body #475569 / line #e2e8f0 / accent #1d4ed8
   ============================================================ */
:root{
  --rp-ink:#0f172a; --rp-body:#475569; --rp-muted:#64748b; --rp-line:#e2e8f0;
  --rp-soft:#f8fafc; --rp-accent:#1d4ed8; --rp-accent-dark:#1e40af; --rp-accent-soft:#eff6ff;
  --bs-primary:#1d4ed8; --bs-primary-rgb:29,78,216;
  --bs-link-color:#1d4ed8; --bs-link-hover-color:#1e40af;
}

body{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  background-color:var(--rp-soft) !important;
  color:var(--rp-body);
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:var(--rp-ink);font-weight:700;letter-spacing:-.01em}
a{color:var(--rp-accent)}
a:hover{color:var(--rp-accent-dark)}
::selection{background:var(--rp-accent);color:#fff}

/* ---------- Buttons ---------- */
.btn{border-radius:8px;font-weight:600;box-shadow:none !important}
.btn-primary{background-color:var(--rp-accent) !important;border-color:var(--rp-accent) !important;color:#fff !important}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--rp-accent-dark) !important;border-color:var(--rp-accent-dark) !important}
.btn-outline-primary{color:var(--rp-accent);border-color:var(--rp-accent)}
.btn-outline-primary:hover{background-color:var(--rp-accent);border-color:var(--rp-accent);color:#fff}
.btn-label-primary{background-color:var(--rp-accent-soft);color:var(--rp-accent)}
.btn-label-primary:hover{background-color:#dbeafe;color:var(--rp-accent-dark)}
.text-primary{color:var(--rp-accent) !important}
.bg-primary{background-color:var(--rp-accent) !important}
.border-primary{border-color:var(--rp-accent) !important}

/* ---------- Sidebar menu ---------- */
.bg-menu-theme{background-color:#fff !important;border-right:1px solid var(--rp-line);color:var(--rp-body)}
.bg-menu-theme .menu-link{color:var(--rp-body);border-radius:8px;font-weight:500}
.bg-menu-theme .menu-link:hover{background-color:var(--rp-soft);color:var(--rp-ink)}
.bg-menu-theme .menu-icon{color:var(--rp-muted)}
.bg-menu-theme .menu-link:hover .menu-icon{color:var(--rp-accent)}
.bg-menu-theme .menu-item.active > .menu-link{background-color:var(--rp-accent-soft) !important;color:var(--rp-accent) !important;box-shadow:none !important;font-weight:600}
.bg-menu-theme .menu-item.active > .menu-link .menu-icon{color:var(--rp-accent)}
.bg-menu-theme .menu-item.open > .menu-link{background-color:var(--rp-soft)}
.bg-menu-theme .menu-header{color:var(--rp-muted)}
.menu-inner-shadow{display:none}
.app-brand-text{color:var(--rp-ink) !important;font-weight:800}

/* ---------- Navbar ---------- */
.bg-navbar-theme{background-color:#fff !important;border:1px solid var(--rp-line);box-shadow:0 1px 2px rgba(15,23,42,.04) !important;color:var(--rp-body)}
.navbar-detached{border-radius:12px}
.bg-navbar-theme .nav-link{color:var(--rp-body)}
.bg-navbar-theme .nav-link:hover{color:var(--rp-ink)}

/* ---------- Cards ---------- */
.card{background-color:#fff;border:1px solid var(--rp-line) !important;border-radius:12px !important;box-shadow:0 1px 2px rgba(15,23,42,.04) !important}
.card-header{background-color:transparent;border-bottom:1px solid var(--rp-line);color:var(--rp-ink);font-weight:700}
.card-footer{background-color:transparent;border-top:1px solid var(--rp-line)}

/* ---------- Tables ---------- */
.table{color:var(--rp-body)}
.table > thead th{background-color:var(--rp-soft);color:var(--rp-ink);border-bottom:1px solid var(--rp-line);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.table > tbody td{border-bottom:1px solid #eef2f7}
.table-hover > tbody > tr:hover{background-color:var(--rp-soft)}
.table-striped > tbody > tr:nth-of-type(odd){background-color:#fcfdfe}

/* ---------- Forms ---------- */
.form-control,.form-select{border-color:#cbd5e1;border-radius:8px;color:var(--rp-ink)}
.form-control:focus,.form-select:focus{border-color:var(--rp-accent);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.form-control::placeholder{color:#94a3b8}
.form-label{color:var(--rp-ink);font-weight:600;font-size:.88rem}
.input-group-text{background-color:var(--rp-soft);border-color:#cbd5e1;color:var(--rp-muted)}
.form-check-input:checked{background-color:var(--rp-accent);border-color:var(--rp-accent)}
.form-check-input:focus{border-color:var(--rp-accent);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.form-text{color:var(--rp-muted)}

/* ---------- Badges & labels ---------- */
.badge{font-weight:600;letter-spacing:.01em}
.bg-label-primary{background-color:var(--rp-accent-soft) !important;color:var(--rp-accent) !important}
.bg-label-success{background-color:#ecfdf5 !important;color:#047857 !important}
.bg-label-warning{background-color:#fffbeb !important;color:#b45309 !important}
.bg-label-danger{background-color:#fef2f2 !important;color:#b91c1c !important}
.bg-label-info{background-color:#f0f9ff !important;color:#0369a1 !important}
.bg-label-secondary{background-color:#f1f5f9 !important;color:#475569 !important}

/* ---------- Pagination / nav ---------- */
.page-link{color:var(--rp-accent);border-color:var(--rp-line)}
.page-link:hover{color:var(--rp-accent-dark);background-color:var(--rp-soft)}
.page-item.active .page-link{background-color:var(--rp-accent);border-color:var(--rp-accent);color:#fff}
.nav-tabs .nav-link{color:var(--rp-body)}
.nav-tabs .nav-link.active{color:var(--rp-accent);border-bottom-color:var(--rp-accent)}
.nav-pills .nav-link.active{background-color:var(--rp-accent);color:#fff}

/* ---------- Dropdowns / modals / alerts ---------- */
.dropdown-menu{border:1px solid var(--rp-line);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.10)}
.dropdown-item{color:var(--rp-body)}
.dropdown-item:hover,.dropdown-item:focus{background-color:var(--rp-soft);color:var(--rp-ink)}
.dropdown-item.active,.dropdown-item:active{background-color:var(--rp-accent);color:#fff}
.modal-content{border:1px solid var(--rp-line);border-radius:14px;box-shadow:0 24px 48px rgba(15,23,42,.14)}
.modal-header{border-bottom:1px solid var(--rp-line)}
.modal-footer{border-top:1px solid var(--rp-line)}
.alert{border-radius:10px;border-width:1px}
.progress{background-color:#e8edf3}
.progress-bar{background-color:var(--rp-accent)}
.list-group-item{border-color:var(--rp-line);color:var(--rp-body)}
.breadcrumb-item a{color:var(--rp-accent)}
.accordion-button:not(.collapsed){background-color:var(--rp-accent-soft);color:var(--rp-accent)}

/* ---------- Auth pages ---------- */
.authentication-wrapper .app-brand-text{color:var(--rp-ink) !important}
.authentication-wrapper .card{border:1px solid var(--rp-line) !important}

/* ---------- Round 2 polish (2026-10-21, from browser QA) ---------- */
/* Active menu: clearer light-blue fill + blue accent bar (was #696cff) */
.bg-menu-theme .menu-item.active > .menu-link{background-color:#dbeafe !important}
.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle):before{background:var(--rp-accent) !important}
.bg-menu-theme .menu-item.active:before{background:transparent !important}
.layout-menu-toggle{color:var(--rp-accent) !important}
/* Outline-primary toggle buttons in .active state (Invoices All/Paid/Unpaid) */
.btn-outline-primary.active,.btn-outline-primary:active{background-color:var(--rp-accent) !important;border-color:var(--rp-accent) !important;color:#fff !important;box-shadow:none !important}
/* Flatten per-page gradient heroes to solid professional blue */
.client-hero{background:#1e40af !important}
.support-hero{background:#1e40af !important;box-shadow:0 8px 24px rgba(15,23,42,.10) !important}
.pricing-hero{background:#1e40af !important;box-shadow:0 8px 24px rgba(15,23,42,.10) !important}
.new-panel-hero{background:#1e40af !important}
/* Dashboard stat chip that used indigo tones */
.icon-box.blue{background:#dbeafe !important;color:var(--rp-accent) !important}

/* ---------- Round 3 (2026-10-21): toggle bg + hero image reset ---------- */
#layout-menu .layout-menu-toggle, .app-brand .layout-menu-toggle{background-color:#dbeafe !important;color:var(--rp-accent) !important}
.client-hero,.support-hero,.pricing-hero,.new-panel-hero{background-image:none !important}

/* ---------- Round 4 (2026-10-21): alert text contrast ---------- */
.alert-info{background-color:#eff6ff !important;border-color:#bfdbfe !important;color:#1e40af !important}
.alert-info strong,.alert-info .alert-heading{color:#1e3a8a !important}
.alert-info code{background:rgba(255,255,255,.65) !important;color:#1e3a8a !important}
.alert-warning{background-color:#fffbeb !important;border-color:#fde68a !important;color:#92400e !important}
.alert-warning strong,.alert-warning .alert-heading{color:#78350f !important}
.alert-warning code{background:rgba(255,255,255,.65) !important;color:#78350f !important}

/* ---------- Misc ---------- */
.avatar-online::before,.avatar-offline::before{border-color:#fff}
.divider .divider-text{color:var(--rp-muted)}
.text-muted{color:var(--rp-muted) !important}
.border-bottom{border-bottom-color:var(--rp-line) !important}
.offcanvas{border-color:var(--rp-line)}
.toast{border:1px solid var(--rp-line);border-radius:10px}
