:root{
  --bg:#0B0F17; --panel:#131926; --panel2:#1B2333; --border:#232C3E;
  --text:#E6EAF2; --muted:#8A94A7; --accent:#FB923C; --green:#22C55E; --blue:#38BDF8; --red:#F87171;
  --radius:12px; --font:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;}
a{color:var(--blue);}
.hidden{display:none!important;}

/* ---- login ---- */
#login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.login-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:380px;}
.login-card h1{font-size:20px;margin-bottom:4px;}
.login-card p{color:var(--muted);font-size:14px;margin-bottom:20px;}
.login-card input{width:100%;padding:12px 14px;margin-bottom:12px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;}
.login-card button{width:100%;padding:12px;background:var(--accent);border:none;border-radius:10px;color:#111;font-weight:600;font-size:15px;cursor:pointer;}
.login-err{color:var(--red);font-size:13px;margin-top:8px;min-height:18px;}

/* ---- shell ---- */
header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:10;flex-wrap:wrap;}
header h1{font-size:16px;font-weight:700;}
header .spacer{flex:1;}
header select,header input{background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;font-family:inherit;}
header button{background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 12px;font-size:13px;cursor:pointer;}
header button:hover{border-color:var(--accent);}
main{padding:24px;max-width:1100px;margin:0 auto;}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px;}
.filters label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px;}

/* ---- KPIs ---- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;}
.kpi .v{font-size:26px;font-weight:700;}
.kpi .l{font-size:12px;color:var(--muted);margin-top:2px;}
.kpi .s{font-size:12px;margin-top:4px;}
.kpi.green .v{color:var(--green);} .kpi.blue .v{color:var(--blue);} .kpi.accent .v{color:var(--accent);}

/* ---- funil ---- */
.section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:24px;}
.section h2{font-size:15px;margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.section h2 select{margin-left:auto;}
.funnel-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.funnel-row .name{width:180px;font-size:13px;color:var(--muted);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.funnel-bar{flex:1;background:var(--panel2);border-radius:6px;height:26px;position:relative;overflow:hidden;}
.funnel-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent),#fb7185);border-radius:6px;transition:width .4s ease;}
.funnel-bar .txt{position:absolute;inset:0;display:flex;align-items:center;padding:0 10px;font-size:12px;font-weight:600;}
.funnel-row .drop{width:70px;text-align:right;font-size:12px;color:var(--red);flex-shrink:0;}

/* ---- tabela ---- */
.tbl-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:12px;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;}
th{color:var(--muted);font-weight:600;}
.badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;}
.badge.concluida{background:rgba(34,197,94,.15);color:var(--green);}
.badge.abandonada{background:rgba(248,113,113,.15);color:var(--red);}
.badge.em_andamento{background:rgba(56,189,248,.15);color:var(--blue);}
.empty{color:var(--muted);text-align:center;padding:40px;}
