
:root{
  --primary:#0D5DB8;
  --primary-dark:#0A3F84;
  --accent:#F5A200;
  --accent-dark:#D98C00;
  --ink:#14304D;
  --muted:#60748A;
  --bg:#F5F8FD;
  --card:#FFFFFF;
  --line:#D8E4F1;
  --shadow:0 18px 45px rgba(13,93,184,.10);
  --radius:22px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;min-width:0}.brand-logo{width:185px;height:auto;display:block}.brand-copy{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.navlinks{display:flex;gap:25px;font-weight:800;color:#35506F}.navlinks a:hover{color:var(--primary)}
.nav-actions{display:flex;gap:10px}
.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.btn:hover{transform:translateY(-1px)}.btn-large{padding:16px 22px}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(13,93,184,.20)}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--primary)}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(245,162,0,.25)}
.hero{padding:72px 0 42px;background:radial-gradient(circle at 90% 16%,rgba(245,162,0,.22),transparent 27%),linear-gradient(140deg,#F4F8FF,#EEF5FF 52%,#FFF9ED);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.eyebrow,.kicker{display:inline-block;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}
.eyebrow{background:#E7F0FF;border:1px solid #C9DCF8;border-radius:999px;padding:8px 12px}
h1{font-size:clamp(2.9rem,5.5vw,5.7rem);line-height:.93;letter-spacing:-.065em;margin:22px 0}
h2{font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.045em;line-height:1.05;margin:10px 0 16px}
.hero p,.section-head p,.study-section p,.cta-box p{color:var(--muted);line-height:1.65;font-size:1.05rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 32px}.trust-row{display:flex;gap:22px;flex-wrap:wrap;font-weight:750;color:#4E647B}
.visual-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:21px;box-shadow:var(--shadow);position:relative}
.visual-badge{position:absolute;right:-16px;top:30px;background:var(--accent);color:#fff;border:3px solid white;padding:12px 14px;border-radius:15px;font-weight:900;box-shadow:0 14px 28px rgba(0,0,0,.12)}
.phone{background:#F7FAFF;border:10px solid #173E67;border-radius:34px;padding:18px;min-height:500px}
.phone-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:var(--primary)}
.phone-brand{display:flex;align-items:center;gap:10px}.phone-brand img{width:28px;height:28px;display:block;border-radius:50%}
.mini-search{background:white;border:1px solid var(--line);padding:13px;border-radius:13px;color:#73859B}
.featured{background:linear-gradient(140deg,var(--primary),#2874C9);color:white;border-radius:20px;padding:19px;margin:15px 0}.featured h3{font-size:1.4rem;margin:8px 0}.featured p{font-size:.9rem;color:#E9F2FF;margin:0}
.mini-card{display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--line);border-radius:16px;padding:13px;margin-top:10px}
.avatar{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#D3E4FB,var(--accent));display:grid;place-items:center;font-weight:900;color:var(--primary-dark)}.mini-card small{display:block;color:var(--muted);margin-top:3px}.rating{margin-left:auto;background:#EFF4FA;padding:7px 9px;border-radius:9px;font-weight:900;color:var(--primary-dark)}
section{padding:74px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-head p{max-width:620px}
.search-panel{display:grid;grid-template-columns:1.3fr 1fr .9fr .9fr auto;gap:12px;background:white;border:1px solid var(--line);border-radius:23px;padding:19px;box-shadow:var(--shadow)}
.field label{display:block;margin:0 0 7px 2px;font-size:.7rem;font-weight:900;text-transform:uppercase;color:#657A91}.field input,.field select,.results-bar select,.form-control{width:100%;border:1px solid var(--line);background:#FAFCFF;border-radius:12px;padding:14px;outline:none}
.field input:focus,.field select:focus,.form-control:focus{border-color:#72A6E9;box-shadow:0 0 0 3px rgba(114,166,233,.12)}
.filter-button{align-self:end}.results-bar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;color:var(--muted)}.results-bar select{width:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.provider-card{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(13,93,184,.06);transition:.2s}.provider-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.provider-head{display:flex;gap:13px;align-items:center}.provider-head .avatar{width:62px;height:62px;border-radius:18px}.provider-title{flex:1}.provider-title h3{margin:0 0 4px}.verified{color:var(--primary);font-size:.77rem;font-weight:900}.score{background:#F1F5FB;border-radius:10px;padding:8px;font-weight:900;color:var(--primary-dark)}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.tag{font-size:.74rem;font-weight:800;background:#F1F5FB;border-radius:999px;padding:7px 9px;color:#405A77}.provider-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.info-box{background:#F8FAFD;border-radius:12px;padding:11px}.info-box small{display:block;color:var(--muted);font-size:.7rem}.info-box strong{display:block;margin-top:4px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.price strong{font-size:1.3rem;color:var(--primary)}.price small{display:block;color:var(--muted)}
.study-section{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff}.study-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}.study-section p{color:#D8E8FF}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 30px}.quiz-card{background:#fff;color:var(--ink);padding:26px;border-radius:25px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.quiz-top{display:flex;justify-content:space-between;color:var(--muted);font-weight:800}.quiz-card h3{font-size:1.45rem;line-height:1.35}.quiz-options{display:grid;gap:10px;margin:20px 0}.quiz-option{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;font-weight:700;transition:.2s}.quiz-option:hover{border-color:var(--primary)}.quiz-option.correct{background:#E9F6EE;border-color:#46B372}.quiz-option.wrong{background:#FFF0F0;border-color:#E26C6C}.quiz-feedback{min-height:24px;font-weight:900;display:flex;align-items:center;gap:8px;margin-top:14px}.quiz-feedback.correct-feedback{color:#148447}.quiz-feedback.wrong-feedback{color:#C93333}.feedback-icon{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:.9rem;line-height:1;flex:0 0 24px}.correct-feedback .feedback-icon{background:#148447}.wrong-feedback .feedback-icon{background:#C93333}.hidden{display:none!important}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.steps article{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}.steps article span{color:var(--primary);font-size:1.35rem;font-weight:950}.steps h3{font-size:1.25rem;margin:28px 0 8px}.steps p{color:var(--muted);line-height:1.55}
.provider-cta{padding-top:20px}.cta-box{background:linear-gradient(135deg,var(--primary),#2268BF);color:white;border-radius:30px;padding:45px;display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid rgba(255,255,255,.08)}.cta-box p{color:#D8E8FF;max-width:700px}.light{color:#FFD580}
footer{padding:35px 0;border-top:1px solid var(--line);background:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:25px;color:var(--muted);font-size:.88rem}.footer-logo{width:170px;height:auto;display:block}
.modal-overlay{position:fixed;inset:0;background:rgba(9,20,15,.72);display:grid;place-items:center;z-index:50;padding:20px}.modal{position:relative;background:white;border-radius:24px;padding:28px;width:min(560px,100%);max-height:90vh;overflow:auto}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer;color:var(--primary)}.modal h2{font-size:2rem}.modal p{color:var(--muted);line-height:1.55}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group label{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#657A91;margin-bottom:6px}.form-group.full{grid-column:1/-1}.form-control{resize:vertical}.modal-success{text-align:center;padding:15px 10px}.success-icon{width:72px;height:72px;background:#EAF4FF;color:var(--primary);display:grid;place-items:center;border-radius:50%;font-size:2rem;font-weight:900;margin:0 auto 16px}
@media(max-width:980px){.nav{height:auto;padding:14px 0;flex-wrap:wrap}.navlinks{display:none}.hero-grid,.study-grid{grid-template-columns:1fr}.visual-card{max-width:560px}.search-panel{grid-template-columns:1fr 1fr}.filter-button{grid-column:1/-1}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.cta-box{display:block}.cta-box .btn{margin-top:15px}.footer-grid{grid-template-columns:1fr}.brand-copy{display:none}}
@media(max-width:620px){.brand-logo{width:155px}.nav-actions .btn-ghost{display:none}.hero{padding-top:48px}.hero h1{font-size:3.2rem}.search-panel,.cards,.steps,.feature-list,.form-grid{grid-template-columns:1fr}.field,.filter-button{grid-column:auto}.section-head{display:block}.results-bar{align-items:flex-start;gap:12px;flex-direction:column}.results-bar select{width:100%}.visual-badge{right:5px}.cta-box{padding:30px 24px}.footer-grid{display:block}.footer-grid>*{margin-bottom:16px}}


.result-feedback{display:block!important;padding:0!important;background:transparent!important;border:0!important;color:var(--ink)!important}
.student-level{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#EFF7FF,#FFF4EB);border:1px solid var(--line);border-radius:17px;padding:16px;margin:14px 0 12px}
.level-icon{width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:950}
.student-level small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.student-level strong{display:block;font-size:1.45rem;margin-top:2px;color:var(--primary)}
.result-score{font-size:1rem;margin-top:12px}.result-feedback p{margin:8px 0 0;color:var(--muted);font-weight:600}

/* Ajustes de contraste e cadastro profissional */
.study-section .kicker{color:var(--accent);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:999px}
.provider-form-note{background:#F5F8FC;border:1px solid var(--line);padding:13px 14px;border-radius:14px;color:var(--muted);font-size:.88rem;margin:12px 0 18px}
.provider-form-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.provider-form-section h3{margin:0 0 12px;font-size:1rem;color:var(--primary)}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.check-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:11px;background:#FAFCFF;font-weight:700;font-size:.88rem}
.form-help{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}
.terms-check{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:.82rem;color:var(--muted)}
@media(max-width:620px){.checkbox-grid{grid-template-columns:1fr}}

/* Modalidades de veículo e planos */
.search-panel{grid-template-columns:1.25fr .9fr .8fr .8fr 1fr auto}
.modal-price-list{display:grid;gap:8px;background:#F5F8FC;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.modal-price-list span{display:flex;justify-content:space-between;gap:15px;color:var(--muted)}
.modal-price-list strong{color:var(--primary)}
.vehicle-warning{font-size:.78rem!important;color:#6B7890!important;background:#FFF8EF;border:1px solid #F5D3A8;border-radius:11px;padding:10px}
.pricing-section{background:#F7F9FC}
.pricing-audience{display:flex;align-items:center;gap:14px;margin:28px 0 14px}
.pricing-audience span{font-size:1.1rem;font-weight:950;color:var(--primary)}
.pricing-audience small{color:var(--muted)}
.instructor-title{margin-top:45px}
.pricing-grid{display:grid;gap:18px}
.student-pricing{grid-template-columns:repeat(2,1fr);max-width:800px}
.instructor-pricing{grid-template-columns:repeat(3,1fr)}
.pricing-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(13,93,184,.05);position:relative}
.pricing-card.featured-plan{border:2px solid var(--primary);transform:translateY(-4px)}
.pricing-label{display:inline-block;background:#EEF4FC;color:var(--primary);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.pricing-card h3{font-size:1.35rem;margin:15px 0 8px}
.pricing-value{display:flex;align-items:baseline;gap:8px;margin-bottom:18px}
.pricing-value strong{font-size:2.3rem;letter-spacing:-.05em;color:var(--primary)}
.pricing-value small{color:var(--muted)}
.pricing-card ul{padding:0;margin:0 0 22px;list-style:none;display:grid;gap:10px}
.pricing-card li{color:var(--muted);padding-left:20px;position:relative;line-height:1.4}
.pricing-card li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:950}
.btn-full{width:100%}
.pricing-note{text-align:center;color:var(--muted);font-size:.84rem;margin-top:22px}
@media(max-width:980px){
  .search-panel{grid-template-columns:1fr 1fr}
  .student-pricing,.instructor-pricing{grid-template-columns:1fr}
  .pricing-card.featured-plan{transform:none}
}
@media(max-width:620px){.search-panel{grid-template-columns:1fr}}

.licensed-section{background:#fff}.licensed-grid{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:center}.licensed-list{color:var(--ink)}.licensed-card{background:linear-gradient(145deg,#F7FAFF,#FFF6EC);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.licensed-card h3{font-size:1.55rem}.licensed-card p{color:var(--muted);line-height:1.55}.licensed-tags{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.licensed-tags span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 11px;font-weight:800;font-size:.8rem}.photo-upload-box{display:flex;align-items:center;gap:18px;background:#F8FAFD;border:1px dashed #B9C6D8;border-radius:16px;padding:16px;margin-bottom:16px}.photo-preview{width:92px;height:92px;border-radius:22px;background:#E8EEF7;display:grid;place-items:center;font-weight:900;color:#78869A;background-size:cover;background-position:center;flex:0 0 auto}.photo-upload-box small{display:block;color:var(--muted);margin-top:8px}.service-area-tree{background:#F8FAFD;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px}.service-area-tree details{padding:7px 0;border-bottom:1px solid #E6EBF2}.service-area-tree summary{cursor:pointer;font-weight:900}.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px 0 4px 20px}.area-grid label{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:.84rem}.specialties-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.licensed-grid{grid-template-columns:1fr}}@media(max-width:620px){.area-grid,.specialties-grid{grid-template-columns:1fr}.photo-upload-box{align-items:flex-start}}


/* Ajuste de legibilidade e entreletras */
.navlinks a{
  letter-spacing:.015em;
  word-spacing:.04em;
}
.brand{
  letter-spacing:.01em;
}
.brand small{
  letter-spacing:.11em;
}
h1{
  letter-spacing:-.045em;
}
h2{
  letter-spacing:-.025em;
}
.provider-title h3,
.pricing-card h3,
.steps h3,
.licensed-card h3{
  letter-spacing:-.01em;
}
.btn{
  letter-spacing:.01em;
}

/* Cadastro detalhado do aluno */
.student-stage-fields{display:none}
.student-stage-fields .checkbox-grid label{min-height:44px}

/* Atendimento para já habilitados */
.search-panel{grid-template-columns:1.15fr .8fr .75fr .75fr 1fr 1fr auto}
@media(max-width:1120px){.search-panel{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.search-panel{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.search-panel{grid-template-columns:1fr}}

/* Login, cadastro e seleção de planos */
.social-login-grid{display:grid;gap:10px;margin:18px 0}
.social-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;font-weight:850;cursor:pointer}
.social-login-btn:hover{background:#F8FAFD}
.social-icon{width:28px;height:28px;border-radius:8px;background:#EEF3FA;display:grid;place-items:center;font-weight:950;color:var(--primary)}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;margin:18px 0}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.auth-link{display:block;width:100%;border:0;background:none;color:var(--primary);font-weight:850;margin-top:14px;cursor:pointer}
.account-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.account-choice-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:20px;text-align:left;cursor:pointer}
.account-choice-card:hover{border-color:var(--primary);background:#F7FAFF}
.account-choice-card strong{display:block;font-size:1.05rem;margin-bottom:7px;color:var(--ink)}
.account-choice-card span{color:var(--muted);line-height:1.45}
.selected-plan-summary{display:grid;gap:5px;background:#F6F9FD;border:1px solid var(--line);border-radius:15px;padding:15px;margin:14px 0}
.selected-plan-summary span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.selected-plan-summary strong{font-size:1.15rem;color:var(--primary)}
.selected-plan-summary small{color:var(--muted)}
@media(max-width:620px){.account-choice-grid{grid-template-columns:1fr}}

/* Login social com padrão visual reconhecível */
.social-login-btn{position:relative;min-height:46px;border-radius:8px;font-weight:600;box-shadow:none}
.google-login{background:#fff;color:#3C4043;border:1px solid #DADCE0}
.google-login:hover{background:#F8F9FA}
.google-g{position:absolute;left:14px;width:22px;height:22px;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:1.05rem;font-weight:700;color:#4285F4}
.facebook-login{background:#1877F2;color:#fff;border:1px solid #1877F2}
.facebook-login:hover{background:#166FE5}
.facebook-f{position:absolute;left:16px;width:20px;height:20px;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700;color:#fff}

/* Hierarquia das regiões */
.service-area-tree{padding:0;background:transparent;border:0}
.region-state-card{border:2px solid var(--primary);border-radius:20px;overflow:hidden;background:#F8FBFF}
.region-state-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#EEF5FF;border-bottom:1px solid #DCE7F5}
.region-state-header strong{display:block;font-size:1.25rem;color:var(--primary)}
.region-level-label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900;margin-bottom:4px}
.city-list{display:grid;gap:14px;padding:16px}
.region-city-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.region-city-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:#FBFCFE;border-bottom:1px solid var(--line)}
.region-city-header strong{display:block;font-size:1rem;color:var(--ink)}
.select-all-control{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:850;color:var(--primary);white-space:nowrap}
.neighborhood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}
.neighborhood-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.8rem}
.other-area-field{margin-top:14px;padding:14px;border:1px dashed #B8C6D8;border-radius:14px;background:#FAFCFF}
.category-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:850px){
  .region-state-header,.region-city-header{align-items:flex-start;flex-direction:column}
  .select-all-control{white-space:normal}
  .neighborhood-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .neighborhood-grid,.category-grid{grid-template-columns:1fr}
}

/* Disponibilidade semanal */
.weekly-availability{display:grid;gap:10px;margin-top:12px}
.availability-day{border:1px solid var(--line);border-radius:14px;background:#FAFCFF;overflow:hidden}
.availability-day.active{border-color:#8DB6E8;background:#F5F9FF}
.availability-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.availability-toggle{display:flex;align-items:center;gap:9px;cursor:pointer}
.availability-copy{border:0;background:transparent;color:var(--primary);font-size:.75rem;font-weight:850;cursor:pointer}
.availability-periods{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}
.availability-period{display:grid;grid-template-columns:auto 1fr 1fr;align-items:end;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.availability-period span{grid-column:1/-1;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.availability-period label{font-size:.72rem;color:var(--muted)}
.availability-period input[type="time"]{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;color:var(--ink)}
.availability-period input[type="time"]:disabled{background:#EEF2F6;color:#98A2B0}
@media(max-width:700px){
  .availability-periods{grid-template-columns:1fr}
  .availability-period{grid-template-columns:1fr 1fr}
  .availability-day-head{align-items:flex-start;flex-direction:column}
}

/* Aviso legal */
.legal-disclosure{padding:30px 0 70px;background:#F7F9FC}
.legal-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 12px 30px rgba(13,93,184,.05)}
.legal-box h2{font-size:clamp(1.6rem,3vw,2.5rem);margin-top:10px}
.legal-box p{color:var(--muted);line-height:1.65;font-size:.92rem}
.legal-box small{display:block;color:var(--muted);line-height:1.5;margin-top:16px}
.legal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.legal-links button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;color:var(--primary);font-weight:850;cursor:pointer}
.legal-links button:hover{background:#F5F8FC}

/* Google multicolorido */
.google-g{
  position:absolute;
  left:14px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  background:conic-gradient(
    from -45deg,
    #4285F4 0deg 90deg,
    #34A853 90deg 165deg,
    #FBBC05 165deg 225deg,
    #EA4335 225deg 315deg,
    #4285F4 315deg 360deg
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-family:Arial,sans-serif;
  font-size:1.1rem;
  font-weight:700;
}
.g-blue{color:transparent}

/* Mais respiro no login */
.login-submit{margin-top:22px}

/* Cabeçalho responsivo e menu mobile */
.mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.mobile-menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:var(--ink);
  border-radius:99px;
  transition:.2s;
}
.mobile-menu{
  display:none;
  position:fixed;
  top:76px;
  left:0;
  right:0;
  z-index:19;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--line);
  box-shadow:0 16px 30px rgba(0,0,0,.08);
  transform:translateY(-12px);
  opacity:0;
  pointer-events:none;
  transition:.2s ease;
}
.mobile-menu.open{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.mobile-menu-inner{
  width:min(100% - 28px, 560px);
  margin:auto;
  padding:18px 0 22px;
}
.mobile-menu nav{
  display:grid;
  gap:6px;
}
.mobile-menu nav a{
  padding:13px 4px;
  border-bottom:1px solid #EEF2F6;
  font-weight:850;
  color:var(--ink);
}
.mobile-menu-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
body.menu-open{overflow:hidden}

@media(max-width:900px){
  .nav{
    height:68px;
  }
  .topbar .container{
    width:min(100% - 22px,1180px);
  }
  .brand img{
    max-width:150px;
    height:auto;
  }
  .navlinks,
  .desktop-login,
  .desktop-provider{
    display:none!important;
  }
  .mobile-menu-toggle{
    display:flex;
  }
  .mobile-menu{
    display:block;
    top:68px;
  }
  .nav-actions{
    margin-left:auto;
  }
}

@media(max-width:520px){
  .brand img{
    max-width:132px;
  }
  .brand-mark{
    width:38px;
    height:38px;
    border-radius:11px;
  }
  .mobile-menu-toggle{
    width:40px;
    height:40px;
  }
  .mobile-menu-actions{
    grid-template-columns:1fr;
  }
  .hero{
    padding-top:38px;
  }
}

/* Regiões mais compactas e recolhíveis */
.city-list{
  gap:8px;
  padding:10px;
}
.region-city-card{
  border-radius:12px;
}
.region-city-card summary{
  list-style:none;
}
.region-city-card summary::-webkit-details-marker{
  display:none;
}
.region-city-header{
  padding:10px 12px;
  min-height:54px;
  cursor:pointer;
}
.region-city-title{
  display:flex;
  align-items:center;
  gap:9px;
}
.region-toggle-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#EEF4FC;
  color:var(--primary);
  font-size:1.2rem;
  font-weight:900;
  transition:transform .2s ease;
}
.region-city-card[open] .region-toggle-icon{
  transform:rotate(90deg);
}
.neighborhood-grid{
  padding:9px 11px 11px;
  gap:6px;
}
.neighborhood-grid label{
  padding:7px 9px;
}
.region-state-header{
  padding:14px 16px;
}
.select-all-control{
  font-size:.74rem;
}

/* Níveis do simulado visualmente distintos */
.student-level{
  border-radius:16px;
  padding:14px;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid transparent;
}
.student-level .level-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:1.8rem;
  flex:0 0 auto;
}
.student-level small{
  display:block;
  margin-bottom:3px;
}
.student-level strong{
  font-size:1.25rem;
}
.level-beginner{
  background:#F1F8F0;
  border-color:#CDE5C9;
}
.level-beginner .level-icon{
  background:#DDF0D9;
  color:#3F7D36;
}
.level-beginner strong{
  color:#3F7D36;
}
.level-evolving{
  background:#EEF6FF;
  border-color:#C5DDF7;
}
.level-evolving .level-icon{
  background:#DCEBFB;
  color:#2268AD;
}
.level-evolving strong{
  color:#2268AD;
}
.level-prepared{
  background:#FFF8E8;
  border-color:#F4DCA6;
}
.level-prepared .level-icon{
  background:#FBECC8;
  color:#9A6812;
}
.level-prepared strong{
  color:#9A6812;
}
.level-advanced{
  background:#FFF1E8;
  border-color:#F5C9A9;
}
.level-advanced .level-icon{
  background:#FADCC6;
  color:#B85B1E;
}
.level-advanced strong{
  color:#B85B1E;
}
.level-expert{
  background:#F4EEFF;
  border-color:#D8C3F4;
}
.level-expert .level-icon{
  background:#E7D9FA;
  color:#7040A8;
}
.level-expert strong{
  color:#7040A8;
}

/* Uploads e referências */
.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.reference-card{background:#F8FAFD;border:1px solid var(--line);border-radius:14px;padding:14px}
.reference-card>strong{display:block;margin-bottom:12px;color:var(--primary)}
.document-upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.document-upload-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px dashed #AFC0D5;background:#FAFCFF;border-radius:14px;padding:16px;cursor:pointer;transition:.2s}
.document-upload-card:hover{border-color:var(--primary);background:#F4F8FD}
.document-upload-card input[type="file"]{width:100%;font-size:.78rem;margin-top:8px}
.document-upload-icon{display:inline-grid;place-items:center;min-width:42px;height:28px;padding:0 8px;border-radius:8px;background:#EAF2FC;color:var(--primary);font-size:.68rem;font-weight:950;letter-spacing:.05em}
.document-upload-card strong{font-size:.95rem}
.document-upload-card small{color:var(--muted);line-height:1.4}

@media(max-width:760px){
  .reference-grid,.document-upload-grid{grid-template-columns:1fr}
}

/* Cabeçalho mobile refeito */
@media(max-width:900px){
  .topbar{
    height:auto;
  }
  .nav{
    height:64px!important;
    min-height:64px;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .brand-header{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
  }
  .brand-header img{
    display:block!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    width:auto!important;
    max-width:138px!important;
    height:38px!important;
    object-fit:contain!important;
    object-position:left center!important;
    flex:0 1 auto;
  }
  .brand-header .brand-mark{
    flex:0 0 38px;
    width:38px!important;
    height:38px!important;
  }
  .brand-header>span:not(.brand-mark){
    display:block;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .nav-actions{
    flex:0 0 auto;
    margin-left:0!important;
  }
  .mobile-menu-toggle{
    position:static!important;
    transform:none!important;
    margin:0!important;
    flex:0 0 40px;
  }
  .mobile-menu{
    top:64px!important;
  }
}

@media(max-width:520px){
  .topbar .container{
    width:calc(100% - 20px)!important;
  }
  .brand-header img{
    max-width:118px!important;
    height:34px!important;
  }
  .brand-header .brand-mark{
    width:34px!important;
    height:34px!important;
    flex-basis:34px;
  }
  .nav{
    height:60px!important;
    min-height:60px;
  }
  .mobile-menu{
    top:60px!important;
  }
  .mobile-menu-toggle{
    width:38px!important;
    height:38px!important;
    flex-basis:38px;
  }
}

/* Ajuste final do cabeçalho mobile */
@media(max-width:900px){
  .topbar{
    background:#fff!important;
    box-shadow:0 1px 0 rgba(15,39,68,.08)!important;
  }

  .topbar .container{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:0 auto!important;
  }

  .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:12px!important;
    height:68px!important;
    min-height:68px!important;
    overflow:visible!important;
  }

  .mobile-brand-fix{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .mobile-brand-fix img{
    display:block!important;
    position:static!important;
    width:auto!important;
    height:46px!important;
    max-width:190px!important;
    min-width:145px!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    transform:none!important;
  }

  .mobile-brand-fix .brand-mark{
    display:none!important;
  }

  .nav-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    min-width:44px!important;
  }

  .mobile-menu-toggle{
    display:flex!important;
    position:static!important;
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
    padding:0!important;
    box-shadow:none!important;
  }

  .mobile-menu{
    top:68px!important;
  }
}

@media(max-width:520px){
  .topbar .container{
    width:calc(100% - 18px)!important;
  }

  .nav{
    height:64px!important;
    min-height:64px!important;
    column-gap:8px!important;
  }

  .mobile-brand-fix{
    height:48px!important;
  }

  .mobile-brand-fix img{
    height:42px!important;
    max-width:172px!important;
    min-width:132px!important;
  }

  .mobile-menu-toggle{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }

  .mobile-menu{
    top:64px!important;
  }
}

/* Botões laranja sem sombra ou halo */
.btn-accent,
.btn-primary,
button.btn-accent,
button.btn-primary,
a.btn-accent,
a.btn-primary{
  box-shadow:none!important;
  filter:none!important;
}

.btn-accent:hover,
.btn-primary:hover,
button.btn-accent:hover,
button.btn-primary:hover,
a.btn-accent:hover,
a.btn-primary:hover{
  box-shadow:none!important;
  filter:none!important;
  transform:none;
}

/* Depoimentos */
.testimonials-section{padding:76px 0;background:#fff}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#FAFCFF}
.testimonial-stars{color:#F3A928;letter-spacing:.08em;font-size:1rem;margin-bottom:14px}
.testimonial-card p{color:var(--ink);line-height:1.6;margin:0 0 18px}
.testimonial-author{display:grid;gap:2px}
.testimonial-author span{font-size:.8rem;color:var(--muted)}
.testimonial-note{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding:13px 15px;border-radius:12px;background:#F7F9FC;color:var(--muted);font-size:.82rem}
.testimonial-note strong{color:var(--ink)}

/* Área do instrutor */
.provider-resources-section{padding:76px 0;background:#F7F9FC}
.provider-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.provider-resource-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.resource-number{display:inline-grid;place-items:center;width:38px;height:30px;border-radius:9px;background:#EAF2FC;color:var(--primary);font-weight:950;font-size:.78rem;margin-bottom:16px}
.provider-resource-card h3{margin:0 0 10px}
.provider-resource-card p{color:var(--muted);line-height:1.55}
.resource-link{border:0;background:none;padding:0;color:var(--primary);font-weight:850;cursor:pointer}

/* Entrevista e conteúdos internos */
.interview-callout{background:#F5F9FF;border:1px solid #D7E5F6;border-radius:14px;padding:14px;margin-bottom:16px}
.interview-callout p{margin:5px 0 0;color:var(--muted)}
.guide-list{display:grid;gap:10px;margin:16px 0}
.guide-list>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#FAFCFF}
.guide-list span{color:var(--muted);font-size:.88rem;line-height:1.45}
.modal-list{display:grid;gap:8px;margin:16px 0}

@media(max-width:900px){
  .testimonial-grid,.provider-resource-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .testimonial-grid,.provider-resource-grid{grid-template-columns:1fr}
  .testimonial-note{display:grid}
}

/* Correção definitiva da logo no cabeçalho mobile */
@media(max-width:900px){
  .brand-header,
  .mobile-brand-fix{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:210px!important;
    min-width:150px!important;
    overflow:visible!important;
  }

  .brand-header img,
  .mobile-brand-fix img{
    width:185px!important;
    min-width:185px!important;
    max-width:185px!important;
    height:auto!important;
    max-height:48px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .brand-header small,
  .brand-header>span:not(.brand-mark),
  .mobile-brand-fix small,
  .mobile-brand-fix>span:not(.brand-mark){
    display:none!important;
  }

  .nav{
    grid-template-columns:210px 1fr auto!important;
  }

  .nav:after{
    content:"CNH SIMPLES E SEGURA";
    justify-self:center;
    color:#667B96;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  .nav-actions{
    grid-column:3;
  }
}

@media(max-width:560px){
  .brand-header,
  .mobile-brand-fix{
    max-width:150px!important;
    min-width:130px!important;
  }

  .brand-header img,
  .mobile-brand-fix img{
    width:145px!important;
    min-width:145px!important;
    max-width:145px!important;
    max-height:42px!important;
  }

  .nav{
    grid-template-columns:150px 1fr auto!important;
  }

  .nav:after{
    display:none!important;
  }
}

@media(max-width:380px){
  .brand-header img,
  .mobile-brand-fix img{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }

  .nav{
    grid-template-columns:132px 1fr auto!important;
  }
}

.modal-actions-stack{
  display:grid;
  gap:10px;
  margin-top:18px;
}

/* Central de estudos */
.study-library{padding:84px 0;background:#F7F9FC}
.study-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.study-hero-grid>div>p{max-width:700px;color:var(--muted);line-height:1.65}
.study-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.study-stats div{min-width:110px;padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:14px}
.study-stats strong{display:block;color:var(--primary);font-size:1.25rem}
.study-stats span{color:var(--muted);font-size:.78rem}
.study-quick-actions{display:grid;gap:10px}
.study-quick-actions button{display:grid;grid-template-columns:42px 1fr;gap:3px 12px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px;cursor:pointer}
.study-quick-actions button:hover{border-color:var(--primary);background:#F8FBFF}
.study-quick-actions button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#EAF2FC;color:var(--primary);font-weight:950}
.study-quick-actions small{color:var(--muted)}
.study-search-panel{margin-top:36px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}
.study-search-main label,.study-filter-grid label{display:block;margin-bottom:7px;font-size:.74rem;font-weight:850;color:var(--ink)}
.study-search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}
.study-search-box span{color:var(--muted);font-size:1.2rem}
.study-search-box input{width:100%;border:0;outline:0;padding:13px 0;font:inherit;background:transparent}
.study-filter-grid{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;margin-top:14px;align-items:end}
.study-filter-grid select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:#fff;color:var(--ink)}
.study-clear-button{min-height:44px}
.study-results-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 14px}
.study-results-bar>div{display:grid;gap:3px}
.study-results-bar span{color:var(--muted);font-size:.78rem}
.study-results-bar select{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.study-material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.study-material-card{display:grid;grid-template-rows:150px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.study-material-cover{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:18px;background:#EAF2FC}
.study-material-cover.premium-cover{background:#FFF1DF}
.study-material-cover>span{display:grid;place-items:center;min-width:58px;height:44px;padding:0 10px;border-radius:12px;background:#fff;color:var(--primary);font-size:.84rem;font-weight:950}
.study-material-cover small{font-size:.68rem;letter-spacing:.08em;font-weight:950;color:var(--primary)}
.premium-cover small{color:#B86512}
.study-material-content{display:flex;flex-direction:column;padding:18px}
.study-material-meta{display:flex;gap:7px;flex-wrap:wrap}
.study-material-meta span{padding:5px 8px;border-radius:8px;background:#F2F5F8;color:var(--muted);font-size:.68rem;font-weight:850}
.study-material-content h3{margin:13px 0 8px}
.study-material-content p{color:var(--muted);line-height:1.5;font-size:.88rem}
.study-material-details{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.study-material-details span{font-size:.7rem;color:var(--muted)}
.study-material-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.study-empty-state{grid-column:1/-1;display:grid;place-items:center;gap:6px;min-height:180px;border:1px dashed var(--line);border-radius:18px;background:#fff;color:var(--muted)}
.study-empty-state strong{color:var(--ink)}
.study-paths{margin-top:58px}
.study-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.study-path-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px}
.path-badge{display:inline-block;padding:6px 9px;border-radius:9px;background:#EAF2FC;color:var(--primary);font-size:.7rem;font-weight:900}
.study-path-card p{color:var(--muted);line-height:1.5}
.path-progress{height:10px;border-radius:99px;background:#E8EDF3;overflow:hidden;margin:18px 0 9px}
.path-progress span{display:block;height:100%;background:var(--primary)}
.study-path-card small{display:block;color:var(--muted);margin-bottom:14px}
.study-path-card button{border:0;background:none;padding:0;color:var(--primary);font-weight:850;cursor:pointer}
.quiz-study-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;margin-top:58px}
.quiz-intro p{color:var(--muted);line-height:1.6}
.study-preview-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.study-preview-info span{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:.82rem}
.study-preview-info strong{color:var(--ink);font-size:.72rem}
@media(max-width:1100px){.study-filter-grid{grid-template-columns:repeat(3,1fr)}.study-material-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.study-hero-grid,.quiz-study-layout{grid-template-columns:1fr}.study-path-grid{grid-template-columns:1fr}}
@media(max-width:700px){.study-filter-grid{grid-template-columns:1fr 1fr}.study-material-grid{grid-template-columns:1fr}.study-results-bar{align-items:flex-start;flex-direction:column}.study-results-bar select{width:100%}}
@media(max-width:520px){.study-library{padding:58px 0}.study-search-panel{padding:15px}.study-filter-grid{grid-template-columns:1fr}.study-stats{display:grid;grid-template-columns:repeat(3,1fr)}.study-stats div{min-width:0;padding:11px}.study-material-actions{grid-template-columns:1fr}.study-preview-info{grid-template-columns:1fr}}

/* Área de estudos em página separada */
.study-teaser-section{
  padding:76px 0;
  background:#F7F9FC;
}
.study-teaser-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:center;
}
.study-teaser-grid>div>p{
  color:var(--muted);
  line-height:1.65;
  max-width:680px;
}
.study-teaser-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
}
.study-teaser-badge{
  display:inline-block;
  padding:6px 9px;
  border-radius:8px;
  background:#EAF2FC;
  color:var(--primary);
  font-size:.7rem;
  font-weight:900;
}
.study-teaser-items{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:18px 0;
}
.study-teaser-items span{
  padding:10px;
  border-radius:10px;
  background:#F7F9FC;
  color:var(--ink);
  font-size:.82rem;
}
.study-teaser-card>a{
  color:var(--primary);
  font-weight:850;
}
.studies-page-main{
  padding-top:0;
}
.studies-page-main .study-library{
  padding-top:64px;
}

/* Correção de contraste: impedir texto branco sobre fundo branco */
.btn-ghost,
.btn-ghost:visited,
.study-material-actions .btn-ghost,
.social-login-btn.google-login{
  color:var(--ink)!important;
}
.study-material-actions .btn-primary,
.study-material-actions .btn-accent,
.btn-primary,
.btn-accent{
  color:#fff!important;
}
.study-quick-actions button,
.study-path-card button,
.resource-link,
.auth-link,
.legal-links button{
  color:var(--primary)!important;
}
.study-material-cover>span{
  color:var(--primary)!important;
}
.study-results-bar select,
.study-filter-grid select,
.study-search-box input{
  color:var(--ink)!important;
  background:#fff!important;
}
.study-search-box input::placeholder{
  color:#8290A2!important;
}

@media(max-width:850px){
  .study-teaser-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .study-teaser-section{padding:56px 0}
  .study-teaser-items{grid-template-columns:1fr}
}

/* Simulado rápido na landing page */
.landing-quiz-section{padding:76px 0;background:#F7F9FC}
.landing-quiz-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center}
.landing-quiz-grid>div>p{color:var(--muted);line-height:1.65}
.study-page-link{display:inline-block;margin-top:18px;color:var(--primary);font-weight:850}

/* Simulado completo */
.official-sim-section{margin-top:64px}
.official-sim-heading{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.official-sim-heading p{color:var(--muted);line-height:1.6;max-width:760px}
.official-sim-rules{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.official-sim-rules span{display:grid;place-items:center;min-width:120px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:.76rem}
.official-sim-rules strong{color:var(--primary);font-size:1.15rem}
.official-sim-notice{display:flex;gap:8px;margin-top:18px;padding:12px 14px;border-radius:12px;background:#FFF8E8;border:1px solid #F0D79F;color:#6F5A2A;font-size:.84rem}
.official-sim-start{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.official-sim-start p{color:var(--muted)}
.official-sim-setup{display:flex;align-items:end;gap:10px}
.official-sim-setup label{display:grid;gap:6px;font-size:.75rem;font-weight:850}
.official-sim-setup select{min-width:230px;min-height:46px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:#fff;color:var(--ink)}
.official-sim-app{margin-top:20px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
.official-sim-toolbar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:16px 20px;background:#102F57;color:#fff}
.official-sim-toolbar>div{display:grid;gap:2px}
.official-sim-toolbar span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#C8D6E8}
.official-sim-toolbar strong{font-size:1.05rem}
.official-timer{text-align:center}
.official-finish-button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:10px;padding:10px 14px;font-weight:850;cursor:pointer}
.official-sim-layout{display:grid;grid-template-columns:260px 1fr;min-height:500px}
.official-question-map{padding:18px;border-right:1px solid var(--line);background:#F7F9FC}
.question-map-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}
.question-map-head small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.68rem}
.map-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.map-dot.answered{background:var(--primary)}
.question-map-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.question-map-grid button{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-weight:850;cursor:pointer}
.question-map-grid button.answered{background:#EAF2FC;border-color:#AFC9E9;color:var(--primary)}
.question-map-grid button.current{outline:3px solid rgba(13,93,184,.2);border-color:var(--primary)}
.official-question-panel{padding:28px}
.official-question-topic{display:inline-block;padding:6px 9px;border-radius:8px;background:#EAF2FC;color:var(--primary);font-size:.72rem;font-weight:900}
.official-question-panel h3{font-size:1.35rem;line-height:1.45;margin:18px 0}
.official-options{display:grid;gap:10px}
.official-option{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer;background:#fff}
.official-option:hover,.official-option.selected{border-color:var(--primary);background:#F6FAFF}
.official-option input{position:absolute;opacity:0;pointer-events:none}
.official-option-letter{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#EEF3F8;color:var(--ink);font-weight:950}
.official-option.selected .official-option-letter{background:var(--primary);color:#fff}
.official-question-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.official-question-actions button:disabled{opacity:.45;cursor:not-allowed}
.official-sim-result{margin-top:20px}
.official-result-head{display:flex;align-items:center;gap:16px;padding:22px;border-radius:18px;border:1px solid var(--line);background:#fff}
.official-result-head.passed{background:#F1F8F0;border-color:#CDE5C9}
.official-result-head.failed{background:#FFF5EC;border-color:#F3D0B4}
.official-result-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff;font-size:1.7rem;font-weight:950}
.official-result-head h3{margin:3px 0}
.official-result-head p{margin:0;color:var(--muted)}
.official-result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.official-result-metrics div{display:grid;place-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.official-result-metrics strong{font-size:1.35rem;color:var(--primary)}
.official-result-metrics span{font-size:.72rem;color:var(--muted)}
.official-review-list{display:grid;gap:8px;margin:18px 0}
.official-review-list details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}
.official-review-list details.correct{border-left:4px solid #4B9B4B}
.official-review-list details.incorrect{border-left:4px solid #D97B35}
.official-review-list summary{display:flex;justify-content:space-between;padding:13px 0;cursor:pointer}
.official-review-list details p{color:var(--ink)}
.official-review-list details small{display:block;color:var(--muted);line-height:1.5;margin-bottom:8px}
@media(max-width:900px){
  .landing-quiz-grid,.official-sim-heading{grid-template-columns:1fr}
  .official-sim-rules{justify-content:flex-start}
  .official-sim-layout{grid-template-columns:1fr}
  .official-question-map{border-right:0;border-bottom:1px solid var(--line)}
  .question-map-grid{grid-template-columns:repeat(10,1fr)}
}
@media(max-width:650px){
  .official-sim-start,.official-sim-setup,.official-sim-notice{align-items:stretch;flex-direction:column}
  .official-sim-setup select{min-width:0;width:100%}
  .official-sim-toolbar{grid-template-columns:1fr 1fr}
  .official-finish-button{grid-column:1/-1}
  .question-map-grid{grid-template-columns:repeat(6,1fr)}
  .official-question-panel{padding:18px}
  .official-result-metrics{grid-template-columns:1fr 1fr}
}

/* Correção definitiva de contraste na página de estudos */
.studies-page-main .study-library h1,
.studies-page-main .study-library h2,
.studies-page-main .study-library h3,
.studies-page-main .study-library h4,
.studies-page-main .study-library .study-hero-grid h2,
.studies-page-main .study-library .official-sim-heading h2,
.studies-page-main .study-library .section-heading h2{
  color:var(--ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}

.studies-page-main .study-library p,
.studies-page-main .study-library .study-hero-grid>div>p,
.studies-page-main .study-library .official-sim-heading p{
  color:var(--muted)!important;
  opacity:1!important;
}

.studies-page-main .study-library .kicker{
  color:#E89400!important;
  background:transparent!important;
}

.studies-page-main .study-library{
  color:var(--ink)!important;
}

.interview-reassurance{
  display:grid;
  gap:4px;
  margin:16px 0 20px;
  padding:13px 14px;
  border-radius:12px;
  background:#F5F9FF;
  border:1px solid #D7E5F6;
}
.interview-reassurance span{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
}

/* Cabeçalho compacto definitivo */
@media(max-width:980px){
  .topbar{
    height:66px!important;
    min-height:66px!important;
    background:#fff!important;
  }

  .topbar .container{
    width:calc(100% - 24px)!important;
    height:66px!important;
    margin:0 auto!important;
    padding:0!important;
  }

  .nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    height:66px!important;
    min-height:66px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .brand,
  .brand-header,
  .mobile-brand-fix{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .brand-logo,
  .brand img,
  .brand-header img,
  .mobile-brand-fix img{
    display:block!important;
    position:static!important;
    width:158px!important;
    min-width:158px!important;
    max-width:158px!important;
    height:auto!important;
    max-height:52px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
  }

  .brand-copy,
  .brand-header small,
  .brand-header>span:not(.brand-mark),
  .mobile-brand-fix small,
  .mobile-brand-fix>span:not(.brand-mark),
  .nav:after{
    display:none!important;
    content:none!important;
  }

  .nav-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:42px!important;
    margin:0!important;
  }

  .mobile-menu-toggle{
    display:flex!important;
    position:static!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    padding:0!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }

  .mobile-menu{
    top:66px!important;
  }
}

@media(max-width:520px){
  .topbar,
  .topbar .container,
  .nav{
    height:62px!important;
    min-height:62px!important;
  }

  .topbar .container{
    width:calc(100% - 18px)!important;
  }

  .brand,
  .brand-header,
  .mobile-brand-fix{
    height:48px!important;
  }

  .brand-logo,
  .brand img,
  .brand-header img,
  .mobile-brand-fix img{
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    max-height:46px!important;
  }

  .mobile-menu-toggle{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }

  .mobile-menu{
    top:62px!important;
  }
}

/* Reduz o espaço excessivo logo abaixo do cabeçalho no celular */
@media(max-width:620px){
  .hero{
    padding-top:34px!important;
  }
}

/* Correção funcional do menu mobile */
.mobile-menu{
  visibility:hidden;
}
.mobile-menu.open{
  visibility:visible;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}
@media(max-width:900px){
  .mobile-menu{
    display:block!important;
    z-index:9999!important;
  }
  .mobile-menu.open{
    pointer-events:auto!important;
    opacity:1!important;
    transform:translateY(0)!important;
  }
  .mobile-menu-toggle{
    position:relative!important;
    z-index:10000!important;
  }
}

/* Slogan ao lado da logo no mobile */
.mobile-brand-slogan{
  display:none;
}

@media(max-width:980px){
  .brand,
  .brand-header,
  .mobile-brand-fix{
    gap:12px!important;
  }

  .mobile-brand-slogan{
    display:block!important;
    color:#5F748F!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
}

@media(max-width:620px){
  .brand-logo,
  .brand img,
  .brand-header img,
  .mobile-brand-fix img{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
  }

  .mobile-brand-slogan{
    font-size:.64rem!important;
    letter-spacing:.05em!important;
  }
}

@media(max-width:440px){
  .brand,
  .brand-header,
  .mobile-brand-fix{
    gap:8px!important;
  }

  .brand-logo,
  .brand img,
  .brand-header img,
  .mobile-brand-fix img{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
  }

  .mobile-brand-slogan{
    font-size:.58rem!important;
    line-height:1.1!important;
  }
}

@media(max-width:360px){
  .mobile-brand-slogan{
    display:none!important;
  }
}

/* Modal das trilhas de estudo */
.study-path-modal-list{
  display:grid;
  gap:10px;
  margin:18px 0 22px;
}
.study-path-modal-step{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#FAFCFF;
}
.study-path-modal-step>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:10px;
  background:#EAF2FC;
  color:var(--primary);
  font-weight:950;
}
.study-path-modal-step div{
  display:grid;
  gap:3px;
}
.study-path-modal-step small{
  color:var(--muted);
  line-height:1.4;
}

.study-path-card button[data-study-path],
.study-quick-actions button[data-study-path]{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative;
  z-index:1;
}
.study-path-card button[data-study-path]:hover{
  text-decoration:underline;
}
.study-path-card button[data-study-path]:focus-visible,
.study-quick-actions button[data-study-path]:focus-visible{
  outline:3px solid rgba(13,93,184,.22);
  outline-offset:4px;
}


/* ===== Áreas privadas ===== */
.dashboard-body{
  margin:0;
  background:#F4F7FB;
  color:var(--ink);
  min-height:100vh;
}
.dashboard-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  min-height:100vh;
}
.dashboard-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  background:#102F57;
  color:#fff;
  padding:22px 16px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.dashboard-logo{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 8px;
}
.dashboard-logo img{
  width:150px;
  height:auto;
}
.dashboard-role{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:6px 9px;
  border-radius:8px;
  background:rgba(255,255,255,.1);
  color:#D9E7F7;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dashboard-nav{
  display:grid;
  gap:6px;
}
.dashboard-nav button{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  border:0;
  background:transparent;
  color:#C7D6E8;
  border-radius:11px;
  padding:11px 12px;
  text-align:left;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.dashboard-nav button:hover,
.dashboard-nav button.active{
  background:rgba(255,255,255,.1);
  color:#fff;
}
.dashboard-nav-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.08);
  font-size:.72rem;
  font-weight:950;
}
.dashboard-sidebar-footer{
  margin-top:auto;
  display:grid;
  gap:8px;
}
.dashboard-sidebar-footer a{
  color:#C7D6E8;
  font-size:.82rem;
}
.dashboard-main{
  min-width:0;
  padding:24px;
}
.dashboard-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
}
.dashboard-topbar h1{
  margin:0;
  font-size:1.7rem;
  color:var(--ink);
}
.dashboard-topbar p{
  margin:4px 0 0;
  color:var(--muted);
}
.dashboard-profile{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
}
.dashboard-avatar{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#EAF2FC;
  color:var(--primary);
  font-weight:950;
}
.dashboard-profile button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:10px;
  padding:9px 11px;
  cursor:pointer;
}
.dashboard-profile-menu{
  display:none;
  position:absolute;
  right:0;
  top:52px;
  min-width:190px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
  box-shadow:0 16px 30px rgba(13,47,87,.12);
  z-index:10;
}
.dashboard-profile-menu.open{display:grid}
.dashboard-profile-menu a,
.dashboard-profile-menu button{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:9px;
  color:var(--ink);
}
.dashboard-view{display:none}
.dashboard-view.active{display:block}
.dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:18px;
}
.dashboard-metric-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
}
.dashboard-metric-card span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
}
.dashboard-metric-card strong{
  display:block;
  margin:7px 0 5px;
  color:var(--ink);
  font-size:1.55rem;
}
.dashboard-metric-card small{
  color:#3B8B4A;
}
.dashboard-grid-2{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:14px;
}
.dashboard-grid-equal{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.dashboard-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
}
.dashboard-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.dashboard-card-head h2,
.dashboard-card-head h3{
  margin:0;
  font-size:1rem;
}
.dashboard-card-head a,
.dashboard-card-head button{
  border:0;
  background:none;
  color:var(--primary);
  font-weight:850;
  cursor:pointer;
}
.dashboard-table-wrap{
  overflow-x:auto;
}
.dashboard-table{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}
.dashboard-table th,
.dashboard-table td{
  text-align:left;
  padding:12px 10px;
  border-bottom:1px solid #EDF1F5;
  font-size:.8rem;
}
.dashboard-table th{
  color:var(--muted);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:99px;
  font-size:.68rem;
  font-weight:900;
}
.status-pending{background:#FFF3D8;color:#9A6812}
.status-approved{background:#EAF6EA;color:#3B7D42}
.status-rejected{background:#FDECEC;color:#AA3D3D}
.status-active{background:#EAF2FC;color:var(--primary)}
.table-actions{
  display:flex;
  gap:6px;
}
.table-actions button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  padding:6px 8px;
  cursor:pointer;
}
.table-actions button:hover{border-color:var(--primary)}
.bar-chart{
  height:250px;
  display:flex;
  align-items:flex-end;
  gap:12px;
  padding-top:20px;
}
.bar-item{
  flex:1;
  display:grid;
  grid-template-rows:20px 1fr 20px;
  gap:5px;
  height:100%;
  text-align:center;
}
.bar-value{
  font-size:.68rem;
  color:var(--muted);
}
.bar-track{
  position:relative;
  height:100%;
  background:#EDF2F7;
  border-radius:8px 8px 4px 4px;
  overflow:hidden;
}
.bar-track span{
  position:absolute;
  left:0;right:0;bottom:0;
  background:var(--primary);
  border-radius:8px 8px 0 0;
}
.bar-item small{color:var(--muted)}
.progress-row{display:grid;gap:7px;margin-bottom:14px}
.progress-row>div:first-child{
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:.8rem;
}
.progress-track{
  height:10px;
  background:#EDF2F7;
  border-radius:99px;
  overflow:hidden;
}
.progress-track span{
  display:block;
  height:100%;
  background:var(--primary);
}
.dashboard-list{
  display:grid;
  gap:10px;
}
.dashboard-list-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#FAFCFF;
}
.dashboard-list-item div{display:grid;gap:3px}
.dashboard-list-item span,
.dashboard-list-item small{color:var(--muted)}
.dashboard-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.dashboard-form-group{display:grid;gap:6px}
.dashboard-form-group.full{grid-column:1/-1}
.dashboard-form-group label{
  color:var(--ink);
  font-size:.76rem;
  font-weight:850;
}
.dashboard-form-group input,
.dashboard-form-group select,
.dashboard-form-group textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px;
  font:inherit;
  background:#fff;
  color:var(--ink);
}
.dashboard-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.dashboard-schedule{
  display:grid;
  gap:8px;
}
.dashboard-schedule-row{
  display:grid;
  grid-template-columns:140px 1fr 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
}
.dashboard-schedule-row.disabled{
  opacity:.55;
}
.dashboard-schedule-row label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:850;
}
.dashboard-schedule-row input[type="time"]{
  width:100%;
  border:1px solid var(--line);
  border-radius:8px;
  padding:9px;
}
.student-task{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
}
.student-task.done{
  opacity:.6;
  text-decoration:line-through;
}
.student-progress-ring{
  width:120px;
  height:120px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--primary) 0 68%,#E8EEF5 68% 100%);
  position:relative;
}
.student-progress-ring:after{
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  background:#fff;
}
.student-progress-ring strong{
  position:relative;
  z-index:1;
  font-size:1.35rem;
}
.dashboard-notice{
  padding:13px 14px;
  border-radius:12px;
  background:#FFF8E8;
  border:1px solid #EFD89E;
  color:#6C5729;
  font-size:.84rem;
}
.dashboard-mobile-top{
  display:none;
}
@media(max-width:1050px){
  .dashboard-metrics{grid-template-columns:1fr 1fr}
  .dashboard-grid-2,.dashboard-grid-equal{grid-template-columns:1fr}
}
@media(max-width:780px){
  .dashboard-shell{grid-template-columns:1fr}
  .dashboard-sidebar{
    position:fixed;
    left:0;right:0;bottom:0;top:auto;
    height:auto;
    z-index:20;
    padding:8px 10px;
  }
  .dashboard-logo,.dashboard-role,.dashboard-sidebar-footer{display:none}
  .dashboard-nav{
    grid-template-columns:repeat(5,1fr);
    gap:4px;
  }
  .dashboard-nav button{
    display:grid;
    place-items:center;
    gap:3px;
    padding:7px 4px;
    font-size:.62rem;
    text-align:center;
  }
  .dashboard-nav-icon{width:26px;height:26px}
  .dashboard-main{padding:16px 14px 88px}
  .dashboard-topbar{align-items:flex-start}
  .dashboard-profile>div:not(.dashboard-avatar){display:none}
}
@media(max-width:560px){
  .dashboard-metrics{grid-template-columns:1fr}
  .dashboard-form-grid{grid-template-columns:1fr}
  .dashboard-form-group.full{grid-column:auto}
  .dashboard-schedule-row{grid-template-columns:1fr}
  .dashboard-nav{grid-template-columns:repeat(4,1fr);overflow-x:auto}
  .dashboard-nav button:nth-child(n+5){display:none}
}

.demo-role-grid{
  grid-template-columns:repeat(3,1fr);
}
.demo-role-grid a{
  text-decoration:none;
}
@media(max-width:700px){
  .demo-role-grid{grid-template-columns:1fr}
}

.official-sim-source-note{align-items:center;justify-content:space-between;gap:16px}
.official-sim-source-note>div{display:grid;gap:4px}
.official-sim-source-note .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.official-sim-source-note{align-items:stretch;flex-direction:column}.official-sim-source-note .btn{width:100%}}

/* Área de busca de instrutores mais compacta */
#instrutores{
  padding-top:54px!important;
  padding-bottom:58px!important;
}

#instrutores .section-head{
  margin-bottom:18px!important;
  gap:22px!important;
}

#instrutores .section-head h2{
  font-size:clamp(1.9rem,2.8vw,2.8rem)!important;
  margin:7px 0 10px!important;
  letter-spacing:-.035em!important;
}

#instrutores .section-head p{
  max-width:520px!important;
  font-size:.92rem!important;
  line-height:1.5!important;
}

#instrutores .kicker{
  font-size:.68rem!important;
  padding:6px 9px!important;
}

#instrutores .search-panel{
  gap:8px!important;
  padding:13px!important;
  border-radius:17px!important;
  box-shadow:0 8px 22px rgba(13,93,184,.05)!important;
}

#instrutores .field label{
  margin-bottom:5px!important;
  font-size:.62rem!important;
  letter-spacing:.045em!important;
}

#instrutores .field input,
#instrutores .field select,
#instrutores .results-bar select{
  min-height:40px!important;
  padding:9px 10px!important;
  border-radius:9px!important;
  font-size:.82rem!important;
}

#instrutores .filter-button{
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:9px!important;
  font-size:.8rem!important;
}

#instrutores .results-bar{
  margin:16px 0 12px!important;
  font-size:.82rem!important;
}

#instrutores .results-bar strong{
  font-size:.86rem!important;
}

#instrutores .cards{
  gap:13px!important;
}

#instrutores .provider-card{
  border-radius:17px!important;
  padding:14px!important;
  box-shadow:0 8px 22px rgba(13,93,184,.045)!important;
}

#instrutores .provider-head{
  gap:7px!important;
}

#instrutores .provider-head .avatar{
  width:52px!important;
  height:52px!important;
  border-radius:14px!important;
}

#instrutores .provider-title h3{
  font-size:1rem!important;
}

#instrutores .verified,
#instrutores .score{
  font-size:.68rem!important;
}

#instrutores .tags{
  gap:5px!important;
  margin:11px 0!important;
}

#instrutores .tag{
  font-size:.66rem!important;
  padding:5px 7px!important;
}

#instrutores .provider-info{
  gap:7px!important;
  margin:10px 0!important;
}

#instrutores .info-box{
  padding:8px!important;
  border-radius:9px!important;
}

#instrutores .info-box small{
  font-size:.62rem!important;
}

#instrutores .info-box strong{
  font-size:.78rem!important;
  margin-top:2px!important;
}

#instrutores .card-footer{
  margin-top:12px!important;
  gap:8px!important;
}

#instrutores .price strong{
  font-size:1.05rem!important;
}

#instrutores .price small{
  font-size:.65rem!important;
}

#instrutores .card-footer .btn{
  padding:9px 12px!important;
  border-radius:9px!important;
  font-size:.76rem!important;
}

@media(max-width:760px){
  #instrutores{
    padding-top:42px!important;
    padding-bottom:46px!important;
  }

  #instrutores .section-head h2{
    font-size:2rem!important;
  }

  #instrutores .section-head p{
    font-size:.86rem!important;
  }

  #instrutores .search-panel{
    padding:11px!important;
  }
}

/* Ajustes nos cards de instrutores para alinhamento visual */
.cards{
  align-items:stretch!important;
}
.provider-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.provider-info{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:start!important;
}
.provider-info .info-box{
  min-height:74px!important;
}
.provider-head{
  align-items:flex-start!important;
}
.card-footer{
  margin-top:auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.card-footer .btn{
  align-self:flex-end!important;
}

/* Áreas privadas */
.dashboard-logo img{
  width:170px!important;
  max-width:100%!important;
}
.dashboard-nav-icon{
  font-size:1rem!important;
  line-height:1!important;
}
.dashboard-profile small{
  display:block;
  color:var(--muted);
}
.dashboard-profile-menu a,
.dashboard-profile-menu button{
  cursor:pointer;
}
.dashboard-schedule-row{
  grid-template-columns:130px repeat(4,minmax(0,1fr))!important;
}
.dashboard-schedule-row input[type="time"]{
  min-width:0;
}
.calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:14px;
  color:var(--muted);
  font-size:.8rem;
}
.calendar-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}
.calendar-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.calendar-dot.available{background:#DCEBFF}
.calendar-dot.blocked{background:#FFD5D5}
.calendar-dot.booked{background:#D8F1D7}
.booking-calendar-header{
  display:grid;
  gap:4px;
  margin-bottom:12px;
}
.booking-calendar-header small{
  color:var(--muted);
}
.booking-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.booking-calendar-weekday,
.booking-calendar-empty{
  display:grid;
  place-items:center;
  min-height:34px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
}
.booking-calendar-day{
  min-height:44px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.booking-calendar-day.available{
  background:#EEF5FF;
  border-color:#D9E8FB;
  color:#0D5DB8;
}
.booking-calendar-day.blocked{
  background:#FFF0F0;
  border-color:#F2CACA;
  color:#B03A3A;
}
.booking-calendar-day.booked{
  background:#EFF9EF;
  border-color:#CBE8CB;
  color:#2E7D32;
  cursor:default;
}
.booking-calendar-day:focus-visible{
  outline:3px solid rgba(13,93,184,.2);
  outline-offset:2px;
}
@media(max-width:1050px){
  .dashboard-schedule-row{
    grid-template-columns:1fr 1fr 1fr!important;
  }
}
@media(max-width:780px){
  .dashboard-logo img{
    width:150px!important;
  }
}
@media(max-width:560px){
  .provider-info{
    grid-template-columns:1fr!important;
  }
  .dashboard-schedule-row{
    grid-template-columns:1fr!important;
  }
  .booking-calendar-grid{
    gap:6px;
  }
  .booking-calendar-day{
    min-height:40px;
    border-radius:10px;
  }
}

/* Ícones minimalistas das áreas privadas */
.dashboard-nav-icon{
  background:transparent!important;
  width:26px!important;
  height:26px!important;
}
.dashboard-nav-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Logo negativa em painel azul */
.dashboard-logo img{
  width:170px!important;
  max-height:80px;
  object-fit:contain;
}

/* Prova teórica mais institucional */
.exam-instructions-card{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.exam-instructions-card ol{
  margin:10px 0 0 20px;
  padding:0;
  color:var(--muted);
  line-height:1.6;
}
.official-question-panel{
  background:#fff;
}
.official-question-panel h3{
  font-weight:750;
}
.official-option{
  border-radius:8px!important;
}
.official-option-letter{
  border-radius:6px!important;
}
.question-map-grid button{
  border-radius:6px!important;
}

/* CRUD */
.crud-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.crud-tabs button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:9px;
  padding:9px 13px;
  font-weight:850;
  cursor:pointer;
}
.crud-tabs button.active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.crud-toolbar{
  display:grid;
  grid-template-columns:1fr 220px;
  gap:10px;
  margin-bottom:14px;
}
.crud-toolbar input,
.crud-toolbar select{
  min-height:42px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:var(--ink);
}

/* Login por perfil */
.login-page{
  margin:0;
  min-height:100vh;
  background:#F4F7FB;
}
.login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.login-brand-panel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:40px;
  padding:56px;
  background:#102F57;
  color:#fff;
}
.login-brand-panel img{
  width:min(360px,80%);
}
.login-brand-panel h1{
  color:#fff;
  max-width:520px;
}
.login-brand-panel p,
.login-brand-panel span{
  color:#C9D8E9;
}
.login-form-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px;
  max-width:620px;
}
.login-form-panel>p{
  color:var(--muted);
}
.login-back{
  position:absolute;
  top:28px;
  color:var(--primary);
  font-weight:850;
}
.demo-access-note{
  display:grid;
  gap:4px;
  margin-top:18px;
  padding:13px;
  border-radius:12px;
  background:#EEF5FF;
  color:var(--muted);
}
.demo-access-note strong{
  color:var(--ink);
}

/* Agenda */
.dashboard-schedule-row{
  grid-template-columns:130px repeat(4,minmax(0,1fr))!important;
}
.booking-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.booking-calendar-day{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:9px;
  font-weight:850;
  cursor:pointer;
}
.booking-calendar-day.available{background:#EEF5FF;color:#0D5DB8}
.booking-calendar-day.blocked{background:#FFF0F0;color:#A53E3E}
.booking-calendar-day.booked{background:#EDF8ED;color:#327A38;cursor:default}

@media(max-width:780px){
  .login-shell{grid-template-columns:1fr}
  .login-brand-panel{display:none}
  .login-form-panel{padding:74px 24px 32px}
  .crud-toolbar{grid-template-columns:1fr}
}

/* Botões administrativos padronizados */
.btn-sm{
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  font-size:.74rem!important;
}

/* Filtros administrativos */
.dashboard-filter-bar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,auto)) auto;
  gap:9px;
  align-items:center;
  margin:0 0 16px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#F8FAFD;
}
.dashboard-search-box{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 10px;
  background:#fff;
}
.dashboard-search-box input{
  width:100%;
  min-height:38px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
}
.dashboard-filter-bar select{
  min-height:40px;
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 10px;
  background:#fff;
  color:var(--ink);
}

/* Gestão de planos */
.plan-manager-table{
  display:grid;
  gap:7px;
}
.plan-manager-head,
.plan-manager-row{
  display:grid;
  grid-template-columns:1.1fr .8fr .7fr 1fr .7fr 1fr;
  gap:10px;
  align-items:center;
}
.plan-manager-head{
  padding:0 10px 7px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.plan-manager-row{
  padding:12px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#FAFCFF;
  font-size:.8rem;
}

/* Revisão de simulados */
.simulation-review-list{
  display:grid;
  gap:9px;
  margin:17px 0 20px;
}
.simulation-review-list details{
  border:1px solid var(--line);
  border-radius:11px;
  padding:0 13px;
  background:#FAFCFF;
}
.simulation-review-list summary{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 0;
  cursor:pointer;
}
.simulation-review-list p{
  margin:0 0 8px;
}
.simulation-review-list small{
  display:block;
  color:var(--muted);
  margin-bottom:12px;
}

/* Perfil do instrutor compatível com o cadastro */
.dashboard-form-section{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.dashboard-form-section h3{
  margin:0 0 14px;
  font-size:1rem;
}
.profile-completeness{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:14px;
  align-items:center;
  padding:14px;
  border-radius:13px;
  background:#F5F9FF;
}
.profile-completeness>div:first-child{
  display:grid;
}
.profile-completeness strong{
  color:var(--primary);
  font-size:1.35rem;
}
.profile-completeness span{
  color:var(--muted);
  font-size:.76rem;
}

@media(max-width:1050px){
  .dashboard-filter-bar{
    grid-template-columns:1fr 1fr;
  }
  .plan-manager-head{
    display:none;
  }
  .plan-manager-row{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .dashboard-filter-bar,
  .plan-manager-row,
  .profile-completeness{
    grid-template-columns:1fr;
  }
}

/* Botão Revisar banco e ações administrativas */
.dashboard-card-head .btn,
.dashboard-list-item .btn,
.table-actions .btn{
  white-space:nowrap;
}

/* Tela de login com mais respiro */
.login-form-panel{
  gap:0;
}
.login-form-panel .kicker{
  margin-bottom:12px;
}
.login-form-panel h2{
  margin:0 0 12px!important;
}
.login-form-panel>p{
  margin:0 0 24px!important;
  line-height:1.6;
}
.login-form-panel form{
  display:grid;
  gap:17px;
}
.login-form-panel .form-group{
  margin:0!important;
}
.login-form-panel .login-submit{
  margin-top:10px!important;
}
.login-brand-panel>div{
  display:grid;
  gap:15px;
}
.login-brand-panel h1{
  margin:0!important;
}
.login-brand-panel p{
  margin:0!important;
  line-height:1.65;
}

/* Foto do aluno */
.student-profile-photo-block{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:20px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#F8FAFD;
}
.student-profile-photo-preview{
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
  border-radius:28px;
  background:#EAF2FC;
  color:var(--primary);
  font-size:1.6rem;
  font-weight:950;
  background-size:cover;
  background-position:center;
}
.student-profile-photo-preview.has-photo{
  border:3px solid #fff;
  box-shadow:0 0 0 1px var(--line);
}
.student-profile-photo-block p{
  margin:5px 0 12px;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.5;
}
.student-profile-photo-block .btn{
  margin-right:7px;
}

/* Cabeçalhos ordenáveis */
.table-sort-button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  padding:0;
  color:var(--muted);
  font:inherit;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}
.table-sort-button:hover,
.table-sort-button[data-sort-direction="asc"],
.table-sort-button[data-sort-direction="desc"]{
  color:var(--primary);
}
.sort-arrow{
  display:inline-grid;
  place-items:center;
  min-width:12px;
  font-size:.78rem;
}

@media(max-width:620px){
  .student-profile-photo-block{
    grid-template-columns:1fr;
    text-align:center;
  }
  .student-profile-photo-preview{
    margin:auto;
  }
}


/* Aumentar logo nas áreas privadas */
.dashboard-logo img{
  width:205px!important;
  max-height:92px!important;
}

/* Login com melhor respiro */
.login-form-panel .form-group label{
  display:block;
  margin:0 0 9px!important;
  line-height:1.2;
}
.login-form-panel .form-control,
.login-form-panel select{
  margin-top:0!important;
}
.login-form-panel .form-group + .form-group{
  margin-top:2px!important;
}
.login-brand-panel h1{
  line-height:.97!important;
  letter-spacing:-.04em!important;
}
.login-brand-panel span{
  display:block;
  margin-bottom:8px!important;
}
.login-back{
  top:18px!important;
}

/* Distância entre selo PDF/RES e plano */
.material-card .material-type{
  margin-bottom:72px!important;
}
.material-card .material-access{
  margin-top:0!important;
}
@media(max-width:900px){
  .material-card .material-type{
    margin-bottom:48px!important;
  }
}

/* Revisão de simulado mais limpa */
.simulation-proof{
  display:grid;
  gap:12px;
  margin:18px 0;
  max-height:58vh;
  overflow:auto;
  padding-right:2px;
}
.simulation-proof-item{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.simulation-proof-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background:#F8FAFD;
  font-weight:850;
}
.simulation-proof-body{
  padding:16px;
}
.simulation-proof-question{
  margin:0 0 14px;
  color:var(--ink);
  font-weight:700;
}
.simulation-proof-option{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border-radius:10px;
  margin-bottom:8px;
  border:1px solid var(--line);
  color:var(--ink);
}
.simulation-proof-option.correct{
  background:#ECF9EF;
  border-color:#BFE3C6;
  color:#276738;
}
.simulation-proof-option.wrong{
  background:#FFF0F0;
  border-color:#F2CACA;
  color:#A53E3E;
}
.simulation-proof-option .option-letter{
  min-width:24px;
  font-weight:900;
}
.simulation-proof-explain{
  margin-top:10px;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.5;
}

/* Chat aluno */
.chat-window{
  display:grid;
  gap:12px;
  margin:10px 0 14px;
}
.chat-message{
  display:grid;
  gap:4px;
  max-width:88%;
  padding:12px 14px;
  border-radius:14px;
}
.chat-message strong{
  font-size:.8rem;
}
.chat-message span{
  color:var(--ink);
  line-height:1.45;
}
.chat-message small{
  color:var(--muted);
  font-size:.72rem;
}
.chat-message.instructor{
  background:#F3F7FC;
  border:1px solid var(--line);
}
.chat-message.student{
  background:#EAF2FF;
  border:1px solid #d7e6ff;
  margin-left:auto;
}
.chat-compose{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-top:12px;
}
.chat-compose input{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:var(--ink);
}

/* Botão flutuante de suporte */
.floating-support-button{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  display:flex;
  align-items:center;
  gap:10px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  padding:12px 15px;
  border-radius:999px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  font-weight:850;
}
.floating-support-icon{
  font-size:1.05rem;
}
.floating-support-text{
  white-space:nowrap;
}
@media(max-width:680px){
  .floating-support-text{
    display:none;
  }
  .floating-support-button{
    width:54px;
    height:54px;
    justify-content:center;
    padding:0;
  }
}

/* Foto do aluno assegurada */
.student-profile-photo-block{
  display:grid!important;
}

/* Ordenação por status etc */
.table-sort-button{
  width:100%;
  justify-content:flex-start;
}
.status-pill.status-pending{background:#FFF3D9;color:#A56A00}
.status-pill.status-banned{background:#FFE6E6;color:#992B2B}
.status-pill.status-muted{background:#EFF1F5;color:#5C6778}

/* Logo das áreas privadas: maior e centralizada */
.dashboard-logo{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 0 18px!important;
  margin:0!important;
}

.dashboard-logo img{
  display:block!important;
  width:245px!important;
  max-width:88%!important;
  max-height:118px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}

.dashboard-role{
  margin-left:0!important;
  align-self:center!important;
}

@media(max-width:780px){
  .dashboard-logo{
    display:none!important;
  }
}

@media(min-width:781px) and (max-width:1100px){
  .dashboard-logo img{
    width:220px!important;
    max-height:108px!important;
  }
}

/* Atendimento flutuante: apenas ícone do WhatsApp */
.floating-support-button{
  width:54px!important;
  height:54px!important;
  padding:0!important;
  justify-content:center!important;
  border-radius:50%!important;
}

.floating-support-text{
  display:none!important;
}

.floating-support-icon{
  font-size:1.35rem!important;
  line-height:1!important;
}

/* Filtros das solicitações do instrutor */
.instructor-requests-filter{
  grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,auto)) auto!important;
}

@media(max-width:1050px){
  .instructor-requests-filter{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:620px){
  .instructor-requests-filter{
    grid-template-columns:1fr!important;
  }
}


/* Agenda do instrutor mais didática */
.dashboard-schedule-didactic{
  gap:12px;
}
.dashboard-schedule-didactic .dashboard-schedule-row{
  grid-template-columns:170px 1fr 1fr;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
}
.dashboard-schedule-didactic .dashboard-schedule-row label{
  font-size:1rem;
  white-space:nowrap;
}
.schedule-slot-group{
  display:grid;
  grid-template-columns:auto minmax(110px, 1fr) auto minmax(110px, 1fr);
  gap:10px;
  align-items:center;
  width:100%;
}
.schedule-slot-text{
  color:var(--muted);
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}
.dashboard-schedule-didactic .dashboard-schedule-row input[type="time"]{
  min-width:0;
  min-height:48px;
  padding:10px 12px;
  border-radius:12px;
  font-size:1rem;
  font-weight:800;
  background:#fff;
}
.dashboard-schedule-didactic .dashboard-schedule-row.disabled input[type="time"]{
  background:#F3F5F8;
}

@media(max-width:1100px){
  .dashboard-schedule-didactic .dashboard-schedule-row{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .schedule-slot-group{
    grid-template-columns:1fr;
    gap:8px;
  }
  .dashboard-schedule-didactic .dashboard-schedule-row{
    padding:14px;
  }
}

/* Agenda estável e didática */
#instructor-schedule{
  display:none;
}
#instructor-schedule.active{
  display:grid;
  gap:16px;
}
.teacher-week-card,
.teacher-calendar-card{
  width:100%;
}
.teacher-week-head{
  display:grid;
  grid-template-columns:180px 1fr;
  padding:0 16px 8px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.teacher-week-list{
  display:grid;
  gap:10px;
}
.teacher-day-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.teacher-day-row.is-disabled{
  background:#F8FAFD;
  opacity:.62;
}
.teacher-day-name{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1rem;
  font-weight:900;
}
.teacher-day-name input{
  width:20px;
  height:20px;
  accent-color:var(--primary);
}
.teacher-period{
  display:grid;
  grid-template-columns:auto minmax(102px,1fr) auto minmax(102px,1fr);
  gap:8px;
  align-items:center;
}
.teacher-period-title{
  grid-column:1/-1;
  color:var(--muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.teacher-period label{
  display:contents;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
}
.teacher-period input[type="time"]{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font-size:.92rem;
  font-weight:800;
}
.teacher-period input:disabled{
  background:#EDF1F5;
}
.booking-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.booking-calendar-weekday,
.booking-calendar-empty{
  display:grid;
  place-items:center;
  min-height:34px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
}

/* Minha prova */
.exam-countdown-card{
  display:grid;
  gap:5px;
  padding:22px;
  border-radius:16px;
  background:#102F57;
  color:#fff;
  margin-bottom:14px;
}
.exam-countdown-card span,
.exam-countdown-card p{
  color:#C9D8E9;
  margin:0;
}
.exam-countdown-card strong{
  font-size:2rem;
}

/* Declarações */
.certificate-filter-bar{
  grid-template-columns:1fr 220px!important;
}
.certificate-preview{
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
  background:#fff;
}
.certificate-preview h2{
  text-align:center;
  margin:16px 0 22px;
}
.certificate-preview p{
  line-height:1.7;
}
.certificate-signature{
  margin-top:36px;
  text-align:center;
}
.certificate-signature span{
  display:block;
  width:260px;
  max-width:100%;
  margin:0 auto 8px;
  border-top:1px solid var(--ink);
}

@media(max-width:1150px){
  .teacher-week-head{
    display:none;
  }
  .teacher-day-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .teacher-period{
    grid-template-columns:auto 1fr auto 1fr;
  }
  .certificate-filter-bar{
    grid-template-columns:1fr!important;
  }
}

/* Parceiros e afiliados */
.partner-link-card{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#F8FAFD;
}
.partner-link-card code{
  display:block;
  overflow-wrap:anywhere;
  padding:12px;
  border-radius:10px;
  background:#fff;
  color:var(--primary);
  font-size:.82rem;
}
.partner-coupon-card{
  display:grid;
  gap:12px;
  place-items:start;
  padding:24px;
  border:1px dashed #9CB9DB;
  border-radius:16px;
  background:#F5F9FF;
}
.partner-coupon-card strong{
  font-size:1.7rem;
  letter-spacing:.08em;
  color:var(--primary);
}
.partner-coupon-card span{
  color:var(--muted);
}
.referral-source-box,
.referral-code-field{
  padding:14px;
  border:1px solid #D9E6F5;
  border-radius:12px;
  background:#F7FAFE;
}
.referral-code-field small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.74rem;
}

/* Agenda do instrutor: dois cards lado a lado novamente */
#instructor-schedule.active{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr)!important;
  gap:16px!important;
  align-items:start!important;
}
#instructor-schedule .teacher-week-card,
#instructor-schedule .teacher-calendar-card{
  min-width:0;
}
#instructor-schedule .teacher-day-row{
  grid-template-columns:140px minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  padding:12px!important;
}
#instructor-schedule .teacher-period{
  grid-template-columns:auto minmax(82px,1fr) auto minmax(82px,1fr)!important;
  gap:6px!important;
}
#instructor-schedule .teacher-period input[type="time"]{
  min-height:42px!important;
  font-size:.84rem!important;
  padding:7px 8px!important;
}
#instructor-schedule .teacher-day-name{
  font-size:.92rem!important;
}
#instructor-schedule .teacher-period-title{
  font-size:.62rem!important;
}
@media(max-width:1180px){
  #instructor-schedule.active{
    grid-template-columns:1fr!important;
  }
}

/* Status mais compacto */
.status-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  padding:6px 12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.dashboard-table td .status-pill{
  margin:0!important;
}
.admin-contact-link{
  display:block;
  color:var(--primary);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.dashboard-table td small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  white-space:nowrap;
}

/* Cabeçalho da revisão do simulado */
.simulation-review-heading{
  margin-bottom:16px;
  padding:16px 18px;
  border:1px solid #CFE0F4;
  border-radius:14px;
  background:#F4F8FD;
}
.simulation-review-heading .kicker{
  display:block;
  margin-bottom:6px;
  color:var(--primary);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
}
.simulation-review-heading h2{
  margin:0 0 8px!important;
  color:var(--ink)!important;
  font-size:1.9rem!important;
  line-height:1.05!important;
}
.simulation-review-heading p{
  margin:0!important;
  color:#405773!important;
  font-size:1rem!important;
  font-weight:650!important;
}
.simulation-review-heading strong{
  color:var(--primary-dark);
  font-size:1.1rem;
}
.simulation-review-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
@media(max-width:620px){
  .simulation-review-actions{
    grid-template-columns:1fr;
  }
}

.partner-admin-filter{grid-template-columns:minmax(260px,1fr) 170px 170px auto!important}
.partner-coupon-code{display:inline-block;padding:6px 9px;border-radius:8px;background:#F1F6FC;color:var(--primary);font-weight:900}
.coupon-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.percentage-input{display:grid;grid-template-columns:1fr 42px;align-items:center}
.percentage-input span{display:grid;place-items:center;height:100%;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:#F5F8FC;font-weight:900}
@media(max-width:900px){.partner-admin-filter{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.partner-admin-filter,.coupon-input-row{grid-template-columns:1fr!important}}


/* Logo específica na tela de acesso */
.login-brand-panel{
  align-items:flex-start;
}
.login-brand-panel>img{
  display:block!important;
  width:min(520px,86%)!important;
  max-height:310px!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
}

/* Botão de fechar do modal */
.modal-box{
  position:relative;
}
.close-modal{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #D8E2EE!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;
  color:#52657B!important;
  font-size:1.35rem!important;
  font-weight:500!important;
  line-height:1!important;
  box-shadow:0 5px 16px rgba(16,47,87,.10)!important;
  cursor:pointer!important;
  z-index:4!important;
}
.close-modal:hover{
  background:#F1F6FC!important;
  color:var(--ink)!important;
  transform:scale(1.04);
}

/* Favoritar instrutor */
.provider-card{
  position:relative;
}
.provider-favorite-button{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #D7E3F1;
  border-radius:50%;
  background:#fff;
  color:#50677F;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(16,47,87,.08);
}
.provider-favorite-button svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.provider-favorite-button:hover{
  color:#E45463;
  border-color:#F2C7CD;
}
.provider-favorite-button.is-favorite{
  color:#E33F55;
  background:#FFF1F3;
  border-color:#F3BFC7;
}
.provider-favorite-button.is-favorite svg{
  fill:currentColor;
}
.provider-head{
  padding-right:44px;
}

/* Cadastro público de parceiros */
.partner-signup-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);
}
.partner-signup-brand{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:54px;
  background:#102F57;
  color:#fff;
}
.partner-signup-brand img{
  width:min(480px,92%);
  max-height:280px;
  object-fit:contain;
  object-position:left center;
}
.partner-signup-brand h1{
  color:#fff;
  max-width:560px;
}
.partner-signup-brand p{
  color:#CAD8E8;
  max-width:520px;
}
.partner-signup-form{
  position:relative;
  padding:88px 58px 58px;
  background:#F6F8FC;
}
.partner-signup-form>p{
  color:var(--muted);
  margin-bottom:24px;
}
.partner-admin-actions{
  margin:0!important;
  justify-content:flex-end;
}
@media(max-width:900px){
  .partner-signup-shell{
    grid-template-columns:1fr;
  }
  .partner-signup-brand{
    display:none;
  }
  .partner-signup-form{
    padding:82px 24px 36px;
  }
}

/* Login social e cadastro */
.login-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:22px 0 16px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:750;
}
.login-divider::before,
.login-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}
.login-divider span{
  white-space:nowrap;
}
.login-social-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.login-social-button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.login-social-button:hover{
  background:#F6F9FD;
  border-color:#BFD2E8;
}
.social-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:950;
}
.social-google{
  background:#fff;
  border:1px solid #D9E1EA;
  color:#4285F4;
}
.social-facebook{
  background:#1877F2;
  color:#fff;
  font-family:Arial,sans-serif;
}
.login-signup-box{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
  padding:14px;
  border:1px solid #D9E6F5;
  border-radius:12px;
  background:#F7FAFE;
  color:var(--muted);
  font-size:.82rem;
}
.login-signup-link{
  border:0;
  padding:0;
  background:transparent;
  color:var(--primary);
  font:inherit;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.login-signup-link:hover{
  text-decoration:underline;
}
.login-signup-separator{
  color:#A8B5C4;
}
@media(max-width:560px){
  .login-social-grid{
    grid-template-columns:1fr;
  }
  .login-signup-separator{
    display:none;
  }
}


/* === Refinos visuais finais: modais, logos, cards e favoritos === */

/* Logos centralizadas e maiores nos painéis institucionais */
.login-brand-panel,
.partner-signup-brand{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:52px !important;
  padding:56px 54px !important;
}
.login-brand-panel > img,
.partner-signup-brand img{
  width:min(400px,80%) !important;
  max-width:400px !important;
  max-height:none !important;
  display:block !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  align-self:center !important;
}
.login-brand-panel > div,
.partner-signup-brand > div{
  margin-top:0 !important;
}
@media(max-width:1100px){
  .partner-signup-brand img,
  .login-brand-panel > img{
    width:min(340px,76%) !important;
    max-width:340px !important;
  }
}

/* Modal mais legível e discreto */
.modal-box{
  width:min(1020px, calc(100vw - 40px)) !important;
  max-height:88vh !important;
  padding:22px 22px 26px !important;
  border-radius:26px !important;
  background:#FFFFFF !important;
}
.modal-box .kicker{
  display:block !important;
  margin-bottom:10px !important;
}
.modal-box h2{
  margin:0 0 12px !important;
  font-size:clamp(1.9rem, 3vw, 3.15rem) !important;
  line-height:1.03 !important;
  letter-spacing:-.035em !important;
  color:var(--primary-dark) !important;
}
.modal-box p{
  color:#50677F !important;
  line-height:1.48 !important;
}
.close-modal{
  top:12px !important;
  right:12px !important;
  width:32px !important;
  height:32px !important;
  border:1px solid #DDE7F2 !important;
  background:#F7FAFE !important;
  color:#6A7A8C !important;
  font-size:1.05rem !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.close-modal:hover{
  background:#EDF4FC !important;
  color:var(--ink) !important;
  transform:none !important;
}

/* Cabeçalho da revisão do simulado */
.simulation-review-heading{
  padding:22px 24px !important;
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  margin-bottom:16px !important;
}
.simulation-review-heading .kicker{
  color:var(--primary) !important;
}
.simulation-review-heading h2{
  font-size:clamp(2rem, 3vw, 3.3rem) !important;
  margin:0 0 10px !important;
}
.simulation-review-heading p{
  margin:0 !important;
  font-size:1.08rem !important;
  color:#4F647B !important;
}
.simulation-review-heading strong{
  color:var(--primary-dark) !important;
}

/* Área de materiais: reduzir o vazio entre PDF e Gratuito */
.study-material-card{
  grid-template-rows:112px 1fr !important;
}
.study-material-cover{
  justify-content:flex-start !important;
  gap:18px !important;
  padding:16px 18px 14px !important;
}
.study-material-cover small{
  margin-top:0 !important;
}

/* Favoritos de instrutor alinhados ao rodapé do card */
.provider-card{
  position:relative;
}
.provider-head{
  padding-right:0 !important;
}
.card-footer-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.provider-favorite-button{
  position:static !important;
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #D7E3F1 !important;
  border-radius:12px !important;
  background:#F7FAFE !important;
  color:#556C84 !important;
  box-shadow:none !important;
  flex:0 0 42px !important;
}
.provider-favorite-button:hover{
  background:#FFF4F6 !important;
  color:#E45463 !important;
  border-color:#F0C8CF !important;
}
.provider-favorite-button.is-favorite{
  background:#FFF1F3 !important;
  color:#E13E54 !important;
  border-color:#F2C1C9 !important;
}
.provider-favorite-button svg{
  width:20px !important;
  height:20px !important;
}


/* Revisão completa do simulado */
.simulation-proof{
  max-height:62vh!important;
}
.simulation-proof-item{
  break-inside:avoid;
}
.simulation-review-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
.simulation-review-actions .btn{
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  text-align:center!important;
}

/* Botão de fechar no canto superior esquerdo */
.close-modal{
  top:14px!important;
  left:14px!important;
  right:auto!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.08)!important;
  border:0!important;
  color:rgba(0,0,0,.62)!important;
  box-shadow:none!important;
}
.close-modal:hover{
  background:rgba(0,0,0,.14)!important;
  color:rgba(0,0,0,.82)!important;
}
.modal-box{
  padding-top:58px!important;
}
.simulation-review-heading{
  margin-top:0!important;
}

/* Fotos dos instrutores */
.provider-photo{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  overflow:hidden!important;
}
.provider-photo span{
  opacity:0;
}
.provider-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.10),transparent 55%);
  pointer-events:none;
}

/* Logo colorida do Google */
.social-google{
  background:#fff!important;
  border:1px solid #D9E1EA!important;
  padding:3px!important;
}
.social-google svg{
  width:18px;
  height:18px;
  display:block;
}

/* Impressão da revisão: 4 a 5 questões por A4 */
@media print{
  .simulation-proof-item{
    font-size:10px!important;
  }
}

@media(max-width:620px){
  .simulation-review-actions{
    grid-template-columns:1fr!important;
  }
}

/* Moderação administrativa: linhas contínuas e células alinhadas */
#admin-moderation .dashboard-table{
  width:100%;
  table-layout:auto;
  border-collapse:collapse!important;
}
#admin-moderation .dashboard-table th,
#admin-moderation .dashboard-table td{
  border-bottom:1px solid var(--line)!important;
  vertical-align:middle!important;
}
#admin-moderation .dashboard-table tr:last-child td{
  border-bottom:0!important;
}
#admin-moderation .dashboard-table td:last-child{
  white-space:nowrap;
}
#admin-moderation .dashboard-table td .btn{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  margin:0 6px 0 0;
}
#admin-moderation .dashboard-table-wrap{
  overflow-x:auto;
}

/* Revisão do simulado: conteúdo contido e ações sempre visíveis */
.modal-box{
  overflow:hidden!important;
}
#modalContent{
  min-height:0;
}
.simulation-review-heading{
  flex:0 0 auto;
}
.simulation-proof{
  max-height:calc(88vh - 250px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:8px!important;
  margin-bottom:12px!important;
}
.simulation-proof-item{
  width:100%;
  box-sizing:border-box;
}
.simulation-review-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  padding-top:12px;
  padding-bottom:2px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22%);
}

/* Cadastro de parceiros: layout mais compacto, sem rolagem em desktop */
.partner-signup-shell{
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
}
.partner-signup-brand{
  padding:34px 42px!important;
  gap:22px!important;
  justify-content:flex-start!important;
}
.partner-signup-brand img{
  width:min(300px,72%)!important;
  max-width:300px!important;
  margin:0 auto 4px!important;
}
.partner-signup-brand>div{
  margin-top:auto!important;
  margin-bottom:0!important;
}
.partner-signup-brand h1{
  font-size:clamp(2.5rem,4.2vw,4.6rem)!important;
  line-height:.98!important;
  margin:10px 0 14px!important;
}
.partner-signup-brand p{
  margin:0!important;
  line-height:1.45!important;
}
.partner-signup-form{
  height:100vh!important;
  overflow:hidden!important;
  padding:54px 42px 30px!important;
}
.partner-signup-form h2{
  margin:6px 0 8px!important;
}
.partner-signup-form>p{
  margin:0 0 14px!important;
}
.partner-signup-form .dashboard-form-grid{
  gap:10px 12px!important;
}
.partner-signup-form .dashboard-form-group label{
  margin-bottom:5px!important;
}
.partner-signup-form input,
.partner-signup-form select,
.partner-signup-form textarea{
  min-height:42px!important;
  padding:9px 11px!important;
}
.partner-signup-form textarea{
  min-height:68px!important;
  max-height:76px!important;
}
.partner-signup-form .terms-check{
  margin:4px 0!important;
}
.partner-signup-form .dashboard-action-row{
  margin-top:4px!important;
}
.partner-signup-form .btn-large{
  min-height:46px!important;
}
@media(max-width:1050px){
  .partner-signup-shell{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
  }
  .partner-signup-form{
    height:auto!important;
    overflow:visible!important;
  }
}


/* Ajuste fino da logo na área de cadastro de parceiros */
.partner-signup-brand{
  justify-content:flex-start !important;
  align-items:flex-start !important;
  padding:48px 42px 34px !important;
  gap:0 !important;
}
.partner-signup-brand img{
  width:min(340px,78%) !important;
  max-width:340px !important;
  display:block !important;
  margin:52px auto 88px !important;
  align-self:center !important;
}
.partner-signup-brand > div{
  margin-top:0 !important;
}
@media (max-width:1050px){
  .partner-signup-brand img{
    width:min(300px,74%) !important;
    max-width:300px !important;
    margin:28px auto 44px !important;
  }
}

/* Navegação mensal da agenda do instrutor */
.booking-calendar-navigation{
  display:grid!important;
  grid-template-columns:42px 1fr 42px!important;
  gap:12px!important;
  align-items:center!important;
  text-align:center!important;
}
.booking-calendar-navigation>div{
  display:grid;
  gap:3px;
}
.booking-calendar-navigation strong{
  font-size:1rem;
}
.calendar-nav-button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--primary);
  font-size:1.55rem;
  font-weight:700;
  cursor:pointer;
}
.calendar-nav-button:hover{
  background:#F2F7FD;
  border-color:#BDD1E8;
}
.booking-calendar-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:10px 0 14px;
}
#dynamicBookingCalendar{
  min-height:330px;
}
.booking-calendar-day{
  transition:.15s ease;
}
.booking-calendar-day.available:hover,
.booking-calendar-day.blocked:hover{
  transform:translateY(-1px);
}


/* Home: remover sombras e efeitos que deixaram os cards pesados */
#instrutores .provider-card{
  box-shadow:none!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  transform:none!important;
}
#instrutores .provider-card:hover{
  box-shadow:none!important;
  transform:none!important;
}
#instrutores .info-box{
  background:#F7F9FC!important;
  box-shadow:none!important;
  border:0!important;
}
#instrutores .provider-favorite-button{
  box-shadow:none!important;
}
#instrutores .score{
  box-shadow:none!important;
}
#instrutores .provider-photo::after{
  display:none!important;
}
#instrutores .card-footer{
  background:transparent!important;
}


/* Agenda do instrutor mais compacta */
#instructor-schedule.active{
  gap:12px!important;
}

#instructor-schedule .dashboard-card{
  padding:16px!important;
}

#instructor-schedule .dashboard-card-head{
  margin-bottom:10px!important;
}

#instructor-schedule .dashboard-card-head h2{
  margin-bottom:2px!important;
}

#instructor-schedule .teacher-week-list{
  gap:7px!important;
}

#instructor-schedule .teacher-day-row{
  grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
}

#instructor-schedule .teacher-day-name{
  font-size:.86rem!important;
  gap:7px!important;
}

#instructor-schedule .teacher-day-name input{
  width:17px!important;
  height:17px!important;
}

#instructor-schedule .teacher-period{
  grid-template-columns:auto minmax(70px,1fr) auto minmax(70px,1fr)!important;
  gap:5px!important;
}

#instructor-schedule .teacher-period-title{
  font-size:.56rem!important;
  margin-bottom:0!important;
}

#instructor-schedule .teacher-period label,
#instructor-schedule .teacher-period>span:not(.teacher-period-title){
  font-size:.68rem!important;
}

#instructor-schedule .teacher-period input[type="time"]{
  min-height:34px!important;
  height:34px!important;
  padding:4px 6px!important;
  font-size:.75rem!important;
  border-radius:8px!important;
}

#instructor-schedule .dashboard-notice{
  padding:10px 12px!important;
  margin-top:10px!important;
  font-size:.76rem!important;
}

#instructor-schedule .dashboard-action-row{
  margin-top:10px!important;
}

#instructor-schedule .booking-calendar-header{
  margin-bottom:6px!important;
}

#instructor-schedule .booking-calendar-navigation{
  grid-template-columns:36px 1fr 36px!important;
  gap:8px!important;
}

#instructor-schedule .calendar-nav-button{
  width:36px!important;
  height:36px!important;
  border-radius:9px!important;
}

#instructor-schedule .booking-calendar-quick-actions{
  margin:6px 0 8px!important;
}

#instructor-schedule .booking-calendar-grid{
  gap:5px!important;
}

#instructor-schedule .booking-calendar-day,
#instructor-schedule .booking-calendar-weekday,
#instructor-schedule .booking-calendar-empty{
  min-height:32px!important;
  font-size:.74rem!important;
}

#instructor-schedule .calendar-legend{
  margin:6px 0 8px!important;
  gap:10px!important;
  font-size:.72rem!important;
}

@media(max-width:1180px){
  #instructor-schedule .teacher-day-row{
    grid-template-columns:110px 1fr 1fr!important;
  }
}

@media(max-width:900px){
  #instructor-schedule .teacher-day-row{
    grid-template-columns:1fr!important;
  }
}


/* Home – mockup do simulador/visual rápido sem sombras */
.visual-card{
  box-shadow:none!important;
}
.visual-badge{
  box-shadow:none!important;
}
.phone{
  box-shadow:none!important;
}
.featured{
  box-shadow:none!important;
}
.mini-card{
  box-shadow:none!important;
}

/* Ícone do topo do mockup da home */
.phone-brand img,
.phone-brand-pin{
  width:24px!important;
  height:auto!important;
  border-radius:0!important;
  object-fit:contain!important;
  display:block!important;
}


/* =========================================================
   HOME — OPÇÃO 2
   Mais cor com aplicação pontual, sem fundos carregados.
   ========================================================= */

/* Hero limpo com faixa lateral de identidade */
.hero{
  position:relative;
  background:#F8FAFD!important;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:8px;
  height:100%;
  background:linear-gradient(180deg,var(--primary),var(--accent));
}
.hero .eyebrow{
  background:#EEF5FD!important;
  border:1px solid #D6E4F3!important;
  color:var(--primary)!important;
}
.hero h1{
  color:#102F57!important;
}
.hero h1 strong,
.hero h1 em{
  color:var(--primary)!important;
}
.hero-actions .btn-primary{
  background:var(--primary)!important;
}
.hero-actions .btn-ghost{
  border-color:#C6D6E8!important;
  background:#fff!important;
}
.trust-row span{
  color:#3F5874!important;
}
.trust-row span::first-letter{
  color:var(--accent);
}

/* Mockup com borda colorida discreta */
.visual-card{
  border:1px solid #CFE0F2!important;
  background:#fff!important;
}
.visual-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:30px 0 0 30px;
  background:var(--accent);
}
.visual-badge{
  background:var(--accent)!important;
  border:3px solid #fff!important;
}
.featured{
  background:var(--primary)!important;
}
.phone{
  background:#F7FAFF!important;
}
.phone-top{
  border-bottom:1px solid #E0E8F1;
  padding-bottom:10px;
}
.mini-card{
  background:#fff!important;
  border-color:#DCE6F2!important;
}
.mini-card:nth-of-type(1){
  border-left:4px solid var(--primary)!important;
}
.mini-card:nth-of-type(2){
  border-left:4px solid var(--accent)!important;
}
.mini-card:nth-of-type(3){
  border-left:4px solid #4A9A70!important;
}

/* Títulos de seção com sublinhado curto */
.section-head h2{
  position:relative;
  display:inline-block;
}
.section-head h2::after{
  content:"";
  display:block;
  width:54px;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background:var(--accent);
}

/* Busca de instrutores com detalhes pontuais */
#instrutores{
  background:#fff!important;
}
.search-panel{
  background:#F8FAFD!important;
  border:1px solid #D6E2EF!important;
}
#instrutores .provider-card{
  border:1px solid #D6E2EF!important;
  background:#fff!important;
}
#instrutores .provider-card:hover{
  border-color:#AFC7E2!important;
}
#instrutores .provider-card::before{
  content:"";
  display:block;
  height:4px;
  margin:-18px -18px 16px;
  background:var(--primary);
}
#instrutores .provider-card:nth-child(2n)::before{
  background:var(--accent);
}
#instrutores .score{
  background:#FFF3DD!important;
  color:#A66200!important;
}
#instrutores .tag{
  background:#F1F5FA!important;
  color:#455F7A!important;
}
#instrutores .btn-primary{
  background:var(--primary)!important;
}

/* Estudos com bloco azul e detalhes laranja */
.study-section{
  background:#102F57!important;
  position:relative;
  overflow:hidden;
}
.study-section::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-90px;
  top:-90px;
  border-radius:50%;
  background:rgba(245,162,0,.14);
}
.study-section .container{
  position:relative;
  z-index:1;
}
.study-section .kicker{
  color:#FFD596!important;
}
.quiz-card{
  border-top:5px solid var(--accent);
  box-shadow:none!important;
}

/* Como funciona alternando apenas bordas */
.steps article{
  background:#fff!important;
  border:1px solid #DCE6F1!important;
}
.steps article:nth-child(odd){
  border-top:4px solid var(--primary)!important;
}
.steps article:nth-child(even){
  border-top:4px solid var(--accent)!important;
}

/* Cards de planos mais diferenciados */
.pricing-card{
  background:#fff!important;
  box-shadow:none!important;
}
.pricing-card:nth-child(1){
  border-top:5px solid #8AAFD7!important;
}
.pricing-card:nth-child(2){
  border-top:5px solid var(--primary)!important;
}
.pricing-card:nth-child(3){
  border-top:5px solid var(--accent)!important;
}
.pricing-card.featured-plan{
  background:#F8FBFF!important;
}

/* CTA final com identidade */
.cta-box{
  background:#102F57!important;
  border-left:8px solid var(--accent)!important;
}
.cta-box .btn{
  background:var(--accent)!important;
  color:#fff!important;
}

/* Rodapé com linha superior */
footer{
  border-top:4px solid var(--primary)!important;
  background:#fff!important;
}

@media(max-width:620px){
  .hero::before{
    width:5px;
  }
  .visual-card::before{
    display:none;
  }
}


/* =========================================================
   HOME — AJUSTE DE ALINHAMENTO DAS LINHAS E CONTORNOS
   ========================================================= */

/* Garante que os detalhes coloridos fiquem dentro dos boxes */
.visual-card,
.search-panel,
#instrutores .provider-card,
.steps article,
.pricing-card,
.cta-box,
.phone,
.mini-card,
.quiz-card{
  position:relative!important;
  overflow:hidden!important;
}

/* Box principal do mockup */
.visual-card{
  border-radius:32px!important;
}
.visual-card::before{
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:6px!important;
  margin:0!important;
  border-radius:32px 0 0 32px!important;
}

/* Linha superior dos cards de instrutores alinhada no contorno */
#instrutores .provider-card{
  border-radius:24px!important;
}
#instrutores .provider-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:4px!important;
  margin:0!important;
  border-radius:24px 24px 0 0!important;
  background:var(--primary)!important;
}
#instrutores .provider-card:nth-child(2n)::before{
  background:var(--accent)!important;
}

/* Boxes internos do card de instrutor mais consistentes */
#instrutores .info-box{
  border-radius:12px!important;
  overflow:hidden!important;
}

/* Painel de busca com contorno correto */
.search-panel{
  border-radius:24px!important;
}

/* Área de estudos */
.quiz-card{
  border-radius:26px!important;
}

/* Cards de etapas */
.steps article{
  border-radius:22px!important;
}

/* Cards de planos */
.pricing-card{
  border-radius:24px!important;
}

/* Mini-cards do mockup */
.mini-card{
  border-radius:20px!important;
}

/* CTA final */
.cta-box{
  border-radius:28px!important;
}

/* Pequeno refinamento para não “quebrar” linhas junto às bordas */
.phone{
  border-radius:42px!important;
}


/* =========================================================
   AJUSTE DO BOX DE ORDENAÇÃO / SELECT
   Remove a “mancha” visual e deixa o box mais limpo.
   ========================================================= */

.results-bar select,
#instrutores .results-bar select,
.study-results-bar select{
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  background-color:#FFFFFF!important;
  background-image:
    linear-gradient(45deg, transparent 50%, #58708D 50%),
    linear-gradient(135deg, #58708D 50%, transparent 50%)!important;
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px)!important;
  background-size:6px 6px, 6px 6px!important;
  background-repeat:no-repeat!important;
  border:1px solid #D6E2EF!important;
  color:#183355!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding-right:34px!important;
  position:relative!important;
  z-index:1!important;
}

.results-bar select:focus,
#instrutores .results-bar select:focus,
.study-results-bar select:focus{
  border-color:#B8CBE0!important;
  box-shadow:none!important;
  outline:none!important;
}

.results-bar select option,
#instrutores .results-bar select option,
.study-results-bar select option{
  background:#FFFFFF!important;
  color:#183355!important;
}

/* Wrapper do box, para garantir contorno limpo */
.results-bar,
.study-results-bar{
  position:relative!important;
  z-index:2!important;
}


/* =========================================================
   HOME — AJUSTES FINAIS DE LAYOUT E LEITURA
   ========================================================= */

/* Fundo geral levemente mais presente, sem pesar */
:root{
  --bg:#F2F6FB;
}
body{
  background:#F2F6FB!important;
}

/* Mantém títulos e kicker em bloco, sem parecer “colados” */
.section-head{
  align-items:flex-start!important;
}
.section-head > div{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
}
.section-head .kicker{
  display:block!important;
  margin:0!important;
}
.section-head h2{
  display:block!important;
  margin:0!important;
  line-height:.98!important;
}
.section-head h2::after{
  margin-top:12px!important;
}

/* Mockup da home mais limpo e menos confuso */
.visual-card{
  padding:28px!important;
  border-radius:34px!important;
  border:1px solid #D3E0EE!important;
  background:#FFFFFF!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.visual-card::before{
  display:none!important;
}
.visual-badge{
  top:26px!important;
  right:26px!important;
  left:auto!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:18px!important;
  padding:18px 24px!important;
  z-index:2!important;
  white-space:nowrap!important;
}
.phone{
  margin-top:14px!important;
  border:12px solid #1C3F71!important;
  border-radius:44px!important;
  padding:18px 18px 22px!important;
  min-height:auto!important;
  background:#F7FAFF!important;
  box-shadow:none!important;
}
.phone-top{
  padding:0 4px 12px!important;
}
.phone-brand{
  gap:12px!important;
}
.phone-brand img,
.phone-brand-pin{
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
}
.featured{
  margin-top:18px!important;
  border-radius:28px!important;
  padding:28px 26px!important;
}
.featured small{
  display:block!important;
  margin-bottom:10px!important;
}
.featured h3{
  margin:0 0 10px!important;
  line-height:1.06!important;
}
.featured p{
  margin:0!important;
  line-height:1.42!important;
}
.mini-card{
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr) auto!important;
  gap:9px!important;
  align-items:center!important;
  padding:16px 18px!important;
  border-radius:22px!important;
  margin-top:14px!important;
  box-shadow:none!important;
}
.mini-avatar-photo{
  width:60px!important;
  height:60px!important;
  border-radius:18px!important;
  background-size:cover!important;
  background-position:center!important;
  border:1px solid #D6E1EE!important;
}
.mini-card strong{
  display:block!important;
  color:#17304E!important;
  font-size:1.05rem!important;
  line-height:1.1!important;
}
.mini-card small{
  display:block!important;
  margin-top:4px!important;
  color:#667A90!important;
  font-size:.95rem!important;
  line-height:1.25!important;
}
.rating{
  padding:10px 14px!important;
  border-radius:16px!important;
  font-size:1rem!important;
  white-space:nowrap!important;
}

/* Busca de instrutores */
#instrutores{
  background:transparent!important;
}

/* Linha colorida dos cards vai para baixo, mais elegante */
#instrutores .provider-card::before{
  display:none!important;
}
#instrutores .provider-card::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:4px!important;
  border-radius:0 0 24px 24px!important;
  background:var(--primary)!important;
}
#instrutores .provider-card:nth-child(2n)::after{
  background:var(--accent)!important;
}
#instrutores .provider-head{
  margin-top:2px!important;
}
#instrutores .provider-title h3{
  line-height:1.08!important;
}
#instrutores .verified{
  margin-top:2px!important;
}
#instrutores .info-box strong{
  line-height:1.18!important;
}

/* Card “Como funciona” com texto mais organizado */
#como-funciona{
  background:transparent!important;
}
#como-funciona .steps{
  margin-top:10px!important;
  align-items:stretch!important;
}
#como-funciona .steps article{
  padding:28px 34px 30px!important;
  border-radius:24px!important;
  background:#FFFFFF!important;
}
#como-funciona .steps article:nth-child(odd){
  border-top:none!important;
  border-bottom:4px solid var(--primary)!important;
}
#como-funciona .steps article:nth-child(even){
  border-top:none!important;
  border-bottom:4px solid var(--accent)!important;
}
#como-funciona .steps article span{
  display:block!important;
  margin-bottom:28px!important;
  line-height:1!important;
}
#como-funciona .steps h3{
  margin:0 0 14px!important;
  font-size:1.3rem!important;
  line-height:1.08!important;
}
#como-funciona .steps p{
  margin:0!important;
  max-width:23ch!important;
  color:#667A90!important;
  line-height:1.52!important;
}

/* Ajustes responsivos do mockup */
@media(max-width:980px){
  .visual-badge{
    position:static!important;
    display:inline-flex!important;
    margin:0 0 18px auto!important;
  }
  .phone{
    margin-top:0!important;
  }
}

@media(max-width:620px){
  .visual-card{
    padding:22px!important;
  }
  .phone{
    border-width:10px!important;
    border-radius:36px!important;
  }
  .mini-card{
    grid-template-columns:52px minmax(0,1fr) auto!important;
    gap:12px!important;
    padding:14px 14px!important;
  }
  .mini-avatar-photo{
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
  }
  #como-funciona .steps article{
    padding:24px 22px 24px!important;
  }
}


/* Ajuste apenas da home */
.home-page{
  background:#EDF3F9 !important;
}

/* Ícone oficial do WhatsApp */
.floating-support-button{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  width:56px !important;
  height:56px !important;
  padding:0 !important;
  justify-content:center !important;
  border-radius:50% !important;
}
.floating-support-text{
  display:none !important;
}
.floating-support-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:56px !important;
  height:56px !important;
  font-size:0 !important;
}
.floating-support-icon svg{
  width:56px !important;
  height:56px !important;
  display:block !important;
}


/* Calendário do instrutor: mês mais claro e botão de retorno discreto */
.booking-calendar-month-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 10px;
}
.booking-calendar-month-row strong{
  font-size:1.18rem;
  line-height:1.1;
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.02em;
}
.booking-calendar-current-button{
  min-height:34px;
  padding:8px 12px;
  border-radius:10px;
  opacity:.78;
}
.booking-calendar-current-button:hover{
  opacity:1;
}
.booking-calendar-navigation{
  display:grid!important;
  grid-template-columns:42px 1fr 42px!important;
  gap:12px!important;
  align-items:center!important;
  text-align:center!important;
  margin-bottom:10px;
}
.booking-calendar-navigation>div{
  display:grid;
  gap:3px;
}
.booking-calendar-navigation small{
  font-size:.84rem;
  color:var(--muted);
}
.booking-calendar-quick-actions{
  display:none!important;
}

#instructor-schedule .booking-calendar-month-row{
  margin:6px 0 8px!important;
}
#instructor-schedule .booking-calendar-month-row strong{
  font-size:1.05rem!important;
}
#instructor-schedule .booking-calendar-current-button{
  min-height:30px!important;
  padding:6px 10px!important;
  font-size:.72rem!important;
}
#instructor-schedule .booking-calendar-navigation{
  grid-template-columns:36px 1fr 36px!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
@media (max-width: 720px){
  .booking-calendar-month-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .booking-calendar-current-button{
    align-self:flex-start;
  }
}


/* Página de estudos: manter o mesmo padrão de fundo das demais áreas */
.studies-page-main{
  background:var(--bg)!important;
}
.studies-page-main::before,
.studies-page-main::after,
.studies-page-main .study-library::before,
.studies-page-main .study-library::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.studies-page-main .study-library{
  background:var(--bg)!important;
  color:var(--ink)!important;
  overflow:visible!important;
}
.studies-page-main .study-library .kicker{
  color:#E89400!important;
  background:transparent!important;
  border:0!important;
}


/* Ajuste fino de posicionamento do botão flutuante do WhatsApp */
.floating-support-button{
  right:28px !important;
  bottom:28px !important;
}
@media(max-width:680px){
  .floating-support-button{
    right:22px !important;
    bottom:22px !important;
  }
}


/* Financeiro do instrutor */
.instructor-finance-grid{
  align-items:stretch;
}
.finance-export-actions{
  margin:0!important;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.finance-filter-bar{
  grid-template-columns:minmax(260px,1fr) 160px 160px 160px auto!important;
}
.finance-chart{
  position:relative;
  min-height:260px;
  padding:18px 12px 0 56px;
}
.finance-chart-grid{
  position:absolute;
  inset:18px auto 30px 0;
  width:48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--muted);
  font-size:.66rem;
  text-align:right;
}
.finance-chart-bars{
  height:210px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  align-items:end;
  gap:14px;
  border-left:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(to top,transparent 0 69px,#EDF2F7 70px);
  padding:0 16px;
}
.finance-chart-bars>div{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
}
.finance-chart-bars span{
  display:block;
  width:min(38px,70%);
  min-height:10px;
  border-radius:8px 8px 2px 2px;
  background:linear-gradient(180deg,var(--primary),#72A6E9);
}
.finance-chart-bars small{
  color:var(--muted);
  font-size:.68rem;
}
.finance-donut-wrap{
  min-height:260px;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:24px;
  align-items:center;
}
.finance-donut{
  width:176px;
  height:176px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--primary) 0 72%,var(--accent) 72% 87%,#AFC4DD 87% 100%);
}
.finance-donut::before{
  content:"";
  position:absolute;
  width:112px;
  height:112px;
  border-radius:50%;
  background:#fff;
}
.finance-donut{
  position:relative;
}
.finance-donut>div{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
}
.finance-donut strong{
  font-size:1.15rem;
}
.finance-donut small{
  color:var(--muted);
}
.finance-legend{
  display:grid;
  gap:14px;
}
.finance-legend>span{
  display:grid;
  grid-template-columns:12px 1fr auto;
  gap:8px;
  align-items:center;
}
.finance-dot{
  width:10px;
  height:10px;
  border-radius:50%;
}
.finance-dot.paid{background:var(--primary)}
.finance-dot.pending{background:var(--accent)}
.finance-dot.scheduled{background:#AFC4DD}

.instructor-students-filter{
  grid-template-columns:minmax(280px,1fr) 170px 190px auto!important;
}
.student-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.student-certificates-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.student-certificate-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.student-certificate-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.student-certificate-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#EAF2FC;
  color:var(--primary);
  font-weight:950;
}
.student-certificate-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--muted);
  font-size:.78rem;
}
.student-certificate-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.certificate-preview{
  padding:34px;
  border:8px double #0D5DB8;
  border-radius:14px;
  text-align:center;
  background:#fff;
}
.certificate-preview img{
  width:170px;
  max-height:80px;
  object-fit:contain;
}
.certificate-preview h2{
  margin:22px 0 10px!important;
}
.certificate-preview .certificate-student-name{
  display:block;
  margin:22px 0 8px;
  font-size:1.8rem;
  color:var(--primary-dark);
}
.certificate-signature{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:38px;
}
.certificate-signature div{
  border-top:1px solid #7A8A9B;
  padding-top:8px;
  color:var(--muted);
  font-size:.78rem;
}

@media(max-width:1050px){
  .finance-filter-bar,
  .instructor-students-filter{
    grid-template-columns:1fr 1fr!important;
  }
  .finance-donut-wrap{
    grid-template-columns:1fr;
    justify-items:center;
  }
}
@media(max-width:700px){
  .student-certificates-grid{
    grid-template-columns:1fr;
  }
  .finance-filter-bar,
  .instructor-students-filter{
    grid-template-columns:1fr!important;
  }
  .finance-export-actions{
    justify-content:flex-start;
  }
}


/* Relatórios por período */
.report-period-panel{
  display:grid;
  grid-template-columns:170px 160px 160px minmax(210px,1fr) auto;
  gap:12px;
  align-items:end;
}
.report-period-panel .dashboard-form-group{
  margin:0;
}
.report-line-chart{
  min-height:250px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  align-items:end;
  padding:22px 18px 0;
  border-left:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(to top,transparent 0 69px,#EDF2F7 70px);
}
.report-line-chart>div{
  height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
}
.report-line-chart span{
  display:block;
  width:min(42px,72%);
  min-height:10px;
  border-radius:9px 9px 2px 2px;
  background:linear-gradient(180deg,var(--primary),#7EAFE5);
}
.partner-report-chart{
  grid-template-columns:repeat(5,1fr);
}
.partner-report-chart span{
  background:linear-gradient(180deg,var(--accent),#F7C662);
}
.report-line-chart small{
  color:var(--muted);
  font-size:.72rem;
}
.report-export-list{
  display:grid;
  gap:10px;
}
.report-export-list .btn{
  width:100%;
  min-height:46px;
}

/* Toda coluna ordenável mantém a seta alinhada */
.dashboard-table th .table-sort-button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.dashboard-table th .sort-arrow{
  flex:0 0 auto;
}

@media(max-width:1100px){
  .report-period-panel{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .report-period-panel{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   AJUSTES — CABEÇALHO, AGENDA MENSAL E GRÁFICO ADMIN
   ========================================================= */

/* Reduz o espaço entre o cabeçalho e o conteúdo das áreas privadas */
.dashboard-main{
  padding-top:16px!important;
}
.dashboard-topbar{
  min-height:0!important;
  height:auto!important;
  margin-bottom:12px!important;
  padding:0!important;
}
.dashboard-topbar h1{
  line-height:1.05!important;
}
.dashboard-topbar p{
  margin-top:3px!important;
}
#instructor-schedule.active{
  margin-top:0!important;
}

/* Configuração recorrente da disponibilidade */
.schedule-repeat-panel{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(170px,.8fr) auto auto;
  gap:10px;
  align-items:end;
  margin:0 0 10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#F7FAFE;
}
.schedule-repeat-panel .dashboard-form-group{
  margin:0!important;
}
.schedule-repeat-panel select,
.schedule-repeat-panel input{
  min-height:36px!important;
  height:36px!important;
  padding:5px 9px!important;
  border-radius:8px!important;
  font-size:.78rem!important;
}
.schedule-repeat-panel .btn{
  min-height:36px!important;
  height:36px!important;
  padding:7px 12px!important;
  white-space:nowrap;
}
.schedule-repeat-status{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 9px;
  color:var(--muted);
  font-size:.74rem;
}
.schedule-repeat-status small{
  line-height:1.35;
}

/* Gráfico administrativo com valores e escala */
.admin-revenue-chart{
  min-height:280px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  padding-top:8px;
}
.admin-chart-y-axis{
  height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  padding-bottom:27px;
  color:var(--muted);
  font-size:.66rem;
}
.admin-chart-plot{
  height:230px;
  display:grid;
  grid-template-columns:repeat(6,minmax(54px,1fr));
  align-items:end;
  gap:12px;
  padding:0 14px;
  border-left:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    repeating-linear-gradient(
      to top,
      transparent 0,
      transparent 49px,
      #E7EDF5 50px
    );
}
.admin-chart-column{
  height:100%;
  display:grid;
  grid-template-rows:24px 1fr 26px;
  align-items:end;
  justify-items:center;
}
.admin-chart-column strong{
  align-self:end;
  margin-bottom:5px;
  color:#456078;
  font-size:.65rem;
  white-space:nowrap;
}
.admin-chart-column span{
  width:min(44px,75%);
  min-height:8px;
  border-radius:8px 8px 2px 2px;
  background:linear-gradient(180deg,#75A8E1,var(--primary));
}
.admin-chart-column.is-current span{
  background:linear-gradient(180deg,#F8C45D,var(--accent));
}
.admin-chart-column small{
  align-self:center;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
}

@media(max-width:1050px){
  .schedule-repeat-panel{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .schedule-repeat-panel{
    grid-template-columns:1fr;
  }
  .schedule-repeat-status{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-revenue-chart{
    grid-template-columns:54px minmax(520px,1fr);
    overflow-x:auto;
  }
}


/* ===== Revisão geral: entrevistas, moderação e fluxos ===== */
.admin-interview-layout{align-items:start}
.admin-interview-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;text-align:center;margin:10px 0}
.admin-interview-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.admin-interview-calendar>span,.student-booking-calendar>span{font-size:.62rem;font-weight:900;color:var(--muted);text-align:center}
.admin-interview-calendar button,.admin-interview-calendar i,.student-booking-calendar button,.student-booking-calendar i{min-height:48px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-style:normal}
.admin-interview-calendar i,.student-booking-calendar i{visibility:hidden}
.admin-interview-calendar button small{display:block;font-size:.56rem;color:var(--muted)}
.admin-interview-calendar button.has-slots{background:#EEF5FF;border-color:#B9D2EE;color:var(--primary)}
.admin-interview-calendar button.selected{background:var(--primary);color:#fff}
.admin-interview-calendar button.selected small{color:#fff}
.admin-interview-filter{grid-template-columns:minmax(320px,1fr) 190px 190px auto!important}
.interview-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:260px}
#adminInterviewTable{min-width:1180px}
#adminInterviewTable td,#adminInterviewTable th{white-space:normal!important}
#adminInterviewTable td:last-child{min-width:280px}
#adminInterviewTable small{display:block;color:var(--muted);margin-top:3px}

.moderation-filter{grid-template-columns:minmax(280px,1fr) 150px 160px 160px auto!important}
.moderation-cases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.moderation-case{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.moderation-case-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.moderation-case h3,.moderation-case p{margin:0}
.moderation-case p{color:var(--muted);line-height:1.55}
.moderation-meta,.moderation-attachments,.moderation-actions{display:flex;flex-wrap:wrap;gap:8px}
.moderation-meta span{padding:7px 9px;border-radius:9px;background:#F4F7FB;color:#526A82;font-size:.72rem}
.moderation-attachments button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;color:var(--primary);font-weight:800;cursor:pointer}

.online-indicator{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#B8C2CF}
.online-indicator.online{background:#31B56A;box-shadow:0 0 0 4px rgba(49,181,106,.13)}
.approval-ranking{display:grid;gap:10px}
.approval-ranking>div{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px}
.approval-ranking>div>strong{font-size:1.15rem;color:var(--primary)}
.approval-ranking small{display:block;color:var(--muted);margin-top:3px}

.student-linked-instructors{display:grid;gap:12px}
.student-linked-instructor{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}
.student-linked-instructor .provider-photo{width:64px;height:64px;border-radius:17px;background-size:cover;background-position:center}
.student-linked-instructor span,.student-linked-instructor small{display:block;color:var(--muted);margin-top:3px}
.student-instructor-actions{display:flex;flex-wrap:wrap;gap:7px}
.student-booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.student-booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.student-booking-calendar button{min-height:42px}
.student-booking-calendar button.available{background:#EEF5FF;color:var(--primary);border-color:#B7D0ED}
.student-booking-calendar button.selected{background:var(--primary);color:#fff}
.student-booking-calendar button:disabled{opacity:.35}
.student-booking-form{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#F8FAFD}
.meeting-explanation{padding:11px;border-radius:11px;background:#FFF8E8;border:1px solid #EFD6A2;color:#6D5A31;font-size:.78rem;line-height:1.5}

.privacy-acceptance{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#F8FAFD;margin:12px 0}
.legal-check{display:flex;align-items:flex-start;gap:9px;color:#405A73;font-size:.78rem;line-height:1.45}
.legal-check input{margin-top:3px;flex:0 0 auto}
.legal-check button{border:0;background:none;padding:0;color:var(--primary);font-weight:850;cursor:pointer}
.legal-check.optional{color:var(--muted)}

.public-access-section{background:#EDF3F9}
.public-access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.public-access-grid article{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}
.public-access-grid article>span{font-size:1.35rem;color:var(--primary)}
.public-access-grid h3{margin:12px 0 8px}
.public-access-grid p{margin:0;color:var(--muted);line-height:1.55}

.plan-public-card{display:flex;flex-direction:column}
.plan-public-card ul{flex:1}
.plan-manager-guide{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border:1px solid #CFE0F2;border-radius:14px;background:#F5F9FF;margin-bottom:14px}
.plan-manager-guide>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--primary);color:#fff;font-weight:950}
.plan-manager-guide p{margin:3px 0 0;color:var(--muted);font-size:.82rem}

@media(max-width:1100px){
  .admin-interview-filter,.moderation-filter{grid-template-columns:1fr 1fr!important}
  .student-linked-instructor{grid-template-columns:64px 1fr}
  .student-booking-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .moderation-cases-grid,.public-access-grid{grid-template-columns:1fr}
  .admin-interview-filter,.moderation-filter{grid-template-columns:1fr!important}
  .student-linked-instructor{grid-template-columns:54px 1fr}
  .student-linked-instructor>.status-pill,.student-instructor-actions{grid-column:1/-1}
}


/* Correções solicitadas — agenda, planos, último acesso e portal do aluno */

/* Evita a faixa/sombra causada pelo pseudo-elemento das fotos */
.provider-photo{
  position:relative!important;
}
.student-linked-instructor .provider-photo::after{
  display:none!important;
}

/* Último acesso no padrão visual anterior */
.last-access-cell{
  display:grid;
  grid-template-columns:14px 1fr;
  gap:10px;
  align-items:start;
  min-width:160px;
}
.last-access-cell>i{
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:50%;
  background:#AAB8C9;
  box-shadow:0 0 0 5px #EDF1F6;
}
.last-access-cell.is-online>i{
  background:#43B261;
  box-shadow:0 0 0 5px #E5F5E9;
}
.last-access-cell.is-today>i{
  background:#F5A200;
  box-shadow:0 0 0 5px #FFF1D7;
}
.last-access-cell strong{
  display:block;
  color:var(--ink);
  font-size:.9rem;
  line-height:1.15;
}
.last-access-cell small{
  display:block;
  color:var(--muted);
  margin-top:5px;
  line-height:1.3;
}

/* Agenda de entrevistas dinâmica */
#adminInterviewCalendar{
  min-height:340px;
}
.admin-interview-calendar button{
  cursor:pointer;
}
.admin-interview-calendar button:hover{
  border-color:#9DBDE0;
  background:#F5F9FF;
}
.admin-interview-calendar button.is-past{
  opacity:.42;
}
.admin-interview-calendar button.has-slots{
  position:relative;
}
.admin-interview-calendar button.has-slots::after{
  content:"";
  position:absolute;
  right:7px;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
}
.admin-interview-calendar button.selected{
  background:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#fff!important;
}

/* Criação fácil de planos */
.quick-plan-create{
  margin:0 0 16px;
  padding:16px;
  border:1px solid #CFE0F2;
  border-radius:16px;
  background:#F7FAFE;
}
.quick-plan-create-head{
  margin-bottom:12px;
}
.quick-plan-create-head strong,
.quick-plan-create-head small{
  display:block;
}
.quick-plan-create-head small{
  margin-top:3px;
  color:var(--muted);
}
.quick-plan-grid{
  display:grid;
  grid-template-columns:1.2fr .85fr .7fr .9fr auto auto;
  gap:10px;
  align-items:end;
}
.quick-plan-grid .dashboard-form-group{
  margin:0!important;
}
.quick-plan-active{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:0 4px;
  white-space:nowrap;
  font-size:.76rem;
  color:#476079;
}
.quick-plan-grid .btn{
  min-height:42px;
}

/* Campo de local público */
#studentPublicPlaceGroup{
  transition:.18s ease;
}

/* Portal do aluno sem sombras/faixas escuras */
.student-booking-layout,
.student-booking-form,
#student-instructors .dashboard-card{
  box-shadow:none!important;
}
.dashboard-body::before,
.dashboard-body::after,
.dashboard-main::before,
.dashboard-main::after{
  content:none!important;
  display:none!important;
}

@media(max-width:1150px){
  .quick-plan-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .quick-plan-grid{
    grid-template-columns:1fr;
  }
}


/* Ajustes solicitados — instrutores, aprovações, parceiro e planos */

/* Instrutores com presença e tempo de uso */
#admin-instructors .dashboard-table{
  min-width:1380px;
}
#admin-instructors td{
  vertical-align:middle;
}

/* Estado vazio da agenda */
.interview-empty-state{
  display:grid;
  gap:8px;
  justify-items:start;
}
.interview-empty-state span{
  color:var(--muted);
  line-height:1.45;
}

/* Filtros de aprovação */
.approvals-filter{
  grid-template-columns:minmax(280px,1fr) 170px 170px auto!important;
}
#adminApprovalTable{
  min-width:760px;
}

/* Cadastro de redes do parceiro */
.partner-social-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  grid-column:1/-1;
}

/* Gráfico do parceiro com valores */
.partner-report-value-chart{
  min-height:280px;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:10px;
  padding-top:8px;
}
.partner-chart-y-axis{
  height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  padding-bottom:27px;
  color:var(--muted);
  font-size:.66rem;
}
.partner-chart-plot{
  height:230px;
  display:grid;
  grid-template-columns:repeat(5,minmax(54px,1fr));
  align-items:end;
  gap:14px;
  padding:0 16px;
  border-left:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(to top,transparent 0,transparent 41px,#E7EDF5 42px);
}
.partner-chart-plot>div{
  height:100%;
  display:grid;
  grid-template-rows:24px 1fr 26px;
  align-items:end;
  justify-items:center;
}
.partner-chart-plot strong{
  margin-bottom:5px;
  color:#456078;
  font-size:.7rem;
}
.partner-chart-plot span{
  width:min(44px,72%);
  min-height:8px;
  border-radius:8px 8px 2px 2px;
  background:linear-gradient(180deg,#75A8E1,var(--primary));
}
.partner-chart-plot .is-current span{
  background:linear-gradient(180deg,#F8C45D,var(--accent));
}
.partner-chart-plot small{
  align-self:center;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
}

/* Até três planos por linha, incluindo planos criados */
.pricing-grid,
.student-pricing,
.instructor-pricing{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.student-pricing .pricing-card,
.instructor-pricing .pricing-card{
  width:auto!important;
  max-width:none!important;
}

@media(max-width:980px){
  .pricing-grid,
  .student-pricing,
  .instructor-pricing{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:680px){
  .pricing-grid,
  .student-pricing,
  .instructor-pricing,
  .partner-social-fields{
    grid-template-columns:1fr!important;
  }
  .approvals-filter{
    grid-template-columns:1fr!important;
  }
}


/* Ícones minimalistas para download, compartilhamento e exportação */
.icon-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.icon-action-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);text-decoration:none;font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.icon-action-button:hover{transform:translateY(-1px);border-color:#AFC7E8;box-shadow:0 8px 18px rgba(13,93,184,.08)}
.icon-action-button .icon-action-badge{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.icon-action-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-action-button.type-excel .icon-action-badge{background:#E8F6EC;color:#228B4E}
.icon-action-button.type-pdf .icon-action-badge{background:#FDEBEC;color:#D13F4A}
.icon-action-button.type-email .icon-action-badge{background:#EEF4FB;color:#456C98}
.icon-action-button.type-whatsapp .icon-action-badge{background:#5EDB6D;color:#fff}
.icon-action-button.type-whatsapp svg{stroke:#fff}
.icon-action-text{line-height:1.1}
.report-export-list.icon-action-grid{gap:12px}
.report-export-list.icon-action-grid .icon-action-button{min-height:54px}
.finance-export-actions{gap:10px}
.finance-export-actions .icon-action-button{width:auto;min-width:132px;min-height:40px;padding:9px 12px;border-radius:14px;font-size:.9rem}
.finance-export-actions .icon-action-button .icon-action-badge{width:28px;height:28px;border-radius:10px}
.student-certificate-actions{gap:10px}
.student-certificate-actions .icon-action-button,.certificate-share-actions .icon-action-button{min-width:150px}
@media(max-width:1100px){.icon-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.icon-action-grid{grid-template-columns:1fr;}.finance-export-actions .icon-action-button{width:100%;}}


/* Filtros com nomenclaturas distintas */
.filter-context-labels{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  background:#F6F9FD;
  color:var(--muted);
  font-size:.72rem;
}
.filter-context-labels strong{color:var(--ink)}

/* Entrevistas: chamada evidente */
.interview-open-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
  padding:20px;
  border:1px solid #BFD5EF;
  border-radius:18px;
  background:linear-gradient(135deg,#F7FAFF,#EDF5FF);
}
.interview-open-banner h2{margin:5px 0 7px}
.interview-open-banner p{margin:0;color:var(--muted);line-height:1.5}
.interview-open-banner .btn{flex:0 0 auto}

/* Resultados separados da prova */
.exam-date-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.exam-date-panel{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#F8FAFD;
}
.exam-date-panel .dashboard-form-group:last-child{grid-column:1/-1}
.exam-type-icon{
  position:absolute;
  right:14px;
  top:14px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#E7F1FD;
  color:var(--primary);
  font-weight:950;
}
.exam-type-icon.practical{background:#FFF2D8;color:#B36C00}
.result-answer-card{align-self:start}

/* Organizador de colunas */
.table-column-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:9px;
}
.table-column-toolbar small{color:var(--muted)}
.column-organizer-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.column-organizer-item{
  display:grid;
  grid-template-columns:34px 1fr auto auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.column-organizer-position{
  width:30px;height:30px;display:grid;place-items:center;
  border-radius:9px;background:#EEF4FB;color:var(--primary);font-weight:900;
}
.column-organizer-item strong{font-size:.9rem}
.column-organizer-actions{display:flex;gap:5px}
.column-organizer-actions button{
  width:34px;height:34px;border:1px solid var(--line);border-radius:9px;
  background:#fff;color:var(--ink);font-weight:900;cursor:pointer;
}
.column-organizer-actions button:disabled{opacity:.35;cursor:not-allowed}

@media(max-width:800px){
  .interview-open-banner{align-items:flex-start;flex-direction:column}
  .exam-date-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .exam-date-panel{grid-template-columns:1fr}
  .exam-date-panel .dashboard-form-group:last-child{grid-column:auto}
  .table-column-toolbar{align-items:flex-start;flex-direction:column}
}


/* ===== Ajustes finais: gráficos com valores visíveis ===== */
.bar-chart{
  overflow:visible;
  padding-top:28px;
}
.bar-item{
  grid-template-rows:28px 1fr 22px;
  gap:7px;
}
.bar-value{
  font-size:.78rem;
  font-weight:900;
  color:var(--ink);
  white-space:nowrap;
  letter-spacing:-0.01em;
}

.admin-revenue-chart{
  overflow:visible;
}
.admin-chart-column{
  grid-template-rows:30px 1fr 26px;
}
.admin-chart-column strong{
  margin-bottom:7px;
  color:var(--ink);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:-0.01em;
}

.finance-chart{
  overflow:visible;
  padding-top:24px;
}
.finance-chart-bars>div{
  gap:10px;
}
.finance-chart-bars strong{
  font-size:.76rem;
  line-height:1;
  color:var(--ink);
  font-weight:900;
  white-space:nowrap;
  letter-spacing:-0.01em;
}
.finance-chart-bars small{
  font-size:.72rem;
  font-weight:800;
  color:var(--muted);
}

.partner-report-value-chart{
  overflow:visible;
}
.partner-chart-plot>div{
  grid-template-rows:28px 1fr 22px;
}
.partner-chart-plot strong{
  color:var(--ink);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
  margin-bottom:6px;
}

/* ===== Exportar e compartilhar: ícones minimalistas com mais destaque ===== */
.icon-action-grid{
  gap:14px;
}
.icon-action-button{
  min-height:96px;
  justify-content:center;
  padding:16px;
  border-radius:22px;
  gap:0;
}
.icon-action-button .icon-action-badge{
  width:58px;
  height:58px;
  border-radius:18px;
  box-shadow:none;
}
.icon-action-button svg{
  width:28px;
  height:28px;
}
.icon-action-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.icon-action-button.type-excel .icon-action-badge{background:#E7F6EA;color:#2E8E57}
.icon-action-button.type-pdf .icon-action-badge{background:#FDEBEC;color:#D1484F}
.icon-action-button.type-email .icon-action-badge{background:#EEF4FB;color:#4A6895}

/* Mesmo ícone do WhatsApp usado na home */
.icon-action-button.type-whatsapp .icon-action-badge{
  background:#6AD964;
  position:relative;
}
.icon-action-button.type-whatsapp .icon-action-badge svg{
  display:none!important;
}
.icon-action-button.type-whatsapp .icon-action-badge::before{
  content:"";
  width:28px;
  height:28px;
  display:block;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%236AD964'/%3E%3Cpath fill='%23fff' d='M23.34 8.64A10.06 10.06 0 0 0 16.16 5.7c-5.56 0-10.08 4.52-10.08 10.08 0 1.77.47 3.51 1.35 5.03L6 26.3l5.63-1.47a10.01 10.01 0 0 0 4.53 1.08h.01c5.56 0 10.08-4.52 10.08-10.08 0-2.69-1.05-5.21-2.91-7.19Zm-7.18 15.56h-.01a8.27 8.27 0 0 1-4.21-1.15l-.3-.18-3.34.87.89-3.26-.2-.33a8.28 8.28 0 0 1-1.28-4.38c0-4.57 3.72-8.29 8.3-8.29 2.22 0 4.3.86 5.86 2.43a8.22 8.22 0 0 1 2.41 5.87c0 4.57-3.72 8.29-8.29 8.29Zm4.55-6.2c-.25-.13-1.5-.74-1.73-.82-.23-.08-.4-.12-.57.13-.17.25-.65.82-.8.99-.15.17-.3.19-.56.06-.25-.13-1.08-.4-2.05-1.29-.76-.67-1.27-1.5-1.42-1.75-.15-.25-.01-.38.11-.51.11-.1.25-.26.38-.39.13-.13.17-.23.25-.39.08-.17.04-.31-.02-.44-.06-.13-.57-1.37-.78-1.88-.21-.5-.42-.43-.57-.44h-.49c-.17 0-.44.06-.67.31-.23.25-.88.86-.88 2.09s.91 2.43 1.03 2.59c.13.17 1.79 2.73 4.34 3.83.61.26 1.08.42 1.45.53.61.19 1.17.16 1.61.1.49-.07 1.5-.61 1.71-1.19.21-.58.21-1.08.15-1.19-.06-.11-.23-.17-.48-.29Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.finance-export-actions .icon-action-button,
.student-certificate-actions .icon-action-button,
.certificate-share-actions .icon-action-button{
  min-width:96px;
  min-height:84px;
}

@media(max-width:1100px){
  .icon-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:760px){
  .icon-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .icon-action-button{min-height:88px;}
}


/* ===== Ajuste: organizar colunas arrastando ===== */
.table-column-toolbar small{
  max-width:340px;
}
.column-organizer-list{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 8px;
  margin-top:14px;
  scroll-snap-type:x proximity;
}
.column-organizer-item{
  min-width:200px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  cursor:grab;
  user-select:none;
  box-shadow:0 4px 14px rgba(15,31,57,.04);
  scroll-snap-align:start;
}
.column-organizer-item:active{cursor:grabbing}
.column-organizer-item.is-dragging{
  opacity:.55;
  transform:scale(.98);
}
.column-organizer-item.is-over{
  border-color:var(--primary);
  box-shadow:0 0 0 2px rgba(13,93,184,.12);
}
.column-organizer-position{
  width:34px;
  height:34px;
  flex:0 0 auto;
  border-radius:11px;
  background:#EEF4FB;
  color:var(--primary);
  font-weight:900;
  display:grid;
  place-items:center;
}
.column-organizer-content{
  display:flex;
  align-items:center;
  gap:10px;
}
.column-organizer-grip{
  color:var(--muted);
  letter-spacing:-2px;
  font-weight:900;
  font-size:1rem;
}
.column-organizer-item strong{
  font-size:.95rem;
  white-space:nowrap;
}
.column-organizer-actions{
  display:none !important;
}
@media(max-width:760px){
  .column-organizer-item{
    min-width:170px;
  }
}

/* ===== Ajuste: exportar e compartilhar em coluna com ícones apenas ===== */
.icon-action-grid,
.report-export-list.icon-action-grid,
.finance-export-actions.icon-action-grid,
.student-certificate-actions.icon-action-grid,
.certificate-share-actions.icon-action-grid{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.icon-action-button{
  width:auto;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
.icon-action-button:hover{
  transform:none !important;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.icon-action-button .icon-action-badge{
  width:60px !important;
  height:60px !important;
  border-radius:18px !important;
  box-shadow:none !important;
}
.icon-action-button svg{
  width:28px !important;
  height:28px !important;
}
.icon-action-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}


/* ===== Cadastro do parceiro mais compacto e sem corte ===== */
.partner-signup-page{
  min-height:100vh;
  overflow:auto!important;
}
.partner-signup-shell{
  min-height:100vh!important;
  height:auto!important;
  align-items:stretch!important;
}
.partner-signup-form{
  padding:34px 42px 28px!important;
  overflow:visible!important;
}
.partner-signup-form .dashboard-form-grid{
  gap:8px 12px!important;
}
.partner-signup-form .dashboard-form-group{
  gap:3px!important;
}
.partner-signup-form .dashboard-form-group label{
  margin:0!important;
  font-size:.7rem!important;
}
.partner-signup-form input,
.partner-signup-form select{
  min-height:36px!important;
  height:36px!important;
  padding:6px 9px!important;
}
.partner-signup-form textarea{
  min-height:58px!important;
  padding:7px 9px!important;
}
.partner-social-fields{
  gap:8px 12px!important;
}
.partner-signup-form .privacy-acceptance{
  padding:10px!important;
  gap:6px!important;
  margin:6px 0!important;
}
.partner-signup-form .legal-check,
.partner-signup-form .terms-check{
  font-size:.7rem!important;
  line-height:1.3!important;
}
.partner-signup-form .dashboard-action-row{
  margin-top:0!important;
}
.partner-signup-form .btn-large{
  min-height:42px!important;
}
@media(max-width:900px){
  .partner-signup-form{padding:74px 22px 28px!important}
}

/* ===== Área Minha prova sem sobreposição ===== */
.exam-date-panel{
  position:relative!important;
  grid-template-columns:1fr 1fr!important;
  padding:14px!important;
  padding-top:14px!important;
  align-content:start!important;
  overflow:visible!important;
}
.exam-panel-title{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:2px;
}
.exam-type-icon{
  position:static!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 auto;
}
.exam-date-panel .dashboard-form-group{
  min-width:0;
}
.exam-date-panel label,
.result-answer-card label{
  position:static!important;
  display:block!important;
}
.exam-date-panel input,
.result-answer-card input,
.result-answer-card select,
.result-answer-card textarea{
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.result-answer-card{
  overflow:visible!important;
}
.result-answer-card .dashboard-card-head{
  align-items:flex-start!important;
}
@media(max-width:760px){
  .exam-date-panel{grid-template-columns:1fr!important}
}

/* ===== Política e criação de cupons ===== */
.partner-coupon-policy-card{
  border-color:#C9DCF1!important;
  background:#F8FBFF!important;
}
.coupon-policy-flow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.coupon-policy-flow>div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.coupon-policy-flow>div>span{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:9px;background:#EAF2FC;color:var(--primary);font-weight:950;
  margin-bottom:10px;
}
.coupon-policy-flow strong,
.coupon-policy-flow small{display:block}
.coupon-policy-flow small{margin-top:4px;color:var(--muted);line-height:1.4}

.partner-discount-card{
  grid-column:1/-1;
  margin-top:14px;
}
.coupon-rule-summary,
.coupon-calculation{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:14px;
}
.coupon-rule-summary>div,
.coupon-calculation>div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#F8FAFD;
}
.coupon-rule-summary span,
.coupon-calculation span,
.coupon-rule-summary strong,
.coupon-calculation strong{display:block}
.coupon-rule-summary span,
.coupon-calculation span{font-size:.68rem;color:var(--muted)}
.coupon-rule-summary strong,
.coupon-calculation strong{margin-top:4px;color:var(--ink)}
.coupon-calculation .is-total{
  background:#EAF4FF;
  border-color:#BBD4EF;
}
.coupon-calculation .is-total strong{color:var(--primary)}
.coupon-calculation small{font-size:.7rem;color:var(--muted)}
.coupon-validation-message{
  font-size:.76rem;
  font-weight:800;
}
.coupon-validation-message.is-valid{color:#31834A}
.coupon-validation-message.is-invalid{color:#B24848}
.coupon-policy-note{margin-bottom:12px}
@media(max-width:1000px){
  .coupon-policy-flow,
  .coupon-rule-summary,
  .coupon-calculation{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .coupon-policy-flow,
  .coupon-rule-summary,
  .coupon-calculation{grid-template-columns:1fr}
}


/* ===== Ajustes: relatório administrativo e exportação ===== */
#admin-reports .dashboard-grid-equal{
  grid-template-columns:minmax(0,1.9fr) 280px;
  align-items:start;
}
#admin-reports .dashboard-grid-equal > .dashboard-card:first-child{
  min-height:0;
}
#admin-reports .dashboard-grid-equal > .dashboard-card:last-child{
  align-self:start;
  height:auto;
}
#admin-reports .admin-revenue-chart{
  gap:18px;
}
#admin-reports .admin-chart-plot{
  min-height:360px;
}
#admin-reports .report-export-list.icon-action-grid{
  width:max-content;
  display:flex !important;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
}
#admin-reports .icon-action-button .icon-action-badge{
  width:72px !important;
  height:72px !important;
  border-radius:22px !important;
}
#admin-reports .dashboard-card:last-child{
  padding-bottom:28px;
}
@media(max-width:1100px){
  #admin-reports .dashboard-grid-equal{grid-template-columns:1fr;}
  #admin-reports .report-export-list.icon-action-grid{flex-direction:row; flex-wrap:wrap; width:auto;}
}

/* ===== Ícones de Excel e PDF mais corretos ===== */
.icon-action-button.type-excel .icon-action-badge,
.icon-action-button.type-pdf .icon-action-badge{
  position:relative;
}
.icon-action-button.type-excel .icon-action-badge svg,
.icon-action-button.type-pdf .icon-action-badge svg{
  display:none !important;
}
.icon-action-button.type-excel .icon-action-badge::before,
.icon-action-button.type-pdf .icon-action-badge::before{
  content:"";
  width:34px;
  height:34px;
  display:block;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.icon-action-button.type-excel .icon-action-badge::before{
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M18 6h20l14 14v38a4 4 0 0 1-4 4H18a6 6 0 0 1-6-6V12a6 6 0 0 1 6-6Z' fill='none' stroke='%23328A57' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M38 6v16h16' fill='none' stroke='%23328A57' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='m23 26 8 12m0-12-8 12' fill='none' stroke='%23328A57' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M37 43V25h10' fill='none' stroke='%23328A57' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M37 34h8' fill='none' stroke='%23328A57' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
.icon-action-button.type-pdf .icon-action-badge::before{
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M18 6h20l14 14v38a4 4 0 0 1-4 4H18a6 6 0 0 1-6-6V12a6 6 0 0 1 6-6Z' fill='none' stroke='%23D1484F' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M38 6v16h16' fill='none' stroke='%23D1484F' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M23 43V25h7a5 5 0 0 1 0 10h-7' fill='none' stroke='%23D1484F' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M38 43V25h4.5a7.5 7.5 0 0 1 0 15H38' fill='none' stroke='%23D1484F' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M23 34h6' fill='none' stroke='%23D1484F' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ===== Arrastar colunas direto no cabeçalho ===== */
.table-column-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.table-column-toolbar small{
  max-width:none;
}
.table-column-actions{
  display:flex;
  gap:8px;
  align-items:center;
  margin-left:auto;
}
[data-organize-table]{display:none !important;}
.dashboard-table thead th{
  position:relative;
  cursor:grab;
  user-select:none;
}
.dashboard-table thead th:active{cursor:grabbing;}
.dashboard-table thead th.is-column-dragging{
  opacity:.45;
}
.dashboard-table thead th.is-column-target{
  box-shadow:inset -3px 0 0 var(--primary);
}
.dashboard-table thead th::after{
  content:'↔';
  margin-left:8px;
  color:#8AA0B9;
  font-size:.85rem;
  opacity:.85;
}
.dashboard-table thead th [data-sort-column]::after{
  content:none !important;
}
.dashboard-table thead th[data-hidden='true']{
  opacity:.45;
}
.column-visibility-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.column-visibility-item{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
}
.column-visibility-item input{accent-color:var(--primary);}
@media(max-width:800px){
  .table-column-toolbar{align-items:flex-start;}
  .table-column-actions{width:100%; margin-left:0;}
  .column-visibility-list{grid-template-columns:1fr;}
}

/* ===== Mais respiro no ranking ===== */
.approval-ranking-note{
  margin-top:22px;
}


/* ===== Ajustes solicitados: formulários, colunas e ícones ===== */
.modal-box{
  overflow:auto !important;
}
.partner-admin-form{
  gap:10px 14px !important;
}
.partner-admin-form .dashboard-form-group{
  align-content:start;
}
.partner-admin-form .partner-toggle-row{
  margin-top:-2px;
}
.partner-admin-form .partner-toggle-row .legal-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#405A73 !important;
  font-size:.86rem !important;
  line-height:1.35 !important;
  margin:0 !important;
}
.partner-admin-form .partner-toggle-row .legal-check input{
  margin:0 !important;
  width:18px;
  height:18px;
  accent-color:var(--primary);
}
.partner-admin-form .dashboard-action-row{
  margin-top:4px !important;
}

.result-consent-row .legal-check{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  font-size:.94rem !important;
  line-height:1.4 !important;
}
.result-consent-row .legal-check input{
  margin:0 !important;
  width:20px;
  height:20px;
  accent-color:var(--primary);
  flex:0 0 auto;
}
.result-consent-row .legal-check span{
  display:block;
}

.partner-signup-form{
  padding-bottom:34px !important;
}
.partner-signup-form .partner-acceptance-grid{
  grid-column:1 / -1;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 22px !important;
  width:100%;
  padding:14px 18px !important;
  margin-top:6px !important;
}
.partner-signup-form .partner-acceptance-grid .legal-check{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:0 !important;
}
.partner-signup-form .partner-acceptance-grid .legal-check input{
  margin-top:3px !important;
  flex:0 0 auto;
}
.partner-signup-form .partner-signup-actions{
  justify-content:center !important;
  margin-top:10px !important;
}
.partner-signup-form .partner-signup-submit{
  width:min(100%,420px) !important;
  min-height:48px !important;
}
@media(max-width:900px){
  .partner-signup-form .partner-acceptance-grid{
    grid-template-columns:1fr !important;
  }
}

/* Cabeçalhos arrastáveis sem setas visuais */
.dashboard-table thead th::after{
  content:none !important;
  display:none !important;
}

/* Exportação: usar ícones corretos de Excel e PDF */
.icon-action-button.type-excel .icon-action-badge,
.icon-action-button.type-pdf .icon-action-badge{
  background:transparent !important;
  border-radius:0 !important;
  width:52px !important;
  height:52px !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
}
.icon-action-button.type-excel .icon-action-badge svg,
.icon-action-button.type-pdf .icon-action-badge svg{
  display:none !important;
}
.icon-action-button.type-excel .icon-action-badge::before,
.icon-action-button.type-pdf .icon-action-badge::before{
  content:none !important;
}
.icon-action-button.type-excel .icon-action-badge{
  background-image:url('assets/icon-excel.png') !important;
}
.icon-action-button.type-pdf .icon-action-badge{
  background-image:url('assets/icon-pdf.png') !important;
}


/* ===== Ajustes finais: admin, aluno e ícones ===== */
.dashboard-grid-equal{align-items:start;}
.dashboard-main{padding:20px;}
.dashboard-card{padding:16px;}
.dashboard-card-head{margin-bottom:12px;}
.dashboard-list{gap:10px;}
.dashboard-list-item{padding:12px 14px;}

#admin-overview .dashboard-grid-equal .dashboard-card-head{min-height:42px;align-items:flex-start;}
#admin-overview .dashboard-grid-equal .dashboard-card{height:100%;}
#admin-reports .dashboard-grid-equal{grid-template-columns:minmax(0,2.2fr) 112px;align-items:start;}
#admin-reports .report-export-list.icon-action-grid{width:100%;align-items:center;gap:14px;}
#admin-reports .admin-chart-plot{min-height:390px;}
#admin-reports .dashboard-card:last-child{padding-inline:14px;}

/* Exportação minimalista com ícones consistentes */
.icon-action-grid,.report-export-list.icon-action-grid,.finance-export-actions.icon-action-grid,.student-certificate-actions.icon-action-grid,.certificate-share-actions.icon-action-grid{display:flex!important;flex-direction:column;align-items:flex-start;gap:14px;}
.icon-action-button{width:auto;min-width:0!important;min-height:0!important;padding:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;position:relative;display:inline-flex!important;align-items:center;justify-content:flex-start!important;}
.icon-action-button:hover{transform:none!important;background:transparent!important;border:none!important;box-shadow:none!important;}
.icon-action-button .icon-action-badge{width:64px!important;height:64px!important;border-radius:18px!important;display:grid!important;place-items:center!important;position:relative;overflow:hidden;}
.icon-action-button .icon-action-badge svg{display:none!important;}
.icon-action-button .icon-action-badge::before{content:"";display:block;width:36px;height:36px;background-position:center;background-repeat:no-repeat;background-size:contain;}
.icon-action-button.type-excel .icon-action-badge{background:#1F7D45!important;}
.icon-action-button.type-pdf .icon-action-badge{background:#D34545!important;}
.icon-action-button.type-email .icon-action-badge{background:#EEF4FB!important;}
.icon-action-button.type-whatsapp .icon-action-badge{background:#6AD964!important;}
.icon-action-button.type-excel .icon-action-badge::before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23fff' d='M27 5H12a3 3 0 0 0-3 3v32a3 3 0 0 0 3 3h24a3 3 0 0 0 3-3V17L27 5zm0 3.5L35.5 17H27V8.5z'/%3E%3Cpath fill='%231F7D45' d='M29 5v10a2 2 0 0 0 2 2h8' opacity='.22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' d='M15.5 17.5l10 13m0-13l-10 13'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' d='M30.5 18v12m0-12h4.8m-4.8 6h4'/%3E%3C/svg%3E");}
.icon-action-button.type-pdf .icon-action-badge::before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23fff' d='M27 5H12a3 3 0 0 0-3 3v32a3 3 0 0 0 3 3h24a3 3 0 0 0 3-3V17L27 5zm0 3.5L35.5 17H27V8.5z'/%3E%3Crect x='11.5' y='20.5' width='25' height='12' rx='3' fill='%23D34545'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' d='M15.5 29V24h3.2a2.2 2.2 0 1 1 0 4.4h-3.2zm9.5 0v-5h2.5a2.5 2.5 0 0 1 0 5H25zm8 0v-5h3.5'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' d='M33 26.6h2.7'/%3E%3C/svg%3E");}
.icon-action-button.type-email .icon-action-badge::before{width:38px;height:38px;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='7' y='11' width='34' height='26' rx='5' fill='none' stroke='%234A6895' stroke-width='3'/%3E%3Cpath d='M10 15l14 11 14-11' fill='none' stroke='%234A6895' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.icon-action-button.type-whatsapp .icon-action-badge::before{width:40px;height:40px;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M23.34 8.64A10.06 10.06 0 0 0 16.16 5.7c-5.56 0-10.08 4.52-10.08 10.08 0 1.77.47 3.51 1.35 5.03L6 26.3l5.63-1.47a10.01 10.01 0 0 0 4.53 1.08h.01c5.56 0 10.08-4.52 10.08-10.08 0-2.69-1.05-5.21-2.91-7.19Zm-7.18 15.56h-.01a8.27 8.27 0 0 1-4.21-1.15l-.3-.18-3.34.87.89-3.26-.2-.33a8.28 8.28 0 0 1-1.28-4.38c0-4.57 3.72-8.29 8.3-8.29 2.22 0 4.3.86 5.86 2.43a8.22 8.22 0 0 1 2.41 5.87c0 4.57-3.72 8.29-8.29 8.29Zm4.55-6.2c-.25-.13-1.5-.74-1.73-.82-.23-.08-.4-.12-.57.13-.17.25-.65.82-.8.99-.15.17-.3.19-.56.06-.25-.13-1.08-.4-2.05-1.29-.76-.67-1.27-1.5-1.42-1.75-.15-.25-.01-.38.11-.51.11-.1.25-.26.38-.39.13-.13.17-.23.25-.39.08-.17.04-.31-.02-.44-.06-.13-.57-1.37-.78-1.88-.21-.5-.42-.43-.57-.44h-.49c-.17 0-.44.06-.67.31-.23.25-.88.86-.88 2.09s.91 2.43 1.03 2.59c.13.17 1.79 2.73 4.34 3.83.61.26 1.08.42 1.45.53.61.19 1.17.16 1.61.1.49-.07 1.5-.61 1.71-1.19.21-.58.21-1.08.15-1.19-.06-.11-.23-.17-.48-.29Z'/%3E%3C/svg%3E");}

/* Botão flutuante do WhatsApp com ícone interno maior */
.floating-support-icon{position:relative!important;width:56px!important;height:56px!important;border-radius:50%!important;background:#6AD964!important;}
.floating-support-icon svg{display:none!important;}
.floating-support-icon::before{content:"";width:40px;height:40px;display:block;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M23.34 8.64A10.06 10.06 0 0 0 16.16 5.7c-5.56 0-10.08 4.52-10.08 10.08 0 1.77.47 3.51 1.35 5.03L6 26.3l5.63-1.47a10.01 10.01 0 0 0 4.53 1.08h.01c5.56 0 10.08-4.52 10.08-10.08 0-2.69-1.05-5.21-2.91-7.19Zm-7.18 15.56h-.01a8.27 8.27 0 0 1-4.21-1.15l-.3-.18-3.34.87.89-3.26-.2-.33a8.28 8.28 0 0 1-1.28-4.38c0-4.57 3.72-8.29 8.3-8.29 2.22 0 4.3.86 5.86 2.43a8.22 8.22 0 0 1 2.41 5.87c0 4.57-3.72 8.29-8.29 8.29Zm4.55-6.2c-.25-.13-1.5-.74-1.73-.82-.23-.08-.4-.12-.57.13-.17.25-.65.82-.8.99-.15.17-.3.19-.56.06-.25-.13-1.08-.4-2.05-1.29-.76-.67-1.27-1.5-1.42-1.75-.15-.25-.01-.38.11-.51.11-.1.25-.26.38-.39.13-.13.17-.23.25-.39.08-.17.04-.31-.02-.44-.06-.13-.57-1.37-.78-1.88-.21-.5-.42-.43-.57-.44h-.49c-.17 0-.44.06-.67.31-.23.25-.88.86-.88 2.09s.91 2.43 1.03 2.59c.13.17 1.79 2.73 4.34 3.83.61.26 1.08.42 1.45.53.61.19 1.17.16 1.61.1.49-.07 1.5-.61 1.71-1.19.21-.58.21-1.08.15-1.19-.06-.11-.23-.17-.48-.29Z'/%3E%3C/svg%3E") center/contain no-repeat;}

/* Provas do aluno mais compactas e sem sobreposição */
#student-exam .dashboard-card{padding:14px!important;}
#student-exam .dashboard-grid-equal{gap:10px!important;margin-top:10px!important;}
#student-exam .dashboard-card-head{margin-bottom:10px!important;}
#student-exam .dashboard-form-grid{gap:8px 10px!important;}
#student-exam .dashboard-form-group{gap:3px!important;}
#student-exam .dashboard-form-group label{font-size:.72rem!important;margin-bottom:2px!important;}
#student-exam input,#student-exam select,#student-exam textarea{min-height:38px!important;padding:8px 10px!important;font-size:.92rem!important;}
#student-exam textarea{min-height:72px!important;}
#student-exam .dashboard-action-row{margin-top:8px!important;}
#student-exam .btn.btn-primary{min-height:42px!important;padding:10px 16px!important;font-size:.94rem!important;}
#student-exam .status-pill{font-size:.66rem!important;padding:4px 8px!important;}
.result-consent-row{display:flex!important;align-items:center!important;}
.result-consent-row .legal-check{display:flex!important;align-items:center!important;gap:10px!important;}
.result-consent-row .legal-check input{margin:0!important;transform:none!important;}
.result-consent-row .legal-check span{line-height:1.25!important;}
.exam-date-panel{gap:8px!important;padding:12px!important;border-radius:14px!important;}
.exam-panel-title{margin-bottom:0!important;}
.exam-type-icon{width:32px!important;height:32px!important;border-radius:10px!important;font-size:0!important;}
.exam-type-icon::before{content:"";display:block;width:18px;height:18px;background-position:center;background-repeat:no-repeat;background-size:contain;}
.exam-type-icon.theory-icon{background:#E7F1FD!important;}
.exam-type-icon.theory-icon::before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='3' fill='none' stroke='%230D5DB8' stroke-width='2.4'/%3E%3Cpath d='m8 12 2.5 2.5L16 9' fill='none' stroke='%230D5DB8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.exam-type-icon.practical{background:#FFF2D8!important;}
.exam-type-icon.practical::before{width:20px;height:20px;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='%23B36C00' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='12' r='2.3' fill='none' stroke='%23B36C00' stroke-width='2.2'/%3E%3Cpath d='M12 9.7v-4M9 12 5.6 9.1M15 12l3.4-2.9' fill='none' stroke='%23B36C00' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");}

/* Formulário parceiro e modal mais compactos */
.partner-admin-form{gap:8px 14px!important;}
.partner-admin-form .dashboard-form-group{gap:3px!important;}
.partner-admin-form label{font-size:.72rem!important;}
.partner-admin-form input,.partner-admin-form select{min-height:38px!important;height:38px!important;padding:8px 10px!important;}
.partner-admin-form .dashboard-action-row{margin-top:2px!important;}
.partner-signup-form .partner-acceptance-grid{padding:12px 16px!important;}
.partner-signup-form .partner-signup-actions{grid-column:1 / -1;justify-content:center!important;margin-top:6px!important;}

@media(max-width:1100px){#admin-reports .dashboard-grid-equal{grid-template-columns:1fr!important;}}


/* ===== Ajustes finais v3 ===== */
/* Login */
.login-signup-box{flex-wrap:wrap;row-gap:6px;}

/* Cad. parceiro sem cortes e com checks alinhados */
.partner-signup-form{height:auto!important;min-height:100vh!important;overflow:auto!important;padding:34px 34px 22px!important;}
.partner-signup-form h2{margin:4px 0 4px!important;}
.partner-signup-form>p{margin:0 0 10px!important;font-size:.95rem!important;}
.partner-signup-form .dashboard-form-grid{gap:8px 12px!important;}
.partner-signup-form input,.partner-signup-form select,.partner-signup-form textarea{min-height:38px!important;padding:8px 10px!important;}
.partner-signup-form textarea{min-height:58px!important;max-height:none!important;}
.partner-signup-form .partner-signup-submit{min-height:42px!important;padding:10px 18px!important;}
.partner-signup-form .partner-acceptance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px!important;padding:10px 14px!important;}
.partner-signup-form .partner-acceptance-grid .legal-check{display:grid!important;grid-template-columns:24px 1fr;align-items:center!important;column-gap:12px;min-height:58px;margin:0!important;}
.partner-signup-form .partner-acceptance-grid .legal-check input{width:22px!important;height:22px!important;margin:0!important;justify-self:center;align-self:center;}
.partner-signup-form .partner-acceptance-grid .legal-check span{display:block;line-height:1.25!important;font-size:.92rem!important;}
.partner-signup-form .partner-signup-actions{justify-content:center!important;margin-top:2px!important;}
@media(max-width:900px){.partner-signup-form .partner-acceptance-grid{grid-template-columns:1fr!important;}}

/* Admin geral mais compacto */
.dashboard-main{padding:16px 18px 22px!important;}
.dashboard-topbar{margin-bottom:12px!important;}
.dashboard-topbar h1{margin-bottom:2px!important;}
.dashboard-topbar p{margin:0!important;}
.dashboard-view.active{gap:12px!important;}
.dashboard-metrics{gap:12px!important;margin-bottom:12px!important;}
.dashboard-metric-card{padding:14px 16px!important;}
.dashboard-card{padding:14px!important;}
.dashboard-card-head{margin-bottom:10px!important;}

/* Admin relatórios sem scroll e mais enxuto */
#admin-reports .dashboard-card:first-child .dashboard-form-grid{gap:8px 10px!important;}
#admin-reports .dashboard-grid-equal{grid-template-columns:minmax(0,1fr) 112px!important;gap:10px!important;align-items:start!important;}
#admin-reports .dashboard-grid-equal>.dashboard-card:first-child{padding:12px 14px!important;}
#admin-reports .dashboard-grid-equal>.dashboard-card:last-child{padding:10px 8px!important;display:flex;flex-direction:column;align-items:center;}
#admin-reports .dashboard-grid-equal>.dashboard-card:last-child .dashboard-card-head{margin-bottom:6px!important;text-align:center;}
#admin-reports .dashboard-grid-equal>.dashboard-card:last-child h2{font-size:.98rem!important;line-height:1.05!important;}
#admin-reports .dashboard-grid-equal>.dashboard-card:last-child small{font-size:.72rem!important;line-height:1.15!important;}
#admin-reports .admin-revenue-chart{min-height:216px!important;gap:10px!important;padding-top:2px!important;}
#admin-reports .admin-chart-y-axis{height:190px!important;padding-bottom:20px!important;}
#admin-reports .admin-chart-plot{height:190px!important;min-height:190px!important;gap:8px!important;padding:0 8px!important;background:repeating-linear-gradient(to top, transparent 0, transparent 37px, #E7EDF5 38px)!important;}
#admin-reports .admin-chart-column{grid-template-rows:20px 1fr 20px!important;}
#admin-reports .admin-chart-column strong{font-size:.62rem!important;margin-bottom:2px!important;}
#admin-reports .admin-chart-column span{width:min(32px,72%)!important;border-radius:8px 8px 0 0!important;}
#admin-reports .admin-chart-column small{font-size:.66rem!important;}
#admin-reports .report-export-list.icon-action-grid{align-items:center!important;gap:10px!important;width:100%!important;}
#admin-reports .icon-action-button .icon-action-badge{width:52px!important;height:52px!important;border-radius:14px!important;}
#admin-reports .icon-action-button .icon-action-badge::before{width:30px!important;height:30px!important;}
#admin-reports .icon-action-button.type-email .icon-action-badge::before{width:34px!important;height:34px!important;}
#admin-reports .icon-action-button.type-whatsapp .icon-action-badge::before{width:34px!important;height:34px!important;}
#admin-reports .dashboard-grid-equal>.dashboard-card:last-child .icon-action-text{display:none!important;}

/* Exportar padrão com ícones anexados pelo cliente */
.icon-action-grid,.report-export-list.icon-action-grid,.finance-export-actions.icon-action-grid,.student-certificate-actions.icon-action-grid,.certificate-share-actions.icon-action-grid{display:flex!important;flex-direction:column;align-items:flex-start;gap:10px!important;}
.icon-action-button{display:inline-flex!important;align-items:center;justify-content:flex-start;gap:0!important;width:auto!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;}
.icon-action-button .icon-action-text{display:none!important;}
.icon-action-button .icon-action-badge{width:52px!important;height:52px!important;border-radius:14px!important;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;overflow:hidden;}
.icon-action-button .icon-action-badge::before,.icon-action-button .icon-action-badge svg{display:none!important;}
.icon-action-button.type-excel .icon-action-badge{background-image:url("assets/icon-excel-user.png")!important;background-color:transparent!important;}
.icon-action-button.type-pdf .icon-action-badge{background-image:url("assets/icon-pdf-user.png")!important;background-color:transparent!important;}
.icon-action-button.type-email .icon-action-badge{background-image:url("assets/icon-email-user.png")!important;background-color:transparent!important;}
.icon-action-button.type-whatsapp .icon-action-badge{background-image:url("assets/icon-whatsapp-user.png")!important;background-color:transparent!important;}

/* Moderação export */
.moderation-report-card{margin-top:12px!important;}
.moderation-report-card .dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.moderation-report-card .report-export-list.icon-action-grid{margin-top:2px;}

/* Tabelas do instrutor com coluna arrastável clara */
.table-column-toolbar{margin:4px 0 8px!important;}
.dashboard-table thead th{cursor:grab;user-select:none;}
.dashboard-table thead th.is-column-dragging{opacity:.55;cursor:grabbing;}
.dashboard-table thead th.is-column-target{box-shadow:inset 0 0 0 2px rgba(13,93,184,.18);background:#F5F9FF;}

/* Minha prova: caixa de consentimento compacta e centralizada */
#student-exam{padding-top:0!important;}
#student-exam .dashboard-card{padding:12px!important;}
#student-exam .dashboard-card-head small{font-size:.82rem!important;line-height:1.25!important;}
#student-exam .exam-date-grid{gap:8px!important;margin-top:4px!important;}
#student-exam .dashboard-action-row{margin-top:6px!important;}
#student-exam .result-answer-card .dashboard-form-grid{gap:8px!important;}
#student-exam .result-answer-card textarea{min-height:64px!important;}
#student-exam .result-consent-row{display:flex!important;justify-content:center!important;align-items:center!important;padding-top:2px!important;}
#student-exam .result-consent-row .legal-check{display:grid!important;grid-template-columns:22px minmax(0,340px);column-gap:10px;align-items:center!important;justify-content:center;margin:0 auto!important;}
#student-exam .result-consent-row .legal-check input{width:22px!important;height:22px!important;margin:0!important;justify-self:center;}
#student-exam .result-consent-row .legal-check span{font-size:.88rem!important;line-height:1.22!important;}
#student-exam .dashboard-topbar p,#student-exam .dashboard-topbar h1{margin:0!important;}

/* Solicitar horário com instrutor mais compacto */
#student-instructors .dashboard-card{padding:12px!important;}
#student-instructors .student-linked-instructors{gap:10px!important;}
#student-instructors .student-linked-instructor{padding:10px 12px!important;}
#student-instructors .student-booking-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:12px!important;align-items:start!important;}
#student-instructors .student-booking-calendar{gap:6px!important;padding:10px!important;}
#student-instructors .student-booking-calendar button,#student-instructors .student-booking-calendar i,#student-instructors .student-booking-calendar span{width:34px!important;height:34px!important;font-size:.84rem!important;}
#student-instructors .student-booking-calendar span{height:auto!important;}
#student-instructors .student-booking-form{gap:8px!important;}
#student-instructors .student-booking-form .dashboard-form-group{gap:3px!important;}
#student-instructors .student-booking-form input,#student-instructors .student-booking-form select{min-height:38px!important;padding:8px 10px!important;}
#student-instructors .meeting-explanation{padding:10px 12px!important;font-size:.84rem!important;line-height:1.25!important;}
#student-instructors .btn.btn-full{min-height:42px!important;}

/* Ajustes extras do topo do aluno */
body.dashboard-body .dashboard-topbar{padding-bottom:0!important;}
body.dashboard-body .dashboard-topbar>div:first-child p{margin-top:2px!important;}

/* Finance export icons inline mais compactos */
.finance-export-actions.icon-action-grid{display:flex!important;flex-direction:row;align-items:center;gap:10px!important;}
.finance-export-actions .icon-action-button .icon-action-badge{width:44px!important;height:44px!important;border-radius:12px!important;}

/* Responsividade */
@media(max-width:1100px){#admin-reports .dashboard-grid-equal{grid-template-columns:1fr!important;}#student-instructors .student-booking-layout{grid-template-columns:1fr!important;}}


/* ===== Ajustes finais v4 ===== */
body.dashboard-body .dashboard-main{overflow-x:hidden;}
body.dashboard-body .dashboard-topbar{margin-bottom:10px!important;}
body.dashboard-body .dashboard-topbar h1{font-size:2rem!important;line-height:1.02!important;}
body.dashboard-body .dashboard-topbar p{font-size:1rem!important;line-height:1.25!important;}

/* Exportação padronizada */
.icon-action-badge.has-image{background:transparent!important;border-radius:16px!important;overflow:hidden!important;box-shadow:none!important;}
.icon-action-badge.has-image::before{display:none!important;content:none!important;}
.icon-action-badge.has-image svg{display:none!important;}
.icon-action-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;}
#admin-reports .report-export-list.icon-action-grid,
#partner-reports .report-export-list.icon-action-grid,
.moderation-report-card .report-export-list.icon-action-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;width:100%!important;}
#admin-reports .report-export-layout,
#partner-reports .report-export-layout{}
.report-export-card .dashboard-card-head,.moderation-report-card .dashboard-card-head{margin-bottom:8px!important;}
.report-export-card .dashboard-card-head h2{white-space:normal!important;}
.report-export-card .icon-action-button,
.moderation-report-card .icon-action-button{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important;}
.report-export-card .icon-action-badge,
.moderation-report-card .icon-action-badge{width:56px!important;height:56px!important;}
.report-export-card .icon-action-text,
.moderation-report-card .icon-action-text{display:none!important;}
#admin-reports .admin-report-layout,
#partner-reports .partner-report-layout{grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr)!important;align-items:start!important;gap:14px!important;}
#admin-reports .report-period-panel,
#partner-reports .report-period-panel{gap:12px!important;align-items:end!important;}
#admin-reports .report-period-panel .dashboard-form-group,
#partner-reports .report-period-panel .dashboard-form-group{margin-bottom:0!important;}
#admin-reports .dashboard-metrics,
#partner-reports .dashboard-metrics{margin-top:12px!important;}
#admin-reports .admin-revenue-chart{min-height:198px!important;padding-top:0!important;}
#admin-reports .admin-chart-y-axis{height:176px!important;padding-bottom:16px!important;}
#admin-reports .admin-chart-plot{height:176px!important;min-height:176px!important;gap:8px!important;padding:0 6px!important;background:repeating-linear-gradient(to top, transparent 0, transparent 34px, #E7EDF5 35px)!important;}
#admin-reports .admin-chart-column{grid-template-rows:18px 1fr 18px!important;}
#admin-reports .admin-chart-column strong{font-size:.6rem!important;}
#admin-reports .admin-chart-column small{font-size:.64rem!important;}
#admin-reports .admin-chart-column span{width:min(30px,70%)!important;border-radius:8px 8px 0 0!important;}
#partner-reports .partner-report-value-chart{min-height:208px!important;}
#partner-reports .partner-chart-plot{height:176px!important;}

/* Entrevistas mais compactas */
#admin-interviews .interview-open-banner{padding:16px 18px!important;gap:16px!important;}
#admin-interviews .interview-open-banner h2{font-size:1.25rem!important;line-height:1.15!important;margin:4px 0 6px!important;}
#admin-interviews .interview-open-banner p{font-size:.9rem!important;line-height:1.35!important;}
#admin-interviews .admin-interview-layout{gap:14px!important;}
#admin-interviews .admin-interview-calendar-head{margin:6px 0 8px!important;}
#admin-interviews .admin-interview-calendar{gap:5px!important;}
#admin-interviews .admin-interview-calendar>span{font-size:.58rem!important;}
#admin-interviews .admin-interview-calendar button,
#admin-interviews .admin-interview-calendar i{min-height:38px!important;border-radius:8px!important;font-size:.88rem!important;padding:4px 2px!important;}
#admin-interviews .admin-interview-calendar button small{font-size:.5rem!important;line-height:1.1!important;}
#admin-interviews .dashboard-notice{margin-top:10px!important;padding:10px 12px!important;font-size:.82rem!important;line-height:1.35!important;}
#admin-interviews .dashboard-filter-bar{gap:10px!important;align-items:center!important;}
#admin-interviews .dashboard-filter-bar input,
#admin-interviews .dashboard-filter-bar select{min-height:40px!important;padding:0 12px!important;}
#admin-interviews .dashboard-list-item{padding:12px 14px!important;}
#admin-interviews .dashboard-list-item strong{font-size:.95rem!important;}
#admin-interviews .dashboard-list-item span{font-size:.8rem!important;}

/* Resultado da prova teórica */
#student-exam .result-answer-card .dashboard-form-group textarea{min-height:112px!important;}
#student-exam .result-consent-row{padding-top:0!important;justify-content:flex-start!important;}
#student-exam .result-consent-row .legal-check{grid-template-columns:18px auto!important;column-gap:8px!important;justify-content:flex-start!important;}
#student-exam .result-consent-row .legal-check input{width:18px!important;height:18px!important;}
#student-exam .result-consent-row .legal-check span{font-size:.76rem!important;line-height:1.1!important;white-space:nowrap!important;}

/* Cadastro parceiro com quebra exata */
.partner-signup-form .partner-acceptance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px!important;padding:12px 14px!important;}
.partner-signup-form .partner-acceptance-grid .legal-check{display:grid!important;grid-template-columns:20px 1fr;align-items:start!important;column-gap:12px!important;margin:0!important;}
.partner-signup-form .partner-acceptance-grid .legal-check input{width:18px!important;height:18px!important;margin:2px 0 0!important;}
.partner-signup-form .partner-acceptance-grid .legal-check span{font-size:.88rem!important;line-height:1.22!important;}
.partner-signup-form .partner-signup-submit{min-height:44px!important;padding:10px 18px!important;}

/* Login */
.login-signup-box{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
.login-signup-title{font-weight:800!important;color:var(--text)!important;}
.login-signup-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;}

/* Financeiro instrutor */
.finance-export-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.finance-export-actions .icon-action-button{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;}
.finance-export-actions .icon-action-badge{width:44px!important;height:44px!important;background:transparent!important;}
.finance-export-actions .icon-action-badge::before{display:none!important;content:none!important;}
.finance-export-actions .icon-action-text{display:none!important;}

@media(max-width:1100px){
  #admin-reports .admin-report-layout,
  #partner-reports .partner-report-layout{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  #admin-reports .report-export-list.icon-action-grid,
  #partner-reports .report-export-list.icon-action-grid,
  .moderation-report-card .report-export-list.icon-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #student-exam .result-consent-row .legal-check span{white-space:normal!important;}
  .partner-signup-form .partner-acceptance-grid{grid-template-columns:1fr!important;}
  .login-signup-actions{flex-direction:column;gap:4px;}
  .login-signup-separator{display:none!important;}
}


/* ===== Ajustes finais v5 ===== */
/* Ícones de exportação mais próximos */
#admin-moderation .moderation-report-card .report-export-list.icon-action-grid{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:16px!important;
  width:auto!important;
  margin-top:8px!important;
}
#admin-moderation .moderation-report-card .icon-action-button{width:auto!important;}
#admin-moderation .moderation-report-card .icon-action-badge{width:52px!important;height:52px!important;}

/* Gráficos com colunas mais largas */
#admin-reports .admin-chart-plot{justify-items:center!important;}
#admin-reports .admin-chart-column span{width:min(54px,78%)!important;}
#partner-reports .partner-chart-plot>div span{width:min(56px,76%)!important;}
#instructor-finance .finance-chart-bars>div span{width:min(54px,74%)!important;}

/* Calendário do aluno restaurado, compacto e sem deformação */
#student-instructors .student-booking-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;gap:12px!important;}
#student-instructors .student-booking-calendar{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
  padding:8px!important;
}
#student-instructors .student-booking-calendar>span{
  width:auto!important;height:auto!important;min-height:18px!important;
  display:block!important;font-size:.6rem!important;line-height:18px!important;
}
#student-instructors .student-booking-calendar button,
#student-instructors .student-booking-calendar i{
  width:auto!important;height:auto!important;min-height:42px!important;
  display:grid!important;place-items:center!important;
  padding:4px!important;border-radius:9px!important;font-size:.86rem!important;
}
#student-instructors .booking-calendar-month-row{margin-bottom:4px!important;}
#student-instructors .dashboard-card{padding:10px 12px!important;}
#student-instructors .student-linked-instructors{gap:8px!important;}
#student-instructors .student-linked-instructor{padding:8px 10px!important;}

/* Certificados: ações textuais e layout mais organizado */
.student-certificate-card{padding:16px!important;}
.student-certificate-head>div:first-child{align-items:center!important;}
.student-certificate-head strong{display:block!important;}
.student-certificate-head small{display:block!important;margin-top:2px!important;}
.student-certificate-actions.certificate-text-actions{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:8px!important;margin-top:14px!important;flex-wrap:wrap!important;
}
.student-certificate-actions.certificate-text-actions .btn{min-height:38px!important;padding:8px 12px!important;}

/* Aceites do parceiro menores e primeiro checkbox mais alto */
.partner-signup-form .partner-acceptance-grid .legal-check{
  grid-template-columns:18px 1fr!important;
  column-gap:10px!important;
  align-items:start!important;
}
.partner-signup-form .partner-acceptance-grid .legal-check input{
  width:16px!important;height:16px!important;margin:0!important;transform:translateY(1px)!important;
}
.partner-signup-form .partner-acceptance-grid .legal-check span{
  font-size:.78rem!important;line-height:1.22!important;
}
.partner-signup-form .partner-acceptance-grid .legal-check:nth-child(-n+2) input{
  transform:translateY(-1px)!important;
}

/* Planos de alunos com o mesmo padrão dos instrutores */
.student-pricing,.instructor-pricing{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:none!important;
  gap:18px!important;
  align-items:stretch!important;
}
.student-pricing .pricing-card,.instructor-pricing .pricing-card{
  display:flex!important;flex-direction:column!important;height:100%!important;
  padding:20px!important;
}
.student-pricing .pricing-card ul,.instructor-pricing .pricing-card ul{flex:1!important;}
.student-pricing .pricing-card .btn,.instructor-pricing .pricing-card .btn{margin-top:auto!important;}
.student-pricing .pricing-value,.instructor-pricing .pricing-value{min-height:58px!important;align-items:center!important;}

/* Botões do programa de parceiros */
#admin-partners #copyPartnerInviteLink,
#admin-partners a[href="cadastro-parceiro.html"]{box-shadow:none!important;}

@media(max-width:980px){
  .student-pricing,.instructor-pricing{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #student-instructors .student-booking-layout{grid-template-columns:1fr!important;}
}
@media(max-width:680px){
  .student-pricing,.instructor-pricing{grid-template-columns:1fr!important;}
}

/* ===== Ajustes V6 ===== */
.dashboard-list-link{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.dashboard-list-link:hover{
  border-color:#AFC7E8;
  background:#F7FAFE;
}
.dashboard-list-link:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}

/* Colunas: ferramentas em todas as tabelas */
.table-column-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 8px!important;
}
.table-column-toolbar small{color:var(--muted);font-size:.72rem!important;}
.table-column-actions{display:flex!important;gap:7px!important;margin-left:auto!important;}
.dashboard-table thead th{cursor:grab!important;user-select:none!important;}
.dashboard-table thead th:active{cursor:grabbing!important;}

/* Relatório de moderação com filtros */
.moderation-report-card{margin-top:14px!important;}
.moderation-report-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr)) auto;
  gap:10px;
  align-items:end;
  margin-bottom:10px;
}
.moderation-report-filters .dashboard-form-group{margin:0!important;gap:4px!important;}
.moderation-report-filters select{min-height:40px!important;height:40px!important;padding:7px 10px!important;}
.moderation-report-summary{
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  margin-bottom:8px;
}
.moderation-report-card .report-export-list.icon-action-grid{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
}
.moderation-report-card .icon-action-button{width:auto!important;}
.moderation-report-card .icon-action-badge{width:50px!important;height:50px!important;}

/* Consentimento do resultado com nome parcialmente identificado */
#student-exam .result-consent-row .legal-check{
  grid-template-columns:16px auto!important;
  column-gap:7px!important;
}
#student-exam .result-consent-row .legal-check input{
  width:16px!important;
  height:16px!important;
}
#student-exam .result-consent-row .legal-check span{
  font-size:.7rem!important;
  line-height:1.1!important;
  white-space:normal!important;
}

/* Aceites do parceiro: uma linha por item */
.partner-signup-form .partner-acceptance-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:10px 12px!important;
}
.partner-acceptance-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:2px;
}
.partner-signup-form .partner-acceptance-list .legal-check{
  display:grid!important;
  grid-template-columns:18px 1fr!important;
  align-items:center!important;
  column-gap:9px!important;
  min-height:32px!important;
  margin:0!important;
}
.partner-signup-form .partner-acceptance-list .legal-check input{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  align-self:center!important;
  justify-self:center!important;
}
.partner-signup-form .partner-acceptance-list .legal-check span{
  font-size:.76rem!important;
  line-height:1.2!important;
}
.partner-signup-form .partner-acceptance-list .legal-check button{
  font-size:inherit!important;
}

@media(max-width:950px){
  .moderation-report-filters{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .moderation-report-filters{grid-template-columns:1fr;}
  .table-column-actions{width:100%;margin-left:0!important;}
}


/* ===== Ajustes V7: cursores, listas e aceites compactos ===== */
.icon-action-button,
.icon-action-button .icon-action-badge,
.list-export-actions .icon-action-button,
.moderation-report-card .icon-action-button{
  cursor:pointer!important;
}
.icon-action-button:disabled{cursor:not-allowed!important;}

.dashboard-head-actions,
.list-export-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.list-export-actions .icon-action-button{
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.list-export-actions .icon-action-badge{
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
}
.list-export-actions .icon-action-text{display:none!important;}
#admin-partners .partner-admin-actions{flex-wrap:wrap!important;}
#admin-partners .list-export-actions{margin-left:2px;}

.partner-signup-form .partner-acceptance-list{
  gap:2px!important;
  padding:8px 10px!important;
}
.partner-signup-form .partner-acceptance-list .legal-check{
  min-height:24px!important;
  padding:2px 0!important;
  column-gap:8px!important;
}
.partner-signup-form .partner-acceptance-list .legal-check input{
  width:15px!important;
  height:15px!important;
}
.partner-signup-form .partner-acceptance-list .legal-check span{
  font-size:.73rem!important;
  line-height:1.15!important;
}
.partner-acceptance-head{margin-bottom:0!important;}

@media(max-width:760px){
  .dashboard-head-actions{align-items:flex-start;flex-direction:column;}
}


/* ===== Ajustes V8: ferramentas agrupadas, aceites compactos e financeiro ordenável ===== */
.instructor-list-heading{
  align-items:flex-end!important;
  margin-bottom:8px!important;
}
.instructor-list-heading small{
  display:block;
  margin-top:3px;
  color:var(--muted);
}
.instructor-list-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 10px!important;
  padding:9px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#F7FAFE!important;
}
.instructor-list-toolbar .instructor-list-tools{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.instructor-list-toolbar .list-export-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.instructor-list-toolbar .list-export-actions .icon-action-badge{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
}
.instructor-list-toolbar .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-left:0!important;
}
.instructor-list-toolbar .table-column-actions .btn{
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:.72rem!important;
}

.partner-signup-form .partner-acceptance-list{
  gap:0!important;
  padding:8px 10px!important;
}
.partner-signup-form .partner-acceptance-list .legal-check{
  min-height:21px!important;
  padding:0!important;
  margin:0!important;
  grid-template-columns:15px 1fr!important;
  column-gap:7px!important;
}
.partner-signup-form .partner-acceptance-list .legal-check input{
  width:14px!important;
  height:14px!important;
  margin:0!important;
}
.partner-signup-form .partner-acceptance-list .legal-check span{
  font-size:.71rem!important;
  line-height:1.08!important;
}
.partner-acceptance-head{
  min-height:28px!important;
  margin-bottom:2px!important;
}
.partner-acceptance-head strong{font-size:.88rem!important;}
.partner-acceptance-head .btn{
  min-height:30px!important;
  padding:5px 9px!important;
  font-size:.7rem!important;
}

#financeTable .table-sort-button{
  white-space:nowrap;
}
#financeTable thead th{
  cursor:grab;
}

@media(max-width:760px){
  .instructor-list-toolbar{align-items:flex-start!important;flex-direction:column!important;}
  .instructor-list-toolbar .instructor-list-tools{margin-left:0!important;width:100%;justify-content:space-between;}
}


/* ===== Ajustes V9: mesmo padrão de toolbar em todas as tabelas ===== */
.standard-table-toolbar,
.table-column-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 10px!important;
  padding:9px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#F7FAFE!important;
}
.standard-table-toolbar>small,
.table-column-toolbar>small{
  color:var(--muted)!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  margin:0!important;
}
.standard-table-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-left:auto!important;
  flex-wrap:wrap!important;
}
.standard-table-tools .list-export-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
}
.standard-table-tools .list-export-actions .icon-action-badge{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
}
.standard-table-tools .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
}
.standard-table-tools .table-column-actions .btn{
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:.72rem!important;
  border-radius:10px!important;
}
.dashboard-card-head:has(> .list-export-actions:empty),
.dashboard-card-head .list-export-actions:empty{
  display:none!important;
}
#admin-students .dashboard-card-head,
#admin-partners .dashboard-card-head{
  margin-bottom:8px!important;
}
@media(max-width:760px){
  .standard-table-toolbar,
  .table-column-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .standard-table-tools{
    width:100%!important;
    justify-content:flex-start!important;
    margin-left:0!important;
  }
}


/* ===== Certificado oficial Aprova Recife ===== */
.official-certificate{--cert-blue:#073D88;--cert-orange:#E79600;--cert-cream:#FFFDF7;background:#fff;color:#112F52;font-family:Georgia,"Times New Roman",serif;aspect-ratio:1.414/1;width:min(100%,1120px);margin:auto;padding:10px;box-sizing:border-box;}
.official-certificate-inner{position:relative;height:100%;overflow:hidden;padding:3.1% 4.2% 8%;box-sizing:border-box;background:radial-gradient(circle at 15% 25%,rgba(233,150,0,.035),transparent 28%),repeating-linear-gradient(135deg,rgba(7,61,136,.012) 0 1px,transparent 1px 8px),var(--cert-cream);border:5px solid var(--cert-blue);outline:2px solid var(--cert-orange);outline-offset:-10px;}
.certificate-brand-header{display:grid;grid-template-columns:28% 1fr 24%;gap:2%;align-items:center;min-height:14%;}
.certificate-brand-logo{width:100%;max-height:105px;object-fit:contain;object-position:left center;}
.certificate-title-block{text-align:center;font-family:Arial,sans-serif;color:var(--cert-blue);}
.certificate-title-block strong{display:block;font-size:clamp(32px,5.3vw,70px);line-height:.92;letter-spacing:.02em;}
.certificate-title-block span{display:block;font-size:clamp(13px,1.9vw,25px);font-weight:800;letter-spacing:.08em;margin-top:8px;}
.certificate-qr-block{display:grid;grid-template-columns:88px 1fr;gap:9px;align-items:center;font-family:Arial,sans-serif;font-size:10px;line-height:1.25;}
.certificate-qr-block img{width:88px;height:88px;border:2px solid var(--cert-orange);border-radius:8px;background:white;}
.certificate-qr-block strong,.certificate-qr-block small{display:block;}
.certificate-header-lines{margin:1.2% 0 2%;}.certificate-header-lines i{display:block;height:3px;background:var(--cert-blue);}.certificate-header-lines i+ i{height:2px;background:var(--cert-orange);margin-top:3px;}
.certificate-main-panel{border:2px solid rgba(231,150,0,.7);border-radius:28px;padding:2.7% 3.8% 2.4%;text-align:center;background:rgba(255,255,255,.25);}
.certificate-main-panel h2{margin:0;color:var(--cert-orange);font-weight:400;font-style:italic;font-size:clamp(34px,5.2vw,72px);line-height:1.05;}
.certificate-name-ornament{color:var(--cert-orange);letter-spacing:.5em;margin:.5% 0 1%;font-size:17px;}
.certificate-main-panel>p{max-width:82%;margin:0 auto 2.5%;font-family:Arial,sans-serif;font-size:clamp(12px,1.35vw,19px);font-weight:600;line-height:1.35;letter-spacing:.02em;}
.certificate-data-row{display:grid;gap:0;border:1.5px solid rgba(231,150,0,.75);border-radius:10px;margin:1.1% auto 0;background:rgba(255,255,255,.45);font-family:Arial,sans-serif;text-align:left;}
.certificate-data-primary{grid-template-columns:repeat(4,1fr);width:94%;}.certificate-data-secondary{grid-template-columns:repeat(4,1fr);width:63%;font-size:.82em;}
.certificate-data-row>div{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:10px 12px;border-right:1px dotted rgba(231,150,0,.7);min-width:0;}
.certificate-data-row>div:last-child{border-right:none}.certificate-field-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--cert-blue);border-radius:50%;color:var(--cert-blue);font-weight:900;}
.certificate-data-row b{color:var(--cert-blue);font-size:12px}.certificate-data-row strong{font-size:13px;font-weight:500;color:#171C26;white-space:normal;}
.certificate-observation{width:78%;margin:2.2% auto 0;padding:10px 14px;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;border:1px solid #C9D7E8;border-radius:9px;background:#F4F7FA;font-family:Arial,sans-serif;font-size:11px;line-height:1.35;text-align:left;}
.certificate-observation>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--cert-blue);color:#fff;font-weight:800;font-family:Georgia,serif}.certificate-observation p{margin:0;}
.certificate-footer{display:grid;grid-template-columns:1fr 180px 1fr;gap:4%;align-items:end;margin:2.5% 13% 0;position:relative;z-index:2;}
.certificate-signature-block{text-align:center}.certificate-signature-block em{display:block;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(24px,3.6vw,48px);font-weight:400;color:#111}.certificate-signature-block i{display:block;height:1px;background:var(--cert-orange);margin:2px 0 8px}.certificate-signature-block strong{font-weight:400;font-size:14px;color:#111}
.certificate-seal-wrap{position:relative;text-align:center}.certificate-seal-wrap img{width:100%;max-height:180px;object-fit:contain;mix-blend-mode:multiply}.certificate-seal-wrap span{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font:700 9px Arial;color:var(--cert-blue);letter-spacing:.12em}.certificate-footer-wave{position:absolute;left:-3%;right:-3%;bottom:-8%;height:13%;background:var(--cert-blue);border-top:7px solid var(--cert-orange);border-radius:50% 50% 0 0/70% 70% 0 0;z-index:1}.official-certificate.is-revoked{filter:grayscale(.4)}
.certificate-modal-preview{max-height:68vh;overflow:auto;border:1px solid #D8E4F1;border-radius:14px;padding:8px;background:#EEF3F9}.certificate-text-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.certificate-issue-form{max-width:820px}.modal-box:has(.certificate-modal-preview){width:min(96vw,1250px);max-width:1250px;}
.validation-page-body{min-height:100vh;background:#EEF3F9;display:grid;place-items:center;padding:24px}.validation-page-shell{width:min(100%,780px);background:white;border:1px solid #D8E4F1;border-radius:24px;padding:30px;box-shadow:0 16px 50px rgba(15,42,75,.08)}.validation-page-header{display:flex;align-items:center;gap:24px;border-bottom:1px solid #D8E4F1;padding-bottom:20px}.validation-page-header img{width:190px}.validation-page-header span{font-size:.82rem;text-transform:uppercase;color:#0D5DB8;font-weight:800;letter-spacing:.08em}.validation-page-header h1{margin:4px 0 0;color:#14304D}.validation-result-card{text-align:center;padding:34px 0}.validation-status{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:38px;font-weight:900}.validation-status.valid{background:#E5F5E8;color:#2F7D3E}.validation-status.invalid{background:#FCE8E8;color:#B53030}.validation-result-card h2{font-size:2rem;margin:0 0 4px}.validation-code{font-weight:800;color:#0D5DB8}.validation-result-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;text-align:left;margin-top:24px}.validation-result-card dl div{padding:12px 14px;border-radius:10px;background:#F5F8FC}.validation-result-card dt{font-size:.72rem;text-transform:uppercase;color:#60748A;font-weight:800}.validation-result-card dd{margin:4px 0 0;font-weight:700}.validation-legal-note{font-size:.78rem;line-height:1.45;color:#60748A;border-top:1px solid #D8E4F1;padding-top:16px}
@media(max-width:760px){.certificate-brand-header{grid-template-columns:1fr 1.7fr}.certificate-qr-block{display:none}.certificate-data-primary,.certificate-data-secondary{width:100%;grid-template-columns:repeat(2,1fr)}.certificate-footer{margin-inline:3%;grid-template-columns:1fr 110px 1fr}.certificate-observation{width:92%}.validation-page-header{flex-direction:column;text-align:center}.validation-result-card dl{grid-template-columns:1fr}}

/* ===== Ajustes do certificado e fluxos v13 ===== */
.sales-period-filter{display:grid!important;grid-template-columns:minmax(240px,1fr) 150px 150px repeat(3,minmax(150px,.5fr)) auto!important;align-items:end!important;gap:10px!important;}
.compact-date-filter{margin:0!important;gap:4px!important;}
.compact-date-filter label{font-size:.72rem!important;font-weight:800!important;color:#60748A!important;}
.compact-date-filter input{min-height:42px!important;padding:8px 10px!important;}
.student-calendar-navigation{display:grid!important;grid-template-columns:38px 1fr 38px auto!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important;}
.student-calendar-navigation strong{text-align:center!important;font-size:1.05rem!important;}
.student-current-month-button{justify-self:end!important;opacity:.78!important;}
#studentBookingCalendar{grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;gap:5px!important;}
#studentBookingCalendar>span{width:auto!important;height:auto!important;text-align:center!important;font-size:.62rem!important;font-weight:800!important;color:#60748A!important;}
#studentBookingCalendar>button,#studentBookingCalendar>i{width:100%!important;aspect-ratio:1.22/1!important;height:auto!important;min-height:34px!important;}

.admin-student-certificates-card{padding-bottom:14px!important;}
.admin-certificates-list{display:grid;gap:8px;}
.admin-certificate-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #D8E4F1;border-radius:12px;background:#fff;}
.admin-certificate-row strong,.admin-certificate-row small{display:block;}
.admin-certificate-row small{margin-top:3px;color:#60748A;font-size:.78rem;}
.admin-certificate-actions{display:flex;gap:7px;align-items:center;}

/* Certificado: diagramação fixa e sem sobreposição */
.official-certificate{width:min(100%,1120px)!important;aspect-ratio:297/210!important;padding:0!important;overflow:hidden!important;}
.official-certificate-inner{padding:2.35% 3.55% 7.1%!important;}
.certificate-brand-header{grid-template-columns:27% minmax(0,1fr) 25%!important;gap:2.2%!important;min-height:13.2%!important;}
.certificate-brand-logo{max-height:94px!important;}
.certificate-title-block strong{font-size:clamp(30px,4.8vw,64px)!important;line-height:.9!important;}
.certificate-title-block span{font-size:clamp(12px,1.65vw,22px)!important;margin-top:6px!important;}
.certificate-qr-block{grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important;font-size:9px!important;}
.certificate-qr-block img{width:78px!important;height:78px!important;}
.certificate-header-lines{margin:.8% 0 1.25%!important;}
.certificate-main-panel{padding:1.55% 3.1% 1.55%!important;border-radius:24px!important;}
.certificate-intro{max-width:none!important;margin:0 auto .25%!important;font-family:Arial,sans-serif!important;font-size:clamp(11px,1.3vw,17px)!important;font-weight:700!important;color:#12385F!important;}
.certificate-main-panel h2{font-size:clamp(34px,4.65vw,62px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding-inline:2%!important;}
.certificate-main-panel h2.is-long{font-size:clamp(28px,3.9vw,52px)!important;}
.certificate-name-ornament{margin:.1% 0 .6%!important;font-size:14px!important;letter-spacing:.35em!important;}
.certificate-main-panel>p:not(.certificate-intro){max-width:86%!important;margin:0 auto 1.25%!important;font-size:clamp(10px,1.16vw,15.5px)!important;line-height:1.25!important;}
.certificate-data-row{margin:.65% auto 0!important;}
.certificate-data-primary{width:92%!important;grid-template-columns:.78fr 1.25fr 1fr 1.42fr!important;}
.certificate-data-secondary{width:78%!important;grid-template-columns:1.35fr .9fr 1.18fr .86fr!important;font-size:1em!important;}
.certificate-data-row>div{grid-template-columns:31px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:7px!important;padding:7px 9px!important;align-content:center!important;}
.certificate-field-icon{width:29px!important;height:29px!important;font-size:13px!important;}
.certificate-data-row b{font-size:9.5px!important;line-height:1.05!important;white-space:nowrap!important;}
.certificate-data-row strong{font-size:10.5px!important;line-height:1.12!important;overflow-wrap:anywhere!important;}
.certificate-observation{width:80%!important;margin:1.15% auto 0!important;padding:7px 11px!important;grid-template-columns:27px 1fr!important;gap:9px!important;font-size:9px!important;line-height:1.25!important;}
.certificate-observation>span{width:23px!important;height:23px!important;}
.certificate-footer{grid-template-columns:1fr 145px 1fr!important;gap:5%!important;margin:1.25% 14% 0!important;}
.certificate-signature-block em{font-size:clamp(22px,3vw,40px)!important;line-height:.92!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.certificate-signature-block strong{font-size:11px!important;}
.certificate-signature-block i{margin:1px 0 5px!important;}
.certificate-seal-wrap img{max-height:140px!important;}
.certificate-footer-wave{bottom:-8.5%!important;height:13%!important;}
.certificate-modal-preview .official-certificate{width:100%!important;}

@media print{
  .official-certificate{width:297mm!important;height:210mm!important;max-width:none!important;max-height:210mm!important;aspect-ratio:auto!important;margin:0!important;overflow:hidden!important;}
  .official-certificate-inner{height:210mm!important;overflow:hidden!important;}
}
@media(max-width:1200px){.sales-period-filter{grid-template-columns:minmax(220px,1fr) repeat(2,150px) repeat(2,minmax(150px,.5fr));}.sales-period-filter>button{grid-column:auto;}}
@media(max-width:760px){.sales-period-filter{grid-template-columns:1fr!important}.admin-certificate-row{grid-template-columns:1fr}.admin-certificate-actions{flex-wrap:wrap}.student-calendar-navigation{grid-template-columns:36px 1fr 36px}.student-current-month-button{grid-column:1/-1;justify-self:center}.certificate-main-panel h2{white-space:normal!important}}


/* ===== Ajustes v14: vendas, suporte e histórico de aulas ===== */
#admin-sales .sales-period-filter{
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(145px,.58fr) minmax(145px,.58fr) minmax(150px,.72fr) minmax(150px,.72fr) minmax(150px,.72fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}
#admin-sales .sales-period-filter>*{min-width:0!important;box-sizing:border-box!important;}
#admin-sales .sales-period-filter .dashboard-form-group{display:flex!important;flex-direction:column!important;gap:5px!important;margin:0!important;min-width:0!important;}
#admin-sales .sales-period-filter .dashboard-form-group label{position:static!important;margin:0!important;font-size:.75rem!important;line-height:1!important;font-weight:800!important;color:#60748A!important;}
#admin-sales .sales-period-filter input,
#admin-sales .sales-period-filter select,
#admin-sales .sales-period-filter .dashboard-search-box{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
#admin-sales .sales-period-filter input,
#admin-sales .sales-period-filter select{height:42px!important;min-height:42px!important;padding:0 12px!important;}
#admin-sales .sales-period-filter .dashboard-search-box{height:42px!important;}
#admin-sales .sales-period-filter .dashboard-search-box input{height:40px!important;padding:0!important;}
.support-ticket-filter{grid-template-columns:minmax(260px,1fr) minmax(170px,.35fr) minmax(170px,.35fr) auto!important;}
.student-lesson-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-bottom:12px!important;}
.student-history-filter{grid-template-columns:minmax(260px,1fr) minmax(180px,.3fr) auto!important;}
.student-lesson-history-card .dashboard-table td,
.student-lesson-history-card .dashboard-table th{white-space:nowrap;}
@media(max-width:1450px){
  #admin-sales .sales-period-filter{grid-template-columns:minmax(240px,1.2fr) repeat(2,minmax(145px,.65fr)) repeat(2,minmax(150px,.75fr))!important;}
  #admin-sales .sales-period-filter select:nth-of-type(3){grid-column:auto;}
  #admin-sales .sales-period-filter>button{justify-self:end;}
}
@media(max-width:1000px){
  #admin-sales .sales-period-filter,
  .support-ticket-filter,
  .student-history-filter{grid-template-columns:1fr 1fr!important;}
  #admin-sales .sales-period-filter .dashboard-search-box,
  .support-ticket-filter .dashboard-search-box,
  .student-history-filter .dashboard-search-box{grid-column:1/-1!important;}
  .student-lesson-history-metrics{grid-template-columns:1fr!important;}
}
@media(max-width:680px){
  #admin-sales .sales-period-filter,
  .support-ticket-filter,
  .student-history-filter{grid-template-columns:1fr!important;}
}


/* ===== Ajustes V15: suporte, sidebar e WhatsApp ===== */
.dashboard-sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
  padding-bottom:18px;
}
.dashboard-sidebar::-webkit-scrollbar{width:6px}
.dashboard-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}
.dashboard-nav{gap:3px;flex:0 0 auto}
.dashboard-nav button{padding:9px 11px;min-height:44px}
.dashboard-sidebar-footer{margin-top:10px;flex:0 0 auto;padding-bottom:4px}

.floating-support-button{
  top:68%!important;
  bottom:auto!important;
  right:24px!important;
  transform:translateY(-50%);
}
@media(max-width:680px){
  .floating-support-button{top:auto!important;bottom:24px!important;right:18px!important;transform:none}
}

.support-ticket-filter{
  grid-template-columns:minmax(260px,1.2fr) minmax(145px,.42fr) minmax(145px,.42fr) minmax(170px,.48fr) minmax(160px,.45fr) auto!important;
  align-items:end!important;
}
.support-date-field{display:grid;gap:5px;min-width:0}
.support-date-field label{font-size:.74rem;font-weight:900;color:#60748A;padding-left:2px}
.support-date-field input{
  width:100%;min-width:0;height:48px;border:1px solid #D8E4F1;border-radius:12px;
  background:#fff;color:#14304D;padding:0 12px;font:inherit;
}
.support-ticket-details{display:grid;gap:14px}
.support-ticket-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.support-ticket-summary div{border:1px solid #D8E4F1;border-radius:12px;padding:11px;background:#F7F9FC}
.support-ticket-summary span{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;color:#60748A;margin-bottom:4px}
.support-ticket-history{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.support-ticket-history li{border-left:3px solid #0D5DB8;padding:7px 10px;background:#F7F9FC;border-radius:0 10px 10px 0}
.support-ticket-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}
@media(max-width:1180px){
  .support-ticket-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .support-ticket-filter .dashboard-search-box{grid-column:1/-1}
}
@media(max-width:720px){
  .support-ticket-filter{grid-template-columns:1fr!important}
  .support-ticket-filter>*{grid-column:auto!important}
  .support-ticket-summary{grid-template-columns:1fr}
}

/* ===== Certificado com arte-base oficial e campos dinâmicos v17 ===== */
.official-certificate{
  width:min(100%,1120px)!important;
  aspect-ratio:4/3!important;
  padding:0!important;
  margin:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.certificate-template-canvas{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.certificate-template-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  display:block;
  user-select:none;
  pointer-events:none;
}
.certificate-template-qr{
  position:absolute;
  left:76.35%;
  top:6.9%;
  width:7.25%;
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
  padding:.22%;
  box-sizing:border-box;
}
.certificate-template-intro,
.certificate-template-name,
.certificate-template-value,
.certificate-template-signature{
  position:absolute;
  z-index:2;
  box-sizing:border-box;
  text-align:center;
  overflow:hidden;
}
.certificate-template-intro{
  left:28%;
  width:44%;
  top:25.35%;
  font-family:Arial,sans-serif;
  font-size:clamp(10px,1.16vw,17px);
  line-height:1.15;
  font-weight:700;
  color:#12385f;
  white-space:nowrap;
}
.certificate-template-name{
  left:16%;
  width:68%;
  height:8.5%;
  top:29.0%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,4.45vw,62px);
  line-height:.95;
  font-style:italic;
  color:#cf8100;
  white-space:nowrap;
  text-overflow:ellipsis;
  padding:0 1.5%;
}
.certificate-template-name.is-long{
  font-size:clamp(25px,3.72vw,52px);
}
.certificate-template-value{
  display:flex;
  align-items:center;
  justify-content:center;
  height:3.2%;
  padding:0 .35%;
  font-family:Arial,sans-serif;
  font-size:clamp(8px,.82vw,12px);
  line-height:1;
  font-weight:700;
  color:#162c4d;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.value-category{left:16.35%;top:52.0%;width:8.2%;}
.value-modality{left:31.05%;top:52.0%;width:19.2%;}
.value-hours{left:52.65%;top:52.0%;width:14.8%;}
.value-period{left:70.15%;top:52.0%;width:20.2%;font-size:clamp(7px,.72vw,10.5px);}
.value-instructor{left:25.45%;top:58.45%;width:13.2%;}
.value-credential{left:41.6%;top:58.45%;width:10.6%;}
.value-number{left:56.65%;top:58.45%;width:15.2%;font-size:clamp(7px,.72vw,10.5px);}
.value-issued{left:72.45%;top:58.45%;width:11.7%;}
.certificate-template-signature{
  left:18.4%;
  width:20.2%;
  height:5.8%;
  top:79.7%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 1% .35%;
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(21px,2.65vw,38px);
  line-height:.9;
  color:#111;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.certificate-modal-preview{overflow:auto!important;}
.certificate-modal-preview .official-certificate{width:min(100%,1120px)!important;}
@media print{
  .official-certificate{width:280mm!important;height:210mm!important;max-width:280mm!important;max-height:210mm!important;aspect-ratio:4/3!important;}
  .certificate-template-canvas{width:280mm!important;height:210mm!important;}
}
@media(max-width:760px){
  .certificate-template-intro{font-size:8px}
  .certificate-template-name{font-size:27px}
  .certificate-template-name.is-long{font-size:22px}
  .certificate-template-value{font-size:6.5px}
  .value-period,.value-number{font-size:5.8px}
  .certificate-template-signature{font-size:19px}
}

  .certificate-template-name{font-size:30px}
  .certificate-template-value{font-size:7px}
  .certificate-template-signature{font-size:22px}
}

/* ===== Certificado final diagramado + validador v18 ===== */
.official-certificate{
  width:min(100%,1120px)!important;
  aspect-ratio:4/3!important;
  padding:0!important;
  margin:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
}
.certificate-template-canvas{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  overflow:hidden!important;
  container-type:inline-size;
}
.certificate-template-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;user-select:none}
.certificate-template-qr{position:absolute;left:73.55%;top:7.0%;width:7.25%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;padding:.18%;box-sizing:border-box;z-index:2}
.certificate-template-name,.certificate-template-value,.certificate-template-signature{position:absolute;z-index:2;box-sizing:border-box;text-align:center;overflow:hidden}
.certificate-template-intro{display:none!important}
.certificate-template-name{
  left:17%;width:66%;height:9.2%;top:24.6%;display:flex;align-items:center;justify-content:center;
  font-family:Georgia,"Times New Roman",serif;font-size:5.05cqw;line-height:.95;font-style:italic;color:#cf8100;
  white-space:nowrap;padding:0 1%;
}
.certificate-template-name.is-long{font-size:4.35cqw}
.certificate-template-name.is-very-long{font-size:3.65cqw}
.certificate-template-value{
  display:flex;align-items:center;justify-content:center;height:3.1%;padding:0 .25%;
  font-family:Arial,sans-serif;font-size:1.03cqw;line-height:1;font-weight:500;color:#111b2c;white-space:nowrap;
}
.value-category{left:16.2%;top:49.55%;width:8.8%}
.value-modality{left:31.55%;top:49.55%;width:18.3%}
.value-hours{left:53.55%;top:49.55%;width:13.8%}
.value-period{left:70.7%;top:49.55%;width:18.7%;font-size:.86cqw}
.value-instructor{left:27.25%;top:56.35%;width:11.9%;font-size:.83cqw}
.value-credential{left:42.1%;top:56.35%;width:8.8%;font-size:.83cqw}
.value-number{left:53.15%;top:56.35%;width:12.8%;font-size:.78cqw}
.value-issued{left:66.05%;top:56.35%;width:8.5%;font-size:.8cqw}
.certificate-template-signature{
  left:20.2%;width:18.5%;height:5.8%;top:79.2%;display:flex;align-items:flex-end;justify-content:center;padding:0 .5% .2%;
  font-family:"Brush Script MT","Segoe Script",cursive;font-size:3.0cqw;line-height:.9;color:#111;white-space:nowrap;
}
.certificate-modal-preview{overflow:auto!important}
.certificate-modal-preview .official-certificate{width:min(100%,1120px)!important}
@media print{
  .official-certificate{width:277mm!important;height:207.75mm!important;max-width:277mm!important;max-height:207.75mm!important;aspect-ratio:4/3!important}
  .certificate-template-canvas{width:277mm!important;height:207.75mm!important}
}

.validation-page-body{min-height:100vh;background:#fbf8f0;color:#12385f;display:flex;flex-direction:column;padding:0}
.validation-site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(24px,5vw,72px);background:#fff;border-top:4px solid #12385f;border-bottom:1px solid #efb247}
.validation-site-header img{width:180px;display:block}.validation-site-header nav{display:flex;align-items:center;gap:34px}.validation-site-header nav strong{padding:23px 0 17px;border-bottom:2px solid #f2a000}.validation-site-header nav a{color:#12385f;text-decoration:none;font-weight:700}
.validation-page-shell{width:min(1180px,calc(100% - 36px));margin:34px auto 42px;background:transparent;padding:0;box-shadow:none;border:0}
.validation-title-block{display:flex;align-items:center;gap:20px;margin-bottom:24px}.validation-title-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:#12385f;color:#fff;font-size:34px;font-weight:900;border:3px solid #d9e5f2}.validation-title-block h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:0}.validation-title-block p{margin:8px 0 0;color:#60748a;font-size:1.05rem}
.validation-options{display:grid;grid-template-columns:1fr 46px 1fr;align-items:center;gap:0;margin-bottom:22px}.validation-option-card{min-height:200px;border:1.5px solid #e3a23a;border-radius:14px;background:#fff;padding:28px;display:flex;align-items:center;gap:26px}.validation-camera-icon{width:120px;height:120px;flex:0 0 120px;border-radius:25px;background:#e9f1fb;display:grid;place-items:center;font-size:68px;color:#0d5db8}.validation-option-card h2{margin:0 0 8px}.validation-option-card p{margin:0 0 18px;color:#60748a}.validation-option-card form{width:100%}.validation-option-card input{width:100%;height:52px;border:1px solid #cddaea;border-radius:8px;padding:0 16px;font-size:1rem;margin:12px 0}.validation-submit-button{width:100%;height:50px;background:#e99500;color:#fff;border:0}.validation-or{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #f5e5c4;font-weight:800;z-index:2}
.validation-result-card{padding:0;border:1.5px solid #d2a452;border-radius:14px;overflow:hidden;background:#fff;text-align:left}.validation-result-head{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid}.validation-result-head.is-valid{background:#eef9f0;color:#2f7d3e;border-color:#96cda1}.validation-result-head.is-invalid{background:#fff1f1;color:#a52d2d;border-color:#e6a0a0}.validation-result-head h2{margin:0;font-size:1.5rem}.validation-result-head p{margin:4px 0 0}.validation-result-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:currentColor;color:#fff;font-size:28px}.validation-result-icon::first-letter{color:#fff}.validation-confirmed{justify-self:end;border:1px solid currentColor;border-radius:10px;padding:8px 12px;font-weight:700;font-size:.8rem}.validation-confirmed small{display:block;font-weight:400;margin-top:2px}
.validation-result-content{display:grid;grid-template-columns:.9fr 1.15fr;gap:26px;padding:14px 24px 22px}.validation-result-content dl{margin:0;display:grid}.validation-result-content dl div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px 6px;border-bottom:1px solid #ecd19d}.validation-result-content dt{font-weight:800;color:#0d4e9b}.validation-result-content dd{margin:0;color:#1d2430}.validation-certificate-preview{display:flex;align-items:center;justify-content:center;min-width:0}.validation-certificate-preview .official-certificate{width:100%!important;border:1px solid #12385f;border-radius:10px}
.validation-site-footer{margin-top:auto;background:#0b3768;color:#fff;text-align:center;padding:28px;border-top:5px solid #f2a000}
.certificate-camera-modal{position:fixed;inset:0;background:rgba(6,27,50,.72);z-index:9999;display:grid;place-items:center;padding:20px}.certificate-camera-modal[hidden]{display:none}.certificate-camera-box{position:relative;width:min(560px,100%);background:#fff;border-radius:18px;padding:24px;text-align:center}.certificate-camera-box>button{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px;cursor:pointer}.certificate-camera-box video{width:100%;aspect-ratio:4/3;background:#0a1624;border-radius:12px;object-fit:cover}.certificate-camera-box p{color:#60748a}
@media(max-width:800px){.validation-site-header{height:auto;align-items:flex-start}.validation-site-header nav{flex-direction:column;gap:8px;align-items:flex-end}.validation-options{grid-template-columns:1fr;gap:12px}.validation-or{justify-self:center;margin:-5px 0}.validation-option-card{min-height:auto}.validation-result-content{grid-template-columns:1fr}.validation-result-head{grid-template-columns:48px 1fr}.validation-confirmed{grid-column:1/-1;justify-self:start}.validation-camera-icon{width:82px;height:82px;flex-basis:82px;font-size:44px}.validation-result-content dl div{grid-template-columns:1fr}}

/* ===== Ajustes finais v19: certificado A4 real + suporte compacto ===== */
.official-certificate{
  width:min(100%,1188px)!important;
  aspect-ratio:297/210!important;
}
.certificate-template-canvas{
  aspect-ratio:297/210!important;
}
.certificate-template-bg{
  object-fit:fill!important;
}
.certificate-template-qr{
  left:73.45%!important;
  top:6.75%!important;
  width:7.15%!important;
}
.certificate-template-name{
  left:18.2%!important;
  width:63.6%!important;
  top:24.4%!important;
  height:9.3%!important;
  font-size:4.65cqw!important;
  line-height:.95!important;
}
.certificate-template-name.is-long{font-size:4.05cqw!important}
.certificate-template-name.is-very-long{font-size:3.45cqw!important}
.certificate-template-value{
  height:2.9%!important;
  font-size:.91cqw!important;
  line-height:1!important;
  font-weight:500!important;
}
.value-category{left:16.4%!important;top:49.5%!important;width:8.0%!important}
.value-modality{left:31.7%!important;top:49.5%!important;width:18.0%!important}
.value-hours{left:53.25%!important;top:49.5%!important;width:14.0%!important}
.value-period{left:70.5%!important;top:49.5%!important;width:19.0%!important;font-size:.79cqw!important}
.value-instructor{left:27.0%!important;top:56.5%!important;width:11.8%!important;font-size:.73cqw!important}
.value-credential{left:42.1%!important;top:56.5%!important;width:8.4%!important;font-size:.73cqw!important}
.value-number{left:53.0%!important;top:56.5%!important;width:12.7%!important;font-size:.69cqw!important}
.value-issued{left:66.0%!important;top:56.5%!important;width:8.6%!important;font-size:.72cqw!important}
.certificate-template-signature{
  left:20.2%!important;
  width:18.4%!important;
  top:79.0%!important;
  height:6.0%!important;
  font-size:2.65cqw!important;
  align-items:flex-end!important;
  padding-bottom:.3%!important;
}
.validation-certificate-preview .official-certificate{
  aspect-ratio:297/210!important;
}

/* Datas do suporte com o mesmo padrão visual dos demais filtros */
.support-ticket-filter{
  align-items:center!important;
}
.support-date-field{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  padding-top:0!important;
}
.support-date-field label{
  position:absolute!important;
  top:-15px!important;
  left:2px!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:800!important;
  color:#60748A!important;
  padding:0!important;
}
.support-date-field input{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ink)!important;
  padding:0 10px!important;
  font:inherit!important;
}

@media print{
  .official-certificate,
  .certificate-template-canvas{
    width:297mm!important;
    height:210mm!important;
    min-width:297mm!important;
    min-height:210mm!important;
    max-width:297mm!important;
    max-height:210mm!important;
    aspect-ratio:297/210!important;
    margin:0!important;
  }
}

/* ===== V20: modal do certificado, validador responsivo e datas do suporte ===== */
.modal-box:has(.certificate-modal-preview){
  width:min(96vw,1280px)!important;
  height:min(94vh,940px)!important;
  max-height:94vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:18px 20px 16px!important;
}
.modal-box:has(.certificate-modal-preview)>.kicker{flex:0 0 auto;margin:0 0 4px!important}
.modal-box:has(.certificate-modal-preview)>h2{flex:0 0 auto;font-size:clamp(1.8rem,3vw,3rem)!important;margin:0 46px 10px 0!important}
.certificate-modal-preview{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px!important;
}
.certificate-modal-preview .official-certificate{
  width:auto!important;
  max-width:100%!important;
  height:100%!important;
  max-height:100%!important;
  aspect-ratio:297/210!important;
  flex:0 1 auto!important;
}
.modal-box:has(.certificate-modal-preview)>.certificate-text-actions{
  flex:0 0 auto!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid #E2EAF3!important;
  background:#fff!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.modal-box:has(.certificate-modal-preview)>.certificate-text-actions .btn{
  min-height:40px!important;
  padding:9px 16px!important;
  white-space:nowrap!important;
}

/* Suporte: rótulos acima, controles no mesmo padrão e sem sobreposição */
.support-ticket-filter{
  grid-template-columns:minmax(250px,1fr) minmax(145px,.34fr) minmax(145px,.34fr) minmax(145px,.34fr) minmax(145px,.34fr) auto!important;
  align-items:end!important;
  padding-top:12px!important;
}
.support-date-field{
  position:static!important;
  display:grid!important;
  grid-template-rows:auto 40px!important;
  gap:5px!important;
  min-width:0!important;
  padding:0!important;
  align-self:stretch!important;
}
.support-date-field label{
  position:static!important;
  display:block!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:800!important;
  color:#60748A!important;
  padding:0 2px!important;
  white-space:nowrap!important;
}
.support-date-field input{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ink)!important;
  padding:0 10px!important;
  font:inherit!important;
  line-height:40px!important;
}

/* Validador: layout compacto, equilibrado e responsivo */
.validation-page-body{
  min-height:100vh!important;
  background:#F4F7FB!important;
  color:#12385F!important;
}
.validation-site-header{
  width:100%!important;
  min-height:82px!important;
  height:auto!important;
  padding:10px clamp(18px,4vw,62px)!important;
  border-top:4px solid #12385F!important;
  border-bottom:2px solid #F0A000!important;
  box-shadow:0 1px 0 rgba(18,56,95,.06)!important;
}
.validation-site-header img{width:170px!important;max-height:62px!important;object-fit:contain!important}
.validation-site-header nav{gap:28px!important;font-size:.95rem!important}
.validation-site-header nav strong{padding:19px 0 15px!important}
.validation-page-shell{
  width:min(1160px,calc(100% - 32px))!important;
  margin:28px auto 34px!important;
  padding:0!important;
}
.validation-title-block{
  gap:16px!important;
  margin:0 0 20px!important;
  padding:0!important;
}
.validation-title-icon{width:54px!important;height:54px!important;border-radius:15px!important;font-size:28px!important}
.validation-title-block h1{font-size:clamp(2rem,4vw,3.35rem)!important;letter-spacing:-.04em!important}
.validation-title-block p{font-size:1rem!important;margin-top:6px!important}
.validation-options{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  margin:0 0 20px!important;
}
.validation-option-card{
  min-height:176px!important;
  padding:22px 24px!important;
  border:1px solid #E4A330!important;
  border-radius:16px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  box-shadow:0 8px 24px rgba(18,56,95,.04)!important;
}
.validation-option-card h2{font-size:clamp(1.45rem,2.5vw,2rem)!important;line-height:1.08!important;margin:0 0 8px!important}
.validation-option-card p{font-size:.96rem!important;line-height:1.4!important;margin:0 0 14px!important}
.validation-camera-icon{width:92px!important;height:92px!important;flex:0 0 92px!important;border-radius:20px!important;font-size:48px!important}
.validation-option-card input{height:46px!important;margin:8px 0 10px!important;font-size:.96rem!important}
.validation-option-card .btn{min-height:44px!important}
.validation-or{width:42px!important;height:42px!important;align-self:center!important}
.validation-result-card{margin-top:4px!important}
.validation-result-content{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr)!important;gap:20px!important;padding:16px 20px 20px!important}
.validation-result-content dl div{grid-template-columns:160px 1fr!important;padding:10px 6px!important}
.validation-certificate-preview .official-certificate{width:100%!important;height:auto!important;max-height:430px!important}
.validation-site-footer{padding:18px!important;border-top:3px solid #F2A000!important}

@media(max-width:1100px){
  .support-ticket-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .support-ticket-filter .dashboard-search-box{grid-column:1/-1!important}
  .support-ticket-filter>button{justify-self:start!important}
}
@media(max-width:820px){
  .modal-box:has(.certificate-modal-preview){height:96vh!important;padding:14px!important}
  .certificate-modal-preview{padding:4px!important}
  .modal-box:has(.certificate-modal-preview)>.certificate-text-actions{gap:6px!important}
  .modal-box:has(.certificate-modal-preview)>.certificate-text-actions .btn{flex:1 1 45%!important;text-align:center!important}
  .validation-site-header{align-items:center!important}
  .validation-site-header nav{display:none!important}
  .validation-options{grid-template-columns:1fr!important;gap:10px!important}
  .validation-or{justify-self:center!important;margin:-2px 0!important}
  .validation-option-card{min-height:auto!important}
  .validation-result-content{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .support-ticket-filter{grid-template-columns:1fr!important}
  .support-ticket-filter>*{grid-column:auto!important}
  .validation-page-shell{width:min(100% - 20px,1160px)!important;margin-top:18px!important}
  .validation-title-block{align-items:flex-start!important}
  .validation-title-icon{width:46px!important;height:46px!important;flex:0 0 46px!important}
  .validation-option-card{padding:18px!important;align-items:flex-start!important}
  .validation-camera-icon{width:68px!important;height:68px!important;flex-basis:68px!important;font-size:36px!important}
  .validation-result-head{padding:15px!important}
  .validation-result-content{padding:12px 15px 16px!important}
  .validation-result-content dl div{grid-template-columns:1fr!important;gap:3px!important}
}

/* ===== V21: ações reais, validador e posicionamento do WhatsApp ===== */
:root{--floating-whatsapp-size:56px}
.floating-support-button{
  width:var(--floating-whatsapp-size)!important;
  height:var(--floating-whatsapp-size)!important;
  right:calc(var(--floating-whatsapp-size) * 2)!important;
  bottom:calc(var(--floating-whatsapp-size) * 2)!important;
}
.floating-support-button .floating-support-text{display:none!important}
.header-validation-link{font-weight:800;color:#17395f;text-decoration:none;white-space:nowrap}
.header-validation-link:hover{color:#0d63c5}
.footer-validation-link{font-weight:800;color:inherit}
.support-ticket-filter{display:grid!important;grid-template-columns:minmax(260px,1.7fr) minmax(150px,.65fr) minmax(150px,.65fr) minmax(165px,.8fr) minmax(165px,.8fr) auto;align-items:end;gap:12px}
.support-date-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.support-date-field label{font-size:.82rem;font-weight:800;color:#60748a;margin:0 0 0 2px}
.support-date-field input{width:100%;height:48px;box-sizing:border-box;border:1px solid #cfe0f3;border-radius:14px;background:#fff;padding:0 14px;font:inherit;color:#17395f}
.guide-message-item{align-items:center;gap:18px}
.guide-message-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.content-manager-form,.lesson-detail-grid,.conversation-thread{display:grid;gap:12px}
.lesson-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}
.lesson-detail-grid div{padding:12px;border:1px solid #d6e3f2;border-radius:12px;background:#f8fbff}
.lesson-detail-grid strong{display:block;font-size:.78rem;color:#647a91;margin-bottom:4px;text-transform:uppercase}
.conversation-thread{margin:16px 0}
.conversation-message{max-width:82%;padding:12px 14px;border-radius:14px;background:#eef4fb}
.conversation-message.is-own{margin-left:auto;background:#dcecff}
.material-preview-card{display:grid;gap:12px}
.material-preview-meta{display:flex;gap:8px;flex-wrap:wrap}
.material-preview-meta span{padding:6px 10px;border-radius:999px;background:#eef4fb;color:#34516f;font-size:.82rem;font-weight:700}
@media(max-width:1100px){
  .support-ticket-filter{grid-template-columns:1fr 1fr 1fr}
  .support-ticket-filter .dashboard-search-box{grid-column:1/-1}
}
@media(max-width:720px){
  :root{--floating-whatsapp-size:52px}
  .floating-support-button{right:20px!important;bottom:20px!important}
  .support-ticket-filter{grid-template-columns:1fr!important}
  .support-ticket-filter .dashboard-search-box{grid-column:auto}
  .lesson-detail-grid{grid-template-columns:1fr}
  .header-validation-link{display:none}
}


/* ===== Conteúdos: gestão clara e botões padronizados ===== */
.validation-help-button{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;cursor:pointer;padding:8px 10px;border-radius:10px}.validation-help-button:hover{background:#EEF4FB}
.validation-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.validation-help-grid article{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#F9FBFD}.validation-help-grid article.full{grid-column:1/-1}.validation-help-icon{width:36px;height:36px;border-radius:11px;background:#EAF2FC;color:var(--primary);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.validation-help-grid p{margin:4px 0 0;color:var(--muted);line-height:1.45}
.content-page-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.content-page-intro h2{margin:4px 0}.content-page-intro p{margin:0;color:var(--muted)}.content-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.content-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.content-summary-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px}.content-summary-card span,.content-summary-card small{display:block;color:var(--muted)}.content-summary-card strong{display:block;font-size:1.6rem;color:var(--ink);margin:4px 0}.content-management-grid{align-items:start}.content-management-card .dashboard-card-head{align-items:flex-start}.content-list-row{gap:14px}.content-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn.btn-secondary{background:#EAF2FC;color:var(--primary);border:1px solid #C9DCF1}.btn.btn-secondary:hover{background:#DDEBFA}.content-manager-form{grid-template-columns:1fr 1fr}.content-manager-form label{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:var(--muted)}.content-manager-form .full{grid-column:1/-1}.content-preview-panel{padding:16px;border:1px solid var(--line);border-radius:14px;background:#F9FBFD}.content-preview-panel p{color:var(--muted);line-height:1.5}.content-question-filters{grid-template-columns:1.4fr 1fr 1fr}.content-question-list{display:grid;gap:8px;margin-top:12px}.content-question-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.content-question-list small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:980px){.content-page-intro{align-items:flex-start;flex-direction:column}.content-quick-actions{justify-content:flex-start}.content-summary-grid{grid-template-columns:1fr}.content-manager-form,.validation-help-grid{grid-template-columns:1fr}.validation-help-grid article.full{grid-column:auto}.content-question-filters{grid-template-columns:1fr}}


/* ===== V117: calendário, comissões e gestão de conteúdos ===== */
.commissions-header-card,.content-page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px!important}.commissions-header-card h2,.content-page-hero h2{margin:4px 0 8px}.commissions-header-card p,.content-page-hero p{margin:0;color:var(--muted);max-width:700px}.commissions-header-actions{display:flex;gap:10px;flex-wrap:wrap}.commissions-filter-bar{grid-template-columns:minmax(240px,1fr) 170px 150px 150px auto!important}.commissionPaymentsTable td small{display:block;color:var(--muted);margin-top:3px}.pix-copy-button{border:0;background:#eef5ff;color:var(--primary);border-radius:8px;padding:8px 10px;font:inherit;font-size:.78rem;cursor:pointer;text-align:left}.pix-copy-button:hover{background:#dfeeff}.content-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.content-section-menu{display:grid;gap:8px;position:sticky;top:18px}.content-section-menu button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;text-align:left;cursor:pointer;display:grid;gap:4px;color:var(--ink)}.content-section-menu button span{font-size:.76rem;color:var(--muted)}.content-section-menu button.active{border-color:var(--primary);background:#eef5ff;box-shadow:0 0 0 2px rgba(13,93,184,.08)}.content-panel-area{min-width:0}.content-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.content-panel.active{display:block}.content-panel-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.content-panel-header h2{margin:0 0 5px}.content-panel-header p{margin:0;color:var(--muted)}.content-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:10px;margin:18px 0}.content-record-list{display:grid;gap:10px}.content-record{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px}.content-record-icon{width:48px;height:48px;border-radius:10px;background:#eef5ff;color:var(--primary);display:grid;place-items:center;font-size:.7rem;font-weight:900}.content-record>div:nth-child(2){display:grid;gap:4px}.content-record>div:nth-child(2) span{font-size:.78rem;color:var(--muted)}.content-record-actions{display:flex;gap:8px}.content-upload-zone{border:2px dashed #b8cbe1;border-radius:14px;padding:26px;text-align:center;background:#f8fbff;cursor:pointer;transition:.2s}.content-upload-zone.is-dragover{border-color:var(--primary);background:#edf5ff;transform:translateY(-1px)}.content-upload-zone input{display:none}.content-upload-zone strong{display:block;margin-bottom:5px}.content-upload-zone span{color:var(--muted);font-size:.82rem}.content-upload-files{display:grid;gap:7px;margin-top:10px}.content-upload-file{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.78rem}.student-booking-calendar button.available{cursor:pointer!important}.student-booking-calendar button.available:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(13,93,184,.16)}
@media(max-width:1050px){.content-workspace{grid-template-columns:1fr}.content-section-menu{position:static;grid-template-columns:repeat(3,1fr)}.commissions-filter-bar{grid-template-columns:1fr 1fr!important}.content-toolbar{grid-template-columns:1fr 1fr}.content-toolbar .dashboard-search-box{grid-column:1/-1}}
@media(max-width:760px){.commissions-header-card,.content-page-hero,.content-panel-header{align-items:flex-start;flex-direction:column}.commissions-header-actions{width:100%}.commissions-header-actions .btn{flex:1}.content-section-menu{grid-template-columns:1fr}.content-toolbar,.commissions-filter-bar{grid-template-columns:1fr!important}.content-record{grid-template-columns:46px minmax(0,1fr)}.content-record>.status-pill,.content-record-actions{grid-column:2}.content-record-actions{flex-wrap:wrap}.content-panel{padding:16px}}


/* ===== V118: padronização final de certificados, filtros, WhatsApp e anexos ===== */
.dashboard-date-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0!important}
.dashboard-date-field>span{font-size:.78rem;font-weight:800;color:#60748a;margin-left:2px;line-height:1}
.dashboard-date-field input[type="date"]{width:100%;height:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;box-sizing:border-box}
.commissions-filter-bar{grid-template-columns:minmax(240px,1fr) 170px minmax(145px,165px) minmax(145px,165px) auto!important;align-items:end!important}
.partner-date-filter{min-width:145px}
#partner-referrals .dashboard-filter-bar{grid-template-columns:minmax(220px,1fr) 150px 170px 155px 155px auto!important;align-items:end!important}

.validation-site-footer{width:100%!important;min-height:70px!important;padding:24px 20px!important;box-sizing:border-box!important;margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border-top:4px solid #f2a000!important}
.validation-page-body .modal-overlay{z-index:9999}
.validation-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.validation-help-grid article{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}
.validation-help-grid article.full{grid-column:1/-1}
.validation-help-icon{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#e9f3ff;color:var(--primary);display:grid;place-items:center;font-weight:900}

.modal-box:has(.certificate-modal-preview){width:min(96vw,1180px)!important;height:min(94vh,900px)!important;max-height:94vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:18px 20px 16px!important}
.modal-box:has(.certificate-modal-preview)>.kicker,.modal-box:has(.certificate-modal-preview)>h2{margin-left:54px!important}
.certificate-modal-preview{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:6px!important}
.certificate-modal-preview .official-certificate{width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(94vh - 190px)!important;aspect-ratio:297/210!important;flex:0 1 auto!important}
.modal-box:has(.certificate-modal-preview)>.certificate-text-actions{flex:0 0 auto!important;margin-top:10px!important;justify-content:center!important}

:root{--floating-whatsapp-size:56px}
.floating-support-button{position:fixed!important;top:auto!important;left:auto!important;width:var(--floating-whatsapp-size)!important;height:var(--floating-whatsapp-size)!important;right:calc(var(--floating-whatsapp-size) * 2)!important;bottom:calc(var(--floating-whatsapp-size) * 2)!important;transform:none!important;z-index:900!important}

.partner-share-message{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px}
.partner-share-message label{font-size:.82rem;font-weight:800;color:#60748a}
.partner-share-message textarea{width:100%;resize:vertical;min-height:92px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;box-sizing:border-box}

.universal-file-drop{border:2px dashed #b8cbe1;border-radius:12px;padding:18px;background:#f8fbff;display:grid;gap:7px;cursor:pointer;transition:.2s}
.universal-file-drop.is-dragover{border-color:var(--primary);background:#edf5ff;transform:translateY(-1px)}
.universal-file-drop .universal-file-hint{font-size:.78rem;color:var(--muted)}
.universal-file-drop input[type=file]{width:100%}

#instructor-finance .dashboard-card-head .btn,#instructor-finance .dashboard-card-head button{min-height:40px!important;padding:9px 14px!important;border-radius:10px!important;font-size:.84rem!important;font-weight:800!important}

@media(max-width:1100px){#partner-referrals .dashboard-filter-bar{grid-template-columns:1fr 1fr!important}.commissions-filter-bar{grid-template-columns:1fr 1fr!important}.dashboard-search-box{grid-column:1/-1}}
@media(max-width:760px){
  #partner-referrals .dashboard-filter-bar,.commissions-filter-bar{grid-template-columns:1fr!important}
  .validation-help-grid{grid-template-columns:1fr}.validation-help-grid article.full{grid-column:auto}
  .validation-site-footer{min-height:58px!important;padding:28px 18px!important;text-align:center!important}
  .modal-box:has(.certificate-modal-preview){height:96vh!important;padding:12px!important}
  .modal-box:has(.certificate-modal-preview)>.kicker,.modal-box:has(.certificate-modal-preview)>h2{margin-left:48px!important}
  .certificate-modal-preview .official-certificate{max-height:calc(96vh - 220px)!important}
  .floating-support-button{right:calc(var(--floating-whatsapp-size) * 2)!important;bottom:calc(var(--floating-whatsapp-size) * 2)!important}
}

/* ===== V119: estabilização e refinamento sem regressões ===== */

/* Home: menu do desktop em uma única linha */
@media (min-width:981px){
  .topbar .container.nav{
    width:min(1400px,calc(100% - 36px))!important;
    max-width:1400px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(14px,2vw,30px)!important;
    flex-wrap:nowrap!important;
  }
  .topbar .brand{min-width:0!important}
  .topbar .brand-logo{width:clamp(168px,15vw,205px)!important}
  .topbar .navlinks{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(11px,1.45vw,24px)!important;
    min-width:0!important;
    font-size:clamp(.77rem,.86vw,.91rem)!important;
  }
  .topbar .navlinks a{white-space:nowrap!important}
  .topbar .nav-actions{display:flex!important;flex-wrap:nowrap!important;white-space:nowrap!important}
  .topbar .nav-actions .btn{padding-inline:clamp(13px,1.25vw,20px)!important}
}

/* WhatsApp: uma vez o tamanho do botão em cada margem */
:root{--floating-whatsapp-size:56px}
.floating-support-button{
  right:var(--floating-whatsapp-size)!important;
  bottom:var(--floating-whatsapp-size)!important;
}
@media(max-width:760px){
  :root{--floating-whatsapp-size:52px}
  .floating-support-button{
    right:var(--floating-whatsapp-size)!important;
    bottom:var(--floating-whatsapp-size)!important;
  }
}

/* Depoimentos: separação clara entre chamada e comentários */
.testimonials-section .section-heading{margin-bottom:38px!important}
.testimonials-section .section-heading .btn{margin-left:24px!important}
@media(max-width:760px){
  .testimonials-section .section-heading{gap:22px!important;margin-bottom:32px!important}
  .testimonials-section .section-heading .btn{margin-left:0!important;align-self:flex-start!important}
}

/* Validador */
.validation-title-icon svg{width:31px;height:31px;display:block}
.validation-site-footer{
  width:100%!important;
  min-height:88px!important;
  padding:28px 22px!important;
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0b3768!important;
  color:#fff!important;
  border-top:5px solid #f2a000!important;
  box-sizing:border-box!important;
}
.validation-help-button{white-space:nowrap}
@media(max-width:800px){
  .validation-site-header{padding:13px 18px!important;align-items:center!important}
  .validation-site-header nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}
  .validation-site-header nav strong{display:none!important}
  .validation-help-button{font-size:.86rem!important;padding:9px 11px!important}
  .validation-title-block{gap:13px!important}
  .validation-title-icon{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:14px!important}
  .validation-title-icon svg{width:26px;height:26px}
  .validation-site-footer{min-height:98px!important;padding:30px 20px!important;font-size:.9rem!important}
}

/* Parceiro: período explícito e funcional */
.partner-overview-period-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:18px!important;
  padding:22px 24px!important;
}
.partner-overview-period-card h2{margin:4px 0 5px!important}
.partner-overview-period-card p{margin:0!important;color:var(--muted)!important;font-weight:700!important}
.partner-overview-period-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.partner-overview-period-controls>label,.partner-overview-custom-period label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:#61758c}
.partner-overview-period-controls select,.partner-overview-custom-period input{
  height:42px!important;min-width:180px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important;font:inherit!important;color:var(--ink)!important;
}
.partner-overview-custom-period{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.partner-overview-custom-period[hidden]{display:none!important}
.partner-overview-custom-period input{min-width:145px!important}
.partner-overview-metrics .dashboard-metric-card small{min-height:2.2em}
@media(max-width:900px){
  .partner-overview-period-card{align-items:flex-start!important;flex-direction:column!important}
  .partner-overview-period-controls{width:100%;justify-content:flex-start}
}
@media(max-width:620px){
  .partner-overview-period-controls,.partner-overview-custom-period{display:grid;width:100%;grid-template-columns:1fr}
  .partner-overview-period-controls>label,.partner-overview-custom-period label{width:100%}
  .partner-overview-period-controls select,.partner-overview-custom-period input{width:100%!important;min-width:0!important}
}

/* Cartilha do instrutor e dicas de perfil */
.instructor-guide-grid{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;align-items:start!important}
.guide-message-list{display:grid;gap:14px}
.guide-message-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdff}
.guide-message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.guide-message-heading>div{display:grid;gap:3px}
.guide-message-heading span:not(.status-pill){font-size:.78rem;color:var(--muted)}
.guide-message-preview{margin:13px 0!important;padding:13px 14px!important;border-left:3px solid var(--primary)!important;border-radius:0 10px 10px 0!important;background:#eef5ff!important;color:#314d6c!important;font-size:.87rem!important;line-height:1.5!important}
.guide-message-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.guide-customize-form{display:grid;gap:14px}
.guide-customize-form label{display:grid;gap:7px;font-size:.78rem;font-weight:800;color:#61758c}
.guide-customize-form textarea{width:100%;min-height:150px;resize:vertical}
.guide-customize-preview{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faff;color:#324d69;line-height:1.5;white-space:pre-wrap}
.profile-completion-value{font-size:1.45rem;color:var(--primary)}
.profile-completion-track{height:8px;border-radius:999px;background:#e5edf6;overflow:hidden;margin:0 0 18px}
.profile-completion-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.profile-tip-list{display:grid;gap:4px}
.profile-tip-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:11px 3px;border-bottom:1px solid #edf1f6}
.profile-tip-item>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf3fa;color:#536c86;font-weight:900;font-size:.8rem}
.profile-tip-item.is-complete>span{background:#e9f7ed;color:#2f7d3e}
.profile-tip-item div{display:grid;gap:3px}
.profile-tip-item small{color:var(--muted);line-height:1.35}
@media(max-width:1050px){.instructor-guide-grid{grid-template-columns:1fr!important}}
@media(max-width:620px){.guide-message-actions .btn,.guide-message-actions a{flex:1 1 100%;text-align:center}.guide-message-heading{align-items:flex-start}}

/* Certificado: conteúdo real dentro do #modalContent, sem colapso e sem rolagem */
.modal-box:has(.certificate-modal-preview){
  width:min(96vw,1180px)!important;
  height:min(94vh,880px)!important;
  max-height:94vh!important;
  overflow:hidden!important;
  padding:16px 18px 14px!important;
  display:block!important;
}
.modal-box:has(.certificate-modal-preview) .close-modal{
  top:16px!important;left:16px!important;right:auto!important;z-index:20!important;
}
#modalContent:has(.certificate-modal-preview){
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.certificate-modal-heading{flex:0 0 auto;padding-left:54px;padding-right:16px;margin-bottom:8px;min-height:46px}
.certificate-modal-heading .kicker{margin:0 0 2px!important}
.certificate-modal-heading h2{font-size:clamp(1.45rem,2.4vw,2.35rem)!important;margin:0!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#modalContent:has(.certificate-modal-preview) .certificate-modal-preview{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 8px!important;
  border:1px solid #d8e4f1!important;
  border-radius:14px!important;
  background:#eef3f9!important;
}
#modalContent:has(.certificate-modal-preview) .certificate-modal-preview .official-certificate{
  display:block!important;
  width:min(100%,980px)!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:calc(94vh - 180px)!important;
  aspect-ratio:297/210!important;
  flex:0 1 auto!important;
  visibility:visible!important;
  opacity:1!important;
}
#modalContent:has(.certificate-modal-preview) .certificate-text-actions{
  flex:0 0 auto!important;
  display:flex!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:10px 0 0!important;
}
#modalContent:has(.certificate-modal-preview) .certificate-text-actions .btn{min-height:38px!important}
@media(max-width:760px){
  .modal-box:has(.certificate-modal-preview){width:calc(100vw - 14px)!important;height:96vh!important;max-height:96vh!important;padding:10px!important;border-radius:18px!important}
  .modal-box:has(.certificate-modal-preview) .close-modal{top:11px!important;left:11px!important}
  .certificate-modal-heading{padding-left:46px!important;padding-right:4px!important;min-height:42px!important;margin-bottom:6px!important}
  .certificate-modal-heading h2{font-size:1.25rem!important}
  #modalContent:has(.certificate-modal-preview) .certificate-modal-preview{padding:3px!important}
  #modalContent:has(.certificate-modal-preview) .certificate-modal-preview .official-certificate{width:100%!important;max-height:calc(96vh - 235px)!important}
  #modalContent:has(.certificate-modal-preview) .certificate-text-actions{gap:6px!important}
  #modalContent:has(.certificate-modal-preview) .certificate-text-actions .btn{flex:1 1 46%!important;font-size:.78rem!important;padding:8px 9px!important;text-align:center!important}
}

/* Upload: fotos permanecem intactas; anexos aceitam arrastar sem texto instrucional */
.content-upload-zone{padding:22px!important}
.content-upload-zone strong{margin:0!important;color:var(--primary)!important}
.content-upload-zone .content-upload-selection:empty{display:none!important}
.universal-file-drop{padding:10px!important;gap:6px!important;background:#fff!important;border:1px solid var(--line)!important}
.universal-file-drop.is-dragover{border:2px dashed var(--primary)!important;background:#edf5ff!important}
.universal-file-selection{font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}
.photo-upload-box .universal-file-drop,.photo-upload-box .universal-file-selection{display:contents!important}

/* Padronização conservadora dos controles do dashboard */
.dashboard-body .btn:not(.btn-sm){min-height:42px}
.dashboard-body .btn.btn-sm{min-height:36px}
.dashboard-filter-bar input,.dashboard-filter-bar select,.dashboard-date-field input{height:42px!important;box-sizing:border-box!important}
@media(max-width:760px){
  .modal-box:has(.certificate-modal-preview){height:auto!important;max-height:96vh!important;overflow:hidden!important}
  #modalContent:has(.certificate-modal-preview){height:auto!important;max-height:calc(96vh - 20px)!important}
  #modalContent:has(.certificate-modal-preview) .certificate-modal-preview{flex:0 0 auto!important;min-height:0!important}
}


/* ===== V120: padronização de anexos, gráficos, solicitações e equipe ===== */
.validation-title-icon svg{width:30px;height:30px}

/* Botão nativo de seleção de arquivos no mesmo padrão visual dos botões secundários. */
.content-manager-form input[type="file"]:not([accept^="image/"]),
.bulk-question-import input[type="file"],
.universal-file-drop input[type="file"]:not([accept^="image/"]){
  min-height:46px!important;
  padding:4px 6px!important;
  line-height:34px!important;
}
.content-manager-form input[type="file"]:not([accept^="image/"])::file-selector-button,
.bulk-question-import input[type="file"]::file-selector-button,
.universal-file-drop input[type="file"]:not([accept^="image/"])::file-selector-button{
  height:36px;
  margin:0 10px 0 0;
  padding:0 14px;
  border:1px solid #C9DCF1;
  border-radius:10px;
  background:#EAF2FC;
  color:var(--primary);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.content-manager-form input[type="file"]:not([accept^="image/"])::file-selector-button:hover,
.bulk-question-import input[type="file"]::file-selector-button:hover,
.universal-file-drop input[type="file"]:not([accept^="image/"])::file-selector-button:hover{background:#DDEBFA}

.content-panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.bulk-question-import{display:grid;gap:14px;margin-top:16px}
.bulk-question-import>label{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:800}
.bulk-question-step{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#F8FBFF}
.bulk-question-step div{display:grid;gap:3px}.bulk-question-step small{color:var(--muted);line-height:1.4}
.bulk-question-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.bulk-question-divider::before,.bulk-question-divider::after{content:"";height:1px;background:var(--line);flex:1}
.bulk-question-summary{padding:13px 15px;border-radius:13px;background:#F1F6FC;border:1px solid #D6E3F2;display:grid;gap:3px}
.bulk-question-summary span{color:var(--muted);font-size:.8rem}

/* Linha zero correta: colunas terminam na linha e os meses ficam abaixo. */
.bar-track{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
.bar-track span{bottom:0}

.finance-chart-bars{position:relative;border-bottom:0!important;padding-bottom:0!important;align-items:stretch!important}
.finance-chart-bars::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:1px;background:var(--line);pointer-events:none}
.finance-chart-bars>div{display:grid!important;grid-template-rows:20px minmax(0,1fr) 26px!important;align-items:end!important;justify-items:center!important;gap:0!important;min-width:0}
.finance-chart-bars>div strong{align-self:end;margin-bottom:4px;font-size:.64rem;color:#456078;white-space:nowrap}
.finance-chart-bars>div span{align-self:end;margin:0!important;border-radius:8px 8px 0 0!important;z-index:1}
.finance-chart-bars>div small{align-self:center;z-index:1}
.finance-chart-grid{padding-bottom:26px!important}

.admin-chart-plot,.partner-chart-plot{position:relative;border-bottom:0!important}
.admin-chart-plot::after,.partner-chart-plot::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:1px;background:var(--line);pointer-events:none}
.admin-chart-column span,.partner-chart-plot>div span{align-self:end;z-index:1;border-radius:8px 8px 0 0!important}
.admin-chart-column small,.partner-chart-plot>div small{z-index:1}

.filter-segmented-control{display:inline-flex;align-items:center;padding:3px;border:1px solid #CFE0F3;border-radius:12px;background:#F6F9FC;gap:2px}
.filter-segmented-control button{height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:#60748A;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap}
.filter-segmented-control button:hover{background:#EAF2FC;color:var(--primary)}
.filter-segmented-control button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(18,56,95,.12)}

.internal-role-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.internal-role-summary article{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#F9FBFD;display:grid;gap:4px}
.internal-role-summary span{color:var(--muted);font-size:.78rem;line-height:1.4}
#internalTeamTable td:first-child strong,#internalTeamTable td:first-child small{display:block}
#internalTeamTable td:first-child small{color:var(--muted);margin-top:3px}
.internal-access-note{margin-top:14px}
.internal-user-form{display:grid;gap:15px;margin-top:14px}.internal-user-form>label{display:grid;gap:6px;font-size:.8rem;font-weight:800;color:var(--muted)}
.internal-user-form fieldset{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.internal-user-form legend{padding:0 6px;font-weight:900;color:var(--ink)}
.internal-user-form fieldset label{display:flex;gap:8px;align-items:center;color:var(--ink);font-size:.84rem}

@media(max-width:820px){
  .content-panel-actions{width:100%;justify-content:flex-start}
  .bulk-question-step{align-items:flex-start;flex-direction:column}
  .filter-segmented-control{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .filter-segmented-control button{padding:0 8px}
  .internal-role-summary{grid-template-columns:1fr}
  .internal-user-form fieldset{grid-template-columns:1fr}
}


/* ===== V121: ícones do validador ===== */
.validation-submit-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.validation-submit-icon{width:25px!important;height:25px!important;display:inline-grid!important;place-items:center!important;flex:0 0 25px!important}
.validation-submit-icon svg{width:25px!important;height:25px!important;display:block!important}
.validation-result-head.is-valid .validation-result-icon{background:#2F7D3E!important;color:#fff!important}
.validation-result-head.is-invalid .validation-result-icon{background:#A52D2D!important;color:#fff!important}
.validation-result-icon svg{width:30px!important;height:30px!important;display:block!important}
@media(max-width:620px){.validation-submit-icon,.validation-submit-icon svg{width:23px!important;height:23px!important}.validation-result-icon svg{width:27px!important;height:27px!important}}

/* ===== V122: autenticação do certificado sem sobreposição ===== */
.validation-result-content{
  grid-template-columns:minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}
.validation-result-content dl{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:28px!important;
  align-content:start!important;
  background:#fff!important;
}
.validation-result-content dl div{
  grid-template-columns:minmax(130px,160px) minmax(0,1fr)!important;
  min-width:0!important;
}
.validation-result-content dt,
.validation-result-content dd{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.validation-certificate-preview{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:940px!important;
  margin:0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  clear:both!important;
}
.validation-certificate-preview .official-certificate{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:940px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  transform:none!important;
}
@media(max-width:760px){
  .validation-result-content dl{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  .validation-result-content dl div{
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .validation-certificate-preview{max-width:100%!important}
}

/* ===== Editor de modelos de certificado V123 ===== */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.btn-danger{background:#fff;color:#b42318;border:1px solid #f2b8b5}
.btn-danger:hover{background:#fff4f3;border-color:#e98b85}
.certificate-designer-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}
.certificate-designer-header h2{margin:4px 0 6px;font-size:1.65rem;color:#12385f}
.certificate-designer-header p{margin:0;color:#60748a;max-width:760px}
.certificate-designer-header-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.certificate-designer-layout{display:grid;grid-template-columns:230px minmax(560px,1fr) 320px;gap:14px;align-items:start}
.certificate-template-library,.certificate-element-panel{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto}
.certificate-template-list{display:grid;gap:9px;margin-bottom:12px}
.certificate-template-card{width:100%;display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #d8e4f1;border-radius:12px;background:#fff;padding:8px;cursor:pointer;color:#14304d}
.certificate-template-card:hover{border-color:#8cb7e6;background:#f7fbff}
.certificate-template-card.active{border-color:#1464c0;box-shadow:0 0 0 2px rgba(20,100,192,.12)}
.certificate-template-card img{width:62px;aspect-ratio:4/3;object-fit:cover;border-radius:7px;border:1px solid #e1eaf4;background:#f5f8fc}
.certificate-template-card strong,.certificate-template-card small{display:block}
.certificate-template-card small{color:#6b7f94;margin-top:3px;font-size:.72rem}
.certificate-template-badge{display:inline-flex!important;margin-top:5px!important;width:max-content;padding:3px 7px;border-radius:999px;background:#e8f3ff;color:#0d5db8!important;font-weight:800;font-size:.64rem!important}
.certificate-template-library>.btn{margin-top:8px}
.certificate-asset-settings{border-top:1px solid #e1eaf4;margin-top:16px;padding-top:14px;display:grid;gap:12px}
.certificate-file-button{min-height:42px}
.certificate-file-button.is-dragging{border-color:#1464c0!important;background:#edf6ff!important}
.certificate-designer-workspace{min-width:0}
.certificate-designer-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}
.certificate-model-name-field{max-width:420px;flex:1;margin:0}
.certificate-designer-status{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;background:#e8f3ff;color:#0d5db8;font-weight:800;font-size:.78rem;white-space:nowrap}
.certificate-designer-status.is-draft{background:#fff5df;color:#986000}
.certificate-canvas-stage{padding:18px;border:1px solid #d8e4f1;border-radius:14px;background:#e9eff6;overflow:auto}
.certificate-designer-canvas{position:relative;width:100%;max-width:1120px;aspect-ratio:4/3;margin:auto;background:#fff;box-shadow:0 12px 28px rgba(22,52,82,.16);overflow:hidden;container-type:inline-size;touch-action:none;user-select:none}
.certificate-designer-canvas>.certificate-designer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.certificate-editor-element{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:18px;min-height:18px;cursor:move;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px dashed transparent}
.certificate-editor-element:hover{border-color:rgba(13,93,184,.65);background:rgba(231,242,255,.18)}
.certificate-editor-element.selected{border:2px solid #0d5db8;background:rgba(232,244,255,.22);box-shadow:0 0 0 3px rgba(13,93,184,.14)}
.certificate-editor-element.selected::after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:2px 0 0 0;background:#0d5db8;box-shadow:-1px -1px 0 #fff}
.certificate-editor-element img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.certificate-designer-help{text-align:center;color:#667b90;font-size:.8rem;margin:10px 0 0}
.certificate-add-element-row{display:grid;grid-template-columns:1fr;gap:8px}
.certificate-add-element-row select{width:100%}
.certificate-quick-elements{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}
.certificate-element-list{display:grid;gap:6px;max-height:220px;overflow:auto;padding-right:2px;margin-bottom:14px}
.certificate-element-list-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:8px 10px;border:1px solid #d8e4f1;border-radius:9px;background:#fff;color:#14304d;text-align:left;cursor:pointer}
.certificate-element-list-button:hover,.certificate-element-list-button.active{border-color:#1464c0;background:#f2f8ff}
.certificate-element-list-button small{color:#71859a}
.certificate-element-controls{border-top:1px solid #e1eaf4;padding-top:14px}
.certificate-empty-selection{padding:18px;border:1px dashed #c7d7e8;border-radius:10px;color:#71859a;text-align:center;background:#f8fbff;font-size:.82rem}
.certificate-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.certificate-control-grid .full{grid-column:1/-1}
.certificate-control-grid label{display:block;font-size:.72rem;font-weight:800;color:#425d78;margin-bottom:4px}
.certificate-control-grid input,.certificate-control-grid select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #ccdbea;border-radius:8px;background:#fff;color:#14304d}
.certificate-control-grid input[type="color"]{padding:3px;height:38px}
.certificate-visibility-toggle{display:flex!important;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid #d8e4f1;border-radius:8px;font-weight:700!important;margin:0!important}
.certificate-visibility-toggle input{width:auto;min-height:0}
.certificate-remove-element{margin-top:11px;width:100%}

/* O certificado emitido passa a respeitar o modelo salvo no editor. */
.certificate-template-canvas{container-type:inline-size}
.certificate-runtime-element{position:absolute;z-index:2;display:flex;align-items:center;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.05}
.certificate-runtime-element img{width:100%;height:100%;object-fit:contain;display:block}
.certificate-runtime-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;user-select:none}

@media(max-width:1500px){
  .certificate-designer-layout{grid-template-columns:210px minmax(480px,1fr) 290px}
}
@media(max-width:1180px){
  .certificate-designer-layout{grid-template-columns:210px minmax(0,1fr)}
  .certificate-element-panel{grid-column:1/-1;position:static;max-height:none}
  .certificate-element-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:14px}
  .certificate-element-panel>.dashboard-card-head,.certificate-element-panel>.certificate-add-element-row,.certificate-element-panel>.certificate-quick-elements{grid-column:1}
  .certificate-element-list{grid-column:1;max-height:none}
  .certificate-element-controls{grid-column:2;grid-row:1/5;border-top:0;padding-top:0}
}
@media(max-width:820px){
  .certificate-designer-header{align-items:flex-start;flex-direction:column}
  .certificate-designer-header-actions{justify-content:flex-start}
  .certificate-designer-layout{grid-template-columns:1fr}
  .certificate-template-library,.certificate-element-panel{position:static;max-height:none}
  .certificate-template-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .certificate-element-panel{display:block}
  .certificate-canvas-stage{padding:8px}
  .certificate-designer-toolbar{align-items:stretch;flex-direction:column}
  .certificate-designer-status{width:max-content}
}
@media(max-width:560px){
  .certificate-template-list{grid-template-columns:1fr}
  .certificate-designer-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .certificate-designer-header-actions .btn:last-child{grid-column:1/-1}
  .certificate-control-grid{grid-template-columns:1fr}
  .certificate-control-grid .full{grid-column:auto}
}
.certificate-format-field{width:150px;margin:0}
@media(max-width:820px){.certificate-format-field{width:100%}}


/* ===== Editor avançado de certificados V124 ===== */
.certificate-designer-layout{
  --certificate-library-width:230px;
  --certificate-elements-width:320px;
  --certificate-workspace-min:560px;
  grid-template-columns:var(--certificate-library-width) minmax(var(--certificate-workspace-min),1fr) var(--certificate-elements-width)!important;
  position:relative;
}
.certificate-designer-layout[data-layout-mode="vertical"]{grid-template-columns:1fr!important}
.certificate-designer-layout[data-layout-mode="models-top"]{grid-template-columns:minmax(0,1fr) var(--certificate-elements-width)!important}
.certificate-designer-layout[data-layout-mode="models-top"] [data-certificate-panel="library"]{grid-column:1/-1}
.certificate-designer-layout[data-layout-mode="models-bottom"]{grid-template-columns:minmax(0,1fr) var(--certificate-elements-width)!important}
.certificate-designer-layout[data-layout-mode="models-bottom"] [data-certificate-panel="library"]{grid-column:1/-1;order:3}
.certificate-designer-layout[data-layout-mode="models-bottom"] [data-certificate-panel="workspace"]{order:1}
.certificate-designer-layout[data-layout-mode="models-bottom"] [data-certificate-panel="elements"]{order:2}
.certificate-designer-toolbar{display:grid!important;grid-template-columns:minmax(210px,1.2fr) 170px 155px 190px minmax(290px,.9fr) auto auto;align-items:end!important;gap:10px!important}
.certificate-designer-toolbar .dashboard-form-group{margin:0!important}
.certificate-model-name-field{max-width:none!important}
.certificate-format-field,.certificate-unit-field,.certificate-layout-field{width:auto!important;min-width:0}
.certificate-zoom-controls{display:grid;grid-template-columns:36px minmax(100px,1fr) 52px 36px auto;gap:6px;align-items:center;min-height:42px}
.certificate-zoom-controls .btn{min-width:36px!important;height:38px!important;padding:6px 9px!important}
.certificate-zoom-controls input[type="range"]{width:100%;accent-color:var(--primary)}
.certificate-zoom-controls output{font-size:.75rem;font-weight:900;color:#183c61;text-align:center}
.certificate-maximize-button{min-height:42px;white-space:nowrap}
.certificate-canvas-stage{position:relative;min-height:430px;display:flex;align-items:flex-start;justify-content:flex-start;overflow:auto!important;scrollbar-gutter:stable;background:#e9eff6!important}
.certificate-designer-canvas{flex:0 0 auto;width:100%;max-width:none!important;margin:auto!important;transform-origin:top left}
.certificate-designer-canvas>.certificate-designer-bg,
.certificate-runtime-bg{object-fit:contain!important;background:#fff!important}
.certificate-designer-workspace.is-maximized{position:fixed!important;inset:12px!important;z-index:5000!important;max-width:none!important;width:auto!important;height:auto!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-shadow:0 20px 70px rgba(5,31,58,.35)!important}
.certificate-designer-workspace.is-maximized .certificate-canvas-stage{flex:1;min-height:0}
.certificate-designer-workspace.is-maximized .certificate-designer-toolbar{position:relative;z-index:2}
body.certificate-editor-open{overflow:hidden!important}
.certificate-panel-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:auto;border:1px solid #d6e2ef;border-radius:8px;background:#f7faff;color:#6a7f94;cursor:grab;font-size:1rem;line-height:1;user-select:none}
.certificate-panel-drag-handle:active{cursor:grabbing}
[data-certificate-panel]{position:relative!important;min-width:180px;box-sizing:border-box}
[data-certificate-panel].is-panel-dragging{opacity:.5}
[data-certificate-panel].is-panel-drop-target{outline:3px solid rgba(20,100,192,.28);outline-offset:3px}
.certificate-panel-resize-handle{position:absolute;z-index:25;background:transparent}
.certificate-panel-resize-handle[data-edge="right"]{top:10px;right:-5px;width:10px;height:calc(100% - 20px);cursor:ew-resize}
.certificate-panel-resize-handle[data-edge="left"]{top:10px;left:-5px;width:10px;height:calc(100% - 20px);cursor:ew-resize}
.certificate-panel-resize-handle[data-edge="bottom"]{left:10px;bottom:-5px;width:calc(100% - 20px);height:10px;cursor:ns-resize}
.certificate-panel-resize-handle[data-edge="top"]{left:10px;top:-5px;width:calc(100% - 20px);height:10px;cursor:ns-resize}
.certificate-panel-resize-handle:hover{background:rgba(20,100,192,.08)}
.certificate-editor-element.selected::after{display:none!important}
.certificate-element-resize-handle{position:absolute!important;z-index:6!important;width:10px!important;height:10px!important;border:2px solid #fff!important;border-radius:50%!important;background:#0d5db8!important;box-shadow:0 0 0 1px #0d5db8!important}
.certificate-element-resize-handle[data-direction="nw"]{left:-6px;top:-6px;cursor:nwse-resize}
.certificate-element-resize-handle[data-direction="n"]{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}
.certificate-element-resize-handle[data-direction="ne"]{right:-6px;top:-6px;cursor:nesw-resize}
.certificate-element-resize-handle[data-direction="e"]{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.certificate-element-resize-handle[data-direction="se"]{right:-6px;bottom:-6px;cursor:nwse-resize}
.certificate-element-resize-handle[data-direction="s"]{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}
.certificate-element-resize-handle[data-direction="sw"]{left:-6px;bottom:-6px;cursor:nesw-resize}
.certificate-element-resize-handle[data-direction="w"]{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.certificate-control-field-with-unit{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:6px}
.certificate-control-field-with-unit select{pointer-events:none;background:#f3f7fb!important;color:#60748a!important}
.certificate-font-preview{grid-column:1/-1;padding:10px 12px;border:1px solid #d8e4f1;border-radius:9px;background:#f8fbff;color:#14304d;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-background-note{margin-top:8px;padding:9px 10px;border-radius:9px;background:#eef6ff;color:#315a83;font-size:.72rem;line-height:1.4}
@media(max-width:1650px){
  .certificate-designer-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr))}
  .certificate-zoom-controls{grid-column:1/4}
}
@media(max-width:1180px){
  .certificate-designer-layout{grid-template-columns:var(--certificate-library-width) minmax(0,1fr)!important}
  .certificate-designer-toolbar{grid-template-columns:1fr 1fr!important}
  .certificate-zoom-controls{grid-column:1/-1}
}
@media(max-width:820px){
  .certificate-designer-layout,.certificate-designer-layout[data-layout-mode]{grid-template-columns:1fr!important}
  .certificate-designer-toolbar{grid-template-columns:1fr!important}
  .certificate-zoom-controls{grid-column:auto;grid-template-columns:36px minmax(80px,1fr) 48px 36px auto}
  .certificate-maximize-button{width:100%}
  .certificate-panel-resize-handle{display:none}
}


/* ===== Organizador responsivo dos painéis do certificado V125 ===== */
.certificate-designer-layout{
  display:grid!important;
  gap:14px!important;
  align-items:stretch!important;
  overflow:visible!important;
  isolation:isolate;
}
.certificate-designer-layout>[data-certificate-panel]{
  position:relative!important;
  top:auto!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  align-self:stretch!important;
  container-type:inline-size;
}
.certificate-designer-layout>[data-certificate-panel]>*{max-width:100%;box-sizing:border-box}
.certificate-template-library,.certificate-element-panel{position:relative!important;top:auto!important}
.certificate-element-list{max-height:none!important}
.certificate-layout-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.certificate-layout-control-row .btn{min-height:42px!important;padding-inline:10px!important}
.certificate-panel-drag-handle{flex:0 0 auto;touch-action:none}
.certificate-designer-layout.is-reorganizing>[data-certificate-panel]{transition:outline-color .15s ease,background-color .15s ease}
.certificate-designer-layout.is-reorganizing>[data-certificate-panel]:not(.is-panel-dragging){outline:2px dashed rgba(20,100,192,.22);outline-offset:-7px}
[data-certificate-panel].is-panel-drop-target{
  outline:3px solid #1464c0!important;
  outline-offset:3px!important;
  background:#f7fbff!important;
}
.certificate-panel-resize-handle{z-index:40!important}
.certificate-panel-resize-handle::after{content:"";position:absolute;border-radius:999px;background:#9cb7d1;opacity:0;transition:opacity .15s ease}
.certificate-panel-resize-handle[data-edge="left"]::after,.certificate-panel-resize-handle[data-edge="right"]::after{top:35%;bottom:35%;left:4px;width:2px}
.certificate-panel-resize-handle[data-edge="top"]::after,.certificate-panel-resize-handle[data-edge="bottom"]::after{left:35%;right:35%;top:4px;height:2px}
.certificate-panel-resize-handle:hover::after,.certificate-designer-layout.is-resizing-panels .certificate-panel-resize-handle::after{opacity:1}
.certificate-designer-layout.is-resizing-panels{user-select:none;cursor:grabbing}
.certificate-canvas-stage{min-width:0!important;width:100%!important}
.certificate-designer-canvas{min-width:0!important}

/* O conteúdo passa a responder à largura do espaço, não ao tipo do painel. */
@container (max-width: 679px){
  [data-certificate-panel="workspace"] .certificate-designer-toolbar{grid-template-columns:1fr 1fr!important}
  [data-certificate-panel="workspace"] .certificate-zoom-controls{grid-column:1/-1!important}
  [data-certificate-panel="workspace"] .certificate-model-name-field{grid-column:1/-1}
  [data-certificate-panel="workspace"] .certificate-designer-status{justify-self:start}
  [data-certificate-panel="elements"] .certificate-control-grid{grid-template-columns:1fr!important}
  [data-certificate-panel="elements"] .certificate-control-grid .full{grid-column:auto!important}
  [data-certificate-panel="library"] .certificate-template-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
}
@container (max-width: 359px){
  [data-certificate-panel="workspace"] .certificate-designer-toolbar{grid-template-columns:1fr!important}
  [data-certificate-panel="workspace"] .certificate-zoom-controls{grid-column:auto!important;grid-template-columns:34px minmax(58px,1fr) 46px 34px!important}
  [data-certificate-panel="workspace"] .certificate-zoom-controls #certificateZoomFit{grid-column:1/-1;width:100%}
  [data-certificate-panel="workspace"] .certificate-maximize-button{width:100%}
  [data-certificate-panel="elements"] .certificate-add-element-row{grid-template-columns:1fr!important}
  [data-certificate-panel="elements"] .certificate-quick-elements{display:grid!important;grid-template-columns:1fr!important}
  [data-certificate-panel="library"] .certificate-template-list{grid-template-columns:1fr!important}
}
@container (min-width: 680px){
  [data-certificate-panel="library"] .certificate-template-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  [data-certificate-panel="elements"] .certificate-element-panel{display:block}
}
@media(max-width:820px){
  .certificate-designer-layout,.certificate-designer-layout[data-layout-mode]{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .certificate-designer-layout>[data-certificate-panel]{grid-column:1!important;grid-row:auto!important}
  .certificate-layout-control-row{grid-template-columns:1fr}
}

/* Alças fora do fluxo: não empurram nem sobrepõem os campos dos painéis. */
.certificate-designer-layout>[data-certificate-panel]>.certificate-panel-drag-handle,
.certificate-designer-layout>[data-certificate-panel] .certificate-panel-drag-handle{position:absolute!important;top:10px!important;right:10px!important;margin:0!important;z-index:60!important}
.certificate-designer-layout>[data-certificate-panel]>.dashboard-card-head,
.certificate-designer-layout>[data-certificate-panel]>.certificate-designer-toolbar{padding-right:42px!important;position:relative!important}


/* ===== Controles avançados do editor de certificados V126 ===== */
.certificate-quick-elements{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
.certificate-quick-elements .btn{width:100%;justify-content:center;min-width:0}
.certificate-quick-elements .btn.is-dragging{border-color:#1464c0!important;background:#edf6ff!important}
.certificate-control-section{padding:12px;border:1px solid #d8e4f1;border-radius:11px;background:#f9fbfe;margin-bottom:10px}
.certificate-control-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#264866;font-size:.78rem;font-weight:850}
.certificate-control-section-title small{font-size:.68rem;font-weight:700;color:#71859a}
.certificate-nudge-grid{display:grid;grid-template-columns:38px 38px 38px;grid-template-rows:34px 34px 34px;gap:5px;justify-content:center;align-items:center}
.certificate-nudge-grid .btn{min-width:38px!important;width:38px!important;height:34px!important;padding:0!important;font-size:1.05rem!important}
.certificate-nudge-center{display:flex;align-items:center;justify-content:center;height:34px;border:1px dashed #c8d8e8;border-radius:8px;color:#71859a;font-size:.64rem;font-weight:800}
.certificate-move-section>small{display:block;margin-top:8px;color:#71859a;text-align:center;font-size:.68rem;line-height:1.4}
.certificate-layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.certificate-layer-actions .btn{min-height:36px!important;padding:7px 8px!important;white-space:normal!important;line-height:1.15!important}
.certificate-editor-element[data-element-type="line"],.certificate-editor-element[data-element-type="shape"]{min-width:6px;min-height:4px}
.certificate-editor-element[data-element-type="line"]:hover,.certificate-editor-element[data-element-type="shape"]:hover{filter:brightness(.98)}
.certificate-runtime-element[data-element-type="line"],.certificate-runtime-element[data-element-type="shape"]{white-space:normal}
@container (max-width: 359px){
  .certificate-quick-elements{grid-template-columns:1fr!important}
  .certificate-layer-actions{grid-template-columns:1fr}
}

/* ===== Melhorias editor certificado e sidebar V127 ===== */
.dashboard-sidebar-tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:8px 0 10px}
.dashboard-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:.18s ease}
.dashboard-sidebar-toggle:hover,.dashboard-sidebar-toggle.active{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.36)}
.dashboard-sidebar-toggle svg{width:18px;height:18px;fill:currentColor}
.dashboard-shell.has-sidebar-icons .dashboard-sidebar{width:92px}
.dashboard-shell.has-sidebar-icons .dashboard-logo img{max-width:44px}
.dashboard-shell.has-sidebar-icons .dashboard-role,
.dashboard-shell.has-sidebar-icons .dashboard-nav button span:not(.dashboard-nav-icon),
.dashboard-shell.has-sidebar-icons .dashboard-sidebar-footer a{display:none}
.dashboard-shell.has-sidebar-icons .dashboard-nav button{justify-content:center;padding-inline:10px}
.dashboard-shell.has-sidebar-icons .dashboard-sidebar-footer{align-items:center}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{width:22px;min-width:22px;padding-inline:0;overflow:visible}
.dashboard-shell.has-sidebar-collapsed .dashboard-logo,
.dashboard-shell.has-sidebar-collapsed .dashboard-role,
.dashboard-shell.has-sidebar-collapsed .dashboard-nav,
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-footer{display:none}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-tools{position:absolute;top:12px;left:100%;margin-left:10px;z-index:1200;flex-direction:column;background:#14304d;border-radius:12px;padding:8px;box-shadow:0 14px 34px rgba(7,28,49,.28)}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-toggle{width:36px;height:36px}

.certificate-designer-workspace.is-maximized{inset:16px!important;width:calc(100vw - 32px)!important;height:calc(100vh - 32px)!important;max-height:none!important;background:#fff!important;z-index:9500!important}
.certificate-designer-workspace.is-maximized .certificate-canvas-stage{padding:14px;display:flex;align-items:flex-start;justify-content:center}
.certificate-editor-element.multi-selected{box-shadow:0 0 0 2px rgba(13,93,184,.14);border-color:rgba(13,93,184,.72);background:rgba(232,244,255,.16)}
.certificate-selection-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.certificate-selection-toolbar .btn{min-height:36px}
.certificate-selection-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.certificate-selection-actions .btn{min-height:36px;padding-inline:8px}
.certificate-bulk-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#eef6ff;color:#163a5c;font-size:.78rem;font-weight:800;margin-bottom:10px}
.certificate-align-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.certificate-align-grid .btn{min-height:34px;padding:6px 8px}
.certificate-group-note{margin-top:8px;color:#6c8197;font-size:.72rem;line-height:1.45}
.certificate-text-align-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.certificate-text-align-buttons .btn{min-height:34px;padding:6px 8px;font-size:.74rem}
.certificate-layout-buttons{display:flex;gap:6px;flex-wrap:wrap}
.certificate-layout-buttons .btn{min-width:40px;padding-inline:10px}
.certificate-element-list-button.is-grouped span::after{content:" • grupo";font-size:.7rem;color:#6b7f94;font-weight:700}
@media(max-width:760px){
  .certificate-selection-toolbar,.certificate-selection-actions,.certificate-align-grid,.certificate-text-align-buttons{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .certificate-selection-toolbar,.certificate-selection-actions,.certificate-align-grid,.certificate-text-align-buttons{grid-template-columns:1fr}
}

/* ===== Sidebar lateral e histórico do editor V128 ===== */
.dashboard-shell{transition:grid-template-columns .2s ease!important}
.dashboard-sidebar{width:auto!important;min-width:0!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:visible!important;background:#102f57!important;min-height:100vh!important;height:100vh!important}
.dashboard-shell.has-sidebar-icons{grid-template-columns:82px minmax(0,1fr)!important}
.dashboard-shell.has-sidebar-icons .dashboard-sidebar{padding:14px 10px!important;gap:8px!important}
.dashboard-shell.has-sidebar-icons .dashboard-logo,
.dashboard-shell.has-sidebar-icons .dashboard-role,
.dashboard-shell.has-sidebar-icons .dashboard-sidebar-footer{display:none!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav{gap:5px!important;margin-top:8px}
.dashboard-shell.has-sidebar-icons .dashboard-nav button{font-size:0!important;justify-content:center!important;gap:0!important;padding:5px!important;min-height:54px!important;overflow:hidden!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav-icon{width:44px!important;height:44px!important;border-radius:11px!important;background:transparent!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav-icon svg{width:25px!important;height:25px!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav button.active{background:rgba(255,255,255,.12)!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav button.active .dashboard-nav-icon{color:#fff!important}
.dashboard-shell.has-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)!important}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{width:0!important;min-width:0!important;padding:0!important;border:0!important;overflow:visible!important}
.dashboard-shell.has-sidebar-collapsed .dashboard-logo,
.dashboard-shell.has-sidebar-collapsed .dashboard-role,
.dashboard-shell.has-sidebar-collapsed .dashboard-nav,
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-footer{display:none!important}
.dashboard-sidebar-tools{display:none!important}
.dashboard-sidebar-edge-toggle{position:fixed;z-index:6000;top:50%;left:260px;transform:translateY(-50%);width:22px;height:46px;border:1px solid rgba(255,255,255,.22);border-left:0;border-radius:0 11px 11px 0;background:#102f57;color:#dce9f7;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:4px 4px 14px rgba(8,31,55,.16);transition:left .2s ease,background .15s ease}
.dashboard-sidebar-edge-toggle:hover{background:#173d69;color:#fff}
.dashboard-sidebar-edge-toggle::before{content:'‹';font-size:1.35rem;font-weight:500;line-height:1}
.dashboard-shell.has-sidebar-icons .dashboard-sidebar-edge-toggle{left:82px}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-edge-toggle{left:0}
.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-edge-toggle::before{content:'›'}
@media(max-width:900px){.dashboard-sidebar-edge-toggle{display:none!important}}

.certificate-history-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.certificate-history-controls .btn{min-height:38px!important;padding:7px 11px!important}
.certificate-history-controls .btn:disabled{opacity:.45;cursor:not-allowed}
.certificate-copy-feedback{position:fixed;right:24px;bottom:24px;z-index:9999;padding:10px 14px;border-radius:10px;background:#14304d;color:#fff;font-size:.78rem;font-weight:800;box-shadow:0 12px 30px rgba(7,29,52,.24);animation:certificateFeedbackIn .18s ease}
@keyframes certificateFeedbackIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ===== Barra contextual e atalhos visuais do certificado V129 ===== */
.certificate-context-toolbar{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  margin:0 0 12px;padding:7px 9px;border:1px solid #d8e4f1;border-radius:14px;
  background:#fff;box-shadow:0 5px 16px rgba(21,55,87,.08)
}
.certificate-context-toolbar[hidden]{display:none!important}
.certificate-context-toolbar .certificate-toolbar-group{display:flex;align-items:center;gap:5px;padding-right:7px;border-right:1px solid #e3ebf4}
.certificate-context-toolbar .certificate-toolbar-group:last-child{border-right:0;padding-right:0}
.certificate-context-toolbar select,.certificate-context-toolbar input[type="number"]{
  height:38px;border:1px solid #d3dfeb;border-radius:9px;background:#fff;color:#173b5e;padding:0 10px;font-weight:700
}
.certificate-context-toolbar .certificate-toolbar-font{width:190px;max-width:30vw}
.certificate-context-toolbar .certificate-toolbar-size{width:66px;text-align:center;padding-inline:5px}
.certificate-icon-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;
  border-radius:9px!important;line-height:1!important;font-size:1rem!important;font-weight:800!important
}
.certificate-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.certificate-icon-button.is-active{background:#e8f3ff!important;border-color:#84b5e7!important;color:#0d5db8!important}
.certificate-icon-button .certificate-letter-italic{font-style:italic;font-family:Georgia,serif}
.certificate-icon-button .certificate-letter-underline{text-decoration:underline}
.certificate-icon-button .certificate-letter-strike{text-decoration:line-through}
.certificate-toolbar-color-wrap{position:relative;width:38px;height:38px}
.certificate-toolbar-color-wrap input[type="color"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.certificate-toolbar-color-icon{pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #d3dfeb;border-radius:9px;font-weight:900;color:#173b5e;background:#fff}
.certificate-toolbar-color-swatch{display:block;width:20px;height:4px;margin-top:2px;border-radius:999px;background:#14304d}
.certificate-history-controls{display:flex!important;gap:5px!important;align-items:center!important}
.certificate-history-controls .btn{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;font-size:0!important}
.certificate-history-controls .btn::before{font-size:1.2rem;line-height:1}
#certificateUndo::before{content:"↶"}
#certificateRedo::before{content:"↷"}
#certificateCopy::before{content:"⧉"}
#certificatePaste::before{content:"▣"}
.certificate-control-section .certificate-align-grid .btn,
.certificate-control-section .certificate-selection-toolbar .btn,
.certificate-control-section .certificate-text-align-buttons .btn,
.certificate-control-section .certificate-layer-actions .btn{
  font-size:0!important;min-width:38px!important;min-height:38px!important;padding:0!important
}
.certificate-control-section .btn[data-align-selection]::before,
.certificate-control-section .btn[data-text-align]::before,
#bringSelectionFront::before,#sendSelectionBack::before,#bringPrimaryFront::before,#sendPrimaryBack::before,
#groupCertificateSelection::before,#ungroupCertificateSelection::before{font-size:1rem;line-height:1}
.btn[data-align-selection="left"]::before,.btn[data-text-align="left"]::before{content:"≡";display:block;text-align:left;width:19px}
.btn[data-align-selection="center"]::before,.btn[data-text-align="center"]::before{content:"≡";display:block;text-align:center;width:19px}
.btn[data-align-selection="right"]::before,.btn[data-text-align="right"]::before{content:"≡";display:block;text-align:right;width:19px}
.btn[data-align-selection="top"]::before{content:"↥"}
.btn[data-align-selection="middle"]::before{content:"↕"}
.btn[data-align-selection="bottom"]::before{content:"↧"}
.btn[data-text-align="justify"]::before{content:"☰"}
#bringSelectionFront::before,#bringPrimaryFront::before{content:"⬆"}
#sendSelectionBack::before,#sendPrimaryBack::before{content:"⬇"}
#groupCertificateSelection::before{content:"▣"}
#ungroupCertificateSelection::before{content:"▢"}
.certificate-control-section .certificate-selection-toolbar{grid-template-columns:repeat(4,38px)!important;justify-content:start}
.certificate-control-section .certificate-align-grid{grid-template-columns:repeat(3,38px)!important;justify-content:start}
.certificate-control-section .certificate-text-align-buttons{grid-template-columns:repeat(4,38px)!important;justify-content:start}
.certificate-control-section .btn[title]{position:relative}
.certificate-shift-hint{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:#6b8095;font-size:.72rem;font-weight:750;white-space:nowrap}
.certificate-shift-hint kbd{padding:3px 6px;border:1px solid #cdd9e5;border-bottom-width:2px;border-radius:6px;background:#f7f9fc;color:#234766;font:700 .68rem/1 system-ui}
@media(max-width:900px){
  .certificate-context-toolbar .certificate-toolbar-font{width:150px;max-width:50vw}
  .certificate-shift-hint{width:100%;margin-left:0}
}
@media(max-width:560px){
  .certificate-context-toolbar{gap:5px;padding:6px}
  .certificate-context-toolbar .certificate-toolbar-group{padding-right:4px}
  .certificate-context-toolbar .certificate-toolbar-font{width:130px;max-width:45vw}
}

/* ===== Refinamentos do editor e menus retráteis V130 ===== */
.dashboard-shell{min-height:100vh!important;align-items:stretch!important}
.dashboard-sidebar{height:auto!important;min-height:100vh!important;align-self:stretch!important;overflow-y:visible!important;background:#102f57!important}
.dashboard-shell.has-sidebar-icons .dashboard-sidebar{height:auto!important;min-height:100vh!important}
.dashboard-shell.has-sidebar-icons .dashboard-nav button{position:relative}
.dashboard-shell.has-sidebar-icons .dashboard-nav button[title]{cursor:pointer}

/* Textos de ajuda não ocupam a área de edição. */
.certificate-designer-help,.certificate-shift-hint,.certificate-group-note{display:none!important}

/* Painel de elementos recolhível, inspirado em painéis de criação. */
.certificate-element-panel{transition:width .18s ease,padding .18s ease,min-width .18s ease}
.certificate-elements-edge-toggle{
  position:absolute;z-index:90;left:-18px;top:50%;transform:translateY(-50%);
  width:20px;height:46px;padding:0;border:1px solid #c9d8e7;border-right:0;
  border-radius:10px 0 0 10px;background:#fff;color:#34526e;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:-4px 4px 14px rgba(18,47,76,.10)
}
.certificate-elements-edge-toggle:hover{background:#eef6ff;color:#0d5db8}
.certificate-elements-edge-toggle::before{content:'›';font-size:1.2rem;line-height:1}
.certificate-elements-collapsed .certificate-elements-edge-toggle::before{content:'‹'}
.certificate-elements-collapsed [data-certificate-panel="elements"]{
  padding:8px 5px!important;min-width:54px!important;width:54px!important;overflow:visible!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-direction:column!important
}
.certificate-elements-collapsed [data-certificate-panel="elements"] > :not(.certificate-elements-edge-toggle):not(.certificate-elements-collapsed-rail){display:none!important}
.certificate-elements-collapsed-rail{display:none;align-items:center;flex-direction:column;gap:8px;width:100%;padding-top:8px}
.certificate-elements-collapsed .certificate-elements-collapsed-rail{display:flex!important}
.certificate-elements-collapsed-rail button{
  width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:#536b82;
  display:flex;align-items:center;justify-content:center;cursor:pointer
}
.certificate-elements-collapsed-rail button:hover{background:#eaf3fc;color:#0d5db8}
.certificate-elements-collapsed-rail svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Controles compactos: ícones com tooltip nativo. */
.certificate-history-controls .btn,.certificate-icon-only{
  width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:0!important
}
.certificate-history-controls .btn svg,.certificate-icon-only svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-history-controls .btn .icon-char{font-size:1.12rem;line-height:1;font-weight:800}
.certificate-align-grid .btn,.certificate-selection-toolbar .btn[data-iconified="true"]{font-size:0!important;min-width:36px!important;padding:0!important}
.certificate-align-grid .btn svg,.certificate-selection-toolbar .btn[data-iconified="true"] svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:900px){
  .dashboard-sidebar{height:auto!important;min-height:0!important}
  .certificate-elements-edge-toggle{display:none!important}
}

/* ===== Editor de certificados minimalista e modular V131 ===== */
#admin-certificate-settings{--cert-panel-border:#d7e3ef;--cert-panel-bg:#fff;--cert-muted:#6d8297}
#admin-certificate-settings>.certificate-designer-header{padding:14px 16px!important}
#admin-certificate-settings>.certificate-designer-header>div:first-child p,
#admin-certificate-settings>.certificate-designer-header .kicker{display:none!important}
#admin-certificate-settings>.certificate-designer-header h2{margin:0!important;font-size:1.2rem!important}
.certificate-document-panel{margin-bottom:14px!important;padding:10px 12px!important;position:relative!important;min-width:0}
.certificate-document-panel .certificate-designer-toolbar{margin:0!important;padding:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.certificate-document-panel .dashboard-form-group{margin:0!important;width:auto!important;max-width:none!important}
.certificate-document-panel .dashboard-form-group label{display:none!important}
.certificate-document-panel input,.certificate-document-panel select{height:40px!important;min-height:40px!important;border-radius:10px!important;padding:0 11px!important}
.certificate-document-panel .certificate-model-name-field{flex:1 1 220px!important;min-width:170px!important}
.certificate-document-panel .certificate-format-field{flex:0 0 120px!important;width:120px!important}
.certificate-document-panel .certificate-unit-field{flex:0 0 72px!important;width:72px!important}
.certificate-document-panel .certificate-unit-field select{text-align:center;font-weight:850;padding-inline:6px!important}
.certificate-document-panel .certificate-layout-field{flex:0 0 auto!important;width:auto!important}
.certificate-document-panel .certificate-layout-control-row{display:flex!important;gap:5px!important;align-items:center!important}
.certificate-document-panel #certificatePanelLayoutMode,.certificate-document-panel #resetCertificatePanelLayout{display:none!important}
.certificate-layout-icon-row{display:flex;align-items:center;gap:5px}
.certificate-layout-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid #d4e0ec;border-radius:10px;background:#fff;color:#385b7a;cursor:pointer}
.certificate-layout-icon-button:hover,.certificate-layout-icon-button.is-active{background:#eaf4ff;color:#0d5db8;border-color:#8eb9e5}
.certificate-layout-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.certificate-document-panel .certificate-zoom-controls{display:flex!important;align-items:center!important;gap:5px!important;min-height:40px!important;flex:1 1 300px!important;max-width:none!important}
.certificate-document-panel .certificate-zoom-controls input[type="range"]{min-width:120px!important;flex:1 1 180px!important;height:auto!important;padding:0!important}
.certificate-document-panel .certificate-zoom-controls output{min-width:46px!important}
.certificate-document-panel .certificate-maximize-button{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;font-size:0!important;border-radius:10px!important}
.certificate-document-panel .certificate-maximize-button::before{content:"⛶";font-size:1.1rem}
.certificate-document-panel .certificate-designer-status{min-height:34px!important;padding:6px 10px!important;font-size:.7rem!important}
.certificate-designer-workspace>.certificate-designer-toolbar.certificate-toolbar-anchor{display:none!important}
.certificate-designer-workspace{position:relative!important}
.certificate-designer-workspace .certificate-canvas-stage{min-height:380px!important;display:flex;align-items:flex-start;justify-content:center;scroll-behavior:auto}
.certificate-designer-workspace.is-maximized .certificate-canvas-stage{min-height:0!important}
.certificate-designer-canvas>.certificate-designer-bg,.certificate-runtime-bg{object-fit:contain!important;background:#fff}

/* Painéis compactáveis e maximizáveis. */
.certificate-panel-chrome{position:absolute;top:9px;right:9px;z-index:120;display:flex;gap:4px;align-items:center}
.certificate-panel-chrome button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #d5e1ed;border-radius:8px;background:#fff;color:#54708a;cursor:pointer;font-size:0}
.certificate-panel-chrome button:hover{background:#eef6ff;color:#0d5db8}
.certificate-panel-chrome button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-certificate-panel].is-panel-minimized{min-height:48px!important;height:48px!important;overflow:hidden!important;padding-bottom:0!important}
[data-certificate-panel].is-panel-minimized>*:not(.dashboard-card-head):not(.certificate-panel-chrome):not(.certificate-panel-drag-handle):not(.certificate-panel-resize-handle):not(.certificate-elements-edge-toggle):not(.certificate-elements-collapsed-rail){display:none!important}
[data-certificate-panel].is-panel-maximized,.certificate-document-panel.is-panel-maximized{position:fixed!important;inset:14px!important;z-index:9600!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;overflow:auto!important;background:#fff!important;box-shadow:0 24px 70px rgba(5,31,58,.35)!important}
body.certificate-panel-modal-open{overflow:hidden!important}

/* Painel lateral em abas, sem textos longos. */
.certificate-element-panel>.dashboard-card-head{padding-right:110px!important}
.certificate-element-panel>.dashboard-card-head small{display:none!important}
.certificate-element-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:2px 0 10px}
.certificate-element-tab{display:flex;align-items:center;justify-content:center;height:38px;border:1px solid #d5e1ed;border-radius:9px;background:#fff;color:#587087;cursor:pointer}
.certificate-element-tab:hover,.certificate-element-tab.is-active{background:#eaf4ff;color:#0d5db8;border-color:#8eb9e5}
.certificate-element-tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-element-tab-pane[hidden]{display:none!important}
.certificate-add-element-row{grid-template-columns:minmax(0,1fr) 40px!important}
.certificate-add-element-row #addCertificateField{font-size:0!important;width:40px!important;min-width:40px!important;padding:0!important}
.certificate-add-element-row #addCertificateField::before{content:"+";font-size:1.15rem}
.certificate-quick-elements{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.certificate-quick-elements .btn{height:40px!important;min-height:40px!important;font-size:0!important;padding:0!important}
.certificate-quick-elements .btn::before{font-size:1rem!important;line-height:1}
#addCertificateText::before{content:"T";font-family:Georgia,serif;font-weight:800}
#addCertificateQr::before{content:"▦"}
#addCertificateLogo::before{content:"L";font-weight:900}
#addCertificateImage::before{content:"▧"}
#addCertificateLine::before{content:"╱"}
#addCertificateShape::before{content:"□"}
#addAprovaSignature::before{content:"✎"}
.certificate-text-tool-active #addCertificateText{background:#e7f2ff!important;border-color:#7aaee2!important;color:#0d5db8!important}
.certificate-text-tool-active .certificate-designer-canvas{cursor:crosshair!important}
.certificate-editor-element.is-inline-editing{cursor:text!important;outline:2px solid #1464c0!important;white-space:pre-wrap!important;overflow:visible!important}

/* Barra contextual com abas e opacidade. */
.certificate-context-toolbar{position:relative!important;padding:6px!important;gap:5px!important;box-shadow:none!important;border-radius:12px!important}
.certificate-context-tabs{display:flex;gap:4px;align-items:center;margin-right:2px}
.certificate-context-tab{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #d5e1ed;border-radius:9px;background:#fff;color:#52708a;cursor:pointer}
.certificate-context-tab:hover,.certificate-context-tab.is-active{background:#eaf4ff;color:#0d5db8;border-color:#8eb9e5}
.certificate-context-tab svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-context-toolbar[data-context-tab="character"] .certificate-toolbar-group:not(.certificate-toolbar-character):not(.certificate-toolbar-common),
.certificate-context-toolbar[data-context-tab="paragraph"] .certificate-toolbar-group:not(.certificate-toolbar-paragraph):not(.certificate-toolbar-common),
.certificate-context-toolbar[data-context-tab="position"] .certificate-toolbar-group:not(.certificate-toolbar-position):not(.certificate-toolbar-common){display:none!important}
.certificate-opacity-control{position:relative;display:flex;align-items:center}
.certificate-opacity-popover{position:absolute;right:0;top:44px;z-index:180;display:flex;align-items:center;gap:8px;width:210px;padding:10px;border:1px solid #d3dfeb;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(18,47,76,.18)}
.certificate-opacity-popover[hidden]{display:none!important}
.certificate-opacity-popover input{flex:1;min-width:0}
.certificate-opacity-popover output{min-width:38px;text-align:right;font-size:.75rem;font-weight:800;color:#234766}

/* Ferramentas do documento mais discretas. */
.certificate-control-section-title,.certificate-bulk-summary{font-size:.72rem!important}
.certificate-control-section{padding:10px!important;margin-bottom:8px!important}
.certificate-empty-selection{font-size:0!important;min-height:72px;display:flex;align-items:center;justify-content:center}
.certificate-empty-selection::after{content:"Selecione um elemento";font-size:.75rem;color:#71859a}

@media(max-width:1180px){
  .certificate-document-panel .certificate-model-name-field{flex-basis:180px!important}
  .certificate-document-panel .certificate-zoom-controls{order:6;flex-basis:100%!important}
}
@media(max-width:760px){
  .certificate-document-panel .certificate-designer-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important}
  .certificate-document-panel .certificate-model-name-field,.certificate-document-panel .certificate-zoom-controls{grid-column:1/-1!important}
  .certificate-document-panel .certificate-layout-field{grid-column:1/-1!important}
  .certificate-layout-icon-row{justify-content:flex-start}
  .certificate-quick-elements{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* ===== Workspace modular do editor de certificados V132 ===== */
.dashboard-logo-link,.brand-home-link{display:inline-flex;align-items:center;line-height:0}
.dashboard-logo-link img,.brand-home-link img{display:block}

/* A seta geral nunca deve ficar acima do editor ampliado. */
body.certificate-editor-open .dashboard-sidebar-edge-toggle,
body.certificate-panel-modal-open .dashboard-sidebar-edge-toggle{display:none!important}
.dashboard-sidebar-edge-toggle{z-index:900!important}

#admin-certificate-settings{position:relative;min-height:720px}
#admin-certificate-settings .certificate-elements-edge-toggle,
#admin-certificate-settings .certificate-elements-collapsed-rail{display:none!important}
#admin-certificate-settings .certificate-panel-drag-handle{display:none!important}
#admin-certificate-settings .certificate-template-library,
#admin-certificate-settings .certificate-element-panel{display:none!important}
#admin-certificate-settings .certificate-designer-layout,
#admin-certificate-settings .certificate-designer-layout[data-layout-mode]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;gap:10px!important;padding-right:62px}
#admin-certificate-settings .certificate-designer-layout>[data-certificate-panel="workspace"]{grid-column:1!important;grid-row:auto!important;min-width:0!important}
#admin-certificate-settings .certificate-document-panel{grid-column:1!important;grid-row:auto!important;margin-bottom:0!important}

/* Barra vertical compacta, inspirada em editores visuais. */
.certificate-studio-dock{position:fixed;right:16px;top:132px;z-index:9550;display:flex;flex-direction:column;gap:4px;width:48px;padding:5px;border:1px solid #d4e0ec;border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 12px 30px rgba(17,49,78,.17);backdrop-filter:blur(8px)}
.certificate-studio-dock.is-hidden{display:none}
.certificate-studio-tool{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:#536e87;cursor:grab;transition:.15s ease}
.certificate-studio-tool:hover,.certificate-studio-tool.is-active{background:#eaf4ff;color:#0d5db8}
.certificate-studio-tool:active{cursor:grabbing}
.certificate-studio-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-studio-tool.is-dragging{opacity:.35}
.certificate-studio-tool.is-drop-before{box-shadow:inset 0 3px 0 #1464c0}
.certificate-studio-separator{height:1px;margin:3px 6px;background:#dbe5ef}

/* Cada ícone abre um box independente, arrastável e redimensionável. */
.certificate-floating-tool-panel{position:fixed;right:72px;top:132px;z-index:9540;width:286px;min-width:220px;max-width:min(460px,calc(100vw - 96px));min-height:80px;max-height:calc(100vh - 152px);overflow:auto;resize:both;border:1px solid #cfdce9;border-radius:13px;background:#fff;box-shadow:0 18px 42px rgba(15,46,75,.2)}
.certificate-floating-tool-panel[hidden]{display:none!important}
.certificate-floating-tool-panel.is-minimized{height:42px!important;min-height:42px!important;overflow:hidden!important;resize:none}
.certificate-floating-tool-panel.is-front{z-index:9560}
.certificate-floating-tool-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 7px 0 11px;border-bottom:1px solid #dce6f0;background:#f8fafc;cursor:move;user-select:none}
.certificate-floating-tool-head strong{font-size:.78rem;color:#203f5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-floating-tool-actions{display:flex;align-items:center;gap:3px}
.certificate-floating-tool-actions button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:#5d758b;cursor:pointer}
.certificate-floating-tool-actions button:hover{background:#eaf2fb;color:#0d5db8}
.certificate-floating-tool-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-floating-tool-body{padding:9px}
.certificate-floating-tool-body>.dashboard-card-head{display:none!important}
.certificate-floating-tool-body .certificate-asset-settings{margin-top:10px;padding-top:10px}
.certificate-floating-tool-body .certificate-control-section{padding:8px!important;margin-bottom:6px!important;border-radius:9px!important}
.certificate-floating-tool-body .certificate-control-section-title{margin-bottom:7px!important;font-size:.69rem!important}
.certificate-floating-tool-body .certificate-control-grid{gap:6px!important}
.certificate-floating-tool-body .certificate-control-grid input,
.certificate-floating-tool-body .certificate-control-grid select{min-height:34px!important;height:34px!important;padding:5px 7px!important;border-radius:7px!important;font-size:.75rem!important}
.certificate-floating-tool-body .certificate-element-list{max-height:340px!important;margin:0!important}
.certificate-floating-tool-body .certificate-element-list-button{min-height:32px!important;padding:5px 7px!important;border-radius:7px!important;font-size:.75rem!important}
.certificate-floating-tool-body .certificate-quick-elements{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin:7px 0!important}
.certificate-floating-tool-body .certificate-quick-elements .btn{height:34px!important;min-height:34px!important;border-radius:8px!important}
.certificate-floating-tool-body .certificate-add-element-row{grid-template-columns:minmax(0,1fr) 34px!important;gap:5px!important}
.certificate-floating-tool-body .certificate-add-element-row select{height:34px!important;min-height:34px!important;font-size:.75rem!important}
.certificate-floating-tool-body .certificate-add-element-row #addCertificateField{width:34px!important;min-width:34px!important;height:34px!important}
.certificate-floating-tool-body .certificate-template-list{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin-bottom:8px!important}
.certificate-floating-tool-body .certificate-template-card{grid-template-columns:50px 1fr!important;padding:6px!important;border-radius:9px!important}
.certificate-floating-tool-body .certificate-template-card img{width:50px!important;border-radius:6px!important}

/* Controles compactos de Caractere, Parágrafo e Posição. */
.certificate-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.certificate-mini-grid .full{grid-column:1/-1}
.certificate-mini-control{display:grid;gap:3px}
.certificate-mini-control>label{font-size:.66rem;font-weight:800;color:#5d7388}
.certificate-mini-control input,.certificate-mini-control select{width:100%;height:34px;min-height:34px;padding:4px 7px;border:1px solid #ccdbea;border-radius:7px;background:#fff;color:#183b5c;font-size:.75rem}
.certificate-icon-strip{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.certificate-icon-strip button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #d4e0ec;border-radius:8px;background:#fff;color:#46647f;cursor:pointer;font-size:0}
.certificate-icon-strip button:hover,.certificate-icon-strip button.is-active{background:#eaf4ff;color:#0d5db8;border-color:#8db8e3}
.certificate-icon-strip button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.certificate-icon-strip button[data-mini-action="bold"]::before{content:"B";font-size:1rem;font-weight:900}
.certificate-icon-strip button[data-mini-action="italic"]::before{content:"I";font-size:1rem;font-style:italic;font-family:Georgia,serif}
.certificate-icon-strip button[data-mini-action="underline"]::before{content:"U";font-size:1rem;text-decoration:underline}
.certificate-mini-empty{display:flex;align-items:center;justify-content:center;min-height:86px;padding:12px;border:1px dashed #cddae7;border-radius:9px;color:#74889c;font-size:.73rem;text-align:center;background:#f9fbfd}
.certificate-mini-opacity{display:grid;grid-template-columns:1fr 42px;gap:7px;align-items:center}
.certificate-mini-opacity output{font-size:.72rem;font-weight:800;text-align:right;color:#385a77}

/* Documento e canvas ocupam a área principal sem carregar caixas laterais. */
.certificate-document-panel{padding:7px 9px!important;border-radius:11px!important}
.certificate-document-panel .certificate-designer-toolbar{gap:5px!important}
.certificate-document-panel input,.certificate-document-panel select{height:34px!important;min-height:34px!important;border-radius:8px!important;font-size:.76rem!important}
.certificate-document-panel .certificate-model-name-field{flex-basis:160px!important;min-width:140px!important}
.certificate-document-panel .certificate-format-field{flex-basis:74px!important;width:74px!important}
.certificate-document-panel .certificate-unit-field{flex-basis:54px!important;width:54px!important}
.certificate-layout-icon-button{width:34px!important;height:34px!important;border-radius:8px!important}
.certificate-layout-icon-button svg{width:17px!important;height:17px!important}
.certificate-document-panel .certificate-zoom-controls{min-height:34px!important;gap:4px!important}
.certificate-document-panel .certificate-zoom-controls .btn{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important}
.certificate-document-panel .certificate-maximize-button{width:34px!important;min-width:34px!important;height:34px!important}
.certificate-document-panel .certificate-designer-status{min-height:30px!important;padding:4px 8px!important;font-size:.65rem!important}
.certificate-panel-chrome{display:none!important}

/* Linha zero real: barras partem da linha e referências ficam abaixo. */
.admin-revenue-chart{--chart-label-row:34px;--chart-value-row:24px}
.admin-chart-y-axis{padding-bottom:var(--chart-label-row)!important;height:230px!important}
.admin-chart-plot{position:relative!important;align-items:stretch!important;height:230px!important;min-height:230px!important;padding:0 8px!important;border-left:1px solid var(--line)!important;border-bottom:0!important;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#e7edf5 46px)!important;background-position:0 calc(-1 * var(--chart-label-row))!important}
.admin-chart-plot::after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:var(--chart-label-row)!important;height:1px!important;background:#cddbea!important;pointer-events:none!important}
.admin-chart-column{height:100%!important;display:grid!important;grid-template-rows:var(--chart-value-row) minmax(0,1fr) var(--chart-label-row)!important;align-items:stretch!important;gap:0!important}
.admin-chart-column strong{grid-row:1!important;align-self:end!important;margin:0 0 4px!important}
.admin-chart-column span{grid-row:2!important;align-self:end!important;margin:0!important;transform:none!important;min-height:0!important;border-radius:8px 8px 0 0!important;z-index:1!important}
.admin-chart-column small{grid-row:3!important;align-self:start!important;padding-top:8px!important;line-height:1!important;z-index:1!important}

.bar-chart{--bar-label-row:28px;position:relative!important;align-items:stretch!important;padding-top:14px!important;padding-bottom:0!important}
.bar-chart::after{content:"";position:absolute;left:0;right:0;bottom:var(--bar-label-row);height:1px;background:#cddbea;pointer-events:none}
.bar-item{grid-template-rows:20px minmax(0,1fr) var(--bar-label-row)!important;gap:0!important}
.bar-value{align-self:end;margin-bottom:4px}
.bar-track{grid-row:2;height:100%!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.bar-track span{bottom:0!important;border-radius:8px 8px 0 0!important;z-index:1}
.bar-item small{grid-row:3;align-self:start;padding-top:7px;line-height:1;z-index:1}

.finance-chart-bars,.partner-chart-plot{--chart-label-row:30px;position:relative!important;align-items:stretch!important;padding-bottom:0!important;border-bottom:0!important}
.finance-chart-bars::after,.partner-chart-plot::after{bottom:var(--chart-label-row)!important;background:#cddbea!important}
.finance-chart-bars>div,.partner-chart-plot>div{grid-template-rows:20px minmax(0,1fr) var(--chart-label-row)!important;gap:0!important;align-items:stretch!important}
.finance-chart-bars>div span,.partner-chart-plot>div span{grid-row:2!important;align-self:end!important;margin:0!important;transform:none!important}
.finance-chart-bars>div small,.partner-chart-plot>div small{grid-row:3!important;align-self:start!important;padding-top:7px!important;line-height:1!important}

@media(max-width:900px){
  #admin-certificate-settings .certificate-designer-layout,#admin-certificate-settings .certificate-designer-layout[data-layout-mode]{padding-right:0!important}
  .certificate-studio-dock{left:50%;right:auto;top:auto;bottom:10px;transform:translateX(-50%);flex-direction:row;width:auto;max-width:calc(100vw - 20px);overflow-x:auto;border-radius:14px;z-index:9550}
  .certificate-floating-tool-panel{left:10px!important;right:10px!important;top:auto!important;bottom:62px!important;width:auto!important;max-width:none!important;max-height:55vh!important;resize:vertical}
}
#admin-certificate-settings #certificateContextToolbar{display:none!important}
.certificate-document-panel .certificate-layout-field{display:none!important}
.login-brand-panel>.brand-home-link,.partner-signup-brand>.brand-home-link{display:inline-flex;line-height:0}
.login-brand-panel>.brand-home-link img,.partner-signup-brand>.brand-home-link img{width:100%;height:auto;display:block}

/* ===== Correções de estabilidade e gestão V133 ===== */
/* A seta pertence ao menu e nunca pode ficar sobre modais, certificados ampliados ou conteúdos críticos. */
.dashboard-sidebar-edge-toggle{z-index:24!important}
.modal-overlay{z-index:10000!important}
body:has(.modal-overlay:not(.hidden)) .dashboard-sidebar-edge-toggle,
body:has(.certificate-designer-workspace.is-maximized) .dashboard-sidebar-edge-toggle{visibility:hidden!important;pointer-events:none!important}
.dashboard-logo-link{display:block;width:100%;cursor:pointer;position:relative;z-index:2}
.dashboard-logo-link img{display:block;max-width:100%;height:auto}

/* Filtros de materiais no mesmo padrão dos outros filtros administrativos. */
.content-standard-filters{display:grid!important;grid-template-columns:minmax(240px,1fr) 180px 180px!important;align-items:center!important;gap:10px!important;padding:0!important;background:transparent!important;border:0!important}
.content-standard-filters .dashboard-search-box,.content-standard-filters select{height:44px!important;min-height:44px!important;margin:0!important;border-radius:11px!important}
.content-standard-filters select{width:100%!important;padding:0 38px 0 13px!important;border:1px solid var(--line)!important;background-color:#fff!important;color:var(--ink)!important;font:inherit!important;font-size:.84rem!important}
@media(max-width:780px){.content-standard-filters{grid-template-columns:1fr!important}}

/* Perfis internos editáveis. */
.internal-team-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.internal-role-summary .internal-role-card{appearance:none;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f9fbfd;display:grid;gap:4px;text-align:left;color:var(--ink);cursor:pointer;font:inherit;transition:.16s ease}
.internal-role-summary .internal-role-card:hover,.internal-role-summary .internal-role-card:focus-visible{border-color:#8eb9e5;background:#eef6ff;box-shadow:0 0 0 3px rgba(13,93,184,.08)}
.internal-role-summary .internal-role-card strong{font-size:.9rem}
.internal-role-summary .internal-role-card span{color:var(--muted);font-size:.78rem;line-height:1.4}
.role-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.role-permission-grid label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:.8rem;font-weight:700}
.role-permission-grid input{flex:0 0 auto}
.appointment-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.appointment-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fbff}
.appointment-detail-grid .full{grid-column:1/-1}
.appointment-detail-grid small,.appointment-detail-grid strong{display:block}
.appointment-detail-grid small{margin-bottom:4px;color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}
.appointment-detail-grid p{margin:0;color:var(--muted);line-height:1.45}
.admin-interview-slot{width:100%;border:0;text-align:left;font:inherit;cursor:default}
.admin-interview-slot.is-reserved{cursor:pointer}
.admin-interview-slot.is-reserved:hover{background:#eef6ff}
@media(max-width:640px){.role-permission-grid,.appointment-detail-grid{grid-template-columns:1fr}.appointment-detail-grid .full{grid-column:auto}}

/* Todas as colunas úteis das tabelas do instrutor exibem ordenação consistente. */
#instructorStudentsTable th .table-sort-button{width:100%;justify-content:flex-start}

/* Linha zero definitiva: a base das barras coincide exatamente com o zero; meses ficam abaixo. */
.admin-revenue-chart,.partner-report-value-chart{--chart-label-space:36px;--chart-height:230px}
.admin-chart-y-axis,.partner-chart-y-axis{height:var(--chart-height)!important;padding:0 0 var(--chart-label-space)!important;box-sizing:border-box!important}
.admin-chart-plot,.partner-chart-plot{position:relative!important;height:var(--chart-height)!important;min-height:var(--chart-height)!important;padding:0 10px!important;align-items:stretch!important;border-bottom:0!important;background-position:0 calc(-1 * var(--chart-label-space))!important;overflow:visible!important}
.admin-chart-plot::after,.partner-chart-plot::after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:var(--chart-label-space)!important;height:1px!important;background:#c9d8e7!important;z-index:2!important;pointer-events:none!important}
.admin-chart-column,.partner-chart-plot>div{position:relative!important;height:100%!important;display:block!important;min-width:0!important}
.admin-chart-column strong,.partner-chart-plot>div strong{position:absolute!important;top:3px!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important;white-space:nowrap!important;z-index:3!important}
.admin-chart-column span,.partner-chart-plot>div span{position:absolute!important;left:50%!important;bottom:var(--chart-label-space)!important;transform:translateX(-50%)!important;margin:0!important;min-height:0!important;border-radius:8px 8px 0 0!important;z-index:1!important}
.admin-chart-column small,.partner-chart-plot>div small{position:absolute!important;left:0!important;right:0!important;bottom:7px!important;padding:0!important;text-align:center!important;line-height:1!important;z-index:3!important}

.finance-chart{--finance-label-space:32px}
.finance-chart-grid{bottom:var(--finance-label-space)!important}
.finance-chart-bars{position:relative!important;height:210px!important;min-height:210px!important;padding:0 12px!important;align-items:stretch!important;border-bottom:0!important;overflow:visible!important}
.finance-chart-bars::after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:var(--finance-label-space)!important;height:1px!important;background:#c9d8e7!important;z-index:2!important}
.finance-chart-bars>div{position:relative!important;height:100%!important;display:block!important;min-width:0!important}
.finance-chart-bars>div strong{position:absolute!important;top:3px!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important;white-space:nowrap!important;z-index:3!important}
.finance-chart-bars>div span{position:absolute!important;left:50%!important;bottom:var(--finance-label-space)!important;transform:translateX(-50%)!important;margin:0!important;min-height:0!important;border-radius:8px 8px 0 0!important;z-index:1!important}
.finance-chart-bars>div small{position:absolute!important;left:0!important;right:0!important;bottom:6px!important;padding:0!important;text-align:center!important;line-height:1!important;z-index:3!important}

.bar-chart{--bar-label-space:30px;position:relative!important;height:250px!important;align-items:stretch!important;padding:14px 0 0!important;overflow:visible!important}
.bar-chart::after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:var(--bar-label-space)!important;height:1px!important;background:#c9d8e7!important;z-index:2!important}
.bar-item{position:relative!important;height:100%!important;display:block!important;min-width:0!important}
.bar-item .bar-value{position:absolute!important;top:0!important;left:0!important;right:0!important;margin:0!important;text-align:center!important;z-index:3!important}
.bar-item .bar-track{position:absolute!important;left:12%!important;right:12%!important;top:22px!important;bottom:var(--bar-label-space)!important;height:auto!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}
.bar-item .bar-track span{position:absolute!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;border-radius:8px 8px 0 0!important;z-index:1!important}
.bar-item>small{position:absolute!important;left:0!important;right:0!important;bottom:6px!important;padding:0!important;text-align:center!important;line-height:1!important;z-index:3!important}
.dashboard-modal-open .dashboard-sidebar-edge-toggle{visibility:hidden!important;pointer-events:none!important}

/* ===== Estúdio compacto e painéis agrupáveis V134 ===== */
#admin-certificate-settings .certificate-designer-header,
#admin-certificate-settings .certificate-document-panel,
#admin-certificate-settings [data-certificate-panel="library"],
#admin-certificate-settings [data-certificate-panel="elements"],
#admin-certificate-settings [data-certificate-panel="workspace"] > .certificate-designer-toolbar,
#admin-certificate-settings [data-certificate-panel="workspace"] > .certificate-designer-help,
.certificate-studio-dock,
.certificate-floating-tool-panel{display:none!important}
#admin-certificate-settings{position:relative;padding-top:0!important}
#admin-certificate-settings .certificate-designer-layout,
#admin-certificate-settings .certificate-designer-layout[data-layout-mode]{display:block!important;min-height:0!important;margin-top:0!important}
#admin-certificate-settings [data-certificate-panel="workspace"]{display:block!important;width:100%!important;margin:0!important;padding:10px!important;min-height:0!important}
#admin-certificate-settings .certificate-canvas-stage{margin:0!important;padding:10px!important;border-radius:14px!important;min-height:0!important}
#admin-certificate-settings .certificate-designer-canvas>.certificate-designer-bg,
.certificate-runtime-bg{object-fit:contain!important}

.v134-canvas-toolbar{position:sticky;top:8px;z-index:90;display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin:0 0 8px auto;padding:5px;border:1px solid #d3dfeb;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(19,51,79,.12);backdrop-filter:blur(8px)}
.v134-canvas-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#365a78;cursor:pointer}
.v134-canvas-toolbar button:hover{background:#edf5fd;color:#0e5eb8}
.v134-canvas-toolbar button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v134-canvas-toolbar input[type="range"]{width:120px;accent-color:#1464c0}
.v134-canvas-toolbar output{min-width:42px;color:#385a77;font-size:.72rem;font-weight:800;text-align:center}

.v134-tool-dock{position:fixed;right:14px;top:128px;z-index:9700;display:flex;flex-direction:column;gap:3px;padding:5px;border:1px solid #d1deea;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(16,48,77,.17);backdrop-filter:blur(9px);touch-action:none}
.v134-tool-dock[data-edge="left"]{left:14px;right:auto}
.v134-tool-dock[data-edge="top"]{top:12px;left:50%;right:auto;transform:translateX(-50%);flex-direction:row}
.v134-tool-dock[data-edge="bottom"]{top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%);flex-direction:row}
.v134-tool-dock.is-hidden{display:none}
.v134-tool-dock-grip,.v134-tool-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:#506d86;cursor:pointer}
.v134-tool-dock-grip{cursor:grab;color:#8aa0b4}
.v134-tool-dock-grip:active{cursor:grabbing}
.v134-tool-button:hover,.v134-tool-button.is-active{background:#eaf4ff;color:#0c5fb9}
.v134-tool-button svg,.v134-tool-dock-grip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v134-tool-button.is-dragging{opacity:.35}
.v134-tool-button.is-drop-before{box-shadow:inset 0 3px 0 #1464c0}
.v134-tool-dock[data-edge="left"] .v134-tool-button.is-drop-before,.v134-tool-dock[data-edge="right"] .v134-tool-button.is-drop-before{box-shadow:inset 0 3px 0 #1464c0}

.v134-tool-panel,.v134-panel-group{position:fixed;z-index:9650;width:270px;min-width:190px;max-width:min(480px,calc(100vw - 24px));min-height:52px;max-height:calc(100vh - 24px);overflow:hidden;resize:both;border:1px solid #cbd9e7;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(14,43,70,.22)}
.v134-tool-panel[hidden],.v134-panel-group[hidden]{display:none!important}
.v134-tool-panel.is-front,.v134-panel-group.is-front{z-index:9720}
.v134-panel-head,.v134-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:38px;padding:4px 5px 4px 10px;border-bottom:1px solid #e1e9f1;background:#f7f9fc;cursor:move;user-select:none}
.v134-panel-head strong{overflow:hidden;color:#273f57;font-size:.76rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.v134-panel-actions,.v134-group-actions{display:flex;gap:2px}
.v134-panel-actions button,.v134-group-actions button,.v134-group-tab button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;border:0;border-radius:7px;background:transparent;color:#607b93;cursor:pointer}
.v134-panel-actions button:hover,.v134-group-actions button:hover,.v134-group-tab button:hover{background:#e6f1fc;color:#0d5fb8}
.v134-panel-actions svg,.v134-group-actions svg,.v134-group-tab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v134-panel-body,.v134-group-body{overflow:auto;max-height:calc(100vh - 80px);padding:8px}
.v134-tool-panel.is-minimized{height:38px!important;min-height:38px!important;resize:none}
.v134-tool-panel.is-minimized .v134-panel-body{display:none}

.v134-panel-group{width:310px}
.v134-group-head{height:auto;min-height:40px;padding-left:5px}
.v134-group-tabs{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto}
.v134-group-tab{display:flex;align-items:center;gap:1px;border-radius:8px;background:transparent}
.v134-group-tab.is-active{background:#e8f3ff;color:#0d5fb8}
.v134-group-tab>button:first-child{width:34px}
.v134-group-pane[hidden]{display:none!important}

.v134-icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.v134-icon-button{display:flex;align-items:center;justify-content:center;aspect-ratio:1.25/1;min-height:46px;border:1px solid #d5e1ed;border-radius:10px;background:#fff;color:#284b6a;cursor:pointer}
.v134-icon-button:hover{border-color:#77a8dc;background:#edf6ff;color:#0d5eb7}
.v134-icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v134-field-add{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;margin-bottom:7px}
.v134-field-add select,.v134-compact-grid input,.v134-compact-grid select,.v134-document-grid input,.v134-document-grid select{width:100%;height:36px;min-height:36px;padding:5px 8px;border:1px solid #cbd9e7;border-radius:8px;background:#fff;color:#173958;font-size:.76rem}
.v134-field-add button{height:36px;border:0;border-radius:8px;background:#1464c0;color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer}
.v134-compact-grid,.v134-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.v134-compact-grid .full,.v134-document-grid .full{grid-column:1/-1}
.v134-compact-label{display:grid;gap:3px;color:#60778d;font-size:.64rem;font-weight:800}
.v134-inline-icons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.v134-inline-icons button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #d4e0eb;border-radius:8px;background:#fff;color:#3f617d;cursor:pointer}
.v134-inline-icons button:hover,.v134-inline-icons button.is-active{border-color:#75a7da;background:#ebf5ff;color:#0d5fb8}
.v134-inline-icons button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v134-inline-icons button.v134-letter-icon{font-size:.88rem;font-weight:900}
.v134-range-row{display:grid;grid-template-columns:1fr 42px;gap:6px;align-items:center}
.v134-range-row input[type="range"]{accent-color:#1464c0}
.v134-range-row output{font-size:.7rem;font-weight:850;color:#385a77;text-align:right}
.v134-panel-empty{display:flex;align-items:center;justify-content:center;min-height:64px;padding:10px;border:1px dashed #cad8e5;border-radius:8px;background:#f9fbfd;color:#73889b;font-size:.72rem;text-align:center}

.v134-layer-list{display:grid;gap:6px}
.v134-layer-card{position:relative;display:grid;grid-template-columns:18px 1fr 28px;align-items:center;gap:6px;min-height:64px;padding:6px;border:2px solid transparent;border-radius:10px;background:#e9edf2;cursor:pointer}
.v134-layer-card:hover{background:#e1e8f0}
.v134-layer-card.is-selected{border-color:#1464c0;background:#e8f3ff}
.v134-layer-grip{display:grid;grid-template-columns:repeat(2,4px);gap:3px;justify-content:center;cursor:grab}
.v134-layer-grip i{width:4px;height:4px;border-radius:50%;background:#657888}
.v134-layer-preview{position:relative;height:48px;overflow:hidden;border-radius:7px;background:#fff;container-type:inline-size}
.v134-layer-preview .v134-preview-element{position:absolute;inset:5px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#14304d;font-size:9px;line-height:1;text-align:center}
.v134-layer-preview img{width:100%;height:100%;object-fit:contain}
.v134-layer-eye{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#536f87;cursor:pointer}
.v134-layer-eye svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.v134-layer-card.is-drag-over{outline:3px solid rgba(20,100,192,.25)}

.v134-model-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v134-model-card{padding:5px;border:1px solid #d3dfeb;border-radius:9px;background:#fff;cursor:pointer}
.v134-model-card.is-active{border-color:#1464c0;box-shadow:0 0 0 2px rgba(20,100,192,.12)}
.v134-model-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:#f3f6fa}
.v134-model-card small{display:block;margin-top:4px;overflow:hidden;color:#4f6980;font-size:.64rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.v134-action-strip{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.v134-action-strip button{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;padding:0;border:1px solid #d3dfeb;border-radius:8px;background:#fff;color:#365a77;cursor:pointer}
.v134-action-strip button:hover{border-color:#75a7da;background:#edf6ff;color:#0d5fb8}
.v134-action-strip button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:760px){
  .v134-tool-dock{left:50%!important;right:auto!important;top:auto!important;bottom:10px!important;transform:translateX(-50%)!important;flex-direction:row!important;max-width:calc(100vw - 20px);overflow-x:auto}
  .v134-tool-panel,.v134-panel-group{left:8px!important;right:8px!important;top:auto!important;bottom:60px!important;width:auto!important;max-width:none!important;max-height:58vh!important;resize:vertical}
  .v134-canvas-toolbar{position:relative;top:auto;margin-left:0}
}

/* ===== Correções financeiras e aceites V135 ===== */
.finance-chart.finance-chart-v135{
  --plot-top:28px;
  --label-row:38px;
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  align-items:stretch!important;
  min-height:280px!important;
  padding:10px 0 0!important;
  overflow:visible!important;
}
.finance-chart-v135 .finance-chart-yaxis{
  position:relative!important;
  width:auto!important;
  height:250px!important;
  inset:auto!important;
  margin:0!important;
  padding:0 14px 0 0!important;
  display:block!important;
  color:var(--muted)!important;
  font-size:.74rem!important;
  text-align:right!important;
}
.finance-chart-v135 .finance-chart-yaxis span{
  position:absolute!important;
  right:14px!important;
  white-space:nowrap!important;
  transform:translateY(-50%)!important;
}
.finance-chart-v135 .finance-chart-yaxis span:nth-child(1){top:var(--plot-top)!important}
.finance-chart-v135 .finance-chart-yaxis span:nth-child(2){top:120px!important}
.finance-chart-v135 .finance-chart-yaxis span:nth-child(3){top:calc(100% - var(--label-row))!important}
.finance-chart-plot-v135{
  position:relative!important;
  height:250px!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:16px!important;
  min-width:0!important;
  border-left:1px solid #c9d8e7!important;
  overflow:visible!important;
}
.finance-chart-guides{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
}
.finance-chart-guides i{
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:1px!important;
  background:#e4ecf4!important;
}
.finance-chart-guides .is-top{top:var(--plot-top)!important}
.finance-chart-guides .is-middle{top:120px!important}
.finance-chart-guides .is-zero{top:calc(100% - var(--label-row))!important;background:#c9d8e7!important}
.finance-chart-item-v135{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:var(--plot-top) minmax(0,1fr) var(--label-row)!important;
  min-width:0!important;
}
.finance-bar-area-v135{
  position:relative!important;
  grid-row:2!important;
  min-height:0!important;
}
.finance-bar-area-v135 span{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:min(62px,72%)!important;
  height:var(--bar-height)!important;
  min-height:0!important;
  transform:translateX(-50%)!important;
  border-radius:9px 9px 0 0!important;
  background:linear-gradient(180deg,var(--primary),#72a6e9)!important;
  display:block!important;
}
.finance-bar-area-v135 strong{
  position:absolute!important;
  left:50%!important;
  bottom:calc(var(--bar-height) + 6px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  color:var(--ink)!important;
  font-size:.74rem!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  z-index:2!important;
}
.finance-chart-item-v135>small{
  grid-row:3!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1!important;
}
.signup-acceptance{display:grid;gap:8px;margin:12px 0 16px}
.signup-acceptance-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.signup-acceptance-head strong{color:var(--ink);font-size:.84rem}
@media(max-width:720px){
  .finance-chart.finance-chart-v135{grid-template-columns:70px minmax(0,1fr)!important}
  .finance-chart-plot-v135{gap:8px!important}
  .finance-bar-area-v135 span{width:min(42px,76%)!important}
  .finance-bar-area-v135 strong{font-size:.64rem!important}
}

/* ===== Padrão único de gráficos V136 ===== */
.bar-chart.ap-standard-chart{
  --chart-label-space:40px;
  --chart-value-space:34px;
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(var(--chart-columns,7),minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  padding:12px 12px 0!important;
  overflow:visible!important;
  border:0!important;
  background:none!important;
}
.bar-chart.ap-standard-chart::after{
  content:""!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:var(--chart-label-space)!important;
  height:1px!important;
  background:#c9d8e7!important;
  z-index:3!important;
  pointer-events:none!important;
}
.bar-chart.ap-standard-chart .bar-item{
  position:relative!important;
  display:grid!important;
  grid-template-rows:var(--chart-value-space) minmax(0,1fr) var(--chart-label-space)!important;
  gap:0!important;
  height:100%!important;
  min-width:0!important;
  text-align:center!important;
}
.bar-chart.ap-standard-chart .bar-value{
  grid-row:1!important;
  align-self:end!important;
  justify-self:center!important;
  margin:0 0 7px!important;
  color:var(--ink)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  z-index:4!important;
}
.bar-chart.ap-standard-chart .bar-track{
  position:relative!important;
  grid-row:2!important;
  align-self:stretch!important;
  width:min(72px,70%)!important;
  height:100%!important;
  margin:0 auto!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.bar-chart.ap-standard-chart .bar-track span{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  transform:none!important;
  border-radius:10px 10px 0 0!important;
  background:linear-gradient(180deg,#1765bf 0%,#68a0e2 100%)!important;
  z-index:2!important;
}
.bar-chart.ap-standard-chart .bar-item.is-current .bar-track span{background:linear-gradient(180deg,#1765bf 0%,#68a0e2 100%)!important}
.bar-chart.ap-standard-chart .bar-item>small{
  grid-row:3!important;
  align-self:start!important;
  justify-self:center!important;
  margin:0!important;
  padding-top:10px!important;
  color:var(--muted)!important;
  font-size:.8rem!important;
  font-weight:850!important;
  line-height:1!important;
  z-index:4!important;
}
@media(max-width:760px){
  .bar-chart.ap-standard-chart{gap:8px!important;height:260px!important;min-height:260px!important;padding-inline:4px!important}
  .bar-chart.ap-standard-chart::after{left:4px!important;right:4px!important}
  .bar-chart.ap-standard-chart .bar-track{width:min(48px,74%)!important}
  .bar-chart.ap-standard-chart .bar-value{font-size:.65rem!important}
  .bar-chart.ap-standard-chart .bar-item>small{font-size:.7rem!important}
}
.brand-home-link,.dashboard-logo-link{display:inline-flex;line-height:0;cursor:pointer}

/* ===== Estúdio livre e compacto V136 ===== */
.v134-canvas-toolbar [data-v134-max]{display:none!important}
.v134-tool-dock.v136-free{transform:none!important;right:auto!important;bottom:auto!important;z-index:9740!important}
.v134-tool-dock.v136-moving{cursor:grabbing!important;box-shadow:0 18px 44px rgba(16,48,77,.25)!important}
.v134-tool-button.v136-dragging{opacity:.45!important;transform:scale(.94)}
.v134-tool-panel,.v134-panel-group{
  min-height:0!important;
  height:auto;
  max-height:min(72vh,640px)!important;
}
.v134-panel-body,.v134-group-body{
  padding:6px!important;
  max-height:min(64vh,560px)!important;
}
.v134-tool-panel:not(.is-minimized) .v134-panel-body:empty{display:none}
.v134-panel-empty{min-height:0!important;padding:8px!important}
.v134-icon-grid{gap:4px!important}
.v134-icon-button{min-height:38px!important;aspect-ratio:1.35/1!important;border-radius:8px!important}
.v134-field-add{margin-bottom:5px!important}
.v134-compact-grid,.v134-document-grid{gap:5px!important}
.v134-layer-list{gap:4px!important}
.v134-layer-card{min-height:54px!important;padding:4px!important;grid-template-columns:16px 1fr 26px!important;gap:4px!important}
.v134-layer-preview{height:44px!important}
.v134-layer-preview .v134-preview-element{inset:3px!important;white-space:pre-wrap!important;text-overflow:clip!important}
.v134-panel-head,.v134-group-head{height:34px!important;min-height:34px!important;padding-block:2px!important}
.v134-tool-panel.is-minimized{height:34px!important;min-height:34px!important}
.v134-panel-actions button,.v134-group-actions button,.v134-group-tab button{width:27px!important;height:27px!important}
.v136-global-tooltip{
  position:fixed;
  z-index:20000;
  max-width:240px;
  padding:6px 9px;
  border-radius:7px;
  background:#102d49;
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  line-height:1.25;
  pointer-events:none;
  box-shadow:0 8px 20px rgba(8,31,52,.22);
  opacity:0;
  transform:translateY(3px);
  transition:opacity .12s ease,transform .12s ease;
}
.v136-global-tooltip.is-visible{opacity:1;transform:none}
.v136-tool-ghost{
  position:fixed;
  z-index:19990;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #8bb6e1;
  border-radius:10px;
  background:#fff;
  color:#0d5fb8;
  box-shadow:0 12px 30px rgba(17,49,78,.2);
  pointer-events:none;
}
.v136-tool-ghost svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
  .v134-tool-dock.v136-free{transform:none!important;max-width:none!important;overflow:visible!important;flex-direction:column!important}
  .v134-tool-panel,.v134-panel-group{max-height:65vh!important}
}
@media(max-width:760px){
  .v134-tool-panel.v136-free-panel,.v134-panel-group.v136-free-panel{right:auto!important;bottom:auto!important;width:min(286px,calc(100vw - 18px))!important;resize:both!important}
}

/* ===== Correções de gráfico e estúdio V137 ===== */
.admin-overview-chart-v137{
  --admin-chart-label-space:42px;
  position:relative;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:18px;
  width:100%;
  height:300px;
  padding:10px 8px 0;
  overflow:visible;
}
.admin-overview-chart-v137 .admin-overview-item-v137{
  display:grid;
  grid-template-rows:34px minmax(0,1fr) var(--admin-chart-label-space);
  min-width:0;
  height:100%;
  text-align:center;
}
.admin-overview-chart-v137 .admin-overview-value-v137{
  align-self:end;
  margin-bottom:7px;
  color:var(--ink);
  font-size:.82rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.admin-overview-chart-v137 .admin-overview-plot-v137{
  position:relative;
  min-height:0;
  border-bottom:1px solid #c9d8e7;
}
.admin-overview-chart-v137 .admin-overview-bar-v137{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(72px,70%);
  min-height:0;
  transform:translateX(-50%);
  border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,#1765bf 0%,#68a0e2 100%);
}
.admin-overview-chart-v137 .admin-overview-label-v137{
  align-self:start;
  padding-top:10px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:850;
  line-height:1;
}
@media(max-width:760px){
  .admin-overview-chart-v137{gap:8px;height:260px;padding-inline:2px}
  .admin-overview-chart-v137 .admin-overview-bar-v137{width:min(48px,74%)}
  .admin-overview-chart-v137 .admin-overview-value-v137{font-size:.66rem}
  .admin-overview-chart-v137 .admin-overview-label-v137{font-size:.72rem}
}

/* Barra de ferramentas expansível, mantendo o estado compacto como padrão. */
.v134-tool-dock{overflow:visible!important;transition:width .18s ease,padding .18s ease}
.v134-tool-dock .v137-dock-expand-toggle{
  position:absolute;
  left:-12px;
  top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:32px;
  padding:0;
  border:1px solid #d1deea;
  border-radius:9px 0 0 9px;
  background:#fff;
  color:#55718a;
  cursor:pointer;
  box-shadow:-4px 5px 14px rgba(16,48,77,.1);
  z-index:4;
}
.v134-tool-dock .v137-dock-expand-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.v134-tool-dock.is-expanded-v137{width:154px!important;align-items:stretch!important}
.v134-tool-dock.is-expanded-v137 .v137-dock-expand-toggle svg{transform:rotate(180deg)}
.v134-tool-dock.is-expanded-v137 .v134-tool-button{
  width:100%!important;
  min-width:0!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 10px!important;
}
.v134-tool-dock.is-expanded-v137 .v134-tool-button::after{
  content:attr(data-v137-label);
  overflow:hidden;
  color:#385873;
  font-size:.75rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v134-tool-dock.is-expanded-v137 .v134-tool-dock-grip{width:100%!important}

/* Grupos livres de ícones. */
.v137-icon-group{
  position:fixed;
  z-index:9760;
  display:flex;
  flex-direction:column;
  min-width:52px;
  max-width:min(260px,calc(100vw - 20px));
  padding:4px;
  border:1px solid #cbd9e7;
  border-radius:13px;
  background:rgba(255,255,255,.98);
  box-shadow:0 16px 38px rgba(14,43,70,.2);
  backdrop-filter:blur(8px);
}
.v137-icon-group[hidden]{display:none!important}
.v137-icon-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:3px;
  min-height:24px;
  padding:1px 2px;
  cursor:move;
  color:#7890a5;
  user-select:none;
}
.v137-icon-group-grip{display:grid;grid-template-columns:repeat(3,3px);gap:2px;padding:5px}
.v137-icon-group-grip i{width:3px;height:3px;border-radius:50%;background:currentColor}
.v137-icon-group-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:#6a8399;cursor:pointer}
.v137-icon-group-close:hover{background:#edf5fd;color:#0d5db8}
.v137-icon-group-close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.v137-icon-group-body{display:flex;flex-wrap:wrap;gap:3px;min-height:38px;max-width:244px}
.v137-icon-group .v134-tool-button{display:inline-flex!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;justify-content:center!important}
.v137-icon-group .v134-tool-button::after{display:none!important}
.v137-tool-ghost{position:fixed;z-index:12000;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #bfd2e4;border-radius:10px;background:#fff;color:#315c80;box-shadow:0 12px 28px rgba(14,43,70,.22);pointer-events:none}
.v137-tool-ghost svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v137-icon-group.is-drop-target,.v134-tool-dock.is-drop-target-v137{outline:3px solid rgba(20,100,192,.42);outline-offset:3px}

/* Painéis abrem com a altura mínima necessária e continuam redimensionáveis. */
.v134-tool-panel.v137-compact-panel,.v134-panel-group.v137-compact-panel{min-height:38px!important;height:auto;}
.v134-tool-panel.v137-compact-panel:not(.v137-user-resized),.v134-panel-group.v137-compact-panel:not(.v137-user-resized){height:auto!important}
.v134-tool-panel.v137-compact-panel .v134-panel-body,.v134-panel-group.v137-compact-panel .v134-group-body{max-height:min(64vh,560px)!important}

/* Preview de camada usa a mesma tipografia do elemento. */
.v137-layer-preview-content{display:flex;align-items:center;width:100%;height:100%;min-height:44px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v137-layer-preview-content img{display:block;max-width:100%;max-height:42px;margin:auto;object-fit:contain}

@media(max-width:760px){
  .v134-tool-dock.is-expanded-v137{width:140px!important}
  .v137-icon-group{max-width:calc(100vw - 16px)}
}

/* ===== Estúdio integrado em acordeão V138 ===== */
#admin-certificate-settings .v138-studio-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 58px;
  gap:12px;
  align-items:start;
  width:100%;
  min-width:0;
}
#admin-certificate-settings .v138-studio-shell.is-tools-expanded{
  grid-template-columns:minmax(0,1fr) minmax(238px,292px);
}
#admin-certificate-settings .v138-studio-shell.is-tools-left{
  grid-template-columns:minmax(238px,292px) minmax(0,1fr);
}
#admin-certificate-settings .v138-studio-shell.is-tools-left:not(.is-tools-expanded){
  grid-template-columns:58px minmax(0,1fr);
}
#admin-certificate-settings .v138-studio-shell.is-tools-left [data-certificate-panel="workspace"]{order:2}
#admin-certificate-settings .v138-studio-shell.is-tools-left .v134-tool-dock{order:1}
#admin-certificate-settings .v138-studio-shell [data-certificate-panel="workspace"]{
  min-width:0!important;
  width:100%!important;
}
#admin-certificate-settings .v134-tool-dock.v138-integrated-dock{
  position:sticky!important;
  inset:auto!important;
  top:12px!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:120!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:3px!important;
  width:58px!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  overflow:auto!important;
  padding:5px!important;
  border:1px solid #d1deea!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(16,48,77,.12)!important;
  backdrop-filter:none!important;
  touch-action:auto!important;
}
#admin-certificate-settings .v138-studio-shell.is-tools-expanded .v134-tool-dock.v138-integrated-dock{
  width:100%!important;
}
.v138-dock-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  min-height:38px;
  padding:2px;
  border-bottom:1px solid #e4ecf4;
}
.v138-dock-head .v134-tool-dock-grip{
  flex:1;
  width:auto!important;
  min-width:32px;
  height:34px!important;
}
.v138-dock-collapse{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#5c7790;
  cursor:pointer;
}
.v138-dock-collapse:hover{background:#edf5fd;color:#0d5fb8}
.v138-dock-collapse svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.v138-studio-shell.is-tools-left .v138-dock-collapse svg{transform:rotate(180deg)}
.v138-tool-section{display:block;min-width:0;border-radius:10px;overflow:hidden}
.v138-tool-section>.v134-tool-button{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  padding:0 9px!important;
  border-radius:9px!important;
  gap:9px!important;
}
.v138-tool-section>.v134-tool-button>svg{flex:0 0 20px}
.v138-studio-shell.is-tools-expanded .v138-tool-section>.v134-tool-button{
  justify-content:flex-start!important;
  padding-right:34px!important;
}
.v138-studio-shell.is-tools-expanded .v138-tool-section>.v134-tool-button::after{
  content:attr(data-v137-label)!important;
  display:block!important;
  min-width:0;
  overflow:hidden;
  color:#385873;
  font-size:.75rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v138-tool-caret{
  position:absolute;
  right:8px;
  top:50%;
  display:none;
  width:16px;
  height:16px;
  transform:translateY(-50%);
  color:#70899f;
  pointer-events:none;
}
.v138-tool-caret svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.v138-studio-shell.is-tools-expanded .v138-tool-caret{display:block}
.v138-tool-section.is-open .v138-tool-caret svg{transform:rotate(90deg)}
.v134-tool-panel.v138-inline-panel{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:3px 0 5px!important;
  resize:none!important;
  overflow:visible!important;
  border:0!important;
  border-radius:9px!important;
  background:#f7f9fc!important;
  box-shadow:none!important;
  z-index:auto!important;
}
.v134-tool-panel.v138-inline-panel>.v134-panel-head{display:none!important}
.v134-tool-panel.v138-inline-panel>.v134-panel-body{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  padding:7px!important;
}
.v138-tool-section:not(.is-open)>.v134-tool-panel.v138-inline-panel{display:none!important}
.v138-studio-shell:not(.is-tools-expanded) .v138-tool-section>.v134-tool-panel.v138-inline-panel{display:none!important}
.v138-studio-shell:not(.is-tools-expanded) .v138-tool-caret{display:none!important}
.v137-dock-expand-toggle{display:none!important}
.v137-icon-group{display:none!important}
.v134-panel-group{display:none!important}

/* Barra contextual no padrão Canva/Word. */
#certificateContextToolbar:not([hidden]){
  display:flex!important;
  position:sticky!important;
  top:8px!important;
  z-index:160!important;
  align-items:center!important;
  gap:4px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 8px auto!important;
  padding:5px!important;
  border:1px solid #d3dfeb!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 8px 20px rgba(19,51,79,.12)!important;
  overflow-x:auto!important;
}
#certificateContextToolbar[hidden]{display:none!important}
#certificateContextToolbar .certificate-shift-hint{display:none!important}
#certificateContextToolbar .certificate-context-tabs{display:none!important}
#certificateContextToolbar .certificate-toolbar-group{display:flex;align-items:center;gap:3px;border-right:1px solid #e2e9f1;padding-right:4px;margin-right:1px}
#certificateContextToolbar .certificate-toolbar-group:last-child{border-right:0;padding-right:0;margin-right:0}
#certificateContextToolbar .certificate-icon-button{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important}
#certificateContextToolbar .certificate-toolbar-font{width:150px!important;min-width:118px!important;height:34px!important;padding:4px 28px 4px 9px!important}
#certificateContextToolbar .certificate-toolbar-size{width:52px!important;height:34px!important;padding:4px!important;text-align:center}

@media(max-width:900px){
  #admin-certificate-settings .v138-studio-shell,
  #admin-certificate-settings .v138-studio-shell.is-tools-expanded,
  #admin-certificate-settings .v138-studio-shell.is-tools-left,
  #admin-certificate-settings .v138-studio-shell.is-tools-left:not(.is-tools-expanded){grid-template-columns:1fr!important}
  #admin-certificate-settings .v138-studio-shell [data-certificate-panel="workspace"]{order:1!important}
  #admin-certificate-settings .v134-tool-dock.v138-integrated-dock{
    order:2!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-height:none!important;
  }
  .v138-tool-section>.v134-tool-button{justify-content:flex-start!important;padding-right:34px!important}
  .v138-tool-section>.v134-tool-button::after{content:attr(data-v137-label)!important;display:block!important;color:#385873;font-size:.75rem;font-weight:800}
  .v138-tool-caret{display:block!important}
}
#admin-certificate-settings #certificateContextToolbar:not([hidden]){display:flex!important}
#admin-certificate-settings #certificateContextToolbar[hidden]{display:none!important}

/* ===== Painéis destacáveis e gráficos corrigidos V139 ===== */
.v139-tool-drag-ghost{
  position:fixed;z-index:12000;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border:1px solid #b9cde0;border-radius:11px;background:#fff;color:#155da8;box-shadow:0 12px 28px rgba(17,48,77,.22);pointer-events:none
}
.v139-tool-drag-ghost svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.v134-tool-panel[data-v139-detached="true"],.v134-tool-panel.v139-detached-panel{
  position:fixed!important;inset:auto!important;display:block!important;width:300px!important;min-width:230px!important;max-width:min(360px,calc(100vw - 24px))!important;
  height:auto!important;min-height:0!important;max-height:min(70vh,620px)!important;margin:0!important;overflow:hidden!important;resize:horizontal!important;
  border:1px solid #ceddeb!important;border-radius:15px!important;background:#fff!important;box-shadow:0 18px 42px rgba(14,45,73,.2)!important;z-index:9800!important
}
.v134-tool-panel[data-v139-detached="true"]>.v134-panel-head{display:flex!important;min-height:42px!important;padding:7px 9px!important;cursor:move;background:#f7f9fc!important;border-bottom:1px solid #dce7f1!important}
.v134-tool-panel[data-v139-detached="true"]>.v134-panel-body{display:block!important;padding:8px!important;min-height:0!important;height:auto!important;max-height:calc(min(70vh,620px) - 44px)!important;overflow:auto!important}
.v134-tool-panel[data-v139-detached="true"] .v134-panel-actions button{width:30px!important;height:30px!important}
.v134-tool-panel[data-v139-detached="true"] .v134-panel-actions [data-panel-dock] svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Um único padrão de gráfico: valores acima, barras apoiadas exatamente no zero e meses abaixo. */
.bar-chart.ap-standard-chart{
  --chart-top-space:48px;--chart-label-space:48px;
  position:relative!important;display:grid!important;grid-template-columns:repeat(var(--chart-columns,7),minmax(0,1fr))!important;
  align-items:stretch!important;gap:18px!important;width:100%!important;height:300px!important;min-height:300px!important;
  padding:0 12px!important;overflow:visible!important;background:none!important;border:0!important;box-sizing:border-box!important
}
.bar-chart.ap-standard-chart::after{display:none!important;content:none!important}
.bar-chart.ap-standard-chart .bar-item{
  position:relative!important;display:block!important;height:100%!important;min-width:0!important;margin:0!important;padding:0!important;text-align:center!important;box-sizing:border-box!important
}
.bar-chart.ap-standard-chart .bar-value{
  position:absolute!important;top:8px!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important;padding:0!important;
  color:var(--ink)!important;font-size:.78rem!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;z-index:4!important
}
.bar-chart.ap-standard-chart .bar-track{
  position:absolute!important;top:var(--chart-top-space)!important;bottom:var(--chart-label-space)!important;left:50%!important;transform:translateX(-50%)!important;
  width:min(74px,72%)!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important
}
.bar-chart.ap-standard-chart .bar-track::after{
  content:""!important;position:absolute!important;left:-22%!important;right:-22%!important;bottom:0!important;height:1px!important;background:#c7d7e7!important;z-index:3!important
}
.bar-chart.ap-standard-chart .bar-track span{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-height:100%!important;min-height:0!important;
  margin:0!important;transform:none!important;border-radius:10px 10px 0 0!important;background:linear-gradient(180deg,#1765bf 0%,#68a0e2 100%)!important;z-index:2!important
}
.bar-chart.ap-standard-chart .bar-item>small{
  position:absolute!important;left:0!important;right:0!important;bottom:10px!important;margin:0!important;padding:0!important;color:var(--muted)!important;
  font-size:.8rem!important;font-weight:850!important;line-height:1!important;text-align:center!important;z-index:4!important
}
@media(max-width:760px){
  .bar-chart.ap-standard-chart{gap:8px!important;height:260px!important;min-height:260px!important;padding-inline:4px!important}
  .bar-chart.ap-standard-chart .bar-track{width:min(48px,74%)!important}
  .bar-chart.ap-standard-chart .bar-value{font-size:.65rem!important}
  .bar-chart.ap-standard-chart .bar-item>small{font-size:.7rem!important}
}
.bar-chart.ap-standard-chart .bar-track{left:0!important;right:0!important;width:100%!important;transform:none!important}
.bar-chart.ap-standard-chart .bar-track::after{left:0!important;right:0!important}
.bar-chart.ap-standard-chart .bar-track span{left:50%!important;right:auto!important;width:min(72px,70%)!important;transform:translateX(-50%)!important}
@media(max-width:760px){.bar-chart.ap-standard-chart .bar-track span{width:min(48px,74%)!important}}

/* ===== Correção definitiva do movimento do menu do editor V140 ===== */
#admin-certificate-settings .v134-tool-dock.v138-integrated-dock.v140-dock-dragging{
  outline:3px solid rgba(20,100,192,.22)!important;
  outline-offset:3px!important;
  box-shadow:0 18px 42px rgba(16,48,77,.22)!important;
  user-select:none!important;
}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-left{
  grid-template-columns:minmax(238px,292px) minmax(0,1fr)!important;
}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-left [data-certificate-panel="workspace"]{order:2!important}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-left .v134-tool-dock{order:1!important}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-right{
  grid-template-columns:minmax(0,1fr) minmax(238px,292px)!important;
}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-right [data-certificate-panel="workspace"]{order:1!important}
#admin-certificate-settings .v138-studio-shell.v140-side-preview-right .v134-tool-dock{order:2!important}
#admin-certificate-settings .v138-dock-head .v134-tool-dock-grip.v140-live-grip{
  cursor:grab!important;
  touch-action:none!important;
}
#admin-certificate-settings .v138-dock-head .v134-tool-dock-grip.v140-live-grip:active{cursor:grabbing!important}
#admin-certificate-settings .v140-dock-side-indicator{
  position:fixed;
  top:50%;
  z-index:11980;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:76px;
  border:1px solid #cbdceb;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  color:#1464c0;
  box-shadow:0 12px 28px rgba(16,48,77,.16);
  transform:translateY(-50%);
  pointer-events:none;
  opacity:0;
  transition:opacity .12s ease;
}
#admin-certificate-settings .v140-dock-side-indicator.is-visible{opacity:1}
#admin-certificate-settings .v140-dock-side-indicator.is-left{left:12px}
#admin-certificate-settings .v140-dock-side-indicator.is-right{right:12px}
#admin-certificate-settings .v140-dock-side-indicator svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){
  #admin-certificate-settings .v140-dock-side-indicator{display:none!important}
}

/* ===== Grade livre do estúdio de certificados V142 ===== */
#admin-certificate-settings.v142-grid-ready{
  position:relative;
  overflow:visible!important;
}
#admin-certificate-settings.v142-grid-ready>.certificate-designer-header{
  display:none!important;
}
#admin-certificate-settings .v142-certificate-grid{
  --v142-cols:30;
  --v142-row:30px;
  display:grid!important;
  grid-template-columns:repeat(30,minmax(0,1fr));
  grid-template-rows:repeat(30,var(--v142-row));
  gap:6px;
  width:100%;
  min-height:calc(30 * var(--v142-row) + 174px);
  padding:10px;
  border:1px solid #d6e3f0;
  border-radius:20px;
  background:#edf3f9;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#admin-certificate-settings .v142-certificate-grid.is-editing-grid{
  background-image:linear-gradient(to right,rgba(34,86,132,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(34,86,132,.08) 1px,transparent 1px);
  background-size:calc((100% - 58px)/30) var(--v142-row);
}
#admin-certificate-settings .v142-grid-item{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  overflow:hidden!important;
  z-index:2!important;
  box-sizing:border-box!important;
}
#admin-certificate-settings .v142-grid-item.v142-workspace-item{
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
  border:1px solid #cfdeed!important;
  border-radius:18px!important;
  padding:10px!important;
  order:0!important;
}
#admin-certificate-settings .v142-grid-item.v142-workspace-item .certificate-designer-toolbar{
  display:none!important;
}
#admin-certificate-settings .v142-grid-item.v142-workspace-item .certificate-canvas-stage{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
  padding:12px!important;
  border-radius:14px!important;
}
#admin-certificate-settings .v142-grid-item.v142-workspace-item .certificate-designer-help{display:none!important}
#admin-certificate-settings .v142-grid-item.v142-workspace-item .v134-canvas-toolbar{
  flex:0 0 auto!important;
  margin:0 0 8px!important;
  position:relative!important;
  z-index:4!important;
}
#admin-certificate-settings .v142-grid-item.v142-dock-item{
  background:#fff!important;
  border:1px solid #cfdeed!important;
  border-radius:18px!important;
  padding:8px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
}
#admin-certificate-settings .v142-grid-item.v142-dock-item .v138-dock-head{
  min-height:34px!important;
  flex:0 0 auto!important;
}
#admin-certificate-settings .v142-grid-item.v142-dock-item .v138-dock-collapse{
  position:absolute!important;
  right:7px!important;
  top:7px!important;
}
#admin-certificate-settings .v142-grid-item.v142-cluster-item{
  background:#fff!important;
  border:1px solid #cfdeed!important;
  border-radius:16px!important;
  padding:8px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
}
#admin-certificate-settings .v142-grid-item.v142-panel-item{
  background:#fff!important;
  border:1px solid #cfdeed!important;
  border-radius:16px!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#admin-certificate-settings .v142-grid-item.v142-panel-item>.v134-panel-head{
  flex:0 0 auto!important;
}
#admin-certificate-settings .v142-grid-item.v142-panel-item>.v134-panel-body{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
}
#admin-certificate-settings .v142-grid-handle{
  position:absolute;
  top:5px;
  left:50%;
  transform:translateX(-50%);
  width:34px;
  height:20px;
  border:0;
  background:transparent;
  color:#7893ad;
  cursor:grab;
  z-index:80;
  display:grid;
  grid-template-columns:repeat(3,4px);
  grid-auto-rows:4px;
  gap:3px;
  align-content:center;
  justify-content:center;
  padding:0;
}
#admin-certificate-settings .v142-grid-handle:active{cursor:grabbing}
#admin-certificate-settings .v142-grid-handle span{width:4px;height:4px;border-radius:50%;background:currentColor}
#admin-certificate-settings .v142-grid-resize{
  position:absolute;
  right:2px;
  bottom:2px;
  width:18px;
  height:18px;
  cursor:nwse-resize;
  z-index:80;
  background:linear-gradient(135deg,transparent 48%,#7893ad 49%,#7893ad 56%,transparent 57%,transparent 67%,#7893ad 68%,#7893ad 75%,transparent 76%);
}
#admin-certificate-settings .v142-grid-item.is-grid-dragging,
#admin-certificate-settings .v142-grid-item.is-grid-resizing{
  z-index:500!important;
  box-shadow:0 18px 40px rgba(13,48,82,.2)!important;
  opacity:.96;
}
#admin-certificate-settings .v142-tool-cluster-body{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:26px;
  min-height:0;
}
#admin-certificate-settings .v142-tool-cluster-body>.v138-tool-section{
  width:100%!important;
}
#admin-certificate-settings .v142-tool-cluster-body [data-v134-tool]{
  width:100%!important;
}
#admin-certificate-settings .v142-grid-drop-hint{
  position:absolute;
  pointer-events:none;
  border:2px solid #1464c0;
  background:rgba(20,100,192,.09);
  border-radius:14px;
  z-index:999;
  display:none;
}
#admin-certificate-settings .v142-grid-drop-hint.is-visible{display:block}
#admin-certificate-settings .v138-studio-shell,
#admin-certificate-settings #certificateDesignerLayout{
  display:contents!important;
}
#admin-certificate-settings .certificate-template-library,
#admin-certificate-settings .certificate-element-panel{
  display:none!important;
}
#admin-certificate-settings .v142-certificate-grid .v134-tool-panel[data-v139-detached="true"]{
  position:relative!important;
  inset:auto!important;
}
@media(max-width:980px){
  #admin-certificate-settings .v142-certificate-grid{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    background-image:none!important;
  }
  #admin-certificate-settings .v142-grid-item{min-height:220px!important;flex:0 0 auto!important}
  #admin-certificate-settings .v142-workspace-item{min-height:620px!important;order:-10!important}
  #admin-certificate-settings .v142-dock-item{min-height:auto!important}
  #admin-certificate-settings .v142-grid-handle,#admin-certificate-settings .v142-grid-resize{display:none!important}
}

/* Todos os painéis começam abertos; o usuário decide se deseja recolher. */
.dashboard-shell[data-v142-sidebar-ready="true"]{--v142-sidebar-default:full}
.dashboard-shell[data-sidebar-mode="full"]{grid-template-columns:260px minmax(0,1fr)!important}
.dashboard-shell[data-sidebar-mode="full"] .dashboard-sidebar{width:auto!important;min-width:0!important;padding:18px 16px!important;overflow-y:auto!important}
.dashboard-shell[data-sidebar-mode="full"] .dashboard-logo,
.dashboard-shell[data-sidebar-mode="full"] .dashboard-role,
.dashboard-shell[data-sidebar-mode="full"] .dashboard-nav,
.dashboard-shell[data-sidebar-mode="full"] .dashboard-sidebar-footer{display:flex!important}
.dashboard-shell[data-sidebar-mode="full"] .dashboard-nav{flex-direction:column!important}
.dashboard-shell[data-sidebar-mode="full"] .dashboard-nav button{font-size:inherit!important;justify-content:flex-start!important;gap:12px!important;padding:11px 12px!important;min-height:46px!important}
#admin-certificate-settings .v142-grid-resize[data-edge="right"]{right:0;top:28px;bottom:18px;width:8px;height:auto;cursor:ew-resize;background:transparent}
#admin-certificate-settings .v142-grid-resize[data-edge="bottom"]{left:10px;right:18px;bottom:0;width:auto;height:8px;cursor:ns-resize;background:transparent}
#admin-certificate-settings .v142-grid-resize[data-edge="corner"]{right:1px;bottom:1px}

/* ===== Ajuste final do estúdio de certificados V143 ===== */
#admin-certificate-settings.v143-canva-editor{
  position:relative;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor .certificate-designer-header{
  display:none!important;
}
#admin-certificate-settings.v143-canva-editor #certificateDesignerLayout{
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor .v138-studio-shell,
#admin-certificate-settings.v143-canva-editor .v142-certificate-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  grid-template-rows:auto!important;
  gap:14px!important;
  align-items:start!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background:none!important;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor .v142-grid-item,
#admin-certificate-settings.v143-canva-editor .v142-workspace-item,
#admin-certificate-settings.v143-canva-editor .v142-dock-item,
#admin-certificate-settings.v143-canva-editor .v142-panel-item,
#admin-certificate-settings.v143-canva-editor .v142-cluster-item{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  transform:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor [data-certificate-panel="workspace"]{
  grid-column:1!important;
  grid-row:1!important;
  order:1!important;
  min-width:0!important;
  width:100%!important;
  z-index:2!important;
}
#admin-certificate-settings.v143-canva-editor .v134-tool-dock.v138-integrated-dock{
  grid-column:2!important;
  grid-row:1!important;
  order:2!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  position:sticky!important;
  top:86px!important;
  max-height:calc(100vh - 102px)!important;
  overflow:auto!important;
  padding:8px!important;
  border:1px solid #d8e4f1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(16,52,87,.10)!important;
  z-index:20!important;
}
#admin-certificate-settings.v143-canva-editor .v138-dock-head{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  background:#fff!important;
  min-height:36px!important;
  padding:4px 2px 8px!important;
  border-bottom:1px solid #e2eaf3!important;
}
#admin-certificate-settings.v143-canva-editor .v138-dock-collapse,
#admin-certificate-settings.v143-canva-editor .v142-grid-handle,
#admin-certificate-settings.v143-canva-editor .v142-grid-resize,
#admin-certificate-settings.v143-canva-editor .v142-cluster-item{
  display:none!important;
}
#admin-certificate-settings.v143-canva-editor .v134-tool-dock-grip{
  cursor:default!important;
  opacity:.45!important;
  pointer-events:none!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-section{
  width:100%!important;
  margin:0 0 5px!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-section>.v134-tool-button{
  width:100%!important;
  min-height:44px!important;
  justify-content:flex-start!important;
  padding:8px 38px 8px 12px!important;
  border-radius:10px!important;
  background:transparent!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-section.is-open>.v134-tool-button{
  background:#eaf4ff!important;
  color:#0b63bd!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-section>.v134-tool-button::after{
  content:attr(data-v137-label)!important;
  display:block!important;
  margin-left:10px!important;
  color:#365a78!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-caret{
  display:block!important;
}
#admin-certificate-settings.v143-canva-editor .v134-tool-panel.v138-inline-panel{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0 8px 8px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor .v138-tool-section:not(.is-open)>.v134-tool-panel.v138-inline-panel{
  display:none!important;
}
#admin-certificate-settings.v143-canva-editor .v134-tool-panel.v138-inline-panel>.v134-panel-body{
  min-height:0!important;
  max-height:none!important;
  padding:8px!important;
  border:1px solid #dce7f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  overflow:visible!important;
}
#admin-certificate-settings.v143-canva-editor .certificate-designer-toolbar{
  display:none!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar:not([hidden]){
  display:flex!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar{
  position:sticky!important;
  top:8px!important;
  z-index:90!important;
  width:100%!important;
  min-height:54px!important;
  margin:0 0 12px!important;
  padding:7px 9px!important;
  border:1px solid #d4dfeb!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 8px 24px rgba(12,44,76,.13)!important;
  align-items:center!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar .certificate-toolbar-group{
  flex:0 0 auto!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar .certificate-icon-button{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  border-radius:9px!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar .certificate-toolbar-font{
  width:180px!important;
  height:38px!important;
}
#admin-certificate-settings.v143-canva-editor #certificateContextToolbar .certificate-toolbar-size{
  width:58px!important;
  height:38px!important;
}
#admin-certificate-settings.v143-canva-editor #certificateAlignmentCycle{
  position:relative!important;
}
#admin-certificate-settings.v143-canva-editor #certificateAlignmentCycle svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
}
#admin-certificate-settings.v143-canva-editor .certificate-canvas-stage{
  width:100%!important;
  min-height:640px!important;
  padding:18px!important;
  border-radius:16px!important;
  overflow:auto!important;
}
#admin-certificate-settings.v143-canva-editor .certificate-designer-canvas{
  margin:0 auto!important;
}
@media(max-width:1100px){
  #admin-certificate-settings.v143-canva-editor .v138-studio-shell,
  #admin-certificate-settings.v143-canva-editor .v142-certificate-grid{
    grid-template-columns:minmax(0,1fr) 260px!important;
  }
  #admin-certificate-settings.v143-canva-editor .v134-tool-dock.v138-integrated-dock{
    width:260px!important;min-width:260px!important;max-width:260px!important;
  }
}
@media(max-width:820px){
  #admin-certificate-settings.v143-canva-editor .v138-studio-shell,
  #admin-certificate-settings.v143-canva-editor .v142-certificate-grid{
    grid-template-columns:1fr!important;
  }
  #admin-certificate-settings.v143-canva-editor [data-certificate-panel="workspace"]{grid-column:1!important;grid-row:1!important}
  #admin-certificate-settings.v143-canva-editor .v134-tool-dock.v138-integrated-dock{
    grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;position:relative!important;top:auto!important;max-height:none!important;
  }
}

/* ===== Estúdio de certificados baseado no layout aprovado V144 ===== */
#admin-certificate-settings.v144-certificate-studio{
  position:relative!important;
  overflow:visible!important;
}
#admin-certificate-settings.v144-certificate-studio .certificate-designer-header,
#admin-certificate-settings.v144-certificate-studio .certificate-designer-toolbar,
#admin-certificate-settings.v144-certificate-studio .v142-grid-handle,
#admin-certificate-settings.v144-certificate-studio .v142-grid-resize,
#admin-certificate-settings.v144-certificate-studio .v138-dock-collapse,
#admin-certificate-settings.v144-certificate-studio .v134-tool-dock-grip{
  display:none!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateDesignerLayout,
#admin-certificate-settings.v144-certificate-studio .v138-studio-shell,
#admin-certificate-settings.v144-certificate-studio .v142-certificate-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  overflow:visible!important;
}
#admin-certificate-settings.v144-certificate-studio [data-certificate-panel="workspace"]{
  grid-column:1!important;
  grid-row:1!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:10px!important;
  overflow:visible!important;
  border:1px solid #d6e2ef!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(20,54,87,.07)!important;
}
#admin-certificate-settings.v144-certificate-studio .v134-tool-dock.v138-integrated-dock{
  grid-column:2!important;
  grid-row:1!important;
  position:sticky!important;
  top:16px!important;
  inset-block-end:auto!important;
  inset-inline:auto!important;
  width:320px!important;
  min-width:320px!important;
  max-width:320px!important;
  max-height:calc(100vh - 32px)!important;
  padding:10px!important;
  margin:0!important;
  overflow:auto!important;
  border:1px solid #d6e2ef!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(20,54,87,.10)!important;
  z-index:30!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-dock-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 0 8px!important;
  margin-bottom:6px!important;
  border-bottom:1px solid #e1e9f2!important;
  background:#fff!important;
  position:sticky!important;
  top:0!important;
  z-index:4!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-dock-head::after{
  content:"";
  width:22px;
  height:28px;
  background:radial-gradient(circle,#9bb0c4 2px,transparent 2.4px) 0 0/8px 8px;
  opacity:.8;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section{
  display:block!important;
  width:100%!important;
  margin:0 0 6px!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section>.v134-tool-button{
  display:flex!important;
  width:100%!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  padding:9px 38px 9px 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#365a78!important;
  position:relative!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section>.v134-tool-button:hover,
#admin-certificate-settings.v144-certificate-studio .v138-tool-section.is-open>.v134-tool-button{
  background:#eaf4ff!important;
  color:#0b63bd!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section>.v134-tool-button::after{
  content:attr(data-v137-label)!important;
  display:block!important;
  color:inherit!important;
  font-size:.82rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-caret{
  display:block!important;
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%) rotate(0deg)!important;
  transition:transform .16s ease!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section.is-open .v138-tool-caret{
  transform:translateY(-50%) rotate(90deg)!important;
}
#admin-certificate-settings.v144-certificate-studio .v134-tool-panel.v138-inline-panel{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0 6px 8px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
#admin-certificate-settings.v144-certificate-studio .v138-tool-section:not(.is-open)>.v134-tool-panel.v138-inline-panel{
  display:none!important;
}
#admin-certificate-settings.v144-certificate-studio .v134-tool-panel.v138-inline-panel>.v134-panel-head{
  display:none!important;
}
#admin-certificate-settings.v144-certificate-studio .v134-tool-panel.v138-inline-panel>.v134-panel-body{
  min-height:0!important;
  max-height:none!important;
  padding:9px!important;
  border:1px solid #dce7f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  overflow:visible!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar{
  display:flex!important;
  position:sticky!important;
  top:8px!important;
  z-index:120!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
  min-height:50px!important;
  margin:0 auto 10px!important;
  padding:6px 8px!important;
  border:1px solid #d3deea!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 7px 20px rgba(12,44,76,.14)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar[hidden]{display:flex!important}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar .certificate-toolbar-group{flex:0 0 auto!important}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar .certificate-icon-button{
  width:36px!important;min-width:36px!important;height:36px!important;border-radius:8px!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar .certificate-toolbar-font{width:150px!important;height:36px!important}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar .certificate-toolbar-size{width:55px!important;height:36px!important}
#admin-certificate-settings.v144-certificate-studio #certificateQuickSave{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  height:36px!important;
  padding:0 13px!important;
  border:1px solid #0b63bd!important;
  border-radius:9px!important;
  background:#1464c0!important;
  color:#fff!important;
  font-weight:850!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateQuickSave svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
#admin-certificate-settings.v144-certificate-studio .certificate-canvas-stage{
  width:100%!important;
  min-height:0!important;
  padding:12px!important;
  border:1px solid #d8e4f1!important;
  border-radius:15px!important;
  background:#eaf0f6!important;
  overflow:auto!important;
}
#admin-certificate-settings.v144-certificate-studio .certificate-designer-canvas{
  margin:0 auto!important;
  max-width:100%!important;
}
#admin-certificate-settings.v144-certificate-studio .certificate-designer-help{display:none!important}
#admin-certificate-settings.v144-certificate-studio .v144-template-strip{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:10px!important;
  margin:10px auto 0!important;
  padding:6px 10px!important;
  width:max-content!important;
  max-width:100%!important;
  border:1px solid #d7e2ee!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(18,52,84,.08)!important;
  overflow-x:auto!important;
}
#admin-certificate-settings.v144-certificate-studio .v144-template-thumb{
  width:94px!important;
  min-width:94px!important;
  padding:4px!important;
  border:2px solid transparent!important;
  border-radius:9px!important;
  background:#f4f7fb!important;
  cursor:pointer!important;
}
#admin-certificate-settings.v144-certificate-studio .v144-template-thumb.active{border-color:#1464c0!important;background:#edf5ff!important}
#admin-certificate-settings.v144-certificate-studio .v144-template-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
#admin-certificate-settings.v144-certificate-studio .v144-template-thumb span{display:block;margin-top:4px;font-size:.65rem;font-weight:800;color:#355975;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#admin-certificate-settings.v144-certificate-studio .v144-template-add{
  width:70px!important;min-width:70px!important;height:64px!important;border:1px dashed #adc1d5!important;border-radius:9px!important;background:#f7faff!important;color:#335b7d!important;font-size:1.7rem!important;cursor:pointer!important;
}
@media(max-width:1180px){
  #admin-certificate-settings.v144-certificate-studio #certificateDesignerLayout,
  #admin-certificate-settings.v144-certificate-studio .v138-studio-shell,
  #admin-certificate-settings.v144-certificate-studio .v142-certificate-grid{grid-template-columns:minmax(0,1fr) 280px!important}
  #admin-certificate-settings.v144-certificate-studio .v134-tool-dock.v138-integrated-dock{width:280px!important;min-width:280px!important;max-width:280px!important}
}
@media(max-width:860px){
  #admin-certificate-settings.v144-certificate-studio #certificateDesignerLayout,
  #admin-certificate-settings.v144-certificate-studio .v138-studio-shell,
  #admin-certificate-settings.v144-certificate-studio .v142-certificate-grid{grid-template-columns:1fr!important}
  #admin-certificate-settings.v144-certificate-studio [data-certificate-panel="workspace"]{grid-column:1!important;grid-row:1!important}
  #admin-certificate-settings.v144-certificate-studio .v134-tool-dock.v138-integrated-dock{grid-column:1!important;grid-row:2!important;position:relative!important;top:auto!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important}
}

/* ===== Editor de certificados integrado V145 ===== */
.certificate-editor-view{padding:0!important;overflow:visible!important}
.certificate-editor-embed-shell{width:100%;min-height:calc(100vh - 128px);border:1px solid #d7e4f1;border-radius:20px;overflow:hidden;background:#eef4fb;box-shadow:0 10px 30px rgba(18,56,95,.08)}
.certificate-editor-frame{display:block;width:100%;height:calc(100vh - 132px);min-height:820px;border:0;background:#eef4fb}
@media(max-width:900px){.certificate-editor-frame{min-height:980px;height:calc(100vh - 110px)}.certificate-editor-embed-shell{border-radius:14px}}


/* ===== Estabilização do editor incorporado V146 ===== */
.certificate-editor-embed-shell{position:relative;overflow:hidden;contain:layout paint style;background:#eef4fb}
.certificate-editor-frame{display:block;position:relative;z-index:1;visibility:visible!important;opacity:1!important;transform:none!important;transition:none!important;animation:none!important;will-change:auto}
#admin-certificate-settings.active{overflow:hidden}

/* ===== Encaixe do editor de certificados V147 ===== */
.certificate-editor-view{height:calc(100vh - 112px)!important;min-height:0!important;overflow:hidden!important}
.certificate-editor-embed-shell{height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:18px!important}
.certificate-editor-frame{width:100%!important;height:100%!important;min-height:0!important;border:0!important;overflow:hidden!important}
#admin-certificate-settings.active{height:calc(100vh - 112px)!important;min-height:0!important;overflow:hidden!important}

/* =========================================================
   V151 — ESTABILIDADE DO EDITOR DE CERTIFICADOS
   ========================================================= */
#admin-certificate-settings.v144-certificate-studio .certificate-canvas-stage{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:calc(100vh - 245px)!important;
  min-height:430px!important;
  padding:14px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges!important;
}
#admin-certificate-settings .certificate-page-zoom-viewport{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  margin:0 auto!important;
}
#admin-certificate-settings .certificate-page-zoom-viewport .certificate-designer-canvas{
  position:absolute!important;
  inset:0 auto auto 0!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
  will-change:transform!important;
}
#admin-certificate-settings.v144-certificate-studio .v134-canvas-toolbar{
  position:sticky!important;
  bottom:0!important;
  z-index:140!important;
  margin:0 auto 10px!important;
  width:max-content!important;
  max-width:calc(100% - 20px)!important;
}
#admin-certificate-settings.v144-certificate-studio #certificateContextToolbar .certificate-toolbar-font{
  width:220px!important;
  min-width:220px!important;
  text-overflow:clip!important;
}
#admin-certificate-settings.v144-certificate-studio .certificate-designer-canvas,
#admin-certificate-settings.v144-certificate-studio .certificate-designer-canvas>.certificate-designer-bg{
  border-radius:0!important;
}
body.certificate-editor-open{
  overflow:hidden!important;
}
@media(max-height:760px){
  #admin-certificate-settings.v144-certificate-studio .certificate-canvas-stage{
    height:calc(100vh - 205px)!important;
    min-height:330px!important;
  }
}

/* ===== V153: guias inteligentes e seleção por área ===== */
#certificateDesignerCanvas{position:relative;overflow:hidden}
.v153-guide-overlay{position:absolute;inset:0;z-index:10000;pointer-events:none}
.v153-guide{position:absolute;display:none;background:#7c3aed;box-shadow:0 0 0 1px rgba(255,255,255,.8)}
.v153-guide-x{top:0;bottom:0;width:1px}
.v153-guide-y{left:0;right:0;height:1px}
.v153-guide-overlay.show-x .v153-guide-x,.v153-guide-overlay.show-y .v153-guide-y{display:block}
.v153-marquee{position:absolute;z-index:10001;border:1px solid #2563eb;background:rgba(37,99,235,.10);pointer-events:none;box-sizing:border-box}
.certificate-editor-element.multi-selected{outline:1px solid rgba(37,99,235,.85);outline-offset:1px}

/* V154 — identidade regional multi-tenant */
.tenant-operation-badge{display:block;margin:6px auto 0;width:max-content;max-width:150px;padding:4px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:rgba(255,255,255,.86);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tenant-settings-intro{margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#f4f7ff;border:1px solid #dfe7ff;color:#30415f}
.module-name{font-weight:800}.module-description{display:block;font-size:11px;opacity:.68;font-weight:500}

/* ===== Ferramentas de layout V155 ===== */
.v155-top-layout-host{display:flex;align-items:center;margin-left:6px;min-width:0}
.v155-layout-tools{display:grid;gap:10px;padding:10px;border:1px solid #e3e8f0;border-radius:10px;background:#fff}
.v155-layout-tools.is-compact{display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent}
.v155-scope{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#536074;white-space:nowrap}
.v155-scope select{height:30px;border:1px solid #d9e0ea;border-radius:7px;background:#fff;padding:0 24px 0 8px;font:inherit;color:#263247}
.v155-tool-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.v155-tool-group+.v155-tool-group{border-top:1px solid #edf0f5;padding-top:8px}
.is-compact .v155-tool-group+.v155-tool-group{border-top:0;border-left:1px solid #e3e8f0;padding-top:0;padding-left:7px}
.v155-label{font-size:10px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;color:#7b8798;margin-right:2px}
.v155-layout-tools button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dfe5ee;border-radius:7px;background:#fff;color:#34425a;cursor:pointer}
.v155-layout-tools button:hover{background:#f3f6fb;border-color:#c9d3e1;color:#1e5eff}
.v155-layout-tools button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v155-side-layout-host{margin-bottom:10px}
@media(max-width:1180px){.v155-label,.v155-top-layout-host .v155-scope span{display:none}.v155-layout-tools.is-compact{gap:4px}.v155-layout-tools.is-compact button{width:28px;height:28px}}

/* ===== V159 — Barra de ferramentas inteligente ===== */
#admin-certificate-settings #certificateContextToolbar.v159-smart-toolbar{
  display:flex!important;align-items:center!important;gap:8px!important;min-height:52px!important;padding:7px 10px!important;
  background:#fff!important;border:1px solid #dfe6ee!important;border-radius:12px!important;box-shadow:0 5px 18px rgba(23,48,77,.08)!important;
  overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;
}
#certificateContextToolbar.v159-smart-toolbar .v159-toolbar-group{display:flex;align-items:center;gap:5px;padding-right:8px;border-right:1px solid #e5eaf0;flex:0 0 auto}
#certificateContextToolbar.v159-smart-toolbar .v159-toolbar-group:last-child{border-right:0;padding-right:0}
#certificateContextToolbar.v159-smart-toolbar .v159-right-group{margin-left:auto}
#certificateContextToolbar.v159-smart-toolbar button,#certificateContextToolbar.v159-smart-toolbar select,#certificateContextToolbar.v159-smart-toolbar input{font:inherit}
#certificateContextToolbar.v159-smart-toolbar .v159-tool-btn{height:36px;border:0;background:transparent;border-radius:8px;padding:0 9px;display:flex;align-items:center;gap:6px;color:#26384b;font-weight:600;cursor:pointer}
#certificateContextToolbar.v159-smart-toolbar .v159-tool-btn:hover,#certificateContextToolbar.v159-smart-toolbar .v159-icon-btn:hover{background:#eef5ff;color:#145bd7}
#certificateContextToolbar.v159-smart-toolbar .v159-tool-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#certificateContextToolbar.v159-smart-toolbar .v159-icon-btn{width:36px;height:36px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#26384b;cursor:pointer;font-size:15px}
#certificateContextToolbar.v159-smart-toolbar .v159-font{width:150px;height:36px;border:1px solid #dbe3ec;border-radius:8px;padding:0 28px 0 9px}
#certificateContextToolbar.v159-smart-toolbar .v159-size{width:58px;height:36px;border:1px solid #dbe3ec;border-radius:8px;padding:0 6px;text-align:center}
#certificateContextToolbar.v159-smart-toolbar .v159-color{width:36px;height:36px;border:0;background:transparent;padding:2px;cursor:pointer}
#certificateContextToolbar.v159-smart-toolbar .v159-opacity,#certificateContextToolbar.v159-smart-toolbar .v159-color-label,#certificateContextToolbar.v159-smart-toolbar .v159-scope{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#536579}
#certificateContextToolbar.v159-smart-toolbar .v159-opacity input{width:92px}
#certificateContextToolbar.v159-smart-toolbar .v159-scope select,#certificateContextToolbar.v159-smart-toolbar [data-v159-fit]{height:36px;border:1px solid #dbe3ec;border-radius:8px;padding:0 28px 0 9px;background:#fff}
#certificateContextToolbar.v159-smart-toolbar .v155-top-layout-host,#certificateContextToolbar.v159-smart-toolbar #certificateQuickSave{display:none!important}
@media(max-width:900px){#certificateContextToolbar.v159-smart-toolbar .v159-tool-btn span{display:none}#certificateContextToolbar.v159-smart-toolbar .v159-font{width:120px}}

/* ===== Painel lateral direito Organizar + Camadas V160 ===== */
#admin-certificate-settings.v160-has-right-rail [data-certificate-panel="workspace"]{padding-right:326px!important}
.v160-right-rail{position:absolute;top:76px;right:12px;bottom:16px;width:302px;z-index:9400;background:#fff;border:1px solid #dfe3ea;border-radius:14px;box-shadow:0 10px 30px rgba(20,35,55,.12);overflow:auto;color:#20232a}
.v160-right-section+.v160-right-section{border-top:1px solid #e7eaf0}
.v160-section-head{width:100%;height:48px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:13px;font-weight:800;color:#252933;cursor:pointer}
.v160-section-head:hover{background:#f7f8fa}.v160-chevron{font-size:17px;transition:transform .16s}.v160-section-head[aria-expanded="false"] .v160-chevron{transform:rotate(-90deg)}
.v160-section-body{padding:0 10px 12px}.v160-section-body[hidden]{display:none}
.v160-embedded-panel.v134-tool-panel{position:static!important;display:block!important;width:100%!important;height:auto!important;min-width:0!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;transform:none!important}
.v160-embedded-panel .v134-panel-body{display:block!important;max-height:none!important;overflow:visible!important;padding:4px 0 0!important}
.v160-embedded-panel.is-minimized .v134-panel-body{display:block!important}
.v160-embedded-panel .v134-panel-resize,.v160-embedded-panel .v134-panel-head{display:none!important}
.v160-right-rail .v155-layout-tools{box-shadow:none!important;border:0!important;padding:4px 0!important;background:transparent!important}
.v160-right-rail .v134-layer-list{max-height:none!important}
@media (max-width:1100px){#admin-certificate-settings.v160-has-right-rail [data-certificate-panel="workspace"]{padding-right:0!important}.v160-right-rail{position:fixed;top:118px;right:8px;bottom:8px;width:min(302px,calc(100vw - 16px))}}


/* V161 — resumo dinâmico dos filtros financeiros */
.finance-filter-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:12px 0 14px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(13,93,184,.07),rgba(255,255,255,.96));
}
.finance-filter-summary>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.finance-filter-summary span{font-size:.82rem;font-weight:800;color:var(--muted)}
.finance-filter-summary strong{font-size:1.28rem;color:var(--primary);letter-spacing:-.02em}
.finance-filter-summary small{color:var(--muted);font-weight:700}
@media(max-width:680px){.finance-filter-summary{align-items:flex-start;flex-direction:column;gap:5px}}


/* ===== Total financeiro filtrado V162 ===== */
.sales-filter-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid var(--line,#d9e5f2);
  border-radius:16px;
  background:#f7faff;
}
.sales-filter-summary>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sales-filter-summary span{font-size:.9rem;font-weight:750;color:#61758d}
.sales-filter-summary strong{font-size:1.45rem;color:#17324f;letter-spacing:-.02em}
.sales-filter-summary small{color:#61758d;font-weight:700;white-space:nowrap}
@media(max-width:760px){.sales-filter-summary{align-items:flex-start;flex-direction:column;gap:6px}.sales-filter-summary small{white-space:normal}}


/* ===== V163 — Alinhar e organizar livres no box lateral ===== */
.v163-free-layout-tools{padding:14px 12px 12px;background:#fff}
.v163-free-title{font-size:13px;font-weight:800;color:#252933;margin:0 2px 10px}
.v163-free-body{display:block}
.v163-free-body>.v160-embedded-panel{margin:0!important;padding:0!important}
.v163-free-body .v155-layout-tools{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:0!important}
.v163-free-body .v155-scope{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin:0!important}
.v163-free-body .v155-scope span,.v163-free-body .v155-label{font-size:11px!important;font-weight:800!important;color:#667085!important;text-transform:uppercase!important;letter-spacing:.04em}
.v163-free-body .v155-scope select{width:100%!important;height:36px!important;border:1px solid #d9e0e8!important;border-radius:8px!important;background:#fff!important;padding:0 10px!important}
.v163-free-body .v155-tool-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
.v163-free-body .v155-tool-group .v155-label{grid-column:1/-1!important;margin-bottom:0!important}
.v163-free-body .v155-tool-group button{width:100%!important;height:38px!important;border:1px solid #d9e0e8!important;border-radius:8px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
.v163-free-body .v155-tool-group button:hover{background:#f4f7fb!important;border-color:#b9c7d8!important}
.v163-free-body .v155-tool-group button svg{width:18px!important;height:18px!important}
.v160-right-rail>[data-v160-section="layers"]{border-top:1px solid #e7eaf0}

/* ===== V164 — painel lateral independente de Camadas ===== */
#admin-certificate-settings.v164-has-direct-layout [data-certificate-panel="workspace"]{padding-right:326px!important}
.v164-direct-layout{position:absolute;top:76px;right:12px;bottom:16px;width:302px;z-index:9450;background:#fff;border:1px solid #dfe3ea;border-radius:14px;box-shadow:0 10px 30px rgba(20,35,55,.12);overflow:auto;color:#20232a}
.v164-direct-head{display:flex;align-items:center;min-height:48px;padding:0 15px;border-bottom:1px solid #e7eaf0;font-size:13px}
.v164-direct-content{padding:13px 12px}
.v164-scope{display:grid;gap:6px;margin-bottom:14px}.v164-scope span,.v164-group>span{font-size:11px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.v164-scope select{width:100%;height:38px;border:1px solid #d9e0e8;border-radius:8px;background:#fff;padding:0 10px;color:#26384b}
.v164-group{display:grid;gap:7px;margin-bottom:15px}.v164-grid{display:grid;gap:7px}.v164-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.v164-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v164-grid button{height:40px;border:1px solid #d9e0e8;border-radius:8px;background:#fff;color:#26384b;font-size:18px;display:grid;place-items:center;cursor:pointer}.v164-grid button:hover{background:#f4f7fb;border-color:#b9c7d8}
.v164-layers-section{margin:4px -12px -13px;border-top:1px solid #e7eaf0}.v164-layers-toggle{width:100%;height:48px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:13px;font-weight:800;color:#252933;cursor:pointer}.v164-layers-toggle:hover{background:#f7f8fa}.v164-layers-toggle[aria-expanded="false"] span:last-child{transform:rotate(-90deg)}
.v164-layers-body{padding:0 10px 12px}.v164-layers-body[hidden]{display:none}.v164-embedded-layers.v134-tool-panel{position:static!important;display:block!important;width:100%!important;height:auto!important;min-width:0!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;transform:none!important}.v164-embedded-layers .v134-panel-body{display:block!important;max-height:none!important;overflow:visible!important;padding:4px 0 0!important}.v164-embedded-layers .v134-panel-resize,.v164-embedded-layers .v134-panel-head{display:none!important}
@media(max-width:1100px){#admin-certificate-settings.v164-has-direct-layout [data-certificate-panel="workspace"]{padding-right:0!important}.v164-direct-layout{position:fixed;top:118px;right:8px;bottom:8px;width:min(302px,calc(100vw - 16px))}}


/* V166 — Validar certificado permanece como item normal do menu */
.navlinks a[href="validar-certificado.html"]{display:inline-flex;align-items:center;white-space:nowrap}
.mobile-menu a[href="validar-certificado.html"]{display:flex;visibility:visible;opacity:1}

/* V167 — seleção de modelo e emissão robusta */
.certificate-template-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:7px}
.certificate-template-option{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:12px;border:2px solid #dbe5f0;border-radius:14px;padding:10px;cursor:pointer;background:#fff;transition:.16s ease}
.certificate-template-option:hover{border-color:#9ebdec;box-shadow:0 6px 16px rgba(15,61,111,.08)}
.certificate-template-option.is-selected{border-color:#1765cc;background:#f3f8ff;box-shadow:0 0 0 3px rgba(23,101,204,.1)}
.certificate-template-option input{position:absolute;opacity:0;pointer-events:none}
.certificate-template-option strong,.certificate-template-option small{display:block}.certificate-template-option small{margin-top:4px;color:#66798f;line-height:1.3}
.certificate-template-thumb{display:block;width:112px;aspect-ratio:297/210;border-radius:7px;border:1px solid #d7e1ec;background:#fff center/cover no-repeat;box-shadow:0 3px 10px rgba(13,41,74,.12)}
.certificate-template-thumb.is-official{background-image:url('assets/certificate-template-bg.jpg')}
.certificate-template-thumb.is-clean{background:linear-gradient(135deg,#f7fbff 0 16%,#fff 16% 84%,#eaf3ff 84%);position:relative}
.certificate-template-thumb.is-clean:after{content:"CERTIFICADO";position:absolute;inset:0;display:grid;place-items:center;color:#1454a0;font-weight:800;font-size:10px;letter-spacing:.08em}
.certificate-default-template{display:flex!important;align-items:center;gap:8px;margin-top:10px!important;font-weight:600!important;color:#425a73!important}.certificate-default-template input{width:auto!important}
.official-certificate.template-clean .certificate-template-canvas{background:linear-gradient(135deg,#eef6ff 0 4%,#fff 4% 96%,#e5f0ff 96%);border:14px solid #fff;outline:2px solid #1b5eaa;outline-offset:-24px}
.official-certificate.template-clean .certificate-template-name{color:#1454a0!important}
.official-certificate.template-clean .certificate-template-value{color:#173b65!important}
.official-certificate.template-clean .certificate-template-signature{color:#102f55!important}
@media(max-width:700px){.certificate-template-options{grid-template-columns:1fr}.certificate-template-option{grid-template-columns:96px 1fr}.certificate-template-thumb{width:96px}}


/* V168 — Galeria e gestão de modelos */
.certificate-template-manager{padding:24px;min-height:calc(100vh - 90px);background:#f7f9fc}
.certificate-template-manager-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.certificate-template-manager-head h2{margin:3px 0 5px;font-size:30px}.certificate-template-manager-head p{margin:0;color:#667a94}
.certificate-template-toolbar{display:flex;gap:12px;margin-bottom:20px}.certificate-template-toolbar .dashboard-search-box{flex:1}.certificate-template-toolbar select{min-width:210px}
.certificate-template-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.certificate-template-card{position:relative;background:#fff;border:1px solid #dce5f1;border-radius:18px;overflow:visible;box-shadow:0 8px 28px rgba(19,49,82,.07)}
.certificate-template-thumb{height:190px;background:#eef4fb;border-radius:18px 18px 0 0;overflow:hidden;display:flex;align-items:center;justify-content:center}.certificate-template-thumb img{width:100%;height:100%;object-fit:contain}
.certificate-template-card-body{padding:16px}.certificate-template-card-body h3{margin:10px 0 4px;font-size:18px}.certificate-template-card-body p,.certificate-template-card-body small{color:#6c7f96}.certificate-template-badges{display:flex;gap:8px;align-items:center;min-height:25px}.template-status,.template-default{font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px}.template-status.is-active{background:#e6f6ea;color:#287c3c}.template-status.is-draft{background:#fff2cf;color:#946400}.template-status.is-hidden{background:#edf0f4;color:#5e6977}.template-default{background:#e7f0ff;color:#125ab2}.certificate-template-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.certificate-template-actions .btn:first-child{flex:1}
.certificate-template-popover{position:absolute;right:14px;bottom:58px;z-index:20;width:190px;padding:7px;background:#fff;border:1px solid #d7e1ed;border-radius:12px;box-shadow:0 16px 40px rgba(16,40,70,.18)}.certificate-template-popover button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:8px;font:inherit;cursor:pointer}.certificate-template-popover button:hover{background:#f1f5fa}.certificate-template-popover .danger{color:#b42318}.certificate-studio-backbar{padding:10px 16px;background:#fff;border-bottom:1px solid #dce5f1}.certificate-studio-workspace.hidden,.certificate-template-manager.hidden{display:none!important}.template-types{border:1px solid #dce5f1;border-radius:12px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template-types legend{font-weight:800;padding:0 5px}.template-type-option{display:flex;gap:8px;align-items:center}.certificate-auto-model{padding:12px 14px;background:#eef5ff;border:1px solid #cfe0f6;border-radius:12px;color:#173b68}
@media(max-width:760px){.certificate-template-manager{padding:14px}.certificate-template-manager-head,.certificate-template-toolbar{align-items:stretch;flex-direction:column}.certificate-template-gallery{grid-template-columns:1fr}.template-types{grid-template-columns:1fr}}


/* V169 — correção estrutural dos cards da galeria de modelos */
.certificate-template-gallery .certificate-template-card{
  width:auto!important;
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:0!important;
  align-items:stretch!important;
  text-align:left!important;
  padding:0!important;
  cursor:default!important;
  color:#14304d!important;
  overflow:hidden!important;
  min-width:0!important;
}
.certificate-template-gallery .certificate-template-thumb{
  width:100%!important;
  height:auto!important;
  aspect-ratio:297/210!important;
  border:0!important;
  border-bottom:1px solid #e1e8f1!important;
  border-radius:18px 18px 0 0!important;
  background:#f3f7fb!important;
  box-shadow:none!important;
  overflow:hidden!important;
  flex:none!important;
}
.certificate-template-gallery .certificate-template-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:#f3f7fb!important;
}
.certificate-template-gallery .certificate-template-card-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
  padding:18px!important;
}
.certificate-template-gallery .certificate-template-card-body h3{
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}
.certificate-template-gallery .certificate-template-actions{margin-top:auto!important;padding-top:18px!important}
.certificate-template-gallery .certificate-template-popover{bottom:68px!important}

/* V169-S1: galeria de escolha e política de certificado */
.certificate-choice-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:8px}.certificate-choice-card{display:grid;gap:8px;padding:10px;border:2px solid #dfe7ef;border-radius:14px;background:#fff;cursor:pointer}.certificate-choice-card:has(input:checked){border-color:#0b5cab;box-shadow:0 0 0 3px rgba(11,92,171,.12)}.certificate-choice-card input{position:absolute;opacity:0;pointer-events:none}.certificate-choice-preview{aspect-ratio:4/3;overflow:hidden;border-radius:9px;background:#eef3f8}.certificate-choice-preview .official-certificate{width:100%;height:100%}.certificate-choice-card strong,.certificate-choice-card small{display:block}.certificate-choice-card small{color:#66788a}.certificate-policy-options{display:grid;gap:10px;margin-top:16px}.certificate-policy-options label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dfe7ef;border-radius:12px;cursor:pointer}.certificate-policy-options span{display:grid;gap:3px}.certificate-policy-options small,.certificate-empty-label{color:#718096}.certificate-runtime-element{white-space:pre-wrap;overflow-wrap:anywhere}

/* ===== Correção do encaixe do Studio incorporado V169-S3 ===== */
#admin-certificate-settings.active{
  display:flex!important;
  flex-direction:column!important;
  height:calc(100vh - 112px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
#admin-certificate-settings .certificate-studio-workspace{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#admin-certificate-settings .certificate-studio-workspace.hidden{
  display:none!important;
}
#admin-certificate-settings .certificate-studio-backbar{
  flex:0 0 auto!important;
  min-height:0!important;
}
#admin-certificate-settings .certificate-editor-embed-shell{
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
#admin-certificate-settings .certificate-editor-frame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
#admin-certificate-settings .certificate-studio-backbar{
  padding:10px 16px!important;
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
#admin-certificate-settings .certificate-studio-backbar .btn{
  min-height:44px!important;
  padding:10px 18px!important;
}
\n\n/* ===== V169-S13: proporção e coordenadas realmente únicas ===== */
.official-certificate[data-render-engine="v169-s13"]{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:var(--certificate-aspect-ratio)!important;
  padding:0!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.official-certificate[data-render-engine="v169-s13"] > .official-certificate-inner{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.certificate-modal-preview .official-certificate[data-render-engine="v169-s13"],
#modalContent:has(.certificate-modal-preview) .certificate-modal-preview .official-certificate[data-render-engine="v169-s13"],
.validation-certificate-preview .official-certificate[data-render-engine="v169-s13"]{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:var(--certificate-aspect-ratio)!important;
}
.official-certificate[data-render-engine="v169-s13"] .certificate-runtime-bg{
  width:100%!important;
  height:100%!important;
}

/* ===== V199: o Preview cabe inteiro na janela ===== */
#modalContent:has(.certificate-modal-preview) .certificate-modal-preview{
  overflow:hidden!important;
  min-height:0!important;
}
#modalContent:has(.certificate-modal-preview) .certificate-modal-preview .official-certificate{
  margin:auto!important;
  transform:none!important;
  transform-origin:center center!important;
}


/* =========================================================
   V210 — HOME: CORES DO SIMULADO CONFORME REFERÊNCIA V02
   Somente fundo e cores tipográficas do bloco da home.
   ========================================================= */
.landing-quiz-section{
  background:linear-gradient(135deg,#0B4384 0%,#075FB5 100%)!important;
  color:#fff!important;
}
.landing-quiz-section .landing-quiz-grid>div:first-child .kicker{
  color:var(--accent)!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.landing-quiz-section .landing-quiz-grid>div:first-child h2,
.landing-quiz-section .landing-quiz-grid>div:first-child p,
.landing-quiz-section .landing-quiz-grid>div:first-child .feature-list span{
  color:#fff!important;
}
.landing-quiz-section .study-page-link,
.landing-quiz-section .study-page-link:visited{
  color:var(--accent)!important;
}
.landing-quiz-section .quiz-card{
  background:#fff!important;
  color:#142E4E!important;
  border-top:0!important;
}
.landing-quiz-section .quiz-top{
  color:#61748D!important;
}
.landing-quiz-section .quiz-card h3{
  color:#142E4E!important;
}
.landing-quiz-section .quiz-option{
  color:#111!important;
  background:#fff!important;
  border-color:#D7E2EF!important;
}
.landing-quiz-section .quiz-option:hover{
  border-color:#8DB6E3!important;
}

/* ===== V212 · padrão único de menu mobile nas áreas restritas ===== */
.dashboard-mobile-menu-toggle,
.dashboard-mobile-menu-overlay{display:none}

@media(max-width:900px){
  body.dashboard-body{overflow-x:hidden}
  body.dashboard-mobile-menu-open{overflow:hidden}

  .dashboard-shell,
  .dashboard-shell.has-sidebar-icons,
  .dashboard-shell.has-sidebar-collapsed{
    display:block!important;
    grid-template-columns:none!important;
    min-height:100vh;
  }

  .dashboard-sidebar,
  .dashboard-shell.has-sidebar-icons .dashboard-sidebar,
  .dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{
    position:fixed!important;
    z-index:10020!important;
    inset:0 auto 0 0!important;
    width:min(86vw,340px)!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:0!important;
    padding:22px 16px 20px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#102F57!important;
    color:#fff!important;
    transform:translateX(-105%);
    visibility:hidden;
    transition:transform .25s ease,visibility .25s ease;
    box-shadow:18px 0 45px rgba(4,24,48,.28);
  }
  body.dashboard-mobile-menu-open .dashboard-sidebar{
    transform:translateX(0);
    visibility:visible;
  }

  .dashboard-sidebar .dashboard-logo,
  .dashboard-sidebar .dashboard-role,
  .dashboard-sidebar .dashboard-sidebar-footer,
  .dashboard-shell.has-sidebar-icons .dashboard-logo,
  .dashboard-shell.has-sidebar-icons .dashboard-role,
  .dashboard-shell.has-sidebar-icons .dashboard-sidebar-footer,
  .dashboard-shell.has-sidebar-collapsed .dashboard-logo,
  .dashboard-shell.has-sidebar-collapsed .dashboard-role,
  .dashboard-shell.has-sidebar-collapsed .dashboard-sidebar-footer{
    display:flex!important;
  }
  .dashboard-sidebar .dashboard-logo{padding:0 8px 4px;min-height:50px}
  .dashboard-sidebar .dashboard-logo img{width:150px!important;max-width:150px!important}
  .dashboard-sidebar .dashboard-role{display:inline-flex!important;width:max-content}
  .dashboard-sidebar .dashboard-sidebar-footer{display:grid!important;margin-top:auto!important;padding-top:10px}

  .dashboard-sidebar .dashboard-nav,
  .dashboard-shell.has-sidebar-icons .dashboard-nav,
  .dashboard-shell.has-sidebar-collapsed .dashboard-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    overflow:visible!important;
    margin:0!important;
  }
  .dashboard-sidebar .dashboard-nav button,
  .dashboard-shell.has-sidebar-icons .dashboard-nav button,
  .dashboard-shell.has-sidebar-collapsed .dashboard-nav button{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    place-items:unset!important;
    gap:11px!important;
    padding:10px 12px!important;
    font-size:.84rem!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .dashboard-sidebar .dashboard-nav button:nth-child(n){display:flex!important}
  .dashboard-sidebar .dashboard-nav-icon,
  .dashboard-shell.has-sidebar-icons .dashboard-nav-icon{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.08)!important;
  }
  .dashboard-sidebar .dashboard-nav-icon svg{width:18px!important;height:18px!important}
  .dashboard-sidebar .dashboard-nav button span:not(.dashboard-nav-icon){display:block!important}
  .dashboard-sidebar .module-description{font-size:.68rem!important;color:#9eb5cf!important;margin-top:2px}

  .dashboard-main{padding:14px 14px 34px!important;min-width:0}
  .dashboard-topbar{
    position:relative;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center!important;
    gap:10px!important;
    margin-bottom:18px!important;
  }
  .dashboard-topbar>div:first-of-type{min-width:0}
  .dashboard-topbar h1{font-size:1.35rem!important;line-height:1.15}
  .dashboard-topbar p{font-size:.78rem;line-height:1.35}

  .dashboard-mobile-menu-toggle{
    display:flex;
    width:44px;
    height:44px;
    border:0;
    border-radius:12px;
    background:#102F57;
    color:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    padding:0;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(16,47,87,.18);
  }
  .dashboard-mobile-menu-toggle span{
    width:20px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .2s ease,opacity .2s ease;
  }
  .dashboard-mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .dashboard-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .dashboard-mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .dashboard-mobile-menu-overlay{
    display:block;
    position:fixed;
    z-index:10010;
    inset:0;
    border:0;
    background:rgba(5,20,38,.52);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
  }
  body.dashboard-mobile-menu-open .dashboard-mobile-menu-overlay{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .dashboard-sidebar-edge-toggle{display:none!important}
  .dashboard-profile>div:not(.dashboard-avatar){display:none!important}
}

@media(max-width:520px){
  .dashboard-topbar{grid-template-columns:44px minmax(0,1fr) auto}
  .dashboard-profile{gap:4px}
  .dashboard-avatar{width:38px;height:38px;border-radius:11px}
  .dashboard-profile>button{padding:8px 9px}
}


/* ===== V213 · menu mobile restrito no padrão visual da Home ===== */
.dashboard-mobile-header{display:none}
@media(max-width:900px){
  body.dashboard-body{padding-top:82px!important}
  .dashboard-mobile-header{
    display:flex!important;position:fixed;z-index:10040;left:0;right:0;top:0;height:82px;
    align-items:center;justify-content:space-between;padding:10px 16px;background:#fff;
    border-bottom:1px solid #d9e5f2;box-shadow:0 2px 10px rgba(13,47,87,.06)
  }
  .dashboard-mobile-header-logo{display:flex;align-items:center;height:62px}
  .dashboard-mobile-header-logo img{display:block;width:190px;max-width:52vw;height:auto}
  .dashboard-mobile-header .dashboard-mobile-menu-toggle{
    display:flex!important;flex:0 0 52px;width:52px;height:52px;border:1px solid #cbdced!important;
    border-radius:15px!important;background:#fff!important;color:#102f57!important;box-shadow:none!important;
  }
  .dashboard-main{padding-top:18px!important}
  .dashboard-topbar{display:flex!important;justify-content:space-between!important;grid-template-columns:none!important}
  .dashboard-topbar>.dashboard-mobile-menu-toggle{display:none!important}

  .dashboard-sidebar,
  .dashboard-shell.has-sidebar-icons .dashboard-sidebar,
  .dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{
    inset:82px 0 auto 0!important;width:100%!important;max-width:none!important;height:auto!important;
    max-height:calc(100dvh - 82px)!important;padding:14px 18px 22px!important;border-radius:0!important;
    transform:translateY(-12px)!important;opacity:0!important;visibility:hidden!important;
    transition:transform .2s ease,opacity .2s ease,visibility .2s ease!important;
    box-shadow:0 22px 38px rgba(5,24,48,.28)!important;background:#0d3563!important;
  }
  body.dashboard-mobile-menu-open .dashboard-sidebar{
    transform:translateY(0)!important;opacity:1!important;visibility:visible!important;
  }
  .dashboard-sidebar .dashboard-logo{display:none!important}
  .dashboard-sidebar .dashboard-role{
    display:block!important;width:100%!important;margin:0 0 7px!important;padding:2px 8px 10px!important;
    color:#aac5e2!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;
    border-radius:0!important;font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase!important
  }
  .dashboard-sidebar .dashboard-nav{gap:0!important}
  .dashboard-sidebar .dashboard-nav button,
  .dashboard-shell.has-sidebar-icons .dashboard-nav button,
  .dashboard-shell.has-sidebar-collapsed .dashboard-nav button{
    min-height:50px!important;padding:10px 8px!important;border-radius:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important;
    background:transparent!important;color:#fff!important;font-size:.95rem!important;font-weight:850!important
  }
  .dashboard-sidebar .dashboard-nav button:hover,
  .dashboard-sidebar .dashboard-nav button.active{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .dashboard-sidebar .dashboard-nav-icon{background:rgba(255,255,255,.09)!important;color:#fff!important}
  .dashboard-sidebar .module-description{color:#bad0e6!important}
  .dashboard-sidebar .dashboard-sidebar-footer{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:14px!important;padding-top:0!important
  }
  .dashboard-sidebar .dashboard-sidebar-footer a{
    display:flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;
    border:1px solid rgba(255,255,255,.28)!important;border-radius:12px!important;color:#fff!important;text-align:center!important
  }
  .dashboard-sidebar .dashboard-sidebar-footer a:last-child{background:#1768bd!important;border-color:#1768bd!important}
  .dashboard-mobile-menu-overlay{top:82px!important;z-index:10010!important}
  .dashboard-profile{position:relative!important}
  .dashboard-profile-menu{position:fixed!important;z-index:10060!important;top:76px!important;right:14px!important;left:14px!important;min-width:0!important}
}
@media(max-width:520px){
  .dashboard-mobile-header{height:76px;padding:8px 12px}
  body.dashboard-body{padding-top:76px!important}
  .dashboard-mobile-header-logo img{width:174px}
  .dashboard-mobile-header .dashboard-mobile-menu-toggle{flex-basis:48px;width:48px;height:48px}
  .dashboard-sidebar,.dashboard-shell.has-sidebar-icons .dashboard-sidebar,.dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{
    inset:76px 0 auto 0!important;max-height:calc(100dvh - 76px)!important
  }
  .dashboard-mobile-menu-overlay{top:76px!important}
}

/* ===== V214 · refinamento do menu mobile restrito e ferramentas das tabelas ===== */
@media(max-width:900px){
  .dashboard-mobile-header{
    background:#0d3563!important;
    border-bottom-color:rgba(255,255,255,.16)!important;
    box-shadow:0 4px 16px rgba(5,24,48,.22)!important;
    gap:14px!important;
  }
  .dashboard-mobile-header-logo{min-width:0;flex:1 1 auto}
  .dashboard-mobile-header-logo img{
    width:168px!important;
    max-width:48vw!important;
    filter:none!important;
  }
  .dashboard-mobile-location{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:999px!important;
    color:#fff!important;
    font-size:.72rem!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  .dashboard-mobile-header .dashboard-mobile-menu-toggle{
    border-color:rgba(255,255,255,.55)!important;
    background:transparent!important;
    color:#fff!important;
  }
  .dashboard-mobile-header .dashboard-mobile-menu-toggle span{background:#fff!important}

  .dashboard-sidebar .dashboard-role{
    margin:0!important;
    padding:10px 8px 12px!important;
    color:#aac5e2!important;
  }
  .dashboard-sidebar .dashboard-nav button,
  .dashboard-shell.has-sidebar-icons .dashboard-nav button,
  .dashboard-shell.has-sidebar-collapsed .dashboard-nav button{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:stretch!important;
    column-gap:12px!important;
    min-height:58px!important;
    padding:8px 10px!important;
    text-align:left!important;
    line-height:1.15!important;
  }
  .dashboard-sidebar .dashboard-nav-icon,
  .dashboard-shell.has-sidebar-icons .dashboard-nav-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    margin:0!important;
    border-radius:12px!important;
  }
  .dashboard-sidebar .dashboard-nav-icon svg{display:block!important;width:21px!important;height:21px!important}
  .dashboard-sidebar .dashboard-nav button>span:not(.dashboard-nav-icon){
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
    margin:0!important;
  }
  .dashboard-sidebar .module-name{display:block!important;line-height:1.15!important}
  .dashboard-sidebar .module-description{display:block!important;margin-top:3px!important;line-height:1.15!important}
}
@media(max-width:520px){
  .dashboard-mobile-header{gap:9px!important}
  .dashboard-mobile-header-logo img{width:145px!important;max-width:43vw!important}
  .dashboard-mobile-location{min-height:30px!important;padding:0 9px!important;font-size:.62rem!important}
}

/* Ferramentas da tabela: exportações ocupam exatamente os primeiros espaços. */
.instructor-list-toolbar .instructor-list-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.instructor-list-toolbar .list-export-actions,
.instructor-list-toolbar .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
.instructor-list-toolbar .list-export-actions .icon-action-button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.instructor-list-toolbar .list-export-actions .icon-action-badge{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
}
.dashboard-sidebar-tools,.dashboard-sidebar-edge-toggle{display:none!important}


/* ===== V215 · menu restrito sem identidade duplicada e toolbar de instrutores sem fantasmas ===== */
@media(max-width:900px){
  .dashboard-sidebar,
  .dashboard-shell.has-sidebar-icons .dashboard-sidebar,
  .dashboard-shell.has-sidebar-collapsed .dashboard-sidebar{padding-top:4px!important}
  .dashboard-sidebar .dashboard-role{padding:6px 8px 10px!important}
}
.instructor-list-toolbar{justify-content:flex-end!important}
.instructor-list-toolbar>small{display:none!important}
.instructor-list-toolbar .instructor-list-tools{margin-left:0!important}

/* ===== V216 · ajuste de proporção dos botões do rodapé no menu mobile ===== */
@media(max-width:900px){
  .dashboard-sidebar .dashboard-sidebar-footer{
    grid-template-columns:minmax(0,1.8fr) minmax(96px,.8fr)!important;
    gap:12px!important;
  }
  .dashboard-sidebar .dashboard-sidebar-footer a{
    min-width:0!important;
    padding:0 16px!important;
    font-size:.92rem!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
}
@media(max-width:380px){
  .dashboard-sidebar .dashboard-sidebar-footer{
    grid-template-columns:minmax(0,1.7fr) minmax(82px,.8fr)!important;
    gap:8px!important;
  }
  .dashboard-sidebar .dashboard-sidebar-footer a{
    padding:0 10px!important;
    font-size:.84rem!important;
  }
}

/* V217 — autenticação real Supabase */
html.auth-checking body[data-required-role]{visibility:hidden}
.auth-message{margin-top:12px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.4}
.auth-message[data-type="error"]{background:#fff1f1;color:#a51d1d;border:1px solid #f3c2c2}
.auth-message[data-type="success"]{background:#effaf3;color:#176b3a;border:1px solid #bde5ca}
.production-access-note{margin-top:18px}


/* V221 — autenticação controlada e cadastros compactos */
.login-remember-option{display:flex;align-items:center;gap:9px;margin:-2px 0 16px;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;}
.login-remember-option input{width:17px;height:17px;margin:0;accent-color:var(--primary);}
.compact-signup-form{max-width:680px;}
.compact-acceptance{margin-top:2px;}
.compact-acceptance .legal-check{margin:0;}
@media(max-width:640px){.compact-signup-form{grid-template-columns:1fr!important;}.compact-signup-form .dashboard-form-group{grid-column:1/-1;}}


/* V222 — sessão lembrada com confirmação manual */
.remembered-session-box{margin:18px 0 20px;padding:16px;border:1px solid rgba(22,72,150,.14);border-radius:16px;background:#f5f8ff;display:grid;gap:7px;text-align:left}.remembered-session-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#58709b}.remembered-session-box strong{font-size:.98rem;color:#16365f;overflow-wrap:anywhere}.remembered-session-box .btn{margin-top:5px}.remembered-session-hint{font-size:.78rem;line-height:1.45;color:#6a7890;text-align:center}

/* V223 — formulário compacto, máscara de telefone e validação de senha */
.compact-signup-form .dashboard-action-row.full{
  grid-column:1/-1;
  margin-top:0;
}
.compact-signup-form .dashboard-action-row.full .btn{
  width:100%;
  min-height:58px;
}
.compact-signup-form .compact-acceptance{
  grid-column:1/-1;
}
.password-field{
  position:relative;
  display:flex;
  align-items:center;
}
.password-field input{
  padding-right:48px!important;
}
.password-visibility-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--primary);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}
.password-visibility-toggle:hover,
.password-visibility-toggle:focus-visible{
  background:#eef5ff;
  outline:none;
}
.password-match-message{
  min-height:18px;
  font-size:.76rem;
  font-weight:750;
  line-height:1.35;
}
.password-match-message[data-state="error"]{color:#b42318;}
.password-match-message[data-state="success"]{color:#18864b;}
@media(max-width:640px){
  .compact-signup-form .dashboard-action-row.full .btn{min-height:52px;}
}

/* ===== V225: login responsivo sem cortes ===== */
/* A página tenta ocupar a tela inteira, mas nunca esconde conteúdo. */
body.login-page{
  min-height:100dvh;
  height:auto;
  overflow-x:hidden;
  overflow-y:auto!important;
}
body.login-page .login-shell{
  min-height:100dvh;
  height:auto;
  overflow:visible;
}
body.login-page .login-brand-panel,
body.login-page .login-form-panel{
  box-sizing:border-box;
  min-height:100dvh;
}
body.login-page .login-form-panel{
  height:auto;
  overflow:visible;
  justify-content:center;
  padding:42px clamp(28px,4vw,56px)!important;
  position:relative;
}
body.login-page .login-form-panel form{display:grid;gap:10px;}
body.login-page .login-form-panel .form-group{margin-bottom:0;}
body.login-page .login-form-panel .form-control{min-height:44px;}
body.login-page .login-form-panel h2{margin:5px 0 3px;font-size:clamp(1.85rem,3vw,2.65rem);line-height:1.05;}
body.login-page .login-form-panel>p{margin:0 0 12px;}
body.login-page .login-remember-option{margin:0;}
body.login-page .login-submit{min-height:46px!important;}
body.login-page .login-divider{margin:12px 0!important;}
body.login-page .login-social-grid{gap:10px!important;}
body.login-page .login-social-button{min-height:44px!important;}
body.login-page .login-signup-box{margin-top:12px!important;padding:10px 12px!important;gap:5px!important;}
body.login-page .demo-access-note{margin-top:10px!important;padding:9px 11px!important;}
body.login-page .login-back{top:18px!important;}

/* Em telas baixas, reduz espaços; se ainda não couber, o scroll aparece. */
@media(max-height:820px) and (min-width:781px){
  body.login-page .login-brand-panel{padding:30px!important;}
  body.login-page .login-brand-panel img{width:min(260px,70%)!important;}
  body.login-page .login-brand-panel h1{font-size:2.2rem!important;margin:7px 0!important;}
  body.login-page .login-form-panel{justify-content:flex-start;padding-top:42px!important;padding-bottom:20px!important;}
  body.login-page .login-form-panel .kicker{font-size:.7rem!important;}
  body.login-page .login-form-panel h2{font-size:1.85rem!important;}
  body.login-page .login-form-panel>p{font-size:.86rem!important;margin-bottom:8px!important;}
  body.login-page .login-form-panel form{gap:7px!important;}
  body.login-page .login-form-panel .form-control{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important;}
  body.login-page .login-divider{margin:8px 0!important;}
  body.login-page .login-social-button{min-height:40px!important;}
  body.login-page .login-signup-box{margin-top:8px!important;padding:7px 10px!important;}
  body.login-page .demo-access-note{margin-top:7px!important;padding:7px 10px!important;font-size:.78rem!important;}
}
@media(max-width:780px){
  body.login-page .login-shell{display:block;}
  body.login-page .login-brand-panel{display:none!important;}
  body.login-page .login-form-panel{
    width:100%;max-width:none;min-height:100dvh;height:auto;
    justify-content:flex-start;padding:50px 20px 22px!important;
  }
  body.login-page .login-form-panel h2{font-size:1.75rem!important;}
  body.login-page .login-form-panel>p{font-size:.84rem!important;margin-bottom:8px!important;}
  body.login-page .login-form-panel form{gap:7px!important;}
  body.login-page .login-form-panel .form-control{min-height:40px!important;}
  body.login-page .login-divider{margin:8px 0!important;}
  body.login-page .login-social-button{min-height:40px!important;}
  body.login-page .login-signup-box{margin-top:8px!important;padding:8px 9px!important;}
  body.login-page .login-signup-actions{flex-direction:row!important;gap:5px!important;}
  body.login-page .login-signup-separator{display:inline!important;}
  body.login-page .login-signup-link{font-size:.72rem!important;}
  body.login-page .demo-access-note{margin-top:7px!important;padding:7px 9px!important;font-size:.72rem!important;}
}
@media(max-width:480px){
  body.login-page .login-signup-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;}
  body.login-page .login-signup-actions .login-signup-separator{display:none!important;}
  body.login-page .login-signup-actions a:last-child{grid-column:1/-1;}
}

/* Restaura a composição compacta da Home sem afetar o login. */
body:not(.login-page) .hero{padding-top:38px!important;padding-bottom:34px!important;}

/* ===== V227 · restauração da composição equilibrada do login ===== */
/* Ajuste isolado à coluna institucional. Preserva o conteúdo sem criar vazios artificiais. */
body.login-page .login-brand-panel{
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  align-items:start!important;
  gap:24px!important;
  padding:42px clamp(38px,4vw,56px)!important;
  overflow:visible!important;
}
body.login-page .login-brand-panel>.brand-home-link{
  grid-row:1!important;
  align-self:start!important;
  justify-self:center!important;
  width:min(340px,76%)!important;
  max-width:340px!important;
  margin:0!important;
}
body.login-page .login-brand-panel>.brand-home-link img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  display:block!important;
  margin:0!important;
}
body.login-page .login-brand-panel>div{
  grid-row:3!important;
  align-self:end!important;
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  max-width:620px!important;
}
body.login-page .login-brand-panel h1{
  margin:0!important;
  font-size:clamp(2.7rem,4.3vw,4.35rem)!important;
  line-height:.98!important;
  max-width:560px!important;
}
body.login-page .login-brand-panel p{
  margin:0!important;
  line-height:1.45!important;
  max-width:680px!important;
}
@media(max-height:900px) and (min-width:781px){
  body.login-page .login-brand-panel{
    padding-top:30px!important;
    padding-bottom:30px!important;
    gap:18px!important;
  }
  body.login-page .login-brand-panel>.brand-home-link{
    width:min(310px,70%)!important;
    max-width:310px!important;
  }
  body.login-page .login-brand-panel h1{
    font-size:clamp(2.45rem,3.8vw,3.65rem)!important;
  }
  body.login-page .login-brand-panel p{font-size:.9rem!important;}
}
@media(max-height:760px) and (min-width:781px){
  body.login-page .login-brand-panel{
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
  body.login-page .login-brand-panel>.brand-home-link{
    width:min(270px,64%)!important;
    max-width:270px!important;
  }
  body.login-page .login-brand-panel h1{font-size:2.55rem!important;}
  body.login-page .login-brand-panel p{font-size:.82rem!important;line-height:1.35!important;}
}


/* V228 — padronização visual de todos os cadastros */
.modal .unified-signup-form{
  width:min(100%,760px);
  margin:24px auto 0;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px 22px;
  align-items:start;
}
.modal .unified-signup-form .dashboard-form-group{gap:8px;min-width:0;}
.modal .unified-signup-form .dashboard-form-group label{font-size:.92rem;line-height:1.2;}
.modal .unified-signup-form input,
.modal .unified-signup-form select,
.modal .unified-signup-form textarea{
  min-height:54px;
  border-radius:14px;
  padding:14px 16px;
  font-size:1rem;
}
.modal .unified-signup-form .privacy-acceptance{
  padding:18px 20px;
  border-radius:18px;
}
.modal .unified-signup-form .dashboard-action-row{margin-top:2px;}
.modal .unified-signup-form .dashboard-action-row .btn{min-height:56px;border-radius:14px;}
.password-visibility-toggle svg{width:22px;height:22px;display:block;}
.password-visibility-toggle.is-visible svg circle{fill:currentColor;}
.password-visibility-toggle{border:0!important;box-shadow:none!important;}
@media(max-width:700px){
  .modal .unified-signup-form{grid-template-columns:1fr;gap:14px;}
  .modal .unified-signup-form .dashboard-form-group{grid-column:1/-1;}
}


/* ===== V230 · cabeçalho público e cadastros compactos/corretos ===== */
.validation-page-body .validation-public-header{width:100%;flex:0 0 auto;padding:0!important;height:auto!important;border-top:0!important;border-bottom:1px solid var(--line)!important;background:#fff!important;}
.validation-page-body .validation-public-header .navlinks a.active{color:var(--primary);}
.validation-page-body .validation-page-shell{margin-top:36px;}

/* Logo do login com presença maior, sem comprometer o conteúdo. */
@media(min-width:781px){
  body.login-page .login-brand-panel>.brand-home-link{width:min(374px,80%)!important;max-width:374px!important;}
}

/* No celular o painel de login deve sempre permanecer visível. */
@media(max-width:780px){
  body.login-page{display:block!important;min-width:0!important;}
  body.login-page .login-shell{display:block!important;width:100%!important;min-height:100dvh!important;}
  body.login-page .login-form-panel{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
}

/* Aceites dos cadastros sempre ocupam toda a largura útil, sem coluna vazia. */
.modal .unified-signup-form .signup-acceptance,
.modal .unified-signup-form .compact-acceptance{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:2px 0 0!important;
}
.modal .unified-signup-form .signup-acceptance-head{margin:0 0 6px!important;}
.modal .unified-signup-form .signup-acceptance .legal-check{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:12px!important;
  margin:0!important;
  padding:4px 0!important;
}
.modal .unified-signup-form .signup-acceptance .legal-check input{width:18px!important;height:18px!important;margin:3px 0 0!important;}
.modal .unified-signup-form .signup-acceptance .legal-check span{min-width:0!important;line-height:1.4!important;}
.modal .unified-signup-form .dashboard-action-row.full{grid-column:1/-1!important;width:100%!important;margin:0!important;}

/* Cadastro de instrutor: aceite e botão próximos, compactos e alinhados. */
.modal #instructorSignupForm{gap:16px 22px!important;}
.modal #instructorSignupForm .compact-acceptance{padding:14px 16px!important;border-radius:16px!important;}
.modal #instructorSignupForm .dashboard-action-row{margin-top:-2px!important;}

@media(max-width:700px){
  .modal .unified-signup-form{width:100%!important;margin-top:18px!important;}
  .modal .unified-signup-form .signup-acceptance{padding:14px!important;}
}


/* ===== V232 · composição final do login e aceites realmente compactos ===== */
/* Coluna institucional: logo maior e bloco de texto elevado, aproveitando o espaço. */
@media (min-width:781px){
  body.login-page .login-brand-panel{
    display:grid!important;
    grid-template-rows:auto auto 1fr!important;
    align-content:start!important;
    gap:0!important;
    padding:34px clamp(38px,4vw,58px) 30px!important;
    overflow:hidden!important;
  }
  body.login-page .login-brand-panel>.brand-home-link{
    grid-row:1!important;
    justify-self:center!important;
    align-self:start!important;
    width:min(430px,86%)!important;
    max-width:430px!important;
    margin:0 auto!important;
  }
  body.login-page .login-brand-panel>div{
    grid-row:2!important;
    align-self:start!important;
    margin-top:clamp(42px,7vh,78px)!important;
    display:grid!important;
    gap:8px!important;
    max-width:680px!important;
  }
  body.login-page .login-brand-panel h1{
    margin:0!important;
    font-size:clamp(2.75rem,4.1vw,4.15rem)!important;
    line-height:.98!important;
    max-width:590px!important;
  }
  body.login-page .login-brand-panel p{margin:0!important;line-height:1.38!important;max-width:700px!important;}
}
@media (min-width:781px) and (max-height:820px){
  body.login-page .login-brand-panel{padding-top:22px!important;padding-bottom:22px!important;}
  body.login-page .login-brand-panel>.brand-home-link{width:min(370px,78%)!important;max-width:370px!important;}
  body.login-page .login-brand-panel>div{margin-top:28px!important;}
  body.login-page .login-brand-panel h1{font-size:clamp(2.4rem,3.5vw,3.35rem)!important;}
  body.login-page .login-brand-panel p{font-size:.88rem!important;}
}

/* Aceites: sem alturas herdadas, sem espaços vazios e checkbox na primeira linha. */
.modal .unified-signup-form .signup-acceptance,
.modal .unified-signup-form .compact-acceptance{
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:10px 14px!important;
  margin:0!important;
  gap:4px!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}
.modal .unified-signup-form .signup-acceptance-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:0!important;
  height:auto!important;
  margin:0 0 2px!important;
  padding:0!important;
}
.modal .unified-signup-form .signup-acceptance-head strong{font-size:.82rem!important;line-height:1.1!important;}
.modal .unified-signup-form .signup-acceptance-head .btn{
  min-height:30px!important;height:30px!important;padding:4px 10px!important;border-radius:9px!important;font-size:.74rem!important;
}
.modal .unified-signup-form .signup-acceptance .legal-check,
.modal .unified-signup-form .compact-acceptance .legal-check{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:9px!important;
  min-height:0!important;
  height:auto!important;
  padding:2px 0!important;
  margin:0!important;
}
.modal .unified-signup-form .signup-acceptance .legal-check input,
.modal .unified-signup-form .compact-acceptance .legal-check input{
  display:block!important;
  width:17px!important;height:17px!important;
  min-width:17px!important;min-height:17px!important;
  margin:1px 0 0!important;
  align-self:start!important;
}
.modal .unified-signup-form .signup-acceptance .legal-check span,
.modal .unified-signup-form .compact-acceptance .legal-check span{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-size:.84rem!important;
  line-height:1.2!important;
}
.modal .unified-signup-form .dashboard-action-row.full{margin-top:4px!important;}
.modal #instructorSignupForm .compact-acceptance{padding:9px 14px!important;}
.modal #instructorSignupForm .dashboard-action-row{margin-top:2px!important;}
@media(max-width:700px){
  .modal .unified-signup-form .signup-acceptance,
  .modal .unified-signup-form .compact-acceptance{padding:9px 11px!important;gap:3px!important;}
  .modal .unified-signup-form .signup-acceptance .legal-check span,
  .modal .unified-signup-form .compact-acceptance .legal-check span{font-size:.79rem!important;line-height:1.18!important;}
}

/* =========================================================
   V233 — CARDS DE INSTRUTORES COM RODAPÉ FIXO
   Mantém preço, favorito e “Ver perfil” sempre na base.
   ========================================================= */
#instrutores .cards{
  align-items:stretch!important;
}
#instrutores .provider-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
#instrutores .tags{
  /* Reserva exatamente a área visual de duas linhas de qualidades. */
  min-height:76px!important;
  max-height:76px!important;
  align-content:flex-start!important;
  overflow:hidden!important;
  margin:15px 0!important;
}
#instrutores .provider-info{
  margin-top:0!important;
}
#instrutores .card-footer{
  margin-top:auto!important;
  padding-top:18px!important;
  flex-shrink:0!important;
}
#instrutores .card-footer-actions{
  flex-shrink:0!important;
}
@media(max-width:620px){
  #instrutores .tags{
    min-height:72px!important;
    max-height:72px!important;
  }
}

/* ===== V234 · aceites do cadastro de parceiro sem espaços excedentes ===== */
.partner-signup-page .partner-signup-form .partner-acceptance-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  row-gap:4px!important;
  column-gap:0!important;
  padding:12px 16px!important;
  margin:8px 0 10px!important;
  min-height:0!important;
  height:auto!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-head{
  min-height:0!important;
  margin:0 0 4px!important;
  padding:0!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-list .legal-check{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:3px 0!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-list .legal-check input{
  width:16px!important;
  height:16px!important;
  margin:1px 0 0!important;
  align-self:start!important;
  justify-self:start!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-list .legal-check span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.78rem!important;
  line-height:1.22!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-list .legal-check + .legal-check{
  margin-top:0!important;
}
@media(max-width:760px){
  .partner-signup-page .partner-signup-form .partner-acceptance-list{
    padding:10px 12px!important;
    row-gap:3px!important;
  }
}

/* ===== V235 · aproxima o botão dos aceites do parceiro ===== */
.partner-signup-page .partner-signup-form .partner-acceptance-list{
  margin-bottom:4px!important;
}
.partner-signup-page .partner-signup-form .partner-signup-actions{
  margin-top:0!important;
  padding-top:0!important;
  gap:0!important;
}
.partner-signup-page .partner-signup-form .partner-acceptance-list + .partner-signup-actions{
  margin-top:0!important;
}
.partner-signup-page .partner-signup-form .partner-signup-submit{
  margin-top:0!important;
}

/* ===== V236 · login mobile conforme composição aprovada ===== */
.login-logo-horizontal{display:none!important;}
.login-logo-vertical{display:block!important;}

@media(max-width:780px){
  body.login-page{
    background:var(--navy,#12365f)!important;
    overflow-y:auto!important;
  }
  body.login-page .login-shell{
    display:block!important;
    min-height:100dvh!important;
    background:var(--navy,#12365f)!important;
  }
  body.login-page .login-brand-panel{
    display:grid!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    gap:12px!important;
    min-height:0!important;
    height:auto!important;
    padding:18px 18px 16px!important;
    background:var(--navy,#12365f)!important;
    overflow:visible!important;
  }
  body.login-page .login-brand-panel>.brand-home-link{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:start!important;
    width:min(165px,100%)!important;
    max-width:165px!important;
    margin:0!important;
  }
  body.login-page .login-logo-vertical{display:none!important;}
  body.login-page .login-logo-horizontal{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }
  body.login-page .login-brand-panel>div{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    margin:2px 0 0!important;
    max-width:230px!important;
    display:grid!important;
    gap:3px!important;
    text-align:right!important;
  }
  body.login-page .login-brand-panel>div span{
    font-size:.68rem!important;
    line-height:1.15!important;
    opacity:.9!important;
  }
  body.login-page .login-brand-panel h1{
    margin:0!important;
    max-width:none!important;
    font-size:clamp(1.08rem,5vw,1.42rem)!important;
    line-height:1.02!important;
  }
  body.login-page .login-brand-panel p{
    margin:0!important;
    max-width:none!important;
    font-size:.67rem!important;
    line-height:1.24!important;
  }
  body.login-page .login-form-panel{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-height:calc(100dvh - 116px)!important;
    height:auto!important;
    padding:42px 18px 24px!important;
    border-radius:24px 24px 0 0!important;
    background:#f6f9fe!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  body.login-page .login-back{
    top:14px!important;
    left:18px!important;
    font-size:.82rem!important;
  }
  body.login-page .login-form-panel h2{font-size:1.72rem!important;}
  body.login-page .login-form-panel>p{font-size:.82rem!important;}
}

@media(max-width:420px){
  body.login-page .login-brand-panel{
    grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
    padding:14px 14px 12px!important;
    gap:8px!important;
  }
  body.login-page .login-brand-panel>.brand-home-link{width:min(145px,100%)!important;}
  body.login-page .login-brand-panel h1{font-size:1.02rem!important;}
  body.login-page .login-brand-panel p{font-size:.61rem!important;}
  body.login-page .login-form-panel{padding-left:14px!important;padding-right:14px!important;}
}

/* ===== V237 · aceites do parceiro em linhas simples e alinhadas ===== */
body.partner-signup-page .partner-signup-form .privacy-acceptance.partner-acceptance-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:10px 14px!important;
  margin:6px 0 4px!important;
  min-height:0!important;
  height:auto!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0 0 6px!important;
  padding:0!important;
  min-height:0!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:4px 0!important;
  line-height:1.15!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check input[type="checkbox"]{
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  transform:none!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check span{
  display:block!important;
  flex:1 1 auto!important;
  margin:0!important;
  padding:0!important;
  font-size:.82rem!important;
  line-height:1.18!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check button{
  line-height:inherit!important;
}
body.partner-signup-page .partner-signup-form .partner-acceptance-list + .partner-signup-actions{
  margin-top:0!important;
  padding-top:0!important;
}
@media(max-width:760px){
  body.partner-signup-page .partner-signup-form .privacy-acceptance.partner-acceptance-list{
    padding:9px 11px!important;
  }
  body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check{
    align-items:flex-start!important;
    padding:3px 0!important;
  }
  body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check input[type="checkbox"]{
    margin-top:1px!important;
  }
  body.partner-signup-page .partner-signup-form .partner-acceptance-list > label.legal-check span{
    font-size:.77rem!important;
  }
}

/* ===== V238 · login e cadastro de parceiro no mesmo padrão mobile ===== */
/* No celular: uma única logo vertical no topo esquerdo, texto compacto à direita
   e formulário ocupando toda a área abaixo. Desktop permanece inalterado. */
@media(max-width:780px){
  /* Login: elimina qualquer repetição e mantém apenas a marca vertical. */
  body.login-page:not(.partner-signup-page) .login-logo-horizontal{
    display:none!important;
    visibility:hidden!important;
  }
  body.login-page:not(.partner-signup-page) .login-logo-vertical{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    height:auto!important;
    max-width:112px!important;
    max-height:132px!important;
    object-fit:contain!important;
  }
  body.login-page:not(.partner-signup-page) .login-brand-panel{
    grid-template-columns:124px minmax(0,1fr)!important;
    align-items:start!important;
    min-height:0!important;
    padding:14px 16px 12px!important;
    gap:12px!important;
  }
  body.login-page:not(.partner-signup-page) .login-brand-panel>.brand-home-link{
    width:112px!important;
    max-width:112px!important;
    justify-self:start!important;
    align-self:start!important;
  }
  body.login-page:not(.partner-signup-page) .login-brand-panel>div{
    align-self:start!important;
    justify-self:end!important;
    text-align:right!important;
    margin:2px 0 0!important;
    max-width:240px!important;
  }

  /* Cadastro de parceiro: replica a mesma composição visual do login. */
  body.partner-signup-page{
    min-height:100dvh!important;
    background:var(--navy,#12365f)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.partner-signup-page .partner-signup-shell{
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
    background:var(--navy,#12365f)!important;
  }
  body.partner-signup-page .partner-signup-brand{
    display:grid!important;
    grid-template-columns:124px minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    min-height:0!important;
    height:auto!important;
    padding:14px 16px 12px!important;
    background:var(--navy,#12365f)!important;
    overflow:visible!important;
  }
  body.partner-signup-page .partner-signup-brand>.brand-home-link{
    grid-column:1!important;
    grid-row:1!important;
    width:112px!important;
    max-width:112px!important;
    margin:0!important;
    justify-self:start!important;
    align-self:start!important;
  }
  body.partner-signup-page .partner-signup-brand>.brand-home-link img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:132px!important;
    object-fit:contain!important;
    margin:0!important;
  }
  body.partner-signup-page .partner-signup-brand>div{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    max-width:240px!important;
    margin:2px 0 0!important;
    text-align:right!important;
    display:grid!important;
    gap:3px!important;
  }
  body.partner-signup-page .partner-signup-brand .kicker{
    font-size:.65rem!important;
    line-height:1.15!important;
  }
  body.partner-signup-page .partner-signup-brand h1{
    margin:0!important;
    font-size:clamp(1rem,4.8vw,1.35rem)!important;
    line-height:1.04!important;
  }
  body.partner-signup-page .partner-signup-brand p{
    margin:0!important;
    font-size:.64rem!important;
    line-height:1.24!important;
  }
  body.partner-signup-page .partner-signup-form{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100dvh - 158px)!important;
    height:auto!important;
    padding:42px 16px 24px!important;
    border-radius:24px 24px 0 0!important;
    background:#f6f9fe!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.partner-signup-page .partner-signup-form .login-back{
    top:14px!important;
    left:16px!important;
    font-size:.82rem!important;
  }
  body.partner-signup-page .partner-signup-form h2{
    font-size:1.72rem!important;
    line-height:1.06!important;
  }
  body.partner-signup-page .partner-signup-form>p{
    font-size:.82rem!important;
    line-height:1.35!important;
  }
}

@media(max-width:420px){
  body.login-page:not(.partner-signup-page) .login-brand-panel,
  body.partner-signup-page .partner-signup-brand{
    grid-template-columns:105px minmax(0,1fr)!important;
    padding:12px 13px 10px!important;
    gap:9px!important;
  }
  body.login-page:not(.partner-signup-page) .login-brand-panel>.brand-home-link,
  body.partner-signup-page .partner-signup-brand>.brand-home-link{
    width:96px!important;
    max-width:96px!important;
  }
  body.login-page:not(.partner-signup-page) .login-logo-vertical{
    max-width:96px!important;
    max-height:114px!important;
  }
  body.partner-signup-page .partner-signup-form{
    padding-left:13px!important;
    padding-right:13px!important;
  }
}

/* ===== V239 · refinamentos pontuais aprovados ===== */
/* Login: existe apenas uma marca no HTML; bloqueio defensivo contra qualquer duplicação. */
body.login-page .login-logo-horizontal{display:none!important;}

/* Cards: duas linhas reais de qualidades, sem vão excessivo. */
#instrutores .tags{
  min-height:58px!important;
  max-height:58px!important;
  margin:11px 0 8px!important;
  display:flex!important;
  align-content:flex-start!important;
  align-items:flex-start!important;
  gap:6px!important;
  overflow:hidden!important;
}
#instrutores .tag{padding:6px 9px!important;line-height:1.05!important;}
#instrutores .provider-info{
  gap:8px!important;
  margin:4px 0 0!important;
}
#instrutores .info-box{
  min-height:66px!important;
  padding:9px 11px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
#instrutores .info-box small{line-height:1.05!important;}
#instrutores .info-box strong{margin-top:3px!important;line-height:1.12!important;}
#instrutores .card-footer{padding-top:12px!important;}
#instrutores .provider-favorite-button,
#instrutores .card-footer .btn{
  height:52px!important;
  min-height:52px!important;
  box-sizing:border-box!important;
}
#instrutores .provider-favorite-button{width:52px!important;}
#instrutores .provider-photo{cursor:zoom-in!important;border:0!important;padding:0!important;}
.provider-profile-photo-button{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;margin:8px 0 10px;color:#0d5db8;font-weight:800;cursor:zoom-in}
.provider-profile-photo-button img{width:92px;height:92px;border-radius:18px;object-fit:cover;box-shadow:0 8px 22px rgba(12,52,91,.16)}
.provider-photo-viewer{display:grid;justify-items:center;gap:12px;padding:4px}
.provider-photo-viewer img{display:block;max-width:min(520px,82vw);max-height:68vh;border-radius:22px;object-fit:contain;box-shadow:0 18px 50px rgba(7,31,58,.22)}
.provider-photo-viewer strong{font-size:1.15rem}

/* Admin > Instrutores: observação sempre visível junto ao título. */
.instructor-drag-note{display:block!important;margin-top:5px!important;color:#5f748c!important;font-weight:700!important;}

@media(max-width:780px){
  #instrutores .tags{min-height:54px!important;max-height:54px!important;}
  #instrutores .info-box{min-height:62px!important;}
}

/* =========================================================
   V240 — refinamentos pontuais solicitados
   ========================================================= */
/* Admin > Instrutores: a orientação fica dentro da barra, igual à lista de alunos. */
.instructor-list-heading .instructor-drag-note{display:none!important;}
.instructor-list-toolbar>small{
  display:block!important;
  margin:0!important;
  color:#5f748c!important;
  font-weight:500!important;
  font-size:.88rem!important;
}

/* Foto do perfil: somente a imagem e uma lupa discreta. */
.provider-profile-photo-button{
  position:relative!important;
  display:inline-block!important;
  width:92px!important;
  height:92px!important;
  margin:8px 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  cursor:zoom-in!important;
}
.provider-profile-photo-button img{
  width:92px!important;
  height:92px!important;
  border-radius:18px!important;
  object-fit:cover!important;
}
.provider-photo-zoom-icon{
  position:absolute!important;
  right:5px!important;
  bottom:5px!important;
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#0d5db8!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 2px 8px rgba(12,52,91,.16)!important;
  pointer-events:none!important;
}
.provider-photo-viewer{
  display:block!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
}
.provider-photo-viewer img{
  display:block!important;
  max-width:min(640px,88vw)!important;
  max-height:78vh!important;
  margin:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  box-shadow:none!important;
}
.provider-photo-viewer strong{display:none!important;}

/* Rodapé dos cards: controles menores, proporcionais e alinhados ao bloco de preço. */
#instrutores .card-footer{
  align-items:flex-end!important;
  padding-top:8px!important;
}
#instrutores .price{
  min-height:44px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#instrutores .price strong{line-height:1!important;}
#instrutores .price small{line-height:1.05!important;margin-top:3px!important;}
#instrutores .provider-favorite-button,
#instrutores .card-footer .btn{
  height:44px!important;
  min-height:44px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
}
#instrutores .provider-favorite-button{
  width:44px!important;
  min-width:44px!important;
  flex:0 0 44px!important;
  border-radius:12px!important;
}
#instrutores .card-footer .btn{
  padding-left:17px!important;
  padding-right:17px!important;
  line-height:1!important;
}
#instrutores .card-footer-actions{gap:8px!important;align-items:flex-end!important;}

/* =========================================================
   V241 — parceiro mobile, preview de foto e toolbar admin
   ========================================================= */

/* Parceiro mobile: checkbox e texto na mesma linha visual. */
@media (max-width: 900px){
  .partner-signup-form .partner-acceptance-list{
    padding:10px 12px!important;
    gap:7px!important;
  }
  .partner-signup-form .partner-acceptance-list .legal-check{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:10px!important;
    min-height:0!important;
    padding:2px 0!important;
    margin:0!important;
  }
  .partner-signup-form .partner-acceptance-list .legal-check input{
    width:18px!important;
    height:18px!important;
    margin:1px 0 0!important;
    align-self:start!important;
    justify-self:start!important;
  }
  .partner-signup-form .partner-acceptance-list .legal-check span{
    margin:0!important;
    padding:0!important;
    line-height:1.18!important;
    min-width:0!important;
  }
}

/* Preview externo da foto: caixa acompanha a imagem, sem área branca sobrando. */
.modal:has(.provider-photo-viewer){
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  padding:10px!important;
  border-radius:18px!important;
  overflow:visible!important;
}
.modal:has(.provider-photo-viewer) .modal-close{
  top:8px!important;
  right:8px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  z-index:3!important;
}
.modal:has(.provider-photo-viewer) #modalContent{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  line-height:0!important;
}
.provider-photo-viewer img{
  width:auto!important;
  height:auto!important;
  max-width:min(760px,calc(100vw - 48px))!important;
  max-height:88vh!important;
  object-fit:contain!important;
}

/* Admin > Instrutores: exatamente a mesma faixa das demais tabelas. */
.instructor-list-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-height:72px!important;
  padding:10px 14px!important;
  margin:0 0 16px!important;
  border:1px solid #d8e4f1!important;
  border-radius:16px!important;
  background:#f7f9fc!important;
  box-sizing:border-box!important;
}
.instructor-list-toolbar>small{
  margin:0!important;
  font-size:.88rem!important;
  line-height:1.2!important;
  font-weight:500!important;
  color:#61758c!important;
}
.instructor-list-toolbar .instructor-list-tools{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-left:auto!important;
}
.instructor-list-toolbar .list-export-actions,
.instructor-list-toolbar .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
.instructor-list-toolbar .table-column-actions .btn{
  min-height:44px!important;
  padding:10px 15px!important;
  border-radius:12px!important;
}
@media(max-width:760px){
  .instructor-list-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .instructor-list-toolbar .instructor-list-tools{
    width:100%!important;
    margin-left:0!important;
    flex-wrap:wrap!important;
  }
}

/* =========================================================
   V242 — refinamento da foto do instrutor
   ========================================================= */
/* A própria foto é o acionador; nenhuma lupa sobreposta. */
.provider-photo-zoom-icon{display:none!important;}
.provider-profile-photo-button{
  display:block!important;
  width:104px!important;
  height:104px!important;
  margin:0 0 10px!important;
}
.provider-profile-photo-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:20px!important;
}
.provider-profile-photo-button + .kicker{
  display:block!important;
  margin-top:0!important;
}

/* Ampliação quadrada 1:1, aproximadamente seis vezes maior que o avatar. */
.modal:has(.provider-photo-viewer){
  padding:8px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.94)!important;
}
.provider-photo-viewer,
.provider-photo-viewer img{
  width:min(624px,calc(100vw - 44px))!important;
  height:min(624px,calc(100vw - 44px))!important;
  aspect-ratio:1/1!important;
}
.provider-photo-viewer img{
  max-width:none!important;
  max-height:min(86vh,624px)!important;
  object-fit:cover!important;
  border-radius:14px!important;
}

/* Fechar centralizado no círculo, discreto e levemente translúcido. */
.modal:has(.provider-photo-viewer) .modal-close{
  top:14px!important;
  right:14px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  font-size:31px!important;
  font-family:Arial,sans-serif!important;
  font-weight:400!important;
  color:#0b5fb8!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 3px 12px rgba(8,40,75,.12)!important;
  opacity:.88!important;
}
.modal:has(.provider-photo-viewer) .modal-close:hover,
.modal:has(.provider-photo-viewer) .modal-close:focus-visible{
  opacity:1!important;
  background:rgba(255,255,255,.94)!important;
}

@media(max-width:700px){
  .provider-photo-viewer,
  .provider-photo-viewer img{
    width:min(88vw,560px)!important;
    height:min(88vw,560px)!important;
  }
}


/* =========================================================
   V243 — toolbar de instrutores e rolagem do menu administrativo
   ========================================================= */
/* A faixa de Instrutores replica o padrão visual da faixa de Alunos. */
#admin-instructors .instructor-list-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-height:72px!important;
  padding:10px 14px!important;
  margin:0 0 16px!important;
  border:1px solid #d8e4f1!important;
  border-radius:16px!important;
  background:#f7f9fc!important;
  box-sizing:border-box!important;
}
#admin-instructors .instructor-list-toolbar>small{
  display:block!important;
  margin:0!important;
  color:#61758c!important;
  font-size:.88rem!important;
  line-height:1.2!important;
  font-weight:500!important;
}
#admin-instructors .instructor-list-toolbar .instructor-list-tools{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-left:auto!important;
}

/* O menu lateral possui sua própria rolagem. A roda do mouse funciona
   mesmo quando o cursor está sobre o menu e todos os itens continuam acessíveis. */
@media (min-width:901px){
  .dashboard-shell{
    height:100vh!important;
    min-height:100vh!important;
    overflow:hidden!important;
  }
  .dashboard-sidebar,
  .dashboard-shell.has-sidebar-icons .dashboard-sidebar{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    min-height:0!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    align-self:start!important;
  }
  .dashboard-main{
    height:100vh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .dashboard-nav{flex:0 0 auto!important;}
  .dashboard-sidebar-footer{flex:0 0 auto!important;}
}
@media(max-width:760px){
  #admin-instructors .instructor-list-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  #admin-instructors .instructor-list-toolbar .instructor-list-tools{
    width:100%!important;
    margin-left:0!important;
    flex-wrap:wrap!important;
  }
}


/* ===== V244: padrão único para todas as barras de tabelas do painel ===== */
.dashboard-card .table-column-toolbar.standard-table-toolbar,
.dashboard-table-wrap > .table-column-toolbar.standard-table-toolbar{
  width:100%!important;
  min-height:86px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 12px!important;
  margin:0 0 14px!important;
  border:1px solid #d4e2f2!important;
  border-radius:14px!important;
  background:#f7f9fc!important;
}
.table-column-toolbar.standard-table-toolbar > small{
  display:block!important;
  margin:0!important;
  color:#657b92!important;
  font-size:1rem!important;
  font-weight:500!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.standard-table-toolbar .standard-table-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin-left:auto!important;
  min-width:0!important;
}
.standard-table-toolbar .list-export-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
}
.standard-table-toolbar .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
}
.standard-table-toolbar .table-column-actions .btn{
  min-height:40px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:16px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.standard-table-toolbar .icon-action-button{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  margin:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  overflow:visible!important;
  cursor:pointer!important;
  background:transparent!important;
}
.standard-table-toolbar .icon-action-button .icon-action-badge{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background-color:transparent!important;
  background-image:none!important;
}
.standard-table-toolbar .icon-action-button .icon-action-image{
  display:block!important;
  width:40px!important;
  height:54px!important;
  max-width:none!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}
.standard-table-toolbar .icon-action-button .icon-action-badge::before,
.standard-table-toolbar .icon-action-button .icon-action-badge::after,
.standard-table-toolbar .icon-action-button .icon-action-badge svg{
  display:none!important;
  content:none!important;
}
.standard-table-toolbar .icon-action-button .icon-action-text{display:none!important;}
.standard-table-toolbar .icon-action-button:hover{transform:translateY(-1px)!important;filter:brightness(1.03);}

@media(max-width:900px){
  .dashboard-card .table-column-toolbar.standard-table-toolbar,
  .dashboard-table-wrap > .table-column-toolbar.standard-table-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .standard-table-toolbar .standard-table-tools{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-left:0!important;
  }
  .table-column-toolbar.standard-table-toolbar > small{white-space:normal!important;}
}

/* ===== V246 — restauração exata do padrão compacto das barras ===== */
.dashboard-card .table-column-toolbar.standard-table-toolbar,
.dashboard-table-wrap > .table-column-toolbar.standard-table-toolbar,
.table-column-toolbar.standard-table-toolbar{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 10px!important;
  margin:0 0 10px!important;
  border:1px solid var(--line, #d4e2f2)!important;
  border-radius:14px!important;
  background:#f7fafe!important;
}
.table-column-toolbar.standard-table-toolbar > small{
  margin:0!important;
  color:var(--muted, #657b92)!important;
  font-size:.72rem!important;
  font-weight:500!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.standard-table-toolbar .standard-table-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-left:auto!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
}
.standard-table-toolbar .list-export-actions,
.standard-table-toolbar .table-column-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
}
.standard-table-toolbar .table-column-actions .btn{
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.standard-table-toolbar .icon-action-button,
.standard-table-toolbar .icon-action-button .icon-action-badge{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
}
.standard-table-toolbar .icon-action-button{
  display:inline-grid!important;
  place-items:center!important;
  border:0!important;
  overflow:visible!important;
  cursor:pointer!important;
  background:transparent!important;
}
.standard-table-toolbar .icon-action-button .icon-action-badge{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:transparent!important;
}
.standard-table-toolbar .icon-action-button .icon-action-image{
  display:block!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
@media(max-width:900px){
  .dashboard-card .table-column-toolbar.standard-table-toolbar,
  .dashboard-table-wrap > .table-column-toolbar.standard-table-toolbar,
  .table-column-toolbar.standard-table-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .standard-table-toolbar .standard-table-tools{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-left:0!important;
  }
  .table-column-toolbar.standard-table-toolbar > small{white-space:normal!important;}
}

/* ===== V248 · UI Core unificado ===== */
.aprova-ui-root{position:fixed;top:18px;right:18px;z-index:12000;display:flex;flex-direction:column;gap:10px;pointer-events:none;width:min(390px,calc(100vw - 32px))}
.aprova-toast{pointer-events:auto;display:grid;grid-template-columns:34px 1fr 28px;gap:10px;align-items:start;padding:14px 12px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;box-shadow:0 16px 42px rgba(15,38,65,.18);opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;color:#17324d}
.aprova-toast.is-visible{opacity:1;transform:none}.aprova-toast.is-leaving{opacity:0;transform:translateY(-6px)}
.aprova-toast strong{display:block;font-size:14px;line-height:1.2}.aprova-toast p{margin:3px 0 0;font-size:13px;line-height:1.35;color:#50677d}.aprova-toast button{border:0;background:transparent;color:#708398;font-size:22px;line-height:1;cursor:pointer;padding:0}
.aprova-toast-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800}.aprova-toast-icon:before{content:'i'}
.aprova-toast-success .aprova-toast-icon{background:#e8f8ef;color:#178647}.aprova-toast-success .aprova-toast-icon:before{content:'✓'}
.aprova-toast-error .aprova-toast-icon{background:#fff0f0;color:#c83d45}.aprova-toast-error .aprova-toast-icon:before{content:'!'}
.aprova-toast-warning .aprova-toast-icon{background:#fff7df;color:#a66b00}.aprova-toast-warning .aprova-toast-icon:before{content:'!'}
.aprova-toast-info .aprova-toast-icon{background:#eaf3ff;color:#1769aa}
.aprova-loading-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.82);backdrop-filter:blur(2px);border-radius:inherit;color:#173f68;font-weight:700;font-size:13px}
.aprova-spinner,.aprova-button-spinner{display:inline-block;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:aprovaSpin .7s linear infinite}.aprova-spinner{width:22px;height:22px}.aprova-button-spinner{width:15px;height:15px}
@keyframes aprovaSpin{to{transform:rotate(360deg)}}
.btn.is-loading,.btn.has-pending-state{cursor:progress}.btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.aprova-kpi-card{min-height:100%;display:flex;flex-direction:column;justify-content:center}
[aria-busy="true"]{cursor:progress}
#modalContent[role="dialog"]:focus{outline:none}
@media(max-width:640px){.aprova-ui-root{top:12px;right:12px;width:calc(100vw - 24px)}.aprova-toast{grid-template-columns:30px 1fr 24px;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.aprova-toast,.aprova-spinner,.aprova-button-spinner{animation:none!important;transition:none!important}}

/* V253 — Gestão organizacional, unidades e equipe interna */
.unit-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}.operational-unit-item{border:1px solid var(--line,#dfe5ec);border-radius:14px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:9px}.operational-unit-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operational-unit-item strong{font-size:16px;color:#173b67}.operational-unit-meta{display:flex;flex-wrap:wrap;gap:6px}.operational-unit-meta span{font-size:12px;background:#eef5fc;color:#29547f;border-radius:999px;padding:5px 9px}.operational-unit-actions{display:flex;gap:8px;margin-top:auto}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-grid label{display:flex!important;align-items:center;gap:8px;border:1px solid #e3e8ef;border-radius:10px;padding:10px;background:#fff}.internal-user-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.internal-user-form .full{grid-column:1/-1}.super-admin-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#eaf3ff;color:#0b5ea8}.table-empty-state{padding:28px;text-align:center;color:#6d7b8b}.form-help{display:block;color:#6d7b8b;font-size:12px;margin-top:5px}@media(max-width:720px){.internal-user-form .form-grid,.permission-grid{grid-template-columns:1fr}.unit-summary-grid{grid-template-columns:1fr}}

/* V254 — acesso direto a Unidades e Equipe Interna */
.dashboard-section-intro{display:flex;flex-direction:column;gap:4px;margin:0 0 14px}.dashboard-section-intro h1{margin:0;color:var(--dashboard-title,#14213d);font-size:clamp(1.35rem,2vw,1.8rem)}.dashboard-section-intro p{margin:0;color:#64748b;max-width:850px}.organizational-unit-card #createOperationalUnit,.internal-team-card #inviteInternalUser{box-shadow:0 8px 20px rgba(24,91,174,.18)}

/* V255 — central de notificações */
.notification-center-host{display:flex;align-items:center;margin-left:auto;margin-right:10px}.notification-bell{position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.18s}.notification-bell:hover{background:#f2f6fb;transform:translateY(-1px)}.notification-bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#e24b4b;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.notification-backdrop{position:fixed;inset:0;background:rgba(9,25,47,.25);opacity:0;pointer-events:none;transition:.2s;z-index:1100}.notification-backdrop.open{opacity:1;pointer-events:auto}.notification-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(430px,94vw);background:#fff;box-shadow:-16px 0 50px rgba(8,27,52,.2);z-index:1101;transform:translateX(105%);transition:.25s ease;display:flex;flex-direction:column}.notification-drawer.open{transform:translateX(0)}.notification-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;border-bottom:1px solid var(--line)}.notification-drawer-head h2{margin:4px 0 0;font-size:1.55rem}.notification-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:var(--muted)}.notification-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}.notification-controls label{display:flex;align-items:center;gap:10px;font-size:.86rem}.notification-controls input{accent-color:var(--primary)}.notification-controls button{border:0;background:transparent;font-size:24px;cursor:pointer}.notification-actions{display:flex;justify-content:flex-end;padding:11px 20px}.notification-actions button{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.notification-list{overflow:auto;padding:0 10px 18px}.notification-item{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 10px;gap:11px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px;margin-bottom:10px;cursor:pointer;transition:.18s}.notification-item:hover{border-color:#9bbde4;box-shadow:0 8px 22px rgba(13,93,184,.09);transform:translateY(-1px)}.notification-item.unread{background:#edf5ff;border-color:#c6dcf5}.notification-type{width:34px;height:34px;border-radius:50%;background:#e9f6da;color:#4f8b1e;display:grid;place-items:center;font-weight:900}.notification-copy{display:grid;gap:5px;min-width:0}.notification-copy strong{font-size:.93rem}.notification-copy span{font-size:.82rem;color:var(--muted);line-height:1.4}.notification-copy small{font-size:.73rem;color:#7d8794}.notification-dot{width:9px;height:9px;border-radius:50%;background:transparent;margin-top:5px}.notification-item.unread .notification-dot{background:var(--primary)}.notification-empty{padding:50px 20px;text-align:center;display:grid;gap:6px;color:var(--muted)}.notification-prefs{display:grid;gap:18px}.notification-prefs fieldset{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px}.notification-prefs legend{font-weight:800;padding:0 5px}.notification-prefs label{display:flex;align-items:center;gap:9px}.notification-desktop-option{padding:12px;border-radius:10px;background:#f4f7fb}.team-primary-actions{display:flex;justify-content:flex-end;margin:0 0 14px}.team-primary-actions .btn{min-width:180px}
@media(max-width:700px){.notification-center-host{margin-left:auto;margin-right:4px}.notification-bell{width:40px;height:40px}.dashboard-profile>div:not(.dashboard-avatar){display:none}.notification-drawer-head{padding:20px}.notification-item{padding:13px}.team-primary-actions{justify-content:stretch}.team-primary-actions .btn{width:100%}}

/* V256 — acessos administrativos visíveis */
.admin-management-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.admin-management-shortcut{text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;display:grid;gap:5px;cursor:pointer;box-shadow:0 8px 24px rgba(10,44,82,.06)}.admin-management-shortcut:hover{border-color:#87b3e4;transform:translateY(-1px)}.admin-management-shortcut span{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.admin-management-shortcut strong{font-size:1.05rem;color:var(--primary)}.admin-management-shortcut small{color:var(--muted)}#admin-units .dashboard-section-intro{position:relative;padding-right:180px}#createOperationalUnitHero{position:absolute;right:0;top:6px}@media(max-width:720px){.admin-management-shortcuts{grid-template-columns:1fr}#admin-units .dashboard-section-intro{padding-right:0}#createOperationalUnitHero{position:static;margin-top:12px;width:100%}}

/* V257 — usuários com senha e seleção geográfica */
.unit-multi-select{min-height:180px;padding:8px}.unit-neighborhood-groups{display:grid;gap:14px;margin-top:8px}.unit-neighborhood-group{border:1px solid var(--border-color,#dfe6ee);border-radius:12px;padding:12px;background:#fff}.unit-neighborhood-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.unit-neighborhood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.unit-neighborhood-grid label,.password-mode-options label,.permission-toggle{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.unit-manual-neighborhood{display:grid!important;grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:14px}.unit-manual-neighborhood input{grid-column:1}.unit-manual-neighborhood button{grid-column:2;grid-row:1/3}.password-creation-box{border:1px solid #dce5ee;border-radius:14px;padding:16px;background:#f8fafc}.password-mode-options{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:12px}.generated-password-row{display:grid;grid-template-columns:1fr auto;gap:8px}.credential-share-box{margin-top:14px;border-top:1px solid #e3eaf1;padding-top:14px}.credential-share-box textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.credential-share-box .btn{margin-top:8px}.auth-secondary-link{display:inline-flex;margin-top:10px;background:none;border:0;padding:0;color:var(--primary,#135ea8);font-weight:700;cursor:pointer}.forgot-password-form{display:grid;gap:14px}
@media(max-width:680px){.generated-password-row,.unit-manual-neighborhood{grid-template-columns:1fr}.unit-manual-neighborhood button{grid-column:1;grid-row:auto}.unit-neighborhood-grid{grid-template-columns:1fr}}

/* V258 — seletor nacional de municípios e bairros */
.field-label{display:block;font-weight:700;margin-bottom:8px}.municipality-picker{border:1px solid var(--border-color,#dfe6ee);border-radius:14px;padding:14px;background:#fff}.municipality-search-row,.neighborhood-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.municipality-list{max-height:310px;overflow:auto;margin-top:12px;border:1px solid #e4eaf0;border-radius:12px;padding:8px}.municipality-section{display:grid;gap:3px}.municipality-section-title{position:sticky;top:-8px;z-index:1;padding:9px 8px 7px;background:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#65758a}.municipality-section.is-featured .municipality-section-title{color:var(--primary,#135ea8)}.municipality-option{display:flex!important;align-items:center;gap:9px;padding:8px;border-radius:8px;font-weight:600!important;cursor:pointer}.municipality-option:hover{background:#f2f6fa}.municipality-divider{height:1px;background:#d9e2eb;margin:10px 4px}.selected-municipality-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;min-height:28px}.municipality-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfdbe7;border-radius:999px;background:#eef5fb;color:#174b75;padding:6px 10px;font-weight:700;cursor:pointer}.municipality-chip b{font-size:17px;line-height:1}.unit-neighborhood-group{padding:0!important;overflow:hidden}.unit-neighborhood-group>summary{list-style:none;cursor:pointer;padding:12px;margin:0!important}.unit-neighborhood-group>summary::-webkit-details-marker{display:none}.unit-neighborhood-title span:first-child{display:grid;gap:2px}.unit-neighborhood-title small{font-weight:500;color:#718096}.neighborhood-summary-actions{margin-left:auto}.neighborhood-search-row{padding:0 12px 10px}.unit-neighborhood-grid{padding:0 12px 14px;max-height:330px;overflow:auto}.unit-manual-neighborhood{grid-template-columns:minmax(170px,.55fr) 1fr auto!important}.unit-manual-neighborhood select{grid-column:1}.unit-manual-neighborhood input{grid-column:2}.unit-manual-neighborhood button{grid-column:3;grid-row:1/3}.unit-neighborhood-grid [hidden]{display:none!important}
@media(max-width:680px){.municipality-search-row,.neighborhood-search-row,.unit-manual-neighborhood{grid-template-columns:1fr!important}.unit-manual-neighborhood select,.unit-manual-neighborhood input,.unit-manual-neighborhood button{grid-column:1!important;grid-row:auto!important}.municipality-list{max-height:260px}}

/* V260 — Capital sempre em primeiro lugar e com destaque visual */
.municipality-option.is-capital{background:linear-gradient(90deg,rgba(19,94,168,.12),rgba(19,94,168,.04));border:1px solid rgba(19,94,168,.22);margin-bottom:5px;font-weight:800!important}.municipality-option.is-capital:hover{background:rgba(19,94,168,.16)}.capital-badge{margin-left:auto;display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:var(--primary,#135ea8);color:#fff;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.05em}.municipality-option.is-capital input{accent-color:var(--primary,#135ea8)}

/* V261 — controles sensíveis discretos e preview de senha */
.password-preview-field{position:relative;display:flex;align-items:center;min-width:0}
.password-preview-field .form-control{padding-right:42px;width:100%}
.password-eye-button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem;display:grid;place-items:center}
.password-eye-button:hover{background:rgba(15,35,64,.06);color:var(--ink)}
.generated-password-row .password-preview-field{flex:1}
.sensitive-section-heading{align-items:center}
.sensitive-settings-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.sensitive-settings-actions .btn{color:var(--muted);border-color:transparent;background:transparent;box-shadow:none}
.sensitive-settings-actions .btn:hover{color:var(--ink);background:rgba(15,35,64,.04)}
.sensitive-modal-note{font-size:.78rem;color:var(--muted)}
.sensitive-access-list{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}
.sensitive-access-list legend{padding:0 6px;font-size:.78rem;font-weight:800;color:var(--ink)}
.sensitive-access-list>p{font-size:.74rem;color:var(--muted);margin:0 0 8px}
.sensitive-access-list label{display:flex;align-items:center;gap:9px;padding:7px 4px;font-size:.82rem}
.sensitive-access-list label+label{border-top:1px solid rgba(15,35,64,.06)}
.sensitive-access-list small{display:block;color:var(--muted);font-weight:400}
.sensitive-reveal-button{color:var(--muted)!important;padding-inline:8px!important}
.sensitive-access-blocked{font-size:.72rem;color:var(--muted)}

/* V262 — identidade dinâmica e seção sensível discreta */
.sensitive-section-heading{padding:12px 14px!important;margin:8px 0 12px!important;border:1px solid #e5e7eb;border-radius:10px;background:#fff;align-items:center!important}.sensitive-section-heading h2{font-size:16px!important;margin:0!important;font-weight:650}.sensitive-section-heading .kicker,.sensitive-section-heading p{display:none}.sensitive-settings-actions .btn{font-size:12px;padding:6px 9px}
.unit-branding-fieldset{border:1px solid #e4e7ec;border-radius:12px;padding:14px;background:#fafbfc}.unit-brand-suggestion{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:10px 12px;border-left:3px solid #165cbd;background:#fff;border-radius:8px;margin-bottom:12px}.unit-brand-suggestion span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085}.unit-brand-suggestion strong{grid-column:1;font-size:15px}.unit-brand-suggestion small{grid-column:1;color:#667085}.unit-brand-suggestion button{grid-column:2;grid-row:1/4}.unit-brand-options{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.unit-brand-options label{display:flex;align-items:center;gap:7px}.unit-logo-preview{display:grid;grid-template-columns:2fr 1fr;gap:12px;align-items:center}.unit-logo-preview img{width:100%;height:120px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px}.unit-logo-preview img:last-child{height:160px}@media(max-width:700px){.unit-logo-preview{grid-template-columns:1fr}.unit-brand-suggestion{grid-template-columns:1fr}.unit-brand-suggestion button{grid-column:1;grid-row:auto}}

/* V265 — segurança discreta e veículos */
.security-vault-card{max-width:1120px}.security-vault-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.security-vault-tabs .active{background:#eef4fb}.security-vault-card .deleted-users-panel{box-shadow:none;border:1px solid #e4e9f0;margin:0}.security-vault-card .sensitive-section-heading h3{font-size:1rem;margin:2px 0}.security-vault-card .sensitive-section-heading .kicker{font-size:.68rem;letter-spacing:.08em}.security-vault-card .sensitive-section-heading p{font-size:.82rem;color:#6b7280}.security-vault-card .sensitive-settings-actions .btn{font-size:.76rem}.dashboard-form-group[hidden]{display:none!important}
/* V266 — Banco de imagens */
.media-library-head{align-items:flex-start;gap:16px}.media-library-actions{display:flex;gap:8px;flex-wrap:wrap}.media-library-toolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.6fr) minmax(150px,.6fr);gap:12px;margin:16px 0}.media-library-summary{font-size:13px;color:var(--muted,#667085);margin-bottom:12px}.media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.media-library-item{border:1px solid var(--line,#e5e7eb);border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.media-preview{aspect-ratio:16/7;height:auto;display:flex;align-items:center;justify-content:center;padding:16px;background:#f5f7fa;overflow:hidden}.media-preview.vertical{aspect-ratio:1/1;height:auto}.media-preview img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.media-item-body{padding:14px;display:flex;flex-direction:column;flex:1}.media-item-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.media-item-title strong{font-size:14px;line-height:1.35}.media-item-body small{display:block;margin-top:4px;color:var(--muted,#667085)}.media-item-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.media-item-actions .btn{width:100%;padding-inline:8px}.media-replace-input,[data-replace-input]{display:none!important}.danger-text{color:#b42318!important}@media(max-width:720px){.media-library-toolbar{grid-template-columns:1fr}.media-library-grid{grid-template-columns:1fr}}

/* V269: galeria de logos oficial */
#admin-media-library button:empty{display:none!important}
.media-preview{min-height:230px}
.media-preview.vertical{min-height:360px}
.media-preview img{max-width:100%;max-height:100%;object-fit:contain!important}

/* V270 — perfil discreto, agenda e sessões */
.student-profile-security{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-color,#dbe6f3)}
.student-delete-account-details{margin-top:18px;color:#64748b;font-size:.88rem}
.student-delete-account-details summary{cursor:pointer;width:max-content;font-weight:600;color:#64748b}
.student-delete-account-details p{margin:8px 0;max-width:560px}
.student-delete-account-link{border:0;background:none;padding:0;color:#94a3b8;text-decoration:underline;cursor:pointer;font:inherit;font-size:.82rem}
.student-delete-account-link:hover{color:#b42318}
.student-booking-form textarea{width:100%;resize:vertical}
.security-sessions-card .dashboard-notice{margin-bottom:14px}
.status-warning{background:#fff7df;color:#9a6700;border:1px solid #f2d38a}
.btn-danger{background:#fff;border:1px solid #efb4ae;color:#b42318}
/* V271 — identidade, sessões e banco de imagens */
.session-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.session-filter-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(150px,1fr));gap:12px}.session-bulk-actions,.session-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.session-pagination{justify-content:flex-end}.session-row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:240px}.dashboard-table td small{display:block;color:var(--muted,#667085);margin-top:3px}.session-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.master-access-grid{display:grid;gap:10px}.master-access-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:12px}.master-access-row small{display:block;color:var(--muted,#667085);margin-top:3px}
#admin-media-library button:empty,#admin-media-library button:not([aria-label]):not([title]):has(>svg:only-child){display:none!important}.media-preview{padding:24px!important}.media-preview.horizontal{aspect-ratio:2.4/1!important;min-height:250px}.media-preview.vertical{aspect-ratio:1/1.25!important;min-height:390px}.media-preview img{object-fit:contain!important;object-position:center!important;max-width:100%!important;max-height:100%!important}
@media(max-width:900px){.session-metrics{grid-template-columns:repeat(2,1fr)}.session-filter-grid{grid-template-columns:1fr 1fr}.master-access-row{grid-template-columns:1fr}.session-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.session-filter-grid,.session-metrics{grid-template-columns:1fr}}
#admin-media-library input[hidden],#admin-media-library [hidden]{display:none!important}


/* V272 — Identidades oficiais fornecidas e área Nova CNH */
.media-library-toolbar{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(145px,.55fr))!important}
.media-preview.media-preview-dark{background:#075bb8!important;background-image:linear-gradient(135deg,#064f9f,#0b6acb)!important}
.media-preview.media-preview-dark img{filter:none!important}
#admin-media-library .media-library-actions:empty,#admin-media-library button:empty{display:none!important}
.cnh-rules-section{padding:78px 0;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);border-top:1px solid #e1ecf8;border-bottom:1px solid #e1ecf8}
.cnh-rules-head{align-items:flex-end;margin-bottom:28px}.cnh-rules-head p{max-width:680px}
.cnh-rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cnh-rule-card{position:relative;min-height:265px;padding:26px 22px 24px;border:1px solid #dce9f7;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(17,62,105,.07);overflow:hidden}
.cnh-rule-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-40px;bottom:-48px;background:rgba(255,153,0,.09)}
.cnh-rule-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#eaf3ff;color:#075bb8;font-weight:900;margin-bottom:22px}
.cnh-rule-card h3{font-size:1.16rem;line-height:1.25;margin:0 0 11px;color:#12385f}.cnh-rule-card p{margin:0;color:#5c7188;line-height:1.62;font-size:.92rem}
.cnh-rules-note{margin:20px 0 0;padding:13px 16px;border-left:4px solid #ff9900;background:#fff8ec;border-radius:0 10px 10px 0;color:#6c5834;font-size:.84rem}
@media(max-width:1000px){.cnh-rules-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.media-library-toolbar{grid-template-columns:1fr!important}.cnh-rules-section{padding:54px 0}.cnh-rules-head{align-items:flex-start}.cnh-rules-head .btn{margin-top:16px}.cnh-rules-grid{grid-template-columns:1fr}.cnh-rule-card{min-height:auto}}

/* V274 — banco de imagens compacto, upload automático e logos transparentes */
#admin-media-library .media-library-card{padding-bottom:18px!important}
#admin-media-library .media-library-head{align-items:center!important;margin-bottom:10px}
.media-view-toggle{display:flex;gap:4px;padding:4px;border:1px solid var(--line,#d9e3ef);border-radius:10px;background:#f7f9fc}
.media-icon-button{width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#5d7188;display:grid;place-items:center;cursor:pointer}
.media-icon-button.active{background:#fff;color:#075ec7;box-shadow:0 1px 4px rgba(15,45,80,.12)}
.media-icon-button svg,.media-action-button svg,.media-dropzone-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.media-dropzone{display:flex;align-items:center;justify-content:center;gap:12px;min-height:86px;border:1.5px dashed #9ebce1;border-radius:12px;background:#f7fbff;padding:14px 18px;cursor:pointer;transition:.2s;margin:8px 0 14px}
.media-dropzone:hover,.media-dropzone.is-dragging{border-color:#0767d5;background:#edf6ff;transform:translateY(-1px)}
.media-dropzone-icon{width:38px;height:38px;border-radius:10px;background:#e2efff;color:#075ec7;display:grid;place-items:center;flex:0 0 auto}
.media-dropzone span:last-child{display:flex;flex-direction:column;gap:2px}.media-dropzone strong{font-size:14px}.media-dropzone small{color:#667b91;font-size:12px}
.media-folder-bar{display:flex;align-items:center;gap:8px;margin:-2px 0 10px}.media-folder-bar label{font-size:12px;font-weight:700;color:#4e6278}.media-folder-bar select{height:34px;min-width:180px;border:1px solid #d4e0ed;border-radius:8px;padding:0 30px 0 10px;background:#fff}
#admin-media-library .media-library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important}
#admin-media-library .media-library-item{border-radius:11px!important;min-height:0!important}
#admin-media-library .media-preview{min-height:0!important;height:150px!important;aspect-ratio:auto!important;padding:14px!important;background:#f4f7fb!important}
#admin-media-library .media-preview.vertical{height:170px!important}
#admin-media-library .media-preview.media-preview-dark{background:#075dbc!important;background-image:linear-gradient(135deg,#075dbc,#064e9f)!important}
#admin-media-library .media-preview img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
#admin-media-library .media-item-body{padding:11px!important;min-height:0!important}
#admin-media-library .media-item-title strong{font-size:13px!important}.media-item-title .viz-badge{font-size:10px;padding:3px 6px}
#admin-media-library .media-item-body small{font-size:11px;margin-top:2px!important;min-height:0!important}
#admin-media-library .media-item-actions{display:flex!important;gap:4px!important;margin-top:9px!important;flex-wrap:nowrap!important}
.media-action-button{height:32px;min-width:32px;padding:0 8px;border:1px solid #d7e3ef;border-radius:8px;background:#fff;color:#17324e;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:11px;font-weight:700;flex:1}
.media-action-button:hover{background:#f3f8ff;border-color:#a9c7e8}.media-action-button svg{width:14px;height:14px}.media-action-button.danger-text:hover{background:#fff5f4;border-color:#f1b9b4}
#admin-media-library .media-replace-input{display:none!important}
#admin-media-library button:empty,#admin-media-library .btn:empty,#admin-media-library button:not([aria-label]):not([title]):not(:has(span)):not(:has(svg)){display:none!important;width:0!important;height:0!important;padding:0!important;margin:0!important;border:0!important}
#admin-media-library .media-library-item::after,#admin-media-library .media-item-body::after{display:none!important;content:none!important}
#admin-media-library .media-library-grid.list-view{display:flex!important;flex-direction:column;gap:8px!important}
#admin-media-library .media-library-grid.list-view .media-library-item{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:stretch}
#admin-media-library .media-library-grid.list-view .media-preview,#admin-media-library .media-library-grid.list-view .media-preview.vertical{height:92px!important;border-radius:10px 0 0 10px}
#admin-media-library .media-library-grid.list-view .media-item-body{display:grid;grid-template-columns:minmax(180px,1fr) auto;grid-template-rows:auto auto;column-gap:14px;align-content:center}
#admin-media-library .media-library-grid.list-view .media-item-title{grid-column:1;grid-row:1}.media-library-grid.list-view .media-item-body small{grid-column:1;grid-row:2}
#admin-media-library .media-library-grid.list-view .media-item-actions{grid-column:2;grid-row:1/3;margin:0!important;align-self:center}.media-library-grid.list-view .media-action-button{flex:0 0 auto}.media-library-grid.list-view .media-action-button span{display:none}
@media(max-width:720px){.media-dropzone{align-items:flex-start;justify-content:flex-start}.media-library-grid.list-view .media-library-item{grid-template-columns:105px 1fr}.media-library-grid.list-view .media-item-body{display:flex!important}.media-library-grid.list-view .media-item-actions{margin-top:8px!important}.media-action-button span{display:none}}

/* V275 — Banco de imagens mais limpo e compacto */
#admin-media-library .media-dropzone{min-height:58px;padding:9px;margin:8px 0 12px;justify-content:center}
#admin-media-library .media-dropzone-icon{width:38px;height:38px}
#admin-media-library .media-dropzone>span:not(.media-dropzone-icon){display:none!important}
#admin-media-library .media-item-body{padding:11px 12px 12px}
#admin-media-library .media-item-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:6px!important;margin-top:9px!important;flex-wrap:nowrap!important}
#admin-media-library .media-action-button{flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border-radius:8px}
#admin-media-library .media-action-button svg{width:15px;height:15px}
#admin-media-library .media-action-button span{display:none!important}
#admin-media-library .media-replace-input,#admin-media-library [data-replace-input]{display:none!important;width:0!important;height:0!important;border:0!important;padding:0!important;margin:0!important}
#admin-media-library .media-library-item{min-height:0!important}
#admin-media-library .media-item-body:after{display:none!important;content:none!important}

/* V276 — unidades, Academy e Analytics */
.unit-responsible-fieldset{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.unit-responsible-fieldset legend{font-weight:800}.unit-invite-responsible{display:flex!important;align-items:center;gap:8px;padding:12px;border:1px solid #d6e2f2;border-radius:12px}.unit-invite-responsible input{width:18px;height:18px}.unit-responsible-fieldset #newResponsibleEmailField{grid-column:1/-1}.study-card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.study-card-facts span{background:#f5f8fc;border-radius:10px;padding:8px;font-size:12px;color:#61748d}.study-card-facts strong{display:block;color:#17324f;font-size:11px;margin-bottom:3px}.academy-online-viewer{border:1px solid #d8e4f2;border-radius:14px;overflow:hidden;background:#eef3f9}.academy-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #d8e4f2}.academy-document-page{background:#fff;max-width:720px;min-height:480px;margin:18px auto;padding:48px;box-shadow:0 8px 30px rgba(20,45,80,.12)}.academy-document-page h3{font-size:28px;margin-bottom:16px}.academy-study-block{margin-top:28px;padding:18px;border-left:4px solid #1164c0;background:#f4f8fd}@media(max-width:700px){.unit-responsible-fieldset{grid-template-columns:1fr}.study-card-facts{grid-template-columns:1fr 1fr}.academy-document-page{margin:8px;padding:24px}}

/* V278 — seleção múltipla, pastas, visualização e upload global */
#admin-media-library{position:relative}
#admin-media-library.global-drag-active:after{content:'Solte os arquivos PNG para enviar';position:fixed;inset:74px 24px 24px 280px;z-index:9998;border:3px dashed #0b67d1;border-radius:20px;background:rgba(236,246,255,.94);display:grid;place-items:center;color:#075dbc;font-size:22px;font-weight:800;pointer-events:none}
#admin-media-library .media-global-drop-hint{height:56px;border:1.5px dashed #9ebce1;border-radius:12px;background:#f7fbff;display:grid;place-items:center;cursor:pointer;margin:8px 0 14px;transition:.2s}
#admin-media-library .media-global-drop-hint:hover{background:#edf6ff;border-color:#0b67d1}
#admin-media-library .media-dropzone-icon{width:38px;height:38px;border-radius:10px;background:#e2efff;color:#075ec7;display:grid;place-items:center}
#admin-media-library .media-library-grid{position:relative;user-select:none}
#admin-media-library .media-library-item{height:326px;cursor:default;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s}
#admin-media-library .media-library-item.selected{border-color:#0a67d5!important;box-shadow:0 0 0 2px rgba(10,103,213,.16);transform:translateY(-1px)}
#admin-media-library .media-preview{height:182px!important;min-height:182px!important;max-height:182px!important;aspect-ratio:auto!important;padding:18px!important}
#admin-media-library .media-preview img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
#admin-media-library .media-item-body{display:flex!important;flex-direction:column!important;min-height:143px!important}
#admin-media-library .media-item-actions{margin-top:auto!important;justify-content:center!important;width:100%!important;padding-top:10px!important}
#admin-media-library .media-action-button{flex:0 0 36px!important;width:36px!important;height:36px!important}
#admin-media-library .media-action-button svg{width:16px!important;height:16px!important}
#admin-media-library .media-selection-count{margin-left:auto;font-size:12px;color:#5d7188;font-weight:700}
#admin-media-library .media-selection-box{position:absolute;border:1.5px solid #0a67d5;background:rgba(10,103,213,.12);z-index:20;pointer-events:none;border-radius:4px}
.media-context-menu{position:fixed;z-index:10000;min-width:220px;padding:6px;background:#fff;border:1px solid #d9e4ef;border-radius:10px;box-shadow:0 12px 35px rgba(19,45,75,.22)}
.media-context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:7px;font-weight:700;color:#17324e;cursor:pointer}.media-context-menu button:hover{background:#f1f6fc}
.media-preview-modal{position:fixed;inset:0;z-index:10020;background:rgba(8,20,36,.82);display:none;align-items:center;justify-content:center;padding:40px}.media-preview-modal.open{display:flex}.media-modal-content{max-width:min(1100px,92vw);max-height:88vh;background:transparent}.media-modal-content img{display:block;max-width:100%;max-height:88vh;object-fit:contain;background:transparent}.media-modal-close{position:fixed;right:24px;top:18px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#17324e;font-size:30px;line-height:1;cursor:pointer}
#admin-media-library .media-library-grid.list-view .media-library-item{height:112px!important;grid-template-columns:150px minmax(0,1fr)!important}
#admin-media-library .media-library-grid.list-view .media-preview{height:110px!important;min-height:110px!important;max-height:110px!important}
#admin-media-library .media-library-grid.list-view .media-item-body{min-height:110px!important;display:grid!important}
#admin-media-library .media-library-grid.list-view .media-item-actions{justify-content:center!important}
@media(max-width:900px){#admin-media-library.global-drag-active:after{inset:70px 14px 14px}.media-folder-bar{flex-wrap:wrap}#admin-media-library .media-library-item{height:310px}}


/* ===== Banco de imagens V279 ===== */
#admin-media-library .media-library-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:start}
#admin-media-library .media-folder-sidebar{position:sticky;top:12px;border:1px solid #dce5ef;border-radius:12px;background:#fff;padding:10px;min-height:240px}
#admin-media-library .media-folder-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#17324e;font-size:13px}
#admin-media-library .media-folder-add{width:28px;height:28px;border:1px solid #cbd8e6;border-radius:8px;background:#f7f9fc;color:#075dbc;font-size:20px;line-height:1;cursor:pointer}
#admin-media-library .media-folder-tree{display:flex;flex-direction:column;gap:2px;max-height:520px;overflow:auto;padding-right:2px}
#admin-media-library .media-folder-node{display:flex;align-items:center;gap:7px;width:100%;min-height:31px;border:0;border-radius:7px;background:transparent;color:#42566d;text-align:left;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden}
#admin-media-library .media-folder-node span:last-child{overflow:hidden;text-overflow:ellipsis}
#admin-media-library .media-folder-node:hover,#admin-media-library .media-folder-node.active{background:#edf5ff;color:#075dbc;font-weight:700}
#admin-media-library .media-folder-node.drag-over{outline:2px solid #0b67d1;background:#e7f2ff}
#admin-media-library .media-folder-icon{width:15px;text-align:center;color:#6b7f94}
#admin-media-library .media-move-selected{width:100%;margin-top:10px;border:1px solid #d4e0ed;border-radius:8px;background:#fff;color:#17324e;min-height:32px;font-size:11px;cursor:pointer}
#admin-media-library .media-move-selected:disabled{opacity:.45;cursor:not-allowed}
#admin-media-library .media-selection-count{display:block;text-align:center;margin-top:6px;font-size:11px;color:#6b7f94}
#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:8px!important}
#admin-media-library .media-library-item{height:222px!important;min-width:0!important;border-radius:10px!important}
#admin-media-library .media-preview,#admin-media-library .media-preview.vertical{height:112px!important;min-height:112px!important;max-height:112px!important;aspect-ratio:auto!important;padding:9px!important}
#admin-media-library .media-item-body{padding:9px!important;min-height:108px!important}
#admin-media-library .media-item-title strong{font-size:11px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#admin-media-library .media-item-title .viz-badge{display:none}
#admin-media-library .media-item-body small{font-size:9px!important;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#admin-media-library .media-item-actions{margin-top:auto!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:100%!important;padding-top:6px!important}
#admin-media-library .media-action-button{width:27px!important;height:27px!important;min-width:27px!important;display:grid!important;place-items:center!important;padding:0!important}
#admin-media-library .media-action-button svg{width:15px!important;height:15px!important}
#admin-media-library .media-library-item img{pointer-events:none;-webkit-user-drag:none;user-drag:none}
.media-folder-modal{position:fixed;inset:0;z-index:10040;background:rgba(8,20,36,.58);display:none;align-items:center;justify-content:center;padding:20px}
.media-folder-modal.open{display:flex}
.media-folder-dialog{position:relative;width:min(420px,94vw);background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.media-folder-dialog h3{margin:0 0 6px;color:#17324e}.media-folder-dialog p{margin:0 0 14px;color:#667085;font-size:13px}
.media-folder-dialog input{width:100%;height:42px;border:1px solid #cbd8e6;border-radius:9px;padding:0 12px}
.media-folder-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;color:#52667c;cursor:pointer}
.media-folder-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:1500px){#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:1180px){#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:860px){#admin-media-library .media-library-workspace{grid-template-columns:1fr}#admin-media-library .media-folder-sidebar{position:static}#admin-media-library .media-folder-tree{max-height:180px}#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V281 — Banco de arquivos responsivo */
#admin-media-library .media-global-drop-hint{display:none!important}
#admin-media-library .media-layout-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:10px 0 14px}
#admin-media-library .media-sidebar-toggle{border:1px solid #cddff3;background:#fff;border-radius:10px;padding:8px 12px;font-weight:800;color:#17324f;cursor:pointer}
#admin-media-library .media-grid-size-control{display:flex;align-items:center;gap:8px;font-size:13px;color:#516b86}
#admin-media-library .media-grid-size-control input{width:190px}
#admin-media-library .media-grid-size-control button{width:30px;height:30px;border:1px solid #cddff3;background:#fff;border-radius:8px;font-weight:900;cursor:pointer}
#admin-media-library .media-library-workspace{grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important;transition:grid-template-columns .2s ease}
#admin-media-library .media-library-workspace.folders-collapsed{grid-template-columns:0 minmax(0,1fr)!important}
#admin-media-library .media-library-workspace.folders-collapsed .media-folder-sidebar{opacity:0;pointer-events:none;overflow:hidden;padding:0;border:0}
#admin-media-library .media-folder-sidebar{transition:opacity .2s ease,padding .2s ease;min-width:0}
#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(var(--media-grid-count,7),minmax(0,1fr))!important;gap:10px!important}
#admin-media-library .media-library-item{min-width:0!important}
#admin-media-library .media-preview{height:150px!important;min-height:150px!important;max-height:150px!important;aspect-ratio:auto!important;padding:10px!important}
#admin-media-library .media-preview img{width:100%!important;height:100%!important;object-fit:contain!important}
#admin-media-library .media-item-body{min-height:126px!important;padding:10px!important}
#admin-media-library .media-item-actions{margin-top:auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%!important;align-items:center!important;justify-items:center!important}
#admin-media-library .media-action-button{width:100%!important;min-width:0!important;max-width:40px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
#admin-media-library .media-action-button svg{width:17px!important;height:17px!important}
#admin-media-library .media-file-preview{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d8e4f2;border-radius:10px;background:#fff;color:#135fbf;font-weight:900;gap:5px}
#admin-media-library .media-file-preview span{font-size:30px}.media-file-preview small{font-size:11px;color:#6a7f96}
#admin-media-library.global-drag-active::after{content:'Solte os arquivos para enviar';position:fixed;inset:18px;z-index:9999;border:3px dashed #0b67d1;border-radius:24px;background:rgba(238,247,255,.94);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:#075dbd;pointer-events:none}
#admin-media-library .media-preview-modal .media-modal-content iframe{width:min(1100px,88vw);height:82vh;border:0;background:#fff;border-radius:14px}
#admin-media-library .media-generic-view{background:#fff;padding:34px;border-radius:18px;text-align:center;min-width:320px}
@media(max-width:860px){#admin-media-library .media-library-workspace{grid-template-columns:1fr!important}#admin-media-library .media-folder-sidebar{position:static!important}#admin-media-library .media-library-grid:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr))!important}#admin-media-library .media-grid-size-control input{width:110px}}


/* V282 — ações restauradas, seta lateral e árvore recolhível */
#admin-media-library .media-sidebar-toggle{width:36px;height:36px;padding:0!important;display:grid;place-items:center;border-radius:9px}
#admin-media-library .media-sidebar-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
#admin-media-library .media-sidebar-toggle.collapsed svg{transform:rotate(180deg)}
#admin-media-library .media-folder-row{display:flex;align-items:center;min-width:0}
#admin-media-library .media-folder-expander{flex:0 0 22px;width:22px;height:28px;border:0;background:transparent;padding:0;display:grid;place-items:center;color:#71859b;cursor:pointer}
#admin-media-library .media-folder-expander svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
#admin-media-library .media-folder-expander.open svg{transform:rotate(90deg)}
#admin-media-library .media-folder-expander-spacer{flex:0 0 22px;width:22px}
#admin-media-library .media-folder-row .media-folder-node{flex:1;min-width:0;padding-left:4px!important}
#admin-media-library .media-library-item{height:286px!important}
#admin-media-library .media-item-body{min-height:126px!important;padding:10px!important}
#admin-media-library .media-item-actions{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:repeat(4,minmax(28px,40px))!important;justify-content:center!important;align-items:center!important;margin-top:auto!important;min-height:42px!important;overflow:visible!important}
#admin-media-library .media-action-button{display:flex!important;visibility:visible!important;opacity:1!important;width:36px!important;min-width:36px!important;height:36px!important;max-width:36px!important}

/* ===== V283: ações compactas, árvore de pastas e correções de navegação ===== */
#admin-media-library .media-folder-sidebar-head{justify-content:flex-start;gap:7px}
#admin-media-library .media-folder-sidebar-head strong{flex:1}
#admin-media-library .media-sidebar-toggle{position:static!important;margin:0!important;flex:0 0 28px;width:28px;height:28px}
#admin-media-library .media-folder-row{display:flex;align-items:center;min-width:0}
#admin-media-library .media-folder-expander{flex:0 0 22px;width:22px;height:28px;border:0;background:transparent;color:#71849a;display:grid;place-items:center;cursor:pointer;padding:0}
#admin-media-library .media-folder-expander svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .15s}
#admin-media-library .media-folder-expander.open svg{transform:rotate(90deg)}
#admin-media-library .media-folder-expander-spacer{flex:0 0 22px;width:22px}
#admin-media-library .media-folder-row .media-folder-node{flex:1;min-width:0}
#admin-media-library .media-actions-toggle{display:none;width:34px;height:34px;border:1px solid #d7e1ec;border-radius:9px;background:#fff;color:#3f566d;align-items:center;justify-content:center;cursor:pointer;margin:8px auto 0}
#admin-media-library .media-actions-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#admin-media-library.compact-card-actions .media-actions-toggle{display:flex}
#admin-media-library.compact-card-actions .media-item-actions{display:none!important;position:absolute;left:8px;right:8px;bottom:8px;background:#fff;border:1px solid #dbe5ef;border-radius:10px;padding:7px!important;box-shadow:0 8px 24px rgba(26,55,86,.16);z-index:8;justify-content:center!important}
#admin-media-library.compact-card-actions .media-library-item.actions-open .media-item-actions{display:flex!important}
#admin-media-library.compact-card-actions .media-item-body{position:relative;padding-bottom:8px!important}
#admin-media-library.compact-card-actions .media-actions-toggle{margin-top:auto}
#admin-media-library .media-library-item{overflow:visible!important}
#admin-media-library .media-item-actions{max-width:100%;box-sizing:border-box}
#admin-media-library .media-action-button{min-width:30px!important;max-width:36px!important;flex:1 1 30px!important}
.cnh-rules-note a{font-weight:800;color:#075dbc;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}

/* V284 — perfil, segurança e banco de arquivos */
.profile-settings-modal{max-width:720px}.profile-settings-lead{margin:-4px 0 20px;color:var(--muted,#667085)}
.profile-photo-editor{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid var(--line,#dbe5ef);border-radius:14px;background:#f8fbff;margin-bottom:18px}
.profile-photo-preview{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#e8f2ff;color:#0b67d1;display:grid;place-items:center;font-size:30px;font-weight:900;border:3px solid #fff;box-shadow:0 0 0 1px #cbdbea}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-editor small{display:block;color:var(--muted,#667085);margin:4px 0 10px}.profile-photo-actions{display:flex;gap:8px;flex-wrap:wrap}
.profile-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.security-settings-list{display:grid;gap:10px}
.security-settings-item{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line,#dbe5ef);background:#fff;border-radius:13px;padding:14px;text-align:left;color:var(--ink,#17324e);cursor:pointer}
.security-settings-item:hover{background:#f7fbff;border-color:#a9c9ed}.security-settings-item small{display:block;color:var(--muted,#667085);margin-top:3px}.security-settings-icon{width:38px;height:38px;border-radius:10px;background:#edf5ff;color:#0b67d1;display:grid;place-items:center;font-weight:900}
#admin-media-library .media-library-summary:empty{display:none!important}
#admin-media-library .media-sidebar-reopen{display:none;position:absolute;left:0;top:10px;z-index:12;width:32px;height:42px;border:1px solid #cddff3;border-left:0;border-radius:0 10px 10px 0;background:#fff;color:#17324f;place-items:center;cursor:pointer;box-shadow:0 3px 12px rgba(26,55,86,.1)}
#admin-media-library .media-sidebar-reopen svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#admin-media-library .media-library-workspace{position:relative}
#admin-media-library .media-library-workspace.folders-collapsed .media-sidebar-reopen{display:grid}
#admin-media-library.compact-card-actions .media-library-item.actions-open .media-item-actions{display:grid!important;grid-template-columns:repeat(4,minmax(30px,36px))!important}
#admin-media-library.compact-card-actions .media-library-item.actions-open .media-actions-toggle{visibility:hidden}
@media(max-width:640px){.profile-settings-grid{grid-template-columns:1fr}.profile-photo-editor{grid-template-columns:1fr;text-align:center}.profile-photo-preview{margin:auto}.profile-photo-actions{justify-content:center}}

/* V285 — controle de reabertura das pastas integrado ao layout */
#admin-media-library .media-library-workspace.folders-collapsed{
  grid-template-columns:42px minmax(0,1fr)!important;
  column-gap:8px!important;
}
#admin-media-library .media-sidebar-reopen{
  position:sticky!important;
  left:auto!important;
  top:12px!important;
  align-self:start!important;
  justify-self:start!important;
  width:36px!important;
  height:44px!important;
  border:1px solid #cddff3!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(26,55,86,.10)!important;
  z-index:4!important;
}
#admin-media-library .media-library-workspace:not(.folders-collapsed) .media-sidebar-reopen{display:none!important}
#admin-media-library .media-library-workspace.folders-collapsed .media-sidebar-reopen{display:grid!important}
#admin-media-library .media-library-workspace.folders-collapsed .media-folder-sidebar{
  display:none!important;
}
@media(max-width:860px){
  #admin-media-library .media-library-workspace.folders-collapsed{grid-template-columns:38px minmax(0,1fr)!important;column-gap:6px!important}
  #admin-media-library .media-sidebar-reopen{position:sticky!important;top:8px!important;width:34px!important;height:40px!important}
}

/* V286 — galeria sem box residual, menu público e avaliações */
#admin-media-library .universal-file-drop,
.media-library-workspace .universal-file-drop,
.universal-file-drop:has(#mediaUploadInput){display:contents!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
#mediaUploadInput[hidden],#mediaUploadInput + .universal-file-selection[hidden]{display:none!important}
.testimonial-carousel-shell{position:relative;padding:0 52px}
.testimonial-carousel-shell .testimonial-grid{display:block}
.testimonial-carousel-shell .testimonial-card{display:none;max-width:760px;margin:0 auto}
.testimonial-carousel-shell .testimonial-card.is-current{display:block;animation:testimonialIn .28s ease}
.testimonial-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface,#fff);font-size:28px;line-height:1;cursor:pointer;color:var(--primary)}
.testimonial-prev{left:0}.testimonial-next{right:0}
.testimonial-dots{display:flex;justify-content:center;gap:8px;margin:16px 0 8px}
.testimonial-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#c8d4e2;cursor:pointer}
.testimonial-dots button.active{width:22px;border-radius:8px;background:var(--primary)}
.testimonial-view-all{display:block;margin:0 auto 18px}
.all-testimonials-list{display:grid;gap:14px;margin:18px 0}.all-testimonials-list .testimonial-card{display:block}
@keyframes testimonialIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:640px){.testimonial-carousel-shell{padding:0 38px}.testimonial-arrow{width:32px;height:32px}.navlinks{gap:12px}}

/* V287 — ícones minimalistas padronizados */
.security-settings-icon svg{width:21px;height:21px;display:block}
.security-settings-chevron{margin-left:auto;display:grid;place-items:center;color:#173a60}
.security-settings-chevron svg{width:20px;height:20px;display:block}
.public-access-grid article>span svg{width:24px;height:24px;display:block}
.level-icon svg{width:1em;height:1em;display:block}

/* V288 — três avaliações por vez e controles minimalistas */
.testimonial-carousel-shell .testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.testimonial-carousel-shell .testimonial-card{
  display:none;
  max-width:none;
  margin:0;
}
.testimonial-carousel-shell .testimonial-card.is-current{
  display:block;
  animation:testimonialIn .28s ease;
}
.testimonial-arrow{
  display:grid;
  place-items:center;
  font-size:0;
}
.testimonial-arrow svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.testimonial-arrow[hidden],.testimonial-dots[hidden]{display:none!important}
@media(max-width:980px){
  .testimonial-carousel-shell .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .testimonial-carousel-shell .testimonial-grid{grid-template-columns:1fr}
}


/* V289 — avaliações randômicas em grupos de três, setas persistentes e espaçamento */
.testimonial-dots{margin-top:22px!important;margin-bottom:0!important}
.testimonial-view-all{margin:30px auto 20px!important}
.testimonial-arrow{z-index:3;box-shadow:0 4px 14px rgba(18,58,96,.10)}
@media(max-width:700px){
  .testimonial-view-all{margin-top:26px!important}
}

/* V291 — modal de segurança compacto e exclusão discreta no editor de perfil */
.modal-box:has(.profile-settings-modal){
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  margin-inline:auto!important;
  padding:48px 32px 32px!important;
}
.modal-box:has(.profile-settings-modal) #modalContent,
.modal-box:has(.profile-settings-modal) .profile-settings-modal{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.modal-box:has(.profile-settings-modal) .security-settings-list{
  width:100%!important;
}
.profile-deletion-details{
  margin:18px 0 4px;
  padding-top:14px;
  border-top:1px solid #e6edf5;
  color:#667085;
}
.profile-deletion-details summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  list-style:none;
  font-size:.78rem;
  font-weight:700;
  color:#75869a;
}
.profile-deletion-details summary::-webkit-details-marker{display:none}
.profile-deletion-details summary::after{
  content:'';
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.profile-deletion-details[open] summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.profile-deletion-details-content{
  margin-top:10px;
  padding:12px 14px;
  border-radius:10px;
  background:#f8fafc;
}
.profile-deletion-details-content p{
  margin:0 0 8px!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  color:#7a8797!important;
}
.profile-deletion-link{
  border:0;
  background:transparent;
  padding:0;
  color:#9b3d3d;
  font:inherit;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:640px){
  .modal-box:has(.profile-settings-modal){width:calc(100vw - 24px)!important;padding:46px 18px 22px!important}
}

/* V292 — cadastro do instrutor com opções fechadas e pacotes */
.form-section-helper{margin:-4px 0 18px;color:#65788d;font-size:.9rem;line-height:1.45}
.selection-field{margin:0 0 20px}.selection-label{display:block;margin-bottom:9px;color:#17324f;font-size:.88rem;font-weight:800}
.option-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.option-chip{position:relative;cursor:pointer}.option-chip input{position:absolute;opacity:0;pointer-events:none}.option-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #d4e1ef;border-radius:12px;background:#fff;color:#17324f;font-size:.9rem;font-weight:700;transition:.18s ease}.option-chip input:checked+span{border-color:#1264d7;background:#edf5ff;color:#0b58bd;box-shadow:0 0 0 1px #1264d7 inset}.option-chip input:focus-visible+span{outline:3px solid rgba(18,100,215,.2);outline-offset:2px}
.compact-profile-grid{margin-top:4px}.currency-input{display:flex;align-items:center;overflow:hidden;border:1px solid #d4e1ef;border-radius:12px;background:#fff}.currency-input:focus-within{border-color:#1264d7;box-shadow:0 0 0 3px rgba(18,100,215,.12)}.currency-input span{display:flex;align-items:center;align-self:stretch;padding:0 13px;background:#f4f8fc;border-right:1px solid #d4e1ef;color:#405b76;font-weight:800}.currency-input input{min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.region-selector-grid{display:grid;gap:12px}.region-selector-card{padding:16px;border:1px solid #d9e5f1;border-radius:15px;background:#fff}.region-selector-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.region-selector-heading small{color:#718399}.region-city-check{display:flex;align-items:center;gap:9px;font-weight:850;color:#17324f}.region-city-check input{width:18px;height:18px;accent-color:#1264d7}.region-chip-grid{gap:8px}.region-chip-grid .option-chip span{min-height:36px;padding:6px 12px;font-size:.84rem}
.package-section-head{align-items:flex-start!important}.package-section-head h3{margin:0 0 5px!important}.package-section-head .form-section-helper{margin:0}.lesson-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-package-card{padding:16px;border:1px solid #d9e5f1;border-radius:15px;background:#fbfdff}.lesson-package-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#17324f}.package-enabled{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:800;color:#60758b}.package-enabled input{accent-color:#1264d7}.lesson-package-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-package-fields>label{display:flex;flex-direction:column;gap:7px;color:#17324f;font-size:.78rem;font-weight:800}.lesson-package-fields select{width:100%;min-height:44px;border:1px solid #d4e1ef;border-radius:12px;background:#fff;padding:0 12px;color:#17324f}.lesson-package-card>small{display:block;margin-top:10px;color:#66798e}.lesson-package-card.is-disabled{opacity:.58}.lesson-package-remove{border:0;background:transparent;color:#687b90;font-weight:800;cursor:pointer;padding:5px}
@media(max-width:820px){.lesson-package-grid{grid-template-columns:1fr}.lesson-package-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.region-selector-heading{align-items:flex-start;flex-direction:column;gap:5px}.lesson-package-fields{grid-template-columns:1fr}.package-section-head{flex-direction:column;gap:12px!important}.package-section-head .btn{width:100%}}

/* V293 — categorias completas, veículos dependentes, pacotes personalizados e referências fixas */
.selection-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.selection-heading-row .selection-label{margin:0}.required-mark{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#eef5ff;color:#0b5fc8;font-size:.67rem;letter-spacing:.02em}.extra-category-panel{margin-top:12px;padding:14px;border:1px solid #d9e5f1;border-radius:14px;background:#f8fbff}.extra-category-panel>p{margin:0 0 10px;color:#60758b;font-size:.82rem;font-weight:800}.field-validation-message{margin-top:9px;color:#b42318;font-size:.8rem;font-weight:700}.vehicle-choice-block{margin-top:6px}.vehicle-editor-grid{display:grid;gap:14px;margin-top:15px}.vehicle-editor-card{padding:18px;border:1px solid #d8e5f2;border-radius:16px;background:#fbfdff}.vehicle-editor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.vehicle-editor-head>div{display:grid;gap:3px}.vehicle-editor-head strong{color:#17324f}.vehicle-editor-head small{color:#6f8296}.required-badge{padding:4px 8px;border-radius:999px;background:#eef5ff;color:#0b5fc8;font-size:.7rem;font-weight:800}.vehicle-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vehicle-custom-brand[hidden],.vehicle-custom-model[hidden],.vehicle-editor-card[hidden]{display:none!important}.locked-field-note{margin-top:-4px;color:#6d7f91}.locked-field-note small{display:block;padding:10px 12px;border-radius:10px;background:#f7f9fc}.package-custom-count{min-height:44px;border:1px solid #d4e1ef;border-radius:12px;padding:0 12px}.package-custom-count[hidden]{display:none!important}
@media(max-width:920px){.vehicle-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.selection-heading-row,.vehicle-editor-head{align-items:flex-start;flex-direction:column}.vehicle-fields-grid{grid-template-columns:1fr!important}}

/* V294 — pacotes, veículos e atendimento PCD */
#instrutores .price{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.price em{font-style:normal;font-size:.72rem;color:var(--muted);margin-top:5px;max-width:150px;line-height:1.25}.vehicle-detail-row{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line)}.vehicle-detail-row:last-child{border-bottom:0}.vehicle-detail-row span{font-size:.78rem;color:var(--muted)}.vehicle-detail-row strong{font-size:.92rem}.modal-price-list>span{display:block;margin:6px 0}

/* V295 */
.experience-input-group{display:grid;grid-template-columns:1fr 120px;gap:8px}.inline-other-input[hidden]{display:none!important}.lesson-package-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-commercial-grid article{padding:18px;border:1px solid #d9e5f1;border-radius:16px;background:#fbfdff}.admin-commercial-grid article>span{font-size:.75rem;color:#6d7f91;font-weight:800;text-transform:uppercase}.admin-commercial-grid p{margin:7px 0;color:#52677d}.admin-commercial-grid .btn{margin-top:8px}@media(max-width:760px){.lesson-package-fields,.admin-commercial-grid{grid-template-columns:1fr}.experience-input-group{grid-template-columns:1fr}}

/* V296 — marketplace, instagram, lixeira e localização */
.super-instructor-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px 8px;border-radius:999px;background:#fff3dc;color:#9b5b00;font-size:11px;font-weight:800}.super-instructor-badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.profile-super-badge{margin:4px 0 10px}.modal-price-list span small{display:block;margin-top:4px;color:#64748b;font-size:12px}.instructor-instagram-link{display:inline-flex;align-items:center;gap:7px;margin:12px 0 2px;color:#155fc6;font-weight:700;text-decoration:none}.instructor-instagram-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.instagram-profile-grid{align-items:end}.instagram-input{display:flex;align-items:center;border:1px solid #dbe3ed;border-radius:10px;background:#fff;overflow:hidden}.instagram-input span{padding:0 0 0 12px;color:#64748b;font-weight:700}.instagram-input input{border:0!important;box-shadow:none!important}.instagram-visibility{min-height:46px;display:flex;align-items:center}.nearby-instructors-note{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;padding:12px 14px;border:1px solid #dce8f7;border-radius:12px;background:#f7fbff;color:#183b66}.nearby-instructors-note svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7}.nearby-instructors-note strong,.nearby-instructors-note span{display:block}.nearby-instructors-note span{margin-top:2px;font-size:12px;color:#64748b}.media-empty-trash{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.media-empty-trash svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.exam-location-other{margin-top:8px}.admin-commercial-audit-card{border:1px solid #dce6f2}.admin-commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-commercial-grid article{padding:16px;border:1px solid #e5eaf0;border-radius:12px;background:#fff}.admin-commercial-grid article>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.admin-commercial-grid article strong{display:block;margin:4px 0 8px;font-size:17px}.admin-commercial-grid article p{margin:5px 0;color:#475569;font-size:13px}@media(max-width:760px){.admin-commercial-grid{grid-template-columns:1fr}.nearby-instructors-note{margin-top:0}}


/* V297 — solicitação por tipo de habilitação, veículo próprio e PCD */
.lesson-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.lesson-checkbox-grid label{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--border,#dfe5ec);border-radius:10px;background:#fff;font-size:.9rem;line-height:1.35}
.lesson-checkbox-grid input{margin-top:2px;accent-color:var(--primary,#1769e0)}
.lesson-own-vehicle-box{padding:14px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff}
.lesson-pcd-types{padding:14px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff}
@media(max-width:640px){.lesson-checkbox-grid{grid-template-columns:1fr}}


/* V298 — marketplace dinâmico, preços transparentes e deslocamento */
.price em{display:block;margin-top:7px;font-style:normal;font-size:12px;line-height:1.45;color:var(--muted,#667085);max-width:230px}
.visual-badge{min-width:220px;text-align:center}
.featured-location-note{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:rgba(255,255,255,.78)}
.super-instructor-badge{white-space:nowrap}
.price-guidance{grid-column:1/-1;border:1px solid #cfe1ff;background:#f4f8ff;border-radius:12px;padding:10px 12px;font-size:12px;color:#36557d;display:flex;gap:8px;align-items:flex-start}
.price-guidance svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}
.travel-fee-panel{grid-column:1/-1;border:1px solid #e4e7ec;border-radius:14px;padding:14px;background:#fff}
.travel-fee-panel h4{margin:0 0 5px;font-size:14px}.travel-fee-panel>p{margin:0 0 12px;font-size:12px;color:#667085}
.travel-fee-options{display:flex;flex-wrap:wrap;gap:9px}.travel-fee-options label{display:flex;align-items:center;gap:7px;border:1px solid #d0d5dd;border-radius:10px;padding:9px 11px;font-size:13px;cursor:pointer}
.travel-fee-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.travel-fee-fields[hidden]{display:none}
.travel-fee-fields label{font-size:12px;font-weight:700;color:#344054}.travel-fee-fields input,.travel-fee-fields select{width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:10px;background:#fff}
.super-rules-card{margin-top:14px;border:1px solid #e4e7ec;border-radius:14px;padding:14px;background:#fbfcfe}.super-rules-card summary{cursor:pointer;font-weight:800;font-size:13px}.super-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.super-rules-grid span{font-size:12px;color:#475467;padding-left:18px;position:relative}.super-rules-grid span:before{content:"";position:absolute;left:0;top:5px;width:8px;height:8px;border:2px solid #175cd3;border-radius:50%}
@media(max-width:700px){.travel-fee-fields,.super-rules-grid{grid-template-columns:1fr}.visual-badge{min-width:0}}

.media-folder-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}

/* V304 */
.student-payment-flow{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px;padding:24px;border:1px solid #cfe0f3;border-radius:20px;background:#f7fbff}.student-payment-flow[hidden]{display:none!important}.student-payment-flow h2{margin:5px 0 10px;color:#12345a}.student-payment-flow ol{margin:10px 0 8px;padding-left:20px;color:#405a73}.student-payment-flow li{margin:5px 0}.student-payment-flow p{margin:10px 0 0;color:#667b8f}.certificate-month-summary{display:flex;align-items:baseline;gap:8px;margin:12px 0;padding:12px 14px;border-radius:12px;background:#f5f8fc;color:#61758a}.certificate-month-summary strong{color:#12345a}.compact-commercial-filter{margin-bottom:14px}.admin-commercial-grid article[hidden]{display:none!important}.student-purchase-modal{display:grid;gap:10px;margin-top:16px}.student-purchase-modal div{padding:12px;border:1px solid #dce6f2;border-radius:10px}.student-purchase-modal strong{margin-top:6px;padding-top:14px;border-top:1px solid #dce6f2;font-size:18px}.package-discount-control{grid-column:1/-1;padding:12px;border:1px dashed #cbd9e8;border-radius:12px;background:#fbfdff}.package-discount-control>label{display:flex;gap:8px;align-items:center;font-weight:700}.package-discount-control>div{margin-top:10px}.package-discount-control>div[hidden]{display:none!important}.package-discount-control input[type=text]{display:block;width:100%;margin-top:5px}.dashboard-notice span{display:block;margin-top:4px}@media(max-width:760px){.student-payment-flow{flex-direction:column}.student-payment-flow .btn{width:100%}}

/* V3.10 — preços separados para carro e moto */
.shared-pricing-control{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0;padding:18px;border:1px solid #cfe0f1;border-radius:16px;background:#f8fbff}.shared-pricing-control strong{display:block;color:#17324f}.shared-pricing-control p{margin:5px 0 0;color:#667b90;font-size:.84rem}.shared-price-toggle{display:flex;align-items:center;gap:9px;min-width:280px;color:#17324f;font-size:.82rem;font-weight:800}.shared-price-toggle input{width:18px;height:18px;accent-color:#1264d7}.currency-field.is-shared-value{opacity:.62}.currency-field.is-shared-value:after{content:"Mesmo valor do carro";display:block;margin-top:5px;color:#1264d7;font-size:.72rem;font-weight:800}.package-vehicle-field select{width:100%;min-height:44px;border:1px solid #d4e1ef;border-radius:12px;background:#fff;padding:0 12px;color:#17324f}.vehicle-price-list{display:grid;gap:6px;margin-bottom:10px}.vehicle-price-list span{display:block}.vehicle-price-label{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;background:#eef5ff;color:#0b5fc8;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.package-price-block{padding-top:10px;margin-top:6px;border-top:1px solid #e3ebf4}@media(max-width:760px){.shared-pricing-control{align-items:flex-start;flex-direction:column}.shared-price-toggle{min-width:0}.lesson-package-fields{grid-template-columns:1fr!important}}

/* V3.17 — home compacta, localização em uma linha e navegação de perfis */
body:not(.login-page) .hero{padding-top:18px!important;padding-bottom:30px!important}
#nearbyInstructorSubtitle{font-size:.72rem!important;line-height:1.25!important;white-space:normal!important;letter-spacing:-.01em;max-width:100%;text-wrap:balance}
#nearbyInstructorSubtitle.is-long-location{font-size:.68rem!important}
#nearbyInstructorSubtitle.is-very-long-location{font-size:.64rem!important;line-height:1.18!important}
.v317-role-switch{border-top:1px solid var(--line);margin-top:8px;padding:9px 10px 5px;display:grid;gap:5px}
.v317-role-switch>span{font-size:.65rem!important;line-height:1.1;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.v317-role-switch button{border:0;background:transparent;border-radius:7px;padding:6px 8px;text-align:left;font:inherit;font-size:.72rem!important;cursor:pointer;color:var(--ink)}
.v317-role-switch button:hover:not(:disabled){background:#eef5ff;color:var(--primary)}
.v317-role-switch button:disabled{background:#edf3f9;color:var(--muted);cursor:default}
.v317-clickable-cell{cursor:pointer!important;transition:background .16s,color .16s}
.v317-clickable-cell:hover{background:#eef5ff!important;color:var(--primary)}
.dashboard-avatar img,.dashboard-profile-avatar img{display:block}
@media(max-width:420px){#nearbyInstructorSubtitle{font-size:.66rem!important;letter-spacing:-.025em;max-width:270px}#nearbyInstructorSubtitle.is-long-location{font-size:.62rem!important}#nearbyInstructorSubtitle.is-very-long-location{font-size:.59rem!important}}


/* V3.19 — acabamento dos níveis do simulado */
.student-level .level-icon{font-size:0}
.student-level .level-icon svg{width:31px;height:31px;display:block}
.level-beginner .level-icon{color:#3F7D36}
.level-evolving .level-icon{color:#2268AD}
.level-prepared .level-icon{color:#9A6812}
.level-advanced .level-icon{color:#B85B1E}
.level-expert .level-icon{color:#7040A8}
