:root{
  --sidebar:#0f172a;
  --sidebar-2:#111827;
  --primary:#2563eb;
  --bg:#f4f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;
}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh;}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#fff;padding:24px 18px;}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.brand-mark,.logo-circle{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-weight:700;}
.brand small{display:block;color:rgba(255,255,255,.7);}
.user-box{padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;}
.sidebar .nav-link{color:rgba(255,255,255,.84);border-radius:12px;padding:11px 12px;}
.sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.content{padding:28px;}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:12px;}
.page-title{margin:0;font-size:1.7rem;font-weight:700;}
.page-subtitle{color:var(--muted);font-size:.95rem;}
.metric-card,.card-soft{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.05);}
.metric-card{padding:20px;}
.metric-label{color:var(--muted);font-size:.95rem;}
.metric-value{font-size:2rem;font-weight:700;margin-top:6px;}
.card-soft .card-body{padding:22px;}
.empty-state{padding:24px;border:1px dashed var(--border);border-radius:16px;text-align:center;color:var(--muted);background:#fafcff;}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#dbeafe,#f8fbff 40%);}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:26px;padding:30px;box-shadow:0 20px 60px rgba(15,23,42,.08);}
.form-control,.form-select{border-radius:14px;border-color:#dbe1ea;min-height:44px;}
.form-control-sm{min-height:34px;border-radius:10px;}
.btn{border-radius:14px;min-height:44px;}
.btn-sm{min-height:auto;border-radius:10px;}
.pre-wrap{white-space:pre-wrap;}
.sticky-panel{top:20px;}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.section-table-title{background:#d9d9d9;border:1px solid #bdbdbd;border-radius:10px;padding:10px 14px;font-weight:700;letter-spacing:.02em;text-align:center;}
.resource-table th,.resource-table td,.resource-table-view th,.resource-table-view td{font-size:.88rem;}
.resource-table tfoot th,.resource-table-view tfoot th{background:#f4f4f4;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;}
.photo-thumb{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#eef2ff;aspect-ratio:1/1;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:1200px){.resource-grid{grid-template-columns:1fr;}}
@media (max-width:991px){.layout{grid-template-columns:1fr;}.sidebar{padding-bottom:8px;}}

/* Etapa 12 - Dashboard executivo e menu lateral organizado */
.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;overflow-y:auto;}
.contract-pill{display:inline-flex;max-width:100%;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:.78rem;color:rgba(255,255,255,.9);}
.sidebar-nav{display:flex;flex-direction:column;gap:12px;}
.nav-section{padding-top:4px;}
.nav-section-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.46);padding:0 12px 6px;}
.sidebar .nav-link{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);border-radius:14px;padding:10px 12px;text-decoration:none;line-height:1.2;}
.sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.09);}
.sidebar .nav-link.active{color:#fff;background:linear-gradient(135deg,rgba(37,99,235,.85),rgba(14,165,233,.72));box-shadow:0 12px 28px rgba(14,165,233,.16);}
.sidebar .nav-link-sub{font-size:.88rem;padding-left:42px;color:rgba(255,255,255,.68);}
.sidebar .nav-link.text-danger{color:#fecaca!important;}
.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px;border-radius:28px;background:linear-gradient(135deg,#102a63,#245db5 52%,#0ea5e9);color:#fff;box-shadow:0 22px 60px rgba(30,64,175,.16);}
.dashboard-hero h2{font-size:1.75rem;font-weight:800;}
.dashboard-hero p{color:rgba(255,255,255,.82);}
.hero-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.7);font-weight:700;}
.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.executive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.metric-card{position:relative;overflow:hidden;}
.metric-card:after{content:"";position:absolute;right:-34px;bottom:-34px;width:110px;height:110px;border-radius:999px;background:rgba(37,99,235,.08);}
.metric-hint{font-size:.82rem;color:var(--muted);margin-top:4px;}
.metric-blue:after{background:rgba(37,99,235,.12)}
.metric-orange:after{background:rgba(245,158,11,.16)}
.metric-green:after{background:rgba(22,163,74,.14)}
.metric-purple:after{background:rgba(124,58,237,.13)}
.progress-slim{height:7px;border-radius:999px;background:#e2e8f0;}
.progress-lg{height:22px;border-radius:999px;background:#e8edf8;}
.progress-bar{background:linear-gradient(135deg,#2563eb,#0ea5e9);}
.mini-stat{padding:14px;border:1px solid var(--border);border-radius:18px;background:#fbfdff;}
.mini-stat span{display:block;color:var(--muted);font-size:.82rem;}
.mini-stat strong{display:block;font-size:1.35rem;margin-top:2px;}
.soft-count{padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #edf2f7;text-align:center;}
.soft-count b{display:block;font-size:1.2rem;}
.soft-count span{font-size:.78rem;color:var(--muted);}
.attention-item{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#fff;display:flex;flex-direction:column;gap:2px;}
.attention-item span{color:var(--muted);font-size:.9rem;}
.attention-danger{background:#fff5f5;border-color:#fecaca;}
.attention-warning{background:#fffbeb;border-color:#fde68a;}
.attention-info{background:#eff6ff;border-color:#bfdbfe;}
.attention-success{background:#f0fdf4;border-color:#bbf7d0;}
.quick-action-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.quick-action{display:block;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fbfdff;text-decoration:none;color:var(--text);transition:.15s ease;}
.quick-action:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.06);border-color:#bfdbfe;color:var(--primary);}
.quick-action span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px;}
.rank-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f7;}
.rank-row:last-child{border-bottom:0;}
.rank-row b{background:#eef2ff;color:#1d4ed8;border-radius:999px;padding:2px 9px;font-size:.8rem;}
.cadastro-summary{display:grid;gap:8px;}
.cadastro-summary div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #eef2f7;}
.cadastro-summary div:last-child{border-bottom:0;}
.cadastro-summary span{text-transform:capitalize;color:var(--muted);}
.dashboard-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.cadastro-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.cadastro-card{display:flex;gap:14px;padding:18px;border:1px solid var(--border);border-radius:24px;background:#fff;text-decoration:none;color:var(--text);box-shadow:0 10px 30px rgba(15,23,42,.04);transition:.16s ease;min-height:150px;}
.cadastro-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.08);color:var(--text);border-color:#bfdbfe;}
.cadastro-card h5{font-weight:800;}
.cadastro-card p{color:var(--muted);font-size:.92rem;}
.cadastro-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:18px;background:#eef2ff;font-size:1.35rem;flex:0 0 auto;}
.cadastro-count{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-weight:800;font-size:.83rem;}
.cadastro-card-success .cadastro-card-icon{background:#dcfce7;}
.cadastro-card-warning .cadastro-card-icon{background:#fef3c7;}
.cadastro-card-info .cadastro-card-icon{background:#e0f2fe;}
.cadastro-card-danger .cadastro-card-icon{background:#fee2e2;}
.cadastro-card-dark .cadastro-card-icon{background:#e2e8f0;}
@media (max-width:1200px){.executive-grid,.cadastro-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:768px){.content{padding:18px}.dashboard-hero{flex-direction:column}.executive-grid,.cadastro-card-grid{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.topbar{align-items:flex-start;flex-direction:column}.layout{grid-template-columns:1fr}.sidebar{position:relative;min-height:auto}}

/* Etapa 16 - Perfis e acessos */
.access-profile-card{border:1px solid var(--border);border-radius:22px;background:#fff;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.04);} 
.access-profile-title{font-weight:800;color:#0f172a;margin-bottom:6px;}
.access-profile-card p{font-size:.88rem;color:var(--muted);margin-bottom:10px;}
.access-profile-card span{display:inline-flex;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#1d4ed8;font-size:.76rem;font-weight:700;}
.permission-list{border:1px solid var(--border);border-radius:18px;background:#fbfdff;padding:12px;max-height:520px;overflow:auto;}
.compact-permissions{max-height:420px;}
.permission-group-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;margin:12px 0 6px;}
.permission-group-title:first-child{margin-top:0;}
.permission-check{padding:9px 10px 9px 34px;border:1px solid #edf2f7;border-radius:14px;background:#fff;margin-bottom:6px;}
.permission-check .form-check-input{margin-left:-24px;margin-top:.35rem;}
.permission-check label strong{display:block;font-size:.9rem;}
.permission-check label small{display:block;color:var(--muted);line-height:1.25;}

/* Etapa 17.1 - DDS dentro de SST + sidebar com rolagem independente */
.layout{grid-template-columns:280px minmax(0,1fr);align-items:start;}
.sidebar{position:sticky;top:0;height:100vh;min-height:100vh;max-height:100vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;}
.sidebar::-webkit-scrollbar{width:8px;}
.sidebar::-webkit-scrollbar-track{background:transparent;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.34);}
.dds-participants-box{display:grid;gap:14px;}
.participant-card{border:1px solid var(--border);border-radius:20px;background:#fbfdff;padding:16px;}
.signature-canvas{width:100%;height:170px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;touch-action:none;display:block;}
.signature-canvas:hover{border-color:#93c5fd;}
@media (max-width:768px){.sidebar{position:relative;height:auto;max-height:none;min-height:auto;}.signature-canvas{height:150px;}}

/* Etapa 21.1 - Dashboard com DDS e Comunicação */
.metric-teal:after{background:rgba(20,184,166,.15)}
.metric-pink:after{background:rgba(236,72,153,.13)}
.dashboard-subtitle{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;margin-bottom:8px;}
.mini-link-row{display:block;text-decoration:none;color:var(--text);padding:10px 0;border-bottom:1px solid #eef2f7;}
.mini-link-row:last-child{border-bottom:0;}
.mini-link-row strong{display:block;font-size:.92rem;line-height:1.25;}
.mini-link-row span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px;}
.mini-link-row:hover{color:var(--primary);}
@media (min-width:1201px){.executive-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}

/* Etapa 22 - Diagnóstico de perfis e permissões */
.access-audit-preview{display:grid;gap:8px;margin-top:14px;}
.access-audit-item{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:#fff;}
.access-audit-item span{font-size:.86rem;color:var(--muted);}
.access-audit-warning{background:#fffbeb;border-color:#fde68a;}
.access-audit-danger{background:#fff5f5;border-color:#fecaca;}
.access-audit-info{background:#eff6ff;border-color:#bfdbfe;}
.permission-chip-list{display:flex;flex-wrap:wrap;gap:8px;}
.permission-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#1d4ed8;font-size:.78rem;font-weight:700;border:1px solid #dbeafe;}
.table .badge + .badge{margin-left:4px;}

/* Etapa 24 - Auditoria / histórico de ações */
.audit-badge-module{background:#eef2ff;color:#1d4ed8;border:1px solid #dbeafe;}
.audit-badge-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
.audit-badge-info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd;}
.audit-badge-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a;}
.audit-badge-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}

/* Etapa 25 - Identidade comercial do DCorp */
.product-mini-card{display:block;text-decoration:none;color:#fff;margin:12px 0 4px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.28),rgba(14,165,233,.16));border:1px solid rgba(255,255,255,.12);}
.product-mini-card span,.product-mini-card small{display:block;color:rgba(255,255,255,.66);font-size:.72rem;line-height:1.2;}
.product-mini-card strong{display:block;color:#fff;font-size:.92rem;margin:2px 0;}
.product-mini-card:hover{color:#fff;background:linear-gradient(135deg,rgba(37,99,235,.42),rgba(14,165,233,.24));}
.auth-commercial-page{min-height:100vh;padding:28px;background:radial-gradient(circle at 18% 8%,rgba(14,165,233,.28),transparent 34%),radial-gradient(circle at 84% 18%,rgba(37,99,235,.22),transparent 32%),linear-gradient(135deg,#06111f,#0f172a 48%,#172554);display:grid;place-items:center;}
.auth-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:28px;align-items:stretch;}
.auth-commercial-hero{color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:34px;padding:36px;min-height:620px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:0 28px 90px rgba(2,6,23,.28);position:relative;overflow:hidden;}
.auth-commercial-hero:after{content:"";position:absolute;right:-90px;bottom:-120px;width:330px;height:330px;border-radius:999px;background:rgba(14,165,233,.22);filter:blur(2px);}
.auth-commercial-hero h1{font-size:clamp(2.2rem,4vw,4.6rem);line-height:.98;font-weight:900;letter-spacing:-.06em;margin:18px 0;max-width:760px;}
.auth-commercial-hero p{font-size:1.08rem;color:rgba(255,255,255,.76);max-width:680px;}
.commercial-logo-row{display:flex;align-items:center;gap:14px;}
.commercial-logo-row strong{display:block;font-size:1.1rem;}
.commercial-logo-row small{display:block;color:rgba(255,255,255,.66);}
.commercial-logo{box-shadow:0 18px 44px rgba(14,165,233,.28);}
.commercial-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.commercial-chip-row span{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-weight:800;font-size:.82rem;}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;z-index:1;}
.auth-feature-grid div{padding:16px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);}
.auth-feature-grid b{display:block;margin-bottom:4px;}
.auth-feature-grid span{display:block;color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.35;}
.auth-card-commercial{align-self:center;box-shadow:0 32px 90px rgba(2,6,23,.22);}
.auth-product-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid #e5e7eb;color:var(--muted);font-size:.78rem;}
.product-hero{display:flex;justify-content:space-between;align-items:stretch;gap:20px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#0f172a,#1d4ed8 58%,#0ea5e9);color:#fff;box-shadow:0 22px 70px rgba(30,64,175,.16);}
.product-hero h2{font-size:2.25rem;font-weight:900;margin:6px 0;letter-spacing:-.03em;}
.product-hero p{max-width:760px;color:rgba(255,255,255,.78);font-size:1.05rem;margin-bottom:0;}
.product-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
.product-badges span{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);font-size:.82rem;font-weight:800;}
.product-hero-panel{min-width:260px;padding:18px;border-radius:22px;background:rgba(255,255,255,.92);color:#0f172a;display:flex;flex-direction:column;gap:5px;box-shadow:0 16px 44px rgba(15,23,42,.12);}
.product-hero-panel strong{font-size:1.5rem;}
.product-hero-panel small{color:var(--muted);}
.product-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.product-value-grid div{padding:16px;border:1px solid var(--border);border-radius:20px;background:#fbfdff;}
.product-value-grid b{display:block;margin-bottom:5px;color:#0f172a;}
.product-value-grid span{display:block;color:var(--muted);font-size:.9rem;line-height:1.35;}
.commercial-fact{padding:11px 0;border-bottom:1px solid #eef2f7;}
.commercial-fact:last-child{border-bottom:0;}
.commercial-fact span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.commercial-fact strong{display:block;margin-top:2px;}
.product-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.product-module-card{display:flex;gap:12px;padding:15px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.035);}
.product-module-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:#eef2ff;flex:0 0 auto;font-size:1.25rem;}
.product-module-card h6{font-weight:900;margin-bottom:4px;}
.product-module-card p{color:var(--muted);font-size:.86rem;line-height:1.35;margin-bottom:0;}
.presentation-copy{border-left:4px solid var(--primary);background:#f8fafc;border-radius:0 18px 18px 0;padding:18px;color:#334155;line-height:1.6;font-size:1.02rem;}
.roadmap-list{display:grid;gap:10px;}
.roadmap-list div{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fbfdff;}
.roadmap-list span{font-weight:900;color:var(--primary);}
@media (max-width:1100px){.auth-shell{grid-template-columns:1fr}.auth-commercial-hero{min-height:auto}.product-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.product-value-grid{grid-template-columns:1fr}.product-hero{flex-direction:column}.product-hero-panel{min-width:0}.auth-feature-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.auth-commercial-page{padding:16px}.auth-commercial-hero{padding:24px;border-radius:26px}.auth-card{padding:24px}.product-module-grid{grid-template-columns:1fr}.auth-product-footer{flex-direction:column}.product-hero{padding:22px;border-radius:24px}.product-hero h2{font-size:1.8rem;}}

/* Etapa 26 - Exportações / Backup gerencial */
.export-module-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.export-module-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:18px;background:#fbfdff;}
.export-module-card strong{display:block;color:var(--text);}
.export-module-card span{display:block;color:var(--muted);font-size:.82rem;}
.export-module-card b{display:block;font-size:1.15rem;color:#0f172a;}
.export-module-card a{font-size:.78rem;text-decoration:none;font-weight:800;color:var(--primary);}
.export-package-item{height:100%;border:1px solid var(--border);border-radius:18px;background:#fbfdff;padding:15px;}
.export-package-item b{display:block;margin-bottom:4px;color:#0f172a;}
.export-package-item span{display:block;color:var(--muted);font-size:.88rem;line-height:1.35;}

/* Etapa 27 - Painel de saúde do sistema */
.health-hero {
  background: linear-gradient(135deg, #0f766e, #1d4ed8);
}
.health-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .35rem .65rem;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid rgba(15, 23, 42, .08);
}
.health-success { background: #dcfce7; color: #166534; }
.health-warning { background: #fef3c7; color: #92400e; }
.health-danger { background: #fee2e2; color: #991b1b; }
.health-info { background: #dbeafe; color: #1e40af; }
.health-fact {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.health-fact:last-child { border-bottom: none; }
.health-fact span {
  color: #64748b;
  font-size: .86rem;
}
.health-fact strong {
  color: #0f172a;
  text-align: right;
  max-width: 62%;
  overflow-wrap: anywhere;
}
.health-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
}
.health-check {
  border-radius: 18px;
  padding: 1rem;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #fff;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .04);
}
.health-check strong {
  display: block;
  margin-top: .65rem;
  font-size: .9rem;
  color: #334155;
}
.health-check-success { border-color: rgba(22, 101, 52, .18); }
.health-check-warning { border-color: rgba(146, 64, 14, .22); }
.health-check-danger { border-color: rgba(153, 27, 27, .22); }
.health-pending-list {
  display: grid;
  gap: .5rem;
  padding: .75rem;
  background: #fff7ed;
  border-radius: 16px;
  border: 1px solid #fed7aa;
}
.health-pending-list div {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(90px, .6fr) 2fr;
  gap: .75rem;
  align-items: center;
}
.health-pending-list span,
.health-pending-list small {
  color: #7c2d12;
}
.health-timeline-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.health-timeline-item:last-child { border-bottom: none; }
.health-timeline-item strong,
.health-timeline-item span,
.health-timeline-item small { display: block; }
.health-timeline-item span,
.health-timeline-item small { color: #64748b; }
@media (max-width: 768px) {
  .health-pending-list div { grid-template-columns: 1fr; }
  .health-timeline-item { flex-direction: column; }
}

/* Etapa 28 - Polimento comercial avançado */
.brand-mark,.logo-circle{background:linear-gradient(135deg,var(--primary),var(--brand-secondary));}
.progress-bar{background:linear-gradient(135deg,var(--primary),var(--brand-secondary));}
.dashboard-hero,.product-hero{background:linear-gradient(135deg,var(--sidebar),var(--primary) 58%,var(--brand-secondary));}
.sidebar .nav-link.active{background:linear-gradient(135deg,var(--primary),var(--brand-secondary));}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--brand-secondary));border-color:var(--primary);}
.btn-outline-primary{--bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary);}
.brand-mark-logo,.logo-circle.brand-mark-logo,.brand-preview-mark.brand-mark-logo{background:#fff;border:1px solid rgba(15,23,42,.08);overflow:hidden;padding:4px;}
.brand-mark-logo img,.logo-circle.brand-mark-logo img,.brand-preview-mark.brand-mark-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit;}
.product-hero-commercial{background:radial-gradient(circle at 84% 12%,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,var(--sidebar),var(--primary) 56%,var(--brand-accent));}
.brand-preview-panel{align-items:flex-start;}
.brand-preview-mark{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--brand-secondary));color:#fff;font-weight:900;font-size:1.45rem;margin-bottom:8px;box-shadow:0 14px 36px rgba(15,23,42,.12);}
.auth-commercial-page{background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--brand-secondary) 28%,transparent),transparent 34%),radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--primary) 24%,transparent),transparent 32%),linear-gradient(135deg,var(--sidebar),#0f172a 48%,var(--sidebar-2));}
.auth-commercial-hero{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));}
.auth-commercial-hero:after{background:color-mix(in srgb,var(--brand-secondary) 24%,transparent);}
.commercial-showcase-hero{display:flex;justify-content:space-between;align-items:stretch;gap:20px;padding:34px;border-radius:32px;background:radial-gradient(circle at 84% 18%,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,var(--sidebar),var(--primary) 56%,var(--brand-secondary));color:#fff;box-shadow:0 24px 80px rgba(15,23,42,.15);}
.commercial-showcase-hero h2{font-size:clamp(2rem,4vw,3.8rem);font-weight:950;letter-spacing:-.055em;line-height:.98;margin:8px 0 14px;max-width:880px;}
.commercial-showcase-hero p{max-width:780px;color:rgba(255,255,255,.78);font-size:1.05rem;margin-bottom:0;}
.showcase-logo-card{min-width:260px;padding:20px;border-radius:24px;background:rgba(255,255,255,.92);color:#0f172a;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-shadow:0 16px 50px rgba(15,23,42,.16);}
.showcase-logo-card strong{font-size:1.45rem;font-weight:950;}
.showcase-logo-card small{color:var(--muted);}
.commercial-proof-card{border-color:color-mix(in srgb,var(--primary) 15%,var(--border));}
.commercial-proof-card:after{background:color-mix(in srgb,var(--brand-secondary) 16%,transparent);}
.pitch-timeline{display:grid;gap:16px;}
.pitch-step{display:flex;gap:14px;padding:16px;border:1px solid var(--border);border-radius:22px;background:#fbfdff;}
.pitch-step-number{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,var(--primary),var(--brand-secondary));color:#fff;font-weight:950;}
.pitch-step h6{font-weight:900;margin-bottom:8px;}
.pitch-step ul{margin:0;padding-left:18px;color:#475569;}
.pitch-step li{margin-bottom:6px;}
.pitch-step li:last-child{margin-bottom:0;}
.demo-checklist{display:grid;gap:10px;}
.demo-checklist div{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:18px;background:#fbfdff;color:#334155;}
.demo-checklist span{width:26px;height:26px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:#eef2ff;color:var(--primary);font-weight:900;font-size:.8rem;}
.commercial-module-grid .product-module-card{min-height:138px;}
.license-hero{background:linear-gradient(135deg,var(--sidebar),var(--primary) 62%,var(--brand-accent));}
.brand-config-preview{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--border);border-radius:22px;background:#fbfdff;}
.brand-config-preview strong,.brand-config-preview span{display:block;}
.brand-config-preview strong{font-size:1.1rem;color:#0f172a;}
.brand-config-preview span{color:var(--muted);}
.brand-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.brand-color-grid div{padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff;}
.brand-color-grid b{display:block;width:100%;height:34px;border-radius:12px;margin-bottom:9px;border:1px solid rgba(15,23,42,.08);}
.brand-color-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.brand-color-grid strong{display:block;margin-top:2px;color:#0f172a;}
.env-chip-grid{display:flex;flex-wrap:wrap;gap:9px;}
.env-chip-grid code{display:inline-flex;padding:8px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-size:.78rem;}
@media (max-width:1100px){.commercial-showcase-hero{flex-direction:column}.showcase-logo-card{min-width:0}.brand-color-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.commercial-showcase-hero{padding:24px;border-radius:26px}.commercial-showcase-hero h2{font-size:2rem}.pitch-step{flex-direction:column}.brand-config-preview{align-items:flex-start;flex-direction:column;}}

/* Etapa 29 - rotina assistida de backup */
.backup-score-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .5rem .85rem;
  font-weight: 800;
  font-size: .85rem;
  border: 1px solid rgba(15, 23, 42, .08);
  white-space: nowrap;
}
.backup-score-ok { background: #dcfce7; color: #166534; }
.backup-score-warning { background: #fef3c7; color: #92400e; }
.backup-score-danger { background: #fee2e2; color: #991b1b; }
.backup-checklist {
  display: grid;
  gap: .85rem;
}
.backup-check-item {
  display: flex;
  align-items: center;
  gap: .9rem;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 18px;
  padding: .9rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}
.backup-check-item strong { display: block; color: #0f172a; }
.backup-check-item span { display: block; color: #64748b; font-size: .9rem; }
.backup-check-item small { display: block; color: #94a3b8; margin-top: .15rem; }
.backup-check-marker {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 auto;
}
.backup-check-ok .backup-check-marker { background: #dcfce7; color: #166534; }
.backup-check-warning .backup-check-marker { background: #fef3c7; color: #92400e; }
.backup-check-danger .backup-check-marker { background: #fee2e2; color: #991b1b; }
.backup-check-muted .backup-check-marker { background: #e2e8f0; color: #475569; }
.timeline-mini {
  display: grid;
  gap: .75rem;
}
.timeline-mini-item {
  border-left: 3px solid #2563eb;
  padding: .35rem 0 .35rem .85rem;
}
.timeline-mini-item strong { display: block; color: #0f172a; }
.timeline-mini-item span { display: block; color: #475569; font-size: .9rem; }
.timeline-mini-item small { display: block; color: #94a3b8; }

/* Etapa 30 - monitoramento de sincronizações do app */
.sync-hero {
  background: radial-gradient(circle at 86% 16%, rgba(255,255,255,.18), transparent 24%), linear-gradient(135deg, #0f172a, var(--primary) 58%, var(--brand-secondary));
}
.metric-value-small {
  font-size: 1.15rem;
  line-height: 1.2;
  word-break: break-word;
}
.sync-activity-list {
  display: grid;
  gap: .8rem;
}
.sync-activity-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fbfdff;
}
.sync-activity-item strong,
.sync-activity-item span,
.sync-activity-item small {
  display: block;
}
.sync-activity-item span,
.sync-activity-item small {
  color: #64748b;
}
.sync-activity-item b {
  display: block;
  font-size: 1.25rem;
  color: #0f172a;
}
@media (max-width: 720px) {
  .sync-activity-item { flex-direction: column; }
  .sync-activity-item .text-end { text-align: left !important; }
}
