:root{--bg:#f4f6f8;--card:#fff;--text:#1f2937;--muted:#667085;--brand:#0f766e;--danger:#b42318;--ok:#027a48;--line:#d0d5dd}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.topbar{height:70px;background:#0b1220;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 2px 10px #0002}.topbar span{display:block;color:#cbd5e1;font-size:13px;margin-top:3px}.topbar a{color:white;text-decoration:none;margin-left:18px;font-weight:600}
.container{max-width:1100px;margin:28px auto;padding:0 18px}.hero{display:grid;grid-template-columns:1fr 360px;gap:20px;margin-bottom:20px}.hero h1{font-size:36px;margin:6px 0}.tag{color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px #0000000d}.small{font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.empresa-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;border:1px dashed var(--line);border-radius:14px;padding:18px;background:#f9fafb}.empresa-box h2{grid-column:1/-1;margin:0}h2{font-size:20px;margin:8px 0 12px}label{display:flex;flex-direction:column;font-weight:700;gap:7px}input,select{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px;background:white}.radio-card,.check{flex-direction:row;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;margin:8px 0;background:#fff;font-weight:600}.radio-card input,.check input{height:auto;margin-top:2px}.destaque{border-color:var(--brand);background:#ecfdf3}.hint{color:var(--muted);font-size:14px}.actions{display:flex;justify-content:flex-end}button,.button{background:var(--brand);color:white;border:0;border-radius:10px;padding:13px 18px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer}.alerts{margin-bottom:16px}.alert{padding:12px 14px;border-radius:10px;margin:8px 0}.alert.erro{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.alert.ok{background:#ecfdf3;color:var(--ok);border:1px solid #abefc6}.success-page{text-align:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:14px}th{background:#f9fafb}
@media(max-width:800px){.hero,.form-grid,.empresa-box{grid-template-columns:1fr}.topbar{height:auto;padding:16px;align-items:flex-start;gap:12px;flex-direction:column}.topbar a{margin-left:0;margin-right:14px}.hero h1{font-size:28px}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}.metric strong{font-size:38px;display:block;color:var(--brand)}.metric span{color:var(--muted);font-weight:700}.login-card{max-width:520px;margin:40px auto}.form-grid.one{grid-template-columns:1fr}.secondary{background:#475467;margin-left:8px}.small-btn{padding:8px 10px;font-size:13px}.badge{display:inline-block;background:#fff7ed;color:#b54708;border:1px solid #fedf89;border-radius:999px;padding:8px 12px;font-weight:700}.course-card h2{margin-top:0}.aulas li{padding:12px 0;border-bottom:1px solid var(--line)}
.layout{display:grid;grid-template-columns:240px 1fr;gap:18px}.sidebar{background:#101828;color:white;border-radius:16px;padding:18px;height:max-content;position:sticky;top:18px}.sidebar h3{margin-top:0}.sidebar a{display:block;color:#e5e7eb;text-decoration:none;padding:11px 10px;border-radius:10px;margin:5px 0}.sidebar a:hover{background:#1f2937}.mainpanel{min-width:0}.brand strong{font-size:18px}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.sidebar a{display:inline-block;margin-right:6px}}

/* Etapa 3 - Módulo Master profissional */
.master-shell{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:start}.master-sidebar{position:sticky;top:84px;background:#111827;color:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.16)}.master-sidebar .side-title{font-weight:800;margin:4px 0 14px;color:#e5e7eb}.master-sidebar a{display:block;color:#d1d5db;text-decoration:none;padding:10px 12px;border-radius:10px;margin:3px 0;font-weight:600}.master-sidebar a:hover{background:#1f2937;color:#fff}.master-main{min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page-head h1{margin:0}.page-head p{margin:4px 0 0;color:#64748b}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.badge{display:inline-block;background:#eef2ff;color:#3730a3;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;font-weight:700;color:#334155;gap:6px}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit}.form-grid textarea{min-height:110px}.form-grid .full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;gap:10px;margin-top:8px}.button.secondary{background:#e5e7eb;color:#111827}.small-btn{border:0;border-radius:9px;background:#2563eb;color:#fff;padding:7px 10px;text-decoration:none;cursor:pointer;font-weight:700;display:inline-block}.table-wrap{overflow:auto}.course-card{min-width:260px}@media (max-width:900px){.master-shell{grid-template-columns:1fr}.master-sidebar{position:relative;top:auto}.form-grid{grid-template-columns:1fr}.page-head{display:block}.page-head .button{margin-top:10px}}

/* =========================================================
   Constante Treinamentos - Interface Master profissional
   Aplicada na Etapa 3 revisada com logo oficial
   ========================================================= */
.master-body{background:#f6f8fb;min-height:100vh;color:#07152f;overflow-x:hidden}.master-body .master-flash{position:fixed;right:24px;top:84px;z-index:50;max-width:420px}.master-app{min-height:100vh;display:grid;grid-template-columns:300px 1fr;background:#f7f9fc}.master-sidebar{position:fixed;left:0;top:0;bottom:0;width:300px;background:linear-gradient(180deg,#001b36 0%,#002746 45%,#00162b 100%);color:#fff;padding:24px 18px;box-shadow:12px 0 30px rgba(0,28,62,.18);overflow-y:auto;z-index:20}.sidebar-logo{display:flex;align-items:center;justify-content:center;margin-bottom:26px}.sidebar-logo img{width:250px;max-width:100%;height:auto;display:block}.side-section{font-size:14px;letter-spacing:.06em;color:#dbeafe;margin:14px 0 10px;font-weight:800}.side-menu a{display:flex;align-items:center;gap:14px;color:#f1f5f9;text-decoration:none;font-weight:600;border-radius:10px;padding:13px 14px;margin:4px 0;transition:.18s}.side-menu a span{width:22px;text-align:center;opacity:.92}.side-menu a:hover,.side-menu a.active{background:linear-gradient(90deg,#0d6fcb,#0b58a3);box-shadow:0 6px 16px rgba(23,111,203,.26);color:#fff}.master-content{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.master-topbar{height:76px;background:#fff;display:flex;align-items:center;gap:18px;padding:0 28px;border-bottom:1px solid #e5e9f0;box-shadow:0 2px 18px rgba(15,23,42,.05);position:sticky;top:0;z-index:10}.hamburger{background:transparent;color:#07152f;border:0;border-radius:8px;padding:8px 10px;font-size:24px;line-height:1}.top-spacer{flex:1}.user-box{display:flex;flex-direction:column;align-items:flex-start;color:#07152f}.user-box span{font-size:13px;color:#475569;margin-top:3px}.logout-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#082144;color:white;text-decoration:none;font-weight:900}.master-main{padding:34px 28px 26px;max-width:1500px;width:100%;margin:0 auto}.brand-hero{display:flex;align-items:center;justify-content:center;padding:18px 12px 34px}.brand-hero img{width:min(630px,80%);height:auto;filter:drop-shadow(0 8px 18px rgba(8,33,68,.12))}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px;margin-bottom:18px}.kpi-card{background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:18px;display:flex;align-items:center;gap:16px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.kpi-card .kpi-icon{width:58px;height:58px;border-radius:15px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;flex:0 0 58px}.kpi-card strong{font-size:25px;color:#0f2a56;display:block;line-height:1.1}.kpi-card span{display:block;font-size:13px;font-weight:900;color:#0f172a;margin-top:4px}.kpi-card small{display:block;color:#475569;margin-top:4px}.kpi-card.blue .kpi-icon{background:linear-gradient(135deg,#1976df,#0a5ec2)}.kpi-card.green .kpi-icon{background:linear-gradient(135deg,#26b36f,#0c8f51)}.kpi-card.purple .kpi-icon{background:linear-gradient(135deg,#8360e8,#6344cd)}.kpi-card.orange .kpi-icon{background:linear-gradient(135deg,#ffb21f,#f59e0b)}.kpi-card.red .kpi-icon{background:linear-gradient(135deg,#fb6467,#ef4444)}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:14px;margin-bottom:14px}.bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-bottom:14px}.panel{background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 6px 18px rgba(15,23,42,.05);padding:18px}.panel h2{font-size:17px;margin:0 0 16px;color:#0f172a}.donut-row{display:flex;align-items:center;gap:26px;min-height:230px}.donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(#6d4fd7 0 55%,#3d9ce6 55% 78%,#21a873 78% 90%,#f59e0b 90% 96%,#ef4444 96% 100%);position:relative;margin-left:8px}.donut:after{content:"";position:absolute;inset:46px;background:#fff;border-radius:50%;box-shadow:inset 0 2px 8px rgba(15,23,42,.05)}.legend{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:#334155;font-size:13px}.legend b{margin-left:6px;color:#0f172a}.lg{width:10px;height:10px;display:inline-block;border-radius:2px;margin-right:8px}.lg.orange{background:#f59e0b}.lg.green{background:#21a873}.lg.blue{background:#3d9ce6}.lg.red{background:#ef4444}.line-chart{position:relative;height:250px;color:#27a339}.line-grid{position:absolute;inset:20px 0 34px 0;background:linear-gradient(#e9edf4 1px,transparent 1px),linear-gradient(90deg,#e9edf4 1px,transparent 1px);background-size:100% 46px,80px 100%;border-left:1px solid #d9e0ea;border-bottom:1px solid #d9e0ea}.line-chart svg{position:absolute;left:0;right:0;top:10px;height:210px;width:100%;color:#27a339}.months{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;color:#64748b;font-size:13px;padding:0 6px}.activities{display:flex;flex-direction:column}.activity-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px}.activity-dot{width:32px;height:32px;border-radius:10px;background:#e8f4ff;color:#0d6fcb;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 32px}.activity-item b{font-size:14px;color:#0f172a;display:block}.activity-item small{display:block;color:#475569;margin-top:2px}.panel-link{display:inline-block;margin-top:auto;color:#0d6fcb;text-decoration:none;font-weight:800}.alerts-panel p{padding:10px 0;border-bottom:1px solid #e8edf4;margin:0;color:#334155}.warn,.info,.ok-dot{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;margin-right:8px;font-weight:900}.warn{color:#f59e0b}.info{background:#e8f4ff;color:#0d6fcb}.ok-dot{background:#e8f8ee;color:#16a34a}.coupon-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e3e8ef;border-radius:12px;overflow:hidden}.coupon-stats div{padding:28px;text-align:center}.coupon-stats div+div{border-left:1px solid #e3e8ef}.coupon-stats span{display:block;color:#334155;margin-bottom:12px}.coupon-stats strong{font-size:36px;color:#16a34a;display:block}.coupon-stats a{display:block;margin-top:16px;color:#0d6fcb;text-decoration:none;font-weight:800}.red-text{color:#ef4444!important}.last-table{margin-top:14px}.master-footer{display:flex;justify-content:space-between;gap:12px;color:#53627a;font-size:13px;border-top:1px solid #e5e9f0;padding:18px 28px;background:#fff}.page-head{background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 6px 18px rgba(15,23,42,.05);padding:18px}.page-head h1{color:#0f172a}.button,button{background:#0d6fcb}.button.secondary{background:#e6edf5;color:#082144}.card{border-color:#e3e8ef;box-shadow:0 6px 18px rgba(15,23,42,.05)}.metric strong{color:#0d6fcb}.badge{background:#e8f4ff;color:#0b58a3;border-color:#cbe4ff}.table-wrap table{background:#fff}.table-wrap th{background:#f5f8fc;color:#0f172a}.table-wrap td,.table-wrap th{border-bottom:1px solid #e5e9f0}.public-brand{display:flex;align-items:center;gap:12px}.public-brand img{height:46px;width:auto;display:block}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}}@media(max-width:900px){.master-app{grid-template-columns:1fr}.master-sidebar{position:relative;width:100%;height:auto}.master-content{grid-column:1}.master-topbar{position:relative}.kpi-grid{grid-template-columns:1fr 1fr}.donut-row{flex-direction:column;align-items:flex-start}.master-footer{flex-direction:column}.brand-hero img{width:92%}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.master-main{padding:20px 12px}.coupon-stats{grid-template-columns:1fr}.coupon-stats div+div{border-left:0;border-top:1px solid #e3e8ef}}

/* Etapa 4 - Cadastro completo de empresas */
.compact-kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:16px 0}.master-filter{margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:1fr 220px auto;gap:14px;align-items:end}.filter-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#334155}.filter-grid input,.filter-grid select{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit;background:#fff}.filter-actions{display:flex;gap:8px}.status-pill{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;background:#e5e7eb;color:#334155}.status-pill.ativa{background:#dcfce7;color:#166534}.status-pill.bloqueada{background:#fee2e2;color:#991b1b}.status-pill.inativa{background:#f1f5f9;color:#475569}.small-btn.danger{background:#ef4444}.company-form{display:grid;gap:16px}.form-section{background:#fff;border:1px solid #e3e8ef;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.05);padding:18px}.form-section h2{margin:0 0 12px;font-size:18px;color:#0f172a}.form-hint{margin:0 0 14px;color:#64748b}.sticky-actions{position:sticky;bottom:0;background:rgba(246,248,251,.94);padding:14px;border:1px solid #e3e8ef;border-radius:14px;backdrop-filter:blur(6px);z-index:5}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.info-list{display:grid;grid-template-columns:145px 1fr;gap:10px 14px;margin:0}.info-list dt{font-weight:900;color:#475569}.info-list dd{margin:0;color:#0f172a}.inline-form{margin-top:16px}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.filter-actions{align-items:center}.info-list{grid-template-columns:1fr}}

/* Etapa 6.1 - Gerenciador de conteúdo */
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.form-grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-weight: 700;
  color: #1f2937;
}
.form-grid input,
.form-grid select,
.form-grid textarea,
.filters input {
  width: 100%;
  border: 1px solid #d7dee8;
  border-radius: 12px;
  padding: 11px 12px;
  background: #fff;
  color: #111827;
  font: inherit;
}
.form-grid .full { grid-column: 1 / -1; }
.module-box {
  border: 1px solid #e3eaf3;
  border-radius: 18px;
  padding: 18px;
  margin: 18px 0;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}
.module-box h3 {
  margin: 0 0 8px;
  color: #0f172a;
}
.actions-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.actions-inline form { margin: 0; }
.danger-btn {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
}
.filters {
  display: flex;
  gap: 10px;
  align-items: center;
}
.badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f7ee;
  color: #166534;
  font-weight: 700;
  font-size: .82rem;
}
@media (max-width: 900px) {
  .form-grid { grid-template-columns: 1fr; }
  .filters { flex-direction: column; align-items: stretch; }
}

/* Etapa 7 - pré-montagem NR-10 / visualização como aluno */
.student-course-shell{display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}.course-sidebar{position:sticky;top:16px}.progress-line{height:10px;background:#e8edf5;border-radius:99px;overflow:hidden;margin:12px 0}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22c55e)}.lesson-map{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.lesson-map li{display:flex;gap:10px;padding:10px;border:1px solid #edf1f7;border-radius:12px;background:#f8fafc}.lesson-map strong{display:block;font-size:.92rem}.lesson-map small{color:#64748b}.lesson-lock{width:26px;height:26px;display:grid;place-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:8px}.course-content{min-height:500px}.alert-info{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;padding:12px;border-radius:12px;margin:14px 0}.module-preview{border-top:1px solid #e9eef5;padding-top:18px;margin-top:18px}.lesson-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid #edf1f7;border-radius:14px;background:#fff;margin:10px 0}.lesson-card h4{margin:0 0 6px}.lesson-card p{margin:0 0 8px;color:#475569}.lesson-thumb{max-width:220px;max-height:140px;border-radius:12px;border:1px solid #e2e8f0;object-fit:cover}@media(max-width:900px){.student-course-shell{grid-template-columns:1fr}.course-sidebar{position:relative;top:auto}.lesson-card{flex-direction:column;align-items:flex-start}.lesson-thumb{max-width:100%}}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f7;color:#344054}.badge.ok{background:#e8f7ef;color:#0b7a42}.badge.danger{background:#fdecec;color:#b42318}.button.danger{background:#b42318;color:#fff}.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.actions form{margin:0}.certificate-pre{white-space:pre-wrap;background:#f8fafc;border:1px solid #e5e7eb;padding:12px;border-radius:10px}.validation-card{max-width:850px;margin:30px auto}.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.full{grid-column:1/-1}@media(max-width:900px){.cards-4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cards-4{grid-template-columns:1fr}}

/* =========================================================
   ETAPA 9.1 - Polimento e Integração Geral
   Padronização visual, navegação e leitura de status
   ========================================================= */
.master-app.sidebar-mini{grid-template-columns:92px 1fr}.master-app.sidebar-mini .master-sidebar{width:92px;padding:20px 10px}.master-app.sidebar-mini .sidebar-logo img{width:58px}.master-app.sidebar-mini .sidebar-logo small,.master-app.sidebar-mini .side-section,.master-app.sidebar-mini .side-menu a b{display:none}.master-app.sidebar-mini .master-content{grid-column:2}.master-app.sidebar-mini .side-menu a{justify-content:center;padding:13px 8px}.master-app.sidebar-mini .side-menu a span{font-size:18px;width:auto}.sidebar-logo{gap:8px;flex-direction:column}.sidebar-logo small{color:#bfdbfe;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.side-menu-secondary{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:4px}.breadcrumb-box{display:flex;flex-direction:column;gap:3px;min-width:220px}.breadcrumb-box strong{color:#0f172a;font-size:16px}.breadcrumb-box span{font-size:12px;color:#64748b}.quick-pill{display:inline-flex;align-items:center;height:38px;padding:0 13px;border-radius:999px;background:#e8f4ff;color:#0b58a3;text-decoration:none;font-weight:900;border:1px solid #cbe4ff}.quick-pill:hover{background:#0d6fcb;color:#fff}.status-pill.warning,.badge.warning{background:#fff7ed;color:#b45309;border-color:#fed7aa}.badge.ok,.status-pill.ok{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}.badge.danger,.status-pill.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.page-head{position:relative;overflow:hidden}.page-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#0d6fcb,#21a873)}.page-head .actions{justify-content:flex-end}.card h1,.card h2,.panel h2{letter-spacing:-.02em}.master-main .card,.master-main .panel,.page-head{transition:transform .16s ease, box-shadow .16s ease}.master-main .card:hover,.master-main .panel:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08)}.table-wrap tbody tr:hover{background:#f8fbff}.integration-ribbon{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}.integration-step{background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:12px;text-align:center;font-weight:900;color:#0b58a3;box-shadow:0 6px 18px rgba(15,23,42,.04)}.integration-step small{display:block;margin-top:4px;color:#64748b;font-weight:700}.empty-state{padding:34px;text-align:center;color:#64748b}.empty-state strong{display:block;color:#0f172a;font-size:18px;margin-bottom:5px}.form-grid.wide-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.wide-form .full{grid-column:1/-1}.required-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px;color:#475569;margin:10px 0}.master-topbar{z-index:15}.master-body .alert{box-shadow:0 12px 24px rgba(15,23,42,.12)}@media(max-width:1100px){.quick-pill{display:none}.integration-ribbon{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.master-app.sidebar-mini{grid-template-columns:1fr}.master-app.sidebar-mini .master-sidebar{width:100%;padding:18px}.master-app.sidebar-mini .side-menu a b,.master-app.sidebar-mini .side-section,.master-app.sidebar-mini .sidebar-logo small{display:inline}.breadcrumb-box{min-width:0}.master-topbar{gap:10px;flex-wrap:wrap;height:auto;min-height:76px;padding:14px}.user-box{margin-left:auto}.integration-ribbon{grid-template-columns:1fr 1fr}}@media(max-width:560px){.integration-ribbon{grid-template-columns:1fr}.form-grid.wide-form{grid-template-columns:1fr}}

/* Etapa 11 - Portal da Empresa */
.company-shell-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:18px 0 14px}.company-shell-head h1{margin:0}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.empresa-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.empresa-tabs a{padding:10px 12px;border-radius:12px;text-decoration:none;color:#334155;font-weight:700;font-size:.92rem}.empresa-tabs a.active,.empresa-tabs a:hover{background:#0f172a;color:#fff}.filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:12px}.filterbar input,.filterbar select{min-width:220px}.table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.button.tiny{padding:6px 10px;font-size:.82rem;border-radius:10px}.progress{height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden;min-width:140px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#22c55e)}.flow-card{background:linear-gradient(135deg,#ffffff,#f8fafc)}.flow-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-steps span{background:#f1f5f9;border:1px solid #e2e8f0;padding:10px 12px;border-radius:999px;font-weight:700;color:#0f172a}.flow-steps b{color:#64748b}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:700;font-size:.78rem}.badge.ok{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}
@media(max-width:760px){.company-shell-head,.table-head{display:block}.quick-actions{margin-top:10px}.empresa-tabs{overflow:auto;display:flex;flex-wrap:nowrap}.filterbar input,.filterbar select{min-width:100%;width:100%}}

/* ETAPA 12 - Portal do Aluno */
.student-portal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  border-left: 5px solid #1d8f5f;
}
.student-portal-nav > div span {
  display: block;
  color: #64748b;
  font-size: 13px;
  margin-top: 2px;
}
.student-portal-nav nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.student-portal-nav nav a {
  text-decoration: none;
  color: #0f172a;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.student-portal-nav nav a:hover { background: #dcfce7; border-color: #86efac; }
.hero-card {
  background: linear-gradient(135deg, rgba(13,78,49,.95), rgba(23,128,86,.92));
  color: #fff;
}
.hero-card .hint { color: rgba(255,255,255,.86); }
.stats-grid { grid-template-columns: repeat(4, minmax(160px, 1fr)); }
.metric-card span { display:block; color:#64748b; font-size:13px; font-weight:700; }
.metric-card strong { display:block; font-size:34px; margin-top:6px; color:#0f5132; }
.portal-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin:16px 0; }
.student-list-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #e5e7eb;
}
.student-list-item:last-child { border-bottom:0; }
.student-list-item small { display:block; color:#64748b; margin-top:4px; }
.student-coupon-form { display:flex; align-items:center; gap:10px; flex-wrap:wrap; border-top:1px solid #e5e7eb; padding-top:10px; }
.detail-grid { display:grid; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap:14px; }
.detail-grid div { background:#f8fafc; border:1px solid #e2e8f0; padding:12px; border-radius:14px; }
.detail-grid span { display:block; color:#64748b; font-size:12px; text-transform:uppercase; font-weight:800; letter-spacing:.04em; }
.detail-grid strong { display:block; margin-top:5px; color:#0f172a; }
.table-card { overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th, .data-table td { padding:12px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
.data-table th { background:#f8fafc; color:#334155; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
@media (max-width: 900px) {
  .student-portal-nav { align-items:flex-start; flex-direction:column; }
  .student-portal-nav nav { justify-content:flex-start; }
  .stats-grid, .portal-grid, .detail-grid { grid-template-columns: 1fr; }
}

.badge.info{background:#e0f2fe;color:#075985}.badge.neutro{background:#f1f5f9;color:#334155}.badge.danger{background:#fee2e2;color:#991b1b}.badge.warning{background:#fef3c7;color:#92400e}.badge.ok{background:#dcfce7;color:#166534}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters input,.filters select{padding:10px;border:1px solid #d1d5db;border-radius:10px;min-width:220px}

/* Correção login/logout */
.top-logout{display:inline-flex!important;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:999px;background:#ef4444!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;margin-left:12px!important;border:1px solid #dc2626!important}
.top-logout:hover{background:#b91c1c!important;color:#fff!important}
.top-user-name{display:inline-flex!important;color:#dbeafe!important;font-weight:800!important;margin-left:18px!important;margin-right:4px!important}
.login-link{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:999px;background:#0d6fcb;color:#fff!important;text-decoration:none!important;font-weight:900}
.login-screen{min-height:calc(100vh - 110px);display:flex;align-items:center;justify-content:center;padding:32px 12px}.login-card{max-width:460px;width:100%;text-align:left}.login-logo{display:block;max-width:320px;width:85%;height:auto;margin:0 auto 18px}.hint.small{font-size:13px}.master-topbar .top-logout{flex:0 0 auto}

/* Correção 2 - editor de cursos */
.hidden{display:none!important;}
.module-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px;}
.inline-edit{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin:10px 0 16px;}
a.small-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}


/* Correção 3 - ações de cadastro */
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.small-btn.muted{background:#eef2f7;color:#475569;border:1px solid #d8e0ea}
.actions form{display:inline-block;margin:2px}

/* Filtro de status multiopção - empresas/alunos */
.status-checks{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
}
.status-checks legend{
  font-weight:700;
  padding:0 6px;
}
.status-checks label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  white-space:nowrap;
}
.status-checks small{
  color:#64748b;
  width:100%;
}
.kpi-card.muted{background:#f8fafc;}
.status-pill.inativa,.status-pill.inativo{background:#e5e7eb;color:#374151;}


/* Etapa 9.3 - Validação pública de certificados */
.public-validation-hero{background:linear-gradient(135deg,#06213f,#0f766e);color:#fff;border-radius:18px;padding:34px;margin-bottom:18px;box-shadow:0 12px 30px rgba(15,23,42,.16)}
.public-validation-hero h1{margin:6px 0;font-size:34px}.public-validation-hero p{margin:0;color:#dbeafe}.public-validation-hero .tag{color:#a7f3d0}
.validation-card{margin-bottom:16px}.validation-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.validation-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.validation-form .hint{grid-column:1/-1;margin:0;color:#667085}
.validation-result{position:relative;overflow:hidden}.validation-ok{border-color:#86efac;background:linear-gradient(135deg,#ffffff,#f0fdf4)}.validation-contact{border-color:#fed7aa;background:linear-gradient(135deg,#ffffff,#fff7ed)}.validation-icon{width:58px;height:58px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;float:left;margin-right:16px}.validation-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin-top:18px;clear:both}.validation-grid div,.instructors-box{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.validation-grid span,.instructors-box span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.validation-grid strong{display:block;margin-top:5px;color:#0f172a}.instructors-box pre{white-space:pre-wrap;font-family:inherit;margin:8px 0 0;color:#0f172a}.contact-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}@media(max-width:850px){.validation-form,.validation-grid{grid-template-columns:1fr}.validation-actions{align-items:stretch}.validation-actions .button,.validation-actions button{width:100%;text-align:center}.public-validation-hero h1{font-size:28px}}

/* Etapa 9.6 - Modo de apresentação protegido estilo Scribd */
.scribd-course{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.scribd-main{min-width:0}.course-hero{display:grid;grid-template-columns:250px 1fr;gap:24px;margin-bottom:18px}.course-cover{min-height:270px;border-radius:12px;background:linear-gradient(135deg,#061a3a 0%,#103f8e 48%,#f8fafc 49%,#fff 100%);color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.cover-norma{font-weight:900;font-size:13px;letter-spacing:.08em}.cover-title{font-size:25px;font-weight:900;line-height:1.12;text-transform:uppercase}.cover-brand{color:#082144;background:#fff;border-radius:10px;padding:10px;font-weight:900;align-self:flex-start}.cover-brand span{color:#21a873;font-size:11px;letter-spacing:.16em}.course-info h1{margin:6px 0 10px;font-size:26px;color:#0f172a}.text-ok{color:#07824f;font-weight:900}.course-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.course-metrics div{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:18px;text-align:center}.course-metrics span{display:block;color:#64748b;font-size:13px;margin-bottom:5px}.course-metrics strong{color:#0f172a}.viewer-card{padding:0;overflow:hidden}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px}.viewer-nav{display:flex;align-items:center;gap:12px}.viewer-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:10px;text-decoration:none;font-weight:900;cursor:pointer}.viewer-btn.square{width:42px;padding:0;background:#fff;color:#0f172a}.viewer-btn.disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}.page-count{min-width:92px;text-align:center;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:10px 12px;font-weight:900}.page-count small{font-weight:600;color:#64748b}.protected-note{display:flex;align-items:center;gap:10px;color:#0f5132;font-weight:900;line-height:1.1}.protected-note small{color:#64748b;font-weight:700}.viewer-stage{background:#eef2f7;padding:22px;min-height:560px}.slide-page{max-width:960px;min-height:540px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 28px rgba(15,23,42,.08);overflow:hidden;position:relative}.slide-page:after{content:"";position:absolute;right:0;top:0;bottom:0;width:42%;background:linear-gradient(120deg,transparent 0%,transparent 33%,rgba(12,48,116,.95) 34%,rgba(12,48,116,.95) 48%,rgba(15,23,42,.08) 49%,rgba(15,23,42,.08) 100%);pointer-events:none}.slide-text{position:relative;z-index:1;width:68%;padding:58px 52px}.slide-text h2{font-size:38px;margin:0 0 24px;color:#0f172a;line-height:1.08}.slide-text p{font-size:18px;line-height:1.6;color:#1f2937}.slide-author{font-size:13px!important;color:#475569!important;margin-top:46px}.slide-ai{font-size:13px!important;font-weight:800;color:#0f172a!important}.protected-image{display:block;max-width:100%;max-height:520px;object-fit:contain;user-select:none;-webkit-user-drag:none;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.protected-pdf{width:100%;height:560px;border:0;border-radius:12px;background:#fff;position:relative;z-index:2}.protected-video{width:100%;position:relative;z-index:2}.protected-placeholder{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:28px;color:#475569;position:relative;z-index:2}.protected-placeholder strong{display:block;color:#0f172a;font-size:20px;margin-bottom:8px}.viewer-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 0}.viewer-bottom-actions form{margin:0}.link-back{font-weight:900;text-decoration:none;color:#0d47a1}.course-index{position:sticky;top:88px;padding:20px}.course-index h2{margin:0 0 18px;color:#0f172a}.index-progress{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-bottom:10px}.index-progress span{display:block;height:100%;background:linear-gradient(90deg,#11965f,#21a873)}.course-index p{display:flex;justify-content:space-between;color:#334155}.index-module{border-top:1px solid #e2e8f0;padding:12px 0}.index-module-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.index-module-title strong{color:#0f172a}.index-module-title span{font-weight:900;color:#475569}.index-lesson{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 10px;border-radius:0;text-decoration:none;color:#0f172a;border-left:4px solid transparent}.index-lesson:hover,.index-lesson.active{background:#dcfce7;border-left-color:#11965f}.index-lesson b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.index-lesson em{font-size:11px;font-style:normal;color:#64748b;font-weight:800}.index-help{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:14px;font-size:13px;font-weight:800;margin-top:14px}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:14px;margin-bottom:16px}.protected-pdf::-webkit-scrollbar{display:none}@media(max-width:1180px){.scribd-course{grid-template-columns:1fr}.course-index{position:static}.course-hero{grid-template-columns:190px 1fr}.course-cover{min-height:220px}.course-metrics{grid-template-columns:1fr}}@media(max-width:760px){.course-hero{grid-template-columns:1fr}.viewer-toolbar,.viewer-bottom-actions{flex-direction:column;align-items:stretch}.viewer-nav{justify-content:space-between}.slide-text{width:100%;padding:34px}.slide-page:after{opacity:.18}.slide-text h2{font-size:30px}.scribd-course{gap:14px}}


/* ETAPA 9.6.4 - Progresso inteligente do aluno */
.smart-progress-pill{background:#effdf5;border:1px solid #bbf7d0;border-radius:14px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;min-width:170px;color:#14532d}
.smart-progress-pill strong{font-size:20px;line-height:1}
.smart-progress-pill span,.smart-progress-pill small{font-size:11px}
.smart-current-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;margin:10px 0 14px;display:flex;flex-direction:column;gap:6px}
.smart-current-box b{color:#0f172a}.smart-current-box span{font-size:13px;color:#334155}.smart-current-box small{font-size:12px;color:#64748b}
.smart-mini-bar{height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.smart-mini-bar i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:99px}
.viewer-bottom-actions-scribd button[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(.35)}


/* ETAPA 10.1 - Catálogo Público Profissional */
.catalog-hero{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:stretch;margin:28px 0}
.catalog-hero h1{font-size:42px;line-height:1.08;margin:10px 0 12px}
.catalog-hero p{font-size:18px;color:var(--muted);max-width:760px}
.catalog-highlight{background:linear-gradient(135deg,#0b1220,#0f766e);color:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 14px 34px #0002}
.catalog-highlight strong{font-size:58px;line-height:1}
.catalog-highlight span{font-weight:700;margin:8px 0}
.catalog-highlight small{color:#d1fae5}
.catalog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff!important;padding:11px 16px;border-radius:10px;text-decoration:none;border:0;font-weight:700;cursor:pointer}
.button.secondary{background:#fff;color:#0b1220!important;border:1px solid var(--line)}
.catalog-filter{margin-bottom:24px}
.catalog-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:14px;align-items:end}
.catalog-filter-grid label{font-weight:700;font-size:13px;color:#344054}
.catalog-filter-grid input,.catalog-filter-grid select{width:100%;height:42px;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:40px}
.catalog-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px #0000000d;display:flex;flex-direction:column}
.catalog-cover{height:130px;background:linear-gradient(135deg,#0b1220,#0f766e);display:flex;align-items:flex-end;padding:18px;color:#fff}
.catalog-cover span{background:#ffffff22;border:1px solid #ffffff40;border-radius:999px;padding:6px 12px;font-weight:700}
.catalog-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.catalog-meta{display:flex;gap:8px;flex-wrap:wrap}
.catalog-meta span,.course-badges span{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}
.catalog-card h2{margin:4px 0;font-size:22px}
.catalog-card p{color:var(--muted);margin:0;min-height:56px}
.catalog-list{margin:0;padding-left:18px;color:#475467}
.catalog-price{font-size:20px;font-weight:800;color:#0b1220;margin-top:auto}
.course-public-header{display:grid;grid-template-columns:1fr 330px;gap:24px;margin:28px 0}
.course-public-header h1{font-size:42px;line-height:1.1;margin:8px 0}
.course-public-header p{font-size:18px;color:var(--muted)}
.course-badges{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.course-public-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 28px #0000000d}
.course-public-card strong{font-size:28px;color:#0b1220}
.course-public-card li{margin:10px 0;color:#475467}
.back-link{color:#0f766e;text-decoration:none;font-weight:700}
.program-list li{margin:10px 0}
.text-block{line-height:1.6;color:#344054}
@media(max-width:900px){
  .catalog-hero,.course-public-header{grid-template-columns:1fr}
  .catalog-filter-grid{grid-template-columns:1fr}
  .catalog-grid{grid-template-columns:1fr}
}
/* ETAPA 10.2 - Checkout Comercial EFI + Carrinho + Cupons */
.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.order-card{background:#fff;border:1px solid #dde4ef;border-radius:18px;padding:22px;box-shadow:0 8px 28px rgba(15,23,42,.08)}.sticky-card{position:sticky;top:18px}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f7}.coupon-row{display:flex;gap:10px;margin-top:18px}.coupon-row input,.checkout-form-card input,.checkout-form-card textarea,.order-card textarea{width:100%;padding:11px;border:1px solid #cfd8e3;border-radius:10px}.price-box{font-size:28px;font-weight:800;margin:16px 0;color:#0f5132}.fullbtn{display:block;width:100%;text-align:center;margin-top:10px}.radio-card{display:block;border:1px solid #d8e1ec;border-radius:12px;padding:12px;margin:8px 0;background:#f8fafc}.secure-note{font-size:13px;color:#5b6777}.btn-secondary{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}.btn-primary,.button{background:#0f5132;color:#fff;border:0;border-radius:10px;padding:11px 16px;text-decoration:none;display:inline-block;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.cart-line{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* Etapa 10.5 */
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.check-grid label{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.grid-form input,.grid-form select{padding:10px;border:1px solid #d0d5dd;border-radius:10px}

/* Etapa 10.8 Dashboard Executivo */
.executivo-kpi{min-height:110px}.table-wrap table td,.table-wrap table th{vertical-align:middle}

/* =========================================================
   CORREÇÃO 102 - Portal do Aluno organizado + viewer PDF
   ========================================================= */
body:not(.master-body) .container:has(.aluno-scribd-shell){max-width:none;margin:0;padding:0;background:#f3f6fa}
.aluno-scribd-shell{min-height:calc(100vh - 70px);display:grid;grid-template-columns:280px minmax(0,1fr);background:#f3f6fa;color:#0f172a}
.aluno-scribd-sidebar{background:linear-gradient(180deg,#07152f 0%,#082144 55%,#061426 100%);color:#fff;padding:22px 16px;min-height:calc(100vh - 70px);position:sticky;top:0;align-self:start;box-shadow:10px 0 28px rgba(15,23,42,.12)}
.aluno-brand-mini{display:flex;align-items:baseline;gap:0;font-size:18px;letter-spacing:.02em;margin-bottom:22px}.aluno-brand-mini strong{color:#fff}.aluno-brand-mini span{color:#22c55e;font-size:13px;font-weight:900;letter-spacing:.08em}.aluno-user-mini{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px;margin-bottom:18px}.avatar-mini{width:42px;height:42px;border-radius:50%;background:#0d6fcb;display:flex;align-items:center;justify-content:center;font-weight:900}.aluno-user-mini b{display:block}.aluno-user-mini small{display:block;color:#cbd5e1;font-size:11px;margin-top:2px}.aluno-menu-sst{display:flex;flex-direction:column;gap:4px}.aluno-menu-sst span{font-size:11px;color:#93a4bb;font-weight:900;letter-spacing:.12em;margin:14px 10px 6px}.aluno-menu-sst a{color:#e5edf7!important;text-decoration:none;border-radius:12px;padding:11px 12px;font-weight:800;display:block;margin:0}.aluno-menu-sst a:hover,.aluno-menu-sst a.active{background:#0d6fcb;color:#fff!important;box-shadow:0 8px 18px rgba(13,111,203,.22)}.sidebar-version{position:absolute;left:16px;right:16px;bottom:18px;color:#9fb2cc;font-size:12px;line-height:1.5}
.aluno-scribd-main{padding:26px 32px 36px;min-width:0}.viewer-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.viewer-topline small{color:#64748b;font-weight:700}.viewer-topline h1{margin:5px 0 0;font-size:32px;color:#0b1220}.viewer-top-actions{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e3e8ef;border-radius:999px;padding:10px 16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.viewer-course-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;background:#fff;border:1px solid #e3e8ef;border-radius:22px;padding:22px;margin-bottom:20px;box-shadow:0 12px 30px rgba(15,23,42,.07)}.viewer-cover-card{min-height:260px;border-radius:18px;background:linear-gradient(135deg,#06204a 0%,#0d6fcb 55%,#f8fafc 56%,#fff 100%);padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.viewer-cover-card .cover-title{font-size:28px;line-height:1.05}.viewer-cover-card .cover-brand{background:#fff;color:#082144;border-radius:12px;padding:10px;font-weight:900;width:max-content}.viewer-course-info h2{font-size:26px;margin:4px 0 10px}.viewer-course-info p{color:#475569;font-size:16px}.viewer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.viewer-metrics div{background:#f8fafc;border:1px solid #e3e8ef;border-radius:16px;padding:16px}.viewer-metrics span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;font-weight:900;margin-bottom:5px}.viewer-metrics b{font-size:17px;color:#0f172a}.text-ok{color:#07824f!important;font-weight:900}
.viewer-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.viewer-reader-card,.course-index-scribd,.download-materials-card{background:#fff;border:1px solid #e3e8ef;border-radius:22px;box-shadow:0 12px 30px rgba(15,23,42,.07);overflow:hidden}.viewer-toolbar-scribd{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border-bottom:1px solid #e3e8ef;padding:14px;flex-wrap:wrap}.viewer-nav-scribd{display:flex;align-items:center;gap:10px}.viewer-btn-scribd{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;background:#fff;border:1px solid #cbd5e1;color:#0f172a!important;text-decoration:none;font-weight:900}.viewer-btn-scribd.disabled{opacity:.45;background:#edf2f7}.viewer-btn-scribd.square{width:42px;padding:0;background:#0d6fcb;color:#fff!important;border-color:#0d6fcb}.page-pill{background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 14px;font-weight:900}.page-pill small{color:#64748b}.protected-badge{font-size:12px;font-weight:900;color:#14532d;background:#eafff3;border:1px solid #bbf7d0;border-radius:12px;padding:8px 12px}.viewer-stage-scribd{display:grid;grid-template-columns:210px minmax(0,1fr);background:#e9eef5;min-height:620px}.thumb-rail{background:#f8fafc;border-right:1px solid #dbe3ee;padding:14px;overflow:auto;max-height:720px}.thumb-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;text-decoration:none;color:#0f172a!important;background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:10px;margin-bottom:8px}.thumb-item.active,.thumb-item:hover{border-color:#0d6fcb;background:#eff6ff}.thumb-item span{width:28px;height:28px;border-radius:8px;background:#e8f4ff;color:#0d6fcb;display:flex;align-items:center;justify-content:center;font-weight:900}.thumb-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb-item em{font-style:normal;font-size:11px;color:#07824f;font-weight:900}.slide-canvas{padding:24px;min-width:0}.slide-paper{min-height:520px;background:#fff;border:1px solid #e3e8ef;border-radius:18px;box-shadow:0 14px 32px rgba(15,23,42,.10);display:grid;grid-template-columns:1fr 220px;overflow:hidden;margin-bottom:16px}.slide-main-copy{padding:48px}.slide-main-copy h2{font-size:36px;line-height:1.1;margin:0 0 18px;color:#0f172a}.slide-main-copy p{font-size:18px;line-height:1.55;color:#334155}.slide-main-copy small{display:block;color:#64748b;margin-top:8px}.slide-more{display:inline-block;margin:10px 0;color:#0d6fcb!important;font-weight:900}.slide-visual-band{background:linear-gradient(135deg,#0d6fcb,#082144);position:relative}.slide-visual-band div{position:absolute;inset:60px 0 60px 45px;background:rgba(255,255,255,.12);border-radius:999px 0 0 999px}.embedded-protected{background:#000;border-radius:16px;overflow:hidden}.protected-image-scribd{display:block;max-width:100%;max-height:680px;margin:auto;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.12);background:#fff}.protected-pdf-scribd{width:100%;height:720px;border:0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12)}.protected-placeholder{background:#f8fafc;border:1px dashed #b9c6d6;border-radius:16px;padding:28px;color:#475569}.protected-placeholder strong{display:block;color:#0f172a;font-size:20px;margin-bottom:8px}
.course-index-scribd{position:sticky;top:90px;padding:18px}.course-index-scribd h2{margin:0 0 14px}.index-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.index-progress{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-bottom:14px}.index-progress span{display:block;height:100%;background:#16a34a}.module-box{background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:0;margin:12px 0;overflow:hidden}.module-box summary{cursor:pointer;padding:12px 14px;font-weight:900;background:#f8fafc;display:flex;justify-content:space-between;gap:8px}.module-box summary small{color:#64748b}.lesson-link{display:flex;gap:8px;align-items:center;padding:11px 14px;border-top:1px solid #eef2f7;text-decoration:none;color:#0f172a!important;font-weight:800;font-size:13px}.lesson-link:hover,.lesson-link.active{background:#eff6ff;color:#0d47a1!important}.smart-current-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;margin:10px 0 14px;display:flex;flex-direction:column;gap:6px}.smart-mini-bar{height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.smart-mini-bar i{display:block;height:100%;background:#16a34a}.index-help{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:12px;font-size:13px;font-weight:800;margin-top:14px}.download-materials-card{margin-top:20px;padding:20px}.download-list{display:grid;gap:10px;margin-top:10px}.download-item{display:flex;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e3e8ef;border-radius:12px;padding:12px;text-decoration:none;color:#0f172a!important}.download-item small{margin-left:auto;color:#64748b}.viewer-bottom-actions-scribd{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.viewer-bottom-actions-scribd .link-back{margin-right:auto;color:#0d47a1!important;text-decoration:none;font-weight:900}
@media(max-width:1150px){.aluno-scribd-shell{grid-template-columns:1fr}.aluno-scribd-sidebar{position:relative;min-height:auto}.sidebar-version{position:static;margin-top:20px}.viewer-content-grid{grid-template-columns:1fr}.course-index-scribd{position:static}.viewer-stage-scribd{grid-template-columns:1fr}.thumb-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:none}.thumb-item{margin:0}.viewer-course-card{grid-template-columns:1fr}.viewer-cover-card{min-height:200px}.viewer-metrics{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{padding:12px 16px}.aluno-scribd-main{padding:18px 12px}.viewer-topline,.viewer-toolbar-scribd,.viewer-bottom-actions-scribd{align-items:stretch;flex-direction:column}.viewer-top-actions{border-radius:16px;justify-content:space-between}.slide-paper{grid-template-columns:1fr}.slide-visual-band{display:none}.slide-main-copy{padding:30px}.slide-main-copy h2{font-size:28px}.protected-pdf-scribd{height:560px}}

/* ==========================================================
   FASE 3.1 — LAYOUT RESPONSIVO PC + CELULAR (v122)
   ========================================================== */
html{box-sizing:border-box;-webkit-text-size-adjust:100%}
*,*:before,*:after{box-sizing:inherit}
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
iframe{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
.table-responsive,.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
table{max-width:100%}
.container,.master-main{min-width:0}
.public-menu-toggle,.mobile-sidebar-close,.master-mobile-backdrop{display:none}

@media (max-width: 980px){
  body.menu-open,body.master-menu-open{overflow:hidden}
  .topbar{min-height:68px;padding:10px 16px;display:flex;align-items:center;gap:12px;position:relative;z-index:1001}
  .topbar .brand,.topbar .top-logo{min-width:0;flex:1}
  .topbar .brand img,.topbar .top-logo img{max-width:150px;height:auto}
  .topbar .brand span,.topbar .top-logo span{font-size:11px}
  .public-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:25px;cursor:pointer}
  .topbar>nav{display:none;position:absolute;top:100%;left:12px;right:12px;z-index:1100;padding:12px;background:#0b2447;border:1px solid rgba(255,255,255,.16);border-radius:0 0 14px 14px;box-shadow:0 18px 38px rgba(2,6,23,.32);max-height:calc(100vh - 90px);overflow:auto}
  .topbar.public-menu-open>nav{display:flex;flex-direction:column;align-items:stretch;gap:5px}
  .topbar>nav a,.topbar>nav span{width:100%;margin:0!important;min-height:44px;padding:11px 13px;border-radius:9px;display:flex!important;align-items:center;justify-content:flex-start}
  .topbar>nav .top-logout,.topbar>nav .login-link{justify-content:center!important}
  .container{width:100%;max-width:100%;padding-left:14px!important;padding-right:14px!important}

  .master-app{display:block!important;min-height:100vh}
  .master-sidebar{position:fixed!important;top:0;bottom:0;left:0;z-index:1300;width:min(86vw,320px)!important;max-width:320px;transform:translateX(-105%);transition:transform .24s ease;overflow-y:auto;overflow-x:hidden;box-shadow:18px 0 48px rgba(2,6,23,.32)}
  .master-app.mobile-sidebar-open .master-sidebar{transform:translateX(0)}
  .master-mobile-backdrop{position:fixed;inset:0;z-index:1250;background:rgba(2,6,23,.62);backdrop-filter:blur(2px)}
  .master-app.mobile-sidebar-open .master-mobile-backdrop{display:block}
  .mobile-sidebar-close{display:inline-flex;position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.14);color:#fff;align-items:center;justify-content:center;font-size:25px;cursor:pointer}
  .master-content{width:100%!important;min-width:0;margin:0!important}
  .master-topbar{position:sticky;top:0;z-index:1100;min-height:64px;padding:8px 12px;gap:8px;flex-wrap:nowrap}
  .master-topbar .hamburger{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;padding:0;font-size:23px}
  .master-topbar .breadcrumb-box{min-width:0;flex:1}
  .master-topbar .breadcrumb-box strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
  .master-topbar .breadcrumb-box span{display:none}
  .master-topbar .top-spacer,.master-topbar .quick-pill,.master-topbar .user-box{display:none!important}
  .master-topbar .top-logout{margin-left:0!important;min-width:58px;height:42px;padding:0 10px!important}
  .master-main{padding:14px!important;width:100%;overflow:visible}
  .master-footer{padding:14px;flex-direction:column;align-items:flex-start;gap:4px}

  .master-main table,.container table{min-width:720px}
  .master-main table,.container table{display:table}
  .master-main .card,.master-main .panel,.master-main .box,.container .card,.container .panel{max-width:100%}
  .grid,.cards,.dashboard-grid,.stats-grid,.form-grid,.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  form .row,.form-row{flex-wrap:wrap}
  form .row>* , .form-row>*{min-width:220px;flex:1 1 220px}
  .actions,.form-actions,.page-actions,.toolbar{flex-wrap:wrap;gap:8px}
  .actions a,.actions button,.form-actions a,.form-actions button,.page-actions a,.page-actions button{min-height:42px}
  .modal,.modal-content,.dialog,.dialog-content{max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px);overflow:auto}
}

@media (max-width: 640px){
  body{font-size:14px}
  h1{font-size:clamp(22px,7vw,30px)}
  h2{font-size:clamp(19px,6vw,25px)}
  h3{font-size:clamp(17px,5vw,21px)}
  .topbar .brand img,.topbar .top-logo img{max-width:118px}
  .topbar .brand strong,.topbar .top-logo strong{font-size:14px}
  .topbar .brand span,.topbar .top-logo span{display:none}
  .container,.master-main{padding:12px!important}
  .grid,.cards,.dashboard-grid,.stats-grid,.form-grid,.fields-grid{grid-template-columns:1fr!important}
  form .row>* , .form-row>*{min-width:100%;flex-basis:100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:44px}
  textarea{min-height:110px}
  button,.btn,input[type=submit],input[type=button]{min-height:44px}
  .actions,.form-actions,.page-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .actions>* , .form-actions>* , .page-actions>*{width:100%!important;justify-content:center;text-align:center}
  .master-main table,.container table{min-width:640px;font-size:13px}
  th,td{padding:9px 8px!important}
  .master-footer{font-size:11px}
  .login-screen{padding:18px 10px!important;align-items:flex-start!important}
  .login-card{margin-top:12px}
  .aluno-scribd-shell{width:100%!important;margin:0!important;border-radius:0!important}
  .aluno-scribd-main{padding-left:12px!important;padding-right:12px!important}
  .viewer-topline{margin-left:-12px!important;margin-right:-12px!important;padding-left:12px!important;padding-right:12px!important}
  .viewer-course-card,.viewer-reader-card,.course-index-scribd,.download-materials-card{border-radius:10px!important;padding:12px!important}
  .slide-canvas{padding:10px!important}
  .slide-paper{min-height:420px!important}
  .protected-pdf-scribd{height:68vh!important;min-height:420px}
}

@media (min-width: 981px){
  .master-sidebar{transform:none!important}
}


/* ==========================================================
   FASE 3.2 — ÁREA DO ALUNO (v123)
   ========================================================== */
.student-mobile-head,.student-bottom-nav{display:none}
.student-portal-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;margin-bottom:18px;border:1px solid #dce6f2;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.student-identity{display:flex;align-items:center;gap:10px;min-width:190px}.student-identity>div{display:flex;flex-direction:column}.student-identity span{color:#64748b;font-size:12px}
.student-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0d47a1,#1976d2);color:#fff!important;display:grid;place-items:center;font-weight:900;font-size:18px}
.student-portal-nav nav{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.student-portal-nav nav a{padding:9px 10px;border-radius:9px;text-decoration:none;color:#42526a;font-size:12px;font-weight:800;white-space:nowrap}.student-portal-nav nav a:hover,.student-portal-nav nav a.active{background:#eaf3ff;color:#0d47a1}
.student-eyebrow{display:block;color:#1976d2;font-size:11px;font-weight:950;letter-spacing:.12em;margin-bottom:5px}.student-welcome-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;background:linear-gradient(135deg,#f7fbff,#eef6ff)}.student-welcome-card h1{margin:0 0 6px}.student-welcome-card p{margin:0;color:#52637a}.student-library-btn{white-space:nowrap}
.student-continue-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px;border-left:5px solid #1976d2}.student-continue-main{flex:1;min-width:0}.student-continue-card h2{margin:2px 0 5px}.student-continue-card p{margin:0 0 14px;color:#64748b}.student-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#64748b;margin:8px 0}.student-progress-meta strong{color:#1e293b}.student-large-progress{height:10px}.student-continue-button{min-width:160px;text-align:center}
.student-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.student-metric{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;padding:18px;transition:transform .18s,box-shadow .18s}.student-metric:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.10)}.student-metric-icon{width:44px;height:44px;border-radius:13px;background:#eaf3ff;color:#0d47a1;display:grid;place-items:center;font-size:20px;font-weight:900}.student-metric div{display:flex;flex-direction:column}.student-metric small{color:#64748b}.student-metric strong{font-size:24px;color:#0f172a}
.student-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px}.student-section-card{padding:20px}.student-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.student-section-title h2{margin:0}.student-section-title>a{font-weight:850;font-size:13px;color:#0d47a1;text-decoration:none}.student-course-list{display:grid;gap:10px}.student-course-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5edf6;border-radius:13px}.student-course-badge,.student-course-icon{width:42px;height:42px;border-radius:12px;background:#edf5ff;color:#0d47a1;display:grid;place-items:center;font-weight:900}.student-course-info{min-width:0}.student-course-info>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-course-info small{display:block;color:#64748b;margin:3px 0}.student-result-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #edf1f5}.student-result-row:last-child{border-bottom:0}.student-result-row small{display:block;color:#64748b;margin-top:3px}.student-score{text-align:right}.student-score>strong{display:block;font-size:20px}.student-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px;color:#64748b;padding:22px}.student-empty strong{color:#334155;margin-bottom:5px}
.student-coupon-card{margin-top:18px}.student-coupon-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,320px) auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf1f5}.student-coupon-form.compact{grid-template-columns:1fr auto;padding-bottom:0}.student-coupon-form input{min-height:42px}.student-test-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.student-page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px}.student-page-head h1{margin:0}.student-page-head p{margin:6px 0 0;color:#64748b}.student-count-pill{background:#eaf3ff;color:#0d47a1;border-radius:99px;padding:8px 13px;font-weight:850;white-space:nowrap}.student-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-course-card{display:flex;flex-direction:column;padding:22px}.student-course-card-top{display:flex;justify-content:space-between;align-items:center}.student-course-card h2{margin:15px 0 8px}.student-course-card>p{color:#64748b;flex:1}.student-course-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.student-course-details span{background:#f7f9fc;border:1px solid #e8eef5;border-radius:10px;padding:10px;color:#64748b;font-size:12px}.student-course-details strong{display:block;color:#1e293b;font-size:16px}.student-full-button{display:block;width:100%;text-align:center;margin-top:16px}.student-locked-box{background:#fff8e6;border:1px solid #ffe2a8;border-radius:11px;padding:11px;margin-top:14px}.student-locked-box span{display:block;color:#7c5a15;font-size:12px;margin-top:3px}
@media(max-width:1100px){.student-portal-nav{align-items:flex-start}.student-portal-nav nav{justify-content:flex-start}.student-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){body:has(.student-bottom-nav){padding-bottom:76px}.student-mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.student-nav-toggle,.student-mobile-home{height:44px;border-radius:11px;border:1px solid #d8e3ef;background:#fff;color:#0d47a1;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:850;text-decoration:none}.student-nav-toggle{padding:0 14px}.student-mobile-home{width:44px;font-size:22px}.student-portal-nav{display:none;padding:12px;margin-top:-4px;position:relative}.student-portal-nav.open{display:block}.student-portal-nav .student-identity{padding:5px 4px 12px;border-bottom:1px solid #e7edf4}.student-portal-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.student-portal-nav nav a{min-height:44px;display:flex;align-items:center;padding:10px}.student-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:1200;background:#fff;border-top:1px solid #dce5ef;box-shadow:0 -8px 28px rgba(15,23,42,.12);padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}.student-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:54px;color:#64748b;text-decoration:none;border-radius:10px}.student-bottom-nav a.active{color:#0d47a1;background:#eef6ff}.student-bottom-nav span{font-size:19px;font-weight:900}.student-bottom-nav small{font-size:10px;font-weight:800}.student-welcome-card,.student-continue-card,.student-page-head{align-items:stretch;flex-direction:column;padding:18px}.student-library-btn,.student-continue-button{width:100%;text-align:center}.student-metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.student-metric{padding:13px;gap:9px}.student-metric-icon{width:38px;height:38px}.student-metric strong{font-size:20px}.student-section-card{padding:15px}.student-course-row{grid-template-columns:36px minmax(0,1fr)}.student-course-row>.small-btn,.student-course-row>.badge{grid-column:2;width:100%;text-align:center}.student-course-badge{width:36px;height:36px}.student-course-grid{grid-template-columns:1fr}.student-course-card{padding:17px}.student-coupon-form,.student-coupon-form.compact{grid-template-columns:1fr}.student-coupon-form button{width:100%}.student-count-pill{align-self:flex-start}.student-test-alert .button{width:100%;text-align:center}}
@media(max-width:420px){.student-portal-nav nav{grid-template-columns:1fr}.student-metrics-grid{grid-template-columns:1fr}.student-course-details{grid-template-columns:1fr}.student-bottom-nav small{font-size:9px}}


/* ==========================================================
   FASE 3.3 — CHECKOUT RESPONSIVO E EXPERIÊNCIA DE COMPRA (v125)
   ========================================================== */
.checkout-title{margin-bottom:16px}.checkout-step-label{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#e8f3ff;color:#0d47a1;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.checkout-progress{display:flex;align-items:center;justify-content:center;max-width:720px;margin:0 auto 24px;padding:0 12px}.checkout-progress-item{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:13px}.checkout-progress-item span{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#e2e8f0;color:#64748b;font-weight:900}.checkout-progress-item.active,.checkout-progress-item.done{color:#0f172a}.checkout-progress-item.active span{background:#0d6fcb;color:#fff;box-shadow:0 0 0 5px #dbeafe}.checkout-progress-item.done span{background:#16a34a;color:#fff}.checkout-progress-line{width:70px;height:2px;margin:0 12px;background:#dbe3ee}.checkout-v3{grid-template-columns:minmax(0,1fr) 390px;gap:26px}.checkout-form-card{padding:24px;border-radius:20px}.checkout-section-head{display:flex;gap:12px;align-items:flex-start;margin:4px 0 2px}.checkout-section-head h2,.checkout-section-head h3{margin:0 0 4px;color:#0f172a}.checkout-section-head p,.checkout-subpanel-title p{margin:0;color:#64748b;font-size:14px}.checkout-section-number{display:flex;flex:0 0 34px;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#0d6fcb;color:#fff;font-weight:900}.option-grid{display:grid;gap:12px}.option-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-choice{position:relative;display:flex!important;align-items:center;gap:12px;min-height:88px;margin:0!important;padding:14px!important;border:2px solid #dbe3ee!important;background:#fff!important;cursor:pointer;transition:.18s ease}.checkout-choice:hover{border-color:#93c5fd!important;transform:translateY(-1px)}.checkout-choice:has(input:checked){border-color:#0d6fcb!important;background:#eff6ff!important;box-shadow:0 0 0 3px rgba(13,111,203,.08)}.checkout-choice input{width:18px;height:18px;accent-color:#0d6fcb}.checkout-choice>span:not(.choice-icon){display:flex;flex-direction:column;gap:3px}.checkout-choice strong{font-size:15px;color:#0f172a}.checkout-choice small{color:#64748b;font-weight:600;line-height:1.35}.choice-icon{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#f1f5f9;font-size:20px}.checkout-choice em{position:absolute;right:10px;top:8px;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-style:normal;font-weight:900}.checkout-subpanel{grid-template-columns:1fr 1fr;gap:14px;padding:18px;border:1px solid #bfdbfe;border-radius:16px;background:#f8fbff}.checkout-subpanel-title{grid-column:1/-1}.checkout-form-card label{font-weight:800;color:#334155}.checkout-form-card label input{margin-top:6px;min-height:46px;background:#fff}.checkout-form-card input:focus,.checkout-form-card textarea:focus{border-color:#0d6fcb!important;box-shadow:0 0 0 3px rgba(13,111,203,.12);outline:none}.checkout-form-card .input-invalid{border-color:#dc2626!important;background:#fff7f7}.field-error{display:block;min-height:16px;margin-top:4px;color:#b91c1c;font-size:12px;font-weight:700}.checkout-consent{padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc;align-items:flex-start!important}.checkout-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:#0d6fcb}.checkout-consent span{font-size:13px;line-height:1.45;color:#475569}.checkout-form-alert{display:none;padding:12px 14px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#991b1b;font-weight:800}.checkout-form-alert.show{display:block}.checkout-summary{padding:22px;border-radius:20px}.summary-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #e5e7eb;font-weight:900}.summary-head a{color:#0d6fcb!important;font-size:12px;text-decoration:none}.summary-items{display:grid;gap:12px;padding:16px 0}.summary-course{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.summary-course-icon{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#eff6ff}.summary-course>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.summary-course strong{font-size:13px;color:#0f172a}.summary-course small{color:#64748b;font-size:11px}.summary-course>b{font-size:12px;white-space:nowrap}.summary-coupon{padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#166534;font-size:12px}.summary-values{padding:14px 0;border-top:1px solid #e5e7eb}.summary-values p{display:flex;justify-content:space-between;gap:12px;margin:7px 0;color:#475569}.summary-values .discount strong{color:#15803d}.summary-total{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 0;border-top:2px solid #e2e8f0}.summary-total span{font-weight:900}.summary-total strong{font-size:25px;color:#0f5132}.checkout-submit{min-height:50px!important;display:flex!important;align-items:center;justify-content:center;font-size:15px!important}.checkout-submit:disabled{opacity:.72;cursor:wait}.submit-loading{display:inline-flex;align-items:center;gap:8px}.submit-loading i{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:checkout-spin .8s linear infinite}@keyframes checkout-spin{to{transform:rotate(360deg)}}.checkout-security{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 12px;margin-top:14px;color:#475569;font-size:11px;font-weight:800}.checkout-summary .secure-note{text-align:center;line-height:1.45}.cart-card{padding:22px;border-radius:20px}.cart-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.cart-card-head h2{margin:0}.cart-card-head span{padding:4px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:800}.cart-line-v3{grid-template-columns:46px minmax(0,1fr) auto auto;padding:17px 0}.cart-course-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:#eff6ff}.cart-course-info{display:flex;flex-direction:column;gap:3px;min-width:0}.cart-course-info strong{color:#0f172a}.cart-course-info span,.cart-course-info small{color:#64748b}.cart-price{white-space:nowrap}.btn-remove{min-height:38px;border:1px solid #fecaca;border-radius:9px;background:#fff;color:#b91c1c;padding:8px 11px;font-weight:800;cursor:pointer}.coupon-row-v3{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;align-items:end;padding:16px;border-radius:14px;background:#f8fafc}.coupon-row-v3>div{display:flex;flex-direction:column}.coupon-row-v3 label{font-weight:900;color:#0f172a}.coupon-row-v3 small{color:#64748b}.coupon-row-v3 input{min-height:44px;text-transform:uppercase}.btn-link{display:block;padding:10px;text-align:center;color:#0d6fcb!important;text-decoration:none;font-weight:900}.empty-cart{text-align:center;padding:48px 22px}.empty-cart>div{font-size:52px}.empty-cart h2{margin-bottom:6px}.payment-method-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eff6ff;color:#0d47a1;font-size:12px;font-weight:900}.payment-code-label{display:block;margin-top:14px;font-weight:900}.payment-code-label textarea{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:none;background:#f8fafc}.copy-payment{margin-top:8px}.payment-pending{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:13px;border-radius:13px;background:#fff7ed;border:1px solid #fed7aa}.payment-pending>span{flex:0 0 12px;width:12px;height:12px;margin-top:4px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 5px #ffedd5}.payment-pending div{display:flex;flex-direction:column}.payment-pending small{color:#7c2d12;line-height:1.4}.payment-success-icon{display:flex;width:64px;height:64px;margin:12px auto;align-items:center;justify-content:center;border-radius:50%;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.local-test-action{margin-top:18px}.order-values{margin-top:20px}
@media(max-width:980px){.checkout-v3{grid-template-columns:1fr}.checkout-summary.sticky-card{position:static}.checkout-summary{order:2}.checkout-form-card{order:1}.checkout-progress{margin-bottom:18px}}
@media(max-width:700px){.checkout-progress-item b{display:none}.checkout-progress-line{width:42px;margin:0 7px}.checkout-form-card,.checkout-summary,.cart-card{padding:16px}.option-grid-two,.checkout-subpanel{grid-template-columns:1fr}.checkout-choice{min-height:78px}.checkout-section-head{margin-top:8px}.summary-course{grid-template-columns:38px minmax(0,1fr)}.summary-course>b{grid-column:2}.cart-line-v3{grid-template-columns:42px minmax(0,1fr)}.cart-price{grid-column:2}.cart-line-v3 form{grid-column:2}.cart-line-v3 .btn-remove{width:100%}.coupon-row-v3{grid-template-columns:1fr}.coupon-row-v3 .btn-secondary{width:100%;min-height:44px}.checkout-submit{min-height:52px!important}.summary-total strong{font-size:22px}}
@media(max-width:390px){.checkout-progress-line{width:26px}.checkout-progress-item span{width:29px;height:29px}.choice-icon{display:none}.checkout-choice{padding:12px!important}.checkout-title h1{font-size:27px}}

/* ===== Certificado A1 — importação profissional ===== */
.a1-page-head{align-items:flex-end}.a1-eyebrow{display:block;color:#0b63ad;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:7px}
.a1-shell{display:grid;gap:18px}.a1-card{background:#fff;border:1px solid #dfe6ee;border-radius:16px;box-shadow:0 8px 28px rgba(15,23,42,.06);overflow:hidden;padding:0}.a1-main-card{border-top:4px solid #245d87}
.a1-card-title{display:flex;align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid #e8edf3;background:linear-gradient(180deg,#fff,#f9fbfd)}.a1-card-title h2{margin:0;color:#17354f;font-size:20px}.a1-card-title p{margin:4px 0 0;color:#64748b}
.a1-step-number{width:38px;height:38px;border-radius:50%;background:#245d87;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 38px}
.a1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}.a1-span-2{grid-column:1/-1}.a1-field{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#334155}.a1-field>span{font-size:14px}
.a1-field input,.a1-field select,.a1-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;transition:.18s}.a1-field input:focus,.a1-field select:focus,.a1-field textarea:focus{outline:0;border-color:#2f78ae;box-shadow:0 0 0 3px rgba(47,120,174,.13)}.a1-field textarea{min-height:100px;resize:vertical}.a1-field small{color:#64748b;font-weight:600}
.a1-upload-zone{display:flex;align-items:center;gap:14px;border:2px dashed #91a9bd;background:#f7fbfe;border-radius:12px;padding:16px;cursor:pointer;transition:.18s}.a1-upload-zone:hover{border-color:#2f78ae;background:#f0f8fd}.a1-upload-zone input{position:absolute;opacity:0;pointer-events:none}
.a1-upload-icon{width:40px;height:40px;border-radius:8px;background:#2f78ae;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 40px}.a1-upload-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.a1-upload-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e3a52}.a1-upload-copy small{color:#64748b}.a1-upload-button{background:#fff;border:1px solid #afc0ce;border-radius:8px;padding:9px 13px;color:#245d87;font-weight:900}
.a1-password-wrap{position:relative}.a1-password-wrap input{padding-right:48px}.a1-eye{position:absolute;right:4px;top:4px;width:38px;height:36px;padding:0;background:transparent;color:#526b80;border-radius:7px;font-size:18px}.a1-verify-actions{display:flex;align-items:end;gap:12px}.a1-verify-button{background:#2d8751!important;min-height:44px}.a1-verify-button:disabled{opacity:.6;cursor:wait}
.a1-spinner{width:24px;height:24px;border:3px solid #d7e2ea;border-top-color:#2f78ae;border-radius:50%;animation:a1spin .8s linear infinite;margin-bottom:10px}@keyframes a1spin{to{transform:rotate(360deg)}}
.a1-message{margin:0 22px 20px;padding:12px 14px;border-radius:9px;font-weight:750}.a1-message.success{background:#ecfdf3;border:1px solid #9de2b7;color:#166534}.a1-message.error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.a1-certificate-panel{margin:0 22px 22px;border:1px solid #cbdce8;border-radius:12px;overflow:hidden;background:#fbfdff}.a1-certificate-panel.is-hidden{display:none}.a1-certified-head{display:flex;align-items:center;gap:12px;padding:15px 17px;background:#3f8fbd;color:#fff}.a1-certified-icon{width:34px;height:34px;border-radius:50%;background:#fff;color:#27804c;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}.a1-certified-head>div{display:flex;flex-direction:column;flex:1}.a1-certified-head small{opacity:.9;margin-top:2px}.a1-status-ok{background:#dff7e7;color:#17643a;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}
.a1-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.a1-certificate-grid>div{padding:14px 16px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.a1-certificate-grid span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.a1-certificate-grid strong,.a1-certificate-grid code{display:block;margin-top:5px;color:#1e293b;overflow-wrap:anywhere}
.a1-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.a1-options label{display:flex;flex-direction:row;align-items:center;gap:9px;border:1px solid #dce4eb;border-radius:9px;padding:12px;background:#f9fbfc;font-weight:750;color:#334155}.a1-options input{width:auto;height:auto}
.a1-security-note{display:flex;gap:12px;align-items:flex-start;background:#edf6ff;border:1px solid #bfd9ef;border-radius:12px;padding:14px 16px;color:#23435e}.a1-security-note>span{font-size:22px}.a1-footer-actions{display:flex;justify-content:flex-end;gap:10px;padding-bottom:8px}.a1-save-button{background:#2d8751!important;min-width:190px}
@media(max-width:760px){.a1-page-head{align-items:flex-start}.a1-grid,.a1-certificate-grid,.a1-options{grid-template-columns:1fr}.a1-span-2{grid-column:auto}.a1-upload-zone{align-items:flex-start;flex-wrap:wrap}.a1-upload-button{width:100%;text-align:center}.a1-verify-actions{align-items:center}.a1-verify-button{width:100%}.a1-footer-actions{flex-direction:column-reverse}.a1-footer-actions .button{width:100%}.a1-certified-head{flex-wrap:wrap}.a1-status-ok{margin-left:46px}}


/* ===== Gestão profissional de Certificados A1 ===== */
.a1-list-head{align-items:flex-end}.a1-new-button{background:#2d8751!important}
.a1-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.a1-summary-card{background:#fff;border:1px solid #e0e7ef;border-left:4px solid #245d87;border-radius:13px;padding:17px 18px;box-shadow:0 7px 22px rgba(15,23,42,.05)}
.a1-summary-card span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.a1-summary-card strong{display:block;color:#17354f;font-size:30px;margin:6px 0 2px}.a1-summary-card small{color:#718096}
.a1-summary-card.is-success{border-left-color:#2d8751}.a1-summary-card.is-warning{border-left-color:#d59a1b}.a1-summary-card.is-danger{border-left-color:#c94c55}
.a1-list-filters{display:grid;grid-template-columns:minmax(280px,2fr) minmax(180px,1fr) minmax(150px,.8fr) auto auto;gap:10px;background:#fff;border:1px solid #e0e7ef;border-radius:13px;padding:14px;margin-bottom:18px}
.a1-list-filters input,.a1-list-filters select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 11px;background:#fff}.a1-search-box{position:relative}.a1-search-box span{position:absolute;left:12px;top:8px;color:#64748b;font-size:21px}.a1-search-box input{padding-left:38px}
.a1-list-card{background:#fff;border:1px solid #dfe6ee;border-radius:15px;box-shadow:0 8px 28px rgba(15,23,42,.06);overflow:hidden}.a1-list-card-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e8edf3;background:#f9fbfd}.a1-list-card-head h2{margin:0;color:#17354f}.a1-list-card-head p{margin:4px 0 0;color:#64748b}.a1-list-card-head>span{background:#eaf2f8;color:#245d87;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px}
.a1-management-table{width:100%;border-collapse:collapse}.a1-management-table th{background:#27465f;color:#fff;text-align:left;padding:12px 13px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.a1-management-table td{padding:13px;border-bottom:1px solid #e9eef3;vertical-align:middle}.a1-management-table tr:hover td{background:#f9fcfe}.a1-actions-col{min-width:175px}
.a1-transmitter-cell{display:flex;align-items:center;gap:10px;min-width:190px}.a1-cert-icon{width:38px;height:38px;border-radius:9px;background:#dcecf7;color:#245d87;display:flex;align-items:center;justify-content:center;font-weight:950;flex:0 0 38px}.a1-transmitter-cell div{display:flex;flex-direction:column;min-width:0}.a1-transmitter-cell strong{color:#1f3446}.a1-transmitter-cell small,.a1-table-muted{display:block;color:#718096;margin-top:3px;font-size:12px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a1-document{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#334155}.a1-days{display:block;color:#64748b;font-size:12px;margin-top:4px}.a1-days.is-warning{color:#a16207;font-weight:800}.a1-days.is-danger{color:#b4232f;font-weight:800}
.a1-state{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;white-space:nowrap}.a1-state.valido{background:#dcfce7;color:#166534}.a1-state.vencendo{background:#fef3c7;color:#92400e}.a1-state.vencido,.a1-state.invalido{background:#fee2e2;color:#991b1b}.a1-state.inativo,.a1-state.nao_validado{background:#e5e7eb;color:#4b5563}
.a1-default-badge{display:inline-flex;background:#dff5e8;color:#17643a;border:1px solid #a9dfbd;border-radius:7px;padding:6px 9px;font-weight:900;font-size:12px}.a1-link-button{background:transparent!important;color:#246b9c!important;border:0!important;padding:2px!important;text-decoration:underline;font-weight:800;box-shadow:none!important}
.a1-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.a1-row-actions form{margin:0}.a1-action-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9c8d5!important;background:#fff!important;color:#245d87!important;border-radius:7px!important;padding:7px 9px!important;font-size:12px!important;font-weight:850!important;text-decoration:none;box-shadow:none!important}.a1-action-button.danger{color:#a12b36!important;border-color:#e5b2b7!important}.a1-action-button.success{color:#1d7042!important;border-color:#a7d5ba!important}
.a1-mobile-list{display:none}.a1-empty-state{text-align:center;padding:45px 20px}.a1-empty-state>span{width:62px;height:62px;border-radius:15px;background:#dcecf7;color:#245d87;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:950}.a1-empty-state h3{color:#17354f;margin:14px 0 6px}.a1-empty-state p{color:#64748b;margin:0 0 18px}
.a1-list-security{display:flex;align-items:flex-start;gap:12px;background:#edf6ff;border:1px solid #bfd9ef;border-radius:12px;padding:13px 15px;margin-top:16px;color:#23435e}.a1-list-security>span{font-size:22px}.a1-list-security p{margin:3px 0 0;color:#526b80}
@media(max-width:1050px){.a1-summary-grid{grid-template-columns:repeat(2,1fr)}.a1-list-filters{grid-template-columns:1fr 1fr 1fr}.a1-search-box{grid-column:1/-1}.a1-list-filters .button{width:100%}}
@media(max-width:760px){.a1-list-head{align-items:flex-start}.a1-summary-grid{grid-template-columns:1fr 1fr}.a1-list-filters{grid-template-columns:1fr}.a1-search-box{grid-column:auto}.a1-list-card .table-responsive{display:none}.a1-mobile-list{display:grid;gap:12px;padding:12px}.a1-mobile-card{border:1px solid #dce5ec;border-radius:12px;padding:14px}.a1-mobile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.a1-mobile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.a1-mobile-card dl div{background:#f7fafc;border-radius:8px;padding:9px}.a1-mobile-card dt{color:#64748b;font-size:11px;text-transform:uppercase;font-weight:850}.a1-mobile-card dd{margin:4px 0 0;color:#1e293b;font-weight:750;overflow-wrap:anywhere}.a1-list-card-head{align-items:flex-start}.a1-list-card-head>span{display:none}}
@media(max-width:480px){.a1-summary-grid{grid-template-columns:1fr}.a1-mobile-card dl{grid-template-columns:1fr}}

/* FASE 141.1 - contraste correto do botão de recuperação de senha */
.login-card .actions .btn.secondary{background:#0d6335!important;color:#fff!important;border:1px solid #0d6335!important;margin-left:0}.login-card .actions .btn.secondary:hover{background:#084a28!important}


/* FASE 141.1 - botão esqueceu senha */
.actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.actions .btn.secondary{
background:#16a34a !important;
color:#fff !important;
border:2px solid #15803d !important;
box-shadow:none !important;
outline:none !important;
}
.actions .btn.secondary:hover{
background:#15803d !important;
border-color:#166534 !important;
color:#fff !important;
}
.actions .btn.secondary:focus,
.actions .btn.secondary:focus-visible{
outline:3px solid #22c55e !important;
outline-offset:2px;
box-shadow:none !important;
}
.actions .btn.secondary:active{
background:#166534 !important;
transform:translateY(1px);
}
@media(max-width:768px){
.actions{flex-direction:column}
.actions button,
.actions .btn.secondary{width:100%;margin:0}
}

/* FASE 141.5 — Menu Master agrupado, recolhível e responsivo */
.master-accordion{display:flex;flex-direction:column;gap:5px;padding-bottom:16px}
.master-menu-direct,.master-menu-trigger{width:100%;display:flex;align-items:center;gap:13px;min-height:46px;padding:12px 13px;border:0;border-radius:11px;background:transparent;color:#f1f5f9;text-decoration:none;text-align:left;font:inherit;font-weight:750;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.master-menu-direct:hover,.master-menu-direct.active,.master-menu-trigger:hover,.master-menu-group.is-open>.master-menu-trigger{background:linear-gradient(90deg,#0d6fcb,#0b58a3);box-shadow:0 6px 16px rgba(23,111,203,.26);color:#fff}
.master-menu-direct .menu-icon,.master-menu-trigger .menu-icon{width:23px;min-width:23px;text-align:center;font-weight:900}
.master-menu-trigger b,.master-menu-direct b{flex:1}
.menu-chevron{font-size:25px;line-height:1;transition:transform .2s ease;opacity:.85}
.master-menu-group.is-open .menu-chevron{transform:rotate(90deg)}
.master-menu-panel{margin:4px 0 7px 36px;padding:4px 0 5px 11px;border-left:1px solid rgba(191,219,254,.34)}
.master-menu-panel[hidden]{display:none!important}
.master-menu-panel a{display:block;color:#dbeafe;text-decoration:none;padding:9px 11px;margin:2px 0;border-radius:8px;font-size:14px;font-weight:650;line-height:1.25;transition:background .16s ease,color .16s ease,transform .16s ease}
.master-menu-panel a:hover,.master-menu-panel a.active{background:rgba(13,111,203,.52);color:#fff;transform:translateX(2px)}
.master-menu-panel a.active{box-shadow:inset 3px 0 0 #7dd3fc}
.master-app.sidebar-mini .master-menu-trigger b,.master-app.sidebar-mini .master-menu-direct b,.master-app.sidebar-mini .menu-chevron,.master-app.sidebar-mini .master-menu-panel{display:none!important}
.master-app.sidebar-mini .master-menu-trigger,.master-app.sidebar-mini .master-menu-direct{justify-content:center;padding:13px 8px}
.master-app.sidebar-mini .master-menu-trigger .menu-icon,.master-app.sidebar-mini .master-menu-direct .menu-icon{font-size:18px;width:auto;min-width:0}
@media(max-width:980px){
  .master-menu-trigger b,.master-menu-direct b,.master-menu-trigger .menu-chevron{display:block!important}
  .master-menu-trigger,.master-menu-direct{justify-content:flex-start!important;padding:12px 13px!important}
  .master-menu-panel{margin-left:36px!important}
}

/* ETAPA 142.2 — identidade visual única em todas as áreas */
.public-brand img{width:270px;max-width:34vw;height:auto;max-height:66px;object-fit:contain}
.sidebar-logo img{width:235px;max-width:100%;height:auto;max-height:74px;object-fit:contain}
.brand-hero img{width:min(520px,72%);height:auto;max-height:126px;object-fit:contain}
.login-logo{width:min(330px,84%);max-width:330px;height:auto;max-height:80px;object-fit:contain}
.sst-brand img{width:min(300px,48vw);height:auto;max-height:72px;object-fit:contain}
.master-app.sidebar-mini .sidebar-logo img{width:66px;max-height:42px;object-fit:cover;object-position:left}
@media(max-width:900px){
  .public-brand img{width:210px;max-width:48vw;max-height:54px}
  .brand-hero img{width:min(430px,88%)}
}
@media(max-width:560px){
  .public-brand img{width:155px;max-width:46vw;max-height:42px}
  .sidebar-logo img{width:210px;max-height:64px}
  .login-logo{width:min(285px,88%);max-height:70px}
  .sst-brand img{width:210px;max-height:54px}
}

/* =========================================================
   ETAPA 143.3 — CORREÇÃO VISUAL COMPLETA / LOGO OFICIAL
   ========================================================= */
:root{
  --logo-public-width: 250px;
  --logo-master-width: 220px;
  --logo-login-width: 300px;
  --logo-sst-width: 250px;
}

/* Uma única identidade visual: sempre a logo oficial da vitrine */
.public-brand{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  flex:0 1 auto;
  min-width:0;
  margin:0;
  text-decoration:none;
}
.public-brand img{
  display:block;
  width:var(--logo-public-width)!important;
  max-width:32vw!important;
  height:auto!important;
  max-height:60px!important;
  object-fit:contain!important;
  object-position:left center;
}

/* Menu Master */
.sidebar-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:86px;
  margin:0 0 18px;
  padding:6px 4px 12px;
  gap:5px;
}
.sidebar-logo img{
  display:block;
  width:var(--logo-master-width)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:center;
}
.sidebar-logo small{margin:0;text-align:center}
.master-app.sidebar-mini .sidebar-logo{
  min-height:62px;
  padding:5px 0 10px;
}
.master-app.sidebar-mini .sidebar-logo img{
  width:58px!important;
  height:42px!important;
  max-height:42px!important;
  object-fit:cover!important;
  object-position:left center!important;
}

/* Login */
.login-screen{
  min-height:calc(100vh - 110px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 14px;
}
.login-card{
  width:min(100%,480px);
  max-width:480px;
  margin:0 auto!important;
  padding:30px;
}
.login-logo{
  display:block;
  width:var(--logo-login-width)!important;
  max-width:88%!important;
  height:auto!important;
  max-height:74px!important;
  margin:0 auto 22px!important;
  object-fit:contain!important;
}
.login-card h1{text-align:center;margin-top:0}
.login-card>.hint{text-align:center}

/* Gestão SST */
.sst-brand{
  display:inline-flex;
  align-items:center;
  min-width:0;
}
.sst-brand img{
  display:block;
  width:var(--logo-sst-width)!important;
  max-width:42vw!important;
  height:auto!important;
  max-height:62px!important;
  object-fit:contain!important;
  object-position:left center;
}

/* Logos em painéis e destaques nunca devem estourar o conteúdo */
.brand-hero{padding:12px 12px 24px}
.brand-hero img{
  width:min(420px,72%)!important;
  max-height:104px!important;
  object-fit:contain!important;
}

@media (max-width:900px){
  :root{
    --logo-public-width:210px;
    --logo-master-width:200px;
    --logo-login-width:280px;
    --logo-sst-width:210px;
  }
  .public-brand img{max-width:48vw!important;max-height:52px!important}
  .sidebar-logo img{max-height:54px!important}
  .sst-brand img{max-width:50vw!important;max-height:54px!important}
  .brand-hero img{width:min(360px,78%)!important;max-height:88px!important}
}

@media (max-width:560px){
  :root{
    --logo-public-width:150px;
    --logo-master-width:180px;
    --logo-login-width:250px;
    --logo-sst-width:180px;
  }
  .topbar{min-height:64px!important;padding:8px 12px!important}
  .public-brand img{max-width:45vw!important;max-height:40px!important}
  .sidebar-logo{min-height:70px;margin-bottom:12px}
  .sidebar-logo img{max-height:48px!important}
  .login-screen{padding:18px 10px}
  .login-card{padding:22px 18px}
  .login-logo{max-height:62px!important;margin-bottom:18px!important}
  .sst-brand img{max-width:52vw!important;max-height:46px!important}
  .brand-hero img{width:min(300px,84%)!important;max-height:72px!important}
}

/* =========================================================
   ETAPA 143.4 — LAYOUT OTIMIZADO PARA ZOOM 100%
   ========================================================= */
html{font-size:16px;overflow-x:hidden}
body{min-width:0;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}
.container{width:min(100% - 32px,1280px);max-width:1280px;margin:22px auto;padding:0}
.card{padding:20px;border-radius:14px}

/* Cabeçalho público compacto e proporcional em 100% */
.topbar{height:64px;min-height:64px;padding:0 clamp(16px,2.3vw,32px);gap:18px}
.public-brand img{width:220px!important;max-width:28vw!important;max-height:48px!important}
.topbar nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(8px,1.25vw,18px);min-width:0}
.topbar nav a{margin-left:0;font-size:14px;white-space:nowrap}

/* Área do aluno: mais conteúdo visível sem reduzir legibilidade */
.student-page-head{padding:18px 20px;margin-bottom:16px}
.student-page-head h1{font-size:clamp(24px,2vw,30px)}
.student-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}
.student-course-card{padding:18px;min-height:0}
.student-course-card h2{font-size:20px;line-height:1.25;margin:12px 0 6px}
.student-course-card>p{margin:4px 0 10px;line-height:1.45}
.student-course-details{margin:9px 0;gap:8px}
.student-course-details span{padding:8px}
.student-full-button{margin-top:12px;padding:11px 14px}

/* Master: proporções adequadas para monitores em 100% */
.master-app{grid-template-columns:270px minmax(0,1fr)}
.master-sidebar{width:270px;padding:18px 14px}
.master-content{grid-column:2}
.sidebar-logo{min-height:68px;margin-bottom:10px;padding:2px 4px 8px}
.sidebar-logo img{width:190px!important;max-height:48px!important}
.master-menu-trigger,.master-menu-direct{min-height:42px;padding:10px 11px;font-size:14px}
.master-menu-panel a{padding:8px 10px;font-size:13px}
.master-topbar{height:66px;min-height:66px;padding:0 22px;gap:12px}
.master-main{max-width:1440px;padding:22px 22px 24px}
.brand-hero{padding:6px 12px 18px}
.brand-hero img{width:min(350px,55%)!important;max-height:78px!important}
.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}
.kpi-card{padding:14px;gap:12px}
.kpi-card .kpi-icon{width:48px;height:48px;flex-basis:48px;font-size:21px}
.kpi-card strong{font-size:22px}
.dashboard-grid,.bottom-grid{gap:12px}
.panel{padding:16px}
.page-head{padding:15px 17px}

/* Formulários e tabelas sem estouro horizontal */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0}
.table-responsive,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{min-width:680px}

/* Player ocupa exatamente a janela em zoom 100% */
body:has(.player){overflow:hidden!important}
.player{height:100vh;height:100dvh;min-height:0;grid-template-rows:54px minmax(0,1fr) 58px}
.player-top{padding:0 14px;gap:12px;min-width:0}
.player-top>div{min-width:0}
.player-top small,.player-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55vw}
.player-top b{font-size:15px}
.player-body{grid-template-columns:minmax(0,1fr) clamp(220px,18vw,260px);min-height:0;overflow:hidden}
.player-stage{width:100%;height:100%;overflow:hidden}
.player-frame{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;border:0}
.player-side{padding:10px;min-width:0}
.player-side h3{font-size:15px}
.player-side a{padding:8px 9px;margin-bottom:6px;font-size:12px;line-height:1.3}
.player-bottom{padding:0 12px;gap:8px;min-width:0}
.player-bottom>div{display:flex;align-items:center;gap:6px;min-width:0}
.player-btn{padding:9px 12px;font-size:13px;white-space:nowrap}
.player-watermark{right:12px;bottom:9px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:1180px){
  .master-app{grid-template-columns:244px minmax(0,1fr)}
  .master-sidebar{width:244px}
  .master-main{padding:20px 18px}
  .quick-pill{display:none}
  .player-body{grid-template-columns:minmax(0,1fr)230px}
}
@media(max-width:980px){
  .container{width:min(100% - 24px,1000px)}
  .master-app{display:block}
  .master-content{grid-column:auto}
  .master-sidebar{width:min(86vw,300px)}
  .master-main{padding:18px 14px 22px}
  .form-grid{grid-template-columns:1fr}
  .player-body{grid-template-columns:1fr}
  .player-side{display:none}
}
@media(max-width:760px){
  .topbar{height:auto;min-height:60px;padding:8px 12px;flex-direction:row;align-items:center}
  .public-brand img{width:150px!important;max-width:48vw!important;max-height:38px!important}
  .container{width:min(100% - 20px,720px);margin:14px auto}
  .card{padding:16px}
  .student-course-grid{grid-template-columns:1fr}
  .student-course-card{padding:16px}
  .player{grid-template-rows:50px minmax(0,1fr) 58px}
  .player-top{padding:0 10px}
  .player-top>div:last-child{display:none}
  .player-top small,.player-top b{max-width:88vw}
  .player-bottom{grid-template-columns:1fr auto;overflow-x:auto}
  .player-bottom>div:first-child .player-btn:not(:first-child){display:none}
  .player-right{display:none!important}
  .player-btn{padding:9px 10px;font-size:12px}
  table{min-width:620px}
}
@media(max-width:420px){
  .container{width:min(100% - 16px,400px)}
  .public-brand img{width:138px!important;max-height:34px!important}
  .student-page-head{padding:15px}
  .student-course-details{grid-template-columns:1fr 1fr}
  .player-watermark{font-size:9px;padding:4px 7px}
}


/* ETAPA 146.1 — capa integral no catálogo, sem corte */
.catalog-cover.has-course-cover{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#eef2f3;
}
.catalog-cover.has-course-cover img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center;
}
@media(max-width:720px){
  .catalog-cover.has-course-cover,
  .catalog-cover.has-course-cover img{
    min-height:0;
  }
}
