:root{color-scheme:dark;--bg:#201e1e;--panel:#373435;--line:#514d4e;--text:#fefefe;--muted:#c9c5c5;--accent:#f5b62c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}header{min-height:96px;padding:20px 5%;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line);background:#252323}nav{display:flex;gap:26px;flex-wrap:wrap;font-size:14px;color:#c6cbd4}.brand{line-height:1;display:inline-flex;flex-direction:column;min-width:118px}.brand b{font-size:32px;letter-spacing:-2px;font-style:italic}.brand b span{color:var(--accent);font-size:20px;margin-left:8px}.brand small{font-size:9px;letter-spacing:3px;margin-top:8px}.account{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:13px}main{max-width:1440px;margin:auto;padding:36px 5% 80px;min-height:75vh}h1{font-size:clamp(30px,4vw,52px);line-height:1.15;letter-spacing:-1.4px;margin:20px 0}h2{font-size:23px;line-height:1.3}h3{font-size:18px;line-height:1.4}p{color:var(--muted)}em{font-style:normal;color:var(--accent)}section{scroll-margin-top:24px}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:750;color:var(--accent)}.hero{padding:48px 42px 54px;border:1px solid #363126;background:radial-gradient(ellipse at 85% 20%,#504323 0,transparent 55%),linear-gradient(120deg,#181c24,#201e1e);display:flex;justify-content:space-between;gap:30px;border-radius:16px;margin-bottom:46px;overflow:hidden}.hero h1{font-size:clamp(33px,4vw,58px)}.hero p{max-width:490px}.hero-mark{min-width:230px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:150px;font-weight:950;font-style:italic;color:#ffffff13;line-height:1}.hero-mark span{color:#f5b62c66;font-size:70px}.hero-mark small{font-size:9px;letter-spacing:3px;color:#c9b77d;width:100%;text-align:center;font-style:normal}.button,button{background:var(--accent);color:#17140d;border:1px solid transparent;border-radius:7px;padding:12px 19px;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:14px;line-height:1.5}.button:hover,button:hover{background:#ffca56;color:#17140d}.secondary{background:#484445;color:#fff;border-color:#625c5e}.ghost{background:transparent;color:var(--muted);border-color:var(--line);padding:8px 12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:22px}.panel h2:first-child,.panel h3:first-child{margin-top:0}.auth{max-width:460px;margin:52px auto}.auth h1{font-size:30px}.auth form{margin:25px 0}.auth button{width:100%}.auth>a{display:block;margin-top:18px}.small,small{font-size:12px;color:var(--muted)}label{display:block;font-size:14px;margin:18px 0;color:#d7dce6}input,textarea,select{display:block;width:100%;background:#292727;border:1px solid #3a4352;color:#fff;padding:12px;border-radius:7px;margin-top:7px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox],input[type=radio]{width:19px;height:19px;margin:0;accent-color:var(--accent);flex-shrink:0}.option{display:flex;gap:12px;align-items:center;padding:12px;background:#302d2e;border-radius:7px}.notice{padding:16px 20px;border:1px solid #465f45;background:#1b3025;border-radius:8px;margin-bottom:24px}.error{border-color:#9f4848;background:#3a1d25}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.section-title>input{max-width:270px;font-size:14px}.section-title span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{min-width:0;background:#373435;border:1px solid #514d4e;border-radius:11px;overflow:hidden;transition:transform .2s}.course-card:hover{transform:translateY(-4px)}.poster{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover}.placeholder{background:radial-gradient(ellipse at right top,#776029,transparent 60%),linear-gradient(135deg,#222c3c,#171b24);height:100%;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.placeholder>span{font-size:13px;letter-spacing:5px;color:var(--accent);font-weight:900}.placeholder strong{font-size:27px;line-height:1.2;max-width:80%}.badge{position:absolute;top:14px;right:14px;padding:4px 8px;font-size:9px;letter-spacing:1px;font-weight:750;background:#201e1ed9;border:1px solid #ffffff22;border-radius:4px}.card-copy{padding:18px}.card-copy h3{margin:6px 0 14px}.category{margin-bottom:36px}.category>h3{color:#bec4d0;border-left:3px solid var(--accent);padding-left:12px}progress{width:100%;height:6px;accent-color:var(--accent);display:block;margin:12px 0;background:#303641;border:0}progress::-webkit-progress-bar{background:#303641}progress::-webkit-progress-value{background:var(--accent)}.empty{padding:30px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);grid-column:1/-1}.learning-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:28px;align-items:start}.lesson-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.lesson-row>span:nth-child(2){flex:1}.lesson-row small{display:block}.lesson-row b{color:var(--accent)}.lesson-row form{margin-left:auto}.lesson-icon{width:42px;height:42px;border-radius:7px;background:#f5b62c16;color:var(--accent);display:grid;place-items:center;font-size:12px;flex-shrink:0}.meta{margin:20px 0 30px;color:var(--muted);font-size:14px}.back{color:var(--muted);font-size:13px}.video{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;margin:24px 0}.video iframe,.pdf-reader iframe{width:100%;height:100%;border:0}.pdf-reader{height:78vh;background:white;margin:24px 0}.score{font-size:80px;color:var(--accent);font-weight:900}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats strong{display:block;font-size:42px}.stats span{color:var(--muted);font-size:13px}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:24px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:15px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px}td a{color:var(--accent)}fieldset{min-width:0;border:1px solid var(--line);border-radius:8px}legend{font-weight:700;padding:5px;max-width:100%}summary{cursor:pointer}.narrow{max-width:640px}.login-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;min-height:65vh}.login-copy h1{font-size:clamp(36px,4vw,58px)}.login-seal{border-left:3px solid var(--accent);padding-left:16px;margin-top:50px;font-size:13px;font-weight:800;letter-spacing:2px}.login-seal span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.login-layout .auth{width:100%;margin:20px 0}footer{text-align:center;border-top:1px solid var(--line);padding:25px;font-size:11px;color:#7e8798}[hidden]{display:none!important}@media(max-width:1000px){header{gap:24px}.account>span{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-mark{display:none}.login-layout{gap:35px}.learning-grid{grid-template-columns:minmax(0,1fr) 290px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){header{padding:16px 5%;flex-wrap:wrap;gap:17px}.brand b{font-size:28px}nav{order:3;width:100%;gap:22px;font-size:13px}.account{margin-left:auto}main{padding-top:22px}.hero{padding:27px 23px 32px;border-radius:10px}.hero .eyebrow{font-size:9px}.hero h1{letter-spacing:-1px}.hero p{font-size:14px}.grid{gap:12px}.placeholder{padding:15px}.placeholder strong{font-size:19px;max-width:100%}.placeholder>span{font-size:10px}.badge{font-size:7px;top:8px;right:8px}.card-copy{padding:12px}.card-copy h3{font-size:15px}.card-copy small{font-size:10px}.section-title{flex-wrap:wrap}.section-title>input{max-width:none}.learning-grid{grid-template-columns:1fr}.panel{padding:20px}.stats{gap:12px}.stats .panel{padding:18px}.login-layout{display:block;min-height:0}.login-copy{padding:15px 0}.login-copy h1{font-size:36px}.login-copy p,.login-seal{display:none}.auth{margin:20px auto}.course-heading h1{font-size:34px}.eyebrow{font-size:10px}.lesson-row form button{font-size:11px;padding:6px}.actions{gap:10px}button,.button{min-height:44px}.hero{margin-bottom:28px}.category>h3{font-size:16px}}
.pdf-reader{height:auto;min-height:200px;background:#302d2e;border:1px solid var(--line);border-radius:10px;overflow:hidden}.reader-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;position:sticky;top:0;background:#373435;z-index:1}.reader-tools button{font-size:12px;padding:8px 12px}.reader-tools span{font-size:12px;text-align:center}.reader-tools button:disabled{opacity:.35;cursor:default}.reader-page{width:100%;overflow:hidden}.reader-page canvas{display:block;width:100%;height:auto;margin:auto}.pdf-reader [data-reader-error]{padding:0 15px;color:#f4bcbc}@media print{body{display:none!important}}
/* Identidade final, aplicativo e navegação por módulos. */
:root{--accent:#e3a10b}
.brand{display:flex;flex-direction:row;gap:12px;align-items:center;min-width:200px}
.brand img{border-radius:11px;object-fit:contain}.brand>span{display:flex;flex-direction:column;gap:6px}
.brand b{font-style:normal;font-size:17px;letter-spacing:-.5px}.brand small{font-size:8px;letter-spacing:2px;margin:0}
.button,button{background:#e3a10b;color:#fff}.button:hover,button:hover{background:#f3b52b;color:#fff}
.secondary{background:#484445;color:#fff}.ghost{background:transparent;color:var(--muted)}
.hero{border-color:#665127;background:radial-gradient(ellipse at 85% 20%,#66501c 0,transparent 55%),linear-gradient(120deg,#302b24,#201e1e)}
.hero-mark span{color:#e3a10b66}.hero-mark small{color:#e4c582}.placeholder{background:radial-gradient(ellipse at right top,#70561d,transparent 65%),linear-gradient(135deg,#403b31,#242222)}
.badge{font-size:9px}.locked .poster img{opacity:.95}.buy-link{font-size:12px;color:#f4c35d;display:inline-block;margin-top:5px}
.lesson-icon{background:#e3a10b18}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.module-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);display:block}
.module-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.module-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;padding:24px;background:linear-gradient(135deg,#70561d,#373435)}
.module-placeholder strong{font-size:24px;line-height:1.3}.module-placeholder small{color:#f4d48c;letter-spacing:2px;font-size:10px;margin-bottom:12px}
.module-copy{padding:18px}.module-copy h3{margin:5px 0 12px}.module-copy>span{color:#f4c35d;font-size:12px}
.course-banner{width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:12px;margin:20px 0;display:block}
.resume-card{display:flex;align-items:center;gap:20px;margin-bottom:35px}.resume-play{width:52px;height:52px;border-radius:50%;background:#e3a10b;display:grid;place-items:center;flex-shrink:0}.resume-card strong,.resume-card small{display:block}.resume-card strong{font-size:18px}.resume-card> b{margin-left:auto;color:var(--accent)}
.install-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e5d6b0;border-radius:12px;background:#fff9e9;margin:24px 0}
.install-card img{border-radius:10px;flex-shrink:0}.install-card>div{flex:1;min-width:0}.install-card strong{display:block;font-size:13px}.install-card small{display:block;font-size:10px;color:#6c7378}.install-card button{font-size:12px;padding:9px 14px;min-height:40px;flex-shrink:0}
dialog{max-width:430px;width:calc(100% - 35px);background:#373435;color:#fff;border:1px solid #4d5159;border-radius:18px;padding:30px;box-shadow:0 30px 80px #0008}
dialog::backdrop{background:#0009}dialog img{border-radius:14px}.dialog-close{position:absolute;right:15px;top:15px;font-size:24px}
.login-page{color-scheme:light;background:#fff;color:#172729}
.login-page>header,.login-page>footer{display:none}.login-page main{max-width:none;padding:0;min-height:100vh}
.login-page .notice{position:relative;z-index:2;margin:15px}.login-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;min-height:100vh}
.login-copy{background:#f3f0e8;padding:35px 5vw 0;display:flex;flex-direction:column;overflow:hidden}
.reference-brand{display:flex;gap:12px;align-items:center;margin-bottom:70px}.reference-brand img{border-radius:12px}.reference-brand>span{font-size:21px;color:#9b6500;font-weight:800;font-style:italic}.reference-brand small{display:block;font-size:8px;letter-spacing:2px;color:#6b5b54;font-style:normal;margin-top:4px}
.login-copy .eyebrow,.login-form-inner>.eyebrow{color:#815427;font-size:10px;font-weight:850;letter-spacing:2px}
.login-copy h1{font-size:clamp(36px,3.4vw,61px);letter-spacing:-1.8px;line-height:1.14;margin:15px 0 22px}
.login-copy p{color:#385057;font-size:16px;line-height:1.8;margin-top:0}
.login-pill{align-self:flex-start;color:#785830;font-size:11px;border:1px solid #d9c8a2;border-radius:30px;padding:6px 14px;background:#fff9e8;margin-bottom:35px}
.login-machines{display:block;width:calc(100% + 4vw);height:auto;min-height:180px;object-fit:cover;border-radius:95px 0 0 0;margin-top:auto}
.login-form-side{padding:80px 5vw 35px;position:relative;display:flex;align-items:center;justify-content:center;background:#fff}
.site-return{position:absolute;right:32px;top:22px;font-size:11px;color:#5a6d75}
.login-form-inner{width:100%;max-width:420px}.login-app-logo{display:block;border-radius:15px;margin-bottom:24px}
.login-form-inner>h2{font-size:30px;letter-spacing:-.8px;margin:12px 0 15px}
.login-form-inner>p{color:#596c73;font-size:13px}.login-page label{color:#172729;font-weight:650;font-size:13px;margin:20px 0}
.login-page input{background:#fff;color:#172729;border:1px solid #cbd3d2;border-radius:8px;padding:13px;font-size:15px;min-height:48px}
.password-wrap{position:relative;display:block}.password-wrap input{padding-right:83px}.password-wrap button{background:transparent;color:#52626a;position:absolute;right:4px;top:4px;padding:8px 12px;font-size:11px;min-height:40px}
.login-page .forgot{display:block;text-align:right;color:#49616b;font-size:12px;margin:10px 0 24px;font-weight:400}
.login-submit{width:100%;display:flex;justify-content:space-between;padding:13px 20px;min-height:48px}
.first-access{border-top:1px solid #e5e9e7;margin-top:30px;padding-top:20px;font-size:12px}
.first-access strong{font-size:12px}.first-access p{color:#60737c;line-height:1.8;margin-top:6px}
.login-page .error{color:#6c2027;background:#fff0f1;border-color:#e8b1b6}
@media(min-width:1500px){.login-copy{padding-left:6vw}.login-form-side{padding-left:8vw;padding-right:8vw}.reference-brand{margin-bottom:95px}.login-machines{margin-top:15px}}
@media(max-width:1000px){.brand{min-width:180px}.brand b{font-size:15px}.install-small{display:none}.login-copy{padding:30px 4vw 0}.reference-brand{margin-bottom:65px}.reference-brand>span{font-size:18px}.login-copy h1{font-size:43px}.login-form-side{padding-left:4vw;padding-right:4vw}.login-machines{min-height:170px}}
@media(max-width:680px){
 .login-layout{display:block;min-height:100vh}.login-copy{display:none}
 .login-form-side{padding:48px 24px 28px;display:block;min-height:100vh}
 .site-return{top:16px;right:24px;font-size:10px}.login-form-inner{max-width:450px;margin:0 auto}
 .login-app-logo{width:56px;height:56px;margin:0 0 18px}.login-form-inner>h2{font-size:29px;margin:9px 0}
 .login-form-inner>p{font-size:12px;margin:0 0 18px}.login-form-inner>.eyebrow{font-size:9px}
 .install-card{margin:18px 0;padding:12px;gap:10px}.install-card button{min-height:44px}.install-card small{font-size:10px}
 .login-page label{margin:15px 0}.login-page .forgot{margin:8px 0 19px}.first-access{margin-top:24px;padding-top:18px}
 .brand{min-width:0;gap:9px}.brand img{width:38px;height:38px}.brand b{font-size:15px}.brand small{font-size:7px}
 .module-grid{grid-template-columns:1fr;gap:18px}.module-copy h3{font-size:19px}.module-card>img{aspect-ratio:16/9}
 .course-banner{aspect-ratio:8/3;border-radius:9px;margin:18px 0}.resume-card{gap:13px;padding:16px}.resume-card strong{font-size:15px}
 .resume-card small{font-size:9px}.resume-play{width:40px;height:40px}.buy-link{font-size:10px}.badge{font-size:7px}
 .course-card .poster{aspect-ratio:16/10}
}
.module-card .module-copy > span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    padding: 16px 22px;
    margin-top: 20px;
    box-sizing: border-box;
    background: #e3a10b !important;
    color: #fff !important;
    border-radius: 10px;
    font-size: 18px !important;
    font-weight: 700;
}
@media (orientation: landscape) and (max-height: 600px) {
    .pdf-reader .reader-page {
        height: calc(100vh - 100px);
        height: calc(100dvh - 100px);
        overflow: hidden;
    }

    .pdf-reader .reader-page canvas {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
        display: block;
        margin: auto;
    }
}

/* Paleta Elite Treinamentos: dourado, grafite e branco. */
:root{--bg:#201e1e;--panel:#373435;--line:#514d4e;--text:#fefefe;--muted:#c9c5c5;--accent:#e3a10b}
.button,button{background:var(--accent);color:#201e1e}
.button:hover,button:hover{background:#f3b52b;color:#201e1e}
.secondary{background:#484445;color:#fefefe;border-color:#625c5e}
.secondary:hover{background:#5b5557;color:#fff}
.ghost,.password-wrap button{background:transparent;color:var(--muted)}
.ghost:hover{background:#ffffff12;color:#fff}
.login-page .password-wrap button{color:#52626a}
.module-card .module-copy>span{background:#e3a10b!important;color:#201e1e!important}
.module-card:hover .module-copy>span{background:#f3b52b!important}
.resume-play{color:#201e1e}
.member-install-card,.pwa-invite{background:var(--panel);border-color:var(--line);color:var(--text)}
.member-install-card p,.pwa-invite p,.pwa-invite .pwa-online-note{color:var(--muted)}
.member-install-card button,.pwa-invite button[data-install]{background:#e3a10b;color:#201e1e}
.member-install-card button:hover,.pwa-invite button[data-install]:hover{background:#f3b52b;color:#201e1e}
.pwa-invite button[data-dismiss-install]{border-color:#827a7c;color:#fefefe}
:where(a,button):focus-visible{outline:3px solid #f4c35d;outline-offset:4px}

/* Controle de visibilidade: nunca deve cobrir o campo de senha. */
.password-wrap{position:relative;display:block;isolation:isolate}
.password-wrap input{position:relative;z-index:0;width:100%;padding-right:58px;min-height:52px}
.password-wrap button[data-toggle-password],.auth .password-wrap button[data-toggle-password]{position:absolute;z-index:1;inset:auto 4px auto auto;top:4px;display:flex;align-items:center;justify-content:center;width:44px!important;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:10px;margin:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;line-height:1}
.password-wrap button[data-toggle-password]:hover{background:#ffffff12;color:var(--text)}
.login-page .password-wrap button[data-toggle-password]{color:#52626a}
.login-page .password-wrap button[data-toggle-password]:hover{background:#00000009;color:#201e1e}
.password-wrap button[data-toggle-password] svg{display:block;width:24px;height:24px;pointer-events:none}
