:root {
  --bg: #f2f2f7;
  --surface: #ffffff;
  --surface-soft: #f8f7fb;
  --text: #0c0931;
  --muted: #706d83;
  --border: rgba(29, 24, 86, .14);
  --primary: #e80074;
  --primary-soft: #ffe4f1;
  --secondary: #1d1856;
  --secondary-soft: #eceafb;
  --cyan: #00cfe5;
  --cyan-soft: #dffbfe;
  --danger: #dc2626;
  --shadow: 0 12px 32px rgba(12, 9, 49, .10);
  --radius: 16px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--secondary); }
.hidden { display: none !important; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; background: #0c0931; color: #fff; padding: 22px 16px; display: flex; flex-direction: column; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; }
.brand-mark { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-weight: 850; color: #0c0931; background: linear-gradient(135deg, #00cfe5, #e80074); box-shadow: 0 8px 24px rgba(232,0,116,.20); }
.brand strong, .brand span { display: block; }
.brand span { margin-top: 2px; font-size: 12px; color: #aaa7c4; }
.nav { display: flex; flex-direction: column; gap: 7px; }
.nav-item { position: relative; border: 0; background: transparent; color: #cac7df; padding: 12px 14px; border-radius: 12px; text-align: left; display: flex; align-items: center; gap: 12px; font-weight: 650; }
.nav-item:hover { background: rgba(255,255,255,.07); color: #fff; }
.nav-item.active { background: #1d1856; color: #fff; box-shadow: inset 3px 0 0 #00cfe5; }
.nav-item span { width: 22px; text-align: center; font-size: 18px; }
.sidebar-footer { margin-top: auto; display: grid; gap: 7px; padding: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; }
.sidebar-footer label { font-size: 12px; color: #d6d3e8; }
.sidebar-footer select { width: 100%; border: 1px solid rgba(255,255,255,.15); color: #fff; background: #1d1856; border-radius: 10px; padding: 9px; }
.sidebar-footer small { color: #aaa7c4; line-height: 1.35; }

.main { min-width: 0; }
.topbar { min-height: 86px; padding: 18px 28px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 16px; position: sticky; top: 0; z-index: 20; }
.topbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, #e80074, #00cfe5, transparent 70%); opacity: .8; }
.topbar h1 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.topbar p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.user-pill { margin-left: auto; display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 14px; }
.user-pill strong, .user-pill span { display: block; }
.user-pill strong { font-size: 13px; }
.user-pill span { font-size: 11px; color: var(--muted); margin-top: 2px; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, var(--cyan-soft), var(--primary-soft)); color: var(--secondary); display: grid; place-items: center; font-size: 12px; font-weight: 850; }
.page { display: none; padding: 24px 28px 40px; }
.page.active { display: block; }

.toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.search-wrap { min-width: 260px; flex: 1 1 340px; position: relative; }
.search-wrap input { width: 100%; padding: 11px 14px 11px 38px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); outline: none; color: var(--text); }
.search-wrap::before { content: "⌕"; position: absolute; left: 14px; top: 8px; color: var(--secondary); font-size: 20px; }
.toolbar select, .toolbar input[type="date"] { padding: 10px 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); color: var(--text); }
.primary-button, .secondary-button, .danger-button { border: 0; border-radius: 11px; padding: 10px 14px; font-weight: 750; }
.primary-button { background: var(--primary); color: #fff; box-shadow: 0 6px 16px rgba(232,0,116,.18); }
.primary-button:hover { filter: brightness(.94); }
.secondary-button { background: var(--secondary-soft); color: var(--secondary); }
.secondary-button:hover { background: #e3e0f7; }
.danger-button { background: #fee2e2; color: #991b1b; }
.icon-button { width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 11px; background: #fff; color: var(--secondary); display: grid; place-items: center; font-size: 20px; }
.mobile-only { display: none; }

.filter-summary { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; min-height: 28px; }
.filter-chip { background: var(--secondary-soft); color: var(--secondary); border-radius: 999px; padding: 5px 9px; font-size: 12px; }
.filter-summary small { color: var(--muted); }

.kanban { display: grid; grid-template-columns: repeat(6, minmax(260px, 1fr)); gap: 14px; align-items: start; overflow-x: auto; padding-bottom: 16px; }
.kanban-column { border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.72); min-height: 480px; overflow: hidden; }
.column-head { padding: 12px 13px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(12,9,49,.08); }
.column-head strong { display: flex; align-items: center; gap: 8px; }
.column-count { font-size: 12px; padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.72); }
.column-body { min-height: 420px; padding: 10px; display: flex; flex-direction: column; gap: 10px; }
.column-body.drag-over { outline: 2px dashed var(--cyan); outline-offset: -5px; background: var(--cyan-soft); }
.column-backlog .column-head { background: #e5e7eb; color: #374151; }
.column-todo .column-head { background: var(--primary-soft); color: #9f0050; }
.column-doing .column-head { background: var(--cyan-soft); color: #006b78; }
.column-standby .column-head { background: var(--secondary-soft); color: var(--secondary); }
.column-done .column-head { background: #dcfce7; color: #166534; }
.column-canceled .column-head { background: #fee2e2; color: #991b1b; }

.task-card { position: relative; border: 1px solid var(--border); border-radius: 13px; background: #fff; padding: 12px 12px 11px 15px; box-shadow: 0 3px 10px rgba(12,9,49,.05); cursor: grab; transition: transform .15s ease, box-shadow .15s ease; }
.task-card:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(12,9,49,.10); }
.task-card::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 6px 6px 0; background: var(--type-color, #9ca3af); }
.task-card.type-relacionamentos { --type-color: #e80074; }
.task-card.type-admfin { --type-color: #00cfe5; }
.task-card.type-gprh { --type-color: #1d1856; }
.task-top { display: flex; justify-content: space-between; gap: 8px; align-items: start; }
.task-id { font-size: 10px; color: var(--muted); font-weight: 750; letter-spacing: .04em; }
.task-points { font-size: 11px; color: var(--secondary); font-weight: 800; white-space: nowrap; }
.task-title { margin: 5px 0 9px; font-weight: 720; line-height: 1.33; font-size: 14px; }
.task-title.completed { text-decoration: line-through; color: #747184; }
.task-type { display: inline-flex; margin-bottom: 9px; padding: 3px 7px; border-radius: 6px; background: var(--surface-soft); font-size: 10px; font-weight: 750; color: var(--secondary); }
.task-parent { font-size: 10px; color: var(--primary); margin: -2px 0 8px; }
.task-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; color: var(--muted); font-size: 11px; }
.task-responsibles { display: flex; align-items: center; gap: 4px; }
.avatar-mini { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 9px; font-weight: 850; background: var(--cyan-soft); color: var(--secondary); border: 2px solid #fff; }
.avatar-mini + .avatar-mini { margin-left: -7px; }
.deadline-late { color: #dc2626; font-weight: 750; }
.deadline-soon { color: #d97706; font-weight: 750; }
.task-footer { margin-top: 10px; border-top: 1px solid rgba(29,24,86,.08); padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.task-icons { color: var(--muted); font-size: 10px; display: flex; gap: 9px; }
.grade { min-width: 34px; height: 28px; padding: 0 7px; display: grid; place-items: center; border-radius: 9px; font-size: 12px; font-weight: 850; background: #f3f4f6; }
.grade-blue { color: #1d4ed8; background: #dbeafe; }
.grade-green { color: #15803d; background: #dcfce7; }
.grade-yellow { color: #a16207; background: #fef9c3; }
.grade-orange { color: #c2410c; background: #ffedd5; }
.grade-red { color: #b91c1c; background: #fee2e2; }
.pending-evaluation { display: inline-flex; align-items: center; gap: 5px; color: #8a4b00; background: #fff3d1; border: 1px solid #f3cf78; padding: 5px 7px; border-radius: 8px; font-size: 10px; font-weight: 800; }
.empty-column { color: #9995aa; padding: 18px 8px; text-align: center; font-size: 12px; }

.cards-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.metric-card { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 17px; }
.metric-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(#e80074, #00cfe5); }
.metric-card span { display: block; color: var(--muted); font-size: 12px; }
.metric-card strong { display: block; margin-top: 8px; font-size: 28px; }
.panel { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 18px; margin-bottom: 16px; }
.panel h2 { margin: 0 0 14px; font-size: 18px; }
.simple-table { width: 100%; border-collapse: collapse; }
.simple-table th, .simple-table td { padding: 11px 10px; border-bottom: 1px solid var(--border); text-align: left; font-size: 13px; vertical-align: top; }
.simple-table th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.status-pill, .type-pill { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 750; background: var(--secondary-soft); color: var(--secondary); }
.status-pill { background: #dcfce7; color: #166534; }
.status-pill.inactive { background: #fee2e2; color: #991b1b; }
.members-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.member-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease; display: flex; flex-direction: column; }
.member-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.member-cover { height: 240px; background: linear-gradient(135deg, var(--cyan-soft), var(--primary-soft)); display: grid; place-items: center; font-size: 34px; font-weight: 850; color: var(--secondary); overflow: hidden; }
.member-cover img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.member-initials { font-size: 54px; font-weight: 900; letter-spacing: -0.04em; }
.member-body { padding: 18px; display: grid; gap: 12px; }
.member-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.member-heading h3 { margin: 0 0 6px; }
.member-heading strong { color: var(--secondary); display: block; }
.member-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.member-body h3 { margin: 0 0 5px; }
.member-bio { color: var(--muted); font-size: 12px; line-height: 1.5; min-height: 54px; }
.member-docs { margin-top: 12px; display: flex; justify-content: space-between; gap: 8px; font-size: 11px; }
.doc-signed { color: #15803d; }
.doc-pending { color: #c2410c; }
.member-profile { display: grid; gap: 18px; }
.profile-hero { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 22px; background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 20px; }
.profile-photo { width: 170px; height: 170px; border-radius: 18px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, var(--cyan-soft), var(--primary-soft)); font-size: 42px; font-weight: 850; color: var(--secondary); }
.profile-photo img { width: 100%; height: 100%; object-fit: contain; }
.profile-main h2 { font-size: 30px; margin: 2px 0 8px; }
.profile-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; }
.profile-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; color: var(--muted); font-size: 13px; }
.profile-actions { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.profile-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.document-list { display: grid; gap: 8px; }
.document-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); font-size: 12px; }
.document-row a { font-weight: 750; text-decoration: none; }

.crm-board { display: grid; grid-template-columns: repeat(8, minmax(250px, 1fr)); gap: 14px; overflow-x: auto; padding-bottom: 14px; }
.crm-column { background: #fff; border: 1px solid var(--border); border-radius: 16px; min-height: 330px; padding: 10px; border-top: 4px solid var(--secondary); }
.crm-column:nth-child(3n+1) { border-top-color: var(--primary); }
.crm-column:nth-child(3n+2) { border-top-color: var(--cyan); }
.crm-column h3 { margin: 3px 3px 10px; font-size: 13px; display: flex; justify-content: space-between; }
.crm-card { border: 1px solid var(--border); border-radius: 13px; padding: 12px; margin-bottom: 10px; }
.crm-card strong { display: block; margin-bottom: 8px; }
.crm-card small { display: block; color: var(--muted); margin-top: 5px; }

.modal-backdrop { position: fixed; inset: 0; background: rgba(12,9,49,.62); z-index: 100; display: grid; place-items: center; padding: 20px; }
.modal { width: min(840px, 100%); max-height: 92vh; overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 30px 80px rgba(12,9,49,.35); }
.modal-header { padding: 20px 22px 14px; display: flex; align-items: start; justify-content: space-between; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: #fff; z-index: 2; }
.modal-header h2 { margin: 2px 0 0; }
.eyebrow { color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
#taskForm, #memberForm, #crmForm { padding: 20px 22px 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.form-grid.compact { margin-top: 12px; }
.field { display: grid; gap: 7px; align-content: start; }
.field > span { font-size: 12px; font-weight: 750; color: var(--secondary); }
.field em { font-style: normal; color: #dc2626; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--border); border-radius: 11px; padding: 10px 11px; outline: none; background: #fff; color: var(--text); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px var(--cyan-soft); }
.field small { color: var(--muted); line-height: 1.35; }
.field-span-2 { grid-column: span 2; }
.chip-picker { display: flex; flex-wrap: wrap; gap: 7px; padding: 8px; border: 1px solid var(--border); border-radius: 11px; min-height: 44px; }
.person-chip { border: 1px solid var(--border); background: #fff; color: var(--text); border-radius: 999px; padding: 6px 9px; font-size: 12px; }
.person-chip.selected { background: var(--cyan-soft); border-color: var(--cyan); color: var(--secondary); }
.evaluation-box { border: 1px solid rgba(232,0,116,.28); background: #fff6fa; border-radius: 14px; padding: 14px; }
.evaluation-heading { display: flex; justify-content: space-between; gap: 12px; }
.evaluation-heading strong, .evaluation-heading span { display: block; }
.evaluation-heading span { color: var(--muted); font-size: 11px; margin-top: 3px; }
.badge { display: inline-flex !important; align-items: center; padding: 4px 8px; height: fit-content; border-radius: 999px; background: #fff; border: 1px solid rgba(232,0,116,.25); color: var(--primary); font-weight: 750; }
.metadata { color: var(--muted); font-size: 11px; }
.subtask-list { display: grid; gap: 7px; }
.subtask-row { display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); font-size: 12px; }
.inline-add { display: flex; gap: 8px; margin-top: 8px; }
.inline-add input { flex: 1; }
.form-error { margin-top: 15px; padding: 10px 12px; background: #fee2e2; color: #991b1b; border-radius: 10px; font-size: 12px; }
.modal-footer { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 12px; }
.modal-footer-right { display: flex; gap: 9px; margin-left: auto; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 200; background: var(--secondary); color: #fff; padding: 12px 16px; border-radius: 12px; box-shadow: var(--shadow); font-size: 13px; border-left: 4px solid var(--cyan); }
.member-photo-editor { display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: center; margin-bottom: 18px; }
.member-photo-preview { width: 110px; height: 110px; border-radius: 18px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg,var(--cyan-soft),var(--primary-soft)); color: var(--secondary); font-size: 28px; font-weight: 850; }
.member-photo-preview img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 1100px) {
  .cards-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .members-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: -270px; z-index: 80; width: 250px; transition: left .2s ease; }
  .sidebar.open { left: 0; }
  .mobile-only { display: grid; }
  .topbar { padding: 14px 16px; }
  .topbar p { display: none; }
  .user-pill { display: none; }
  .page { padding: 18px 14px 34px; }
  .cards-grid, .members-grid, .profile-columns { grid-template-columns: 1fr; }
  .profile-hero { grid-template-columns: 1fr; }
  .profile-photo { width: 100%; height: 220px; }
  .member-cover { height: 220px; }
  .profile-contact { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field-span-2 { grid-column: span 1; }
  .modal-backdrop { padding: 0; place-items: end stretch; }
  .modal { width: 100%; max-height: 96vh; border-radius: 20px 20px 0 0; }
  .member-photo-editor { grid-template-columns: 1fr; }
}

/* Contatos e rastreabilidade */
#contactForm { padding: 20px 22px 22px; }
.table-panel { padding: 0; overflow: hidden; }
.table-note { padding: 12px 16px; background: var(--surface-soft); border-bottom: 1px solid var(--border); color: var(--muted); font-size: 12px; }
.table-scroll { overflow-x: auto; }
.contacts-table { min-width: 1260px; }
.clickable-row { cursor: pointer; transition: background .14s ease; }
.clickable-row:hover { background: var(--cyan-soft); }
.contact-profile-hero { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 22px; background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 20px; }
.contact-avatar { width: 130px; height: 130px; border-radius: 22px; display: grid; place-items: center; background: linear-gradient(135deg, var(--cyan), var(--primary)); color: #fff; font-size: 34px; font-weight: 900; box-shadow: 0 12px 30px rgba(12,9,49,.14); }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.detail-item { padding: 12px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 12px; min-width: 0; }
.detail-item span, .audit-summary span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.detail-item strong { display: block; overflow-wrap: anywhere; font-size: 13px; }
.audit-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.audit-summary > div { padding: 12px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 12px; }
.audit-summary strong { font-size: 13px; }
.history-timeline { display: grid; gap: 4px; }
.history-item { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding: 8px 0 14px; }
.history-item:not(:last-child)::before { content: ""; position: absolute; left: 7px; top: 21px; bottom: -3px; width: 2px; background: var(--secondary-soft); }
.history-dot { width: 16px; height: 16px; margin-top: 2px; border-radius: 50%; background: var(--cyan); border: 4px solid var(--cyan-soft); position: relative; z-index: 1; }
.history-item strong, .history-item span { display: block; }
.history-item span { color: var(--muted); font-size: 11px; margin-top: 3px; }
.history-item ul { margin: 8px 0 0; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 760px) {
  .contact-profile-hero { grid-template-columns: 1fr; }
  .contact-avatar { width: 100%; height: 180px; }
  .detail-grid, .audit-summary { grid-template-columns: 1fr; }
}


/* CRM operacional */
.toolbar-danger { white-space: nowrap; }
.crm-column { padding: 0; overflow: hidden; }
.crm-column-head { padding: 12px 12px 10px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border); }
.crm-column-head strong, .crm-column-head small { display: block; }
.crm-column-head small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.crm-column-head > span { font-size: 11px; font-weight: 800; color: var(--secondary); white-space: nowrap; }
.crm-column-body { min-height: 300px; padding: 10px; transition: background .15s ease; }
.crm-column-body.drag-over { background: var(--cyan-soft); }
.crm-card { background: #fff; cursor: grab; box-shadow: 0 3px 12px rgba(12,9,49,.04); border-left: 4px solid var(--secondary); transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.crm-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.crm-card.dragging { opacity: .45; }
.crm-card.temperature-frio { border-left-color: #60a5fa; }
.crm-card.temperature-morno { border-left-color: #f59e0b; }
.crm-card.temperature-quente { border-left-color: var(--primary); }
.crm-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 8px; }
.crm-id { color: var(--muted); font-size: 9px; font-weight: 800; }
.temperature-pill { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; background: #e5e7eb; color: #374151; }
.temperature-pill.frio { background: #dbeafe; color: #1d4ed8; }
.temperature-pill.morno { background: #fef3c7; color: #b45309; }
.temperature-pill.quente { background: #ffe4ef; color: #be185d; }
.crm-value { margin: 9px 0; font-weight: 850; color: var(--secondary); }
.crm-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.crm-tags span { padding: 3px 6px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 9px; }
.crm-card-meta { display: grid; gap: 4px; margin-top: 9px; color: var(--muted); font-size: 10px; }
.crm-followup { margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--border); font-size: 10px; color: var(--secondary); font-weight: 700; }
.crm-followup.late { color: #dc2626; }
.crm-profile-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 22px; margin-bottom: 18px; }
.crm-profile-hero h2 { margin: 4px 0 10px; font-size: 32px; }
.crm-profile-value { min-width: 220px; padding: 22px; border-radius: 18px; background: linear-gradient(135deg, var(--secondary), var(--primary)); color: #fff; }
.crm-profile-value span, .crm-profile-value strong { display: block; }
.crm-profile-value span { font-size: 11px; opacity: .78; margin-bottom: 7px; }
.crm-profile-value strong { font-size: 25px; }
.crm-long-text { margin-top: 14px; display: grid; gap: 5px; }
.crm-long-text strong { margin-top: 8px; font-size: 12px; color: var(--secondary); }
.crm-long-text p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.form-section-title { margin-top: 4px; padding: 10px 0 4px; border-bottom: 1px solid var(--border); color: var(--secondary); font-weight: 850; font-size: 13px; }
#crmLostFields > .field { width: 100%; }

@media (max-width: 760px) {
  .crm-profile-hero { grid-template-columns: 1fr; }
  .crm-profile-value { min-width: 0; }
}


/* v0.6 — histórico e CRM progressivo */
.topbar-actions { display:flex; align-items:center; gap:14px; }
.history-controls { display:flex; gap:7px; }
.history-button { padding:9px 11px; white-space:nowrap; }
.history-button:disabled { opacity:.38; cursor:not-allowed; transform:none; }
.crm-contact-link, .inline-contact-link { border:0; padding:0; background:transparent; color:var(--primary); font:inherit; font-weight:800; cursor:pointer; text-align:left; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.crm-contact-link:hover, .inline-contact-link:hover { color:var(--secondary); }
.hero-contact-link { margin-top:12px; display:inline-flex; }
.crm-form-stage { border:1px solid var(--border); border-radius:16px; padding:15px; background:#fff; position:relative; transition:opacity .15s ease, background .15s ease; }
.crm-form-stage.locked { background:var(--surface-soft); opacity:.72; }
.crm-form-stage.locked input, .crm-form-stage.locked select, .crm-form-stage.locked textarea { cursor:not-allowed; }
.crm-form-stage-head, .crm-stage-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.crm-form-stage-head strong, .crm-form-stage-head span, .crm-stage-panel-head h2, .crm-stage-panel-head span { display:block; }
.crm-form-stage-head strong { color:var(--secondary); font-size:14px; }
.crm-form-stage-head div > span, .crm-stage-panel-head div > span { color:var(--muted); font-size:10px; margin-top:3px; }
.crm-stage-panel-head h2 { margin:0; }
.crm-lock-badge { display:inline-flex !important; align-items:center; min-height:24px; padding:4px 8px; border-radius:999px; background:#fee2e2; color:#991b1b; font-size:10px !important; font-weight:850; white-space:nowrap; }
.crm-lock-badge.unlocked { background:#dcfce7; color:#166534; }
.crm-form-note { padding:11px 13px; border-radius:11px; background:var(--cyan-soft); color:var(--secondary); font-size:11px; line-height:1.5; }
.crm-stage-panel.locked { background:var(--surface-soft); }
.crm-locked-message { border:1px dashed var(--border); border-radius:13px; padding:18px; text-align:center; color:var(--muted); background:#fff; }
.followup-entry-form { margin-top:18px; padding:15px; background:var(--surface-soft); border-radius:14px; border:1px solid var(--border); }
.followup-form-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.followup-list { display:grid; gap:10px; margin-top:16px; }
.followup-entry { border:1px solid var(--border); border-left:4px solid var(--cyan); border-radius:12px; padding:12px 14px; background:#fff; }
.followup-entry > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.followup-entry strong { color:var(--secondary); font-size:12px; }
.followup-entry span { color:var(--muted); font-size:10px; }
.followup-entry p { margin:8px 0 0; white-space:pre-wrap; color:var(--text); font-size:12px; line-height:1.5; }
.empty-state-inline { padding:16px; border:1px dashed var(--border); border-radius:12px; color:var(--muted); text-align:center; }
.crm-result-panel.lost { border-left:5px solid #dc2626; }
.crm-result-panel.closed { border-left:5px solid #16a34a; }
@media (max-width: 820px) {
  .topbar-actions { gap:7px; }
  .history-button { font-size:0; width:38px; height:38px; padding:0; }
  .history-button:first-child::after { content:'↶'; font-size:20px; }
  .history-button:last-child::after { content:'↷'; font-size:20px; }
  .crm-form-stage-head, .crm-stage-panel-head { flex-direction:column; }
}

.stage-locked-mini { color:var(--muted); font-size:9px; font-weight:750; background:var(--surface-soft); border-radius:999px; padding:3px 6px; }


/* v0.7 — Dashboard Executivo */
.dashboard-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; padding:20px; background:linear-gradient(135deg,#0c0931 0%,#1d1856 72%,#312872 100%); color:#fff; border-radius:20px; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.dashboard-toolbar::after { content:""; position:absolute; width:240px; height:240px; border-radius:50%; right:-80px; top:-130px; background:radial-gradient(circle,rgba(0,207,229,.35),transparent 68%); pointer-events:none; }
.dashboard-welcome { position:relative; z-index:1; }
.dashboard-welcome .eyebrow { color:#91f4ff; }
.dashboard-welcome h2 { margin:5px 0 5px; font-size:27px; }
.dashboard-welcome p { margin:0; color:#d9d6ec; font-size:13px; }
.dashboard-controls { display:flex; gap:9px; align-items:flex-end; flex-wrap:wrap; position:relative; z-index:1; }
.dashboard-controls label { display:grid; gap:5px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#d9d6ec; }
.dashboard-controls select { min-width:150px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.1); color:#fff; border-radius:10px; padding:10px 12px; }
.dashboard-controls select option { color:#0c0931; }
.dashboard-controls .secondary-button { background:#fff; color:#0c0931; border-color:#fff; }
.dashboard-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dashboard-metric { text-align:left; font:inherit; color:inherit; cursor:pointer; min-height:132px; display:block; width:100%; }
.dashboard-metric::before { background:var(--metric-accent,#e80074); }
.dashboard-metric:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.dashboard-metric .metric-icon { position:absolute; right:15px; top:13px; display:grid; place-items:center; width:31px; height:31px; border-radius:10px; color:var(--metric-accent,#e80074); background:#f3f2f8; background:color-mix(in srgb,var(--metric-accent,#e80074) 12%,white); font-weight:900; }
.dashboard-metric strong { padding-right:35px; }
.dashboard-metric small { display:block; margin-top:7px; color:var(--muted); font-size:10px; }
.dashboard-metric .metric-money { font-size:21px; letter-spacing:-.03em; }
.tone-doing { --metric-accent:#2563eb; } .tone-danger { --metric-accent:#dc2626; } .tone-success { --metric-accent:#16a34a; }
.tone-grade { --metric-accent:#e80074; } .tone-money { --metric-accent:#1d1856; } .tone-warning { --metric-accent:#d97706; }
.tone-contact { --metric-accent:#00a8ba; } .tone-document { --metric-accent:#7c3aed; }
.dashboard-grid { display:grid; gap:16px; }
.dashboard-grid-main { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
.dashboard-panel { margin-bottom:16px; min-width:0; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.panel-heading h2 { margin:3px 0 0; }
.eyebrow { display:block; color:var(--primary); font-size:9px; letter-spacing:.11em; font-weight:900; }
.text-button { background:none; border:0; color:var(--primary); font-weight:800; cursor:pointer; padding:5px; white-space:nowrap; }
.dashboard-bars { display:grid; gap:10px; }
.dashboard-bar-row { display:grid; grid-template-columns:88px minmax(0,1fr) 26px; align-items:center; gap:10px; border:0; background:none; text-align:left; cursor:pointer; padding:3px 0; color:var(--text); }
.dashboard-bar-row:hover span { color:var(--primary); }
.dashboard-bar-row span { font-size:12px; font-weight:750; }
.dashboard-bar-row b { text-align:right; }
.dashboard-bar-track { height:9px; border-radius:999px; background:#ebeaf2; overflow:hidden; }
.dashboard-bar-track i { display:block; height:100%; min-width:0; border-radius:inherit; background:#9ca3af; }
.dashboard-bar-track .bar-todo { background:#e80074; } .dashboard-bar-track .bar-doing { background:#2563eb; }
.dashboard-bar-track .bar-standby { background:#d97706; } .dashboard-bar-track .bar-done { background:#16a34a; }
.dashboard-bar-track .bar-canceled { background:#dc2626; }
.dashboard-inline-stats { display:flex; gap:10px; flex-wrap:wrap; margin-top:17px; padding-top:14px; border-top:1px solid var(--border); }
.dashboard-inline-stats span { padding:7px 10px; border-radius:9px; background:var(--surface-soft); color:var(--muted); font-size:10px; }
.dashboard-inline-stats b { color:var(--secondary); }
.dashboard-list { display:grid; gap:5px; }
.dashboard-list-item { width:100%; display:flex; align-items:center; gap:10px; padding:9px; border:0; border-radius:11px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.dashboard-list-item:hover { background:var(--surface-soft); }
.dashboard-list-item > div { min-width:0; flex:1; }
.dashboard-list-item strong,.dashboard-list-item small { display:block; }
.dashboard-list-item strong { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-list-item small { margin-top:3px; color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.priority-dot { width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:#d97706; }
.priority-dot.late { background:#dc2626; box-shadow:0 0 0 4px #fee2e2; }
.dashboard-date { font-size:10px; color:var(--muted); white-space:nowrap; }
.dashboard-empty { display:grid; place-items:center; min-height:125px; color:var(--muted); font-size:12px; background:var(--surface-soft); border-radius:12px; }
.crm-funnel-dashboard { display:grid; gap:5px; }
.crm-funnel-row { display:grid; grid-template-columns:28px minmax(120px,.7fr) minmax(150px,1fr); gap:9px; align-items:center; width:100%; padding:7px; border:0; border-radius:10px; background:transparent; text-align:left; cursor:pointer; color:var(--text); }
.crm-funnel-row:hover { background:var(--surface-soft); }
.funnel-step { display:grid; place-items:center; width:24px; height:24px; border-radius:8px; color:#fff; background:var(--secondary); font-size:10px; font-weight:900; }
.crm-funnel-row strong,.crm-funnel-row small { display:block; }
.crm-funnel-row strong { font-size:11px; } .crm-funnel-row small { color:var(--muted); font-size:9px; margin-top:2px; }
.funnel-value { display:grid; gap:5px; justify-items:end; }
.funnel-value b { font-size:10px; }
.funnel-value i { display:block; height:6px; border-radius:999px; background:linear-gradient(90deg,#e80074,#00cfe5); min-width:3px; }
.followup-date { width:39px; height:39px; border-radius:10px; display:grid; place-items:center; align-content:center; background:#e6fafd; color:#0c7180; flex:0 0 auto; line-height:1; }
.followup-date b { font-size:14px; }.followup-date small { font-size:8px; text-transform:uppercase; margin-top:2px; }
.followup-date.late { background:#fee2e2; color:#b91c1c; }.followup-date.today { background:#fce7f3; color:#be185d; }.followup-date.soon { background:#fef3c7; color:#b45309; }
.dashboard-tag { padding:4px 7px; border-radius:999px; font-size:9px; font-weight:800; color:#0c7180; background:#e6fafd; white-space:nowrap; }
.dashboard-tag.late { color:#b91c1c; background:#fee2e2; }.dashboard-tag.today { color:#be185d; background:#fce7f3; }.dashboard-tag.soon { color:#b45309; background:#fef3c7; }
.dashboard-team-table tbody tr { cursor:pointer; }.dashboard-team-table tbody tr:hover { background:var(--surface-soft); }
.member-table-name { display:flex; align-items:center; gap:9px; min-width:190px; }
.member-table-name > span { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:linear-gradient(135deg,var(--cyan-soft),var(--primary-soft)); color:var(--secondary); font-weight:900; font-size:10px; }
.member-table-name strong,.member-table-name small { display:block; }.member-table-name small { color:var(--muted); margin-top:2px; }
.cell-danger { color:#dc2626; font-weight:900; }
.grade-number { font-weight:900; }.grade-blue { color:#2563eb; }.grade-green { color:#16a34a; }.grade-yellow { color:#ca8a04; }.grade-orange { color:#ea580c; }.grade-red { color:#dc2626; }.grade-none { color:var(--muted); }
.my-document-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.my-document-summary > div { padding:17px; border-radius:14px; background:#ecfdf5; color:#166534; }.my-document-summary > div.pending { background:#fff7ed; color:#c2410c; }
.my-document-summary strong,.my-document-summary span { display:block; }.my-document-summary strong { font-size:25px; }.my-document-summary span { font-size:10px; margin-top:3px; }
.document-count { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#fff7ed; color:#c2410c; font-weight:900; flex:0 0 auto; }
.recent-activity { display:grid; gap:4px; }
.recent-activity button { display:flex; gap:10px; align-items:center; width:100%; border:0; padding:8px; border-radius:10px; background:transparent; text-align:left; cursor:pointer; color:var(--text); }
.recent-activity button:hover { background:var(--surface-soft); }.recent-activity div { min-width:0; }
.recent-activity strong,.recent-activity small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.recent-activity strong { font-size:11px; }.recent-activity small { color:var(--muted); font-size:9px; margin-top:3px; }
.activity-icon { width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:#9ca3af; box-shadow:0 0 0 4px #f3f4f6; }.activity-tarefas { background:#2563eb; }.activity-crm { background:#e80074; }.activity-contatos { background:#00a8ba; }.activity-membros { background:#7c3aed; }

@media (max-width:1180px) { .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-grid-main { grid-template-columns:1fr; } }
@media (max-width:760px) { .dashboard-toolbar { align-items:stretch; flex-direction:column; } .dashboard-controls { display:grid; grid-template-columns:1fr; } .dashboard-controls label,.dashboard-controls select,.dashboard-controls button { width:100%; } .dashboard-metrics { grid-template-columns:1fr; } .crm-funnel-row { grid-template-columns:28px 1fr; } .funnel-value { grid-column:2; justify-items:start; width:100%; }.funnel-value i { max-width:100%; }.dashboard-inline-stats { display:grid; }.dashboard-team-table { min-width:720px; } }

/* v0.8 — revisão geral e integridade visual */
body.modal-open { overflow: hidden; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(0,207,229,.35); outline-offset: 2px; }
.field input:disabled, .field select:disabled, .field textarea:disabled { background: #efeff5; color: #8b889d; opacity: 1; }
.invalid-link { color: var(--danger); font-weight: 750; }
.task-audit-section { margin: 18px 22px 0; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-soft); }
.task-audit-section h3 { margin: 18px 0 8px; font-size: 14px; }
.task-audit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.task-audit-grid > div { padding: 10px; border-radius: 10px; background: #fff; border: 1px solid var(--border); }
.task-audit-grid span, .task-audit-grid strong { display: block; }
.task-audit-grid span { color: var(--muted); font-size: 10px; margin-bottom: 4px; }
.task-audit-grid strong { font-size: 12px; overflow-wrap: anywhere; }
.kanban, .crm-board { scrollbar-color: var(--secondary) #e7e6ef; scrollbar-width: thin; }
.kanban::-webkit-scrollbar, .crm-board::-webkit-scrollbar { height: 10px; }
.kanban::-webkit-scrollbar-thumb, .crm-board::-webkit-scrollbar-thumb { background: var(--secondary); border-radius: 999px; }
.kanban::-webkit-scrollbar-track, .crm-board::-webkit-scrollbar-track { background: #e7e6ef; border-radius: 999px; }
.task-card .grade { flex: 0 0 auto; }

@media (max-width: 760px) {
  .task-audit-section { margin: 14px 16px 0; }
  .task-audit-grid { grid-template-columns: 1fr; }
}
.profile-action-group { display: flex; flex-wrap: wrap; gap: 8px; }

/* v0.8.1 — contenção responsiva de listas do Dashboard */
.dashboard-list-item { min-width: 0; }
@media (max-width:1180px) {
  .dashboard-grid-main { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .dashboard-list-item { max-width:100%; }
  .dashboard-date { flex:0 0 auto; }
}
.doc-clear { color:#15803d; font-weight:750; }

/* v0.9 — Home, identidade, perfis, recorrência e CRM ampliado */
.brand-logo-wrap { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px; display: grid; place-items: center; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.brand-logo { width: 100%; height: 100%; object-fit: cover; background: #1d1856; }
.user-pill-button { appearance: none; color: var(--text); text-align: left; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.user-pill-button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(12,9,49,.10); border-color: rgba(0,207,229,.55); }
.user-pill-button .avatar { overflow: hidden; flex: 0 0 auto; }
.user-pill-button .avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-link-arrow { color: var(--primary) !important; font-size: 14px !important; margin: 0 0 0 3px !important; }

.home-page { display: grid; gap: 20px; }
.home-hero { min-height: 330px; position: relative; overflow: hidden; display: grid; align-items: center; padding: clamp(28px,5vw,64px); border-radius: 26px; color: #fff; background: radial-gradient(circle at 80% 20%,rgba(0,207,229,.28),transparent 30%), linear-gradient(135deg,#0c0931 0%,#1d1856 58%,#441257 100%); box-shadow: var(--shadow); }
.home-copy { position: relative; z-index: 2; max-width: 720px; }
.home-copy .eyebrow { color: #85f2ff; }
.home-copy h2 { margin: 8px 0 12px; font-size: clamp(34px,5vw,58px); letter-spacing: -.045em; line-height: 1.02; }
.home-copy p { margin: 0; max-width: 650px; color: #dcd9eb; font-size: 16px; line-height: 1.65; }
.home-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.home-actions .secondary-button { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.20); }
.home-orbit { position: absolute; right: -90px; top: -100px; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: rotate(-18deg); }
.home-orbit::before, .home-orbit::after { content: ''; position: absolute; inset: 52px; border: 1px solid rgba(0,207,229,.32); border-radius: 50%; }
.home-orbit::after { inset: 115px; border-color: rgba(232,0,116,.38); }
.home-orbit span { position: absolute; width: 24px; height: 24px; border-radius: 50%; left: 61px; top: 79px; background: var(--cyan); box-shadow: 0 0 30px rgba(0,207,229,.8); }
.home-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.home-card { min-height: 175px; padding: 22px; border-radius: 18px; border: 1px solid var(--border); background: #fff; box-shadow: 0 4px 14px rgba(12,9,49,.04); }
.home-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--secondary-soft); color: var(--secondary); font-size: 20px; font-weight: 900; }
.home-card:nth-child(2) > span { background: var(--primary-soft); color: var(--primary); }
.home-card:nth-child(3) > span { background: var(--cyan-soft); color: #007b89; }
.home-card:nth-child(4) > span { background: #f1eafe; color: #7c3aed; }
.home-card h3 { margin: 16px 0 7px; font-size: 16px; }
.home-card p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 12px; }

.task-badges { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }
.recurring-badge { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 6px; background: #e6fafd; color: #087786; font-size: 10px; font-weight: 800; }
.recurring-task-box { padding: 13px; border-radius: 13px; background: var(--surface-soft); border: 1px solid var(--border); }
.toggle-field { display: inline-flex; align-items: center; gap: 9px; width: fit-content; cursor: pointer; }
.toggle-field input { width: 18px; height: 18px; accent-color: var(--primary); }
.toggle-field span { font-size: 13px; font-weight: 850; color: var(--secondary); }
.evaluation-readout { grid-column: 1/-1; display: grid; gap: 9px; padding: 12px; background: #fff; border: 1px solid var(--border); border-radius: 11px; }
.evaluation-readout strong { width: fit-content; }
.evaluation-readout p { margin: 0; color: var(--muted); white-space: pre-wrap; line-height: 1.5; font-size: 12px; }
.read-only-form input, .read-only-form select, .read-only-form textarea, .read-only-form .person-chip, .read-only-form .toggle-field { pointer-events: none; }
.read-only-form .primary-button[type='submit'], .read-only-form #addSubtaskButton { display: none; }

.access-pill { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 850; color: #5b21b6; background: #ede9fe; }
.restricted-document { padding: 16px; border: 1px dashed var(--border); border-radius: 12px; color: var(--muted); background: var(--surface-soft); text-align: center; font-size: 12px; }

.crm-overview-strip { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 16px; padding: 18px 22px; color: #fff; background: linear-gradient(110deg,var(--secondary),#342b75 70%,#514089); border-radius: 18px; box-shadow: var(--shadow); }
.crm-overview-strip span, .crm-overview-strip strong, .crm-overview-strip small { display: block; }
.crm-overview-strip span { color: #d8d4ec; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.crm-overview-strip strong { margin-top: 5px; font-size: 26px; }
.crm-overview-strip small { color: #a9eaf1; margin-top: 3px; }
.crm-overview-note { max-width: 370px; color: #d8d4ec; font-size: 11px; line-height: 1.5; text-align: right; }
.crm-column.drag-over { outline: 3px solid var(--cyan); outline-offset: 2px; background: var(--cyan-soft); }
.crm-column.drag-over .crm-column-head { background: rgba(0,207,229,.10); }
.crm-column-body { min-height: 360px; }
.crm-card-counters { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.crm-card-counters span { padding: 3px 6px; border-radius: 7px; background: var(--surface-soft); color: var(--muted); font-size: 9px; }
.timeline-entry-text { margin-top: 9px; color: var(--text); font-size: 12px; line-height: 1.5; }
.timeline-entry-text p { margin: 0; white-space: pre-wrap; }
.timeline-entry-text a, .timeline-material a { color: var(--primary); font-weight: 800; text-decoration: none; }
.timeline-material { margin-top: 8px; }
.followup-entry > small { display: block; margin-top: 9px; color: var(--secondary); font-size: 10px; font-weight: 750; }
.crm-stage-panel .document-row { margin-top: 3px; }
.crm-profile-hero .hero-contact-link { border-radius: 8px; padding: 7px 9px; background: var(--primary-soft); text-decoration: none; }
.dashboard-team-table { min-width: 1120px; }
.dashboard-team-table td, .dashboard-team-table th { white-space: nowrap; }

@media (max-width: 1180px) {
  .home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .brand-logo-wrap { width: 42px; height: 42px; flex-basis: 42px; }
  .home-hero { min-height: 380px; padding: 28px 22px; }
  .home-copy p { font-size: 14px; }
  .home-grid { grid-template-columns: 1fr; }
  .home-orbit { opacity: .48; right: -210px; }
  .crm-overview-strip { align-items: flex-start; flex-direction: column; }
  .crm-overview-note { text-align: left; }
  .topbar-actions { margin-left: auto; }
}
@media (max-width: 760px) {
  .user-pill.user-pill-button { display: flex; margin-left: auto; padding: 6px; border-radius: 12px; }
  .user-pill.user-pill-button > div:nth-child(2), .user-pill.user-pill-button .profile-link-arrow { display: none; }
  .user-pill.user-pill-button .avatar { width: 36px; height: 36px; }
  .topbar > div:nth-child(2) { min-width: 0; }
  .topbar h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

.member-photo-controls { display: grid; gap: 12px; min-width: 0; }
.photo-adjustments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-soft); }
.photo-adjustments .field { min-width: 0; }
.photo-adjustments input[type="range"] { width: 100%; accent-color: var(--primary); }
.photo-adjustments .compact-button { justify-self: start; align-self: end; }
.member-photo-preview img, .member-cover img, .profile-photo img, .avatar img { transition: transform .16s ease, object-position .16s ease; }
.member-cover, .profile-photo, .member-photo-preview { background-color: #f2f2f7; }
@media (max-width: 720px) { .photo-adjustments { grid-template-columns: 1fr; } }

/* v0.13 — autenticação real com Google + Supabase */
body.auth-pending { min-height: 100vh; overflow: hidden; background: #0c0931; }
.auth-gate { min-height: 100vh; padding: 28px; display: grid; place-items: center; background: radial-gradient(circle at 18% 14%, rgba(0,207,229,.19), transparent 29%), radial-gradient(circle at 82% 84%, rgba(232,0,116,.20), transparent 32%), #0c0931; }
.auth-card { width: min(440px, 100%); padding: 36px; border-radius: 26px; background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.32); box-shadow: 0 28px 80px rgba(0,0,0,.34); text-align: center; }
.auth-logo { width: 104px; height: 104px; object-fit: contain; display: block; margin: 0 auto 22px; border-radius: 22px; background: #1d1856; }
.auth-eyebrow { display: block; color: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.auth-card h1 { margin: 9px 0 10px; font-size: 28px; letter-spacing: -.035em; }
.auth-card p { margin: 0 auto 22px; color: var(--muted); line-height: 1.55; max-width: 340px; }
.auth-card small { display: block; margin-top: 18px; color: var(--muted); line-height: 1.45; }
.auth-loading { min-height: 42px; display: flex; justify-content: center; align-items: center; gap: 7px; }
.auth-loading span { width: 9px; height: 9px; border-radius: 50%; background: var(--secondary); animation: auth-pulse 1s infinite ease-in-out; }
.auth-loading span:nth-child(2) { animation-delay: .14s; background: var(--primary); }
.auth-loading span:nth-child(3) { animation-delay: .28s; background: var(--cyan); }
@keyframes auth-pulse { 0%, 80%, 100% { transform: scale(.72); opacity: .48; } 40% { transform: scale(1); opacity: 1; } }
.google-login-button { width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--border); border-radius: 13px; background: #fff; color: var(--text); font-weight: 800; box-shadow: 0 7px 18px rgba(12,9,49,.08); }
.google-login-button:hover { border-color: rgba(0,207,229,.72); transform: translateY(-1px); }
.google-login-button:disabled { cursor: wait; opacity: .62; }
.google-g { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #4285f4; font-size: 20px; font-weight: 900; background: #fff; border: 1px solid #e5e7eb; }
.auth-card #authSignOutButton { width: 100%; margin-top: 4px; }
.auth-error { margin-top: 16px; padding: 11px 12px; border-radius: 11px; background: #fee2e2; border: 1px solid #fecaca; color: #991b1b; font-size: 12px; line-height: 1.5; text-align: left; }
.logout-button { white-space: nowrap; }
@media (max-width: 760px) {
  .auth-gate { padding: 16px; }
  .auth-card { padding: 28px 20px; }
  .auth-logo { width: 88px; height: 88px; }
  .logout-button { padding: 9px 10px; font-size: 0; }
  .logout-button::after { content: '↪'; font-size: 20px; }
}

/* Etapa 5 — sincronização do Diretório de Membros */
.sync-notice {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-soft);
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sync-notice.sync-error {
  border-color: rgba(220, 38, 38, .28);
  background: rgba(254, 226, 226, .72);
  color: #991b1b;
}
