:root{
  --bg:#eef5fb;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#d8e4f2;
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --cyan:#06b6d4;
  --danger:#dc2626;
  --success:#16a34a;
  --warning:#f59e0b;
  --sidebar:#0f172a;
  --shadow:0 18px 55px rgba(15,23,42,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}.small,small{color:var(--muted);font-size:12px}.muted{color:var(--muted)}

/* Login compacto com imagem de fundo */
.login-screen,.sst-login-page{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:38px 7vw;background:linear-gradient(90deg,rgba(9,18,38,.76) 0%,rgba(9,18,38,.44) 44%,rgba(238,245,251,.45) 100%),url('../img/hero-home.jpg') center center/cover no-repeat}
.login-panel,.sst-login-card{width:min(430px,94vw);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.68);border-radius:28px;padding:36px;box-shadow:0 28px 80px rgba(15,23,42,.28);backdrop-filter:blur(10px);display:block;min-height:auto;overflow:visible}
.sst-login-left{display:none!important}.sst-login-form{padding:0!important;display:block}.sst-login-box{width:100%;max-width:none}.login-brand,.sst-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;position:static;color:var(--text)}
.login-mark,.sst-login-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;display:grid;place-items:center;font-size:26px;font-weight:900;box-shadow:0 14px 32px rgba(37,99,235,.28)}
.login-brand strong,.sst-login-brand strong{display:block;font-size:22px;letter-spacing:-.03em;color:var(--text)}.login-brand span,.sst-login-brand span{display:block;color:var(--primary);font-size:13px}.login-kicker,.sst-login-kicker{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#dbeafe;color:var(--primary-dark);font-size:12px;font-weight:900;margin-bottom:15px}.login-panel h1,.sst-login-box h1{font-size:34px;margin:0 0 10px;letter-spacing:-.045em}.login-panel p,.sst-login-box>p{margin:0 0 22px;color:var(--muted);line-height:1.6}.login-form,.sst-form{display:grid;gap:14px}.login-form label,.sst-form label{display:grid;gap:7px;font-weight:800;color:#334155;font-size:14px}.login-form input,.sst-form input{width:100%;border:1px solid var(--line);border-radius:16px;padding:15px 16px;font-size:15px;outline:none;background:#fff}.login-form input:focus,.sst-form input:focus{border-color:#93c5fd;box-shadow:0 0 0 5px rgba(37,99,235,.10)}.login-submit,.sst-login-submit{width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),#3b82f6);color:#fff;padding:15px 18px;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 16px 34px rgba(37,99,235,.25)}.login-note,.sst-login-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:18px}

/* Estrutura interna */
.app-shell{min-height:100vh;display:flex;background:linear-gradient(180deg,#eef5fb,#f8fbff)}.sidebar{width:286px;flex:0 0 286px;background:linear-gradient(180deg,#0f172a,#13233f);color:#fff;padding:22px 18px;position:fixed;left:0;top:0;bottom:0;overflow:auto;z-index:20;box-shadow:16px 0 42px rgba(15,23,42,.10)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--cyan));display:grid;place-items:center;font-weight:900;font-size:25px;box-shadow:0 14px 30px rgba(37,99,235,.32)}.brand strong{display:block;color:#fff;font-size:22px;letter-spacing:-.03em}.brand span{display:block;color:#93c5fd;font-size:13px}.nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:#dbeafe;font-size:14px;font-weight:800;transition:.18s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}.logout{display:block;margin-top:18px;padding:12px 14px;border-radius:14px;background:rgba(220,38,38,.12);color:#fecaca;font-weight:900;text-align:center}.main{flex:1;margin-left:286px;min-width:0;padding:26px 30px 20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{font-size:32px;line-height:1.08;margin:0;letter-spacing:-.045em}.topbar p{margin:5px 0 0;color:var(--muted);font-size:15px}.menu-btn{display:none;border:0;background:#fff;border-radius:14px;width:44px;height:44px;font-size:20px;box-shadow:var(--shadow);cursor:pointer}.user-pill{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 16px;min-width:150px;box-shadow:0 12px 32px rgba(15,23,42,.06);font-weight:900}.user-pill small{display:block;margin-top:4px;text-transform:uppercase;color:var(--muted);font-size:11px}.footer{padding:18px 0;color:var(--muted);font-size:13px}

.alert{padding:14px 16px;border-radius:16px;margin:10px 0 18px;border:1px solid;font-weight:800}.alert.success{background:#ecfdf5;border-color:#86efac;color:#166534}.alert.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;background:#eef2ff;color:#3730a3}.badge.red{background:#fee2e2;color:#991b1b}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}

/* Dashboard estável */
.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:28px;align-items:center;padding:30px;border-radius:30px;background:radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 32%),linear-gradient(135deg,#fff 0%,#f5f9ff 58%,#e8f5ff 100%);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;margin-bottom:22px}.dashboard-hero h2{font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.055em;margin:0 0 16px}.dashboard-hero p{font-size:17px;line-height:1.65;color:#475569;margin:0}.dashboard-hero-img{border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.15);height:320px;background:#dbeafe}.dashboard-hero-img img{width:100%;height:100%;object-fit:cover;display:block}.kicker{display:inline-flex;background:#dbeafe;color:var(--primary-dark);padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;margin-bottom:14px}.actions,.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-actions{margin-top:20px}.metric-row,.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric,.stat-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.metric span,.stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:8px}.metric strong,.stat-card strong{font-size:34px;line-height:1;letter-spacing:-.04em}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(15,23,42,.05);transition:.18s}.module-card:hover{transform:translateY(-3px);border-color:#bfdbfe;box-shadow:0 20px 46px rgba(37,99,235,.12)}.module-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;font-weight:900;margin-bottom:13px}.module-card h3{margin:0 0 8px;font-size:18px}.module-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

/* Cards, tabelas e formulários */
.card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.card-head h2,.card h2{margin:0;font-size:22px;letter-spacing:-.03em}.card-head p,.card p{margin:6px 0 0;color:var(--muted);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:11px 15px;background:#fff;color:#0f172a;font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--primary),#3b82f6);border-color:transparent;color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.22)}.btn.dark{background:#0f172a;color:#fff;border-color:#0f172a}.btn.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.btn.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.table,table{width:100%;border-collapse:collapse}.table th,.table td,table th,table td{padding:13px 14px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}.table th,table th{background:#f8fbff;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field.full{grid-column:1/-1}.field span,label{font-weight:800;color:#344054;font-size:13px}.field input,.field textarea,.field select,input,textarea,select{width:100%;border:1px solid #cfdced;border-radius:14px;padding:12px 13px;background:#fff;font-size:14px;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,input:focus,textarea:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.check-line{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid #eef3f8;border-radius:12px;padding:10px;font-weight:800}.check-line input{width:auto}

/* Documentos */
.document-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.document-model-card{display:flex;flex-direction:column;gap:10px;min-height:165px;padding:20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 34px rgba(15,23,42,.06);transition:.18s}.document-model-card:hover{transform:translateY(-4px);border-color:#93c5fd;box-shadow:0 20px 52px rgba(37,99,235,.13)}.document-model-card strong{font-size:17px;line-height:1.25}.document-model-card span{color:var(--muted);font-size:13px;line-height:1.55;flex:1}.document-model-card em{font-style:normal;color:var(--primary-dark);font-weight:900;font-size:13px}.doc-type-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px}.editor-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0 12px;padding:12px;border:1px solid var(--line);background:#f8fbff;border-radius:18px}.document-editor{background:#fff;border:1px solid var(--line);border-radius:22px;min-height:650px;padding:34px;line-height:1.55;color:#111827;outline:none;overflow:auto}.document-editor:focus{box-shadow:0 0 0 5px rgba(37,99,235,.08);border-color:#93c5fd}.document-editor h1{font-size:30px}.document-editor h2{font-size:22px;margin-top:28px;border-bottom:1px solid #e5edf6;padding-bottom:8px}.document-editor h3{font-size:17px;margin-top:18px}.document-editor p,.document-editor li{font-size:14px}.document-editor ul,.document-editor ol{padding-left:22px}.document-editor table{font-size:12px;margin:12px 0 20px}.document-editor th{background:#eef5ff}.doc-alerta{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:12px;color:#92400e;font-weight:800}.doc-page{max-width:980px;margin:18px auto 34px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 18px 60px rgba(15,23,42,.08);color:#111827;line-height:1.55}.doc-official-header{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center;border-bottom:3px solid var(--primary);padding-bottom:18px;margin-bottom:18px}.doc-logo-header{max-width:120px;max-height:85px;object-fit:contain}.doc-official-header h1{font-size:27px;line-height:1.18;margin:0 0 8px}.doc-meta-box{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:24px;font-size:13px}.doc-content h1,.doc-content h2,.doc-content h3{color:#0f172a}.doc-content h2{margin-top:28px;border-bottom:1px solid #e5edf6;padding-bottom:7px}.doc-table{width:100%;border-collapse:collapse;margin:12px 0 22px}.doc-table th,.doc-table td{border:1px solid #cbd5e1;padding:8px 9px;text-align:left;vertical-align:top}.doc-table th{background:#eef5ff;color:#0f172a;text-transform:none;letter-spacing:0}.doc-cover{text-align:center;padding:80px 20px}.doc-cover-logo{min-height:80px;margin-bottom:24px}.doc-cover-kicker{font-weight:900;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em}.doc-cover h1{font-size:42px;margin:18px 0}.doc-cover h2{font-size:23px;color:#334155}.doc-logo{max-width:160px;max-height:100px;object-fit:contain}.doc-logo-placeholder{width:140px;height:80px;margin:0 auto;border:1px dashed #94a3b8;border-radius:12px;display:grid;place-items:center;color:#64748b;font-weight:800;background:#f8fafc}.doc-page-break{page-break-after:always}.doc-assinaturas td{height:68px}.doc-footer{border-top:1px solid #e5e7eb;color:#64748b;font-size:12px;margin-top:30px;padding-top:12px;text-align:center}.print-body{background:#f1f5f9!important}.print-actions{position:sticky;top:0;z-index:20;max-width:980px;margin:0 auto;padding:16px;background:#eef5fb;border-bottom:1px solid var(--line)}.doc-placeholder{color:#b45309;font-style:italic;font-weight:700}.doc-nota{background:#eff6ff;border-left:4px solid var(--primary);padding:12px 14px;border-radius:10px;color:#1e3a8a}.doc-campo{background:#f8fafc;border:1px dashed #cbd5e1;padding:10px 12px;border-radius:10px}.doc-matrix th,.doc-matrix td{text-align:center}.doc-risk-table{font-size:12px}.doc-risk-table th,.doc-risk-table td{padding:6px 7px}.doc-identificacao th{width:16%}.doc-identificacao td{width:34%}

@media(max-width:1180px){.dashboard-hero{grid-template-columns:1fr}.dashboard-hero-img{height:300px}.metric-row,.stat-grid,.module-grid,.document-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.login-screen,.sst-login-page{justify-content:center;padding:22px;background-position:center}.login-panel,.sst-login-card{padding:28px}.app-shell{display:block}.sidebar{left:-300px;transition:.2s}.sidebar.open{left:0}.main{margin-left:0;padding:22px}.menu-btn{display:inline-grid;place-items:center}.topbar{align-items:flex-start}.topbar h1{font-size:28px}.user-pill{display:none}.metric-row,.stat-grid,.module-grid,.document-model-grid,.form-grid,.check-grid,.doc-meta-box{grid-template-columns:1fr}.doc-page{padding:24px}.doc-official-header{grid-template-columns:1fr}.document-editor{padding:22px}.dashboard-hero{padding:22px}.dashboard-hero-img{display:none}}
@media print{@page{size:A4;margin:14mm}body{background:#fff!important;color:#000!important}.no-print,.sidebar,.topbar,.footer,.print-actions{display:none!important}.app-shell{display:block!important}.main{display:block!important;margin:0!important;padding:0!important}.doc-page{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:0;color:#000;font-size:11.5pt}.doc-official-header{grid-template-columns:110px 1fr;border-bottom:2px solid #000}.doc-logo-header{max-width:100px;max-height:70px}.doc-official-header h1{font-size:18pt}.doc-meta-box{grid-template-columns:repeat(2,1fr);background:#fff;border:1px solid #999}.doc-table th{background:#f1f5f9!important;color:#000}.doc-table th,.doc-table td{border:1px solid #777;padding:5px 6px;font-size:9.5pt}.doc-cover{padding:90px 10px}.doc-cover h1{font-size:28pt}.doc-footer{position:fixed;bottom:0;left:0;right:0}.doc-page-break{page-break-after:always}.doc-nota,.doc-campo{border-color:#999!important;background:#fff!important;color:#000!important}.doc-placeholder{color:#000!important}}


/* === PGR padrão técnico editável === */
.document-editor .doc-cover,
.print-body .doc-cover{min-height:850px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px 45px;border:1px solid #d8e3ef;background:linear-gradient(180deg,#ffffff,#f8fbff);}
.document-editor .pgr-cover h1,
.print-body .pgr-cover h1{font-size:76px;letter-spacing:.04em;margin:28px 0 8px;color:#0f172a;}
.document-editor .pgr-cover h2,
.print-body .pgr-cover h2{font-size:24px;text-transform:uppercase;max-width:650px;line-height:1.25;color:#0f172a;}
.document-editor .pgr-cover h3,
.print-body .pgr-cover h3{font-size:22px;margin:34px 0 4px;text-transform:uppercase;}
.document-editor .doc-cover-small,
.print-body .doc-cover-small{letter-spacing:.12em;text-transform:uppercase;color:#475569;font-weight:800;}
.document-editor .doc-cover-year,
.print-body .doc-cover-year{font-size:20px;font-weight:800;color:#1d4ed8;}
.document-editor .doc-header-strip,
.print-body .doc-header-strip{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;padding:12px 16px;margin:16px 0 24px;font-size:13px;color:#0f172a;}
.document-editor .doc-edit-box,
.print-body .doc-edit-box{border:1px dashed #93c5fd;background:#eff6ff;padding:16px 18px;border-radius:10px;margin:12px 0 18px;}
.document-editor .doc-sumario li,
.print-body .doc-sumario li{margin:6px 0;}
.document-editor .doc-campo,
.print-body .doc-campo{background:#fff7ed;border-left:4px solid #f59e0b;padding:10px 12px;}
.document-editor h1,
.print-body .document-print h1{font-size:22px;text-transform:uppercase;border-bottom:2px solid #1e293b;padding-bottom:6px;margin-top:28px;}
.document-editor h2,
.print-body .document-print h2{font-size:18px;color:#0f172a;margin-top:22px;}
.document-editor h3,
.print-body .document-print h3{font-size:15px;color:#334155;margin-top:16px;}
.document-editor .doc-table th,
.print-body .doc-table th{background:#eaf2fb;color:#0f172a;font-weight:800;}
.document-editor .doc-placeholder,
.print-body .doc-placeholder{color:#b45309;background:#fffbeb;border-radius:4px;padding:1px 4px;}
@media print{.doc-page-break{page-break-after:always}.document-editor .doc-cover,.print-body .doc-cover{min-height:980px}}


/* PGR_FLEXIVEL_V2_CSS */
/* PGR FLEXÍVEL V2 - campos com orientação sem bloqueio rígido */
.pgr-doc-template { font-size: 13.5px; line-height: 1.58; color: #0f172a; }
.pgr-doc-template h2 { margin-top: 30px; padding-bottom: 8px; border-bottom: 1px solid #dbe5f0; }
.pgr-doc-template h3 { margin-top: 18px; }
.pgr-field-box { border: 1px solid #cfe0f5; border-radius: 14px; padding: 14px; margin: 16px 0 22px; background: #f8fbff; }
.pgr-field-box h3 { margin-top: 0; color: #0f172a; }
.pgr-help { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 10px 12px; color: #334155; margin: 8px 0 12px; font-size: 12.5px; }
.pgr-edit { outline: none; border-radius: 8px; }
.pgr-edit-inline { display: inline-block; min-width: 120px; padding: 3px 6px; background: #eef6ff; border-bottom: 1px dashed #2563eb; color: #0f172a; }
.pgr-edit-block { min-height: 115px; padding: 12px; background: #fff; border: 1px dashed #93c5fd; white-space: pre-wrap; }
.pgr-edit-cell { min-height: 38px; padding: 8px; background: #fff; border: 1px dashed #bfdbfe; }
.pgr-edit:empty:before { content: attr(data-placeholder); color: #64748b; opacity: .78; }
.pgr-counter { margin-top: 8px; font-size: 12px; color: #64748b; }
.pgr-counter.warn { color: #92400e; }
.pgr-section-note { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:10px; padding:10px 12px; margin:10px 0; }
@media print {
  .pgr-help, .pgr-counter, .pgr-section-note, .no-print { display: none !important; }
  .pgr-field-box { border: 0; padding: 0; background: transparent; margin: 10px 0 18px; }
  .pgr-edit { border: 0 !important; background: transparent !important; padding: 0 !important; }
  .pgr-edit:empty:before { content: '' !important; }
}

/* MODELOS_PADRONIZADOS_V3_CSS */

/* MODELOS PADRONIZADOS V3 - SmarteSST Pro */
.doc-edit-section{border:1px solid #dbeafe;background:#fbfdff;border-radius:16px;padding:16px 18px;margin:16px 0;page-break-inside:avoid}
.doc-edit-section h3{margin:0 0 8px;color:#0f172a;font-size:18px}
.doc-guide{background:#eff6ff;border-left:4px solid #2563eb;padding:10px 12px;border-radius:10px;margin:8px 0 12px;color:#334155;font-size:13px;line-height:1.55}
.doc-editable-block{min-height:70px;border:1px dashed #93c5fd;background:#fff;border-radius:12px;padding:12px;line-height:1.65;color:#0f172a}
.doc-editable-block:focus,.doc-editable-cell:focus,.doc-field-inline:focus{outline:3px solid rgba(37,99,235,.14);border-color:#2563eb;background:#ffffff}
.doc-quality-note{color:#64748b;font-size:12px;margin-top:8px}
.doc-field-inline{display:inline-block;min-width:140px;padding:2px 6px;border-bottom:1px dashed #2563eb;background:#eff6ff;border-radius:6px;color:#1e3a8a}
.doc-editable-cell{min-height:34px;border:1px dashed #bfdbfe;border-radius:8px;padding:6px;background:#fff;color:#0f172a}
.doc-summary td,.doc-summary th{font-size:12px}.doc-calendar th,.doc-calendar td,.doc-exams th,.doc-exams td{font-size:11px;padding:7px 8px}.doc-calendar th,.doc-exams th{vertical-align:top}
.document-model-card{min-height:190px}.document-model-card strong{line-height:1.2}.document-model-card span{font-size:13px;line-height:1.55}
.module-hero{background:linear-gradient(135deg,#ffffff,#eff6ff);border:1px solid #dbeafe;border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 16px 44px rgba(15,23,42,.06)}
.module-hero h2{margin:0 0 6px}.module-hero p{margin:0;color:#64748b;line-height:1.55}
@media print{.no-print,.doc-guide,.doc-quality-note{display:none!important}.doc-edit-section{border:0;background:transparent;padding:0;margin:10px 0}.doc-editable-block,.doc-editable-cell,.doc-field-inline{border:0;background:transparent;padding:0;color:#000}.doc-field-inline{display:inline}}


/* SUMARIO_SEM_COLUNA_PAGINA */
.doc-summary th:first-child,
.doc-summary td:first-child {
    width: 90px;
    text-align: center;
}

.doc-summary th:last-child,
.doc-summary td:last-child {
    width: auto;
}


/* FINALIZACAO_DOCS_VISUAL_SST_V1 */
:root{
  --sst-primary:#123b73;
  --sst-primary-2:#2563eb;
  --sst-accent:#0ea5e9;
  --sst-ok:#16a34a;
  --sst-warn:#f59e0b;
  --sst-danger:#dc2626;
  --sst-surface:#ffffff;
  --sst-bg:#eef5fb;
  --sst-line:#d7e4f2;
  --sst-text:#0f172a;
  --sst-muted:#64748b;
  --sst-shadow:0 18px 55px rgba(15,23,42,.08);
}

/* Mantém páginas internas estáveis e com leitura limpa */
.main, .main-content { min-width:0; }
.content-area, .main { overflow-x:hidden; }
.card{border-radius:24px;border:1px solid var(--sst-line);box-shadow:var(--sst-shadow);background:#fff;}
.card-head{border-bottom:1px solid rgba(215,228,242,.75);padding-bottom:16px;}
.card-head h2{letter-spacing:-.03em;color:#0f172a;}
.card-head p{color:#64748b;line-height:1.55;}
.actions{gap:10px;align-items:center;flex-wrap:wrap;}
.btn{border-radius:14px;font-weight:800;box-shadow:none;}
.btn.primary{background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;border:0;}
.btn.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.table-wrap{border:1px solid var(--sst-line);border-radius:18px;overflow:auto;background:#fff;}
table{border-collapse:collapse;width:100%;}
th{background:#f3f8ff;color:#0f172a;font-weight:800;}
th,td{border-bottom:1px solid #e7eef7;padding:13px 14px;vertical-align:top;}
tr:hover td{background:#fbfdff;}
.field input,.field select,.field textarea,input,select,textarea{border:1px solid #d7e4f2;border-radius:14px;padding:12px 14px;background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(37,99,235,.10);}

/* Cards de modelos de documentos */
.document-model-card{display:block;border:1px solid var(--sst-line);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);transition:.18s ease;}
.document-model-card:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 18px 42px rgba(37,99,235,.12);}
.document-model-card strong{display:block;color:#0f172a;font-size:18px;margin-bottom:6px;}
.document-model-card span{display:block;color:#64748b;line-height:1.45;font-size:14px;}

/* Editor documental */
.editor-toolbar{border:1px solid var(--sst-line);border-radius:18px;background:#fff;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.04);margin-bottom:14px;}
.document-editor{max-width:1120px;margin:0 auto;background:#fff;border:1px solid #d7e4f2;border-radius:20px;padding:34px 44px;box-shadow:0 20px 65px rgba(15,23,42,.08);font-family:Arial, Helvetica, sans-serif;color:#111827;line-height:1.62;}
.document-editor:focus{outline:3px solid rgba(37,99,235,.12);}
.document-editor h1,.document-editor h2,.document-editor h3{color:#0f172a;letter-spacing:-.025em;line-height:1.25;}
.document-editor h1{font-size:34px;text-align:center;margin:18px 0;}
.document-editor h2{font-size:23px;border-bottom:1px solid #d7e4f2;padding-bottom:8px;margin-top:30px;}
.document-editor h3{font-size:18px;margin-top:22px;}
.document-editor p{margin:10px 0;}
.document-editor ul{padding-left:24px;}
.document-editor .doc-cover{border:1px solid #d7e4f2;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef6ff);padding:34px;text-align:center;margin-bottom:18px;}
.document-editor .doc-cover-kicker{display:inline-flex;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;margin-bottom:14px;}
.document-editor .doc-logo,.doc-content .doc-logo{max-height:82px;max-width:220px;object-fit:contain;}
.document-editor .doc-logo-placeholder,.doc-content .doc-logo-placeholder{display:inline-grid;place-items:center;width:130px;height:70px;border:2px dashed #cbd5e1;border-radius:14px;color:#64748b;font-weight:800;background:#fff;}
.document-editor .doc-table,.doc-content .doc-table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:13px;}
.document-editor .doc-table th,.document-editor .doc-table td,.doc-content .doc-table th,.doc-content .doc-table td{border:1px solid #cbd8e6;padding:9px 10px;vertical-align:top;}
.document-editor .doc-table th,.doc-content .doc-table th{background:#eaf2fb;color:#0f172a;text-align:left;font-weight:800;}
.doc-summary th:first-child,.doc-summary td:first-child{width:86px;text-align:center;}
.doc-summary th:last-child,.doc-summary td:last-child{width:auto;}
.doc-placeholder{background:#fff7ed;color:#9a3412;border-radius:6px;padding:2px 5px;}
.doc-fill{background:#fff7d6;color:#92400e;border-bottom:1px dashed #d97706;padding:1px 4px;border-radius:4px;}
.doc-editor-hint{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px 14px;margin:12px 0;font-size:13px;line-height:1.45;}
.doc-section-note{background:#f8fafc;border-left:4px solid #38bdf8;color:#475569;padding:10px 12px;border-radius:10px;font-size:13px;}
.doc-nota{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;color:#334155;}
.doc-alerta{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px 14px;color:#92400e;font-weight:700;}
.doc-footer{text-align:center;color:#64748b;font-size:12px;margin-top:22px;border-top:1px solid #e2e8f0;padding-top:12px;}
.doc-page-break{break-after:page;page-break-after:always;}

/* Visual final / impressão */
.doc-print-body{background:#eef5fb;}
.doc-print{max-width:1080px;margin:24px auto;background:#fff;border-radius:16px;padding:36px 48px;box-shadow:0 20px 60px rgba(15,23,42,.10);}
.doc-content{font-family:Arial, Helvetica, sans-serif;color:#111827;line-height:1.62;}
.doc-content h1,.doc-content h2,.doc-content h3{color:#0f172a;}
.doc-content h2{font-size:22px;border-bottom:1px solid #d7e4f2;padding-bottom:8px;margin-top:28px;}

@media print{
  .no-print,.doc-editor-hint,.doc-section-note{display:none!important;}
  body,.doc-print-body{background:#fff!important;}
  .doc-print,.document-editor{box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;max-width:none!important;padding:0!important;}
  .doc-fill{background:transparent!important;color:#111827!important;border:0!important;padding:0!important;}
  .doc-cover{min-height:70vh;display:flex;flex-direction:column;justify-content:center;}
  .doc-page-break{break-after:page;page-break-after:always;}
}

@media(max-width:900px){
  .document-editor{padding:24px 18px;border-radius:16px;}
  .document-editor .doc-table,.doc-content .doc-table{font-size:12px;}
}


/* MONETIZACAO_PLANOS_V1 */
.billing-hero {
    background:
        radial-gradient(circle at top left, rgba(22, 163, 74, .16), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f3f8ff 58%, #ecfdf5 100%);
    border: 1px solid #dbeafe;
    border-radius: 30px;
    padding: 28px;
    box-shadow: 0 18px 55px rgba(15,23,42,.08);
    margin-bottom: 22px;
}

.billing-hero h2 {
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -0.045em;
    margin: 8px 0 12px;
}

.billing-hero p {
    color: #475569;
    max-width: 820px;
    line-height: 1.65;
}

.badge.green { background:#dcfce7; color:#166534; }
.badge.blue { background:#dbeafe; color:#1d4ed8; }
.badge.yellow { background:#fef3c7; color:#92400e; }
.badge.red { background:#fee2e2; color:#991b1b; }

/* LOGIN_MARKETING_PROPAGANDAS_V2 */
.sst-auth-marketing-body{min-height:100vh;margin:0;background:linear-gradient(90deg,rgba(8,15,32,.88) 0%,rgba(8,15,32,.68) 52%,rgba(8,15,32,.36) 100%),url("../img/hero-home.jpg") center center/cover no-repeat,linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;overflow-x:hidden}.sst-auth-marketing{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;padding:34px}.sst-auth-showcase{min-height:calc(100vh - 68px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:10px 0}.sst-auth-brand{display:flex;align-items:center;gap:14px}.sst-auth-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#06b6d4);font-size:30px;font-weight:900;box-shadow:0 18px 45px rgba(37,99,235,.38)}.sst-auth-brand strong{display:block;font-size:28px;letter-spacing:-.04em}.sst-auth-brand span{color:#bfdbfe;font-weight:800}.sst-auth-copy{max-width:850px}.sst-auth-kicker{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#dbeafe;font-size:13px;font-weight:900;margin-bottom:18px;backdrop-filter:blur(8px)}.sst-auth-copy h1{margin:0 0 18px;font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.07em;color:#fff;max-width:950px}.sst-auth-copy p{margin:0;max-width:790px;color:#dbeafe;font-size:19px;line-height:1.65}.sst-auth-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.sst-auth-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:15px;font-weight:900;text-decoration:none}.sst-auth-cta.primary{background:#fff;color:#0f172a;box-shadow:0 18px 42px rgba(15,23,42,.22)}.sst-auth-cta.ghost{color:#fff;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}.sst-auth-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.sst-auth-trust span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#eff6ff;font-size:12px;font-weight:900;backdrop-filter:blur(8px)}.sst-auth-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sst-auth-feature-grid article,.sst-auth-plan-strip>div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:18px;backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.16)}.sst-auth-feature-grid strong,.sst-auth-plan-strip strong{display:block;color:#fff;font-size:16px;margin-bottom:7px}.sst-auth-feature-grid span,.sst-auth-plan-strip span{display:block;color:#dbeafe;font-size:13px;line-height:1.5}.sst-auth-plan-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sst-auth-plan-strip small{display:block;color:#93c5fd;font-weight:900;margin-bottom:6px}.sst-auth-login-panel{display:flex;flex-direction:column;justify-content:center;gap:18px}.sst-auth-login-card{width:100%;background:rgba(255,255,255,.94);color:#0f172a;border:1px solid rgba(255,255,255,.55);border-radius:26px;padding:24px;box-shadow:0 28px 80px rgba(0,0,0,.26);backdrop-filter:blur(18px)}.sst-auth-login-mini-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sst-auth-mini-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);font-weight:900;font-size:23px}.sst-auth-login-mini-brand strong{display:block;font-size:18px;letter-spacing:-.03em}.sst-auth-login-mini-brand span{display:block;color:#64748b;font-size:13px;font-weight:800}.sst-auth-form{display:grid;gap:14px}.sst-auth-form label{display:grid;gap:8px;color:#334155;font-weight:900;font-size:13px}.sst-auth-form input{width:100%;border:1px solid #d9e5f2;border-radius:16px;padding:14px 15px;font-size:15px;outline:none;background:#fff}.sst-auth-form input:focus{border-color:#93c5fd;box-shadow:0 0 0 5px rgba(37,99,235,.10)}.sst-auth-form button{border:0;border-radius:16px;padding:14px 18px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 18px 35px rgba(37,99,235,.25)}.sst-auth-login-note{margin-top:16px;padding:14px;border-radius:18px;background:#eff6ff;border:1px solid #dbeafe}.sst-auth-login-note strong{display:block;color:#1d4ed8;font-size:13px;margin-bottom:5px}.sst-auth-login-note span{color:#64748b;font-size:12px;line-height:1.45}.sst-auth-login-footer{color:#dbeafe;font-size:12px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.35)}.sst-auth-login-footer strong,.sst-auth-login-footer span{display:block}.sst-auth-marketing-body .alert{border-radius:15px;padding:12px 14px;margin-bottom:14px;font-weight:800}.sst-auth-marketing-body .alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.sst-auth-marketing-body .alert.success{background:#ecfdf5;color:#166534;border:1px solid #86efac}@media(max-width:1180px){.sst-auth-marketing{grid-template-columns:1fr}.sst-auth-login-panel{max-width:430px;width:100%}.sst-auth-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sst-auth-marketing{padding:20px}.sst-auth-copy h1{font-size:42px}.sst-auth-copy p{font-size:16px}.sst-auth-feature-grid,.sst-auth-plan-strip{grid-template-columns:1fr}.sst-auth-login-panel{max-width:none}.sst-auth-login-card{padding:20px}}

/* HOME_CLARA_MENU_LOGIN_MODAL_V3 */
/* HOME CLARA + MENU SUPERIOR + LOGIN MODAL V3 */
.sst-home-v3-body {
    margin: 0;
    min-height: 100vh;
    color: #0f172a;
    background:
        linear-gradient(90deg, rgba(248,251,255,.96) 0%, rgba(248,251,255,.92) 48%, rgba(239,246,255,.78) 100%),
        url("../img/hero-home.jpg") center center / cover no-repeat,
        #f8fbff;
}

.sst-home-v3-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    height: 78px;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 0 clamp(18px, 4vw, 58px);
    background: rgba(255,255,255,.82);
    border-bottom: 1px solid rgba(203,213,225,.72);
    backdrop-filter: blur(18px);
}

.sst-home-v3-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #0f172a;
    min-width: 210px;
}

.sst-home-v3-logo-mark {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg,#2563eb,#06b6d4);
    color: #fff;
    font-weight: 900;
    font-size: 25px;
    box-shadow: 0 12px 30px rgba(37,99,235,.24);
}

.sst-home-v3-logo strong {
    display: block;
    font-size: 24px;
    letter-spacing: -.04em;
}

.sst-home-v3-logo small {
    display: block;
    color: #2563eb;
    font-weight: 900;
    margin-top: -2px;
}

.sst-home-v3-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    justify-content: center;
}

.sst-home-v3-nav a {
    padding: 10px 12px;
    border-radius: 999px;
    color: #334155;
    text-decoration: none;
    font-weight: 850;
    font-size: 14px;
}

.sst-home-v3-nav a:hover {
    color: #1d4ed8;
    background: #eff6ff;
}

.sst-home-v3-login-btn {
    border: 0;
    border-radius: 999px;
    padding: 12px 20px;
    background: linear-gradient(135deg,#2563eb,#3b82f6);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(37,99,235,.24);
}

.sst-home-v3-page {
    padding: clamp(26px, 4vw, 58px);
}

.sst-home-v3-hero {
    min-height: calc(100vh - 156px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
    align-items: center;
    gap: clamp(24px, 4vw, 58px);
}

.sst-home-v3-hero-copy {
    max-width: 850px;
}

.sst-home-v3-kicker,
.sst-home-v3-section-head span,
.sst-home-v3-band span {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 14px;
}

.sst-home-v3-hero h1 {
    margin: 0 0 16px;
    color: #0f172a;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.02;
    letter-spacing: -.065em;
    max-width: 850px;
}

.sst-home-v3-hero p {
    max-width: 760px;
    margin: 0;
    color: #475569;
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.65;
}

.sst-home-v3-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.sst-home-v3-cta {
    min-height: 46px;
    padding: 13px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 900;
}

.sst-home-v3-cta.primary {
    background: linear-gradient(135deg,#2563eb,#3b82f6);
    color: #fff;
    box-shadow: 0 16px 34px rgba(37,99,235,.24);
}

.sst-home-v3-cta.secondary {
    color: #0f172a;
    background: #fff;
    border: 1px solid #d9e5f2;
}

.sst-home-v3-trust {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.sst-home-v3-trust span {
    background: rgba(255,255,255,.78);
    border: 1px solid #dbe7f4;
    border-radius: 999px;
    padding: 9px 12px;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
}

.sst-home-v3-hero-card {
    min-height: 420px;
    display: grid;
    place-items: center;
}

.sst-home-v3-screen {
    width: min(500px, 100%);
    border-radius: 30px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(203,213,225,.72);
    box-shadow: 0 30px 90px rgba(15,23,42,.16);
    padding: 22px;
    backdrop-filter: blur(16px);
}

.sst-home-v3-screen-top {
    display: flex;
    gap: 7px;
    margin-bottom: 18px;
}

.sst-home-v3-screen-top span {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #bfdbfe;
}

.sst-home-v3-screen-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}

.sst-home-v3-screen-grid div {
    border: 1px solid #dbe7f4;
    background: #f8fbff;
    border-radius: 18px;
    padding: 16px;
}

.sst-home-v3-screen-grid strong,
.sst-home-v3-screen-grid small {
    display: block;
}

.sst-home-v3-screen-grid strong {
    color: #1d4ed8;
    font-size: 18px;
}

.sst-home-v3-screen-grid small {
    color: #64748b;
    margin-top: 5px;
    font-weight: 800;
}

.sst-home-v3-chart {
    height: 160px;
    display: flex;
    align-items: end;
    gap: 12px;
    margin-top: 18px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg,#eff6ff,#fff);
    border: 1px solid #dbeafe;
}

.sst-home-v3-chart i {
    flex: 1;
    border-radius: 999px 999px 8px 8px;
    background: linear-gradient(180deg,#2563eb,#06b6d4);
    display: block;
}

.sst-home-v3-section,
.sst-home-v3-band,
.sst-home-v3-plans {
    scroll-margin-top: 100px;
    margin-top: 34px;
    background: rgba(255,255,255,.86);
    border: 1px solid #d9e5f2;
    border-radius: 30px;
    padding: clamp(22px, 3vw, 34px);
    box-shadow: 0 20px 60px rgba(15,23,42,.07);
    backdrop-filter: blur(14px);
}

.sst-home-v3-section.compact {
    min-height: auto;
}

.sst-home-v3-section-head {
    max-width: 780px;
    margin-bottom: 22px;
}

.sst-home-v3-section-head h2,
.sst-home-v3-band h2,
.sst-home-v3-plans h2 {
    margin: 0 0 10px;
    font-size: clamp(28px, 3vw, 42px);
    letter-spacing: -.045em;
    color: #0f172a;
}

.sst-home-v3-section-head p,
.sst-home-v3-band p {
    margin: 0;
    color: #475569;
    line-height: 1.65;
    font-size: 16px;
}

.sst-home-v3-feature-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}

.sst-home-v3-feature-grid article {
    border-radius: 24px;
    padding: 20px;
    background: #fff;
    border: 1px solid #dbe7f4;
    box-shadow: 0 14px 36px rgba(15,23,42,.05);
}

.sst-home-v3-feature-grid b {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    background: #eff6ff;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
}

.sst-home-v3-feature-grid strong {
    display: block;
    font-size: 17px;
    color: #0f172a;
    margin-bottom: 8px;
}

.sst-home-v3-feature-grid p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
    font-size: 14px;
}

.sst-home-v3-band {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    gap: 24px;
    align-items: start;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 34%),
        rgba(255,255,255,.90);
}

.sst-home-v3-band ul {
    margin: 0;
    padding: 18px 18px 18px 34px;
    border-radius: 22px;
    background: #f8fbff;
    border: 1px solid #dbe7f4;
    color: #334155;
    line-height: 1.9;
    font-weight: 800;
}

.sst-home-v3-plan-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

.sst-home-v3-plan-grid article {
    background: #fff;
    border: 1px solid #dbe7f4;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(15,23,42,.05);
}

.sst-home-v3-plan-grid article.featured {
    border-color: #93c5fd;
    box-shadow: 0 18px 48px rgba(37,99,235,.12);
}

.sst-home-v3-plan-grid small {
    display: block;
    color: #2563eb;
    font-weight: 900;
    margin-bottom: 8px;
}

.sst-home-v3-plan-grid strong {
    display: block;
    font-size: 24px;
    color: #0f172a;
    margin-bottom: 8px;
}

.sst-home-v3-plan-grid p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

/* Modal de login */
.sst-login-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
}

.sst-login-open .sst-login-modal {
    display: block;
}

.sst-login-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,.45);
    backdrop-filter: blur(8px);
}

.sst-login-modal-card {
    position: absolute;
    top: 50%;
    right: clamp(18px, 5vw, 70px);
    transform: translateY(-50%);
    width: min(390px, calc(100vw - 36px));
    background: #fff;
    color: #0f172a;
    border-radius: 28px;
    padding: 24px;
    box-shadow: 0 34px 110px rgba(15,23,42,.30);
    border: 1px solid rgba(255,255,255,.74);
}

.sst-login-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.sst-login-modal-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.sst-login-modal-brand span {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg,#2563eb,#06b6d4);
    color: #fff;
    font-weight: 900;
    font-size: 23px;
}

.sst-login-modal-brand strong,
.sst-login-modal-brand small {
    display: block;
}

.sst-login-modal-brand strong {
    font-size: 18px;
    letter-spacing: -.03em;
}

.sst-login-modal-brand small {
    color: #64748b;
    font-weight: 850;
}

.sst-login-modal-form {
    display: grid;
    gap: 14px;
}

.sst-login-modal-form label {
    display: grid;
    gap: 8px;
    color: #334155;
    font-weight: 900;
    font-size: 13px;
}

.sst-login-modal-form input {
    width: 100%;
    border: 1px solid #d9e5f2;
    border-radius: 16px;
    padding: 14px 15px;
    font-size: 15px;
    outline: none;
}

.sst-login-modal-form input:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 5px rgba(37,99,235,.10);
}

.sst-login-modal-form button {
    border: 0;
    border-radius: 16px;
    padding: 14px 18px;
    background: linear-gradient(135deg,#2563eb,#3b82f6);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 18px 35px rgba(37,99,235,.25);
}

.sst-login-modal-note {
    margin: 16px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    padding: 12px;
}

.sst-home-v3-body .alert {
    border-radius: 15px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-weight: 800;
}

.sst-home-v3-body .alert.error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.sst-home-v3-body .alert.success {
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #86efac;
}

@media (max-width: 1120px) {
    .sst-home-v3-hero {
        grid-template-columns: 1fr;
    }

    .sst-home-v3-hero-card {
        min-height: auto;
    }

    .sst-home-v3-feature-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 820px) {
    .sst-home-v3-topbar {
        height: auto;
        padding: 14px 18px;
        flex-wrap: wrap;
    }

    .sst-home-v3-logo {
        min-width: auto;
        flex: 1;
    }

    .sst-home-v3-nav {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .sst-home-v3-page {
        padding: 22px;
    }

    .sst-home-v3-hero {
        min-height: auto;
        padding-top: 20px;
    }

    .sst-home-v3-hero h1 {
        font-size: 38px;
    }

    .sst-home-v3-feature-grid,
    .sst-home-v3-band,
    .sst-home-v3-plan-grid {
        grid-template-columns: 1fr;
    }

    .sst-login-modal-card {
        left: 18px;
        right: 18px;
        width: auto;
    }
}

/* HOME_GLASS_REFINAMENTO_V4 */
/* Refinamento visual V4 — mantém o layout V3 e ajusta transparência/contraste */
.sst-home-v3-body {
    background:
        linear-gradient(90deg, rgba(230, 239, 250, .88) 0%, rgba(235, 244, 255, .76) 46%, rgba(221, 235, 250, .66) 100%),
        url("../img/hero-home.jpg") center center / cover no-repeat,
        #eaf3fb !important;
}

/* Topo menos branco e mais integrado ao fundo */
.sst-home-v3-topbar {
    background: rgba(248, 251, 255, .72) !important;
    border-bottom: 1px solid rgba(148, 163, 184, .38) !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, .05);
}

/* Seções principais em vidro, não em branco sólido */
.sst-home-v3-section,
.sst-home-v3-band,
.sst-home-v3-plans {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(203, 213, 225, .58) !important;
    box-shadow: 0 24px 72px rgba(15, 23, 42, .09) !important;
    backdrop-filter: blur(22px) saturate(1.18);
    -webkit-backdrop-filter: blur(22px) saturate(1.18);
}

/* Cards internos com transparência */
.sst-home-v3-feature-grid article,
.sst-home-v3-plan-grid article,
.sst-home-v3-screen,
.sst-home-v3-screen-grid div,
.sst-home-v3-band ul {
    background: rgba(255, 255, 255, .48) !important;
    border: 1px solid rgba(203, 213, 225, .58) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .07) !important;
    backdrop-filter: blur(18px) saturate(1.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

/* Hero card com profundidade, sem ficar sólido demais */
.sst-home-v3-hero-card {
    filter: none;
}

.sst-home-v3-screen {
    background:
        linear-gradient(180deg, rgba(255,255,255,.58), rgba(239,246,255,.42)) !important;
}

/* Chips e botões secundários com glass */
.sst-home-v3-trust span,
.sst-home-v3-cta.secondary,
.sst-home-v3-nav a:hover {
    background: rgba(255,255,255,.52) !important;
    border: 1px solid rgba(203,213,225,.62) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Kicker menos chapado */
.sst-home-v3-kicker,
.sst-home-v3-section-head span,
.sst-home-v3-band span {
    background: rgba(219, 234, 254, .72) !important;
    border: 1px solid rgba(147, 197, 253, .40);
    box-shadow: 0 10px 26px rgba(37,99,235,.08);
}

/* Melhor contraste dos textos em fundo translúcido */
.sst-home-v3-hero h1,
.sst-home-v3-section-head h2,
.sst-home-v3-band h2,
.sst-home-v3-plans h2,
.sst-home-v3-feature-grid strong,
.sst-home-v3-plan-grid strong {
    color: #0b1327 !important;
}

.sst-home-v3-hero p,
.sst-home-v3-section-head p,
.sst-home-v3-band p,
.sst-home-v3-feature-grid p,
.sst-home-v3-plan-grid p,
.sst-home-v3-band ul,
.sst-home-v3-screen-grid small {
    color: #41516a !important;
}

/* Modal de login com glass controlado */
.sst-login-modal-card {
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(255,255,255,.68) !important;
    backdrop-filter: blur(26px) saturate(1.20);
    -webkit-backdrop-filter: blur(26px) saturate(1.20);
}

/* Campos de login mais translúcidos, porém legíveis */
.sst-login-modal-form input {
    background: rgba(255,255,255,.66) !important;
    border: 1px solid rgba(148,163,184,.48) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.sst-login-modal-note {
    background: rgba(239,246,255,.60) !important;
    border: 1px solid rgba(147,197,253,.42) !important;
}

/* Backdrop do modal menos pesado */
.sst-login-backdrop {
    background: rgba(15,23,42,.34) !important;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

/* Cartão destacado do plano continua sutil */
.sst-home-v3-plan-grid article.featured {
    background: rgba(239, 246, 255, .64) !important;
    border-color: rgba(59, 130, 246, .40) !important;
    box-shadow: 0 22px 58px rgba(37,99,235,.12) !important;
}

/* Gráfico com fundo mais transparente */
.sst-home-v3-chart {
    background: rgba(239, 246, 255, .48) !important;
    border: 1px solid rgba(147,197,253,.35) !important;
}

/* Em telas pequenas, aumenta um pouco a opacidade para leitura */
@media (max-width: 820px) {
    .sst-home-v3-section,
    .sst-home-v3-band,
    .sst-home-v3-plans,
    .sst-home-v3-feature-grid article,
    .sst-home-v3-plan-grid article,
    .sst-login-modal-card {
        background: rgba(255,255,255,.78) !important;
    }
}

/* HOME_GLASS_REFINAMENTO_V5 */
/* HOME GLASS V5 — painéis mais translúcidos e fundo um pouco mais escuro */
.sst-home-v3-body {
    background:
        linear-gradient(90deg, rgba(209, 223, 240, .74) 0%, rgba(217, 230, 245, .62) 44%, rgba(196, 214, 232, .58) 100%),
        url("../img/hero-home.jpg") center center / cover no-repeat,
        #dce8f4 !important;
}

.sst-home-v3-topbar {
    background: rgba(243, 247, 252, .70) !important;
    border-bottom: 1px solid rgba(120, 142, 168, .34) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
}

/* grandes blocos do conteúdo: mais translúcidos, deixando o fundo aparecer */
.sst-home-v3-section,
.sst-home-v3-band,
.sst-home-v3-plans {
    background: rgba(247, 250, 254, .32) !important;
    border: 1px solid rgba(190, 204, 222, .46) !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08) !important;
    backdrop-filter: blur(16px) saturate(1.10) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.10) !important;
}

/* cards internos: levemente mais definidos que os painéis, mas ainda transparentes */
.sst-home-v3-feature-grid article,
.sst-home-v3-plan-grid article,
.sst-home-v3-screen,
.sst-home-v3-screen-grid div,
.sst-home-v3-band ul {
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(194, 208, 226, .56) !important;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .06) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
}

/* herocard preservado porém menos "branco chapado" */
.sst-home-v3-screen {
    background:
        linear-gradient(180deg, rgba(255,255,255,.42), rgba(234,242,251,.28)) !important;
}

.sst-home-v3-chart {
    background: rgba(233, 242, 252, .34) !important;
    border: 1px solid rgba(147, 197, 253, .28) !important;
}

.sst-home-v3-kicker,
.sst-home-v3-section-head span,
.sst-home-v3-band span {
    background: rgba(219, 234, 254, .54) !important;
    border: 1px solid rgba(147, 197, 253, .30) !important;
}

.sst-home-v3-trust span,
.sst-home-v3-cta.secondary {
    background: rgba(255,255,255,.36) !important;
    border: 1px solid rgba(194,208,226,.50) !important;
}

.sst-home-v3-nav a:hover {
    background: rgba(239,246,255,.44) !important;
    border: 1px solid rgba(194,208,226,.40) !important;
}

/* modal de login: um pouco mais presente, ainda sofisticado */
.sst-login-modal-card {
    background: rgba(252, 253, 255, .76) !important;
    border: 1px solid rgba(255,255,255,.70) !important;
    backdrop-filter: blur(24px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.15) !important;
}

.sst-login-modal-form input {
    background: rgba(255,255,255,.60) !important;
    border: 1px solid rgba(148,163,184,.42) !important;
}

.sst-login-modal-note {
    background: rgba(239,246,255,.46) !important;
    border: 1px solid rgba(147,197,253,.34) !important;
}

.sst-login-backdrop {
    background: rgba(15,23,42,.38) !important;
}

/* plano destaque */
.sst-home-v3-plan-grid article.featured {
    background: rgba(239, 246, 255, .48) !important;
    border-color: rgba(59, 130, 246, .34) !important;
    box-shadow: 0 18px 46px rgba(37,99,235,.11) !important;
}

/* contraste */
.sst-home-v3-hero h1,
.sst-home-v3-section-head h2,
.sst-home-v3-band h2,
.sst-home-v3-plans h2,
.sst-home-v3-feature-grid strong,
.sst-home-v3-plan-grid strong {
    color: #0a1328 !important;
}

.sst-home-v3-hero p,
.sst-home-v3-section-head p,
.sst-home-v3-band p,
.sst-home-v3-feature-grid p,
.sst-home-v3-plan-grid p,
.sst-home-v3-band ul,
.sst-home-v3-screen-grid small {
    color: #3d4f69 !important;
}

@media (max-width: 820px) {
    .sst-home-v3-section,
    .sst-home-v3-band,
    .sst-home-v3-plans {
        background: rgba(247,250,254,.54) !important;
    }

    .sst-home-v3-feature-grid article,
    .sst-home-v3-plan-grid article,
    .sst-login-modal-card {
        background: rgba(255,255,255,.70) !important;
    }
}

/* HOME_BG_DARK_REFINAMENTO_V6 */
/* HOME V6 — fundo mais escuro mantendo layout e transparências */
.sst-home-v3-body {
    background:
        linear-gradient(
            90deg,
            rgba(153, 171, 194, .82) 0%,
            rgba(174, 193, 214, .70) 42%,
            rgba(126, 148, 173, .66) 100%
        ),
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .20) 0%,
            rgba(15, 23, 42, .12) 48%,
            rgba(15, 23, 42, .20) 100%
        ),
        url("../img/hero-home.jpg") center center / cover no-repeat,
        #c6d4e3 !important;
}

/* reforço sutil para os blocos continuarem legíveis sobre o fundo mais escuro */
.sst-home-v3-section,
.sst-home-v3-band,
.sst-home-v3-plans {
    background: rgba(245, 249, 254, .36) !important;
    border-color: rgba(218, 228, 242, .54) !important;
}

/* cards com leve presença para não perder leitura */
.sst-home-v3-feature-grid article,
.sst-home-v3-plan-grid article,
.sst-home-v3-screen,
.sst-home-v3-screen-grid div,
.sst-home-v3-band ul {
    background: rgba(255, 255, 255, .46) !important;
}

/* topo um pouco menos branco */
.sst-home-v3-topbar {
    background: rgba(238, 244, 251, .74) !important;
}

/* contraste dos textos principais */
.sst-home-v3-hero h1,
.sst-home-v3-section-head h2,
.sst-home-v3-band h2,
.sst-home-v3-plans h2 {
    color: #071226 !important;
}

.sst-home-v3-hero p,
.sst-home-v3-section-head p,
.sst-home-v3-band p {
    color: #31435b !important;
}

/* HOME_GLASS_SST_GREEN_V7 */
/* HOME V7 — fundos mais translúcidos + identidade verde para SST */

/* Fundo levemente mais escuro e frio, preservando legibilidade */
.sst-home-v3-body {
    background:
        linear-gradient(90deg, rgba(140,160,184,.76) 0%, rgba(167,186,207,.64) 42%, rgba(122,145,171,.62) 100%),
        linear-gradient(180deg, rgba(15,23,42,.22) 0%, rgba(15,23,42,.12) 52%, rgba(15,23,42,.20) 100%),
        url("../img/hero-home.jpg") center center / cover no-repeat,
        #c7d5e4 !important;
}

/* PAINÉIS GRANDES: mais translúcidos para enxergar o fundo */
.sst-home-v3-section,
.sst-home-v3-band,
.sst-home-v3-plans {
    background: rgba(245, 250, 252, .20) !important;
    border: 1px solid rgba(205, 220, 232, .42) !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.06) !important;
    backdrop-filter: blur(12px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.06) !important;
}

/* CARDS INTERNOS: ainda legíveis, mas menos sólidos */
.sst-home-v3-feature-grid article,
.sst-home-v3-plan-grid article,
.sst-home-v3-screen,
.sst-home-v3-screen-grid div,
.sst-home-v3-band ul {
    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(206, 220, 233, .48) !important;
    box-shadow: 0 14px 32px rgba(15,23,42,.05) !important;
    backdrop-filter: blur(11px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(11px) saturate(1.05) !important;
}

/* BLOCO COM TÓPICOS À DIREITA/CAIXAS INFORMATIVAS: também translúcido */
.sst-home-v3-band ul,
.sst-home-v3-screen-grid div {
    background: rgba(248,252,252,.24) !important;
}

/* Topbar elegante */
.sst-home-v3-topbar {
    background: rgba(239,245,249,.72) !important;
    border-bottom: 1px solid rgba(180,198,211,.34) !important;
}

/* Identidade visual mais verde nas áreas de SST */
.sst-home-v3-kicker,
.sst-home-v3-section-head span,
.sst-home-v3-band span {
    background: rgba(220, 252, 231, .58) !important;
    color: #0f766e !important;
    border: 1px solid rgba(74, 222, 128, .30) !important;
    box-shadow: 0 10px 26px rgba(16,185,129,.08) !important;
}

.sst-home-v3-trust span,
.sst-home-v3-cta.secondary {
    background: rgba(236,253,245,.24) !important;
    border: 1px solid rgba(110,231,183,.26) !important;
}

/* Botões principais em azul-esverdeado coerente com SST */
.sst-home-v3-cta.primary,
.sst-home-v3-topbar .btn-login,
.sst-login-modal-form button,
.sst-home-v3-plan-grid article.featured .cta,
.sst-home-v3-plan-grid .featured a,
.sst-home-v3-topbar .sst-home-v3-login-btn,
.sst-home-v3-topbar button {
    background: linear-gradient(135deg, #059669, #2563eb) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(5,150,105,.18) !important;
}

/* Destaques de títulos/categorias dos cards */
.sst-home-v3-feature-grid strong,
.sst-home-v3-plan-grid strong,
.sst-home-v3-screen-grid strong,
.sst-home-v3-band ul strong {
    color: #0f172a !important;
}

/* Títulos menores dentro dos mockups/painéis */
.sst-home-v3-screen-grid .pgr,
.sst-home-v3-screen-grid .pcmso,
.sst-home-v3-screen-grid .ltcat,
.sst-home-v3-screen-grid .esocial,
.sst-home-v3-screen-grid h4,
.sst-home-v3-screen-grid b {
    color: #0f766e !important;
}

/* pequeno toque verde em ícones/selos quando forem círculos */
.sst-home-v3-feature-grid article > div:first-child,
.sst-home-v3-plan-grid article > div:first-child,
.sst-home-v3-screen-grid div > div:first-child {
    background: rgba(220,252,231,.34) !important;
}

/* gráfico hero com tom verde/azulado */
.sst-home-v3-chart {
    background: rgba(236,253,245,.18) !important;
    border: 1px solid rgba(110,231,183,.20) !important;
}

/* login modal preservado */
.sst-login-modal-card {
    background: rgba(250,253,253,.78) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    backdrop-filter: blur(22px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.14) !important;
}

.sst-login-modal-note {
    background: rgba(236,253,245,.34) !important;
    border: 1px solid rgba(110,231,183,.24) !important;
}

.sst-login-backdrop {
    background: rgba(15,23,42,.40) !important;
}

/* mobile */
@media (max-width: 820px) {
    .sst-home-v3-section,
    .sst-home-v3-band,
    .sst-home-v3-plans {
        background: rgba(245,250,252,.34) !important;
    }

    .sst-home-v3-feature-grid article,
    .sst-home-v3-plan-grid article,
    .sst-login-modal-card {
        background: rgba(255,255,255,.58) !important;
    }
}

/* VISUAL_INTERNO_SST_V1 */
/* VISUAL INTERNO SST V1 — ambiente técnico, amistoso e profissional */
:root {
    --sst-internal-bg: #e8f1f8;
    --sst-internal-bg2: #f7fbff;
    --sst-slate: #0f172a;
    --sst-muted: #52647c;
    --sst-green: #059669;
    --sst-blue: #2563eb;
    --sst-border: rgba(180, 198, 216, .58);
    --sst-card: rgba(255,255,255,.68);
    --sst-shadow: 0 18px 55px rgba(15,23,42,.08);
}

/* Fundo geral das telas internas */
.app-shell {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.12), transparent 28%),
        radial-gradient(circle at 92% 10%, rgba(37,99,235,.10), transparent 32%),
        linear-gradient(135deg, var(--sst-internal-bg) 0%, var(--sst-internal-bg2) 62%, #dcebf6 100%) !important;
    color: var(--sst-slate);
}

/* Sidebar técnica */
.sidebar {
    background:
        linear-gradient(180deg, rgba(8,18,34,.98) 0%, rgba(12,36,54,.96) 58%, rgba(6,45,40,.98) 100%) !important;
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 18px 0 60px rgba(15,23,42,.18) !important;
}

.brand,
.sidebar .brand {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    margin-bottom: 14px;
}

.brand-mark,
.brand-logo,
.logo-mark {
    background: linear-gradient(135deg, var(--sst-green), var(--sst-blue)) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(5,150,105,.25);
}

.nav-item,
.menu-link {
    border: 1px solid transparent;
    color: rgba(226,232,240,.94) !important;
}

.nav-item:hover,
.menu-link:hover,
.nav-item.active,
.menu-link.active {
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(110,231,183,.18);
    color: #fff !important;
}

.nav-item.active,
.menu-link.active {
    box-shadow: inset 4px 0 0 var(--sst-green);
}

/* Cabeçalho das páginas */
.topbar {
    background: transparent !important;
}

.topbar h1,
.page-title {
    color: #071226 !important;
    letter-spacing: -.055em !important;
}

.topbar p,
.page-subtitle {
    color: var(--sst-muted) !important;
}

.user-pill,
.topbar-chip {
    background: rgba(255,255,255,.70) !important;
    border: 1px solid var(--sst-border) !important;
    box-shadow: 0 12px 34px rgba(15,23,42,.06) !important;
    backdrop-filter: blur(16px);
}

/* Cards principais */
.card,
.module-hero,
.pro-hero,
.panel,
.box-panel {
    background: var(--sst-card) !important;
    border: 1px solid var(--sst-border) !important;
    box-shadow: var(--sst-shadow) !important;
    backdrop-filter: blur(18px) saturate(1.10);
    -webkit-backdrop-filter: blur(18px) saturate(1.10);
}

.card {
    border-radius: 28px !important;
}

.card-head {
    border-bottom: 1px solid rgba(180,198,216,.34);
    padding-bottom: 18px !important;
}

.card-head h2,
.card h2,
.module-hero h2,
.pro-hero h2 {
    color: #0b1327 !important;
    letter-spacing: -.04em;
}

.card-head p,
.card p,
.module-hero p,
.pro-hero p {
    color: var(--sst-muted) !important;
}

/* Hero dos módulos internos */
.module-hero,
.pro-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.14), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.74), rgba(236,253,245,.42)) !important;
}

.module-kicker,
.pro-kicker,
.kicker,
.badge-soft {
    background: rgba(220,252,231,.70) !important;
    color: #0f766e !important;
    border: 1px solid rgba(74,222,128,.28);
}

/* Cards de módulos e indicadores */
.module-card,
.info-box,
.pro-info {
    background: rgba(255,255,255,.62) !important;
    border: 1px solid rgba(180,198,216,.52) !important;
    box-shadow: 0 14px 38px rgba(15,23,42,.055) !important;
    backdrop-filter: blur(12px);
    border-radius: 24px !important;
}

.module-card:hover,
.info-box:hover,
.pro-info:hover {
    border-color: rgba(5,150,105,.30) !important;
    box-shadow: 0 20px 48px rgba(5,150,105,.10) !important;
}

.module-icon,
.icon-box {
    background: linear-gradient(135deg, var(--sst-green), var(--sst-blue)) !important;
    color: #fff !important;
}

/* Indicadores */
.stat-card {
    background:
        linear-gradient(135deg, rgba(7,18,38,.96), rgba(8,68,64,.94)) !important;
    border: 1px solid rgba(110,231,183,.18);
    box-shadow: 0 20px 50px rgba(15,23,42,.18) !important;
    border-radius: 24px !important;
}

.stat-card span {
    color: rgba(209,250,229,.78) !important;
}

/* Tabelas */
.table-wrap,
.table-container {
    background: rgba(255,255,255,.58) !important;
    border: 1px solid var(--sst-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15,23,42,.05);
    backdrop-filter: blur(12px);
}

table,
.table {
    background: transparent !important;
}

th {
    background: rgba(236,253,245,.58) !important;
    color: #0f3f3a !important;
    font-size: 13px !important;
}

td {
    background: rgba(255,255,255,.28);
    color: #132238 !important;
}

tr:hover td {
    background: rgba(236,253,245,.28) !important;
}

/* Formulários */
input,
select,
textarea,
.field input,
.field select,
.field textarea {
    background: rgba(255,255,255,.70) !important;
    border: 1px solid rgba(148,163,184,.42) !important;
    border-radius: 16px !important;
    color: #0f172a !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32);
}

input:focus,
select:focus,
textarea:focus {
    border-color: rgba(5,150,105,.55) !important;
    box-shadow: 0 0 0 5px rgba(5,150,105,.11) !important;
}

.field label,
label,
.form-label {
    color: #22314a !important;
    font-weight: 850;
}

/* Botões */
.btn.primary,
button.primary,
.actions .primary,
button[type="submit"],
input[type="submit"] {
    background: linear-gradient(135deg, var(--sst-green), var(--sst-blue)) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(5,150,105,.16) !important;
}

.btn:not(.primary),
.actions .btn:not(.primary) {
    background: rgba(255,255,255,.62) !important;
    border: 1px solid rgba(180,198,216,.55) !important;
    color: #132238 !important;
}

/* Badges */
.badge,
.status,
.tag {
    border-radius: 999px !important;
    font-weight: 900 !important;
}

.badge.green,
.badge.ativo,
.status.ativo {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.badge.yellow,
.badge.rascunho,
.status.rascunho {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.badge.red,
.badge.inativo,
.status.inativo {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

/* Editor e visualização de documentos */
.doc-editor,
.document-editor,
.document-preview,
.doc-preview,
.sst-document,
.documento-preview {
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(180,198,216,.55) !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 55px rgba(15,23,42,.07) !important;
}

.doc-toolbar,
.editor-toolbar {
    background: rgba(236,253,245,.42) !important;
    border-bottom: 1px solid rgba(180,198,216,.42) !important;
}

.doc-hint,
.editor-hint,
.orientacao,
.instrucao-editor {
    background: rgba(220,252,231,.46) !important;
    border: 1px dashed rgba(5,150,105,.35) !important;
    color: #0f3f3a !important;
    border-radius: 16px !important;
}

/* Alertas */
.alert.success {
    background: rgba(220,252,231,.72) !important;
    border-color: rgba(74,222,128,.42) !important;
    color: #166534 !important;
}

.alert.error {
    background: rgba(254,226,226,.72) !important;
    border-color: rgba(248,113,113,.42) !important;
    color: #991b1b !important;
}

.alert.warning,
.alert.warn {
    background: rgba(254,243,199,.72) !important;
    border-color: rgba(251,191,36,.42) !important;
    color: #92400e !important;
}

/* Mobile */
@media (max-width: 820px) {
    .card,
    .module-card,
    .table-wrap,
    .module-hero,
    .pro-hero {
        background: rgba(255,255,255,.82) !important;
    }

    .content-area {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* MINHA_ASSINATURA_CLIENTE_V1 */
/* MINHA ASSINATURA / CLIENTE SAAS V1 */
.assinatura-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.48)) !important;
}

.assinatura-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.assinatura-card {
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.assinatura-card span {
    display: block;
    color: #52647c;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 8px;
}

.assinatura-card strong {
    display: block;
    color: #0f172a;
    font-size: 24px;
    letter-spacing: -.04em;
}

.assinatura-card p {
    color: #52647c;
    margin: 8px 0 0;
    line-height: 1.5;
}

.assinatura-status-ok {
    border-color: rgba(34,197,94,.42);
    background: rgba(220,252,231,.55);
}

.assinatura-status-info {
    border-color: rgba(59,130,246,.38);
    background: rgba(219,234,254,.50);
}

.assinatura-status-warn {
    border-color: rgba(245,158,11,.42);
    background: rgba(254,243,199,.56);
}

.assinatura-status-danger {
    border-color: rgba(239,68,68,.42);
    background: rgba(254,226,226,.58);
}

.assinatura-limits {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.assinatura-limits div {
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(180,198,216,.50);
    border-radius: 20px;
    padding: 18px;
    text-align: center;
}

.assinatura-limits strong {
    display: block;
    color: #059669;
    font-size: 26px;
    letter-spacing: -.04em;
}

.assinatura-limits span {
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
}

.assinatura-empty {
    background: rgba(255,255,255,.62);
    border: 1px dashed rgba(5,150,105,.32);
    border-radius: 24px;
    padding: 22px;
}

.assinatura-empty textarea,
.assinatura-upgrade-form textarea {
    min-height: 110px;
}

@media (max-width: 980px) {
    .assinatura-grid,
    .assinatura-limits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .assinatura-grid,
    .assinatura-limits {
        grid-template-columns: 1fr;
    }
}

/* SOLICITACOES_UPGRADE_ALERTAS_V1 */
/* SOLICITAÇÕES DE UPGRADE + ALERTAS COMERCIAIS V1 */
.upgrade-hero,
.billing-alert-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.upgrade-list {
    display: grid;
    gap: 18px;
}

.upgrade-card {
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.upgrade-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.upgrade-card-head strong {
    display: block;
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.upgrade-card-head span {
    display: block;
    color: #52647c;
    font-size: 13px;
    margin-top: 4px;
}

.upgrade-card-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.upgrade-card-body div {
    background: rgba(236,253,245,.34);
    border: 1px solid rgba(110,231,183,.24);
    border-radius: 18px;
    padding: 14px;
}

.upgrade-card-body small {
    display: block;
    color: #52647c;
    font-weight: 900;
    margin-bottom: 6px;
}

.upgrade-card-body b {
    color: #0f3f3a;
}

.upgrade-message {
    background: rgba(255,255,255,.50);
    border: 1px solid rgba(180,198,216,.42);
    border-radius: 18px;
    padding: 14px;
    color: #334155;
    line-height: 1.6;
}

.upgrade-form {
    margin-top: 14px;
}

.upgrade-form textarea {
    min-height: 100px;
}

@media (max-width: 780px) {
    .upgrade-card-head,
    .upgrade-card-body {
        grid-template-columns: 1fr;
        display: grid;
    }
}

/* USO_LIMITES_PLANO_V1 */
/* USO E LIMITES DO PLANO V1 */
.uso-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.uso-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.uso-card {
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.uso-card span {
    display: block;
    color: #52647c;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 8px;
}

.uso-card strong {
    display: block;
    color: #0f172a;
    font-size: 24px;
    letter-spacing: -.04em;
}

.uso-card p {
    color: #52647c;
    margin: 8px 0 0;
}

.uso-limit-list {
    display: grid;
    gap: 14px;
}

.uso-limit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: center;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(180,198,216,.50);
    border-radius: 22px;
    padding: 18px;
}

.uso-limit-row strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
}

.uso-limit-row span {
    display: block;
    color: #52647c;
    margin-top: 5px;
}

.uso-bar {
    height: 13px;
    border-radius: 999px;
    background: rgba(226,232,240,.92);
    overflow: hidden;
    margin-bottom: 8px;
}

.uso-bar span {
    display: block;
    height: 100%;
    border-radius: 999px;
}

.uso-bar.uso-ok span {
    background: linear-gradient(135deg, #059669, #22c55e);
}

.uso-bar.uso-warn span {
    background: linear-gradient(135deg, #f59e0b, #f97316);
}

.uso-bar.uso-danger span {
    background: linear-gradient(135deg, #dc2626, #ef4444);
}

.uso-bar + small {
    color: #52647c;
    font-weight: 900;
}

@media (max-width: 900px) {
    .uso-grid,
    .uso-limit-row {
        grid-template-columns: 1fr;
    }
}

/* DOCUMENTOS_TECNICOS_V2_PDF_LIMPO */
/* DOCUMENTOS TÉCNICOS V2 + PDF LIMPO */
.docv2-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.docv2-form .form-grid {
    margin-bottom: 18px;
}

.docv2-editor-sections {
    display: grid;
    gap: 20px;
    margin-top: 22px;
}

.docv2-editor-section {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.docv2-editor-section h3 {
    margin: 0 0 12px;
    font-size: 22px;
    color: #0f172a;
    letter-spacing: -.035em;
}

.docv2-hint {
    background: rgba(220,252,231,.55);
    border: 1px dashed rgba(5,150,105,.35);
    color: #0f3f3a;
    border-radius: 18px;
    padding: 14px;
    margin-bottom: 14px;
    line-height: 1.55;
}

.docv2-editor-section textarea {
    width: 100%;
    min-height: 210px;
    resize: vertical;
    line-height: 1.65;
    font-size: 15px;
}

.docv2-editor-section small {
    display: block;
    color: #64748b;
    font-weight: 800;
    margin-top: 8px;
}

.docv2-savebar {
    position: sticky;
    bottom: 14px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(180,198,216,.46);
    border-radius: 20px;
    padding: 12px;
    backdrop-filter: blur(18px);
    box-shadow: 0 14px 36px rgba(15,23,42,.08);
}

/* DOCUMENTOS_V2_HISTORICO_RESTAURACAO_EMISSAO_V1 */
/* DOCUMENTOS V2 — HISTÓRICO, RESTAURAÇÃO E EMISSÃO V1 */
.docv2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.inline-form {
    display: inline-flex;
    margin: 0;
}

.inline-form button {
    white-space: nowrap;
}

.docv2-version-list {
    display: grid;
    gap: 18px;
}

.docv2-version-card {
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.docv2-version-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.docv2-version-head strong {
    display: block;
    color: #0f172a;
    font-size: 22px;
    letter-spacing: -.035em;
}

.docv2-version-head span {
    display: block;
    color: #52647c;
    font-size: 13px;
    margin-top: 4px;
}

.docv2-version-preview {
    background: rgba(236,253,245,.34);
    border: 1px solid rgba(110,231,183,.24);
    border-radius: 18px;
    padding: 14px;
    color: #334155;
    line-height: 1.6;
}

/* DOCUMENTOS_V2_CHECKLIST_EMISSAO_ART_TRT_V1 */
/* DOCUMENTOS V2 — CHECKLIST DE EMISSÃO + ART/TRT V1 */
.docv2-checklist-form .form-grid {
    margin-bottom: 22px;
}

.docv2-checklist-box {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.docv2-checklist-box h3 {
    margin: 0 0 8px;
    font-size: 24px;
    color: #0f172a;
    letter-spacing: -.035em;
}

.docv2-checklist-box p {
    color: #52647c;
    margin-top: 0;
}

.docv2-check-item {
    display: grid !important;
    grid-template-columns: 24px 1fr;
    gap: 12px;
    align-items: start;
    background: rgba(236,253,245,.40);
    border: 1px solid rgba(110,231,183,.28);
    border-radius: 16px;
    padding: 14px;
    margin: 10px 0;
    color: #0f3f3a !important;
    font-weight: 800 !important;
}

.docv2-check-item input {
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px;
}

.docv2-check-item span {
    line-height: 1.45;
}

.docv2-checklist-form textarea {
    min-height: 110px;
}

/* UNIFICAR_DOCUMENTOS_DOCV2_CSS_V1 */
.nav-item[href*="docv2_index"], .menu-link[href*="docv2_index"] { border-color: rgba(110,231,183,.18) !important; }
/* FIM_UNIFICAR_DOCUMENTOS_DOCV2_CSS_V1 */


/* IDENTIDADE_EMPRESA_LOGO_V1 */
/* IDENTIDADE DA EMPRESA + LOGOMARCA V1 */
.identidade-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.identidade-logo-row {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin-bottom: 24px;
    padding: 18px;
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    background: rgba(255,255,255,.62);
}

.identidade-logo-box {
    min-height: 120px;
    border: 1px dashed rgba(5,150,105,.38);
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: rgba(236,253,245,.32);
    overflow: hidden;
}

.identidade-logo-box img {
    max-width: 160px;
    max-height: 105px;
    object-fit: contain;
}

.identidade-logo-box span {
    color: #52647c;
    font-weight: 900;
}

.identidade-form textarea {
    min-height: 110px;
}

@media (max-width: 760px) {
    .identidade-logo-row {
        grid-template-columns: 1fr;
    }
}

/* CORRIGIR_MENU_DOC_DUPLICADO_CSS_V1 */
.sidebar{overflow-y:auto!important;max-height:100vh!important;}
.nav-item[href*="docv2_index"],.menu-link[href*="docv2_index"]{border-color:rgba(110,231,183,.22)!important;}
/* FIM_CORRIGIR_MENU_DOC_DUPLICADO_CSS_V1 */


/* BIBLIOTECA_PADRAO_SST_V1 */
/* BIBLIOTECA PADRÃO SST V1 */
.biblioteca-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.biblioteca-filter {
    margin-bottom: 18px;
}

.biblioteca-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0;
}

.biblioteca-tab {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    border: 1px solid rgba(180,198,216,.62);
    background: rgba(255,255,255,.64);
    color: #0f172a;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
}

.biblioteca-tab.active {
    background: linear-gradient(135deg, #059669, #2563eb);
    color: #fff;
    border-color: transparent;
}

.biblioteca-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.biblioteca-card,
.biblioteca-edit-card {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.biblioteca-card-head,
.biblioteca-edit-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.biblioteca-card-head span,
.biblioteca-edit-head span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 5px;
}

.biblioteca-card-head strong,
.biblioteca-edit-head strong {
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.biblioteca-card-head em {
    background: rgba(220,252,231,.70);
    color: #0f766e;
    border-radius: 999px;
    padding: 6px 10px;
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
}

.biblioteca-card p {
    color: #334155;
    line-height: 1.6;
}

.biblioteca-card small {
    display: block;
    color: #64748b;
    font-weight: 900;
    margin-bottom: 14px;
}

.biblioteca-list {
    display: grid;
    gap: 18px;
}

.biblioteca-edit-card textarea {
    min-height: 120px;
}

@media (max-width: 880px) {
    .biblioteca-grid {
        grid-template-columns: 1fr;
    }
}

/* INTEGRAR_BIBLIOTECA_CADASTROS_V1 */
/* INTEGRAR BIBLIOTECA A SETORES/CARGOS/AMBIENTES V1 */
.cadastro-padrao-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.cadastro-padrao-selectbox {
    background: rgba(236,253,245,.42);
    border: 1px solid rgba(5,150,105,.28);
    border-radius: 22px;
    padding: 18px;
    margin-bottom: 22px;
}

.cadastro-padrao-selectbox label {
    display: block;
    color: #0f172a;
    font-weight: 900;
    margin-bottom: 8px;
}

.cadastro-padrao-selectbox select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(180,198,216,.74);
    border-radius: 14px;
    padding: 0 14px;
    background: rgba(255,255,255,.86);
    color: #0f172a;
    font-weight: 800;
}

.cadastro-padrao-selectbox .small {
    color: #52647c;
    font-weight: 700;
    margin: 10px 0 0;
}

.cadastro-padrao-form textarea {
    min-height: 150px;
}

/* CAMPOS_CBO_ESOCIAL_SST_V1 */
/* CAMPOS CBO + ESOCIAL SST V1 */
.esocial-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.esocial-sst-list {
    display: grid;
    gap: 18px;
}

.esocial-sst-card {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.esocial-sst-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.esocial-sst-head span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 5px;
}

.esocial-sst-head strong {
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.esocial-sst-alert {
    background: rgba(254,242,242,.88);
    border: 1px solid rgba(248,113,113,.36);
    color: #991b1b;
    border-radius: 16px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.esocial-sst-alert p {
    margin: 4px 0;
    font-weight: 800;
}

.esocial-summary {
    margin-top: 18px;
    background: rgba(236,253,245,.50);
    border: 1px solid rgba(110,231,183,.34);
    border-radius: 18px;
    padding: 14px;
    color: #064e3b;
}

/* INVENTARIO_RISCOS_V2_BIBLIOTECA_ESOCIAL */
/* INVENTÁRIO DE RISCOS V2 + BIBLIOTECA SST + ESOCIAL */
.inv2-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.inv2-form h3 {
    margin: 24px 0 12px;
    color: #0f172a;
    letter-spacing: -.035em;
    font-size: 22px;
}

.inv2-select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(180,198,216,.74);
    border-radius: 14px;
    padding: 0 14px;
    background: rgba(255,255,255,.86);
    color: #0f172a;
    font-weight: 800;
}

.inv2-checkline {
    margin-top: 18px;
    background: rgba(236,253,245,.44);
    border: 1px solid rgba(110,231,183,.32);
    border-radius: 18px;
    padding: 14px;
    color: #064e3b;
    font-weight: 900;
}

.inv2-checkline label {
    display: flex;
    gap: 10px;
    align-items: center;
}

.inline-form {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin: 0;
}

.inline-form select {
    border: 1px solid rgba(180,198,216,.74);
    border-radius: 10px;
    padding: 8px 10px;
}

/* PGR_AUTOMATICO_INVENTARIO_V2 */
/* PGR AUTOMÁTICO PELO INVENTÁRIO V2 */
.pgr-inv2-hero{background:radial-gradient(circle at top left,rgba(5,150,105,.16),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.76),rgba(236,253,245,.50))!important}.pgr-inv2-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.pgr-inv2-summary div{background:rgba(255,255,255,.68);border:1px solid rgba(180,198,216,.54);border-radius:18px;padding:14px}.pgr-inv2-summary span{display:block;color:#52647c;font-size:12px;font-weight:900;margin-bottom:6px}.pgr-inv2-summary strong{display:block;color:#0f172a;font-size:20px;letter-spacing:-.035em}.pgr-inv2-note{background:rgba(236,253,245,.46);border:1px solid rgba(110,231,183,.32);border-radius:18px;padding:14px;color:#064e3b;line-height:1.55;margin-top:18px}.pgr-inv2-form select{width:100%;min-height:48px;border:1px solid rgba(180,198,216,.74);border-radius:14px;padding:0 14px;background:rgba(255,255,255,.86);color:#0f172a;font-weight:800}@media(max-width:980px){.pgr-inv2-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.pgr-inv2-summary{grid-template-columns:1fr}}

/* PCMSO_ASO_V2_INVENTARIO */
/* PCMSO + ASO V2 INTEGRADO AO INVENTÁRIO */
.pcmso2-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.pcmso2-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.pcmso2-summary div {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 18px;
    padding: 14px;
}

.pcmso2-summary span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 6px;
}

.pcmso2-summary strong {
    display: block;
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.pcmso2-note {
    background: rgba(236,253,245,.46);
    border: 1px solid rgba(110,231,183,.32);
    border-radius: 18px;
    padding: 14px;
    color: #064e3b;
    line-height: 1.55;
    margin-top: 18px;
}

.pcmso2-form select,
.aso2-form select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(180,198,216,.74);
    border-radius: 14px;
    padding: 0 14px;
    background: rgba(255,255,255,.86);
    color: #0f172a;
    font-weight: 800;
}

.aso2-form textarea {
    min-height: 120px;
}

@media (max-width: 760px) {
    .pcmso2-summary {
        grid-template-columns: 1fr;
    }
}

/* PRE_EXPORT_ESOCIAL_SST_V1 */
/* PRÉ-EXPORTAÇÃO ESOCIAL SST V1 */
.pre-esocial-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.pre-esocial-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.pre-esocial-summary div {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 18px;
    padding: 16px;
}

.pre-esocial-summary span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 6px;
}

.pre-esocial-summary strong {
    display: block;
    color: #0f172a;
    font-size: 25px;
    letter-spacing: -.04em;
}

.pre-esocial-summary em {
    display: block;
    color: #64748b;
    font-style: normal;
    font-weight: 800;
    margin-top: 4px;
}

.pre-esocial-json {
    background: #0f172a;
    color: #d1fae5;
    border-radius: 18px;
    padding: 18px;
    overflow: auto;
    max-height: 680px;
    line-height: 1.45;
    margin-top: 18px;
}

.inline-form {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin: 0 0 0 8px;
}

@media (max-width: 760px) {
    .pre-esocial-summary {
        grid-template-columns: 1fr;
    }

    .inline-form {
        display: flex;
        margin: 10px 0 0 0;
    }
}

/* PAINEL_PENDENCIAS_SST_V1 */
/* PAINEL DE PENDÊNCIAS SST V1 */
.pend-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(236,253,245,.50)) !important;
}

.pend-sst-summary {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.pend-sst-summary div {
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 18px;
    padding: 14px;
}

.pend-sst-summary span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 6px;
}

.pend-sst-summary strong {
    display: block;
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.pend-progress {
    height: 14px;
    background: rgba(226,232,240,.9);
    border-radius: 999px;
    overflow: hidden;
    margin: 8px 0 18px;
}

.pend-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #059669, #2563eb);
    border-radius: inherit;
}

.pend-list {
    display: grid;
    gap: 12px;
}

.pend-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(180,198,216,.54);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255,255,255,.68);
}

.pend-item.ok {
    border-color: rgba(110,231,183,.48);
    background: rgba(236,253,245,.45);
}

.pend-item.bad {
    border-color: rgba(252,165,165,.54);
    background: rgba(254,242,242,.55);
}

.pend-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-weight: 900;
    color: #fff;
    background: #ef4444;
}

.pend-item.ok .pend-icon {
    background: #059669;
}

.pend-body strong {
    display: block;
    color: #0f172a;
    font-size: 16px;
    margin-bottom: 4px;
}

.pend-body p {
    margin: 0;
    color: #52647c;
    line-height: 1.45;
}

@media (max-width: 980px) {
    .pend-sst-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pend-item {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .pend-item .btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .pend-sst-summary {
        grid-template-columns: 1fr;
    }
}

/* DASHBOARD_SST_PROFISSIONAL_V1 */
/* DASHBOARD SST PROFISSIONAL V1 */
.dash-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.20), transparent 36%),
        radial-gradient(circle at bottom right, rgba(37,99,235,.14), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.54)) !important;
}

.dash-sst-top {
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.dash-sst-score,
.dash-sst-actions,
.dash-sst-card,
.dash-sst-link {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.dash-sst-score {
    padding: 22px;
}

.dash-sst-score > span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.dash-sst-score > strong {
    display: block;
    font-size: 54px;
    letter-spacing: -.06em;
    color: #0f172a;
    margin: 8px 0;
}

.dash-sst-score p {
    color: #52647c;
    margin: 12px 0 0;
    line-height: 1.45;
}

.dash-sst-progress {
    height: 14px;
    background: rgba(226,232,240,.94);
    border-radius: 999px;
    overflow: hidden;
}

.dash-sst-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #059669, #2563eb);
}

.dash-sst-actions {
    padding: 18px;
}

.dash-sst-actions h3 {
    margin: 0 0 12px;
    color: #0f172a;
    letter-spacing: -.035em;
    font-size: 22px;
}

.dash-sst-action {
    display: block;
    text-decoration: none;
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 16px;
    padding: 12px 14px;
    margin-bottom: 10px;
    background: rgba(248,250,252,.7);
}

.dash-sst-action strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}

.dash-sst-action span {
    display: block;
    color: #52647c;
    line-height: 1.4;
}

.dash-sst-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dash-sst-card {
    padding: 18px;
    position: relative;
    overflow: hidden;
}

.dash-sst-card::before,
.dash-sst-score::before {
    content: "";
    display: block;
    width: 5px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #2563eb;
}

.dash-sst-card span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px;
}

.dash-sst-card strong {
    display: block;
    color: #0f172a;
    font-size: 34px;
    letter-spacing: -.05em;
}

.dash-sst-card p {
    color: #52647c;
    margin: 8px 0 12px;
    line-height: 1.4;
}

.dash-sst-card a {
    display: inline-flex;
    text-decoration: none;
    background: rgba(15,23,42,.08);
    color: #0f172a;
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 900;
}

.tone-green::before,
.dash-sst-card.tone-green::before {
    background: #059669;
}

.tone-yellow::before,
.dash-sst-card.tone-yellow::before {
    background: #f59e0b;
}

.tone-red::before,
.dash-sst-card.tone-red::before {
    background: #ef4444;
}

.tone-blue::before,
.dash-sst-card.tone-blue::before {
    background: #2563eb;
}

.dash-risk-bars {
    display: grid;
    gap: 12px;
}

.dash-risk-row {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 50px;
    gap: 12px;
    align-items: center;
}

.dash-risk-row strong {
    color: #0f172a;
}

.dash-risk-row div {
    height: 15px;
    background: rgba(226,232,240,.9);
    border-radius: 999px;
    overflow: hidden;
}

.dash-risk-row span {
    display: block;
    height: 100%;
    border-radius: inherit;
    min-width: 4px;
}

.dash-risk-row span.tone-red { background: #ef4444; }
.dash-risk-row span.tone-yellow { background: #f59e0b; }
.dash-risk-row span.tone-green { background: #059669; }

.dash-risk-row em {
    font-style: normal;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
}

.dash-sst-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dash-sst-link {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 16px;
    text-decoration: none;
}

.dash-sst-link > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(5,150,105,.12);
    font-size: 22px;
}

.dash-sst-link strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}

.dash-sst-link p {
    margin: 0;
    color: #52647c;
    line-height: 1.4;
}

@media (max-width: 1100px) {
    .dash-sst-grid,
    .dash-sst-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dash-sst-top {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .dash-sst-grid,
    .dash-sst-links {
        grid-template-columns: 1fr;
    }

    .dash-risk-row {
        grid-template-columns: 90px minmax(0, 1fr) 38px;
    }

    .dash-sst-score > strong {
        font-size: 42px;
    }
}

/* CENTRAL_AJUDA_ROTEIRO_SST_V1 */
/* CENTRAL DE AJUDA + ROTEIRO DE USO SST V1 */
.ajuda-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.18), transparent 36%),
        radial-gradient(circle at bottom right, rgba(37,99,235,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.54)) !important;
}

.ajuda-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ajuda-card {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.ajuda-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(5,150,105,.12);
    font-size: 24px;
    margin-bottom: 14px;
}

.ajuda-card h3 {
    margin: 0 0 8px;
    color: #0f172a;
    letter-spacing: -.035em;
    font-size: 20px;
}

.ajuda-card p {
    margin: 0 0 14px;
    color: #52647c;
    line-height: 1.5;
}

.ajuda-card a {
    display: inline-flex;
    text-decoration: none;
    color: #064e3b;
    background: rgba(220,252,231,.70);
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 900;
}

.ajuda-steps {
    display: grid;
    gap: 16px;
}

.ajuda-steps.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ajuda-step {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.ajuda-step-num {
    width: 52px;
    height: 52px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #059669, #2563eb);
    color: #fff;
    font-weight: 900;
    font-size: 18px;
}

.ajuda-step h3 {
    margin: 0 0 8px;
    color: #0f172a;
    font-size: 20px;
    letter-spacing: -.035em;
}

.ajuda-step p {
    margin: 0 0 12px;
    color: #52647c;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .ajuda-grid,
    .ajuda-steps.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ajuda-grid,
    .ajuda-steps.compact {
        grid-template-columns: 1fr;
    }

    .ajuda-step {
        grid-template-columns: 1fr;
    }
}

/* MENU_LATERAL_ORGANIZADO_V1 */
/* MENU LATERAL ORGANIZADO V1 */
.sst-menu-organized-container {
    scrollbar-width: thin;
}

.sst-menu-organizer {
    display: grid;
    gap: 10px;
    padding: 8px 8px 18px;
}

.sst-menu-search-wrap {
    position: sticky;
    top: 0;
    z-index: 3;
    padding: 4px 0 8px;
    background: inherit;
}

.sst-menu-search {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(148,163,184,.35);
    border-radius: 14px;
    padding: 0 12px;
    background: rgba(255,255,255,.16);
    color: inherit;
    outline: none;
    font-weight: 800;
    backdrop-filter: blur(10px);
}

.sst-menu-search::placeholder {
    color: currentColor;
    opacity: .62;
}

.sst-menu-group {
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    overflow: hidden;
}

.sst-menu-group[open] {
    background: rgba(255,255,255,.12);
    box-shadow: 0 12px 28px rgba(15,23,42,.10);
}

.sst-menu-group summary {
    cursor: pointer;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 11px 12px;
    list-style: none;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: -.01em;
    color: inherit;
    user-select: none;
}

.sst-menu-group summary::-webkit-details-marker {
    display: none;
}

.sst-menu-group summary i {
    font-style: normal;
    min-width: 24px;
    min-height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(5,150,105,.22);
    font-size: 11px;
}

.sst-menu-group-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(5,150,105,.18);
}

.sst-menu-group-body {
    display: grid;
    gap: 4px;
    padding: 4px 8px 10px;
}

.sst-menu-organized-item {
    list-style: none !important;
    margin: 0 !important;
}

.sst-menu-organized-item a,
.sst-menu-organized-item {
    max-width: 100%;
}

.sst-menu-group-body a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    border-radius: 12px;
    padding: 9px 10px !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    color: inherit;
    opacity: .88;
}

.sst-menu-group-body a:hover,
.sst-menu-group-body a.active,
.sst-menu-current a {
    background: linear-gradient(135deg, rgba(5,150,105,.26), rgba(37,99,235,.18));
    opacity: 1;
}

.sst-menu-current a {
    box-shadow: inset 3px 0 0 #10b981;
}

@media (max-width: 760px) {
    .sst-menu-organizer {
        padding: 8px 10px 24px;
    }

    .sst-menu-group summary {
        padding: 13px 12px;
    }

    .sst-menu-group-body a {
        min-height: 44px;
    }
}

/* ACABAMENTO_FINAL_SST_V1 */
/* ACABAMENTO FINAL SST V1 */
:root {
    --sst-green: #059669;
    --sst-blue: #2563eb;
    --sst-dark: #0f172a;
    --sst-soft: rgba(255,255,255,.72);
    --sst-border: rgba(180,198,216,.56);
}

.final-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.18), transparent 36%),
        radial-gradient(circle at bottom right, rgba(37,99,235,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.54)) !important;
}

.final-sst-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.final-sst-summary div,
.final-roadmap article,
.final-check-item,
.final-note {
    background: var(--sst-soft);
    border: 1px solid var(--sst-border);
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.final-sst-summary span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 6px;
}

.final-sst-summary strong {
    display: block;
    color: var(--sst-dark);
    font-size: 28px;
    letter-spacing: -.05em;
}

.final-progress {
    height: 14px;
    background: rgba(226,232,240,.96);
    border-radius: 999px;
    overflow: hidden;
    margin: 10px 0 18px;
}

.final-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--sst-green), var(--sst-blue));
}

.final-roadmap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.final-roadmap strong {
    display: block;
    color: var(--sst-dark);
    font-size: 17px;
    margin-bottom: 8px;
}

.final-roadmap p {
    margin: 0;
    color: #52647c;
    line-height: 1.55;
}

.final-checklist {
    display: grid;
    gap: 12px;
}

.final-check-item {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    cursor: pointer;
}

.final-check-item input {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: var(--sst-green);
}

.final-check-item strong,
.final-check-item em,
.final-check-item small {
    display: block;
}

.final-check-item strong {
    color: var(--sst-dark);
    margin-bottom: 5px;
}

.final-check-item em {
    color: #334155;
    font-style: normal;
    margin-bottom: 4px;
    line-height: 1.45;
}

.final-check-item small {
    color: #64748b;
    line-height: 1.45;
}

.final-check-item:has(input:checked) {
    border-color: rgba(5,150,105,.44);
    background: rgba(236,253,245,.56);
}

.final-note {
    margin-top: 16px;
    color: #064e3b;
    background: rgba(236,253,245,.52);
    border-color: rgba(110,231,183,.36);
    line-height: 1.55;
}

/* Padronização global suave */
.btn,
button.btn,
a.btn,
input[type="submit"].btn {
    border-radius: 12px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em;
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.btn:hover,
button.btn:hover,
a.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15,23,42,.12);
}

.table-wrap {
    border-radius: 18px;
    overflow: auto;
}

.table th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

input,
select,
textarea {
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: rgba(5,150,105,.72) !important;
    box-shadow: 0 0 0 4px rgba(16,185,129,.12) !important;
}

textarea {
    line-height: 1.55;
}

.alert {
    border-radius: 16px !important;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .final-sst-summary,
    .final-roadmap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .final-sst-summary,
    .final-roadmap {
        grid-template-columns: 1fr;
    }
}

/* HOMOLOGACAO_EMPRESA_TESTE_SST_V1 */
/* HOMOLOGAÇÃO COM EMPRESA DE TESTE SST V1 */
.hom-sst-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.18), transparent 36%),
        radial-gradient(circle at bottom right, rgba(37,99,235,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.54)) !important;
}

.hom-sst-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.hom-sst-summary div,
.hom-sst-flow a {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.hom-sst-summary span {
    display: block;
    color: #52647c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 6px;
}

.hom-sst-summary strong {
    display: block;
    color: #0f172a;
    font-size: 34px;
    letter-spacing: -.05em;
}

.hom-sst-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.hom-sst-actions form {
    margin: 0;
}

.hom-sst-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.hom-sst-flow a {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform .16s ease, box-shadow .16s ease;
}

.hom-sst-flow a:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(15,23,42,.10);
}

.hom-sst-flow strong {
    display: block;
    color: #0f172a;
    margin-bottom: 7px;
    font-size: 16px;
}

.hom-sst-flow span {
    display: block;
    color: #52647c;
    line-height: 1.45;
}

.hom-sst-pre {
    white-space: pre-wrap;
    max-width: 420px;
    max-height: 140px;
    overflow: auto;
    background: #0f172a;
    color: #d1fae5;
    border-radius: 10px;
    padding: 8px;
    font-size: 11px;
}

@media (max-width: 980px) {
    .hom-sst-summary,
    .hom-sst-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .hom-sst-summary,
    .hom-sst-flow {
        grid-template-columns: 1fr;
    }

    .hom-sst-actions {
        display: grid;
    }
}

/* PACOTE_FINAL_LIMPEZA_CONTROLADA_V1 */
/* PACOTE FINAL + LIMPEZA CONTROLADA V1 */
.pacote-final-hero {
    background:
        radial-gradient(circle at top left, rgba(5,150,105,.18), transparent 36%),
        radial-gradient(circle at bottom right, rgba(37,99,235,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(236,253,245,.54)) !important;
}

.pacote-final-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pacote-option {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,198,216,.56);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
    backdrop-filter: blur(14px);
}

.pacote-option h3 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 22px;
    letter-spacing: -.04em;
}

.pacote-option p {
    margin: 0 0 16px;
    color: #52647c;
    line-height: 1.55;
}

.pacote-option form {
    margin: 0;
}

@media (max-width: 780px) {
    .pacote-final-grid {
        grid-template-columns: 1fr;
    }
}

/* HOME_BACKGROUND_MENU_FIX_V1 */
/* HOME_BACKGROUND_MENU_FIX_V1 */
body.sst-home-bg-enabled {
    min-height: 100vh;
    background: #071915 !important;
    color: #f8fafc;
}

body.sst-home-bg-enabled::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    background-image:
        linear-gradient(90deg, rgba(4, 18, 15, .88) 0%, rgba(5, 28, 23, .72) 42%, rgba(8, 23, 31, .55) 100%),
        linear-gradient(180deg, rgba(4, 18, 15, .32), rgba(4, 18, 15, .76)),
        url("../img/smartesst-home-bg.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

body.sst-home-bg-enabled::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 22%, rgba(16, 185, 129, .20), transparent 32%),
        radial-gradient(circle at 85% 18%, rgba(56, 189, 248, .10), transparent 30%),
        linear-gradient(180deg, rgba(6, 78, 59, .05), rgba(2, 6, 23, .20));
}

body.sst-home-bg-enabled .auth-page,
body.sst-home-bg-enabled .login-page,
body.sst-home-bg-enabled .landing-page,
body.sst-home-bg-enabled .public-page,
body.sst-home-bg-enabled .home-page,
body.sst-home-bg-enabled .page-login,
body.sst-home-bg-enabled .login-wrapper,
body.sst-home-bg-enabled .auth-wrapper,
body.sst-home-bg-enabled .landing-wrapper,
body.sst-home-bg-enabled .hero,
body.sst-home-bg-enabled .hero-section,
body.sst-home-bg-enabled .landing-hero,
body.sst-home-bg-enabled .login-hero {
    background: transparent !important;
    background-image: none !important;
}

body.sst-home-bg-enabled header,
body.sst-home-bg-enabled .topbar,
body.sst-home-bg-enabled .navbar,
body.sst-home-bg-enabled .home-header,
body.sst-home-bg-enabled .landing-header {
    background: rgba(248, 250, 252, .86) !important;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    position: relative;
    z-index: 20;
}

body.sst-home-bg-enabled header a,
body.sst-home-bg-enabled nav a,
body.sst-home-bg-enabled .topbar a,
body.sst-home-bg-enabled .navbar a {
    pointer-events: auto !important;
    cursor: pointer !important;
}

body.sst-home-bg-enabled .login-card,
body.sst-home-bg-enabled .auth-card,
body.sst-home-bg-enabled form[class*="login"],
body.sst-home-bg-enabled [class*="login-card"],
body.sst-home-bg-enabled [class*="auth-card"] {
    background: rgba(255, 255, 255, .90) !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    box-shadow: 0 30px 90px rgba(2, 6, 23, .25) !important;
    backdrop-filter: blur(18px);
}

body.sst-home-bg-enabled main,
body.sst-home-bg-enabled .main,
body.sst-home-bg-enabled .content {
    position: relative;
    z-index: 1;
}

/* Correções de clique e navegação do menu sem alterar o desenho atual */
aside a[href],
.sidebar a[href],
.menu-lateral a[href],
.app-sidebar a[href],
.layout-sidebar a[href],
nav a[href],
header a[href] {
    pointer-events: auto !important;
}

aside .disabled,
.sidebar .disabled,
.menu-lateral .disabled,
.app-sidebar .disabled,
.layout-sidebar .disabled {
    pointer-events: auto !important;
    opacity: 1;
}

body.sidebar-open aside,
body.menu-open aside,
body.sidebar-open .sidebar,
body.menu-open .sidebar,
body.sidebar-open .app-sidebar,
body.menu-open .app-sidebar,
body.sidebar-open .menu-lateral,
body.menu-open .menu-lateral,
aside.open,
.sidebar.open,
.app-sidebar.open,
.menu-lateral.open,
aside.is-open,
.sidebar.is-open,
.app-sidebar.is-open,
.menu-lateral.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 760px) {
    body.sst-home-bg-enabled::before {
        background-position: center center;
    }

    body.sst-home-bg-enabled header,
    body.sst-home-bg-enabled .topbar,
    body.sst-home-bg-enabled .navbar {
        position: sticky;
        top: 0;
    }
}

/* MENU_INTERNO_ORGANIZADO_V2 */
/* MENU_INTERNO_ORGANIZADO_V2 */
.sst-sidebar-menu-v2-ready {
    overflow-y: auto;
    scrollbar-width: thin;
}

.sst-v2-original-hidden {
    display: none !important;
}

.sst-internal-menu-v2 {
    display: grid;
    gap: 10px;
    padding: 10px 10px 18px;
    color: inherit;
}

.sst-v2-search-wrap {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 4px 0 8px;
    background: inherit;
}

.sst-v2-search {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 14px;
    padding: 0 12px;
    background: rgba(255, 255, 255, .10);
    color: inherit;
    font-weight: 800;
    outline: none;
    backdrop-filter: blur(10px);
}

.sst-v2-search::placeholder {
    color: currentColor;
    opacity: .58;
}

.sst-v2-group {
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 16px;
    background: rgba(255, 255, 255, .06);
    overflow: hidden;
}

.sst-v2-group[open] {
    background: rgba(255, 255, 255, .10);
    box-shadow: 0 14px 30px rgba(2, 6, 23, .12);
}

.sst-v2-group summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 12px 12px;
    font-size: 13px;
    font-weight: 900;
    user-select: none;
}

.sst-v2-group summary::-webkit-details-marker {
    display: none;
}

.sst-v2-group-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(16, 185, 129, .16);
}

.sst-v2-group-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sst-v2-count {
    min-width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(16, 185, 129, .20);
    font-size: 11px;
}

.sst-v2-group-body {
    display: grid;
    gap: 4px;
    padding: 0 8px 10px;
}

.sst-v2-link {
    display: flex !important;
    align-items: center;
    min-height: 38px;
    padding: 9px 10px !important;
    border-radius: 12px;
    color: inherit !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;
    opacity: .88;
    line-height: 1.2;
    pointer-events: auto !important;
}

.sst-v2-link:hover,
.sst-v2-link.active {
    opacity: 1;
    background: linear-gradient(135deg, rgba(16, 185, 129, .22), rgba(37, 99, 235, .14));
}

.sst-v2-link.active {
    box-shadow: inset 3px 0 0 #10b981;
}

.sst-v2-link-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Mantém cliques funcionais no menu interno */
aside a[href],
.sidebar a[href],
.app-sidebar a[href],
.menu-lateral a[href],
.layout-sidebar a[href] {
    pointer-events: auto !important;
}

aside .disabled,
.sidebar .disabled,
.app-sidebar .disabled,
.menu-lateral .disabled,
.layout-sidebar .disabled {
    pointer-events: auto !important;
    opacity: 1 !important;
}

body.sidebar-open aside,
body.menu-open aside,
body.sidebar-open .sidebar,
body.menu-open .sidebar,
body.sidebar-open .app-sidebar,
body.menu-open .app-sidebar,
body.sidebar-open .menu-lateral,
body.menu-open .menu-lateral,
aside.open,
.sidebar.open,
.app-sidebar.open,
.menu-lateral.open,
aside.is-open,
.sidebar.is-open,
.app-sidebar.is-open,
.menu-lateral.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 760px) {
    .sst-internal-menu-v2 {
        padding: 10px 12px 26px;
    }

    .sst-v2-link {
        min-height: 44px;
        font-size: 14px;
    }

    .sst-v2-group summary {
        min-height: 48px;
    }
}

/* MENU_RESET_FUNCIONAL_V3 */
/* MENU_RESET_FUNCIONAL_V3 */

/* Esconde apenas os menus dinâmicos criados pelos patches anteriores */
.sst-internal-menu-v2,
.sst-menu-organizer {
    display: none !important;
}

/* Reexibe itens originais caso tenham sido ocultados pela versão anterior */
.sst-v2-original-hidden {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Garante clique normal nos links do menu lateral */
aside a[href],
.sidebar a[href],
.app-sidebar a[href],
.layout-sidebar a[href],
.menu-lateral a[href],
.side-menu a[href],
.dashboard-sidebar a[href],
[class*="sidebar"] a[href],
[class*="menu-lateral"] a[href] {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Remove efeito de desabilitado aplicado por CSS anterior */
aside .disabled,
.sidebar .disabled,
.app-sidebar .disabled,
.layout-sidebar .disabled,
.menu-lateral .disabled,
.side-menu .disabled,
.dashboard-sidebar .disabled {
    pointer-events: auto !important;
    opacity: 1 !important;
}

/* Rolagem interna quando o menu estiver grande */
.sst-menu-reset-v3-ready,
aside,
.sidebar,
.app-sidebar,
.layout-sidebar,
.menu-lateral,
.side-menu,
.dashboard-sidebar {
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
}

/* Destaque simples da página atual, sem reorganizar o menu */
.sst-menu-active-v3 {
    background: rgba(16, 185, 129, .18) !important;
    box-shadow: inset 3px 0 0 #10b981 !important;
}

/* Reforço para menu mobile */
body.sidebar-open aside,
body.menu-open aside,
body.sidebar-open .sidebar,
body.menu-open .sidebar,
body.sidebar-open .app-sidebar,
body.menu-open .app-sidebar,
body.sidebar-open .layout-sidebar,
body.menu-open .layout-sidebar,
body.sidebar-open .menu-lateral,
body.menu-open .menu-lateral,
body.sidebar-open .side-menu,
body.menu-open .side-menu,
aside.open,
.sidebar.open,
.app-sidebar.open,
.layout-sidebar.open,
.menu-lateral.open,
.side-menu.open,
aside.is-open,
.sidebar.is-open,
.app-sidebar.is-open,
.layout-sidebar.is-open,
.menu-lateral.is-open,
.side-menu.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

@media (max-width: 760px) {
    aside,
    .sidebar,
    .app-sidebar,
    .layout-sidebar,
    .menu-lateral,
    .side-menu {
        max-height: 100vh;
        -webkit-overflow-scrolling: touch;
    }
}