/* ════════════════════════════════════════════════════════════════
   dashboard-v3.css — Dashboard novo (curado, premium)
   • Bloco ÚNICO "Equipe em movimento" (igual p/ todos)
   • Atalhos personalizados (4 + panorama) · híbrido auto+fixar
   • Tema premium atrelado ao toggle do sistema:
        claro  → PLATINUM (cinza-azulado + acentos quentes)
        escuro → ONYX (vidro escuro + dourado)
   Classes prefixadas d3- para não colidir com o sistema.
   ════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=JetBrains+Mono:wght@500;600;700&display=swap');

/* ── Tokens · PLATINUM (claro, default) ── */
#page-dashboard{
  --d3-fdisplay:'Fraunces',Georgia,serif;
  --d3-fui:'DM Sans','Inter',system-ui,sans-serif;
  --d3-fmono:'JetBrains Mono',monospace;
  --d3-rlg:18px; --d3-rmd:13px; --d3-rsm:9px;

  --d3-bg:#E7ECF3;
  --d3-grad:radial-gradient(112% 70% at 88% -12%, rgba(214,176,120,.18), transparent 55%),
            radial-gradient(96% 66% at -2% -6%, rgba(45,95,176,.13), transparent 55%);
  --d3-surface:#FFFFFF; --d3-surface2:#F1F5FB; --d3-surface3:#FFFFFF;
  --d3-line:#E0E6F0; --d3-line2:#D1D9E8; --d3-hair:rgba(166,132,63,.42);
  --d3-ink:#17223C; --d3-ink2:#505E79; --d3-ink3:#8893A8;
  --d3-navy:#1C3566; --d3-gold:#A6843F; --d3-goldb:#C8A869; --d3-golds:#F5EEDD;
  --d3-blue:#2B5BA8; --d3-blues:#E6EEF9;
  --d3-teal:#0E7367; --d3-teals:#DFF1ED;
  --d3-rose:#B8456C; --d3-roses:#FBE8F0;
  --d3-slate:#56627B; --d3-slates:#E9EDF5;
  --d3-amber:#B07A18; --d3-ambers:#FBF0DA;
  --d3-green:#15784A; --d3-greens:#E1F1E9;
  --d3-line-acc:linear-gradient(90deg,#2D5FB0,#C8A869 68%,transparent);
  --d3-sh:0 1px 2px rgba(28,40,72,.05), 0 12px 28px -16px rgba(28,45,90,.20);
}
/* ── Tokens · ONYX (escuro) ── */
[data-theme="dark"] #page-dashboard{
  --d3-bg:#080C16;
  --d3-grad:radial-gradient(120% 70% at 88% -10%, rgba(212,179,106,.10), transparent 52%),
            radial-gradient(90% 65% at -2% 0%, rgba(43,76,126,.20), transparent 55%);
  --d3-surface:rgba(255,255,255,.04); --d3-surface2:rgba(255,255,255,.025); --d3-surface3:rgba(255,255,255,.06);
  --d3-line:rgba(255,255,255,.075); --d3-line2:rgba(255,255,255,.13); --d3-hair:rgba(212,179,106,.42);
  --d3-ink:#ECEFF6; --d3-ink2:#A2ACC0; --d3-ink3:#6A7488;
  --d3-navy:#C7D3EC; --d3-gold:#D4B36A; --d3-goldb:#E4C880; --d3-golds:rgba(212,179,106,.12);
  --d3-blue:#74A0E0; --d3-blues:rgba(91,140,210,.16);
  --d3-teal:#5FD0BF; --d3-teals:rgba(45,176,154,.16);
  --d3-rose:#E78CAC; --d3-roses:rgba(208,108,146,.18);
  --d3-slate:#9AA6BC; --d3-slates:rgba(154,166,188,.13);
  --d3-amber:#E7B765; --d3-ambers:rgba(214,160,80,.18);
  --d3-green:#5FCF94; --d3-greens:rgba(45,176,114,.16);
  --d3-line-acc:linear-gradient(90deg,var(--d3-goldb),transparent 65%);
  --d3-sh:0 1px 0 rgba(255,255,255,.03) inset, 0 16px 36px -22px rgba(0,0,0,.72);
}

#page-dashboard{
  background:var(--d3-grad),var(--d3-bg) !important;
  padding:0 !important;
  font-family:'Inter',system-ui,sans-serif;
}
.d3{max-width:1320px;margin:0 auto;padding:24px 26px 60px;color:var(--d3-ink)}
.d3 *{box-sizing:border-box}

/* command bar */
.d3-cmd{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:4px 2px 20px}
.d3-greet{font-family:var(--d3-fui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--d3-gold)}
.d3-name{font-family:var(--d3-fdisplay);font-size:32px;font-weight:500;letter-spacing:-.01em;color:var(--d3-ink);line-height:1.05;margin-top:3px}
.d3-name span{color:var(--d3-ink3);font-weight:400}
.d3-csub{font-size:13px;color:var(--d3-ink2);margin-top:7px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.d3-csub .dot{width:4px;height:4px;border-radius:50%;background:var(--d3-ink3)}
.d3-cact{display:flex;gap:9px;flex-wrap:wrap}
.d3-btn{font-family:var(--d3-fui);font-size:13px;font-weight:600;color:var(--d3-ink);background:var(--d3-surface);border:1px solid var(--d3-line2);border-radius:11px;padding:9px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.16s;box-shadow:var(--d3-sh)}
.d3-btn:hover{border-color:var(--d3-hair);transform:translateY(-1px)}
.d3-btn svg{width:15px;height:15px}
.d3-btn.primary{background:var(--d3-navy);color:#fff;border-color:var(--d3-navy)}
[data-theme="dark"] .d3-btn.primary{background:linear-gradient(180deg,var(--d3-goldb),var(--d3-gold));color:#12151f;border-color:transparent}

/* section label */
.d3-seclab{display:flex;align-items:center;gap:11px;margin:4px 2px 13px;flex-wrap:wrap}
.d3-seclab .h{font-family:var(--d3-fui);font-size:13px;font-weight:700;color:var(--d3-ink)}
.d3-seclab .sub{font-size:12px;color:var(--d3-ink3)}
.d3-seclab .sub svg{width:12px;height:12px;vertical-align:-2px;color:var(--d3-gold)}
.d3-seclab .grow{flex:1}
.d3-scope{font-family:var(--d3-fui);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.d3-scope.all{background:var(--d3-navy);color:#fff}
[data-theme="dark"] .d3-scope.all{background:rgba(199,211,236,.12);color:var(--d3-navy)}
.d3-scope.me{background:var(--d3-golds);color:var(--d3-gold);border:1px solid var(--d3-hair)}
.d3-scope svg{width:11px;height:11px}

/* atalhos */
.d3-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.d3-sc{position:relative;overflow:hidden;background:var(--d3-surface);border:1px solid var(--d3-line);border-radius:var(--d3-rlg);padding:15px 15px 14px;box-shadow:var(--d3-sh);cursor:pointer;transition:.18s;display:flex;flex-direction:column;min-height:172px}
.d3-sc:hover{transform:translateY(-3px);border-color:var(--d3-hair)}
.d3-sc::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--d3-line-acc);opacity:.9}
.d3-sc-hd{display:flex;align-items:center;gap:11px}
.d3-sc-ic{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--d3-golds);color:var(--d3-gold);box-shadow:inset 0 0 0 1px var(--d3-hair)}
.d3-sc-ic svg{width:19px;height:19px}
.d3-sc-name{font-family:var(--d3-fui);font-size:14.5px;font-weight:700;color:var(--d3-ink);letter-spacing:-.01em;display:flex;flex-direction:column;gap:1px;min-width:0}
.d3-sc-rank{font-family:var(--d3-fui);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--d3-ink3);display:inline-flex;align-items:center;gap:3px}
.d3-sc-rank.pinned{color:var(--d3-gold)}
.d3-sc-rank svg{width:10px;height:10px}
.d3-sc-act{margin-left:auto;display:flex;align-items:center;gap:1px}
.d3-pin{width:24px;height:24px;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;cursor:pointer;color:var(--d3-ink3);opacity:0;transition:.16s}
.d3-sc:hover .d3-pin{opacity:1}
.d3-pin:hover{color:var(--d3-gold);background:var(--d3-golds)}
.d3-pin.on{opacity:1;color:var(--d3-gold)}
.d3-pin svg{width:15px;height:15px}
.d3-sc-open{width:20px;height:20px;display:grid;place-items:center;color:var(--d3-ink3);transition:.16s}
.d3-sc:hover .d3-sc-open{color:var(--d3-gold);transform:translateX(2px)}
.d3-sc-open svg{width:15px;height:15px}
.d3-sc-hero{display:flex;align-items:baseline;gap:7px;margin:14px 0 2px}
.d3-sc-num{font-family:var(--d3-fdisplay);font-size:30px;font-weight:500;color:var(--d3-ink);line-height:.95;letter-spacing:-.02em}
.d3-sc-num small{font-size:15px;color:var(--d3-ink3);font-weight:400}
.d3-sc-lab{font-size:12px;color:var(--d3-ink2);font-weight:500}
.d3-sc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.d3-chip{font-family:var(--d3-fui);font-size:11px;font-weight:600;color:var(--d3-ink2);background:var(--d3-surface2);border:1px solid var(--d3-line);border-radius:8px;padding:4px 8px;display:inline-flex;align-items:center;gap:5px}
.d3-chip .pt{width:6px;height:6px;border-radius:50%}
.d3-sc-hl{margin-top:auto;padding-top:12px;display:flex}
.d3-sc-hl .box{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--d3-rsm);font-size:12px;font-weight:500;line-height:1.3}
.d3-sc-hl svg{width:14px;height:14px;flex:none}
.d3-tone-warn .box{background:var(--d3-golds);color:var(--d3-gold)}
.d3-tone-urgent .box{background:var(--d3-roses);color:var(--d3-rose)}
.d3-tone-ok .box{background:var(--d3-greens);color:var(--d3-green)}
.d3-tone-info .box{background:var(--d3-blues);color:var(--d3-blue)}
.d3-sc-empty{margin-top:auto;padding-top:12px;font-size:12px;color:var(--d3-ink3);display:flex;align-items:center;gap:7px}
.d3-sc-empty svg{width:14px;height:14px}

/* grid */
.d3-grid{display:grid;grid-template-columns:1.34fr 1fr;gap:18px;align-items:start}
.d3-card{background:var(--d3-surface);border:1px solid var(--d3-line);border-radius:var(--d3-rlg);box-shadow:var(--d3-sh);overflow:hidden}
.d3-card-hd{display:flex;align-items:center;gap:12px;padding:16px 19px 12px;border-bottom:1px solid var(--d3-line)}
.d3-card-hd .t{font-family:var(--d3-fui);font-size:15px;font-weight:700;color:var(--d3-ink);letter-spacing:-.01em}
.d3-card-hd .s{font-size:12px;color:var(--d3-ink3);margin-top:1px}
.d3-card-hd .grow{flex:1}
.d3-side{display:flex;flex-direction:column;gap:18px}

/* filtros */
.d3-filters{display:flex;gap:7px;flex-wrap:wrap;padding:12px 19px;border-bottom:1px solid var(--d3-line);background:var(--d3-surface2)}
.d3-fchip{font-family:var(--d3-fui);font-size:12.5px;font-weight:600;color:var(--d3-ink2);background:var(--d3-surface);border:1px solid var(--d3-line2);border-radius:999px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.16s}
.d3-fchip:hover{border-color:var(--d3-hair);color:var(--d3-ink)}
.d3-fchip.on{background:var(--d3-ink);color:var(--d3-surface);border-color:var(--d3-ink)}
[data-theme="dark"] .d3-fchip.on{background:var(--d3-gold);color:#10141f;border-color:var(--d3-gold)}
.d3-fchip .cnt{font-family:var(--d3-fmono);font-size:11px;opacity:.65;font-weight:600}
.d3-fchip .sw{width:8px;height:8px;border-radius:3px}

/* lista de pessoas */
.d3-people{padding:6px 8px 10px;max-height:560px;overflow-y:auto}
.d3-prow{display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:var(--d3-rmd);transition:.14s}
.d3-prow:hover{background:var(--d3-surface2)}
.d3-prow + .d3-prow{box-shadow:0 -1px 0 var(--d3-line)}
.d3-prow:hover,.d3-prow:hover + .d3-prow{box-shadow:none}
.d3-pic{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center}
.d3-pic svg{width:19px;height:19px}
.d3-pic.viagem{background:var(--d3-blues);color:var(--d3-blue)}
.d3-pic.ferias{background:var(--d3-teals);color:var(--d3-teal)}
.d3-pic.aniversario{background:var(--d3-roses);color:var(--d3-rose)}
.d3-pic.ausencia{background:var(--d3-slates);color:var(--d3-slate)}
.d3-pmain{flex:1;min-width:0}
.d3-pname{font-size:14px;font-weight:600;color:var(--d3-ink);letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.d3-pname .extra{font-family:var(--d3-fmono);font-size:11px;color:var(--d3-ink3);font-weight:500}
.d3-pmeta{font-size:12.5px;color:var(--d3-ink2);margin-top:2px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.d3-pmeta .dot{width:3px;height:3px;border-radius:50%;background:var(--d3-ink3)}
.d3-tag{font-family:var(--d3-fui);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:7px;display:inline-flex;align-items:center;gap:4px;text-transform:capitalize}
.d3-tag.viagem{background:var(--d3-blues);color:var(--d3-blue)}
.d3-tag.ferias{background:var(--d3-teals);color:var(--d3-teal)}
.d3-tag.aniversario{background:var(--d3-roses);color:var(--d3-rose)}
.d3-tag.ausencia{background:var(--d3-slates);color:var(--d3-slate)}
.d3-pill{flex:none;text-align:center;min-width:62px;padding:6px 10px;border-radius:11px;border:1px solid var(--d3-line2);background:var(--d3-surface2)}
.d3-pill .lab{font-family:var(--d3-fui);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d3-ink3)}
.d3-pill .val{font-family:var(--d3-fmono);font-size:13px;font-weight:600;color:var(--d3-ink);margin-top:1px}
.d3-pill.hoje{background:var(--d3-golds);border-color:var(--d3-hair)}
.d3-pill.hoje .val,.d3-pill.hoje .lab{color:var(--d3-gold)}
.d3-avstack{display:flex}
.d3-av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--d3-fui);font-size:10px;font-weight:700;color:#fff;border:2px solid var(--d3-surface)}
.d3-av + .d3-av{margin-left:-9px}
.d3-empty{padding:30px 16px;text-align:center;color:var(--d3-ink3);font-size:13px}

/* laterais */
.d3-list{padding:7px 9px 11px}
.d3-lrow{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--d3-rsm);cursor:pointer;transition:.14s}
.d3-lrow:hover{background:var(--d3-surface2)}
.d3-lic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--d3-golds);color:var(--d3-gold);flex:none}
.d3-lic svg{width:15px;height:15px}
.d3-lic.danger{background:var(--d3-roses);color:var(--d3-rose)}
.d3-lic.warn{background:var(--d3-ambers);color:var(--d3-amber)}
.d3-lmain{flex:1;min-width:0}
.d3-lt{font-size:13px;font-weight:600;color:var(--d3-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d3-ls{font-size:11.5px;color:var(--d3-ink3);margin-top:1px;text-transform:capitalize}
.d3-ltime{font-family:var(--d3-fmono);font-size:11px;color:var(--d3-ink3);flex:none}

/* skeleton */
.d3-skel{background:linear-gradient(90deg,var(--d3-surface2),var(--d3-surface3),var(--d3-surface2));background-size:200% 100%;animation:d3sh 1.3s ease-in-out infinite;border-radius:8px}
@keyframes d3sh{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media(max-width:1080px){.d3-grid{grid-template-columns:1fr}.d3-shortcuts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.d3-shortcuts{grid-template-columns:1fr}.d3-name{font-size:26px}.d3-pill{display:none}.d3{padding:18px 14px 50px}}
