/* Blair Online - camada visual, sem alterar lógica ou banco */
:root{--blair-ink:#10294e;--blair-blue:#2177e4;--blair-sky:#eaf3ff;--blair-soft:#f5f8fd;--blair-border:#e2eaf5}
body{background:var(--blair-soft);color:var(--blair-ink)}
.blair-header{height:78px;position:relative;z-index:10;box-shadow:0 2px 20px rgba(19,48,91,.035)}
.blair-brand{display:flex;align-items:center;gap:12px;text-decoration:none!important}.blair-logo{display:block;max-width:135px;max-height:52px;width:auto;height:auto;object-fit:contain}.blair-brand-text{line-height:1.05;display:flex;flex-direction:column;font-size:21px;color:#132e58;letter-spacing:-.45px}.blair-brand-text b{color:#2477e0}.blair-brand-text small{font-size:9px;letter-spacing:2px;color:#657993;margin-top:6px}
.student-shell{display:grid;grid-template-columns:234px minmax(0,1fr);max-width:1450px;margin:0 auto;min-height:calc(100vh - 155px)}.student-sidebar{background:#fff;border-right:1px solid var(--blair-border);padding:35px 15px;display:flex;flex-direction:column;gap:8px}.sidebar-heading{font-size:10px;letter-spacing:2px;color:#7f92ad;font-weight:900;padding:12px}.side-link{display:flex;align-items:center;gap:12px;padding:13px;border-radius:11px;color:#4e6380;font-weight:700;font-size:14px}.side-link.active,.side-link:hover{background:var(--blair-sky);color:#1767c9;text-decoration:none}.sidebar-bottom{margin-top:auto;padding:20px 12px;color:#284a78;display:flex;flex-direction:column;gap:6px}.sidebar-bottom small{font-size:12px;color:#8899b0}.student-main{padding:48px clamp(18px,4vw,65px) 70px;min-width:0}.student-hello{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.student-hello h1{font-size:clamp(28px,3vw,38px);margin:11px 0;letter-spacing:-1px}.student-hello p{color:#71839c;margin:0 0 10px}.student-outline{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid #d2e2f5;color:#236fce;border-radius:11px;font-size:13px;font-weight:750;background:#fff;text-decoration:none}.student-outline:hover{background:#eff6ff;text-decoration:none}.student-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:27px 0 35px}.student-stat{border:1px solid var(--blair-border);border-radius:17px;background:#fff;padding:22px;min-height:130px;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 22px #173e7205}.stat-symbol{color:#2579df;font-size:21px;margin-bottom:4px}.student-stat strong{font-size:31px;line-height:1}.student-stat span{font-size:13px;color:#71829b}.student-section-title h2{font-size:25px;margin:7px 0 18px}.student-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px}.student-course-card{background:#fff;border:1px solid var(--blair-border);border-radius:17px;overflow:hidden;box-shadow:0 8px 22px #173e7206}.student-course-cover{min-height:156px;background:linear-gradient(135deg,#15325c,#276ed0 78%,#65aeff);padding:19px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.cover-chip{font-size:10px;font-weight:850;letter-spacing:2px;color:#b7dcff}.cover-book{font-size:43px;line-height:1;text-align:center;color:#eaf4ff}.cover-footer{font-size:10px;letter-spacing:1.7px;color:#deedff}.student-course-body{padding:23px}.student-course-body h3{font-size:20px;margin:12px 0 7px}.student-course-body p{color:#7789a1;font-size:13px;line-height:1.6;min-height:38px}.student-course-body .btn{width:100%;margin-top:8px}.course-state{font-size:11px;font-weight:800}.course-state.ready{color:#19844c}.course-state.waiting{color:#aa7a25}.blocked-note{background:#fff7e9;color:#805f2a;border-radius:10px;padding:11px;font-size:12px}.student-empty{grid-column:1/-1;border:1px dashed #b9cdeb;background:#fff;border-radius:16px;padding:45px 24px;text-align:center}.student-empty h3{font-size:22px}.student-empty p{color:#71839c}.empty-icon{font-size:40px;color:#3780d5}.student-help{display:flex;gap:20px;margin-top:28px;border:1px solid var(--blair-border);border-radius:16px;background:#fff;padding:24px}.student-help h3{margin:0 0 6px}.student-help p{margin:0;color:#6f819c;font-size:13px;line-height:1.7}.help-icon{width:43px;height:43px;display:grid;place-items:center;flex:none;background:#edf5ff;border-radius:12px;color:#2877ce;font-size:20px}
.blair-classroom{max-width:1150px}.back-link{font-size:14px}.class-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 10px}.class-heading h1{font-size:clamp(27px,3vw,39px);letter-spacing:-1px}.class-heading p{color:#75849a;line-height:1.6}.class-pill{border-radius:30px;background:#e6f0ff;padding:8px 15px;font-size:12px;font-weight:800;color:#2b6aba;white-space:nowrap}.blair-learning{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);align-items:start}.blair-learning .videobox{width:100%;aspect-ratio:16/9;background:#102340;font-size:24px}.video-placeholder{font-size:40px;text-align:center}.video-placeholder small{display:block;font-size:13px;margin-top:10px}.blair-learning iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.watch-details h2{font-size:21px;margin:18px 0 7px}.watch-details a{display:inline-block;margin:12px 0}.blair-lessons{padding:22px;max-height:600px;overflow:auto}.lesson-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-head h3{margin:0}.lesson-head span{font-size:12px;color:#8494a8}.blair-lesson{padding:17px 0}.blair-play-lesson{border:0;background:none;display:flex;align-items:center;gap:11px;font:inherit;color:#193b6a;text-align:left;cursor:pointer;font-size:14px;font-weight:750;width:100%;padding:0}.blair-play-lesson[aria-current="true"]{color:#1470d8}.lesson-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf3ff;color:#257add;flex:none;font-size:12px}.lesson-actions{padding-left:43px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:10px}.lesson-actions a,.mark-lesson{font-size:12px;color:#1d72cf}.mark-lesson{border:0;background:none;padding:0;cursor:pointer;font-weight:700}.lesson-actions form{margin:0}.completed-label{font-size:12px;color:#11804c;font-weight:750}.class-bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:25px}.class-bottom-grid .panel{padding:25px;margin:0}.class-bottom-grid h2{font-size:22px;margin:8px 0 13px}.class-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.class-card-title strong{color:#1d73da;font-size:23px}.progress-track{height:11px;background:#e7effa;border-radius:20px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#2474df,#5aa7ff);border-radius:20px}.class-progress p,.class-next p{font-size:13px;color:#71839a;line-height:1.6}.progress-success{color:#0e8a4b;font-weight:750;padding-top:8px}.class-next .student-outline{margin:6px 9px 0 0}
@media(max-width:900px){.student-shell{grid-template-columns:1fr}.student-sidebar{flex-direction:row;flex-wrap:wrap;padding:12px 18px;border-right:0;border-bottom:1px solid var(--blair-border)}.sidebar-heading,.sidebar-bottom{display:none}.side-link{font-size:12px;padding:10px}.student-main{padding:30px 18px 50px}.blair-learning,.class-bottom-grid{grid-template-columns:1fr}.blair-lessons{max-height:none}}
@media(max-width:600px){.blair-header{height:auto}.blair-header nav{gap:9px}.blair-header nav a,.blair-header nav button{font-size:12px}.blair-brand-text{font-size:18px}.blair-logo{max-height:38px;max-width:90px}.student-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-stat{padding:16px;min-height:110px}.student-stat:last-child{grid-column:1/-1}.student-hello h1{font-size:28px}.class-pill{display:none}.blair-classroom{padding:28px 15px}.student-help{padding:18px}.student-sidebar{gap:2px}.side-link{gap:5px}}
/* ==========================================
   BLAIR ONLINE - CABEÇALHO MODERNO
   ========================================== */

:root {
    --blair-header-bg: #102B52;
    --blair-header-hover: #93C5FD;
}

/* Barra superior */
.blair-header {
    background: var(--blair-header-bg) !important;
    color: #ffffff !important;
    min-height: 82px;
    height: auto;
    position: relative;
    z-index: 10;
    box-shadow: 0 4px 22px rgba(10, 30, 60, 0.16);
}

/* Menu superior */
.blair-header nav a,
.blair-header nav button {
    color: #ffffff !important;
    font-weight: 600;
    transition: color 0.2s ease;
}

.blair-header nav a:hover,
.blair-header nav button:hover {
    color: var(--blair-header-hover) !important;
}

/* Marca da escola */
.blair-brand {
    display: flex;
    align-items: center;
    text-decoration: none !important;
    background: transparent !important;
}

/* Exibir somente o logo */
.blair-brand-text {
    display: none !important;
}

/* Logotipo transparente */
.blair-logo {
    display: block;
    max-width: 190px;
    max-height: 65px;
    width: auto;
    height: auto;
    object-fit: contain;
    background: transparent;
}

/* Adaptação para celulares */
@media (max-width: 600px) {
    .blair-header {
        min-height: 70px;
    }

    .blair-logo {
        max-width: 125px;
        max-height: 48px;
    }

    .blair-header nav {
        gap: 10px;
    }

    .blair-header nav a,
    .blair-header nav button {
        font-size: 12px;
    }
}
/* Blair Online - refinamento visual isolado da sala de aula */
.blair-classroom{max-width:1310px;margin:0 auto;padding-top:40px}
.blair-classroom .back-link{display:inline-flex;color:#2d76ce;font-weight:700;text-decoration:none}
.blair-classroom .class-heading{margin:22px 0 26px;align-items:center}
.blair-classroom .class-heading h1{margin:8px 0 12px;color:#102b52}
.blair-classroom .class-heading p{max-width:750px;margin:0}
.blair-learning{display:grid;gap:24px;grid-template-columns:minmax(0,1.8fr) minmax(285px,.95fr)}
.blair-learning .watch{min-width:0}
.blair-learning .videobox{border-radius:17px;overflow:hidden;box-shadow:0 18px 45px rgba(16,43,82,.13)}
.blair-learning .watch-details{padding:14px 3px 2px}
.blair-learning .watch-details h2{line-height:1.3}
.blair-learning .hint{font-size:12px;color:#7b8ea6;line-height:1.6}
.blair-lessons{border:1px solid #dfebfa;background:white;border-radius:17px;box-shadow:0 12px 35px rgba(16,43,82,.05);max-height:590px;overflow:auto}
.blair-lessons .lesson-head{padding-bottom:14px;border-bottom:1px solid #e4ecf6}
.classroom-mini-progress{padding:16px 0 14px;border-bottom:1px solid #e4ecf6}
.classroom-mini-progress-meta{display:flex;justify-content:space-between;font-size:12px;color:#6b7d96;margin-bottom:9px}
.classroom-mini-progress-meta b{color:#1a6fd5}
.classroom-mini-progress-track{height:7px;border-radius:20px;background:#e5eefb;overflow:hidden}
.classroom-mini-progress-track>div{height:100%;background:linear-gradient(90deg,#1f73da,#5baeff);border-radius:inherit}
.blair-lesson{border-bottom:1px solid #edf1f8;padding:16px 4px!important}
.blair-lesson:last-child{border-bottom:0}
.blair-play-lesson{line-height:1.5!important;border-radius:8px!important}
.blair-play-lesson:hover{color:#1776e9!important}
.blair-play-lesson[aria-current="true"] .lesson-icon{background:#2477dc;color:white}
.blair-lesson.is-complete .lesson-icon{color:#0d8550;background:#e8f8f0}
.blair-lesson.is-complete .blair-play-lesson{color:#45637f}
.class-bottom-grid{margin-top:26px}
.class-bottom-grid>.panel{border:1px solid #dfebfa;border-radius:17px;background:#fff;box-shadow:0 8px 28px rgba(16,43,82,.04)}
@media(max-width:950px){.blair-learning{grid-template-columns:1fr}.blair-lessons{max-height:none}.blair-classroom{padding:30px 18px}}
@media(max-width:600px){.blair-classroom{padding:22px 14px}.blair-classroom .class-heading{align-items:flex-start}.blair-lessons{padding:16px}.class-bottom-grid>.panel{padding:18px}}

/* Alinhamento do CPF na Minha Conta */
.cpf-label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 20px;
    margin-bottom: 8px;
}

.cpf-label .cpf-lock {
    color: #71839c;
    font-size: 11px;
    font-weight: 500;
}

.cpf-field input {
    margin-top: 0;
}
/* Minha Conta - CPF alinhado com Data de Nascimento */

.account-cpf-field {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
}

.account-cpf-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    min-height: 20px;
}

.account-cpf-heading label {
    margin: 0;
    font-weight: 700;
}

.account-cpf-heading .account-lock {
    font-size: 11px;
    font-weight: 500;
    color: #71839c;
    margin: 0;
}

.account-cpf-field input {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}