/* ══════════════════════════════════════════════════════
   HUB LOG 2.0 — Design System
   Log Digital · Marketing Médico
   ══════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --c-primary:        #6329C8;
  --c-primary-dark:   #3C147C;
  --c-primary-light:  #F2EBFF;
  --c-primary-subtle: #F7F3FC;
  --c-accent:         #8A55DE;
  --c-success:        #087B57;
  --c-success-light:  #E6F7EF;
  --c-warning:        #9D5A05;
  --c-warning-light:  #FFF3DD;
  --c-danger:         #AD3743;
  --c-danger-light:   #FFF0F2;
  --c-info:           #3B82F6;
  --c-info-light:     #DBEAFE;
  --c-orange:         #F97316;
  --c-orange-light:   #FFEDD5;
  --gray-50:  #F8F7FB; --gray-100: #F1EFF4;
  --gray-200: #E9E4F0; --gray-300: #DCD6E7;
  --gray-400: #9C94A7; --gray-500: #746E81;
  --gray-600: #655D70; --gray-700: #5D556A;
  --gray-800: #3A3448; --gray-900: #211C30;
  --bg-canvas:   #F8F7FB;
  --bg-surface:  #FFFFFF;
  --text-base:   #211C30;
  --text-muted:  #746E81;
  --text-subtle: #9C94A7;
  --border:        #E9E4F0;
  --border-subtle: #F1EFF4;
  --sidebar-bg:    #FFFFFF;
  --sidebar-width: 232px;
  --font: 'DM Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-display: 'Manrope', system-ui, sans-serif;
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-7:28px; --sp-8:32px; --sp-10:40px; --sp-12:48px;
  --r-xs:4px; --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-2xl:28px; --r-full:9999px;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.05);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.04);
  --shadow-xl: 0 24px 48px rgba(0,0,0,.12),0 8px 16px rgba(0,0,0,.06);
  --shadow-primary:    none;
  --shadow-primary-lg: none;
  --shadow-danger:     0 4px 16px rgba(239,68,68,.28);
  --shadow-success:    0 4px 16px rgba(16,185,129,.28);
  --t-fast:   120ms ease;
  --t-base:   200ms ease;
  --t-spring: 400ms cubic-bezier(.34,1.56,.64,1);
  --t-smooth: 250ms cubic-bezier(.4,0,.2,1);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text-base);background:var(--bg-canvas)}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}

/* ══════════════════════════════════════════════════════
   LOGIN
   ══════════════════════════════════════════════════════ */
.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 80% 60% at 20% 40%, rgba(124,58,237,.4) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 60%, rgba(168,85,247,.3) 0%, transparent 60%),
    linear-gradient(135deg, #0D0B1E 0%, #1A0F42 50%, #1E0F4A 100%);
  padding: var(--sp-4);
  position: relative;
  overflow: hidden;
}
.login-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.04) 1px, transparent 0);
  background-size: 40px 40px;
  pointer-events: none;
}
.login-card {
  background: rgba(255,255,255,.97);
  border-radius: var(--r-xl);
  padding: var(--sp-10) var(--sp-8);
  width: 100%;
  max-width: 420px;
  box-shadow: 0 40px 80px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  position: relative;
  z-index: 1;
}
.login-brand { display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2); }
.login-logo-icon {
  width:48px;height:48px;
  background:linear-gradient(135deg,var(--c-primary),#A855F7);
  border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  box-shadow:var(--shadow-primary);
}
.login-title    { font-size:20px;font-weight:800;color:var(--c-primary);line-height:1.2 }
.login-subtitle { font-size:11px;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;margin-top:1px }
.login-heading  { font-size:24px;font-weight:800;color:var(--text-base);letter-spacing:-.02em }
.login-desc     { font-size:13px;color:var(--text-muted);margin-top:-8px }
.btn-full       { width:100%;justify-content:center }

/* ══════════════════════════════════════════════════════
   LAYOUT
   ══════════════════════════════════════════════════════ */
#app { display:flex;min-height:100vh }

/* ── SIDEBAR ── */
.sidebar {
  width: var(--sidebar-width);
  background: linear-gradient(180deg, #0D0B1E 0%, #130E30 40%, #1A0F42 70%, #1E1048 100%);
  color: white;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-right: 1px solid rgba(124,58,237,.12);
}
.sidebar::-webkit-scrollbar { width:3px }
.sidebar::-webkit-scrollbar-thumb { background:rgba(167,139,250,.2);border-radius:4px }

.sidebar-brand {
  display:flex;align-items:center;gap:var(--sp-3);
  padding:var(--sp-5) var(--sp-5);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.sidebar-logo-icon {
  width:36px;height:36px;
  background:linear-gradient(135deg,var(--c-primary),#A855F7);
  border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(124,58,237,.4);
}
.sidebar-brand-name { font-size:16px;font-weight:700;letter-spacing:-.01em }
.sidebar-brand-sub  { font-size:10px;color:rgba(255,255,255,.3);letter-spacing:.06em;text-transform:uppercase }

.sidebar-nav {
  flex:1;
  padding:var(--sp-3) var(--sp-3);
  display:flex;flex-direction:column;gap:2px;
}
.nav-section-label {
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.25);
  padding:var(--sp-2) var(--sp-3);
  margin-top:var(--sp-2);
}
.nav-item {
  display:flex;align-items:center;gap:var(--sp-3);
  padding:9px var(--sp-3);
  border-radius:var(--r-md);
  color:rgba(255,255,255,.5);
  font-size:13px;font-weight:500;
  transition:all var(--t-fast);
  position:relative;cursor:pointer;
}
.nav-item:hover { background:rgba(255,255,255,.07);color:rgba(255,255,255,.9) }
.nav-item.active { background:linear-gradient(90deg,rgba(124,58,237,.5),rgba(124,58,237,.12));color:white;font-weight:600 }
.nav-item.active::before {
  content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;
  background:linear-gradient(180deg,#C4B5FD,#7C3AED);
  border-radius:0 var(--r-full) var(--r-full) 0;
}
.nav-icon { width:16px;height:16px;flex-shrink:0;opacity:.6;transition:opacity var(--t-fast) }
.nav-item.active .nav-icon,.nav-item:hover .nav-icon { opacity:1 }
.nav-divider { height:1px;background:rgba(255,255,255,.05);margin:var(--sp-2) var(--sp-3) }

.notif-badge {
  margin-left:auto;background:#EF4444;color:white;
  font-size:10px;font-weight:700;min-width:18px;height:18px;
  border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;
  padding:0 4px;animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

.sidebar-footer {
  padding:var(--sp-4);border-top:1px solid rgba(255,255,255,.05);
  display:flex;align-items:center;gap:var(--sp-3);
}
.sidebar-user { display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:0 }
.sidebar-user-info { display:flex;flex-direction:column;min-width:0 }
.sidebar-user-info span:first-child { font-size:12px;font-weight:600;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.sidebar-user-info span:last-child  { font-size:10px;color:rgba(255,255,255,.35) }
.btn-logout {
  background:rgba(255,255,255,.06);border:none;color:rgba(255,255,255,.4);
  width:30px;height:30px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  transition:all var(--t-fast);flex-shrink:0;
}
.btn-logout:hover { background:rgba(239,68,68,.2);color:#FCA5A5 }

/* ── MAIN ── */
.main-content { flex:1;padding:var(--sp-8);overflow-y:auto;max-width:calc(100vw - var(--sidebar-width)) }

/* ══════════════════════════════════════════════════════
   AVATAR
   ══════════════════════════════════════════════════════ */
.avatar {
  border-radius:var(--r-full);
  background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));
  display:flex;align-items:center;justify-content:center;
  font-weight:700;color:var(--c-primary);overflow:hidden;flex-shrink:0;
}
.avatar img { width:100%;height:100%;object-fit:cover }
.avatar-xs { width:22px;height:22px;font-size:9px }
.avatar-sm { width:32px;height:32px;font-size:13px }
.avatar-md { width:44px;height:44px;font-size:16px }
.avatar-lg { width:72px;height:72px;font-size:26px }

/* ══════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════ */
.btn {
  display:inline-flex;align-items:center;justify-content:center;
  gap:var(--sp-2);padding:9px 18px;
  border-radius:var(--r-md);font-size:13.5px;font-weight:600;
  letter-spacing:.01em;border:none;
  transition:all var(--t-fast);white-space:nowrap;cursor:pointer;
}
.btn:active { transform:scale(.97)!important }

.btn-primary {
  background:linear-gradient(135deg,#8B5CF6 0%,#7C3AED 60%,#6D28D9 100%);
  color:white;box-shadow:var(--shadow-primary);
}
.btn-primary:hover { transform:translateY(-1px);box-shadow:var(--shadow-primary-lg);filter:brightness(1.06) }

.btn-secondary { background:var(--gray-100);color:var(--gray-700) }
.btn-secondary:hover { background:var(--gray-200);transform:translateY(-1px) }

.btn-outline {
  background:white;border:1.5px solid var(--gray-200);color:var(--gray-600);
}
.btn-outline:hover { border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-subtle) }

.btn-danger { background:linear-gradient(135deg,#F87171,#EF4444);color:white;box-shadow:var(--shadow-danger) }
.btn-danger:hover { filter:brightness(1.08);transform:translateY(-1px) }

.btn-success { background:linear-gradient(135deg,#34D399,#10B981);color:white;box-shadow:var(--shadow-success) }
.btn-success:hover { filter:brightness(1.08);transform:translateY(-1px) }

.btn-ghost { background:transparent;color:var(--text-muted);padding:7px 12px }
.btn-ghost:hover { background:var(--gray-100);color:var(--text-base) }

.btn-sm   { padding:7px 14px;font-size:12.5px }
.btn-xs   { padding:5px 10px;font-size:12px;border-radius:var(--r-sm) }
.btn-full { width:100% }
.btn-pill { border-radius:var(--r-full) }
.btn-icon { width:34px;height:34px;padding:0;flex-shrink:0 }

/* ══════════════════════════════════════════════════════
   FORMS
   ══════════════════════════════════════════════════════ */
.form-group { display:flex;flex-direction:column;gap:6px }
.form-label {
  font-size:11.5px;font-weight:700;color:var(--gray-600);
  text-transform:uppercase;letter-spacing:.07em;
}
.form-input,.form-select,.form-textarea {
  padding:10px 14px;border:1.5px solid var(--gray-200);
  border-radius:var(--r-md);font-size:14px;color:var(--text-base);
  background:white;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%;
}
.form-input:hover,.form-select:hover,.form-textarea:hover { border-color:var(--gray-300) }
.form-input:focus,.form-select:focus,.form-textarea:focus {
  outline:none;border-color:var(--c-primary);
  box-shadow:0 0 0 3px rgba(124,58,237,.12);
}
.form-input::placeholder { color:var(--gray-400) }
.form-textarea { min-height:90px;resize:vertical;line-height:1.6 }
.form-select {
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}
/* backward compat */
.form-group input:not(.form-input),.form-group select:not(.form-select),.form-group textarea:not(.form-textarea) {
  padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--r-md);font-size:14px;
  color:var(--text-base);background:white;transition:border-color var(--t-fast);width:100%;font-family:var(--font);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus {
  outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(124,58,237,.10);
}
.form-group textarea { min-height:80px;resize:vertical;line-height:1.5 }
.form-group select {
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;
}

/* ══════════════════════════════════════════════════════
   SEARCH
   ══════════════════════════════════════════════════════ */
.search-bar {
  width:100%;padding:10px 14px 10px 40px;
  border:1.5px solid var(--gray-200);border-radius:var(--r-lg);font-size:14px;
  background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M6.5 1a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM0 6.5a6.5 6.5 0 1111.569 4.062l3.185 3.185a.75.75 0 11-1.06 1.06l-3.185-3.185A6.5 6.5 0 010 6.5z' fill='%239CA3AF'/%3E%3C/svg%3E") no-repeat 13px center;
  transition:all var(--t-fast);color:var(--text-base);
  margin-bottom:var(--sp-4);box-shadow:var(--shadow-xs);
}
.search-bar:hover { border-color:var(--gray-300) }
.search-bar:focus { outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(124,58,237,.12) }
.search-bar::placeholder { color:var(--gray-400) }

/* ══════════════════════════════════════════════════════
   CARDS
   ══════════════════════════════════════════════════════ */
.card {
  background:white;border-radius:var(--r-lg);
  padding:var(--sp-5) var(--sp-6);
  border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);
  transition:box-shadow var(--t-base);
}
.card:hover { box-shadow:var(--shadow-md) }
.card + .card { margin-top:var(--sp-4) }

/* ── STAT CARDS ── */
.stat-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:var(--sp-4);margin-bottom:var(--sp-6);
}
.stat-card {
  background:white;border:1px solid var(--gray-100);border-radius:var(--r-lg);
  padding:var(--sp-5);box-shadow:var(--shadow-sm);
  position:relative;overflow:hidden;
  border-top:3px solid var(--c-primary);
  transition:box-shadow var(--t-base),transform var(--t-smooth);
}
.stat-card:hover { box-shadow:var(--shadow-md);transform:translateY(-2px) }
.stat-label {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--text-subtle);margin-bottom:var(--sp-2);
}
.stat-value { font-size:30px;font-weight:800;color:var(--text-base);line-height:1;letter-spacing:-.03em }
.stat-sub   { font-size:12px;color:var(--text-muted);margin-top:6px }
.stat-icon  {
  position:absolute;top:var(--sp-4);right:var(--sp-4);
  width:36px;height:36px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.stat-trend {
  display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;
  margin-top:6px;padding:2px 6px;border-radius:var(--r-sm);
}
.stat-trend-up   { color:var(--c-success);background:var(--c-success-light) }
.stat-trend-down { color:var(--c-danger); background:var(--c-danger-light) }

/* ── METRIC CARD (home dashboard) ── */
.metric-card {
  background:white;border:1px solid var(--gray-100);border-radius:var(--r-xl);
  padding:var(--sp-6);box-shadow:var(--shadow-sm);
  transition:box-shadow var(--t-base),transform var(--t-smooth);
}
.metric-card:hover { box-shadow:var(--shadow-lg);transform:translateY(-3px) }
.metric-card-accent         { border-left:4px solid var(--c-primary) }
.metric-card-accent-success { border-left:4px solid var(--c-success) }
.metric-card-accent-danger  { border-left:4px solid var(--c-danger) }
.metric-card-accent-warning { border-left:4px solid var(--c-warning) }
.metric-label { font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-2) }
.metric-value { font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1 }
.metric-sub   { font-size:13px;color:var(--text-muted);margin-top:var(--sp-2) }

/* ══════════════════════════════════════════════════════
   PAGE HEADER
   ══════════════════════════════════════════════════════ */
.page-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:var(--sp-6);flex-wrap:wrap;gap:var(--sp-3);
}
.page-header h2 { font-size:22px;font-weight:800;color:var(--text-base);letter-spacing:-.02em }
.page-title    { font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--text-base);margin-bottom:3px }
.page-subtitle { font-size:13px;color:var(--text-muted) }

/* ══════════════════════════════════════════════════════
   TABLES
   ══════════════════════════════════════════════════════ */
.table-wrap {
  background:white;border-radius:var(--r-lg);
  border:1px solid var(--gray-100);overflow:hidden;box-shadow:var(--shadow-sm);
}
table {
  width:100%;border-collapse:collapse;background:white;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);
}
thead th {
  background:#FAFAFA;padding:10px 16px;text-align:left;
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--gray-400);border-bottom:1.5px solid var(--gray-100);
  white-space:nowrap;position:sticky;top:0;z-index:1;
}
tbody td {
  padding:12px 16px;font-size:13.5px;color:var(--text-base);
  border-bottom:1px solid rgba(229,231,235,.5);vertical-align:middle;
}
tbody tr:last-child td { border-bottom:none }
tbody tr { transition:background var(--t-fast) }
tbody tr:hover td { background:var(--c-primary-subtle) }
.empty-row td { text-align:center;padding:48px 16px;color:var(--text-subtle) }

/* ══════════════════════════════════════════════════════
   BADGES
   ══════════════════════════════════════════════════════ */
.badge {
  display:inline-flex;align-items:center;gap:3px;padding:3px 9px;
  border-radius:var(--r-full);font-size:11px;font-weight:700;
  white-space:nowrap;letter-spacing:.01em;
}
.badge-aberto   { background:#EDE9FE;color:#5B21B6 }
.badge-concluido{ background:#D1FAE5;color:#065F46 }
.badge-aprovado { background:#D1FAE5;color:#065F46 }
.badge-reprovado{ background:#FEE2E2;color:#991B1B }
.badge-agendado { background:#DBEAFE;color:#1E40AF }
.badge-publicado{ background:#D1FAE5;color:#166534 }
.badge-urgente  { background:#FEE2E2;color:#991B1B }
.badge-alta     { background:#FFEDD5;color:#C2410C }
.badge-media    { background:#FEF3C7;color:#92400E }
.badge-baixa    { background:var(--gray-100);color:var(--gray-500) }
.badge-neutral  { background:var(--gray-100);color:var(--gray-500) }

/* ══════════════════════════════════════════════════════
   STATUS PIPELINE
   ══════════════════════════════════════════════════════ */
.status-pipeline { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp-5) }
.status-btn {
  padding:6px 14px;border-radius:var(--r-full);
  border:1.5px solid var(--gray-200);background:white;color:var(--gray-500);
  font-size:12.5px;font-weight:500;font-family:var(--font);
  transition:all var(--t-fast);cursor:pointer;white-space:nowrap;
}
.status-btn:hover { border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-subtle) }
.status-btn.active { border-color:var(--c-primary);background:var(--c-primary);color:white;font-weight:600;box-shadow:var(--shadow-primary) }

/* ══════════════════════════════════════════════════════
   MODAL
   ══════════════════════════════════════════════════════ */
.modal-backdrop {
  position:fixed;inset:0;background:rgba(10,5,25,.65);
  backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;
  z-index:1000;padding:var(--sp-4);animation:fadeIn 150ms ease;
}
.modal {
  background:white;border-radius:var(--r-xl);padding:0;
  width:100%;max-width:580px;max-height:90vh;overflow-y:auto;
  box-shadow:0 32px 64px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.06);
  animation:slideUp 260ms cubic-bezier(.34,1.26,.64,1);
}
.modal h3 {
  font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text-base);
  padding:var(--sp-5) var(--sp-7) var(--sp-4);
  background:#FAFAFA;border-bottom:1px solid var(--gray-100);
  position:sticky;top:0;z-index:2;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  border-bottom:2px solid transparent;
  border-image:linear-gradient(90deg,var(--c-primary),#A855F7,transparent) 1;
}
.modal > *:not(h3):not(.modal-header):not(.modal-body):not(.modal-footer) { padding-left:var(--sp-6);padding-right:var(--sp-6) }
.modal > *:last-child:not(.modal-footer) { padding-bottom:var(--sp-6) }
.modal > h3 + * { padding-top:var(--sp-5) }
.modal-header {
  padding:var(--sp-5) var(--sp-6) var(--sp-4);
  background:#FAFAFA;border-bottom:1px solid var(--gray-100);
  position:sticky;top:0;z-index:2;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  border-bottom:2px solid transparent;
  border-image:linear-gradient(90deg,var(--c-primary),#A855F7,transparent) 1;
}
.modal-title {
  font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text-base);margin:0;
}
.modal-body {
  padding:var(--sp-5) var(--sp-6);
}
.modal-footer {
  display:flex;gap:var(--sp-3);justify-content:flex-end;
  padding:var(--sp-4) var(--sp-6) var(--sp-5);
  border-top:1px solid var(--gray-100);
}
@keyframes fadeIn  { from{opacity:0}        to{opacity:1} }
@keyframes slideUp { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }

/* ══════════════════════════════════════════════════════
   NOTIFICATIONS
   ══════════════════════════════════════════════════════ */
.notif-item {
  display:flex;gap:var(--sp-4);align-items:flex-start;
  padding:var(--sp-4) var(--sp-3);border-radius:var(--r-md);cursor:pointer;
  transition:background var(--t-fast);border-bottom:1px solid var(--gray-100);
}
.notif-item:last-child { border-bottom:none }
.notif-item:hover { background:var(--c-primary-subtle) }
.notif-dot { width:8px;height:8px;border-radius:var(--r-full);background:var(--c-primary);margin-top:5px;flex-shrink:0 }
.notif-dot.lida { background:var(--gray-300) }
.notif-text-main { font-size:14px;font-weight:600;color:var(--text-base) }
.notif-text-sub  { font-size:12.5px;color:var(--text-muted);margin-top:2px }
.notif-time      { font-size:11px;color:var(--text-subtle);margin-top:4px }

/* ══════════════════════════════════════════════════════
   UPLOAD
   ══════════════════════════════════════════════════════ */
.upload-area {
  border:2px dashed var(--gray-200);border-radius:var(--r-lg);padding:var(--sp-6);
  text-align:center;cursor:pointer;color:var(--text-muted);font-size:13.5px;
  transition:all var(--t-fast);
}
.upload-area:hover { border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-subtle) }

/* ══════════════════════════════════════════════════════
   TEAM CARDS
   ══════════════════════════════════════════════════════ */
.team-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4) }
.team-card {
  background:white;border:1px solid var(--gray-100);border-radius:var(--r-xl);
  padding:var(--sp-6);text-align:center;box-shadow:var(--shadow-sm);
  transition:box-shadow var(--t-base),transform var(--t-smooth);
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.team-card::before {
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--c-primary),#A855F7);
  opacity:0;transition:opacity var(--t-fast);
}
.team-card:hover { box-shadow:var(--shadow-md);transform:translateY(-2px) }
.team-card:hover::before { opacity:1 }
.team-card .avatar { margin:0 auto var(--sp-3) }
.team-card .cargo-badge {
  display:inline-flex;padding:2px 10px;border-radius:var(--r-full);
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:var(--c-primary-light);color:var(--c-primary);margin-bottom:var(--sp-2);
}
.team-card .nome  { font-size:15px;font-weight:700;color:var(--text-base) }
.team-card .email { font-size:11.5px;color:var(--text-subtle);margin-top:2px;word-break:break-all }
.team-card-actions {
  display:flex;flex-direction:column;gap:var(--sp-2);
  margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--gray-100);
}
.team-btn-full { width:100%;justify-content:center }
.team-btn-row  { display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap }
.team-icon-btn { display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 10px }

/* ══════════════════════════════════════════════════════
   APROVAÇÃO
   ══════════════════════════════════════════════════════ */
.aprov-block { margin-bottom:var(--sp-6) }
.aprov-row {
  display:flex;align-items:center;justify-content:space-between;
  padding:12px var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-2);
  font-size:14px;cursor:pointer;transition:opacity var(--t-fast);
}
.aprov-row:hover { opacity:.85 }
.aprov-row.verde    { background:#D1FAE5;color:#065F46 }
.aprov-row.vermelho { background:#FEE2E2;color:#991B1B }
.aprov-row.amarelo  { background:#FEF3C7;color:#92400E }
.aprov-row.azul     { background:#DBEAFE;color:#1E3A5F }

/* ══════════════════════════════════════════════════════
   SUGGESTIONS
   ══════════════════════════════════════════════════════ */
.suggestion-card {
  background:white;border:1px solid var(--gray-100);border-radius:var(--r-lg);
  padding:var(--sp-5);box-shadow:var(--shadow-xs);
  display:flex;gap:var(--sp-4);align-items:flex-start;
  margin-bottom:var(--sp-3);transition:box-shadow var(--t-fast);
}
.suggestion-card:hover { box-shadow:var(--shadow-sm) }
.suggestion-card.resolved { opacity:.5 }
.suggestion-meta { font-size:12px;color:var(--text-subtle);margin-top:4px }
.suggestion-text { font-size:14px;color:var(--text-base);line-height:1.5 }

/* ══════════════════════════════════════════════════════
   MISC
   ══════════════════════════════════════════════════════ */
.alert { padding:10px var(--sp-4);border-radius:var(--r-md);font-size:13.5px;font-weight:500 }
.alert-danger  { background:var(--c-danger-light);color:#991B1B }
.alert-success { background:var(--c-success-light);color:#065F46 }
.erro { color:var(--c-danger);font-size:13px }

.doc-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4) }
.doc-card {
  background:white;border:1px solid var(--gray-100);border-radius:var(--r-lg);
  padding:var(--sp-5);box-shadow:var(--shadow-xs);transition:all var(--t-base);
}
.doc-card:hover { box-shadow:var(--shadow-md);transform:translateY(-2px) }
.doc-card-thumb  { overflow:hidden;border-radius:var(--r-md) var(--r-md) 0 0;margin:-var(--sp-5) -var(--sp-6) var(--sp-4);margin:-20px -24px 16px }
.doc-card-month  { font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin-bottom:4px }
.doc-card-client { font-size:15px;font-weight:700;color:var(--text-base) }
.doc-card-actions { display:flex;gap:var(--sp-2);margin-top:var(--sp-4);justify-content:flex-end }

.section-divider { height:1px;background:var(--gray-100);margin:var(--sp-6) 0 }
.section-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--c-primary);margin-bottom:var(--sp-3) }
.detail-section-title { font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--c-primary);margin-bottom:var(--sp-4) }
.back-btn {
  display:inline-flex;align-items:center;gap:var(--sp-2);font-size:13px;font-weight:600;
  color:var(--text-muted);margin-bottom:var(--sp-4);padding:6px 10px;
  border-radius:var(--r-md);transition:all var(--t-fast);cursor:pointer;
}
.back-btn:hover { color:var(--c-primary);background:var(--c-primary-subtle) }

.prio-dot { display:inline-block;width:8px;height:8px;border-radius:var(--r-full);margin-right:6px }
.prio-Urgente { background:var(--c-danger) }
.prio-Alta    { background:var(--c-orange) }
.prio-Média   { background:var(--c-warning) }
.prio-Baixa   { background:var(--gray-300) }
.filter-bar   { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp-4) }

/* ══════════════════════════════════════════════════════
   PROGRESS BARS (gamification)
   ══════════════════════════════════════════════════════ */
.progress-bar {
  height:6px;background:var(--gray-100);border-radius:var(--r-full);overflow:hidden;
}
.progress-fill {
  height:100%;border-radius:var(--r-full);
  background:linear-gradient(90deg,#8B5CF6,#A855F7);
  transition:width .7s cubic-bezier(.4,0,.2,1);
}
.progress-fill-success { background:linear-gradient(90deg,#34D399,#10B981) }
.progress-fill-danger  { background:linear-gradient(90deg,#F87171,#EF4444) }
.progress-fill-warning { background:linear-gradient(90deg,#FBBF24,#F59E0B) }
.progress-mini      { height:4px;background:var(--gray-100);border-radius:var(--r-full);overflow:hidden;min-width:60px }
.progress-mini-fill { height:100%;border-radius:var(--r-full);background:var(--c-primary) }

/* ══════════════════════════════════════════════════════
   CHART WRAPPER
   ══════════════════════════════════════════════════════ */
.chart-wrap { position:relative;width:100% }
.chart-wrap canvas { display:block }

/* ══════════════════════════════════════════════════════
   SCORE RING
   ══════════════════════════════════════════════════════ */
.score-ring { display:inline-flex;align-items:center;justify-content:center;position:relative }
.score-ring-label {
  position:absolute;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
}
.score-ring-value { font-size:20px;font-weight:800;letter-spacing:-.04em }
.score-ring-sub   { font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em }

/* ══════════════════════════════════════════════════════
   CONTEXT MENU
   ══════════════════════════════════════════════════════ */
.ctx-menu {
  position:fixed;background:white;border:1px solid var(--gray-200);
  border-radius:var(--r-lg);box-shadow:var(--shadow-xl);z-index:9999;
  min-width:180px;padding:6px 0;animation:fadeIn 100ms ease;
}
.ctx-item {
  padding:9px 16px;font-size:13.5px;cursor:pointer;display:flex;align-items:center;
  gap:10px;color:var(--text-base);transition:background var(--t-fast);
}
.ctx-item:hover { background:var(--gray-50) }
.ctx-item.danger { color:var(--c-danger) }
.ctx-item.danger:hover { background:var(--c-danger-light) }
.ctx-divider { height:1px;background:var(--gray-100);margin:4px 0 }

/* ══════════════════════════════════════════════════════
   TOAST
   ══════════════════════════════════════════════════════ */
#toast-container {
  position:fixed;top:20px;right:20px;z-index:9990;
  display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:360px;
}
.toast {
  display:flex;align-items:flex-start;gap:12px;padding:14px 16px;
  border-radius:var(--r-lg);font-size:13.5px;font-weight:500;line-height:1.45;
  pointer-events:all;box-shadow:var(--shadow-xl);
  animation:toast-in 280ms cubic-bezier(.34,1.26,.64,1) forwards;cursor:pointer;
}
.toast.hide   { animation:toast-out 200ms ease forwards }
.toast-icon   { font-size:18px;flex-shrink:0;margin-top:1px }
.toast-body   { flex:1 }
.toast-title  { font-weight:700;margin-bottom:2px }
.toast-success{ background:#064E3B;color:#ECFDF5 }
.toast-error  { background:#7F1D1D;color:#FEF2F2 }
.toast-info   { background:#1E1B4B;color:#EDE9FE }
.toast-warning{ background:#78350F;color:#FFFBEB }
@keyframes toast-in  { from{transform:translateX(110%);opacity:0} to{transform:translateX(0);opacity:1} }
@keyframes toast-out { from{transform:translateX(0);opacity:1}    to{transform:translateX(110%);opacity:0} }

/* ══════════════════════════════════════════════════════
   SKELETON
   ══════════════════════════════════════════════════════ */
.skeleton {
  background:linear-gradient(90deg,var(--gray-100) 25%,#eaeaea 50%,var(--gray-100) 75%);
  background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:var(--r-md);
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.skeleton-row   { height:52px;margin-bottom:2px;border-radius:0 }
.skeleton-row:first-child { border-radius:var(--r-md) var(--r-md) 0 0 }
.skeleton-row:last-child  { border-radius:0 0 var(--r-md) var(--r-md);margin-bottom:0 }
.skeleton-card  { height:96px;border-radius:var(--r-lg) }
.skeleton-title { height:24px;width:40%;border-radius:var(--r-md) }
.skeleton-text  { height:14px;border-radius:var(--r-sm) }

/* ══════════════════════════════════════════════════════
   PAGE TRANSITION
   ══════════════════════════════════════════════════════ */
.page-enter { animation:pageEnter 200ms ease forwards }
@keyframes pageEnter { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

/* ══════════════════════════════════════════════════════
   HAMBURGER
   ══════════════════════════════════════════════════════ */
.hamburger {
  display:none;position:fixed;top:14px;left:14px;z-index:1100;
  background:var(--sidebar-bg);border:none;border-radius:var(--r-md);
  width:40px;height:40px;align-items:center;justify-content:center;
  color:white;box-shadow:var(--shadow-md);cursor:pointer;
}
.hamburger:hover { background:var(--c-primary) }
.sidebar-overlay { display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1050;backdrop-filter:blur(2px) }
.sidebar-overlay.visible { display:block }

/* ══════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .hamburger { display:flex }
  .sidebar {
    position:fixed;left:-280px;top:0;bottom:0;z-index:1100;
    width:var(--sidebar-width);transition:left 240ms cubic-bezier(.4,0,.2,1);height:100dvh;
  }
  .sidebar.open { left:0 }
  .main-content { max-width:100vw;padding:var(--sp-4);padding-top:64px }
  .table-wrap,table { display:block;overflow-x:auto;-webkit-overflow-scrolling:touch }
  .page-header { flex-direction:column;align-items:flex-start }
  .stat-grid { grid-template-columns:repeat(2,1fr) }
  .modal { max-width:100%;max-height:100dvh;border-radius:var(--r-lg) }
  .team-grid { grid-template-columns:repeat(2,1fr) }
  .status-pipeline { flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px }
}

/* ══════════════════════════════════════════════════════
   CRM COMERCIAL — MINIMAL
   ══════════════════════════════════════════════════════ */
.crm-board {
  display:flex;gap:12px;overflow-x:auto;padding-bottom:16px;min-height:520px;
  scrollbar-width:thin;scrollbar-color:#e4e4e7 transparent;
}
.crm-board::-webkit-scrollbar { height:5px }
.crm-board::-webkit-scrollbar-thumb { background:#e4e4e7;border-radius:3px }

.crm-column {
  min-width:256px;max-width:256px;
  background:#fafafa;border-radius:10px;
  padding:10px;display:flex;flex-direction:column;
  border:1px solid #e4e4e7;
}
.crm-col-header {
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 4px 10px;margin-bottom:6px;
  border-bottom:1px solid #e4e4e7;
}
.crm-col-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0 }
.crm-col-name {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#52525b;flex:1;
}
.crm-col-count {
  font-size:11px;font-weight:600;color:#71717a;
  background:#e4e4e7;padding:1px 7px;border-radius:99px;flex-shrink:0;
}
.crm-cards { flex:1;display:flex;flex-direction:column;gap:6px;min-height:48px }
.crm-empty-col {
  text-align:center;font-size:12px;color:#a1a1aa;padding:24px 8px;
  border:1px dashed #e4e4e7;border-radius:8px;margin-top:2px;
}

.crm-card {
  background:#fff;border-radius:8px;padding:12px;cursor:pointer;
  border:1px solid #e4e4e7;
  border-left:3px solid transparent;
  transition:border-color .15s,box-shadow .15s;
  position:relative;
}
.crm-card:hover { border-color:#d4d4d8;box-shadow:0 2px 8px rgba(0,0,0,.06) }

/* CRM Right Panel */
.crm-panel {
  position:fixed;right:0;top:0;bottom:0;width:460px;
  background:#fff;border-left:1px solid #e4e4e7;
  z-index:1001;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
.crm-panel.open { transform:translateX(0) }
.crm-panel-overlay {
  position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,.12);display:none;
}
.crm-panel-overlay.visible { display:block }

.crm-panel-header {
  display:flex;align-items:flex-start;gap:12px;
  padding:18px 20px 14px;border-bottom:1px solid #f4f4f5;flex-shrink:0;
}
.crm-panel-tabs {
  display:flex;padding:0 16px;border-bottom:1px solid #f4f4f5;
  flex-shrink:0;overflow-x:auto;gap:0;
}
.crm-tab {
  padding:10px 14px;border:none;border-bottom:2px solid transparent;
  font-size:12px;font-weight:600;cursor:pointer;
  background:transparent;color:#71717a;white-space:nowrap;
  transition:color .15s,border-color .15s;margin-bottom:-1px;
}
.crm-tab.active { color:#7C3AED;border-bottom-color:#7C3AED }
.crm-tab:hover:not(.active) { color:#374151 }

.crm-panel-body {
  flex:1;overflow-y:auto;padding:16px 20px;
  scrollbar-width:thin;scrollbar-color:#e4e4e7 transparent;
}
.crm-tab-body { animation:fadeIn .12s ease }

.crm-field-row {
  padding:10px 0;border-bottom:1px solid #f4f4f5;
  display:flex;align-items:baseline;gap:12px;
}
.crm-field-label {
  font-size:11px;font-weight:600;color:#a1a1aa;
  text-transform:uppercase;letter-spacing:.05em;
  width:100px;flex-shrink:0;
}
.crm-field-val { font-size:13px;color:#18181b;line-height:1.5 }

/* ══════════════════════════════════════════════════════
   CAPTAÇÃO — ESTOQUE DE VÍDEOS
   ══════════════════════════════════════════════════════ */
.captacao-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
}
.captacao-card {
  background:#fff;border:1px solid #e4e4e7;border-radius:10px;
  padding:16px;cursor:default;transition:box-shadow .15s;position:relative;overflow:hidden;
}
.captacao-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.07) }
.captacao-card::before {
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:10px 0 0 10px;
}
.captacao-card.urgente::before  { background:#ef4444 }
.captacao-card.atencao::before  { background:#f59e0b }
.captacao-card.tranquilo::before { background:#10b981 }

.captacao-card-header {
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;
}
.captacao-card-nome {
  font-size:14px;font-weight:700;color:#18181b;line-height:1.2;
}
.captacao-priority-badge {
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:2px 7px;border-radius:4px;
}
.captacao-priority-badge.urgente  { background:#fef2f2;color:#ef4444 }
.captacao-priority-badge.atencao  { background:#fffbeb;color:#d97706 }
.captacao-priority-badge.tranquilo { background:#f0fdf4;color:#16a34a }

.captacao-estoque {
  display:flex;align-items:flex-end;gap:4px;margin-bottom:10px;
}
.captacao-estoque-num {
  font-size:32px;font-weight:800;color:#18181b;line-height:1;
}
.captacao-estoque-label {
  font-size:11px;color:var(--text-muted);margin-bottom:4px;
}
.captacao-bar-wrap {
  height:4px;background:#f4f4f5;border-radius:99px;margin-bottom:10px;overflow:hidden;
}
.captacao-bar {
  height:100%;border-radius:99px;transition:width .4s ease;
}
.captacao-bar.urgente  { background:#ef4444 }
.captacao-bar.atencao  { background:#f59e0b }
.captacao-bar.tranquilo { background:#10b981 }

.captacao-meta-row {
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;
}
.captacao-meta-item {
  display:flex;flex-direction:column;gap:2px;
}
.captacao-meta-label { font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em }
.captacao-meta-val   { font-size:12px;font-weight:600;color:#374151 }

.captacao-pipeline {
  display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;
}
.captacao-pipeline-item {
  display:flex;align-items:center;gap:4px;
  font-size:11px;color:var(--text-muted);
  background:#f9fafb;border:1px solid #e4e4e7;border-radius:4px;
  padding:3px 7px;
}
.captacao-pipeline-dot {
  width:6px;height:6px;border-radius:50%;flex-shrink:0;
}
.captacao-card-actions {
  display:flex;gap:6px;
}

/* ══════════════════════════════════════════════════════
   EMPTY STATES
   ══════════════════════════════════════════════════════ */
.empty-state {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:48px 24px;text-align:center;
}
.empty-state-icon {
  font-size:48px;margin-bottom:16px;
  opacity:.7;filter:grayscale(.3);
}
.empty-state-title {
  font-size:16px;font-weight:700;color:var(--text-base);margin-bottom:6px;
}
.empty-state-desc {
  font-size:13px;color:var(--text-muted);max-width:320px;line-height:1.6;
}

/* ══════════════════════════════════════════════════════
   MOODBOARD — GUIA VISUAL V3 (29/09/2026)
   Branco nas superfícies, roxo nas ações, tons suaves
   ══════════════════════════════════════════════════════ */
:root {
  --purple:#6329C8; --purple-deep:#3C147C; --purple-soft:#F2EBFF;
  --ink:#211C30; --muted:#746E81; --line:#E9E4F0; --paper:#FFFFFF; --bg:#F8F7FB;
  --green:#087B57; --green-bg:#E6F7EF; --orange:#9D5A05; --orange-bg:#FFF3DD;
  --red:#AD3743; --red-bg:#FFF0F2;
  --card-shadow: 0 4px 20px rgba(52,30,89,.025);
}
body { font-family:var(--font); color:var(--ink); background:var(--bg) }
h1,h2,h3,h4,.page-title,.page-header h2,.stat-value,.metric-value,.modal-title,.modal h3,
.login-heading,.score-ring-value,.captacao-estoque-num,.empty-state-title,.team-card .nome,.doc-card-client {
  font-family:var(--font-display);
}

/* ── Login ── */
.login-wrap { background:radial-gradient(circle at 75% 15%,#E9DCFF 0,transparent 40%),#F8F7FB }
.login-wrap::before { display:none }
.login-card {
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:34px;box-shadow:0 25px 70px #3B1A6420;
}
.login-brand { margin-bottom:24px }
.login-logo-icon { display:none }
.login-title { font:800 23px var(--font-display);letter-spacing:-1.3px;color:var(--ink) }
.login-title b,.sidebar-brand-name b { color:var(--purple);font-weight:800;margin-left:.22em }
.login-subtitle { color:#9C94A7;font-weight:800;letter-spacing:1.5px;font-size:10px }
.login-heading { font-weight:800;font-size:26px;letter-spacing:-1px;color:var(--ink) }
.login-desc { color:var(--muted) }

/* ── Menu lateral ── */
.sidebar {
  background:#fff;color:var(--ink);border-right:1px solid var(--line);
}
.sidebar::-webkit-scrollbar-thumb { background:var(--line) }
.sidebar-brand { padding:26px 30px 20px;border-bottom:0 }
.sidebar-logo-icon { display:none }
.sidebar-brand-name { font:800 23px var(--font-display);letter-spacing:-1.3px;color:var(--ink) }
.sidebar-brand-sub { color:#9C94A7;font-weight:800;letter-spacing:1.5px }
.sidebar-nav { padding:0 16px 16px;gap:4px }
.nav-section-label {
  font-size:10px;font-weight:800;letter-spacing:1.5px;color:#9C94A7;
  padding:0 14px;margin:18px 0 6px;
}
.nav-item { padding:11px 14px;border-radius:10px;color:#5D556A;font-size:13px;font-weight:600 }
.nav-item:hover { background:var(--purple-soft);color:var(--purple-deep) }
.nav-item.active { background:var(--purple-soft);color:var(--purple-deep);font-weight:800 }
.nav-item.active::before { display:none }
.nav-icon { opacity:.75 }
.nav-divider { background:var(--line);margin:10px 14px 0 }
.notif-badge { background:var(--purple);animation:none;padding:0 7px }
.sidebar-footer { border-top:1px solid var(--line);padding:14px 30px }
.sidebar-user-info span:first-child { color:var(--ink);font-size:13px;font-weight:700 }
.sidebar-user-info span:last-child { color:var(--muted);font-size:11px;font-weight:500 }
.btn-logout { background:#F6F3FA;color:var(--muted) }
.btn-logout:hover { background:var(--red-bg);color:var(--red) }
.hamburger { background:#fff;color:var(--purple);border:1px solid var(--line) }
.hamburger:hover { background:var(--purple-soft) }

/* ── Conteúdo ── */
.main-content { padding:32px clamp(20px,3vw,46px) 64px }
.main-content > * { max-width:1420px }
.page-title,.page-header h2 { font-weight:800;font-size:clamp(25px,2.4vw,34px);letter-spacing:-1.4px;color:var(--ink) }
.page-subtitle { font-size:13px;line-height:1.5;color:var(--muted) }
.section-label,.detail-section-title { font-weight:800;letter-spacing:1.5px;font-size:10px;color:var(--purple) }

/* ── Avatar ── */
.avatar { background:var(--purple-soft);color:var(--purple);font-weight:800;border-radius:10px }

/* ── Botões ── */
.btn { border-radius:10px;font-size:12px;font-weight:700;padding:11px 15px;letter-spacing:0 }
.btn:hover { transform:none }
.btn-primary { background:var(--purple);color:#fff;box-shadow:none }
.btn-primary:hover { background:var(--purple-deep);transform:none;box-shadow:none;filter:none }
.btn-secondary { background:var(--purple-soft);color:var(--purple-deep) }
.btn-secondary:hover { background:#E9DCFF;transform:none }
.btn-outline { background:#fff;border:1px solid #D9C9F4;color:var(--purple) }
.btn-outline:hover { background:var(--purple-soft);border-color:#D9C9F4;color:var(--purple-deep) }
.btn-danger { background:var(--red-bg);color:var(--red);box-shadow:none }
.btn-danger:hover { background:#FFE3E7;filter:none;transform:none }
.btn-success { background:var(--green-bg);color:var(--green);box-shadow:none }
.btn-success:hover { background:#D6F1E4;filter:none;transform:none }
.btn-ghost { background:#F6F3FA;color:#5C5666 }
.btn-ghost:hover { background:var(--purple-soft);color:var(--purple-deep) }
.btn-sm,.btn-xs { padding:7px 10px;font-size:11px }
.btn-icon { padding:0 }

/* ── Campos ── */
.form-label { font-size:11px;font-weight:700;color:#655D70;text-transform:none;letter-spacing:0 }
.form-input,.form-select,.form-textarea,
.form-group input:not(.form-input),.form-group select:not(.form-select),.form-group textarea:not(.form-textarea),
.search-bar {
  border:1px solid #DCD6E7;border-radius:9px;font-size:12px;color:var(--ink);background-color:#fff;
}
.form-input,.form-select,.form-textarea { padding:10px 12px }
.form-select { padding-right:38px }
.search-bar { padding-left:40px;box-shadow:none }
.form-input:hover,.form-select:hover,.form-textarea:hover,.search-bar:hover { border-color:#CFC6DE }
.form-input:focus,.form-select:focus,.form-textarea:focus,.search-bar:focus,
.form-group input:focus,.form-group select:focus,.form-group textarea:focus {
  border-color:#9C73E1;box-shadow:0 0 0 3px #EEE4FF;
}
.form-input::placeholder,.search-bar::placeholder { color:#9C94A7 }

/* ── Cards ── */
.card,.stat-card,.metric-card,.team-card,.suggestion-card,.doc-card,.table-wrap {
  background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--card-shadow);
}
.card { padding:21px }
.card:hover,.stat-card:hover,.metric-card:hover,.team-card:hover,.doc-card:hover,.suggestion-card:hover {
  box-shadow:0 6px 24px rgba(52,30,89,.06);transform:none;
}
.stat-card { border-top:1px solid var(--line);padding:21px }
.stat-label { font-size:12px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0 }
.stat-value { font-size:29px;font-weight:800;letter-spacing:-1.5px;color:var(--ink) }
.stat-sub { font-size:11px;color:var(--muted) }
.stat-icon { background:var(--purple-soft);color:var(--purple);border-radius:10px;font-size:17px;width:34px;height:34px }
.metric-card-accent,.metric-card-accent-success,.metric-card-accent-danger,.metric-card-accent-warning { border-left-width:1px }
.metric-label { font-size:12px;font-weight:600;text-transform:none;letter-spacing:0 }
.team-card::before { display:none }
.team-card .cargo-badge { background:var(--purple-soft);color:var(--purple);font-weight:800;letter-spacing:1px }

/* ── Tabelas ── */
table { border:1px solid var(--line);border-radius:16px;box-shadow:var(--card-shadow) }
.table-wrap table { border:0;box-shadow:none }
thead th {
  background:#fff;color:var(--muted);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;
  padding:11px 14px;border-bottom:1px solid var(--line);
}
tbody td { font-size:12px;padding:12px 14px;border-bottom:1px solid var(--line) }
tbody tr:hover td { background:#FBF9FE }

/* ── Pílulas de status (laranja = pendente, verde = aprovado, vermelho = ajuste, roxo = em produção) ── */
.badge { border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:0;background:#F1EFF4;color:#665F70 }
.badge-aberto,.badge-agendado { background:var(--purple-soft);color:var(--purple) }
.badge-concluido,.badge-aprovado,.badge-publicado { background:var(--green-bg);color:var(--green) }
.badge-reprovado,.badge-urgente { background:var(--red-bg);color:var(--red) }
.badge-alta,.badge-media { background:var(--orange-bg);color:var(--orange) }
.badge-baixa,.badge-neutral { background:#F1EFF4;color:#665F70 }
.aprov-row.verde    { background:var(--green-bg);color:var(--green) }
.aprov-row.vermelho { background:var(--red-bg);color:var(--red) }
.aprov-row.amarelo  { background:var(--orange-bg);color:var(--orange) }
.aprov-row.azul     { background:var(--purple-soft);color:var(--purple-deep) }
.alert-danger  { background:var(--red-bg);color:var(--red) }
.alert-success { background:var(--green-bg);color:var(--green) }

/* ── Filtros / abas ── */
.status-btn { border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;border-radius:20px }
.status-btn:hover { border-color:#D9C9F4;color:var(--purple);background:var(--purple-soft) }
.status-btn.active { background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:none;font-weight:700 }
.crm-tab.active { color:var(--purple);border-bottom-color:var(--purple) }

/* ── Modais, menus e avisos ── */
.modal-backdrop { background:rgba(33,28,48,.35);backdrop-filter:blur(3px) }
.modal { border-radius:20px;box-shadow:0 25px 70px #3B1A6420;border:1px solid var(--line) }
.modal h3,.modal-header {
  background:#fff;border-bottom:1px solid var(--line);border-image:none;border-radius:20px 20px 0 0;
}
.modal h3,.modal-title { font-size:18px;font-weight:800;letter-spacing:-.4px }
.modal-footer { border-top:1px solid var(--line) }
.ctx-menu { border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(52,30,89,.10) }
.ctx-item { font-size:12px }
.ctx-item:hover { background:var(--purple-soft);color:var(--purple-deep) }
.ctx-item.danger { color:var(--red) }
.ctx-item.danger:hover { background:var(--red-bg) }
.toast { border-radius:12px;font-size:12px;box-shadow:0 12px 32px rgba(52,30,89,.14);border:1px solid transparent }
.toast-success { background:var(--green-bg);color:var(--green);border-color:#C9EBDB }
.toast-error   { background:var(--red-bg);color:var(--red);border-color:#F6D2D7 }
.toast-info    { background:var(--purple-soft);color:var(--purple-deep);border-color:#E0D0FA }
.toast-warning { background:var(--orange-bg);color:var(--orange);border-color:#F4DDB3 }

/* ── Detalhes ── */
.notif-item:hover,.back-btn:hover,.upload-area:hover { background:var(--purple-soft) }
.notif-dot { background:var(--purple) }
.progress-bar,.progress-mini { background:#F1EFF4 }
.progress-fill { background:var(--purple) }
.progress-fill-success { background:var(--green) }
.progress-fill-danger  { background:var(--red) }
.progress-fill-warning { background:#D98B1E }
.skeleton { background:linear-gradient(90deg,#F1EFF4 25%,#F7F4FB 50%,#F1EFF4 75%);background-size:200% 100% }
.crm-column { background:#FBFAFD;border-color:var(--line);border-radius:14px }
.crm-card,.captacao-card { border-color:var(--line);border-radius:12px }
.crm-col-name { color:#5D556A }
.upload-area { border-color:#DCD6E7 }

@media (max-width: 768px) {
  .main-content { padding:23px 15px 45px;padding-top:64px }
  .card,.stat-card { padding:17px }
  .page-title,.page-header h2 { font-size:26px }
}

/* ── Aviso de aniversário (pop-up brilhando) ── */
.aniv-popup {
  position:fixed;top:20px;right:20px;z-index:9000;width:340px;max-width:calc(100vw - 32px);
  padding:16px 18px;border-radius:18px;color:#fff;
  background:linear-gradient(135deg,#6329C8 0%,#8B4FE8 55%,#C77DFF 100%);
  animation:anivEntrada .5s cubic-bezier(.34,1.4,.64,1), anivBrilho 1.6s ease-in-out infinite;
}
.aniv-popup .btn-ghost { color:#fff }
.aniv-bolo { animation:anivPulo 1.6s ease-in-out infinite }
.aniv-brilho { animation:anivBrilhoLeve 1.6s ease-in-out infinite;background:#F3EEFC }
@keyframes anivEntrada { from { opacity:0;transform:translateY(-16px) scale(.96) } to { opacity:1;transform:none } }
@keyframes anivBrilho {
  0%,100% { box-shadow:0 10px 30px #6329C855, 0 0 0 0 #FFD16600 }
  50%     { box-shadow:0 10px 40px #6329C888, 0 0 0 7px #FFD16688 }
}
@keyframes anivBrilhoLeve {
  0%,100% { box-shadow:0 0 0 0 #6329C800 }
  50%     { box-shadow:0 0 0 4px #6329C844 }
}
@keyframes anivPulo { 0%,100% { transform:scale(1) } 50% { transform:scale(1.18) rotate(-6deg) } }
@media (prefers-reduced-motion: reduce) {
  .aniv-popup,.aniv-bolo,.aniv-brilho { animation:none }
  .aniv-popup { box-shadow:0 0 0 4px #FFD166 }
}
@media (max-width:600px) { .aniv-popup { top:auto;bottom:16px;right:16px;left:16px;width:auto } }
.aniv-fechar { background:#ffffff26;border:0;color:#fff;width:26px;height:26px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1 }
.aniv-fechar:hover { background:#ffffff44 }

/* ── Arquivos da atividade ── */
.arq-lista { display:flex;flex-direction:column;gap:6px;margin-bottom:8px }
.arq-item { display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line,#E9E4F0);border-radius:12px;background:#fff }
.arq-thumb { width:44px;height:44px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#F2EBFF;display:flex;align-items:center;justify-content:center;font-size:20px;text-decoration:none }
.arq-thumb img { width:100%;height:100%;object-fit:cover }

/* ── Tema da atividade editável ── */
.tema-editavel { font-size:22px;font-weight:800;margin-bottom:4px;cursor:pointer;border-radius:8px;padding:2px 6px;margin-left:-6px;display:inline-block }
.tema-editavel:hover { background:var(--c-primary-subtle,#F7F3FC) }
.tema-editavel .tema-lapis { font-size:14px;opacity:.35;transition:opacity .15s }
.tema-editavel:hover .tema-lapis { opacity:1 }
.acesso-onb { font-size:12.5px;line-height:1.5;padding:10px 12px;border-radius:10px;background:#FFF3DD;color:#6B4200;margin-bottom:10px }
.acesso-onb.ok { background:#E6F7EF;color:#075C42 }

/* ── Conversas da atividade (com o cliente / interno) ── */
.conv-abas { display:flex; gap:4px; background:#EFEAF6; border-radius:12px; padding:4px; margin-bottom:12px }
.conv-aba { flex:1; border:0; background:none; padding:9px 10px; border-radius:9px; font-weight:700; font-size:13px; color:var(--muted); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:6px }
.conv-aba.ativa { background:#fff; color:var(--ink); box-shadow:0 2px 8px #3B1A6414 }
.conv-num { min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#FFD166; color:#3C147C; font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center }
.conv-aviso { font-size:12.5px; border-radius:10px; padding:8px 12px; margin-bottom:12px; line-height:1.45 }
.conv-aviso.cliente { background:var(--orange-bg); color:#6B4200 }
.conv-aviso.interno { background:var(--purple-soft); color:var(--purple-deep) }
.conv-lista { max-height:380px; overflow-y:auto; padding-right:4px }
.conv-msg { display:flex; gap:10px; margin-bottom:12px }
.conv-bolha { flex:1; min-width:0; background:#F8F7FB; border-radius:4px 14px 14px 14px; padding:8px 12px }
.conv-msg.do-cliente .conv-bolha { background:#FFF8E6; border:1px solid #F6E2AE }
.conv-msg.minha .conv-bolha { background:var(--purple-soft) }
.conv-autor { font-weight:700; font-size:13px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:2px }
.conv-hora { font-weight:500; font-size:11px; color:var(--text-subtle, #9C94A7); margin-left:auto }
.conv-tag { font-size:10.5px; font-weight:800; padding:1px 7px; border-radius:999px; background:#FFD166; color:#3C147C; text-transform:uppercase; letter-spacing:.03em }
.conv-ev { display:inline-block; font-size:11.5px; font-weight:800; padding:2px 8px; border-radius:999px; background:#fff; margin:2px 0 4px }
.conv-txt { font-size:13.5px; line-height:1.5; overflow-wrap:anywhere }
.conv-novas { text-align:center; font-size:11px; font-weight:800; color:var(--purple); text-transform:uppercase; letter-spacing:.06em; margin:4px 0 10px }
.conv-vazio { font-size:13px; color:var(--text-subtle, #9C94A7); padding:10px 0 4px }
.conv-envio { display:flex; gap:10px; margin-top:12px; align-items:flex-end }
/* Marcar alguém com @ no chat interno */
.mencao-lista { position:absolute; left:0; bottom:calc(100% + 6px); width:280px; max-width:100%; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 32px #3B1A6424; padding:6px; z-index:30 }
.mencao-tit { font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--text-subtle, #9C94A7); padding:4px 8px 6px }
.mencao-item { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:9px; cursor:pointer; font-size:13px }
.mencao-item.sel, .mencao-item:hover { background:var(--purple-soft) }
.mencao-sub { font-size:11.5px; color:var(--text-subtle, #9C94A7) }
.mencao-av { width:32px; height:32px; border-radius:50%; background:var(--purple-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.conv-mencao { color:var(--purple); font-weight:700; background:#F2EBFF; border-radius:6px; padding:0 4px }
.conv-mencao.eu { background:#FFD166; color:#3C147C }
/* Aviso de aniversário: pode ser arrastado */
.aniv-popup { cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none }
.aniv-popup.arrastando { cursor:grabbing; animation:none; box-shadow:0 24px 50px #3B1A6455 }
.aniv-popup button { cursor:pointer }

/* ── Filtros da tela de Atividades ── */
.filtro-linha { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px }
.filtro-linha .filter-bar { flex:1 }
.filtro-wrap { position:relative }
.filtro-btn { gap:8px }
.filtro-btn.ligado { border-color:var(--purple); color:var(--purple); background:var(--purple-soft) }
.filtro-num { min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--purple); color:#fff; font-size:11.5px; font-weight:800; display:inline-flex; align-items:center; justify-content:center }
.filtro-ativos { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:16px }
.filtro-ativos:empty { display:none }
.filtro-tag { display:inline-flex; align-items:center; gap:5px; background:var(--purple-soft); color:var(--purple-deep); border-radius:999px; padding:4px 6px 4px 11px; font-size:12.5px; font-weight:600 }
.filtro-tag-g { font-weight:500; opacity:.75 }
.filtro-tag button { border:0; background:#ffffff99; color:var(--purple-deep); width:18px; height:18px; border-radius:50%; font-size:10px; cursor:pointer; line-height:1 }
.filtro-limpar { font-size:12.5px; margin-left:4px }
.filtro-painel { position:absolute; right:0; top:calc(100% + 8px); width:min(640px, calc(100vw - 48px)); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 20px 50px #3B1A6426; z-index:200; overflow:hidden }
.fp-busca { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line); color:var(--text-subtle, #9C94A7) }
.fp-busca input { flex:1; border:0; outline:0; font:inherit; font-size:14px; color:var(--ink); background:transparent }
.fp-corpo { display:grid; grid-template-columns:200px 1fr; height:340px }
.fp-grupos { background:#FAF8FD; border-right:1px solid var(--line); padding:8px; display:flex; flex-direction:column; gap:2px; overflow-y:auto }
.fp-grupo { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; border:0; background:none; text-align:left; padding:9px 12px; border-radius:9px; font:inherit; font-size:13px; font-weight:600; color:var(--muted); cursor:pointer }
.fp-grupo:hover { background:#F2EDF9; color:var(--ink) }
.fp-grupo.ativo { background:#fff; color:var(--purple-deep); box-shadow:0 1px 4px #3B1A6414 }
.fp-grupo-n { min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--purple); color:#fff; font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center }
.fp-opcoes { display:flex; flex-direction:column; min-width:0; padding:12px 8px 8px 16px }
.fp-opcoes-topo { display:flex; align-items:center; justify-content:space-between; padding:0 8px 8px 0; font-size:13.5px }
.fp-opcoes-topo a { font-size:12px; font-weight:600 }
.fp-procurar { border:1px solid var(--line); border-radius:9px; padding:7px 10px; font:inherit; font-size:13px; margin:0 8px 8px 0; outline:0 }
.fp-procurar:focus { border-color:var(--purple) }
.fp-lista { overflow-y:auto; flex:1; padding-right:8px }
.fp-op { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:9px; cursor:pointer; font-size:13.5px }
.fp-op:hover { background:#F7F3FC }
.fp-op input { width:16px; height:16px; accent-color:var(--purple); margin:0; flex-shrink:0; cursor:pointer }
.fp-op-txt { flex:1; min-width:0; color:var(--ink) }
.fp-op-txt small { display:block; font-size:11.5px; color:var(--text-subtle, #9C94A7) }
.fp-op-n { font-size:12px; font-weight:700; color:var(--text-subtle, #9C94A7); min-width:22px; text-align:right }
.fp-op.vazio .fp-op-txt, .fp-op.vazio .fp-op-n { opacity:.45 }
.fp-nada { font-size:13px; color:var(--text-subtle, #9C94A7); padding:10px }
.fp-rodape { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; border-top:1px solid var(--line); background:#FCFBFE }
@media (max-width:700px) { .filtro-painel { position:fixed; left:12px; right:12px; top:80px; width:auto } .fp-corpo { grid-template-columns:140px 1fr; height:55vh } }

/* ── Editor do roteiro de captação ── */
.rot-cab { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; flex-wrap:wrap }
.rot-estado { font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap }
.rot-estado.ok { background:var(--green-bg); color:var(--green) }
.rot-estado.salvando { background:var(--purple-soft); color:var(--purple-deep) }
.rot-estado.rascunho { background:#F4F1F8; color:var(--muted) }
.rot-estado.erro { background:var(--red-bg); color:var(--red) }
.rot-bloco { border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:12px }
.rot-bloco-tit { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-subtle, #9C94A7); margin-bottom:12px }
.rot-grade { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px }
.rot-ajuda { font-size:11.5px; color:var(--text-subtle, #9C94A7); margin-top:5px }
.rot-prep { display:flex; flex-wrap:wrap; gap:6px; align-items:center }
.rot-prep-item { display:inline-flex; align-items:center; gap:6px; background:#F8F7FB; border:1px solid var(--line); border-radius:999px; padding:5px 6px 5px 11px; font-size:12.5px }
.rot-prep-item.feito { background:var(--green-bg); border-color:#BFE6D3; color:var(--green) }
.rot-prep-item button { border:0; background:#fff; width:18px; height:18px; border-radius:50%; font-size:10px; cursor:pointer; color:var(--muted) }
.rot-prep-novo { border:1px dashed #CDB8F2; border-radius:999px; padding:5px 12px; font-size:12.5px; outline:none; min-width:170px; background:#FDFBFF }
.rot-prep-novo:focus { border-style:solid; border-color:var(--purple) }
.rot-videos { display:grid; gap:10px }
.rot-video { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff }
.rot-video.alvo { border-color:var(--purple); box-shadow:0 0 0 3px #6329C822 }
.rot-video-cab { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#FAF8FD; border-bottom:1px solid var(--line) }
.rot-video.fechado .rot-video-cab { border-bottom:0 }
.rot-alca { color:var(--text-subtle, #9C94A7); cursor:grab; font-weight:800; letter-spacing:-2px; padding:2px 4px; user-select:none }
.rot-num { width:24px; height:24px; border-radius:50%; background:var(--purple); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.rot-video-cab input { flex:1; min-width:0; border:0; background:none; font-weight:800; font-size:14px; outline:none; font-family:inherit; color:var(--ink) }
.rot-mini { border:1px solid var(--line); background:#fff; border-radius:8px; padding:4px 9px; font-size:12px; font-weight:700; color:var(--muted); cursor:pointer; white-space:nowrap }
.rot-mini.perigo:hover { border-color:#F1C9CE; color:var(--red) }
.rot-video-corpo { padding:14px; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px }
.rot-video-corpo .todo { grid-column:1 / -1 }
.rot-video.fechado .rot-video-corpo { display:none }
.rot-gancho { background:#FFF8E1 !important; border-color:#F3DC9A !important; font-weight:700 }
.rot-add { width:100%; margin-top:10px; border:1.5px dashed #CDB8F2; background:#FDFBFF; border-radius:12px; padding:11px; font-weight:800; color:var(--purple-deep); cursor:pointer; font-family:inherit }
@media (max-width:760px) { .rot-grade, .rot-video-corpo { grid-template-columns:minmax(0, 1fr) } }

/* ── Publicações nas redes ── */
.rede-selo { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:7px; color:#fff; font-size:11px; font-weight:800; flex-shrink:0; font-family:var(--font-display, inherit) }
.rede-selo.instagram { background:linear-gradient(135deg,#F9CE34,#EE2A7B 55%,#6228D7) }
.rede-selo.facebook { background:#1877F2; font-size:13px }
.pub-status { display:inline-flex; align-items:center; padding:3px 10px; border-radius:999px; font-size:11.5px; font-weight:700; white-space:nowrap; background:#F4F1F8; color:var(--muted) }
.pub-status.espera { background:var(--orange-bg); color:var(--orange) }
.pub-status.agendado { background:var(--purple-soft); color:var(--purple-deep) }
.pub-status.ok { background:var(--green-bg); color:var(--green) }
.pub-status.erro { background:var(--red-bg); color:var(--red) }
.pub-preparo { background:var(--orange-bg); color:#6B4200; border-radius:12px; padding:10px 14px; font-size:13px; line-height:1.45; margin:10px 0 }
.pub-bloqueado { background:#F8F7FB; border-radius:10px; padding:10px 12px; font-size:13px; color:var(--muted) }
.pub-checks { list-style:none; margin:0; padding:0; display:grid; gap:4px; font-size:12.5px }
.pub-checks li.ok { color:var(--green) } .pub-checks li.aviso { color:var(--orange) } .pub-checks li.erro { color:var(--red); font-weight:600 }
.pub-lista { display:grid; gap:0 }
.pub-linha { display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid var(--line); font-size:13.5px; flex-wrap:wrap }
.pub-linha:first-child { border-top:0 }
.pub-modal { display:grid; grid-template-columns:200px minmax(0, 1fr); gap:20px; margin-top:6px }
.pub-previa img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; background:var(--purple-soft); display:block }
.pub-sem-capa { aspect-ratio:4/5; border-radius:12px; background:var(--purple-soft); display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--muted); text-align:center; padding:10px }
.pub-redes { display:grid; grid-template-columns:1fr 1fr; gap:8px }
.pub-rede { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; cursor:pointer; font-size:13px }
.pub-rede:has(input:checked) { border-color:var(--purple); background:#FBF8FF }
.pub-rede input { accent-color:var(--purple) }
.pub-rede span { display:flex; flex-direction:column; line-height:1.25 } .pub-rede small { font-size:11.5px; color:var(--text-subtle, #9C94A7) }
.pub-rede.desligada { opacity:.55; cursor:default }
.pub-abas { display:flex; gap:4px; background:#EFEAF6; border-radius:12px; padding:4px; margin-bottom:16px; overflow-x:auto }
.pub-abas button { flex:1; border:0; background:none; padding:9px 12px; border-radius:9px; font:inherit; font-size:13px; font-weight:700; color:var(--muted); cursor:pointer; white-space:nowrap }
.pub-abas button.ativa { background:#fff; color:var(--ink); box-shadow:0 2px 8px #3B1A6414 }
.pub-abas button span { font-size:11.5px; background:#fff; border-radius:999px; padding:1px 7px; margin-left:4px; color:var(--purple-deep) }
.pub-abas button.ativa span { background:var(--purple-soft) }
.pub-grupo { margin-bottom:14px }
.pub-grupo-cab { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding-bottom:10px; border-bottom:1px solid var(--line) }
.pub-contas-mini { display:flex; align-items:center; gap:5px; font-size:12px; color:var(--text-subtle); margin-top:4px }
.pub-contas-mini .rede-selo { width:18px; height:18px; font-size:9.5px; border-radius:5px }
.pub-item { display:flex; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--line); flex-wrap:wrap }
.pub-grupo-cab + .pub-item { border-top:0 }
.pub-item img, .pub-item-sem { width:44px; height:44px; border-radius:10px; object-fit:cover; background:var(--purple-soft); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--muted); text-align:center }
.pub-hora { font-weight:800; font-variant-numeric:tabular-nums; min-width:44px }
.pub-dia { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-subtle, #9C94A7); padding:14px 0 4px }
.pub-dia:first-child { padding-top:0 }
.rede-conta { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px }
.lote-lista { display:grid; gap:6px; max-height:46vh; overflow-y:auto }
.lote-item { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; padding:8px 10px; cursor:pointer }
.lote-item img, .lote-item .pub-item-sem { width:40px; height:40px; border-radius:8px; object-fit:cover; flex-shrink:0 }
.lote-item span { display:flex; flex-direction:column; line-height:1.3; font-size:13px } .lote-item small { font-size:11.5px; color:var(--text-subtle, #9C94A7) }
.lote-item .lote-quando { width:auto; max-width:210px; padding:6px 8px; font-size:12.5px }
.lote-item.desligada { opacity:.55 }
.lote-marca { accent-color:var(--purple) }
@media (max-width:720px) { .pub-modal { grid-template-columns:1fr } .pub-previa img, .pub-sem-capa { max-width:220px } .pub-redes { grid-template-columns:1fr } .lote-item { flex-wrap:wrap } }

/* Visualizador de criativos em tela cheia */
.vis-fundo { position:fixed; inset:0; z-index:10000; background:rgba(16,11,24,.97); display:flex; flex-direction:column; color:#fff; padding-top:env(safe-area-inset-top) }
.vis-topo { display:flex; align-items:center; gap:12px; padding:14px 18px }
.vis-tit { flex:1; min-width:0 }
.vis-tit b { display:block; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.vis-tit small { color:#B9AECB; font-size:12.5px }
.vis-fechar { width:40px; height:40px; border-radius:12px; border:0; background:#ffffff1f; color:#fff; font-size:16px; cursor:pointer; flex-shrink:0 }
.vis-palco { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; gap:12px; padding:0 14px }
.vis-trilho { width:min(100%, 960px); height:100%; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior:contain }
.vis-trilho::-webkit-scrollbar { display:none }
.vis-slide { flex:0 0 100%; height:100%; scroll-snap-align:center; display:flex; align-items:center; justify-content:center }
.vis-slide img, .vis-slide video { max-width:100%; max-height:100%; object-fit:contain; border-radius:6px; background:#000; box-shadow:0 20px 50px #0009 }
.vis-seta { width:46px; height:46px; border-radius:50%; border:0; background:#ffffff26; color:#fff; font-size:28px; line-height:1; cursor:pointer; flex-shrink:0 }
.vis-seta:hover:not([disabled]) { background:#ffffff40 }
.vis-seta[disabled] { opacity:.2; cursor:default }
.vis-rodape { padding:12px 18px calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; align-items:center; gap:10px }
.vis-info { font-size:12.5px; color:#D9CFEA; text-align:center; font-variant-numeric:tabular-nums }
.vis-aviso { display:block; color:#FFD166; margin-top:3px }
.vis-pontos { display:flex; gap:7px; flex-wrap:wrap; justify-content:center }
.vis-pontos button { width:8px; height:8px; border-radius:50%; border:0; padding:0; background:#ffffff4d; cursor:pointer }
.vis-pontos button.on { background:#fff; transform:scale(1.3) }
@media (max-width:640px) { .vis-seta { display:none } .vis-palco { padding:0 } }
.pub-ver { position:relative; display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; border-radius:12px; overflow:hidden }
.pub-ver-selo { position:absolute; left:8px; right:8px; bottom:8px; background:#17121Fcc; color:#fff; font-size:11.5px; font-weight:700; border-radius:999px; padding:4px 8px; text-align:center }
.pub-mini { padding:0; border:0; background:none; cursor:zoom-in; flex-shrink:0; border-radius:10px; display:flex }
.pub-mini:hover { box-shadow:0 0 0 2px var(--purple) }
.arq-thumb { cursor:zoom-in }

/* ── Status da atividade: uma linha (botão com a lista de status + etapas) ── */
.st-linha { display:flex; align-items:center; gap:16px; flex-wrap:wrap }
.st-esq { display:flex; align-items:center; gap:10px }
.st-wrap { position:relative }
.st-botao { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:#fff; border-radius:10px; padding:7px 12px; font:inherit; font-size:13.5px; font-weight:700; color:var(--ink); cursor:pointer; white-space:nowrap }
.st-botao:hover { border-color:#CDB8F2 }
.st-chev { color:var(--text-subtle, #9C94A7); font-size:11px }
.st-menu { position:absolute; top:calc(100% + 6px); left:0; z-index:150; min-width:250px; max-height:60vh; overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 40px #3B1A6424; padding:6px }
.st-menu-grupo { font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-subtle, #9C94A7); padding:8px 10px 4px }
.st-menu-op { display:flex; align-items:center; gap:6px; width:100%; border:0; background:none; text-align:left; padding:7px 10px; border-radius:8px; font:inherit; font-size:13px; color:var(--ink); cursor:pointer }
.st-menu-op:hover { background:#F4F1F8 }
.st-menu-op.on { background:var(--purple-soft); color:var(--purple-deep); font-weight:700 }
.st-menu-op span { margin-left:auto }
.st-menu-sep { height:1px; background:var(--line); margin:6px 4px }
.st-passos { display:flex; align-items:center; gap:6px; flex:1 1 400px; min-width:0; flex-wrap:nowrap; overflow:hidden }
.st-passo { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--text-subtle, #9C94A7); white-space:nowrap }
.st-passo b { width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; background:#F1EEF5; color:var(--muted) }
.st-passo.atual { color:var(--purple-deep); font-weight:800 } .st-passo.atual b { background:var(--purple); color:#fff }
.st-passo.feito { color:var(--green) } .st-passo.feito b { background:var(--green-bg); color:var(--green) }
.st-traco { width:16px; height:2px; background:#E6E1EC; border-radius:2px; flex-shrink:0 }
.st-acoes { display:flex; gap:8px; margin-left:auto }
/* Faixa de resumo: prioridade · responsáveis · visto por */
.ra-faixa { display:flex; align-items:center; gap:0; flex-wrap:wrap; padding:12px 18px }
.ra-item { display:flex; align-items:center; gap:10px; padding:4px 18px 4px 0; margin-right:18px; border-right:1px solid var(--line); min-height:34px }
.ra-item:last-child { border-right:0; margin-right:0; padding-right:0 }
.ra-cresce { flex:1; min-width:0 }
.ra-rot { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-subtle, #9C94A7); white-space:nowrap }
.ra-valor { display:inline-flex; align-items:center; gap:8px; border:0; background:none; padding:0; cursor:pointer; font:inherit }
.ra-editar { font-size:12px; color:var(--purple); font-weight:600 }
.ra-link { border:0; background:none; cursor:pointer; padding:0 2px; font-family:inherit }
.ra-pessoas { display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0 }
.ra-pessoa { display:inline-flex; align-items:center; gap:6px; background:#F8F7FB; border:1px solid var(--line); border-radius:999px; padding:2px 10px 2px 2px; font-size:12.5px; font-weight:600 }
.ra-vazio { font-size:12.5px; color:var(--text-subtle, #9C94A7) }
.ra-vistos { display:inline-flex; align-items:center; gap:6px; border:0; background:none; padding:2px; cursor:pointer; font:inherit; border-radius:999px }
.ra-vistos:hover:not([disabled]) { background:#F4F1F8 }
.ra-vistos[disabled] { cursor:default }
.ra-pilha { display:inline-flex } .ra-pilha .avatar { margin-left:-6px; box-shadow:0 0 0 2px #fff } .ra-pilha .avatar:first-child { margin-left:0 }
.ra-mais, .ra-qtd { font-size:12px; font-weight:700; color:var(--muted) }
.ra-vistos-lista { left:auto; right:0; min-width:290px }
.ra-visto { display:flex; align-items:center; gap:10px; padding:7px 8px; font-size:13px }
.ra-visto small { display:block; font-size:11.5px; color:var(--text-subtle, #9C94A7) }
.ra-visto > span { font-size:11.5px; color:var(--text-subtle, #9C94A7); white-space:nowrap }
@media (max-width:760px) { .ra-item { border-right:0; margin-right:0; width:100% } .st-acoes { margin-left:0 } }
/* Histórico de ações recolhível */
.hist-cab { display:flex; justify-content:space-between; align-items:center; width:100%; border:0; background:none; padding:0; cursor:pointer; font:inherit; text-align:left }
.hist-seta { width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--muted) }
.hist-cab:hover .hist-seta { background:#F4F1F8 }
.hist-seta svg { transition:transform .25s }
.hist-qtd { color:var(--text-subtle, #9C94A7); font-weight:600 }

/* ── Fluxo de status: dono, motivo do ajuste e "Na minha mão" ── */
.st-dono { margin-top:10px; font-size:13px; color:var(--muted) } .st-dono b { color:var(--ink) }
.st-fim { color:var(--green); font-weight:700 }
.st-motivo { margin-top:10px; background:#FFF8E6; border:1px solid #F6E2AE; border-radius:12px; padding:10px 12px; font-size:13.5px; color:#5C4300; line-height:1.45 }
.st-motivo b { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#9D5A05; margin-bottom:3px }
.st-ajuste { margin-top:12px; border:1.5px solid #F1C9CE; background:#FFF8F9; border-radius:12px; padding:12px; display:grid; gap:8px }
.st-ajuste label { font-weight:700; font-size:13px }
.st-ajuste-rodape { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted) }
.st-menu-aviso { font-size:11.5px; color:var(--muted); background:#F8F7FB; border-radius:8px; padding:7px 9px; margin:2px 2px 4px }
.mao-card { padding:16px 18px }
.mao-cab { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px }
.mao-item { display:flex; align-items:center; gap:12px; padding:10px 8px; margin:0 -8px; border-top:1px solid var(--line); cursor:pointer; border-radius:10px }
.mao-item:hover { background:#F8F7FB }
.mao-faz { font-weight:700; font-size:14px }
.mao-sub { font-size:12.5px; color:var(--text-subtle, #9C94A7); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.mao-st { color:var(--purple-deep); font-weight:600 }
.mao-motivo { font-size:12px; color:#9D5A05; margin-top:2px }
.mao-prazo { font-size:11.5px; font-weight:700; border-radius:999px; padding:3px 10px; white-space:nowrap; background:#F4F1F8; color:var(--muted) }
.mao-prazo.atraso { background:var(--red-bg); color:var(--red) } .mao-prazo.hoje { background:var(--orange-bg); color:var(--orange) } .mao-prazo.ok { background:var(--green-bg); color:var(--green) }
.na-destino { font-size:12.5px; color:#4A3A66; background:var(--purple-subtle, #F7F3FC); border-radius:10px; padding:9px 12px; margin-top:12px; line-height:1.45 }
.na-destino:empty { display:none }

/* ── Log em Pauta (equipe) ── */
.tag.c-insta { background:#FFF0F7; color:#A0306B } .tag.c-cfm { background:#EAF1FF; color:#2456B8 } .tag.c-tech { background:#E8F6FB; color:#1C6E8C }
.tag.c-med { background:var(--green-bg); color:var(--green) } .tag.c-log { background:var(--purple-soft); color:var(--purple-deep) } .tag.c-imp { background:var(--red-bg); color:var(--red) }
.tag { display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:999px; font-size:11.5px; font-weight:700; white-space:nowrap }
.st-pill { font-size:12px; font-weight:800; border-radius:999px; padding:4px 10px; white-space:nowrap }
.s-rasc { background:#F4F1F8; color:var(--muted) } .s-aprov { background:var(--orange-bg); color:var(--orange) } .s-agend { background:var(--purple-soft); color:var(--purple-deep) } .s-pub { background:var(--green-bg); color:var(--green) }
.barrinha { height:6px; border-radius:99px; background:#EFEAF6; overflow:hidden; width:80px; display:inline-block; vertical-align:middle; margin-right:6px }
.barrinha i { display:block; height:100%; background:var(--green) }
.pa-grade { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:14px; align-items:start }
.rot-pa { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--text-subtle, #9C94A7) }
.pa-chips { display:flex; flex-wrap:wrap; gap:6px }
.pa-chip { border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 11px; font-size:12.5px; font-weight:700; color:var(--muted); cursor:pointer; font-family:inherit }
.pa-chip span { opacity:.7; font-weight:600 }
.pa-chip.on { background:var(--purple); border-color:var(--purple); color:#fff }
.pa-chip[disabled], .pa-op[disabled] { cursor:default; opacity:.7 }
.pa-pub { display:grid; grid-template-columns:1fr 1fr; gap:8px }
.pa-op { border:1.5px solid var(--line); background:#fff; border-radius:12px; padding:9px 10px; text-align:left; cursor:pointer; font-family:inherit }
.pa-op b { display:block; font-size:13px } .pa-op small { color:var(--muted); font-size:11.5px }
.pa-op.on { border-color:var(--purple); background:#FBF8FF; box-shadow:0 0 0 3px #6329C81a }
.alcance-pa { font-size:12.5px; background:var(--purple-subtle, #F7F3FC); color:#4A3A66; border-radius:10px; padding:9px 12px }
.pa-troca { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; cursor:pointer }
.pa-troca input { width:18px; height:18px; accent-color:var(--purple) }
.pa-troca b { display:block; font-size:13px } .pa-troca small { color:var(--muted); font-size:11.5px }
.pa-capa { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; display:block }
.pa-capa-vazia { background:#F4F1F8; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--muted); text-align:center; padding:10px }
.pa-leitores { display:flex; flex-wrap:wrap; gap:6px }
.pa-leitor { font-size:12px; border-radius:999px; padding:3px 10px; font-weight:600 }
.pa-leitor.leu { background:var(--green-bg); color:var(--green) } .pa-leitor.nao { background:var(--red-bg); color:var(--red) }
@media (max-width:980px) { .pa-grade { grid-template-columns:minmax(0, 1fr) } }

/* Elementos com o atributo hidden ficam sempre escondidos (mesmo com display definido no estilo) */
/* Log em Pauta automático: faixa da automação, cartões de sugestão e fontes */
.pa-robo { display:flex; gap:12px; align-items:center; background:var(--purple-subtle, #F7F3FC); border:1px solid #E3D6F8; border-radius:14px; padding:12px 14px; margin:0 0 4px }
.pa-robo i { width:10px; height:10px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px #087B5722; flex:0 0 auto }
.pa-robo.off i { background:#B9B2C4; box-shadow:0 0 0 4px #B9B2C433 }
.pa-robo b { display:block; font-size:13.5px } .pa-robo span { font-size:12.5px; color:var(--muted) }
.pa-sugs { display:grid; gap:10px }
.pa-sug { display:grid; gap:8px; text-align:left; width:100%; cursor:pointer; font-family:inherit; border:1.5px solid #E3D6F8 }
.pa-sug:hover { border-color:var(--purple) }
.pa-sug b { font-size:15.5px; line-height:1.3 }
.pa-sug-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:12px; color:var(--muted) }
.pa-sug-abrir { font-size:12.5px; font-weight:700; color:var(--purple) } .pa-sug-esp { font-size:12.5px; color:#9D5A05 }
.pa-origem { display:grid; gap:12px; margin:0 0 14px }
.pa-porque { font-size:13px; background:var(--orange-bg); border-radius:10px; padding:10px 12px; color:#5C4300 } .pa-porque b { color:#9D5A05 }
.pa-fontes { display:grid; gap:8px; margin-top:6px }
.pa-fonte { display:flex; gap:10px; align-items:flex-start; font-size:13px; border:1px solid var(--line); border-radius:10px; padding:9px 11px; background:#fff }
.pa-fonte i { font-style:normal; flex:0 0 auto; width:20px; height:20px; border-radius:50%; background:var(--green-bg); color:var(--green); font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center }
.pa-fonte small { display:block; color:var(--muted); font-size:12px } .pa-fonte a { color:var(--purple); font-weight:700 }

/* Log em Pauta: escolher foto da capa e prévia do cliente */
.pa-credito { font-size:11px; color:var(--text-subtle, #9C94A7) }
.modal:has(.pa-fotos-box) { max-width:900px }
.pa-fotos-box { display:grid; gap:12px; padding:20px }
.pa-fotos-busca { display:flex; gap:8px } .pa-fotos-busca .form-input { flex:1; min-width:0 }
.pa-fotos-grade { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; max-height:58vh; overflow:auto }
.pa-foto { border:2px solid transparent; border-radius:12px; padding:0; background:none; cursor:pointer; text-align:left; font-family:inherit; overflow:hidden }
.pa-foto:hover, .pa-foto:focus-visible { border-color:var(--purple) }
.pa-foto img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:10px }
.pa-foto span { display:block; font-size:10.5px; color:var(--text-subtle, #9C94A7); padding:3px 2px 0 }
.modal:has(.pa-previa) { max-width:460px }
.pa-previa { display:grid; gap:10px; justify-items:center; padding:16px 18px }
.pa-previa > div:first-child { width:100% }
.pa-previa-cel { width:390px; max-width:86vw; height:min(760px, 74vh); border:10px solid #17121F; border-radius:38px; overflow:hidden; background:#fff }
.pa-previa-cel iframe { width:100%; height:100%; border:0; display:block }
@media (max-width:640px) { .pa-fotos-grade { grid-template-columns:repeat(2, minmax(0, 1fr)) } }

/* Dashboard: abas e "Entregas da equipe" */
.dash-abas { display:inline-flex; gap:3px; background:#EBE6F3; border-radius:12px; padding:3px; margin-bottom:var(--sp-5, 20px) }
.dash-abas button { border:0; background:none; padding:8px 14px; border-radius:9px; font-weight:700; font-size:13px; color:var(--muted); cursor:pointer; font-family:inherit }
.dash-abas button.on { background:#fff; color:var(--ink); box-shadow:0 1px 4px #3B1A6418 }
.ent { display:grid; gap:16px; grid-template-columns:minmax(0, 1fr) }
.ent-topo { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--text-subtle) }
.ent-heroi { display:flex; gap:22px; align-items:center; flex-wrap:wrap }
.ent-anel { position:relative; width:150px; height:150px; flex:0 0 auto }
.ent-anel svg { width:150px; height:150px; transform:rotate(-90deg) }
.ent-anel div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center }
.ent-anel b { font-size:36px; font-weight:800; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums }
.ent-anel span { font-size:11.5px; color:var(--muted) }
.ent-heroi-txt { flex:1 1 260px; min-width:0; display:grid; gap:6px }
.ent-heroi-txt h2 { font-size:22px; font-weight:800; margin:0; letter-spacing:-.02em; line-height:1.2 }
.ent-heroi-txt p { margin:0; font-size:14px; color:#3D3650 }
.ent-ponto { display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:13px }
.ent-ponto::before { content:""; width:9px; height:9px; border-radius:50%; background:currentColor }
.ent-sub { font-size:12.5px; color:var(--muted) }
.ent-bloco { display:grid; gap:8px }
.ent-cab { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:6px }
.ent-cab h3 { font-size:15.5px; font-weight:800; margin:0 } .ent-cab span { font-size:11.5px; color:var(--text-subtle) }
.ent-setores { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px }
.ent-setor { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px; display:grid; grid-template-columns:minmax(0, 1fr); gap:6px; min-width:0 }
.ent-setor .t { display:flex; justify-content:space-between; gap:6px; align-items:baseline } .ent-setor b { font-size:14.5px }
.ent-setor .pc { font-size:26px; font-weight:800; font-variant-numeric:tabular-nums }
.ent-setor small { font-size:11.5px; color:var(--muted) }
.ent-trilho { height:8px; border-radius:99px; background:#E4DEEE; position:relative }
.ent-trilho i { display:block; height:100%; border-radius:99px }
.ent-trilho em { position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); border-radius:2px }
.ent-chip { display:inline-flex; font-size:11px; font-weight:800; border-radius:999px; padding:2px 8px; width:max-content }
.ent-chip.good { background:var(--green-bg); color:var(--green) } .ent-chip.warn { background:var(--orange-bg); color:var(--orange) } .ent-chip.bad { background:var(--red-bg); color:var(--red) }
.ent-raia { display:grid; grid-template-columns:150px minmax(0, 1fr) 120px; column-gap:14px; row-gap:6px; align-items:center; width:100%; background:none; border:0; border-top:1px dashed var(--line); border-radius:12px; padding:12px 8px; text-align:left; font-family:inherit; color:inherit; cursor:pointer }
.ent-raia:first-child { border-top:0 } .ent-raia:hover { background:var(--purple-subtle, #F7F3FC) }
.ent-raia .q b { display:block; font-size:13.5px } .ent-raia .q span { font-size:11.5px; color:var(--muted) }
.ent-raia .r { text-align:right; display:grid; gap:2px } .ent-raia .r b { font-size:18px; font-variant-numeric:tabular-nums } .ent-raia .r span { font-size:11.5px; font-weight:700 }
.ent-pista { position:relative; height:34px; background:linear-gradient(90deg, #F3EFF9, #EAE3F5); border-radius:999px }
.ent-pista .feito { position:absolute; left:0; top:0; bottom:0; border-radius:999px; opacity:.22 }
.ent-pista .fantasma { position:absolute; top:4px; width:26px; height:26px; margin-left:-13px; border-radius:50%; border:2px dashed #9C8FB8; background:#ffffffaa }
.ent-pista .corredor { position:absolute; top:2px; width:30px; height:30px; margin-left:-15px; border-radius:50%; color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px #3B1A6440, 0 0 0 3px #fff }
.ent-pista .chegada { position:absolute; right:-2px; top:-14px; font-size:10px; font-weight:800; color:var(--muted) }
.ent-pista .chegada::after { content:"🏁"; position:absolute; right:2px; top:14px; font-size:16px }
.ent-raia .prev { grid-column:2; font-size:12px; color:var(--muted); display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap }
.ent-raia .prev em { font-style:normal; font-weight:700 } .ent-raia .prev em.ruim { color:var(--red) } .ent-raia .prev em.bom { color:var(--green) }
.ent-raia .prev u { text-decoration:none; color:var(--purple); font-weight:700; white-space:nowrap }
.ent-cli summary { cursor:pointer; font-weight:700; font-size:13.5px }
.ent-cli table, .ent-falta table { width:100%; border-collapse:collapse; font-size:12.5px }
.ent-cli th, .ent-falta th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-subtle); padding:7px 6px; border-bottom:1px solid var(--line) }
.ent-cli td, .ent-falta td { padding:8px 6px; border-bottom:1px solid var(--gray-100, #F1EFF4); vertical-align:middle }
.ent-falta tbody tr:hover { background:var(--purple-subtle, #F7F3FC) }
.ent-falta { display:grid; gap:12px; padding:20px }
.ent-falta-tit { margin:2px 0 0; font-size:18px; font-weight:800; letter-spacing:-.01em } .ent-falta p { margin:0; font-size:13.5px; color:#3D3650 }
.ent-prazo { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:13.5px }
.ent-prazo input { width:70px; display:inline-block; margin-left:6px }
@media (max-width:980px) { .ent-setores { grid-template-columns:repeat(2, minmax(0, 1fr)) } }
@media (max-width:640px) { .ent-raia { grid-template-columns:minmax(0, 1fr) 84px } .ent-raia .ent-pista { grid-column:1 / -1; grid-row:2 } .ent-raia .prev { grid-column:1 / -1 } }

[hidden] { display:none !important }


/* ── DESEMPENHO DO COLABORADOR (aba Equipe) ── */
.dp { max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-4) }
.dp-voltar { align-self:flex-start;background:none;border:0;color:var(--c-primary);font:600 13px var(--font);cursor:pointer;padding:4px 2px }
.dp-voltar:hover { text-decoration:underline }
.dp-hero { display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-6);border-radius:var(--r-xl);
  background:linear-gradient(120deg,var(--c-primary-dark) 0%,var(--c-primary) 60%,var(--c-accent) 100%);color:#fff }
.dp-id { display:flex;align-items:center;gap:var(--sp-4) }
.dp-id .avatar { width:72px;height:72px;border:3px solid rgba(255,255,255,.55);background:rgba(255,255,255,.18);color:#fff }
.dp-cargo { display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:3px 10px;border-radius:var(--r-full) }
.dp-hero h1 { font-size:26px;font-weight:800;letter-spacing:-.03em;margin:6px 0 0;color:#fff }
.dp-mail { font-size:13px;opacity:.8 }
.dp-acoes { display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap }
.dp-acoes .btn-outline { background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff }
.dp-acoes .btn-outline:hover { background:rgba(255,255,255,.26) }
.dp-mes { display:flex;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:var(--r-full);overflow:hidden }
.dp-mes select { background:transparent;border:0;color:#fff;font:700 14px var(--font);padding:9px 6px;text-align:center;cursor:pointer;outline:none;min-width:170px }
.dp-mes select option { color:var(--text-base) }
.dp-seta { background:none;border:0;color:#fff;font:700 20px var(--font);width:38px;height:38px;cursor:pointer }
.dp-seta:hover:not(:disabled) { background:rgba(255,255,255,.2) }
.dp-seta:disabled { opacity:.3;cursor:default }
.dp-resumo { background:var(--c-primary-subtle);border:1px solid var(--c-primary-light);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-5);font-size:14px;color:var(--gray-800) }
.dp-resumo b { color:var(--c-primary-dark) }
.dp-grid6 { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4) }
.dp-kpi { background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);position:relative;overflow:hidden;transition:box-shadow var(--t-base),transform var(--t-base) }
.dp-kpi::before { content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c-primary) }
.dp-kpi.ok::before { background:var(--c-success) } .dp-kpi.alerta::before { background:var(--c-orange) }
.dp-kpi:hover { box-shadow:var(--shadow-md);transform:translateY(-2px) }
.dp-kpi-ic { position:absolute;right:16px;top:14px;font-size:22px;opacity:.85 }
.dp-kpi-rot { font-size:12.5px;font-weight:600;color:var(--text-muted) }
.dp-kpi-val { font:800 38px/1.1 var(--font-display);letter-spacing:-.03em;margin:6px 0 8px }
.dp-kpi-ext { min-height:20px;font-size:12px }
.dp-delta { font-size:12px;font-weight:600 } .dp-delta.bom { color:var(--c-success) } .dp-delta.ruim { color:var(--c-danger) } .dp-delta.neutro { color:var(--text-subtle);font-weight:500 }
.dp-prog { height:6px;background:var(--gray-100);border-radius:var(--r-full);margin-bottom:6px;overflow:hidden } .dp-prog i { display:block;height:100%;background:var(--c-success);border-radius:var(--r-full) }
.dp-duas { display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) }
.dp-card { padding:var(--sp-5) var(--sp-6) } .dp-card + .dp-card { margin-top:0 }
.dp-card h3 { font:800 15px var(--font-display);letter-spacing:-.01em;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:8px }
.dp-cab { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:var(--sp-3) } .dp-cab h3 { margin:0 } .dp-sub { font-size:12px;color:var(--text-subtle) }
.dp-badge { font:700 12px var(--font);background:var(--c-primary-light);color:var(--c-primary-dark);padding:2px 10px;border-radius:var(--r-full) } .dp-badge.alerta { background:var(--c-warning-light);color:var(--c-warning) } .dp-badge.ok { background:var(--c-success-light);color:var(--c-success) }
.dp-vazio { color:var(--text-subtle);font-size:13.5px;padding:var(--sp-6) 0;text-align:center }
.dp-barras { position:relative;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:0 4px;border-bottom:1px solid var(--border) }
.dp-col { flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:default }
.dp-col-n { font-size:12px;font-weight:700;margin-bottom:4px } .dp-col-r { font-size:10.5px;color:var(--text-subtle);margin:6px 0 4px;text-align:center;white-space:nowrap;line-height:1.1 }
.dp-col-b { width:62%;background:linear-gradient(180deg,var(--c-accent),var(--c-primary));border-radius:8px 8px 2px 2px;transition:filter var(--t-fast) } .dp-col:hover .dp-col-b { filter:brightness(1.15) }
.dp-media { position:absolute;left:0;right:0;border-top:1.5px dashed rgba(249,115,22,.55);pointer-events:none;z-index:1 } .dp-media span { position:absolute;left:0;top:-18px;font-size:10.5px;font-weight:700;color:var(--c-orange);background:#fff;padding:0 4px }
.dp-pilha { display:flex;height:16px;border-radius:var(--r-full);overflow:hidden;background:var(--gray-100);margin:6px 0 14px } .dp-pilha i.v,.dp-leg b.v { background:#22A06B } .dp-pilha i.a,.dp-leg b.a { background:#F5B324 } .dp-pilha i.r,.dp-leg b.r { background:#E5484D }
.dp-leg { display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px } .dp-leg b { display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px } .dp-leg em { font-style:normal;font-weight:800;margin-left:4px }
.dp-hbar { display:grid;grid-template-columns:minmax(80px,150px) 1fr 28px;align-items:center;gap:10px;margin:9px 0;font-size:13px } .dp-hn { overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.dp-hbar > div { height:10px;background:var(--gray-100);border-radius:var(--r-full);overflow:hidden } .dp-hbar i { display:block;height:100%;background:var(--c-primary);border-radius:var(--r-full) } .dp-hbar b { text-align:right }
.dp-lista { display:flex;flex-direction:column;gap:6px }
.dp-item { display:flex;align-items:center;gap:12px;text-align:left;background:var(--gray-50);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:10px 14px;cursor:pointer;font-family:var(--font);transition:background var(--t-fast),border-color var(--t-fast) }
.dp-item:hover { background:var(--c-primary-subtle);border-color:var(--c-primary-light) } .dp-item-t { flex:1;min-width:0;display:flex;flex-direction:column } .dp-item-t b { font-size:13.5px } .dp-item-t small { color:var(--text-subtle);font-size:12px } .dp-ir { color:var(--text-subtle);font-size:20px }
.dp-chip { display:inline-block;font:700 12px var(--font);padding:3px 10px;border-radius:var(--r-full);white-space:nowrap } .dp-chip.v { background:#DFF5EA;color:#087B57 } .dp-chip.a { background:#FFF1CC;color:#8A5A00 } .dp-chip.r { background:#FFE3E5;color:#AD3743 }
.dp-tag { display:inline-block;font:600 12px var(--font);padding:3px 10px;border-radius:var(--r-full);white-space:nowrap } .dp-tag.v { background:var(--gray-100);color:var(--text-muted) } .dp-tag.a { background:#FFF1CC;color:#8A5A00 } .dp-tag.r { background:#FFE3E5;color:#AD3743 }
.dp-barra-ferr { display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-3) }
.dp-barra-ferr input { flex:1;min-width:220px;max-width:340px;border:1px solid var(--border);border-radius:var(--r-full);padding:9px 16px;font:14px var(--font);background:var(--gray-50);outline:none } .dp-barra-ferr input:focus { border-color:var(--c-accent);background:#fff }
.dp-filtros { display:flex;gap:6px;flex-wrap:wrap } .dp-fil { border:1px solid var(--border);background:#fff;border-radius:var(--r-full);padding:6px 14px;font:600 12.5px var(--font);color:var(--text-muted);cursor:pointer } .dp-fil em { font-style:normal;opacity:.7;margin-left:3px } .dp-fil.on { background:var(--c-primary);border-color:var(--c-primary);color:#fff }
.dp-tabela-box { overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md) }
.dp-tab { width:100%;border-collapse:collapse;font-size:13.5px;min-width:760px } .dp-tab th { position:sticky;top:0;text-align:left;font:700 11.5px var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--gray-50);padding:11px 14px;cursor:pointer;white-space:nowrap;user-select:none } .dp-tab th.on { color:var(--c-primary) }
.dp-tab td { padding:11px 14px;border-top:1px solid var(--border-subtle);vertical-align:middle } .dp-tab tbody tr { cursor:pointer } .dp-tab tbody tr:hover { background:var(--c-primary-subtle) } .dp-t { max-width:340px;font-weight:600 }
.dp-cli { display:inline-flex;align-items:center;gap:8px;white-space:nowrap } .dp-cli i { font:800 11px var(--font);font-style:normal;width:24px;height:24px;border-radius:8px;background:var(--c-primary-light);color:var(--c-primary-dark);display:inline-flex;align-items:center;justify-content:center }
.dp-skel { background:linear-gradient(90deg,var(--gray-100),var(--gray-50),var(--gray-100));background-size:200% 100%;animation:dpsk 1.2s infinite;border-radius:var(--r-lg) } @keyframes dpsk { to { background-position:-200% 0 } }
.dp > .dp-skel, .dp > .dp-grid6 { margin-bottom:var(--sp-3) }
@media (max-width:900px) { .dp-grid6 { grid-template-columns:repeat(2,1fr) } .dp-duas { grid-template-columns:1fr } }
@media (max-width:560px) { .dp-grid6 { grid-template-columns:1fr } .dp-hero { padding:var(--sp-5) } .dp-hero h1 { font-size:21px } .dp-kpi-val { font-size:32px } .dp-card { padding:var(--sp-4) } }
@media (prefers-reduced-motion:reduce) { .dp-skel { animation:none } .dp-kpi { transition:none } }


/* ── BUSCA GLOBAL ── */
.busca-btn { display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:0 12px 10px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--gray-50);color:var(--text-muted);font:500 13px var(--font);cursor:pointer }
.busca-btn:hover { border-color:var(--c-accent);background:#fff } .busca-btn span { flex:1;text-align:left } .busca-btn kbd,.busca-dica kbd { font:600 10.5px var(--font);background:#fff;border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--text-subtle) }
.busca-back { position:fixed;inset:0;background:rgba(33,28,48,.45);z-index:9000;display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 0 }
.busca-box { width:100%;max-width:640px;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden }
.busca-box input { width:100%;border:0;border-bottom:1px solid var(--border);padding:18px 22px;font:500 17px var(--font);outline:none }
.busca-res { max-height:56vh;overflow:auto;padding:6px 8px 10px }
.busca-sec { font:800 10px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);padding:12px 12px 4px }
.busca-item { display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--r-md);padding:9px 12px;cursor:pointer;font-family:var(--font) } .busca-item:hover { background:var(--c-primary-subtle) }
.busca-item b { display:block;font-size:14px } .busca-item small { color:var(--text-subtle);font-size:12px } .busca-item em { display:block;font-style:normal;color:var(--text-muted);font-size:12px;margin-top:2px }
.busca-dica { color:var(--text-subtle);font-size:13px;padding:18px 14px;text-align:center }

/* ── CALENDÁRIO EDITORIAL ── */
.cal { max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-3) }
.cal-topo { display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap } .cal-ferr { display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap }
.cal-mes { display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:var(--r-full);padding:2px } .cal-mes b { min-width:130px;text-align:center;font-size:14px } .cal-mes button { background:none;border:0;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer } .cal-mes button:hover { background:var(--c-primary-light) }
.cal-resumo { display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--text-muted) } .cal-resumo b { color:var(--text-base);font-size:16px;margin-right:3px }
.cal-leg { display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted) } .cal-leg i { display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-2px;padding:0;border-left-width:12px }
.cal-grade { background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden }
.cal-sem,.cal-dias { display:grid;grid-template-columns:repeat(7,1fr) } .cal-sem div { padding:9px;text-align:center;font:700 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--gray-50);border-bottom:1px solid var(--border) }
.cal-cel { min-height:118px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0 } .cal-cel:nth-child(7n) { border-right:0 }
.cal-cel.fds { background:#FCFBFE } .cal-cel.vazia { background:var(--gray-50) } .cal-cel.hoje { background:var(--c-primary-subtle);box-shadow:inset 0 0 0 2px var(--c-accent) } .cal-cel.alvo { background:var(--c-primary-light);box-shadow:inset 0 0 0 2px var(--c-primary) }
.cal-dia { display:flex;justify-content:space-between;font:700 12px var(--font);color:var(--text-muted) } .cal-dia span { background:var(--c-primary-light);color:var(--c-primary-dark);border-radius:var(--r-full);padding:0 7px;font-size:11px }
.cal-it { border-left:4px solid var(--c-primary);background:#F3EEFC;border-radius:6px;padding:3px 6px;font-size:11.5px;cursor:pointer;overflow:hidden;line-height:1.25 } .cal-it[draggable=true] { cursor:grab } .cal-it:hover { filter:brightness(.96) }
.cal-it b { display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis } .cal-it small { display:block;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px }
.cal-it.pla { border-color:#9C94A7;background:#F4F2F7 } .cal-it.int { border-color:#F5B324;background:#FFF6DD } .cal-it.ajs { border-color:#E5484D;background:#FFEBEC } .cal-it.cli { border-color:#3B82F6;background:#E6F0FE }
.cal-it.apr { border-color:#22A06B;background:#E3F6EC } .cal-it.agd { border-color:#8A55DE;background:#F0E8FD } .cal-it.pub { border-color:#087B57;background:#CDEFE0 } .cal-it.cap { border-color:#F97316;background:#FFEEDC }
@media (max-width:760px) { .cal-sem { display:none } .cal-dias { display:block } .cal-cel { min-height:0;border-right:0 } .cal-cel.vazia,.cal-cel.sem-itens { display:none } .cal-cel::before { content:attr(data-dia);font:600 11px var(--font);color:var(--text-subtle) } }

/* ── BIBLIOTECA DE ARQUIVOS ── */
.bib { min-width:min(640px,86vw) } .bib-grade { display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:46vh;overflow:auto;padding:4px }
.bib-arq { border:1px solid var(--border);border-radius:var(--r-md);padding:8px;display:flex;flex-direction:column;gap:3px } .bib-mini { height:96px;border-radius:8px;background:var(--gray-50);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:30px } .bib-mini img { width:100%;height:100%;object-fit:contain }
.bib-nome { font:600 12.5px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap } .bib-meta { font-size:11px;color:var(--text-subtle) }
.bib-envio { display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border) }

/* ── RELATÓRIO MENSAL ── */
.rel { min-width:min(720px,88vw);max-height:78vh;overflow:auto } .rel-topo { display:flex;justify-content:space-between;gap:12px;border-bottom:3px solid var(--c-primary);padding-bottom:12px;margin-bottom:14px }
.rel-marca { font:800 12px var(--font-display);letter-spacing:.08em;color:var(--text-muted) } .rel-marca b { color:var(--c-primary) } .rel-topo h3 { font-size:22px;margin:4px 0 0 } .rel-mes { color:var(--c-primary);font-weight:700 }
.rel-grade { display:grid;grid-template-columns:repeat(3,1fr);gap:10px } .rel-k { border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:2px } .rel-k div { font-size:18px } .rel-k b { font:800 28px var(--font-display) } .rel-k span { font-size:12px;color:var(--text-muted) } .rel-k small { font-size:11px;color:var(--text-subtle) }
.rel h4 { font:800 11px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);margin:18px 0 8px } .rel p { font-size:13.5px }
.rel-tipos { display:flex;gap:8px;flex-wrap:wrap } .rel-tipos span { background:var(--c-primary-light);color:var(--c-primary-dark);border-radius:var(--r-full);padding:4px 12px;font-size:13px } .rel-tipos b { margin-left:4px }
.rel-pend { margin-top:16px;background:var(--c-warning-light);color:var(--c-warning);border-radius:var(--r-md);padding:10px 14px;font-size:12.5px }
@media (max-width:640px) { .rel-grade { grid-template-columns:repeat(2,1fr) } }
.modal:has(.rel) { max-width:880px } .modal:has(.bib) { max-width:780px }
.rel,.bib { padding:22px 28px;min-width:0 } .rel { max-height:none;overflow:visible }
.rel h3,.bib h3 { padding:0;border:0;background:none;border-radius:0;margin:4px 0 0 }
.rel .modal-footer,.bib .modal-footer { padding-left:0;padding-right:0 }
.bib-envio select { width:auto;min-width:190px }
