:root{
    --green-950:#031d16;
    --green-900:#052c21;
    --green-850:#073528;
    --green-800:#0a4230;
    --green-700:#0f5a3c;
    --green-600:#137149;
    --green-500:#1c8b59;

    --gold:#e6b844;
    --gold-light:#f1cd68;

    --white:#ffffff;
    --surface:#f5f7f6;
    --text:#10231b;
    --muted:#6d7772;
    --border:#dce4df;

    --shadow:0 16px 40px rgba(2,27,19,.14);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    min-height:100vh;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at 20% 0%,rgba(20,100,70,.08),transparent 28%),
        #eef3f0;
}

button,
input{
    font:inherit;
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

button{
    cursor:pointer;
}

.header{
    position:sticky;
    top:0;
    z-index:100;
    color:white;
    background:rgba(3,39,29,.97);
    border-bottom:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(16px);
}

.header-inner{
    width:min(1420px,94%);
    height:82px;
    margin:auto;
    display:flex;
    align-items:center;
    gap:30px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:white;
    text-decoration:none;
    min-width:220px;
}

.brand-seal{
    width:55px;
    height:55px;
    flex:none;
    display:grid;
    place-items:center;
    border:3px solid var(--gold);
    outline:1px solid rgba(255,255,255,.4);
    outline-offset:-7px;
    border-radius:50%;
    color:var(--gold);
    font-size:25px;
    font-weight:900;
    background:
        radial-gradient(circle,#0a5a3c 0 43%,#073a2a 44%);
    box-shadow:0 0 0 3px rgba(230,184,68,.12);
}

.brand strong{
    display:block;
    font-size:30px;
    line-height:.95;
    letter-spacing:.5px;
}

.brand small{
    display:block;
    color:var(--gold);
    font-weight:800;
    letter-spacing:4px;
    font-size:11px;
    margin-top:6px;
}

.nav{
    display:flex;
    justify-content:center;
    align-items:center;
    flex:1;
    gap:42px;
}

.nav a{
    color:rgba(255,255,255,.92);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:.2s;
}

.nav a:hover{
    color:var(--gold-light);
}

.header-action{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:white;
    padding:12px 18px;
    border-radius:8px;
    font-weight:700;
}

.menu-mobile{
    display:none;
    margin-left:auto;
    border:0;
    color:white;
    background:transparent;
    font-size:27px;
}

main{
    min-height:calc(100vh - 82px);
}

.hero{
    position:relative;
    overflow:hidden;
    color:white;
    min-height:420px;
    background:
        radial-gradient(circle at 78% 45%,rgba(35,121,83,.28),transparent 28%),
        linear-gradient(115deg,#063a2b 0%,#042b20 55%,#031d16 100%);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.2;
    background-image:
        linear-gradient(30deg,rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(150deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:80px 80px;
}

.hero::after{
    content:"PMMA";
    position:absolute;
    right:4%;
    bottom:-55px;
    font-size:250px;
    font-weight:900;
    color:rgba(255,255,255,.025);
    letter-spacing:-15px;
}

.hero-overlay{
    position:absolute;
    right:0;
    top:0;
    width:47%;
    height:100%;
    background:
        radial-gradient(ellipse at center,rgba(26,104,73,.32),transparent 65%);
    clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);
}

.hero-content{
    position:relative;
    z-index:2;
    width:min(1420px,92%);
    margin:auto;
    padding:55px 0 50px;
}

.badge{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:5px 13px;
    border-radius:20px;
    border:1px solid rgba(230,184,68,.25);
    color:var(--gold-light);
    background:rgba(255,255,255,.06);
    font-size:12px;
    font-weight:800;
}

.hero h1{
    max-width:650px;
    margin:17px 0 15px;
    font-size:48px;
    line-height:1.05;
    letter-spacing:-1.5px;
}

.hero h1 span{
    display:block;
    color:var(--gold);
}

.hero-description{
    max-width:600px;
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:17px;
    line-height:1.6;
}

.features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,260px));
    gap:16px;
    margin-top:30px;
}

.feature{
    min-height:66px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(6px);
}

.feature-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:none;
    font-size:28px;
    font-weight:900;
}

.feature-icon.red{
    color:#ff5353;
}

.feature-icon.green{
    color:#6fd486;
}

.feature-icon.blue{
    color:#5d96ff;
}

.feature strong,
.feature small{
    display:block;
}

.feature strong{
    font-size:13px;
}

.feature small{
    margin-top:4px;
    color:rgba(255,255,255,.7);
    font-size:11px;
}

.content-section{
    width:min(1420px,92%);
    margin:0 auto;
    padding:38px 0 24px;
}

.section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.section-heading h2{
    margin:4px 0 0;
    font-size:25px;
}

.eyebrow{
    color:var(--green-600);
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
}

.counter-pill{
    padding:8px 12px;
    background:#dfe9e3;
    color:#426052;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
}

.subject-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.subject-card{
    min-height:235px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding:27px 20px 20px;
    border:1px solid rgba(5,55,38,.1);
    border-radius:12px;
    background:linear-gradient(145deg,#fff,#f4f6f5);
    box-shadow:0 8px 24px rgba(8,45,31,.08);
    transition:transform .18s,box-shadow .18s;
}

.subject-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}

.subject-icon{
    height:57px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    color:var(--green-700);
    font-size:46px;
}

.subject-card h3{
    margin:0;
    text-align:center;
    font-size:17px;
}

.subject-card p{
    flex:1;
    margin:7px 0 18px;
    color:var(--muted);
    text-align:center;
    font-size:13px;
}

.start-button{
    width:100%;
    border:0;
    border-radius:7px;
    padding:11px;
    color:white;
    background:linear-gradient(90deg,var(--green-700),#08723f);
    font-size:13px;
    font-weight:800;
    box-shadow:0 5px 12px rgba(8,90,56,.18);
}

.start-button:hover{
    filter:brightness(1.08);
}

.start-button:disabled{
    color:#777;
    background:#e2e5e3;
    box-shadow:none;
    cursor:not-allowed;
}

.loading-card{
    grid-column:1/-1;
    min-height:130px;
    justify-content:center;
    color:var(--muted);
}

.stats{
    width:min(1420px,92%);
    margin:0 auto 45px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    color:white;
    border-radius:12px;
    background:linear-gradient(100deg,#053225,#03271e);
    box-shadow:0 10px 25px rgba(3,40,28,.15);
}

.stats article{
    min-height:90px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    padding:18px;
    border-right:1px solid rgba(255,255,255,.1);
}

.stats article:last-child{
    border-right:0;
}

.stats-icon{
    color:#52bf8c;
    font-size:31px;
}

.stats strong,
.stats small{
    display:block;
}

.stats strong{
    font-size:24px;
}

.stats small{
    margin-top:3px;
    color:rgba(255,255,255,.6);
    font-size:10px;
}

.about{
    width:min(1420px,92%);
    display:flex;
    gap:10px;
    margin:0 auto 40px;
    padding:20px;
    color:#5f6d66;
    border-top:1px solid #d6dfda;
    font-size:13px;
}

.hidden{
    display:none !important;
}

/* SIMULADO */

.quiz-shell,
.result-shell{
    width:min(900px,92%);
    margin:38px auto 60px;
}

.quiz-header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:15px;
}

.round-button{
    width:45px;
    height:45px;
    border:0;
    border-radius:50%;
    color:var(--green-900);
    background:white;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
    font-size:21px;
}

.quiz-title span,
.quiz-title strong{
    display:block;
}

.quiz-title span{
    color:var(--green-600);
    font-size:10px;
    font-weight:900;
    letter-spacing:2px;
}

.quiz-title strong{
    margin-top:3px;
    font-size:18px;
}

.quiz-progress-text{
    color:#65736c;
    font-size:13px;
    font-weight:700;
}

.progress-track{
    height:7px;
    margin:20px 0;
    overflow:hidden;
    border-radius:20px;
    background:#d9e2dd;
}

.progress-bar{
    width:0;
    height:100%;
    border-radius:20px;
    background:linear-gradient(90deg,var(--green-700),var(--gold));
    transition:width .25s;
}

.question-card{
    overflow:hidden;
    border:1px solid rgba(6,65,43,.09);
    border-radius:16px;
    background:white;
    box-shadow:var(--shadow);
}

.question-top{
    padding:16px 25px;
    color:white;
    background:linear-gradient(90deg,var(--green-900),var(--green-800));
}

.question-topic{
    display:inline-block;
    color:var(--gold-light);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.question-body{
    padding:30px;
}

.question-number{
    margin-bottom:12px;
    color:#839087;
    font-size:12px;
    font-weight:800;
}

.question-text{
    margin:0 0 28px;
    color:#14271e;
    font-size:20px;
    line-height:1.6;
}

.answers{
    display:grid;
    gap:13px;
}

.answer{
    position:relative;
    display:flex;
    align-items:center;
    gap:15px;
    min-height:64px;
    padding:14px 18px;
    cursor:pointer;
    border:2px solid #dfe5e1;
    border-radius:10px;
    background:#fbfcfb;
    transition:.15s;
}

.answer:hover{
    border-color:#8eb2a0;
}

.answer.selected{
    color:#0b4930;
    border-color:var(--green-600);
    background:#edf7f1;
}

.answer input{
    position:absolute;
    opacity:0;
}

.answer-letter{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:50%;
    color:#59665f;
    background:#e9eeeb;
    font-size:13px;
    font-weight:900;
}

.answer.selected .answer-letter{
    color:white;
    background:var(--green-700);
}

.quiz-navigation{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-top:22px;
}

.button-primary,
.button-secondary{
    min-width:140px;
    border:0;
    border-radius:8px;
    padding:14px 22px;
    font-weight:800;
}

.button-primary{
    color:white;
    background:linear-gradient(90deg,var(--green-700),#08723f);
}

.button-secondary{
    color:#34483d;
    background:#dce4df;
}

.button-secondary:disabled{
    opacity:.4;
    cursor:not-allowed;
}

/* RESULTADO */

.result-hero{
    padding:35px 25px;
    text-align:center;
    color:white;
    border-radius:18px;
    background:linear-gradient(135deg,var(--green-900),var(--green-700));
    box-shadow:var(--shadow);
}

.result-medal{
    width:65px;
    height:65px;
    display:grid;
    place-items:center;
    margin:0 auto 12px;
    border:2px solid var(--gold);
    border-radius:50%;
    color:var(--gold);
    font-size:30px;
}

.result-hero>span{
    color:var(--gold-light);
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
}

.result-hero h2{
    margin:8px 0;
}

.result-percentage{
    margin:8px 0;
    color:var(--gold-light);
    font-size:60px;
    font-weight:900;
}

.correction-list{
    display:grid;
    gap:15px;
    margin-top:25px;
}

.correction-item{
    overflow:hidden;
    border-radius:12px;
    background:white;
    box-shadow:0 5px 18px rgba(0,0,0,.07);
    border-left:6px solid #bbb;
}

.correction-item.correct{
    border-left-color:#239457;
}

.correction-item.wrong{
    border-left-color:#d34b4b;
}

.correction-content{
    padding:20px;
}

.correction-title{
    font-weight:900;
}

.correction-item.correct .correction-title{
    color:#17824a;
}

.correction-item.wrong .correction-title{
    color:#bd3838;
}

.comment{
    margin-top:15px;
    padding:15px;
    border-radius:8px;
    color:#33473d;
    background:#f0f5f2;
    line-height:1.55;
}

.full-button{
    width:100%;
    margin-top:25px;
}

footer{
    display:flex;
    justify-content:center;
    gap:10px;
    padding:25px;
    color:#738078;
    background:#e6ece8;
    font-size:12px;
}

footer strong{
    color:var(--green-700);
}

/* MOBILE */

@media(max-width:900px){

    .nav,
    .header-action{
        display:none;
    }

    .menu-mobile{
        display:block;
    }

    .subject-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .features{
        grid-template-columns:1fr;
        max-width:480px;
    }

    .stats{
        grid-template-columns:repeat(2,1fr);
    }

    .stats article:nth-child(2){
        border-right:0;
    }

    .stats article:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.1);
    }
}


@media(max-width:600px){

    .header-inner{
        height:72px;
        width:92%;
    }

    .brand{
        min-width:0;
    }

    .brand-seal{
        width:45px;
        height:45px;
        font-size:20px;
    }

    .brand strong{
        font-size:24px;
    }

    .brand small{
        margin-top:4px;
        font-size:9px;
        letter-spacing:3px;
    }

    .hero{
        min-height:auto;
    }

    .hero-content{
        width:90%;
        padding:33px 0 28px;
    }

    .hero-overlay,
    .hero::after{
        display:none;
    }

    .hero h1{
        margin-top:13px;
        font-size:31px;
        letter-spacing:-.7px;
    }

    .hero-description{
        font-size:14px;
        line-height:1.55;
    }

    .features{
        gap:8px;
        margin-top:22px;
    }

    .feature{
        min-height:57px;
        padding:9px 12px;
    }

    .feature-icon{
        width:32px;
        height:32px;
        font-size:23px;
    }

    .content-section{
        width:90%;
        padding-top:28px;
    }

    .section-heading{
        display:block;
    }

    .section-heading h2{
        font-size:21px;
    }

    .counter-pill{
        display:inline-block;
        margin-top:10px;
    }

    .subject-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .subject-card{
        min-height:auto;
        display:grid;
        grid-template-columns:55px 1fr;
        grid-template-rows:auto auto auto;
        column-gap:12px;
        align-items:center;
        padding:16px;
    }

    .subject-icon{
        grid-column:1;
        grid-row:1/3;
        height:auto;
        margin:0;
        font-size:37px;
    }

    .subject-card h3{
        grid-column:2;
        text-align:left;
        font-size:15px;
    }

    .subject-card p{
        grid-column:2;
        margin:3px 0 12px;
        text-align:left;
        font-size:12px;
    }

    .start-button{
        grid-column:1/3;
    }

    .stats{
        width:90%;
        grid-template-columns:1fr 1fr;
    }

    .stats article{
        justify-content:flex-start;
        min-height:80px;
        padding:14px;
    }

    .stats-icon{
        font-size:25px;
    }

    .stats strong{
        font-size:19px;
    }

    .stats small{
        font-size:8px;
    }

    .about{
        width:90%;
        display:block;
        line-height:1.5;
    }

    .about strong{
        display:block;
    }

    .quiz-shell,
    .result-shell{
        width:92%;
        margin-top:20px;
    }

    .quiz-header{
        grid-template-columns:auto 1fr;
    }

    .quiz-progress-text{
        grid-column:1/3;
        padding-left:60px;
    }

    .question-body{
        padding:20px;
    }

    .question-text{
        font-size:17px;
    }

    .answer{
        min-height:58px;
    }

    .quiz-navigation{
        position:sticky;
        bottom:8px;
        z-index:20;
        padding:8px;
        border-radius:10px;
        background:rgba(238,243,240,.94);
        backdrop-filter:blur(8px);
    }

    .button-primary,
    .button-secondary{
        flex:1;
        min-width:0;
        padding:13px 10px;
    }

    .result-percentage{
        font-size:50px;
    }

    footer{
        display:block;
        text-align:center;
        line-height:1.6;
    }
}

/* =====================================================
   PMMA — SIMULADO OFICIAL
   ===================================================== */

.official-section{
    width:min(1420px,92%);
    margin:28px auto 0;
}

.official-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1.5fr auto auto;
    align-items:center;
    gap:28px;
    padding:28px 30px;
    color:white;
    border-radius:16px;
    background:
        radial-gradient(circle at 80% 20%,rgba(232,184,68,.16),transparent 30%),
        linear-gradient(120deg,#043325,#07513a);
    box-shadow:0 15px 35px rgba(3,48,34,.18);
}

.official-card::after{
    content:"120";
    position:absolute;
    right:-15px;
    bottom:-55px;
    color:rgba(255,255,255,.035);
    font-size:180px;
    font-weight:900;
}

.official-badge{
    position:absolute;
    top:0;
    left:0;
    padding:7px 14px;
    color:#173a2a;
    background:#e6b844;
    border-bottom-right-radius:12px;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
}

.official-copy{
    padding-top:10px;
}

.official-copy>span{
    color:#e9c762;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}

.official-copy h2{
    margin:5px 0 7px;
    font-size:24px;
}

.official-copy p{
    margin:0;
    max-width:560px;
    color:rgba(255,255,255,.75);
    font-size:13px;
    line-height:1.5;
}

.official-numbers{
    display:flex;
    align-items:center;
    gap:18px;
    position:relative;
    z-index:2;
}

.official-numbers div{
    min-width:80px;
    text-align:center;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    background:rgba(255,255,255,.06);
}

.official-numbers strong,
.official-numbers small{
    display:block;
}

.official-numbers strong{
    color:#e9c762;
    font-size:27px;
}

.official-numbers small{
    margin-top:3px;
    color:rgba(255,255,255,.65);
    font-size:9px;
}

.official-button{
    position:relative;
    z-index:2;
    border:0;
    border-radius:9px;
    padding:15px 18px;
    color:#173a2a;
    background:linear-gradient(90deg,#e5b83f,#f0cf6d);
    font-weight:900;
    box-shadow:0 7px 18px rgba(0,0,0,.14);
}

.official-button:hover{
    filter:brightness(1.05);
}

.quiz-block-label{
    display:inline-block;
    margin-left:8px;
    padding:3px 7px;
    border-radius:10px;
    color:#173a2a;
    background:#e6b844;
    font-size:9px;
    font-weight:900;
}

@media(max-width:900px){

    .official-card{
        grid-template-columns:1fr;
    }

    .official-numbers{
        justify-content:flex-start;
    }

    .official-button{
        width:100%;
    }
}

@media(max-width:600px){

    .official-section{
        width:90%;
    }

    .official-card{
        padding:32px 18px 20px;
        gap:18px;
    }

    .official-copy h2{
        font-size:20px;
    }

    .official-numbers{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
    }

    .official-numbers div{
        min-width:0;
        padding:9px 4px;
    }

    .official-numbers strong{
        font-size:22px;
    }
}


/*
=========================================================
PMMA — CONTROLE DO SIMULADO
ETAPA 9A
=========================================================
*/

.pmma-controle-simulado{
    position:fixed;
    left:50%;
    bottom:18px;
    transform:translate(-50%,30px);
    width:min(760px,calc(100% - 28px));
    min-height:72px;
    background:rgba(9,21,43,.97);
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    padding:12px 14px 12px 18px;
    box-shadow:0 18px 60px rgba(0,0,0,.28);
    z-index:9000;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s ease;
}

.pmma-controle-simulado.visivel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
}

.pmma-controle-info{
    min-width:0;
}

.pmma-controle-status{
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-weight:800;
    font-size:14px;
}

.pmma-ponto{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#32d583;
    box-shadow:0 0 0 5px rgba(50,213,131,.12);
    flex:0 0 auto;
}

.pmma-controle-dados{
    margin-top:5px;
    color:#aebbd0;
    font-size:13px;
    font-weight:600;
}

.pmma-separador{
    padding:0 6px;
    opacity:.6;
}

.pmma-controle-acoes{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

.pmma-btn-controle{
    border:0;
    min-height:43px;
    padding:0 15px;
    border-radius:12px;
    cursor:pointer;
    font-weight:800;
    font-size:13px;
    background:#fff;
    color:#10203b;
    transition:
        transform .15s ease,
        opacity .15s ease;
}

.pmma-btn-controle:hover{
    transform:translateY(-1px);
}

.pmma-btn-pausa{
    background:#ffcc4d;
    color:#342400;
}


/*
PAUSA
*/

.pmma-tela-pausa{
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(3,10,24,.86);
    backdrop-filter:blur(9px);

    display:flex;
    align-items:center;
    justify-content:center;

    padding:22px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.pmma-tela-pausa.aberto{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.pmma-pausa-card{
    width:min(470px,100%);
    background:#fff;
    border-radius:28px;
    padding:34px 28px 28px;
    text-align:center;
    box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.pmma-pausa-icone{
    width:74px;
    height:74px;
    border-radius:22px;
    margin:0 auto 18px;

    display:grid;
    place-items:center;

    font-size:32px;
    background:#eef4ff;
}

.pmma-pausa-card h2{
    margin:0;
    color:#13233e;
    font-size:25px;
}

.pmma-pausa-card p{
    color:#66758c;
    line-height:1.55;
    margin:12px 0 22px;
}

.pmma-btn-continuar{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:15px;
    cursor:pointer;
    background:#1359d8;
    color:white;
    font-size:16px;
    font-weight:900;
    box-shadow:0 9px 25px rgba(19,89,216,.25);
}

.pmma-pausa-card small{
    display:block;
    margin-top:17px;
    color:#8793a6;
    line-height:1.45;
}


/*
DESEMPENHO
*/

.pmma-modal{
    position:fixed;
    inset:0;
    z-index:11000;
    background:rgba(3,10,24,.72);
    backdrop-filter:blur(7px);

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.pmma-modal.aberto{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.pmma-modal-card{
    width:min(580px,100%);
    max-height:86vh;
    overflow:auto;
    background:#fff;
    border-radius:25px;
    box-shadow:0 25px 80px rgba(0,0,0,.3);
}

.pmma-modal-topo{
    padding:22px 22px 15px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    border-bottom:1px solid #edf0f5;
}

.pmma-modal-topo small{
    color:#175bd5;
    font-weight:900;
    letter-spacing:.08em;
}

.pmma-modal-topo h3{
    margin:4px 0 0;
    color:#15243e;
    font-size:22px;
}

.pmma-fechar{
    width:39px;
    height:39px;
    border:0;
    border-radius:12px;
    background:#f0f3f8;
    color:#43526a;
    font-size:25px;
    cursor:pointer;
}

.pmma-modal-corpo{
    padding:20px 22px 24px;
}

.pmma-resultado-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.pmma-resultado-grid > div{
    padding:15px 8px;
    background:#f5f8fc;
    border-radius:15px;
    text-align:center;
}

.pmma-resultado-grid strong{
    display:block;
    font-size:22px;
    color:#142541;
}

.pmma-resultado-grid span{
    display:block;
    margin-top:3px;
    color:#77849a;
    font-size:11px;
    font-weight:700;
}

.pmma-desempenho-disciplinas{
    margin-top:20px;
}

.pmma-desempenho-disciplinas h4{
    margin:0 0 10px;
    color:#263750;
}

.pmma-disciplina-desempenho{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:11px 3px;
    border-bottom:1px solid #edf0f4;
    color:#47566d;
    font-size:13px;
}

.pmma-disciplina-desempenho strong{
    color:#263750;
}

.pmma-aviso-parcial{
    margin-top:18px;
    padding:13px 15px;
    background:#fff8e7;
    color:#70531a;
    border-radius:13px;
    font-size:12px;
    line-height:1.45;
    font-weight:700;
}


/*
MOBILE
*/

@media(max-width:620px){

    .pmma-controle-simulado{
        bottom:10px;
        width:calc(100% - 18px);
        min-height:auto;
        border-radius:17px;
        padding:11px 12px;
        gap:10px;
    }

    .pmma-controle-status{
        font-size:12px;
    }

    .pmma-controle-dados{
        font-size:11px;
    }

    .pmma-btn-controle{
        min-height:39px;
        padding:0 10px;
        font-size:11px;
    }

    .pmma-resultado-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .pmma-pausa-card{
        border-radius:22px;
        padding:27px 20px 22px;
    }

}

@media(max-width:430px){

    .pmma-controle-simulado{
        align-items:stretch;
        flex-direction:column;
    }

    .pmma-controle-acoes{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .pmma-btn-controle{
        width:100%;
    }

}

/* PMMA_CONTROLES_INTERNOS_V5 */
#pmmaControleSimulado.pmma-controle-simulado{position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;display:none!important;width:auto!important;margin:0 0 10px!important;padding:6px 8px!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;border:1px solid #e2e9e5!important;border-radius:9px!important;background:#f8faf9!important;box-shadow:none!important;opacity:1!important;visibility:visible!important}
#pmmaControleSimulado.pmma-controle-simulado.visivel{display:flex!important}.pmma-mini-status{display:flex;align-items:center;gap:5px;color:#69776f;font-size:10px;font-weight:800;white-space:nowrap}.pmma-mini-acoes{display:flex!important;gap:4px!important}
#pmmaControleSimulado button{position:static!important;width:auto!important;min-width:0!important;min-height:28px!important;margin:0!important;padding:0 8px!important;border:0!important;border-radius:6px!important;box-shadow:none!important;font-size:10px!important;font-weight:800!important}
#pmmaBtnConferir{background:#e6f0eb!important;color:#245840!important}#pmmaBtnPausar{background:#fff0c9!important;color:#725512!important}
.pmma-conferencia-overlay,.pmma-pausa-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:12px;background:rgba(10,22,16,.52);backdrop-filter:blur(4px)}
.pmma-conferencia-overlay.ativo,.pmma-pausa-overlay.ativo{display:flex}.pmma-conferencia-box{width:min(680px,100%);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.24)}
.pmma-conferencia-box header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e9eeeb}.pmma-conferencia-box header h3{margin:2px 0 0;color:#263b31}
#pmmaFecharConferencia{width:32px;height:32px;border:0;border-radius:50%;background:#edf1ef;color:#405148;font-size:21px}.pmma-conferencia-corpo{overflow-y:auto;padding:14px 16px 18px}
.pmma-resumo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:15px}.pmma-resumo-grid div{padding:10px 5px;border:1px solid #e7ece9;border-radius:9px;background:#f8faf9;text-align:center}.pmma-resumo-grid b{display:block;color:#164d35;font-size:18px}.pmma-resumo-grid span{color:#77837c;font-size:9px;font-weight:700}
.pmma-comentado{margin-bottom:7px;overflow:hidden;border:1px solid #e5ebe7;border-radius:9px}.pmma-comentado summary{padding:10px;cursor:pointer;font-size:11px;font-weight:900}.pmma-comentado summary.acertou{color:#14804a}.pmma-comentado summary.errou{color:#bd3c3c}.pmma-comentado-corpo{padding:0 10px 10px;color:#405048;font-size:11px;line-height:1.5}.pmma-comentario{margin-top:8px;padding:9px;border-radius:7px;background:#edf4f0}
.pmma-pausa-box{width:min(380px,100%);padding:25px 20px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.24)}#pmmaBtnContinuar{width:100%;min-height:43px;margin-top:8px;border:0;border-radius:10px;background:#175d41;color:#fff;font-weight:900}
@media(max-width:600px){#pmmaControleSimulado.pmma-controle-simulado{padding:5px 6px!important;margin-bottom:7px!important}.pmma-mini-status{font-size:9px}#pmmaControleSimulado button{min-height:25px!important;padding:0 6px!important;font-size:9px!important}.pmma-resumo-grid{grid-template-columns:repeat(2,1fr)}}

/*
=========================================================
PMMA_AUTH_MULTIUSUARIO_VISUAL_V1
LOGIN / CADASTRO / USUÁRIO
=========================================================
*/

.pmma-auth-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;

    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(26,108,78,.32),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #031f17 0%,
            #062b20 48%,
            #021710 100%
        );

    font-family:inherit;
}

.pmma-auth-overlay.oculto{
    display:none !important;
}

.pmma-auth-card{
    width:min(100%,460px);
    background:rgba(8,42,32,.96);
    border:1px solid rgba(255,255,255,.11);
    border-radius:28px;
    padding:32px;
    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        inset 0 1px rgba(255,255,255,.04);
    color:#fff;
}

.pmma-auth-brand{
    display:flex;
    gap:18px;
    align-items:flex-start;
    margin-bottom:26px;
}

.pmma-auth-shield{
    flex:0 0 62px;
    width:62px;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    border:3px solid #e5b83d;

    color:#f4c84b;
    font-size:19px;
    font-weight:900;
    letter-spacing:-1px;

    background:
        radial-gradient(
            circle,
            #125d43,
            #073729
        );

    box-shadow:
        0 0 0 5px rgba(229,184,61,.09);
}

.pmma-auth-brand small{
    display:block;
    margin:1px 0 6px;

    color:#f1c447;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}

.pmma-auth-brand h2{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.12;
}

.pmma-auth-brand p{
    margin:9px 0 0;
    color:rgba(255,255,255,.66);
    font-size:14px;
    line-height:1.5;
}

.pmma-auth-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;

    padding:5px;
    margin-bottom:22px;

    background:rgba(0,0,0,.22);
    border-radius:14px;
}

.pmma-auth-tabs button{
    appearance:none;
    border:0;
    cursor:pointer;

    padding:11px 8px;
    border-radius:10px;

    color:rgba(255,255,255,.62);
    background:transparent;

    font:inherit;
    font-weight:800;

    transition:.18s ease;
}

.pmma-auth-tabs button.ativo{
    color:#09281e;
    background:#efc44b;
    box-shadow:0 5px 18px rgba(239,196,75,.16);
}

#pmmaAuthForm{
    display:flex;
    flex-direction:column;
    gap:16px;
}

#pmmaAuthForm label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

#pmmaAuthForm label span{
    color:rgba(255,255,255,.82);
    font-size:13px;
    font-weight:800;
}

#pmmaAuthForm input{
    width:100%;
    box-sizing:border-box;

    border:1px solid rgba(255,255,255,.13);
    outline:none;

    padding:14px 15px;
    border-radius:12px;

    background:rgba(255,255,255,.065);
    color:#fff;

    font:inherit;
    font-size:16px;

    transition:.18s ease;
}

#pmmaAuthForm input::placeholder{
    color:rgba(255,255,255,.30);
}

#pmmaAuthForm input:focus{
    border-color:#e8bd43;
    box-shadow:0 0 0 3px rgba(232,189,67,.11);
    background:rgba(255,255,255,.085);
}

#pmmaAuthPin{
    letter-spacing:8px;
    font-size:22px !important;
    font-weight:900;
}

.pmma-auth-submit{
    appearance:none;
    border:0;
    cursor:pointer;

    min-height:50px;
    margin-top:2px;

    border-radius:13px;

    color:#09281e;
    background:linear-gradient(
        135deg,
        #f4cf61,
        #e6b631
    );

    font:inherit;
    font-size:15px;
    font-weight:900;

    box-shadow:0 9px 25px rgba(232,185,50,.17);

    transition:
        transform .15s ease,
        opacity .15s ease;
}

.pmma-auth-submit:hover{
    transform:translateY(-1px);
}

.pmma-auth-submit:disabled{
    opacity:.55;
    cursor:wait;
    transform:none;
}

.pmma-auth-mensagem{
    min-height:18px;
    margin-top:-3px;
    font-size:13px;
    font-weight:700;
}

.pmma-auth-mensagem.erro{
    color:#ff9d9d;
}

.pmma-auth-mensagem.sucesso{
    color:#89e8b5;
}

.pmma-auth-ajuda{
    margin:19px 0 0;
    padding-top:17px;

    border-top:1px solid rgba(255,255,255,.08);

    color:rgba(255,255,255,.48);
    font-size:12px;
    line-height:1.55;
    text-align:center;
}


/*
---------------------------------------------------------
USUÁRIO LOGADO
---------------------------------------------------------
*/

.pmma-userbar{
    position:fixed;
    top:14px;
    right:16px;
    z-index:99990;

    display:none;
    align-items:center;
    gap:8px;

    max-width:calc(100vw - 32px);

    padding:6px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;

    background:rgba(4,38,28,.93);
    box-shadow:0 9px 30px rgba(0,0,0,.22);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    color:#fff;
}

.pmma-userbar.visivel{
    display:flex;
}

#pmmaUserNome{
    padding:0 7px;
    font-size:12px;
    font-weight:800;

    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    max-width:130px;
}

.pmma-userbar button{
    appearance:none;
    cursor:pointer;

    border:1px solid rgba(255,255,255,.11);
    border-radius:9px;

    padding:7px 9px;

    background:rgba(255,255,255,.065);
    color:#fff;

    font:inherit;
    font-size:11px;
    font-weight:800;
}

#pmmaContinuarSalvo{
    color:#08291f;
    background:#e9bd42;
    border-color:#e9bd42;
}

#pmmaContinuarSalvo[hidden]{
    display:none !important;
}


/*
---------------------------------------------------------
CELULAR
---------------------------------------------------------
*/

@media (max-width:600px){

    .pmma-auth-overlay{
        align-items:flex-start;
        overflow:auto;
        padding:
            max(18px, env(safe-area-inset-top))
            15px
            max(20px, env(safe-area-inset-bottom));
    }

    .pmma-auth-card{
        margin:auto 0;
        padding:24px 20px;
        border-radius:22px;
    }

    .pmma-auth-brand{
        gap:14px;
    }

    .pmma-auth-shield{
        flex-basis:52px;
        width:52px;
        height:52px;
        font-size:16px;
    }

    .pmma-auth-brand h2{
        font-size:23px;
    }

    .pmma-userbar{
        top:auto;
        right:10px;
        bottom:
            calc(
                10px +
                env(safe-area-inset-bottom)
            );

        max-width:calc(100vw - 20px);
    }

    #pmmaUserNome{
        max-width:95px;
    }

}


/*
=========================================================
PMMA_CONTROLES_VISUAIS_V2
=========================================================
*/

/*
Botões começam neutros.
*/
#pmmaBtnPausar,
#pmmaBtnConferir{
    background:rgba(255,255,255,.08) !important;
    color:inherit !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:none !important;
    transition:
        background .18s ease,
        color .18s ease,
        transform .12s ease,
        border-color .18s ease !important;
}

/*
PAUSAR acionado.
*/
#pmmaBtnPausar.pausado,
#pmmaBtnPausar[aria-pressed="true"]{
    background:#e0a72f !important;
    border-color:#e0a72f !important;
    color:#172116 !important;
    box-shadow:
        0 0 0 3px rgba(224,167,47,.18) !important;
}

/*
CONFERIR acionado.
*/
#pmmaBtnConferir.conferindo,
#pmmaBtnConferir[aria-pressed="true"]{
    background:#2f86d9 !important;
    border-color:#2f86d9 !important;
    color:#fff !important;
    box-shadow:
        0 0 0 3px rgba(47,134,217,.18) !important;
}

#pmmaBtnPausar:active,
#pmmaBtnConferir:active{
    transform:scale(.96);
}


/*
=========================================================
USERBAR — FIXA NO TOPO
=========================================================
*/

.pmma-userbar{
    position:fixed !important;

    top:
        max(
            6px,
            env(safe-area-inset-top)
        ) !important;

    right:8px !important;
    bottom:auto !important;

    z-index:99995 !important;

    width:auto !important;
    max-width:220px !important;

    padding:4px 5px !important;
    gap:4px !important;

    border-radius:999px !important;

    background:
        rgba(4,38,28,.94) !important;

    box-shadow:
        0 4px 14px rgba(0,0,0,.16) !important;
}

#pmmaUserNome{
    max-width:80px !important;
    padding:0 4px !important;
    font-size:9px !important;
}

.pmma-userbar button{
    min-height:24px !important;
    padding:3px 6px !important;
    font-size:8px !important;
    line-height:1 !important;
}

#pmmaContinuarSalvo{
    min-height:24px !important;
}


/*
Nunca colocar userbar junto aos controles inferiores.
*/
@media(max-width:600px){

    .pmma-userbar{
        position:fixed !important;

        top:
            max(
                5px,
                env(safe-area-inset-top)
            ) !important;

        right:5px !important;

        bottom:auto !important;

        max-width:185px !important;
    }

    #pmmaUserNome{
        max-width:65px !important;
    }

}



/*
=========================================================
PMMA_LAYOUT_CONTROLES_V3
Regras finais — prevalecem sobre versões anteriores.
=========================================================
*/


/*
---------------------------------------------------------
USERBAR

Agora está fisicamente dentro de .header-inner.
Portanto NÃO deve mais flutuar sobre a interface.
---------------------------------------------------------
*/

.header-inner .pmma-userbar{
    position:static !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    flex:0 0 auto !important;

    display:none;

    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    max-width:none !important;

    margin-left:auto !important;
    margin-right:8px !important;

    padding:4px 5px !important;
    gap:5px !important;

    border-radius:9px !important;

    background:
        rgba(255,255,255,.09) !important;

    border:
        1px solid rgba(255,255,255,.12) !important;

    box-shadow:none !important;

    z-index:auto !important;
}

.header-inner .pmma-userbar.visivel{
    display:flex !important;
}

.header-inner #pmmaUserNome{
    max-width:90px !important;

    padding:0 3px !important;

    font-size:11px !important;
    font-weight:800 !important;

    color:#fff !important;
}

.header-inner .pmma-userbar button{
    width:auto !important;

    min-width:0 !important;
    min-height:30px !important;

    padding:0 9px !important;

    border-radius:7px !important;

    font-size:10px !important;
    line-height:1 !important;

    white-space:nowrap !important;
}

.header-inner #pmmaContinuarSalvo{
    background:#e9bd42 !important;
    border-color:#e9bd42 !important;
    color:#08291f !important;
}


/*
---------------------------------------------------------
CONTROLES DO SIMULADO

Não são mais microbotões.
---------------------------------------------------------
*/

#pmmaControleSimulado.pmma-controle-simulado{
    position:static !important;

    width:100% !important;

    margin:0 0 16px !important;

    padding:10px 12px !important;

    gap:10px !important;

    border-radius:11px !important;

    background:#f8faf9 !important;

    border:1px solid #dfe7e2 !important;

    box-shadow:none !important;
}

#pmmaControleSimulado.pmma-controle-simulado.visivel{
    display:flex !important;
}

#pmmaControleSimulado .pmma-controle-acoes{
    display:flex !important;

    align-items:center !important;

    gap:8px !important;

    flex:0 0 auto !important;
}

#pmmaControleSimulado button{
    position:static !important;

    width:auto !important;

    min-width:112px !important;
    min-height:42px !important;

    margin:0 !important;

    padding:0 15px !important;

    border-radius:9px !important;

    font-size:13px !important;
    font-weight:800 !important;

    line-height:1 !important;

    cursor:pointer !important;
}


/*
Estado NORMAL: discreto, mas perfeitamente visível.
*/

#pmmaBtnConferir,
#pmmaBtnPausar{
    background:#eef2f0 !important;

    color:#34453c !important;

    border:
        1px solid #cfd9d4 !important;

    box-shadow:none !important;
}


/*
CONFERIR acionado.
*/

#pmmaBtnConferir.conferindo,
#pmmaBtnConferir[aria-pressed="true"]{
    background:#287bc1 !important;

    border-color:#287bc1 !important;

    color:#fff !important;

    box-shadow:
        0 0 0 3px
        rgba(40,123,193,.14) !important;
}


/*
PAUSADO.
*/

#pmmaBtnPausar.pausado,
#pmmaBtnPausar[aria-pressed="true"]{
    background:#e0a72f !important;

    border-color:#c88d13 !important;

    color:#2d240e !important;

    box-shadow:
        0 0 0 3px
        rgba(224,167,47,.16) !important;
}


/*
Modal de pausa definitivamente fora da UX.
*/

#pmmaModalPausa{
    display:none !important;
}


/*
---------------------------------------------------------
CELULAR
---------------------------------------------------------
*/

@media(max-width:600px){

    /*
     * Header:
     * marca/espaço disponível -> userbar -> menu.
     */

    .header-inner{
        gap:6px !important;
    }

    .header-inner .pmma-userbar{
        margin-left:auto !important;
        margin-right:4px !important;

        gap:3px !important;

        padding:3px !important;

        border-radius:8px !important;
    }

    .header-inner #pmmaUserNome{
        max-width:54px !important;

        padding:0 2px !important;

        font-size:9px !important;
    }

    .header-inner .pmma-userbar button{
        min-height:28px !important;

        padding:0 6px !important;

        font-size:9px !important;
    }


    /*
     * Botões do simulado:
     * tamanho confortável para dedo.
     */

    #pmmaControleSimulado.pmma-controle-simulado{
        padding:9px !important;

        margin-bottom:12px !important;

        gap:8px !important;

        flex-wrap:wrap !important;
    }

    #pmmaControleSimulado .pmma-controle-info{
        flex:1 1 100% !important;
    }

    #pmmaControleSimulado .pmma-controle-acoes{
        width:100% !important;

        display:grid !important;

        grid-template-columns:
            1fr 1fr !important;

        gap:8px !important;
    }

    #pmmaControleSimulado button{
        width:100% !important;

        min-width:0 !important;
        min-height:44px !important;

        padding:0 10px !important;

        font-size:13px !important;

        border-radius:9px !important;
    }

}


/*
Celulares realmente estreitos.
*/

@media(max-width:390px){

    .header-inner #pmmaUserNome{
        display:none !important;
    }

    .header-inner .pmma-userbar button{
        padding:0 5px !important;

        font-size:8px !important;
    }

}


