@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&family=Roboto:wght@300;400;500;700&display=swap');
/* Simple Web Solutions brand layer for FOSSBilling / Huraga.
   Added 2026-11-05. Loaded after huraga.css from layout_public + layout_default.
   Only overrides Bootstrap custom properties and a few components, so a Huraga
   update keeps working; delete this file and the two <link> lines to revert. */
:root{
  --sw-green:#7fbe4b; --sw-green-dk:#4b8a1f; --sw-slate:#436b8d; --sw-slate-dk:#35546f;
  --sw-ink:#1f2a33; --sw-mute:#5d6b76; --sw-line:#e3e9de; --sw-mist:#f4f8f0;
  --bs-primary:#7fbe4b; --bs-primary-rgb:127,190,75;
  --bs-link-color:#436b8d; --bs-link-color-rgb:67,107,141; --bs-link-hover-color:#4b8a1f;
  --bs-body-font-family:"Roboto",system-ui,-apple-system,sans-serif;
  --bs-body-color:#1f2a33; --bs-body-color-rgb:31,42,51;
  --bs-border-color:#e3e9de;
  --bs-border-radius:6px; --bs-border-radius-sm:4px; --bs-border-radius-lg:10px; --bs-border-radius-xl:14px;
  --bs-focus-ring-color:rgba(127,190,75,.35);
}
body{font-family:var(--bs-body-font-family);color:var(--sw-ink)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Roboto",sans-serif;color:var(--sw-ink);letter-spacing:-.01em;font-weight:600}
h1,.h1{font-weight:300;letter-spacing:-.02em}
a{text-underline-offset:2px}
/* ---- header ---- */
.navbar{background:#fff!important;border-bottom:2px solid var(--sw-green);box-shadow:0 1px 8px rgba(31,42,51,.07)}
.navbar .navbar-brand img,.navbar-brand img{max-height:44px;width:auto}
.navbar .nav-link{color:var(--sw-ink);font-weight:500}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--sw-green-dk)}
.navbar .nav-link.active{color:var(--sw-green-dk);font-weight:600}
/* ---- buttons ---- */
.btn{font-weight:600;letter-spacing:.01em}
.btn-primary{--bs-btn-bg:#7fbe4b;--bs-btn-border-color:#7fbe4b;--bs-btn-color:#fff;
  --bs-btn-hover-bg:#4b8a1f;--bs-btn-hover-border-color:#4b8a1f;--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:#4b8a1f;--bs-btn-active-border-color:#4b8a1f;--bs-btn-active-color:#fff;
  --bs-btn-disabled-bg:#aed593;--bs-btn-disabled-border-color:#aed593;--bs-btn-disabled-color:#fff}
.btn-outline-primary{--bs-btn-color:#4b8a1f;--bs-btn-border-color:#7fbe4b;
  --bs-btn-hover-bg:#7fbe4b;--bs-btn-hover-border-color:#7fbe4b;--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:#4b8a1f;--bs-btn-active-border-color:#4b8a1f}
.btn-dark,.btn-secondary{--bs-btn-bg:#436b8d;--bs-btn-border-color:#436b8d;--bs-btn-color:#fff;
  --bs-btn-hover-bg:#35546f;--bs-btn-hover-border-color:#35546f;--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:#35546f;--bs-btn-active-border-color:#35546f}
.btn-link{--bs-btn-color:#436b8d;--bs-btn-hover-color:#4b8a1f}
/* ---- cards & panels ---- */
.card{border:1px solid var(--sw-line);border-radius:10px;box-shadow:0 1px 3px rgba(31,42,51,.05)}
.card-header{background:var(--sw-mist);border-bottom:1px solid var(--sw-line);font-weight:600;color:var(--sw-ink);letter-spacing:.01em}
.list-group-item{border-color:var(--sw-line)}
/* ---- showcase / alerts ---- */
.alert-info,.alert-primary{--bs-alert-bg:#f4f8f0;--bs-alert-border-color:#cfe4bb;--bs-alert-color:#2f4a1a;border-left:4px solid var(--sw-green)}
.alert-info h1,.alert-info h2,.alert-primary h1,.alert-primary h2,.alert-info .h2{color:var(--sw-green-dk)}
.alert-success{--bs-alert-bg:#eef7e6;--bs-alert-border-color:#cfe4bb;--bs-alert-color:#2f4a1a}
/* ---- tables ---- */
.table{--bs-table-border-color:var(--sw-line)}
.table>thead th{color:var(--sw-mute);font-weight:600;text-transform:none;border-bottom-width:2px}
/* ---- badges ---- */
.badge.bg-primary,.badge.text-bg-primary{background-color:var(--sw-green)!important;color:#fff!important}
.badge.bg-secondary,.badge.text-bg-secondary{background-color:var(--sw-slate)!important;color:#fff!important}
/* ---- forms ---- */
.form-control:focus,.form-select:focus{border-color:var(--sw-green);box-shadow:0 0 0 .2rem rgba(127,190,75,.22)}
/* ---- footer: a quiet rule-and-text footer, not a dark band (#footer is an
   inline element inside the container, so a filled background reads as a stray bar) ---- */
footer#footer,.footer{background:transparent;border-top:1px solid var(--sw-line);margin-top:56px!important;padding-top:20px;color:var(--sw-mute)}
footer#footer span,.footer span{color:var(--sw-mute)}
footer#footer .d-flex:first-child span{color:var(--sw-ink);font-weight:500}
footer#footer a,.footer a{color:var(--sw-slate);text-decoration:none}
footer#footer a:hover,.footer a:hover{color:var(--sw-green-dk);text-decoration:underline}
footer#footer.text-muted,.footer.text-muted{color:var(--sw-mute)!important}
/* ---- dark mode ---- */
[data-bs-theme="dark"]{--bs-primary:#8fcf59;--bs-primary-rgb:143,207,89;--bs-link-color:#9ecbe8;--bs-link-hover-color:#8fcf59;--bs-border-color:#2c3a46}
[data-bs-theme="dark"] .navbar{background:#16202a!important;border-bottom-color:var(--sw-green)}
[data-bs-theme="dark"] .navbar .nav-link{color:#dbe6ee}
[data-bs-theme="dark"] .card{background:#1b2630;border-color:#2c3a46}
[data-bs-theme="dark"] .card-header{background:#22303c;border-bottom-color:#2c3a46;color:#eaf1f6}
[data-bs-theme="dark"] .alert-info,[data-bs-theme="dark"] .alert-primary{--bs-alert-bg:#1d2a1a;--bs-alert-border-color:#3c5a28;--bs-alert-color:#d8ecc6}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
