/* ══ TOKENS ══════════════════════════════════════════════════════════ */
:root {
  --roxo:#593254; --roxo-d:#3F2139; --roxo-l:#F7F0F5; --roxo-ll:#FBF6FA;
  --mag:#CB2A8B; --mag-d:#A01F6E; --mag-l:#FDE8F4;
  --lilas:#7C6E9E; --lilas-l:#EDE9F7;
  --verde:#059669; --verde-l:#ECFDF5;
  --amber:#D97706; --amber-l:#FFFBEB;
  --azul:#0284C7; --azul-l:#E0F2FE;
  --red:#DC2626; --red-l:#FEF2F2;
  --text:#1C1030; --muted:#7A7090; --border:#EAE5F0; --bg:#F9F7FC; --white:#fff;
  --ft:'Comfortaa',sans-serif; --fb:'DM Sans',sans-serif;
  --sb:240px; --sb-mini:64px; --header:58px;
  --r:10px; --r-sm:6px; --r-lg:16px;
  --shadow:0 2px 16px rgba(89,50,84,.08); --shadow-l:0 8px 40px rgba(89,50,84,.14);
  --trans:.2s ease; --trans-sb:.28s cubic-bezier(.4,0,.2,1);
  /* aliases legados */
  --ej-roxo:var(--roxo); --ej-roxo-d:var(--roxo-d); --ej-roxo-l:var(--roxo-l);
  --ej-mag:var(--mag); --ej-mag-d:var(--mag-d); --ej-mag-l:var(--mag-l);
  --ej-verde:var(--verde); --ej-verde-l:var(--verde-l);
  --ej-amber:var(--amber); --ej-azul:var(--azul);
  --ej-red:var(--red); --ej-red-l:var(--red-l);
  --ej-texto:var(--text); --ej-muted:var(--muted);
  --ej-borda:var(--border); --ej-bg:var(--bg); --ej-white:var(--white);
  --ej-font-title:var(--ft); --ej-font-body:var(--fb);
  --ej-sb-w:var(--sb); --ej-sb-mini:var(--sb-mini);
  --ej-header-h:var(--header); --ej-radius:var(--r); --ej-radius-sm:var(--r-sm);
  --ej-shadow:var(--shadow); --ej-shadow-lg:var(--shadow-l);
  --ej-container:1080px; --ej-z-header:100; --ej-z-sidebar:200; --ej-z-modal:300; --ej-z-toast:400;
}

/* ══ RESET ════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--fb);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:var(--mag);text-decoration:none;}
ul{list-style:none;}
img{display:block;max-width:100%;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-thumb{background:rgba(89,50,84,.2);border-radius:4px;}

/* ══ BOTÕES ═══════════════════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r-sm);font-family:var(--fb);font-weight:600;font-size:.9rem;cursor:pointer;border:2px solid transparent;transition:all .18s;text-decoration:none;white-space:nowrap;min-height:44px;}
.btn-primary{background:var(--mag);color:#fff;}
.btn-primary:hover{background:var(--mag-d);color:#fff;box-shadow:0 4px 16px rgba(203,42,139,.35);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--roxo);border-color:var(--roxo);}
.btn-outline:hover{background:var(--roxo-l);}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3);}
.btn-ghost:hover{background:rgba(255,255,255,.2);}
.btn-verde{background:var(--verde);color:#fff;}
.btn-verde:hover{background:#047857;color:#fff;}
.btn-amber{background:var(--amber);color:#fff;}
.btn-red{background:var(--red);color:#fff;}
.btn-sm{padding:6px 14px;font-size:.82rem;min-height:36px;}
.btn-full{width:100%;justify-content:center;}

/* ══ BADGES ═══════════════════════════════════════════════════════════ */
.badge,.ej-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.badge-roxo,.ej-badge--roxo{background:var(--roxo-l);color:var(--roxo);}
.badge-mag,.ej-badge--mag{background:var(--mag-l);color:var(--mag-d);}
.badge-verde,.ej-badge--verde{background:var(--verde-l);color:var(--verde);}
.badge-amber,.ej-badge--amber{background:var(--amber-l);color:var(--amber);}
.badge-azul,.ej-badge--azul{background:var(--azul-l);color:var(--azul);}
.badge-red,.ej-badge--red{background:var(--red-l);color:var(--red);}
.badge-lilas,.ej-badge--lilas{background:var(--lilas-l);color:var(--lilas);}

/* ══ CARD ══════════════════════════════════════════════════════════════ */
.card,.ej-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:22px;box-shadow:var(--shadow);}
.avatar,.ej-avatar{border-radius:50%;object-fit:cover;}

/* ══ HEADER PÚBLICO ═══════════════════════════════════════════════════ */
.pub-header,.ej-header{position:sticky;top:0;z-index:var(--ej-z-header,100);background:var(--white);border-bottom:1px solid var(--border);height:var(--header);display:flex;align-items:center;box-shadow:0 1px 8px rgba(89,50,84,.06);}
.pub-header-inner,.ej-header__inner{max-width:var(--ej-container,1080px);margin:0 auto;width:100%;padding:0 20px;display:flex;align-items:center;gap:16px;}
.logo{font-family:var(--ft);font-weight:700;font-size:1.1rem;color:var(--roxo);}
.pub-nav,.ej-header__nav{display:flex;gap:4px;flex:1;margin-left:24px;}
.pub-nav a,.ej-header__nav a{padding:6px 14px;border-radius:var(--r-sm);font-size:.9rem;font-weight:500;color:var(--text);transition:all .15s;}
.pub-nav a:hover,.pub-nav a.active,.ej-header__nav a:hover,.ej-header__nav a.active{background:var(--roxo-l);color:var(--roxo);}
.header-actions,.ej-header__actions{display:flex;align-items:center;gap:8px;margin-left:auto;}

/* ══ PORTAL ═══════════════════════════════════════════════════════════ */
.portal-hero{background:linear-gradient(135deg,var(--roxo-d) 0%,var(--roxo) 55%,#7B3E6E 100%);padding:52px 24px 44px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.portal-hero::before{content:'⚖️';position:absolute;right:-20px;top:-20px;font-size:200px;opacity:.04;line-height:1;pointer-events:none;}
.portal-hero h1{font-family:var(--ft);color:#fff;font-size:2rem;margin-bottom:10px;}
.portal-hero p{color:rgba(255,255,255,.78);font-size:1rem;margin-bottom:28px;}
.search-box{max-width:680px;margin:0 auto;background:#fff;border-radius:50px;display:flex;align-items:center;padding:6px 6px 6px 20px;box-shadow:0 8px 32px rgba(0,0,0,.2);gap:10px;}
.search-box input{flex:1;border:none;outline:none;font-family:var(--fb);font-size:.95rem;color:var(--text);background:transparent;min-height:36px;}
.search-box select{border:none;outline:none;background:transparent;font-family:var(--fb);font-size:.88rem;color:var(--muted);cursor:pointer;padding:0 8px;border-left:1px solid var(--border);}
.portal-wrap{max-width:1080px;margin:0 auto;padding:28px 24px;}
.filter-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border);align-items:flex-end;}
.filter-tab{padding:8px 18px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:.88rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;min-height:40px;}
.filter-tab.active{color:var(--mag);border-bottom-color:var(--mag);}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* ══ OPP CARDS ════════════════════════════════════════════════════════ */
.opp-card,.ej-opp-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:12px;}
.opp-card:hover,.ej-opp-card:hover{box-shadow:var(--shadow-l);transform:translateY(-3px);border-color:var(--roxo-l);}
.opp-card.affirmative,.ej-opp-card.affirmative{border-left:3px solid var(--mag);}
.opp-empresa{display:flex;align-items:center;gap:10px;}
.opp-logo,.ej-opp-card__logo{width:38px;height:38px;border-radius:8px;background:var(--roxo-l);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;overflow:hidden;}
.opp-empresa-name,.ej-opp-card__empresa{font-size:.8rem;color:var(--muted);}
.opp-title,.ej-opp-card__title{font-weight:700;color:var(--roxo);font-size:.95rem;line-height:1.3;}
.opp-tags,.ej-opp-card__tags{display:flex;flex-wrap:wrap;gap:5px;}
.opp-tag,.ej-opp-card__tag{background:var(--roxo-l);color:var(--lilas);padding:2px 9px;border-radius:20px;font-size:.73rem;font-weight:500;}
.opp-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--muted);}
.opp-meta i{color:var(--lilas);width:12px;}
.opp-valor,.ej-opp-card__orcamento{color:var(--verde);font-weight:700;font-size:.88rem;}
.opp-footer,.ej-opp-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border);}
.opp-time{font-size:.76rem;color:var(--muted);}
.affirmative-pill{display:inline-flex;align-items:center;gap:5px;background:var(--mag-l);color:var(--mag-d);padding:3px 10px;border-radius:20px;font-size:.73rem;font-weight:600;}

/* ══ SIDEBAR DASHBOARD (recolhível) ═══════════════════════════════════ */
.dash-layout{display:flex;min-height:calc(100vh - var(--header));}
.sidebar{
  width:var(--sb);background:var(--roxo-d);
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;
  overflow-y:auto;overflow-x:hidden;
  transition:width var(--trans-sb);
  flex-shrink:0;
}
.sidebar.collapsed{width:var(--sb-mini);}
.sidebar::-webkit-scrollbar{width:3px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px;}

/* Quando collapsed, esconde textos */
.sidebar.collapsed .sb-logo-text,
.sidebar.collapsed .sb-user-info,
.sidebar.collapsed .sb-label,
.sidebar.collapsed .sb-section-label,
.sidebar.collapsed .sb-count,
.sidebar.collapsed .sb-type-toggle span:not(.sb-type-btn),
.sidebar.collapsed .sb-type-toggle{opacity:0;width:0;overflow:hidden;pointer-events:none;margin:0;padding:0;}
.sidebar.collapsed .sb-item{justify-content:center;padding:12px 0;}
.sidebar.collapsed .sb-item i{margin:0;width:auto;}
.sidebar.collapsed .sb-toggle .toggle-text{display:none;}
.sidebar.collapsed .sb-toggle i{transform:rotate(180deg);}
.sidebar.collapsed .sb-logo{padding:14px 0;justify-content:center;}
.sidebar.collapsed .sb-user{padding:10px 0;justify-content:center;}
.sidebar.collapsed .sb-section-label{height:0;overflow:hidden;}

/* Logo e user */
.sb-logo{padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;}
.sb-logo-text{font-family:var(--ft);font-size:.95rem;color:#fff;white-space:nowrap;transition:opacity var(--trans-sb);}
.sb-user{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px;cursor:pointer;}
.sb-user-info .name{font-size:.83rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
.sb-user-info .plan{font-size:.71rem;color:rgba(255,255,255,.45);}
.sb-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--mag);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.82rem;flex-shrink:0;overflow:hidden;}

/* Toggle recolher */
.sb-toggle{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;padding:6px 16px;display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;font-size:.75rem;transition:color .15s;}
.sb-toggle:hover{color:rgba(255,255,255,.7);}
.sb-toggle i{transition:transform var(--trans-sb);font-size:.8rem;}

/* Toggle Projetos/Vagas */
.sb-type-toggle{margin:10px 12px 6px;background:rgba(255,255,255,.06);border-radius:var(--r-sm);display:flex;padding:3px;gap:2px;flex-shrink:0;}
.sb-type-btn{flex:1;padding:7px 6px;border-radius:calc(var(--r-sm) - 2px);font-size:.75rem;font-weight:600;border:none;cursor:pointer;background:none;color:rgba(255,255,255,.5);transition:all .15s;text-align:center;white-space:nowrap;}
.sb-type-btn.active{background:var(--mag);color:#fff;box-shadow:0 2px 8px rgba(203,42,139,.3);}
.sb-type-btn.vagas.active{background:var(--roxo);}

/* Navegação */
.sb-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.25);padding:14px 16px 4px;white-space:nowrap;overflow:hidden;}
.sb-nav{flex:1;padding:8px 0;}
.sb-item{display:flex;align-items:center;gap:10px;padding:11px 16px;color:rgba(255,255,255,.62);font-size:.875rem;font-weight:500;text-decoration:none;border-left:3px solid transparent;transition:all .15s;cursor:pointer;min-height:44px;overflow:hidden;}
.sb-item i{width:16px;text-align:center;font-size:.85rem;color:rgba(255,255,255,.4);flex-shrink:0;}
.sb-label{flex:1;white-space:nowrap;overflow:hidden;}
.sb-count{background:var(--mag);color:#fff;border-radius:10px;padding:1px 7px;font-size:.7rem;font-weight:700;flex-shrink:0;}
.sb-item:hover{background:rgba(255,255,255,.06);color:#fff;}
.sb-item:hover i{color:rgba(255,255,255,.75);}
.sb-item.active{background:rgba(203,42,139,.2);border-left-color:var(--mag);color:#fff;font-weight:600;}
.sb-item.active i{color:var(--mag);}
.sb-item.locked{opacity:.32;pointer-events:none;}
.sb-footer{padding:12px 0;border-top:1px solid rgba(255,255,255,.07);}

/* Main */
.dash-main{flex:1;padding:24px;overflow-x:hidden;min-width:0;}
.dash-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.dash-page-title{font-family:var(--ft);font-size:1.3rem;color:var(--roxo);}
.dash-page-sub{font-size:.875rem;color:var(--muted);margin-top:3px;}

/* Mobile toggle */
.mob-toggle{display:none;position:fixed;top:68px;left:14px;z-index:220;background:var(--roxo);color:#fff;border:none;border-radius:8px;width:42px;height:42px;cursor:pointer;font-size:.95rem;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(89,50,84,.3);}
.sb-overlay{display:none;position:fixed;inset:0;background:rgba(63,33,57,.5);z-index:198;}
.sb-overlay.open{display:block;}

/* Admin sidebar variante */
.admin-sidebar{background:#1A1030;}
.admin-sidebar .sb-item{color:rgba(255,255,255,.55);}
.admin-sidebar .sb-item.active{background:rgba(255,255,255,.08);border-left-color:var(--mag);color:#fff;}
.admin-sidebar .sb-section-label{color:rgba(255,255,255,.2);}
.admin-sidebar .sb-user-info .plan{color:rgba(255,255,255,.35);}

/* ══ MÉTRICAS ═════════════════════════════════════════════════════════ */
.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.metric{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:16px 18px;box-shadow:var(--shadow);}
.metric-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:1rem;}
.mi-mag{background:var(--mag-l);color:var(--mag);}
.mi-roxo{background:var(--roxo-l);color:var(--roxo);}
.mi-azul{background:var(--azul-l);color:var(--azul);}
.mi-verde{background:var(--verde-l);color:var(--verde);}
.mi-amber{background:var(--amber-l);color:var(--amber);}
.metric-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.metric-value{font-family:var(--ft);font-size:1.6rem;font-weight:700;color:var(--roxo);line-height:1.1;}
.metric-trend{font-size:.74rem;color:var(--muted);margin-top:3px;}
.metric-trend.up{color:var(--verde);}

/* ══ GATE ALERT ═══════════════════════════════════════════════════════ */
.gate-alert{background:var(--amber-l);border:1px solid var(--amber);border-radius:var(--r);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:.875rem;flex-wrap:wrap;}
.gate-alert i{color:var(--amber);flex-shrink:0;}

/* ══ TABELAS ══════════════════════════════════════════════════════════ */
.table-wrap{background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow);}
.table-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);}
.table-title{font-family:var(--ft);font-size:.95rem;font-weight:700;color:var(--roxo);}
table{width:100%;border-collapse:collapse;}
th{background:var(--roxo-l);color:var(--roxo);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:10px 16px;text-align:left;}
td{padding:12px 16px;border-top:1px solid var(--border);font-size:.875rem;}
tr:hover td{background:var(--roxo-ll);}

/* ══ LAYOUT COLS ══════════════════════════════════════════════════════ */
.dash-cols{display:grid;grid-template-columns:1fr 300px;gap:18px;}
.dash-cols-equal{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

/* ══ KANBAN ═══════════════════════════════════════════════════════════ */
.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;}
.kanban-col{min-width:220px;background:var(--roxo-l);border-radius:var(--r);padding:12px;flex-shrink:0;}
.kanban-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.kanban-col-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--roxo);}
.kanban-col-count{background:var(--roxo);color:#fff;border-radius:10px;padding:1px 7px;font-size:.72rem;}
.kanban-card{background:var(--white);border-radius:var(--r-sm);border:1px solid var(--border);padding:12px;margin-bottom:8px;cursor:pointer;transition:all .15s;}
.kanban-card:hover{box-shadow:var(--shadow-l);border-color:var(--roxo);}
.kanban-card-title{font-weight:600;font-size:.85rem;color:var(--roxo);margin-bottom:4px;}
.kanban-card-meta{font-size:.75rem;color:var(--muted);}
.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}

/* ══ CHAT ═════════════════════════════════════════════════════════════ */
.chat-wrap{display:flex;flex-direction:column;}
.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--roxo-ll);border-radius:var(--r) var(--r) 0 0;border:1px solid var(--border);border-bottom:none;}
.msg{max-width:75%;padding:10px 14px;border-radius:12px;font-size:.88rem;line-height:1.5;}
.msg-in{background:var(--white);border-bottom-left-radius:3px;align-self:flex-start;border:1px solid var(--border);}
.msg-out{background:var(--roxo);color:#fff;border-bottom-right-radius:3px;align-self:flex-end;}
.msg-time{font-size:.7rem;opacity:.55;display:block;margin-top:4px;}
.chat-input{display:flex;gap:10px;padding:12px;background:var(--white);border:1px solid var(--border);border-radius:0 0 var(--r) var(--r);}
.chat-input input{flex:1;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;font-family:var(--fb);font-size:.88rem;min-height:44px;}
.chat-input input:focus{outline:none;border-color:var(--roxo);}

/* ══ TIMELINE ═════════════════════════════════════════════════════════ */
.timeline{display:flex;flex-direction:column;gap:0;}
.timeline-item{display:flex;gap:14px;position:relative;}
.timeline-item::before{content:'';position:absolute;left:17px;top:34px;bottom:-14px;width:2px;background:var(--border);}
.timeline-item:last-child::before{display:none;}
.timeline-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;z-index:1;}
.timeline-icon.done{background:var(--verde);color:#fff;}
.timeline-icon.active{background:var(--mag);color:#fff;}
.timeline-icon.pending{background:var(--border);color:var(--muted);}
.timeline-body{flex:1;padding-bottom:20px;}
.timeline-title{font-weight:700;color:var(--roxo);font-size:.9rem;}
.timeline-sub{font-size:.82rem;color:var(--muted);}

/* ══ PERFIL ═══════════════════════════════════════════════════════════ */
.profile-strength{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:16px;margin-bottom:16px;box-shadow:var(--shadow);}
.profile-strength-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin:8px 0;}
.profile-strength-fill{height:100%;background:linear-gradient(90deg,var(--mag),var(--roxo));border-radius:4px;}
.perfil-hero{background:linear-gradient(135deg,var(--roxo-d),var(--roxo));padding:28px 24px 0;}
.perfil-top{display:flex;gap:20px;align-items:flex-start;max-width:1080px;margin:0 auto;flex-wrap:wrap;}
.perfil-avatar{width:110px;height:110px;border-radius:50%;border:4px solid white;background:var(--roxo);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--ft);font-size:2rem;font-weight:700;flex-shrink:0;overflow:hidden;}
.perfil-name{font-family:var(--ft);color:#fff;font-size:1.7rem;margin-bottom:4px;}
.perfil-headline{color:rgba(255,255,255,.8);font-size:.98rem;margin-bottom:10px;}
.perfil-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.15);color:#fff;padding:3px 10px;border-radius:20px;font-size:.73rem;font-weight:600;}
.perfil-section{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:22px;margin-bottom:12px;box-shadow:var(--shadow);}
.perfil-section-title{font-family:var(--ft);font-size:1rem;font-weight:700;color:var(--roxo);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.exp-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);}
.exp-item:last-child{border:none;padding-bottom:0;}
.exp-icon{width:40px;height:40px;border-radius:8px;background:var(--roxo-l);color:var(--roxo);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.skill-tag{background:var(--roxo-l);color:var(--roxo);padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;}
.skill-tag.area{background:var(--mag-l);color:var(--mag-d);}

/* ══ PLANOS ═══════════════════════════════════════════════════════════ */
.planos-hero{background:linear-gradient(135deg,var(--roxo-d),var(--roxo));padding:48px 24px 40px;text-align:center;}
.planos-hero h1{font-family:var(--ft);color:#fff;font-size:2rem;margin-bottom:8px;}
.planos-hero p{color:rgba(255,255,255,.75);}
.planos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto;}
.plano-card{background:var(--white);border-radius:var(--r-lg);border:2px solid var(--border);padding:28px 24px;display:flex;flex-direction:column;gap:12px;position:relative;transition:all .2s;}
.plano-card:hover{border-color:var(--roxo);box-shadow:var(--shadow-l);}
.plano-card.popular{border-color:var(--mag);box-shadow:0 8px 32px rgba(203,42,139,.15);}
.plano-popular-pill{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--mag);color:#fff;padding:3px 16px;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap;}
.plano-name{font-size:.85rem;font-weight:600;color:var(--muted);}
.plano-price{font-family:var(--ft);font-size:2.4rem;font-weight:700;color:var(--roxo);line-height:1;}
.plano-price span{font-size:1rem;color:var(--muted);font-weight:400;}
.plano-feature{display:flex;align-items:flex-start;gap:8px;font-size:.88rem;}
.plano-feature-check{color:var(--verde);font-weight:700;flex-shrink:0;}

/* ══ AUTH ═════════════════════════════════════════════════════════════ */
.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--roxo-d),var(--roxo));display:flex;align-items:center;justify-content:center;padding:24px;}
.auth-box{background:var(--white);border-radius:var(--r-lg);padding:36px 32px;width:100%;max-width:460px;box-shadow:var(--shadow-l);}
.auth-title{font-family:var(--ft);font-size:1.25rem;color:var(--roxo);margin-bottom:4px;}
.auth-sub{font-size:.88rem;color:var(--muted);margin-bottom:24px;}
.tipo-tabs{display:flex;gap:0;margin-bottom:24px;background:var(--roxo-l);border-radius:var(--r-sm);padding:3px;}
.tipo-tab{flex:1;padding:10px;text-align:center;cursor:pointer;border-radius:calc(var(--r-sm) - 2px);font-size:.88rem;font-weight:600;color:var(--muted);transition:all .15s;border:none;background:none;min-height:44px;}
.tipo-tab.active{background:var(--white);color:var(--roxo);box-shadow:var(--shadow);}

/* ══ FORMULÁRIOS ══════════════════════════════════════════════════════ */
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.form-label,.ej-form-label{font-size:.82rem;font-weight:600;color:var(--roxo);}
.form-input,.ej-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--fb);font-size:.93rem;color:var(--text);background:var(--white);min-height:44px;transition:border-color var(--trans);}
.form-input:focus,.ej-input:focus{outline:none;border-color:var(--roxo);box-shadow:0 0 0 3px rgba(89,50,84,.1);}
.form-select{width:100%;padding:11px 36px 11px 14px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--fb);font-size:.93rem;color:var(--text);background:var(--white);min-height:44px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23593254' fill='none' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-select:focus{outline:none;border-color:var(--roxo);}
.form-hint{font-size:.78rem;color:var(--muted);}
textarea.form-input{resize:vertical;min-height:100px;}

/* ══ TAG INPUT (habilidades com campo livre) ══════════════════════════ */
.tag-input-wrap{border:1.5px solid var(--border);border-radius:var(--r-sm);padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;min-height:44px;cursor:text;transition:border-color var(--trans);background:var(--white);}
.tag-input-wrap:focus-within{border-color:var(--roxo);box-shadow:0 0 0 3px rgba(89,50,84,.1);}
.tag-chip{background:var(--roxo-l);color:var(--roxo);padding:3px 10px 3px 12px;border-radius:20px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:6px;}
.tag-chip-remove{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.75rem;padding:0;line-height:1;}
.tag-chip-remove:hover{color:var(--red);}
.tag-input-field{border:none;outline:none;font-family:var(--fb);font-size:.88rem;flex:1;min-width:120px;background:transparent;}

/* ══ DEI ══════════════════════════════════════════════════════════════ */
.dei-card{background:linear-gradient(135deg,var(--verde-l),#D1FAE5);border:1px solid rgba(5,150,105,.2);border-radius:var(--r);padding:20px;}
.dei-option{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1.5px solid var(--border);border-radius:var(--r-sm);margin-bottom:8px;cursor:pointer;transition:all .15s;background:var(--white);}
.dei-option.checked,.dei-option:has(input:checked){border-color:var(--verde);background:var(--verde-l);}
.dei-option input{margin-top:3px;accent-color:var(--verde);width:16px;height:16px;}
.dei-sub-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.dei-sub-option{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;min-height:32px;}
.dei-sub-option input{accent-color:var(--verde);width:15px;height:15px;}

/* ══ MODAL ════════════════════════════════════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(63,33,57,.5);z-index:var(--ej-z-modal,300);align-items:center;justify-content:center;padding:16px;}
.modal-overlay.open{display:flex;}
.modal{background:var(--white);border-radius:var(--r-lg);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-l);}
.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-title{font-family:var(--ft);font-size:1.05rem;color:var(--roxo);}
.modal-body{padding:20px 24px;}
.modal-footer{padding:14px 24px 20px;display:flex;gap:10px;justify-content:flex-end;}

/* ══ TOAST ════════════════════════════════════════════════════════════ */
.ej-toast-area,.toast-area{position:fixed;bottom:24px;right:24px;z-index:var(--ej-z-toast,400);display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.ej-toast,.toast{padding:12px 18px;border-radius:var(--r-sm);font-size:.88rem;font-weight:500;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2);max-width:320px;}
.ej-toast--success,.toast-success{background:var(--verde);}
.ej-toast--error,.toast-error{background:var(--red);}
.ej-toast--info,.toast-info{background:var(--roxo);}

/* ══ FINANCEIRO ADMIN ═════════════════════════════════════════════════ */
.finance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.finance-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow);border-top:3px solid var(--roxo);}
.finance-card.receita{border-top-color:var(--verde);}
.finance-card.volume{border-top-color:var(--azul);}
.finance-card.saques{border-top-color:var(--amber);}
.finance-card-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:6px;}
.finance-card-value{font-family:var(--ft);font-size:1.8rem;font-weight:700;color:var(--roxo);}

/* ══ FRONT-PAGE ═══════════════════════════════════════════════════════ */
.front-hero{background:linear-gradient(135deg,var(--roxo-d) 0%,var(--roxo) 60%,#675B8B 100%);padding:72px 0 64px;text-align:center;}
.front-hero h1{font-family:var(--ft);color:#fff;font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin-bottom:16px;max-width:720px;margin-inline:auto;}
.front-hero p{color:rgba(255,255,255,.75);font-size:1.1rem;max-width:540px;margin:0 auto 36px;line-height:1.7;}
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;padding:64px 24px;}
.feature-card{background:var(--roxo-l);border-radius:var(--r);padding:24px;border:1px solid var(--border);}
.feature-icon{font-size:1.8rem;margin-bottom:12px;}
.feature-title{font-family:var(--ft);color:var(--roxo);font-size:1rem;margin-bottom:8px;}
.feature-desc{color:var(--muted);font-size:.88rem;line-height:1.65;}

/* ══ EMPTY STATE ══════════════════════════════════════════════════════ */
.ej-empty{text-align:center;padding:48px 24px;color:var(--muted);}
.ej-empty__icon{font-size:2.5rem;margin-bottom:12px;}
.ej-empty__title{font-family:var(--ft);color:var(--roxo);font-size:1.05rem;margin-bottom:8px;}

/* ══ RESPONSIVO ═══════════════════════════════════════════════════════ */
@media (max-width:1024px){
  .sidebar{
    position:fixed;top:0;left:0;height:100vh;
    transform:translateX(-100%);
    transition:transform var(--trans-sb);
    z-index:var(--ej-z-sidebar,200);
    width:var(--sb) !important;
  }
  .sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.25);}
  .sidebar.collapsed{width:var(--sb) !important;transform:translateX(-100%);}
  .dash-main{margin-left:0 !important;padding:14px;padding-top:70px;}
  .mob-toggle{display:flex !important;}
}
@media (max-width:768px){
  .portal-grid{grid-template-columns:1fr;}
  .metrics-row{grid-template-columns:repeat(2,1fr);}
  .dash-cols,.dash-cols-equal{grid-template-columns:1fr;}
  .planos-grid{grid-template-columns:1fr;max-width:380px;margin-inline:auto;}
  .portal-hero h1{font-size:1.5rem;}
  .search-box select{display:none;}
  .finance-cards{grid-template-columns:1fr 1fr;}
  .pub-nav{display:none;}
  .cand-layout{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .portal-wrap{padding:16px 14px;}
  .opp-footer{flex-direction:column;gap:8px;}
  .opp-footer .btn{width:100%;justify-content:center;}
  .metrics-row{gap:8px;}
  .metric{padding:12px 14px;}
  .metric-value{font-size:1.3rem;}
  .dash-page-header{flex-direction:column;}
  .dash-page-header>.btn,.dash-page-header>div:last-child{width:100%;}
  .dash-page-header>.btn,.dash-page-header>div:last-child .btn{width:100%;justify-content:center;}
  .gate-alert{flex-direction:column;align-items:flex-start;}
  .gate-alert .btn{width:100%;margin-left:0;}
  .auth-box{padding:24px 16px;}
  .finance-cards{grid-template-columns:1fr;}
  .kanban{padding-bottom:16px;}
  .kanban-col{min-width:200px;}
  .filter-tab{padding:8px 10px;font-size:.8rem;}
}
