
/* ═══ DEFINITIVE TYPE SCALE ═══ */
/* EB Garamond: body, headings, cards, buttons, inputs */
/* DM Mono: labels, section headers, table headers, codes */

:root {
  --font-body: 'EB Garamond', Georgia, serif;
  --font-mono: 'DM Mono', monospace;
  --fs-xs:    10px;   /* tiny labels */
  --fs-label: 11px;   /* DM Mono labels */
  --fs-sm:    15px;   /* small body */
  --fs-body:  18px;   /* base body */
  --fs-md:    20px;   /* medium */
  --fs-card:  22px;   /* card titles */
  --fs-lg:    26px;   /* large */
  --fs-page:  30px;   /* page headers */
  --fs-stat:  40px;   /* stat values */
}

*,*::before,*::after { box-sizing: border-box; }

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.65;
}

h1 { font-size: var(--fs-page); font-weight: 600; }
h2 { font-size: var(--fs-card); font-weight: 600; }
h3 { font-size: var(--fs-md); font-weight: 600; }

label {
  font-family: var(--font-mono) !important;
  font-size: var(--fs-label) !important;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--g500);
}

input, select, textarea, button {
  font-family: var(--font-body);
  font-size: var(--fs-body);
}

th {
  font-family: var(--font-mono) !important;
  font-size: var(--fs-label) !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}

td { font-size: 16px; }

/* Align5 OS — Main Stylesheet */
/* Last updated: 2026-03-19 */



/* ─── TOKENS ─── */
:root {
  --bt-navy:   #0C1C26;
  --bt-gold:   #C7A954;
  --bt-gold-lt:#dfc07a;
  --bt-gold-pale:#faf4e4;
  --cream:     #f8f6f1;
  --white:     #ffffff;
  --g50:       #f5f4f0;
  --g100:      #eceae4;
  --g300:      #c2bfb4;
  --g500:      #857f74;
  --g700:      #433f38;
  --green:     #1a7a52;
  --green-bg:  #e6f4ed;
  --amber:     #a86d0a;
  --amber-bg:  #fef3d8;
  --red:       #b03030;
  --red-bg:    #fdecea;
  --r:         10px;
  --r-sm:      7px;
  --sh:        0 1px 12px rgba(12,28,38,0.08);
  --sh-md:     0 6px 28px rgba(12,28,38,0.13);
  --sw:        228px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body { font-family:'EB Garamond',Georgia,serif; background:var(--cream); color:var(--g700); min-height:100vh; font-size:18px; line-height:1.65; }
button { cursor:pointer; font-family:inherit; }
input,select,textarea { font-family:inherit; }

/* ─── GOOGLE BTN ─── */
.auth-google-btn {
  width:100%; padding:11px; margin-bottom:4px;
  background:var(--white); color:var(--g700);
  border:1.5px solid var(--g100); border-radius:var(--r-sm);
  font-size:19px; font-weight:500; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-family:'EB Garamond',Georgia,serif;
  transition:border-color .15s, box-shadow .15s;
}
.auth-google-btn:hover { border-color:var(--g300); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.auth-or {
  display:flex; align-items:center; gap:10px;
  margin:14px 0; color:var(--g300); font-size:20px;
}
.auth-or::before,.auth-or::after { content:''; flex:1; height:1px; background:var(--g100); }

/* ─── AUTH SCREEN ─── */
.auth-screen {
  position:fixed; inset:0;
  background:var(--bt-navy); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  z-index:9000; padding:20px;
}
.auth-box {
  background:var(--white); border-radius:16px;
  padding:40px; width:100%; max-width:420px;
  box-shadow:var(--sh-md);
  animation:fadeUp .3s ease;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }

.auth-logo {
  display:flex; flex-direction:column; align-items:center;
  margin-bottom:28px;
}
.auth-logo img { height:52px; object-fit:contain; margin-bottom:10px; }
.auth-logo-name {
  font-family:'EB Garamond',Georgia,serif;
  font-size:19px; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:var(--bt-gold);
}
.auth-title {
  font-family:'EB Garamond',Georgia,serif;
  font-size:30px; font-weight:600; color:var(--bt-navy);
  text-align:center; margin-bottom:6px;
}
.auth-sub {
  font-size:19px; color:var(--g500); text-align:center;
  margin-bottom:24px; line-height:1.5;
}
.auth-fg { margin-bottom:14px; }
.auth-fg label {
  display:block; font-family:'DM Mono',monospace;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--g500); margin-bottom:5px;
}
.auth-fg input {
  width:100%; padding:11px 13px;
  border:1.5px solid var(--g100); border-radius:var(--r-sm);
  font-size:20px; color:var(--g700); outline:none;
  transition:border-color .15s;
}
.auth-fg input:focus { border-color:var(--bt-gold); }
.auth-btn {
  width:100%; padding:12px;
  background:var(--bt-navy); color:var(--white);
  border:none; border-radius:var(--r-sm);
  font-size:20px; font-weight:600;
  letter-spacing:.04em; cursor:pointer;
  transition:background .15s; margin-top:4px;
}
.auth-btn:hover { background:#1a3040; }
.auth-msg {
  text-align:center; font-size:19px; margin-top:14px;
  line-height:1.5; color:var(--g500);
}
.auth-msg.success { color:var(--green); }
.auth-msg.error { color:var(--red); }
.auth-divider { height:1px; background:var(--g100); margin:18px 0; }
.auth-note {
  font-size:16px; color:var(--g300); text-align:center;
  line-height:1.5;
}

/* ─── APP SHELL ─── */
.app { display:none; }
.app.visible { display:flex; min-height:100vh; width:100%; }

/* ─── SIDEBAR ─── */
.sidebar {
  position:fixed; inset:0 auto 0 0; width:var(--sw);
  background:var(--bt-navy);
  display:flex; flex-direction:column;
  z-index:200; overflow-y:auto;
  transition:transform .26s cubic-bezier(.4,0,.2,1);
}
.sb-brand {
  padding:20px 18px 16px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.sb-brand img { height:36px; object-fit:contain; }
.sb-brand-sub {
  font-family:'DM Mono',monospace;
  font-size:11px; color:rgba(255,255,255,.45);
  letter-spacing:.1em; text-transform:uppercase; margin-top:8px;
}
.sb-nav { padding:12px 8px; flex:1; }
.sb-section {
  font-family:'DM Mono',monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.5); padding:10px 10px 4px;
}
.nb {
  display:flex; align-items:center; gap:9px;
  width:100%; padding:10px 12px; border:none; background:none;
  color:rgba(255,255,255,.9); font-size:18px;
  font-family:'EB Garamond',Georgia,serif;
  border-radius:7px; transition:all .15s; cursor:pointer; text-align:left; text-align:left;
}
.nb:hover { background:rgba(255,255,255,.07); color:rgba(255,255,255,.85); }
.nb.active { background:rgba(199,169,84,.2); color:var(--bt-gold); font-weight:600; border-left:3px solid var(--bt-gold); }
.nb svg { width:17px; height:17px; flex-shrink:0; opacity:.8; }
.nb.active svg { opacity:1; color:var(--bt-gold); }
.sb-user {
  padding:14px 16px; border-top:1px solid rgba(255,255,255,.06);
  display:flex; align-items:center; gap:10px;
}
.sb-avatar {
  width:30px; height:30px; border-radius:50%;
  background:var(--bt-gold); color:var(--bt-navy);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; font-weight:700; flex-shrink:0;
}
.sb-user-info { flex:1; min-width:0; }
.sb-user-name { font-size:20px; font-weight:500; color:rgba(255,255,255,.8); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sb-user-role { font-size:22px; color:rgba(255,255,255,.3); font-family:'DM Mono',monospace; letter-spacing:.04em; }
.sb-logout { border:none; background:none; color:rgba(255,255,255,.3); font-size:22px; cursor:pointer; }
.sb-logout:hover { color:rgba(255,255,255,.7); }

/* ─── MAIN ─── */
.main { margin-left:228px; flex:1; min-height:100vh; min-width:0; padding:0; overflow-x:hidden; }
.topbar {
  position:sticky; top:0; z-index:100; height:54px;
  background:rgba(248,246,241,.94); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--g100);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 26px;
}
.topbar-l { display:flex; align-items:center; gap:10px; }
.menu-btn { display:none; border:none; background:none; padding:5px; color:var(--g500); }
.tb-title { font-family:'EB Garamond',Georgia,serif; font-size:21px; font-weight:600; color:var(--bt-navy); }
.topbar-r { display:flex; align-items:center; gap:10px; }
.tb-date { font-family:'DM Mono',monospace; font-size:14px; color:var(--g700); }
.sync-pill {
  display:flex; align-items:center; gap:5px;
  font-family:'DM Mono',monospace; font-size:13px;
  padding:3px 9px; border-radius:20px;
  background:var(--green-bg); color:var(--green); transition:all .3s;
}
.sync-pill.syncing { background:var(--amber-bg); color:var(--amber); }
.sync-pill.error { background:var(--red-bg); color:var(--red); }
.sync-dot { width:5px; height:5px; border-radius:50%; background:currentColor; }
.sync-pill.syncing .sync-dot { animation:blink 1s infinite; }
@keyframes blink { 0%,100%{opacity:1}50%{opacity:.3} }

/* ─── PAGES ─── */
.page { display:none; padding:78px 26px 24px; max-width:1100px; animation:fadeIn .2s ease; }
.page.active { display:block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }

/* ─── PAGE HEADER ─── */
.ph { margin-bottom:22px; }
.ph h1 { font-family:'EB Garamond',Georgia,serif; font-size:32px; font-weight:600; color:var(--bt-navy); line-height:1.2; }
.ph p { font-size:19px; color:var(--g500); margin-top:3px; line-height:1.5; }

/* ─── GRID ─── */
.g2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.g3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }

/* ─── CARD ─── */
.card { background:var(--white); border-radius:var(--r); box-shadow:var(--sh); padding:20px; margin-bottom:16px; }
.ch { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:8px; }
.ct { font-family:'EB Garamond',Georgia,serif; font-size:22px; font-weight:600; color:var(--bt-navy); }

/* ─── STAT ─── */
.stat { background:var(--white); border-radius:var(--r); box-shadow:var(--sh); padding:17px; border-top:3px solid var(--bt-gold); }
.stat-lbl { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--g500); margin-bottom:8px; }
.stat-val { font-family:'EB Garamond',Georgia,serif; font-size:42px; font-weight:600; color:var(--bt-navy); line-height:1; }
.stat-sub { font-size:21px; color:var(--g500); margin-top:6px; }
.bar-wrap { margin-top:9px; height:4px; background:var(--g100); border-radius:3px; overflow:hidden; }
.bar { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--bt-gold),var(--bt-gold-lt)); transition:width .8s ease; }

/* ─── BADGE ─── */
.badge { display:inline-flex; align-items:center; gap:4px; font-size:20px; font-weight:500; padding:4px 11px; border-radius:20px; white-space:nowrap; }
.b-green { background:var(--green-bg); color:var(--green); }
.b-amber { background:var(--amber-bg); color:var(--amber); }
.b-red   { background:var(--red-bg); color:var(--red); }
.b-navy  { background:rgba(12,28,38,.07); color:var(--bt-navy); }
.b-gold  { background:var(--bt-gold-pale); color:var(--amber); }
.b-dot   { width:5px; height:5px; border-radius:50%; background:currentColor; }

/* ─── TABLE ─── */
.tw { overflow-x:auto; -webkit-overflow-scrolling:touch; }
table { width:100%; border-collapse:collapse; font-size:19px; }
th { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--g700); font-weight:600; padding:10px 13px; text-align:left; border-bottom:2px solid var(--g100); white-space:nowrap; }
td { padding:11px 13px; border-bottom:1px solid var(--g100); vertical-align:middle; font-size:19px; }
tr:last-child td { border-bottom:none; }
tbody tr:hover td { background:var(--g50); }

/* ─── PROGRESS ─── */
.pb-wrap { height:6px; background:var(--g100); border-radius:4px; overflow:hidden; min-width:60px; }
.pb { height:100%; border-radius:4px; transition:width .5s; }
.pb-g { background:var(--green); }
.pb-a { background:var(--bt-gold); }
.pb-r { background:var(--red); }

/* ─── FORM ─── */
.fg { margin-bottom:12px; }
.fg label { display:block; font-family:'DM Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--g500); margin-bottom:5px; }
.fg input,.fg select,.fg textarea { width:100%; padding:9px 11px; border:1.5px solid var(--g100); border-radius:var(--r-sm); font-size:15.5px; color:var(--g700); background:var(--white); outline:none; transition:border-color .15s; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--bt-gold); }
.fg textarea { resize:vertical; min-height:80px; }
.fg-r2 { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.fg-r3 { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }

/* ─── BUTTONS ─── */
.btn { display:inline-flex; align-items:center; gap:6px; padding:9px 17px; border-radius:8px; border:none; font-size:19px; font-weight:500; transition:all .15s; white-space:nowrap; }
.btn-primary { background:var(--bt-navy); color:#fff; }
.btn-primary:hover { background:#1a3040; }
.btn-gold { background:var(--bt-gold); color:var(--bt-navy); }
.btn-gold:hover { background:var(--bt-gold-lt); }
.btn-ghost { background:transparent; color:var(--bt-navy); border:1.5px solid var(--g300); }
.btn-ghost:hover { border-color:var(--bt-navy); }
.btn-sm { padding:5px 12px; font-size:20px; border-radius:6px; }
.btn-del { border:none; background:none; color:var(--g300); font-size:19px; line-height:1; cursor:pointer; padding:2px 5px; }
.btn-del:hover { color:var(--red); }

/* ─── TABS ─── */
.tabs { display:flex; gap:3px; background:var(--g100); padding:3px; border-radius:9px; width:fit-content; margin-bottom:18px; }
.tab { padding:6px 14px; border-radius:7px; border:none; font-size:19px; font-weight:500; color:var(--g500); background:transparent; transition:all .15s; }
.tab.active { background:var(--white); color:var(--bt-navy); box-shadow:0 1px 5px rgba(0,0,0,.08); }

/* ─── VISION BLOCKS ─── */
.vb { border-left:3px solid var(--bt-gold); background:var(--g50); border-radius:0 8px 8px 0; padding:14px 17px; margin-bottom:11px; }
.vb-lbl { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--bt-gold); margin-bottom:8px; }
.vb-txt { font-size:15.5px; line-height:1.65; color:var(--g700); }

/* ─── QUOTE BANNER ─── */
.qbanner { background:var(--bt-navy); border-radius:var(--r); padding:17px 21px; margin-bottom:20px; display:flex; align-items:flex-start; gap:13px; }
.qmark { font-family:'EB Garamond',Georgia,serif; font-size:50px; color:var(--bt-gold); line-height:.5; flex-shrink:0; margin-top:8px; }
.qtext { font-family:'EB Garamond',Georgia,serif; font-style:italic; font-size:20px; color:rgba(255,255,255,.82); line-height:1.55; }

/* ─── PILLARS ─── */
.pillars { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; }
.pillar { text-align:center; padding:18px 8px; border-radius:var(--r-sm); border:2px solid transparent; cursor:pointer; transition:all .18s; background:var(--g50); user-select:none; }
.pillar.winning   { background:var(--green-bg); border-color:var(--green); }
.pillar.caution   { background:var(--amber-bg); border-color:var(--bt-gold); }
.pillar.off-track { background:var(--red-bg);   border-color:var(--red); }
.pillar-icon   { font-size:21px; }
.pillar-name   { font-size:21px; color:var(--g500); margin-top:5px; font-weight:500; }
.pillar-status { font-size:22px; font-weight:600; margin-top:2px; }

/* ─── METRIC ROW ─── */
.mrow { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--g100); }
.mrow:last-child { border-bottom:none; }
.mrow-name { flex:1; font-size:19px; }
.mrow-bar  { flex:0 0 110px; }
.mrow-goal { font-family:'DM Mono',monospace; font-size:15px; color:var(--g500); min-width:80px; text-align:right; }
.mrow-val  { font-family:'DM Mono',monospace; font-size:19px; font-weight:500; color:var(--bt-navy); min-width:36px; text-align:right; }
.mrow-pct  { font-size:19px; min-width:35px; text-align:right; font-weight:600; }

/* ─── NUM ROW ─── */
.nrow { display:flex; justify-content:space-between; align-items:center; padding:9px 12px; background:var(--g50); border-radius:7px; margin-bottom:5px; font-size:19px; }
.nrow-lbl { color:var(--g500); }
.nrow-val { font-family:'DM Mono',monospace; font-weight:500; color:var(--bt-navy); }

/* ─── RESISTANCE ─── */
.res-card { border:1.5px solid var(--g100); border-radius:var(--r-sm); padding:14px; margin-bottom:9px; transition:border-color .15s; }
.res-card:hover { border-color:var(--bt-gold); }

/* ─── CLIENT CARDS (admin) ─── */
.client-card {
  background:var(--white); border-radius:var(--r); box-shadow:var(--sh);
  padding:20px; cursor:pointer; transition:all .18s;
  border:2px solid transparent;
}
.client-card:hover { border-color:var(--bt-gold); box-shadow:var(--sh-md); transform:translateY(-2px); }
.client-avatar {
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'EB Garamond',Georgia,serif;
  font-size:22px; font-weight:600; color:var(--white);
  background:var(--bt-navy); margin-bottom:12px;
}
.client-name { font-family:'EB Garamond',Georgia,serif; font-size:19px; font-weight:600; color:var(--bt-navy); margin-bottom:2px; }
.client-biz  { font-size:20px; color:var(--g500); margin-bottom:10px; }
.client-stats { display:flex; gap:12px; }
.client-stat { font-size:19px; color:var(--g500); }
.client-stat strong { color:var(--bt-navy); font-size:20px; display:block; font-family:'DM Mono',monospace; }

/* ─── SESSION NOTES ─── */
.note-card { border:1.5px solid var(--g100); border-radius:var(--r-sm); padding:14px; margin-bottom:9px; }
.note-date { font-family:'DM Mono',monospace; font-size:13px; color:var(--g500); margin-bottom:6px; }
.note-text { font-size:15.5px; line-height:1.65; color:var(--g700); white-space:pre-wrap; }

/* ─── ZOOM IMPORT ─── */
.zoom-box { background:var(--g50); border:2px dashed var(--g300); border-radius:var(--r); padding:24px; text-align:center; transition:border-color .15s; }
.zoom-box:hover { border-color:var(--bt-gold); }
.zoom-box-icon { font-size:32px; margin-bottom:8px; }
.zoom-box-text { font-size:15.5px; color:var(--g500); }

/* ─── ALERT BANNER ─── */
.alert { display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:var(--r-sm); margin-bottom:10px; font-size:19px; }
.alert-amber { background:var(--amber-bg); color:var(--amber); border-left:3px solid var(--bt-gold); }
.alert-red   { background:var(--red-bg); color:var(--red); border-left:3px solid var(--red); }
.alert-green { background:var(--green-bg); color:var(--green); border-left:3px solid var(--green); }

/* ─── MODAL ─── */
.overlay { position:fixed; inset:0; background:rgba(12,28,38,.4); z-index:500; display:none; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(5px); }
.overlay.open { display:flex; }
.modal { background:var(--white); border-radius:var(--r); width:100%; max-width:520px; max-height:90vh; overflow-y:auto; box-shadow:var(--sh-md); padding:24px; }
.modal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.modal-title { font-family:'EB Garamond',Georgia,serif; font-size:22px; font-weight:600; color:var(--bt-navy); }
.modal-x { border:none; background:none; color:var(--g500); font-size:22px; line-height:1; padding:3px 6px; border-radius:5px; }
.modal-x:hover { background:var(--g100); }
.modal-footer { display:flex; gap:9px; justify-content:flex-end; margin-top:16px; }

/* ─── INLINE SELECT ─── */
.inline-sel { border:1px solid var(--g100); border-radius:6px; padding:3px 6px; font-size:20px; background:var(--white); color:var(--g700); cursor:pointer; }

/* ─── EMPTY / LOADING ─── */
.empty { text-align:center; padding:44px 20px; color:var(--g500); font-size:15.5px; line-height:1.6; }
.empty-icon { font-size:34px; margin-bottom:8px; }
.loading { display:flex; align-items:center; justify-content:center; padding:36px; color:var(--g500); gap:9px; font-size:19px; }
.spinner { width:16px; height:16px; border:2px solid var(--g100); border-top-color:var(--bt-gold); border-radius:50%; animation:spin .7s linear infinite; flex-shrink:0; }
@keyframes spin { to{transform:rotate(360deg)} }

/* ─── DIVIDER ─── */
.div { height:1px; background:var(--g100); margin:14px 0; }

/* ─── TAG ─── */
.tag { display:inline-block; font-size:19px; padding:2px 9px; border-radius:12px; background:rgba(12,28,38,.06); color:var(--bt-navy); font-weight:500; margin:2px; }

/* ─── TOAST ─── */
.toast { position:fixed; bottom:22px; right:22px; background:var(--bt-navy); color:#fff; padding:10px 17px; border-radius:9px; font-size:19px; box-shadow:var(--sh-md); z-index:9999; transform:translateY(70px); opacity:0; transition:all .25s cubic-bezier(.4,0,.2,1); max-width:280px; pointer-events:none; }
.toast.show { transform:translateY(0); opacity:1; }
.toast.err { background:var(--red); }

/* ─── COLOR SWATCHES ─── */
.swatch { width:24px; height:24px; border-radius:50%; border:2px solid var(--g100); display:inline-block; }

/* ─── RESPONSIVE ─── */
@media (max-width:780px) {
  :root { --sw:0px; }
  .sidebar { transform:translateX(-228px); width:228px; }
  .sidebar.open { transform:translateX(0); }
  .main { margin-left:0; }
  .menu-btn { display:flex; }
  .topbar { padding:0 16px; }
  .page { padding:16px; }
  .g2,.g3,.g4 { grid-template-columns:1fr; }
  .fg-r2,.fg-r3 { grid-template-columns:1fr; }
  .pillars { grid-template-columns:repeat(3,1fr); }
  .mrow-bar,.mrow-goal { display:none; }
  .tb-date { display:none; }
}
@media (max-width:420px) {
  .pillars { grid-template-columns:repeat(2,1fr); }
  .g4 { grid-template-columns:repeat(2,1fr); }
}
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-thumb { background:var(--g300); border-radius:3px; }

/* ═══ EXPLICIT FONT RULES ═══ */
h1, h2, h3, h4 { font-family:'EB Garamond',Georgia,serif; }
.card { font-family:'EB Garamond',Georgia,serif; }
input, select, textarea { font-family:'EB Garamond',Georgia,serif; }
button:not(
p, div, span, td, li { font-family:'EB Garamond',Georgia,serif; }
.nb, .sb-section, .stat-lbl, .vb-lbl, th, 
[style*="DM Mono"], [class*="mono"] { font-family:'DM Mono',monospace !important; }

@media (max-width: 768px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); }
  .main { margin-left: 0 !important; }
}

/* ═══ FONT RESET ═══ */
.main { font-family: 'EB Garamond', Georgia, serif; }
label { font-family: 'DM Mono', monospace !important; font-size: 11px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); }
input, select, textarea { font-family: 'EB Garamond', Georgia, serif !important; font-size: 17px !important; }
.tab, .btn { font-family: 'EB Garamond', Georgia, serif !important; }
th { font-family: 'DM Mono', monospace !important; font-size: 11px !important; letter-spacing: .06em; text-transform: uppercase; }
td { font-family: 'EB Garamond', Georgia, serif !important; font-size: 16px; }
