:root{
  --blue:#29ABE2;
  --blue-dk:#1A8BBF;
  --blue-lt:#E8F6FD;
  --blue-xl:#F2FAFE;
  --green:#39B54A;
  --green-dk:#2A8A38;
  --green-lt:#EDF7EE;
  --red:#EF4136;
  --red-dk:#C93228;
  --red-lt:#FEF0EF;
  --amber:#F5A623;
  --amber-lt:#FFF8ED;
  --text:#1A2332;
  --text2:#4A6070;
  --muted:#8FAABB;
  --bg:#F0F4F8;
  --bg2:#F8FBFD;
  --card:#FFFFFF;
  --card2:#FBFDFF;
  --border:#DDE6EF;
  --border2:#E8EEF5;
  --soft:#F8FAFC;
  --input-bg:#FFFFFF;
  --sb:#07090F;
  --sb2:#0D1520;
  --sb3:#101A28;
  --sb-border:#1A2840;
  --shadow-sm:0 4px 12px rgba(26,35,50,.06);
  --shadow:0 10px 28px rgba(26,35,50,.10);
  --shadow-lg:0 20px 50px rgba(26,35,50,.14);
  --radius:16px;
  --radius-sm:12px;
  --radius-lg:22px;
  --grad-brand:linear-gradient(135deg,#29ABE2 0%,#39B54A 100%);
  --grad-soft:linear-gradient(180deg,#FFFFFF 0%,#F7FBFE 100%);
}

html[data-theme="dark"]{
  --text:#E8EDF5;
  --text2:#A9BBCB;
  --muted:#7D93A7;
  --bg:#07090F;
  --bg2:#0B111B;
  --card:#0D1520;
  --card2:#101A28;
  --border:#1A2840;
  --border2:#223451;
  --soft:#101A28;
  --input-bg:#0F1724;
  --shadow-sm:0 6px 14px rgba(0,0,0,.18);
  --shadow:0 14px 34px rgba(0,0,0,.28);
  --shadow-lg:0 24px 60px rgba(0,0,0,.40);
  --grad-soft:linear-gradient(180deg,#0D1520 0%,#101A28 100%);
}

*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}
*::-webkit-scrollbar-track{background:transparent}

html,body{
  background:
    radial-gradient(circle at top right, rgba(41,171,226,.10), transparent 26%),
    radial-gradient(circle at top left, rgba(57,181,74,.08), transparent 22%),
    var(--bg) !important;
  color:var(--text) !important;
}

body{
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,h5,h6{
  color:var(--text)!important;
  letter-spacing:-.03em;
}

p,small,label,.foot,.subtitle,.helper,.subtext{
  color:var(--text2)!important;
}

a{color:var(--blue)!important}

input,select,textarea{
  background:var(--input-bg)!important;
  color:var(--text)!important;
  border:1.5px solid var(--border)!important;
  border-radius:14px!important;
  outline:none!important;
  box-shadow:none!important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease!important;
}

input::placeholder,textarea::placeholder{color:var(--muted)!important}

input:focus,select:focus,textarea:focus{
  border-color:var(--blue)!important;
  box-shadow:0 0 0 4px rgba(41,171,226,.14)!important;
}

button:not(.tb-btn):not(.tb-tog):not(.mc):not(.ub),
.btn,[type="submit"]{
  background:var(--grad-brand)!important;
  color:#fff!important;
  border:none!important;
  border-radius:14px!important;
  box-shadow:var(--shadow)!important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease!important;
}

button:not(.tb-btn):not(.tb-tog):not(.mc):not(.ub):hover,
.btn:hover,[type="submit"]:hover{
  transform:translateY(-1px)!important;
  box-shadow:var(--shadow-lg)!important;
  opacity:.96!important;
}

button:disabled,.btn:disabled,[type="submit"]:disabled{
  opacity:.6!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

.tb-btn,.tb-tog,.mc,.ub{
  background:transparent!important;
  color:var(--text2)!important;
  border:1.5px solid var(--border)!important;
  box-shadow:none!important;
  border-radius:12px!important;
}

.tb-btn:hover,.tb-tog:hover{
  background:var(--blue-lt)!important;
  color:var(--blue)!important;
  border-color:var(--blue)!important;
}

.card,.sc,.qa,.social-card,.kc,.ki,.md,.v360-card,.topbar,.tb-user,.stat-mini,.tk-panel,.tk-modal-box{
  background:var(--grad-soft)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
  border-radius:16px!important;
}

.card:hover,.sc:hover,.social-card:hover,.qa:hover,.ki:hover{
  box-shadow:var(--shadow-lg)!important;
}

.field input,.field select,.field textarea,.search-bar input,.search-bar select{
  background:var(--input-bg)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
}

table,th,td{border-color:var(--border)!important}
th{
  background:var(--soft)!important;
  color:var(--muted)!important;
}
tr:hover td{background:var(--soft)!important}

.msg.err,.al-e{
  background:var(--red-lt)!important;
  color:#B02A20!important;
  border:1px solid rgba(239,65,54,.24)!important;
}
.msg.ok,.al-s{
  background:var(--green-lt)!important;
  color:#1E6628!important;
  border:1px solid rgba(57,181,74,.24)!important;
}
.msg.info,.al-i{
  background:var(--blue-lt)!important;
  color:var(--blue-dk)!important;
  border:1px solid rgba(41,171,226,.24)!important;
}

.sb,.sidebar{
  background:
    radial-gradient(circle at top, rgba(41,171,226,.10), transparent 20%),
    linear-gradient(180deg,var(--sb) 0%,var(--sb2) 100%) !important;
  color:#E8EDF5!important;
  border-color:var(--sb-border)!important;
}
.sb-logo img,.logo img{
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.12));
}
.sb-logo,.topbar,.ch,.mh,.tk-panel-header,.tk-modal-header{
  backdrop-filter:saturate(140%) blur(8px);
}

.ni:hover,.ni.on,.si:hover,.si.on,.social-card.on{
  box-shadow:inset 0 0 0 1px rgba(41,171,226,.20)!important;
}

.topbar{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
}

.logo{text-align:center!important}
.logo img{max-width:180px!important;height:auto!important}

.card,.md,.v360-card,.sc,.kc,.ki{overflow:hidden!important}

.sc-ico,.ic-b,.ic-g,.ic-r,.ic-a,.ic-p,.tb-uav,.ua{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(0,0,0,.08)!important;
}

.bx,.ni-badge,.kn{
  border-radius:999px!important;
}

#dfc-theme-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:var(--grad-brand)!important;
  color:#041018!important;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 16px 36px rgba(0,0,0,.24)!important;
}

#dfc-theme-toggle:hover{
  transform:translateY(-1px) scale(1.02)!important;
}

@media (max-width:920px){
  .g3,.sg-4,.sg-5,.kb,.v360{grid-template-columns:1fr 1fr!important}
}
@media (max-width:640px){
  .g2,.g3,.fg-2,.fg-3,.sg-4,.sg-5,.kb,.v360{grid-template-columns:1fr!important}
  #dfc-theme-toggle{right:12px;bottom:12px;width:42px;height:42px}
  body{padding-left:12px!important;padding-right:12px!important}
}
