/* Wiantex UI v3 — controlled refresh, no backend or markup contract changes. */
:root{
  --ui-bg: #070b18;
  --ui-panel: #0d1426;
  --ui-panel-2: #111a31;
  --ui-line: rgba(148,163,184,.16);
  --ui-line-strong: rgba(148,163,184,.24);
  --ui-text: #f6f7fb;
  --ui-muted: #8f9ab3;
  --ui-purple: #7c5cff;
  --ui-blue: #3b82f6;
  --ui-radius-sm: 11px;
  --ui-radius: 15px;
  --ui-radius-lg: 18px;
  --ui-max: 1520px;
}

html{scroll-behavior:smooth;}
body.ui-v2{
  background:var(--bg-0,#070b18);
  color:var(--text-0,#f6f7fb);
  -webkit-font-smoothing:antialiased;
}
body.ui-v2 .app{min-height:100dvh;}
body.ui-v2 .main{min-width:0;}
body.ui-v2 .content-wrap{
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:22px clamp(14px,2.1vw,30px) 42px;
}
body.ui-v2 .content-grid{width:100%;max-width:var(--ui-max);margin:0 auto;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:22px;}
body.ui-v2 .main-col{min-width:0;width:100%;}
body.ui-v2 .right-panel{min-width:0;}

/* Global surfaces */
body.ui-v2 .card{
  background:linear-gradient(180deg,rgba(17,25,47,.96),rgba(11,17,33,.97));
  border:1px solid var(--ui-line);
  border-radius:var(--ui-radius);
  box-shadow:0 8px 26px rgba(0,0,0,.18);
}
body.ui-v2 .card:hover{border-color:var(--ui-line-strong);}
body.ui-v2 .section-head{margin:0 0 13px;padding:0;align-items:flex-end;}
body.ui-v2 .section-head h2{font-size:18px;letter-spacing:-.02em;gap:8px;}
body.ui-v2 .section-head p{margin-top:4px;font-size:12.5px;color:var(--ui-muted);}
body.ui-v2 .section-link{font-size:12px;}
body.ui-v2 .btn{min-height:40px;border-radius:11px;padding:9px 14px;font-size:13px;font-weight:700;}
body.ui-v2 .btn-primary{background:linear-gradient(135deg,var(--purple,#7c5cff),var(--blue,#3b82f6));box-shadow:0 8px 18px rgba(79,70,229,.18);}
body.ui-v2 .btn-ghost{background:rgba(255,255,255,.025);border:1px solid var(--ui-line);}
body.ui-v2 .input,body.ui-v2 select,body.ui-v2 textarea{
  width:100%;min-height:42px;border:1px solid var(--ui-line);border-radius:11px;background:rgba(255,255,255,.025);color:var(--ui-text);outline:none;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
body.ui-v2 .input:focus,body.ui-v2 select:focus,body.ui-v2 textarea:focus{border-color:rgba(124,92,255,.55);box-shadow:0 0 0 3px rgba(124,92,255,.10);background:rgba(255,255,255,.035);}
body.ui-v2 .field label{font-size:12px;font-weight:700;color:#bcc5d7;}
body.ui-v2 .alert{border-radius:11px;}

/* Navigation */
body.ui-v2 .sidebar{
  width:var(--sidebar-w);
  padding:17px 12px;
  gap:18px;
  background:#080d1b;
  border-right:1px solid var(--ui-line);
}
body.ui-v2 .brand{padding:3px 8px 8px;}
body.ui-v2 .brand-text strong{font-size:14px;}
body.ui-v2 .brand-text span{font-size:10px;}
body.ui-v2 .nav-group{gap:4px;}
body.ui-v2 .nav-label{padding:10px 10px 6px;font-size:9px;letter-spacing:.16em;color:#66728d;}
body.ui-v2 .nav-item{min-height:40px;padding:9px 10px;border-radius:10px;font-size:13px;}
body.ui-v2 .nav-item.active{background:linear-gradient(90deg,rgba(124,92,255,.18),rgba(124,92,255,.035));box-shadow:inset 2px 0 0 var(--purple-soft,#a78bfa);}
body.ui-v2 .navbar{
  height:64px;padding:10px clamp(14px,2vw,28px);background:#080d1b;border-bottom:1px solid var(--ui-line);
}
body.ui-v2 .search-box{height:42px;max-width:560px;border-radius:12px;border:1px solid var(--ui-line);background:rgba(255,255,255,.025);}
body.ui-v2 .icon-btn{width:42px;height:42px;border-radius:12px;border-color:var(--ui-line);}
body.ui-v2 .profile-trigger{padding:4px 6px;border:1px solid var(--ui-line);background:rgba(255,255,255,.02);}

/* Home / forum */
body.ui-v2 .hero{
  max-width:var(--ui-max);margin:0 auto 22px;padding:25px 26px;border-radius:var(--ui-radius-lg);
  background:linear-gradient(135deg,rgba(24,34,64,.98),rgba(13,20,40,.98));
  border:1px solid rgba(124,92,255,.16);box-shadow:0 14px 34px rgba(0,0,0,.18);
}
body.ui-v2 .hero h1{font-size:27px;line-height:1.2;letter-spacing:-.035em;}
body.ui-v2 .hero p{max-width:620px;margin-top:8px;color:#9ba7bf;font-size:13.5px;}
body.ui-v2 .hero-stats{display:flex;gap:28px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);}
body.ui-v2 .hero-stat strong{font-size:21px;}
body.ui-v2 .hero-stat span{font-size:11px;color:var(--ui-muted);}
body.ui-v2 .topic-list{gap:8px;}
body.ui-v2 .topic-card{border-radius:13px;background:#0d1427;border:1px solid var(--ui-line);transition:transform .14s,border-color .14s,background .14s;}
body.ui-v2 .topic-card:hover{transform:translateY(-1px);background:#101a31;border-color:var(--ui-line-strong);}

/* Profile */
body.ui-v2 .profile-hero{border-radius:var(--ui-radius-lg);background:#0d1427;border:1px solid var(--ui-line);}
body.ui-v2 .profile-banner{height:190px;}
body.ui-v2 .profile-main-avatar{padding-left:18px;}
body.ui-v2 .profile-main-avatar .avatar-frame-wrap{border:4px solid #0d1427;box-shadow:0 8px 24px rgba(0,0,0,.28);}
body.ui-v2 .profile-presence{font-weight:700;}

/* Messages */
body.ui-v2 .messages-shell{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:590px;overflow:hidden;}
body.ui-v2 .conv-list{min-width:0;border-right:1px solid var(--ui-line);background:rgba(8,13,26,.74);padding:8px;overflow:auto;}
body.ui-v2 .conv-list-item{padding:10px;border-radius:11px;gap:10px;border:1px solid transparent;}
body.ui-v2 .conv-list-item:hover{background:rgba(124,92,255,.055);border-color:var(--ui-line);}
body.ui-v2 .conv-list-item.active{background:rgba(124,92,255,.10);border-color:rgba(124,92,255,.26);}
body.ui-v2 .conv-chat{min-width:0;background:#0a1020;display:flex;flex-direction:column;}
body.ui-v2 .conv-chat-header{min-height:60px;padding:10px 14px;border-bottom:1px solid var(--ui-line);background:rgba(10,16,32,.94);display:flex;align-items:center;gap:9px;}
body.ui-v2 .conv-chat-body{padding:18px 18px 10px;overflow:auto;flex:1;min-height:0;}
body.ui-v2 .msg-row{max-width:min(78%,760px);margin-bottom:8px;}
body.ui-v2 .msg-bubble{padding:10px 12px;border-radius:15px;border:1px solid var(--ui-line);line-height:1.48;}
body.ui-v2 .conv-chat-input{padding:10px 12px;border-top:1px solid var(--ui-line);background:#080d1b;}
body.ui-v2 .msg-composer-wrap{border-radius:12px;}

/* Admin refresh — shared across dashboard, users, moderation, badges, roles, settings, reports, logs, support and theme screens */
body.ui-v2.admin-page .content-wrap{max-width:1600px;}
body.ui-v2.admin-page .section-head{padding-bottom:12px;border-bottom:1px solid var(--ui-line);}
body.ui-v2.admin-page .section-head h2{font-size:19px;}
body.ui-v2.admin-page .admin-nav-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin-bottom:10px;}
body.ui-v2.admin-page .admin-nav-link{
  min-height:44px;padding:8px 10px;border-radius:11px;border:1px solid var(--ui-line);background:#0c1324;color:#bdc6d8;font-size:11.5px;font-weight:800;
}
body.ui-v2.admin-page .admin-nav-link.active{background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(59,130,246,.07));border-color:rgba(124,92,255,.35);color:#fff;}
body.ui-v2.admin-page .admin-secondary-links{gap:7px;margin-bottom:16px;padding:0 0 14px;border-bottom:1px solid var(--ui-line);}
body.ui-v2.admin-page .admin-secondary-links a{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.018);border:1px solid var(--ui-line);}
body.ui-v2.admin-page .admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;}
body.ui-v2.admin-page .admin-kpi{min-height:92px;padding:16px;display:flex;align-items:center;gap:12px;}
body.ui-v2.admin-page .admin-kpi-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,rgba(124,92,255,.17),rgba(59,130,246,.10));border:1px solid rgba(124,92,255,.18);}
body.ui-v2.admin-page .admin-kpi strong{display:block;font-size:22px;line-height:1.05;}
body.ui-v2.admin-page .admin-kpi span{display:block;margin-top:4px;font-size:11px;color:var(--ui-muted);}
body.ui-v2.admin-page .admin-card{padding:16px;}
body.ui-v2.admin-page .admin-table-wrap{border-radius:12px;border:1px solid var(--ui-line);background:#0b1221;overflow:auto;}
body.ui-v2.admin-page .admin-table{min-width:760px;}
body.ui-v2.admin-page .admin-table th{padding:12px 14px;background:#10182b;color:#8793ad;font-size:10.5px;letter-spacing:.06em;}
body.ui-v2.admin-page .admin-table td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.08);}
body.ui-v2.admin-page .admin-table tr:last-child td{border-bottom:0;}
body.ui-v2.admin-page .admin-table tbody tr:hover td{background:rgba(124,92,255,.035);}
body.ui-v2.admin-page .role-card,body.ui-v2.admin-page .permission-card{border-radius:13px;border:1px solid var(--ui-line);background:#0c1324;}
body.ui-v2.admin-page .field{margin-bottom:13px;}
body.ui-v2.admin-page textarea.input{min-height:120px;}
body.ui-v2.admin-page .badge{font-size:10.5px;border-radius:999px;}
body.ui-v2.admin-page .pagination a,body.ui-v2.admin-page .pagination span{background:#0c1324;border-color:var(--ui-line);}
body.ui-v2.admin-page .empty-state{background:#0c1324;border:1px dashed var(--ui-line);border-radius:13px;}

/* Mobile: preserve the Wiantex mobile pattern while making every surface full width */
@media (max-width:900px){
  body.ui-v2 .content-wrap{padding:14px 14px calc(92px + env(safe-area-inset-bottom,0px));}
  body.ui-v2 .content-grid{display:block;width:100%;}
  body.ui-v2 .right-panel{margin-top:16px;}
  body.ui-v2 .hero{width:100%;padding:20px;margin-bottom:18px;}
  body.ui-v2 .hero h1{font-size:24px;}
  body.ui-v2 .hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  body.ui-v2 .messages-shell{grid-template-columns:1fr;min-height:calc(100dvh - 146px);border-radius:14px;}
  body.ui-v2.chat-list .messages-shell{min-height:0;}
  body.ui-v2 .conv-list{border-right:0;border-bottom:1px solid var(--ui-line);max-height:46dvh;}
  body.ui-v2 .conv-chat{min-height:54dvh;}
  body.ui-v2 .conv-chat-body{padding:14px 12px 8px;}
  body.ui-v2 .msg-row{max-width:88%;}
  body.ui-v2 .conv-chat-input{position:sticky;bottom:0;z-index:4;}
  body.ui-v2.admin-page .admin-nav-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.ui-v2.admin-page .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ui-v2.admin-page .admin-secondary-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ui-v2.admin-page .admin-secondary-links a{text-align:center;}
}
@media (max-width:560px){
  body.ui-v2 .content-wrap{padding-left:10px;padding-right:10px;}
  body.ui-v2 .hero{padding:18px;}
  body.ui-v2 .hero h1{font-size:22px;}
  body.ui-v2 .hero-stats{grid-template-columns:repeat(2,1fr);}
  body.ui-v2 .topic-card{width:100%;}
  body.ui-v2 .section-head{align-items:flex-start;}
  body.ui-v2 .section-link{padding-top:4px;}
  body.ui-v2.admin-page .admin-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ui-v2.admin-page .admin-nav-link{min-height:46px;font-size:10.5px;}
  body.ui-v2.admin-page .admin-kpi-grid{grid-template-columns:1fr 1fr;gap:8px;}
  body.ui-v2.admin-page .admin-kpi{min-height:82px;padding:12px;}
  body.ui-v2.admin-page .admin-kpi strong{font-size:18px;}
}
@media (max-width:380px){
  body.ui-v2 .content-wrap{padding-left:8px;padding-right:8px;}
  body.ui-v2 .hero{padding:16px;}
  body.ui-v2.admin-page .admin-nav-grid{gap:6px;}
  body.ui-v2.admin-page .admin-secondary-links{gap:6px;}
}

/* Admin dashboard safe layout: preserve all controls while preventing the v3 nav grid from breaking the dashboard. */
body.ui-v2.admin-dashboard .content-wrap{max-width:1500px;padding-top:20px;}
body.ui-v2.admin-dashboard .admin-nav-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;
}
body.ui-v2.admin-dashboard .admin-nav-link{min-height:46px;display:flex;align-items:center;gap:7px;line-height:1.2;}
body.ui-v2.admin-dashboard .admin-secondary-links{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px;padding:0 0 14px;}
body.ui-v2.admin-dashboard .admin-secondary-links a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
body.ui-v2.admin-dashboard .admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.ui-v2.admin-dashboard .admin-recent-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
body.ui-v2.admin-dashboard .admin-card{min-width:0;}
body.ui-v2.admin-dashboard .admin-recent-row{min-width:0;}
body.ui-v2.admin-dashboard .admin-recent-row strong,
body.ui-v2.admin-dashboard .admin-recent-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:1100px){
  body.ui-v2.admin-dashboard .admin-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ui-v2.admin-dashboard .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ui-v2.admin-dashboard .admin-recent-grid{grid-template-columns:1fr;}
}
@media (max-width:700px){
  body.ui-v2.admin-dashboard .content-wrap{padding:14px 12px 84px;}
  body.ui-v2.admin-dashboard .admin-nav-grid{grid-template-columns:1fr;gap:8px;}
  body.ui-v2.admin-dashboard .admin-nav-link{min-height:44px;padding:9px 11px;}
  body.ui-v2.admin-dashboard .admin-kpi-grid{grid-template-columns:1fr 1fr;gap:8px;}
  body.ui-v2.admin-dashboard .admin-kpi{min-height:78px;padding:12px;}
  body.ui-v2.admin-dashboard .admin-kpi strong{font-size:19px;}
  body.ui-v2.admin-dashboard .admin-secondary-links{gap:6px;}
  body.ui-v2.admin-dashboard .admin-secondary-links a{font-size:11px;padding:7px 9px;}
}
@media (max-width:390px){
  body.ui-v2.admin-dashboard .admin-kpi-grid{grid-template-columns:1fr;}
}

/* Woin balance next to avatar: keep visible on mobile */
body.ui-v2 .navbar-woin{display:inline-flex !important;align-items:center;gap:6px;min-width:max-content;}
@media(max-width:380px){body.ui-v2 .navbar-woin{padding:7px 8px !important;font-size:11px !important;min-width:52px !important;}body.ui-v2 .navbar-woin svg{width:14px;height:14px;}}

/* Final responsive overflow + profile avatar fix */
body.ui-v2,
body.ui-v2 .app,
body.ui-v2 .main,
body.ui-v2 .content-wrap{max-width:100%;overflow-x:clip;}

body.ui-v2 .admin-recent-row,
body.ui-v2 .topic-card,
body.ui-v2 .topic-meta,
body.ui-v2 .section-head,
body.ui-v2 .card,
body.ui-v2 .profile-hero{min-width:0;}

body.ui-v2 .admin-recent-row strong,
body.ui-v2 .admin-recent-row span,
body.ui-v2 .topic-author-name,
body.ui-v2 .conv-username,
body.ui-v2 .conv-preview-text{
  min-width:0;
  max-width:100%;
}

body.ui-v2 .admin-recent-row span{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.ui-v2 .topic-author-name{
  white-space:normal;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.ui-v2 .profile-main-avatar{
  flex:0 0 auto;
  width:84px;
  height:84px;
  margin-top:0 !important;
  padding-left:0 !important;
  position:relative;
}
body.ui-v2 .profile-main-avatar .avatar-frame-wrap,
body.ui-v2 .profile-main-avatar .avatar,
body.ui-v2 .profile-main-avatar img{
  width:84px !important;
  height:84px !important;
  max-width:84px !important;
  max-height:84px !important;
  object-fit:cover;
  box-sizing:border-box;
}
body.ui-v2 .profile-main-avatar.has-banner{margin-top:-46px !important;}

@media (max-width:700px){
  body.ui-v2 .profile-hero > div[style*="display:flex"]{gap:12px !important;}
  body.ui-v2 .profile-main-avatar,
  body.ui-v2 .profile-main-avatar .avatar-frame-wrap,
  body.ui-v2 .profile-main-avatar .avatar,
  body.ui-v2 .profile-main-avatar img{
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
  }
  body.ui-v2 .profile-main-avatar.has-banner{margin-top:-38px !important;}
  body.ui-v2 .profile-hero > div[style*="display:flex"] > div[style*="flex:1"]{min-width:0 !important;flex:1 1 calc(100% - 84px) !important;}
  body.ui-v2 .profile-hero h1{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
  body.ui-v2 .profile-hero .btn{max-width:100%;min-width:0;white-space:normal;}
  body.ui-v2 .profile-hero .profile-level-bar{max-width:100%;}
}

@media (max-width:390px){
  body.ui-v2 .profile-main-avatar,
  body.ui-v2 .profile-main-avatar .avatar-frame-wrap,
  body.ui-v2 .profile-main-avatar .avatar,
  body.ui-v2 .profile-main-avatar img{
    width:64px !important;
    height:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }
  body.ui-v2 .profile-main-avatar.has-banner{margin-top:-32px !important;}
}
