:root {
  --ink:#16213a;--ink-soft:#51607e;--ink-faint:#8d99b2;
  --paper:#f3f5f9;--card:#fff;--line:#e2e7f0;
  --blue:#1f5eff;--blue-soft:#e8efff;
  --purple:#7b3ff2;--purple-soft:#f0e9fe;
  --ok:#0e9f6e;--ok-soft:#e3f5ee;
  --warn:#d98a06;--warn-soft:#fdf3e0;
  --late:#d6334b;--late-soft:#fdebee;
  --radius:12px;--shadow:0 1px 2px rgba(22,33,58,.06),0 4px 14px rgba(22,33,58,.05);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);font-size:14px;min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace}

/* HEADER */
header{background:var(--ink);color:#fff;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9fb0d4;font-weight:600}
.brand h1{font-family:'Archivo',sans-serif;font-size:20px;font-weight:800}
.topnav{display:flex;gap:4px;flex-wrap:wrap}
.topnav a{font-size:12px;font-weight:600;color:#9fb0d4;text-decoration:none;padding:6px 11px;border-radius:7px;white-space:nowrap}
.topnav a.active{background:#22304f;color:#fff}
.topnav a:hover{color:#fff}
.header-controls{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
select,button.primary,input[type=text]{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;border-radius:8px;padding:8px 12px;cursor:pointer}
header select{border:1px solid #3b4a6e;background:#22304f;color:#dbe4f5}
button.primary{border:none;background:var(--blue);color:#fff;display:flex;align-items:center;gap:6px;transition:background .15s}
button.primary:hover{background:#1849c9}
button.primary:disabled{background:#3b4a6e;cursor:wait}
.updated-at{font-size:12px;color:#9fb0d4}

/* LOAD */
#loadbar{height:3px}
#loadbar .fill{height:100%;width:0%;background:linear-gradient(90deg,var(--blue),#6f9bff);transition:width .4s}
#loadstatus{font-size:12px;color:var(--ink-faint);padding:7px 24px;display:none}

/* FILTER BAR */
#filterbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:8px 24px;display:none;gap:8px;align-items:center;flex-wrap:wrap}
#filterbar.on{display:flex}
#filterbar label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
#filterbar select,#filterbar input{background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:500}
#filterbar input{cursor:text;min-width:180px}
#filterbar .clear{font-size:12px;color:var(--blue);cursor:pointer;font-weight:600;background:none;border:none}
.quick-btns{display:flex;gap:6px}
.qbtn{font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 11px;cursor:pointer;transition:all .12s}
.qbtn:hover,.qbtn.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* MAIN */
main{padding:18px 24px 48px;max-width:1600px;margin:0 auto}
.section-label{font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:24px 0 11px;display:flex;align-items:center;gap:10px}
.section-label::after{content:"";flex:1;height:1px;background:var(--line)}
.scope{text-transform:none;letter-spacing:0;font-family:'Inter';font-weight:500;color:var(--blue)}

/* KPIS */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.kpi{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 15px;border-top:3px solid var(--line)}
.kpi .num{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:700;line-height:1.1}
.kpi .lbl{font-size:11.5px;color:var(--ink-soft);font-weight:600;margin-top:3px}
.kpi .sub{font-size:10.5px;color:var(--ink-faint);margin-top:2px}
.kpi.tone-late{border-top-color:var(--late)}.kpi.tone-late .num{color:var(--late)}
.kpi.tone-warn{border-top-color:var(--warn)}.kpi.tone-warn .num{color:var(--warn)}
.kpi.tone-ok{border-top-color:var(--ok)}.kpi.tone-ok .num{color:var(--ok)}
.kpi.tone-blue{border-top-color:var(--blue)}.kpi.tone-blue .num{color:var(--blue)}
.kpi.tone-purple{border-top-color:var(--purple)}.kpi.tone-purple .num{color:var(--purple)}
.kpi.tone-teal{border-top-color:#0891b2}.kpi.tone-teal .num{color:#0891b2}

/* CHARTS */
.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.charts-grid canvas{max-height:200px}

/* CARD */
.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:12px;align-items:start}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}
.card h3{font-family:'Archivo',sans-serif;font-size:14px;font-weight:700;margin-bottom:3px}
.card .hint{font-size:12px;color:var(--ink-faint);margin-bottom:12px}

/* ANALYST ROWS */
.an-row{display:grid;grid-template-columns:155px 1fr 220px;gap:10px;align-items:center;padding:9px 5px;border-bottom:1px solid var(--line);border-radius:8px;cursor:pointer;transition:background .12s}
.an-row:hover{background:#f6f8fc}.an-row.active{background:var(--blue-soft)}.an-row:last-child{border-bottom:none}
.an-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.an-name .sub{display:block;font-size:10.5px;color:var(--ink-faint);font-weight:500}
.an-bar{display:flex;height:16px;border-radius:4px;overflow:hidden;background:#edf0f6}
.seg-late{background:var(--late)}.seg-pend{background:var(--warn)}.seg-plan{background:var(--blue)}
.an-stats{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft);text-align:right;white-space:nowrap}
.an-stats b{color:var(--ink)}
.legend{display:flex;gap:14px;font-size:11px;color:var(--ink-soft);margin-bottom:10px;flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:5px}
.dot{width:8px;height:8px;border-radius:2px;display:inline-block}
.dot.late{background:var(--late)}.dot.pend{background:var(--warn)}.dot.plan{background:var(--blue)}.dot.ok{background:var(--ok)}

/* CHIPS / BADGES */
.chip{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap}
.chip.blue{background:var(--blue-soft);color:var(--blue)}.chip.late{background:var(--late-soft);color:var(--late)}
.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.gray{background:#eef0f5;color:var(--ink-soft)}
.jbadge{font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;letter-spacing:.03em;white-space:nowrap}
.jbadge.crm{background:var(--blue-soft);color:var(--blue)}.jbadge.produto{background:var(--purple-soft);color:var(--purple)}.jbadge.outra{background:#eef0f5;color:var(--ink-soft)}

/* TABLE */
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding:7px 9px;border-bottom:2px solid var(--line)}
td{padding:8px 9px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#f8fafd}
.t-title{font-weight:600;max-width:340px}.t-sub{font-size:11px;color:var(--ink-faint);margin-top:2px;font-weight:400}
.days-late{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--late)}
.heat{display:inline-block;width:7px;height:22px;border-radius:3px;vertical-align:middle}
.empty{text-align:center;padding:32px 16px;color:var(--ink-faint);font-size:13px}

/* DETAIL EXPAND */
.t-row{cursor:pointer}.caret{color:var(--ink-faint);font-size:10px;margin-right:3px}
.t-detail td{background:#f8fafd;border-bottom:1px solid var(--line)}
.detail-box{padding:6px 4px 10px}
.detail-desc{font-size:12px;color:var(--ink-soft);line-height:1.55;max-width:700px;margin-bottom:8px}
.detail-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft);margin-bottom:10px}
.detail-meta b{color:var(--ink);font-weight:600}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#fff;background:var(--blue);border-radius:7px;padding:6px 12px;text-decoration:none;transition:background .15s}
.btn-link:hover{background:#1849c9}
.btn-link.ghost{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.btn-link.ghost:hover{background:var(--blue-soft)}

/* SLA */
.sla-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin-bottom:12px}
.sla-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;border-top:4px solid var(--line);cursor:pointer;transition:transform .12s,box-shadow .12s}
.sla-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(22,33,58,.1)}
.sla-card.tone-ok{border-top-color:var(--ok)}.sla-card.tone-warn{border-top-color:var(--warn)}.sla-card.tone-late{border-top-color:var(--late)}.sla-card.tone-gray{border-top-color:var(--ink-faint)}
.sla-num{font-family:'JetBrains Mono',monospace;font-size:32px;font-weight:700;line-height:1.1}
.sla-card.tone-ok .sla-num{color:var(--ok)}.sla-card.tone-warn .sla-num{color:var(--warn)}.sla-card.tone-late .sla-num{color:var(--late)}.sla-card.tone-gray .sla-num{color:var(--ink-faint)}
.sla-label{font-size:12px;font-weight:700;color:var(--ink);margin-top:3px}
.sla-sub{font-size:11px;color:var(--ink-faint);margin-top:2px;margin-bottom:8px}
.sla-bar-wrap{height:4px;background:#edf0f6;border-radius:3px;overflow:hidden}
.sla-bar-fill{height:100%;border-radius:3px;transition:width .4s}
.sla-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sla-detail-header h3{font-family:'Archivo',sans-serif;font-size:14px;font-weight:700}

/* CHECKLIST BAR */
.check-bar-wrap{display:flex;align-items:center;gap:6px;margin-top:5px}
.check-bar-bg{flex:1;height:5px;background:#edf0f6;border-radius:3px;overflow:hidden;min-width:50px}
.check-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.check-bar-lbl{font-size:10.5px;color:var(--ink-faint);white-space:nowrap;font-family:'JetBrains Mono',monospace}

/* PAGER */
footer{text-align:center;font-size:11px;color:var(--ink-faint);padding:20px}
.pager{font-size:12px;color:var(--ink-faint);padding:10px 0 0;text-align:center}
.pager button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 11px;cursor:pointer;font-weight:600;color:var(--blue);margin:0 4px}

/* ══ KANBAN ══ */
.kb-page{padding:16px 0 48px}
.kb-header{padding:0 20px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kb-header h2{font-family:'Archivo',sans-serif;font-size:16px;font-weight:800}
.day-banner{background:var(--blue-soft);border-radius:10px;padding:12px 18px;margin:0 0 14px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.day-banner .day-label{font-weight:700;font-size:13px;color:var(--blue)}
.day-banner .day-item{font-size:12px;color:var(--ink-soft)}
.kb-wrap{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding:0 0 16px;min-width:0}
.kb-wrap::-webkit-scrollbar{height:6px}.kb-wrap::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
.kb-col{background:#eef0f6;border-radius:10px;width:320px;min-width:320px;flex-shrink:0}
.kb-head{padding:11px 14px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;border-top:3px solid var(--line);border-radius:10px 10px 0 0}
.kb-col.late .kb-head{border-top-color:var(--late)}.kb-col.today .kb-head{border-top-color:var(--warn)}.kb-col.week .kb-head{border-top-color:var(--blue)}.kb-col.backlog .kb-head{border-top-color:#9aa6c0}.kb-col.done .kb-head{border-top-color:var(--ok)}
.kb-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft);background:#fff;border-radius:5px;padding:2px 7px}
.kb-body{padding:8px;max-height:72vh;overflow-y:auto}
.kb-body::-webkit-scrollbar{width:4px}.kb-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}
.kb-card{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:10px 12px;margin-bottom:8px;border-left:3px solid transparent}
.kb-col.late .kb-card{border-left-color:var(--late)}.kb-col.today .kb-card{border-left-color:var(--warn)}.kb-col.week .kb-card{border-left-color:var(--blue)}.kb-col.done .kb-card{border-left-color:var(--ok)}
.kb-client{font-size:10.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.kb-title{font-size:13px;font-weight:600;line-height:1.35}
.kb-meta{font-size:11px;color:var(--ink-faint);margin-top:5px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kb-late{color:var(--late);font-weight:700}
.kb-link{font-size:11px;font-weight:600;color:var(--blue);text-decoration:none}
.kb-link:hover{text-decoration:underline}
.kb-noact{font-size:10px;font-weight:700;background:var(--warn-soft);color:var(--warn);border-radius:4px;padding:1px 5px}

/* CALENDAR */
.cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cal-nav button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 13px;cursor:pointer;font-weight:700;font-size:13px;color:var(--ink)}
.cal-nav button:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.cal-title{font-family:'Archivo',sans-serif;font-size:16px;font-weight:800;flex:1}
.cal-mode{display:flex;gap:4px}
.cal-mode button{font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600;color:var(--ink-soft)}
.cal-mode button.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.cal-grid{display:grid;gap:8px}
.cal-grid.week{grid-template-columns:repeat(7,1fr)}
.cal-grid.fortnight{grid-template-columns:repeat(7,1fr)}
.cal-grid.month{grid-template-columns:repeat(7,1fr)}
.cal-day{background:var(--card);border-radius:8px;min-height:90px;padding:8px;box-shadow:var(--shadow);border-top:2px solid var(--line)}
.cal-day.today-day{border-top-color:var(--blue);background:#f8faff}
.cal-day.weekend{background:#fafbfd}
.cal-day-label{font-size:11px;font-weight:700;color:var(--ink-faint);margin-bottom:5px;display:flex;justify-content:space-between}
.cal-day-label .dn{font-size:10px}
.cal-task{font-size:11px;background:var(--blue-soft);color:var(--blue);border-radius:4px;padding:2px 6px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-weight:500}
.cal-task.late{background:var(--late-soft);color:var(--late)}.cal-task.today{background:var(--warn-soft);color:var(--warn)}.cal-task.done{background:var(--ok-soft);color:var(--ok)}
.cal-more{font-size:10px;color:var(--ink-faint);padding:1px 4px;cursor:pointer}

/* GP */
.gp-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:12px;border-left:4px solid var(--purple)}
.gp-client{font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.gp-title{font-size:14px;font-weight:700;margin-bottom:6px}
.gp-meta{font-size:12px;color:var(--ink-faint);margin-bottom:10px;display:flex;gap:12px;flex-wrap:wrap}
.gp-comment-area{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;font-family:'Inter',sans-serif;resize:vertical;min-height:70px;outline:none;transition:border .15s}
.gp-comment-area:focus{border-color:var(--purple)}
.gp-send{margin-top:7px;background:var(--purple);color:#fff;border:none;border-radius:7px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}
.gp-send:hover{background:#6830d4}
.gp-send:disabled{background:#c4b0f0;cursor:wait}
.gp-ok{font-size:12px;color:var(--ok);margin-top:5px;display:none}
.gp-err{font-size:12px;color:var(--late);margin-top:5px;display:none}

/* SETUP */
#setup{max-width:540px;margin:50px auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 36px}
#setup h2{font-family:'Archivo',sans-serif;font-size:20px;margin-bottom:8px}
#setup p{font-size:13px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px}
#setup .note{font-size:12px;color:var(--ink-faint);background:var(--paper);border-radius:8px;padding:10px 14px;line-height:1.5}

/* ── KPI split CRM/Produto ── */
.kpi-split{display:flex;gap:8px;margin-top:5px;flex-wrap:wrap}
.kpi-sub-item{font-size:11px;font-weight:700;border-radius:5px;padding:2px 8px}
.kpi-sub-item.crm{background:var(--blue-soft);color:var(--blue)}
.kpi-sub-item.produto{background:var(--purple-soft);color:var(--purple)}

/* ── Nav item visibility ── */
/* Nav items hidden by default — JS shows them for authorized roles */
.nav-coord, .nav-analista, .nav-gp { display: none; }

/* ── Backlog por analista — 3 blocos ── */
.an-block{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer;
  transition:background .12s, border-color .15s;overflow:hidden}
.an-block:hover{background:#f8fafd;border-color:#c8d0e4}
.an-block.active{background:var(--blue-soft);border-color:var(--blue)}
.an-block-name{font-weight:700;font-size:13px;padding:10px 14px 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.an-block-rows{padding:0 14px 10px;display:flex;flex-direction:column;gap:5px}
.an-sub-row{display:grid;grid-template-columns:80px 90px 1fr 140px;gap:8px;align-items:center}
.an-sub-label{font-size:10px;font-weight:800;border-radius:5px;padding:2px 6px;text-align:center;letter-spacing:.04em}
.an-sub-label.crm{background:var(--blue-soft);color:var(--blue)}
.an-sub-label.produto{background:var(--purple-soft);color:var(--purple)}
.an-sub-label.apoio{background:#fdf3e0;color:#d98a06}
.an-sub-unit{font-size:11.5px;color:var(--ink-soft);font-family:'JetBrains Mono',monospace;white-space:nowrap}
.an-bar-sm{height:14px}
.qbtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 12px;
  font-size:12px;font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;color:var(--ink-soft)}
.qbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
