.hero{background:linear-gradient(110deg,#43105e 0%,#a52077 52%,#f8520c 100%)!important;min-height:500px!important}.hero:after{display:none}.hero-slides{position:absolute;inset:0;z-index:0;overflow:hidden}.hero .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;transform:none;box-shadow:none;opacity:.38;mix-blend-mode:luminosity}.hero-copy{z-index:1;text-shadow:0 2px 10px #21012d}.hero h1:before{content:'♕';display:block;font-size:47px;line-height:.65;color:var(--gold);letter-spacing:0}.brand{position:relative;padding-top:10px}.brand:before{content:'♕';position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:23px;line-height:1;color:var(--gold)}
.workshop-card img{height:280px!important;object-fit:contain!important;background:linear-gradient(140deg,#41105d,#f6500d)}
footer{align-items:center!important;padding:18px 10%!important}.organizer{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:10px;letter-spacing:1px}.organizer img{width:62px;height:62px;object-fit:cover;clip-path:circle(50%);background:#fff}
.minor-email{margin:16px 0;padding:14px;border-radius:12px;background:#fff3df;border-left:4px solid var(--orange);font-size:13px;line-height:1.45}.minor-email p{margin:7px 0}.minor-email a{color:var(--purple);font-weight:bold}
@media(max-width:850px){.hero .hero-slide{right:auto;bottom:auto;width:100%;height:100%}}
.hero:after{display:block!important;content:'♕';border:0;width:auto;height:auto;right:7%;bottom:2%;font-size:180px;line-height:1;color:#fff;opacity:.16}.save-horizontal{display:flex;align-items:center;gap:18px;margin:20px 0 13px;padding:10px 16px;border-top:1px solid #ffffff99;border-bottom:1px solid #ffffff99;font-size:18px;letter-spacing:1px}.save-horizontal strong{font-family:Georgia,serif;font-size:27px;color:#fff}.save-horizontal span{font-weight:bold;color:#ffd560;font-size:14px}.map-frame{position:relative;height:370px;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #44104f25}.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(1.15)}.map-crown{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--purple);border:3px solid #fff;color:var(--gold);font-size:31px;box-shadow:0 3px 10px #0006}.artist-slot{background:#fff!important;color:var(--ink)!important;border-radius:0!important;border-bottom:1px solid #eadde8!important;margin:0!important}.artist-slot time{color:var(--orange)!important}.artist-slot p{font-weight:normal!important}.artist-link{display:none;margin-top:8px;align-items:center;gap:10px;text-decoration:none;color:var(--purple);font-size:12px;font-weight:bold}.artist-slot:hover .artist-link{display:flex}.artist-image{width:92px;height:58px;object-fit:cover;background:none;border-radius:6px;margin:0}.place-image{display:none}@media(max-width:600px){.save-horizontal{display:block}.save-horizontal span{display:block;margin-top:4px}.hero:after{font-size:110px}.map-frame{height:300px}}
.artist-slot{background:linear-gradient(115deg,#43105e,#b31e7d 52%,#f8520c);color:#fff;border-radius:14px;border:0;margin:10px 0}.artist-slot time{color:#ffd560}.artist-slot p{font-weight:bold}.artist-image{width:112px;height:74px;object-fit:contain;background:#fff;border-radius:8px;margin-top:8px}.payment-team-note{background:#f7e8f4;padding:10px;border-radius:8px;font-size:13px}.login{max-width:360px;margin:auto}.login h2{font-family:Georgia,serif;color:var(--purple)}.login form,.schedule-editor{padding:0;background:none;border-radius:0}.login label,.schedule-editor label{display:block;margin:12px 0;font-size:12px;font-weight:bold}.schedule-editor{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:8px;align-items:end;background:#fbf3e7!important;padding:12px!important;margin-bottom:15px}.schedule-editor select{width:100%;padding:11px;border:1px solid #ded2df;border-radius:8px;background:white}.schedule-editor .button{padding:11px 14px;border:0}
body{background:#d9d7d2}.brand:before,.hero:after,.hero h1:before{display:none!important}.brand{padding:0!important;line-height:1!important}.brand img{display:block;width:120px;height:52px;object-fit:contain}.hero-logo{width:min(520px,85vw);height:170px;object-fit:contain;object-position:left center;background:#fff;border-radius:8px;padding:4px;text-shadow:none}.workshop-card img{object-fit:cover!important;background:none!important}.map-crown{display:none}.map-corvo{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 3px 4px #0008)}
.map-corvo{width:88px!important;height:88px!important;filter:drop-shadow(0 4px 6px #0009)!important}
body{background:#d9d7d2}.brand img{width:150px!important;height:64px!important;object-fit:contain;mix-blend-mode:multiply}.hero-logo{display:none!important}.hero-copy:before{content:'';display:block;width:150px;height:105px;background:url('assets/corvo-prata-simbolo.png') center/contain no-repeat;opacity:1}.hero-copy{display:flex;flex-direction:column;align-items:flex-start}.save-horizontal{margin-top:0;position:relative;font-size:22px!important}.save-horizontal strong{font-size:52px!important}.save-horizontal span{font-size:20px!important}.workshop-price{font-weight:800!important;color:#4b146f!important;font-size:15px!important;margin:10px 0!important}
.hero-copy:before{width:190px!important;height:132px!important}
.topbar{height:108px!important}.brand{width:260px!important;height:94px!important;display:flex!important;align-items:center!important}.brand img{width:255px!important;height:92px!important;transform:scale(1.22);transform-origin:left center}.topbar nav{gap:30px!important}.topbar nav a{font-size:17px!important}.admin-link{font-size:24px!important}.languages button{font-size:13px!important;padding:7px 9px!important}
.topbar{height:142px!important;background:#d9d7d2!important;padding:0 8%!important}.brand{width:330px!important;height:124px!important}.brand img{width:325px!important;height:120px!important;transform:scale(1.15)}.topbar nav{gap:40px!important}.topbar nav a{font-size:21px!important}.admin-link{font-size:28px!important}.languages button{font-size:15px!important;padding:9px 12px!important}
.topbar nav a{font-family:Georgia,serif!important;font-size:23px!important;letter-spacing:.2px;color:#4b146f!important}.languages button{font-family:Georgia,serif!important;font-size:16px!important}.map-corvo{width:100px!important;height:100px!important;border-radius:50%;object-fit:cover;border:3px solid #fff}

/* Mobile: cabeçalho legível sem deslocamento horizontal. */
@media (max-width:640px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .topbar{height:auto!important;min-height:0;padding:7px 14px 9px!important;display:grid!important;grid-template-columns:112px 1fr;grid-template-areas:"brand actions" "nav nav";gap:7px 10px;align-items:center}
  .brand{grid-area:brand!important;display:block;min-width:0}
  .brand img{width:108px!important;height:46px!important;max-width:100%;object-fit:contain}
  .head-actions{grid-area:actions!important;justify-content:flex-end;gap:7px;min-width:0}
  .languages{flex-shrink:0}
  .languages button{font-size:12px!important;padding:5px 6px!important}
  .admin-link{display:block!important;font-size:17px!important;padding:2px!important}
  .topbar nav{grid-area:nav!important;display:flex!important;justify-content:space-between;align-items:center;gap:4px;min-width:0;width:100%}
  .topbar nav a{font-size:13px!important;line-height:1.2;white-space:nowrap}
  .hero{min-height:430px!important;padding:42px 7%!important}
  .hero-copy{max-width:100%;min-width:0}
  .hero-copy:before{width:112px!important;height:76px!important;background-size:contain!important}
  .save-horizontal{gap:8px;padding:8px 0!important;margin:0 0 10px!important;min-width:0}
  .save-horizontal strong{font-size:33px!important;line-height:1!important;letter-spacing:0;white-space:nowrap}
  .save-horizontal span{font-size:12px!important;line-height:1.2}
  .hero-copy>p{font-size:14px;max-width:290px}
  .workshops-minor-info{padding:0 4px;white-space:normal!important;overflow-wrap:anywhere}
  .section{padding:52px 16px!important}
  .workshop-grid{grid-template-columns:1fr!important}
  .workshop-card{min-width:0}
  .workshop-card img{height:auto!important;aspect-ratio:1/1;object-fit:cover!important}
  .place{grid-template-columns:1fr!important;gap:25px!important}
  .map-frame{height:290px!important}
  .form-grid,.choices{grid-template-columns:1fr!important}
  form{padding:20px!important;max-width:100%;overflow:hidden}
  .discount{min-width:0}
  dialog{width:calc(100% - 20px)!important;max-width:100%!important;padding:24px 18px!important}
  .payment-confirmation,.authorization{max-width:100%;overflow-wrap:anywhere}
}

.member-corvo{width:18px;height:18px;object-fit:contain;filter:brightness(0);vertical-align:middle;margin-left:5px}.payment-ok,.auth-ok{color:#23773a;font-weight:700}.payment-pending,.auth-pending{color:#b26800;font-weight:700}.payment-valid{background:#f1faef}.authorization-brand{background:linear-gradient(140deg,#4b146f,#b21e7b 60%,#f65a12);color:#fff;border-radius:16px;padding:24px;max-width:680px;margin:auto}.authorization-brand>img{max-width:170px;max-height:64px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.authorization-brand form{background:#fff;color:#26083d;max-width:none;margin-top:16px}.authorization-brand label{display:block;font-weight:700;margin:12px 0}.authorization-brand label input{margin-top:5px}.authorization-brand canvas{display:block;width:100%;height:170px;background:#fff;border:2px dashed #bb217c;border-radius:10px;touch-action:none}.authorization-brand #declaration{background:#fff2df;color:#4b146f;padding:12px;border-radius:8px;line-height:1.5}@media(max-width:640px){.authorization-brand{padding:15px}.authorization-brand canvas{height:135px}.admin-api table{min-width:1000px}}
.topbar nav{align-items:center!important}.head-actions{align-items:center!important}
.workshop-art{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#26083d}.workshop-art img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.date-bubble{position:absolute;right:13px;top:13px;width:54px;height:54px;border-radius:50%;background:#f26922;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:23px;font-weight:800;line-height:.75;box-shadow:0 3px 10px #0007}.date-bubble small{font-size:10px;letter-spacing:1px;margin-top:6px}.workshop-day{margin:0 0 6px!important;color:#f26922!important;font-weight:800!important;font-size:13px!important}.teacher{margin:5px 0!important;font-weight:600!important}.workshop-time{margin:9px 0 3px!important;font-size:15px!important}.workshop-place{margin:0!important;color:#67536c!important;font-size:13px!important}.workshop-price-final{font-size:18px!important;font-weight:800!important;color:#4b146f!important;margin:12px 0 3px!important}.workshop-spots{font-size:13px!important;font-weight:800!important;color:#f26922!important;margin:0!important}.workshop-card .card-copy{padding:18px!important}
.minor-workshop-note{grid-column:1/-1;margin:26px 0 0;padding:16px 20px;border-left:5px solid #f26922;background:#fff8ed;color:#4b146f;line-height:1.5}.workshop-art img[src*="samba-no-pe"]{object-fit:contain!important;padding:18px;background:linear-gradient(140deg,#45115f,#f85a10)}
.workshop-art{background:linear-gradient(140deg,#45115f,#6e1979)!important;padding:8px}.workshop-art img{object-fit:contain!important;background:#45115f}.price-bubble{position:absolute;right:13px;bottom:13px;min-width:60px;height:44px;border-radius:22px;background:#4b146f;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 13px;font-weight:800;font-size:18px;box-shadow:0 3px 10px #0007}.workshop-price-final{display:none!important}
.workshop-card{position:relative}.workshop-card .card-copy{padding-bottom:70px!important}.workshop-card .price-bubble{right:18px;bottom:16px}
.workshops-minor-info{margin:16px 0 0!important;max-width:none!important;text-align:left!important;color:#4b146f!important;font-size:14px;line-height:1.55}.workshop-card .workshop-spots{position:absolute;left:18px;bottom:24px;margin:0!important}.workshop-observation{margin:15px 0 0!important;padding:9px 10px;border-left:3px solid #f26922;background:#fff2df;color:#4b146f!important;font-size:12px!important;line-height:1.35}

.register form{max-width:980px!important;padding:42px!important;border-radius:24px!important}.register form label span,.register form legend{font-size:15px!important}.register form input{padding:15px!important;font-size:17px!important}.register .choice{padding:15px!important;font-size:16px!important}.register .choice small{font-size:13px!important}.register .button{font-size:16px!important;padding:16px 24px!important}

.discount{max-width:520px!important;margin:14px auto!important}.discount label{max-width:270px!important}.discount input{padding:11px!important;font-size:14px!important}.discount button{padding:11px 16px!important;font-size:14px!important}.card-register{display:flex;width:max-content;align-items:center;justify-content:center;gap:5px;margin:14px auto 0;padding:7px 10px;border-radius:8px;background:#bb217c;color:#fff!important;text-decoration:none;font-weight:700;font-size:12px;transition:transform .2s,background .2s}.card-register span{color:#fff;font-size:14px;line-height:1}.card-register:hover{background:#9c1b78;transform:translateY(-2px)}.workshop-card .card-copy{padding-bottom:118px!important}

.admin-v2{min-width:min(920px,88vw)}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid #eadde8;margin-bottom:24px;padding-bottom:12px}.admin-tabs button,.admin-action,.admin-icon-actions button{border:0;background:#f3e8f1;color:#4b146f;border-radius:8px;padding:10px 13px;font-weight:700;cursor:pointer}.admin-tabs .active,.admin-action.primary{background:#bb217c;color:#fff}.admin-tabs #logoutAdmin{margin-left:auto;background:transparent;color:#6f5d72}.admin-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.admin-panel-head h2{margin:0;color:#4b146f}.admin-panel-head p{margin:5px 0 0}.admin-workshops{display:grid;gap:10px}.admin-workshop{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px;border:1px solid #eadde8;border-radius:12px;background:#fff}.admin-workshop h3,.admin-values h3{margin:0 0 6px;color:#4b146f;font:700 17px Georgia,serif}.admin-workshop p{margin:0 0 5px;font-size:13px}.admin-icon-actions{display:flex;gap:7px}.admin-icon-actions button{font-size:16px;padding:8px 10px}.admin-icon-actions [data-delete]{color:#b21742;background:#fff0f3}.admin-workshop-form{max-width:none!important;margin-top:18px!important;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px!important;background:#fbf3e7!important}.admin-workshop-form h3,.admin-workshop-form>div{grid-column:1/-1;margin:0}.admin-workshop-form label{font-size:12px;font-weight:700}.admin-workshop-form input{margin-top:6px}.admin-registration-list{margin-top:22px;padding:18px;border-radius:12px;background:#fbf3e7}.admin-registration-list>div{display:flex;justify-content:space-between;align-items:center}.admin-registration-list h3{margin:0;color:#4b146f}.admin-table-wrap{overflow:auto;margin-top:14px}.check{color:#28753a}.day-document{color:#9a6300}.admin-total{text-align:right;padding:10px 15px;border-radius:10px;background:#f3e8f1;color:#4b146f}.admin-total span{display:block;font-size:11px}.admin-total strong{font-size:24px}.admin-values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-values article{padding:17px;border-radius:12px;background:#fff;border:1px solid #eadde8}.admin-values p{font-size:13px}.admin-values b{color:#bb217c;font-size:20px}@media(max-width:650px){.admin-v2{min-width:0}.admin-panel-head,.admin-workshop{align-items:stretch;flex-direction:column}.admin-tabs{flex-wrap:wrap}.admin-tabs #logoutAdmin{margin-left:0}.admin-workshop-form,.admin-values{grid-template-columns:1fr}}
.workshops .section-head{max-width:none;width:100%}.workshops-minor-info{white-space:nowrap!important;text-align:center!important;font-size:13px!important}.card-register{position:absolute;left:18px;bottom:58px;margin:0;transform:none}.card-register:hover{transform:translateY(-2px)}.contact a{color:#f26922!important;font-weight:700}.admin-workshop{cursor:pointer;transition:border-color .2s,box-shadow .2s}.admin-workshop:hover{border-color:#bb217c;box-shadow:0 4px 15px #4b146f16}.admin-icon-actions button{display:inline-flex;align-items:center;gap:5px}.admin-icon-actions button[data-edit]::after{content:'Editar';font-size:12px}.admin-icon-actions button[data-list]::after{content:'Inscritos';font-size:12px}.admin-icon-actions button[data-delete]::after{content:'Apagar';font-size:12px}.admin-panel-head #newWorkshop::first-letter{font-size:18px}.workshop-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#25083b99}.workshop-modal .admin-workshop-form{width:min(720px,94vw)!important;max-height:85vh;overflow:auto;margin:0!important;box-shadow:0 20px 60px #17022399}@media(max-width:700px){.workshops-minor-info{white-space:normal!important;font-size:14px!important}.workshops .section-head{max-width:680px}.admin-icon-actions button::after{display:none!important}}
#adminDialog{width:96vw!important;max-width:1280px!important;max-height:94vh!important;padding:32px!important;overflow:visible!important}#adminDialog .admin{max-height:none!important;overflow:visible!important}.admin-v2{min-width:0!important;width:100%!important}.admin-workshop{flex-wrap:wrap}.admin-workshop>div:first-child{min-width:0}.admin-icon-actions{flex-wrap:wrap}.admin-panel-head{flex-wrap:wrap}@media(max-width:760px){#adminDialog{width:98vw!important;padding:24px 16px!important}.admin-workshop{align-items:flex-start!important;flex-direction:column}.admin-icon-actions{width:100%}.admin-icon-actions button{flex:1;justify-content:center}.admin-icon-actions button::after{display:inline!important}.admin-panel-head #newWorkshop{width:100%}}
.mbway-instruction{max-width:520px;margin:20px 0 0;padding:12px 15px;border-left:4px solid #f26922;border-radius:8px;background:#fff2df;color:#4b146f}.discount{margin:14px 0!important}.payment-sent{max-width:520px;margin:16px 0 0!important;padding:12px 15px;border:1px solid #f3c4df;border-radius:10px;background:#fff4fb}.payment-confirmation{max-width:620px;margin:auto}.minor-authorization{margin-top:20px;padding:18px;border-radius:12px;background:#fff3df}.minor-authorization h3{margin-top:0;color:#4b146f}.email-notice{margin-top:18px;padding:14px;border-radius:10px;background:#f3e8f1;color:#4b146f}.authorization{max-width:650px;margin:auto}.authorization form{max-width:none!important;padding:0!important;background:none!important}.authorization label{display:block;margin:15px 0;font-weight:bold}.authorization label input{margin-top:6px}.authorization-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.validate-payment,.document-view{border:0;border-radius:7px;padding:7px 9px;background:#e6f4e9;color:#26743a;font-weight:700;cursor:pointer}.document-view{background:#f3e8f1;color:#4b146f}

/* Área reservada: modal independente, com scroll apenas no seu conteúdo. */
body:has(#adminDialog[open]){overflow:hidden!important;overscroll-behavior:none}
#adminDialog[open]{position:fixed!important;inset:10px!important;margin:auto!important;width:auto!important;max-width:1180px!important;height:auto!important;max-height:calc(100dvh - 20px)!important;padding:46px 20px 18px!important;overflow:hidden!important;border-radius:16px!important}
#adminDialog[open] .close{z-index:3;right:14px!important;top:8px!important;line-height:1;padding:4px 10px}
#adminDialog[open] .admin{width:100%!important;max-height:calc(100dvh - 84px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 2px 20px!important}
#adminDialog[open] .admin-v2{min-width:0!important;width:100%!important}
#adminDialog[open] .admin-workshop,#adminDialog[open] .admin-panel-head{min-width:0!important}

/* Painel reservado — interface compacta, responsiva e sem botões duplicados. */
#adminDialog[open]{width:min(1180px,calc(100vw - 24px))!important;background:#f5f3ef!important}
#adminDialog[open] .login{max-width:440px!important;margin:20px auto!important;padding:0!important}
#adminDialog[open] .login form{padding:26px!important;background:#fff!important;border:1px solid #eadde8!important;border-radius:16px!important;box-shadow:0 12px 35px #26083819!important}
#adminDialog[open] .login h2{font-size:30px!important;margin:0 0 5px!important}
#adminDialog[open] .login p{font-size:14px!important;margin:0 0 18px!important}
#adminDialog[open] .login input{width:100%!important;box-sizing:border-box!important;padding:12px!important}
#adminDialog[open] .login .primary-action{width:100%!important;margin-top:8px!important}
#adminDialog[open] .admin-tabs{position:sticky;top:0;z-index:4;background:#f5f3ef;padding:6px 0 14px!important;gap:7px!important}
#adminDialog[open] .admin-tabs button{font-family:Georgia,serif!important;font-size:15px!important}
#adminDialog[open] .admin-tabs #logoutAdmin{margin-left:auto!important;min-width:40px!important}
#adminDialog[open] .admin-icon-actions button::after{content:none!important}
#adminDialog[open] .admin-icon-actions{align-items:center!important;flex-wrap:nowrap!important}
#adminDialog[open] .admin-icon-actions button,.icon-only,.summary-icons button{display:inline-grid!important;place-items:center!important;width:38px!important;height:38px!important;padding:0!important;font:700 18px/1 Arial,sans-serif!important}
#adminDialog[open] .admin-icon-actions .danger{color:#a3123e!important;background:#fff0f3!important}
.primary-action{border:0;background:#c21d7f!important;color:#fff!important;border-radius:9px!important;padding:10px 14px!important;font-weight:700!important;cursor:pointer}
.dashboard-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:4px 0 20px}.dashboard-head h2{font:700 34px Georgia,serif!important;color:#4b146f;margin:2px 0 5px}.dashboard-head p{margin:0;color:#66556a}.eyebrow{color:#f05d22!important;letter-spacing:2px;font-size:11px!important;font-weight:800}.dashboard-date{padding:10px 13px;border-radius:10px;background:#4b146f;color:#fff;font-weight:700}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dashboard-kpis article{padding:17px;border-radius:14px;background:#fff;border:1px solid #eadde8}.dashboard-kpis span{display:block;font-size:12px;color:#6a5a70}.dashboard-kpis b{display:block;margin-top:8px;color:#bd1e7d;font:700 31px Georgia,serif}.dashboard-chart{margin-top:15px;padding:18px;border-radius:14px;background:#fff;border:1px solid #eadde8}.chart-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.chart-heading h3{color:#4b146f;margin:0}.chart-heading span{font-size:12px;color:#75677b}.chart-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,2fr) 96px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #f0e8ef}.chart-row b,.chart-row small{display:block}.chart-row small{margin-top:3px;color:#6c5d70;font-size:12px}.bar{height:10px;border-radius:99px;background:#f1e3ed;overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f35d22,#c01c7d)}.chart-row strong{font-size:12px;color:#4b146f;text-align:right}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.dashboard-split article{background:#fff;border:1px solid #eadde8;border-radius:14px;padding:16px}.dashboard-split h3{margin:0 0 9px;color:#4b146f}.dashboard-split p{font-size:13px;margin:6px 0}.dashboard-split b{color:#c01c7d}.registration-groups{display:grid;gap:10px}.registration-group{border:1px solid #eadde8;border-radius:13px;background:#fff;overflow:hidden}.registration-group summary{padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;list-style:none}.registration-group summary::-webkit-details-marker{display:none}.registration-group summary b,.registration-group summary small{display:block}.registration-group summary small{margin-top:4px;color:#6a5b70;font-size:12px}.summary-icons{display:flex;align-items:center;gap:10px}.chevron{color:#4b146f;font-size:22px;transition:transform .2s}.registration-group[open] .chevron{transform:rotate(180deg)}.registration-group-body{padding:0 16px 16px;border-top:1px solid #eadde8}.registration-list-top{display:flex;justify-content:space-between;align-items:center;padding-top:12px}.registration-list-top p{font-size:13px;margin:0}.registrations-table{min-width:940px}.status{display:inline-block;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:700}.status.ok{background:#e4f6e8;color:#24733b}.status.pending{background:#fff1d7;color:#9a5d00}.approve{border:0;border-radius:7px;background:#e4f6e8;color:#24733b;font-weight:900;padding:6px 8px;cursor:pointer}.workshop-stats{display:flex;gap:8px;flex-wrap:wrap}.workshop-stats span{padding:4px 7px;border-radius:99px;background:#f4eaf2;font-size:11px}.admin-workshop{cursor:default!important}.admin-workshop:hover{box-shadow:none!important}.admin-workshop-form .form-heading{display:flex;justify-content:space-between;align-items:center}.admin-workshop-form .form-heading button{border:0;background:transparent;font-size:24px;cursor:pointer}.admin-workshop-form small{display:block;margin-top:4px;color:#6d5c71;font-size:11px}.form-actions{display:flex;gap:8px}.form-actions button:not(.primary-action){border:0;background:#eee7ed;color:#4b146f;border-radius:9px;padding:10px 14px;font-weight:700}
@media(max-width:640px){#adminDialog[open]{width:calc(100vw - 10px)!important}.dashboard-head{flex-direction:column}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-kpis article{padding:13px}.dashboard-kpis b{font-size:26px}.chart-row{grid-template-columns:1fr 78px;gap:8px}.chart-row .bar{grid-column:1/-1;grid-row:2}.chart-row strong{grid-column:2;text-align:right}.dashboard-split{grid-template-columns:1fr}.registration-group summary{padding:12px}.registration-group-body{padding:0 12px 12px}.registration-list-top p{max-width:calc(100% - 44px)}#adminDialog[open] .admin-icon-actions{grid-template-columns:repeat(4,38px)!important;width:auto!important}.admin-workshop{padding:13px!important}.admin-workshop>div:first-child{width:100%}.admin-workshop .admin-icon-actions{align-self:flex-end}.admin-tabs{overflow-x:auto!important;flex-wrap:nowrap!important}.admin-tabs button{white-space:nowrap!important}.admin-tabs #logoutAdmin{position:sticky;right:0}.dashboard-date{font-size:12px}.registration-group summary small{line-height:1.35}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}}
#adminDialog[open] .admin-table-wrap{max-width:100%;overscroll-behavior:contain}
#adminDialog::backdrop{background:#25083baa}

@media(max-width:640px){
  .topbar nav{transform:none!important}
  .topbar nav a{font-size:13px!important}
  #adminDialog[open]{inset:5px!important;max-height:calc(100dvh - 10px)!important;padding:42px 12px 12px!important;border-radius:13px!important}
  #adminDialog[open] .admin{max-height:calc(100dvh - 70px)!important;padding-bottom:14px!important;font-size:14px}
  #adminDialog[open] .admin-tabs{gap:6px;margin-bottom:14px;padding-bottom:10px}
  #adminDialog[open] .admin-tabs button{font-size:13px;padding:8px 10px}
  #adminDialog[open] .admin-panel-head{gap:10px;margin-bottom:12px}
  #adminDialog[open] .admin-panel-head h2{font-size:24px}
  #adminDialog[open] .admin-panel-head p{font-size:12px}
  #adminDialog[open] .admin-workshop{padding:12px;gap:10px}
  #adminDialog[open] .admin-workshop h3{font-size:16px;overflow-wrap:anywhere}
  #adminDialog[open] .admin-workshop p,#adminDialog[open] .admin-workshop strong{font-size:12px;overflow-wrap:anywhere}
  #adminDialog[open] .admin-icon-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #adminDialog[open] .admin-icon-actions button{min-width:0!important;padding:8px 4px!important;font-size:12px!important;white-space:nowrap}
  #adminDialog[open] .admin-icon-actions button::after{font-size:10px!important}
  #adminDialog[open] .admin-workshop-form{grid-template-columns:1fr!important;padding:14px!important;max-height:none!important;overflow:visible!important}
  #adminDialog[open] .admin-registration-list{padding:12px;overflow:hidden}
  #adminDialog[open] .admin-table-wrap{overflow-x:auto!important}
  #adminDialog[open] .admin table{min-width:520px}
  .payment-total{align-items:flex-end;flex-direction:column;font-size:13px}
}



/* Mobile header fix */
@media (max-width:640px){
  .topbar nav{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:4px!important;
    transform:none!important;
  }
  .topbar nav a{
    position:relative;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:nowrap;
  }
  .topbar nav a:not(:last-child)::after{
    content:'•';
    position:absolute;
    right:-8px;
    top:50%;
    transform:translateY(-50%);
    color:#f26922;
    font-size:14px!important;
    line-height:1;
  }
}

/* Desktop only */
@media (min-width:641px){
  .topbar nav{
    transform:translateY(18px);
  }
  .topbar nav a{
    position:relative;
    font-size:25px!important;
    line-height:1!important;
  }
  .topbar nav a:not(:last-child)::after{
    content:'•';
    position:absolute;
    right:-25px;
    top:50%;
    transform:translateY(-52%);
    color:#f26922;
    font-family:Arial,sans-serif;
    font-size:25px;
    line-height:1;
  }
}

/* Área reservada: janela própria e scroll interno. */
body:has(#adminDialog[open]){overflow:hidden!important;overscroll-behavior:none}
#adminDialog[open]{position:fixed!important;inset:10px!important;margin:auto!important;width:auto!important;max-width:1180px!important;max-height:calc(100dvh - 20px)!important;padding:46px 20px 18px!important;overflow:hidden!important;border-radius:16px!important}
#adminDialog[open] .close{z-index:3;right:14px!important;top:8px!important;line-height:1;padding:4px 10px}
#adminDialog[open] .admin{width:100%!important;max-height:calc(100dvh - 84px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 2px 20px!important}
#adminDialog[open] .admin-v2{min-width:0!important;width:100%!important}
#adminDialog[open] .admin-table-wrap{max-width:100%;overscroll-behavior:contain}
#adminDialog::backdrop{background:#25083baa}
.authorization-missing{color:#a45500;font-weight:700}.registration-list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.registration-modal{z-index:40!important}.registration-modal .admin-registration-list{width:min(980px,94vw);max-height:82vh;overflow:auto;box-shadow:0 20px 60px #17022399}

@media(max-width:640px){
  .topbar nav{transform:none!important}
  .topbar nav a{font-size:13px!important}
  #adminDialog[open]{inset:5px!important;max-height:calc(100dvh - 10px)!important;padding:42px 12px 12px!important;border-radius:13px!important}
  #adminDialog[open] .admin{max-height:calc(100dvh - 70px)!important;padding-bottom:14px!important;font-size:14px}
  #adminDialog[open] .admin-tabs{gap:6px;margin-bottom:14px;padding-bottom:10px}
  #adminDialog[open] .admin-tabs button{font-size:13px;padding:8px 10px}
  #adminDialog[open] .admin-panel-head{gap:10px;margin-bottom:12px}
  #adminDialog[open] .admin-panel-head h2{font-size:24px}
  #adminDialog[open] .admin-panel-head p{font-size:12px}
  #adminDialog[open] .admin-workshop{padding:12px;gap:10px;align-items:flex-start!important;flex-direction:column}
  #adminDialog[open] .admin-workshop h3{font-size:16px;overflow-wrap:anywhere}
  #adminDialog[open] .admin-workshop p,#adminDialog[open] .admin-workshop strong{font-size:12px;overflow-wrap:anywhere}
  #adminDialog[open] .admin-icon-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
  #adminDialog[open] .admin-icon-actions button{min-width:0!important;padding:8px 4px!important;font-size:12px!important;white-space:nowrap}
  #adminDialog[open] .admin-icon-actions button::after{font-size:10px!important}
  #adminDialog[open] .admin-workshop-form{grid-template-columns:1fr!important;padding:14px!important;max-height:none!important;overflow:visible!important}
  #adminDialog[open] .admin-registration-list{padding:12px;overflow:hidden}
  #adminDialog[open] .admin-table-wrap{overflow-x:auto!important}
  #adminDialog[open] .admin table{min-width:520px}
  .registration-modal{padding:8px!important;align-items:start!important;overflow-y:auto!important}
  .registration-modal .admin-registration-list{width:100%!important;max-height:none!important;margin:0!important}
  .registration-modal .admin-registration-list>div{align-items:flex-start!important;gap:10px;flex-direction:column}
}

/* Admin final ligado à API/D1 */
#adminDialog[open]{background:#d9d7d2!important;color:#26083d!important}
#adminDialog[open]:not([data-authenticated="true"]){width:min(420px,calc(100vw - 32px))!important;max-width:420px!important;padding:42px 18px 18px!important}
#adminDialog[open]:not([data-authenticated="true"]) .close{right:10px!important;top:8px!important}
#adminDialog[open][data-authenticated="true"]{width:min(1180px,calc(100vw - 20px))!important;max-width:1180px!important}
#adminDialog[open] .admin-login{max-width:420px!important;margin:0 auto!important}
#adminDialog[open] .admin-login form{display:grid!important;gap:14px!important;background:#fff!important;border:1px solid #eadde8!important;border-radius:16px!important;padding:26px!important;box-shadow:0 18px 40px #26083d24!important}
#adminDialog[open] .admin-login h2{font:700 30px Georgia,serif!important;color:#4b146f!important;margin:0 0 4px!important;text-align:center!important}
#adminDialog[open] .admin-login label{display:grid!important;gap:6px!important;font-weight:700!important}
#adminDialog[open] .admin-login input{width:100%!important;border:1px solid #dfcddd!important;border-radius:9px!important;padding:13px!important;font-size:15px!important}
#adminDialog[open] .admin-final{width:100%!important;max-height:calc(100dvh - 84px)!important;overflow:auto!important;overscroll-behavior:contain!important;padding:0 4px 22px!important}
#adminDialog[open] .admin-final .admin-tabs{background:#d9d7d2!important;border-bottom:1px solid #c9c5bf!important}
#adminDialog[open] .admin-final .admin-tabs button{border:0!important;border-radius:9px!important;background:#efe8ef!important;color:#4b146f!important;font:700 15px Georgia,serif!important;padding:10px 13px!important}
#adminDialog[open] .admin-final .admin-tabs button.active{background:#bb217c!important;color:#fff!important}
#adminDialog[open] .admin-final .admin-tabs #logoutAdmin{margin-left:auto!important;background:transparent!important;color:#26083d!important}
.admin-dashboard,.admin-detail-section{min-width:0}
.dashboard-kpis.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}
.admin-workshop-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.admin-workshop-card{display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:#fff;border:5px solid #4b146f;border-radius:14px;box-shadow:0 12px 26px #26083d18}
.admin-workshop-card.inactive{opacity:.68}
.admin-workshop-cover{aspect-ratio:1/1;background:#4b146f;overflow:hidden}
.admin-workshop-cover img{width:100%;height:100%;object-fit:cover;display:block}
.admin-workshop-card-body{padding:14px}
.admin-workshop-card h3{font:700 19px Georgia,serif;color:#4b146f;margin:0 0 7px}
.admin-workshop-card p{margin:5px 0;font-size:13px;color:#342039}
.admin-workshop-card .workshop-stats{margin-top:10px}
.admin-workshop-card .workshop-stats span{background:#fff4e9;color:#4b146f}
.admin-detail-section{margin-top:16px;padding:17px;border-radius:14px;background:#fff;border:1px solid #eadde8}
.admin-detail-section h3{font:700 20px Georgia,serif;color:#4b146f;margin:0 0 12px}
.pending-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #f0e5ef}
.pending-payment:first-of-type{border-top:0}
.pending-payment b,.pending-payment small{display:block}
.pending-payment small{margin-top:3px;color:#6b5e6f;font-size:12px}
.attendance-table{min-width:620px}
.attendance-table th,.attendance-table td{vertical-align:middle}
.checkbox-line{display:flex!important;align-items:center!important;gap:8px!important}
.checkbox-line input{width:auto!important}
.admin-workshop-form textarea{min-height:80px;border:1px solid #dfcddd;border-radius:9px;padding:10px;font:15px Arial,sans-serif}
.admin-workshop-form input[disabled],.admin-workshop-form textarea[disabled]{background:#f3f0f3;color:#7b6d7e}
@media(max-width:760px){
  #adminDialog[open][data-authenticated="true"]{inset:5px!important;width:calc(100vw - 10px)!important;max-height:calc(100dvh - 10px)!important;padding:42px 10px 10px!important}
  #adminDialog[open] .admin-final{max-height:calc(100dvh - 64px)!important}
  #adminDialog[open] .admin-final .admin-tabs{overflow-x:auto!important;flex-wrap:nowrap!important;gap:6px!important}
  #adminDialog[open] .admin-final .admin-tabs button{font-size:13px!important;white-space:nowrap!important;padding:9px 10px!important}
  .dashboard-kpis,.dashboard-kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-workshop-cards{grid-template-columns:1fr!important}
  .pending-payment{align-items:flex-start;flex-direction:column}
  .admin-workshop-form{grid-template-columns:1fr!important}
}

/* Área Reservada v21: uma única instância de login e dashboard. */
#adminDialog:not([open]){display:none!important}
#adminDialog .admin-login form button[type=submit]{cursor:pointer}
#adminDialog .admin-login form button[type=submit]:disabled{opacity:.65;cursor:wait}
