.product-page{min-height:100vh;background:#06111d;color:#dff5ff}.product-main{min-height:65vh}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.user-chip{padding:8px 12px;border:1px solid rgba(56,189,248,.35);border-radius:999px}.product-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:13px 18px;background:#fbbf24;color:#08131f;font-weight:800;text-decoration:none;cursor:pointer}.product-button.small{padding:9px 13px}.auth-shell{min-height:70vh;display:grid;place-items:center;padding:48px 20px}.auth-card{width:min(440px,100%);background:#0b1d2e;border:1px solid rgba(56,189,248,.25);border-radius:20px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.auth-card label{display:grid;gap:7px;margin:16px 0;font-weight:700}.auth-card input{padding:13px;border:1px solid rgba(56,189,248,.3);border-radius:9px;background:#06111d;color:#fff}.form-error,.flash.error{color:#fecaca}.flash{max-width:1200px;margin:12px auto;padding:12px 18px;border-radius:10px;background:#0b1d2e}.flash.success{color:#bbf7d0}.course-heading{display:grid;grid-template-columns:1fr minmax(280px,380px);gap:30px;align-items:start;margin-bottom:34px}.access-box{background:#0b1d2e;border:1px solid rgba(56,189,248,.25);border-radius:16px;padding:22px;display:grid;gap:12px}.access-box strong{font-size:1.2rem}.locked-label{opacity:.65;font-weight:700}.admin-table{overflow:auto;background:#0b1d2e;border-radius:16px;padding:18px}.admin-table table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.admin-table small{display:block;opacity:.65}.admin-table button{padding:8px 10px;margin:2px;border:0;border-radius:7px;cursor:pointer}.admin-table .danger{background:#7f1d1d;color:#fff}@media(max-width:760px){.course-heading{grid-template-columns:1fr}.header-actions{gap:8px}.user-chip{display:none}}


/* Estabilização do produto — mobile */
.product-page { overflow-x: hidden; }
.product-page .catalog-hero h1 { max-width: 100%; overflow-wrap: normal; word-break: normal; }
.product-page .catalog-hero__inner > div { min-width: 0; }
.product-page .site-header__inner { min-width: 0; }
.product-page .header-actions { min-width: 0; justify-content: flex-end; }

@media (max-width:760px){
  .product-page .site-header__inner { width: calc(100% - 20px); gap: 8px; }
  .product-page .brand img { width: 142px; min-width: 0; }
  .product-page .header-link { display:inline-flex; padding:7px 6px; font-size:.72rem; white-space:nowrap; }
  .product-page .product-button.small { padding:8px 9px; font-size:.73rem; white-space:nowrap; }
  .product-page .catalog-hero__inner { width: calc(100% - 28px); }
  .product-page .catalog-hero h1 { font-size: clamp(2.25rem, 12vw, 3.55rem); line-height:.96; letter-spacing:-.05em; }
  .product-page .catalog-shell { width: calc(100% - 28px); }
  .product-page .lesson-card { min-width:0; }
  .product-page .admin-table { padding:10px; }
}
@media (max-width:480px){
  .product-page .brand img { width: 124px; }
  .product-page.user-admin .nav-dashboard { display:none; }
  .product-page .catalog-hero h1 { font-size: clamp(2.05rem, 11.2vw, 3rem); }
  .product-page .auth-card { padding:22px 18px; }
}
@media (max-width:360px){
  .product-page .brand img { width: 112px; }
  .product-page .header-link { font-size:.68rem; padding:6px 4px; }
  .product-page .product-button.small { font-size:.69rem; padding:7px 7px; }
  .product-page .catalog-hero h1 { font-size: 2rem; letter-spacing:-.045em; }
}

/* Produto 2.0.2 — correção adicional do hero em telas pequenas */
@media (max-width:760px){
  .product-page .catalog-hero h1{font-size:clamp(1.9rem,9.4vw,2.75rem);line-height:.98;letter-spacing:-.045em}
}
@media (max-width:430px){
  .product-page .catalog-hero h1{font-size:clamp(1.8rem,9vw,2.35rem);letter-spacing:-.04em}
}

/* Produto 2.1 — preço e checkout */
.course-price{font-size:1.55rem;font-weight:800;margin:.9rem 0 0;color:var(--text-strong,#eef6ff)}
.card-price{font-size:1.08rem;font-weight:800;margin:.7rem 0;color:var(--text-strong,#eef6ff)}
.payment-config-note{font-size:.9rem;opacity:.78}
.payment-result{max-width:720px;margin:7vh auto;padding:clamp(1.4rem,4vw,2.8rem);border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(9,25,40,.82)}
.payment-result h1{margin:.35rem 0 .8rem}.payment-result__actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.4rem}
.payment-result.confirmed{border-color:rgba(70,210,140,.45)}.payment-result.error,.payment-result.rejected{border-color:rgba(255,110,110,.4)}
@media(max-width:640px){.payment-result{margin:2rem .75rem;padding:1.25rem}.payment-result__actions{align-items:stretch;flex-direction:column}.payment-result__actions .product-button{text-align:center}}

/* Produto 2.2 — concessão administrativa */
.grant-form{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,.7fr) minmax(160px,1.5fr);gap:8px;align-items:end;min-width:520px}.grant-form label{display:grid;gap:4px;font-size:.78rem;opacity:.9}.grant-form input{width:100%;box-sizing:border-box;padding:8px;border-radius:7px;border:1px solid rgba(56,189,248,.25);background:#06111d;color:#fff}.grant-form>div{grid-column:1/-1}.admin-table .courtesy{background:#164e63;color:#e6fbff}.access-until{font-size:.9rem;font-weight:700;opacity:.8}@media(max-width:760px){.grant-form{min-width:470px}}

/* STAGIRA 2.2.1 — administração: títulos consistentes e gestão de matrículas */
.product-page .section-heading h1,
.product-page .section-heading h2 {
  margin:7px 0 0;
  font-family:var(--stagira-font-display, Manrope, sans-serif);
  font-size:clamp(1.8rem,4vw,2.6rem);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.025em;
}
.enrollment-actions-cell{min-width:430px}
.enrollment-manage-form{display:grid;grid-template-columns:minmax(125px,.8fr) auto minmax(155px,1fr) auto;gap:8px;align-items:end}
.enrollment-manage-form label{display:grid;grid-template-columns:1fr auto;gap:4px 6px;align-items:end;font-size:.78rem;opacity:.9}
.enrollment-manage-form label input{grid-column:1/-1;width:100%;box-sizing:border-box;padding:8px;border-radius:7px;border:1px solid rgba(56,189,248,.25);background:#06111d;color:#fff}
.enrollment-manage-form label span{font-size:.72rem;opacity:.75}
.enrollment-status-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px}
.admin-table .warning{background:#854d0e;color:#fff}
@media(max-width:760px){
  .enrollment-actions-cell{min-width:380px}
  .enrollment-manage-form{grid-template-columns:minmax(115px,1fr) auto;}
  .enrollment-status-actions{grid-column:1/-1}
}

/* STAGIRA 2.3.0 — administração consolidada */
.admin-console{padding-bottom:54px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}.admin-tabs a{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid rgba(56,189,248,.25);border-radius:999px;color:#dff5ff;text-decoration:none;font-weight:800;background:#0b1d2e}.admin-tabs a.active{background:#fbbf24;color:#08131f;border-color:#fbbf24}.admin-search{display:flex;gap:8px;align-items:center;margin:0 0 14px;flex-wrap:wrap}.admin-search input{min-width:min(360px,100%);padding:11px 12px;border-radius:9px;border:1px solid rgba(56,189,248,.3);background:#06111d;color:#fff}.admin-search button,.admin-search a{padding:10px 13px;border:0;border-radius:8px;background:#164e63;color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.status-pill.ok{background:rgba(34,197,94,.15);color:#bbf7d0}.status-pill.blocked{background:rgba(239,68,68,.16);color:#fecaca}.admin-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 30px}.admin-stat{background:#0b1d2e;border:1px solid rgba(56,189,248,.2);border-radius:14px;padding:18px}.admin-stat strong{display:block;font-size:1.7rem}.admin-stat span{opacity:.72;font-size:.9rem}@media(max-width:760px){.admin-tabs{position:sticky;top:0;z-index:8;background:#06111d;padding:8px 0}.admin-summary-grid{grid-template-columns:1fr}.admin-search{align-items:stretch}.admin-search input{width:100%;min-width:0}}

/* STAGIRA 2.3.1 — CRUD administrativo de alunos e ficha individual */
.admin-create-box{margin:0 0 16px;background:#0b1d2e;border:1px solid rgba(56,189,248,.22);border-radius:14px;padding:14px 16px}.admin-create-box summary{cursor:pointer;font-weight:800;color:#dff5ff}.admin-create-form,.admin-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.admin-create-form label,.admin-edit-form label{display:grid;gap:6px;font-size:.82rem;font-weight:700}.admin-create-form input,.admin-create-form select,.admin-edit-form input,.admin-edit-form select{width:100%;box-sizing:border-box;padding:10px;border:1px solid rgba(56,189,248,.28);border-radius:8px;background:#06111d;color:#fff}.admin-create-form button,.admin-edit-form button{align-self:end;padding:10px 13px;border:0;border-radius:8px;background:#fbbf24;color:#08131f;font-weight:800;cursor:pointer}.admin-edit-form .courtesy{background:#164e63;color:#e6fbff}.admin-user-link,.admin-action-link,.admin-back{color:#7dd3fc;font-weight:800;text-decoration:none}.admin-user-link:hover,.admin-action-link:hover,.admin-back:hover{text-decoration:underline}.admin-action-link{display:inline-block;margin:0 4px 4px 0}.admin-inline-form{display:inline}.student-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 30px}.admin-panel-card{background:#0b1d2e;border:1px solid rgba(56,189,248,.2);border-radius:16px;padding:18px}.admin-panel-card h2{margin:0 0 8px;font-size:1.15rem}.admin-panel-card .admin-edit-form{grid-template-columns:1fr}.admin-inline-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-muted{opacity:.68;font-size:.86rem}.admin-table-spaced{margin-top:14px}.admin-danger-zone{margin-top:28px;padding:18px;border:1px solid rgba(239,68,68,.28);border-radius:14px;background:rgba(127,29,29,.12)}.admin-danger-zone h2{margin-top:0}.admin-danger-zone .danger{padding:10px 13px;border:0;border-radius:8px;background:#7f1d1d;color:#fff;font-weight:800;cursor:pointer}@media(max-width:900px){.student-admin-grid{grid-template-columns:1fr}.admin-create-form{grid-template-columns:1fr}}@media(max-width:760px){.admin-edit-form{grid-template-columns:1fr}.admin-panel-card{padding:14px}}

/* STAGIRA 2.4.0 — experiência do aluno */
.admin-action-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;margin:2px;border:0;border-radius:7px;background:#164e63;color:#fff;font-weight:800;text-decoration:none;line-height:1.2}.admin-action-button:hover{text-decoration:none;filter:brightness(1.08)}
.course-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin:12px 0 7px}.course-progress>span{display:block;height:100%;background:#38bdf8;border-radius:inherit}.course-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;opacity:.78}.course-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.course-card-actions a{margin-top:0}.student-result-line{font-size:.84rem;opacity:.78;margin-top:8px}.lesson-progress-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.lesson-progress-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(56,189,248,.12);color:#bae6fd;font-size:.78rem;font-weight:800}.lesson-progress-pill.done{background:rgba(34,197,94,.15);color:#bbf7d0}.lesson-card .mini-progress{height:5px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;margin:10px 0}.lesson-card .mini-progress span{display:block;height:100%;background:#38bdf8}.course-complete{color:#bbf7d0;font-weight:800}.resume-note{font-size:.88rem;opacity:.78}

/* STAGIRA 2.5.0 — conclusão e certificação */
.certificate-link{background:#fbbf24!important;color:#08131f!important}.certificate-shell{width:min(1100px,calc(100% - 32px));margin:40px auto 70px}.certificate-sheet{min-height:610px;padding:clamp(30px,6vw,72px);border:2px solid rgba(251,191,36,.7);outline:1px solid rgba(56,189,248,.28);outline-offset:-14px;border-radius:10px;background:#f7f2e8;color:#142235;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.certificate-logo{width:min(280px,55%);margin-bottom:34px}.certificate-kicker{font-weight:900;letter-spacing:.18em;font-size:.78rem}.certificate-sheet h1{font-size:1.25rem;font-weight:600;margin:8px 0}.certificate-name{font-family:Georgia,serif;font-size:clamp(2.1rem,6vw,4rem);line-height:1.05;margin:14px 0 20px}.certificate-sheet h2{font-size:clamp(1.55rem,4vw,2.5rem);margin:8px 0 20px}.certificate-date{margin-top:24px}.certificate-code{margin-top:30px;padding-top:18px;border-top:1px solid rgba(20,34,53,.25);display:grid;gap:6px}.certificate-code span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.certificate-code strong{font-family:monospace;letter-spacing:.08em}.certificate-revoked{font-weight:900;color:#991b1b}.certificate-actions{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}.certificate-actions a{color:#7dd3fc;font-weight:800}.certificate-validation form{margin-bottom:18px}.validation-result{margin-top:20px;padding:16px;border-radius:12px}.validation-result.valid{background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.3)}.validation-result.invalid{background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.3)}
@media print{.site-header,.site-footer,.certificate-actions,.flash{display:none!important}.product-page{background:#fff!important}.certificate-shell{width:100%;margin:0}.certificate-sheet{min-height:92vh;border-color:#9a7b2f;outline-color:#aaa}.certificate-sheet *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(max-width:600px){.certificate-shell{width:calc(100% - 20px);margin:18px auto 40px}.certificate-sheet{min-height:520px;padding:36px 24px;outline-offset:-8px}.certificate-logo{width:190px}}
.auth-help{margin-top:16px;font-size:.92rem;opacity:.85}.auth-help a,.consent-check a,.footer-legal a,.legal-card a{color:#7dd3fc}.consent-check{grid-template-columns:auto 1fr!important;align-items:start!important;font-weight:500!important}.consent-check input{margin:3px 0 0}.legal-shell{width:min(920px,calc(100% - 32px));margin:42px auto 70px}.legal-card{background:#0b1d2e;border:1px solid rgba(56,189,248,.25);border-radius:20px;padding:clamp(22px,4vw,48px);line-height:1.7}.legal-card h1{font-size:clamp(2rem,6vw,3.4rem);margin:.2em 0 .7em}.legal-card h2{margin-top:2em;color:#fbbf24}.legal-warning{padding:14px 16px;border-left:4px solid #fbbf24;background:rgba(251,191,36,.08)}.footer-legal{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.mail-preview summary{cursor:pointer;font-weight:700}.mail-preview pre{white-space:pre-wrap;min-width:300px;max-width:680px;background:#06111d;padding:14px;border-radius:10px;color:#dff5ff}

/* STAGIRA 2.8.0 — posicionamento institucional */
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:22px}.institutional-link{font-weight:700;text-decoration:none}.institutional-principle{max-width:1180px;margin:0 auto;padding:42px 24px 12px}.institutional-principle>div{padding:34px;border:1px solid var(--border,#d9e0e6);border-radius:22px;background:var(--surface,#fff)}.institutional-principle h2{margin:.3rem 0 1rem;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.15}.institutional-page{max-width:1180px}.institutional-about{padding:30px 0 60px}.institutional-about>h1{font-size:clamp(2rem,5vw,4rem);max-width:900px;line-height:1.02}.institutional-lead{font-size:1.2rem;max-width:850px}.institutional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:34px 0}.institutional-grid article{padding:24px;border:1px solid var(--border,#d9e0e6);border-radius:18px}.institutional-grid h2{margin-top:0}.institutional-about blockquote{font-size:clamp(1.35rem,3vw,2rem);font-weight:700;margin:40px 0;padding-left:22px;border-left:4px solid currentColor}.course-positioning{margin:18px 0;padding:16px 18px;border-left:3px solid currentColor;background:rgba(127,127,127,.08);border-radius:0 12px 12px 0}.course-positioning p{margin:.35rem 0}.course-references{font-size:.92rem;opacity:.82}.course-standard{display:block;margin:.6rem 0 1rem;font-weight:700}@media(max-width:720px){.institutional-grid{grid-template-columns:1fr}.institutional-principle{padding:28px 16px 8px}.institutional-principle>div{padding:24px}.hero-actions{align-items:stretch}.hero-actions>*{text-align:center}}
