/* Staffball clubes-specific styles */

.login{height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg2);overflow:hidden;}

.login-sub{text-align:left;color:var(--text3);font-size:13px;margin-bottom:28px;}

.login-sub em{color:var(--amber-dk);font-style:normal;font-weight:500;}

.field label{display:block;font-family:var(--fd);font-size:11px;font-weight:600;color:var(--text2);margin-bottom:5px;letter-spacing:.3px;}

.app{display:none;min-height:100vh;}

.sb{width:var(--sw);background:var(--navy);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;}

.sb-av{width:36px;height:36px;border-radius:10px;overflow:hidden;flex-shrink:0;}

.sb-av img{width:100%;height:100%;object-fit:cover;}

.mn{margin-left:var(--sw);flex:1;min-height:100vh;background:var(--bg2);}

.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:16px;}

.lc{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-bottom:12px;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.lc:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.07);border-color:var(--border2);}

.fb{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}

.sli{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bg3);}

.slav{width:40px;height:40px;border-radius:10px;overflow:hidden;flex-shrink:0;}

.slav img{width:100%;height:100%;object-fit:cover;}

.slinfo{flex:1;}

.slnm{font-family:var(--fd);font-size:12px;font-weight:600;}

.slrl{font-size:10px;color:var(--text3);}

.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}

.ins-img{height:120px;display:flex;align-items:center;justify-content:center;font-size:28px;}

.ins-tag{font-family:var(--fd);font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--amber-dk);margin-bottom:5px;}

.ins-title{font-family:var(--fd);font-size:13px;font-weight:600;color:var(--text);margin-bottom:5px;line-height:1.35;}

.ins-desc{font-size:11px;color:var(--text3);line-height:1.5;margin-bottom:6px;}

.ins-meta{font-size:10px;color:var(--text3);}

.ins-featured .ins-img{height:auto;min-height:180px;}

.ins-featured .ins-title{font-size:16px;margin-bottom:8px;}

.lang-sel{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px;}

/* Modal overlay */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(2px);}

.modal-overlay.on{display:flex;}

.modal{background:var(--white);border-radius:16px;width:580px;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:modalIn .2s ease;}

@keyframes modalIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

.modal-hd{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--white);border-radius:16px 16px 0 0;z-index:1;}

.modal-t{font-family:var(--fd);font-size:16px;font-weight:700;}

.modal-close{width:28px;height:28px;border-radius:6px;border:none;background:var(--bg2);color:var(--text3);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}

.modal-close:hover{background:var(--bg3);color:var(--text);}

.modal-body{padding:24px;}

.mf{margin-bottom:16px;}

.mf label{display:block;font-family:var(--fd);font-size:11px;font-weight:600;color:var(--text2);margin-bottom:5px;letter-spacing:.3px;}

.mf input,.mf select,.mf textarea{width:100%;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--fb);font-size:13px;outline:none;transition:border-color .15s;}

.mf input:focus,.mf select:focus,.mf textarea:focus{border-color:var(--amber);}

.mf textarea{resize:vertical;min-height:80px;line-height:1.5;}

.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

.mf-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}

.mf-hint{font-size:10px;color:var(--text3);margin-top:3px;}

.mf-toggle{display:flex;align-items:center;gap:10px;padding:12px 0;}

.mf-toggle label{margin:0;font-size:12px;font-weight:500;}

.modal-ft{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--white);border-radius:0 0 16px 16px;}

.modal-success{text-align:center;padding:40px 24px;}

.modal-success .icon{font-size:48px;margin-bottom:12px;}

.modal-success p{font-size:13px;color:var(--text2);margin-bottom:16px;}

/* Profile slide-over */
.profile-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:480px;background:var(--white);z-index:210;box-shadow:-8px 0 30px rgba(0,0,0,.1);animation:slideIn .25s ease;overflow-y:auto;}

.profile-panel.on{display:block;}

@keyframes slideIn{from{transform:translateX(100%);}to{transform:translateX(0);}}

.pp-hd{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--white);z-index:1;}

.pp-body{padding:24px;}

.pp-av{width:72px;height:72px;border-radius:14px;background:var(--amber-lt);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:22px;color:var(--amber-dk);margin-bottom:12px;}

.pp-name{font-family:var(--fd);font-size:18px;font-weight:700;margin-bottom:2px;}

.pp-role{font-size:12px;color:var(--text3);margin-bottom:12px;}

.pp-sec{margin-bottom:16px;}

.pp-sec-t{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--amber-dk);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--bg3);}

.pp-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--bg3);}

.pp-row .lbl{font-size:12px;color:var(--text3);}

.pp-row .val{font-size:12px;font-weight:500;}

.pp-actions{display:flex;gap:8px;margin-top:16px;}

.pp-ghost{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text3);background:var(--bg2);border-radius:6px;padding:6px 10px;margin-bottom:12px;}

.pp-ghost .gd{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:pu 2s infinite;}

/* Overlay dim for profile panel */
.panel-dim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:205;}

@media(max-width:768px){
  .login{grid-template-columns:1fr;min-height:100vh;}
  .login-hero{display:none;}
  .login-form{padding:24px 20px;}
  .sb{position:fixed;left:-240px;top:0;bottom:0;z-index:200;transition:transform .3s;width:240px;}
  .sb.on{left:0;}
  .mn{margin-left:0;padding-top:52px;}
  .mob-header{display:flex !important;}
}

@media(max-width:480px){
  .login-form{padding:20px 16px;}
}

.mob-header{display:none;position:fixed;top:0;left:0;right:0;height:52px;background:var(--navy);z-index:190;padding:0 16px;align-items:center;justify-content:space-between;}
.mob-header .logo{font-family:var(--fd);font-size:18px;font-weight:700;}
.mob-burger{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;}
.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:195;}
.mob-overlay.on{display:block;}

/* .sb-loader and @keyframes spin moved to shared.css */
.sb-error{text-align:center;padding:40px;color:var(--text3);font-size:13px;}

/* mob-header — desktop hidden, mobile shown (overrides any inherited rule) */
.mob-header{display:none !important;}
@media(max-width:768px){.mob-header{display:flex !important;}}

/* ============================================================
   STEALTH TOGGLE — premium pill
   #8 — Sprint 2
   ============================================================ */
.club-stealth-wrap{
  display:none;align-items:center;gap:10px;
  padding:6px 12px 6px 11px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:999px;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.club-stealth-wrap.on{display:inline-flex;}
.club-stealth-wrap:hover{background:var(--bg2);border-color:var(--border2);}
.club-stealth-wrap .stealth-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--text3);
  flex-shrink:0;
  transition:background .2s ease, box-shadow .25s ease;
}
.club-stealth-wrap .stealth-label{
  font:600 11px var(--fd);
  color:var(--text3);
  letter-spacing:.8px;
  text-transform:uppercase;
  transition:color .15s ease;
}
/* Active stealth: amber border, amber pulsing dot, amber-dark label */
.club-stealth-wrap.is-active{
  border-color:rgba(245,158,11,.45);
  background:rgba(245,158,11,.06);
}
.club-stealth-wrap.is-active .stealth-dot{
  background:var(--amber);
  box-shadow:0 0 0 3px rgba(245,158,11,.18);
  animation:stealth-pulse 2s ease-in-out infinite;
}
.club-stealth-wrap.is-active .stealth-label{
  color:var(--amber-dk);
}
@keyframes stealth-pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(245,158,11,.18);}
  50%{box-shadow:0 0 0 5px rgba(245,158,11,.05);}
}

/* Stealth banner */
.club-stealth-banner{display:none;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);color:var(--amber-dk);padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:12px;align-items:center;gap:10px;}
.club-stealth-banner.on{display:flex;}

/* Toggle switch (pill) */
.tgl{position:relative;width:34px;height:18px;background:var(--border2);border-radius:10px;cursor:pointer;transition:background .2s;flex-shrink:0;}
.tgl::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--white);border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.15);}
.tgl.on{background:var(--amber);}
.tgl.on::after{transform:translateX(16px);}

/* ============================================================
   DASHBOARD V2 — header + stat tiles
   #6, #7 — Sprint 2
   ============================================================ */
.dash2-hdr{display:flex;align-items:flex-end;justify-content:space-between;padding:24px 32px 20px;border-bottom:1px solid var(--border);background:var(--bg);gap:16px;flex-wrap:wrap;}
.dash2-date{font:500 11px var(--fd);color:var(--text3);letter-spacing:.6px;margin-bottom:6px;text-transform:uppercase;}
.dash2-greet{font:700 26px var(--fd);color:var(--text);letter-spacing:-.5px;line-height:1.1;}
.dash2-hdr-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.dash2-plan-badge{background:rgba(245,158,11,.12);color:var(--amber-dk);padding:6px 12px;border-radius:20px;font:600 11px var(--fd);letter-spacing:.8px;text-transform:uppercase;}

/* Stat cards */
.dash2-stats{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px;}
.dash2-stat{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;min-height:112px;display:flex;flex-direction:column;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.dash2-stat-clickable{cursor:pointer;}
.dash2-stat-clickable:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.06);border-color:var(--border2);}
.dash2-stat-wide{padding:16px 20px;}
.dash2-stat-label{font:600 10px var(--fd);color:var(--text3);letter-spacing:1px;margin-bottom:10px;text-transform:uppercase;}
.dash2-stat-row{display:flex;align-items:baseline;gap:10px;}
.dash2-stat-val{font:700 32px var(--fd);color:var(--text);letter-spacing:-1px;line-height:1;}
.dash2-stat-wide .dash2-stat-val{font-size:36px;}
.dash2-stat-delta{font:600 12px var(--fd);color:var(--green);}
.dash2-stat-delta.neg{color:var(--red);}
.dash2-stat-delta.neu{color:var(--text3);}
.dash2-stat-sub{font:500 11px var(--fd);color:var(--text3);margin-top:6px;letter-spacing:.3px;}
.dash2-stat-sub.highlight{color:var(--amber-dk);}
.dash2-sparkline{width:100%;height:28px;margin-top:auto;display:block;}
.dash2-sparkline polyline.line{fill:none;stroke:var(--amber);stroke-width:1.5;}
.dash2-sparkline polygon.area{fill:var(--amber);fill-opacity:.12;}
.dash2-progress{height:3px;background:var(--bg2);margin-top:auto;border-radius:2px;overflow:hidden;}
.dash2-progress-fill{height:100%;background:var(--amber);width:0%;transition:width .4s ease;}

/* Featured */
.dash2-featured{background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(245,158,11,.02));border:1px solid rgba(245,158,11,.35);border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;transition:transform .15s ease, box-shadow .15s ease;}
.dash2-featured:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(245,158,11,.10);}
.dash2-featured-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0;}
.dash2-featured-icon{width:44px;height:44px;background:rgba(245,158,11,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.dash2-featured-tag{font:600 11px var(--fd);color:var(--amber-dk);letter-spacing:.8px;margin-bottom:4px;}
.dash2-featured-title{font:600 16px var(--fd);color:var(--text);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dash2-featured-meta{font:400 12px var(--fb);color:var(--text3);}
.dash2-featured-btn{flex-shrink:0;}

/* Tasks */
.dash2-tasks{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:16px;}
.dash2-tasks-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.dash2-tasks-title{font:600 13px var(--fd);color:var(--text);}
.dash2-tasks-count{font:600 11px var(--fd);color:var(--text3);letter-spacing:.5px;text-transform:uppercase;}
.dash2-tasks-list{display:flex;flex-direction:column;}
.dash2-task{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--border);cursor:pointer;transition:background .15s;}
.dash2-task:hover{background:var(--bg2);margin:0 -20px;padding:12px 20px;}
.dash2-task-label{font:400 13px var(--fb);color:var(--text);}
.dash2-task-tag{font:600 10px var(--fd);padding:3px 10px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;}
.dash2-task-tag.red{background:rgba(226,75,74,.12);color:var(--red);}
.dash2-task-tag.amber{background:rgba(245,158,11,.12);color:var(--amber-dk);}
.dash2-task-tag.gray{background:var(--bg2);color:var(--text3);}

/* Insights */
.dash2-insights{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px 20px;}
.dash2-insights-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.dash2-insights-title{font:600 13px var(--fd);color:var(--text);}
.dash2-insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dash2-insight{padding:14px 16px;background:var(--bg2);border-radius:8px;cursor:pointer;transition:transform .2s;}
.dash2-insight:hover{transform:translateY(-1px);}
.dash2-insight-cat{font:600 9px var(--fd);letter-spacing:1px;text-transform:uppercase;color:var(--amber-dk);margin-bottom:4px;}
.dash2-insight-ttl{font:600 13px var(--fd);color:var(--text);margin-bottom:4px;line-height:1.35;}
.dash2-insight-meta{font:400 10px var(--fb);color:var(--text3);}

.dash2-empty{padding:24px;text-align:center;color:var(--text3);font-size:13px;}

@media (max-width: 900px){
  .dash2-stats{grid-template-columns:1fr 1fr;}
  .dash2-stat-wide{grid-column:1/-1;}
  .dash2-insights-grid{grid-template-columns:1fr;}
}
@media (max-width: 500px){
  .dash2-stats{grid-template-columns:1fr;}
  .dash2-hdr{padding:18px 18px 14px;}
}

.dash2-missing-hint{font-size:10px;color:var(--text3);margin-top:8px;line-height:1.4;display:none;}
.dash2-missing-hint.on{display:block;}
.dash2-missing-hint .fld{display:inline-block;background:var(--amber-lt);color:var(--amber-dk);padding:2px 8px;border-radius:10px;margin:2px 3px 0 0;font-size:10px;font-weight:600;}
.dash2-missing-link{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;color:var(--amber-dk);text-decoration:none;}
.dash2-missing-link:hover{text-decoration:underline;}

/* ============================================================
   FILTER CHIPS — refined
   #10 — Sprint 2
   ============================================================ */
.cc{display:flex;gap:6px;flex-wrap:wrap;}
.cc .chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:999px;
  font:500 12px var(--fd);
  color:var(--text2);
  letter-spacing:.2px;
  cursor:pointer;
  transition:all .15s ease;
  user-select:none;
}
.cc .chip:hover{
  background:var(--bg2);
  border-color:var(--border2);
  color:var(--text);
  transform:translateY(-1px);
}
.cc .chip.on{
  background:var(--amber);
  border-color:var(--amber);
  color:#fff;
  box-shadow:0 2px 6px rgba(245,158,11,.25);
}
.cc .chip.on:hover{
  background:var(--amber-dk);
  border-color:var(--amber-dk);
  transform:translateY(-1px);
}
.cc .chip-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 5px;
  margin-left:4px;
  background:rgba(0,0,0,.08);
  border-radius:9px;
  font:600 10px var(--fd);
  color:inherit;
}
.cc .chip.on .chip-count{
  background:rgba(255,255,255,.25);
  color:#fff;
}

/* ============================================================
   EMPTY STATES — illustrated + actionable
   #11 — Sprint 2
   ============================================================ */
.empty-rich{
  text-align:center;
  padding:48px 24px;
  background:var(--white);
  border:1px dashed var(--border);
  border-radius:12px;
  margin:8px 0;
}
.empty-rich-icon{
  font-size:52px;
  line-height:1;
  margin-bottom:14px;
  display:block;
  opacity:.92;
}
.empty-rich-title{
  font:700 15px var(--fd);
  color:var(--text);
  margin-bottom:6px;
  letter-spacing:-.2px;
}
.empty-rich-sub{
  font:400 12px var(--fb);
  color:var(--text3);
  line-height:1.6;
  max-width:380px;
  margin:0 auto 18px;
}
.empty-rich-action{display:inline-flex;align-items:center;gap:6px;}
/* Empty state sitting inside a single table row (colspan'd) */
.empty-rich-row td{padding:0 !important;background:transparent !important;border:none !important;}
.empty-rich-row .empty-rich{margin:8px 0;border-radius:10px;}

/* ============================================================
   SKELETON SHIMMER
   #14 — Sprint 2
   ============================================================ */
.sk{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg, var(--bg2) 0%, var(--bg3) 50%, var(--bg2) 100%);
  background-size:200% 100%;
  animation:sk-shimmer 1.4s ease-in-out infinite;
  border-radius:6px;
}
@keyframes sk-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.sk-h-sm{height:8px;}
.sk-h-md{height:12px;}
.sk-h-lg{height:18px;}
.sk-h-xl{height:24px;}
.sk-w-25{width:25%;}
.sk-w-50{width:50%;}
.sk-w-60{width:60%;}
.sk-w-75{width:75%;}
.sk-w-90{width:90%;}
.sk-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0;}
.sk-circle-sm{width:28px;height:28px;border-radius:50%;flex-shrink:0;}
.sk-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;}
.sk-card-body{flex:1;display:flex;flex-direction:column;gap:6px;}
.sk-stack-tight > *{margin-bottom:6px;}
.sk-stack-tight > *:last-child{margin-bottom:0;}

/* ============================================================
   SIDEBAR — name truncation + tier badge
   #13 — Sprint 2
   ============================================================ */
.sb-name{
  font-family:var(--fd);font-size:13px;font-weight:600;color:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:140px;
}
.sb-name[title]{cursor:help;}
.sb-role{
  font-size:10px;color:rgba(255,255,255,.55);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:140px;
}
.sb-tier{
  background:rgba(245,158,11,.15);color:var(--amber);
  padding:3px 8px;border-radius:10px;
  font:600 9px var(--fd);letter-spacing:1px;
  flex-shrink:0;
}

/* ============================================================
   MICRO-ANIMATIONS
   #15 — Sprint 2
   ============================================================ */
.btn{transition:transform .12s ease, background .15s ease, box-shadow .15s ease;}
.btn:active{transform:translateY(1px);}
.btn-a:hover{box-shadow:0 4px 12px rgba(245,158,11,.25);}

.sb-lk{transition:background .15s ease, color .15s ease;}
.sb-lk:hover{background:rgba(255,255,255,.04);}

/* Page-load fade for main content */
.pg.on{animation:pg-fade .25s ease-out;}
@keyframes pg-fade{
  from{opacity:0;transform:translateY(4px);}
  to{opacity:1;transform:translateY(0);}
}
/* ============================================================
   SPRINT 3 — APPLICATIONS / CONFIDENCIAIS / PREMIUM polish
   Append to clubes.css (idempotent — safe to run twice if guarded)
   ============================================================ */

/* ===== APPLICATIONS TABLE — premium ===== */
.dt{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}
.dt thead th{
  font:600 10px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  padding:14px 16px;
  text-align:left;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.dt tbody td{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  font-size:13px;
  color:var(--text);
  vertical-align:middle;
}
.dt tbody tr:last-child td{border-bottom:none;}
.dt tbody tr{transition:background .15s ease;}
.dt tbody tr:hover{background:var(--bg);}

/* Candidate name cell with avatar */
.app-cand{display:flex;align-items:center;gap:12px;}
.app-av{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font:700 12px var(--fd);color:#fff;
  letter-spacing:.5px;
  flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.app-av.ghost{
  background:linear-gradient(135deg,#475569 0%,#64748b 100%) !important;
  color:rgba(255,255,255,.85);
}
.app-cand-name{
  font:600 13px var(--fd);
  color:var(--text);
  letter-spacing:-.1px;
}

/* Status pills — refined */
.tg{
  display:inline-flex;align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font:600 10px var(--fd);
  letter-spacing:.6px;
  text-transform:uppercase;
  white-space:nowrap;
}
.tg.st{background:var(--bg2);color:var(--text2);}
.tg.am{background:rgba(245,158,11,.12);color:var(--amber-dk);}
.tg.gr{background:rgba(16,185,129,.12);color:#047857;}
.tg.bl{background:rgba(14,165,233,.12);color:#0369a1;}
.tg.rd{background:rgba(226,75,74,.12);color:var(--red);}

/* "Ver" button refinement in app rows */
.dt .btn-s{
  padding:6px 12px;
  font:600 11px var(--fd);
  letter-spacing:.3px;
}

/* Filter selects above the table — match chip pill style */
#filterAppsListing,
#filterAppsStatus{
  font:500 12px var(--fd) !important;
  padding:8px 32px 8px 14px !important;
  background:var(--white) !important;
  border:1px solid var(--border) !important;
  border-radius:999px !important;
  color:var(--text2) !important;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2364748b' d='M6 8.5L2 4.5h8z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
}
#filterAppsListing:hover,
#filterAppsStatus:hover{
  border-color:var(--border2) !important;
  background-color:var(--bg2) !important;
}

/* ===== LISTING CARDS (Confidenciais / Premium) ===== */
.lc-v2{
  display:flex;align-items:center;gap:16px;
  padding:18px 20px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:10px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lc-v2:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(15,23,42,.07);
  border-color:var(--border2);
}
.lc-v2-icon{
  width:44px;height:44px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.lc-v2-icon.conf{background:rgba(99,102,241,.12);color:#4f46e5;}
.lc-v2-icon.prem{background:rgba(245,158,11,.15);color:var(--amber-dk);}
.lc-v2-body{flex:1;min-width:0;}
.lc-v2-title{
  font:600 14px var(--fd);
  color:var(--text);
  letter-spacing:-.1px;
  margin-bottom:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lc-v2-meta{
  font:400 11px var(--fb);
  color:var(--text3);
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.lc-v2-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text3);opacity:.5;}
.lc-v2-meta-tag{
  display:inline-flex;align-items:center;
  padding:2px 8px;
  background:var(--bg2);
  border-radius:999px;
  font:600 10px var(--fd);
  color:var(--text2);
  letter-spacing:.3px;
}
.lc-v2-arrow{
  font-size:18px;
  color:var(--text3);
  transition:transform .15s, color .15s;
  flex-shrink:0;
}
.lc-v2:hover .lc-v2-arrow{transform:translateX(2px);color:var(--amber-dk);}

/* Container: header + cards (replaces the big white card-in-card) */
.lc-v2-wrap{margin-top:8px;}
.lc-v2-wrap-hd{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:12px;
  padding:0 4px;
}
.lc-v2-wrap-title{
  font:600 11px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
}
.lc-v2-wrap-count{
  font:600 11px var(--fd);
  color:var(--text2);
  letter-spacing:.3px;
}

/* Director gate — rich upsell card replacing the boring centered button */
.gate-card{
  background:linear-gradient(135deg,rgba(245,158,11,.06),rgba(245,158,11,.02));
  border:1px solid rgba(245,158,11,.35);
  border-radius:14px;
  padding:36px 28px;
  text-align:center;
}
.gate-icon{
  font-size:44px;line-height:1;
  margin-bottom:14px;
  display:block;
}
.gate-title{
  font:700 18px var(--fd);
  color:var(--text);
  letter-spacing:-.3px;
  margin-bottom:8px;
}
.gate-sub{
  font:400 13px var(--fb);
  color:var(--text2);
  line-height:1.6;
  max-width:480px;
  margin:0 auto 18px;
}
.gate-perks{
  display:flex;flex-wrap:wrap;gap:8px;
  justify-content:center;
  margin-bottom:22px;
}
.gate-perk{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(245,158,11,.25);
  border-radius:999px;
  font:500 11px var(--fd);
  color:var(--text);
  letter-spacing:.2px;
}
.gate-perk-check{color:var(--amber-dk);font-weight:700;}

/* Override the existing big white card on confidential & premium pages so the
   header flows directly into the new card list (no nested-card look). */
#confidential .mn-c > .card,
#premium_jobs .mn-c > .card{
  background:transparent;
  border:none;
  padding:0;
  text-align:left;
}
/* Hide the redundant emoji/title/sub block (we keep them only via header) */
#confidential .mn-c > .card > div:not(#confListingsContent),
#premium_jobs .mn-c > .card > div:not(#premListingsContent){
  display:none;
}

/* Mobile responsiveness for the apps table */
@media (max-width: 640px){
  .dt thead{display:none;}
  .dt tbody tr{
    display:block;
    padding:14px;
    border-bottom:1px solid var(--border);
  }
  .dt tbody td{
    display:block;
    padding:4px 0;
    border:none;
  }
  .dt tbody td:first-child{margin-bottom:8px;}
}
/* ============================================================
   SPRINT 4 — Views counter + Preview modal + Region helper
   Append to clubes.css
   ============================================================ */

/* Views badge — small, neutral, sits inline with other tags */
.views-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:12px;
  font:600 10px var(--fd);
  color:var(--text2);
  letter-spacing:.3px;
  white-space:nowrap;
}
.views-badge.warm{
  background:rgba(245,158,11,.10);
  border-color:rgba(245,158,11,.25);
  color:var(--amber-dk);
}
.views-badge .ico{font-size:10px;opacity:.85;}
.views-badge .num{font-weight:700;}

/* Detalhes panel — extra row for views */
#ldViewsRow{display:none;}
#ldViewsRow.on{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--bg3);}

/* ============================================================
   PREVIEW MODAL — "Ver como profissional"
   ============================================================ */
.preview-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(4px);
  z-index:300;
  align-items:flex-start;justify-content:center;
  padding:48px 24px;
  overflow-y:auto;
  animation:preview-fade .2s ease-out;
}
.preview-overlay.on{display:flex;}
@keyframes preview-fade{from{opacity:0;}to{opacity:1;}}

.preview-shell{
  width:100%;
  max-width:1100px;
  background:transparent;
  position:relative;
  animation:preview-rise .25s ease-out;
}
@keyframes preview-rise{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

.preview-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  margin-bottom:14px;
}
.preview-bar-l{
  display:flex;align-items:center;gap:10px;
  color:#fff;
}
.preview-bar-icon{font-size:18px;}
.preview-bar-title{
  font:600 13px var(--fd);
  letter-spacing:-.1px;
}
.preview-bar-sub{
  font:400 11px var(--fb);
  color:rgba(255,255,255,.65);
}
.preview-close{
  width:32px;height:32px;
  border-radius:8px;border:none;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.preview-close:hover{background:rgba(255,255,255,.18);}

.preview-grid{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:14px;
  align-items:start;
}
.preview-col-label{
  font:600 10px var(--fd);
  color:rgba(255,255,255,.6);
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:8px;
  padding-left:4px;
}
.preview-frame{
  background:var(--white);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}

/* The list-card inside the preview frame, mimicking professionals' .lc */
.preview-listing-card{
  padding:20px;
  cursor:default;
}
.preview-listing-card .lt{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.preview-listing-card .ltit{
  font:700 15px var(--fd);
  color:var(--text);
  letter-spacing:-.2px;
  line-height:1.3;
  margin-bottom:4px;
}
.preview-listing-card .lcl{
  font:400 12px var(--fb);
  color:var(--text2);
  margin-bottom:2px;
}
.preview-listing-card .lcl-loc{
  font:400 11px var(--fb);
  color:var(--text3);
  margin-top:4px;
}
.preview-listing-card .lm{
  display:flex;flex-wrap:wrap;gap:6px;
}
.preview-listing-card .lb{
  display:inline-flex;align-items:center;
  font:700 9px var(--fd);
  letter-spacing:.6px;
  padding:3px 8px;
  border-radius:4px;
  white-space:nowrap;
}
.preview-listing-card .lb.co{background:#1f2937;color:#fff;}
.preview-listing-card .lb.pr{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff;}

/* Detail panel inside preview frame */
.preview-detail{padding:24px;}
.preview-detail .jd-hd{margin-bottom:20px;}
.preview-detail .jd-section{margin-top:18px;}
.preview-detail .jd-section-title{
  font:600 11px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.preview-detail .jd-desc{
  font:400 13px var(--fb);
  color:var(--text2);
  line-height:1.65;
}

/* Note badge inside preview indicating what the pro sees vs what the club entered */
.preview-note{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:10px;
  padding:6px 10px;
  background:rgba(99,102,241,.08);
  border:1px solid rgba(99,102,241,.2);
  border-radius:6px;
  font:500 10px var(--fd);
  color:#4338ca;
}
.preview-note .ico{font-size:11px;}

/* Mobile */
@media(max-width:780px){
  .preview-overlay{padding:16px 12px;}
  .preview-grid{grid-template-columns:1fr;}
}
/* ============================================================
   SPRINT 5 — Métricas premium + plan features clean + downgrade
   modal + Mensagens/Shortlist empty states
   ============================================================ */

/* ============================================================
   MÉTRICAS — KPI cards (top row)
   ============================================================ */
.met-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:20px;
}
.met-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px 20px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.met-card:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(15,23,42,.06);
}
.met-card-label{
  font:600 10px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.met-card-row{display:flex;align-items:baseline;gap:8px;}
.met-card-val{
  font:700 28px var(--fd);
  color:var(--text);
  letter-spacing:-1px;
  line-height:1;
}
.met-card-delta{
  font:600 11px var(--fd);
  color:var(--green);
  letter-spacing:.2px;
}
.met-card-delta.neg{color:var(--red);}
.met-card-delta.neu{color:var(--text3);}
.met-card-icon{
  width:32px;height:32px;
  border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;
  margin-bottom:10px;
}
.met-card-icon.amber{background:rgba(245,158,11,.12);color:var(--amber-dk);}
.met-card-icon.green{background:rgba(16,185,129,.12);color:#047857;}
.met-card-icon.blue {background:rgba(14,165,233,.12);color:#0369a1;}
.met-card-icon.violet{background:rgba(139,92,246,.12);color:#6d28d9;}

@media(max-width:900px){.met-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.met-grid{grid-template-columns:1fr;}}

/* ============================================================
   MÉTRICAS — Per-listing table
   ============================================================ */
.met-table-wrap{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:16px;
}
.met-table-hd{
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  font:600 13px var(--fd);
  color:var(--text);
  letter-spacing:-.1px;
}
.met-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.met-table thead th{
  font:600 10px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  padding:12px 20px;
  text-align:left;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.met-table thead th.num{text-align:right;}
.met-table tbody td{
  padding:14px 20px;
  border-bottom:1px solid var(--border);
  font:400 13px var(--fb);
  color:var(--text);
  vertical-align:middle;
}
.met-table tbody td.num{text-align:right;font-weight:600;font-family:var(--fd);}
.met-table tbody tr:last-child td{border-bottom:none;}
.met-table tbody tr{transition:background .15s;}
.met-table tbody tr:hover{background:var(--bg);}
.met-table-title-link{
  color:var(--text);
  font-weight:500;
  cursor:pointer;
  transition:color .15s;
}
.met-table-title-link:hover{color:var(--amber-dk);}
.met-status-tag{
  display:inline-flex;align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font:600 10px var(--fd);
  letter-spacing:.5px;
}
.met-status-tag.active{background:rgba(16,185,129,.12);color:#047857;}
.met-status-tag.closed{background:var(--bg2);color:var(--text3);}

/* ============================================================
   MÉTRICAS — Activity chart (multi-series line)
   ============================================================ */
.met-chart-wrap{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:20px;
  margin-bottom:16px;
}
.met-chart-hd{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
  flex-wrap:wrap;
  gap:8px;
}
.met-chart-title{
  font:600 13px var(--fd);
  color:var(--text);
}
.met-chart-legend{
  display:flex;gap:14px;flex-wrap:wrap;
}
.met-chart-legend-item{
  display:inline-flex;align-items:center;gap:6px;
  font:500 11px var(--fd);
  color:var(--text2);
}
.met-chart-legend-dot{
  width:10px;height:10px;border-radius:50%;
}
.met-chart-svg{
  width:100%;
  height:240px;
  display:block;
}
.met-chart-svg .grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:2,4;}
.met-chart-svg .axis-label{font:500 10px var(--fd);fill:var(--text3);}
.met-chart-svg .series{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.met-chart-svg .series-area{fill-opacity:.10;}
.met-chart-empty{
  text-align:center;
  padding:40px 20px;
  color:var(--text3);
  font-size:12px;
}

/* ============================================================
   PLAN PAGE — Features grid (replace ✅ emoji with clean check)
   ============================================================ */
.plan-feats-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
@media(max-width:640px){.plan-feats-grid{grid-template-columns:1fr;}}
.plan-feat{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  background:var(--bg2);
  border-radius:8px;
  font:500 12px var(--fd);
  color:var(--text);
  transition:background .15s;
}
.plan-feat-off{
  color:var(--text3);
  background:transparent;
  border:1px dashed var(--border);
}
.plan-feat-icon{
  width:18px;height:18px;
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.plan-feat-icon svg{width:10px;height:10px;}
.plan-feat-on .plan-feat-icon{background:rgba(245,158,11,.18);color:var(--amber-dk);}
.plan-feat-off .plan-feat-icon{background:var(--bg3);color:var(--text3);}

/* Plan page: hide that orphaned progress bar when limit is ∞ */
.plan-usage-bar.unlimited{display:none;}

/* ============================================================
   DOWNGRADE MODAL — replace native alert
   ============================================================ */
.dgm-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(3px);
  z-index:300;
  align-items:center;justify-content:center;
  padding:24px;
  animation:dgm-fade .18s ease-out;
}
.dgm-overlay.on{display:flex;}
@keyframes dgm-fade{from{opacity:0;}to{opacity:1;}}
.dgm-card{
  width:100%;max-width:480px;
  background:var(--white);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  overflow:hidden;
  animation:dgm-rise .22s ease-out;
}
@keyframes dgm-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.dgm-hd{
  padding:24px 24px 14px;
  display:flex;gap:14px;align-items:flex-start;
}
.dgm-icon{
  width:44px;height:44px;
  background:rgba(99,102,241,.10);
  color:#4338ca;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.dgm-titles{flex:1;}
.dgm-title{
  font:700 17px var(--fd);
  color:var(--text);
  letter-spacing:-.2px;
  margin-bottom:4px;
}
.dgm-sub{
  font:400 12px var(--fb);
  color:var(--text3);
  line-height:1.5;
}
.dgm-body{
  padding:6px 24px 18px;
  font:400 13px var(--fb);
  color:var(--text2);
  line-height:1.6;
}
.dgm-body strong{color:var(--text);}
.dgm-options{
  display:flex;flex-direction:column;gap:10px;
  padding:0 24px 6px;
}
.dgm-opt{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  text-align:left;
  background:var(--white);
}
.dgm-opt:hover{border-color:var(--amber);background:rgba(245,158,11,.04);}
.dgm-opt-icon{
  width:32px;height:32px;
  border-radius:8px;
  background:rgba(245,158,11,.12);
  color:var(--amber-dk);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
  flex-shrink:0;
}
.dgm-opt-body{flex:1;}
.dgm-opt-title{
  font:600 13px var(--fd);
  color:var(--text);
  margin-bottom:2px;
}
.dgm-opt-desc{
  font:400 11px var(--fb);
  color:var(--text3);
  line-height:1.5;
}
.dgm-ft{
  display:flex;justify-content:flex-end;gap:8px;
  padding:14px 24px 22px;
}
.dgm-ft .btn{font-size:12px;}

/* ============================================================
   MENSAGENS / SHORTLIST empty states (already styled via .empty-rich
   from Sprint 2; just override container layout)
   ============================================================ */
#shortlist .mn-c > .card{background:transparent;border:none;padding:0;}
/* ============================================================
   SPRINT 5b — Template tokens UX + Premium/Confidential cards
   + delete account double-confirm modal
   ============================================================ */

/* ============================================================
   MESSAGE TEMPLATE — clickable tokens
   ============================================================ */
.tpl-help{
  font:400 11px var(--fb);
  color:var(--text3);
  margin-bottom:8px;
  line-height:1.6;
}
.tpl-tokens{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-bottom:10px;
}
.tpl-token{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px 5px 8px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:6px;
  font:500 11px var(--fd);
  color:var(--text2);
  cursor:pointer;
  transition:background .15s, border-color .15s, color .15s, transform .1s;
  user-select:none;
}
.tpl-token:hover{
  background:rgba(245,158,11,.08);
  border-color:var(--amber);
  color:var(--text);
}
.tpl-token:active{transform:translateY(1px);}
.tpl-token-plus{
  font:600 12px var(--fd);
  color:var(--amber-dk);
  width:14px;height:14px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:4px;
  background:rgba(245,158,11,.14);
  flex-shrink:0;
}
.tpl-token-name{font-family:var(--fd);}
.tpl-token-name code{
  font-family:var(--fb);
  background:transparent;
  padding:0;
  font-size:11px;
}
.tpl-preview{
  margin-top:12px;
  padding:12px 14px;
  background:var(--bg);
  border:1px dashed var(--border);
  border-radius:8px;
  font:400 12px var(--fb);
  color:var(--text2);
  line-height:1.55;
  min-height:32px;
}
.tpl-preview-label{
  font:600 9px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:6px;
}

/* ============================================================
   PREMIUM / CONFIDENTIAL listing cards (when not yet patched
   from Sprint 3, or as a safety net)
   ============================================================ */
.lc-prem-grid{
  display:flex;flex-direction:column;gap:8px;
  margin-top:8px;
}
.lc-prem-card{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s;
}
.lc-prem-card:hover{
  transform:translateY(-1px);
  border-color:var(--amber);
  box-shadow:0 4px 14px rgba(15,23,42,.06);
}
.lc-prem-icon{
  width:36px;height:36px;
  border-radius:8px;
  background:rgba(245,158,11,.12);
  color:var(--amber-dk);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
  flex-shrink:0;
}
.lc-prem-icon.conf{
  background:rgba(99,102,241,.12);
  color:#4338ca;
}
.lc-prem-body{flex:1;min-width:0;}
.lc-prem-title{
  font:600 13px var(--fd);
  color:var(--text);
  margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lc-prem-meta{
  font:400 11px var(--fb);
  color:var(--text3);
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.lc-prem-meta-chip{
  display:inline-flex;align-items:center;
  padding:2px 8px;
  background:var(--bg2);
  border-radius:999px;
  font-size:10px;
  font-family:var(--fd);
  font-weight:500;
}
.lc-prem-arrow{
  font-size:14px;
  color:var(--text3);
  flex-shrink:0;
  transition:color .15s, transform .15s;
}
.lc-prem-card:hover .lc-prem-arrow{
  color:var(--amber-dk);
  transform:translateX(2px);
}

/* ============================================================
   DELETE ACCOUNT confirm modal
   ============================================================ */
.del-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(3px);
  z-index:300;
  align-items:center;justify-content:center;
  padding:24px;
  animation:dgm-fade .18s ease-out;
}
.del-overlay.on{display:flex;}
.del-card{
  width:100%;max-width:480px;
  background:var(--white);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  overflow:hidden;
  animation:dgm-rise .22s ease-out;
}
.del-hd{
  padding:24px 24px 14px;
  display:flex;gap:14px;align-items:flex-start;
}
.del-icon{
  width:44px;height:44px;
  background:rgba(239,68,68,.12);
  color:#b91c1c;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  flex-shrink:0;
}
.del-title{
  font:700 17px var(--fd);
  color:var(--text);
  letter-spacing:-.2px;
  margin-bottom:4px;
}
.del-sub{
  font:400 12px var(--fb);
  color:var(--text3);
  line-height:1.5;
}
.del-body{
  padding:6px 24px 16px;
  font:400 13px var(--fb);
  color:var(--text2);
  line-height:1.6;
}
.del-body strong{color:var(--text);}
.del-body ul{
  margin:10px 0;
  padding-left:18px;
  font-size:12px;
}
.del-body ul li{margin-bottom:4px;}
.del-confirm{
  padding:0 24px 16px;
}
.del-confirm-label{
  font:500 12px var(--fb);
  color:var(--text2);
  margin-bottom:8px;
  display:block;
}
.del-confirm-label strong{
  font-family:var(--fd);
  color:#b91c1c;
}
.del-confirm-input{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:8px;
  font:500 13px var(--fd);
  background:var(--bg);
  color:var(--text);
  box-sizing:border-box;
  letter-spacing:.5px;
}
.del-confirm-input:focus{
  outline:none;
  border-color:#b91c1c;
  background:var(--white);
}
.del-ft{
  display:flex;justify-content:flex-end;gap:8px;
  padding:14px 24px 22px;
  border-top:1px solid var(--border);
}
.del-btn-danger{
  background:#dc2626;color:#fff;
  border:none;
  padding:8px 14px;
  border-radius:8px;
  font:600 12px var(--fd);
  cursor:pointer;
  transition:background .15s;
}
.del-btn-danger:hover:not(:disabled){background:#b91c1c;}
.del-btn-danger:disabled{
  background:var(--bg3);
  color:var(--text3);
  cursor:not-allowed;
}

/* ============================================================
   SPRINT 3 CSS — included here because some users may not have
   appended it. Idempotent: duplicate rules are harmless.
   ============================================================ */
/* ============================================================
   SPRINT 3 — APPLICATIONS / CONFIDENCIAIS / PREMIUM polish
   Append to clubes.css (idempotent — safe to run twice if guarded)
   ============================================================ */

/* ===== APPLICATIONS TABLE — premium ===== */
.dt{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}
.dt thead th{
  font:600 10px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
  padding:14px 16px;
  text-align:left;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.dt tbody td{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  font-size:13px;
  color:var(--text);
  vertical-align:middle;
}
.dt tbody tr:last-child td{border-bottom:none;}
.dt tbody tr{transition:background .15s ease;}
.dt tbody tr:hover{background:var(--bg);}

/* Candidate name cell with avatar */
.app-cand{display:flex;align-items:center;gap:12px;}
.app-av{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font:700 12px var(--fd);color:#fff;
  letter-spacing:.5px;
  flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.app-av.ghost{
  background:linear-gradient(135deg,#475569 0%,#64748b 100%) !important;
  color:rgba(255,255,255,.85);
}
.app-cand-name{
  font:600 13px var(--fd);
  color:var(--text);
  letter-spacing:-.1px;
}

/* Status pills — refined */
.tg{
  display:inline-flex;align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font:600 10px var(--fd);
  letter-spacing:.6px;
  text-transform:uppercase;
  white-space:nowrap;
}
.tg.st{background:var(--bg2);color:var(--text2);}
.tg.am{background:rgba(245,158,11,.12);color:var(--amber-dk);}
.tg.gr{background:rgba(16,185,129,.12);color:#047857;}
.tg.bl{background:rgba(14,165,233,.12);color:#0369a1;}
.tg.rd{background:rgba(226,75,74,.12);color:var(--red);}

/* "Ver" button refinement in app rows */
.dt .btn-s{
  padding:6px 12px;
  font:600 11px var(--fd);
  letter-spacing:.3px;
}

/* Filter selects above the table — match chip pill style */
#filterAppsListing,
#filterAppsStatus{
  font:500 12px var(--fd) !important;
  padding:8px 32px 8px 14px !important;
  background:var(--white) !important;
  border:1px solid var(--border) !important;
  border-radius:999px !important;
  color:var(--text2) !important;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2364748b' d='M6 8.5L2 4.5h8z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
}
#filterAppsListing:hover,
#filterAppsStatus:hover{
  border-color:var(--border2) !important;
  background-color:var(--bg2) !important;
}

/* ===== LISTING CARDS (Confidenciais / Premium) ===== */
.lc-v2{
  display:flex;align-items:center;gap:16px;
  padding:18px 20px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:10px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lc-v2:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(15,23,42,.07);
  border-color:var(--border2);
}
.lc-v2-icon{
  width:44px;height:44px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.lc-v2-icon.conf{background:rgba(99,102,241,.12);color:#4f46e5;}
.lc-v2-icon.prem{background:rgba(245,158,11,.15);color:var(--amber-dk);}
.lc-v2-body{flex:1;min-width:0;}
.lc-v2-title{
  font:600 14px var(--fd);
  color:var(--text);
  letter-spacing:-.1px;
  margin-bottom:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lc-v2-meta{
  font:400 11px var(--fb);
  color:var(--text3);
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.lc-v2-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text3);opacity:.5;}
.lc-v2-meta-tag{
  display:inline-flex;align-items:center;
  padding:2px 8px;
  background:var(--bg2);
  border-radius:999px;
  font:600 10px var(--fd);
  color:var(--text2);
  letter-spacing:.3px;
}
.lc-v2-arrow{
  font-size:18px;
  color:var(--text3);
  transition:transform .15s, color .15s;
  flex-shrink:0;
}
.lc-v2:hover .lc-v2-arrow{transform:translateX(2px);color:var(--amber-dk);}

/* Container: header + cards (replaces the big white card-in-card) */
.lc-v2-wrap{margin-top:8px;}
.lc-v2-wrap-hd{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:12px;
  padding:0 4px;
}
.lc-v2-wrap-title{
  font:600 11px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
}
.lc-v2-wrap-count{
  font:600 11px var(--fd);
  color:var(--text2);
  letter-spacing:.3px;
}

/* Director gate — rich upsell card replacing the boring centered button */
.gate-card{
  background:linear-gradient(135deg,rgba(245,158,11,.06),rgba(245,158,11,.02));
  border:1px solid rgba(245,158,11,.35);
  border-radius:14px;
  padding:36px 28px;
  text-align:center;
}
.gate-icon{
  font-size:44px;line-height:1;
  margin-bottom:14px;
  display:block;
}
.gate-title{
  font:700 18px var(--fd);
  color:var(--text);
  letter-spacing:-.3px;
  margin-bottom:8px;
}
.gate-sub{
  font:400 13px var(--fb);
  color:var(--text2);
  line-height:1.6;
  max-width:480px;
  margin:0 auto 18px;
}
.gate-perks{
  display:flex;flex-wrap:wrap;gap:8px;
  justify-content:center;
  margin-bottom:22px;
}
.gate-perk{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(245,158,11,.25);
  border-radius:999px;
  font:500 11px var(--fd);
  color:var(--text);
  letter-spacing:.2px;
}
.gate-perk-check{color:var(--amber-dk);font-weight:700;}

/* Override the existing big white card on confidential & premium pages so the
   header flows directly into the new card list (no nested-card look). */
#confidential .mn-c > .card,
#premium_jobs .mn-c > .card{
  background:transparent;
  border:none;
  padding:0;
  text-align:left;
}
/* Hide the redundant emoji/title/sub block (we keep them only via header) */
#confidential .mn-c > .card > div:not(#confListingsContent),
#premium_jobs .mn-c > .card > div:not(#premListingsContent){
  display:none;
}

/* Mobile responsiveness for the apps table */
@media (max-width: 640px){
  .dt thead{display:none;}
  .dt tbody tr{
    display:block;
    padding:14px;
    border-bottom:1px solid var(--border);
  }
  .dt tbody td{
    display:block;
    padding:4px 0;
    border:none;
  }
  .dt tbody td:first-child{margin-bottom:8px;}
}
/* ============================================================
   SPRINT 5b hotfix #2 — fix text-align inheritance in lc-v2 cards
   The lc-v2 cards were inheriting text-align:center from a parent
   container, so titles + meta appeared centred instead of left-aligned.
   ============================================================ */
.lc-v2,
.lc-v2-body,
.lc-v2-title,
.lc-v2-meta{
  text-align:left;
}
/* ============================================================
   SPRINT 5c — Small delta badges on dashboard stat cards
   ============================================================ */
.dash2-stat-delta-small{
  display:inline;
  font:600 10px var(--fd);
  letter-spacing:.1px;
}
.dash2-stat-delta-small.pos{color:var(--green);}
.dash2-stat-delta-small.neg{color:var(--red);}
/* ============================================================
   SPRINT 5d — Clickable dashboard stat cards
   ============================================================ */
.dash2-stat-clickable{
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s;
}
.dash2-stat-clickable:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(15,23,42,.07);
  border-color:var(--amber);
}
.dash2-stat-clickable:active{
  transform:translateY(0);
}
/* ============================================================
   SPRINT 5d — Clickable dashboard stat cards
   ============================================================ */
.dash2-stat-clickable{
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s;
}
.dash2-stat-clickable:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(15,23,42,.07);
  border-color:var(--amber);
}
.dash2-stat-clickable:active{
  transform:translateY(0);
}

/* ============================================================
   SPRINT 5e v2 — Candidate review pipeline (visual)
   ============================================================ */

.sb5e-review-bar{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:16px;
}

/* Header — current status pill */
.sb5e-review-hd{
  display:flex;align-items:center;gap:10px;
  margin-bottom:14px;
}
.sb5e-review-hd-label{
  font:600 9px var(--fd);
  color:var(--text3);
  letter-spacing:1px;
  text-transform:uppercase;
}
.sb5e-status-pill{
  font:600 11px var(--fd);
  padding:4px 12px;
  border-radius:999px;
}
.sb5e-st-sent{background:var(--bg3);color:var(--text2);}
.sb5e-st-viewed{background:rgba(245,158,11,.14);color:var(--amber-dk);}
.sb5e-st-shortlisted{background:rgba(245,158,11,.14);color:var(--amber-dk);}
.sb5e-st-interview{background:rgba(14,165,233,.12);color:#0369a1;}
.sb5e-st-accepted{background:rgba(16,185,129,.14);color:#047857;}
.sb5e-st-rejected{background:rgba(239,68,68,.14);color:#b91c1c;}
.sb5e-st-withdrawn{background:var(--bg3);color:var(--text3);}

/* ============================================================
   Pipeline visual
   ============================================================ */
.sb5e-pipe{
  display:flex;align-items:center;gap:0;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.sb5e-pipe-step{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:8px 6px;
  border-radius:8px;
  transition:background .15s, transform .12s;
  min-width:0;
  flex-shrink:0;
}
.sb5e-pipe-step[onclick]{cursor:pointer;}
.sb5e-pipe-step[onclick]:hover{
  background:rgba(245,158,11,.06);
  transform:translateY(-1px);
}
.sb5e-pipe-icon{
  width:30px;height:30px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;
  flex-shrink:0;
}
.sb5e-pipe-lbl{
  font:600 10px var(--fd);
  letter-spacing:.2px;
  white-space:nowrap;
}
/* Done state */
.sb5e-pipe-done .sb5e-pipe-icon{
  background:rgba(16,185,129,.14);
  color:#047857;
}
.sb5e-pipe-done .sb5e-pipe-lbl{color:#047857;}
/* Current state — emphasise */
.sb5e-pipe-current .sb5e-pipe-icon{
  background:var(--amber);
  color:var(--white);
  box-shadow:0 0 0 4px rgba(245,158,11,.18);
}
.sb5e-pipe-current .sb5e-pipe-lbl{color:var(--text);}
.sb5e-pipe-current{cursor:default !important;}
.sb5e-pipe-current:hover{background:transparent !important;transform:none !important;}
/* Next state — muted */
.sb5e-pipe-next .sb5e-pipe-icon{
  background:var(--bg2);
  color:var(--text3);
  border:1px dashed var(--border);
}
.sb5e-pipe-next .sb5e-pipe-lbl{color:var(--text3);}

/* Connector bars */
.sb5e-pipe-bar{
  flex:1;
  height:2px;
  margin-top:14px; /* aligns with icon center */
  border-radius:1px;
  min-width:14px;
}
.sb5e-pipe-bar-done{background:rgba(16,185,129,.4);}
.sb5e-pipe-bar-next{background:var(--bg3);}

/* ============================================================
   Decision buttons (Aceitar / Rejeitar)
   ============================================================ */
.sb5e-decision{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.sb5e-decision-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 14px;
  border-radius:8px;
  font:600 12px var(--fd);
  cursor:pointer;
  transition:transform .12s, box-shadow .15s, background .15s, border-color .15s;
  border:1px solid;
}
.sb5e-decision-btn:hover{transform:translateY(-1px);}
.sb5e-decision-btn:active{transform:translateY(0);}
.sb5e-decision-icon{font-size:13px;line-height:1;}

.sb5e-decision-accept{
  background:rgba(16,185,129,.08);
  color:#047857;
  border-color:rgba(16,185,129,.3);
}
.sb5e-decision-accept:hover{
  background:#10b981;
  color:var(--white);
  border-color:#10b981;
  box-shadow:0 4px 12px rgba(16,185,129,.25);
}
.sb5e-decision-accept.active{
  background:#10b981;
  color:var(--white);
  border-color:#10b981;
}

.sb5e-decision-reject{
  background:rgba(239,68,68,.06);
  color:#b91c1c;
  border-color:rgba(239,68,68,.25);
}
.sb5e-decision-reject:hover{
  background:#dc2626;
  color:var(--white);
  border-color:#dc2626;
  box-shadow:0 4px 12px rgba(239,68,68,.22);
}
.sb5e-decision-reject.active{
  background:#dc2626;
  color:var(--white);
  border-color:#dc2626;
}

/* ============================================================
   Accept modal
   ============================================================ */
.sb5e-accept-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,23,42,.5);
  backdrop-filter:blur(3px);
  z-index:300;
  align-items:center;justify-content:center;
  padding:24px;
}
.sb5e-accept-overlay.on{display:flex;}
.sb5e-accept-card{
  width:100%;max-width:480px;
  background:var(--white);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  overflow:hidden;
}
.sb5e-accept-hd{
  padding:24px 24px 14px;
  display:flex;gap:14px;align-items:flex-start;
}
.sb5e-accept-icon{
  width:44px;height:44px;
  background:rgba(16,185,129,.14);
  color:#047857;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;
  flex-shrink:0;
}
.sb5e-accept-title{
  font:700 17px var(--fd);
  color:var(--text);
  letter-spacing:-.2px;
  margin-bottom:4px;
}
.sb5e-accept-sub{
  font:400 12px var(--fb);
  color:var(--text3);
  line-height:1.5;
}
.sb5e-accept-options{
  display:flex;flex-direction:column;gap:10px;
  padding:8px 24px 6px;
}
.sb5e-accept-opt{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  background:var(--white);
  text-align:left;
  transition:border-color .15s, background .15s, transform .1s;
}
.sb5e-accept-opt:hover{
  border-color:#10b981;
  background:rgba(16,185,129,.04);
}
.sb5e-accept-opt:active{transform:translateY(1px);}
.sb5e-accept-opt-icon{
  width:32px;height:32px;
  border-radius:8px;
  background:rgba(16,185,129,.12);
  color:#047857;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
  flex-shrink:0;
}
.sb5e-accept-opt-body{flex:1;display:flex;flex-direction:column;}
.sb5e-accept-opt-title{
  font:600 13px var(--fd);
  color:var(--text);
  margin-bottom:2px;
}
.sb5e-accept-opt-desc{
  font:400 11px var(--fb);
  color:var(--text3);
  line-height:1.5;
}
.sb5e-accept-ft{
  display:flex;justify-content:flex-end;gap:8px;
  padding:14px 24px 22px;
}
.sb5e-accept-ft .btn{font-size:12px;}

/* ============================================================
   Toast — same as v1
   ============================================================ */
.sb5e-toast{
  position:fixed;
  bottom:24px;left:50%;
  transform:translate(-50%, 20px);
  background:var(--text);
  color:var(--white);
  padding:11px 18px;
  border-radius:10px;
  font:500 12px var(--fd);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  z-index:9999;
  opacity:0;
  transition:opacity .25s ease, transform .25s ease;
  max-width:90vw;
  text-align:center;
}
.sb5e-toast.on{
  opacity:1;
  transform:translate(-50%, 0);
}
/* ============================================================
   SPRINT 5e v2 hotfix — stronger pipeline current step
   ============================================================ */

/* Make the current step icon bigger and more prominent */
.sb5e-pipe-current .sb5e-pipe-icon{
  width:38px !important;
  height:38px !important;
  font-size:16px !important;
  background:var(--amber) !important;
  color:var(--white) !important;
  box-shadow:0 0 0 5px rgba(245,158,11,.20),
             0 4px 10px rgba(245,158,11,.30) !important;
  position:relative;
  z-index:1;
}
.sb5e-pipe-current .sb5e-pipe-lbl{
  color:var(--text) !important;
  font-weight:700 !important;
}

/* Adjust connector bars to align with the larger current-step icon */
.sb5e-pipe-bar{
  margin-top:18px !important; /* was 14, bumped because current icon is 38 not 30 */
}
/* ============================================================
   SPRINT 5f — Cover message card on candidate detail
   ============================================================ */

.sb5e-cover-msg{
  background:var(--white);
  border:1px solid var(--border);
  border-left:3px solid var(--amber);
  border-radius:10px;
  padding:14px 16px;
  margin-bottom:16px;
}

.sb5e-cover-msg-hd{
  display:flex;align-items:center;gap:8px;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.sb5e-cover-msg-icon{
  font-size:14px;
  flex-shrink:0;
}
.sb5e-cover-msg-title{
  font:600 11px var(--fd);
  color:var(--text);
  letter-spacing:.2px;
  flex:1;
}
.sb5e-cover-msg-date{
  font:500 10px var(--fd);
  color:var(--text3);
  white-space:nowrap;
}

.sb5e-cover-msg-body{
  font:400 13px var(--fb);
  color:var(--text);
  line-height:1.6;
  white-space:pre-wrap;
  word-wrap:break-word;
}

/* ============================================================
 * SPRINT C1 — jd2 listing detail (ported from profissionais.css)
 * Rendered inside #listingDetail .mn-c#ldContent
 * ============================================================ */

/* HERO — header com avatar + título + clube */
.jd2-hero{position:relative;padding:24px 24px 20px;background:linear-gradient(180deg,var(--bg2) 0%,transparent 100%);border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;}
.jd2-hero-conf{background:linear-gradient(180deg,#1f293708 0%,transparent 100%);}
.jd2-hero-prem{background:linear-gradient(180deg, rgba(245,158,11,.08) 0%, transparent 80%);}
.jd2-hero-row{display:flex;align-items:flex-start;gap:14px;}
.jd2-hero-avatar{width:56px;height:56px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--bg3);box-shadow:0 1px 3px rgba(0,0,0,.05);}
.jd2-hero-avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--amber-lt),#FDE68A);color:var(--amber-dk);font-family:var(--fd);font-size:18px;font-weight:700;}
.jd2-hero-text{flex:1;min-width:0;padding-top:2px;}
.jd2-hero-title{font-family:var(--fd);font-size:20px;font-weight:700;line-height:1.25;margin:0 0 4px;color:var(--text);letter-spacing:-.01em;}
.jd2-hero-sub{font-size:13px;color:var(--text2);font-weight:500;line-height:1.4;}
.jd2-hero-sub-sep{color:var(--text3);margin:0 2px;}
.jd2-hero-badges{position:absolute;top:14px;right:16px;display:flex;gap:6px;}
.jd2-badge{font-family:var(--fd);font-size:9px;font-weight:700;letter-spacing:.6px;padding:4px 9px;border-radius:4px;text-transform:uppercase;line-height:1;display:inline-flex;align-items:center;}
.jd2-badge-conf{background:rgba(30,30,30,.9);color:#fff;}

/* DETAILS GRID — 3-col cells (mais espaço no full-page do clube vs slide-over do pro) */
.jd2-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg);}
.jd2-cell{background:var(--bg2);border-radius:8px;padding:10px 12px;}
.jd2-cell-l{font-family:var(--fd);font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);margin-bottom:3px;}
.jd2-cell-v{font-family:var(--fd);font-size:13px;font-weight:600;color:var(--text);line-height:1.3;}

/* SECTIONS — descrição, requisitos, candidatos, ações */
.jd2-section{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg);}
.jd2-section:last-of-type{border-bottom:none;border-radius:0 0 10px 10px;}
.jd2-section-t{font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--amber-dk);margin-bottom:10px;}

/* PROSE — descrição / requisitos */
.jd2-prose{font-size:13px;color:var(--text2);line-height:1.7;}
.jd2-prose br + br{display:block;content:"";margin-top:.5em;}

/* APPLICANTS LIST — clube-side specific (não existe no pro) */
.jd2-applicants{display:flex;flex-direction:column;gap:0;}
.jd2-app{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bg3);}
.jd2-app:last-child{border-bottom:none;}
.jd2-app-av{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--bg3);}
.jd2-app-av-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--amber-lt),#FDE68A);color:var(--amber-dk);font-family:var(--fd);font-size:13px;font-weight:700;}
.jd2-app-av-fallback.ghost{background:var(--bg3);color:var(--text3);}
.jd2-app-text{flex:1;min-width:0;}
.jd2-app-name{font-family:var(--fd);font-size:13px;font-weight:600;color:var(--text);line-height:1.3;}
.jd2-app-role{font-size:11px;color:var(--text3);margin-top:1px;}

/* Wrap todas as jd2-* secções num card visual */
#ldContent{padding:0;}
#ldContent .jd2-hero,
#ldContent .jd2-grid,
#ldContent .jd2-section{box-shadow:none;}

/* Mobile */
@media (max-width:760px){
  .jd2-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .jd2-grid{grid-template-columns:1fr;}
  .jd2-hero{padding:20px 16px 16px;}
  .jd2-grid,.jd2-section{padding-left:16px;padding-right:16px;}
  .jd2-hero-badges{top:10px;right:10px;}
}

/* SPRINT C1 P1 PERF — profile panel skeleton shimmer */
.cp-skel-box{background:var(--bg3);}
.cp-skel > .cp-skel-box{animation:cp-skel-pulse 1.4s ease-in-out infinite;}
@keyframes cp-skel-pulse{
  0%, 100% { opacity: .35; }
  50%      { opacity: .65; }
}
