:root{--teal:#2da3a3;--dark:#124e50;--lime:#abc900;--ink:#183f42;--muted:#627a7a;--line:#dce8e4;--paper:#f3f7f4;--red:#b83232}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--dark)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:var(--dark);color:white;border:1px solid transparent;border-radius:8px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.35}button:hover,.button:hover{background:#246a6b}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:var(--dark);border-color:#bbcfca}.secondary:hover{background:#e9f3ee}.danger{background:var(--red)}.small{font-size:12px;padding:8px 12px}.full{width:100%}.small-text,small{font-size:12px}.muted{color:var(--muted)}.container{max-width:1220px;padding:0 28px;margin:auto}.site-header{max-width:1276px;margin:auto;padding:8px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:block;position:relative;width:190px;height:110px;overflow:hidden;flex-shrink:0}.brand img{width:190px;height:190px;transform:translateY(-40px);object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px;font-weight:650}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--teal)}h1,h2,h3{line-height:1.2;letter-spacing:-.7px}h1{font-size:36px;margin:18px 0}h2{font-size:27px}h3{font-size:22px}h1 em{font-style:normal;color:var(--teal)}.hero{max-width:850px;padding:70px 0 65px}.hero h1{font-size:clamp(38px,5vw,64px);letter-spacing:-2px;margin:20px 0}.hero p{max-width:600px;font-size:19px;color:var(--muted);margin:25px 0}.hero .button{margin-top:8px}.section-title{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:24px 0}.section-title p{max-width:370px;color:var(--muted);font-size:14px}.section-title h2{margin:12px 0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white;display:flex;flex-direction:column}.course-art{width:100%;aspect-ratio:1;object-fit:cover;display:block}.course-content{padding:23px;display:flex;flex-direction:column;flex:1}.course-content h3{margin:15px 0 5px}.course-content p{font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.tag{display:inline-block;font-size:10px;font-weight:750;letter-spacing:.7px;border-radius:5px;padding:4px 7px;line-height:1.3}.tag-turquesa{background:#def0ee;color:#12585c}.tag-verde{background:#edf4cf;color:#496000}.tag-vermelho{background:#ffe5e2;color:#a72d2d}.tag-amarelo{background:#fff1ca;color:#745000}.price{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.price del{color:var(--muted);font-size:13px}.price strong{font-size:28px;color:var(--dark)}details{border-top:1px solid var(--line);padding:14px 0;margin:16px 0}summary{font-size:13px;font-weight:650;cursor:pointer}.program{font-size:13px;margin-top:15px}.course-select{display:flex;align-items:center;gap:12px;background:#edf4dd;border-radius:8px;padding:12px;margin-top:auto}.course-select input{width:20px;min-height:20px;margin:0}.selection-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e1efea;padding:22px;border-radius:12px;margin:30px 0}.selection-bar span{font-size:13px}.soon-section{background:#eaf1e0;border-radius:16px;margin:55px 0;padding:30px}.full-row{grid-column:1/-1}.site-footer{max-width:1220px;margin:60px auto 0;padding:30px 28px;display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.site-footer img{width:100px;height:100px;object-fit:contain;mix-blend-mode:multiply}.site-footer>a{margin-left:auto}.form-card,.panel,.card{background:white;border:1px solid var(--line);border-radius:15px;padding:26px;margin:22px 0}.form-card{max-width:480px;margin:55px auto}.form-card.wide{max-width:740px}.form-card h1{font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{display:block;font-size:13px;font-weight:600;margin:15px 0}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #c7d8d1;border-radius:7px;padding:10px 12px;font:inherit;font-size:14px;color:var(--ink);background:white;margin-top:6px}input:focus,select:focus,textarea:focus{outline:3px solid #2da3a326;border-color:var(--teal)}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}textarea{resize:vertical;line-height:1.6}.notice,.alert{background:#fff1e3;border:1px solid #efccb0;border-radius:9px;padding:15px 18px;margin:22px 0;overflow-wrap:anywhere;font-size:14px}.check-inline{display:inline-flex;gap:10px;align-items:center;margin-right:22px}.check-inline input{width:18px;min-height:18px;margin:0}fieldset{border:1px solid var(--line);border-radius:8px;margin:22px 0;padding:12px 18px}legend{font-size:13px;font-weight:700}.admin-header{max-width:1360px;margin:auto;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px}.admin-header nav{gap:18px}.admin-header nav a{font-size:12px}.admin-brand{text-decoration:none;color:var(--teal);font-size:28px;font-weight:800;line-height:1}.admin-brand span{display:block;font-size:10px;letter-spacing:3px}.admin-header form{margin:0}.admin-container{max-width:1280px;padding-top:24px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:30px 0}.metrics article{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.metrics strong{display:block;font-size:30px;letter-spacing:-1px;margin:7px 0;color:var(--dark)}.metrics span,.metrics a{font-size:11px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}th,td{padding:12px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}th{background:#eaf3ef;color:var(--dark);font-weight:750}td small{font-size:10px}meter{display:block;width:100%;height:10px;margin-top:7px}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0}.filter-bar label{flex:1;min-width:200px;margin:0}.filter-bar button{padding:10px 18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-grid .panel{margin-bottom:0}.stack-actions{display:flex;flex-wrap:wrap;gap:9px}.login-container{max-width:460px;margin:60px auto;padding:0 20px}.login-button{margin-top:20px}.student-grid .panel{margin:0}.admin-form{max-width:1000px}.admin-container h1{font-size:30px}
@media(max-width:950px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header{flex-wrap:wrap}.admin-header nav{order:3;width:100%}.detail-grid{grid-template-columns:1fr}.admin-container table{min-width:750px}}
@media(max-width:620px){.container{padding:0 17px}.site-header{padding:8px 17px;gap:10px}.brand{width:120px;height:85px}.brand img{width:145px;height:145px;transform:translate(-12px,-30px)}nav{gap:12px}.site-header nav a{font-size:11px}.site-header nav a:nth-child(2){display:none}.hero{padding:40px 0}.hero h1{font-size:43px}.hero p{font-size:16px}.course-grid{grid-template-columns:1fr}.course-content{padding:20px}.section-title{align-items:flex-start;flex-direction:column;gap:5px}.selection-bar{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.form-card{margin:25px auto;padding:23px}.metrics{gap:10px}.metrics article{padding:15px}.metrics strong{font-size:23px}.site-footer{flex-wrap:wrap;padding:22px 17px}.site-footer>a{margin-left:0}.admin-container{padding-top:20px}.admin-header nav{gap:12px}.admin-header{padding:15px 17px}.panel{padding:20px}}
/* Apresentação e listas de cada curso. */
.course-intro{margin:1rem 0;padding:.85rem 1rem;border-left:3px solid #9fc400;background:#f1f8f7;line-height:1.65;overflow-wrap:anywhere}
.program h4{font-size:.86rem;line-height:1.5;margin:1.2rem 0 .7rem;color:#194f53;letter-spacing:.025em}
.program .course-list{padding-left:1.3rem;margin:0 0 1rem;list-style:disc}
.program .course-list li{padding-left:.2rem;margin:.45rem 0;line-height:1.65}
.program .course-list li::marker{color:#258d8b;font-size:1.1em}
.program-extra{font-weight:600;color:#194f53;margin:1rem 0 1.4rem}

.header-account{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.logged-user{display:flex;align-items:center;gap:14px;font-size:12px}.logged-user form{margin:0}.logged-user strong{color:var(--dark)}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:52px}.password-toggle{position:absolute;right:3px;top:3px;bottom:3px;padding:6px 10px;min-width:40px;border:0;background:transparent;color:var(--dark);border-radius:5px}.password-toggle:hover{background:#e9f3ee}.password-toggle .eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}input[readonly]{background:#f0f4f2;color:#526967}.email-warning a{font-weight:700}.header-account nav{justify-content:flex-end}
@media(max-width:620px){.site-header{align-items:flex-start}.header-account{max-width:65%;align-items:flex-end}.logged-user{align-items:flex-end;flex-direction:column;gap:5px}.logged-user span{text-align:right}.header-account nav a:nth-child(2){display:inline}}

.ui-icon{width:19px;height:19px;flex:0 0 19px;vertical-align:middle}.button,button{min-height:44px;gap:8px}.button.small,button.small{min-height:36px}.button.icon-only{width:36px;height:36px;min-height:36px;padding:8px;gap:0}.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.button.whatsapp{background:#187b4a;color:#fff;border-color:#187b4a}.button.whatsapp:hover{background:#12623b}.filter-bar .button,.filter-bar button{min-height:42px;padding:10px 16px}.email-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.email-status form{margin:0}.password-toggle{min-height:0}.password-toggle .ui-icon{width:21px;height:21px}

.profile-email-group{margin:15px 0}.profile-email-group>label{margin:0 0 6px}.email-input-row{display:flex;align-items:stretch;gap:10px}.email-input-row input{flex:1;margin-top:0;min-width:0}.email-input-row .email-validate-button{flex-shrink:0;min-height:44px}.email-input-row .email-unverified{border:2px solid #b83232;background:#fff6f5}.email-input-row .email-unverified:focus{outline:3px solid #b8323220;border-color:#b83232}.email-pending-hint{display:block;margin-top:6px;color:#a52a2a;font-weight:600}
@media(max-width:480px){.email-input-row{flex-wrap:wrap}.email-input-row input{flex-basis:100%}.email-input-row .email-validate-button{width:100%}}

.email-confirmed-hint{color:#187b4a;font-weight:750}

/* Course details and optional media */
.course-more{margin-top:auto;min-height:48px}.course-back{margin:28px 0}.course-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start;margin:20px 0 42px}.course-detail-art{position:sticky;top:24px}.course-detail-art img{display:block;width:100%;border-radius:18px;border:1px solid var(--line)}.course-detail-summary h1{font-size:clamp(29px,3.3vw,43px);margin:20px 0 12px}.course-detail-summary>.tags{margin-top:16px}.course-detail-subtitle{font-size:18px;color:var(--muted);line-height:1.5}.course-facts{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);gap:14px 24px;padding:20px 0;margin:24px 0}.course-facts p{margin:0;font-size:14px}.course-facts span{display:block;color:var(--muted);font-size:12px}.course-facts strong{font-weight:650}.course-enroll{margin-top:22px;padding:24px;background:#e7f1ec;border-radius:13px}.course-enroll p:last-child{margin-bottom:0}.course-information{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.course-information .panel{margin-top:0}.course-information h2{font-size:21px;letter-spacing:-.3px;margin:15px 0 20px}.course-information .course-list{font-size:15px}.course-media-section{margin:42px 0}.course-gallery,.media-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-gallery figure{margin:0;background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.course-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.course-gallery figcaption{padding:12px 16px;font-size:13px}.course-video{aspect-ratio:16/9;background:#123f42;border-radius:16px;overflow:hidden;max-width:960px;margin:auto}.course-video iframe{width:100%;height:100%;border:0;display:block}.media-thumbnail{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.media-admin-grid .panel{margin-top:0}.media-admin-grid .stack-actions{margin-top:18px}.login-container .brand{margin:0 auto 20px}.course-visibility-action{margin-top:6px}
@media(max-width:900px){.course-detail-hero{gap:25px;grid-template-columns:1fr 1fr}.course-gallery,.media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-information{grid-template-columns:1fr}.course-detail-summary h1{font-size:30px}}
@media(max-width:620px){.course-detail-hero{grid-template-columns:1fr;gap:24px}.course-detail-art{position:static}.course-detail-art img{max-width:440px;margin:auto}.course-facts{gap:16px}.course-gallery,.media-admin-grid{grid-template-columns:1fr}.course-enroll{padding:20px}.course-information h2{font-size:19px}.course-back{margin-top:22px}.course-media-section{margin:30px 0}}

.lots-editor{min-width:720px}.lots-editor th:nth-child(1){width:25%}.lots-editor input,.lots-editor select{margin:0;min-width:100px}.public-lots{margin:24px 0}.public-lots h3{font-size:18px}.public-lots .table-wrap{margin:12px 0}.public-lots .current-lot td{background:#e7f4e7;font-weight:700}.course-price{margin-top:16px}

/* Editable home carousel */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-carousel{position:relative;margin:30px 0 48px;border-radius:22px;overflow:hidden;background:#103e40;isolation:isolate;box-shadow:0 16px 40px #173f4212}.hero-slides{display:grid}.hero-slide{position:relative;grid-area:1/1;min-width:0;min-height:550px;padding:66px 56px 116px;display:flex;align-items:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .65s ease,visibility .65s ease;background:#103e40}.hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-2}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,40,43,.96) 0%,rgba(6,43,46,.92) 38%,rgba(7,46,48,.84) 62%,rgba(7,46,48,.20) 82%,rgba(7,46,48,.06) 100%);z-index:-1;pointer-events:none}.hero-copy{width:65%;max-width:655px;color:white}.hero-copy .eyebrow{color:#9de3de;font-size:10px;letter-spacing:2px;display:block;line-height:1.8}.hero-copy h2{font-size:clamp(34px,4.2vw,55px);line-height:1.09;letter-spacing:-1.7px;margin:24px 0 22px;color:white;font-weight:780;overflow-wrap:break-word}.hero-copy h2 em{display:block;color:#c4de45;font-style:normal;margin-top:8px}.hero-copy p{font-size:17px;line-height:1.75;color:#e1efec;max-width:560px;margin:0 0 27px;white-space:pre-line}.hero-copy .hero-cta{margin-top:6px;background:#fff;color:#164f50;border-color:white;min-height:48px}.hero-copy .hero-cta:hover{background:#dff0e8;color:#103e40}.hero-controls{position:absolute;z-index:3;bottom:22px;left:56px;right:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-controls[hidden],.hero-control [hidden]{display:none!important}.hero-arrows{display:flex;gap:8px;flex-shrink:0}.hero-control{width:40px;height:40px;min-height:40px;padding:9px;border-radius:50%;border:1px solid #cde6df66;background:#0e3c3e66;color:white;gap:0}.hero-control:hover{background:#ffffff26}.hero-control>span{display:inline-flex}.hero-control .ui-icon{width:20px;height:20px}.hero-dots{display:flex;gap:2px;align-items:center;justify-content:center;flex-wrap:wrap}.hero-dot{width:24px;height:36px;padding:7px 3px;background:transparent;border:0;gap:0;min-height:36px}.hero-dot:hover{background:transparent}.hero-dot span{display:block;width:6px;height:6px;border-radius:10px;background:#ffffff73;transition:width .25s,background .25s}.hero-dot[aria-current=true] span{width:18px;background:#c4de45}.hero-counter{font-size:11px;letter-spacing:1px;color:#eff8f3;font-weight:700;flex-shrink:0}.banner-list-image{display:block;width:124px;aspect-ratio:21/9;object-fit:cover;border-radius:7px}.banner-image-preview{display:block;width:100%;max-height:300px;object-fit:cover;aspect-ratio:21/9;border-radius:12px;margin:16px 0}.banner-image-preview[hidden]{display:none}
@media(max-width:900px){.hero-slide{padding:48px 34px 110px;min-height:540px}.hero-copy{width:76%}.hero-copy h2{font-size:40px}.hero-controls{left:34px;right:34px}.hero-slide:after{background:linear-gradient(90deg,#05282bf5,#072e30b8 68%,#072e305c)}}
@media(max-width:620px){.hero-carousel{margin:22px 0 34px;border-radius:16px}.hero-slide{padding:40px 24px 142px;min-height:600px;align-items:flex-start}.hero-copy{width:100%;max-width:none}.hero-copy h2{font-size:35px;letter-spacing:-1px;margin:20px 0}.hero-copy p{font-size:15px;line-height:1.75}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px}.hero-slide:after{background:linear-gradient(90deg,#05282bf5,#072e30d4 70%,#072e30bf)}.hero-background{object-position:68% center}.hero-controls{left:24px;right:24px;bottom:18px;flex-wrap:wrap;gap:8px}.hero-dots{order:3;width:100%}.hero-counter{margin-left:auto}.hero-control{width:40px;height:40px}.hero-copy .hero-cta{font-size:13px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot span{transition:none}}

/* Mesma marca utilizada no login administrativo. */
.admin-header .admin-brand.brand{display:block;width:160px;height:96px;flex-shrink:0}.admin-header .admin-brand.brand img{display:block;width:160px;height:160px;transform:translateY(-33px);object-fit:contain}

/* Formulário exibido somente ao criar ou editar um registro. */
.admin-editor-dialog{width:min(860px,calc(100% - 32px));max-height:90vh;max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);box-shadow:0 24px 80px #123c4050;overflow:auto}
.admin-editor-dialog::backdrop{background:rgb(10 38 40 / 62%)}
.admin-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}
.admin-editor-heading h2{margin:0;font-size:23px}.admin-editor-body{padding:24px}.admin-editor-body .notice:first-child{margin-top:0}.admin-editor-dialog .admin-form{margin:0}.admin-editor-open{overflow:hidden}
@media(max-width:600px){.admin-editor-heading{padding:14px 16px}.admin-editor-body{padding:16px}.admin-editor-heading h2{font-size:20px}.admin-editor-dialog{width:calc(100% - 20px);max-height:94vh;max-height:94dvh}}

/* Grupos do menu administrativo. */
.admin-nav .admin-nav-group{position:relative;margin:0;padding:0;border:0}
.admin-nav .admin-nav-group>summary{display:flex;align-items:center;gap:8px;list-style:none;font-size:12px;font-weight:650;padding:10px 8px;border-radius:7px;color:var(--dark)}
.admin-nav .admin-nav-group>summary::-webkit-details-marker{display:none}
.admin-nav .admin-nav-group>summary:hover,.admin-nav .admin-nav-group[open]>summary{background:#e1eeea}
.admin-nav .admin-nav-group>summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.admin-nav .admin-submenu{position:absolute;left:0;top:calc(100% + 5px);min-width:190px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #123c4020;padding:6px;z-index:20}
.admin-nav .admin-submenu a{display:block;padding:10px 12px;border-radius:6px;white-space:nowrap}
.admin-nav .admin-submenu a:hover,.admin-nav .admin-submenu a:focus-visible{background:#eaf3ef}
@media(max-width:620px){.admin-nav .admin-submenu{min-width:165px}.admin-nav .admin-nav-group>summary{padding:8px 3px}}

/* Formulários administrativos compactos, incluindo login e modais. */
.admin-page form{font-size:13px;line-height:1.45}
.admin-page form label{font-size:12px;margin:9px 0;line-height:1.4}
.admin-page input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.admin-page select,.admin-page textarea{font-size:13px;line-height:1.4;padding:7px 9px;margin-top:4px;border-radius:6px}
.admin-page input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.admin-page select{min-height:34px}
.admin-page textarea{min-height:68px;max-height:280px;resize:vertical}
.admin-page input[type="checkbox"],.admin-page input[type="radio"]{width:16px;height:16px;min-height:16px}
.admin-page input[type="file"]{font-size:12px;padding:5px 7px}
.admin-page input[type="file"]::file-selector-button{font:inherit;padding:4px 8px;margin-right:8px;border:1px solid #bbcfca;border-radius:4px;background:#edf4f0;color:var(--dark);cursor:pointer}
.admin-page form fieldset{margin:14px 0;padding:8px 12px}
.admin-page form legend{font-size:12px}
.admin-page form small,.admin-page form .small-text{font-size:11px;line-height:1.4}
.admin-page form p{margin:9px 0}
.admin-page form .form-grid{column-gap:14px}
.admin-page form.panel{padding:18px;margin:16px 0}
.admin-page form button:not(.password-toggle),.admin-page form .button{min-height:34px;font-size:12px;padding:8px 12px}
.admin-page form .ui-icon{width:16px;height:16px;flex-basis:16px}
.admin-page .password-wrap input{padding-right:44px}
.admin-page .password-toggle{min-height:0;min-width:32px;padding:4px 7px}
.admin-page .password-toggle svg{width:18px;height:18px}
.admin-page .filter-bar{gap:10px;margin:15px 0}
.admin-page .filter-bar label{margin:0}
.admin-page .lots-editor input,.admin-page .lots-editor select{margin:0}
.admin-page .admin-editor-heading{padding:13px 18px}
.admin-page .admin-editor-heading h2{font-size:20px}
.admin-page .admin-editor-body{padding:16px 18px}
.admin-page .admin-editor-body .banner-image-preview{max-height:160px;object-fit:contain}
.admin-page .admin-form .media-thumbnail{max-height:170px;object-fit:contain}
@media(max-width:620px){.admin-page .admin-editor-heading,.admin-page .admin-editor-body{padding:13px}.admin-page form.panel{padding:15px}}

.document-preview{display:block;max-width:100%;width:auto;max-height:420px;object-fit:contain;border:1px solid var(--line);border-radius:8px;margin:12px 0}
.requirement-editor{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:8px 0}.requirement-editor>label:first-of-type{flex:1;min-width:240px}.requirement-editor[hidden]{display:none}

.status-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:750;line-height:1.35;border:1px solid transparent}
.status-success{background:#e2f4e8;color:#166534;border-color:#acd9bb}.status-warning{background:#fff3cd;color:#805b00;border-color:#ead28c}.status-danger{background:#fde5e5;color:#a52222;border-color:#efb3b3}
.matricula-cancelada,.matricula-cancelada td{background:#fff0f0;color:#a12626}.matricula-cancelada td:first-child{border-left:4px solid #c63b3b}.student-grid .matricula-cancelada{border:1px solid #e8adad}
.admin-page .course-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:18px}.admin-page .course-tabs[hidden]{display:none}
.admin-page .course-tabs button{background:#edf3ef;color:var(--dark);border:1px solid var(--line);padding:8px 12px;min-height:34px;font-size:12px}.admin-page .course-tabs button[aria-selected="true"]{background:var(--dark);color:white;border-color:var(--dark)}
[data-course-panel][hidden]{display:none}.course-save-bar{display:flex;gap:10px;flex-wrap:wrap;padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}
#course-editor .media-admin-grid .panel{padding:14px;margin:10px 0}#course-editor .media-thumbnail{height:140px;width:100%;object-fit:contain}

/* Atualização 23 */
.requirement-editor{align-items:center!important}.requirement-editor>label:first-of-type{margin:0}.requirement-editor>.check-inline,.requirement-editor>button{margin-top:20px;margin-bottom:0;align-self:center}.rich-box{border:1px solid #c6d8d5;border-radius:8px;overflow:hidden;background:#fff;margin:6px 0 16px}.rich-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px;background:#eef5f3;border-bottom:1px solid #c6d8d5}.rich-toolbar button{min-width:30px;padding:5px 8px}.rich-toolbar select{width:auto!important;margin:0!important;padding:5px!important}.rich-toolbar input[type=color]{width:35px;height:30px;padding:2px;margin:0}.rich-editor{min-height:140px;max-height:480px;overflow:auto;padding:12px;font-size:14px;font-weight:400;line-height:1.6}.rich-editor:focus{outline:2px solid #3c9c9c;outline-offset:-2px}.rich-editor ul,.rich-editor ol{padding-left:25px}.lots-table input{min-width:100px;margin:0!important}.lots-table td:first-child input:not([type=hidden]){min-width:110px}.lots-table input[type=checkbox]{min-width:0}.lots-table th,.lots-table td{padding:8px}.course-visibility-action{display:inline-flex;margin:0}.catalogue-filter{margin:20px 0}.course-intro p{font-size:inherit}.filter-picker-results{max-height:260px;overflow:auto;border:1px solid #d7e4e2;border-radius:7px;padding:4px}.filter-picker-results button{display:block;width:100%;text-align:left;margin:3px 0;background:#eef5f3;color:#1d4548}.selected-record{padding:8px;background:#e1f0ed;border-radius:6px;margin:8px 0}.course-card[hidden],[data-price-modes][hidden]{display:none!important}

[hidden]{display:none!important}

/* Atualização 24: formulários centralizados e histórico por aluno. */
.admin-page .admin-container .admin-form{margin-left:auto;margin-right:auto;width:100%}
.admin-page .admin-container>form.panel{max-width:1000px;margin-left:auto;margin-right:auto}
.student-profile-layout{width:100%;max-width:1000px;margin:0 auto}
.student-profile-layout>.section-title{margin-top:0}
.student-profile-layout>.panel{width:100%;margin-left:auto;margin-right:auto}
.student-history h2{margin-top:0;font-size:22px}
.student-history-scroll{max-height:340px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.student-history-scroll th{position:sticky;top:0;z-index:1}
.history-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin-top:12px;flex-wrap:wrap}
.student-history-scroll td{max-width:320px}
@media(max-width:620px){.student-history-scroll{max-height:300px}.student-history .filter-bar label{min-width:160px}.history-pagination{align-items:flex-start}}

/* Atualização 25: largura única, seleção de cursos e ações consistentes. */
.admin-page .admin-container .admin-form,.admin-page .admin-container>form.panel,.admin-page .student-profile-layout{max-width:none;width:100%;margin-left:0;margin-right:0}
.admin-page .button.icon-only,.admin-page button.icon-only,.admin-page form button.icon-only{width:36px;height:36px;min-width:36px;min-height:36px;padding:8px;gap:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.admin-page .icon-only .ui-icon{width:18px;height:18px;flex:0 0 18px;display:block;margin:0}
.ui-icon{display:inline-block;overflow:visible}.button.whatsapp .ui-icon{width:19px;height:19px;flex:0 0 19px;display:block;margin:0}
.course-start-block{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.course-start-block h2{margin-top:0}
.course-base-list{max-height:300px;overflow:auto;overscroll-behavior:contain;margin-bottom:14px}
.course-base-list .check-inline{display:flex;align-items:center;width:100%;margin:0;padding:12px;gap:12px;border-bottom:1px solid var(--line)}
.course-base-list .check-inline:last-child{border-bottom:0}.course-base-list .check-inline:hover{background:#edf5f2}.course-base-list input{flex:0 0 16px}.course-base-list span{min-width:0}
.enrollment-status{min-width:285px}.enrollment-status-line{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:9px;margin:6px 0;white-space:normal}.enrollment-status-line>span:first-child{font-size:11px;font-weight:650}.enrollment-status-line .status-badge{width:fit-content;line-height:1.35;white-space:nowrap}
.matricula-cancelada .status-badge{background:#ffe5e2!important;color:#a72d2d!important;border-color:#efb8b3!important}.matricula-cancelada .enrollment-status-line{color:#a72d2d}
.document-checklist{list-style:none;padding:0;margin:18px 0}.document-checklist li{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.document-checklist .doc-item-title{flex:1;min-width:0}.document-checklist a{flex-shrink:0}.document-checklist .ui-icon{width:18px;height:18px}
.search-select{position:relative;margin:6px 0 18px}.search-select-trigger{width:100%;justify-content:space-between;text-align:left;background:white;color:var(--ink);border-color:#c7d8d1}.search-select-popover{position:absolute;top:100%;left:0;right:0;z-index:20;background:white;border:1px solid #b7d0c8;border-radius:8px;padding:12px;box-shadow:0 10px 25px #123f4220}.search-select-options{max-height:240px;overflow:auto;margin-top:9px}.search-select-option{width:100%;justify-content:flex-start;text-align:left;background:#f3f7f4;color:var(--ink);border-color:transparent;margin:3px 0}.search-select-option[aria-selected=true]{background:#d7eee8}.search-select-original{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;pointer-events:none}.presential-group{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.presential-group h2{font-size:19px;margin:0 0 12px}
.template-scope{padding:12px 16px;background:#e8f3ef;border:1px solid var(--line);border-radius:9px;margin:16px 0}.template-name{font-size:18px;font-weight:750;margin:0 0 10px}.template-list .current-template{background:#edf6f2}.template-list td:last-child{width:70px}.template-filter select{min-width:200px}
@media(max-width:620px){.document-checklist li{flex-wrap:wrap}.document-checklist .doc-item-title{flex-basis:100%}.enrollment-status{min-width:225px}.search-select-popover{position:relative;margin-top:5px}}

.search-select .search-select-trigger:hover,.search-select .search-select-option:hover{background:#e5f1ec;color:var(--ink)}

.search-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-trigger>span:last-child{flex-shrink:0;margin-left:10px}

/* Atualização 26: requisitos e indicador de senha. */
.password-policy{margin:9px 0 14px;font-size:12px;font-weight:400;line-height:1.45;color:var(--muted)}
.password-strength-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.password-strength-line strong{color:#8e4d21}
.password-policy meter{width:100%;height:12px;margin:6px 0 9px}.password-requirements{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:1fr;gap:4px}
.password-requirements li{display:flex;align-items:flex-start;gap:7px}.password-requirements li>span:first-child{width:13px;flex-shrink:0;text-align:center}.password-requirements li.met{color:#187b4a}.password-policy[data-strength="2"] strong,.password-policy[data-strength="3"] strong,.password-policy[data-strength="4"] strong{color:#187b4a}
.password-policy small{display:block;font-weight:400}.admin-page .password-policy{font-size:11px}

.environment-banner{padding:12px 20px;text-align:center;background:#fff0bd;color:#633e00;border-bottom:2px solid #e6b642;font:14px/1.5 system-ui,sans-serif}.environment-banner strong{font-weight:800}

/* Painel do aluno: o estado do e-mail tem prioridade sobre a ação de reenvio. */
.email-status-pending{width:fit-content;max-width:100%;padding:14px 18px;gap:20px;background:#fff4d4;border:1px solid #e8ce87;border-left:4px solid #b77908;border-radius:10px}
.email-status-pending .email-status-title{display:inline-flex;align-items:center;gap:9px;color:#704800;font-size:17px;font-weight:750;line-height:1.4}
.email-status-pending .email-status-title .ui-icon{width:21px;height:21px;flex-basis:21px}
.email-status-pending .email-status-resend{min-height:36px;padding:7px 11px;font-size:12px;font-weight:600;border-color:#b8c9c5}
.email-status-pending .email-status-resend .ui-icon{width:16px;height:16px;flex-basis:16px}
@media(max-width:600px){.email-status-pending{width:100%;align-items:flex-start;flex-direction:column;gap:12px}.email-status-pending .email-status-title{font-size:16px}}

/* Identificação da turma e vínculo do aluno no catálogo. */
.admin-page .course-context-title{align-items:center}.admin-page .course-context-title>.tag{display:inline-flex;align-items:center;justify-content:center;align-self:center;font-size:12px;line-height:1;min-height:28px;padding:7px 10px;margin:0;letter-spacing:.5px;box-sizing:border-box}
.catalogue-enrollment{margin:12px 0 6px}.catalogue-enrolled{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e1c88c;border-radius:6px;background:#fff4d8;color:#75540f;font-size:12px;font-weight:750;line-height:1.4;text-decoration:none}.catalogue-enrolled-confirmed{background:#e4f4e9;border-color:#9dd3af;color:#206338}.catalogue-enrolled:hover{text-decoration:underline}.catalogue-enrolled .ui-icon{width:16px;height:16px;flex:0 0 16px}.student-grid article:target{outline:3px solid #2da3a3;outline-offset:4px;scroll-margin-top:24px}
.teacher-curriculum-image{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;margin:0 auto 18px;object-fit:contain}
