/* ==========================================================================
   Desert Forge IT — Backups portal  ·  "desert-ops" theme-over-Bootstrap
   Loads AFTER bootstrap.min.css + style.css. Reskins the whole portal by
   remapping the design tokens style.css and Bootstrap already consume —
   khaki surfaces, denim accent (rust reserved for danger), hard edges,
   Saira / JBMono. Light default + auto dark, matching the marketing site.
   ========================================================================== */
@font-face{ font-family:'Saira Cond'; font-weight:700; font-display:swap; src:url('/static/fonts/sairacond-700.woff2') format('woff2'); }
@font-face{ font-family:'Saira Cond'; font-weight:800; font-display:swap; src:url('/static/fonts/sairacond-800.woff2') format('woff2'); }
@font-face{ font-family:'Saira'; font-weight:300 700; font-display:swap; src:url('/static/fonts/saira-latin-var.woff2') format('woff2'); }
@font-face{ font-family:'JBMono'; font-weight:400 800; font-display:swap; src:url('/static/fonts/jbmono-latin-var.woff2') format('woff2'); }

:root{
  /* surfaces — khaki */
  --bg:#DFD7C4; --surface:#E6DFCE; --surface-2:#D4CBB4; --surface-3:#CCC2A9;
  --border:rgba(35,35,27,.28); --border-2:rgba(35,35,27,.5);
  /* accent -> denim/steel; rust demoted to danger */
  --accent:#3F586B; --accent-2:#4E6575; --accent-dk:#2E4353; --accent-subtle:rgba(63,88,107,.09);
  --text:#23231B; --text-2:#3B3A2E; --muted:#5B5849; --dim:#7C765F;
  --success:#5F6A3C; --warning:#8A5A18; --danger:#9E4A2A; --info:#3F586B;
  --radius-sm:0; --radius:0; --radius-lg:0; --radius-xl:0;
  /* Bootstrap core */
  --bs-body-bg:#DFD7C4; --bs-body-color:#23231B; --bs-emphasis-color:#23231B;
  --bs-secondary-color:#5B5849; --bs-heading-color:#23231B; --bs-border-color:rgba(35,35,27,.28);
  --bs-primary:#3F586B; --bs-primary-rgb:63,88,107;
  --bs-link-color:#3F586B; --bs-link-color-rgb:63,88,107; --bs-link-hover-color:#2E4353; --bs-link-hover-color-rgb:46,67,83;
  --bs-success:#5F6A3C; --bs-success-rgb:95,106,60;
  --bs-danger:#9E4A2A;  --bs-danger-rgb:158,74,42;
  --bs-warning:#8A5A18; --bs-warning-rgb:138,90,24;
  --bs-info:#3F586B;    --bs-info-rgb:63,88,107;
  --bs-secondary-bg:#D4CBB4; --bs-tertiary-bg:#E6DFCE;
  --bs-body-font-family:'Saira',system-ui,-apple-system,sans-serif;
  --bs-border-radius:0; --bs-border-radius-sm:0; --bs-border-radius-lg:0; --bs-border-radius-xl:0; --bs-border-radius-2xl:0; --bs-border-radius-pill:0;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#161611; --surface:#20201A; --surface-2:#2A2A21; --surface-3:#33332A;
    --border:rgba(231,225,210,.18); --border-2:rgba(231,225,210,.34);
    --accent:#8AA1B1; --accent-2:#9CB0BE; --accent-dk:#6E8494; --accent-subtle:rgba(138,161,177,.12);
    --text:#E7E1D2; --text-2:#CFC8B6; --muted:#A29C88; --dim:#847E6A;
    --success:#98A06F; --warning:#C79A56; --danger:#C9663D; --info:#8AA1B1;
    --bs-body-bg:#161611; --bs-body-color:#E7E1D2; --bs-emphasis-color:#E7E1D2;
    --bs-secondary-color:#A29C88; --bs-heading-color:#E7E1D2; --bs-border-color:rgba(231,225,210,.18);
    --bs-primary:#8AA1B1; --bs-primary-rgb:138,161,177;
    --bs-link-color:#8AA1B1; --bs-link-color-rgb:138,161,177; --bs-link-hover-color:#9CB0BE;
    --bs-success:#98A06F; --bs-success-rgb:152,160,111;
    --bs-danger:#C9663D;  --bs-danger-rgb:201,102,61;
    --bs-secondary-bg:#2A2A21; --bs-tertiary-bg:#20201A;
  }
}

/* Type */
body{ font-family:'Saira',system-ui,-apple-system,sans-serif !important; background:var(--bg); color:var(--text); }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.navbar-brand{ font-family:'Saira Cond','Arial Narrow',sans-serif !important; font-weight:800; text-transform:uppercase; letter-spacing:.006em; }
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{ font-family:'Saira Cond',sans-serif !important; text-transform:uppercase; }
code,kbd,pre,samp,.font-monospace,.text-monospace{ font-family:'JBMono',ui-monospace,SFMono-Regular,Menlo,monospace !important; }

/* Hard edges everywhere (desert-ops signature) */
*,*::before,*::after{ border-radius:0 !important; }

/* Component nudges — most colour comes from the token remap above */
.btn{ font-family:'JBMono',ui-monospace,monospace; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:.82rem; }
.btn-primary{ --bs-btn-bg:var(--accent); --bs-btn-border-color:var(--accent); --bs-btn-hover-bg:var(--accent-2); --bs-btn-hover-border-color:var(--accent-2); --bs-btn-active-bg:var(--accent-dk); --bs-btn-color:#EFEADC; --bs-btn-hover-color:#EFEADC; --bs-btn-active-color:#EFEADC; --bs-btn-disabled-bg:var(--accent); }
.btn-outline-light{ --bs-btn-color:var(--text); --bs-btn-border-color:var(--border-2); --bs-btn-hover-bg:var(--accent); --bs-btn-hover-border-color:var(--accent); --bs-btn-hover-color:#EFEADC; }
.card,.list-group-item,.dropdown-menu,.modal-content,.offcanvas{ background:var(--surface); border-color:var(--border) !important; color:var(--text); }
.navbar{ background:var(--surface) !important; border-bottom:1px solid var(--border); }
.table{ --bs-table-bg:transparent; --bs-table-color:var(--text); --bs-table-border-color:var(--border); }
.table > thead{ font-family:'JBMono',monospace; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.badge{ font-family:'JBMono',monospace; font-weight:700; letter-spacing:.06em; }
.form-control,.form-select,.input-group-text{ background:var(--bg); border-color:var(--border); color:var(--text); }
.form-control:focus,.form-select:focus{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-subtle); }
.form-label,.form-text{ color:var(--muted); }
a{ color:var(--accent); }
a:hover{ color:var(--accent-dk); }
.text-primary{ color:var(--accent) !important; }
.bg-primary{ background-color:var(--accent) !important; color:#EFEADC !important; }
.border{ border-color:var(--border) !important; }
/* section eyebrows / small mono labels, if the templates use .text-uppercase small */
.small.text-uppercase,.text-uppercase.small{ font-family:'JBMono',monospace; letter-spacing:.1em; }
