/* ============================================================
   MESTRA — identidade visual oficial
   Azul #0047FF · Marinho #10162B · Marfim #F7F4ED
   DM Serif Display (destaques) + DM Sans (interface)
   Carregado DEPOIS de style.css: só sobrescreve, não remove nada.
   ============================================================ */

:root{
  --m-azul:#0047FF;
  --m-azul-claro:#2D69FF;
  --m-azul-suave:#E6EDFF;
  --m-marinho:#10162B;
  --m-marfim:#F7F4ED;
  --m-marfim-2:#EFEBE1;
  --m-serif:'DM Serif Display', Georgia, 'Times New Roman', serif;
  --m-sans:'DM Sans', -apple-system, BlinkMacSystemFont, 'Inter var', 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ── Tema CLARO (padrão): marfim + azul ── */
body.theme-light{
  --bg:#F7F4ED; --bg1:#F7F4ED; --bg2:#FFFFFF; --bg3:#EFEBE1;
  --border:rgba(16,22,43,.10);
  --text:#10162B; --text1:#10162B; --text2:#59607A; --text3:#9AA0B3;
  --accent:#0047FF; --accent-bright:#2D69FF; --accent-ink:#FFFFFF;
  --accent-dim:rgba(0,71,255,.08); --accent-border:rgba(0,71,255,.28);
  --blue:#0047FF;
}

/* ── Tema ESCURO (opcional pelo botão): marinho + azul ── */
body:not(.theme-light){
  --bg:#0C1122; --bg1:#10162B; --bg2:#151C36; --bg3:#1D2645;
  --border:rgba(247,244,237,.10);
  --text:#F7F4ED; --text1:#F7F4ED; --text2:#A7AEC4; --text3:#6C7391;
  --accent:#3D6BFF; --accent-bright:#6C8EFF; --accent-ink:#FFFFFF;
  --accent-dim:rgba(61,107,255,.14); --accent-border:rgba(61,107,255,.38);
  --blue:#6C8EFF;
}

/* ── Tipografia ── */
body, button, input, select, textarea{ font-family:var(--m-sans); }
/* Títulos das telas: DM Serif Display (a letra aprovada) */
.ws-top h2, .odash-head h1, .ads-brand-modal h3{
  font-family:var(--m-serif) !important;
  font-weight:400 !important;
  letter-spacing:.01em;
}
.m-destaque{ font-family:var(--m-serif); font-weight:400; color:var(--m-azul); }

/* ── Logo real da Mestra ── */
.connect-box h1{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); } /* nome só para leitores de tela */
.sidebar-wolf{ height:32px !important; width:32px !important; border-radius:8px; filter:none !important; }
.sidebar-wordmark{ display:block; height:20px; width:auto; }
body:not(.theme-light) .sidebar-wordmark{ filter:brightness(0) invert(1); }

/* ── Botões primários: azul sólido, texto branco ── */
.btn-primary,
.cfg-save, .disp-cta, .aa-save, .aa-test-row button,
.ca-new, .ca-btn-primary, .aa-fnum,
#btn-request-pairing-code{
  background:var(--m-azul) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:10px;
  font-weight:600;
}
.btn-primary:hover,
.cfg-save:hover, .disp-cta:hover, .aa-save:hover, .ca-new:hover,
#btn-request-pairing-code:hover{
  background:var(--m-azul-claro) !important;
  filter:none !important;
  box-shadow:0 6px 18px rgba(0,71,255,.25) !important;
}
.disp-cta, .ca-new{ box-shadow:0 4px 14px rgba(0,71,255,.22) !important; }
.fin-add-btn:hover, .aa-add:hover{ background:var(--m-azul) !important; color:#fff !important; }

/* ── Estados ativos e badges ── */
.crm-act-tab.active, .crm-label-btn.active, .nav-badge,
.crm-comment-item::before{
  background:var(--m-azul) !important; color:#fff !important;
}
body .crm-act-tab.active, body .crm-label-btn.active{ color:#fff !important; }

/* ── Menu lateral ── */
body.theme-light .sidebar{ background:#FFFFFF !important; border-right:1px solid var(--border) !important; }
body.theme-light .nav-item{ color:var(--text2) !important; }
body.theme-light .nav-item:hover{ background:var(--m-azul-suave) !important; color:var(--m-azul) !important; }
body.theme-light .nav-item.active{
  background:var(--m-azul-suave) !important;
  color:var(--m-azul) !important;
  box-shadow:inset 3px 0 0 var(--m-azul);
}
body:not(.theme-light) .sidebar{ background:#10162B !important; }
body:not(.theme-light) .nav-item.active{
  background:rgba(61,107,255,.16) !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 var(--m-azul-claro);
}

/* ── Telas de login/conexão ── */
body.theme-light #screen-login,
body.theme-light #screen-connect{
  background:radial-gradient(ellipse at center, #FFFFFF 0%, var(--m-marfim) 70%) !important;
}
body:not(.theme-light) #screen-login,
body:not(.theme-light) #screen-connect{
  background:radial-gradient(ellipse at center, #1D2645 0%, #0C1122 70%) !important;
}

/* ── Dashboard (laranja/bronze -> azul Mestra) ── */
#dashboard-root{
  --d-brand:#0047FF !important;
  --d-bsoft:#E6EDFF !important;
  --d-blue:#0047FF !important;
  --d-bluesoft:#E6EDFF !important;
  --d-bg:#F7F4ED !important;
  --d-ink:#10162B !important;
  --d-ink2:#59607A !important;
  font-family:var(--m-sans) !important;
}

/* ── Foco e seleção ── */
:focus-visible{ outline:2px solid var(--m-azul); outline-offset:2px; }
::selection{ background:var(--m-azul); color:#fff; }

/* ── Marca nas telas de login/conexão: nome + ícone pequeno ao lado ── */
.connect-brand{ display:inline-flex; align-items:center; justify-content:center; gap:12px; margin:0 auto 10px; }
.connect-brand-icon{ width:44px; height:44px; border-radius:11px; display:block; }
.connect-brand-name{ height:30px; width:auto; display:block; }
body:not(.theme-light) .connect-brand-name{ filter:brightness(0) invert(1); }

/* ── Entregáveis do cliente (Área do Cliente) ── */
.ca-ent-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;background:rgba(0,71,255,.09);color:var(--m-azul,#0047FF);font-size:10.5px;font-weight:700;vertical-align:1px}
.ce{padding-bottom:40px}
.ce label{display:block;font-size:11px;color:var(--text3);margin-bottom:4px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.ce select,.ce input[type=date]{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font:500 13px var(--m-sans,inherit);color:var(--text);max-width:100%}
.ce-ctrl{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.ce-vazio{text-align:center;color:var(--text3);padding:44px 10px;font-size:13.5px}
.ce-resumo{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px}
.ce-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:14px 16px}
.ce-card .lbl{font-size:11px;color:var(--text3);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.ce-card .big{font-family:var(--m-serif,Georgia,serif);font-size:32px;line-height:1.05;margin-top:4px;color:var(--text)}
.ce-card .big.sm{font-size:22px;margin-top:8px}.ce-card .big.xs{font-family:var(--m-sans,inherit);font-size:15px;font-weight:700;margin-top:8px}
.ce-card .sub{font-size:12px;color:var(--text3);margin-top:4px}
.ce-card.atr .big{color:#D93025}
.ce-bar{height:7px;border-radius:99px;background:var(--bg3);overflow:hidden;margin-top:9px}.ce-bar i{display:block;height:100%;background:var(--m-azul,#0047FF);border-radius:99px}
.ce-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:14px}
.ce-tabs button{border:0;background:transparent;padding:10px 14px;font:600 14px var(--m-sans,inherit);color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ce-tabs button.on{color:var(--m-azul,#0047FF);border-color:var(--m-azul,#0047FF)}
.ce-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:16px}
.ce-cont{margin-left:auto;font-size:12.5px;color:var(--text3);align-self:center}
.ce-limpar{background:transparent;border:0;color:var(--m-azul,#0047FF);font:600 12.5px var(--m-sans,inherit);cursor:pointer;padding:8px 4px}
.ce-pilar{margin-bottom:22px}.ce-pilar-h{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--m-azul,#0047FF);font-weight:700;margin-bottom:8px}
.ce-ent{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:10px}
.ce-ent-h{display:flex;align-items:center;gap:14px;padding:13px 16px;cursor:pointer}.ce-ent-h:hover{background:var(--bg3)}
.ce-ico{width:32px;height:32px;border-radius:10px;background:rgba(0,71,255,.09);color:var(--m-azul,#0047FF);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}
.ce-ent.ok .ce-ico{background:rgba(30,158,90,.14);color:#1E9E5A}
.ce-ent-t{flex:1;min-width:0}.ce-ent-t b{display:block;font-size:14.5px;color:var(--text)}.ce-ent-t small{color:var(--text3);font-size:12px}
.ce-mini{width:110px}.ce-mini .ce-bar{margin-top:0}.ce-mini small{display:block;text-align:right;font-size:11px;color:var(--text3);margin-top:3px}
.ce-dts{font-size:12px;color:var(--text3);width:96px;text-align:right}
.ce-seta{color:var(--text3);font-size:12px;transition:transform .2s}.ce-ent.open .ce-seta{transform:rotate(90deg)}
.ce-ent-b{display:none;border-top:1px solid var(--border);padding:4px 16px 12px}.ce-ent.open .ce-ent-b{display:block}
.ce-task{padding:10px 0;border-bottom:1px dashed var(--border)}.ce-task:last-child{border-bottom:0}
.ce-tl{display:flex;align-items:center;gap:10px}
.ce-ck{width:17px;height:17px;accent-color:#1E9E5A;cursor:pointer;flex-shrink:0}.ce-ck.sm{width:14px;height:14px}
.ce-tn{flex:1;font-weight:600;cursor:pointer;color:var(--text)}.ce-tn:hover{color:var(--m-azul,#0047FF)}
.ce-task.done .ce-tn,.ce-row.done .ce-nm b{color:var(--text3);text-decoration:line-through;font-weight:500}
select.ce-resp{border-radius:99px;padding:3px 9px;font-size:11.5px;font-weight:700;max-width:150px}
.ce-due{font-size:11.5px;color:var(--text3);min-width:60px;text-align:right}.ce-due.late{color:#D93025;font-weight:700}
.ce-subs{margin:8px 0 0 27px;display:grid;gap:6px}
.ce-sub{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--text2);text-transform:none;letter-spacing:0;font-weight:500;margin:0}.ce-sub.done{color:var(--text3);text-decoration:line-through}
.ce-sem{display:flex;align-items:baseline;gap:10px;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.ce-sem b{font-family:var(--m-serif,Georgia,serif);font-weight:400;font-size:20px}.ce-sem span{font-size:12px;color:var(--text3)}
.ce-row{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.ce-dia{width:62px;font-size:12px;color:var(--text3);line-height:1.2}.ce-dia b{display:block;color:var(--text);font-size:13px;text-transform:capitalize}
.ce-nm{flex:1;min-width:0}.ce-nm b{display:block;font-weight:600;cursor:pointer;color:var(--text)}.ce-nm small{color:var(--text3);font-size:12px}
.ce-st{font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px}.ce-st.atr{background:#FCE9E7;color:#D93025}.ce-st.ok{background:#E4F5EB;color:#1E9E5A}.ce-st.pd{background:var(--bg3);color:var(--text3)}
.ce-tl-wrap{position:relative;margin-left:6px}.ce-tl-wrap::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--border)}
.ce-et{position:relative;padding:0 0 22px 40px}
.ce-pt{position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--bg2);border:2px solid var(--border);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text3)}
.ce-et.ok .ce-pt{background:#1E9E5A;border-color:#1E9E5A;color:#fff}.ce-et.agora .ce-pt{background:var(--m-azul,#0047FF);border-color:var(--m-azul,#0047FF);color:#fff;box-shadow:0 0 0 5px rgba(0,71,255,.12)}
.ce-et h3{font-size:15px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--text)}
.ce-chip{font-size:12px;font-weight:600;background:rgba(0,71,255,.09);color:var(--m-azul,#0047FF);border-radius:99px;padding:3px 10px}
.ce-lista{display:grid;gap:4px;margin-top:6px}.ce-li{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text)}.ce-li .d{width:46px;color:var(--text3);font-size:11.5px}.ce-li.done span:not(.d){color:var(--text3);text-decoration:line-through}
.ce-li .own{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--bg3);color:var(--text3)}
@media(max-width:860px){.ce-resumo{grid-template-columns:1fr 1fr}.ce-mini,.ce-dts{display:none}}

/* ── Entregáveis: visão por semana, liberar na ficha, edição ── */
.ce-aviso{background:rgba(0,71,255,.07);color:var(--text2);border-radius:12px;padding:10px 14px;font-size:12.5px;margin-bottom:6px}
.ce-semana{margin-top:18px}
.ce-sem-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}
.ce-sem-h b{font-family:var(--m-serif,Georgia,serif);font-weight:400;font-size:20px;color:var(--text)}
.ce-sem-n{font-size:12px;color:var(--text3)}
.ce-liberar{margin-left:auto;border:1px solid var(--m-azul,#0047FF);background:transparent;color:var(--m-azul,#0047FF);border-radius:99px;padding:5px 14px;font:700 12px var(--m-sans,inherit);cursor:pointer}
.ce-liberar.on{background:#1E9E5A;border-color:#1E9E5A;color:#fff}
.ce-semana .ce-task{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.ce-chipent{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(0,71,255,.09);color:var(--m-azul,#0047FF);white-space:nowrap}
.ce-dt{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text3)}.ce-dt.late{color:#D93025;font-weight:700}
.ce-dt input[type=date]{padding:3px 6px;font-size:12px;border-radius:8px}
.ce-vis{border:1px dashed var(--border);background:transparent;color:var(--text3);border-radius:99px;padding:3px 10px;font:700 11px var(--m-sans,inherit);cursor:pointer;white-space:nowrap}
.ce-vis.on{border:1px solid #1E9E5A;background:#E4F5EB;color:#1E9E5A}
.ce-x{border:0;background:transparent;color:var(--text3);cursor:pointer;padding:2px;display:grid;place-items:center}.ce-x:hover{color:#D93025}.ce-x svg{width:15px;height:15px}
.ce-addsub{border:0;border-bottom:1px dashed var(--border);background:transparent;color:var(--text2);font:500 12.5px var(--m-sans,inherit);padding:3px 2px;width:180px;outline:none}
.ce-addsub:focus{border-bottom-color:var(--m-azul,#0047FF)}

.ce-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:99px;padding:7px 14px;font:600 13px var(--m-sans,inherit);cursor:pointer;margin-bottom:12px}
.ce-back:hover{border-color:var(--m-azul,#0047FF);color:var(--m-azul,#0047FF)}

/* ── Brief do cliente ── */
.ce-brief{padding-bottom:20px}
.ce-bt h2{font-size:22px;letter-spacing:.01em;color:var(--text);margin:0 0 4px}
.ce-bt p{font-size:13px;color:var(--text3);margin:0 0 14px}
.ce-bt-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.ce-bprog{width:120px;height:7px;border-radius:99px;background:var(--bg3);overflow:hidden}.ce-bprog i{display:block;height:100%;background:#1E9E5A;border-radius:99px;transition:width .2s}
.ce-bt-row b{font-size:13px;color:var(--text)}
.ce-bbtn{border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:12px;padding:9px 16px;font:700 13px var(--m-sans,inherit);cursor:pointer}.ce-bbtn:hover{border-color:var(--m-azul,#0047FF);color:var(--m-azul,#0047FF)}
.ce-bgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.ce-bcol{display:grid;gap:18px}
.ce-bb{background:var(--bg2);border:1px solid var(--border);border-top:4px solid var(--bc);border-radius:16px;padding:16px 18px}
.ce-bb-h b{color:var(--bc);font-size:17px;margin-right:8px}.ce-bb-h small{color:var(--text3);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.ce-bb-n{font-size:12px;color:var(--text3);margin:2px 0 12px}
.ce-bq{padding:10px 0;border-top:1px solid var(--border)}.ce-bq:first-of-type{border-top:0}
.ce-bq-t{display:flex;gap:9px;align-items:flex-start;font-weight:700;font-size:14px;color:var(--text);margin-bottom:7px}
.ce-bq-t span{background:#141E2A;color:#fff;border-radius:6px;font-size:11px;min-width:20px;height:20px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.ce-bq-t.sm{font-size:12.5px;color:var(--text2);font-weight:600}
.ce-bb textarea{width:100%;box-sizing:border-box;resize:none;min-height:46px;background:var(--bg3);border:1px solid transparent;border-radius:10px;padding:10px 12px;font:500 14px var(--m-sans,inherit);color:var(--text);outline:none;overflow:hidden}
.ce-bb textarea:focus{border-color:var(--bc);background:var(--bg2)}
.ce-bl{margin-top:8px;border-top:1px dashed var(--border);padding-top:10px}
.ce-bl summary{cursor:pointer;font-size:11.5px;letter-spacing:.05em;color:var(--text3);font-weight:700;list-style:none}.ce-bl summary i{font-style:normal;font-weight:500;letter-spacing:0}
.ce-bl summary::-webkit-details-marker{display:none}.ce-bl summary::before{content:"▸ "}.ce-bl[open] summary::before{content:"▾ "}
@media(max-width:900px){.ce-bgrid{grid-template-columns:1fr}}
/* modo reunião: tela limpa, uma coluna, letra maior */
body.ce-modo .ca-head,body.ce-modo .ce-back,body.ce-modo .ce-tabs{display:none}
body.ce-modo .ce-bgrid{grid-template-columns:1fr;max-width:780px;margin:0 auto}
body.ce-modo .ce-bt{max-width:780px;margin:0 auto 14px;position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0}
body.ce-modo .ce-bq-t{font-size:16px}body.ce-modo .ce-bb textarea{font-size:16px;min-height:58px}

.ca-picker-imp{display:block;width:100%;border:0;border-top:1px solid var(--border);background:transparent;color:var(--m-azul,#0047FF);font:600 12.5px var(--m-sans,inherit);padding:10px 12px;text-align:left;cursor:pointer}
.ca-picker-imp:hover{background:rgba(0,71,255,.06)}

/* ── Editar as perguntas do brief ── */
.ce-bbtn.pri{background:var(--m-azul,#0047FF);border-color:var(--m-azul,#0047FF);color:#fff}.ce-bbtn.pri:hover{color:#fff;filter:brightness(1.08)}
.ce-be-wrap{display:grid;gap:18px;max-width:860px}
.ce-be-h{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.ce-be-t{flex:0 0 220px;font:700 15px var(--m-sans,inherit)}.ce-be-r{flex:1;font:500 13px var(--m-sans,inherit)}
.ce-be-t,.ce-be-r,.ce-be-in{background:var(--bg3);border:1px solid transparent;border-radius:10px;padding:9px 11px;color:var(--text);outline:none;min-width:0}
.ce-be-t:focus,.ce-be-r:focus,.ce-be-in:focus{border-color:var(--bc);background:var(--bg2)}
.ce-be-sec{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--text3);margin:14px 0 6px}
.ce-be-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.ce-be-n{background:#141E2A;color:#fff;border-radius:6px;font-size:11px;min-width:20px;height:20px;display:grid;place-items:center;flex-shrink:0}
.ce-be-in{flex:1;font:500 14px var(--m-sans,inherit)}
.ce-be-b{border:1px solid var(--border);background:var(--bg2);color:var(--text2);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:13px}.ce-be-b:hover{border-color:var(--m-azul,#0047FF);color:var(--m-azul,#0047FF)}.ce-be-b.x:hover{border-color:#D93025;color:#D93025}
.ce-be-add{border:1px dashed var(--border);background:transparent;color:var(--m-azul,#0047FF);border-radius:10px;padding:7px 12px;font:600 12.5px var(--m-sans,inherit);cursor:pointer;margin-top:2px}
@media(max-width:700px){.ce-be-h{flex-wrap:wrap}.ce-be-t{flex:1 1 100%}}
