:root { --navy:#001f3d; --navy2:#0b3e66; --gold:#feb639; --gold-soft:#fff4dc; --blue:#2886c8; --blue-soft:#eaf5fc; --green:#23956c; --green-soft:#e8f7f1; --coral:#dc6653; --coral-soft:#fff0ed; --ink:#17324c; --muted:#6c7f8f; --line:#dfe7ed; --canvas:#f4f7f9; --white:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--canvas); }
*{box-sizing:border-box} html{min-height:100%} body{min-height:100vh;margin:0;background:var(--canvas);font-size:16px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(254,182,57,.35);outline-offset:2px}.hidden{display:none!important}
.brand-lockup{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:1.1rem;font-weight:850;letter-spacing:-.045em;text-decoration:none}.brand-lockup img{width:39px;height:39px;object-fit:contain}.brand-lockup b{color:var(--gold)}.brand-lockup.light{color:#fff;font-size:1.35rem}.brand-lockup.light img{width:50px;height:50px}
.eyebrow,.overline{color:var(--gold);font-size:.67rem;font-weight:850;letter-spacing:.14em}.eyebrow.navy{color:var(--navy2)}
.student-login{min-height:100vh;display:grid;grid-template-columns:minmax(500px,1.05fr) minmax(410px,.95fr);background:#fff}.login-visual{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:48px clamp(45px,7vw,100px);overflow:hidden;color:#fff;background:linear-gradient(135deg,rgba(0,31,61,.97),rgba(1,54,88,.91)),url("assets/sala-treinamento.webp") center/cover}.login-visual:after{content:"";position:absolute;width:420px;height:420px;right:-180px;bottom:-140px;border:1px solid rgba(254,182,57,.22);border-radius:50%;box-shadow:0 0 0 60px rgba(254,182,57,.035),0 0 0 120px rgba(254,182,57,.025)}.login-visual>*{position:relative;z-index:1}.login-visual-copy{margin:auto 0;max-width:670px}.login-visual-copy h1{margin:18px 0;color:#fff;font-size:clamp(3rem,5vw,5.1rem);line-height:1.02;letter-spacing:-.055em}.login-visual-copy h1 strong{color:var(--gold)}.login-visual-copy p{max-width:560px;color:rgba(255,255,255,.78);font-size:1.1rem;line-height:1.7}.login-features{display:flex;gap:22px;flex-wrap:wrap;color:rgba(255,255,255,.78);font-size:.76rem}.login-features span::first-letter{color:var(--gold)}.login-form-wrap{display:grid;place-items:center;padding:40px clamp(30px,7vw,95px)}.student-login-card{width:min(430px,100%);display:grid;gap:20px}.student-login-card h2{margin:5px 0 2px;color:var(--navy);font-size:2rem;letter-spacing:-.04em}.student-login-card p{margin:0;color:var(--muted);font-size:.83rem}.student-login-card label,.student-dialog label{display:grid;gap:7px;color:#344d61;font-size:.78rem;font-weight:750}.student-login-card input,.student-dialog input,.student-dialog select{width:100%;min-height:47px;padding:11px 13px;border:1px solid #cedae3;border-radius:10px;color:var(--ink);background:#fff}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;background:transparent;color:var(--muted)}.student-forgot-password{justify-self:end;margin-top:-12px;padding:0;border:0;color:var(--navy2);background:transparent;font-size:.7rem;font-weight:800}.student-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:9px;font-size:.75rem;font-weight:800;transition:.18s}.student-button:hover{transform:translateY(-1px)}.student-button.primary{color:var(--navy);background:var(--gold);box-shadow:0 8px 20px rgba(254,182,57,.23)}.student-button.gold{color:var(--navy);background:var(--gold)}.student-button.outline{color:var(--navy);border-color:#cad7e0;background:#fff}.student-button.wide{width:100%}.first-access{padding:12px 14px;border-radius:10px;background:var(--gold-soft)}.first-access span{color:#6d4b0d;font-size:.7rem;font-weight:850}.first-access p{margin-top:3px;color:#84662e;font-size:.68rem}.team-access{color:var(--navy2);font-size:.7rem;font-weight:750;text-align:center;text-decoration:none}.mobile-brand{display:none}
.student-app{min-height:100vh}.student-header{position:sticky;top:0;z-index:30;height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 clamp(22px,5vw,70px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.student-nav{height:100%;display:flex;align-items:center;gap:5px}.student-nav button{position:relative;height:100%;padding:0 14px;border:0;color:#687b8b;background:transparent;font-size:.75rem;font-weight:700}.student-nav button.active{color:var(--navy)}.student-nav button.active:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:3px;background:var(--gold);border-radius:3px 3px 0 0}.student-user{display:flex;align-items:center;gap:8px}.student-user strong,.student-user span{display:block}.student-user strong{color:var(--navy);font-size:.72rem}.student-user span{color:var(--muted);font-size:.59rem}.student-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--navy);background:var(--gold);font-size:.69rem;font-weight:850}.notification,.logout{position:relative;width:36px;height:36px;border:0;border-radius:9px;color:var(--navy);background:#f1f5f7}.notification i{position:absolute;width:6px;height:6px;right:7px;top:7px;border:1px solid #fff;border-radius:50%;background:var(--coral)}.logout{background:transparent}.student-main{max-width:1260px;margin:auto;padding:30px clamp(20px,5vw,55px) 60px}.student-view{display:none;animation:fadeIn .25s ease}.student-view.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}}
.student-welcome,.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.student-welcome>div>span,.page-heading>div>span{color:var(--navy2);font-size:.66rem;font-weight:850;letter-spacing:.1em}.student-welcome h1,.page-heading h1{margin:3px 0 2px;color:var(--navy);font-size:1.7rem;letter-spacing:-.045em}.student-welcome h1 b{color:var(--navy)}.student-welcome p,.page-heading p{margin:0;color:var(--muted);font-size:.79rem}.install-app{padding:9px 13px;border:1px solid #cfdbe3;border-radius:9px;color:var(--navy);background:#fff;font-size:.7rem;font-weight:750}.progress-hero{position:relative;min-height:280px;display:grid;grid-template-columns:1fr 260px;align-items:center;gap:28px;margin-bottom:15px;padding:40px 48px;overflow:hidden;border-radius:20px;color:#fff;background:linear-gradient(120deg,var(--navy),#0a436e)}.progress-hero:before,.progress-hero:after{content:"";position:absolute;border:1px solid rgba(254,182,57,.14);border-radius:50%}.progress-hero:before{width:380px;height:380px;right:-130px;top:-210px}.progress-hero:after{width:280px;height:280px;right:-70px;top:-150px}.progress-hero-copy,.course-progress{position:relative;z-index:1}.progress-hero h2{max-width:620px;margin:8px 0 4px;font-size:2rem;letter-spacing:-.04em}.progress-hero p{margin:0;color:#b8ccd9;font-size:.77rem}.hero-tags{display:flex;gap:16px;margin:25px 0;color:#d7e4ec;font-size:.68rem}.course-progress{text-align:center}.progress-ring,.attendance-ring{width:150px;height:150px;display:grid;place-items:center;margin:auto;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--progress)*1%),rgba(255,255,255,.12) 0)}.progress-ring:before{content:"";position:absolute;width:123px;height:123px;border-radius:50%;background:#0a3a61}.progress-ring div{position:relative;z-index:1}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{color:#fff;font-size:1.7rem}.progress-ring span{color:#9fb7c9;font-size:.6rem}.course-progress>p{margin-top:12px;color:#d5e2ea}.course-progress small{color:#8eabba;font-size:.61rem}.student-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.student-metrics article{min-height:103px;display:flex;align-items:flex-start;gap:11px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.metric-symbol{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;font-weight:850}.metric-symbol.green{color:var(--green);background:var(--green-soft)}.metric-symbol.blue{color:var(--blue);background:var(--blue-soft)}.metric-symbol.gold{color:#a46a00;background:var(--gold-soft)}.metric-symbol.coral{color:var(--coral);background:var(--coral-soft)}.student-metrics small,.student-metrics strong,.student-metrics em{display:block}.student-metrics small{color:var(--muted);font-size:.6rem}.student-metrics strong{margin:3px 0;color:var(--navy);font-size:.84rem}.student-metrics em{color:#8494a1;font-size:.56rem;font-style:normal}.student-home-grid{display:grid;grid-template-columns:.85fr 1.15fr .7fr;gap:15px}.student-panel{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(0,31,61,.035)}.next-class-card,.journey-preview,.air-tip{padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-title span{color:#8495a2;font-size:.58rem;font-weight:850;letter-spacing:.11em}.panel-title h3{margin:4px 0 0;color:var(--navy);font-size:.96rem}.panel-title>b{padding:5px 8px;border-radius:999px;color:#9b6500;background:var(--gold-soft);font-size:.58rem}.panel-title button{border:0;color:var(--navy2);background:transparent;font-size:.64rem;font-weight:750}.class-date{display:flex;align-items:center;gap:8px;margin:20px 0 13px}.class-date strong{color:var(--navy);font-size:2.3rem;line-height:1}.class-date span{color:var(--muted);font-size:.55rem;font-weight:800}.class-detail{display:grid;gap:9px;margin-bottom:17px}.class-detail p{display:flex;gap:8px;margin:0;color:#526a7c;font-size:.64rem}.class-detail p span{color:var(--gold)}.mini-journey{display:grid;margin-top:17px}.mini-journey>div{position:relative;display:grid;grid-template-columns:30px 1fr;gap:9px;min-height:54px}.mini-journey>div:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:0;border-left:2px solid #dfe7ed}.mini-journey i{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:.62rem;font-style:normal;font-weight:850}.mini-journey .current i{color:var(--navy);background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.mini-journey b,.mini-journey small{display:block}.mini-journey b{color:var(--ink);font-size:.68rem}.mini-journey small{margin-top:2px;color:var(--muted);font-size:.56rem}.air-tip{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#0b3f68,#001f3d)}.air-tip:after{content:"";position:absolute;width:150px;height:150px;right:-70px;bottom:-70px;border:25px solid rgba(254,182,57,.07);border-radius:50%}.air-tip>span{color:var(--gold);font-size:.58rem;font-weight:850;letter-spacing:.11em}.air-tip h3{margin:19px 0 8px;font-size:1.3rem}.air-tip p{color:#bdcfdb;font-size:.7rem;line-height:1.6}.air-tip button{position:relative;z-index:1;padding:0;border:0;color:var(--gold);background:transparent;font-size:.64rem;font-weight:800}
.sync-note{padding:7px 10px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:.62rem;font-weight:750}.course-strip{display:grid;grid-template-columns:1fr 340px;align-items:center;gap:30px;margin-bottom:28px;padding:25px 28px;border-radius:15px;color:#fff;background:linear-gradient(115deg,var(--navy),#0a436e)}.course-strip span{color:var(--gold);font-size:.59rem;font-weight:850;letter-spacing:.1em}.course-strip h2{margin:5px 0 3px;font-size:1.25rem}.course-strip p{margin:0;color:#b5c9d7;font-size:.66rem}.strip-progress p,.payment-progress p{display:flex;justify-content:space-between;margin:0 0 7px;color:#b8cad7;font-size:.63rem}.strip-progress p b{color:var(--gold)}.strip-progress i,.payment-progress i,.minimum-card i,.module-progress{position:relative;height:7px;display:block;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.13)}.strip-progress em,.payment-progress em,.minimum-card em,.module-progress em{height:100%;display:block;border-radius:inherit;background:var(--gold)}.module-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:13px}.module-section-title span{color:#8193a1;font-size:.59rem;font-weight:850;letter-spacing:.1em}.module-section-title h2{margin:3px 0 0;color:var(--navy);font-size:1.2rem}.module-section-title p{margin:3px 0 0;color:var(--muted);font-size:.7rem}.module-count{padding:6px 9px;border-radius:999px;background:#eaf0f4}.student-module-list{display:grid;gap:9px}.student-module-list article{display:grid;grid-template-columns:42px 1fr auto 95px;align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--line);border-radius:13px;background:#fff}.module-number{width:38px;height:38px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;color:#7f919e;font-weight:850}.student-module-list article.completed .module-number{color:#fff;border-color:var(--green);background:var(--green)}.student-module-list article.current{border-color:#f1ce7c;background:#fffcf4}.student-module-list article.current .module-number{color:var(--navy);border-color:var(--gold);background:var(--gold)}.student-module-list small{color:#8798a5;font-size:.55rem;font-weight:800;letter-spacing:.08em}.student-module-list h3{margin:3px 0;color:var(--ink);font-size:.8rem}.student-module-list p{margin:0;color:var(--muted);font-size:.6rem}.module-badge{padding:5px 8px;border-radius:999px;font-size:.58rem;font-weight:750}.module-badge.completed{color:var(--green);background:var(--green-soft)}.module-badge.current{color:#946100;background:var(--gold-soft)}.module-detail{padding:7px 9px;border:1px solid #d3dee6;border-radius:8px;color:var(--navy);background:#fff;font-size:.61rem;font-weight:750}.module-progress{max-width:190px;height:5px;margin-top:8px;background:#e3e8ec}.available-title{margin-top:35px}.module-marketplace{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-marketplace article{padding:21px;border:1px solid var(--line);border-radius:15px;background:#fff}.market-icon{width:43px;height:43px;display:grid;place-items:center;margin-bottom:16px;border-radius:11px;color:var(--gold);background:var(--navy);font-size:1.2rem}.module-marketplace>article>span{color:#8797a4;font-size:.56rem;font-weight:850;letter-spacing:.1em}.module-marketplace h3{min-height:44px;margin:5px 0;color:var(--navy);font-size:1rem}.module-marketplace p{min-height:51px;margin:0;color:var(--muted);font-size:.68rem;line-height:1.55}.module-marketplace article>div:nth-of-type(2){display:flex;justify-content:space-between;align-items:end;margin:18px 0 13px;padding-top:13px;border-top:1px solid #edf1f4}.module-marketplace article>div b{color:var(--muted);font-size:.57rem}.module-marketplace article>div strong{color:var(--navy);font-size:.87rem}.module-marketplace .student-button{width:100%}
.attendance-overview{display:grid;grid-template-columns:1.45fr .75fr;gap:14px;margin-bottom:14px}.attendance-score,.minimum-card{display:flex;align-items:center;gap:25px;padding:27px;border:1px solid var(--line);border-radius:15px;background:#fff}.attendance-ring{--progress:96;position:relative;flex:0 0 auto;width:150px;height:150px;background:conic-gradient(var(--green) 96%,#e5ecef 0)}.attendance-ring:before{content:"";position:absolute;width:122px;height:122px;border-radius:50%;background:#fff}.attendance-ring strong,.attendance-ring span{position:relative;z-index:1;display:block;text-align:center}.attendance-ring strong{color:var(--navy);font-size:1.75rem}.attendance-ring span{color:var(--muted);font-size:.58rem}.positive-label{color:var(--green);font-size:.58rem;font-weight:850;letter-spacing:.1em}.attendance-score h2{margin:5px 0;color:var(--navy);font-size:1.25rem}.attendance-score p{max-width:380px;margin:0;color:var(--muted);font-size:.7rem}.legend{display:flex;gap:13px;margin-top:18px;color:#607587;font-size:.58rem}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%}.legend .present{background:var(--green)}.legend .excused{background:var(--gold)}.legend .absent{background:var(--coral)}.minimum-card{display:block}.minimum-card>span{color:#8193a1;font-size:.58rem;font-weight:850;letter-spacing:.1em}.minimum-card>strong{display:block;margin:6px 0 15px;color:var(--navy);font-size:2rem}.minimum-card i{height:9px;overflow:visible;background:#e7ecef}.minimum-card em{background:linear-gradient(90deg,var(--green),#55bd96)}.minimum-card i b{position:absolute;top:-4px;width:2px;height:17px;background:var(--coral)}.minimum-card p{margin:18px 0 0;color:var(--muted);font-size:.66rem;line-height:1.55}.attendance-history{padding:20px}.attendance-history select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;font-size:.63rem}.student-table-wrap{margin-top:14px;overflow-x:auto}.student-table-wrap table{width:100%;border-collapse:collapse}.student-table-wrap th{padding:11px;color:#80919e;background:#f8fafb;font-size:.57rem;letter-spacing:.06em;text-align:left}.student-table-wrap td{padding:13px 11px;border-top:1px solid #e9eef1;color:#4f6576;font-size:.66rem}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:.56rem;font-weight:750}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill.present{color:var(--green);background:var(--green-soft)}.pill.excused{color:#9b6500;background:var(--gold-soft)}
.finance-hero{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;padding:28px;border-radius:16px;color:#fff;background:linear-gradient(115deg,var(--navy),#0b416a)}.finance-hero>div>span{color:var(--gold);font-size:.59rem;font-weight:850;letter-spacing:.1em}.finance-hero h2{margin:6px 0 2px;font-size:1.25rem}.finance-hero p{margin:0;color:#b5c9d7;font-size:.65rem}.finance-values{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.finance-values div{padding:13px;border-radius:10px;background:rgba(255,255,255,.07)}.finance-values span,.finance-values strong{display:block}.finance-values span{color:#abc0cf;font-size:.55rem}.finance-values strong{margin-top:4px;font-size:.91rem}.finance-values strong.green{color:#7de0b7}.payment-progress{grid-column:1/-1}.payment-progress em{background:var(--green)}.installments-panel{margin-top:14px;padding:20px}.installment-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:16px}.installment-cards article{padding:16px;border:1px solid var(--line);border-radius:11px}.installment-cards article.next{border-color:#f2cc70;background:#fffdf7}.installment-status{display:inline-block;margin-bottom:14px;padding:4px 7px;border-radius:999px;font-size:.54rem;font-weight:800}.installment-status.paid{color:var(--green);background:var(--green-soft)}.installment-status.pending{color:#966200;background:var(--gold-soft)}.installment-status.future{color:#718392;background:#eef2f5}.installment-cards small,.installment-cards strong,.installment-cards p{display:block}.installment-cards small{color:#81929f;font-size:.53rem;font-weight:800;letter-spacing:.07em}.installment-cards strong{margin:5px 0;color:var(--navy);font-size:1rem}.installment-cards p{min-height:30px;margin:0 0 14px;color:var(--muted);font-size:.58rem}.installment-cards button{padding:0;border:0;color:var(--navy2);background:transparent;font-size:.6rem;font-weight:800}.installment-cards .contact-finance{color:#956100}
.certificate-status{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:45px;padding:34px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(120deg,#fff,#fffaf1)}.certificate-art{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;border:9px double var(--navy);outline:3px solid var(--gold);outline-offset:-14px;background:#fff;text-align:center;box-shadow:0 14px 35px rgba(0,31,61,.12);transform:none}.certificate-art small{margin-top:25px;color:#a36b05;font-size:.57rem;font-weight:850;letter-spacing:.16em}.certificate-art>strong{max-width:260px;margin-top:8px;color:var(--navy);font:700 1.2rem Georgia,serif}.certificate-art>i{width:140px;margin:24px 0 7px;border-top:1px solid var(--navy)}.certificate-art>span{color:var(--muted);font-size:.58rem}.certificate-status h2{margin:6px 0 10px;color:var(--navy);font-size:1.55rem;letter-spacing:-.035em}.certificate-status>div>p{color:var(--muted);font-size:.72rem;line-height:1.6}.certificate-requirements{margin-top:20px}.certificate-requirements p{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:.65rem}.certificate-requirements p>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#8b9aa5;background:#eef2f5;font-weight:800}.certificate-requirements p>span.ok{color:var(--green);background:var(--green-soft)}.certificate-requirements p b{color:var(--ink)}.certificate-requirements p strong{color:var(--muted)}.empty-certificates{margin-top:14px;padding:38px;text-align:center}.empty-certificates>span{font-size:2rem;color:#9aa9b3}.empty-certificates h3{margin:7px 0;color:var(--navy);font-size:.9rem}.empty-certificates p{margin:0;color:var(--muted);font-size:.67rem}
.student-bottom-nav{display:none}.student-dialog{width:min(430px,calc(100% - 28px));padding:0;border:0;border-radius:18px;color:var(--ink);background:#fff;box-shadow:0 25px 80px rgba(0,31,61,.28)}.student-dialog::backdrop{background:rgba(0,23,43,.65);backdrop-filter:blur(3px)}.student-dialog form{display:grid;gap:15px;padding:27px}.student-dialog h2{margin:0;color:var(--navy);font-size:1.35rem;letter-spacing:-.03em}.student-dialog p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}.security-icon,.interest-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:13px;color:var(--navy);background:var(--gold);font-size:1.3rem}.later-button{border:0;color:var(--muted);background:transparent;font-size:.63rem}.dialog-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:8px;color:var(--muted);background:#f1f4f6;font-size:1.2rem}.selected-module{padding:12px;border-radius:9px;background:#f3f6f8}.selected-module span,.selected-module strong{display:block}.selected-module span{color:var(--muted);font-size:.56rem}.selected-module strong{margin-top:3px;color:var(--navy);font-size:.75rem}.toast-region{position:fixed;z-index:100;right:18px;bottom:18px;display:grid;gap:8px}.toast{min-width:280px;max-width:370px;display:flex;align-items:center;gap:9px;padding:13px 15px;border:1px solid #cbe4d9;border-radius:11px;color:#155e45;background:#f0fbf6;box-shadow:0 14px 35px rgba(0,31,61,.15);font-size:.7rem;font-weight:750}.toast:before{content:"✓";width:23px;height:23px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green)}.toast.error{color:#8f382c;border-color:#efcbc4;background:#fff5f3}.toast.error:before{content:"!";background:var(--coral)}
@media(max-width:1040px){.student-nav{display:none}.student-metrics{grid-template-columns:repeat(2,1fr)}.student-home-grid{grid-template-columns:1fr 1fr}.air-tip{grid-column:1/-1}.module-marketplace{grid-template-columns:repeat(2,1fr)}.attendance-overview{grid-template-columns:1fr}.installment-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1040px){body{padding-bottom:70px}.student-login{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:30px 22px}.mobile-brand{display:inline-flex;margin-bottom:8px}.student-header{height:64px;padding:0 14px}.student-header>.brand-lockup{font-size:.92rem}.student-header>.brand-lockup img{width:34px;height:34px}.student-user>div:not(.student-avatar),.student-user .logout{display:none}.student-main{padding:22px 13px 35px}.student-welcome,.page-heading{align-items:flex-start;flex-direction:column}.student-welcome h1,.page-heading h1{font-size:1.45rem}.install-app{width:100%}.progress-hero{grid-template-columns:1fr;padding:26px 22px}.progress-hero h2{font-size:1.55rem}.course-progress{display:grid;grid-template-columns:110px 1fr;align-items:center;text-align:left}.progress-ring{grid-row:1/3;width:100px;height:100px}.progress-ring:before{width:81px;height:81px}.progress-ring strong{font-size:1.25rem}.course-progress>p{margin:0}.student-metrics{gap:9px}.student-metrics article{min-height:135px;flex-direction:column;padding:14px}.student-home-grid{grid-template-columns:1fr}.air-tip{grid-column:auto}.course-strip{grid-template-columns:1fr;padding:22px}.student-module-list article{grid-template-columns:38px 1fr auto}.student-module-list .module-detail{grid-column:2/-1;justify-self:start}.module-badge{font-size:.5rem}.module-marketplace{grid-template-columns:1fr}.attendance-score{align-items:flex-start;flex-direction:column}.attendance-ring{width:130px;height:130px}.attendance-ring:before{width:105px;height:105px}.legend{flex-wrap:wrap}.finance-hero{grid-template-columns:1fr;padding:22px}.finance-values{grid-template-columns:1fr}.payment-progress{grid-column:auto}.installment-cards{grid-template-columns:1fr}.certificate-status{grid-template-columns:1fr;padding:20px}.certificate-art{min-height:230px;transform:none}.student-bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;height:66px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff;box-shadow:0 -6px 20px rgba(0,31,61,.08)}.student-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:0;color:#7c8e9c;background:transparent;font-size:.52rem}.student-bottom-nav button span{font-size:1rem}.student-bottom-nav button.active{color:var(--navy);font-weight:800}.student-bottom-nav button.active span{color:var(--gold)}.toast-region{left:12px;right:12px;bottom:78px}.toast{min-width:0;max-width:none}}
@media(max-width:420px){.student-metrics{grid-template-columns:1fr 1fr}.student-metrics strong{font-size:.76rem}.hero-tags{flex-wrap:wrap}.module-section-title{align-items:flex-start;flex-direction:column;gap:8px}.student-module-list article{padding:14px 12px}.student-header>.brand-lockup span{display:none}.finance-values{grid-template-columns:1fr}.certificate-art{padding:18px}}
/* Em celulares largos, usa uma coluna e amplia os controles de acesso. */
.certificate-public-link{width:max-content;margin:14px auto 0;text-decoration:none}
@media(max-width:1040px){.student-login{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100svh;place-items:start center;padding:max(34px,7svh) clamp(20px,6vw,48px) 40px}.student-login-card{width:min(620px,100%);gap:24px}.mobile-brand{display:inline-flex;margin-bottom:12px;font-size:1.35rem}.mobile-brand img{width:56px;height:56px}.student-login-card h2{margin-top:2px;font-size:clamp(2.1rem,6vw,2.6rem)}.student-login-card>p{font-size:1rem;line-height:1.6}.student-login-card label{gap:9px;font-size:.96rem}.student-login-card input{min-height:58px;padding:15px 16px;border-radius:12px;font-size:1.05rem}.password-field input{padding-right:56px}.password-field button{top:6px;right:6px;width:46px;height:46px}.student-login-card .student-button{min-height:56px;border-radius:12px;font-size:.96rem}.team-access{padding:6px;font-size:.92rem}}
@media print{body *{visibility:hidden}.print-receipt,.print-receipt *{visibility:visible}.print-receipt{position:absolute;inset:0}}
.attendance-ring{--progress:0;background:conic-gradient(var(--green) calc(var(--progress) * 1%),#e5ecef 0)}
