:root{
  --font-main: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Sora', sans-serif;
  --ink: #0A0F19;
  --ink-2: #111827;
  --ink-3: #1E293B;
  --ink-surface: #141D2E;
  --amber: #C5A059;
  --amber-deep: #A0782D;
  --amber-soft: #F9F5EC;
  --gold-gradient: linear-gradient(135deg, #DFBE7B 0%, #C5A059 50%, #9F772B 100%);
  --cream: #F8F9FA;
  --card: #FFFFFF;
  --line: #E2E8F0;
  --line-dark: #263348;
  --text: #0F172A;
  --text-soft: #475569;
  --text-faint: #94A3B8;
  --success: #15803D;
  --danger: #DC2626;
  --info: #2563EB;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 8px 24px -10px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 16px 36px -12px rgba(15, 23, 42, 0.12);
  --r: 14px;
  --r-sm: 8px;
  --r-md: 12px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{height:100%;}
body{
  font-family:var(--font-main); background:var(--cream); color:var(--text);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,.display{font-family:var(--font-display); letter-spacing:-0.02em;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
a{color:inherit; text-decoration:none;}
.hidden{display:none !important;}
::-webkit-scrollbar{width:7px; height:7px;}
::-webkit-scrollbar-thumb{background:#CBD5E1; border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:#94A3B8;}

/* ---------- ICONS & GLYPH SYSTEM ---------- */
.i{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; display:block;}
[data-i], .ic{
  display:inline-flex; align-items:center; justify-content:center;
  line-height:1; vertical-align:middle; flex-shrink:0;
}
.btn .ic, .btn [data-i], .post-action .ic, .post-action [data-i]{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}


/* ---------- AUTH SCREEN ---------- */
#screen-auth{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background: radial-gradient(1200px 800px at 50% 35%, #16243C 0%, #0D1627 55%, #060911 100%) !important;
  padding:32px 16px;
}
.auth-wrap{width:100%; max-width:440px;}
.auth-logo{margin:0 auto 28px; width:220px;}
.auth-card{
  background:#FFFFFF !important; color:#0F172A !important;
  border-radius:22px; padding:34px 30px 28px;
  box-shadow:0 30px 70px -15px rgba(0,0,0,.65);
}
.auth-eyebrow{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#E0961B; font-weight:700; margin-bottom:6px;}
.auth-title{font-size:24px; font-weight:700; margin-bottom:6px; color:#0F172A !important;}
.auth-sub{color:#64748B !important; font-size:14px; margin-bottom:24px; line-height:1.5;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:12.5px; font-weight:600; color:#1E293B !important; margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border:1.5px solid #E2E8F0 !important; border-radius:12px;
  font-size:14px; background:#FCFBF8 !important; font-family:inherit; color:#0F172A !important;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:#E0961B !important; background:#FFFFFF !important; color:#0F172A !important;
  box-shadow:0 0 0 3px rgba(224,150,27,.18) !important;
}
.field input::placeholder{color:#94A3B8;}
.field input:-webkit-autofill,
.field input:-webkit-autofill:hover, 
.field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#0F172A !important;
  -webkit-box-shadow:0 0 0px 1000px #FCFBF8 inset !important;
  transition:background-color 5000s ease-in-out 0s;
}
#screen-auth .field input,
#screen-auth .field select,
#screen-auth .field textarea{
  background:#FCFBF8 !important; color:#0F172A !important; border-color:#E2E8F0 !important;
}
#screen-auth .field input:focus,
#screen-auth .field select:focus,
#screen-auth .field textarea:focus{
  background:#FFFFFF !important; color:#0F172A !important; border-color:#E0961B !important;
}
.field-invalid{border-color:#C84343 !important; background:#FDF3F3 !important; box-shadow:0 0 0 3px rgba(200,67,67,.1) !important;}
.chipbox.field-invalid{border:1.5px solid #C84343; border-radius:14px; padding:10px; background:#FDF3F3;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 18px; border-radius:12px; border:none; font-weight:700; font-size:14.5px;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:active{transform:scale(.98);}
.btn-primary{
  background:linear-gradient(180deg, #F5B942 0%, #E0961B 100%) !important;
  color:#131B29 !important; width:100%;
  box-shadow:0 10px 22px -6px rgba(224,150,27,.55) !important;
}
.btn-primary:hover{filter:brightness(1.04); box-shadow:0 12px 26px -6px rgba(224,150,27,.7) !important;}
.btn-ghost{background:transparent; color:var(--text-soft); border:1.5px solid var(--line);}
.auth-card .btn-ghost{background:#F8FAFC !important; color:#475569 !important; border:1.5px solid #CBD5E1 !important;}
.auth-card .btn-ghost:hover{background:#F1F5F9 !important; color:#0F172A !important; border-color:#94A3B8 !important;}
.btn-dark{background:#0F172A; color:#fff;}
.auth-switch{text-align:center; margin-top:18px; font-size:13.5px; color:#64748B !important;}
.auth-switch b{color:#0F172A !important; cursor:pointer;}
.auth-switch b:hover{color:#E0961B !important;}
/* ---------- PREMIUM MEDIA UPLOADER ---------- */
.media-upload-card{cursor:pointer; display:flex; flex-direction:column;}
.media-upload-label{display:block; font-size:12.5px; font-weight:600; color:#1E293B !important; margin-bottom:6px;}
.media-upload-box{
  height:92px; border-radius:14px; border:1.5px dashed #CBD5E1; background:#F8FAFC;
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
  transition:all .2s ease;
}
.media-upload-box:hover{
  border-color:#E0961B; background:#FFFDF9; transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(224,150,27,.12);
}
.media-upload-box.has-image{border-style:solid; border-color:#E2E8F0;}
.media-upload-placeholder{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  pointer-events:none; text-align:center; padding:8px;
}
.upload-icon{color:#C5A059; margin-bottom:2px; transition:transform .2s ease;}
.media-upload-box:hover .upload-icon{transform:scale(1.1);}
.upload-txt{font-size:12px; font-weight:600; color:#0F172A;}
.upload-hint{font-size:10.5px; color:#94A3B8;}
.media-upload-overlay{
  position:absolute; inset:0; background:rgba(15,23,42,.7); backdrop-filter:blur(2px);
  display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s ease;
  color:#FFFFFF; font-size:11.5px; font-weight:700; letter-spacing:.02em;
}
.media-upload-box.has-image:hover .media-upload-overlay{opacity:1;}
.chipbox{display:flex; flex-wrap:wrap; gap:8px;}
.chip-toggle{
  padding:8px 13px; border-radius:999px; border:1.5px solid var(--line); font-size:12.5px; font-weight:600;
  color:var(--text-soft); background:#fff;
}
.chip-toggle.on{background:var(--ink); color:#fff; border-color:var(--ink);}
.step-track{display:flex; gap:6px; margin-bottom:22px;}
.step-track div{height:5px; flex:1; background:var(--line); border-radius:4px;}
.step-track div.done{background:var(--amber);}
.progress-note{font-size:12px; color:var(--text-faint); text-align:right; margin-top:-14px; margin-bottom:18px;}

/* ---------- APP SHELL ---------- */
#screen-shell{display:none; min-height:100vh;}
#screen-shell.active{display:flex;}
.sidebar{
  width:250px; background:#FFFFFF; color:var(--text); flex-shrink:0;
  display:flex; flex-direction:column; padding:22px 16px; position:sticky; top:0; height:100vh;
  border-right:1px solid var(--line);
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1), padding .22s ease, background .2s ease, border-color .2s ease;
  z-index: 45;
}
.sidebar-logo{padding:6px 8px 22px; transition: padding .22s ease;}
.sidebar-logo img{width:150px; transition: width .22s ease, max-width .22s ease;}
.nav-item{
  display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:12px;
  color:#475569; font-weight:600; font-size:14px; margin-bottom:2px; border:none; background:transparent; width:100%; text-align:left;
  cursor: pointer; text-decoration: none; white-space: nowrap; overflow: hidden;
  transition: background .15s ease, color .15s ease;
}
.nav-item .i, .nav-item .ic{width:18px; height:18px; flex-shrink: 0;}
.nav-item:hover{background:#F1F5F9; color:#0F172A;}
.nav-item.active{background:var(--amber); color:var(--ink); font-weight:700;}
.nav-sep{height:1px; background:var(--line); margin:14px 0;}
.nav-label{font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:#64748B; padding:6px 12px 4px; font-weight:700; white-space: nowrap; overflow: hidden;}
.sidebar-foot{margin-top:auto; padding-top:14px;}
.coin-chip{
  display:flex; align-items:center; gap:10px; background:#F8FAFC; border:1px solid var(--line); border-radius:14px; padding:12px;
  margin-top:6px; overflow: hidden;
}
.coin-ico{width:34px; height:34px; border-radius:50%; background:linear-gradient(145deg,var(--amber),var(--amber-deep)); display:flex; align-items:center; justify-content:center; color:var(--ink); font-weight:800; font-size:14px; flex-shrink:0;}
.coin-chip .lbl{font-size:10.5px; color:#64748B; font-weight:600; white-space: nowrap;}
.coin-chip .val{font-size:15px; font-weight:800; color:#0F172A; white-space: nowrap;}

/* Botão ocultador lateral (< / >) no meio da barra para desktop */
.sidebar-toggle-btn{
  position:absolute; top:50%; right:-13px; transform:translateY(-50%);
  width:26px; height:26px; border-radius:50%; background:#FFFFFF; border:1px solid var(--line);
  box-shadow:0 2px 8px rgba(0,0,0,0.08); display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:55; color:#64748B; font-size:16px; font-weight:700; line-height:1;
  padding:0; transition:all .2s ease; user-select:none;
}
.sidebar-toggle-btn:hover{
  background:var(--amber); color:#0A0F19; border-color:var(--amber); transform:translateY(-50%) scale(1.12);
  box-shadow:0 3px 10px rgba(197,160,89,0.35);
}
.sidebar-toggle-icon{display:inline-block; transition:transform .22s ease;}

/* Estado colapsado/recolhido da barra lateral */
.sidebar.collapsed{
  width:68px; padding:22px 8px;
}
.sidebar.collapsed .sidebar-logo{
  padding:6px 0 20px; display:flex; justify-content:center; overflow:hidden;
}
.sidebar.collapsed .sidebar-logo img{
  width:36px; height:36px; object-fit:cover; object-position:left center; border-radius:8px;
}
.sidebar.collapsed .nav-label,
.sidebar.collapsed .nav-sep,
.sidebar.collapsed .nav-item span:not(.ic):not(.i),
.sidebar.collapsed .coin-chip .lbl,
.sidebar.collapsed .coin-chip .val{
  display:none !important;
}
.sidebar.collapsed .nav-item{
  justify-content:center; padding:11px 0;
}
.sidebar.collapsed .coin-chip{
  justify-content:center; padding:8px 0; background:transparent; border-color:transparent;
}
.sidebar.collapsed .sidebar-toggle-btn .sidebar-toggle-icon{
  transform:rotate(180deg);
}

.main-col{flex:1; min-width:0; display:flex; flex-direction:column;}
.topbar{
  display:flex; align-items:center; gap:14px; padding:12px 28px; background:#fff; border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:40; box-shadow:var(--shadow-sm);
}
.search-box{
  flex:1; max-width:440px; display:flex; align-items:center; gap:10px; background:var(--cream);
  border:1px solid var(--line); border-radius:10px; padding:8px 14px; color:var(--text-faint);
  transition:border-color .15s ease, box-shadow .15s ease;
  position:relative;
}
.search-box:focus-within{border-color:var(--amber-deep); box-shadow:0 0 0 3px rgba(197,160,89,.15); background:#fff;}
.search-box input{border:none; background:transparent; outline:none; font-size:13.5px; width:100%; font-family:inherit; color:var(--text);}

/* Dropdown / Seletor de busca rápida de parceiros */
.search-dropdown{
  position:absolute; top:calc(100% + 8px); left:0; right:0; background:#FFFFFF;
  border:1px solid var(--line); border-radius:14px; box-shadow:0 14px 35px rgba(0,0,0,0.12);
  z-index:100; overflow:hidden; max-height:380px; display:flex; flex-direction:column;
  animation:dropdownSlide .15s ease-out;
}
@keyframes dropdownSlide{
  from{opacity:0; transform:translateY(-6px);}
  to{opacity:1; transform:translateY(0);}
}
[data-theme="dark"] .search-dropdown{
  background:#0F172A; border-color:#263348; box-shadow:0 16px 40px rgba(0,0,0,0.6);
}
.search-dropdown-item{
  display:flex; align-items:center; gap:12px; padding:10px 14px; cursor:pointer;
  border-bottom:1px solid var(--line); transition:background .12s ease; text-decoration:none; color:inherit;
}
.search-dropdown-item:last-child{border-bottom:none;}
.search-dropdown-item:hover{background:#F8FAFC;}
[data-theme="dark"] .search-dropdown-item{border-bottom-color:#1E293B;}
[data-theme="dark"] .search-dropdown-item:hover{background:#1E293B;}
.search-dropdown-avatar{
  width:36px; height:36px; border-radius:50%; flex-shrink:0; display:flex;
  align-items:center; justify-content:center; font-weight:700; font-size:12.5px;
  color:#fff; background:linear-gradient(145deg,#334155,#0F172A); border:1px solid var(--line);
}
.search-dropdown-info{flex:1; min-width:0;}
.search-dropdown-name{
  font-size:13.5px; font-weight:700; color:var(--text); display:flex;
  align-items:center; gap:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.search-dropdown-sub{
  font-size:11.5px; color:var(--text-faint); overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; margin-top:2px;
}
.search-dropdown-empty{padding:14px; text-align:center; font-size:12.5px; color:var(--text-faint);}
.search-dropdown-footer{
  padding:10px 14px; background:#F8FAFC; font-size:12px; font-weight:700;
  color:var(--amber-deep); cursor:pointer; text-align:center; border-top:1px solid var(--line);
  transition:background .15s ease;
}
.search-dropdown-footer:hover{background:#F1F5F9; text-decoration:underline;}
[data-theme="dark"] .search-dropdown-footer{background:#0A0F1D; border-top-color:#1E293B; color:var(--amber);}
[data-theme="dark"] .search-dropdown-footer:hover{background:#141D2E;}
.topbar-right{margin-left:auto; display:flex; align-items:center; gap:12px;}
.icon-btn{width:38px; height:38px; border-radius:10px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; color:var(--text-soft); position:relative; transition:all .15s ease;}
.icon-btn:hover{background:var(--cream); color:var(--ink); border-color:#CBD5E1;}
.icon-btn .dot{position:absolute; top:7px; right:7px; width:7px; height:7px; border-radius:50%; background:var(--danger); border:1.5px solid #fff;}
.top-user-wrap{position:relative;}
.avatar{width:38px; height:38px; border-radius:50%; background:linear-gradient(145deg,#334155,#0F172A); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13.5px; cursor:pointer; border:1.5px solid #CBD5E1; transition:transform .15s ease, border-color .15s ease;}
.avatar:hover{transform:scale(1.04); border-color:var(--amber);}
.avatar-sm{width:32px; height:32px; font-size:11.5px;}
.avatar-lg{width:88px; height:88px; font-size:26px; border:4px solid #fff; box-shadow:var(--shadow);}
.top-user-dropdown{
  position:absolute; top:calc(100% + 10px); right:0; width:220px; background:#fff;
  border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg); padding:8px 0; z-index:50;
}
.dropdown-header{padding:10px 16px 8px;}
.dropdown-header .u-name{font-weight:700; font-size:13.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dropdown-header .u-company{font-size:11.5px; color:var(--text-faint); margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dropdown-sep{height:1px; background:var(--line); margin:6px 0;}
.dropdown-item{
  display:flex; align-items:center; gap:10px; width:100%; padding:9px 16px; border:none; background:transparent;
  font-size:12.5px; font-weight:600; color:var(--text-soft); text-align:left; transition:background .12s ease, color .12s ease;
}
.dropdown-item .ic, .dropdown-item .i{width:16px; height:16px;}
.dropdown-item:hover{background:var(--cream); color:var(--ink);}
.dropdown-item.text-danger{color:var(--danger);}
.dropdown-item.text-danger:hover{background:#FEF2F2; color:#B91C1C;}

.no-coins-banner{
  display:flex; align-items:center; gap:12px; background:#FFFBEB; color:#92400E;
  border-bottom:1px solid #FDE68A; padding:10px 28px; font-size:12.5px; font-weight:600;
}
.no-coins-banner .btn-sm{width:auto; padding:6px 14px; font-size:11.5px; margin-left:auto;}

.page{padding:26px; max-width:1180px; width:100%; margin:0 auto;}
.page-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:22px; gap:16px; flex-wrap:wrap;}
.page-title{font-size:23px; font-weight:700;}
.page-sub{color:var(--text-soft); font-size:13.5px; margin-top:3px;}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow);}
.pill{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px;}
.pill-amber{background:var(--amber-soft); color:#8A5A0A;}
.pill-green{background:#E4F5EC; color:var(--success);}
.pill-red{background:#FBE7E7; color:var(--danger);}
.pill-blue{background:#E7EDFC; color:var(--info);}
.pill-dark{background:#EDEBE4; color:var(--text-soft);}

/* ---- Timeline / feed ---- */
.grid-3{display:grid; grid-template-columns:1fr 2.1fr 1fr; gap:22px; align-items:start;}
.stories{display:flex; gap:14px; overflow-x:auto; padding-bottom:4px; margin-bottom:18px;}
.story{flex-shrink:0; width:76px; text-align:center;}
.story-ring{width:64px; height:64px; border-radius:50%; padding:3px; background:linear-gradient(135deg,var(--amber),#E0961B); margin:0 auto 6px;}
.story-ring div{width:100%; height:100%; border-radius:50%; background:#fff; padding:2px;}
.story-ring .av{width:100%; height:100%; border-radius:50%; background:linear-gradient(145deg,#4A5B82,#232E45); display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; font-weight:700;}
.story span{font-size:11px; color:var(--text-soft); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.ad-banner{border-radius:18px; overflow:hidden; margin-bottom:18px; position:relative; height:150px; color:#fff;
  background:linear-gradient(120deg,#1C2740,#3A2C1B); display:flex; align-items:center; padding:0 26px;}
.ad-banner:before{content:""; position:absolute; inset:0; background:radial-gradient(500px 200px at 90% 0%, rgba(245,185,66,.35), transparent);}
.ad-banner .txt{position:relative; z-index:1;}
.ad-banner .tag{font-size:10.5px; text-transform:uppercase; letter-spacing:.12em; color:var(--amber); font-weight:800; margin-bottom:6px;}
.ad-banner h3{font-size:19px; margin-bottom:4px;}
.ad-banner p{font-size:12.5px; color:#C6CBDA; max-width:340px;}

.post{padding:16px 18px; margin-bottom:16px;}
.post-head{display:flex; align-items:center; gap:11px; margin-bottom:12px;}
.post-head .who{flex:1; min-width:0;}
.post-head .name{font-weight:700; font-size:14px; display:flex; align-items:center; gap:6px;}
.post-head .meta{font-size:12px; color:var(--text-faint);}
.badge-tag{width:15px; height:15px;}
.post-text{font-size:13.5px; line-height:1.55; margin-bottom:12px; color:#2A3244;}
.post-media{border-radius:13px; overflow:hidden; margin-bottom:12px; background:#111; aspect-ratio:16/9; position:relative;}
.post-media img{width:100%; height:100%; object-fit:cover;}
.post-media .play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.post-media .play div{width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--ink);}
.post-actions{display:flex; align-items:center; gap:18px; padding-top:11px; border-top:1px solid var(--line);}
.post-action{display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--text-soft); background:none; border:none;}
.post-action.liked{color:var(--danger);}
.post-action.liked .i{fill:var(--danger); stroke:var(--danger);}
.post-action:hover{color:var(--ink);}
.comment-box{margin-top:12px; display:none; gap:8px; align-items:center;}
.comment-box.open{display:flex;}
.comment-box input{flex:1; border:1.5px solid var(--line); border-radius:999px; padding:9px 14px; font-size:13px; background:var(--cream); font-family:inherit;}

.side-card{padding:18px; margin-bottom:18px;}
.side-card h4{font-size:13.5px; margin-bottom:12px; display:flex; align-items:center; gap:7px;}
.mini-row{display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #F1EEE5;}
.mini-row:last-child{border:none; padding-bottom:0;}
.mini-row .t{flex:1; font-size:12.5px; font-weight:600;}
.mini-row .s{font-size:11px; color:var(--text-faint);}

/* ---- Dashboard ---- */
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px;}
.stat-card{padding:18px; display:flex; flex-direction:column; gap:10px;}
.stat-ico{width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;}
.stat-val{font-size:24px; font-weight:800; font-family:'Sora',sans-serif;}
.stat-lbl{font-size:12px; color:var(--text-soft); font-weight:600;}
.two-col{display:grid; grid-template-columns:1.5fr 1fr; gap:18px;}
.badge-hero{padding:22px; text-align:center; background:linear-gradient(160deg,#1C2740,#131B29); color:#fff;}
.badge-hero img{width:110px; margin:0 auto 12px;}
.badge-hero .lvl{font-size:12px; color:#9AA5BC; text-transform:uppercase; letter-spacing:.1em; font-weight:700;}
.badge-hero .name{font-size:20px; font-weight:800; margin:4px 0 10px;}
.bar-track{height:8px; border-radius:99px; background:#2A3550; overflow:hidden; margin-bottom:8px;}
.bar-fill{height:100%; background:linear-gradient(90deg,var(--amber),var(--amber-deep)); border-radius:99px;}
.map-box{padding:18px;}
.map-fake{border-radius:13px; background:
  radial-gradient(circle at 30% 30%, rgba(245,185,66,.18), transparent 40%),
  radial-gradient(circle at 70% 60%, rgba(59,111,224,.15), transparent 40%), #EFEBDF;
  height:220px; position:relative; overflow:hidden; border:1px solid var(--line);
}
.map-dot{position:absolute; width:14px; height:14px; border-radius:50%; background:var(--amber-deep); border:2px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; font-size:8px; color:#fff; font-weight:800;}
.region-list{display:flex; flex-direction:column; gap:9px; margin-top:14px;}
.region-row{display:flex; align-items:center; gap:10px; font-size:12.5px;}
.region-row .name{width:110px; font-weight:600; color:var(--text-soft);}
.region-row .track{flex:1; height:6px; background:#F1EEE5; border-radius:99px; overflow:hidden;}
.region-row .fill{height:100%; background:var(--ink);}
.region-row .n{width:30px; text-align:right; font-weight:700;}

/* ---- Knowledge / agenda cards ---- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.kcard{overflow:hidden;}
.kcard .thumb{aspect-ratio:16/10; background:linear-gradient(135deg,#1C2740,#3A2C1B); position:relative;}
.kcard .thumb .play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.kcard .thumb .play div{width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--ink);}
.kcard .thumb .dur{position:absolute; bottom:8px; right:8px; background:rgba(0,0,0,.6); color:#fff; font-size:10.5px; padding:2px 7px; border-radius:6px;}
.kcard .body{padding:14px 16px;}
.kcard .cat{font-size:10.5px; color:var(--amber-deep); font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:5px;}
.kcard h4{font-size:14.5px; margin-bottom:6px; line-height:1.35;}
.kcard p{font-size:12px; color:var(--text-soft); line-height:1.5; margin-bottom:10px;}
.kcard .foot{display:flex; align-items:center; justify-content:space-between; padding-top:10px; border-top:1px solid var(--line);}
.kcard .foot .stats{display:flex; gap:12px; font-size:11.5px; color:var(--text-faint);}
.kcard .foot .stats span{display:flex; align-items:center; gap:4px;}

.evt-card{display:flex; gap:16px; padding:16px; margin-bottom:14px;}
.evt-card .banner{width:240px; flex-shrink:0; border-radius:12px; aspect-ratio:1200/630; align-self:flex-start; background:linear-gradient(135deg,#3A2C1B,#1C2740); position:relative; overflow:hidden;}
.evt-card .banner .date{position:absolute; top:9px; left:9px; background:#fff; border-radius:9px; text-align:center; padding:5px 9px; line-height:1.1;}
.evt-card .banner .date b{display:block; font-size:16px; color:var(--ink);}
.evt-card .banner .date span{font-size:9.5px; color:var(--text-soft); text-transform:uppercase; font-weight:700;}
.evt-card .body{flex:1; display:flex; flex-direction:column;}
.evt-card h4{font-size:15.5px; margin-bottom:6px;}
.evt-card p{font-size:12.5px; color:var(--text-soft); line-height:1.5; margin-bottom:10px; flex:1;}
.evt-card .foot{display:flex; align-items:center; justify-content:space-between;}

/* ---- chat ---- */
.chat-wrap{display:grid; grid-template-columns:290px 1fr; height:calc(100vh - 140px); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff;}
.chat-list{border-right:1px solid var(--line); overflow-y:auto;}
.chat-item{display:flex; gap:10px; padding:13px 16px; border-bottom:1px solid #F4F1E9; align-items:center;}
.chat-item.active{background:var(--cream);}
.chat-item .name{font-size:13px; font-weight:700;}
.chat-item .msg{font-size:11.5px; color:var(--text-faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:170px;}
.chat-item .t{margin-left:auto; font-size:10.5px; color:var(--text-faint);}
.chat-panel{display:flex; flex-direction:column;}
.chat-panel-head{padding:14px 18px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:10px;}
.chat-body{flex:1; padding:20px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; background:var(--cream);}
.bubble{max-width:62%; padding:10px 14px; border-radius:16px; font-size:13px; line-height:1.45;}
.bubble.in{background:#fff; border:1px solid var(--line); align-self:flex-start; border-bottom-left-radius:4px;}
.bubble.out{background:var(--ink); color:#fff; align-self:flex-end; border-bottom-right-radius:4px;}
.chat-input{padding:14px; border-top:1px solid var(--line); display:flex; gap:10px;}
.chat-input input{flex:1; border:1.5px solid var(--line); border-radius:999px; padding:11px 16px; font-family:inherit; font-size:13px;}

/* ---- ads ---- */
.wizard-steps{display:flex; gap:8px; margin-bottom:22px;}
.wstep{flex:1; text-align:center; padding:9px 4px; border-radius:10px; background:#F1EEE5; font-size:11px; font-weight:700; color:var(--text-faint);}
.wstep.on{background:var(--ink); color:#fff;}
.opt-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:6px;}
.opt-card{border:1.5px solid var(--line); border-radius:12px; padding:13px; font-size:12.5px; font-weight:600; text-align:center; background:#fff;}
.opt-card.sel{border-color:var(--amber-deep); background:var(--amber-soft); color:#7A4F09;}
.coin-price{display:flex; align-items:center; justify-content:space-between; padding:16px; background:var(--ink); color:#fff; border-radius:14px; margin-top:16px;}
.tbl{width:100%; border-collapse:collapse; font-size:13px;}
.tbl th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-faint); padding:10px 14px; border-bottom:1.5px solid var(--line);}
.tbl td{padding:12px 14px; border-bottom:1px solid #F1EEE5;}
.tbl tr:last-child td{border-bottom:none;}

/* ---- gamification ---- */
.rule-row{display:flex; align-items:center; gap:14px; padding:13px 16px; border-bottom:1px solid #F1EEE5;}
.rule-row:last-child{border:none;}
.rule-ico{width:36px; height:36px; border-radius:10px; background:var(--amber-soft); color:#8A5A0A; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.rule-row .t{flex:1; font-size:13px; font-weight:600;}
.rule-row .pts{font-size:12px; font-weight:800; color:var(--success);}
.tier-track{display:grid; grid-template-columns:repeat(auto-fit,minmax(95px,1fr)); gap:12px; padding:20px 8px 10px; position:relative;}
.tier{position:relative; text-align:center; padding:12px 6px; border-radius:12px; background:#fff; border:1px solid var(--line); transition:all .2s ease;}
.tier:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.tier img{width:56px; height:56px; object-fit:contain; margin:0 auto 8px; filter:grayscale(1) opacity(.4); transition:all .2s ease;}
.tier.unlocked{border-color:var(--amber); background:var(--amber-soft);}
.tier.unlocked img{filter:none; transform:scale(1.04);}
.tier .nm{font-size:12.5px; font-weight:800; color:var(--text);}
.tier .pt{font-size:11px; color:var(--text-faint); margin-top:2px;}

/* ---- profile ---- */
.profile-cover{height:180px; border-radius:var(--r) var(--r) 0 0; background:linear-gradient(120deg,#1C2740,#3A2C1B); position:relative;}
.profile-cover .edit-cover{position:absolute; right:14px; top:14px; background:rgba(0,0,0,.4); color:#fff; font-size:11.5px; padding:7px 12px; border-radius:9px; border:none; font-weight:600;}
.profile-head{padding:0 24px 20px; margin-top:-46px; display:flex; align-items:flex-end; gap:16px;}
.profile-info{flex:1; padding-bottom:4px;}
.profile-info h2{font-size:20px; display:flex; align-items:center; gap:8px;}
.profile-info .biz{color:var(--text-soft); font-size:13px; margin-top:2px;}
.profile-stats{display:flex; gap:26px; padding:0 24px 20px; border-bottom:1px solid var(--line);}
.profile-stats .s{text-align:left;}
.profile-stats b{font-size:17px; display:block;}
.profile-stats span{font-size:11.5px; color:var(--text-faint);}
.tabs{display:flex; gap:6px; padding:14px 24px 0;}
.tab{padding:10px 16px; border-radius:10px 10px 0 0; font-size:13px; font-weight:700; color:var(--text-faint); border:none; background:none;}
.tab.on{color:var(--ink); border-bottom:3px solid var(--amber);}

/* misc */
.modal-overlay{position:fixed; inset:0; background:rgba(19,27,41,.55); display:none; align-items:center; justify-content:center; z-index:100; padding:20px;}
.modal-overlay.open{display:flex;}
.modal{background:#fff; border-radius:18px; padding:24px; width:100%; max-width:480px; max-height:88vh; overflow-y:auto;}
.modal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.modal-head h3{font-size:17px;}
.modal-close{background:none; border:none; color:var(--text-faint); font-size:20px;}
.fab{position:fixed; bottom:26px; right:26px; width:56px; height:56px; border-radius:50%; background:var(--amber); color:var(--ink); border:none; box-shadow:0 12px 24px -8px rgba(224,150,27,.6); display:flex; align-items:center; justify-content:center; z-index:30;}
.admin-banner{background:linear-gradient(120deg,#2A1E3D,#131B29); color:#fff; padding:12px 26px; font-size:12.5px; display:flex; align-items:center; gap:10px; font-weight:600;}
.admin-banner .pill-amber{background:var(--amber); color:var(--ink);}
.bottom-nav{display:none;}

/* ==========================================================================
   SISTEMA DE RESPONSIVIDADE & ALINHAMENTO EXECUTIVO MULTI-DISPOSITIVO
   ========================================================================== */

/* ---------- 1. LAPTOPS & TABLETS GRANDES (max-width: 1080px) ---------- */
@media (max-width: 1080px) {
  .grid-3 { grid-template-columns: 1fr; gap: 16px; }
  .two-col { grid-template-columns: 1fr; gap: 16px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .page { padding: 22px 20px; }
}

/* ---------- 2. TABLETS & DISPOSITIVOS MÓVEIS (max-width: 768px) ---------- */
@media (max-width: 768px) {
  /* Shell & Navegação */
  .sidebar { display: none !important; }
  .page { padding: 14px 14px 96px 14px; max-width: 100%; }
  
  /* Topbar Móvel */
  .topbar { padding: 8px 12px; gap: 8px; justify-content: space-between; }
  .search-box { padding: 7px 11px; border-radius: 10px; min-width: 120px; }
  .search-box .ic, .search-box .i { width: 15px; height: 15px; }
  .search-box input { font-size: 12px; }
  .search-box input::placeholder { font-size: 11px; }
  .topbar-right { gap: 6px; flex-shrink: 0; }
  .icon-btn { width: 34px; height: 34px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .icon-btn .ic, .icon-btn .i { width: 17px; height: 17px; }
  .avatar { width: 34px; height: 34px; font-size: 12px; flex-shrink: 0; }
  
  /* Barra de Navegação Inferior (Fixa, Tátil e Acessível) */
  .bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--line);
    padding: 6px 2px calc(6px + env(safe-area-inset-bottom, 0px));
    justify-content: stretch;
    align-items: center;
    z-index: 99;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
  .bottom-nav button {
    flex: 1 1 0;
    min-width: 0;
    background: none;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-faint);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: -0.01em;
    padding: 6px 2px;
    border-radius: 10px;
    min-height: 50px;
    position: relative;
    transition: all .18s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .bottom-nav button:active { transform: scale(0.93); }
  .bottom-nav button .ic, .bottom-nav button .i { width: 22px; height: 22px; transition: transform .18s ease; }
  .bottom-nav button.active { color: var(--amber-deep); }
  .bottom-nav button.active .ic, .bottom-nav button.active .i { stroke: var(--amber-deep); }
  .bottom-nav button.active::after {
    content: '';
    position: absolute;
    bottom: 2px;
    width: 14px;
    height: 3px;
    background: var(--amber-deep);
    border-radius: 99px;
  }
  [data-theme="dark"] .bottom-nav { background: rgba(10, 15, 29, 0.96); border-color: #1E293B; }
  [data-theme="dark"] .bottom-nav button.active { color: var(--amber); }
  [data-theme="dark"] .bottom-nav button.active .ic, [data-theme="dark"] .bottom-nav button.active .i { stroke: var(--amber); }
  [data-theme="dark"] .bottom-nav button.active::after { background: var(--amber); }


  /* Títulos e Cabeçalhos */
  .page-head { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 16px; }
  .page-head > div:last-child { width: 100%; display: flex; gap: 8px; }
  .page-head > div:last-child button { flex: 1; min-width: 0; justify-content: center; }
  .page-title { font-size: 20px; }
  .page-sub { font-size: 12.5px; }

  /* B2B Deal Tracker & KPIs */
  .deal-kpi-card { padding: 18px 16px; border-radius: 14px; }
  .deal-amount { font-size: clamp(22px, 6vw, 28px); margin: 4px 0; }

  /* Grade de Estatísticas e Cards */
  .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat-card { padding: 14px 12px; }
  .stat-val { font-size: 20px; }
  .card-grid { grid-template-columns: 1fr; gap: 14px; }
  .podium-grid { grid-template-columns: 1fr; gap: 10px; }

  /* Mural de Demandas */
  .demand-card { padding: 16px 14px; }
  .demand-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .demand-budget { align-self: flex-start; }
  .demand-meta { flex-direction: column; align-items: flex-start; gap: 8px; }
  .demand-meta span:last-child { margin-left: 0 !important; width: 100%; }
  .demand-meta span:last-child button { width: 100%; justify-content: center; }

  /* Timeline Feed & Stories */
  .stories { gap: 10px; margin-bottom: 14px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .stories::-webkit-scrollbar { display: none; }
  .post { padding: 14px; border-radius: 14px; }
  .post-actions { gap: 8px; flex-wrap: wrap; padding-top: 10px; }
  .post-action {
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    min-height: 36px;
    background: var(--cream);
    border: 1px solid var(--line);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .15s ease;
  }
  .post-action:active { transform: scale(0.96); background: rgba(197, 160, 89, 0.12); }
  .post-action .i, .post-action .ic { width: 16px; height: 16px; }
  [data-theme="dark"] .post-action { background: #141D2E; border-color: #1E293B; }
  .ad-banner { height: auto; min-height: 120px; padding: 16px; border-radius: 14px; }


  /* Perfil Corporativo */
  .profile-cover { height: 120px; }
  .profile-head { flex-direction: column; align-items: flex-start; padding: 0 16px 14px; margin-top: -36px; gap: 12px; }
  .avatar-lg { width: 72px; height: 72px; font-size: 20px; border-width: 3px; }
  .profile-head > div:last-child { width: 100%; display: flex; gap: 8px; }
  .profile-head > div:last-child button { flex: 1; min-width: 0; padding: 10px 8px; font-size: 12px; }
  .profile-stats { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; padding: 12px 16px; gap: 6px; }
  .profile-stats .s { text-align: center; }
  .profile-stats b { font-size: 15px; }
  .profile-stats span { font-size: 10.5px; }
  .feed-filter-bar { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 4px; padding: 4px; }
  .feed-filter-bar::-webkit-scrollbar { display: none; }
  .feed-tab { flex-shrink: 0; padding: 7px 12px; font-size: 11.5px; }

  /* Diretório de Parceiros & Mapa */
  .map-box { padding: 14px 12px; }
  .dir-filter-bar { flex-direction: column; align-items: stretch; gap: 8px; padding: 10px 12px; }
  .dir-filter-chip { width: 100%; justify-content: center; }
  #filterSegmentSelect { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; }
  .mini-row { padding: 8px 0; gap: 8px; }
  .mini-row .t { font-size: 12px; line-height: 1.35; }
  .mini-row .pill { padding: 3px 7px; font-size: 10px; }

  /* Chat 1:1 */
  .chat-wrap { height: calc(100vh - 145px); grid-template-columns: 1fr; border-radius: 14px; }
  .chat-panel { display: none; }
  .bubble { max-width: 84%; font-size: 12.5px; padding: 8px 12px; }
  .chat-input { padding: 10px; gap: 8px; }
  .chat-input input { padding: 9px 14px; font-size: 12.5px; }

  /* Modais e Formulários */
  .modal-overlay { padding: 10px; align-items: flex-end; }
  .modal { max-height: 92vh; padding: 20px 16px; border-radius: 20px 20px 0 0; }
  .row2 { grid-template-columns: 1fr; gap: 8px; }
  .evt-card { flex-direction: column; }
  .evt-card .banner { width: 100%; }
  .opt-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- 3. SMARTPHONES COMPACTOS (max-width: 480px) ---------- */
@media (max-width: 480px) {
  #screen-auth { padding: 16px 12px; }
  .auth-card { padding: 22px 16px; border-radius: 18px; }
  .auth-title { font-size: 20px; }
  .auth-logo { width: 170px; margin-bottom: 20px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .stat-card { padding: 12px 10px; }
  .stat-val { font-size: 18px; }
  .stat-lbl { font-size: 11px; }
  .digital-card { padding: 18px 14px; border-radius: 16px; width: 100%; }
  .digital-card-name { font-size: 17px; }
  .digital-card-qr-box { padding: 6px; }
  .digital-card-qr-box img { width: 85px; height: 85px; }
  .topbar { padding: 6px 10px; }
  .search-box { padding: 5px 8px; }
}

/* ---------- 4. SMARTPHONES ULTRA-PEQUENOS (max-width: 360px) ---------- */
@media (max-width: 360px) {
  .stat-grid { grid-template-columns: 1fr; }
  .page-title { font-size: 18px; }
  .deal-amount { font-size: 20px; }
  .profile-stats { grid-template-columns: repeat(3, 1fr); gap: 4px; }
  .profile-stats b { font-size: 13px; }
  .profile-stats span { font-size: 9.5px; }
}

/* ---------- DRAWER MÓVEL ---------- */
.drawer-overlay{position:fixed; inset:0; background:rgba(10,15,25,.55); z-index:110; display:flex; align-items:flex-end;}
.drawer-sheet{width:100%; background:#fff; border-radius:20px 20px 0 0; padding:22px 20px 30px; max-height:80vh; overflow-y:auto; box-shadow:0 -10px 40px rgba(0,0,0,.2); animation:slideUp .25s ease;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.drawer-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;}
.drawer-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:18px;}
.drawer-item{
  display:flex; align-items:center; gap:10px; padding:12px; border-radius:14px;
  border:1px solid var(--line); background:#fff; font-size:12.5px; font-weight:700;
  color:var(--text); text-align:left; min-height:52px; transition:all .15s ease;
}
.drawer-item .ic, .drawer-item .i{
  width:32px; height:32px; border-radius:9px; background:var(--amber-soft);
  color:var(--amber-deep); display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.drawer-item .ic svg, .drawer-item .i svg{width:17px; height:17px;}
.drawer-item:hover{background:var(--cream); border-color:#CBD5E1;}
.drawer-item:active{transform:scale(.97); border-color:var(--amber);}
[data-theme="dark"] .drawer-item{background:#0F172A; border-color:#1E293B; color:#F8FAFC;}
[data-theme="dark"] .drawer-item .ic, [data-theme="dark"] .drawer-item .i{background:#1E293B; color:var(--amber);}
.drawer-foot{padding-top:6px;}


/* ---------- MAPA SVG INTERATIVO DO BRASIL ---------- */
.map-svg-wrap{position:relative; width:100%; max-width:580px; margin:0 auto 16px; padding:10px 0;}
.map-svg{width:100%; height:auto; display:block; filter:drop-shadow(0 8px 24px rgba(10,15,25,.08));}
.state-path{fill:#E2E8F0; stroke:#CBD5E1; stroke-width:1.2; stroke-linejoin:round; cursor:pointer; transition:all .2s ease;}
.state-path:hover{fill:var(--amber-deep); stroke:#fff; filter:drop-shadow(0 2px 8px rgba(160,120,45,.4)); transform:scale(1.01); transform-origin:center;}
.state-path.active{fill:var(--ink); stroke:var(--amber); stroke-width:2;}
.state-path.has-users{fill:#F1E5CA;}
.state-path.high-users{fill:var(--amber);}
.map-tooltip{position:absolute; pointer-events:none; background:var(--ink); color:#fff; padding:6px 12px; border-radius:8px; font-size:11.5px; font-weight:700; z-index:30; display:none; transform:translate(-50%,-120%); white-space:nowrap; box-shadow:var(--shadow-lg);}

/* ---------- WIDGETS DE FEED E TIMELINE ---------- */
.feed-filter-bar{display:flex; gap:8px; margin-bottom:16px; background:#fff; padding:6px; border:1px solid var(--line); border-radius:12px;}
.feed-tab{flex:1; padding:8px 12px; border:none; background:transparent; border-radius:8px; font-size:12.5px; font-weight:700; color:var(--text-soft); transition:all .15s ease;}
.feed-tab:hover{color:var(--ink); background:var(--cream);}
.feed-tab.active{background:var(--ink); color:#fff;}
.quick-profile-card{padding:18px; text-align:center;}
.quick-profile-card .av{margin:0 auto 10px; width:64px; height:64px; font-size:20px; border:3px solid #fff; box-shadow:var(--shadow);}
.quick-stat-bar{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px 0 6px; border-top:1px solid var(--line); margin-top:12px;}
.quick-stat-bar .val{font-weight:800; font-size:15px; color:var(--ink);}
.quick-stat-bar .lbl{font-size:10.5px; color:var(--text-faint);}

/* ---------- LIGHTBOX & DIÁLOGOS ---------- */
.lightbox-overlay{position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:200; display:flex; align-items:center; justify-content:center; padding:20px;}
.lightbox-img{max-width:92vw; max-height:88vh; object-fit:contain; border-radius:12px; box-shadow:0 20px 50px rgba(0,0,0,.6);}
.lightbox-close{position:absolute; top:20px; right:20px; background:rgba(255,255,255,.2); color:#fff; border:none; width:44px; height:44px; border-radius:50%; font-size:24px; cursor:pointer;}
.confirm-modal-box{background:#fff; border-radius:16px; padding:24px; width:100%; max-width:420px; box-shadow:var(--shadow-lg); text-align:center;}
.confirm-modal-box h3{font-size:17px; margin-bottom:8px; color:var(--ink);}
.confirm-modal-box p{font-size:13px; color:var(--text-soft); margin-bottom:20px; line-height:1.5;}
.confirm-modal-actions{display:flex; gap:10px;}

/* ---------- CHAT TIMESTAMP ---------- */
.bubble-time{font-size:9.5px; opacity:.65; margin-top:4px; text-align:right;}

/* ---------- TABELA DE BENEFÍCIOS (GAMIFICAÇÃO) ---------- */
.benefits-matrix-tbl{width:100%; border-collapse:collapse; font-size:12.5px;}
.benefits-matrix-tbl th{text-align:left; padding:10px 12px; background:var(--cream); color:var(--text-soft); font-size:11px; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid var(--line);}
.benefits-matrix-tbl td{padding:12px; border-bottom:1px solid #F1EEE5;}
.benefits-matrix-tbl tr:last-child td{border-bottom:none;}

/* ---------- ADDONS (SPA real) ---------- */
@keyframes ppspin { to { transform: rotate(360deg); } }
.js-coins{white-space:nowrap;}
.linklike{color:var(--info);cursor:pointer;font-weight:600;}

/* ---------- MODO ESCURO OBSIDIAN (DARK THEME) ---------- */
[data-theme="dark"]{
  --ink: #FFFFFF;
  --cream: #070B12;
  --card: #0F172A;
  --line: #1E293B;
  --line-dark: #334155;
  --text: #F8FAFC;
  --text-soft: #94A3B8;
  --text-faint: #64748B;
  --amber-soft: #1E293B;
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.7);
}
[data-theme="dark"] body{background:#070B12; color:#F8FAFC;}
[data-theme="dark"] .sidebar{background:#0A0F1D; border-right-color:#1E293B; color:#F8FAFC;}
[data-theme="dark"] .sidebar-logo img{content:url("../assets/logo_secondary_white.png");}
[data-theme="dark"] .nav-label{color:#5B6478;}
[data-theme="dark"] .nav-item{color:#AEB6C8;}
[data-theme="dark"] .nav-item:hover{background:#1E2A44; color:#fff;}
[data-theme="dark"] .nav-item.active{background:var(--amber); color:var(--ink);}
[data-theme="dark"] .nav-sep{background:#1E293B;}
[data-theme="dark"] .coin-chip{background:#141D2E; border-color:#1E293B;}
[data-theme="dark"] .coin-chip .lbl{color:#9AA5BC;}
[data-theme="dark"] .coin-chip .val{color:#fff;}
[data-theme="dark"] .sidebar-toggle-btn{background:#141D2E; border-color:#263348; color:#94A3B8; box-shadow:0 2px 8px rgba(0,0,0,0.35);}
[data-theme="dark"] .sidebar-toggle-btn:hover{background:var(--amber); color:#0A0F19; border-color:var(--amber);}
[data-theme="dark"] .topbar{background:#0A0F1D; border-color:#1E293B;}
[data-theme="dark"] .top-user-dropdown{background:#0F172A; border-color:#263348;}
[data-theme="dark"] .dropdown-header{background:#0A0F1D;}
[data-theme="dark"] .dropdown-item:hover{background:#1E293B;}
[data-theme="dark"] .drawer-sheet{background:#0F172A;}
[data-theme="dark"] .drawer-item{background:#0A0F1D; border-color:#1E293B; color:#F8FAFC;}
[data-theme="dark"] .bottom-nav{background:#0A0F1D; border-color:#1E293B;}
[data-theme="dark"] .modal{background:#0F172A; color:#F8FAFC;}
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea{background:#0A0F1D; color:#F8FAFC; border-color:#263348;}
[data-theme="dark"] .tbl th{background:#0A0F1D; border-color:#1E293B; color:#94A3B8;}
[data-theme="dark"] .tbl td{border-color:#1E293B;}
[data-theme="dark"] .feed-filter-bar{background:#0F172A; border-color:#1E293B;}
[data-theme="dark"] .feed-tab{color:#94A3B8;}
[data-theme="dark"] .feed-tab.active{background:var(--amber); color:#0A0F19;}
[data-theme="dark"] .search-box{background:#0A0F1D; border-color:#1E293B;}
[data-theme="dark"] .card{background:#0F172A; border-color:#1E293B;}
[data-theme="dark"] .mini-row:hover{background:#141F35;}
[data-theme="dark"] .confirm-modal-box{background:#0F172A; color:#F8FAFC;}
[data-theme="dark"] .confirm-modal-box h3{color:#F8FAFC;}
[data-theme="dark"] .confirm-modal-box p{color:#94A3B8;}

/* ---------- SELO DE EMPRESA VERIFICADA (CNPJ) ---------- */
.badge-verified{display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; background:linear-gradient(135deg,#059669,#047857); color:#fff; vertical-align:middle;}
.badge-verified .i{width:12px; height:12px; stroke-width:3;}
.badge-audit{display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px; font-size:10.5px; font-weight:800; background:#F8FAFC; color:#065F46; border:1px solid #A7F3D0;}

/* ---------- B2B DEAL TRACKER ---------- */
.deal-kpi-card{background:linear-gradient(135deg, #0A0F19 0%, #172338 100%); border:1px solid #1E293B; border-radius:16px; padding:22px; color:#fff; position:relative; overflow:hidden;}
.deal-kpi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; position:relative; z-index:1;}
.deal-kpi-grid-sm{grid-template-columns:repeat(4,1fr); margin-top:12px;}
.deal-kpi{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:14px 16px; min-width:0;}
.deal-kpi-lbl{font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.7);}
.deal-kpi-val{font-size:20px; font-weight:800; margin:4px 0 2px; word-break:break-word;}
.deal-kpi-main .deal-kpi-val{font-size:26px; color:var(--amber);}
.deal-kpi-hint{font-size:11.5px; color:rgba(255,255,255,.6); line-height:1.35;}
.rank-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.rank-box{border:1px solid var(--line); border-radius:14px; padding:14px 14px 6px; min-width:0; background:#FCFBF7;}
.rank-box h5{margin:0; font-size:14px; font-weight:800; color:var(--ink);}
.rank-hint{font-size:11.5px; color:var(--text-faint); margin:2px 0 8px;}
.rank-row{display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--line); cursor:pointer; min-width:0;}
.rank-pos{font-size:12px; font-weight:800; color:var(--amber-deep); width:22px; flex-shrink:0;}
.rank-info{flex:1; min-width:0;}
.rank-name{font-size:13px; font-weight:700; color:var(--ink); display:flex; align-items:center; gap:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rank-sub{font-size:11.5px; color:var(--text-faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.rank-val{text-align:right; flex-shrink:0; line-height:1.2;}
.rank-val b{display:block; font-size:14px; color:var(--ink);}
.rank-val span{font-size:10.5px; color:var(--text-faint);}
.rank-thumb{width:46px; height:34px; border-radius:8px; overflow:hidden; flex-shrink:0; background:#111;}
.rank-thumb img{width:100%; height:100%; object-fit:cover;}
.rank-thumb-empty{background:var(--cream); display:flex; align-items:center; justify-content:center; color:var(--text-faint);}
@media (max-width:1100px){ .rank-grid{grid-template-columns:1fr;} }
@media (max-width:700px){ .deal-kpi-grid,.deal-kpi-grid-sm{grid-template-columns:1fr 1fr;} .deal-kpi-main .deal-kpi-val{font-size:22px;} }
.deal-kpi-card::after{content:''; position:absolute; right:-20px; top:-20px; width:120px; height:120px; background:radial-gradient(circle, rgba(197,160,89,.15) 0%, transparent 70%); pointer-events:none;}
.deal-amount{font-family:var(--font-display); font-size:32px; font-weight:800; color:var(--amber); letter-spacing:-0.03em; margin:6px 0;}
.deal-row{display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); font-size:13px;}
.deal-row:last-child{border-bottom:none;}
.deal-tag{font-size:11px; font-weight:700; padding:3px 8px; border-radius:6px; background:rgba(197,160,89,.15); color:var(--amber);}

/* ---------- ENDOSSOS E AVALIAÇÕES CORPORATIVAS ---------- */
.review-card{padding:16px; border-radius:12px; border:1px solid var(--line); margin-bottom:12px; background:var(--card);}
.star-rating{display:inline-flex; gap:2px; color:#F59E0B; font-size:14px;}
.star-btn{background:none; border:none; color:#CBD5E1; font-size:22px; cursor:pointer; transition:color .15s ease;}
.star-btn.active,.star-btn.on{color:#F59E0B;}
.star-btn:hover{transform:scale(1.15);}
.star-btn{padding:2px 3px; line-height:1;}

/* ---------- CARTÃO DE VISITAS DIGITAL EXECUTIVO (vCard) ---------- */
.digital-card{position:relative; background:linear-gradient(135deg, #070B12 0%, #0F172A 50%, #1E293B 100%); border:1px solid #C5A059; border-radius:20px; padding:28px 24px; color:#fff; box-shadow:0 16px 36px rgba(0,0,0,0.5); overflow:hidden; max-width:440px; margin:0 auto;}
.digital-card::before{content:''; position:absolute; top:-60px; right:-60px; width:180px; height:180px; background:radial-gradient(circle, rgba(197,160,89,0.2) 0%, transparent 70%); border-radius:50%; pointer-events:none;}
.digital-card-chip{display:inline-block; width:34px; height:26px; border-radius:6px; background:linear-gradient(135deg, #D4AF37 0%, #AA771C 100%); border:1px solid #FFF8DC; box-shadow:inset 0 1px 2px rgba(255,255,255,0.4); margin-bottom:14px;}
.digital-card-logo{font-family:var(--font-display); font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); text-align:right;}
.digital-card-name{font-family:var(--font-display); font-size:20px; font-weight:800; color:#fff; margin-bottom:2px;}
.digital-card-company{font-size:13px; color:var(--amber); font-weight:600; margin-bottom:14px;}
.digital-card-qr-box{background:#fff; border-radius:12px; padding:10px; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,0.25);}
.digital-card-qr-box img{display:block; width:130px; height:130px;}

/* ---------- MURAL DE DEMANDAS & OPORTUNIDADES B2B ---------- */
.demand-card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:14px; transition:border-color .2s, box-shadow .2s;}
.demand-card:hover{border-color:var(--amber); box-shadow:var(--shadow);}
.demand-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px;}
.demand-title{font-size:15px; font-weight:800; color:var(--ink); margin:0;}
.demand-budget{font-size:13px; font-weight:800; color:var(--amber-deep); background:var(--amber-soft); padding:4px 10px; border-radius:8px; white-space:nowrap;}
.demand-meta{display:flex; align-items:center; gap:12px; font-size:12px; color:var(--text-faint); margin-top:10px; flex-wrap:wrap;}
.demand-desc{font-size:13px; color:var(--text-soft); line-height:1.5; margin:6px 0 10px;}

/* ---------- PÓDIO / RANKING B2B DE GERADORES DE NEGÓCIOS ---------- */
.podium-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:14px;}
@media(max-width:680px){.podium-grid{grid-template-columns:1fr;}}
.podium-card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; text-align:center; position:relative; overflow:hidden;}
.podium-card.rank-1{border-color:#C5A059; background:linear-gradient(180deg, rgba(197,160,89,0.08) 0%, var(--card) 100%);}
.podium-rank-badge{position:absolute; top:10px; left:10px; width:26px; height:26px; border-radius:50%; font-weight:800; font-size:12px; display:inline-flex; align-items:center; justify-content:center;}
.rank-1 .podium-rank-badge{background:#C5A059; color:#0A0F19;}
.rank-2 .podium-rank-badge{background:#94A3B8; color:#0A0F19;}
.rank-3 .podium-rank-badge{background:#B45309; color:#fff;}
.podium-val{font-family:var(--font-display); font-size:16px; font-weight:800; color:var(--amber); margin-top:6px;}

/* ---------- FILTROS AVANÇADOS DO DIRETÓRIO ---------- */
.dir-filter-bar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; padding:10px 14px; background:var(--card); border:1px solid var(--line); border-radius:12px;}
.dir-filter-chip{padding:6px 12px; border-radius:20px; font-size:12px; font-weight:700; border:1px solid var(--line); background:transparent; color:var(--text-soft); cursor:pointer; transition:all .15s ease; display:inline-flex; align-items:center; gap:5px;}
.dir-filter-chip.active{background:var(--ink); color:#fff; border-color:var(--ink);}
[data-theme="dark"] .dir-filter-chip.active{background:var(--amber); color:#0A0F19; border-color:var(--amber);}
/* ---------- TABELAS RESPONSIVAS & MATRIZ DE BENEFÍCIOS ---------- */
.table-responsive{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:12px;}
.benefits-matrix-tbl{width:100%; min-width:540px; border-collapse:collapse; font-size:13px;}
.benefits-matrix-tbl th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-faint); padding:10px 12px; border-bottom:1.5px solid var(--line);}
.benefits-matrix-tbl td{padding:12px; border-bottom:1px solid #F1EEE5; vertical-align:middle;}
[data-theme="dark"] .benefits-matrix-tbl th{border-bottom-color:#1E293B;}
[data-theme="dark"] .benefits-matrix-tbl td{border-bottom-color:#1E293B;}
@media(max-width:768px){
  .tbl{min-width:520px;}
  .card{max-width:100%;}
}

/* confirmação de e-mail */
.code-input{text-align:center; font-size:26px !important; letter-spacing:.42em; font-weight:700; font-family:var(--font-display) !important; padding:14px !important;}
.code-input::placeholder{letter-spacing:.42em; color:var(--text-faint); opacity:.35; font-weight:600;}
.auth-switch b.is-off{color:var(--text-faint); cursor:default; font-weight:500;}
.verify-alt{margin-top:10px; display:flex; justify-content:center; gap:10px; align-items:center;}
.verify-alt span{color:var(--text-faint);}
#changeEmailBox{margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}

/* ==========================================================================
   PERFIL EXECUTIVO ULTRA-PREMIUM (PARCEIROS & MEU PERFIL)
   ========================================================================== */
.profile-hero-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  margin-bottom: 24px;
  position: relative;
}
[data-theme="dark"] .profile-hero-card {
  background: #0F172A;
  border-color: #1E293B;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5);
}

.profile-hero-cover {
  height: 220px;
  background: linear-gradient(135deg, #0A0F19 0%, #1A2639 50%, #2A1F10 100%);
  background-size: cover;
  background-position: center;
  position: relative;
}
.profile-hero-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(10,15,25,0.7) 100%);
}
.profile-hero-cover .edit-cover {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 5;
  background: rgba(10, 15, 25, 0.75);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.2);
  cursor: pointer;
  transition: all .15s ease;
}
.profile-hero-cover .edit-cover:hover {
  background: var(--amber);
  color: #0A0F19;
  border-color: var(--amber);
}

.profile-hero-body {
  padding: 0 28px 24px;
  position: relative;
  margin-top: -54px;
  z-index: 2;
}

.profile-hero-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.profile-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}
.profile-avatar-wrap .avatar-lg {
  width: 108px;
  height: 108px;
  border-radius: 50%;
  border: 4px solid #FFFFFF;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}
[data-theme="dark"] .profile-avatar-wrap .avatar-lg {
  border-color: #0F172A;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
}

.profile-identity {
  flex: 1;
  min-width: 240px;
  padding-bottom: 4px;
}
.profile-name {
  font-family: var(--font-display, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 800;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.profile-company {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--amber-deep);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
[data-theme="dark"] .profile-company {
  color: var(--amber);
}
.profile-meta-tags {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12.5px;
  color: var(--text-soft);
  margin-top: 6px;
  flex-wrap: wrap;
}
.profile-meta-tags span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.profile-action-dock {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.profile-action-dock .btn {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all .18s ease;
}
.btn-whatsapp-b2b {
  background: #059669 !important;
  color: #fff !important;
  border: 1px solid #047857 !important;
  box-shadow: 0 3px 10px rgba(5,150,105,0.25);
  text-decoration: none;
}
.btn-whatsapp-b2b:hover {
  background: #047857 !important;
  transform: translateY(-1px);
}
.btn-deal-b2b {
  background: linear-gradient(135deg, var(--amber) 0%, var(--amber-deep) 100%) !important;
  color: #0A0F19 !important;
  border: none !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(197,160,89,0.35);
}
.btn-deal-b2b:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

/* 4 KPIs de Performance */
.profile-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
[data-theme="dark"] .profile-kpi-strip {
  border-top-color: #1E293B;
}
.profile-kpi-card {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  transition: all .15s ease;
}
[data-theme="dark"] .profile-kpi-card {
  background: #141D2E;
  border-color: #1E293B;
}
.profile-kpi-val {
  font-size: 20px;
  font-weight: 800;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.profile-kpi-val .gold {
  color: #F59E0B;
}
.profile-kpi-lbl {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-soft);
  margin-top: 2px;
}

/* Layout em duas colunas */
.profile-grid-layout {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 22px;
  align-items: start;
}
@media (max-width: 992px) {
  .profile-grid-layout {
    grid-template-columns: 1fr;
  }
  .profile-kpi-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

.profile-card-section {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 22px;
  margin-bottom: 20px;
}
[data-theme="dark"] .profile-card-section {
  background: #0F172A;
  border-color: #1E293B;
}

.profile-section-title {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-faint);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
[data-theme="dark"] .profile-section-title {
  border-bottom-color: #1E293B;
}

.profile-detail-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.profile-detail-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
[data-theme="dark"] .profile-detail-row {
  border-bottom-color: #1E293B;
}
.profile-detail-ico {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--cream);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amber-deep);
  flex-shrink: 0;
}
[data-theme="dark"] .profile-detail-ico {
  background: #141D2E;
  border-color: #1E293B;
  color: var(--amber);
}
.profile-detail-ico .ic, .profile-detail-ico .i {
  width: 16px;
  height: 16px;
}
.profile-detail-content {
  flex: 1;
  min-width: 0;
}
.profile-detail-lbl {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-faint);
}
.profile-detail-val {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
  margin-top: 1px;
  word-break: break-word;
}
.profile-detail-val a {
  color: var(--amber-deep);
  text-decoration: none;
}
.profile-detail-val a:hover {
  text-decoration: underline;
}
[data-theme="dark"] .profile-detail-val a {
  color: var(--amber);
}

/* Chips de Interesses com visual premium escuro/dourado */
.profile-tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.profile-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  transition: all .15s ease;
}
[data-theme="dark"] .profile-tag-chip {
  background: #141D2E;
  border-color: #263348;
  color: #F8FAFC;
}
.profile-tag-chip:hover {
  border-color: var(--amber);
  color: var(--amber);
  transform: translateY(-1px);
}

/* Barra de Abas Executivas */
.profile-nav-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--cream);
  padding: 6px;
  border-radius: 14px;
  border: 1px solid var(--line);
  margin-bottom: 20px;
}
[data-theme="dark"] .profile-nav-tabs {
  background: #0A0F1D;
  border-color: #1E293B;
}
.profile-nav-tab {
  flex: 1;
  padding: 10px 16px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: var(--text-soft);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all .18s ease;
}
.profile-nav-tab:hover {
  color: var(--text);
}
.profile-nav-tab.active {
  background: #FFFFFF;
  color: var(--ink);
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
[data-theme="dark"] .profile-nav-tab.active {
  background: var(--amber);
  color: #0A0F19;
  box-shadow: 0 4px 12px rgba(197,160,89,0.3);
}

/* Post do Parceiro */
.partner-post-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
  transition: transform .15s ease, border-color .15s ease;
}
.partner-post-card:hover {
  border-color: rgba(197,160,89,0.4);
}
[data-theme="dark"] .partner-post-card {
  background: #0F172A;
  border-color: #1E293B;
}

/* ---------- Anúncios (micro anúncios na timeline) ---------- */
.ad-section-title{font-size:17px; font-weight:800; color:var(--ink); margin:0 0 12px;}
.ad-filters{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px;}
.ad-filters select{flex:1; min-width:120px; font-size:12.5px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:#fff;}
.ad-search{display:flex; align-items:center; gap:8px; width:100%; background:#fff; border:1px solid var(--line); border-radius:9px; padding:0 10px;}
.ad-search .ic,.ad-search .i{flex-shrink:0; color:var(--text-faint);}
.ad-search input{flex:1; border:0; outline:0; background:transparent; padding:9px 0; font-size:13px; font-family:inherit; min-width:0;}
.partner-banner{border:1px dashed var(--line);}
.partner-banner-title{font-size:15px; font-weight:800; color:var(--ink); margin:0 0 10px;}
.partner-banner-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:2px;}
.partner-banner-price{font-size:12px; color:var(--text-soft); font-weight:600; white-space:nowrap; flex:0 0 auto;}
.partner-banner-foot .btn{width:auto; flex:1 1 auto; min-width:0; justify-content:center;}
.story-cta{width:84px;}
.story-cta-btn{width:64px; height:64px; margin:0 auto 6px; border-radius:20px; background:linear-gradient(135deg,#F5B942,#E0961B); color:var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(224,150,27,.45); border:2px solid #fff; outline:2px dashed var(--amber-deep); outline-offset:2px; transition:transform .15s;}
.story-cta-btn .ic,.story-cta-btn .i{width:28px; height:28px; stroke-width:3;}
.story-cta:active .story-cta-btn{transform:scale(.94);}
.story-cta span{font-weight:800; color:var(--amber-deep);}
.partner-banner-tag{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-faint); margin-bottom:8px;}
.ad-filters-lbl{display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:var(--text-soft); width:100%;}
.ad-meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:2px 0 8px;}
.ad-price{font-weight:800; font-size:16px; color:var(--ink); background:var(--amber-soft); padding:4px 12px; border-radius:999px;}
.ad-price-combine{font-size:13px; color:var(--text-soft); background:#EDEBE4;}
.ad-where{font-size:11.5px; color:var(--text-faint);}
.ad-cta{display:flex; gap:8px; flex-wrap:wrap; margin:2px 0 10px;}
.ad-cta .btn{width:auto; padding:9px 14px; font-size:12.5px;}
.ad-shared-label{font-size:11.5px; font-weight:700; color:var(--info); margin:0 0 6px;}
.post-media iframe{display:block;}
.side-tabs{display:flex; gap:4px; background:#F4F1E8; border-radius:10px; padding:3px; margin-bottom:12px;}
.side-tab{flex:1; border:none; background:transparent; font-size:11.5px; font-weight:700; color:var(--text-soft); padding:8px 6px; border-radius:8px; cursor:pointer;}
.side-tab b{background:var(--amber); color:var(--ink); border-radius:999px; padding:1px 6px; font-size:10px; margin-left:3px;}
.side-tab.active{background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.08);}
.check-inline{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--text-soft); cursor:pointer;}
.check-inline input{width:auto; margin:0;}
.radio-row{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.tgt-label{font-size:11.5px; font-weight:700; color:var(--text-soft); text-transform:uppercase; letter-spacing:.04em; margin:10px 0 6px;}
.field .hint{font-size:11px; color:var(--text-faint); margin-top:5px;}
#tlTgtStates .chip-toggle{padding:6px 10px; font-size:12px;}
#tlTgtCitiesWrap .chipbox{max-height:130px; overflow-y:auto;}
.quote-item{padding:14px 0; border-bottom:1px solid #F1EEE5;}

/* relatório do anúncio (perfil) */
.report-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-top:12px;}
.report-stat{background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:12px;}
.report-stat .n{font-size:22px; font-weight:800; color:var(--ink);}
.report-stat .l{font-size:11.5px; font-weight:700; color:var(--text-soft);}
.report-stat .s{font-size:10.5px; color:var(--text-faint); margin-top:2px;}
.report-cols{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:12px;}
.report-row{display:flex; justify-content:space-between; font-size:12.5px; padding:4px 0; border-bottom:1px solid #F1EEE5;}
@media (max-width:640px){.report-cols{grid-template-columns:1fr;}}

/* anúncio premium (impulsionado) */
.post-premium{border:2px solid var(--amber); box-shadow:0 10px 28px -12px rgba(224,150,27,.55); position:relative;}
.premium-ribbon{background:linear-gradient(90deg,#E0961B,#F5C451); color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 14px; margin:-16px -18px 12px; border-radius:12px 12px 0 0;}
.boost-box{background:var(--amber-soft); border:1px solid var(--amber); border-radius:12px; padding:12px 14px;}

/* ---------- janela larga com seções, rolagem interna e rodapé fixo (Editar perfil) ---------- */
.modal.modal-wide{max-width:780px; padding:0; display:flex; flex-direction:column; overflow:hidden; max-height:92vh;}
.modal-wide .modal-head{margin:0; padding:18px 26px; border-bottom:1px solid var(--line); flex-shrink:0;}
.modal-wide .modal-body{overflow-y:auto; padding:6px 26px 22px; flex:1;}
.modal-wide .modal-foot{display:flex; gap:10px; justify-content:flex-end; padding:14px 26px; border-top:1px solid var(--line); background:#fff; flex-shrink:0;}
.form-section{font-size:11.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--text-faint); margin:24px 0 12px; padding-bottom:7px; border-bottom:1px solid var(--line);}
.form-section .opt, .modal-wide label .opt{font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-faint);}
.form-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px;}
.form-grid-3{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,1.4fr);}
.form-grid .full{grid-column:1/-1;}
.form-grid .field{margin-bottom:0;}
.modal-wide input:not([type=file]):not([type=checkbox]):not([type=radio]), .modal-wide select{width:100%;}
.input-btn{display:flex; gap:10px; align-items:stretch;}
.input-btn input{flex:1; min-width:0;}
.input-btn .btn{width:auto; white-space:nowrap; padding:0 18px;}
.cnpj-status{margin-top:7px; font-size:12px; font-weight:600;}
.img-row{display:flex; align-items:center; gap:12px;}
.img-row input[type=file]{flex:1; min-width:0; font-size:12px;}
.img-prev{flex-shrink:0; border:1.5px dashed var(--line);}
.img-prev-avatar{width:64px; height:64px; border-radius:50%;}
.img-prev-banner{width:128px; height:64px; border-radius:12px;}
@media (max-width:640px){
  .modal-overlay{padding:10px;}
  .modal.modal-wide{max-height:96vh;}
  .modal-wide .modal-head, .modal-wide .modal-foot{padding-left:16px; padding-right:16px;}
  .modal-wide .modal-body{padding:4px 16px 18px;}
  .form-grid, .form-grid-3{grid-template-columns:1fr;}
  .img-row{flex-wrap:wrap;}
  .modal-wide .modal-foot .btn{flex:1;}
}

/* iPhone: campos com menos de 16px fazem o Safari ampliar a tela ao tocar; 16px evita o zoom */
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
@media (max-width:768px){
  input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
  select, textarea, .search-box input, .field input, .field select, .field textarea{font-size:16px !important;}
  .search-box input::placeholder{font-size:13px;}
}

/* celular/tablet: na Timeline os anúncios vêm primeiro, depois solicitações/licitações e por último o perfil */
@media (max-width:1080px){
  .timeline-grid > :nth-child(1){order:3;}
  .timeline-grid > :nth-child(2){order:1;}
  .timeline-grid > :nth-child(3){order:2;}
}

/* Meus Anúncios: impulsionar, sugestão e ações */
.myad-premium{border:2px solid var(--amber); box-shadow:0 8px 22px -14px rgba(224,150,27,.6);}
.myad-suggest{margin-top:10px; background:var(--amber-soft); border:1px solid var(--amber); border-radius:10px; padding:9px 12px; font-size:12.5px; color:var(--text-soft); line-height:1.5;}
.myad-banner{background:linear-gradient(135deg,#FFF7E6,#FFFDF8); border:1.5px solid var(--amber); border-radius:14px; padding:14px 16px; margin-bottom:16px;}
.myad-stats{display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--text-faint); margin-top:12px; padding-top:10px; border-top:1px solid var(--line);}
.myad-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.myad-actions .btn{width:auto;}

/* Perfil no celular: a coluna pode encolher (1fr não deixa ficar menor que o conteúdo) e as abas rolam */
.profile-grid-layout > *{min-width:0;}
@media (max-width:992px){
  .profile-grid-layout{grid-template-columns:minmax(0,1fr);}
  .profile-nav-tabs{overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .profile-nav-tabs::-webkit-scrollbar{display:none;}
  .profile-nav-tab{flex:0 0 auto; white-space:nowrap; padding:10px 14px;}
}

/* ---------- MODO ESCURO: correções de legibilidade (fundos e textos fixos em claro) ---------- */
[data-theme="dark"] .pill-dark{background:#1E293B; color:#CBD5E1;}
[data-theme="dark"] .pill-amber{background:rgba(197,160,89,.18); color:#E8C77D;}
[data-theme="dark"] .pill-green{background:rgba(21,128,61,.22); color:#6EE7A0;}
[data-theme="dark"] .pill-red{background:rgba(220,38,38,.22); color:#FCA5A5;}
[data-theme="dark"] .pill-blue{background:rgba(37,99,235,.22); color:#93B4FF;}
[data-theme="dark"] .post-text{color:#CBD5E1;}
[data-theme="dark"] .ad-price-combine{background:#1E293B; color:#CBD5E1;}
[data-theme="dark"] .ad-price{color:#F8FAFC;}
[data-theme="dark"] .ad-filters select,[data-theme="dark"] .ad-search{background:#0A0F1D; border-color:#263348; color:#F8FAFC;}
[data-theme="dark"] .chip-toggle{background:#0A0F1D; color:#CBD5E1; border-color:#263348;}
[data-theme="dark"] .chip-toggle.on{background:var(--amber); color:#0A0F19; border-color:var(--amber);}
[data-theme="dark"] .story-ring div{background:#0F172A;}
[data-theme="dark"] .field label{color:#CBD5E1 !important;}
[data-theme="dark"] .rank-box{background:#0A0F1D;}
[data-theme="dark"] .nav-item.active,[data-theme="dark"] .feed-tab.active{color:#0A0F19;}
[data-theme="dark"] .tier,[data-theme="dark"] .opt-card,[data-theme="dark"] .bubble.in,[data-theme="dark"] .icon-btn,
[data-theme="dark"] .search-box:focus-within,[data-theme="dark"] .side-tab.active,[data-theme="dark"] .modal-wide .modal-foot{background:#0F172A; color:#F8FAFC;}
[data-theme="dark"] .tier .nm,[data-theme="dark"] .opt-card{color:#F8FAFC;}
[data-theme="dark"] .quote-item{border-bottom-color:#1E293B;}
[data-theme="dark"] .myad-banner{background:linear-gradient(135deg,#1E2A44,#0F172A);}
[data-theme="dark"] .review-card,[data-theme="dark"] .demand-card{background:#0F172A;}
[data-theme="dark"] .modal-wide .modal-foot{border-top-color:#1E293B;}
[data-theme="dark"] .top-user-dropdown,[data-theme="dark"] .topbar{color:#F8FAFC;}
[data-theme="dark"] .ad-filters input{background:#0A0F1D !important; color:#F8FAFC !important; border-color:#263348 !important;}
[data-theme="dark"] .ad-search input{background:transparent !important;}

/* Perfil: nome e botões sempre abaixo da capa (antes subiam sobre a foto de capa quando o texto quebrava em mais linhas) */
.profile-hero-top{align-items:flex-start;}
.profile-identity{padding-top:62px;}
.profile-action-dock{padding-top:62px;}
@media (max-width:700px){
  .profile-hero-cover{height:150px;}
  .profile-hero-body{padding:0 16px 18px; margin-top:-46px;}
  .profile-hero-top{flex-direction:column; align-items:flex-start; gap:10px;}
  .profile-avatar-wrap .avatar-lg{width:92px; height:92px;}
  .profile-identity{padding-top:0; min-width:0; width:100%;}
  .profile-action-dock{padding-top:0; width:100%;}
  .profile-action-dock .btn{flex:1; justify-content:center;}
}

.tab-count{display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; margin-left:6px; border-radius:999px; background:var(--amber-soft); color:var(--amber-deep); font-size:11px; font-weight:800; line-height:1;}
.feed-tab.active .tab-count{background:rgba(255,255,255,.2); color:inherit;}
[data-theme="dark"] .tab-count{background:rgba(197,160,89,.2); color:#E8C77D;}
[data-theme="dark"] .feed-tab.active .tab-count{background:rgba(10,15,25,.18); color:#0A0F19;}
#bidsTabs .feed-tab{white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; gap:4px;}
#bidsTabs .feed-filter-bar{overflow-x:auto; scrollbar-width:none;}
#bidsTabs .feed-filter-bar::-webkit-scrollbar{display:none;}

.signup-benefits{background:var(--amber-soft); border:1px solid var(--amber); border-radius:12px; padding:12px 14px; margin-bottom:16px;}
.signup-benefits-title{font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--amber-deep); margin-bottom:6px;}
.signup-benefits ul{list-style:none; margin:0; padding:0; display:grid; gap:4px; font-size:13px; font-weight:600; color:var(--text);}

.badge-locked{filter:grayscale(1) opacity(.55); transition:filter .2s;}
.badge-locked:hover{filter:grayscale(.6) opacity(.8);}

.slots-info{border-radius:12px; padding:10px 12px; font-size:12.5px; line-height:1.5; margin-bottom:12px; border:1px solid var(--line);}
.slots-ok{background:rgba(21,128,61,.08); border-color:rgba(21,128,61,.3); color:var(--text);}
.slots-full{background:rgba(220,38,38,.08); border-color:rgba(220,38,38,.35); color:var(--text);}

.textarea-locked{background:var(--cream) !important; cursor:default; resize:none;}

/* Banner compacto no topo das telas ligadas no Admin (altura baixa para não empurrar o conteúdo) */
.top-banner{display:flex; align-items:center; gap:12px; position:relative; padding:8px 40px 8px 8px; margin-bottom:14px; background:var(--card); border:1px dashed var(--line); border-radius:14px; min-height:62px; max-height:76px; overflow:hidden;}
.top-banner-premium{border:1.5px solid var(--amber); background:linear-gradient(90deg,rgba(245,185,66,.12),transparent);}
.tb-thumb{position:relative; width:88px; height:50px; flex:0 0 auto; border-radius:9px; overflow:hidden; background:#111;}
.tb-thumb img{width:100%; height:100%; object-fit:cover;}
.tb-ph{width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--cream); font-size:20px;}
.tb-play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; text-shadow:0 1px 4px rgba(0,0,0,.6);}
.tb-body{flex:1; min-width:0; line-height:1.25;}
.tb-tag{font-size:9.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--text-faint);}
.tb-title{font-size:13.5px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.tb-sub{font-size:11.5px; color:var(--text-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.tb-cta{width:auto !important; flex:0 0 auto; white-space:nowrap;}
.tb-close{position:absolute; top:4px; right:6px; width:26px; height:26px; border:none; background:transparent; color:var(--text-faint); font-size:14px; cursor:pointer; border-radius:50%;}
.tb-close:hover{background:var(--cream); color:var(--ink);}
@media (max-width:600px){
  .top-banner{gap:8px; padding:6px 32px 6px 6px; min-height:54px; max-height:64px; margin-bottom:10px;}
  .tb-thumb{width:64px; height:36px; border-radius:7px;}
  .tb-title{font-size:12.5px;}
  .tb-sub{font-size:10.5px;}
  .tb-tag{display:none;}
  .tb-cta{padding:7px 9px !important; font-size:11px !important;}
}

.slots-pages{margin:6px 0 6px 0; padding-left:2px; list-style:none; display:grid; gap:2px; font-size:12px;}
.slots-mult{font-weight:700; color:var(--amber-deep);}
.ad-page-stats{display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:4px; font-size:11px; font-weight:500; color:var(--text-faint);}
.ad-page-stat b{color:var(--text-soft); font-weight:700;}

.placements-grid{display:grid; gap:6px; margin-bottom:6px;}
.placement-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:var(--card);}
.placement-mult{font-size:12px; color:var(--text-soft); display:flex; align-items:center; gap:6px;}
.placement-mult input{width:70px; padding:5px 8px; font-size:12.5px; border:1px solid var(--line); border-radius:8px;}

/* Banner de topo MÉDIO/GRANDE: cartão centralizado (a altura da mídia é limitada para não empurrar demais o conteúdo) */
.top-banner-card{display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; max-width:760px; margin:0 auto 16px; padding:12px 14px 14px; min-height:0; max-height:none; overflow:visible;}
.top-banner-card .tb-tag{font-size:10.5px;}
.top-banner-card .tb-media{width:100%; height:var(--tb-h); border-radius:12px; overflow:hidden; background:#111; position:relative;}
.top-banner-card .tb-media img{width:100%; height:100%; object-fit:cover; object-position:center 30%; cursor:pointer;}
.top-banner-card .tb-media iframe{width:100%; height:100%; border:0;}
.top-banner-card .tb-line{font-size:13.5px; color:var(--text-soft); line-height:1.3; max-width:100%;}
.top-banner-card .tb-line b{color:var(--ink); font-size:15px;}
.top-banner-card .tb-cta{width:auto; min-width:200px; justify-content:center; margin-top:2px; padding:8px 22px; font-size:13.5px;}
.top-banner-card .tb-close{top:2px; right:8px;}
.tb-medium{--tb-h:150px;}
.tb-large{--tb-h:260px; max-width:900px;}
@media (max-width:600px){
  .top-banner-card{max-width:none; padding:10px 10px 12px;}
  .tb-medium{--tb-h:100px;}
  .tb-large{--tb-h:190px;}
  .top-banner-card .tb-cta{width:100%; min-width:0;}
  .top-banner-card .tb-tag{display:block;}
  .top-banner-card .tb-line{font-size:12px;}
  .top-banner-card .tb-line b{font-size:13.5px;}
  .top-banner-card{gap:5px;}
}

/* "Onde seu banner vai aparecer" (Timeline e/ou topo das outras seções) */
.slots-where{background:transparent; border:none; padding:0;}
.where-title{font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--text-soft); margin:2px 0 8px;}
.where-card{display:flex; gap:10px; align-items:flex-start; padding:12px; margin-bottom:8px; border:1.5px solid var(--line); border-radius:12px; background:var(--card); cursor:pointer;}
.where-card.on{border-color:var(--amber); background:rgba(245,185,66,.08);}
.where-card.off{opacity:.65; cursor:not-allowed;}
.where-card input{margin-top:3px; width:18px; height:18px; flex:0 0 auto;}
.where-body{flex:1; min-width:0;}
.where-head{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; font-size:14px; color:var(--ink);}
.where-price{font-size:12.5px; font-weight:800; color:var(--amber-deep);}
.where-desc{font-size:12.5px; color:var(--text-soft); margin-top:3px; line-height:1.4;}
.where-vagas{font-size:11.5px; color:var(--text-faint); margin-top:4px;}
.where-foot{border:1px solid rgba(21,128,61,.3); background:rgba(21,128,61,.08); border-radius:12px; padding:10px 12px; font-size:12.5px; line-height:1.5; margin-top:2px;}
.where-foot-warn{border-color:rgba(220,38,38,.35); background:rgba(220,38,38,.08);}
.ad-where-line{font-size:11px; font-weight:500; color:var(--text-soft); margin-top:3px;}

.locked-panel{border:1.5px dashed var(--line); border-radius:12px; padding:12px 14px; margin:14px 0; background:var(--cream);}
.locked-title{font-size:13px; font-weight:800; color:var(--ink); margin-bottom:6px;}
.locked-panel ul{margin:0 0 8px 0; padding-left:18px; font-size:12.5px; color:var(--text-soft); line-height:1.6;}
.confirm-list{list-style:none; margin:0; padding:0; display:grid; gap:6px; font-size:13px; color:var(--text);}
.confirm-total{border-top:1px solid var(--line); padding-top:6px; font-size:15px;}
.confirm-warn{margin-top:12px; padding:10px 12px; border-radius:10px; font-size:12.5px; line-height:1.5; background:rgba(245,185,66,.12); border:1px solid var(--amber); color:var(--text);}

/* Meus Anúncios: lista única */
.tbl-wrap{overflow-x:auto;}
.ua-table{min-width:880px;}
.ua-main{display:flex; align-items:center; gap:10px; min-width:240px;}
.ua-thumb{width:64px; height:40px; border-radius:8px; overflow:hidden; flex:0 0 auto; background:var(--cream); display:flex; align-items:center; justify-content:center; font-size:18px;}
.ua-thumb img{width:100%; height:100%; object-fit:cover;}
.ua-text{min-width:0;}
.ua-text b{font-size:13px; color:var(--ink); line-height:1.35;}
.ua-sub{font-size:11px; font-weight:500; color:var(--text-faint); margin-top:2px; display:flex; flex-wrap:wrap; gap:3px 8px; align-items:center;}
.ua-actions{display:flex; gap:6px; flex-wrap:wrap;}
.ua-report-row td{padding:0 18px 14px; background:var(--cream);}
.choice-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.choice-card{display:flex; flex-direction:column; gap:6px; text-align:left; padding:14px; border:1.5px solid var(--line); border-radius:14px; background:var(--card); cursor:pointer; font-family:inherit; color:var(--text);}
.choice-card:hover{border-color:var(--amber); background:rgba(245,185,66,.07);}
.choice-card b{font-size:15px; color:var(--ink);}
.choice-card span{font-size:12.5px; color:var(--text-soft); line-height:1.4;}
.choice-card i{font-style:normal; font-size:12px; font-weight:800; color:var(--amber-deep);}
.choice-ico{font-size:26px;}
@media (max-width:600px){ .choice-grid{grid-template-columns:1fr;} }
.ua-table td:nth-child(8){white-space:nowrap;}
.ua-table td:nth-child(4),.ua-table td:nth-child(5),.ua-table td:nth-child(6){text-align:center;}

.invest-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}

/* ---------- player do YouTube com os controles do app (js/ytplayer.js) ---------- */
.ytp{position:relative;background:#000;border-radius:12px;overflow:hidden;outline:none;color:#fff}
.ytp:focus-visible{box-shadow:0 0 0 2px var(--amber,#C5A059)}
.ytp-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
/* 60px a mais em cima e embaixo: as faixas pretas, onde o YouTube põe título e logo, ficam fora da área visível */
.ytp-stage iframe{position:absolute;left:0;top:-60px;width:100%;height:calc(100% + 120px);border:0;pointer-events:none}
.ytp-shield{position:absolute;inset:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ytp.tap iframe{pointer-events:auto}.ytp.tap .ytp-shield{display:none}
.ytp-hint{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);background:rgba(0,0,0,.7);padding:.3rem .8rem;border-radius:999px;font-size:.8rem;pointer-events:none}
.ytp-wm{position:absolute;z-index:2;pointer-events:none;user-select:none;font-size:clamp(.62rem,1.6vw,.9rem);font-weight:600;color:rgba(255,255,255,.42);text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;transition:left 1.2s,top 1.2s}
.evplayer .ytp-wm{z-index:2}
.ytp-cover{position:absolute;inset:0;z-index:3;background:#000;display:grid;place-content:center;justify-items:center;gap:.7rem;text-align:center;padding:1rem}
.ytp-cover button{display:inline-flex;align-items:center;gap:.45rem;background:var(--amber,#C5A059);color:#0A0F19;border:0;border-radius:10px;padding:.55rem 1rem;font-weight:600;cursor:pointer}
.ytp-cover svg{width:18px;height:18px}
.ytp-bar{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:#0b0f0d}
.ytp-bar button{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer}
.ytp-bar button:hover{background:rgba(255,255,255,.12)}
.ytp-bar svg{width:20px;height:20px}
.ytp-seek{flex:1;min-width:0;padding:0;height:4px;accent-color:var(--amber,#C5A059);background:transparent;border:0;cursor:pointer}
.ytp-time{font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85}
.ytp-live{flex:1;font-size:.72rem;font-weight:700;color:#ff5a5a;letter-spacing:.04em}
.ytp [hidden]{display:none!important}
/* tela cheia: a área do app (vídeo + controles + marca d'água) ocupa a tela; uma regra por seletor (seletor
   desconhecido derrubaria a lista inteira) */
.ytp.fake{position:fixed;inset:0;z-index:2000;width:100vw;height:100dvh;display:flex;flex-direction:column;justify-content:center;border-radius:0}
.ytp:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0;width:100%;height:100%}
.ytp:-webkit-full-screen{display:flex;flex-direction:column;justify-content:center;border-radius:0;width:100%;height:100%}
.ytp.fake .ytp-stage{width:100%;max-width:calc((100dvh - 52px) * 16 / 9);margin:auto}
.ytp:fullscreen .ytp-stage{width:100%;max-width:calc((100vh - 52px) * 16 / 9);margin:auto}
.ytp:-webkit-full-screen .ytp-stage{width:100%;max-width:calc((100vh - 52px) * 16 / 9);margin:auto}
html.ytp-lock,html.ytp-lock body{overflow:hidden}
/* o desfoque do fundo do modal prenderia a tela cheia do iPhone (position:fixed) dentro do overlay */
html.ytp-lock .overlay{backdrop-filter:none}
.ytp-bar [data-a=chat]{display:none}.ytp.fs .ytp-bar [data-a=chat]{display:grid}
.ytp.side .ytp-bar [data-a=chat]{background:rgba(255,255,255,.18)}
.ytp-side{display:none}
.ytp.side .ytp-side{display:block;position:absolute;right:12px;top:12px;bottom:64px;width:min(380px,calc(100% - 24px));z-index:6}
.ytp-side .evchat,.ytp-side .chat{height:100%}
.ytp-side .chat{background:rgba(10,15,13,.9);border-color:rgba(255,255,255,.14);color:#eaf5f0;backdrop-filter:blur(6px)}
.ytp-side{--text:#eaf5f0;--muted:#a9c2b8;--faint:#7d978c;--surface:rgba(255,255,255,.06);--surface2:rgba(255,255,255,.1);--line:rgba(255,255,255,.14);--bg:#0b100e}

/* ---------- página do evento (mesmo padrão do GFP) ---------- */
.evx-page{max-width:1100px;}
.evx-back{display:inline-block;font-size:12.5px;color:var(--text-soft);margin-bottom:14px;text-decoration:none;font-weight:600;}
.evx-back:hover{color:var(--ink);}
.evx-cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"main side" "about side";grid-template-rows:auto 1fr;gap:20px;align-items:start;}
.evx-main{grid-area:main;display:flex;flex-direction:column;gap:16px;min-width:0;}
.evx-about{grid-area:about;}
.evx-side{grid-area:side;display:flex;flex-direction:column;gap:14px;position:sticky;top:76px;min-width:0;}
.evx-card{padding:16px 18px;}
.evx-card h3{font-size:15px;margin:0;}
.evx-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.evx-desc{font-size:14px;line-height:1.7;white-space:pre-wrap;color:var(--text-soft);margin-top:12px;overflow-wrap:anywhere;}
.evx-desc a,.evx-notes a{color:var(--amber-deep);text-decoration:underline;word-break:break-all;}
.evx-hero{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:16px;background:var(--cream);display:block;}
.evx-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px;}
.evx-title{font-size:24px;line-height:1.25;margin:0;}
.evx-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;}
.evx-info>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;}
.evx-info span{font-size:11px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.evx-info b{font-size:13.5px;}
.evx-help{font-size:12px;color:var(--text-faint);line-height:1.5;margin:8px 0 0;}
.evx-notes{background:var(--cream);border-radius:12px;padding:10px 14px;margin-top:12px;font-size:12.5px;}
.evx-notes p{margin:4px 0 0;white-space:pre-wrap;color:var(--text-soft);}
.evx-lock{display:grid;place-items:center;text-align:center;gap:6px;padding:20px 14px;border:1.5px dashed var(--line);border-radius:14px;margin-top:14px;}
.evx-lock p{font-size:12px;color:var(--text-faint);margin:0;max-width:38ch;}
.evx-inc{margin:8px 0 0;padding-left:18px;font-size:12.5px;color:var(--text-soft);line-height:1.8;}
.evx-map{width:100%;aspect-ratio:4/3;border:0;border-radius:12px;background:var(--cream);margin:10px 0;}
.evx-addr{margin:0;font-size:13.5px;}
.evx-row{display:flex;gap:8px;flex-wrap:wrap;}
.evx-vimeo{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;}
.evx-vimeo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* chat ao vivo */
.evchat{display:flex;flex-direction:column;height:min(560px,70vh);padding:0;overflow:hidden;position:relative;}
.evchat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);}
.evchat-tabs{display:inline-flex;gap:4px;background:var(--cream);border-radius:10px;padding:3px;}
.evchat-tabs button{border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:700;color:var(--text-soft);padding:6px 14px;border-radius:8px;cursor:pointer;}
.evchat-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.evchat-live{font-size:11px;font-weight:800;color:#E5484D;letter-spacing:.04em;white-space:nowrap;}
.evchat-pin{padding:8px 14px;background:var(--amber-soft);border-bottom:1px solid var(--line);font-size:12.5px;}
.evchat-list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain;}
.evchat-empty{color:var(--text-faint);font-size:13px;text-align:center;margin:auto;padding:16px;}
.evmsg{padding:6px 8px;border-radius:10px;font-size:13px;line-height:1.4;}
.evmsg:hover{background:var(--cream);}
.evmsg.own{background:rgba(197,160,89,.12);}
.evmsg.del{opacity:.45;text-decoration:line-through;}.evmsg.ans{opacity:.7;}
.evmsg-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;}
.evmsg-body{word-break:break-word;white-space:pre-wrap;}
.evmsg-vote{margin-top:5px;border:1px solid var(--line);background:transparent;color:var(--text-soft);border-radius:999px;padding:2px 10px;font-size:11.5px;cursor:pointer;font-family:inherit;}
.evmsg-vote.on{border-color:var(--amber);color:var(--amber-deep);}
.evchat-tools{margin-left:auto;font-size:11px;display:none;}.evmsg:hover .evchat-tools{display:inline;}
.evchat-mutes{padding:6px 12px;font-size:11.5px;color:var(--text-soft);border-top:1px solid var(--line);}
.evchat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);}
.evchat-form input{flex:1;min-width:0;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;}
.ytp-side .evchat{height:100%;background:rgba(10,15,25,.92);border-color:rgba(255,255,255,.14);color:#eaf0f8;backdrop-filter:blur(6px);}
.ytp-side .evchat-head,.ytp-side .evchat-form,.ytp-side .evchat-mutes{border-color:rgba(255,255,255,.14);}
.ytp-side .evchat-tabs{background:rgba(255,255,255,.1);}.ytp-side .evchat-tabs button{color:#cdd6e4;}.ytp-side .evchat-tabs button.on{background:rgba(255,255,255,.2);color:#fff;}
.ytp-side .evmsg:hover{background:rgba(255,255,255,.08);}.ytp-side .evchat-empty,.ytp-side .evmsg-vote{color:#a9b6c9;}
@media (max-width:900px){
  .evx-cols{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side" "about";}
  .evx-side{position:static;}
  .evx-title{font-size:20px;}
  .evchat{height:min(480px,65vh);}
}

@media (max-width:640px){
  .evt-card{flex-direction:column;}
  .evt-card .banner{width:100%;}
}

/* material de apoio: link discreto abaixo do vídeo */
.k-attach{display:flex;flex-wrap:wrap;gap:6px 16px;margin:-4px 0 12px;font-size:12px;}
.k-attach a{color:var(--text-soft);text-decoration:none;border-bottom:1px dashed var(--line);padding-bottom:1px;}
.k-attach a:hover{color:var(--amber-deep);border-bottom-color:var(--amber-deep);}
.k-attach a span{color:var(--text-faint);}
