:root{
  --su-bg:#06111b;
  --su-panel:#0d1c2b;
  --su-panel-2:#12283b;
  --su-border:rgba(255,255,255,.08);
  --su-border-strong:rgba(255,255,255,.14);
  --su-text:#edf6ff;
  --su-muted:#a8bacd;
  --su-blue:#60a5fa;
  --su-pink:#f0184f;
  --su-shadow:0 20px 55px rgba(0,0,0,.22);
  --su-radius:22px;
}
*{box-sizing:border-box}
html{background:var(--su-bg)}
body{
  margin:0!important;
  background:
    radial-gradient(circle at 20% 0%, rgba(96,165,250,.14), transparent 30%),
    radial-gradient(circle at 85% 15%, rgba(240,24,79,.12), transparent 28%),
    var(--su-bg)!important;
  color:var(--su-text)!important;
  font-family:Inter,Arial,sans-serif!important;
  min-height:100vh;
}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

/* unified top header */
.v4Top.suTop{
  height:58px!important;
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  background:rgba(6,17,27,.92)!important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--su-border)!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:0 14px!important;
  box-shadow:none!important;
}
.suMenuBtn,.suIconBtn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:13px!important;
  background:#102131!important;
  color:#fff!important;
  border:0!important;
  display:grid!important;
  place-items:center!important;
}
.suBrand{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:270px!important;
  text-decoration:none!important;
}
.suBrandMark{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  background:var(--su-pink)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
}
.suBrand b{font-size:21px!important;line-height:1!important;color:#fff!important}
.suBrand small{display:block!important;color:#b8c6d6!important;font-size:10px!important;font-weight:800!important;margin-top:2px!important}
.suNav{
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1!important;
  overflow:visible!important;
}
.suNav button{
  background:transparent!important;
  border:0!important;
  color:#d6e2ef!important;
  font-weight:850!important;
  font-size:14px!important;
  padding:8px 4px!important;
}
.suNav button:hover{color:#fff!important}
.suMore{position:relative}
.suMoreMenu{
  position:absolute;
  right:0;
  top:36px;
  z-index:200;
  width:230px;
  background:var(--su-panel);
  border:1px solid var(--su-border-strong);
  border-radius:16px;
  padding:8px;
  display:grid;
  gap:2px;
  box-shadow:0 25px 80px rgba(0,0,0,.42);
}
.suMoreMenu a{
  display:block;
  padding:11px 12px;
  border-radius:12px;
  color:#dbeafe;
  text-decoration:none;
  font-weight:850;
}
.suMoreMenu a:hover{background:#14283b}
.suUser{display:flex!important;align-items:center!important;gap:8px!important}
.suWriteBtn{
  background:var(--su-pink)!important;
  color:#fff!important;
  border-radius:13px!important;
  border:0!important;
  padding:10px 14px!important;
  font-weight:1000!important;
}

/* drawer + search */
.suDrawer{position:fixed;left:-320px;top:0;bottom:0;width:310px;z-index:130;background:#0b1a28;border-right:1px solid var(--su-border-strong);box-shadow:20px 0 60px rgba(0,0,0,.35);transition:.25s;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.suDrawer.open{left:0}
.suDrawerHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.suDrawerHead button{background:#102131;color:#fff;border:0;border-radius:12px;width:38px;height:38px;font-size:26px}
.suDrawer nav{display:grid;gap:6px}
.suDrawer a{padding:13px 14px;border-radius:14px;font-weight:850;color:#d8e5f4;text-decoration:none}
.suDrawer a:hover{background:linear-gradient(90deg,var(--su-pink),#861b41);color:#fff}
.suDrawerShade{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:120}
.suSearchOverlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:150;display:grid;place-items:start center;padding-top:100px}
.suSearchModal{width:min(760px,92vw);background:var(--su-panel);border:1px solid var(--su-border-strong);border-radius:26px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.55);position:relative}
.suSearchClose{position:absolute;right:18px;top:14px;background:transparent;color:#fff;border:0;font-size:34px}
.suSearchModal h2{margin:0 0 14px;font-size:30px}
.suSearchModal input{width:100%;border:1px solid var(--su-border-strong);background:#07131f;color:#fff;border-radius:18px;padding:18px;font-size:20px}
.suQuickTags{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.suQuickTags button{background:#14283b;color:#dbeafe;border:0;border-radius:999px;padding:10px 14px}

/* simple header */
.suSimpleTop{
  height:62px!important;
  background:rgba(6,17,27,.92)!important;
  border-bottom:1px solid var(--su-border)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 18px!important;
}
.suSimpleBrand,.suBackLink{color:#fff!important;text-decoration:none!important}
.suBackLink{background:#102131;border-radius:14px;padding:10px 14px;font-weight:900}

/* page shells */
main:not(.mainCol){
  max-width:1180px;
  margin:0 auto;
  padding:18px;
}
main > h1:first-child{
  font-size:42px!important;
  letter-spacing:-.04em;
  margin:14px 0 18px!important;
}

/* convert old section heroes into modern cards */
[class$="Hero"], .jobsHero, .ridesHero, .realtyHero, .marketHero, .eventsHero, .tourismHero, .musicHero, .datingHero, .directoryHero, .videosHero, .mapHero, .searchHero, .profileHero{
  background:linear-gradient(135deg,#0d1c2b,#142c3f)!important;
  border:1px solid var(--su-border)!important;
  border-radius:26px!important;
  padding:24px!important;
  box-shadow:var(--su-shadow)!important;
  color:var(--su-text)!important;
}
[class$="Hero"] h1, .jobsHero h1, .ridesHero h1, .realtyHero h1, .marketHero h1, .eventsHero h1, .tourismHero h1, .musicHero h1, .datingHero h1, .directoryHero h1, .videosHero h1, .mapHero h1, .searchHero h1{
  font-size:42px!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  margin:6px 0 8px!important;
}
[class$="Hero"] p, .jobsHero p, .ridesHero p, .realtyHero p, .marketHero p, .eventsHero p, .tourismHero p, .musicHero p, .datingHero p, .directoryHero p, .videosHero p, .mapHero p, .searchHero p{
  color:#b8c6d6!important;
  font-size:18px!important;
}
.kicker{
  color:var(--su-blue)!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-size:12px!important;
}

/* common cards */
section:not(.todayHero):not(.lifeCenter):not(.feedCard):not(.forYouBlock):not(.nearBlock):not(.discussCard):not([class$="Hero"]),
.card, .rightCard, .jobForm, .rideForm, .marketForm, .eventForm, .tourismForm, .musicForm, .datingForm, .realtyForm,
.topicCard, .postCard, .itemCard, .resultCard, .profileCard, .messagePanel, .chatPanel{
  background:rgba(13,28,43,.88)!important;
  border:1px solid var(--su-border)!important;
  border-radius:var(--su-radius)!important;
  box-shadow:var(--su-shadow)!important;
  color:var(--su-text)!important;
}

/* internal grids spacing */
[class*="Page"]{display:grid;gap:1px}
[class*="Grid"]{gap:12px!important}
section{margin-bottom:14px}

/* forms */
input,textarea,select{
  background:#07131f!important;
  color:#fff!important;
  border:1px solid var(--su-border-strong)!important;
  border-radius:14px!important;
  padding:12px 13px!important;
}
input::placeholder,textarea::placeholder{color:#7f91a7!important}
textarea{min-height:110px}
label{color:#dbeafe}

/* buttons */
button, .primaryBtn, .heroButtons button, form button{
  border-radius:14px!important;
}
button:not(.suMenuBtn):not(.suIconBtn):not(.suSearchClose):not(.suDrawerHead button):not(.suNav button):not(.notifyBtn):not(.suWriteBtn){
  background:#132638;
  color:#fff;
  border:1px solid var(--su-border);
  font-weight:900;
}
button:not(.suMenuBtn):not(.suIconBtn):not(.suSearchClose):not(.suDrawerHead button):not(.suNav button):not(.notifyBtn):not(.suWriteBtn):hover{
  background:#17314a;
}
.heroButtons button:first-child, .primaryBtn, form button[type="submit"], .jobForm button:last-child, .rideForm button:last-child{
  background:var(--su-pink)!important;
  color:#fff!important;
  border:0!important;
}

/* tables */
table{
  width:100%;
  border-collapse:collapse;
  background:rgba(13,28,43,.88);
  border-radius:18px;
  overflow:hidden;
}
th,td{border-bottom:1px solid var(--su-border);padding:12px;text-align:left}
th{color:#dbeafe;background:#102131}

/* notifications panel align */
.notificationsPanel{
  background:#0d1c2b!important;
  border:1px solid var(--su-border-strong)!important;
  border-radius:18px!important;
  box-shadow:0 25px 80px rgba(0,0,0,.45)!important;
  color:#fff!important;
}

/* auth box from old JS */
#authBox button{
  background:#102131!important;
  color:#fff!important;
  border:0!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  font-weight:900!important;
}

/* scrollbars */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#1d354b;border-radius:999px}
::-webkit-scrollbar-track{background:#07131f}

@media(max-width:1100px){
  .suNav{display:none!important}
  .suBrand{min-width:0!important}
  .suWriteBtn{display:none!important}
}
@media(max-width:760px){
  main:not(.mainCol){padding:10px}
  .suBrand small{display:none!important}
  .suBrand b{font-size:18px!important}
  .suUser{gap:6px!important}
  [class$="Hero"] h1, .jobsHero h1, .ridesHero h1, .realtyHero h1, .marketHero h1, .eventsHero h1, .tourismHero h1, .musicHero h1, .datingHero h1, .directoryHero h1, .videosHero h1, .mapHero h1, .searchHero h1{
    font-size:30px!important;
  }
}
