 :root{
  --primary:#518ef7;--primary-dark:#316de0;--accent:#0287F0;--danger:#ef4444;--warning:#f59e0b;--dark:#0f172a;--muted:#64748b;--bg:#f4f7fb;--card:#ffffff;--line:#e5e7eb;--shadow:0 20px 45px rgba(15,23,42,.10);--radius:22px;
}
*{box-sizing:border-box}body.modern-page,body.result-page{margin:0;font-family:'Nunito','Segoe UI',Arial,sans-serif;background:radial-gradient(circle at top left,rgba(81,142,247,.18),transparent 32%),linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);color:var(--dark);min-height:100vh}.glass-card{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);border-radius:var(--radius)}.page-shell{padding:28px 16px 44px;max-width:1120px;margin:0 auto}.section-title{text-align:center;margin-bottom:18px}.section-title .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);background:rgba(81,142,247,.1);padding:8px 14px;border-radius:999px}.section-title h1,.section-title h4{font-size:clamp(22px,4vw,34px);font-weight:900;margin:12px 0 6px}.section-title p{margin:0;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px rgba(15,23,42,.06)}.stat-card small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.stat-card strong{font-size:24px;font-weight:900}.chart-card{padding:20px;margin-bottom:18px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.nominee-card{position:relative;overflow:hidden;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 35px rgba(15,23,42,.08)}.nominee-card:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#518ef7,#316de0)}.nominee-top{display:flex;gap:14px;align-items:center}.nominee-img{width:64px;height:64px;object-fit:cover;border-radius:18px;border:3px solid #eef2ff;background:#fff;transition:.25s}.nominee-img:hover{transform:scale(1.08)}.nominee-name{font-weight:900;text-transform:uppercase;margin:0;font-size:15px;line-height:1.25}.nominee-category{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800;margin-top:4px}.id-badge{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;background:#eef5ff;color:var(--primary-dark);font-weight:900;padding:6px 10px;border-radius:999px}.vote-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.vote-pill{border-radius:16px;background:#f8fafc;border:1px solid var(--line);padding:12px}.vote-pill span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}.vote-pill b{font-size:20px}.percent-bar{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:12px}.percent-bar div{height:100%;background:linear-gradient(90deg,#518ef7,#316de0);border-radius:999px}.form-panel{padding:20px;margin-bottom:18px}.modern-select,.modern-input{border-radius:14px;border:1px solid #dbe3ef;padding:13px 14px;width:100%;outline:none}.modern-btn{border:0;border-radius:14px;padding:13px 18px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:900;width:100%;box-shadow:0 12px 24px rgba(81,142,247,.25)}.empty-state{text-align:center;padding:35px 20px;color:var(--muted)}.app-frame{position:fixed;top:112px;left:0;right:0;bottom:0}.app-frame iframe{width:100%;height:100%;border:0;background:transparent}.loader-wrap{position:fixed;top:112px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(248,250,252,.75);z-index:2}.modern-spinner{width:46px;height:46px;border:5px solid #e7f0ff;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header{height:64px;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px rgba(15,23,42,.08);display:flex;align-items:center;gap:12px;padding:0 16px;position:fixed;top:0;left:0;right:0;z-index:20}.header b{font-weight:900;color:var(--dark)}.header__button,.dropbtn{width:42px;height:42px;border:0;border-radius:14px;background:#eef5ff;color:var(--primary)!important}.award-strip{position:fixed;top:64px;left:0;right:0;z-index:19;text-align:center;background:linear-gradient(90deg,#518ef7,#316de0);color:white;padding:12px 15px;font-weight:900}.nav__links{background:#fff!important;box-shadow:var(--shadow)}.nav__link{border-radius:14px;margin:6px 10px}.login-body{min-height:100vh;margin:0;font-family:'Nunito','Segoe UI',Arial,sans-serif;background:linear-gradient(135deg,rgba(15,23,42,.78),rgba(81,142,247,.55)),url('../images/evoteimgback.jpg') center/cover fixed;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:440px;padding:32px;border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(18px)}.brand-logo{width:82px;height:82px;border-radius:24px;object-fit:contain;background:#fff;padding:8px;box-shadow:0 12px 30px rgba(15,23,42,.14)}.login-card h3{font-weight:900;margin:16px 0 6px}.login-card p{color:var(--muted)}.input-group-text{border-radius:16px 0 0 16px!important;border:1px solid #dbe3ef;background:#eef5ff;color:var(--primary)}.login-card .form-control{border-radius:0 16px 16px 0!important;border:1px solid #dbe3ef;padding:13px 14px}.login-btn{border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:14px;color:#fff;font-weight:900;width:100%;box-shadow:0 16px 32px rgba(81,142,247,.28)}.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#f1f5f9;color:#334155;margin:0 4px;text-decoration:none}.alert{border-radius:16px}@media(max-width:720px){.stats-grid{grid-template-columns:1fr}.vote-row{grid-template-columns:1fr}.page-shell{padding:18px 12px 30px}.app-frame,.loader-wrap{top:108px}.login-card{padding:24px}}

/* RobSam checker layout corrections */
.header{
  height:64px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 16px!important;
  gap:12px!important;
  z-index:40!important;
}
.header__title{flex:1!important; padding:0!important; color:var(--dark)!important; line-height:64px!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.header__dropdown{margin-left:auto!important; position:relative!important; overflow:visible!important; float:none!important; display:flex!important; align-items:center!important; justify-content:flex-end!important;}
.header__dropdown .dropbtn{position:static!important; margin:0!important; padding:0!important; display:flex!important; align-items:center!important; justify-content:center!important;}
.header__dropdown .dropdown-content{right:0!important; top:50px!important; left:auto!important; margin:0!important; z-index:60!important; border-radius:12px; overflow:hidden; min-width:180px;}
.header__dropdown:hover .dropdown-content{display:block!important;}

.nav__links{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:250px!important;
  height:100vh!important;
  overflow-y:auto!important;
  transform:translateX(-250px)!important;
  transition:transform .3s ease!important;
  z-index:55!important;
  background:#fff!important;
  box-shadow:none!important;
}
.nav--open .nav__links{transform:translateX(0)!important; box-shadow:0 0 15px rgba(0,0,0,.2)!important;}
.nav__overlay{z-index:50!important;}
.nav__link{font-family:'Times New Roman', Times, serif!important; border-radius:0!important; margin:0!important; color:#000!important; padding:12px 15px!important;}
.nav__link:hover,.nav__link--active{background:#cac5c5!important; color:#0287F0!important;}
.nav__links img{width:100%!important; height:auto!important; border:2px solid #0287F0!important; border-radius:2px!important;}
.nav__section-title{font-family:'Nunito','Segoe UI',Arial,sans-serif!important;}

.app-frame{top:112px!important; left:0!important; right:0!important; bottom:0!important; z-index:1!important;}
.loader-wrap{top:112px!important; left:0!important; right:0!important; bottom:0!important; z-index:2!important;}
main{margin-left:0!important; width:100%!important;}
.result-list-shell{padding-top:0!important;}
.result-search-panel{margin-bottom:18px!important;}
.search-box{position:relative;}
.search-box i{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--primary); z-index:1;}
.search-box .modern-input{padding-left:42px!important;}
@media(max-width:720px){.header__title{font-size:14px!important}.header{height:60px!important}.award-strip{top:60px!important}.app-frame,.loader-wrap{top:104px!important}}

/* =========================================================
   FIXED COLLAPSIBLE SIDEBAR - body follows sidebar
   ========================================================= */
:root{ --sidebar-width:250px; --topbar-height:64px; --award-height:44px; }
body.modern-page{ overflow:hidden; }
.header{
  left:0!important;
  right:0!important;
  width:auto!important;
  transition:left .28s ease!important;
}
.award-strip{
  left:0!important;
  right:0!important;
  width:auto!important;
  transition:left .28s ease!important;
}
.app-frame,
.loader-wrap{
  left:0!important;
  right:0!important;
  width:auto!important;
  transition:left .28s ease!important;
}
.nav__links{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:var(--sidebar-width)!important;
  height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:translateX(calc(-1 * var(--sidebar-width)))!important;
  transition:transform .28s ease!important;
  z-index:70!important;
  background:#fff!important;
  border-right:1px solid rgba(2,135,240,.25)!important;
  box-shadow:0 12px 35px rgba(15,23,42,.18)!important;
  padding-bottom:30px!important;
}
.nav--open .nav__links{
  transform:translateX(0)!important;
}
body.sidebar-open .header,
body.sidebar-open .award-strip,
body.sidebar-open .app-frame,
body.sidebar-open .loader-wrap{
  left:var(--sidebar-width)!important;
}
.nav__overlay{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  background:rgba(15,23,42,.35)!important;
  z-index:60!important;
}
.header__button{
  flex:0 0 42px!important;
}
.header__dropdown{
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding-right:8px!important;
}
.header__dropdown .dropbtn{
  width:42px!important;
  height:42px!important;
}
.header__dropdown .dropdown-content{
  right:8px!important;
  top:52px!important;
}
.nav__links > .mb-4{
  margin:0 0 18px 0!important;
  padding:14px 16px 8px!important;
}
.nav__links img{
  width:100%!important;
  max-height:95px!important;
  object-fit:contain!important;
  background:#fff!important;
}
.nav__section-title{
  margin-left:10px!important;
  margin-right:10px!important;
}
.nav__link{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:48px!important;
  line-height:1.2!important;
}
.nav__link i{
  width:24px!important;
  text-align:center!important;
  flex:0 0 24px!important;
}
@media(max-width:991px){
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:0!important;
  }
  .nav--open .nav__overlay{display:block!important;}
  .nav--open .nav__links{box-shadow:0 20px 55px rgba(15,23,42,.35)!important;}
}

/* =========================================================
   FINAL TOPBAR + RESPONSIVE FIX
   - keeps three dots at far right
   - keeps sidebar fixed/collapsible
   - keeps body content outside sidebar on desktop
   - mobile/tablet responsive
   ========================================================= */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}
body.modern-page{
  min-height:100vh;
}
.header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  height:64px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 72px 0 16px!important;
  z-index:100!important;
  box-sizing:border-box!important;
}
.header__button{
  position:relative!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.header__title{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:calc(100vw - 150px)!important;
  padding:0!important;
  margin:0!important;
  color:var(--dark)!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.header__dropdown{
  position:fixed!important;
  top:11px!important;
  right:16px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  overflow:visible!important;
  z-index:140!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.header__dropdown .dropbtn{
  position:relative!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.header__dropdown .dropdown-content{
  position:absolute!important;
  top:48px!important;
  right:0!important;
  left:auto!important;
  min-width:190px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  z-index:150!important;
}
.award-strip{
  position:fixed!important;
  top:64px!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  min-height:44px!important;
  z-index:90!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.app-frame,
.loader-wrap{
  position:fixed!important;
  top:108px!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.app-frame iframe{
  width:100%!important;
  height:100%!important;
  display:block;
}
body.sidebar-open .header,
body.sidebar-open .award-strip,
body.sidebar-open .app-frame,
body.sidebar-open .loader-wrap{
  left:var(--sidebar-width)!important;
}
body.sidebar-open .header__dropdown{
  right:16px!important;
}
.nav__links{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:var(--sidebar-width)!important;
  max-width:82vw!important;
  height:100vh!important;
  transform:translateX(calc(-1 * var(--sidebar-width)))!important;
  z-index:130!important;
}
.nav--open .nav__links{
  transform:translateX(0)!important;
}
.nav__overlay{
  position:fixed!important;
  inset:0!important;
  z-index:120!important;
}

/* Result iframe pages */
.result-page .page-shell{
  width:100%!important;
  max-width:1180px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.result-page .form-panel .row,
.result-page .form-panel .form-row{
  width:100%!important;
}
.result-page .modern-btn,
.result-page .modern-input,
.result-page .modern-select{
  min-height:48px;
}
.result-grid{
  width:100%!important;
}
.nominee-card{
  min-width:0!important;
}

@media (max-width:991px){
  .header{
    padding:0 68px 0 12px!important;
    height:60px!important;
  }
  .header__button,
  .header__dropdown,
  .header__dropdown .dropbtn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
  .header__dropdown{
    top:10px!important;
    right:12px!important;
  }
  .header__title{
    font-size:15px!important;
    max-width:calc(100vw - 132px)!important;
  }
  .award-strip{
    top:60px!important;
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:14px!important;
  }
  .app-frame,
  .loader-wrap{
    top:102px!important;
  }
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:0!important;
  }
  .nav--open .nav__overlay{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .nav__links{
    width:270px!important;
    max-width:84vw!important;
    transform:translateX(-270px)!important;
  }
}
@media (max-width:576px){
  .header{
    padding-left:8px!important;
    padding-right:58px!important;
  }
  .header__title{
    font-size:13px!important;
    max-width:calc(100vw - 112px)!important;
  }
  .header__button,
  .header__dropdown,
  .header__dropdown .dropbtn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:12px!important;
  }
  .header__dropdown{
    top:11px!important;
    right:8px!important;
  }
  .header__dropdown .dropdown-content{
    right:0!important;
    top:44px!important;
    min-width:170px!important;
  }
  .award-strip b{
    font-size:13px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .result-page .page-shell{
    padding:14px 10px 28px!important;
  }
  .section-title h1,
  .section-title h4{
    font-size:22px!important;
  }
  .section-title p{
    font-size:14px!important;
  }
  .form-panel{
    padding:14px!important;
  }
  .result-grid{
    grid-template-columns:1fr!important;
  }
  .nominee-card{
    padding:14px!important;
    border-radius:18px!important;
  }
  .nominee-top{
    align-items:flex-start!important;
  }
  .nominee-img{
    width:56px!important;
    height:56px!important;
    border-radius:14px!important;
  }
}


/* =========================================================
   FINAL NO-OVERLAP SIDEBAR PATCH
   The sidebar is fixed. On desktop, the header, strip and
   iframe body are resized from the sidebar edge so nothing
   hides under the sidebar. On mobile, sidebar overlays only.
   ========================================================= */
:root{--sidebar-width:250px!important;--header-height-final:64px!important;--strip-height-final:44px!important;}
body.modern-page{overflow:hidden!important;}
.header,
.award-strip,
.app-frame,
.loader-wrap{
  transition:left .28s ease,right .28s ease,width .28s ease!important;
}
.header{
  left:0!important;right:0!important;width:auto!important;max-width:none!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
}
.award-strip{left:0!important;right:0!important;width:auto!important;max-width:none!important;}
.app-frame,.loader-wrap{left:0!important;right:0!important;width:auto!important;max-width:none!important;}
body.sidebar-open .header,
body.sidebar-open .award-strip,
body.sidebar-open .app-frame,
body.sidebar-open .loader-wrap{
  left:var(--sidebar-width)!important;right:0!important;width:auto!important;max-width:none!important;
}
.nav__links{z-index:200!important;left:0!important;top:0!important;width:var(--sidebar-width)!important;max-width:var(--sidebar-width)!important;}
.nav__overlay{display:none!important;}
.header__dropdown{position:absolute!important;right:16px!important;top:11px!important;margin-left:0!important;z-index:260!important;}
.header{padding-right:72px!important;}
.header__title{flex:1 1 auto!important;min-width:0!important;}
@media(max-width:991px){
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{left:0!important;right:0!important;width:auto!important;}
  .nav__links{width:270px!important;max-width:84vw!important;transform:translateX(-270px)!important;}
  .nav--open .nav__links{transform:translateX(0)!important;}
  .nav--open .nav__overlay{display:block!important;visibility:visible!important;opacity:1!important;}
  .header__dropdown{right:12px!important;top:10px!important;}
}
@media(max-width:576px){
  .header__dropdown{right:8px!important;top:11px!important;}
}

/* =========================================================
   MOBILE NO-OVERLAP PATCH
   Desktop was already fixed. This makes mobile/tablet behave
   the same way: when sidebar opens, the topbar, title strip,
   loader and iframe content start after the sidebar instead
   of hiding underneath it.
   ========================================================= */
@media (max-width:991px){
  :root{ --mobile-sidebar-width: min(270px, 84vw); }

  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:var(--mobile-sidebar-width)!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
  }

  body.sidebar-open .header{
    padding-left:10px!important;
    padding-right:58px!important;
  }

  body.sidebar-open .header__title{
    max-width:calc(100vw - var(--mobile-sidebar-width) - 112px)!important;
  }

  body.sidebar-open .header__dropdown{
    right:8px!important;
  }

  .nav--open .nav__overlay{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .nav__links{
    width:var(--mobile-sidebar-width)!important;
    max-width:var(--mobile-sidebar-width)!important;
    transform:translateX(calc(-1 * var(--mobile-sidebar-width)))!important;
  }

  .nav--open .nav__links{
    transform:translateX(0)!important;
  }

  .app-frame iframe{
    width:100%!important;
    max-width:100%!important;
  }
}

@media (max-width:420px){
  :root{ --mobile-sidebar-width: 220px; }

  body.sidebar-open .header__title{
    font-size:12px!important;
    max-width:calc(100vw - 220px - 104px)!important;
  }

  body.sidebar-open .award-strip{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.sidebar-open .award-strip b{
    font-size:11px!important;
  }

  .nav__link{
    font-size:14px!important;
    min-height:44px!important;
    padding:10px 12px!important;
  }
}

/* =========================================================
   TRUE MOBILE PUSH FIX - no overlap on any screen size
   The opened sidebar width is measured in JS and saved as
   --sidebar-push, then the topbar, title strip and iframe are
   moved from that exact edge.
   ========================================================= */
:root{ --sidebar-push:250px; }
html, body{ overflow-x:hidden!important; }
body.modern-page{ overflow:hidden!important; }
.header,.award-strip,.app-frame,.loader-wrap{
  transition:left .28s ease,right .28s ease,width .28s ease!important;
  width:auto!important;
  max-width:none!important;
}
body.sidebar-open .header,
body.sidebar-open .award-strip,
body.sidebar-open .app-frame,
body.sidebar-open .loader-wrap{
  left:var(--sidebar-push)!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
}
.nav__overlay{ display:none!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; }
.nav__links{ width:270px!important; max-width:270px!important; }
@media(max-width:991px){
  .nav__links{ width:68vw!important; max-width:68vw!important; transform:translateX(-68vw)!important; }
  .nav--open .nav__links{ transform:translateX(0)!important; }
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:var(--sidebar-push)!important;
    right:0!important;
    width:auto!important;
  }
  body.sidebar-open .header__title{ max-width:calc(100vw - var(--sidebar-push) - 105px)!important; }
  body.sidebar-open .header__dropdown{ right:8px!important; }
  body.sidebar-open .award-strip b{ max-width:calc(100vw - var(--sidebar-push) - 20px)!important; }
}
@media(max-width:480px){
  .nav__links{ width:72vw!important; max-width:72vw!important; transform:translateX(-72vw)!important; }
  .nav--open .nav__links{ transform:translateX(0)!important; }
}

/* =========================================================
   FINAL MOBILE SLIM SIDEBAR PATCH
   Keep desktop unchanged. On mobile only, reduce sidebar to
   about half the previous width and resize menu text/icons.
   Content still pushes from the exact sidebar edge via JS.
   ========================================================= */
@media (max-width: 991px){
  .nav__links{
    width:145px!important;
    max-width:145px!important;
    min-width:145px!important;
    transform:translateX(-145px)!important;
    overflow-x:hidden!important;
  }

  .nav--open .nav__links{
    transform:translateX(0)!important;
  }

  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:145px!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
  }

  body.sidebar-open .header{
    padding-left:6px!important;
    padding-right:42px!important;
  }

  body.sidebar-open .header__title{
    font-size:12px!important;
    max-width:calc(100vw - 145px - 82px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.sidebar-open .header__dropdown{
    right:4px!important;
  }

  body.sidebar-open .award-strip{
    padding-left:6px!important;
    padding-right:6px!important;
  }

  body.sidebar-open .award-strip b{
    font-size:11px!important;
    max-width:calc(100vw - 145px - 12px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .nav__group-title,
  .nav__section-title,
  .nav__heading,
  .nav__links h4,
  .nav__links h5{
    font-size:11px!important;
    letter-spacing:.6px!important;
    padding:10px 8px!important;
    line-height:1.2!important;
  }

  .nav__link,
  .nav__links a,
  .nav__links li,
  .nav__links span{
    font-size:11px!important;
    line-height:1.25!important;
  }

  .nav__link{
    min-height:38px!important;
    padding:8px 7px!important;
    gap:6px!important;
  }

  .nav__link i,
  .nav__links i,
  .nav__link svg{
    font-size:12px!important;
    width:16px!important;
    min-width:16px!important;
    margin-right:4px!important;
  }

  .nav__links img{
    max-width:42px!important;
    height:auto!important;
  }

  .nav__links *{
    white-space:normal!important;
    word-break:normal!important;
  }
}

@media (max-width: 420px){
  .nav__links{
    width:135px!important;
    max-width:135px!important;
    min-width:135px!important;
    transform:translateX(-135px)!important;
  }

  .nav--open .nav__links{
    transform:translateX(0)!important;
  }

  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{
    left:135px!important;
  }

  body.sidebar-open .header__title{
    max-width:calc(100vw - 135px - 78px)!important;
  }

  body.sidebar-open .award-strip b{
    max-width:calc(100vw - 135px - 12px)!important;
  }

  .nav__link,
  .nav__links a,
  .nav__links li,
  .nav__links span{
    font-size:10px!important;
  }

  .nav__link{
    padding:8px 6px!important;
  }
}


/* =========================================================
   RobSam emergency CSS repair - 2026-06-22
   Fixes sidebar menu becoming huge/underlined when CDN/CSS order changes.
   ========================================================= */
body.modern-page{
  margin:0!important;
  font-family:'Nunito','Segoe UI',Arial,sans-serif!important;
  overflow:hidden!important;
}
.nav,
.nav__links,
.nav__links *{
  box-sizing:border-box!important;
}
.nav__links{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:270px!important;
  max-width:270px!important;
  height:100vh!important;
  padding:18px 14px 28px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border-right:1px solid rgba(81,142,247,.25)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.18)!important;
  transform:translateX(-270px)!important;
  transition:transform .28s ease!important;
  z-index:100000!important;
}
.nav--open .nav__links{
  transform:translateX(0)!important;
}
.nav__links .mb-4{
  margin:0 0 18px!important;
  padding:0!important;
}
.nav__links img{
  display:block!important;
  width:100%!important;
  max-width:220px!important;
  height:auto!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border:3px solid #518ef7!important;
  border-radius:6px!important;
}
.nav__section-title{
  display:block!important;
  font-family:'Nunito','Segoe UI',Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:1.2px!important;
  text-transform:uppercase!important;
  color:#518ef7!important;
  background:#f4f6fb!important;
  border-left:4px solid #518ef7!important;
  border-right:4px solid #518ef7!important;
  border-radius:8px!important;
  padding:12px 14px!important;
  margin:18px 0 10px!important;
}
.nav__link,
.nav__links a.nav__link{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:46px!important;
  padding:11px 12px!important;
  margin:4px 0!important;
  border-radius:12px!important;
  font-family:'Nunito','Segoe UI',Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#0f172a!important;
  text-decoration:none!important;
  background:transparent!important;
}
.nav__link:hover,
.nav__link:focus,
.nav__link--active{
  background:#eef5ff!important;
  color:#316de0!important;
  text-decoration:none!important;
}
.nav__link i,
.nav__links a.nav__link i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  min-width:22px!important;
  margin:0!important;
  font-size:17px!important;
  color:#0f172a!important;
  line-height:1!important;
}
.nav__link:hover i,
.nav__link:focus i,
.nav__link--active i{
  color:#316de0!important;
}
.nav__links hr{
  margin:18px 0!important;
  border:0!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#b7cdf8,transparent)!important;
}
body.sidebar-open .header,
body.sidebar-open .award-strip,
body.sidebar-open .app-frame,
body.sidebar-open .loader-wrap{
  left:270px!important;
}
@media(max-width:768px){
  .nav__links{
    width:230px!important;
    max-width:230px!important;
    transform:translateX(-230px)!important;
    padding:14px 12px 24px!important;
  }
  .nav--open .nav__links{transform:translateX(0)!important;}
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{left:230px!important;}
  .nav__links img{max-width:180px!important;}
  .nav__section-title{font-size:12px!important;padding:10px 12px!important;}
  .nav__link,.nav__links a.nav__link{font-size:13px!important;min-height:42px!important;padding:10px!important;gap:10px!important;}
  .nav__link i,.nav__links a.nav__link i{font-size:15px!important;width:20px!important;min-width:20px!important;}
}
@media(max-width:430px){
  .nav__links{
    width:185px!important;
    max-width:185px!important;
    transform:translateX(-185px)!important;
  }
  .nav--open .nav__links{transform:translateX(0)!important;}
  body.sidebar-open .header,
  body.sidebar-open .award-strip,
  body.sidebar-open .app-frame,
  body.sidebar-open .loader-wrap{left:185px!important;}
  .nav__links img{max-width:150px!important;}
  .nav__section-title{font-size:11px!important;padding:9px 10px!important;letter-spacing:.6px!important;}
  .nav__link,.nav__links a.nav__link{font-size:12px!important;line-height:1.2!important;min-height:40px!important;padding:9px 8px!important;gap:8px!important;}
  .nav__link i,.nav__links a.nav__link i{font-size:14px!important;width:18px!important;min-width:18px!important;}
}
