: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}}

/* 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 { 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 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: 9px; right: 10px; width: 6px; height: 6px; border: 1px solid #fff; border-radius: 50%; background: var(--danger); }
.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.danger:hover { color: var(--danger); background: #ffeded; }.row-actions button.success:hover { color: var(--success); background: #e5f7ef; }.actions-column { width: 90px; }
.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}
}
