/* ===== Nexus Digital · OS · Página do cliente (o "sistema" de cada cliente) ===== */

/* avatar do responsável nos cards de cliente */
.client-card .kc-who{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff}
.client-card{cursor:pointer}
.client-card .open-hint{font-size:11px;font-weight:800;color:var(--purple-2);opacity:0;transition:.15s}
.client-card:hover .open-hint{opacity:1}

/* menu lateral fica fixo ao rolar a página */
.sidebar{align-self:flex-start}

/* janelas (modais) com fundo escurecido */
.modal{background:rgba(4,4,8,.6);backdrop-filter:blur(3px)}

/* topo */
.cp-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:13px;font-weight:700;padding:0;margin-bottom:14px}
.cp-back:hover{color:var(--text)}
.cp-hero{position:relative;overflow:hidden;border:1px solid var(--border-strong);border-radius:24px;padding:24px 26px;
  background:radial-gradient(520px 220px at 100% 0,rgba(168,85,247,.25),transparent 70%),linear-gradient(180deg,var(--card),var(--bg-2))}
.cp-hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cp-av{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:26px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--purple-2));box-shadow:0 12px 30px -10px var(--glow);flex:none}
.cp-name{flex:1;min-width:200px}
.cp-name h2{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.cp-name .sub{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--muted)}
.cp-team{display:flex}
.cp-team span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;
  border:2px solid var(--bg-2);margin-left:-6px}
.cp-team span:first-child{margin-left:0}
.cp-actions{display:flex;gap:8px;flex-wrap:wrap}

/* atalhos (links principais) */
.cp-qlinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.cp-qlink{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text);
  background:rgba(8,8,12,.5);border:1px solid var(--border);border-radius:99px;padding:8px 14px;transition:.15s}
.cp-qlink:hover{border-color:var(--purple);background:var(--purple-soft)}
.cp-qlink svg{width:15px;height:15px;color:var(--purple-2)}
.cp-qlink.empty{color:var(--muted-2);border-style:dashed;background:none}
.cp-qlink.empty svg{color:var(--muted-2)}

/* abas */
.cp-tabs{display:flex;gap:4px;margin:20px 0 18px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.cp-tabs::-webkit-scrollbar{display:none}
.cp-tab{border:none;background:none;color:var(--muted);font-size:14px;font-weight:700;padding:12px 16px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.cp-tab:hover{color:var(--text)}
.cp-tab.active{color:#fff;border-bottom-color:var(--purple-2)}
.cp-tab .ct{font-size:11px;color:var(--muted-2);margin-left:5px}

/* cards genéricos */
.cp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cp-card{background:linear-gradient(180deg,var(--card),var(--bg-2));border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.cp-card h4{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2);font-weight:800;margin-bottom:12px;
  display:flex;align-items:center;justify-content:space-between;gap:8px}
.cp-card h4 button{background:none;border:none;color:var(--purple-2);font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}
.cp-card.full{grid-column:1/-1}
.cp-empty{font-size:13px;color:var(--muted-2)}
.cp-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border);font-size:13px}
.cp-row:first-of-type{border-top:none}
.cp-row .d{font-size:11px;font-weight:800;color:var(--purple-2);min-width:54px}
.cp-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}
.cp-kv span{color:var(--muted)}
.cp-days{display:flex;gap:5px;flex-wrap:wrap}
.cp-days b{font-size:11px;font-weight:800;padding:3px 8px;border-radius:7px;background:var(--purple-soft);color:var(--purple-2)}
.cp-days b.st{background:rgba(251,191,36,.14);color:var(--amber)}

/* etapas (cores) */
.et{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:6px;white-space:nowrap}
.et.a_fazer{color:var(--muted);background:rgba(255,255,255,.06)}
.et.produzindo{color:var(--blue);background:rgba(96,165,250,.14)}
.et.aprovacao{color:var(--amber);background:rgba(251,191,36,.14)}
.et.publicado{color:var(--green);background:rgba(52,211,153,.12)}

/* pastas */
.cp-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.cp-folder{text-align:left;background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--border);border-radius:16px;
  padding:16px;color:var(--text);transition:.16s;position:relative;min-height:128px;display:flex;flex-direction:column}
.cp-folder:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(0,0,0,.7)}
.cp-folder .nm{font-weight:800;font-size:14px;margin-top:12px;line-height:1.25}
.cp-folder .meta{font-size:11px;color:var(--muted-2);margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px}
.cp-folder .drv{color:var(--green);font-weight:800}
.cp-folder.add{border-style:dashed;align-items:center;justify-content:center;color:var(--muted);font-weight:800;gap:6px}
.cp-folder.add:hover{color:var(--purple-2)}
.cp-folder-ic{width:42px;height:34px;display:block}
.cp-folder-ic.sm{width:38px;height:30px;flex:none}

.cp-modal{max-width:560px}
.cp-drive-row{display:flex;gap:8px;margin-top:16px}
.cp-drive-row input{flex:1;min-width:0;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-size:13px;outline:none}
.cp-drive-row input:focus{border-color:var(--purple)}
.cp-drive-row .btn{white-space:nowrap}
.cp-drive-row .btn.off{opacity:.35;pointer-events:none}
.cp-items{display:flex;flex-direction:column;gap:7px;max-height:42vh;overflow-y:auto}
.cp-item{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:11px;padding:10px 12px}
.cp-item a{flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-item a:hover{color:var(--purple-2)}
.cp-item small{font-size:11px;color:var(--muted-2);white-space:nowrap}
.cp-item .x{background:none;border:none;color:var(--muted-2);font-size:14px;opacity:.6}
.cp-item .x:hover{color:var(--red);opacity:1}
.cp-add{flex-wrap:wrap}
.cp-upload{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px dashed var(--border-strong);
  border-radius:12px;background:var(--purple-soft);cursor:pointer;transition:.15s}
.cp-upload:hover{border-color:var(--purple-2)}
.cp-upload.busy{opacity:.6;pointer-events:none}
.cp-upload svg{width:22px;height:22px;color:var(--purple-2);flex:none}
.cp-upload b{display:block;font-size:13px}
.cp-upload small{display:block;font-size:11px;color:var(--muted)}
.cp-item .tag{font-size:10px;font-weight:800;color:var(--purple-2);background:var(--purple-soft);border-radius:5px;padding:2px 6px;white-space:nowrap}
.cp-add input{min-width:140px}

/* links */
.cp-links{display:flex;flex-direction:column;gap:10px}
.cp-link{display:grid;grid-template-columns:200px 1fr auto;gap:10px;align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:10px 12px}
.cp-link .lb{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px}
.cp-link .lb svg{width:17px;height:17px;color:var(--purple-2)}
.cp-link input{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:9px 11px;color:var(--text);font-size:13px;outline:none;min-width:0}
.cp-link input:focus{border-color:var(--purple)}
.cp-link .go{display:flex;gap:6px}
.cp-link .go a,.cp-link .go button{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--border);background:var(--card);color:var(--muted)}
.cp-link .go a:hover{color:var(--purple-2);border-color:var(--purple)}
.cp-link .go button:hover{color:var(--red)}
.cp-link .go .off{opacity:.3;pointer-events:none}

/* calendário */
.cp-cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cp-cal-head h3{font-size:18px;font-weight:800;min-width:170px}
.cp-cal-head h3::first-letter{text-transform:uppercase}
.cp-cal-head .cnt{margin-left:auto;font-size:12px;color:var(--muted)}
.cp-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cp-dow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);text-align:center;padding:4px 0}
.cp-day{min-width:0;min-height:104px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:7px;display:flex;flex-direction:column;gap:5px;position:relative;cursor:pointer;transition:.12s}
.cp-day:hover{border-color:var(--border-strong)}
.cp-day.out{opacity:.35}
.cp-day.today{border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--border-strong)}
.cp-day.cad{background:linear-gradient(180deg,rgba(124,58,237,.08),var(--bg-2))}
.cp-day .n{font-size:12px;font-weight:800;color:var(--muted)}
.cp-day.today .n{color:var(--purple-2)}
.cp-day .plus{position:absolute;top:5px;right:7px;font-size:15px;font-weight:800;color:var(--muted-2);opacity:0;transition:.12s}
.cp-day:hover .plus{opacity:1}
.cp-post{font-size:11px;font-weight:700;line-height:1.25;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--muted-2);
  border-radius:7px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:var(--text)}
.cp-post.produzindo{border-left-color:var(--blue)}
.cp-post.aprovacao{border-left-color:var(--amber)}
.cp-post.publicado{border-left-color:var(--green);color:var(--muted)}
.cp-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:12px}
.cp-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* histórico */
.cp-hist .timeline{margin-top:16px}

@media(max-width:880px){
  .cp-grid{grid-template-columns:1fr}
  .cp-link{grid-template-columns:1fr auto}
  .cp-link .lb{grid-column:1/-1}
  .cp-cal{gap:3px}
  .cp-day{min-height:64px;padding:4px;border-radius:8px}
  .cp-post{font-size:0;padding:0;height:6px;border-left-width:0;border-radius:4px;background:var(--muted-2)}
  .cp-post.produzindo{background:var(--blue)} .cp-post.aprovacao{background:var(--amber)} .cp-post.publicado{background:var(--green)}
  .cp-hero{padding:20px 18px}
}
