/* NorthLat UI – Greva-inspired dark dashboard */

:root{
  --bg-0:#0b0d13;
  --bg-1:#0f121a;
  --panel:#141827;
  --panel-2:#121626;
  --panel-3:#101325;
  --stroke:rgba(255,255,255,.08);
  --stroke-2:rgba(255,255,255,.12);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.62);
  --muted-2:rgba(255,255,255,.42);

  --accent:#2d7ff9;
  --accent-2:#48a6ff;
  --good:#2bd07f;
  --bad:#ff5a6a;
  --warn:#ffb020;

  --shadow-lg: 0 24px 60px rgba(0,0,0,.55);
  --shadow-md: 0 16px 40px rgba(0,0,0,.45);

  --radius-xl: 18px;
  --radius-lg: 16px;
  --radius-md: 14px;
  --radius-sm: 12px;

  --container: 1200px;
}

/* =====================================
   NORTHLAT Global Typography
   (matches Generate)
   ===================================== */
   html, body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 Inter,
                 system-ui,
                 Roboto,
                 Helvetica,
                 Arial,
                 sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  html, body, button, input, textarea, select {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif !important;
  }
  

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(900px 520px at 18% 0%, rgba(45,127,249,.16), transparent 60%),
    radial-gradient(760px 520px at 88% 18%, rgba(72,166,255,.12), transparent 58%),
    linear-gradient(180deg, var(--bg-0), var(--bg-1) 45%, #0c0f18);
    background-attachment: fixed;
  color: var(--text);
}

img{max-width:100%; height:auto}

/* Links */
a{color: rgba(72,166,255,.95); text-decoration:none}
a:hover{color:#fff}

/* Typography */
h1,h2,h3{letter-spacing:-.02em}
h1{font-size:28px; margin:0 0 6px}
p{margin:0 0 14px; color: var(--muted)}

/* Layout */
.app{display:grid; grid-template-columns: 288px 1fr; min-height:100vh;}
.main{min-width:0}
.content{
  padding: 18px 22px 36px;
}
.container{max-width: var(--container); margin:0 auto;}

.logo{height:28px; width:auto; display:block}

.page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  margin: 6px 0 12px;
}
.page-head p{margin:6px 0 0}

/* Sidebar */
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding: 16px 14px;
  background: linear-gradient(180deg, rgba(16,18,26,.96), rgba(12,15,24,.92));
  border-right: 1px solid var(--stroke);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 10px 14px;
}
.brand-mark{
  width:34px; height:34px;
  border-radius: 12px;
  background: rgba(45,127,249,.18);
  border:1px solid rgba(45,127,249,.28);
  display:grid; place-items:center;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.brand-mark img{width:18px; height:18px; object-fit:contain; filter: drop-shadow(0 12px 20px rgba(0,0,0,.35));}
.brand-name{font-weight:800; font-size:16px; line-height:1}
.brand-name span{color: rgba(255,255,255,.9)}

.nav{display:flex; flex-direction:column; gap:6px; padding: 6px;}
.nav-section{
  margin: 14px 10px 6px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.nav-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 11px 12px;
  border-radius: var(--radius-md);
  color: var(--muted);
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.nav-item:hover{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.06);
  color: var(--text);
}
.nav-item.active{
  background: linear-gradient(90deg, rgba(45,127,249,.18), rgba(255,255,255,.04));
  border-color: rgba(45,127,249,.22);
  color: var(--text);
}
.nav-icon{
  width: 18px; height:18px;
  border-radius: 7px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  display:grid; place-items:center;
}
.nav-item.active .nav-icon{
  background: rgba(45,127,249,.18);
  border-color: rgba(45,127,249,.24);
}
.nav-badge{
  margin-left:auto;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,.92);
  background: rgba(45,127,249,.22);
  border: 1px solid rgba(45,127,249,.28);
}

.sidebar-footer{margin-top:auto; padding: 12px 10px 0}
.sidebar-user{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
}
.avatar{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  font-weight: 800;
  background: rgba(45,127,249,.18);
  border: 1px solid rgba(45,127,249,.26);
}
.who .name{font-size:13px; font-weight:700; line-height:1.15}
.who .role{font-size:12px; color: var(--muted-2); margin-top:2px}

/* Topbar */
.topbar{
  position:sticky;
  top:0;
  z-index: 20;
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--stroke);
  background: rgba(15,18,26,.72);
  backdrop-filter: blur(14px);
}

.iconbtn{
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display:grid;
  place-items:center;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.iconbtn:hover{background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14)}
.iconbtn:active{transform: scale(.98)}

.search{
  flex: 1;
  max-width: 520px;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.search input{
  flex:1;
  border:0;
  outline:none;
  background: transparent;
  color: var(--text);
  font-size: 13px;
}
.search input::placeholder{color: rgba(255,255,255,.38)}
.kbd{
  font-size: 12px;
  color: rgba(255,255,255,.60);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  padding: 2px 7px;
  border-radius: 10px;
}

.topbar-right{display:flex; align-items:center; gap:10px}
.userchip{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 7px 10px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.userchip .who2{display:flex; flex-direction:column; line-height:1.05}
.userchip .who2 .u{font-size: 12px; font-weight: 800; color: rgba(255,255,255,.90)}
.userchip .who2 .p{font-size: 11px; color: var(--muted-2); margin-top:2px}

/* Cards */
.card{
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
  box-shadow: var(--shadow-md);
}
.card-inner{padding: 16px}
.card-title{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom: 10px}
.card-title h2{margin:0; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.72); letter-spacing:.02em; text-transform:uppercase}

.stat{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.stat-left{display:flex; align-items:flex-start; gap:12px}
.stat-ic{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(45,127,249,.18);
  border: 1px solid rgba(45,127,249,.22);
}
.stat-value{font-size: 28px; font-weight: 900; letter-spacing:-.03em}
.stat-sub{font-size: 12px; color: var(--muted-2); margin-top: 6px}
.delta{font-size: 12px; font-weight: 800; display:inline-flex; align-items:center; gap:6px; white-space:nowrap}
.delta.up{color: var(--good)}
.delta.down{color: var(--bad)}

/* Grid helpers */
.grid{display:grid; gap: 14px}
.grid.cols-2{grid-template-columns: repeat(2, minmax(0,1fr))}
.grid.cols-3{grid-template-columns: repeat(3, minmax(0,1fr))}
.grid.cols-4{grid-template-columns: repeat(4, minmax(0,1fr))}
@media (max-width: 1180px){ .grid.cols-4{grid-template-columns: repeat(2, minmax(0,1fr))} }
@media (max-width: 860px){ .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns: 1fr} }

/* Dividers */
hr{border:0; height:1px; background: rgba(255,255,255,.08); margin: 16px 0}

/* Forms */
.label, label{color: rgba(255,255,255,.66); font-size: 12px; font-weight: 700; margin-bottom: 8px}

input, select, textarea{
  width: 100%;
  padding: 11px 12px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(10,12,18,.35);
  color: var(--text);
  outline:none;
}
textarea{min-height: 110px; resize: vertical}
input::placeholder, textarea::placeholder{color: rgba(255,255,255,.38)}
input:focus, select:focus, textarea:focus{
  border-color: rgba(45,127,249,.42);
  box-shadow: 0 0 0 4px rgba(45,127,249,.14);
}

.btn, button, input[type="submit"]{
  appearance:none;
  border: 1px solid rgba(45,127,249,.35);
  background: rgba(45,127,249,.22);
  color: rgba(255,255,255,.92);
  padding: 10px 14px;
  border-radius: var(--radius-lg);
  font-weight: 800;
  cursor:pointer;
}
.btn:hover, button:hover, input[type="submit"]:hover{background: rgba(45,127,249,.30)}
.btn:active, button:active, input[type="submit"]:active{transform: scale(.99)}
.btn-ghost{border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.04)}
.btn-ghost:hover{background: rgba(255,255,255,.06)}

/* Tables */
table{width:100%; border-collapse: collapse}
th, td{padding: 12px 12px; border-bottom: 1px solid rgba(255,255,255,.07); text-align:left; vertical-align: middle}
th{font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted-2); font-weight: 800}
tr:hover td{background: rgba(255,255,255,.02)}

.table-wrap{
  overflow:auto;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,.08);
}

/* Legacy helpers to keep old markup looking good */
.pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--text);
}
.small{color: var(--muted-2); font-size: 12px}
.dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--good);
  box-shadow: 0 0 0 4px rgba(43,208,127,.12);
}
.error{
  border: 1px solid rgba(255,90,106,.28);
  background: rgba(255,90,106,.10);
  color: rgba(255,255,255,.92);
  padding: 12px 12px;
  border-radius: var(--radius-xl);
  margin: 12px 0;
}
.success{
  border: 1px solid rgba(43,208,127,.24);
  background: rgba(43,208,127,.10);
  padding: 12px 12px;
  border-radius: var(--radius-xl);
  margin: 12px 0;
}

/* Auth */
.layout-auth{display:grid; place-items:center; padding: 26px}
.auth{width:100%; max-width: 520px}
.auth-card{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: var(--shadow-lg);
  padding: 22px;
}
.auth-brand{display:flex; justify-content:center; margin-bottom: 14px}

/* Mobile sidebar */
.backdrop{
  position:fixed; inset:0;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(2px);
  z-index: 40;
}
@media (max-width: 980px){
  .app{grid-template-columns: 1fr;}
  .sidebar{
    position:fixed;
    left:0; top:0; bottom:0;
    width: 292px;
    transform: translateX(-110%);
    transition: transform .18s ease;
    z-index: 50;
  }
  .sidebar.open{transform: translateX(0)}
  .content{padding: 16px 14px 30px}
  .search{max-width: none}
}

/* Minimal icon system (mask svg) */
.i{width:18px; height:18px; display:inline-block; background: currentColor; -webkit-mask: var(--mask) no-repeat center / contain; mask: var(--mask) no-repeat center / contain; opacity:.92}
.i-menu{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M4 6h16v2H4zM4 11h16v2H4zM4 16h16v2H4z"/></svg>')}
.i-search{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M10 4a6 6 0 104.472 10.03l4.249 4.248 1.414-1.414-4.248-4.249A6 6 0 0010 4zm0 2a4 4 0 110 8 4 4 0 010-8z"/></svg>')}
.i-bell{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 22a2.5 2.5 0 002.45-2h-4.9A2.5 2.5 0 0012 22zm6-6V11a6 6 0 00-5-5.91V4a1 1 0 10-2 0v1.09A6 6 0 006 11v5l-2 2v1h16v-1l-2-2z"/></svg>')}
.i-grid{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm10 0h8v8h-8v-8z"/></svg>')}
.i-gear{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M19.14 12.94a7.49 7.49 0 000-1.88l2.03-1.58a.5.5 0 00.12-.64l-1.92-3.32a.5.5 0 00-.6-.22l-2.39.96a7.3 7.3 0 00-1.63-.94l-.36-2.54A.5.5 0 0013.9 1h-3.8a.5.5 0 00-.49.42l-.36 2.54a7.3 7.3 0 00-1.63.94l-2.39-.96a.5.5 0 00-.6.22L2.71 7.48a.5.5 0 00.12.64l2.03 1.58a7.49 7.49 0 000 1.88l-2.03 1.58a.5.5 0 00-.12.64l1.92 3.32a.5.5 0 00.6.22l2.39-.96c.5.38 1.05.7 1.63.94l.36 2.54a.5.5 0 00.49.42h3.8a.5.5 0 00.49-.42l.36-2.54c.58-.24 1.13-.56 1.63-.94l2.39.96a.5.5 0 00.6-.22l1.92-3.32a.5.5 0 00-.12-.64l-2.03-1.58zM12 15.5A3.5 3.5 0 1112 8a3.5 3.5 0 010 7.5z"/></svg>')}
.i-user{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 12a5 5 0 10-5-5 5 5 0 005 5zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5z"/></svg>')}
.i-home{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 3l9 8h-3v10h-5v-6H11v6H6V11H3l9-8z"/></svg>')}
.i-plus{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2h6z"/></svg>')}
.i-list{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M4 6h12v2H4V6zm0 5h16v2H4v-2zm0 5h12v2H4v-2z"/></svg>')}
.i-spark{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M13 2L3 14h7l-1 8 12-14h-7l-1-6z"/></svg>')}
.i-chart{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M4 19h16v2H2V3h2v16zm4-2H6v-6h2v6zm5 0h-2V7h2v10zm5 0h-2v-8h2v8z"/></svg>')}
.i-link{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M3.9 12a5 5 0 015-5h4v2h-4a3 3 0 000 6h4v2h-4a5 5 0 01-5-5zm7.1 1h2v-2h-2v2zm4-6h-4V5h4a5 5 0 010 10h-4v-2h4a3 3 0 000-6z"/></svg>')}
.i-layers{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2l9 5-9 5-9-5 9-5zm0 11l8.7-4.8.3.2v3.2L12 16 3 11.6V8.4l.3-.2L12 13zm0 5l9-5v3l-9 5-9-5v-3l9 5z"/></svg>')}
.i-log{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M10 17l1.41-1.41L8.83 13H21v-2H8.83l2.58-2.59L10 7l-7 7 7 7zM4 5h6V3H4a2 2 0 00-2 2v14a2 2 0 002 2h6v-2H4z"/></svg>')}

.remember-me {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #b7c0d1;
  font-size: 14px;
  margin-top: 10px;
}

.remember-me input {
  accent-color: #4f7cff;
}

/* Globalt: bilder ska aldrig kunna spränga layouten */
img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}
/* Gallery thumbnails */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

.gallery-thumb {
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}

.gallery-thumb img {
  width: 100%;
  height: 140px;      /* thumbnail-höjd */
  object-fit: cover;  /* beskär snyggt */
  display: block;
}
.jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.jobs-thumb img {
  height: 100px;
}
.global-progress{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 4px;
  z-index: 99999;
  pointer-events: none;

  /* hidden by default */
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease;
}

.global-progress.is-active{
  opacity: 1;
  transform: translateY(0);
}

.global-progress__fill{
  width: 0%;
  height: 100%;
  /* använd gärna en CSS-variabel om du har theme-färger */
  background: var(--accent, #7aa7ff);
  transition: width .2s ease;
}

/* ---------------------------------
   Sidebar dropdown groups
   --------------------------------- */
.nav-group{display:block;}
.nav-group-toggle{
  width:100%;
  background:transparent;
  cursor:pointer;
  text-align:left;
}
.nav-group-toggle:focus{
  outline:none;
  box-shadow: 0 0 0 4px rgba(45,127,249,.14);
  border-color: rgba(45,127,249,.42);
}
.nav-group-chev{
  margin-left:auto;
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  color: rgba(255,255,255,.70);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.nav-group.open .nav-group-chev{
  transform: rotate(180deg);
  color: rgba(255,255,255,.92);
  background: rgba(45,127,249,.14);
  border-color: rgba(45,127,249,.22);
}
.nav-sub{
  display:none;
  flex-direction:column;
  gap:6px;
  padding: 6px 0 2px;
  margin: 0 6px 2px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.nav-group.open .nav-sub{display:flex;}
.nav-subitem{
  padding: 9px 12px 9px 14px;
  margin-left: 10px;
}
.nav-icon--sub{opacity:.92; transform: scale(.94);}

/* Chevron icon (matches your mask-icon system) */
.i-chevron{--mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6z"/></svg>')}

/* =====================================
   FORCE SIDEBAR FONT (same everywhere)
   ===================================== */
   .sidebar,
   .sidebar button,
   .sidebar input,
   .sidebar select,
   .sidebar textarea,
   .sidebar .brand,
   .sidebar .brand-name,
   .sidebar .nav,
   .sidebar .nav-section,
   .sidebar .nav-item,
   .sidebar .nav-item span,
   .sidebar .nav-group-toggle,
   .sidebar .sidebar-footer,
   .sidebar .sidebar-user,
   .sidebar .sidebar-user .name,
   .sidebar .sidebar-user .role {
     font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif !important;
   }
   
   /* =====================================
   Sidebar typography: force CONSISTENCY
   ===================================== */

/* 1) All sidebar text uses exact same typography */
.sidebar,
.sidebar * {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* 2) Make all text inherit the same font metrics */
.sidebar button,
.sidebar a,
.sidebar input,
.sidebar select,
.sidebar textarea {
  font: inherit !important;              /* <-- this is the big one */
}

/* 3) Set one base size/weight for sidebar */
.sidebar {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* 4) Fine-tune common sidebar parts so nothing “looks different” */
.sidebar .nav-section {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  opacity: .75 !important;
}

.sidebar .nav-item span { 
  font-weight: 600 !important;
}

.sidebar .sidebar-user .name { 
  font-weight: 700 !important;
}

.sidebar .sidebar-user .role {
  font-size: 12px !important;
  font-weight: 600 !important;
  opacity: .75 !important;
}
