:root {
  --primary: #0b8dda;
  --primary-dark: #0a5ea8;
  --secondary: #1ea6f2;
  --primary-soft: #e9f6fd;
  --surface: #ffffff;
  --background: #f5f8fc;
  --text: #17233c;
  --muted: #72809a;
  --border: #e6ebf2;
  --success: #16a269;
  --danger: #e5484d;
  --warning: #d97706;
  --radius: 14px;
  --shadow: 0 14px 35px rgba(31, 56, 88, .08);
  --sidebar: 272px;
  --sidebar-collapsed: 88px;
}

/* Área do aluno */
.enrollment-panel{min-height:auto}.enrollment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.enrollment-toolbar .input-wrap{width:min(100%,380px)}.student-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.student-select{display:grid;grid-template-columns:22px 38px 1fr 20px;align-items:center;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.student-select>input{accent-color:var(--primary)}.student-select>span:nth-of-type(2){display:flex;flex-direction:column}.student-select strong{font-size:10px}.student-select small{color:var(--muted);font-size:8px}.student-select>i{color:#d5dbe4}.student-select:has(input:checked){border-color:rgba(11,141,218,.4);background:var(--primary-soft)}.student-select:has(input:checked)>i{color:var(--primary)}.student-hero,.learning-hero{display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:34px;border-radius:18px;color:#fff;background:linear-gradient(125deg,#086bb0,#0b8dda 55%,#25b3f5);box-shadow:0 18px 38px rgba(11,141,218,.18)}.student-hero h2{margin:6px 0;font-size:24px}.student-hero p{margin:0;color:rgba(255,255,255,.76);font-size:11px}.student-hero>i{font-size:70px;opacity:.17}.student-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.student-course-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff}.student-course-card>div:last-child{padding:19px}.student-course-card h3{margin:5px 0;font-size:14px}.student-course-card p{height:34px;overflow:hidden;margin:0;color:var(--muted);font-size:9px}.student-progress{margin:17px 0}.student-progress>span,.quiz-submit>div>span{height:6px;display:block;overflow:hidden;border-radius:99px;background:#e8edf3}.student-progress i,.quiz-submit i[data-answer-progress]{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.student-progress small{display:block;margin-top:5px;color:var(--muted);font-size:8px}.learning-hero{min-height:220px}.learning-hero a{display:block;margin-bottom:20px;font-size:9px}.learning-hero span{font-size:9px;font-weight:700;letter-spacing:1.5px}.learning-hero h1{margin:7px 0;font-size:30px}.learning-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.75);font-size:11px}.learning-content{max-width:900px;margin:24px auto}.lesson-block{margin-bottom:16px;padding:28px;border:1px solid var(--border);border-radius:16px;background:#fff}.lesson-label{color:var(--primary);font-size:8px;font-weight:700;letter-spacing:1px}.lesson-block h2{margin:6px 0 17px;font-size:19px}.lesson-text{color:#526078;font-size:12px;line-height:1.9}.lesson-image{width:100%;max-height:600px;border-radius:13px;object-fit:contain}.resource-card,.video-link{display:flex;align-items:center;gap:14px;padding:18px;border-radius:13px;color:var(--primary);background:var(--primary-soft)}.resource-card>i,.video-link>i{font-size:27px}.resource-card span{display:flex;flex:1;flex-direction:column}.resource-card strong{font-size:11px}.resource-card small{color:var(--muted);font-size:8px}.final-assessment{display:flex;gap:22px;padding:30px;border-radius:17px;background:linear-gradient(135deg,#edf8fe,#fff);border:1px solid #cfeafb}.final-assessment>i{font-size:40px;color:var(--primary)}.final-assessment h2{margin:5px 0}.final-assessment p{color:var(--muted);font-size:10px}.eligibility-message{padding:12px;border-radius:10px;color:#98670f;background:#fff2d5;font-size:9px}.quiz-header{display:flex;justify-content:space-between;padding:25px;border-radius:16px;color:#fff;background:linear-gradient(125deg,var(--primary-dark),var(--primary))}.quiz-header h2{margin:5px 0}.quiz-header p{margin:0;color:rgba(255,255,255,.75);font-size:10px}.quiz-header>div:last-child{display:flex;flex-direction:column;align-items:center}.quiz-header strong{font-size:30px}.quiz-header small{font-size:8px}.quiz-form{max-width:920px;margin:20px auto}.quiz-question{margin:0 0 14px;padding:22px;border:1px solid var(--border);border-radius:15px;background:#fff}.quiz-question legend{display:flex;align-items:center;gap:10px;padding:0 5px;font-size:12px;font-weight:600}.quiz-question legend span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--primary)}.quiz-question>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.quiz-question input{position:absolute;opacity:0}.quiz-question label span{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--border);border-radius:11px;color:#607087;font-size:10px;cursor:pointer}.quiz-question label b{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#edf1f5}.quiz-question input:checked+span{color:var(--primary-dark);border-color:var(--primary);background:var(--primary-soft)}.quiz-question input:checked+span b{color:#fff;background:var(--primary)}.quiz-submit{position:sticky;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.quiz-submit>div{min-width:210px}.quiz-submit strong{font-size:9px}.quiz-submit>div>span{margin-top:6px}.result-card{max-width:620px;margin:35px auto;padding:45px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow);text-align:center}.result-icon{width:90px;height:90px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;font-size:35px}.result-card.approved .result-icon{color:#0d8658;background:#e2f7ed}.result-card.failed .result-icon{color:#b46c10;background:#fff2d5}.result-card h1{font-size:24px}.result-card>p{color:var(--muted)}.result-score{display:flex;flex-direction:column;margin:25px 0;padding:25px;border-radius:15px;background:#f7f9fc}.result-score strong{color:var(--primary);font-size:45px}.result-score span{font-size:11px}.result-score small{color:var(--muted);font-size:8px}.result-message{font-size:10px!important}
@media(max-width:860px){.student-course-grid{grid-template-columns:repeat(2,1fr)}.student-selection{grid-template-columns:1fr}}
@media(max-width:560px){.student-course-grid{grid-template-columns:1fr}.student-hero{padding:25px}.student-hero>i{display:none}.lesson-block{padding:20px}.quiz-question>div{grid-template-columns:1fr}.quiz-submit{align-items:stretch;flex-direction:column}.quiz-submit>div,.quiz-submit .btn{width:100%}.enrollment-toolbar{align-items:stretch;flex-direction:column}}

/* Certificados */
.certificate-pending-panel{min-height:auto;margin-bottom:22px}.certificate-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.certificate-pending-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}.certificate-pending-card strong,.certificate-card h3{display:block;font-size:13px}.certificate-pending-card small,.certificate-card p{display:block;margin-top:4px;color:var(--muted);font-size:9px}.certificate-code{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;color:var(--primary-dark);background:var(--primary-soft);font-size:10px;font-weight:700;letter-spacing:.8px}.attempt-status.active{color:#0d8658;background:#dff7eb}.attempt-status.revoked{color:#a64242;background:#ffe4e6}.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.certificate-card{position:relative;overflow:hidden;min-height:250px;padding:26px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(31,56,88,.06)}.certificate-card:before{content:'';position:absolute;right:-80px;top:-100px;width:210px;height:210px;border-radius:50%;background:linear-gradient(135deg,var(--primary-soft),#fff)}.certificate-card>*{position:relative}.certificate-card-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:24px}.certificate-card>span{display:inline-flex;margin-top:22px;padding:7px 10px;border-radius:999px;color:#0d8658;background:#dff7eb;font-size:9px;font-weight:700}.certificate-card.revoked{opacity:.72}.certificate-card.revoked>span{color:#a64242;background:#ffe4e6}.certificate-card h3{margin:13px 0 0;font-size:17px}.certificate-card-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.empty-state-card{max-width:560px;margin:34px auto;padding:42px;border:1px solid var(--border);border-radius:22px;background:#fff;text-align:center;box-shadow:var(--shadow)}.empty-state-card>div{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-size:30px}.empty-state-card h3{margin:0 0 8px}.empty-state-card p{margin:0 auto 22px;max-width:360px;color:var(--muted);font-size:12px}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.certificate-public-page,.certificate-print-page{min-height:100vh;padding:38px;background:linear-gradient(135deg,#f4f9fd,#fff)}.certificate-validation-card{width:min(100%,560px);margin:0 auto;padding:38px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.certificate-validation-card>img{width:145px;margin-bottom:30px}.certificate-validation-card h1{margin:8px 0;font-size:30px}.certificate-validation-card>p{margin:0 0 24px;color:var(--muted);font-size:13px}.certificate-search{display:grid;gap:10px}.certificate-search label{font-size:12px;font-weight:700}.certificate-search .btn{margin-top:6px}.validation-result{display:flex;gap:15px;margin-top:24px;padding:18px;border-radius:16px}.validation-result>i{font-size:30px}.validation-result strong{display:block;margin-bottom:5px}.validation-result p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.validation-result a{display:inline-block;margin-top:10px;color:var(--primary);font-size:11px;font-weight:700}.validation-result.active{background:#e4f8ef;color:#0d8658}.validation-result.revoked{background:#ffecef;color:#b42335}.certificate-document{position:relative;overflow:hidden;width:min(100%,1040px);min-height:720px;margin:0 auto;padding:46px;border:14px solid #e4f4fc;border-radius:28px;background:#fff;box-shadow:0 22px 70px rgba(20,45,78,.12)}.certificate-watermark{position:absolute;inset:auto -50px 80px auto;color:rgba(11,141,218,.05);font-size:100px;font-weight:800;letter-spacing:5px;transform:rotate(-14deg)}.certificate-document header,.certificate-document footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px}.certificate-document header img{width:150px}.certificate-document header span{color:var(--primary);font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.certificate-body{position:relative;padding:90px 30px;text-align:center}.certificate-body p{margin:0;color:#66738a;font-size:18px}.certificate-body h1{margin:18px 0;font-size:54px;line-height:1.1}.certificate-body h2{margin:18px 0 34px;color:var(--primary-dark);font-size:34px}.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:0 auto}.certificate-meta span{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbfcfe;font-size:15px}.certificate-meta strong{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;text-transform:uppercase}.certificate-document footer{border-top:1px solid var(--border);padding-top:22px}.certificate-document footer strong{display:block}.certificate-document footer small{color:var(--muted)}@media print{.no-print{display:none!important}.certificate-print-page{padding:0;background:#fff}.certificate-document{width:100%;min-height:100vh;border-radius:0;box-shadow:none}}@media(max-width:860px){.certificate-grid{grid-template-columns:repeat(2,1fr)}.certificate-pending-grid{grid-template-columns:1fr}.certificate-meta{grid-template-columns:1fr}.certificate-body h1{font-size:38px}.certificate-body h2{font-size:25px}}@media(max-width:560px){.certificate-grid{grid-template-columns:1fr}.certificate-public-page,.certificate-print-page{padding:18px}.certificate-validation-card{padding:26px}.certificate-document{padding:28px;border-width:8px}.certificate-document header,.certificate-document footer{align-items:flex-start;flex-direction:column}.certificate-body{padding:48px 0}.certificate-body h1{font-size:30px}.certificate-body h2{font-size:21px}}

/* Relatórios */
.report-filter-panel{min-height:auto;margin-bottom:22px}.report-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px}.report-filter-form .form-group{margin-bottom:0}.report-filter-actions{display:flex;gap:9px}.report-tabs{display:flex;gap:10px;margin:24px 0 14px;overflow-x:auto}.report-tabs button{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;border:1px solid var(--border);border-radius:999px;color:#617088;background:#fff;font-size:12px;font-weight:700;white-space:nowrap}.report-tabs button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 18px rgba(11,141,218,.2)}.report-panel{display:none}.report-panel.active{display:block}.attempt-status.inactive{color:#7c8799;background:#eef2f6}@media(max-width:1040px){.report-filter-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.report-filter-form{grid-template-columns:1fr}.report-filter-actions{display:grid;grid-template-columns:1fr}.report-filter-actions .btn{width:100%}.table-toolbar{align-items:stretch;flex-direction:column}}

/* Configurações */
.settings-layout{display:grid;gap:22px}.settings-panel{min-height:auto}.settings-section-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:22px}.settings-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:20px;box-shadow:0 12px 24px rgba(11,141,218,.18)}.settings-section-heading h3{margin:4px 0 5px;font-size:16px}.settings-section-heading p{margin:0;color:var(--muted);font-size:10px}.settings-two-col .span-2{grid-column:auto}.color-input-wrap input[type=color]{width:44px;min-width:44px;height:34px;padding:0;border:0;background:transparent;cursor:pointer}.color-input-wrap input[data-color-text]{font-weight:700;letter-spacing:.5px;text-transform:uppercase}.settings-shortcut{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:20px;padding:15px;border:1px solid rgba(11,141,218,.14);border-radius:15px;background:linear-gradient(135deg,#fff,var(--primary-soft))}.settings-shortcut>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:#fff;font-size:18px;box-shadow:0 8px 18px rgba(31,56,88,.05)}.settings-shortcut strong{display:block;font-size:12px}.settings-shortcut small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}.settings-test-actions{display:flex;align-items:flex-start;justify-content:flex-start;padding-top:25px}.settings-test-actions .btn{width:fit-content;color:#263653;border-color:#c7d5e6;background:#fff;box-shadow:0 8px 18px rgba(31,56,88,.04);opacity:1}.settings-test-actions .btn i{color:var(--primary)}.settings-test-actions .btn:hover{color:var(--primary-dark);border-color:rgba(11,141,218,.55);background:#fff;box-shadow:0 12px 26px rgba(11,141,218,.09);transform:translateY(-1px)}.settings-save-bar{position:sticky;bottom:18px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(11,141,218,.18);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.settings-save-bar div{display:flex;flex-direction:column}.settings-save-bar strong{font-size:13px}.settings-save-bar span{color:var(--muted);font-size:9px}.form-group>small:not(.field-error){display:block;margin-top:6px;color:var(--muted);font-size:9px}@media(max-width:760px){.settings-two-col .span-2{grid-column:auto}.settings-shortcut{grid-template-columns:42px minmax(0,1fr)}.settings-shortcut .btn{grid-column:1/-1;width:100%}.settings-test-actions{padding-top:0}.settings-test-actions .btn{width:100%}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .btn{width:100%}}

/* Notificações */
.notification-list{display:grid;gap:14px;margin-top:22px}.notification-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(31,56,88,.04)}.notification-card.unread{border-color:rgba(11,141,218,.28);background:linear-gradient(135deg,#fff,var(--primary-soft))}.notification-card.read{opacity:.74}.notification-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:20px}.notification-copy>div{display:flex;align-items:center;gap:9px}.notification-copy strong{font-size:13px}.notification-copy span{padding:4px 7px;border-radius:999px;color:#fff;background:var(--danger);font-size:8px;font-weight:800;text-transform:uppercase}.notification-copy p{margin:6px 0;color:#536179;font-size:11px;line-height:1.6}.notification-copy small{color:var(--muted);font-size:9px}.notification-actions{display:flex;align-items:center;gap:8px}.notification-actions .btn{min-height:38px;padding:0 13px;font-size:10px}@media(max-width:720px){.notification-card{grid-template-columns:44px 1fr}.notification-icon{width:44px;height:44px}.notification-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}.notification-actions .btn{width:100%}}

/* Saúde do sistema */
.health-panel{min-height:auto}.health-list{display:grid;gap:11px}.health-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff}.health-item>div{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;font-size:18px}.health-item.ok>div{color:#0d8658;background:#e2f7ed}.health-item.fail>div{color:#b42335;background:#ffecef}.health-item span{display:flex;min-width:0;flex-direction:column}.health-item strong{font-size:12px}.health-item small{margin-top:3px;color:var(--muted);font-size:9px}.health-item em{padding:6px 9px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}.health-item.ok em{color:#0d8658;background:#dff7eb}.health-item.fail em{color:#b42335;background:#ffecef}@media(max-width:560px){.health-item{grid-template-columns:38px 1fr}.health-item em{grid-column:2;width:fit-content}}

/* Avaliações */
.editor-head-actions{display:flex;gap:9px}.assessment-overview{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:20px}.assessment-progress{min-height:auto;display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:18px}.progress-ring{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) var(--progress),#e9eef4 0);position:relative}.progress-ring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}.progress-ring span{position:relative;display:flex;align-items:baseline}.progress-ring strong{font-size:22px}.progress-ring small{color:var(--muted);font-size:9px}.assessment-progress h3{margin:4px 0;font-size:13px}.assessment-progress p{margin:0;color:var(--muted);font-size:9px}.assessment-state{padding:6px 9px;border-radius:999px;font-size:8px;font-weight:700}.assessment-state.draft{color:#99640a;background:#fff2d5}.assessment-state.ready{color:#0d8658;background:#dff7eb}.assessment-settings{min-height:auto}.assessment-settings form{margin-top:18px}.question-section{margin-top:24px}.question-list{display:grid;gap:12px;margin-top:14px}.question-item{display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto;align-items:start;gap:12px;padding:17px;border:1px solid var(--border);border-radius:14px;background:#fff}.question-number{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:11px;font-weight:700}.question-copy h4{margin:3px 0 11px;font-size:11px}.option-preview{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px}.option-preview span{overflow:hidden;color:#8995a7;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.option-preview span i{margin-right:5px;color:#c2cad5;font-size:7px}.option-preview span.correct{color:#0d8658;font-weight:600}.option-preview span.correct i{color:#16a269}.alternatives-editor>label{display:block;margin-bottom:9px;color:#344159;font-size:12px;font-weight:600}.alternative-row{display:grid;grid-template-columns:44px 1fr;gap:9px;margin-bottom:9px}.correct-radio input{position:absolute;opacity:0}.correct-radio span{height:50px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;color:#78859a;background:#f7f9fc;font-size:12px;font-weight:700;cursor:pointer}.correct-radio input:checked+span{color:#fff;border-color:var(--success);background:var(--success);box-shadow:0 6px 14px rgba(22,162,105,.2)}
@media(max-width:860px){.assessment-overview{grid-template-columns:1fr}}
@media(max-width:560px){.editor-head-actions{display:grid;grid-template-columns:1fr}.assessment-progress{grid-template-columns:72px 1fr}.progress-ring{width:68px;height:68px}.assessment-state{grid-column:2;width:fit-content}.question-item{grid-template-columns:28px 34px minmax(0,1fr)}.question-item>.content-actions{grid-column:3}.option-preview{grid-template-columns:1fr}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--background); font-family: Poppins, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea, option { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { border: 0; cursor: pointer; }
:focus-visible { outline: 3px solid rgba(11, 141, 218, .24); outline-offset: 2px; }

.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border-radius: 11px; font-weight: 600; transition: .2s ease; }
.btn:disabled { cursor: wait; opacity: .7; }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 10px 24px rgba(11,141,218,.25); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(11,141,218,.3); }
.btn-outline { color: #4a5871; background: #fff; border: 1px solid var(--border); }
.btn-danger { color: #fff; background: var(--danger); }
.btn-white { color: var(--primary-dark); background: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.btn-block { width: 100%; }
.eyebrow { color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: 1.6px; }
.eyebrow.light { color: rgba(255,255,255,.78); }

/* Autenticação */
.auth-body { min-height: 100vh; background: #fff; }
.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, 1.05fr) minmax(480px, .95fr); }
.login-showcase { position: relative; overflow: hidden; display: flex; align-items: center; padding: 8vw; color: #fff; background: linear-gradient(145deg, #075b9c 0%, #087cc5 42%, #16a5ef 100%); }
.login-showcase::before { content: ''; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0); background-size: 26px 26px; }
.showcase-content { position: relative; z-index: 2; max-width: 620px; }
.showcase-badge { display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(10px); font-size: 12px; font-weight: 600; }
.showcase-content h1 { margin: 28px 0 20px; max-width: 590px; font-size: clamp(38px, 4.4vw, 66px); line-height: 1.08; letter-spacing: -2px; }
.showcase-content h1 span { color: #bceaff; }
.showcase-content > p { max-width: 530px; margin: 0; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.8; }
.showcase-features { display: flex; gap: 35px; margin-top: 46px; }
.showcase-features > div { display: flex; align-items: center; gap: 14px; }
.showcase-features > div > i { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; background: rgba(255,255,255,.16); }
.showcase-features span { display: flex; flex-direction: column; }
.showcase-features strong { font-size: 13px; }
.showcase-features small { margin-top: 3px; color: rgba(255,255,255,.64); font-size: 10px; }
.showcase-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); }
.orb-one { right: -140px; top: -170px; width: 520px; height: 520px; box-shadow: inset 0 0 90px rgba(255,255,255,.05); }
.orb-two { left: -180px; bottom: -280px; width: 600px; height: 600px; }
.login-panel { display: grid; place-items: center; padding: 48px 9%; background: #fff; }
.login-card { width: min(100%, 430px); }
.login-logo { width: 154px; height: auto; object-fit: contain; margin-bottom: 55px; }
.login-heading h2 { margin: 8px 0; font-size: 29px; letter-spacing: -.7px; }
.login-heading p { margin: 0 0 30px; color: var(--muted); font-size: 13px; }
.form-group { margin-bottom: 19px; }
.form-group label { display: block; margin-bottom: 8px; color: #344159; font-size: 12px; font-weight: 600; }
.label-row { display: flex; align-items: center; justify-content: space-between; }
.label-row a { margin-bottom: 8px; color: var(--primary); font-size: 11px; font-weight: 600; }
.input-wrap { height: 50px; display: flex; align-items: center; gap: 12px; padding: 0 15px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcfe; transition: .2s ease; }
.input-wrap:focus-within { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px rgba(11,141,218,.09); }
.input-wrap.has-error { border-color: var(--danger); }
.input-wrap > i { width: 17px; color: #9aa6ba; text-align: center; }
.input-wrap input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; }
.input-wrap select { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; }
.input-wrap input::placeholder { color: #aab4c3; }
.password-toggle { padding: 8px; color: #8996aa; background: transparent; }
.field-error { display: block; min-height: 16px; padding-top: 4px; color: var(--danger); font-size: 10px; }
.check-row { width: fit-content; display: flex; align-items: center; gap: 9px; margin: -3px 0 25px; color: #59667c; font-size: 11px; cursor: pointer; }
.check-row input { width: 16px; height: 16px; accent-color: var(--primary); }
.login-support { margin: 26px 0 0; color: #8a96a9; font-size: 10px; text-align: center; }
.login-support i { margin-right: 4px; }

/* Estrutura administrativa */
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 40; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; border-right: 1px solid var(--border); background: rgba(255,255,255,.96); transition: width .25s ease, transform .25s ease; }
.sidebar-brand { height: 90px; display: grid; place-items: center; border-bottom: 1px solid #f0f3f7; }
.brand-full { width: 135px; max-height: 48px; object-fit: contain; }
.brand-icon { display: none; width: 42px; height: 42px; object-fit: contain; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 23px 15px; }
.nav-caption { display: block; margin: 13px 12px 9px; color: #a0aabb; font-size: 9px; font-weight: 700; letter-spacing: 1.3px; white-space: nowrap; }
.nav-item { min-height: 47px; display: flex; align-items: center; gap: 14px; margin-bottom: 5px; padding: 0 14px; border-radius: 11px; color: #66738a; font-size: 12px; font-weight: 500; white-space: nowrap; transition: .2s ease; }
.nav-item i { width: 21px; font-size: 16px; text-align: center; }
.nav-item:hover { color: var(--primary); background: #f3f9fd; }
.nav-item.active { color: #fff; background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 8px 20px rgba(11,141,218,.22); }
.sidebar-footer { padding: 15px; border-top: 1px solid var(--border); }
.collapse-button { width: 100%; min-height: 43px; display: flex; align-items: center; gap: 14px; padding: 0 14px; border-radius: 10px; color: #8390a4; background: #f7f9fc; font-size: 11px; }
.main-area { min-height: 100vh; margin-left: var(--sidebar); transition: margin-left .25s ease; }
.topbar { position: sticky; z-index: 30; top: 0; min-height: 90px; display: flex; align-items: center; justify-content: space-between; padding: 15px 34px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.9); backdrop-filter: blur(14px); }
.topbar-left { display: flex; align-items: center; gap: 14px; }
.breadcrumb { margin: 0 0 3px; color: #9aa5b6; font-size: 9px; }
.breadcrumb strong { color: var(--primary); font-weight: 600; }
.topbar h1 { margin: 0; font-size: 20px; letter-spacing: -.4px; }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.icon-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 12px; color: #657289; background: #fff; }
.notification-button span { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; min-width: 18px; display: flex; align-items: center; justify-content: center; padding: 0; box-sizing: border-box; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--danger); font-size: 8px; line-height: 18px; font-weight: 800; letter-spacing: -.2px; aspect-ratio: 1 / 1; box-shadow: 0 4px 10px rgba(214,75,82,.25); }
.mobile-menu { display: none; }
.user-menu { position: relative; }
.user-trigger { display: flex; align-items: center; gap: 10px; padding: 3px 7px 3px 3px; color: var(--text); background: transparent; }
.avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--secondary)); font-size: 14px; font-weight: 700; }
.avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.user-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 105px; }
.user-copy strong { max-width: 130px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.user-copy small { color: #97a1b2; font-size: 9px; }
.user-trigger > i { color: #a0aabb; font-size: 9px; }
.user-dropdown { position: absolute; top: calc(100% + 10px); right: 0; min-width: 190px; display: none; padding: 8px; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.user-dropdown.open { display: block; }
.user-dropdown a, .user-dropdown button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 8px; color: #56647a; background: transparent; font-size: 11px; text-align: left; }
.user-dropdown a:hover, .user-dropdown button:hover { color: var(--primary); background: var(--primary-soft); }
.page-content { padding: 28px 34px 48px; }
.mobile-overlay { display: none; }

.sidebar-collapsed .sidebar { width: var(--sidebar-collapsed); }
.sidebar-collapsed .main-area { margin-left: var(--sidebar-collapsed); }
.sidebar-collapsed .brand-full, .sidebar-collapsed .nav-item span, .sidebar-collapsed .nav-caption, .sidebar-collapsed .collapse-button span { display: none; }
.sidebar-collapsed .brand-icon { display: block; }
.sidebar-collapsed .nav-item, .sidebar-collapsed .collapse-button { justify-content: center; padding: 0; }
.sidebar-collapsed .collapse-button i { transform: rotate(180deg); }

/* Dashboard */
.welcome-card { min-height: 166px; display: flex; align-items: center; justify-content: space-between; gap: 25px; overflow: hidden; position: relative; padding: 33px 38px; border-radius: 18px; color: #fff; background: linear-gradient(125deg, #086bb0 0%, #0b8dda 55%, #25b3f5 100%); box-shadow: 0 18px 38px rgba(11,141,218,.18); }
.welcome-card::after { content: ''; position: absolute; right: -70px; width: 300px; height: 300px; border: 42px solid rgba(255,255,255,.08); border-radius: 50%; }
.welcome-card > * { position: relative; z-index: 1; }
.welcome-card h2 { margin: 7px 0 6px; font-size: 25px; letter-spacing: -.7px; }
.welcome-card p { margin: 0; color: rgba(255,255,255,.74); font-size: 12px; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 22px; }
.metric-card { min-width: 0; display: flex; align-items: center; gap: 16px; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 7px 20px rgba(37,57,84,.035); }
.metric-icon { flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; font-size: 19px; }
.metric-icon.blue, .quick-icon.blue { color: #0b8dda; background: #e8f5fc; }
.metric-icon.cyan, .quick-icon.cyan { color: #0aa7a6; background: #e5f8f6; }
.metric-icon.green { color: #139462; background: #e5f7ef; }
.metric-icon.purple, .quick-icon.purple { color: #7956d9; background: #f0ebff; }
.metric-card > div:last-child { min-width: 0; display: flex; flex-direction: column; }
.metric-card span { color: #7c899e; font-size: 10px; }
.metric-card strong { margin: 2px 0; font-size: 25px; letter-spacing: -.5px; }
.metric-card small { overflow: hidden; color: #9aa5b6; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.metric-card small i { margin-right: 3px; color: var(--success); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .75fr); gap: 20px; margin-top: 22px; }
.panel-card { min-height: 330px; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.panel-heading h3, .section-heading h3 { margin: 0; font-size: 14px; }
.panel-heading p, .section-heading p { margin: 4px 0 0; color: #97a2b3; font-size: 9px; }
.filter-button { padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; color: #758198; background: #fff; font-size: 9px; }
.filter-button i { margin-left: 6px; font-size: 7px; }
.chart-empty { height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.chart-bars { width: 100%; height: 170px; display: flex; align-items: flex-end; justify-content: space-around; padding: 0 20px; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0, transparent 41px, #f0f3f7 42px); }
.chart-bars span { width: 6%; min-width: 16px; border-radius: 7px 7px 0 0; background: linear-gradient(to top, rgba(11,141,218,.2), rgba(30,166,242,.65)); }
.chart-bars span:nth-child(1) { height: 24%; }.chart-bars span:nth-child(2) { height: 42%; }.chart-bars span:nth-child(3) { height: 35%; }.chart-bars span:nth-child(4) { height: 60%; }.chart-bars span:nth-child(5) { height: 48%; }.chart-bars span:nth-child(6) { height: 72%; }
.chart-empty p { color: #a1abba; font-size: 9px; }
.empty-state { min-height: 250px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state > div { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 18px; color: var(--primary); background: var(--primary-soft); font-size: 20px; }
.empty-state h4 { margin: 14px 0 4px; font-size: 12px; }
.empty-state p { max-width: 220px; margin: 0; color: #9aa5b6; font-size: 9px; line-height: 1.7; }
.quick-section { margin-top: 26px; }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 14px; }
.quick-grid > a { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: #fff; transition: .2s ease; }
.quick-grid > a:hover { transform: translateY(-2px); border-color: rgba(11,141,218,.25); box-shadow: var(--shadow); }
.quick-icon { width: 42px; height: 42px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 12px; }
.quick-grid a > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.quick-grid strong { font-size: 11px; }.quick-grid small { color: #9aa5b6; font-size: 8px; }.quick-grid > a > i { color: #b2bbc8; font-size: 9px; }

/* Modal e erros */
.modal { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 20px; }
.modal.open { display: grid; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(13,25,45,.58); backdrop-filter: blur(5px); }
.modal-card { position: relative; width: min(100%, 430px); padding: 34px; border-radius: 28px; background: #fff; box-shadow: 0 30px 70px rgba(0,0,0,.25); text-align: center; animation: modal-in .2s ease; }
.modal-icon { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 50%; color: var(--warning); background: #fff4dc; font-size: 24px; }
.modal-icon[data-type="error"] { color: var(--danger); background: #ffeaeb; }
.modal-icon[data-type="success"] { color: var(--success); background: #e8f8f1; }
.modal-card h2 { margin: 0 0 8px; font-size: 20px; }.modal-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 27px; }
@keyframes modal-in { from { opacity: 0; transform: scale(.94) translateY(8px); } }
.error-page { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at top, #e6f6ff, #f7f9fc 55%); }
.error-card { width: min(100%, 480px); padding: 45px; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.error-card img { width: 60px; }.error-card > span { display: block; margin-top: 18px; color: var(--primary); font-size: 58px; font-weight: 800; }.error-card h1 { margin: 0; font-size: 24px; }.error-card p { margin: 10px 0 25px; color: var(--muted); font-size: 12px; }

/* Cursos e conteúdos */
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(37,57,84,.04);transition:.2s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-cover{position:relative;height:175px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e7f5fd,#f2faff)}.course-cover img{width:100%;height:100%;object-fit:cover}.course-cover>div{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:var(--primary);background:#fff;font-size:24px;box-shadow:var(--shadow)}.course-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:8px;font-weight:700}.course-cover .course-status{position:absolute;top:13px;right:13px}.course-status.draft{color:#99640a;background:#fff2d5}.course-status.published{color:#0d8658;background:#dff7eb}.course-status.inactive{color:#9a4b50;background:#ffebec}.course-card-body{padding:19px}.course-card-body h3{margin:0 0 7px;font-size:14px}.course-card-body p{height:36px;overflow:hidden;margin:0;color:var(--muted);font-size:9px;line-height:1.8}.course-stats{display:flex;gap:15px;margin-top:15px;color:#8c98aa;font-size:8px}.course-stats i{margin-right:5px;color:var(--primary)}.course-card-actions{display:flex;gap:8px;padding:14px 19px;border-top:1px solid var(--border)}.course-card-actions .btn{min-height:38px;flex:1;padding:0 12px;font-size:9px}.course-card-actions button{width:38px;border-radius:9px;color:#7e8a9e;background:#f2f5f8}.course-empty{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.course-empty>div,.content-empty>div{width:76px;height:76px;display:grid;place-items:center;border-radius:23px;color:var(--primary);background:var(--primary-soft);font-size:28px}.course-empty h3,.content-empty h3{margin:17px 0 4px;font-size:15px}.course-empty p,.content-empty p{margin:0 0 20px;color:var(--muted);font-size:10px}.textarea-field,.file-field{width:100%;border:1px solid var(--border);border-radius:11px;background:#fbfcfe;color:var(--text);font:inherit;font-size:11px}.textarea-field{resize:vertical;padding:13px;line-height:1.7}.textarea-field:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 4px rgba(11,141,218,.09)}.file-field{padding:10px}.form-hint{display:block;margin-top:5px;color:var(--muted);font-size:8px}.hidden{display:none!important}.course-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.course-editor-head h2{margin:5px 0 3px;font-size:23px}.course-editor-head p{margin:0;color:var(--muted);font-size:10px}.back-link{display:block;width:fit-content;margin-bottom:13px;color:var(--primary);font-size:9px;font-weight:600}.back-link i{margin-right:5px}.editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.editor-summary{min-height:auto;height:fit-content}.editor-cover{height:145px;display:grid;place-items:center;overflow:hidden;margin-bottom:14px;border-radius:13px;color:var(--primary);background:var(--primary-soft);font-size:28px}.editor-cover img{width:100%;height:100%;object-fit:cover}.editor-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.editor-info>div{display:flex;flex-direction:column;padding:12px;border-radius:10px;background:#f7f9fc}.editor-info small{color:var(--muted);font-size:7px}.editor-info strong{margin-top:3px;font-size:10px}.content-list{display:grid;gap:10px}.content-item{display:grid;grid-template-columns:34px 44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(37,57,84,.03)}.drag-handle{height:38px;color:#b0b9c6;background:transparent;cursor:grab}.content-type{width:44px;height:44px;display:grid;place-items:center;border-radius:12px}.content-type.text{color:#0b8dda;background:#e6f5fc}.content-type.video{color:#7654ce;background:#f0ebff}.content-type.image{color:#0d9668;background:#e3f7ef}.content-type.pdf{color:#d64b52;background:#ffeaeb}.content-item small{color:var(--muted);font-size:7px;text-transform:uppercase}.content-item h3{margin:2px 0 0;font-size:11px}.content-actions{display:flex;gap:5px}.content-actions button{width:32px;height:32px;border-radius:8px;color:#78869b;background:#f2f5f8}.content-actions button.danger:hover{color:var(--danger);background:#ffebec}.content-empty{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #cfdae7;border-radius:16px;background:rgba(255,255,255,.55);text-align:center}.content-type-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.content-type-picker input{position:absolute;opacity:0}.content-type-picker span{height:58px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:11px;color:#758196;background:#fbfcfe;font-size:9px;font-weight:600;cursor:pointer}.content-type-picker input:checked+span{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px rgba(11,141,218,.08)}

/* Usuários e perfil */
.page-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.page-heading-row h2 { margin: 5px 0 4px; font-size: 23px; letter-spacing: -.6px; }.page-heading-row p { margin: 0; color: var(--muted); font-size: 11px; }
.table-panel { min-height: auto; }.table-toolbar { display: flex; justify-content: space-between; margin-bottom: 18px; }.table-toolbar h3 { margin: 0; font-size: 14px; }.table-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.table-responsive { overflow-x: auto; }.data-table { width: 100%; border-collapse: collapse; }.data-table th { padding: 12px 14px; color: #8a96a9; background: #f7f9fc; font-size: 9px; letter-spacing: .4px; text-align: left; text-transform: uppercase; }.data-table td { padding: 13px 14px; border-bottom: 1px solid #edf1f5; color: #5d6a80; font-size: 10px; vertical-align: middle; }.data-table tbody tr:hover { background: #fbfdff; }
.table-user { display: flex; align-items: center; gap: 11px; min-width: 210px; }.avatar.small { width: 36px; height: 36px; border-radius: 10px; font-size: 11px; }.table-user > span:last-child { display: flex; flex-direction: column; }.table-user strong { color: var(--text); font-size: 10px; }.table-user small { color: #95a0b1; font-size: 8px; }
.badge, .status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; font-size: 8px; font-weight: 600; white-space: nowrap; }.badge-blue { color: #0878b9; background: #e5f4fc; }.badge-purple { color: #6d4bc8; background: #f0ebff; }.status-badge.active { color: #0d8658; background: #e5f7ef; }.status-badge.inactive { color: #a44d52; background: #ffeded; }.status-badge i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.row-actions { display: flex; gap: 5px; }.row-actions button { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: #7f8a9d; background: #f2f5f8; opacity: .55; transition: .2s; }.data-table tr:hover .row-actions button, .row-actions button:hover { opacity: 1; }.row-actions button:disabled { cursor: not-allowed; opacity: .28; }.row-actions button.danger:hover:not(:disabled) { color: var(--danger); background: #ffeded; }.row-actions button.success:hover:not(:disabled) { color: var(--success); background: #e5f7ef; }.actions-column { width: 120px; }
.dt-container { font-size: 10px; color: var(--muted); }.dt-container .dt-search input, .dt-container .dt-length select { border: 1px solid var(--border) !important; border-radius: 8px !important; }.dt-container .dt-paging .dt-paging-button.current { color: #fff !important; border-color: var(--primary) !important; background: var(--primary) !important; }
.form-modal { overflow-y: auto; }.modal-card-wide { width: min(100%, 620px); max-height: calc(100vh - 40px); overflow-y: auto; text-align: left; }.modal-close { position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; border-radius: 9px; color: #8591a4; background: #f2f5f8; }.modal-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; }.modal-heading .modal-icon { flex: 0 0 auto; width: 52px; height: 52px; margin: 0; border-radius: 15px; color: var(--primary); background: var(--primary-soft); font-size: 18px; }.modal-heading h2 { margin: 0 0 3px; }.modal-heading p { font-size: 10px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }.span-2 { grid-column: span 2; }.select-wrap { height: 50px; display: flex; align-items: center; padding: 0 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcfe; }.select-wrap select { flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 12px; appearance: none; }.select-wrap i { color: #9aa6ba; font-size: 8px; }.select-wrap.has-error { border-color: var(--danger); }.form-modal-actions, .panel-form-footer { display: flex; justify-content: flex-end; gap: 10px; padding-top: 20px; border-top: 1px solid var(--border); }
.profile-grid { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 20px; }.profile-summary { min-height: auto; height: fit-content; text-align: center; }.profile-avatar { width: 112px; height: 112px; display: grid; place-items: center; margin: 5px auto 18px; overflow: hidden; border: 5px solid #edf7fd; border-radius: 30px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--secondary)); font-size: 34px; font-weight: 700; }.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }.profile-summary h3 { margin: 20px 0 2px; font-size: 16px; }.profile-summary > p { margin: 0 0 12px; color: var(--muted); font-size: 9px; }.profile-meta { display: grid; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border); text-align: left; }.profile-meta > div { display: flex; align-items: center; gap: 12px; }.profile-meta > div > i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--primary); background: var(--primary-soft); }.profile-meta span { display: flex; flex-direction: column; }.profile-meta small { color: var(--muted); font-size: 8px; }.profile-meta strong { font-size: 9px; }.profile-content { display: grid; gap: 20px; }.form-panel { min-height: auto; }.profile-form { margin-top: 22px; }.crop-area { height: min(50vh, 430px); overflow: hidden; border-radius: 14px; background: #edf1f5; }.crop-area img { display: block; max-width: 100%; }

@media (max-width: 1180px) {
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .login-showcase { padding: 7vw; }
  .showcase-features { flex-direction: column; gap: 16px; }
  .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 860px) {
  .login-page { grid-template-columns: 1fr; }
  .login-showcase { min-height: 310px; padding: 55px 8%; }
  .showcase-content h1 { margin: 18px 0 12px; font-size: 37px; }
  .showcase-content > p { font-size: 13px; }
  .showcase-features { display: none; }
  .login-panel { padding: 44px 22px; }
  .login-logo { margin-bottom: 35px; }
  .sidebar { transform: translateX(-100%); }
  .main-area, .sidebar-collapsed .main-area { margin-left: 0; }
  .sidebar-mobile-open .sidebar { width: min(290px, 86vw); transform: translateX(0); }
  .sidebar-mobile-open .mobile-overlay { position: fixed; z-index: 35; inset: 0; display: block; background: rgba(13,25,45,.48); }
  .sidebar-collapsed .brand-full, .sidebar-collapsed .nav-item span, .sidebar-collapsed .nav-caption, .sidebar-collapsed .collapse-button span { display: initial; }
  .sidebar-collapsed .brand-icon { display: none; }
  .sidebar-collapsed .nav-item, .sidebar-collapsed .collapse-button { justify-content: flex-start; padding: 0 14px; }
  .mobile-menu { display: grid; }
  .topbar { min-height: 78px; padding: 12px 20px; }
  .page-content { padding: 22px 20px 40px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .quick-grid { grid-template-columns: 1fr; }
  .profile-grid { grid-template-columns: 1fr; }.profile-summary { display: grid; grid-template-columns: 112px 1fr; column-gap: 20px; text-align: left; }.profile-avatar { grid-row: span 4; margin: 0; }.profile-summary .btn { width: auto; }.profile-meta { grid-column: span 2; grid-template-columns: 1fr 1fr; }
  .editor-layout{grid-template-columns:1fr}.editor-summary{display:grid;grid-template-columns:150px 1fr;gap:15px}.editor-cover{grid-row:span 2;margin:0}.editor-info{margin:0}
}

@media (max-width: 560px) {
  .login-showcase { min-height: 260px; }
  .showcase-content h1 { font-size: 31px; letter-spacing: -1px; }
  .showcase-content > p { display: none; }
  .login-heading h2 { font-size: 25px; }
  .topbar h1 { font-size: 16px; }
  .breadcrumb, .user-copy, .user-trigger > i { display: none; }
  .topbar-actions { gap: 7px; }
  .metrics-grid { grid-template-columns: 1fr; }
  .welcome-card { align-items: flex-start; flex-direction: column; padding: 27px 24px; }
  .welcome-card h2 { font-size: 21px; }
  .welcome-card .btn { width: 100%; }
  .panel-card { padding: 19px; }
  .filter-button { display: none; }
  .modal-card { padding: 28px 22px; border-radius: 22px; }
  .page-heading-row { align-items: stretch; flex-direction: column; }.page-heading-row .btn { width: 100%; }.form-grid { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }.profile-summary { display: block; text-align: center; }.profile-avatar { margin: 0 auto 18px; }.profile-meta { display: grid; grid-template-columns: 1fr; text-align: left; }.form-modal-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .course-grid{grid-template-columns:1fr}.course-editor-head{align-items:stretch;flex-direction:column}.course-editor-head .btn{width:100%}.editor-summary{display:block}.editor-cover{margin-bottom:14px}.content-item{grid-template-columns:28px 40px minmax(0,1fr)}.content-actions{grid-column:3;justify-content:flex-end}.content-type-picker{grid-template-columns:1fr 1fr}
}

.attempt-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.metric-card { padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow); }
.metric-card span, .metric-card small { display: block; color: var(--muted); font-size: 10px; font-weight: 600; }
.metric-card strong { display: block; margin: 7px 0 3px; color: var(--text); font-size: 25px; line-height: 1; }
.metric-card.success strong { color: var(--success); }.metric-card.danger strong { color: var(--danger); }.metric-card.info strong { color: var(--primary); }
.attempt-status { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.attempt-status.approved { color: #0d8658; background: #e5f7ef; }.attempt-status.failed { color: #a44d52; background: #ffeded; }.attempt-status.in_progress { color: #0878b9; background: #e5f4fc; }
.muted-line { display: block; margin-top: 3px; color: #9aa5b7; font-size: 8px; font-weight: 500; }
.textarea-wrap { align-items: flex-start; }.textarea-wrap i { margin-top: 13px; }.textarea-wrap textarea { width: 100%; min-height: 92px; resize: vertical; border: 0; outline: 0; color: var(--text); background: transparent; font: inherit; }
.row-actions button:disabled { opacity: .35; cursor: not-allowed; }
.toggle-card{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid #c7d5e6;border-radius:12px;background:#fff;cursor:pointer;transition:.18s ease}.toggle-card:hover{border-color:rgba(11,141,218,.52);box-shadow:0 10px 24px rgba(11,141,218,.07);transform:translateY(-1px)}.toggle-card input{position:absolute;opacity:0}.toggle-card span{position:relative;width:46px;height:26px;flex:0 0 auto;border-radius:999px;background:#cbd5e1;transition:.18s ease}.toggle-card span:before{content:'';position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(31,56,88,.18);transition:.18s ease}.toggle-card input:checked+span{background:linear-gradient(135deg,var(--primary),var(--secondary))}.toggle-card input:checked+span:before{left:24px}.toggle-card strong{font-size:11px;color:var(--text)}
@media (max-width: 980px) { .attempt-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .attempt-summary-grid { grid-template-columns: 1fr; } }

/* Certificado premium */
.certificate-premium-page{min-height:100vh;padding:34px 18px 54px;background:radial-gradient(circle at 18% 18%,rgba(11,141,218,.14),transparent 32%),radial-gradient(circle at 82% 10%,rgba(57,187,255,.16),transparent 28%),linear-gradient(135deg,#eef7fd 0%,#ffffff 55%,#f6fbff 100%)}.certificate-premium-document{position:relative;width:min(100%,1120px);min-height:790px;margin:0 auto;padding:0;border:0;border-radius:34px;background:#ffffff;box-shadow:0 30px 90px rgba(20,45,78,.16);isolation:isolate}.certificate-premium-document:before{content:'';position:absolute;inset:18px;border:1px solid rgba(11,141,218,.18);border-radius:24px;pointer-events:none}.certificate-premium-document:after{content:'';position:absolute;inset:34px;border:2px solid rgba(11,141,218,.08);border-radius:18px;pointer-events:none}.certificate-premium-frame{position:relative;z-index:2;min-height:790px;padding:54px 64px 46px}.certificate-premium-bg{position:absolute;z-index:1;border-radius:999px;filter:blur(0)}.certificate-premium-bg.bg-one{right:-120px;top:-120px;width:330px;height:330px;background:linear-gradient(135deg,rgba(11,141,218,.16),rgba(57,187,255,.08))}.certificate-premium-bg.bg-two{left:-130px;bottom:-160px;width:380px;height:380px;background:linear-gradient(135deg,rgba(57,187,255,.12),rgba(11,141,218,.06))}.certificate-premium-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.certificate-brand-block{display:grid;gap:10px}.certificate-brand-block img{width:168px;height:auto}.certificate-brand-block span{color:#72809a;font-size:11px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase}.certificate-badge-seal{width:118px;height:118px;display:grid;place-items:center;padding:14px;border:1px solid rgba(11,141,218,.24);border-radius:50%;color:#ffffff;background:linear-gradient(145deg,var(--primary),var(--primary-dark));box-shadow:0 16px 36px rgba(11,141,218,.22);text-align:center}.certificate-badge-seal i{font-size:24px}.certificate-badge-seal strong{display:block;margin-top:2px;font-size:22px;line-height:1}.certificate-badge-seal small{display:block;color:rgba(255,255,255,.86);font-size:9px;font-weight:700;text-transform:uppercase}.certificate-premium-kicker{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:34px auto 0;max-width:760px}.certificate-premium-kicker span{height:1px;background:linear-gradient(90deg,transparent,rgba(11,141,218,.45),transparent)}.certificate-premium-kicker strong{color:var(--primary);font-size:13px;font-weight:900;letter-spacing:3.2px;text-transform:uppercase;white-space:nowrap}.certificate-premium-body{padding:54px 28px 34px;text-align:center}.certificate-premium-body .certificate-intro{margin:0;color:#5f6f87;font-size:18px;font-weight:500}.certificate-premium-body h1{margin:18px auto 20px;max-width:880px;color:#14213d;font-size:56px;line-height:1.05;font-weight:800;letter-spacing:-1.8px}.certificate-premium-body h2{margin:18px auto 20px;max-width:850px;color:var(--primary-dark);font-size:32px;line-height:1.2;font-weight:800}.certificate-description{max-width:680px;margin:0 auto 30px;color:#72809a;font-size:13px;line-height:1.8}.certificate-premium-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:820px;margin:0 auto}.certificate-premium-meta span{padding:17px 16px;border:1px solid rgba(11,141,218,.14);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbfe);box-shadow:0 10px 24px rgba(31,56,88,.05);color:#17233a;font-size:16px;font-weight:800}.certificate-premium-meta strong{display:block;margin-bottom:5px;color:#7a879c;font-size:10px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.certificate-premium-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);align-items:end;gap:24px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(11,141,218,.14)}.certificate-signature-block{max-width:340px;text-align:center}.signature-line{height:1px;margin:0 0 12px;background:#8c98aa}.certificate-signature-block strong,.certificate-validation-block strong{display:block;color:#17233a;font-size:14px}.certificate-signature-block small,.certificate-validation-block small{display:block;margin-top:5px;color:#72809a;font-size:10px;line-height:1.5}.certificate-validation-block{padding:16px 18px;border:1px solid rgba(11,141,218,.16);border-radius:18px;background:rgba(248,251,254,.9);text-align:left}.certificate-validation-block span{display:block;margin-bottom:6px;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.certificate-validation-block strong{font-size:16px;letter-spacing:1px}.certificate-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:22px auto 0}.certificate-premium-document .certificate-watermark{right:28px;bottom:86px;color:rgba(11,141,218,.035);font-size:112px;line-height:1;font-weight:900;letter-spacing:7px;transform:rotate(-10deg)}
@media(max-width:860px){.certificate-premium-frame{padding:40px 30px}.certificate-premium-document,.certificate-premium-frame{min-height:auto}.certificate-premium-header,.certificate-premium-footer{grid-template-columns:1fr;display:grid}.certificate-badge-seal{width:96px;height:96px}.certificate-premium-body{padding:42px 0 26px}.certificate-premium-body h1{font-size:38px}.certificate-premium-body h2{font-size:24px}.certificate-premium-meta{grid-template-columns:1fr}.certificate-premium-kicker{grid-template-columns:1fr}.certificate-premium-kicker span{display:none}}@media(max-width:560px){.certificate-premium-page{padding:18px 10px 34px}.certificate-premium-frame{padding:32px 22px}.certificate-premium-document{border-radius:24px}.certificate-premium-document:before{inset:10px;border-radius:18px}.certificate-premium-document:after{display:none}.certificate-brand-block img{width:136px}.certificate-premium-body h1{font-size:30px}.certificate-premium-body h2{font-size:20px}.certificate-premium-body .certificate-intro{font-size:15px}.certificate-premium-document .certificate-watermark{font-size:58px;right:8px;bottom:120px}.certificate-actions .btn{width:100%;justify-content:center}}
@media print{@page{size:A4 landscape;margin:8mm}html,body{width:100%;background:#fff!important}.auth-body{background:#fff!important}.certificate-premium-page{padding:0!important;background:#fff!important}.certificate-actions,.no-print{display:none!important}.certificate-premium-document{width:100%!important;min-height:184mm!important;border-radius:0!important;box-shadow:none!important;page-break-inside:avoid}.certificate-premium-frame{min-height:184mm!important;padding:18mm 20mm 14mm!important}.certificate-premium-document:before{inset:6mm!important;border-radius:6mm!important}.certificate-premium-document:after{inset:10mm!important;border-radius:4mm!important}.certificate-premium-body{padding:14mm 8mm 8mm!important}.certificate-premium-body h1{font-size:34pt!important}.certificate-premium-body h2{font-size:20pt!important}.certificate-premium-bg{display:none!important}.certificate-premium-meta span,.certificate-validation-block{box-shadow:none!important}.certificate-premium-footer{margin-top:8mm!important;padding-top:7mm!important}.certificate-badge-seal{-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-watermark{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Formularios premium - bordas, hover e foco */
.input-wrap,.select-wrap,.textarea-field,.file-field,.dt-container .dt-search input,.dt-container .dt-length select{border-width:2px!important;border-color:#c7d5e6!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 6px 18px rgba(31,56,88,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.input-wrap:hover,.select-wrap:hover,.textarea-field:hover,.file-field:hover,.dt-container .dt-search input:hover,.dt-container .dt-length select:hover{border-color:rgba(11,141,218,.52)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(11,141,218,.07);transform:translateY(-1px)}.input-wrap:focus-within,.select-wrap:focus-within,.textarea-field:focus,.file-field:focus,.dt-container .dt-search input:focus,.dt-container .dt-length select:focus{border-color:var(--primary)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(11,141,218,.12),0 13px 28px rgba(11,141,218,.1)!important;outline:0!important;transform:translateY(-1px)}.input-wrap:focus-within>i,.select-wrap:focus-within>i{color:var(--primary)}.input-wrap.has-error,.select-wrap.has-error,.textarea-field.has-error,.file-field.has-error{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(214,75,82,.11)!important}.input-wrap input:disabled,.input-wrap select:disabled,.select-wrap select:disabled,.textarea-field:disabled{cursor:not-allowed;opacity:.72}.input-wrap:has(input:disabled),.input-wrap:has(select:disabled),.select-wrap:has(select:disabled){background:#f2f5f8!important;box-shadow:none;transform:none}.content-type-picker span,.quiz-question label span,.student-select,.report-tabs button{border-width:2px;border-color:#c7d5e6;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.content-type-picker span:hover,.quiz-question label span:hover,.student-select:hover,.report-tabs button:hover{border-color:rgba(11,141,218,.52);box-shadow:0 10px 24px rgba(11,141,218,.07);transform:translateY(-1px)}.content-type-picker input:checked+span,.quiz-question input:checked+span,.student-select:has(input:checked),.report-tabs button.active{border-width:2px;box-shadow:0 0 0 4px rgba(11,141,218,.1),0 10px 24px rgba(11,141,218,.09)}
.input-wrap input,.input-wrap select,.select-wrap select,.textarea-field,.file-field,.dt-container .dt-search input,.dt-container .dt-length select{font-family:Poppins,Arial,sans-serif!important;font-weight:500}
.avatar:has(img),.profile-avatar:has(img){color:var(--text);background:transparent!important}.avatar:has(img){box-shadow:0 0 0 2px #edf7fd}.profile-avatar:has(img){box-shadow:0 0 0 1px rgba(217,227,239,.75)}

/* Legibilidade global - ajuste centralizado de fontes */
body{font-size:15px;line-height:1.6}
.btn{font-size:15px}
.topbar h1{font-size:23px}
.breadcrumb{font-size:10px}
.nav-item{font-size:14px}
.nav-caption{font-size:10px}
.user-copy strong{font-size:13px}
.user-copy small{font-size:11px}
.eyebrow{font-size:12px}
.page-heading-row p,.panel-heading p,.course-editor-head p,.settings-section-heading p,.table-toolbar p,.login-heading p{font-size:13px;line-height:1.7}
.form-group label,.label-row a,.select-wrap select,.input-wrap input,.input-wrap select,.textarea-field,.file-field{font-size:15px}
.form-group>small:not(.field-error),.form-hint,.field-error{font-size:11px;line-height:1.55}
.course-card-body h3,.student-course-card h3{font-size:17px;line-height:1.35}
.course-card-body p,.student-course-card p{height:48px;font-size:13px;line-height:1.75}
.course-stats,.student-progress small,.content-item small,.editor-info small,.muted-line{font-size:11px;line-height:1.5}
.course-status,.badge,.status-badge,.attempt-status,.assessment-state{font-size:11px}
.course-card-actions .btn{font-size:13px}
.form-modal .modal-card-wide{overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(11,141,218,.55) transparent;scrollbar-gutter:stable}
.form-modal .modal-card-wide::-webkit-scrollbar{width:10px}
.form-modal .modal-card-wide::-webkit-scrollbar-track{margin-block:20px;background:transparent}
.form-modal .modal-card-wide::-webkit-scrollbar-thumb{min-height:48px;border:3px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--secondary),var(--primary));background-clip:padding-box}
.form-modal .modal-card-wide::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary),var(--primary-dark));background-clip:padding-box}
.modal-card-inset-scroll{max-height:calc(100vh - 40px);padding:0!important;overflow:hidden!important}
.modal-card-inset-scroll .modal-close{z-index:3;right:25px;top:20px}
.modal-scroll-content{max-height:calc(100vh - 40px);padding:34px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(11,141,218,.58) transparent;scrollbar-gutter:stable}
.modal-scroll-content::-webkit-scrollbar{width:10px}
.modal-scroll-content::-webkit-scrollbar-track{margin-block:20px;background:transparent}
.modal-scroll-content::-webkit-scrollbar-thumb{min-height:52px;border:3px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--secondary),var(--primary));background-clip:padding-box}
.modal-scroll-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary),var(--primary-dark));background-clip:padding-box}
.password-reset-feedback{display:flex;align-items:flex-start;gap:15px;margin-top:8px;padding:18px;border:1px solid;border-radius:16px;box-shadow:0 12px 28px rgba(31,56,88,.08)}
.password-reset-feedback.hidden{display:none}
.password-reset-feedback-icon{width:48px;height:48px;display:grid;flex:0 0 48px;place-items:center;border-radius:14px;font-size:21px}
.password-reset-feedback strong{display:block;margin:2px 0 5px;font-size:15px;line-height:1.35}
.password-reset-feedback p{margin:0;font-size:12px;line-height:1.65}
.password-reset-feedback.is-success{color:#08754d;border-color:#9eddbf;background:linear-gradient(135deg,#e9faf2,#f8fffb)}
.password-reset-feedback.is-success .password-reset-feedback-icon{color:#fff;background:linear-gradient(135deg,#12a66d,#087c52);box-shadow:0 8px 18px rgba(13,134,88,.2)}
.password-reset-feedback.is-success p{color:#36765f}
.password-reset-feedback.is-error{color:#a13b43;border-color:#f2b4b9;background:linear-gradient(135deg,#fff0f1,#fffafa)}
.password-reset-feedback.is-error .password-reset-feedback-icon{color:#fff;background:linear-gradient(135deg,#e95a62,#c93f48)}
.password-reset-feedback.is-error p{color:#8d5156}
.performance-chart{display:flex;height:258px;flex-direction:column;margin-top:12px}
.performance-legend{display:flex;justify-content:flex-end;gap:18px;color:var(--muted);font-size:10px;font-weight:600}
.performance-legend span{display:inline-flex;align-items:center;gap:6px}
.performance-legend span:before{content:'';width:9px;height:9px;border-radius:3px;background:currentColor}
.performance-legend .approved{color:#159b69}.performance-legend .failed{color:#e06b73}
.performance-bars{height:220px;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));align-items:end;gap:14px;padding:18px 8px 0;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#f0f3f7 53px)}
.performance-month{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 18px 16px;align-items:end;text-align:center}
.performance-columns{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.performance-columns span{width:18px;min-height:3px;height:var(--bar-height);border-radius:7px 7px 2px 2px;transition:height .25s ease,filter .2s ease}
.performance-columns span:hover{filter:brightness(.92)}
.performance-columns .approved{background:linear-gradient(180deg,#4fd29e,#159b69)}
.performance-columns .failed{background:linear-gradient(180deg,#f29aa0,#d95560)}
.performance-month strong{color:#536179;font-size:10px}.performance-month small{color:#9aa5b6;font-size:9px}
.dashboard-activity-list{display:grid;gap:4px;margin-top:16px;max-height:268px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(11,141,218,.45) transparent}
.dashboard-activity-list::-webkit-scrollbar{width:7px}.dashboard-activity-list::-webkit-scrollbar-track{background:transparent}.dashboard-activity-list::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(11,141,218,.38)}
.dashboard-activity-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid #edf1f5}
.dashboard-activity-item:last-child{border-bottom:0}.dashboard-activity-item>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--primary-soft)}
.dashboard-activity-item strong,.dashboard-activity-item small{display:block}.dashboard-activity-item strong{overflow:hidden;color:#263653;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.dashboard-activity-item small{margin-top:3px;color:#98a3b4;font-size:9px}
@media(max-width:560px){.modal-scroll-content{padding:28px 22px}.performance-bars{gap:7px;padding-inline:0}.performance-columns span{width:12px}}
.eligibility-message{display:flex;align-items:center;gap:14px;width:min(100%,620px);margin-top:16px;padding:16px 18px;border:1px solid;border-radius:15px;box-shadow:0 10px 26px rgba(31,56,88,.08)}
.eligibility-message-icon{width:46px;height:46px;display:grid;flex:0 0 46px;place-items:center;border-radius:14px;font-size:19px}
.eligibility-message-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.eligibility-message-copy strong{font-size:14px;line-height:1.35}
.eligibility-message-copy small{font-size:12px;line-height:1.55}
.eligibility-message.is-warning{color:#8a5800;border-color:#f4cc7a;background:linear-gradient(135deg,#fff8e8,#fffdf7)}
.eligibility-message.is-warning .eligibility-message-icon{color:#a86700;background:#ffe8b5;box-shadow:0 7px 16px rgba(168,103,0,.12)}
.eligibility-message.is-warning small{color:#8a641d}
.eligibility-message.is-approved{color:#08754d;border-color:#9eddbf;background:linear-gradient(135deg,#e9faf2,#f8fffb);box-shadow:0 12px 30px rgba(13,134,88,.12)}
.eligibility-message.is-approved .eligibility-message-icon{color:#fff;background:linear-gradient(135deg,#12a66d,#087c52);box-shadow:0 8px 18px rgba(13,134,88,.22)}
.eligibility-message.is-approved small{color:#36765f}
@media print{
  .certificate-premium-document{height:184mm!important;min-height:184mm!important;max-height:184mm!important;overflow:hidden!important}
  .certificate-premium-frame{height:184mm!important;min-height:184mm!important;padding:12mm 16mm 10mm!important}
  .certificate-premium-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important}
  .certificate-brand-block img{width:38mm!important}
  .certificate-badge-seal{width:24mm!important;height:24mm!important;padding:3mm!important}
  .certificate-badge-seal i{font-size:14pt!important}.certificate-badge-seal strong{font-size:14pt!important}.certificate-badge-seal small{font-size:6pt!important}
  .certificate-premium-kicker{grid-template-columns:1fr auto 1fr!important;margin-top:5mm!important}
  .certificate-premium-kicker span{display:block!important}
  .certificate-premium-body{padding:7mm 5mm 4mm!important}
  .certificate-premium-body .certificate-intro{font-size:12pt!important}
  .certificate-premium-body h1{margin:3mm auto!important;font-size:28pt!important;line-height:1.05!important}
  .certificate-premium-body h2{margin:3mm auto 4mm!important;font-size:17pt!important;line-height:1.15!important}
  .certificate-description{margin:0 auto 5mm!important;font-size:9pt!important;line-height:1.45!important}
  .certificate-premium-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3mm!important;max-width:none!important}
  .certificate-premium-meta span{padding:3mm!important;border-radius:4mm!important;font-size:11pt!important}
  .certificate-premium-meta strong{margin-bottom:1mm!important;font-size:6.5pt!important}
  .certificate-premium-footer{grid-template-columns:minmax(0,1fr) minmax(65mm,95mm)!important;margin-top:5mm!important;padding-top:4mm!important;gap:6mm!important}
  .certificate-validation-block{padding:3mm 4mm!important}.certificate-validation-block strong{font-size:10pt!important}.certificate-validation-block small{font-size:6.5pt!important}
}
.content-item h3,.question-copy h4,.assessment-progress h3,.settings-shortcut strong,.health-item strong,.notification-copy strong,.table-toolbar h3{font-size:14px}
.content-type-picker span,.quiz-question label span,.student-select strong,.resource-card strong{font-size:13px}
.student-select small,.resource-card small,.option-preview span,.settings-shortcut small,.settings-save-bar span,.health-item small,.notification-copy small,.profile-meta small,.table-user small{font-size:11px;line-height:1.45}
.notification-copy p,.final-assessment p,.quiz-header p,.result-message,.eligibility-message{font-size:13px;line-height:1.7}
.data-table,.dt-container{font-size:13px}
.data-table th,.data-table td{font-size:13px}
.table-user strong{font-size:13px}
.profile-summary>p,.profile-meta strong{font-size:12px}
.modal-heading p{font-size:13px;line-height:1.6}

/* Ajustes do certificado premium */
.certificate-premium-body .certificate-description{display:block;width:min(100%,620px);margin:0 auto 28px!important;text-align:center!important;text-wrap:balance;line-height:1.75}

/* Dashboard e área do aluno - legibilidade reforçada */
.welcome-card h2{font-size:30px!important;line-height:1.2}
.welcome-card p{font-size:15px!important;line-height:1.7}
.metric-card span{font-size:13px!important;line-height:1.35}
.metric-card strong{font-size:30px!important}
.metric-card small{font-size:12px!important;line-height:1.45}
.quick-grid strong{font-size:14px!important;line-height:1.35}
.quick-grid small{font-size:12px!important;line-height:1.45}
.panel-heading h3{font-size:18px}
.panel-heading p{font-size:13px!important}
.student-hero h2{font-size:32px!important;line-height:1.2}
.student-hero p,.learning-hero p{font-size:16px!important;line-height:1.65;color:rgba(255,255,255,.86)}
.learning-hero a,.learning-hero span{font-size:12px!important}
.learning-hero h1{font-size:38px!important;line-height:1.16}
.student-course-card h3{font-size:19px!important}
.student-course-card p{height:54px!important;font-size:14px!important;line-height:1.7}
.student-progress small{font-size:12px!important}
.lesson-label{font-size:11px!important}
.lesson-block h2{font-size:24px!important;line-height:1.25}
.lesson-text{font-size:16px!important;line-height:1.9}
.resource-card strong,.video-link strong{font-size:15px!important}
.resource-card small{font-size:12px!important}
.final-assessment h2{font-size:24px}
.final-assessment p{font-size:15px!important}
.quiz-header h2{font-size:24px}
.quiz-header p{font-size:15px!important}
.quiz-question legend{font-size:16px!important;line-height:1.4}
.quiz-question label span{font-size:14px!important;line-height:1.5}
.quiz-submit strong{font-size:13px!important}
@media(max-width:560px){.welcome-card h2{font-size:25px!important}.student-hero h2{font-size:26px!important}.learning-hero h1{font-size:30px!important}.lesson-text{font-size:15px!important}}

.video-embed{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border:1px solid rgba(11,141,218,.16);border-radius:18px;background:#0b1220;box-shadow:0 16px 36px rgba(31,56,88,.08)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-embed video{display:block;width:100%;height:100%;background:#000;object-fit:contain}
.video-stream-hint{display:flex;align-items:center;gap:7px;margin-top:9px;color:var(--muted);font-size:11px;line-height:1.5}
.video-stream-hint i{color:var(--primary)}
.video-source-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.video-source-picker input{position:absolute;opacity:0}
.video-source-picker span{min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:2px solid #c7d5e6;border-radius:12px;color:#68768d;background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:.18s ease}
.video-source-picker span:hover{border-color:rgba(11,141,218,.52);box-shadow:0 10px 24px rgba(11,141,218,.07);transform:translateY(-1px)}
.video-source-picker input:checked+span{color:var(--primary-dark);border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 4px rgba(11,141,218,.1)}
@media(max-width:560px){.video-source-picker{grid-template-columns:1fr}}
.answer-help{display:flex;align-items:flex-start;gap:12px;margin:-4px 0 18px;padding:14px 16px;border:1px solid rgba(22,162,105,.22);border-radius:14px;color:#19674a;background:linear-gradient(135deg,#ecfdf5,#ffffff);font-size:13px;line-height:1.55}
.answer-help i{margin-top:2px;color:var(--success)}
.course-url-button{width:38px;min-width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#0b8dda;background:#e8f5fc;transition:.2s ease}
.course-url-button:hover{color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 18px rgba(11,141,218,.2);transform:translateY(-1px)}
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{width:297mm!important;height:210mm!important;margin:0!important;overflow:hidden!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .certificate-premium-page{width:297mm!important;height:210mm!important;min-height:0!important;padding:6mm!important;background:radial-gradient(circle at 18% 18%,rgba(11,141,218,.14),transparent 32%),radial-gradient(circle at 82% 10%,rgba(57,187,255,.16),transparent 28%),linear-gradient(135deg,#eef7fd 0%,#ffffff 55%,#f6fbff 100%)!important;overflow:hidden!important;box-sizing:border-box!important}
  .certificate-premium-document{width:285mm!important;height:198mm!important;min-height:0!important;margin:0 auto!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .certificate-premium-frame{height:198mm!important;min-height:0!important;padding:12mm 16mm 9mm!important;box-sizing:border-box!important}
  .certificate-premium-header{gap:14px!important}
  .certificate-brand-block img{width:142px!important}
  .certificate-brand-block span{font-size:9px!important}
  .certificate-badge-seal{width:94px!important;height:94px!important}
  .certificate-premium-kicker{margin-top:10mm!important}
  .certificate-premium-body{padding:11mm 6mm 6mm!important}
  .certificate-premium-body .certificate-intro{font-size:15pt!important}
  .certificate-premium-body h1{margin:7mm auto 5mm!important;font-size:30pt!important;line-height:1.05!important}
  .certificate-premium-body h2{margin:5mm auto 5mm!important;font-size:18pt!important;line-height:1.16!important}
  .certificate-premium-body .certificate-description{width:176mm!important;max-width:176mm!important;margin:0 auto 5mm!important;text-align:center!important;font-size:12pt!important;line-height:1.5!important}
  .certificate-premium-meta{max-width:190mm!important;gap:4mm!important}
  .certificate-premium-meta span{padding:4mm!important;font-size:12pt!important}
  .certificate-premium-footer{margin-top:7mm!important;padding-top:6mm!important}
  .certificate-validation-block{padding:4mm 5mm!important}
  .certificate-actions,.no-print{display:none!important}
}
.rich-text-editor .tox-tinymce {
    border: 2px solid #c7d5e6 !important;
    border-radius: 14px !important;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.rich-text-editor .tox-tinymce:hover {
    border-color: #9eb5cf !important;
}

.rich-text-editor .tox-tinymce:focus-within {
    border-color: var(--primary, #149de1) !important;
    box-shadow: 0 0 0 4px rgba(20, 157, 225, .12);
}

.lesson-text p {
    margin: 0 0 1em;
}

.lesson-text h2,
.lesson-text h3,
.lesson-text h4 {
    margin: 1.35em 0 .55em;
    color: #102342;
    line-height: 1.3;
}

.lesson-text ul,
.lesson-text ol {
    margin: .8em 0 1.1em;
    padding-left: 1.6em;
}

.lesson-text blockquote {
    margin: 1.2em 0;
    padding: 1em 1.2em;
    border-left: 4px solid var(--primary, #149de1);
    border-radius: 0 12px 12px 0;
    background: #f5f9fd;
}

.lesson-text table {
    width: 100%;
    margin: 1.2em 0;
    border-collapse: collapse;
}

.lesson-text th,
.lesson-text td {
    padding: .75em;
    border: 1px solid #d9e3ef;
    text-align: left;
}

.lesson-text a {
    color: var(--primary, #149de1);
    text-decoration: underline;
}


/* Certificado: composicao equilibrada em uma unica folha A4 horizontal */
@media print {
    @page { size: A4 landscape; margin: 0; }
    .certificate-premium-page { width: 297mm !important; height: 210mm !important; padding: 4mm !important; }
    .certificate-premium-document { width: 289mm !important; height: 202mm !important; max-height: 202mm !important; }
    .certificate-premium-frame { display: flex !important; width: 100% !important; height: 202mm !important; min-height: 0 !important; flex-direction: column !important; padding: 12mm 16mm 10mm !important; overflow: hidden !important; }
    .certificate-premium-header { flex: 0 0 auto !important; align-items: flex-start !important; }
    .certificate-brand-block img { width: 38mm !important; }
    .certificate-brand-block span { margin-top: 1mm !important; font-size: 7pt !important; }
    .certificate-badge-seal { width: 24mm !important; height: 24mm !important; padding: 3mm !important; }
    .certificate-badge-seal i, .certificate-badge-seal strong { font-size: 14pt !important; }
    .certificate-badge-seal small { font-size: 6pt !important; }
    .certificate-premium-kicker { flex: 0 0 auto !important; margin-top: 8mm !important; }
    .certificate-premium-kicker strong { font-size: 9pt !important; }
    .certificate-premium-body { flex: 0 0 auto !important; padding: 9mm 5mm 10mm !important; }
    .certificate-premium-body .certificate-intro { font-size: 12pt !important; }
    .certificate-premium-body h1 { margin: 4mm auto 3.5mm !important; font-size: 29pt !important; line-height: 1.08 !important; }
    .certificate-premium-body h2 { margin: 3.5mm auto 5mm !important; font-size: 17.5pt !important; line-height: 1.18 !important; }
    .certificate-premium-body .certificate-description { width: 174mm !important; max-width: 174mm !important; margin: 0 auto 5mm !important; font-size: 9.5pt !important; line-height: 1.5 !important; }
    .certificate-premium-meta { max-width: 190mm !important; gap: 4mm !important; }
    .certificate-premium-meta span { padding: 3.5mm 4mm !important; border-radius: 4mm !important; font-size: 10.5pt !important; }
    .certificate-premium-meta strong { margin-bottom: 1mm !important; font-size: 6.5pt !important; }
    .certificate-premium-footer { flex: 0 0 auto !important; grid-template-columns: minmax(0, 1fr) minmax(68mm, 94mm) !important; align-items: center !important; gap: 10mm !important; margin-top: auto !important; padding-top: 4.5mm !important; }
    .certificate-signature-block { max-width: 76mm !important; }
    .certificate-signature-block strong, .certificate-validation-block strong { font-size: 9pt !important; }
    .certificate-signature-block small, .certificate-validation-block small { margin-top: 1mm !important; font-size: 6pt !important; line-height: 1.35 !important; }
    .certificate-validation-block { padding: 3mm 4mm !important; border-radius: 4mm !important; }
    .certificate-validation-block span { margin-bottom: 1mm !important; font-size: 6pt !important; }
}


/* Toggle premium de envio de acesso */
.toggle-card-premium{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:16px 18px;border:2px solid #c7d5e6;border-radius:16px;background:linear-gradient(135deg,#ffffff,#f8fbff);box-shadow:0 10px 24px rgba(31,56,88,.04);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.toggle-card-premium:hover{border-color:rgba(11,141,218,.58);box-shadow:0 16px 32px rgba(11,141,218,.09);transform:translateY(-1px)}
.toggle-card-premium input{position:absolute;opacity:0;pointer-events:none}
.toggle-card-premium .toggle-switch{position:relative;width:54px;height:30px;display:block;border-radius:999px;background:#d7e1ed;box-shadow:inset 0 0 0 1px rgba(114,128,154,.14);transition:background .18s ease,box-shadow .18s ease}
.toggle-card-premium .toggle-switch:before{content:'';position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(31,56,88,.22);transition:left .18s ease,transform .18s ease}
.toggle-card-premium input:checked+.toggle-switch{background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 18px rgba(11,141,218,.22)}
.toggle-card-premium input:checked+.toggle-switch:before{left:28px}
.toggle-card-premium input:focus-visible+.toggle-switch{outline:3px solid rgba(11,141,218,.18);outline-offset:3px}
.toggle-card-premium .toggle-copy{width:auto;height:auto;display:flex;min-width:0;flex-direction:column;border-radius:0;background:transparent;box-shadow:none;color:var(--text);transition:none}
.toggle-card-premium .toggle-copy:before{display:none}
.toggle-card-premium .toggle-copy strong{display:block;color:var(--text);font-size:13px;line-height:1.35}
.toggle-card-premium .toggle-copy small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:560px){.toggle-card-premium{grid-template-columns:1fr}.toggle-card-premium .toggle-switch{margin-bottom:2px}}
