:root{--brown:#23294b;--orange:#f8a232;--blue:#23294b;--yellow:#f8a232;--bg:#ffffff;--card:#fff;--text:#23294b;--muted:#23294b;--line:rgba(35,41,75,.14);--shadow:0 16px 45px rgba(35,41,75,.10)}
*{box-sizing:border-box}.entry-content:has(.of-app),.entry-content:has(.of-login-wrap){max-width:none!important;margin:0!important;padding:0!important}.of-app,.of-login-wrap{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
body:has(.of-app),body:has(.of-login-wrap){margin:0;background:var(--bg)}body:has(.of-app) header,body:has(.of-app) footer,body:has(.of-login-wrap) header,body:has(.of-login-wrap) footer{display:none!important}
.of-login-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at top right,rgba(248,162,50,.18),transparent 30%),linear-gradient(135deg,#23294b,#23294b)}.of-login-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:38px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.of-brand-mark,.of-logo span{display:grid;place-items:center;background:var(--orange);color:#fff;font-weight:900}.of-brand-mark{width:58px;height:58px;border-radius:18px;margin-bottom:22px}.of-login-card h1{font-size:42px;margin:0 0 8px}.of-eyebrow,.of-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--orange);margin:0 0 6px}.of-form{display:grid;gap:15px}.of-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.of-form input,.of-form select,.of-form textarea,.of-search input{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff;font:inherit;color:inherit}.of-form input:focus,.of-form select:focus,.of-form textarea:focus,.of-search input:focus{outline:2px solid rgba(248,162,50,.2);border-color:var(--orange)}.of-demo-credentials{margin-top:20px;padding:15px;border-radius:14px;background:rgba(248,162,50,.10);display:grid;gap:5px;font-size:12px}.of-btn{appearance:none;border:0;border-radius:13px;padding:12px 16px;font-weight:800;cursor:pointer}.of-btn.primary{background:var(--orange);color:#fff}.of-btn.soft{background:rgba(248,162,50,.14);color:var(--brown)}.of-btn.ghost{background:transparent;border:1px solid var(--line)}.of-btn.full{width:100%;margin-top:15px}.of-link{border:0;background:none;color:var(--orange);font-weight:800;cursor:pointer}
.of-app{display:grid;grid-template-columns:250px 1fr;min-height:100vh;padding-top:0}.of-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--brown);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:40}.of-logo{display:flex;align-items:center;gap:11px;padding:4px 8px 22px}.of-logo span{width:42px;height:42px;border-radius:13px}.of-logo div{display:grid}.of-logo small,.of-user small{color:rgba(255,255,255,.62)}.of-user{display:flex;align-items:center;gap:10px;padding:15px 10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;margin-bottom:20px}.of-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);font-weight:900}.of-user>div:last-child{display:grid;font-size:13px}.of-nav{display:grid;gap:5px}.of-nav button{border:0;background:transparent;color:rgba(255,255,255,.72);text-align:left;border-radius:12px;padding:12px 13px;font-weight:700;cursor:pointer}.of-nav button:hover,.of-nav button.active{background:rgba(255,255,255,.11);color:#fff}.of-logout{margin-top:auto;color:#fff;text-decoration:none;padding:12px 13px}.of-main{grid-column:2;min-width:0;height:100vh;overflow:auto}.of-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:24px 34px 16px;background:rgba(247,244,239,.92);backdrop-filter:blur(14px)}.of-topbar h1{font-size:26px;margin:0}.of-topbar .of-eyebrow{margin:0}.of-menu-toggle{display:none}.of-notify-btn,.of-menu-toggle{border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px}.of-content{padding:8px 34px 50px}.of-section{display:none}.of-section.active{display:block}.of-hero{background:linear-gradient(135deg,var(--brown),#23294b);color:#fff;border-radius:26px;padding:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:20px}.of-hero.student{background:linear-gradient(135deg,#f8a232,#f8a232);color:#23294b}.of-hero.student p{color:rgba(35,41,75,.76)}.of-hero.student .of-chip,.of-hero.student .of-hero-number{background:rgba(35,41,75,.10)}.of-hero h2{font-size:34px;line-height:1.05;margin:10px 0}.of-hero p{margin:0;color:rgba(255,255,255,.72)}.of-chip{display:inline-flex;background:rgba(255,255,255,.12);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.of-hero-number{width:92px;height:92px;border-radius:24px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:42px;font-weight:900;line-height:1}.of-hero-number small{font-size:12px;text-transform:uppercase;margin-top:-22px}.of-grid{display:grid;gap:16px}.of-grid.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.of-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.of-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(35,41,75,.05)}.of-card h3{margin:4px 0 12px}.of-card.stat{display:grid;gap:5px}.of-card.stat span,.of-mini-grid span{font-size:12px;color:var(--muted)}.of-card.stat strong{font-size:28px}.of-card.stat small{color:var(--muted)}.of-card-head,.of-section-head,.of-row,.of-accordion-toggle,.of-attendance-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.of-section-head{margin:10px 0 18px}.of-section-head h2{font-size:30px;margin:4px 0}.of-section-head p{margin:0;color:var(--muted)}.of-timeline{display:grid}.of-timeline>div{display:grid;grid-template-columns:60px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.of-timeline span{font-weight:900;color:var(--orange)}.of-timeline small,.of-row small,.of-accordion-toggle small,.of-attendance-row small{color:var(--muted)}.of-row{padding:11px 0;border-bottom:1px solid var(--line)}.of-row>div{display:grid}.of-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.of-badge.ok{background:rgba(35,41,75,.10);color:#23294b}.of-badge.warn{background:rgba(248,162,50,.14);color:#23294b}.of-badge.muted{background:rgba(35,41,75,.10);color:#23294b}.of-search{margin-bottom:14px}.of-accordion{display:grid;gap:10px}.of-student-item{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.of-accordion-toggle{width:100%;border:0;background:#fff;padding:16px 18px;text-align:left;cursor:pointer}.of-accordion-toggle>div:first-child{display:grid}.of-student-summary{display:flex;align-items:center;gap:12px}.of-accordion-panel{display:none;padding:0 18px 18px}.of-student-item.open .of-accordion-panel{display:block}.of-student-item.open .of-accordion-toggle b{transform:rotate(180deg)}.of-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.of-mini-grid>div{background:rgba(35,41,75,.05);border-radius:13px;padding:12px;display:grid;gap:4px}.of-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.of-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.of-time-pill{background:rgba(248,162,50,.14);color:var(--orange);border-radius:999px;padding:7px 10px;font-weight:900}.of-attendance-row{padding:11px 0;border-bottom:1px solid var(--line)}.of-attendance-row>div:first-child{display:grid}.of-choice{display:flex;gap:7px}.of-choice button{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#fff;font-weight:900;cursor:pointer}.of-choice button:first-child.active{background:#23294b;color:#fff;border-color:#23294b}.of-choice button:last-child.active{background:#f8a232;color:#fff;border-color:#f8a232}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.of-pix{display:grid;gap:4px}.of-pix strong,.of-pix-value{font-size:30px;color:var(--orange)}.of-pix code,.of-pix-card code{display:block;background:rgba(35,41,75,.06);border-radius:12px;padding:12px;word-break:break-all;margin:10px 0}.of-alert{border-radius:16px;padding:16px 18px;margin:14px 0}.of-alert.warn{background:rgba(248,162,50,.14);border:1px solid #f8a232}.of-alert.error{background:rgba(248,162,50,.14);color:#23294b}.of-package-bar{height:12px;background:rgba(35,41,75,.10);border-radius:999px;overflow:hidden;margin-bottom:18px}.of-package-bar span{display:block;height:100%;background:var(--orange)}.of-note{margin-top:14px;padding:14px;border-radius:13px;background:rgba(248,162,50,.10)}.of-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.of-photo-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.of-photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.of-photo-card div{padding:14px}.of-notice-list{display:grid;gap:10px}.of-notice-list>div{padding:14px;border-radius:14px;background:rgba(35,41,75,.05)}.of-progress-ring{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--orange) calc(var(--progress)*1%),rgba(255,255,255,.14) 0);position:relative}.of-progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#f8a232}.of-progress-ring strong,.of-progress-ring small{position:relative;z-index:1}.of-progress-ring strong{font-size:34px}.of-progress-ring small{font-size:11px;max-width:70px}.of-modal{position:fixed;inset:0;background:rgba(35,41,75,.52);display:none;place-items:center;padding:20px;z-index:100}.of-modal.open{display:grid}.of-modal-card{width:min(480px,100%);background:#fff;border-radius:22px;padding:24px;position:relative}.of-modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px}.of-toast{position:fixed;right:24px;bottom:24px;max-width:380px;padding:14px 18px;border-radius:13px;color:#fff;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s;z-index:150}.of-toast.show{opacity:1;transform:none}.of-toast.ok{background:#23294b}.of-toast.error{background:#23294b}
@media(max-width:1100px){.of-grid.stats{grid-template-columns:repeat(2,1fr)}.of-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.of-app{display:block;padding-top:24px}.of-sidebar{transform:translateX(-105%);transition:.25s}.of-app.menu-open .of-sidebar{transform:none}.of-main{height:auto;min-height:100vh}.of-topbar{padding:18px 20px 12px;top:0}.of-menu-toggle{display:block}.of-content{padding:8px 18px 40px}.of-grid.two,.of-class-grid{grid-template-columns:1fr}.of-hero h2{font-size:28px}.of-hero-number{width:74px;height:74px}.of-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.of-login-card{padding:27px 22px}.of-login-card h1{font-size:36px}.of-grid.stats{grid-template-columns:1fr 1fr}.of-card.stat strong{font-size:23px}.of-hero{padding:22px;align-items:flex-start}.of-hero-number,.of-progress-ring{width:78px;height:78px}.of-progress-ring strong{font-size:24px}.of-section-head{align-items:flex-start}.of-section-head .of-btn{white-space:nowrap}.of-photo-grid,.grid-form{grid-template-columns:1fr}.span-2{grid-column:auto}.of-student-summary>span:first-child{display:none}.of-accordion-toggle{padding:14px}.of-mini-grid{grid-template-columns:1fr 1fr}.of-actions .of-btn{flex:1 1 45%}.of-topbar h1{font-size:22px}}

/* Mobile navigation and responsive hardening — v0.1.2 */
.of-sidebar-head{display:block}
.of-menu-close,.of-mobile-overlay{display:none}
.of-menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:var(--brown);margin:3px auto}
.of-card,.of-hero,.of-section,.of-section-head,.of-card-head,.of-row,.of-accordion-toggle,.of-attendance-row,.of-student-summary,.of-main,.of-content{min-width:0}
img,video,iframe,svg{max-width:100%;height:auto}

@media (max-width:820px){
  html:has(.of-app),body:has(.of-app){max-width:100%;overflow-x:hidden}
  .of-app{display:block;width:100%;max-width:100%;min-height:100vh;padding-top:0;overflow-x:hidden}
  .of-main{width:100%;max-width:100%;height:auto;min-height:100vh;overflow:visible}
  .of-topbar{position:sticky;top:0;width:100%;min-height:72px;padding:14px 16px;gap:11px;background:rgba(247,244,239,.97);border-bottom:1px solid rgba(232,224,218,.8)}
  .of-topbar>div{min-width:0;flex:1}
  .of-topbar h1{font-size:21px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .of-topbar .of-eyebrow{font-size:9px}
  .of-menu-toggle{display:grid;place-content:center;flex:0 0 42px;padding:0;cursor:pointer}
  .of-notify-btn{flex:0 0 42px}
  .of-content{width:100%;max-width:100%;padding:16px 14px 42px;overflow-x:hidden}

  .of-sidebar{display:flex;inset:0 auto 0 0;width:min(86vw,320px);max-width:320px;height:100dvh;padding:18px 14px;transform:translateX(-105%);transition:transform .28s ease;box-shadow:18px 0 50px rgba(26,14,11,.24);overflow-y:auto;overscroll-behavior:contain;visibility:hidden}
  .of-app.menu-open .of-sidebar{transform:translateX(0);visibility:visible}
  .of-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .of-sidebar .of-logo{min-width:0;flex:1;padding:2px 4px 18px}
  .of-sidebar .of-logo div{min-width:0}
  .of-menu-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:27px;line-height:1;cursor:pointer}
  .of-nav button{width:100%;min-height:44px;padding:12px 13px;font-size:14px}
  .of-mobile-overlay{display:block;position:fixed;inset:0;z-index:35;border:0;background:rgba(26,14,11,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
  .of-app.menu-open .of-mobile-overlay{opacity:1;visibility:visible;pointer-events:auto}
  body.of-menu-is-open{overflow:hidden!important;touch-action:none}

  .of-grid,.of-grid.stats,.of-grid.two,.of-class-grid,.of-photo-grid,.grid-form,.of-mini-grid{width:100%;max-width:100%;grid-template-columns:1fr}
  .span-2{grid-column:auto}
  .of-card{width:100%;max-width:100%;padding:16px;border-radius:17px;overflow:hidden}
  .of-grid{gap:12px}
  .of-grid.stats{gap:10px;margin-bottom:12px}
  .of-card.stat{grid-template-columns:1fr auto;align-items:center}
  .of-card.stat span,.of-card.stat small{grid-column:1}
  .of-card.stat strong{grid-column:2;grid-row:1/3;font-size:24px;text-align:right}
  .of-hero{width:100%;max-width:100%;padding:20px 17px;border-radius:19px;gap:14px;overflow:hidden}
  .of-hero>div:first-child{min-width:0;flex:1}
  .of-hero h2{font-size:26px;overflow-wrap:anywhere}
  .of-hero p{font-size:13px;line-height:1.45}
  .of-hero-number,.of-progress-ring{flex:0 0 72px;width:72px;height:72px;border-radius:18px;font-size:30px}
  .of-progress-ring strong{font-size:22px}
  .of-section-head,.of-card-head{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .of-section-head{margin:4px 0 14px}
  .of-section-head h2{font-size:25px;line-height:1.15}
  .of-section-head .of-btn,.of-card-head .of-btn{max-width:100%;white-space:normal}
  .of-row,.of-attendance-row,.of-accordion-toggle{gap:10px}
  .of-row>div,.of-attendance-row>div:first-child,.of-accordion-toggle>div{min-width:0}
  .of-row strong,.of-row small,.of-attendance-row strong,.of-attendance-row small,.of-accordion-toggle strong,.of-accordion-toggle small{overflow-wrap:anywhere}
  .of-timeline>div{grid-template-columns:52px minmax(0,1fr);gap:8px}
  .of-timeline>div>*:last-child{grid-column:2}
  .of-student-summary{min-width:0;flex:1}
  .of-accordion-toggle{padding:14px}
  .of-accordion-panel{padding:0 14px 14px}
  .of-choice{flex:0 0 auto;gap:5px}
  .of-choice button{width:36px;height:36px}
  .of-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .of-actions .of-btn{width:100%;min-width:0;padding:11px 9px;white-space:normal}
  .of-form{width:100%;max-width:100%}
  .of-form label{min-width:0}
  .of-form input,.of-form select,.of-form textarea,.of-search input{display:block;min-width:0;max-width:100%;font-size:16px}
  .of-pix strong,.of-pix-value{font-size:24px;overflow-wrap:anywhere}
  .of-pix code,.of-pix-card code{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
  .of-photo-card{min-width:0;width:100%}
  .of-modal{padding:12px;align-items:end}
  .of-modal-card{width:100%;max-width:100%;max-height:90dvh;overflow-y:auto;border-radius:20px 20px 14px 14px;padding:22px 16px 18px}
  .of-toast{left:14px;right:14px;bottom:14px;max-width:none;text-align:center}
}

@media (max-width:420px){
  .of-content{padding-left:12px;padding-right:12px}
  .of-topbar{padding-left:12px;padding-right:12px}
  .of-topbar h1{font-size:19px}
  .of-hero{align-items:flex-start}
  .of-hero-number,.of-progress-ring{flex-basis:64px;width:64px;height:64px}
  .of-actions{grid-template-columns:1fr}
  .of-attendance-row{align-items:flex-start}
  .of-choice{padding-top:2px}
}

@media (min-width:821px){
  .of-menu-toggle,.of-menu-close,.of-mobile-overlay{display:none!important}
  .of-sidebar{visibility:visible!important;transform:none!important}
}

/* Robust mobile navigation fallback — v0.1.3 */
.of-app.of-device-mobile .of-menu-toggle{display:grid!important;place-content:center}
.of-app.of-device-mobile .of-sidebar{transform:translateX(-105%);visibility:hidden}
.of-app.of-device-mobile.menu-open .of-sidebar{transform:translateX(0);visibility:visible}
.of-app.of-device-mobile .of-mobile-overlay{display:block}
.of-app.of-device-mobile.menu-open .of-mobile-overlay{opacity:1;visibility:visible;pointer-events:auto}
@media (min-width:821px){
  .of-app:not(.of-device-mobile) .of-menu-toggle{display:none!important}
}

/* v0.1.4 — 25px global breathing room and mobile menu hardening */
.of-app{padding-top:25px!important}
.of-sidebar{top:25px!important;height:calc(100vh - 25px)!important}
@media (max-width:900px){
  .of-app{display:block!important;width:100%!important;max-width:100%!important;padding-top:25px!important;overflow-x:hidden!important}
  .of-main{width:100%!important;max-width:100%!important;height:auto!important;min-height:calc(100vh - 25px)!important;margin:0!important;grid-column:auto!important;overflow:visible!important}
  .of-topbar{top:25px!important;z-index:900!important}
  #of-mobile-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:2px!important;flex:0 0 44px!important;width:44px!important;height:44px!important;padding:0!important;visibility:visible!important;opacity:1!important}
  #of-mobile-menu-toggle span{display:block!important;width:20px!important;height:2px!important;margin:0!important;background:var(--brown)!important;border-radius:3px!important}
  .of-sidebar{display:flex!important;position:fixed!important;top:25px!important;left:0!important;right:auto!important;bottom:auto!important;width:min(86vw,320px)!important;max-width:320px!important;height:calc(100dvh - 25px)!important;transform:translateX(-110%)!important;visibility:hidden!important;transition:transform .28s ease,visibility .28s ease!important;z-index:1001!important}
  .of-app.menu-open .of-sidebar{transform:translateX(0)!important;visibility:visible!important}
  .of-mobile-overlay{display:block!important;position:fixed!important;inset:25px 0 0 0!important;z-index:1000!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;background:rgba(26,14,11,.5)!important}
  .of-app.menu-open .of-mobile-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}
@media (min-width:901px){#of-mobile-menu-toggle{display:none!important}}


/* v0.1.5 — floating mobile menu trigger independent from theme/header */
.of-mobile-floating-menu{display:none!important}
@media (max-width:900px){
  .of-mobile-floating-menu{display:flex!important;position:fixed!important;top:calc(25px + env(safe-area-inset-top,0px))!important;left:16px!important;z-index:2147483000!important;width:48px!important;height:48px!important;padding:0!important;border:1px solid rgba(35,41,75,.16)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 10px 30px rgba(35,41,75,.18)!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:4px!important;visibility:visible!important;opacity:1!important}
  .of-mobile-floating-menu span{display:block!important;width:22px!important;height:2px!important;margin:0!important;border-radius:3px!important;background:#23294b!important}
  .of-app.menu-open .of-mobile-floating-menu{opacity:0!important;pointer-events:none!important}
  .of-content{padding-top:78px!important}
  .of-sidebar{z-index:2147483002!important}
  .of-mobile-overlay{z-index:2147483001!important}
}
@media (min-width:901px){.of-mobile-floating-menu{display:none!important}}

/* v0.1.6 — menu mobile em fluxo, sem sobrepor título */
.of-mobile-toolbar{display:none}
@media (max-width:900px){
  .of-mobile-toolbar{display:flex!important;width:100%!important;justify-content:flex-end!important;padding:12px 24px 16px!important;box-sizing:border-box!important}
  .of-mobile-floating-menu{display:inline-flex!important;position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:auto!important;min-width:112px!important;height:46px!important;padding:0 15px!important;flex-direction:row!important;gap:4px!important}
  .of-mobile-floating-menu strong{display:block!important;margin-left:8px!important;font-size:14px!important}
  .of-sidebar{pointer-events:none!important}
  .of-app.menu-open .of-sidebar{pointer-events:auto!important}
}
@media (min-width:901px){.of-mobile-toolbar{display:none!important}}

/* v0.1.7 — cadastros, fotos e correções de data no mobile */
.of-stat-link{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}
.of-stat-link:hover{border-color:rgba(248,162,50,.45);transform:translateY(-1px)}
.of-photo-filter{display:flex;justify-content:flex-end;margin:0 0 14px}
.of-photo-filter label{width:min(280px,100%)}
.of-photo-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.of-download-photo{white-space:nowrap;text-decoration:none}
.of-form label{min-width:0;max-width:100%;overflow:hidden}
.of-form input[type="date"]{display:block;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:none;font-size:16px!important}
@media(max-width:900px){
  .of-form input[type="date"]{inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important}
  .of-photo-meta{align-items:stretch;flex-direction:column}
  .of-download-photo{width:100%;text-align:center}
  .of-stat-link{min-height:112px}
}


/* v0.1.8 — cards discretamente clicáveis, galeria da gestora e ícone de halter */
.of-stat-navigation{cursor:pointer}
.of-stat-navigation:hover,.of-stat-navigation:focus-visible{transform:none;border-color:var(--line);box-shadow:0 10px 30px rgba(35,41,75,.06)}
.of-stat-navigation:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.of-mobile-floating-menu .of-menu-dumbbell{display:block;width:25px;height:18px;flex:0 0 25px;fill:currentColor}
.of-photo-upload-card{margin-bottom:22px}
.of-gallery-heading{margin-top:8px}
.of-photo-accordion{display:grid;gap:10px}
.of-photo-group{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}
.of-photo-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.of-photo-group-toggle div{display:grid;gap:3px;min-width:0}
.of-photo-group-toggle strong{font-size:15px}
.of-photo-group-toggle small{color:var(--muted)}
.of-photo-group-toggle>span{font-size:22px;transition:transform .2s ease;color:var(--brown)}
.of-photo-group.open .of-photo-group-toggle>span{transform:rotate(180deg)}
.of-photo-group-panel{display:none;padding:0 18px 18px}
.of-photo-group.open .of-photo-group-panel{display:block}
.of-manager-photo-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,240px);gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 10px;scrollbar-width:thin}
.of-manager-photo-item{margin:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--cream)}
.of-manager-photo-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.of-manager-photo-item figcaption{padding:9px 11px;color:var(--muted);font-size:12px;font-weight:600}
.of-empty-gallery{margin:0;padding:4px 0;color:var(--muted)}
@media(max-width:900px){
  .of-mobile-floating-menu{min-width:102px!important;height:42px!important;padding:0 13px!important;border-radius:13px!important}
  .of-mobile-floating-menu strong{font-size:13px!important;margin-left:6px!important}
  .of-mobile-floating-menu .of-menu-dumbbell{width:23px;height:16px;flex-basis:23px}
  .of-manager-photo-carousel{grid-auto-columns:minmax(165px,78vw)}
  .of-photo-group-toggle{padding:15px}
  .of-photo-group-panel{padding:0 15px 15px}
}

.of-card.stat.of-stat-navigation{font:inherit;color:inherit;text-align:left;width:100%}


/* v0.1.9 — restauração definitiva da navegação desktop */
@media (min-width:901px){
  .of-app{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;overflow:visible!important}
  .of-sidebar{display:flex!important;position:fixed!important;left:0!important;right:auto!important;top:25px!important;width:250px!important;height:calc(100vh - 25px)!important;transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:40!important}
  .of-main{grid-column:2!important;width:auto!important;max-width:none!important;margin:0!important}
  .of-mobile-toolbar,.of-mobile-floating-menu,.of-mobile-overlay,.of-menu-close,#of-mobile-menu-toggle{display:none!important}
}

/* Orbis Fit 1.0 — consolidação da navegação e acabamento final */
:root{--ink:var(--text);--cream:var(--bg)}
.of-btn:disabled{opacity:.65;cursor:wait;transform:none!important}
.of-stat-navigation{-webkit-appearance:none;appearance:none;background:var(--card)}
.of-stat-navigation:hover{transform:none!important;border-color:var(--line)!important;box-shadow:0 10px 30px rgba(35,41,75,.06)!important}

@media (min-width:901px){
  .of-app{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;min-height:100vh!important;padding-top:25px!important;overflow:visible!important}
  .of-sidebar{display:flex!important;position:fixed!important;inset:25px auto auto 0!important;width:250px!important;height:calc(100vh - 25px)!important;transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:40!important}
  .of-main{display:block!important;grid-column:2!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
  .of-mobile-toolbar,.of-mobile-floating-menu,.of-mobile-overlay,.of-menu-close,#of-mobile-menu-toggle{display:none!important}
}

@media (max-width:900px){
  body.of-menu-is-open{overflow:hidden!important}
  .of-app{display:block!important;width:100%!important;max-width:100%!important;min-height:100vh!important;padding-top:25px!important;overflow-x:hidden!important}
  .of-main{display:block!important;width:100%!important;max-width:100%!important;min-height:calc(100vh - 25px)!important;margin:0!important}
  .of-mobile-toolbar{display:flex!important;position:relative!important;justify-content:flex-end!important;width:100%!important;padding:12px 24px 16px!important;z-index:80!important}
  .of-mobile-floating-menu{display:inline-flex!important;position:relative!important;inset:auto!important;min-width:102px!important;height:42px!important;padding:0 13px!important;align-items:center!important;justify-content:center!important;gap:6px!important;border:1px solid rgba(35,41,75,.16)!important;border-radius:13px!important;background:#fff!important;color:var(--brown)!important;box-shadow:0 8px 22px rgba(35,41,75,.12)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .of-sidebar{display:flex!important;position:fixed!important;inset:25px auto auto 0!important;width:min(86vw,320px)!important;max-width:320px!important;height:calc(100dvh - 25px)!important;transform:translateX(-110%)!important;visibility:hidden!important;pointer-events:none!important;transition:transform .28s ease,visibility .28s ease!important;z-index:1002!important}
  .of-app.menu-open .of-sidebar{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .of-mobile-overlay{display:block!important;position:fixed!important;inset:25px 0 0!important;background:rgba(26,14,11,.5)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .28s ease,visibility .28s ease!important;z-index:1001!important}
  .of-app.menu-open .of-mobile-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  #of-mobile-menu-toggle{display:none!important}
  .of-content{padding-top:8px!important}
}

/* Orbis Fit 1.1 — login, perfil do aluno e comparativo de medidas */
html:has(.of-login-wrap),body:has(.of-login-wrap){height:100%;min-height:100%;overflow:hidden!important}
body:has(.of-login-wrap){position:fixed;inset:0;width:100%}
.of-login-wrap{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;padding:clamp(14px,3vw,28px);background:radial-gradient(circle at 50% 0,rgba(248,162,50,.18),transparent 32%),linear-gradient(145deg,#23294b,#23294b);place-items:center}
.of-login-card{width:min(420px,100%);max-height:calc(100dvh - 28px);overflow:hidden;border-radius:26px;padding:clamp(24px,5vh,38px);display:grid;gap:20px}
.of-login-brand{text-align:center;display:grid;gap:5px}
.of-login-presenter{margin:0;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.of-login-card h1{margin:0;font-family:"Arial Narrow",Impact,Haettenschweiler,sans-serif;font-size:clamp(29px,5vw,38px);font-stretch:condensed;font-style:italic;letter-spacing:-.025em;text-transform:uppercase;color:var(--brown)}
.of-login-brand>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.of-login-form{gap:13px}
.of-login-form .of-btn{margin-top:2px}
.of-remember{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;font-weight:600!important;color:var(--muted);cursor:pointer}
.of-remember input{width:17px!important;height:17px;flex:0 0 17px;margin:0;accent-color:var(--orange)}
.of-mobile-brand{display:none}
.of-student-overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}
.of-student-identity{display:flex;align-items:center;gap:17px}
.of-student-photo-wrap{width:82px;height:82px;flex:0 0 82px;border-radius:23px;overflow:hidden;background:linear-gradient(135deg,var(--orange),#f8a232);display:grid;place-items:center;color:#fff;font-size:30px;font-weight:900;box-shadow:0 10px 24px rgba(248,162,50,.18)}
.of-student-photo-wrap img{width:100%;height:100%;object-fit:cover}
.of-student-photo-wrap.large{width:112px;height:112px;flex-basis:112px;border-radius:28px}
.of-profile-editor{display:flex;align-items:center;gap:20px;padding-bottom:4px}
.of-profile-editor label{flex:1}
.of-profile-editor label small{font-weight:500;color:var(--muted);line-height:1.4}
.of-measure-highlight{margin-bottom:16px}
.of-current-measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.of-current-measure{background:rgba(35,41,75,.05);border-radius:15px;padding:14px;display:grid;gap:5px;min-width:0}
.of-current-measure>span{font-size:12px;color:var(--muted)}
.of-current-measure strong{font-size:25px;line-height:1;color:var(--brown)}
.of-current-measure strong small{font-size:11px;color:var(--muted)}
.of-current-measure em{font-size:11px;font-style:normal;font-weight:900}
.of-current-measure em.up{color:#23294b}.of-current-measure em.down{color:#23294b}.of-current-measure em.same{color:var(--muted)}
.of-measure-caption{margin-top:10px;color:var(--muted);font-size:11px;text-align:right}

@media(max-width:900px){
  .of-mobile-toolbar{display:none!important}
  .of-content{padding-top:16px!important}
  .of-topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand notify" "section section";row-gap:8px;padding:12px 16px!important}
  .of-mobile-brand{grid-area:brand;display:flex;align-items:center;gap:10px;min-width:0}
  .of-mobile-brand strong{font-family:"Arial Narrow",Impact,Haettenschweiler,sans-serif;font-style:italic;text-transform:uppercase;font-size:20px;letter-spacing:-.02em;white-space:nowrap}
  .of-mobile-brand .of-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:3px!important;width:40px!important;height:40px!important;flex:0 0 40px!important}
  .of-current-section{grid-area:section;display:flex!important;align-items:center;gap:7px;min-width:0}
  .of-current-section .of-eyebrow{margin:0!important}
  .of-current-section h1{font-size:17px!important;margin:0!important}
  .of-notify-btn{grid-area:notify}
  .of-student-overview-grid{grid-template-columns:1fr}
  .of-current-measures{grid-template-columns:repeat(2,minmax(0,1fr))}
  .of-profile-editor{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .of-login-wrap{padding:12px}
  .of-login-card{max-height:calc(100dvh - 24px);padding:24px 20px;gap:17px;border-radius:22px}
  .of-login-card h1{font-size:29px}
  .of-login-brand>p:last-child{font-size:12px}
  .of-login-form{gap:11px}
  .of-login-form input{padding:11px 12px}
  .of-student-identity{align-items:flex-start}
  .of-student-photo-wrap{width:70px;height:70px;flex-basis:70px;border-radius:19px}
  .of-current-measure strong{font-size:22px}
}
@media(max-height:620px){
  .of-login-card{padding-top:18px;padding-bottom:18px;gap:12px}
  .of-login-brand>p:last-child{display:none}
  .of-login-card h1{font-size:27px}
  .of-login-form{gap:9px}
  .of-login-form label{gap:4px}
  .of-login-form input{padding:9px 11px}
}

/* Orbis Fit 1.2 — correções mobile, login compacto e medidas */
html:has(.of-login-wrap),body:has(.of-login-wrap){width:100%;height:100%;max-width:100%;max-height:100%;margin:0!important;overflow:hidden!important;overscroll-behavior:none}
body:has(.of-login-wrap){position:fixed!important;inset:0!important;background:#23294b!important}
body:has(.of-login-wrap) #wpadminbar,body:has(.of-login-wrap) header,body:has(.of-login-wrap) footer{display:none!important}
.of-login-wrap{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;padding:20px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#23294b!important}
.of-login-card{width:min(360px,calc(100vw - 40px))!important;max-height:calc(100dvh - 40px)!important;padding:0!important;margin:0!important;overflow:hidden!important;display:grid!important;gap:14px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.of-login-brand{display:none!important}
.of-login-form{width:100%;gap:12px!important}
.of-login-form label:not(.of-remember){color:#fff!important;text-align:left!important}
.of-login-form input{width:100%;box-sizing:border-box;background:#fff!important;border-color:rgba(255,255,255,.22)!important}
.of-login-form .of-remember{justify-content:center!important;color:#fff!important;text-align:center!important}
.of-login-form .of-remember input{width:18px!important;height:18px!important;flex:0 0 18px!important}
.of-login-form .of-btn{width:100%;min-height:46px}
.of-login-card .of-alert{margin:0}
.of-measure-history-action{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}

@media (max-width:900px){
  .of-topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand notify" "section section"!important;align-items:center!important;gap:8px 12px!important}
  .of-mobile-brand{grid-area:brand!important;display:flex!important;align-items:center!important;gap:10px!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:5!important}
  #of-mobile-menu-toggle.of-menu-toggle{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important;transform:none!important}
  .of-current-section{grid-area:section!important}
  .of-notify-btn{grid-area:notify!important}
  .of-sidebar{display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:min(82vw,320px)!important;height:100dvh!important;z-index:1002!important;transform:translateX(-110%)!important;visibility:hidden!important;pointer-events:none!important;transition:transform .26s ease,visibility .26s ease!important}
  .of-app.menu-open .of-sidebar{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .of-mobile-overlay{display:block!important;position:fixed!important;inset:0!important;z-index:1001!important}
}
@media (max-height:700px){
  .of-login-wrap{padding:12px!important}
  .of-login-card{width:min(340px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;gap:9px!important}
  .of-login-form{gap:8px!important}
  .of-login-form input{padding:9px 11px!important}
  .of-login-form .of-btn{min-height:42px!important}
}

/* Orbis Fit 1.2.1 — cabeçalho mobile definitivo */
@media (max-width:1024px){
  .of-app .of-topbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand notify" "section section"!important;
    padding:10px 14px 11px!important;
    gap:6px 10px!important;
    overflow:visible!important;
  }
  .of-app .of-mobile-brand{
    grid-area:brand!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:2147483000!important;
  }
  .of-app #of-mobile-menu-toggle.of-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex:0 0 38px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(35,41,75,.14)!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#23294b!important;
    box-shadow:0 5px 16px rgba(35,41,75,.09)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:2147483001!important;
    cursor:pointer!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .of-app #of-mobile-menu-toggle svg{
    display:block!important;
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
  }
  .of-app .of-mobile-brand strong{
    display:block!important;
    max-width:calc(100vw - 132px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:800!important;
    font-style:italic!important;
    font-stretch:condensed!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    color:#23294b!important;
  }
  .of-app .of-notify-btn{grid-area:notify!important;width:38px!important;height:38px!important}
  .of-app .of-current-section{grid-area:section!important}
}

/* Fallback para celulares detectados pelo WordPress/JavaScript, mesmo quando o tema altera o viewport. */
.of-app.of-device-mobile .of-mobile-brand{display:flex!important;visibility:visible!important;opacity:1!important}
.of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}


/* Orbis Fit 1.2.2 — cabeçalho mobile com haltere e ação de medidas centralizada */
.of-measure-history-action{
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
}
.of-measure-history-action .of-btn{
  margin-inline:auto!important;
  text-align:center!important;
}

@media (max-width:1024px){
  .of-app .of-topbar,
  .of-app.of-device-mobile .of-topbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"brand"!important;
    min-height:58px!important;
    padding:9px 16px!important;
    background:#23294b!important;
    border-bottom:0!important;
    box-shadow:0 5px 20px rgba(41,24,20,.16)!important;
    overflow:visible!important;
    position:sticky!important;
    top:0!important;
    z-index:990!important;
  }
  .of-app .of-mobile-brand,
  .of-app.of-device-mobile .of-mobile-brand{
    grid-area:brand!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:2147483000!important;
  }
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:5px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    z-index:2147483001!important;
    cursor:pointer!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell,
  .of-app.of-device-mobile #of-mobile-menu-toggle .of-header-dumbbell{
    display:block!important;
    width:31px!important;
    height:22px!important;
    overflow:visible!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:3.5!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .of-app .of-mobile-brand>strong,
  .of-app.of-device-mobile .of-mobile-brand>strong{
    display:block!important;
    max-width:none!important;
    margin:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:750!important;
    font-style:normal!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    color:#fff!important;
  }
  .of-app .of-mobile-brand>strong small,
  .of-app.of-device-mobile .of-mobile-brand>strong small{
    font-size:8px!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    vertical-align:2px!important;
    opacity:.82!important;
  }
  .of-app .of-current-section,
  .of-app .of-notify-btn,
  .of-app.of-device-mobile .of-current-section,
  .of-app.of-device-mobile .of-notify-btn{
    display:none!important;
  }
  .of-app .of-sidebar,
  .of-app.of-device-mobile .of-sidebar{
    top:0!important;
    height:100dvh!important;
  }
}

@media (max-width:380px){
  .of-app .of-topbar,.of-app.of-device-mobile .of-topbar{padding-inline:11px!important}
  .of-app .of-mobile-brand,.of-app.of-device-mobile .of-mobile-brand{gap:8px!important}
  .of-app .of-mobile-brand>strong,.of-app.of-device-mobile .of-mobile-brand>strong{font-size:13px!important}
}

/* Orbis Fit 1.2.4 — nova identidade da tela de login */
html:has(.of-login-wrap),body:has(.of-login-wrap){width:100%;height:100%;min-width:100%;min-height:100%;margin:0!important;overflow:hidden!important;overscroll-behavior:none;background:#23294b!important}
body:has(.of-login-wrap){position:fixed!important;inset:0!important}
body:has(.of-login-wrap) #wpadminbar,body:has(.of-login-wrap) header,body:has(.of-login-wrap) footer{display:none!important}
.of-login-wrap{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;padding:clamp(10px,2.2vh,22px)!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#23294b!important}
.of-login-card{width:min(520px,calc(100vw - 24px))!important;max-height:calc(100dvh - 20px)!important;margin:0!important;padding:clamp(22px,4vh,38px) clamp(20px,4vw,40px)!important;overflow:hidden!important;display:grid!important;gap:clamp(12px,2vh,20px)!important;background:#fff!important;border:0!important;border-radius:clamp(20px,4vw,30px)!important;box-shadow:0 22px 60px rgba(20,8,5,.28)!important}
.of-login-brand{display:grid!important;justify-items:center!important;gap:clamp(8px,1.5vh,14px)!important;text-align:center!important}
.of-login-brand img{display:block;width:min(330px,78vw)!important;max-width:100%!important;height:auto!important;margin:0 auto!important;object-fit:contain!important}
.of-login-brand p{max-width:370px;margin:0!important;color:#23294b!important;font-size:clamp(13px,1.9vw,17px)!important;line-height:1.42!important;font-weight:500!important;text-align:center!important}
.of-login-form{display:grid!important;gap:clamp(10px,1.55vh,15px)!important;width:100%!important}
.of-login-form label:not(.of-remember){display:grid!important;gap:6px!important;color:#23294b!important;font-size:14px!important;font-weight:750!important;text-align:left!important}
.of-login-form input[type="text"],.of-login-form input[type="password"],.of-login-form input[name="login"]{width:100%!important;min-height:48px!important;padding:12px 14px!important;border:1px solid rgba(35,41,75,.14)!important;border-radius:13px!important;background:#fff!important;color:#23294b!important;-webkit-text-fill-color:#23294b!important;caret-color:#23294b!important;font-family:inherit!important;font-size:16px!important;line-height:1.25!important;box-shadow:none!important}
.of-login-form input::placeholder{color:#23294b!important;-webkit-text-fill-color:#23294b!important;opacity:1!important}
.of-login-form input:focus{outline:3px solid rgba(35,41,75,.12)!important;border-color:#23294b!important}
.of-login-form input:-webkit-autofill,.of-login-form input:-webkit-autofill:hover,.of-login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#23294b!important;caret-color:#23294b!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-out 0s}
.of-login-form .of-remember{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;color:#23294b!important;font-size:13px!important;font-weight:550!important;text-align:left!important;cursor:pointer!important}
.of-login-form .of-remember input{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#23294b!important}
.of-login-form .of-btn.primary{width:100%!important;min-height:48px!important;margin:0!important;border-radius:13px!important;background:#23294b!important;color:#fff!important;font-size:14px!important;font-weight:850!important;letter-spacing:.055em!important;text-transform:uppercase!important;box-shadow:none!important}
.of-login-form .of-btn.primary:hover,.of-login-form .of-btn.primary:focus-visible{background:#23294b!important;transform:none!important}
.of-forgot-password{display:block!important;margin:0 auto!important;color:#23294b!important;font-size:13px!important;font-weight:600!important;text-align:center!important;text-decoration:underline!important;text-underline-offset:3px!important}
.of-login-card .of-alert{margin:0!important;padding:10px 12px!important;font-size:12px!important}
@media(max-height:720px){
  .of-login-wrap{padding:8px!important}
  .of-login-card{max-height:calc(100dvh - 16px)!important;padding:16px 18px!important;gap:9px!important;border-radius:20px!important}
  .of-login-brand{gap:6px!important}
  .of-login-brand img{width:min(255px,70vw)!important}
  .of-login-brand p{font-size:12px!important;line-height:1.3!important}
  .of-login-form{gap:8px!important}
  .of-login-form label:not(.of-remember){gap:3px!important;font-size:12px!important}
  .of-login-form input[type="text"],.of-login-form input[type="password"],.of-login-form input[name="login"]{min-height:40px!important;padding:8px 11px!important}
  .of-login-form .of-btn.primary{min-height:41px!important}
  .of-forgot-password{font-size:12px!important}
}
@media(max-width:390px){
  .of-login-card{width:calc(100vw - 20px)!important;padding-inline:18px!important}
  .of-login-brand img{width:min(275px,76vw)!important}
}

/* Orbis Fit 1.3.1 — marca oficial no topo do menu */
.of-sidebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:0 0 18px;
}
.of-sidebar-brand{
  appearance:none;
  border:0;
  background:transparent;
  padding:4px 8px;
  margin:0;
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  cursor:pointer;
}
.of-sidebar-brand img{
  display:block;
  width:min(176px,100%);
  max-height:44px;
  object-fit:contain;
  object-position:left center;
}
.of-sidebar-brand:focus-visible{
  outline:2px solid rgba(255,255,255,.82);
  outline-offset:4px;
  border-radius:10px;
}
.of-sidebar .of-logo{display:none!important}

@media (max-width:820px){
  .of-sidebar-head{align-items:center;margin-bottom:14px}
  .of-sidebar-brand{padding:3px 4px}
  .of-sidebar-brand img{width:min(150px,100%);max-height:38px}
}

@media (max-width:420px){
  .of-sidebar-brand img{width:min(138px,100%);max-height:35px}
}


/* Orbis Fit 1.3.2 — refinamento de interações e cabeçalho mobile */
.of-app button,
.of-app a,
.of-app [role="button"]{
  -webkit-tap-highlight-color:transparent;
}
.of-app button:hover,
.of-app button:active,
.of-app a:hover,
.of-app a:active,
.of-app [role="button"]:hover,
.of-app [role="button"]:active{
  transform:none!important;
  translate:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  box-shadow:none!important;
}
.of-sidebar-brand:hover,
.of-sidebar-brand:active,
.of-topbar-logo:hover,
.of-topbar-logo:active,
.of-instagram-link:hover,
.of-instagram-link:active,
.of-menu-toggle:hover,
.of-menu-toggle:active{
  background:transparent!important;
  border-color:transparent!important;
  opacity:1!important;
}
.of-sidebar-brand:focus-visible,
.of-topbar-logo:focus-visible,
.of-instagram-link:focus-visible,
.of-menu-toggle:focus-visible{
  outline:2px solid rgba(255,255,255,.82)!important;
  outline-offset:3px!important;
  border-radius:6px!important;
}

/* Botão do histórico com a mesma linguagem do link Editar perfil. */
.of-measure-history-action .of-btn{
  appearance:none!important;
  width:auto!important;
  min-width:0!important;
  padding:5px 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--orange)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.of-measure-history-action .of-btn:hover,
.of-measure-history-action .of-btn:active{
  background:transparent!important;
  color:var(--orange)!important;
  text-decoration:none!important;
}

/* Destaque inicial do aluno em laranja. */
.of-hero.student{
  background:linear-gradient(135deg,#f8a232,#f8a232)!important;
}

.of-mobile-header-actions{display:none}

@media (max-width:1024px){
  .of-app .of-topbar,
  .of-app.of-device-mobile .of-topbar{
    grid-template-columns:1fr!important;
    grid-template-areas:"mobile-actions"!important;
    min-height:62px!important;
    padding:8px 14px!important;
  }
  .of-mobile-header-actions{
    grid-area:mobile-actions!important;
    display:grid!important;
    grid-template-columns:minmax(82px,1fr) auto minmax(44px,1fr)!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    gap:10px!important;
  }
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:auto!important;
    min-width:0!important;
    height:42px!important;
    padding:0!important;
    color:#fff!important;
    border:0!important;
    background:transparent!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell{
    width:29px!important;
    height:20px!important;
    flex:0 0 auto!important;
  }
  .of-app #of-mobile-menu-toggle span{
    display:inline-block!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
  }
  .of-topbar-logo{
    appearance:none!important;
    border:0!important;
    background:transparent!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    cursor:pointer!important;
  }
  .of-topbar-logo img{
    display:block!important;
    width:min(126px,34vw)!important;
    max-height:31px!important;
    object-fit:contain!important;
  }
  .of-instagram-link{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    text-decoration:none!important;
  }
  .of-instagram-link svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .of-instagram-link .of-instagram-dot{fill:currentColor!important;stroke:none!important}
  .of-mobile-brand{display:none!important}
}

@media (max-width:380px){
  .of-mobile-header-actions{grid-template-columns:minmax(76px,1fr) auto minmax(38px,1fr)!important;gap:6px!important}
  .of-app #of-mobile-menu-toggle.of-menu-toggle{gap:5px!important}
  .of-app #of-mobile-menu-toggle .of-header-dumbbell{width:26px!important}
  .of-app #of-mobile-menu-toggle span{font-size:11px!important}
  .of-topbar-logo img{width:min(112px,32vw)!important;max-height:28px!important}
  .of-instagram-link{width:34px!important;height:34px!important}
  .of-instagram-link svg{width:21px!important;height:21px!important}
}


/* Orbis Fit 1.3.3 — logout confiável, menu mobile vertical e progresso circular */
.of-logout{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:44px!important;
  margin-top:auto!important;
  padding:12px 13px!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.of-logout:hover,.of-logout:active,.of-logout:visited{
  color:#fff!important;
  background:transparent!important;
  opacity:1!important;
  transform:none!important;
  box-shadow:none!important;
}

/* O progresso usa branco para a parte já realizada e transparência para o restante. */
.of-hero.student{
  background:linear-gradient(135deg,#f8a232,#f8a232)!important;
}
.of-hero.student .of-progress-ring{
  --ring-track:rgba(255,255,255,.24);
  width:124px!important;
  height:124px!important;
  flex:0 0 124px!important;
  border-radius:50%!important;
  background:conic-gradient(#fff calc(var(--progress)*1%),var(--ring-track) 0)!important;
  box-shadow:none!important;
  color:#fff!important;
}
.of-hero.student .of-progress-ring:before{
  inset:8px!important;
  background:#f8a232!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.of-hero.student .of-progress-ring strong{
  display:block!important;
  align-self:end!important;
  margin-bottom:0!important;
  color:#fff!important;
  font-size:35px!important;
  line-height:.92!important;
  font-weight:900!important;
}
.of-hero.student .of-progress-ring small{
  display:block!important;
  align-self:start!important;
  max-width:76px!important;
  margin-top:5px!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.12!important;
  font-weight:700!important;
}
.of-hero.student .of-progress-ring{
  grid-template-rows:1fr 1fr!important;
  padding:26px 15px 23px!important;
}

@media (max-width:1024px){
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:2px!important;
    width:58px!important;
    min-width:58px!important;
    height:50px!important;
    padding:2px 0!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell,
  .of-app.of-device-mobile #of-mobile-menu-toggle .of-header-dumbbell{
    width:23px!important;
    height:13px!important;
    flex:0 0 13px!important;
  }
  .of-app #of-mobile-menu-toggle span,
  .of-app.of-device-mobile #of-mobile-menu-toggle span{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.055em!important;
  }
}

@media (max-width:560px){
  .of-hero.student .of-progress-ring{
    width:96px!important;
    height:96px!important;
    flex-basis:96px!important;
    padding:19px 10px 17px!important;
  }
  .of-hero.student .of-progress-ring:before{inset:7px!important}
  .of-hero.student .of-progress-ring strong{font-size:28px!important}
  .of-hero.student .of-progress-ring small{font-size:10px!important;max-width:62px!important;margin-top:3px!important}
}

@media (max-width:380px){
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    width:52px!important;
    min-width:52px!important;
    height:46px!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell{width:21px!important;height:12px!important}
  .of-app #of-mobile-menu-toggle span{font-size:13px!important}
}

/* Orbis Fit 1.3.4 — navegação estável, cabeçalho limpo, fotos e rodapé */
.of-app .of-sidebar-brand,
.of-app .of-sidebar-brand:hover,
.of-app .of-sidebar-brand:focus,
.of-app .of-sidebar-brand:focus-visible,
.of-app .of-menu-close,
.of-app .of-menu-close:hover,
.of-app .of-menu-close:focus,
.of-app .of-menu-close:focus-visible,
.of-app .of-topbar-logo,
.of-app .of-topbar-logo:hover,
.of-app .of-topbar-logo:focus,
.of-app .of-topbar-logo:focus-visible,
.of-app .of-instagram-link,
.of-app .of-instagram-link:hover,
.of-app .of-instagram-link:focus,
.of-app .of-instagram-link:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  margin:0!important;
  transform:none!important;
  background:transparent!important;
  text-decoration:none!important;
}
.of-app .of-sidebar-brand img,
.of-app .of-topbar-logo img{border:0!important;outline:0!important;box-shadow:none!important;margin:0!important}
.of-app .of-menu-close{color:#fff!important;background:transparent!important}

.of-app .of-logout,
.of-app .of-logout:link,
.of-app .of-logout:visited,
.of-app .of-logout:hover,
.of-app .of-logout:active,
.of-app .of-logout:focus,
.of-app .of-logout:focus-visible{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:8px 0 0!important;
  padding:11px 12px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#fff!important;
  opacity:.78!important;
  transform:none!important;
  translate:none!important;
  transition:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  z-index:20!important;
}
.of-app .of-logout:hover,.of-app .of-logout:focus{opacity:1!important}

.of-manager-photo-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px}
.of-photo-actions{display:flex;align-items:center;gap:9px}
.of-photo-action{appearance:none;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;font:inherit;font-size:12px;font-weight:800;text-decoration:none!important;cursor:pointer;transform:none!important}
.of-photo-download{color:var(--brown)!important}
.of-delete-photo{color:#23294b!important}
.of-photo-action:hover,.of-photo-action:focus{transform:none!important;text-decoration:none!important}

.of-app-footer{margin-top:auto;background:var(--brown);color:rgba(255,255,255,.72);text-align:center;padding:13px 18px;font-size:11px;line-height:1.4;letter-spacing:.01em}
.of-app-footer a,.of-app-footer a:visited,.of-app-footer a:hover,.of-app-footer a:focus{color:#fff!important;font-style:italic;text-decoration:none!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;transform:none!important}
.of-main{display:flex!important;flex-direction:column!important;min-height:100vh!important}
.of-content{flex:1 0 auto}

@media (max-width:900px){
  .of-mobile-header-actions{grid-template-columns:72px minmax(0,1fr) 72px!important;align-items:center!important}
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:center!important;
    gap:4px!important;
    width:56px!important;
    min-width:56px!important;
    height:50px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    transform:none!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell{display:block!important;width:23px!important;height:13px!important;flex:0 0 13px!important;margin:0 auto!important}
  .of-app #of-mobile-menu-toggle span{display:block!important;margin:0!important;font-size:14px!important;line-height:1!important;text-align:center!important}
  .of-app-footer{padding-bottom:calc(13px + env(safe-area-inset-bottom,0px))}
}

/* v1.3.5 — perfil real e visão geral do aluno */
.of-avatar{overflow:hidden}
.of-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.of-student-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
.of-student-stats .of-card.stat{min-height:104px}
@media(max-width:560px){.of-student-stats{grid-template-columns:1fr 1fr!important}.of-student-stats .of-card.stat{min-height:96px}}


/* Orbis Fit 1.3.6 — cards mobile, semântica das medidas e alinhamento do menu */
.of-current-measure em.good{color:#23294b!important}
.of-current-measure em.bad{color:#f8a232!important}
.of-current-measure em.same{color:var(--muted)!important}

@media (max-width:560px){
  .of-student-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .of-student-stats .of-card.stat{
    min-height:116px!important;
    padding:16px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
  }
  .of-student-stats .of-card.stat span{
    display:block!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:700!important;
  }
  .of-student-stats .of-card.stat strong{
    display:block!important;
    margin:0!important;
    font-size:28px!important;
    line-height:1!important;
    color:var(--brown)!important;
  }
  .of-student-stats .of-card.stat small{
    display:block!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.25!important;
    text-align:center!important;
  }
}

@media (max-width:900px){
  .of-mobile-header-actions{
    align-items:center!important;
  }
  .of-app #of-mobile-menu-toggle.of-menu-toggle,
  .of-app.of-device-mobile #of-mobile-menu-toggle.of-menu-toggle{
    display:grid!important;
    grid-template-rows:auto auto!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    gap:2px!important;
    width:58px!important;
    min-width:58px!important;
    height:48px!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
  }
  .of-app #of-mobile-menu-toggle .of-header-dumbbell,
  .of-app.of-device-mobile #of-mobile-menu-toggle .of-header-dumbbell{
    display:block!important;
    width:22px!important;
    height:12px!important;
    margin:0 auto!important;
    flex:none!important;
  }
  .of-app #of-mobile-menu-toggle span,
  .of-app.of-device-mobile #of-mobile-menu-toggle span{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-align:center!important;
  }
  .of-topbar-logo,
  .of-instagram-link{
    align-self:center!important;
  }
}

/* Orbis Fit 1.3.7 — cabeçalho marrom fixo durante a navegação */
@media (max-width:1024px){
  .of-app .of-topbar,
  .of-app.of-device-mobile .of-topbar{
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:0!important;
    width:100%!important;
    z-index:1100!important;
    min-height:calc(62px + env(safe-area-inset-top,0px))!important;
    padding-top:calc(8px + env(safe-area-inset-top,0px))!important;
    background:var(--brown)!important;
    box-shadow:0 5px 18px rgba(35,41,75,.16)!important;
    transform:translateZ(0)!important;
    -webkit-transform:translateZ(0)!important;
  }
  .of-app .of-main,
  .of-app.of-device-mobile .of-main{
    padding-top:calc(62px + env(safe-area-inset-top,0px))!important;
  }
  .of-app .of-mobile-header-actions,
  .of-app.of-device-mobile .of-mobile-header-actions{
    min-height:46px!important;
  }
}


/* Orbis Fit 1.3.8 — histórico da gestora e galeria moderna */
.of-manager-measure-history-card{margin-top:18px}
.of-history-student-select{display:grid;gap:7px;max-width:560px;margin:18px 0 16px;font-size:12px;font-weight:800;color:var(--brown)}
.of-manager-measure-history{min-height:90px}
.of-history-empty,.of-history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:90px;padding:20px;border:1px solid rgba(35,41,75,.08);border-radius:16px;background:rgba(248,162,50,.06);color:var(--muted);text-align:center}
.of-history-empty.error{color:#23294b}
.of-history-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:12px;border-radius:14px;background:rgba(248,162,50,.10)}
.of-history-summary strong{color:var(--brown);font-size:16px}.of-history-summary span{color:var(--muted);font-size:12px}
.of-history-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.of-history-record{padding:17px;border:1px solid rgba(35,41,75,.08);border-radius:18px;background:#fff}
.of-history-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.of-history-record-head span{display:block;color:var(--orange);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.of-history-record-head strong{display:block;margin-top:3px;color:var(--brown);font-size:15px}.of-history-record-head time{padding:5px 8px;border-radius:999px;background:rgba(248,162,50,.12);color:var(--orange);font-size:10px;font-weight:800}
.of-history-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.of-history-measures div{padding:10px;border-radius:12px;background:rgba(248,162,50,.06)}.of-history-measures span{display:block;color:var(--muted);font-size:10px}.of-history-measures strong{display:block;margin-top:3px;color:var(--brown);font-size:14px}.of-history-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}

.of-photo-accordion{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
.of-photo-group{margin:0!important;border:1px solid rgba(35,41,75,.08)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;transform:none!important;transition:none!important}
.of-photo-group:hover,.of-photo-group:focus-within{margin:0!important;box-shadow:none!important;transform:none!important}
.of-photo-group-toggle,.of-photo-group-toggle:hover,.of-photo-group-toggle:focus,.of-photo-group-toggle:focus-visible{width:100%!important;min-height:84px!important;margin:0!important;padding:17px!important;border:0!important;outline:0!important;box-shadow:none!important;background:rgba(248,162,50,.06)!important;transform:none!important;transition:none!important;text-align:left!important}
.of-photo-group-toggle>div{display:grid;gap:4px}.of-photo-group-toggle strong{color:var(--brown);font-size:14px}.of-photo-group-toggle small{color:var(--muted);font-size:11px}.of-photo-group-toggle>span{color:var(--orange);font-size:18px}
.of-photo-group-panel{padding:0 12px 12px!important}.of-photo-group.open .of-photo-group-panel{padding-top:12px!important}
.of-manager-photo-carousel{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
.of-manager-photo-item{min-width:0!important;width:100%!important;margin:0!important;border:0!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;transform:none!important}
.of-manager-photo-item:hover{transform:none!important;box-shadow:none!important;margin:0!important}
.of-manager-photo-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.of-manager-photo-item figcaption{padding:10px 2px 2px!important}.of-photo-actions{gap:12px!important}.of-photo-action{min-height:30px;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;transform:none!important;transition:none!important}
.of-photo-action:hover,.of-photo-action:focus,.of-photo-action:active{margin:0!important;border:0!important;box-shadow:none!important;transform:none!important;background:transparent!important}
.of-empty-gallery{margin:0;padding:14px 4px;color:var(--muted);font-size:12px}

@media(max-width:1100px){.of-photo-accordion{grid-template-columns:repeat(2,minmax(0,1fr))!important}.of-history-records{grid-template-columns:1fr}}
@media(max-width:600px){.of-photo-accordion{grid-template-columns:1fr!important;gap:12px!important}.of-photo-group-toggle{min-height:76px!important}.of-history-summary{align-items:flex-start;flex-direction:column}.of-history-measures{grid-template-columns:1fr 1fr}.of-manager-measure-history-card{padding:16px!important}}

/* Orbis Fit 1.4.0 — dashboard financeiro e padronização Orbis */
:root{}
.of-app a,.of-app button,.of-app [role="button"],.of-login-wrap a,.of-login-wrap button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease!important}
.of-app a:hover,.of-app a:focus,.of-app button:hover,.of-app button:focus,.of-login-wrap a:hover,.of-login-wrap a:focus,.of-login-wrap button:hover,.of-login-wrap button:focus{outline-color:var(--orange)!important}
.of-btn,.of-btn:hover,.of-btn:focus,.of-btn:active{margin:0!important;transform:none!important;box-shadow:none!important}
.of-btn.primary,.of-btn.soft{background:var(--orange)!important;color:#fff!important;border:1px solid var(--orange)!important}
.of-btn.primary:hover,.of-btn.primary:focus,.of-btn.soft:hover,.of-btn.soft:focus{background:#23294b!important;color:#fff!important;border-color:#23294b!important}
.of-btn.ghost,.of-btn.outline-orange{background:#fff!important;color:var(--orange)!important;border:1px solid var(--orange)!important}
.of-btn.ghost:hover,.of-btn.ghost:focus,.of-btn.outline-orange:hover,.of-btn.outline-orange:focus{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important}
.of-link,.of-link:hover,.of-link:focus{color:var(--orange)!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}
.of-logo-link:hover,.of-logo-link:focus,.of-topbar-logo:hover,.of-topbar-logo:focus,.of-instagram-link:hover,.of-instagram-link:focus,.of-menu-close:hover,.of-menu-close:focus{outline:0!important;border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important}
.of-nav button:hover,.of-nav button.active{background:rgba(248,162,50,.23)!important;color:#fff!important}
.of-form input:focus,.of-form select:focus,.of-form textarea:focus,.of-search input:focus{outline:2px solid rgba(248,162,50,.24)!important;border-color:var(--orange)!important}

.of-finance-heading{align-items:flex-end}
.of-finance-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.of-finance-setup{margin-bottom:18px!important}
.of-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}
.of-finance-kpi{display:grid;gap:6px;min-height:132px;padding:20px;border:1px solid rgba(35,41,75,.08);border-radius:20px;background:#fff}
.of-finance-kpi span{color:var(--muted);font-size:12px;font-weight:700}
.of-finance-kpi strong{color:var(--brown);font-size:clamp(23px,2.4vw,32px);line-height:1.05;overflow-wrap:anywhere}
.of-finance-kpi small{color:var(--muted);font-size:11px;line-height:1.4}
.of-finance-kpi.balance{background:var(--orange);border-color:var(--orange)}
.of-finance-kpi.balance span,.of-finance-kpi.balance strong,.of-finance-kpi.balance small{color:#fff}
.of-finance-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:16px;margin-bottom:16px}
.of-finance-chart-card,.of-finance-summary-card{min-width:0}
.of-finance-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.of-finance-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--orange)}
.of-finance-legend i:nth-of-type(2){margin-left:7px;background:var(--brown)}
.of-finance-chart{height:260px;display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:14px;align-items:end;padding:22px 4px 2px;border-bottom:1px solid var(--line)}
.of-finance-chart-column{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0;text-align:center}
.of-finance-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.of-finance-bars span{display:block;width:min(18px,36%);min-height:4px;border-radius:7px 7px 2px 2px;background:var(--orange)}
.of-finance-bars span.expense{background:var(--brown)}
.of-finance-chart-column small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.of-finance-composition{display:grid;gap:22px;place-items:center;margin-top:20px}
.of-finance-donut{--entry:50%;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) 0 var(--entry),var(--brown) var(--entry) 100%);position:relative}
.of-finance-donut:before{content:"";position:absolute;inset:20px;border-radius:50%;background:#fff}
.of-finance-donut>div{position:relative;z-index:1;display:grid;text-align:center}
.of-finance-donut strong{font-size:28px;color:var(--brown)}
.of-finance-donut small{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}
.of-finance-composition-copy{display:grid;width:100%;gap:10px}
.of-finance-composition-copy p{display:flex;justify-content:space-between;gap:12px;margin:0;padding-bottom:9px;border-bottom:1px solid var(--line)}
.of-finance-composition-copy span{color:var(--muted);font-size:12px}
.of-finance-composition-copy strong{color:var(--brown);font-size:13px}
.of-cashflow-card{margin-bottom:16px}
.of-cashflow-head{align-items:flex-end}
.of-cashflow-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.of-cashflow-filters{display:flex;gap:6px;padding:4px;border-radius:13px;background:rgba(248,162,50,.10)}
.of-cashflow-filters button{min-height:34px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--orange);font-weight:800;cursor:pointer;margin:0!important;box-shadow:none!important;transform:none!important}
.of-cashflow-filters button:hover,.of-cashflow-filters button:focus,.of-cashflow-filters button.active{background:var(--orange)!important;color:#fff!important}
.of-cashflow-list{display:grid;margin-top:12px}
.of-cashflow-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 2px;border-bottom:1px solid var(--line)}
.of-cashflow-row[hidden]{display:none!important}
.of-cashflow-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:21px;font-weight:900;background:rgba(248,162,50,.14);color:var(--orange)}
.of-cashflow-icon.expense{background:rgba(35,41,75,.08);color:var(--brown)}
.of-cashflow-main{display:grid;gap:3px;min-width:0}
.of-cashflow-main strong{color:var(--brown);font-size:13px;overflow-wrap:anywhere}
.of-cashflow-main small{color:var(--muted);font-size:10px;line-height:1.4}
.of-cashflow-amount{font-size:13px;white-space:nowrap;color:var(--orange)}
.of-cashflow-amount.expense{color:var(--brown)}
.of-cashflow-empty{padding:28px 10px;text-align:center;color:var(--muted)}

@media(max-width:1100px){
  .of-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .of-finance-dashboard-grid{grid-template-columns:1fr}
  .of-finance-composition{grid-template-columns:160px 1fr}
}
@media(max-width:700px){
  .of-finance-heading,.of-cashflow-head{align-items:stretch;flex-direction:column}
  .of-finance-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .of-finance-actions .of-btn{width:100%}
  .of-finance-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .of-finance-kpi{min-height:122px;padding:16px}
  .of-finance-chart{height:220px;gap:7px;overflow-x:auto}
  .of-finance-legend{white-space:normal}
  .of-finance-composition{grid-template-columns:1fr}
  .of-cashflow-filters{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .of-cashflow-filters button{padding:0 5px}
  .of-cashflow-row{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .of-cashflow-amount{grid-column:2;justify-self:start}
}
@media(max-width:420px){
  .of-finance-kpis{grid-template-columns:1fr}
  .of-finance-actions{grid-template-columns:1fr}
}


/* Orbis Fit 1.4.1 — financeiro por período e ações instantâneas */
.of-finance-period-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.5fr);gap:18px;align-items:center;margin-bottom:16px}
.of-finance-period-card h3{margin:4px 0 5px}.of-finance-period-card p{margin:0;color:var(--muted)}
.of-period-presets{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.of-period-presets button,.of-cashflow-filters button{border:1px solid var(--orange)!important;background:#fff!important;color:var(--orange)!important;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer;box-shadow:none!important;transform:none!important;outline:none!important}
.of-period-presets button:hover,.of-period-presets button:focus,.of-period-presets button.active,.of-cashflow-filters button:hover,.of-cashflow-filters button:focus,.of-cashflow-filters button.active{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important;box-shadow:none!important;transform:none!important}
.of-custom-period{grid-column:1/-1;display:flex;align-items:end;gap:10px;justify-content:flex-end}.of-custom-period[hidden]{display:none!important}.of-custom-period label{display:grid;gap:5px;color:var(--brown);font-size:12px;font-weight:800}.of-custom-period input{min-width:170px}
.of-period-label{grid-column:1/-1;text-align:right!important;color:var(--orange)!important;font-weight:800}
.of-finance-entry-grid{align-items:start;margin-bottom:18px!important}.of-finance-entry-grid .of-card{height:100%}.of-finance-entry-grid textarea{resize:vertical}
.of-modal-description{color:var(--muted);margin-top:-6px}
.of-section[data-section="students"] .of-btn,.of-section[data-section="students"] button{box-shadow:none!important;transform:none!important}
.of-section[data-section="students"] .of-btn:hover,.of-section[data-section="students"] .of-btn:focus{border-color:var(--orange)!important;background:var(--orange)!important;color:#fff!important;box-shadow:none!important;transform:none!important}
.of-section[data-section="students"] .of-btn.ghost:hover,.of-section[data-section="students"] .of-btn.ghost:focus{background:#fff!important;color:var(--orange)!important;border-color:var(--orange)!important}
@media(max-width:900px){.of-finance-period-card{grid-template-columns:1fr}.of-period-presets{justify-content:flex-start}.of-period-label{text-align:left!important}.of-custom-period{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:620px){.of-period-presets{display:grid;grid-template-columns:1fr 1fr}.of-period-presets button{width:100%;padding:10px 8px}.of-custom-period{display:grid;grid-template-columns:1fr 1fr;width:100%}.of-custom-period label,.of-custom-period input{min-width:0;width:100%}.of-custom-period .of-btn{grid-column:1/-1;width:100%}.of-finance-entry-grid{grid-template-columns:1fr!important}}

/* Orbis Fit 1.4.3 — identidade marrom da página Alunos (painel da gestora) */
.of-section[data-section="students"]{
  --students-brown:#23294b;
  --students-brown-deep:#23294b;
  --students-orange:#f8a232;
  --students-white:#ffffff;
  --students-line:rgba(35,41,75,.14);
}
.of-section[data-section="students"] .of-section-head .of-kicker,
.of-section[data-section="students"] .of-section-head h2,
.of-section[data-section="students"] .of-student-item:not(.open) .of-accordion-toggle strong,
.of-section[data-section="students"] .of-student-item:not(.open) .of-accordion-toggle b,
.of-section[data-section="students"] .of-student-item:not(.open) .of-student-summary > span:last-child{
  color:var(--students-brown)!important;
}
.of-section[data-section="students"] .of-search input{
  border:1px solid var(--students-line)!important;
  color:var(--students-brown)!important;
  caret-color:var(--students-brown)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.of-section[data-section="students"] .of-search input:focus{
  border-color:var(--students-brown)!important;
  outline:2px solid rgba(35,41,75,.12)!important;
  outline-offset:0!important;
}
.of-section[data-section="students"] .of-student-item{
  border-color:var(--students-line)!important;
  box-shadow:none!important;
}
.of-section[data-section="students"] .of-accordion-toggle{
  background:#fff!important;
  color:var(--students-brown)!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="students"] .of-accordion-toggle:hover,
.of-section[data-section="students"] .of-accordion-toggle:focus{
  background:#fff!important;
  color:var(--students-brown)!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle{
  background:linear-gradient(135deg,var(--students-brown),#23294b)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle strong,
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle small,
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle b,
.of-section[data-section="students"] .of-student-item.open .of-student-summary > span:last-child{
  color:#fff!important;
}
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle:hover,
.of-section[data-section="students"] .of-student-item.open .of-accordion-toggle:focus{
  background:linear-gradient(135deg,var(--students-brown),#23294b)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-mini-grid>div{
  background:rgba(35,41,75,.05)!important;
  border:1px solid rgba(35,41,75,.10)6e0!important;
}
.of-section[data-section="students"] .of-mini-grid span{color:#23294b!important}
.of-section[data-section="students"] .of-mini-grid strong{color:var(--students-brown)!important}
.of-section[data-section="students"] .of-actions .of-btn{
  margin:0!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
.of-section[data-section="students"] .of-actions .of-btn.soft{
  background:var(--students-brown)!important;
  border-color:var(--students-brown)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-actions .of-btn.soft:hover,
.of-section[data-section="students"] .of-actions .of-btn.soft:focus{
  background:var(--students-orange)!important;
  border-color:var(--students-orange)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-actions .of-btn.ghost{
  background:#fff!important;
  border-color:var(--students-brown)!important;
  color:var(--students-brown)!important;
}
.of-section[data-section="students"] .of-actions .of-btn.ghost:hover,
.of-section[data-section="students"] .of-actions .of-btn.ghost:focus{
  background:var(--students-brown)!important;
  border-color:var(--students-brown)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-section-head>.of-btn,
.of-section[data-section="students"] .of-section-head>.of-btn.primary{
  background:var(--students-orange)!important;
  border-color:var(--students-orange)!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="students"] .of-section-head>.of-btn:hover,
.of-section[data-section="students"] .of-section-head>.of-btn:focus{
  background:var(--students-brown)!important;
  border-color:var(--students-brown)!important;
  color:#fff!important;
}
.of-section[data-section="students"] .of-badge.ok{background:rgba(35,41,75,.10)!important;color:#23294b!important}
.of-section[data-section="students"] *:focus-visible{
  outline:2px solid var(--students-orange)!important;
  outline-offset:2px!important;
}


/* Orbis Fit 1.4.4 — linha do tempo financeira e enquadramento superior de perfis */
.of-finance-dashboard-grid{align-items:stretch}
.of-finance-chart-head{align-items:flex-start;flex-wrap:wrap}
.of-finance-chart-head p,.of-expense-category-card p{margin:3px 0 0;color:var(--muted)}
.of-line-chart-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.of-line-chart-filters button{border:1px solid rgba(35,41,75,.16);background:#fff;color:var(--brown);border-radius:999px;padding:8px 11px;font-weight:800;cursor:pointer}
.of-line-chart-filters button:hover,.of-line-chart-filters button.active{background:var(--orange);border-color:var(--orange);color:#fff}
.of-line-chart-legend{display:flex;gap:18px;align-items:center;margin:8px 0 4px;color:var(--muted);font-size:12px;font-weight:800}
.of-line-chart-legend span{display:inline-flex;gap:7px;align-items:center}.of-line-chart-legend i{width:22px;height:3px;border-radius:999px;display:block}
.of-line-chart-legend .entry i{background:var(--orange)}.of-line-chart-legend .expense i{background:var(--brown)}
.of-finance-line-chart{width:100%;min-height:360px;overflow-x:auto;padding-top:5px}
.of-finance-line-chart svg{display:block;width:100%;min-width:680px;height:auto;overflow:visible}
.of-finance-line-chart .grid line{stroke:rgba(35,41,75,.11);stroke-width:1}.of-finance-line-chart text{fill:var(--muted);font-size:12px;font-family:inherit}
.of-finance-line-chart .series path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.of-finance-line-chart .series circle{stroke:#fff;stroke-width:3;cursor:help}
.of-finance-line-chart .series.entry path,.of-finance-line-chart .series.entry circle{stroke:var(--orange);fill:var(--orange)}
.of-finance-line-chart .series.expense path,.of-finance-line-chart .series.expense circle{stroke:var(--brown);fill:var(--brown)}
.of-expense-category-chart{display:grid;gap:16px;margin-top:18px}.of-expense-category-row{display:grid;gap:7px}.of-expense-category-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.of-expense-category-label span{font-weight:800;color:var(--brown)}.of-expense-category-label strong{font-size:14px;color:var(--brown)}
.of-expense-category-track{height:12px;border-radius:999px;background:rgba(35,41,75,.10)7e1;overflow:hidden}.of-expense-category-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),#f8a232)}.of-expense-category-row small{min-height:14px;color:var(--orange);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.of-avatar img,.of-student-photo-wrap img{object-position:center top!important}
@media(max-width:767px){.of-finance-chart-head{display:grid}.of-line-chart-filters{justify-content:flex-start}.of-line-chart-filters button{flex:1 1 auto}.of-finance-line-chart{min-height:300px}.of-finance-line-chart svg{min-width:620px}.of-finance-dashboard-grid{grid-template-columns:1fr!important}}


/* Orbis Fit 1.4.5 — gráfico de linhas diário e ajustes visuais nos telefones */
.of-finance-line-chart .axes .axis-line{stroke:rgba(35,41,75,.32);stroke-width:1.2}
.of-finance-line-chart .axis-labels .daily-label{font-size:10px;fill:var(--brown);font-weight:700}
.of-finance-line-chart .axis-labels .period-label{font-size:11px;fill:var(--muted);font-weight:700}
.of-finance-line-chart .series path{vector-effect:non-scaling-stroke}
.of-finance-line-chart .series.entry path{stroke:var(--orange)!important}
.of-finance-line-chart .series.expense path{stroke:var(--brown)!important}
.of-section[data-section="students"] .of-student-phone-inline{color:var(--students-orange)!important;font-weight:700}
.of-section[data-section="students"] .of-mini-grid>div:first-child strong{color:var(--students-orange)!important}
@media(max-width:767px){
  .of-finance-line-chart svg{min-width:920px}
  .of-section[data-section="students"] .of-student-phone-inline{display:inline;color:var(--students-orange)!important}
}

/* Orbis Fit 1.4.6 — gráfico financeiro limpo, sem preenchimento e com detalhamento interativo */
.of-finance-chart-stage{position:relative;width:100%;background:#fff}
.of-finance-line-chart svg{background:#fff}
.of-finance-line-chart .series path{fill:none!important;stroke-width:2px!important;stroke-linecap:round;stroke-linejoin:round}
.of-finance-line-chart .series.entry path{stroke:var(--orange)!important}
.of-finance-line-chart .series.expense path{stroke:var(--brown)!important}
.of-finance-line-chart .series circle{stroke:#fff!important;stroke-width:2px!important;cursor:pointer;transition:none!important}
.of-finance-line-chart .series.entry circle{fill:var(--orange)!important}
.of-finance-line-chart .series.expense circle{fill:var(--brown)!important}
.of-finance-line-chart .series circle:hover,.of-finance-line-chart .series circle:focus{r:6;outline:none}
.of-finance-line-chart .axes .x-axis{stroke:var(--brown);stroke-width:1.4}
.of-finance-line-chart .axis-labels text{dominant-baseline:middle}
.of-finance-chart-tooltip{position:absolute;z-index:12;width:min(330px,calc(100% - 16px));padding:14px;border:1px solid rgba(35,41,75,.15);border-radius:14px;background:#fff;color:var(--brown);box-shadow:0 12px 30px rgba(35,41,75,.16);pointer-events:auto}
.of-finance-chart-tooltip[hidden]{display:none}
.of-tooltip-head{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid rgba(35,41,75,.1)}
.of-tooltip-head strong{font-size:14px}.of-tooltip-head span{font-size:11px;color:var(--muted)}
.of-finance-chart-tooltip ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;max-height:190px;overflow:auto}
.of-finance-chart-tooltip li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(35,41,75,.07)}
.of-finance-chart-tooltip li:last-child{border-bottom:0}.of-finance-chart-tooltip li span{display:grid;gap:2px}.of-finance-chart-tooltip li strong{font-size:12px}.of-finance-chart-tooltip li small{font-size:10px;color:var(--muted)}
.of-finance-chart-tooltip li b{white-space:nowrap;font-size:12px}.of-finance-chart-tooltip li.entry b{color:var(--orange)}.of-finance-chart-tooltip li.expense b{color:var(--brown)}
@media(max-width:767px){.of-finance-chart-tooltip{position:sticky;left:8px!important;top:8px!important;margin:8px;width:calc(100% - 16px)}}


/* Orbis Fit 1.4.7 — tooltip financeiro livre dos limites do gráfico */
.of-finance-chart-card,.of-finance-dashboard-grid,.of-finance-chart-stage{overflow:visible!important}
.of-finance-chart-tooltip.of-floating-tooltip{position:fixed!important;z-index:10000!important;max-width:min(340px,calc(100vw - 16px));width:330px;margin:0!important;pointer-events:auto!important}
.of-finance-line-chart .series circle{overflow:visible;paint-order:stroke fill;stroke-width:2.5px!important}
.of-finance-line-chart .series.expense circle{r:5.5}
@media(max-width:767px){
  .of-finance-chart-tooltip.of-floating-tooltip{position:fixed!important;left:auto;top:auto;width:calc(100vw - 20px);max-width:360px;margin:0!important}
}

/* Orbis Fit 1.4.8 — ajustes solicitados em alunos, financeiro, avatar e cabeçalho. */
.of-section[data-section="students"] .of-student-phone-inline{display:none!important}
.of-section[data-section="students"] .of-mini-grid>div:first-child strong{color:var(--brown)!important}
.of-section[data-section="students"] .of-btn.danger-outline{background:#fff!important;color:var(--brown)!important;border:1px solid var(--brown)!important;box-shadow:none!important;transform:none!important}
.of-section[data-section="students"] .of-btn.danger-outline:hover,.of-section[data-section="students"] .of-btn.danger-outline:focus{background:var(--brown)!important;color:#fff!important;border-color:var(--brown)!important;box-shadow:none!important;transform:none!important}
.of-avatar img,.of-student-photo-wrap img{object-position:50% 25%!important}
.of-finance-entry-grid{margin-bottom:16px}
.of-finance-period-card{margin-bottom:16px}

.of-class-create-card{margin-bottom:18px}.of-class-card-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.of-class-card-tools .of-btn{padding:8px 10px;font-size:11px}

/* Waléria Personal App 1.5.1 — edição de acesso do aluno */
.of-profile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 16px;padding:5px;background:rgba(35,41,75,.06);border-radius:14px}.of-profile-tabs button{border:0;background:transparent;color:var(--muted);padding:11px 10px;border-radius:10px;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.of-profile-tabs button.active{background:#fff;color:var(--brown);box-shadow:0 4px 14px rgba(35,41,75,.10)}.of-student-tab-panel{display:none;gap:15px}.of-student-tab-panel.active{display:grid}.of-student-tab-panel label small{font-weight:500;color:var(--muted);line-height:1.4}.of-access-warning{padding:12px 14px;border:1px solid rgba(248,162,50,.35);background:rgba(248,162,50,.10);border-radius:13px;color:#23294b;font-size:12px;line-height:1.45}.of-modal-description{color:var(--muted);margin-top:-6px}.of-edit-student input[name="username"]{text-transform:lowercase}
@media(max-width:480px){.of-profile-tabs{grid-template-columns:1fr}.of-profile-tabs button{padding:10px}}


/* Waléria Personal App 1.5.2 — contraste do painel do aluno */
.of-hero.student,
.of-hero.student h2,
.of-hero.student p,
.of-hero.student .of-chip,
.of-hero.student strong,
.of-hero.student small{color:#fff!important}
.of-hero.student p{color:rgba(255,255,255,.88)!important}
.of-hero.student .of-chip{background:rgba(255,255,255,.16)!important}

/* Informação segura sobre a senha atual */
.of-current-password-info{display:grid;gap:5px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#ffffff}
.of-current-password-info strong{font-size:13px;color:var(--brown)}
.of-current-password-info span{font-size:12px;line-height:1.45;color:var(--muted)}

/* Restauração da galeria da gestora conforme a base 1.4.8 */
.of-photo-upload-card{margin-bottom:18px!important}
.of-gallery-heading{margin-top:24px!important}
.of-photo-accordion{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
.of-photo-group{margin:0!important;border:1px solid rgba(35,41,75,.08)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;transform:none!important;transition:none!important}
.of-photo-group-toggle{width:100%!important;min-height:84px!important;margin:0!important;padding:17px!important;border:0!important;background:rgba(248,162,50,.06)!important;text-align:left!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.of-photo-group-toggle>div{display:grid!important;gap:4px!important}.of-photo-group-toggle strong{color:var(--brown)!important;font-size:14px!important}.of-photo-group-toggle small{color:var(--muted)!important;font-size:11px!important}.of-photo-group-toggle>span{color:var(--orange)!important;font-size:18px!important;transition:transform .2s ease!important}
.of-photo-group.open .of-photo-group-toggle>span{transform:rotate(180deg)!important}
.of-photo-group-panel{display:none!important;padding:0 14px 14px!important}.of-photo-group.open .of-photo-group-panel{display:block!important}
.of-manager-photo-carousel{display:flex!important;gap:12px!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x proximity!important;padding:14px 2px 5px!important;scrollbar-width:thin!important}
.of-manager-photo-item{flex:0 0 min(285px,82vw)!important;margin:0!important;border:1px solid var(--line)!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;scroll-snap-align:start!important}
.of-manager-photo-item img{display:block!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
.of-manager-photo-item figcaption{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:12px!important}
.of-photo-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.of-photo-action{border:0!important;border-radius:10px!important;padding:8px 10px!important;font-size:11px!important;font-weight:800!important;cursor:pointer!important}.of-photo-download{background:rgba(35,41,75,.08)!important;color:var(--brown)!important}.of-delete-photo{background:rgba(248,162,50,.14)!important;color:#23294b!important}
.of-empty-gallery{margin:0!important;padding:16px 2px 2px!important;color:var(--muted)!important;font-size:13px!important}
@media(max-width:1100px){.of-photo-accordion{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.of-photo-accordion{grid-template-columns:1fr!important}.of-manager-photo-item{flex-basis:86vw!important}.of-manager-photo-item figcaption{align-items:flex-start!important;flex-direction:column!important}}


/* Waléria Personal App 1.5.4 — consolidação final da identidade visual */
:root{--brown:#23294b;--orange:#f8a232;--blue:#23294b;--yellow:#f8a232;--bg:#ffffff;--card:#ffffff;--text:#23294b;--muted:#23294b;--line:rgba(35,41,75,.14)}
.of-app,.of-main,.of-content{background:#ffffff;color:#23294b}
.of-topbar{background:rgba(255,255,255,.96)}
.of-sidebar,.of-mobile-header-actions{background:#23294b!important}
.of-nav button:hover,.of-nav button.active{background:#f8a232!important;color:#ffffff!important}
.of-btn.primary,.of-btn.primary:hover,.of-btn.primary:focus{background:#f8a232!important;color:#ffffff!important;border-color:#f8a232!important}
.of-btn.soft,.of-btn.soft:hover,.of-btn.soft:focus{background:#23294b!important;color:#ffffff!important;border-color:#23294b!important}
.of-badge.ok,.of-toast.ok,.of-choice button:first-child.active{background:#23294b!important;color:#ffffff!important;border-color:#23294b!important}
.of-badge.warn,.of-toast.error,.of-choice button:last-child.active,.of-alert.error{background:#f8a232!important;color:#23294b!important;border-color:#f8a232!important}
.of-card,.of-student-item,.of-photo-group,.of-photo-card,.of-modal-card{background:#ffffff!important;border-color:rgba(35,41,75,.14)!important}
.of-mini-grid>div,.of-notice-list>div,.of-current-measure,.of-history-empty,.of-history-loading,.of-history-measures div,.of-photo-group-toggle,.of-current-password-info,.of-profile-tabs,.of-cashflow-filters{background:rgba(35,41,75,.05)!important}
.of-time-pill,.of-note,.of-demo-credentials,.of-history-summary,.of-history-record-head time,.of-cashflow-icon,.of-access-warning{background:rgba(248,162,50,.13)!important;color:#23294b!important}
.of-expense-category-track,.of-package-bar{background:rgba(35,41,75,.12)!important}
.of-cashflow-icon.expense{background:rgba(35,41,75,.10)!important;color:#23294b!important}
.of-photo-download{background:#23294b!important;color:#ffffff!important}.of-delete-photo{background:#f8a232!important;color:#23294b!important}
.of-hero.student{background:#f8a232!important;color:#ffffff!important}.of-hero.student h2,.of-hero.student p,.of-hero.student strong,.of-hero.student small,.of-hero.student .of-chip{color:#ffffff!important}

/* Waléria Personal App 1.5.5 — ajustes finais em Turmas e logo do menu */
.of-section[data-section="classes"] .of-btn.danger-outline,
.of-section[data-section="classes"] .of-delete-class{
  background:#ffffff!important;
  color:#23294b!important;
  border:1px solid #23294b!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="classes"] .of-btn.danger-outline:hover,
.of-section[data-section="classes"] .of-btn.danger-outline:focus,
.of-section[data-section="classes"] .of-btn.danger-outline:active,
.of-section[data-section="classes"] .of-delete-class:hover,
.of-section[data-section="classes"] .of-delete-class:focus,
.of-section[data-section="classes"] .of-delete-class:active{
  background:#23294b!important;
  color:#ffffff!important;
  border-color:#23294b!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="classes"] .of-choice button{
  background:#ffffff!important;
  color:#23294b!important;
  border-color:rgba(35,41,75,.22)!important;
  box-shadow:none!important;
}
.of-section[data-section="classes"] .of-choice button:hover,
.of-section[data-section="classes"] .of-choice button:focus{
  background:rgba(35,41,75,.08)!important;
  color:#23294b!important;
  border-color:#23294b!important;
}
.of-section[data-section="classes"] .of-choice button:first-child.active{
  background:#23294b!important;
  color:#ffffff!important;
  border-color:#23294b!important;
}
.of-section[data-section="classes"] .of-choice button:last-child.active{
  background:#f8a232!important;
  color:#ffffff!important;
  border-color:#f8a232!important;
}

.of-sidebar-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:0 0 20px!important;
  padding:0!important;
  gap:0!important;
  position:relative!important;
}
.of-sidebar-brand,
.of-sidebar-brand:hover,
.of-sidebar-brand:focus,
.of-sidebar-brand:focus-visible,
.of-sidebar-brand:active{
  appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:1 1 100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  cursor:pointer!important;
}
.of-sidebar-brand img{
  display:block!important;
  width:210px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:76px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  object-fit:contain!important;
  object-position:center!important;
  box-shadow:none!important;
}
.of-sidebar-brand:hover img,
.of-sidebar-brand:focus img,
.of-sidebar-brand:active img{
  margin:0 auto!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}
.of-menu-close{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
@media(max-width:820px){
  .of-sidebar-head{margin-bottom:18px!important}
  .of-sidebar-brand img{width:190px!important;max-height:68px!important}
}
@media(max-width:420px){
  .of-sidebar-brand img{width:175px!important;max-height:62px!important}
}

/* v1.6.2 — perfis, medidas dinâmicas e histórico de aulas */
.of-choice-field{border:1px solid rgba(35,41,75,.14);border-radius:14px;padding:14px;display:flex;gap:18px;flex-wrap:wrap}.of-choice-field legend{font-weight:700;padding:0 6px}.of-choice-field label{display:flex;align-items:center;gap:8px;margin:0}.of-dynamic-measurements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.of-history-table-wrap{overflow:auto}.of-history-table{width:100%;border-collapse:collapse;min-width:820px}.of-history-table th,.of-history-table td{text-align:left;padding:14px;border-bottom:1px solid rgba(35,41,75,.1);vertical-align:middle}.of-history-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#23294b}.of-attendance-stats{margin-top:18px}.of-history-filters{align-items:end}@media(max-width:700px){.of-dynamic-measurements{grid-template-columns:1fr}.of-choice-field{gap:10px}.of-history-table-card{padding:12px}}


/* v1.6.3 — Histórico individual dentro de Alunos */
.of-student-tabs{display:flex;gap:8px;margin:0 0 20px;padding:5px;background:rgba(35,41,75,.06);border-radius:16px;max-width:430px}.of-student-tab{flex:1;border:0;background:transparent;padding:12px 18px;border-radius:12px;font:inherit;font-weight:700;color:#23294b;cursor:pointer}.of-student-tab.active{background:#fff;box-shadow:0 4px 14px rgba(35,41,75,.1)}.of-student-tab-panel{display:none}.of-student-tab-panel.active{display:block}.of-student-history-selector{max-width:620px;margin-bottom:18px}.of-student-history-selector label{display:grid;gap:8px;margin-top:15px}.of-lesson-history-content{display:grid;gap:18px}.of-lesson-history-list{display:grid;gap:10px}.of-lesson-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(35,41,75,.1)}.of-lesson-history-row:last-child{border-bottom:0}.of-lesson-history-row div{display:grid;gap:4px}.of-lesson-history-row small{color:rgba(35,41,75,.65)}.of-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.of-calendar-navigation{display:flex;gap:6px}.of-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;font-size:13px}.of-calendar-legend span{display:flex;align-items:center;gap:7px}.of-calendar-legend i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(35,41,75,.25)}.of-calendar-legend .planned{background:#f8a232}.of-calendar-legend .present{background:#2f9e63}.of-calendar-legend .absent{background:#d84b4b}.of-calendar-legend .unmarked{background:#fff}.of-lesson-calendar-weekdays,.of-lesson-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.of-lesson-calendar-weekdays{margin-bottom:7px;text-align:center;font-size:12px;font-weight:700;color:rgba(35,41,75,.55)}.of-calendar-day{aspect-ratio:1/1;border:1px solid rgba(35,41,75,.12);border-radius:13px;background:#fff;color:#23294b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:inherit;cursor:default;position:relative}.of-calendar-day.empty{visibility:hidden}.of-calendar-day i{width:7px;height:7px;border-radius:50%}.of-calendar-day.planned{background:rgba(248,162,50,.14);border-color:rgba(248,162,50,.55)}.of-calendar-day.planned i{background:#f8a232}.of-calendar-day.present{background:rgba(47,158,99,.13);border-color:rgba(47,158,99,.55)}.of-calendar-day.present i{background:#2f9e63}.of-calendar-day.absent{background:rgba(216,75,75,.12);border-color:rgba(216,75,75,.55)}.of-calendar-day.absent i{background:#d84b4b}.of-calendar-day.unmarked{border-style:dashed}.of-calendar-day.unmarked i{background:#fff;border:1px solid rgba(35,41,75,.3)}.of-calendar-day.today:after{content:'';position:absolute;inset:3px;border:1px solid #23294b;border-radius:10px}.of-calendar-note{margin:15px 0 0;color:rgba(35,41,75,.66);font-size:13px}@media(max-width:700px){.of-student-tabs{max-width:none}.of-calendar-head{align-items:flex-start;flex-direction:column}.of-lesson-calendar-weekdays,.of-lesson-calendar{gap:4px}.of-calendar-day{border-radius:9px;font-size:12px}.of-lesson-history-row{align-items:flex-start;flex-direction:column}.of-calendar-legend{gap:9px}}

/* v1.6.4 — identidade visual, detalhes e exclusões seguras */
:root{}
.of-modal-close{color:#23294b;border:1px solid rgba(35,41,75,.12);background:#fff;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;line-height:1;cursor:pointer;transition:none}
.of-modal-close:hover,.of-modal-close:focus{color:#23294b!important;background:rgba(35,41,75,.06)!important;border-color:rgba(35,41,75,.2)!important;box-shadow:none!important;outline:none}
.of-student-tabs{max-width:460px;background:rgba(35,41,75,.055);border:1px solid rgba(35,41,75,.08);padding:5px;border-radius:14px}
.of-student-tab{color:#23294b;border:0!important;box-shadow:none!important;transition:none}
.of-student-tab:hover{color:#23294b!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.of-student-tab.active,.of-student-tab.active:hover{background:#fff!important;color:#23294b!important;box-shadow:0 5px 16px rgba(35,41,75,.08)!important}
.of-calendar-day{transition:none!important;box-shadow:none!important;transform:none!important}
.of-calendar-day:hover,.of-calendar-day:focus,.of-calendar-day:active{transform:none!important;box-shadow:none!important;filter:none!important;outline:none}
.of-calendar-day.present:hover{background:rgba(47,158,99,.13)!important;border-color:rgba(47,158,99,.55)!important}
.of-calendar-day.absent:hover{background:rgba(216,75,75,.12)!important;border-color:rgba(216,75,75,.55)!important}
.of-calendar-day.planned:hover{background:rgba(248,162,50,.14)!important;border-color:rgba(248,162,50,.55)!important}
.of-calendar-day.unmarked:hover{background:#fff!important;border-color:rgba(35,41,75,.12)!important}
.of-calendar-day[data-calendar-date]{cursor:pointer}
.of-calendar-lesson-summary{margin-top:16px;padding:18px 20px;border:1px solid rgba(35,41,75,.12);border-radius:16px;background:rgba(35,41,75,.035)}
.of-calendar-lesson-summary h4{margin:5px 0 7px;font-size:18px}.of-calendar-lesson-summary p{margin:0;color:rgba(35,41,75,.72)}
.of-lesson-history-actions,.of-cashflow-actions{display:flex;align-items:center;gap:10px}
.of-icon-button{width:38px;height:38px;border-radius:11px;border:1px solid rgba(35,41,75,.14);background:#fff;color:#23294b;display:grid;place-items:center;font-size:18px;line-height:1;cursor:pointer;transition:none}
.of-icon-button:hover,.of-icon-button:focus{background:rgba(35,41,75,.06)!important;color:#23294b!important;border-color:rgba(35,41,75,.24)!important;box-shadow:none!important;outline:none!important}
.of-icon-button:disabled{opacity:.45;cursor:not-allowed}
.of-cashflow-row{grid-template-columns:42px minmax(0,1fr) auto}
@media(max-width:700px){.of-lesson-history-actions{width:100%;justify-content:space-between}.of-cashflow-actions{grid-column:2;justify-content:space-between}.of-student-tabs{max-width:none}}


/* =========================================================
   WALÉRIA PERSONAL APP — BRAND UI CLEANUP v1.6.5
   Centraliza os controles interativos na identidade oficial.
   ========================================================= */
:root{
  --wpa-blue:#23294b;
  --wpa-orange:#f8a232;
  --wpa-white:#ffffff;
  --wpa-line:rgba(35,41,75,.14);
  --wpa-soft:rgba(35,41,75,.055);
  --wpa-green:#16794c;
  --wpa-red:#b42318;
}
.of-app,
.of-login-wrap{
  accent-color:var(--wpa-blue)!important;
}
.of-app button,
.of-app [role="button"],
.of-login-wrap button{
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.of-app button:focus,
.of-app button:focus-visible,
.of-app [role="button"]:focus,
.of-app [role="button"]:focus-visible{
  outline:2px solid rgba(248,162,50,.28)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.of-app button::selection,
.of-app a::selection{background:rgba(248,162,50,.24)!important;color:var(--wpa-blue)!important}

/* Abas internas */
.of-student-tabs,
.of-profile-tabs{
  background:var(--wpa-soft)!important;
  border:1px solid rgba(35,41,75,.09)!important;
  box-shadow:none!important;
}
.of-student-tab,
.of-profile-tabs button{
  color:var(--wpa-blue)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.of-student-tab:hover,
.of-student-tab:focus,
.of-profile-tabs button:hover,
.of-profile-tabs button:focus{
  color:var(--wpa-blue)!important;
  background:rgba(255,255,255,.55)!important;
  box-shadow:none!important;
}
.of-student-tab.active,
.of-student-tab.active:hover,
.of-student-tab.active:focus,
.of-profile-tabs button.active,
.of-profile-tabs button.active:hover,
.of-profile-tabs button.active:focus{
  color:var(--wpa-white)!important;
  background:var(--wpa-blue)!important;
  border-color:var(--wpa-blue)!important;
  box-shadow:none!important;
}

/* Fechar modais */
.of-modal-close,
.of-modal-close:visited{
  color:var(--wpa-blue)!important;
  background:var(--wpa-white)!important;
  border:1px solid var(--wpa-line)!important;
  box-shadow:none!important;
}
.of-modal-close:hover,
.of-modal-close:focus,
.of-modal-close:active{
  color:var(--wpa-white)!important;
  background:var(--wpa-blue)!important;
  border-color:var(--wpa-blue)!important;
  box-shadow:none!important;
}

/* Ícones de ação e lixeiras */
.of-icon-button,
.of-icon-button:visited{
  color:var(--wpa-blue)!important;
  background:var(--wpa-white)!important;
  border:1px solid var(--wpa-line)!important;
  box-shadow:none!important;
}
.of-icon-button svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.of-icon-button:hover,
.of-icon-button:focus,
.of-icon-button:active{
  color:var(--wpa-white)!important;
  background:var(--wpa-blue)!important;
  border-color:var(--wpa-blue)!important;
  box-shadow:none!important;
}

/* Calendário: sem hover colorido, status por indicador */
.of-calendar-day,
.of-calendar-day:hover,
.of-calendar-day:focus,
.of-calendar-day:active{
  color:var(--wpa-blue)!important;
  background:var(--wpa-white)!important;
  border:1px solid var(--wpa-line)!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
.of-calendar-day.present,
.of-calendar-day.present:hover,
.of-calendar-day.present:focus{
  background:var(--wpa-white)!important;
  border-color:rgba(22,121,76,.38)!important;
}
.of-calendar-day.absent,
.of-calendar-day.absent:hover,
.of-calendar-day.absent:focus{
  background:var(--wpa-white)!important;
  border-color:rgba(180,35,24,.38)!important;
}
.of-calendar-day.planned,
.of-calendar-day.planned:hover,
.of-calendar-day.planned:focus{
  background:var(--wpa-white)!important;
  border-color:rgba(248,162,50,.58)!important;
}
.of-calendar-day.unmarked,
.of-calendar-day.unmarked:hover,
.of-calendar-day.unmarked:focus{
  background:var(--wpa-white)!important;
  border-color:rgba(35,41,75,.20)!important;
  border-style:dashed!important;
}
.of-calendar-day.present i{background:var(--wpa-green)!important}
.of-calendar-day.absent i{background:var(--wpa-red)!important}
.of-calendar-day.planned i{background:var(--wpa-orange)!important}
.of-calendar-day.unmarked i{background:var(--wpa-white)!important;border:1px solid rgba(35,41,75,.35)!important}
.of-calendar-day.today:after{border-color:var(--wpa-blue)!important}
.of-calendar-navigation .of-btn,
.of-calendar-navigation .of-btn:hover,
.of-calendar-navigation .of-btn:focus{
  color:var(--wpa-orange)!important;
  background:var(--wpa-white)!important;
  border-color:var(--wpa-orange)!important;
  box-shadow:none!important;
}
.of-calendar-navigation .of-btn:active{
  color:var(--wpa-white)!important;
  background:var(--wpa-orange)!important;
}
.of-calendar-legend .present{background:var(--wpa-green)!important}
.of-calendar-legend .absent{background:var(--wpa-red)!important}
.of-calendar-legend .planned{background:var(--wpa-orange)!important}

/* Estados de presença e falta: vermelho profundo, nunca rosado */
.of-badge.warn{background:rgba(180,35,24,.09)!important;color:var(--wpa-red)!important}
.of-badge.ok{background:rgba(22,121,76,.10)!important;color:var(--wpa-green)!important}

/* Botões de exclusão textuais */
.of-btn.danger-outline,
.of-btn.danger-outline:hover,
.of-btn.danger-outline:focus,
.of-btn.danger-outline:active{
  color:var(--wpa-blue)!important;
  background:var(--wpa-white)!important;
  border-color:var(--wpa-blue)!important;
  box-shadow:none!important;
}
.of-btn.danger-outline:hover,
.of-btn.danger-outline:focus{
  color:var(--wpa-white)!important;
  background:var(--wpa-blue)!important;
}

/* v1.6.7 — calendário compacto e leitura imediata de status */
.of-lesson-calendar-card{
  width:min(100%,760px);
  max-width:760px;
  margin-right:auto;
  padding:18px 20px;
}
.of-calendar-head{
  margin-bottom:12px;
}
.of-calendar-head h3{
  margin:3px 0 0;
  font-size:21px;
}
.of-calendar-legend{
  gap:12px;
  margin-bottom:12px;
  font-size:12px;
}
.of-calendar-legend i{
  width:10px;
  height:10px;
}
.of-lesson-calendar-weekdays,
.of-lesson-calendar{
  grid-template-columns:repeat(7,54px);
  justify-content:start;
  gap:6px;
}
.of-lesson-calendar-weekdays{
  margin-bottom:6px;
  font-size:11px;
}
.of-calendar-day{
  width:54px;
  height:54px;
  aspect-ratio:auto;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  gap:3px;
}
.of-calendar-day i{
  width:6px;
  height:6px;
}
.of-calendar-day.present,
.of-calendar-day.present:hover,
.of-calendar-day.present:focus,
.of-calendar-day.present:active{
  border:3px solid #66c992!important;
}
.of-calendar-day.absent,
.of-calendar-day.absent:hover,
.of-calendar-day.absent:focus,
.of-calendar-day.absent:active{
  border:3px solid #d84b4b!important;
}
.of-calendar-day.planned,
.of-calendar-day.planned:hover,
.of-calendar-day.planned:focus,
.of-calendar-day.planned:active{
  border:3px solid var(--wpa-orange)!important;
}
.of-calendar-day.unmarked,
.of-calendar-day.unmarked:hover,
.of-calendar-day.unmarked:focus,
.of-calendar-day.unmarked:active{
  border-width:2px!important;
}
.of-calendar-day.today:after{
  inset:3px;
  border-width:1px;
  border-radius:7px;
}
.of-calendar-note{
  margin-top:12px;
  font-size:12px;
}
.of-calendar-lesson-summary{
  margin-top:12px;
  padding:14px 16px;
}
@media(max-width:900px){
  .of-lesson-calendar-card{max-width:100%;width:100%}
  .of-lesson-calendar-weekdays,.of-lesson-calendar{
    grid-template-columns:repeat(7,minmax(38px,1fr));
  }
  .of-calendar-day{width:100%;height:auto;min-height:46px}
}
@media(max-width:520px){
  .of-lesson-calendar-card{padding:14px 12px}
  .of-lesson-calendar-weekdays,.of-lesson-calendar{gap:4px}
  .of-calendar-day{min-height:40px;border-radius:8px;font-size:12px}
  .of-calendar-day.present,.of-calendar-day.absent,.of-calendar-day.planned{border-width:2px!important}
}


/* v1.6.8 — detalhes do calendário ao lado no desktop */
.of-calendar-layout{
  display:grid;
  grid-template-columns:390px minmax(250px,1fr);
  align-items:start;
  gap:22px;
}
.of-calendar-grid-panel{
  width:390px;
  max-width:100%;
}
.of-calendar-lesson-summary{
  margin-top:0;
  min-height:150px;
  align-self:stretch;
}
.of-calendar-lesson-summary[hidden]{
  display:block!important;
  visibility:hidden;
}
@media(min-width:901px){
  .of-lesson-calendar-card{
    width:min(100%,980px);
    max-width:980px;
  }
}
@media(max-width:900px){
  .of-calendar-layout{
    display:block;
  }
  .of-calendar-grid-panel{
    width:100%;
  }
  .of-calendar-lesson-summary{
    margin-top:12px;
    min-height:0;
  }
  .of-calendar-lesson-summary[hidden]{
    display:none!important;
  }
}
@media(max-width:520px){
  .of-calendar-head,
  .of-calendar-legend,
  .of-calendar-grid-panel,
  .of-calendar-note{
    width:100%;
  }
  .of-calendar-grid-panel{
    margin-left:auto;
    margin-right:auto;
  }
  .of-lesson-calendar-weekdays,
  .of-lesson-calendar{
    justify-content:center;
  }
}


/* v1.6.9 — calendário aprovado: workspace amplo, moderno e harmônico */
.of-calendar-workspace{
  display:grid;
  grid-template-columns:minmax(480px,.98fr) minmax(430px,1.02fr);
  gap:24px;
  align-items:stretch;
  width:100%;
  margin-top:18px;
}
.of-calendar-workspace .of-lesson-calendar-card,
.of-calendar-workspace .of-calendar-lesson-summary{
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:28px;
  border-radius:20px;
  border:1px solid rgba(35,41,75,.12);
  box-shadow:0 12px 32px rgba(35,41,75,.06);
  background:#fff;
}
.of-calendar-workspace .of-lesson-calendar-card{
  display:flex;
  flex-direction:column;
}
.of-calendar-workspace .of-calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.of-calendar-workspace .of-calendar-head h3{
  margin-top:6px;
  font-size:25px;
  line-height:1.15;
}
.of-calendar-workspace .of-calendar-navigation{
  display:flex;
  gap:8px;
  flex-shrink:0;
}
.of-calendar-workspace .of-calendar-navigation .of-btn{
  min-width:48px;
  height:48px;
  padding:0 16px;
  border-radius:9px;
}
.of-calendar-workspace .of-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:0 0 22px;
  font-size:13px;
}
.of-calendar-workspace .of-calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.of-calendar-workspace .of-calendar-legend i{
  width:12px;
  height:12px;
  border-radius:50%;
}
.of-calendar-workspace .of-calendar-grid-panel{
  width:100%;
  max-width:620px;
  margin:0 auto;
}
.of-calendar-workspace .of-lesson-calendar-weekdays,
.of-calendar-workspace .of-lesson-calendar{
  grid-template-columns:repeat(7,minmax(48px,1fr));
  gap:10px;
  width:100%;
}
.of-calendar-workspace .of-lesson-calendar-weekdays{
  margin-bottom:10px;
  font-size:12px;
  font-weight:700;
  color:rgba(35,41,75,.68);
}
.of-calendar-workspace .of-calendar-day{
  width:100%;
  min-width:0;
  height:auto;
  min-height:62px;
  border-radius:9px;
  background:#fff!important;
  font-size:14px;
  box-shadow:none!important;
}
.of-calendar-workspace .of-calendar-day.present{border:2px solid #38b878!important}
.of-calendar-workspace .of-calendar-day.absent{border:2px solid #e24a4a!important}
.of-calendar-workspace .of-calendar-day.planned{border:2px solid #f8a232!important}
.of-calendar-workspace .of-calendar-day.unmarked{border:2px dashed rgba(35,41,75,.22)!important}
.of-calendar-workspace .of-calendar-day i{display:none!important}
.of-calendar-workspace .of-calendar-day.today:after{inset:4px;border-radius:6px}
.of-calendar-workspace .of-calendar-note{
  border-top:1px solid rgba(35,41,75,.1);
  padding-top:18px;
  margin:20px 0 0;
  font-size:13px;
  line-height:1.55;
}
.of-calendar-workspace .of-calendar-lesson-summary{
  min-height:100%;
  display:flex!important;
  flex-direction:column;
  visibility:visible!important;
}
.of-calendar-summary-empty{
  margin:auto 0;
  padding:24px;
  text-align:center;
  color:rgba(35,41,75,.62);
}
.of-calendar-summary-empty h3{margin:8px 0;font-size:22px;color:#23294b}
.of-summary-header{padding-bottom:22px;border-bottom:1px solid rgba(35,41,75,.11)}
.of-summary-header h3{margin:12px 0 16px;font-size:25px;line-height:1.25;color:#23294b}
.of-summary-status{display:inline-flex;align-items:center;padding:8px 13px;border-radius:7px;font-size:14px;font-weight:700}
.of-summary-status.present{background:rgba(56,184,120,.13);color:#168b57}
.of-summary-status.absent{background:rgba(226,74,74,.11);color:#b92f2f}
.of-summary-status.planned{background:rgba(248,162,50,.14);color:#bd6b00}
.of-summary-status.unmarked{background:rgba(35,41,75,.06);color:#59607c}
.of-summary-details{display:grid;margin-top:8px}
.of-summary-details>div{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(170px,1fr);gap:18px;align-items:center;padding:15px 4px;border-bottom:1px solid rgba(35,41,75,.1)}
.of-summary-details span{color:rgba(35,41,75,.68);font-size:14px}
.of-summary-details strong{color:#23294b;font-size:14px;font-weight:600;text-align:left}
.of-summary-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:24px}
.of-summary-delete{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 15px;border:1px solid rgba(226,74,74,.24);border-radius:9px;background:#fff;color:#c53535;font-weight:700;cursor:pointer}
.of-summary-delete svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.of-summary-delete:hover,.of-summary-delete:focus{background:rgba(226,74,74,.05);border-color:#c53535}
.of-summary-history-button{height:46px}
@media(max-width:1180px){
  .of-calendar-workspace{grid-template-columns:minmax(430px,.95fr) minmax(360px,1.05fr);gap:18px}
  .of-calendar-workspace .of-lesson-calendar-card,.of-calendar-workspace .of-calendar-lesson-summary{padding:22px}
  .of-calendar-workspace .of-calendar-day{min-height:54px}
}
@media(max-width:900px){
  .of-calendar-workspace{grid-template-columns:1fr;gap:16px}
  .of-calendar-workspace .of-lesson-calendar-card,.of-calendar-workspace .of-calendar-lesson-summary{width:100%;max-width:760px;margin-left:auto;margin-right:auto}
  .of-calendar-workspace .of-calendar-grid-panel{margin-left:auto;margin-right:auto}
  .of-calendar-workspace .of-calendar-lesson-summary{min-height:0}
}
@media(max-width:560px){
  .of-calendar-workspace .of-lesson-calendar-card,.of-calendar-workspace .of-calendar-lesson-summary{padding:18px 14px;border-radius:16px}
  .of-calendar-workspace .of-calendar-head{align-items:flex-start;gap:12px}
  .of-calendar-workspace .of-calendar-head h3{font-size:21px}
  .of-calendar-workspace .of-calendar-navigation .of-btn{height:42px;min-width:42px;padding:0 11px}
  .of-calendar-workspace .of-calendar-grid-panel{max-width:420px}
  .of-calendar-workspace .of-lesson-calendar-weekdays,.of-calendar-workspace .of-lesson-calendar{grid-template-columns:repeat(7,minmax(34px,1fr));gap:5px;justify-content:center}
  .of-calendar-workspace .of-calendar-day{min-height:42px;font-size:12px;border-radius:7px}
  .of-summary-details>div{grid-template-columns:1fr;gap:4px;padding:12px 2px}
  .of-summary-actions{align-items:stretch;flex-direction:column-reverse}
  .of-summary-actions>*{width:100%;justify-content:center}
}


/* Minha Jornada — v1.7.0 */
.of-journey-student-select{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:28px;align-items:end;margin-bottom:22px}.of-journey-student-select p{margin:0;color:#68708b}.of-journey-summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:20px;margin-bottom:20px}.of-journey-total,.of-journey-next{min-height:170px;display:flex;flex-direction:column;justify-content:center}.of-journey-total>strong{font-size:clamp(28px,3vw,44px);color:#23294b;margin:8px 0}.of-journey-next>strong{font-size:22px;color:#23294b;margin:10px 0 4px}.of-journey-main-progress,.of-achievement-detail-progress{height:10px;background:#eef0f5;border-radius:999px;overflow:hidden}.of-journey-main-progress span,.of-achievement-detail-progress span{display:block;height:100%;background:#f8a232;border-radius:inherit}.of-achievement-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.of-achievement-filter{border:1px solid #dfe2ea;background:#fff;color:#23294b;border-radius:999px;padding:9px 16px;font:inherit;cursor:pointer}.of-achievement-filter.active{background:#23294b;border-color:#23294b;color:#fff}.of-achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px}.of-achievement-card{appearance:none;border:1px solid #e2e5ec;background:#fff;border-radius:20px;padding:18px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:210px;color:#23294b;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.of-achievement-card:hover,.of-achievement-card.is-selected{border-color:#f8a232;box-shadow:0 12px 28px rgba(35,41,75,.08);transform:translateY(-2px)}.of-achievement-ring{--achievement-progress:0;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f8a232 calc(var(--achievement-progress)*1%),#e7e9ef 0);position:relative}.of-achievement-ring:before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.of-achievement-diamond{width:62px;height:62px;display:grid;place-items:center;background:#e6e8ed;border:1px solid #d5d8e0;transform:rotate(45deg);border-radius:13px;position:relative;z-index:1;color:#8c92a3}.of-achievement-diamond b{transform:rotate(-45deg);font-size:17px;line-height:1}.of-achievement-card.is-unlocked .of-achievement-diamond,.of-achievement-celebration .of-achievement-diamond{background:#23294b;border-color:#23294b;color:#fff;box-shadow:0 8px 18px rgba(35,41,75,.18)}.of-achievement-card.is-unlocked .of-achievement-ring{background:conic-gradient(#f8a232 100%,#e7e9ef 0)}.of-achievement-card.is-locked{background:#fafafa;color:#7b8192}.of-achievement-copy{display:flex;flex-direction:column;gap:5px}.of-achievement-copy strong{font-size:15px;color:inherit}.of-achievement-copy small{color:#7b8192}.of-achievement-card.is-unlocked .of-achievement-copy small{color:#138a5b}.of-achievement-detail{margin-top:22px;border:1px solid #e2e5ec;border-radius:22px;background:#f8f9fb;padding:24px}.of-achievement-detail h3{margin:7px 0}.of-achievement-detail p{margin:0 0 16px;color:#626a82}.of-achievement-detail strong,.of-achievement-detail small{display:block;margin-top:9px}.of-achievement-celebration{position:fixed;inset:0;z-index:100000;background:rgba(20,25,48,.72);display:grid;place-items:center;padding:24px}.of-achievement-celebration-card{width:min(440px,100%);background:#fff;border-radius:28px;padding:34px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.25)}.of-achievement-celebration-card .of-achievement-ring{margin:22px auto}.of-achievement-celebration-card h2{color:#23294b}.of-achievement-celebration-card p{color:#68708b;margin-bottom:24px}.of-manager-journey-empty>.of-card{text-align:center;padding:42px}
@media(max-width:900px){.of-journey-student-select,.of-journey-summary{grid-template-columns:1fr}.of-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.of-achievement-card{min-height:190px}.of-achievement-ring{width:92px;height:92px}.of-achievement-diamond{width:54px;height:54px}}
@media(max-width:480px){.of-achievement-grid{grid-template-columns:1fr 1fr;gap:10px}.of-achievement-card{padding:14px 8px;min-height:175px;border-radius:16px}.of-achievement-ring{width:78px;height:78px}.of-achievement-diamond{width:46px;height:46px;border-radius:10px}.of-achievement-copy strong{font-size:13px}.of-achievement-copy small{font-size:11px}.of-achievement-detail{padding:19px}.of-achievement-celebration-card{padding:26px 20px}}

/* Minha Jornada — v1.7.1 | identidade oficial e cards centralizados */
:root{
  --wpa-blue:#23294b;
  --wpa-orange:#f8a232;
  --wpa-white:#ffffff;
  --wpa-neutral-50:#fafbfc;
  --wpa-neutral-100:#f1f3f7;
  --wpa-neutral-200:#dfe3eb;
  --wpa-neutral-500:#747c91;
}

/* Impede cores de destaque nativas ou herdadas em rosa/roxo. */
.of-app,
.of-login-wrap,
.of-modal,
.of-achievement-celebration{
  accent-color:var(--wpa-orange)!important;
}
.of-app button,
.of-app a,
.of-app input,
.of-app select,
.of-app textarea,
.of-app [role="button"]{
  -webkit-tap-highlight-color:rgba(248,162,50,.18)!important;
}
.of-app button:focus,
.of-app button:focus-visible,
.of-app a:focus,
.of-app a:focus-visible,
.of-app input:focus,
.of-app input:focus-visible,
.of-app select:focus,
.of-app select:focus-visible,
.of-app textarea:focus,
.of-app textarea:focus-visible,
.of-app [role="button"]:focus,
.of-app [role="button"]:focus-visible{
  outline:2px solid rgba(248,162,50,.32)!important;
  outline-offset:2px!important;
  border-color:var(--wpa-orange)!important;
  box-shadow:0 0 0 3px rgba(248,162,50,.12)!important;
}
.of-app ::selection{
  background:rgba(248,162,50,.24)!important;
  color:var(--wpa-blue)!important;
}

/* Filtros e controles da Jornada. */
.of-achievement-filter{
  border-color:var(--wpa-neutral-200)!important;
  background:var(--wpa-white)!important;
  color:var(--wpa-blue)!important;
  border-radius:10px!important;
  min-height:42px;
}
.of-achievement-filter:hover{
  border-color:var(--wpa-orange)!important;
  background:rgba(248,162,50,.07)!important;
  color:var(--wpa-blue)!important;
}
.of-achievement-filter.active,
.of-achievement-filter.active:hover,
.of-achievement-filter.active:focus{
  border-color:var(--wpa-blue)!important;
  background:var(--wpa-blue)!important;
  color:var(--wpa-white)!important;
}

/* Grade harmônica e cards quadrados, com todo o conteúdo centralizado. */
.of-achievement-grid{
  grid-template-columns:repeat(6,minmax(150px,1fr))!important;
  gap:16px!important;
  align-items:stretch;
}
.of-achievement-card{
  width:100%;
  min-width:0;
  min-height:0!important;
  aspect-ratio:1 / 1.08;
  padding:18px 14px!important;
  border:1px solid var(--wpa-neutral-200)!important;
  border-radius:16px!important;
  background:var(--wpa-white)!important;
  color:var(--wpa-blue)!important;
  display:grid!important;
  grid-template-rows:minmax(94px,1fr) auto;
  place-items:center;
  align-content:center;
  justify-content:center;
  gap:12px!important;
  overflow:hidden;
  text-align:center!important;
  transform:none!important;
  box-shadow:none!important;
}
.of-achievement-card:hover,
.of-achievement-card.is-selected{
  border-color:var(--wpa-orange)!important;
  background:var(--wpa-white)!important;
  color:var(--wpa-blue)!important;
  transform:none!important;
  box-shadow:0 8px 22px rgba(35,41,75,.07)!important;
}
.of-achievement-card.is-selected{
  box-shadow:inset 0 0 0 1px var(--wpa-orange),0 8px 22px rgba(35,41,75,.07)!important;
}
.of-achievement-card.is-locked{
  background:var(--wpa-neutral-50)!important;
  color:var(--wpa-neutral-500)!important;
}
.of-achievement-ring{
  width:92px!important;
  height:92px!important;
  margin:0 auto!important;
  align-self:center;
  justify-self:center;
  background:conic-gradient(var(--wpa-orange) calc(var(--achievement-progress)*1%),var(--wpa-neutral-200) 0)!important;
}
.of-achievement-ring:before{
  inset:6px!important;
  background:var(--wpa-white)!important;
}
.of-achievement-diamond{
  width:54px!important;
  height:54px!important;
  margin:0!important;
  background:#e8ebf1!important;
  border-color:#d4d9e3!important;
  color:#858da1!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.of-achievement-card.is-unlocked .of-achievement-diamond,
.of-achievement-celebration .of-achievement-diamond{
  background:var(--wpa-blue)!important;
  border-color:var(--wpa-blue)!important;
  color:var(--wpa-white)!important;
  box-shadow:0 7px 16px rgba(35,41,75,.18)!important;
}
.of-achievement-card.is-unlocked .of-achievement-ring{
  background:conic-gradient(var(--wpa-orange) 100%,var(--wpa-neutral-200) 0)!important;
}
.of-achievement-copy{
  width:100%;
  min-width:0;
  min-height:58px;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:5px!important;
  text-align:center!important;
}
.of-achievement-copy strong{
  width:100%;
  color:inherit!important;
  font-size:14px!important;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.of-achievement-copy small{
  width:100%;
  color:var(--wpa-neutral-500)!important;
  font-size:12px;
  line-height:1.25;
}
.of-achievement-card.is-unlocked .of-achievement-copy small{
  color:#16794e!important;
}
.of-journey-main-progress span,
.of-achievement-detail-progress span{
  background:var(--wpa-orange)!important;
}

@media(max-width:1280px){
  .of-achievement-grid{grid-template-columns:repeat(5,minmax(145px,1fr))!important}
}
@media(max-width:1080px){
  .of-achievement-grid{grid-template-columns:repeat(4,minmax(145px,1fr))!important}
}
@media(max-width:820px){
  .of-achievement-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important}
  .of-achievement-card{aspect-ratio:1 / 1.05}
}
@media(max-width:580px){
  .of-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .of-achievement-card{aspect-ratio:auto;min-height:174px!important;padding:14px 10px!important}
  .of-achievement-ring{width:78px!important;height:78px!important}
  .of-achievement-diamond{width:46px!important;height:46px!important}
}


/* Minha Jornada — v1.7.3 | filtros funcionais e detalhes por linha */
.of-achievement-card[hidden]{
  display:none!important;
}
.of-achievement-detail-inline{
  grid-column:1 / -1;
  width:100%;
  margin:0!important;
  border:1px solid var(--wpa-neutral-200)!important;
  border-left:5px solid var(--wpa-orange)!important;
  border-radius:16px!important;
  background:var(--wpa-white)!important;
  color:var(--wpa-blue)!important;
  padding:22px 24px!important;
  box-shadow:0 8px 24px rgba(35,41,75,.06)!important;
  animation:wpaAchievementDetailIn .18s ease-out;
}
.of-achievement-detail-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.of-achievement-detail-heading h3{
  margin:6px 0 0!important;
  color:var(--wpa-blue)!important;
}
.of-achievement-detail-percentage{
  flex:0 0 auto;
  font-size:24px;
  color:var(--wpa-orange)!important;
  margin:0!important;
}
.of-achievement-detail-inline p{
  margin:12px 0 16px!important;
  color:var(--wpa-neutral-500)!important;
}
.of-achievement-detail-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:10px;
}
.of-achievement-detail-meta strong,
.of-achievement-detail-meta small{
  margin:0!important;
}
.of-achievement-detail-meta small{
  color:var(--wpa-neutral-500)!important;
  text-align:right;
}
@keyframes wpaAchievementDetailIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:580px){
  .of-achievement-detail-inline{padding:18px!important}
  .of-achievement-detail-heading,
  .of-achievement-detail-meta{align-items:flex-start;flex-direction:column;gap:8px}
  .of-achievement-detail-meta small{text-align:left}
}

/* Primeiro acesso e senha provisória — v1.7.4 */
.of-password-required-shell{max-width:680px;margin:48px auto;padding:0 20px}
.of-password-required-card{padding:36px}
.of-password-required-card h2{margin:8px 0 10px;color:#23294b}
.of-password-required-card>p{margin:0 0 24px;color:#687087;line-height:1.65}
.of-password-required-card .of-form{max-width:480px}
.of-password-required-card input:focus{border-color:#f8a232!important;box-shadow:0 0 0 3px rgba(248,162,50,.16)!important;outline:none!important}
#of-student-initial-access{border-left:4px solid #f8a232}
@media(max-width:900px){.of-password-required-shell{margin:24px auto;padding:0 12px}.of-password-required-card{padding:24px}}

/* Minha Jornada — v1.7.8 | faixas de níveis corrigidas */
.of-journey-level-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:10px 0 14px;
}
.of-journey-level-row>div:first-child{min-width:0}
.of-journey-level-row>div:first-child strong{display:block}
.of-journey-level-row>div:first-child p{margin:4px 0 0!important}
.of-journey-medal{
  flex:0 0 auto;
  width:112px;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--wpa-neutral-200)!important;
  border-radius:16px;
  background:var(--wpa-white)!important;
  color:var(--wpa-blue)!important;
  text-align:center;
}
.of-journey-medal span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  transform:rotate(45deg);
  background:var(--wpa-neutral-100)!important;
  color:var(--wpa-blue)!important;
  border:2px solid var(--wpa-neutral-300)!important;
  font-size:18px;
}
.of-journey-medal span::first-letter{transform:rotate(-45deg)}
.of-journey-medal b{font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.of-journey-medal.is-bronze span{border-color:var(--wpa-orange)!important;background:rgba(248,162,50,.12)!important}
.of-journey-medal.is-silver span{border-color:var(--wpa-neutral-400)!important;background:var(--wpa-neutral-100)!important}
.of-journey-medal.is-gold span{border-color:var(--wpa-orange)!important;background:var(--wpa-orange)!important;color:var(--wpa-white)!important}
.of-journey-medal.is-platinum span{border-color:var(--wpa-blue)!important;background:var(--wpa-blue)!important;color:var(--wpa-white)!important}
.of-level-caption{display:block;margin-top:10px;color:var(--wpa-neutral-500)!important}
@media(max-width:580px){
  .of-journey-level-row{align-items:flex-start;gap:14px}
  .of-journey-medal{width:96px;min-height:84px}
}


.of-badge.warning{background:rgba(248,162,50,.12);color:#9a5a00}

/* Waléria Personal App 1.9.1 — Financeiro Inteligente */
.of-smart-billing-card{display:grid;gap:20px}
.of-smart-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.of-smart-finance-kpis>div{padding:16px;border:1px solid #e7e8ee;border-radius:16px;background:#fff;display:grid;gap:6px}
.of-smart-finance-kpis span{color:#6d7280;font-size:.84rem}
.of-smart-finance-kpis strong{color:#23294b;font-size:1.35rem}
.of-billing-filters{display:flex;flex-wrap:wrap;gap:8px}
.of-billing-filters button{border:1px solid #23294b;background:#fff;color:#23294b;border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;transition:none;box-shadow:none}
.of-billing-filters button:hover{background:#fff;color:#23294b;border-color:#23294b;box-shadow:none;transform:none}
.of-billing-filters button:focus-visible{outline:2px solid #f8a232;outline-offset:2px;background:#fff;color:#23294b;border-color:#23294b}
.of-billing-filters button.active,.of-billing-filters button.active:hover,.of-billing-filters button.active:focus-visible{background:#23294b;border-color:#23294b;color:#fff;box-shadow:none}
.of-billing-more{justify-self:start;border:1px solid #23294b;background:#fff;color:#23294b;border-radius:999px;padding:9px 16px;font:inherit;font-weight:800;cursor:pointer;transition:none}
.of-billing-more:hover{background:#fff;color:#23294b;border-color:#23294b;box-shadow:none;transform:none}
.of-billing-more:focus-visible{outline:2px solid #f8a232;outline-offset:2px}
.of-smart-billing-list{display:grid;gap:10px}
.of-smart-billing-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.9fr) auto auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #eceef2}
.of-smart-billing-row:last-child{border-bottom:0}
.of-smart-billing-row>div{display:grid;gap:3px}
.of-smart-billing-row small{color:#737887}
.of-smart-billing-date span{font-weight:800;color:#23294b}
.of-student-finance-summary{margin-top:18px;padding:18px;border:1px solid #eceef2;border-radius:18px;background:#fafafa}
.of-student-finance-summary h4{margin:2px 0 0;color:#23294b}
@media(max-width:900px){.of-smart-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.of-smart-billing-row{grid-template-columns:1fr auto}.of-smart-billing-date{grid-column:1}.of-smart-billing-row>.of-btn{grid-column:2;grid-row:1/3}}
@media(max-width:600px){.of-smart-finance-kpis{grid-template-columns:1fr 1fr}.of-smart-billing-row{grid-template-columns:1fr}.of-smart-billing-row>.of-btn{grid-column:auto;grid-row:auto;width:100%}}


/* Waléria Personal App 1.9.2 — regra permanente para controles do Financeiro
 * Nenhum botão/filtro desta área pode herdar rosa, magenta ou roxo do navegador,
 * tema ou bibliotecas externas. Identidade oficial: azul, laranja, branco e neutros.
 */
.of-smart-billing-card .of-billing-more,
.of-smart-billing-card .of-billing-more:link,
.of-smart-billing-card .of-billing-more:visited,
.of-smart-billing-card .of-billing-more:hover,
.of-smart-billing-card .of-billing-more:focus,
.of-smart-billing-card .of-billing-more:focus-visible,
.of-smart-billing-card .of-billing-more:active{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#ffffff!important;
  border:1px solid #23294b!important;
  color:#23294b!important;
  box-shadow:none!important;
  outline-color:#f8a232!important;
  text-decoration:none!important;
  transform:none!important;
  filter:none!important;
  accent-color:#23294b!important;
}
.of-smart-billing-card .of-billing-more:hover{
  background:#ffffff!important;
  border-color:#23294b!important;
  color:#23294b!important;
}
.of-smart-billing-card .of-billing-more:focus-visible{
  outline:2px solid #f8a232!important;
  outline-offset:2px!important;
}
.of-smart-billing-card .of-billing-filters button,
.of-smart-billing-card .of-billing-filters button:hover,
.of-smart-billing-card .of-billing-filters button:focus,
.of-smart-billing-card .of-billing-filters button:focus-visible,
.of-smart-billing-card .of-billing-filters button:active{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#ffffff!important;
  border-color:#23294b!important;
  color:#23294b!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
  accent-color:#23294b!important;
}
.of-smart-billing-card .of-billing-filters button.active,
.of-smart-billing-card .of-billing-filters button.active:hover,
.of-smart-billing-card .of-billing-filters button.active:focus,
.of-smart-billing-card .of-billing-filters button.active:focus-visible,
.of-smart-billing-card .of-billing-filters button.active:active{
  background:#23294b!important;
  border-color:#23294b!important;
  color:#ffffff!important;
}
.of-smart-billing-card .of-billing-filters button:focus-visible{
  outline:2px solid #f8a232!important;
  outline-offset:2px!important;
}

/* Waléria Personal App 1.9.3 — gestão de medidas no painel da gestora */
.of-measure-record-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(35,41,75,.1)}
.of-measure-record-actions .of-btn,.of-measure-edit-actions .of-btn{border-color:#23294b!important;color:#23294b!important;background:#fff!important;box-shadow:none!important}
.of-measure-record-actions .of-btn:hover,.of-measure-record-actions .of-btn:focus,.of-measure-record-actions .of-btn:active,.of-measure-edit-actions .of-btn:hover,.of-measure-edit-actions .of-btn:focus,.of-measure-edit-actions .of-btn:active{border-color:#f8a232!important;color:#23294b!important;background:rgba(248,162,50,.1)!important;outline:2px solid rgba(248,162,50,.28)!important;outline-offset:2px}
.of-measure-edit-actions .of-btn.primary{background:#23294b!important;border-color:#23294b!important;color:#fff!important}
.of-measure-edit-actions .of-btn.primary:hover,.of-measure-edit-actions .of-btn.primary:focus{background:#f8a232!important;border-color:#f8a232!important;color:#23294b!important}
.of-history-record.editing{border-color:rgba(248,162,50,.7);box-shadow:0 0 0 3px rgba(248,162,50,.1)}
.of-measure-edit-form{margin-top:16px;padding:16px;border-radius:16px;background:#f7f8fa;border:1px solid rgba(35,41,75,.1)}
.of-measure-edit-form[hidden]{display:none!important}
.of-measure-edit-form>label,.of-measure-edit-grid label{display:flex;flex-direction:column;gap:7px;color:#23294b;font-size:12px;font-weight:800}
.of-measure-edit-form input,.of-measure-edit-form textarea{width:100%;border:1px solid rgba(35,41,75,.2)!important;border-radius:12px;background:#fff!important;color:#23294b!important;padding:11px 12px;box-shadow:none!important}
.of-measure-edit-form input:focus,.of-measure-edit-form textarea:focus{border-color:#f8a232!important;outline:2px solid rgba(248,162,50,.24)!important;outline-offset:1px}
.of-measure-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.of-measure-edit-notes{margin-top:12px}
.of-measure-edit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
@media(max-width:760px){.of-measure-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.of-measure-record-actions,.of-measure-edit-actions{flex-direction:column}.of-measure-record-actions .of-btn,.of-measure-edit-actions .of-btn{width:100%}}
@media(max-width:460px){.of-measure-edit-grid{grid-template-columns:1fr}}


/* Waléria Personal App 1.10.0 — Dashboard da Valéria 2.0 */
.of-dashboard-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.of-dashboard-insight{display:flex;flex-direction:column;gap:14px;min-height:156px}
.of-dashboard-insight-main{display:flex;flex-direction:column;gap:6px}
.of-dashboard-insight-main strong{font-size:30px;line-height:1;color:#23294b}
.of-dashboard-insight-main small{color:#656b82;line-height:1.5}
.of-dashboard-progress{height:9px;border-radius:999px;background:#eceef3;overflow:hidden;margin-top:auto}
.of-dashboard-progress i{display:block;height:100%;border-radius:inherit;background:#f8a232}
.of-dashboard-attention{border-left:4px solid #f8a232}
.of-dashboard-bottom-grid{align-items:stretch}
.of-dashboard-bottom-grid>.of-card{height:100%}
@media(max-width:980px){.of-dashboard-insights{grid-template-columns:1fr 1fr}.of-dashboard-insights .of-dashboard-insight:last-child{grid-column:1/-1}}
@media(max-width:680px){.of-dashboard-insights{grid-template-columns:1fr}.of-dashboard-insights .of-dashboard-insight:last-child{grid-column:auto}.of-dashboard-insight{min-height:auto}.of-dashboard-insight-main strong{font-size:26px}}


/* Histórico de aulas por aluno e por data — v1.10.1 */
.of-history-view-tabs{display:flex;gap:8px;max-width:430px;margin:0 0 18px;padding:5px;border-radius:16px;background:rgba(35,41,75,.06)}
.of-history-view-tab{flex:1;border:1px solid #23294b;background:#fff;color:#23294b;border-radius:12px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer;box-shadow:none;outline-color:#f8a232}
.of-history-view-tab:hover{background:#fff;color:#23294b;border-color:#23294b;box-shadow:none}
.of-history-view-tab.active{background:#23294b;color:#fff;border-color:#23294b}
.of-history-view-tab.active:hover{background:#23294b;color:#fff}
.of-history-view-panel{display:none}.of-history-view-panel.active{display:block}
.of-date-history-layout{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);gap:22px;align-items:start;margin-bottom:18px}
.of-date-history-calendar-card,.of-date-history-results-card{min-width:0}
.of-date-history-calendar .of-calendar-day{cursor:pointer}
.of-date-history-calendar .of-calendar-day:hover{background:#fff;border-color:rgba(35,41,75,.22);box-shadow:none;transform:none}
.of-date-history-calendar .of-calendar-day.has-records{border-width:2px;border-color:#f8a232}
.of-date-history-calendar .of-calendar-day.selected{background:#23294b;color:#fff;border-color:#23294b}
.of-date-history-calendar .of-calendar-day small{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:700}
.of-date-history-calendar .of-calendar-day small i{width:6px;height:6px;border-radius:50%}
.of-date-history-calendar .present-dot{background:#2f9e63}.of-date-history-calendar .absent-dot{background:#d84b4b}
.of-date-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.of-date-history-summary>div{display:grid;gap:4px;padding:13px;border:1px solid rgba(35,41,75,.1);border-radius:13px;background:rgba(35,41,75,.025)}
.of-date-history-summary span{font-size:12px;color:rgba(35,41,75,.65)}.of-date-history-summary strong{font-size:24px;color:#23294b}
.of-date-history-results{display:grid;gap:14px}
.of-date-history-group{border:1px solid rgba(35,41,75,.12);border-radius:16px;padding:16px;background:#fff}
.of-date-history-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid rgba(35,41,75,.1)}
.of-date-history-group-head span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#f8a232;font-weight:800}.of-date-history-group-head h4{margin:3px 0 0;color:#23294b}.of-date-history-group-head b{color:#23294b;font-size:13px}
.of-date-history-list{display:grid}.of-date-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(35,41,75,.08)}.of-date-history-row:last-child{border-bottom:0}.of-date-history-row>div{display:grid;gap:3px}.of-date-history-row small{color:rgba(35,41,75,.6)}
.of-date-history-more{margin-top:12px;width:100%;background:#fff!important;color:#23294b!important;border-color:#23294b!important;box-shadow:none!important}.of-date-history-more:hover,.of-date-history-more:focus,.of-date-history-more:active{background:#23294b!important;color:#fff!important;border-color:#23294b!important;box-shadow:none!important;outline-color:#f8a232!important}
@media(max-width:980px){.of-date-history-layout{grid-template-columns:1fr}}
@media(max-width:700px){.of-history-view-tabs{max-width:none}.of-date-history-summary{grid-template-columns:1fr 1fr}.of-date-history-summary>div:last-child{grid-column:1/-1}.of-date-history-layout{gap:16px}.of-date-history-calendar-card,.of-date-history-results-card{padding:16px}}

/* Histórico por data compacto e lista única — v1.10.2 */
.of-history-view-tabs{
  display:flex!important;
  gap:8px!important;
  max-width:430px!important;
  margin:0 0 18px!important;
  padding:5px!important;
  border:1px solid rgba(35,41,75,.10)!important;
  border-radius:14px!important;
  background:rgba(35,41,75,.045)!important;
}
.of-history-view-tab,
.of-history-view-tab:hover,
.of-history-view-tab:focus,
.of-history-view-tab:active{
  flex:1!important;
  border:1px solid #23294b!important;
  background:#fff!important;
  color:#23294b!important;
  border-radius:10px!important;
  padding:11px 16px!important;
  box-shadow:none!important;
  outline:2px solid transparent!important;
  transform:none!important;
}
.of-history-view-tab.active,
.of-history-view-tab.active:hover,
.of-history-view-tab.active:focus,
.of-history-view-tab.active:active{
  background:#23294b!important;
  color:#fff!important;
  border-color:#23294b!important;
  box-shadow:none!important;
}
.of-history-view-tab:focus-visible{outline-color:#f8a232!important;outline-offset:2px!important}
.of-date-history-date-card{margin-bottom:18px}
.of-date-history-date-field{display:grid;gap:8px;max-width:360px;color:#23294b;font-weight:700}
.of-date-history-date-field>span{display:flex;width:100%;min-width:0;border:1px solid rgba(35,41,75,.20);border-radius:12px;background:#fff;padding:11px 13px}
.of-date-history-date-field input{display:block;width:100%;min-width:0;border:0!important;background:transparent!important;padding:0!important;color:#23294b!important;font:inherit!important;box-shadow:none!important;outline:0!important}
.of-date-history-date-field>span:focus-within{border-color:#f8a232;box-shadow:0 0 0 3px rgba(248,162,50,.14)}
.of-date-history-results-full{width:100%;margin-bottom:18px}
.of-date-history-results{display:grid;gap:16px;width:100%}
.of-date-history-master-list{width:100%;border:1px solid rgba(35,41,75,.12);border-radius:16px;overflow:hidden;background:#fff}
.of-date-history-group{padding:0!important;border:0!important;border-radius:0!important;background:#fff!important}
.of-date-history-group+.of-date-history-group{border-top:1px solid rgba(35,41,75,.14)!important}
.of-date-history-group-head{padding:14px 18px!important;background:rgba(35,41,75,.035)!important;border-bottom:1px solid rgba(35,41,75,.09)!important}
.of-date-history-list{padding:0 18px}
.of-date-history-row{min-height:58px}
.of-date-history-more,
.of-date-history-more:hover,
.of-date-history-more:focus,
.of-date-history-more:active{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 18px!important;
  border:1px solid #23294b!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#23294b!important;
  font:inherit!important;
  font-weight:700!important;
  box-shadow:none!important;
  outline:2px solid transparent!important;
  cursor:pointer!important;
  transform:none!important;
}
.of-date-history-more:focus-visible{outline-color:#f8a232!important;outline-offset:2px!important}
@media(max-width:700px){
  .of-history-view-tabs{max-width:none!important}
  .of-date-history-date-field{max-width:none}
  .of-date-history-group-head,.of-date-history-list{padding-left:14px!important;padding-right:14px!important}
}


/* Sprint 11 — Central de Comunicação */
.of-communication-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.of-communication-tab{appearance:none;border:1px solid #23294b;background:#fff;color:#23294b;border-radius:10px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer;box-shadow:none;outline-color:#23294b}.of-communication-tab:hover,.of-communication-tab:focus{background:#fff;color:#23294b;border-color:#23294b;box-shadow:0 0 0 3px rgba(35,41,75,.10)}.of-communication-tab.active,.of-communication-tab.active:hover,.of-communication-tab.active:focus{background:#23294b;color:#fff;border-color:#23294b}.of-communication-panel{display:none}.of-communication-panel.active{display:block}.of-communication-list,.of-student-communications{display:grid;gap:14px}.of-communication-card,.of-student-communication{border-left:4px solid #f8a232}.of-communication-card.priority-urgent,.of-student-communication.priority-urgent{border-left-color:#b42318}.of-communication-card.priority-important,.of-student-communication.priority-important{border-left-color:#f8a232}.of-communication-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;padding-top:14px;border-top:1px solid #e7e9ef;color:#59617a;font-size:14px}.of-communication-meta strong{color:#23294b}.of-modal-wide{max-width:760px}.of-empty-state{text-align:center;padding:34px}.of-empty-state p{margin-bottom:0}.of-form-actions{display:flex;justify-content:flex-end;gap:10px}.of-student-communication small{display:block;margin-top:15px;color:#6b7280}@media(max-width:700px){.of-communication-tabs{display:grid;grid-template-columns:1fr 1fr 1fr}.of-communication-tab{padding:10px 6px}.of-form-actions{flex-direction:column-reverse}.of-form-actions .of-btn{width:100%}}

/* Waléria Personal App 1.11.1 — estabilização visual da Central de Comunicação
 * Regra oficial: nenhum controle clicável desta área pode herdar rosa, magenta
 * ou roxo do tema, navegador ou bibliotecas externas.
 */
.of-app .of-section[data-section="notifications"] .of-communication-tab,
.of-app .of-section[data-section="notifications"] .of-communication-tab:hover,
.of-app .of-section[data-section="notifications"] .of-communication-tab:focus,
.of-app .of-section[data-section="notifications"] .of-communication-tab:focus-visible,
.of-app .of-section[data-section="notifications"] .of-communication-tab:active {
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#fff!important;
  color:#23294b!important;
  border:1px solid #23294b!important;
  box-shadow:none!important;
  outline:2px solid transparent!important;
  outline-offset:2px!important;
  text-shadow:none!important;
  transform:none!important;
}
.of-app .of-section[data-section="notifications"] .of-communication-tab.active,
.of-app .of-section[data-section="notifications"] .of-communication-tab.active:hover,
.of-app .of-section[data-section="notifications"] .of-communication-tab.active:focus,
.of-app .of-section[data-section="notifications"] .of-communication-tab.active:focus-visible,
.of-app .of-section[data-section="notifications"] .of-communication-tab.active:active {
  background:#23294b!important;
  color:#fff!important;
  border-color:#23294b!important;
  box-shadow:none!important;
}
.of-app .of-section[data-section="notifications"] .of-communication-tab:focus-visible {
  outline-color:#f8a232!important;
}

/* Botões da página e do modal de nova comunicação. */
.of-app .of-section[data-section="notifications"] .of-btn,
.of-app .of-section[data-section="notifications"] .of-btn:hover,
.of-app .of-section[data-section="notifications"] .of-btn:focus,
.of-app .of-section[data-section="notifications"] .of-btn:focus-visible,
.of-app .of-section[data-section="notifications"] .of-btn:active,
.of-app [data-modal-id="new-communication"] .of-btn,
.of-app [data-modal-id="new-communication"] .of-btn:hover,
.of-app [data-modal-id="new-communication"] .of-btn:focus,
.of-app [data-modal-id="new-communication"] .of-btn:focus-visible,
.of-app [data-modal-id="new-communication"] .of-btn:active {
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid #23294b!important;
  border-radius:10px!important;
  box-shadow:none!important;
  outline:2px solid transparent!important;
  outline-offset:2px!important;
  text-shadow:none!important;
  transform:none!important;
}
.of-app .of-section[data-section="notifications"] .of-btn.primary,
.of-app .of-section[data-section="notifications"] .of-btn.primary:hover,
.of-app .of-section[data-section="notifications"] .of-btn.primary:focus,
.of-app .of-section[data-section="notifications"] .of-btn.primary:active,
.of-app [data-modal-id="new-communication"] .of-btn.primary,
.of-app [data-modal-id="new-communication"] .of-btn.primary:hover,
.of-app [data-modal-id="new-communication"] .of-btn.primary:focus,
.of-app [data-modal-id="new-communication"] .of-btn.primary:active {
  background:#23294b!important;
  color:#fff!important;
  border-color:#23294b!important;
}
.of-app .of-section[data-section="notifications"] .of-btn.ghost,
.of-app .of-section[data-section="notifications"] .of-btn.ghost:hover,
.of-app .of-section[data-section="notifications"] .of-btn.ghost:focus,
.of-app .of-section[data-section="notifications"] .of-btn.ghost:active,
.of-app [data-modal-id="new-communication"] .of-btn.ghost,
.of-app [data-modal-id="new-communication"] .of-btn.ghost:hover,
.of-app [data-modal-id="new-communication"] .of-btn.ghost:focus,
.of-app [data-modal-id="new-communication"] .of-btn.ghost:active {
  background:#fff!important;
  color:#23294b!important;
  border-color:#23294b!important;
}
.of-app .of-section[data-section="notifications"] .of-btn:focus-visible,
.of-app [data-modal-id="new-communication"] .of-btn:focus-visible {
  outline-color:#f8a232!important;
}

/* Botões de arquivar e outros controles de ação nos cards. */
.of-app .of-section[data-section="notifications"] button:not(.of-communication-tab):not(.of-btn),
.of-app .of-section[data-section="notifications"] button:not(.of-communication-tab):not(.of-btn):hover,
.of-app .of-section[data-section="notifications"] button:not(.of-communication-tab):not(.of-btn):focus,
.of-app .of-section[data-section="notifications"] button:not(.of-communication-tab):not(.of-btn):active {
  color:#23294b!important;
  border-color:#23294b!important;
  box-shadow:none!important;
  outline-color:#f8a232!important;
}

/* Campos, selects, datas, checkboxes e radios da comunicação. */
.of-app [data-modal-id="new-communication"] input,
.of-app [data-modal-id="new-communication"] select,
.of-app [data-modal-id="new-communication"] textarea {
  accent-color:#23294b!important;
  caret-color:#23294b!important;
}
.of-app [data-modal-id="new-communication"] input:hover,
.of-app [data-modal-id="new-communication"] select:hover,
.of-app [data-modal-id="new-communication"] textarea:hover {
  border-color:#23294b!important;
  box-shadow:none!important;
}
.of-app [data-modal-id="new-communication"] input:focus,
.of-app [data-modal-id="new-communication"] input:focus-visible,
.of-app [data-modal-id="new-communication"] select:focus,
.of-app [data-modal-id="new-communication"] select:focus-visible,
.of-app [data-modal-id="new-communication"] textarea:focus,
.of-app [data-modal-id="new-communication"] textarea:focus-visible {
  border-color:#f8a232!important;
  outline:2px solid rgba(248,162,50,.24)!important;
  outline-offset:1px!important;
  box-shadow:none!important;
}
.of-app [data-modal-id="new-communication"] .of-modal-close,
.of-app [data-modal-id="new-communication"] .of-modal-close:hover,
.of-app [data-modal-id="new-communication"] .of-modal-close:focus,
.of-app [data-modal-id="new-communication"] .of-modal-close:active {
  background:#fff!important;
  color:#23294b!important;
  border-color:#23294b!important;
  box-shadow:none!important;
  outline-color:#f8a232!important;
}

/* Sprint 12 — Minha Evolução */
.of-evolution-selector-card{max-width:520px;margin-bottom:18px}.of-evolution-selector-card label{display:grid;gap:8px}.of-evolution-panel{display:grid;gap:18px}.of-evolution-kpis{margin-bottom:18px}.of-evolution-main-grid{align-items:stretch}.of-evolution-progress-card{display:grid;gap:16px}.of-evolution-progress{height:10px;background:#edf0f6;border-radius:999px;overflow:hidden}.of-evolution-progress span{display:block;height:100%;background:#f8a232;border-radius:inherit}.of-evolution-split{display:flex;gap:10px;flex-wrap:wrap}.of-evolution-split span{padding:7px 10px;border:1px solid #e5e8ef;border-radius:999px;color:#23294b;background:#fff;font-size:.86rem}.of-evolution-measures-card{margin-top:18px}.of-evolution-measure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:16px}.of-evolution-measure-grid>div{display:grid;gap:5px;justify-items:center;text-align:center;padding:16px 12px;border:1px solid #e7e9ef;border-radius:16px;background:#fff}.of-evolution-measure-grid span{font-size:.82rem;color:#6d7180}.of-evolution-measure-grid strong{font-size:1.35rem;color:#23294b}.of-evolution-measure-grid small{color:#f8a232;font-weight:700}.of-section[data-section="evolution"] .of-btn,.of-section[data-section="evolution-admin"] .of-btn{box-shadow:none!important}.of-section[data-section="evolution"] .of-btn:hover,.of-section[data-section="evolution-admin"] .of-btn:hover{border-color:#23294b!important;color:#23294b!important;background:#fff!important}@media(max-width:760px){.of-evolution-main-grid{grid-template-columns:1fr}.of-evolution-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.12.1 — mensalidade personalizada e seletor de data das medidas */
.of-package-value-field{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.of-package-value-field legend{width:100%}
.of-custom-package-value{flex:1 1 220px;min-width:200px}
.of-custom-package-value[hidden]{display:none!important}
.of-date-picker-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;align-items:center}
.of-date-picker-field>.of-date-br{width:100%}
.of-date-picker-button{width:46px;height:46px;border:1px solid #23294b;border-radius:12px;background:#fff;color:#23294b;font-size:20px;line-height:1;cursor:pointer}
.of-date-picker-button:hover,.of-date-picker-button:focus-visible{background:#23294b;color:#fff;border-color:#23294b;outline:2px solid #f8a232;outline-offset:2px}
.of-native-date-picker{position:absolute!important;right:0!important;bottom:0!important;width:46px!important;height:46px!important;opacity:0!important;pointer-events:none!important}

/* v1.12.1 — aplicativo sem a barra frontal do WordPress */
body:not(.wp-admin) .of-app{padding-top:0!important}
body:not(.wp-admin) .of-topbar{top:0!important}
@media (min-width:861px){
  body:not(.wp-admin) .of-sidebar{top:0!important;inset:0 auto auto 0!important;height:100vh!important}
}
@media (max-width:860px){
  body:not(.wp-admin) .of-main{min-height:100vh!important}
  body:not(.wp-admin) .of-sidebar{top:0!important;inset:0 auto auto 0!important;height:100dvh!important}
  body:not(.wp-admin) .of-mobile-overlay{inset:0!important}
  body:not(.wp-admin) .of-mobile-floating-menu{top:calc(16px + env(safe-area-inset-top,0px))!important}
}
.of-date-picker-button svg{display:block;margin:auto}

/* Waléria Personal App 1.12.2 — calendário de medidas sem rosa/magenta */
.of-app .of-date-picker-button,
.of-app .of-date-picker-button:hover,
.of-app .of-date-picker-button:focus,
.of-app .of-date-picker-button:focus-visible,
.of-app .of-date-picker-button:active{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:46px!important;
  height:46px!important;
  border:1px solid #f8a232!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:#23294b!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  outline:none!important;
}
.of-app .of-date-picker-button:hover{
  background:#f8a232!important;
  color:#ffffff!important;
  border-color:#f8a232!important;
}
.of-app .of-date-picker-button:focus,
.of-app .of-date-picker-button:focus-visible{
  background:#ffffff!important;
  color:#23294b!important;
  border-color:#f8a232!important;
  outline:2px solid rgba(248,162,50,.42)!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 3px rgba(248,162,50,.12)!important;
}
.of-app .of-date-picker-button:active{
  background:#23294b!important;
  color:#ffffff!important;
  border-color:#23294b!important;
  outline:2px solid #f8a232!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.of-app .of-date-picker-button svg,
.of-app .of-date-picker-button svg *{
  color:inherit!important;
  stroke:currentColor!important;
}

/* Waléria Personal App 1.13.2 — logo transparente e clicável */
.of-sidebar-brand,
.of-sidebar-brand:hover,
.of-sidebar-brand:focus,
.of-sidebar-brand:focus-visible,
.of-sidebar-brand:active,
.of-topbar-logo,
.of-topbar-logo:hover,
.of-topbar-logo:focus,
.of-topbar-logo:focus-visible,
.of-topbar-logo:active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.of-sidebar-brand img,
.of-topbar-logo img{
  background:transparent!important;
  mix-blend-mode:normal!important;
}

/* Waléria Personal App 1.13.4 — organização de alunos ativos/inativos */
.of-student-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 10px;padding:0 2px 9px;border-bottom:2px solid #f8a232;color:#23294b}
.of-student-list-heading span{font-weight:800;font-size:17px}
.of-student-list-heading small{font-size:13px;color:#23294b;opacity:.68}
.of-student-list-heading.inactive{margin-top:30px;border-bottom-color:#23294b}
.of-student-item[data-student-status="inativo"]{opacity:.78}
.of-student-item[data-student-status="inativo"] .of-accordion-toggle{background:#fff}
@media(max-width:700px){.of-student-list-heading{align-items:flex-start;flex-direction:column;gap:2px}.of-student-list-heading small{font-size:12px}}

/* Waléria Personal App 1.14.2 — frequência por data */
.of-attendance-date-card{margin-bottom:18px}
.of-attendance-date-control{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;max-width:420px}
.of-attendance-date-control .of-date-picker-field{width:230px;max-width:100%}
.of-attendance-date-control small{width:100%;color:#23294b;opacity:.72}
@media(max-width:700px){.of-attendance-date-control,.of-attendance-date-control .of-date-picker-field{width:100%;max-width:none}}


/* Waléria Personal App 1.14.3 — somatório vitalício e frequência histórica sincronizada */
.of-lifetime-entry-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid rgba(35,41,75,.10);background:#fff}
.of-lifetime-entry-card>div{min-width:0}.of-lifetime-entry-card h3{margin:4px 0 5px}.of-lifetime-entry-card p{margin:0;max-width:720px;color:var(--muted)}
.of-lifetime-entry-card>strong{flex:0 0 auto;color:var(--orange);font-size:clamp(28px,3vw,42px);line-height:1;font-weight:800;letter-spacing:-.03em}
@media(max-width:700px){.of-lifetime-entry-card{align-items:flex-start;flex-direction:column;gap:14px}.of-lifetime-entry-card>strong{font-size:32px}}


/* v1.14.4 — frequência somente segunda, quarta e sexta */
.of-section[data-section="classes"] .of-choice button.of-attendance-day-locked,
.of-section[data-section="classes"] .of-choice button.of-attendance-day-locked:hover,
.of-section[data-section="classes"] .of-choice button.of-attendance-day-locked:focus,
.of-section[data-section="classes"] .of-choice button.of-attendance-day-locked:active{
  cursor:not-allowed!important;
  opacity:.48!important;
  background:#f7f4ef!important;
  color:#23294b!important;
  border-color:rgba(35,41,75,.16)!important;
  box-shadow:none!important;
  transform:none!important;
}
.of-section[data-section="classes"] .of-save-attendance.of-attendance-day-locked,
.of-section[data-section="classes"] .of-save-attendance.of-attendance-day-locked:hover,
.of-section[data-section="classes"] .of-save-attendance.of-attendance-day-locked:focus,
.of-section[data-section="classes"] .of-save-attendance.of-attendance-day-locked:active{
  cursor:not-allowed!important;
  opacity:.58!important;
  background:#ffffff!important;
  color:#23294b!important;
  border:1px solid rgba(35,41,75,.18)!important;
  box-shadow:none!important;
  transform:none!important;
}


/* v1.14.5 — chamada encerrada após salvar */
.of-choice button.of-attendance-saved-locked,
.of-save-attendance.of-attendance-saved-locked{cursor:not-allowed!important;opacity:.72;}
.of-choice button.of-attendance-saved-locked.active{opacity:1;}
.of-save-attendance.of-attendance-saved-locked{background:#f3f3f3!important;color:#6f6259!important;border-color:#d8d0ca!important;box-shadow:none!important;}


/* v1.16.0 — Central de Comunicação */
.of-communication-summary{margin:0 0 16px}
.of-communication-templates-card,.of-whatsapp-groups-card{margin:0 0 16px}
.of-template-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.of-template-actions .of-btn{min-height:42px}
.of-whatsapp-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.of-whatsapp-group-grid label{display:grid;gap:7px}
.of-whatsapp-group-grid input{width:100%}
.of-whatsapp-groups-form .of-form-actions{margin-top:14px}
.of-communication-card .of-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.of-send-whatsapp{border-color:#23294b!important;color:#23294b!important;background:#fff!important}
.of-send-whatsapp:hover,.of-send-whatsapp:focus,.of-send-whatsapp:active{border-color:#f8a232!important;background:#f8a232!important;color:#fff!important;box-shadow:none!important}
.of-communication-templates-card .of-btn:hover,.of-communication-templates-card .of-btn:focus{border-color:#f8a232!important;background:#fff!important;color:#23294b!important;box-shadow:0 0 0 3px rgba(248,162,50,.14)!important}
@media(max-width:980px){.of-whatsapp-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.of-whatsapp-group-grid{grid-template-columns:1fr}.of-template-actions{display:grid;grid-template-columns:1fr}.of-template-actions .of-btn{width:100%}.of-communication-card .of-actions{display:grid;grid-template-columns:1fr}.of-communication-card .of-actions .of-btn{width:100%}}

/* v1.16.1 — responsividade geral: widescreen, notebook, tablet e mobile */
@media (min-width:1600px){
  .of-sidebar{width:260px}
  .of-app{grid-template-columns:260px minmax(0,1fr)}
  .of-topbar{padding-left:40px;padding-right:40px}
  .of-content{padding-left:40px;padding-right:40px;max-width:1920px;width:100%;margin:0 auto}
}

/* Notebook / telas desktop compactas (ex.: 1366x768 e 1280x800). */
@media (min-width:1025px) and (max-width:1440px){
  .of-app{grid-template-columns:210px minmax(0,1fr)!important}
  .of-sidebar{width:210px!important;padding:16px 12px!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin}
  .of-sidebar-head{margin-bottom:10px!important;gap:8px!important}
  .of-sidebar-brand{padding:2px 4px!important;min-width:0!important}
  .of-sidebar-brand img{width:min(150px,100%)!important;max-height:38px!important;object-fit:contain!important}
  .of-user{padding:9px 8px!important;margin-bottom:10px!important;border-radius:12px!important;gap:8px!important}
  .of-avatar{width:32px!important;height:32px!important;min-width:32px!important;font-size:12px!important}
  .of-user>div:last-child{font-size:12px!important;line-height:1.2!important;min-width:0!important}
  .of-nav{gap:2px!important}
  .of-nav button{padding:8px 10px!important;border-radius:9px!important;font-size:12.5px!important;line-height:1.2!important;min-height:34px!important}
  .of-logout{margin-top:auto!important;padding:9px 10px!important;font-size:12.5px!important;line-height:1.2!important;position:sticky!important;bottom:0!important;background:var(--brown)!important;border-top:1px solid rgba(255,255,255,.08)!important;z-index:2!important}
  .of-main{grid-column:2!important;min-width:0!important}
  .of-topbar{padding:16px 24px 12px!important}
  .of-topbar h1{font-size:23px!important}
  .of-content{padding:6px 24px 38px!important}
  .of-section-head{margin:8px 0 14px!important}
  .of-section-head h2{font-size:26px!important}
  .of-hero{padding:24px!important;border-radius:20px!important}
  .of-hero h2{font-size:30px!important}
  .of-card{padding:17px!important;border-radius:17px!important}
  .of-grid{gap:13px!important}
  .of-grid.stats{gap:12px!important}
  .of-card.stat strong{font-size:25px!important}
  .of-mini-grid{gap:8px!important}
  .of-mini-grid>div{padding:10px!important}
  .of-class-grid{gap:13px!important}
  .of-accordion-toggle{padding:13px 15px!important}
  .of-accordion-panel{padding:0 15px 15px!important}
  .of-whatsapp-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Notebook baixo: garante que Sair nunca seja empurrado para fora da tela. */
@media (min-width:1025px) and (max-height:820px){
  .of-sidebar{padding-top:11px!important;padding-bottom:8px!important}
  .of-sidebar-head{margin-bottom:6px!important}
  .of-sidebar-brand img{max-height:31px!important;width:min(138px,100%)!important}
  .of-user{padding:7px!important;margin-bottom:6px!important}
  .of-avatar{width:28px!important;height:28px!important;min-width:28px!important}
  .of-nav{gap:1px!important}
  .of-nav button{padding:6px 9px!important;min-height:29px!important;font-size:12px!important}
  .of-logout{padding:7px 9px!important;min-height:30px!important}
}

/* Tablet horizontal: menu vira drawer antes que o conteúdo fique espremido. */
@media (min-width:821px) and (max-width:1024px){
  .of-content{padding-left:20px!important;padding-right:20px!important}
  .of-grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .of-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .of-class-grid,.of-grid.two{grid-template-columns:1fr!important}
}

/* Mobile retrato: preserva leitura e evita controles espremidos. */
@media (max-width:560px){
  .of-content{padding-left:12px!important;padding-right:12px!important;padding-bottom:32px!important}
  .of-card{padding:15px!important;border-radius:16px!important}
  .of-section-head{gap:10px!important;flex-wrap:wrap!important}
  .of-section-head h2{font-size:24px!important}
  .of-grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .of-card.stat{padding:13px!important}
  .of-card.stat strong{font-size:22px!important}
  .of-hero{gap:14px!important;border-radius:18px!important}
  .of-hero h2{font-size:25px!important}
  .of-actions{display:grid!important;grid-template-columns:1fr!important}
  .of-actions .of-btn{width:100%!important;min-width:0!important}
  .of-row,.of-attendance-row{align-items:flex-start!important;flex-wrap:wrap!important}
  .of-choice{margin-left:auto!important}
  .of-toast{left:12px!important;right:12px!important;bottom:16px!important;max-width:none!important}
}

/* Hardening para qualquer breakpoint: tabelas e campos nunca alargam a página. */
.of-app img,.of-app svg{max-width:100%}
.of-app input,.of-app select,.of-app textarea,.of-app button{max-width:100%}
.of-history-table-wrap,.of-finance-line-chart{max-width:100%;-webkit-overflow-scrolling:touch}

/* Waléria Personal App 1.17.0 — Biblioteca de exercícios e treinos remotos */
.of-exercise-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:5px;background:rgba(35,41,75,.06);border-radius:16px;max-width:680px}
.of-exercise-tabs button{border:1px solid transparent;background:#fff;color:#23294b;padding:11px 16px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.of-exercise-tabs button:hover,.of-exercise-tabs button:focus-visible{border-color:#f8a232;color:#23294b;outline:none;box-shadow:none}
.of-exercise-tabs button.active{background:#23294b;color:#fff;border-color:#23294b}
.of-exercise-panel{display:none}.of-exercise-panel.active{display:block}
.of-exercise-upload-card{margin-bottom:24px}
.of-exercise-file-field input[type=file]{width:100%;border:1px solid rgba(35,41,75,.16);border-radius:14px;padding:8px;background:#fff;color:#23294b}
.of-exercise-file-field input[type=file]::file-selector-button{border:0;border-radius:10px;padding:10px 14px;margin-right:12px;background:#23294b;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.of-exercise-file-field input[type=file]::file-selector-button:hover{background:#f8a232;color:#23294b}
.of-exercise-meta-fields{display:grid;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(35,41,75,.1)}
.of-optional{font-size:12px;font-weight:600;color:rgba(35,41,75,.55)}
.of-exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.of-exercise-card{min-width:0;border:1px solid rgba(35,41,75,.1);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(35,41,75,.06)}
.of-exercise-video-shell{aspect-ratio:16/10;background:#101426;display:flex;align-items:center;justify-content:center}
.of-exercise-video-shell video{display:block;width:100%;height:100%;object-fit:contain;background:#101426}
.of-exercise-card-body{padding:16px;display:grid;gap:10px}
.of-exercise-card-body h3{margin:0;color:#23294b}.of-exercise-card-body p{margin:0;color:rgba(35,41,75,.72);line-height:1.55}
.of-exercise-card-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.of-exercise-select{display:flex!important;align-items:center;gap:7px!important;padding:7px 9px!important;border:1px solid rgba(35,41,75,.14)!important;border-radius:10px!important;background:#fff!important;color:#23294b!important;font-size:12px!important;font-weight:800!important;white-space:nowrap}
.of-exercise-select input{accent-color:#f8a232!important}
.of-workout-class-picker{border:1px solid rgba(35,41,75,.12);border-radius:16px;padding:15px;margin:4px 0 18px}
.of-workout-class-picker legend{padding:0 7px;font-weight:800;color:#23294b}.of-workout-class-picker>div{display:flex;gap:10px 18px;flex-wrap:wrap}.of-workout-class-picker label{display:flex;align-items:center;gap:7px;margin:0}.of-workout-class-picker input{accent-color:#f8a232}
.of-workout-exercise-title{margin:20px 0 12px}.of-workout-history{display:grid;gap:0}.of-workout-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(35,41,75,.1)}.of-workout-history-row:last-child{border-bottom:0}.of-workout-history-row>div{display:grid;gap:4px}.of-workout-history-row small{color:rgba(35,41,75,.62)}
.of-student-workouts{display:grid;gap:22px}.of-student-workout.is-latest{border:2px solid rgba(248,162,50,.5)}.of-workout-instructions{margin:0 0 18px;padding:14px 16px;border-left:4px solid #f8a232;background:rgba(248,162,50,.08);border-radius:0 12px 12px 0}.of-workout-instructions p{margin:6px 0 0}.of-student-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.of-app .of-exercise-tabs button:focus,.of-app .of-exercise-tabs button:active,.of-app .of-exercise-file-field input[type=file]:focus{outline:2px solid #f8a232!important;outline-offset:2px!important;box-shadow:none!important}
@media(max-width:1180px){.of-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.of-exercise-tabs{max-width:none}.of-exercise-tabs button{flex:1 1 130px}.of-exercise-grid,.of-student-exercise-grid{grid-template-columns:1fr}.of-workout-history-row{grid-template-columns:1fr;gap:7px}.of-exercise-card-head{flex-direction:column}.of-exercise-select{width:100%;justify-content:center}}


/* Waléria Personal App 1.18.0 — pacote real + calendário baseado em registros */
.of-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
.of-current-package-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:18px}
.of-current-package-toolbar h3{margin-bottom:6px}
.of-current-package-toolbar p{margin:0;color:rgba(35,41,75,.66);max-width:760px;line-height:1.5}
.of-current-package-dates{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}
.of-current-package-dates>span{display:grid;gap:4px;padding:12px 14px;border-radius:13px;background:rgba(35,41,75,.05);font-size:11px;color:rgba(35,41,75,.62)}
.of-current-package-dates strong{font-size:14px;color:#23294b}
.of-student-home-hero{align-items:center}
.of-home-package-card{margin-bottom:16px;border-color:rgba(248,162,50,.34);box-shadow:0 12px 32px rgba(35,41,75,.07)}
.of-home-package-card .of-card-head{align-items:flex-start}
.of-home-package-card .of-card-head p{margin:4px 0 0;color:rgba(35,41,75,.64)}
.of-home-package-remaining{display:grid;text-align:right;font-size:30px;line-height:1;color:#23294b}
.of-home-package-remaining small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(35,41,75,.54);margin-top:5px}
.of-home-package-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.of-home-package-meta>div{display:grid;gap:5px;padding:12px;border-radius:13px;background:rgba(35,41,75,.05)}
.of-home-package-meta span{font-size:11px;color:rgba(35,41,75,.58)}
.of-home-package-meta strong{font-size:14px;color:#23294b}
.of-student-home-shortcuts{margin:16px 0}
.of-home-shortcut{display:flex;flex-direction:column;align-items:flex-start;min-height:190px}
.of-home-shortcut h3{margin-bottom:7px}
.of-home-shortcut p{margin:0 0 18px;color:rgba(35,41,75,.68);line-height:1.45}
.of-home-shortcut .of-btn{margin-top:auto}
.of-measure-history-action .of-measure-history-orange,
.of-measure-history-action .of-measure-history-orange:hover,
.of-measure-history-action .of-measure-history-orange:focus,
.of-measure-history-action .of-measure-history-orange:active{background:#f8a232!important;border-color:#f8a232!important;color:#fff!important;min-height:44px;padding:11px 17px!important;box-shadow:none!important;transform:none!important}
.of-student-package-summary .of-card-head{align-items:flex-start}
.of-package-big-number{display:grid;text-align:right;font-size:30px;line-height:1;color:#23294b}
.of-package-big-number small{margin-top:5px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(35,41,75,.54)}
.of-student-calendar-workspace{margin:18px 0}
.of-student-package-calendar .of-calendar-day[data-student-calendar-date]{cursor:pointer}
.of-student-package-calendar .of-calendar-day[data-student-calendar-date]:focus-visible{outline:2px solid #f8a232!important;outline-offset:2px;box-shadow:none!important}
.of-student-package-calendar .of-calendar-day:not([data-student-calendar-date]){pointer-events:none}
.of-calendar-legend .present{background:#2f9e63!important;border-color:#2f9e63!important}
.of-calendar-legend .absent{background:#d84b4b!important;border-color:#d84b4b!important}
.of-calendar-legend .planned{background:#f8a232!important;border-color:#f8a232!important}
.of-calendar-legend .unmarked{background:#fff!important;border-color:rgba(35,41,75,.3)!important}

@media(max-width:1180px){
  .of-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .of-student-home-shortcuts .of-home-shortcut:last-child{grid-column:1/-1;min-height:0}
}
@media(max-width:900px){
  .of-current-package-toolbar{grid-template-columns:1fr}
  .of-current-package-dates{width:100%}
}
@media(max-width:700px){
  .of-grid.three{grid-template-columns:1fr}
  .of-student-home-shortcuts .of-home-shortcut:last-child{grid-column:auto}
  .of-home-shortcut{min-height:0}
  .of-home-package-card .of-card-head{gap:12px}
  .of-home-package-meta,.of-current-package-dates{grid-template-columns:1fr}
  .of-home-package-remaining,.of-package-big-number{text-align:left}
  .of-student-calendar-workspace .of-calendar-lesson-summary{width:100%}
}


/* ============================================================
   Waléria Personal App v1.18.2 — Login sem zoom + navegação protegida
   ============================================================ */
/* O login permanece responsivo, mas sua escala é fixa. Não há zoom por
   pinça, duplo toque ou foco automático em campos no celular. */
html:has(.of-login-wrap),
body:has(.of-login-wrap){
  width:100%!important;
  min-width:100%!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow:auto!important;
  overscroll-behavior:auto!important;
  -webkit-text-size-adjust:100%!important;
}
body:has(.of-login-wrap){
  position:relative!important;
  inset:auto!important;
  min-height:100dvh!important;
  background:#23294b!important;
}
.of-login-wrap{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:100%!important;
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:pan-x pan-y!important;
  -ms-touch-action:pan-x pan-y!important;
}
.of-login-card{
  max-height:none!important;
  touch-action:pan-x pan-y!important;
}
.of-login-form input,
.of-login-form button,
.of-login-form label,
.of-login-form a{
  touch-action:manipulation!important;
}
.of-login-form input,
.of-login-form select,
.of-login-form textarea{
  font-size:16px!important;
}

/* Evita overscroll horizontal dentro do app. A proteção efetiva de sessão e
   histórico é feita também em JS; esta regra reduz o gesto lateral onde o
   navegador respeita overscroll-behavior. */
html:has(.of-app),
body:has(.of-app),
.of-app{
  overscroll-behavior-x:none!important;
}


/* Waléria Personal 1.18.3 — login sem zoom automático ao focar campos (iOS/Safari) */
html:has(.of-login-wrap),body:has(.of-login-wrap){-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
.of-login-wrap,.of-login-card,.of-login-form{touch-action:manipulation}
.of-login-form input[type="text"],
.of-login-form input[type="password"],
.of-login-form input[name="login"]{font-size:16px!important;line-height:1.25!important;transform:none!important;zoom:1!important}
@media(max-height:720px){
  .of-login-form input[type="text"],
  .of-login-form input[type="password"],
  .of-login-form input[name="login"]{font-size:16px!important}
}

/* Waléria Personal App 1.19.0 — Exercícios: identidade oficial + acompanhamento de treino */
.of-app .of-section[data-section="exercises"] .of-btn,
.of-app .of-section[data-section="exercises"] .of-btn:hover,
.of-app .of-section[data-section="exercises"] .of-btn:focus,
.of-app .of-section[data-section="exercises"] .of-btn:focus-visible,
.of-app .of-section[data-section="exercises"] .of-btn:active,
.of-app [data-modal-id="edit-exercise"] .of-btn,
.of-app [data-modal-id="edit-exercise"] .of-btn:hover,
.of-app [data-modal-id="edit-exercise"] .of-btn:focus,
.of-app [data-modal-id="edit-exercise"] .of-btn:active{box-shadow:none!important;outline-color:#f8a232!important;text-decoration:none!important}
.of-app .of-section[data-section="exercises"] .of-btn.primary,
.of-app .of-section[data-section="exercises"] .of-btn.primary:hover,
.of-app .of-section[data-section="exercises"] .of-btn.primary:focus,
.of-app .of-section[data-section="exercises"] .of-btn.primary:active,
.of-app [data-modal-id="edit-exercise"] .of-btn.primary,
.of-app [data-modal-id="edit-exercise"] .of-btn.primary:hover,
.of-app [data-modal-id="edit-exercise"] .of-btn.primary:focus,
.of-app [data-modal-id="edit-exercise"] .of-btn.primary:active{background:#f8a232!important;color:#fff!important;border:1px solid #f8a232!important}
.of-app .of-section[data-section="exercises"] .of-btn.soft,
.of-app .of-section[data-section="exercises"] .of-btn.soft:hover,
.of-app .of-section[data-section="exercises"] .of-btn.soft:focus,
.of-app .of-section[data-section="exercises"] .of-btn.soft:active{background:#23294b!important;color:#fff!important;border:1px solid #23294b!important}
.of-app .of-section[data-section="exercises"] .of-btn.ghost,
.of-app .of-section[data-section="exercises"] .of-btn.ghost:hover,
.of-app .of-section[data-section="exercises"] .of-btn.ghost:focus,
.of-app .of-section[data-section="exercises"] .of-btn.ghost:active{background:#fff!important;color:#23294b!important;border:1px solid #23294b!important}
.of-app .of-section[data-section="exercises"] .of-btn.ghost.is-done,
.of-app .of-section[data-section="exercises"] .of-btn.ghost.is-done:hover,
.of-app .of-section[data-section="exercises"] .of-btn.ghost.is-done:focus{background:#23294b!important;color:#fff!important;border-color:#23294b!important}
.of-app .of-section[data-section="exercises"] input[type="checkbox"]{accent-color:#f8a232!important}
.of-app .of-section[data-section="exercises"] input:focus,
.of-app .of-section[data-section="exercises"] textarea:focus,
.of-app .of-section[data-section="exercises"] select:focus{border-color:#f8a232!important;outline:2px solid rgba(248,162,50,.22)!important;box-shadow:none!important}

.of-student-workout-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:5px;background:rgba(35,41,75,.06);border-radius:16px;max-width:520px}
.of-student-workout-tabs button{appearance:none;border:1px solid #23294b;background:#fff;color:#23294b;border-radius:12px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer;box-shadow:none}
.of-student-workout-tabs button:hover,.of-student-workout-tabs button:focus{background:#fff;color:#23294b;border-color:#f8a232;outline:2px solid rgba(248,162,50,.18);outline-offset:1px}
.of-student-workout-tabs button.active,.of-student-workout-tabs button.active:hover,.of-student-workout-tabs button.active:focus{background:#23294b;color:#fff;border-color:#23294b;outline:none}
.of-student-workout-panel{display:none}.of-student-workout-panel.active{display:block}
.of-workout-tracking-status{display:grid;gap:4px;margin:0 0 18px;padding:14px 16px;border-radius:14px;background:rgba(35,41,75,.055);border:1px solid rgba(35,41,75,.1)}
.of-workout-tracking-status strong{color:#23294b}.of-workout-tracking-status span{color:rgba(35,41,75,.72);font-size:.92rem}
.of-workout-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.of-workout-actions .of-btn{min-width:150px}
.of-workout-package-note{margin:14px 0 0;padding-top:14px;border-top:1px solid rgba(35,41,75,.1);color:rgba(35,41,75,.72);font-size:.9rem;line-height:1.5}
.of-student-exercise-grid .of-exercise-card.is-done{border-color:#23294b;box-shadow:0 0 0 2px rgba(35,41,75,.08)}
.of-workout-exercise-check{width:100%;margin-top:4px}
.of-student-workout-history{display:grid;gap:18px}.of-completed-workout{display:grid;gap:16px}
.of-completed-workout-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.of-completed-workout-stats>div{display:grid;gap:4px;padding:13px;border-radius:13px;background:rgba(35,41,75,.05)}.of-completed-workout-stats span{font-size:.78rem;color:rgba(35,41,75,.66)}.of-completed-workout-stats strong{color:#23294b}
.of-completed-workout-details{border-top:1px solid rgba(35,41,75,.1);padding-top:14px}.of-completed-workout-details summary{cursor:pointer;color:#23294b;font-weight:800}.of-completed-exercise-list{display:grid;gap:0;margin-top:10px}.of-completed-exercise-list>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(35,41,75,.08)}.of-completed-exercise-list>div:last-child{border-bottom:0}.of-completed-exercise-list span{color:#f8a232;font-weight:900}.of-completed-exercise-list small{color:rgba(35,41,75,.62)}
@media(max-width:700px){.of-student-workout-tabs{max-width:none}.of-student-workout-tabs button{flex:1 1 145px}.of-workout-actions{display:grid;grid-template-columns:1fr}.of-workout-actions .of-btn{width:100%}.of-completed-workout-stats{grid-template-columns:1fr}.of-completed-exercise-list>div{grid-template-columns:24px minmax(0,1fr)}.of-completed-exercise-list small{grid-column:2}}
.of-workout-history-item{border-bottom:1px solid rgba(35,41,75,.1)}.of-workout-history-item:last-child{border-bottom:0}.of-workout-history-item .of-workout-history-row{border-bottom:0}.of-manager-workout-followup{padding:0 0 14px}.of-manager-workout-followup summary{cursor:pointer;color:#23294b;font-weight:800;font-size:.9rem}.of-manager-workout-students{display:grid;gap:0;margin-top:10px;border:1px solid rgba(35,41,75,.1);border-radius:12px;padding:0 12px}.of-manager-workout-students>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(35,41,75,.08)}.of-manager-workout-students>div:last-child{border-bottom:0}.of-manager-workout-students small{color:rgba(35,41,75,.65)}@media(max-width:700px){.of-manager-workout-students>div{grid-template-columns:1fr auto}.of-manager-workout-students small{grid-column:1/-1}}

/* v1.20.0 — identidade visual, menu mobile e centrais compactas */
.of-app .of-exercise-tabs button,
.of-app .of-student-workout-tabs button{background:#fff!important;color:#23294b!important;border:1px solid transparent!important;box-shadow:none!important}
.of-app .of-exercise-tabs button:hover,.of-app .of-exercise-tabs button:focus-visible,.of-app .of-exercise-tabs button:active,
.of-app .of-student-workout-tabs button:hover,.of-app .of-student-workout-tabs button:focus-visible,.of-app .of-student-workout-tabs button:active{background:rgba(248,162,50,.14)!important;color:#23294b!important;border-color:#f8a232!important;outline:2px solid rgba(248,162,50,.20)!important;box-shadow:none!important}
.of-app .of-exercise-tabs button.active,.of-app .of-student-workout-tabs button.active{background:#23294b!important;color:#fff!important;border-color:#23294b!important;outline:none!important}
.of-home-notification-center,.of-manager-notification-center{padding:16px 18px!important;margin:14px 0 18px}
.of-notification-center-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.of-notification-center-head h3{margin:2px 0 0}
.of-notification-compact-list{display:grid;gap:8px}.of-app-notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(35,41,75,.09)}.of-app-notification-item:last-child{border-bottom:0}.of-app-notification-copy{min-width:0}.of-app-notification-copy strong{display:block;color:#23294b}.of-app-notification-copy p{margin:3px 0 4px;color:rgba(35,41,75,.75);font-size:13px}.of-app-notification-copy small{color:rgba(35,41,75,.55);font-size:11px}.of-app-notification-actions{display:flex;gap:6px;align-items:center}.of-app-notification-actions .of-btn{padding:8px 11px;border-radius:10px;font-size:12px}.of-notification-empty{padding:8px 0;color:rgba(35,41,75,.62);font-size:13px}
.of-manager-notification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.of-manager-notification-grid button{border:1px solid rgba(35,41,75,.1);background:rgba(35,41,75,.035);border-radius:14px;padding:12px;text-align:left;color:#23294b;cursor:pointer}.of-manager-notification-grid button:hover,.of-manager-notification-grid button:focus-visible{border-color:#f8a232;background:rgba(248,162,50,.10);outline:none}.of-manager-notification-grid strong{display:block;font-size:22px}.of-manager-notification-grid span{font-size:12px;color:rgba(35,41,75,.66)}
.of-btn:disabled,.of-btn[aria-disabled="true"]{opacity:.48!important;cursor:not-allowed!important;pointer-events:none!important}
@media(max-width:900px){.of-sidebar-head .of-sidebar-brand{display:none!important}.of-sidebar-head{justify-content:flex-end!important;margin-bottom:4px!important}.of-sidebar{padding-top:12px!important}.of-user{margin-top:0!important}.of-manager-notification-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.of-home-notification-center,.of-manager-notification-center{padding:14px!important}.of-notification-center-head{align-items:flex-start;flex-direction:column}.of-notification-center-head .of-btn{width:100%}.of-app-notification-item{grid-template-columns:1fr;gap:8px}.of-app-notification-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.of-app-notification-actions .of-btn{width:100%}.of-manager-notification-grid{grid-template-columns:1fr}.of-manager-notification-grid button{text-align:center}}

/* v1.22.5 — busca instantânea por início do nome + correção do seletor em Medidas */
.of-student-picker{
  position:relative;
  width:100%;
  margin:8px 0 10px;
  z-index:6;
}
.of-student-picker-search{
  width:100%;
  min-height:46px;
  margin:0;
  padding:11px 44px 11px 15px;
  border:1px solid rgba(35,41,75,.18);
  border-radius:14px;
  background:#fff;
  color:#23294b;
  font:inherit;
  font-size:14px;
  font-weight:650;
  outline:none;
  box-sizing:border-box;
  box-shadow:0 5px 18px rgba(35,41,75,.05);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.of-student-picker:after{
  content:"⌕";
  position:absolute;
  right:15px;
  top:12px;
  color:#f8a232;
  font-size:21px;
  line-height:1;
  pointer-events:none;
  font-weight:900;
}
.of-student-picker-search::placeholder{color:rgba(35,41,75,.48);font-weight:500}
.of-student-picker-search:hover{border-color:rgba(35,41,75,.32)}
.of-student-picker-search:focus{
  border-color:#f8a232!important;
  box-shadow:0 0 0 3px rgba(248,162,50,.14),0 8px 22px rgba(35,41,75,.07)!important;
  outline:none!important;
}
.of-student-picker-native{
  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;
}
/* A lista participa do fluxo da página. Isso evita clipping/caixas vazias em Medidas
   e mantém o resultado imediatamente abaixo da pesquisa em qualquer breakpoint. */
.of-student-picker-results{
  position:relative;
  z-index:7;
  width:100%;
  margin-top:6px;
  max-height:310px;
  overflow:auto;
  padding:6px;
  background:#fff;
  border:1px solid rgba(35,41,75,.12);
  border-radius:15px;
  box-shadow:0 12px 30px rgba(35,41,75,.11);
  box-sizing:border-box;
}
.of-student-picker-results[hidden]{display:none!important}
.of-student-picker-option{
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  align-items:center;
  gap:14px;
  padding:10px 12px;
  border:0!important;
  border-radius:10px;
  background:#fff!important;
  color:#23294b!important;
  text-align:left;
  cursor:pointer;
  box-shadow:none!important;
  outline:none!important;
}
.of-student-picker-option span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:750;
}
.of-student-picker-option small{
  display:block!important;
  width:82px;
  justify-self:end;
  text-align:right;
  color:rgba(35,41,75,.48);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.of-student-picker-option:hover,.of-student-picker-option:focus-visible,.of-student-picker-option.active{
  background:rgba(248,162,50,.12)!important;
  color:#23294b!important;
}
.of-student-picker-option:hover small,.of-student-picker-option.active small{color:#f8a232}
.of-student-picker-empty{padding:12px;color:rgba(35,41,75,.58);font-size:13px;text-align:center}
/* Garantia explícita para os dois seletores da área Medidas. */
.of-section[data-section="measurements"] .of-card,
.of-section[data-section="measurements"] .of-form,
.of-section[data-section="measurements"] label:has(.of-student-picker){overflow:visible!important}
.of-section[data-section="measurements"] .of-student-picker-results{min-height:0}
@media (max-width:820px){
  .of-card:has(.of-student-picker){overflow:visible!important}
}
@media (max-width:767px){
  .of-student-picker{margin:7px 0 9px}
  .of-student-picker-search{min-height:48px;font-size:16px;border-radius:13px;padding-left:14px}
  .of-student-picker-results{max-height:250px;box-shadow:0 8px 22px rgba(35,41,75,.09)}
  .of-student-picker-option{min-height:46px;grid-template-columns:minmax(0,1fr) 70px;padding:11px 10px;gap:8px}
  .of-student-picker-option small{width:70px;font-size:10.5px}
}

/* v1.22.0 — Pagamento = Aula 1 contabilizada */
.of-calendar-legend .payment{background:#23294b!important;border-color:#23294b!important}
.of-calendar-day.payment,
.of-calendar-day.payment:hover,
.of-calendar-day.payment:focus,
.of-calendar-day.payment:active{
  background:rgba(35,41,75,.10)!important;
  border-color:#23294b!important;
  color:#23294b!important;
  box-shadow:none!important;
}
.of-calendar-day.payment i{background:#23294b!important}
.of-summary-status.payment{background:rgba(35,41,75,.10)!important;color:#23294b!important}
@media(max-width:700px){
  .of-calendar-day.payment{border-width:2px!important}
}


/* Waléria Personal App 1.22.1 — histórico x pacote atual no calendário */
.of-calendar-day.historical,
.of-calendar-day.historical:hover,
.of-calendar-day.historical:focus,
.of-calendar-day.historical:active{
  opacity:.42!important;
  filter:none!important;
}
.of-calendar-day.historical.present,
.of-calendar-day.historical.present:hover,
.of-calendar-day.historical.present:focus,
.of-calendar-day.historical.present:active{border-color:#66c992!important}
.of-calendar-day.historical.absent,
.of-calendar-day.historical.absent:hover,
.of-calendar-day.historical.absent:focus,
.of-calendar-day.historical.absent:active{border-color:#d84b4b!important}
.of-calendar-day.present:not(.historical),
.of-calendar-day.absent:not(.historical),
.of-calendar-day.payment:not(.historical),
.of-calendar-day.planned:not(.historical){opacity:1!important}
.of-calendar-legend .of-history-legend{gap:6px}
.of-calendar-legend .historical-swatch{
  width:12px!important;height:12px!important;border-radius:50%!important;
  background:linear-gradient(90deg,rgba(22,121,76,.42) 0 50%,rgba(180,35,24,.42) 50% 100%)!important;
  border:1px solid rgba(35,41,75,.18)!important;
}
@media(max-width:700px){
  .of-calendar-legend{row-gap:8px!important}
  .of-calendar-legend .of-history-legend{width:100%;font-size:11px}
}

/* v1.22.6 — padronização global das buscas de alunos: exatamente 1 resultado por linha */
.of-app .of-student-picker-results{
  display:block!important;
  width:100%!important;
  padding:7px!important;
  box-sizing:border-box!important;
}
.of-app .of-student-picker-results[hidden]{display:none!important}
.of-app .of-student-picker-option{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0 0 6px 0!important;
  padding:11px 13px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(35,41,75,.08)!important;
  border-radius:11px!important;
  background:#fff!important;
  float:none!important;
  clear:both!important;
  flex:none!important;
}
.of-app .of-student-picker-option:last-child{margin-bottom:0!important}
.of-app .of-student-picker-option span{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:calc(100% - 96px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.35!important;
}
.of-app .of-student-picker-option small{
  display:block!important;
  flex:0 0 82px!important;
  width:82px!important;
  margin-left:auto!important;
  text-align:right!important;
  white-space:nowrap!important;
  line-height:1.35!important;
}
.of-app .of-student-picker-option:hover,
.of-app .of-student-picker-option:focus-visible,
.of-app .of-student-picker-option.active{
  background:rgba(248,162,50,.11)!important;
  border-color:rgba(248,162,50,.32)!important;
  color:#23294b!important;
}
@media(max-width:767px){
  .of-app .of-student-picker-results{padding:6px!important}
  .of-app .of-student-picker-option{
    min-height:50px!important;
    padding:12px 11px!important;
    gap:10px!important;
    margin-bottom:6px!important;
  }
  .of-app .of-student-picker-option span{max-width:calc(100% - 78px)!important;font-size:14px!important}
  .of-app .of-student-picker-option small{flex-basis:68px!important;width:68px!important;font-size:10.5px!important}
}


/* v1.22.7 — alinhamento uniforme dos resultados de busca */
.of-app .of-student-picker-option span{
  text-align:left!important;
  margin-right:auto!important;
}
.of-app .of-student-picker-option small{
  text-align:right!important;
  margin-left:auto!important;
}

/* =========================================================
   Orbis Fit App Demo Comercial v1.23.1
   Regras finais: largura total + paleta Orbis + contraste
   ========================================================= */
:root{
  --of-black:#0b0d10;
  --of-blue:#1f2a44;
  --of-orange:#ff9f1c;
  --of-white:#ffffff;
  --of-paper:#f7f8fa;
  --of-muted:#5f6878;
  --brown:var(--of-blue);
  --orange:var(--of-orange);
  --blue:var(--of-blue);
  --yellow:var(--of-orange);
  --bg:var(--of-paper);
  --card:var(--of-white);
  --text:var(--of-blue);
  --muted:var(--of-muted);
  --line:rgba(31,42,68,.16);
  --shadow:0 16px 44px rgba(11,13,16,.10);
}

/* A página do WordPress deixa de limitar o app a uma coluna do tema. */
body.orbis-fit-public-page,
body.orbis-fit-public-page #page,
body.orbis-fit-public-page .site,
body.orbis-fit-public-page .site-content,
body.orbis-fit-public-page #content,
body.orbis-fit-public-page .content-area,
body.orbis-fit-public-page .site-main,
body.orbis-fit-public-page main.site-main,
body.orbis-fit-public-page article.page,
body.orbis-fit-public-page .entry-content,
body.orbis-fit-public-page .wp-site-blocks,
body.orbis-fit-public-page .wp-block-post-content,
body.orbis-fit-public-page .elementor,
body.orbis-fit-public-page .elementor-section-wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.orbis-fit-public-page .site-content,
body.orbis-fit-public-page #content,
body.orbis-fit-public-page .content-area,
body.orbis-fit-public-page .site-main,
body.orbis-fit-public-page main.site-main,
body.orbis-fit-public-page article.page,
body.orbis-fit-public-page .entry-content,
body.orbis-fit-public-page .wp-block-post-content{
  padding-left:0!important;
  padding-right:0!important;
}
body.orbis-fit-public-page .entry-header,
body.orbis-fit-public-page .page-header,
body.orbis-fit-public-page .entry-title,
body.orbis-fit-public-page .page-title,
body.orbis-fit-public-page header.site-header,
body.orbis-fit-public-page footer.site-footer,
body.orbis-fit-public-page .site-footer{
  display:none!important;
}
body.orbis-fit-public-page .of-topbar{display:flex!important}
body.orbis-fit-public-page .of-commercial-nav{display:flex!important}
body.orbis-fit-public-page{overflow-x:hidden!important;background:var(--of-paper)!important}

.of-app{background:var(--of-paper)!important;color:var(--of-blue)!important;width:100%!important;max-width:none!important}
.of-main{background:var(--of-paper)!important;width:auto!important;max-width:none!important}
.of-content{width:100%!important;max-width:none!important}
.of-sidebar{background:var(--of-blue)!important;color:var(--of-white)!important}
.of-sidebar-brand img{filter:none!important}
.of-user{border-color:rgba(255,255,255,.18)!important;background:rgba(11,13,16,.14)!important}
.of-user strong{color:var(--of-white)!important}
.of-user small{color:rgba(255,255,255,.76)!important}
.of-avatar{background:var(--of-orange)!important;color:var(--of-blue)!important}
.of-nav button{color:rgba(255,255,255,.82)!important}
.of-nav button:hover,.of-nav button:focus-visible,.of-nav button.active{
  background:var(--of-orange)!important;
  color:var(--of-blue)!important;
}
.of-logout{color:var(--of-white)!important;border-radius:12px!important}
.of-logout:hover,.of-logout:focus-visible{background:rgba(255,255,255,.10)!important;color:var(--of-white)!important}
.of-menu-close{color:var(--of-white)!important}

.of-topbar{background:rgba(247,248,250,.96)!important;border-bottom:1px solid var(--line)!important}
.of-topbar h1,.of-current-section h1{color:var(--of-blue)!important}
.of-topbar-logo img{filter:none!important}
.of-menu-toggle,.of-notify-btn{background:var(--of-white)!important;color:var(--of-blue)!important;border-color:var(--line)!important}
.of-instagram-link{color:var(--of-blue)!important}

.of-demo-toolbar{
  background:var(--of-black)!important;
  color:var(--of-white)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.of-demo-toolbar b{color:var(--of-orange)!important}
.of-demo-toolbar a,.of-demo-toolbar button{
  background:transparent!important;
  color:var(--of-white)!important;
  border:1px solid rgba(255,255,255,.26)!important;
}
.of-demo-toolbar a:hover,.of-demo-toolbar a:focus-visible,.of-demo-toolbar button:hover,.of-demo-toolbar button:focus-visible{
  background:var(--of-orange)!important;
  color:var(--of-black)!important;
  border-color:var(--of-orange)!important;
}
.of-demo-toolbar form:last-child button{border-color:var(--of-orange)!important;color:var(--of-orange)!important}
.of-demo-toolbar form:last-child button:hover,.of-demo-toolbar form:last-child button:focus-visible{color:var(--of-black)!important}

.of-card,.of-student-item,.of-photo-group,.of-modal-card{background:var(--of-white)!important;color:var(--of-blue)!important;border-color:var(--line)!important}
.of-card h2,.of-card h3,.of-section-head h2,.of-section-head h3,.of-row strong,.of-accordion-toggle strong{color:var(--of-blue)!important}
.of-section-head p,.of-card p,.of-card small,.of-row small,.of-mini-grid span{color:var(--of-muted)!important}
.of-eyebrow,.of-kicker{color:var(--of-blue)!important}
.of-hero .of-kicker,.of-hero .of-eyebrow{color:var(--of-orange)!important}

.of-hero{background:var(--of-blue)!important;color:var(--of-white)!important}
.of-hero h2{color:var(--of-white)!important}
.of-hero p{color:rgba(255,255,255,.82)!important}
.of-hero.student{background:var(--of-orange)!important;color:var(--of-blue)!important}
.of-hero.student h2,.of-hero.student p,.of-hero.student strong,.of-hero.student small{color:var(--of-blue)!important}
.of-hero.student .of-chip,.of-hero.student .of-hero-number{background:rgba(31,42,68,.10)!important;color:var(--of-blue)!important}
.of-hero-number{color:var(--of-white)!important}

.of-btn{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.of-btn.primary{
  background:var(--of-orange)!important;
  color:var(--of-black)!important;
  border:1px solid var(--of-orange)!important;
}
.of-btn.primary:hover,.of-btn.primary:focus-visible,.of-btn.primary:active{
  background:var(--of-blue)!important;
  color:var(--of-white)!important;
  border-color:var(--of-blue)!important;
}
.of-btn.soft,.of-time-pill{
  background:rgba(255,159,28,.22)!important;
  color:var(--of-blue)!important;
}
.of-btn.soft:hover,.of-btn.soft:focus-visible{
  background:var(--of-blue)!important;
  color:var(--of-white)!important;
}
.of-btn.ghost,.of-photo-action,.of-icon-button{
  color:var(--of-blue)!important;
  border-color:rgba(31,42,68,.28)!important;
  background:var(--of-white)!important;
}
.of-btn.ghost:hover,.of-btn.ghost:focus-visible,.of-photo-action:hover,.of-photo-action:focus-visible,.of-icon-button:hover,.of-icon-button:focus-visible{
  background:var(--of-blue)!important;
  color:var(--of-white)!important;
  border-color:var(--of-blue)!important;
}
.of-link,.of-pix strong,.of-pix-value{color:var(--of-blue)!important}
.of-badge.ok,.of-badge.muted{background:rgba(31,42,68,.10)!important;color:var(--of-blue)!important}
.of-badge.warn,.of-badge.warning{background:rgba(255,159,28,.25)!important;color:var(--of-blue)!important}
.of-package-bar span{background:var(--of-orange)!important}
.of-progress-ring{background:conic-gradient(var(--of-orange) calc(var(--progress)*1%),rgba(255,255,255,.16) 0)!important}
.of-progress-ring:before{background:var(--of-blue)!important}
.of-progress-ring strong,.of-progress-ring small{color:var(--of-white)!important}

.of-form input,.of-form select,.of-form textarea,.of-search input,.of-student-picker-search{
  background:var(--of-white)!important;
  color:var(--of-blue)!important;
  border-color:rgba(31,42,68,.24)!important;
}
.of-form input:focus,.of-form select:focus,.of-form textarea:focus,.of-search input:focus,.of-student-picker-search:focus{
  outline:3px solid rgba(255,159,28,.45)!important;
  border-color:var(--of-blue)!important;
}
.of-demo-access-explain{
  display:grid;gap:5px;padding:14px 15px;border-radius:14px;
  background:rgba(255,159,28,.18);color:var(--of-blue);
}
.of-demo-access-explain strong,.of-demo-access-explain span{color:var(--of-blue)!important}

.of-app a:focus-visible,.of-app button:focus-visible,.of-app [role="button"]:focus-visible{
  outline:3px solid var(--of-orange)!important;
  outline-offset:3px!important;
}

@media (min-width:901px){
  .of-app{grid-template-columns:250px minmax(0,1fr)!important}
  .of-main{grid-column:2!important;min-width:0!important}
}

/* Contraste final para estados específicos herdados da base Waléria. */
.of-app .of-timeline span,
.of-app .of-date-history-group-head span,
.of-app .of-evolution-measure-grid small,
.of-app .of-lifetime-entry-card>strong,
.of-app .of-completed-exercise-list span,
.of-app .of-student-picker-option:hover small,
.of-app .of-student-picker-option.active small,
.of-app .of-current-measure em.bad{color:var(--of-blue)!important}
.of-app .of-choice button:last-child.active,
.of-app .of-send-whatsapp:hover,
.of-app .of-send-whatsapp:focus,
.of-app .of-send-whatsapp:active,
.of-app .of-measure-history-action .of-measure-history-orange:active,
.of-app [data-modal-id="edit-exercise"] .of-btn.primary:active{
  background:var(--of-orange)!important;
  color:var(--of-blue)!important;
  border-color:var(--of-orange)!important;
}
.of-app .of-calendar-day.planned,
.of-app .of-calendar-day.payment{color:var(--of-blue)!important}
.of-app .of-exercise-file-field input[type=file]::file-selector-button:hover{
  background:var(--of-orange)!important;color:var(--of-blue)!important;
}

/* Compatibilidade extra com temas clássicos, Astra/GeneratePress e block themes. */
body.orbis-fit-public-page #primary,
body.orbis-fit-public-page .ast-container,
body.orbis-fit-public-page .site-inner,
body.orbis-fit-public-page .content-wrapper,
body.orbis-fit-public-page .page-content,
body.orbis-fit-public-page .container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.orbis-fit-public-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright)){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.orbis-fit-public-page .has-global-padding{
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   Orbis Fit v1.23.6 — refinamento mobile-first do aplicativo
   ========================================================= */
html:has(.of-app),body:has(.of-app){overflow-x:hidden!important}
.of-app img{max-width:100%;height:auto}

@media (max-width:900px){
  .of-app .of-main{height:auto!important;min-height:100vh!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .of-app .of-sidebar{
    width:min(88vw,340px)!important;
    padding:16px 14px calc(22px + env(safe-area-inset-bottom))!important;
    overflow:auto!important;-webkit-overflow-scrolling:touch!important
  }
  .of-app .of-user{padding:12px 10px!important;margin-bottom:16px!important}
  .of-app .of-nav{gap:6px!important}
  .of-app .of-nav button,.of-app .of-logout{min-height:46px!important;padding:12px 13px!important}

  .of-app .of-topbar{
    position:sticky!important;top:0!important;z-index:90!important;
    padding:12px 14px 10px!important;gap:10px!important
  }
  .of-app .of-current-section{min-width:0!important}
  .of-app .of-current-section h1{font-size:20px!important;line-height:1.1!important}
  .of-app .of-current-section .of-eyebrow{font-size:10px!important;letter-spacing:.06em!important}
  .of-app .of-notify-btn{width:38px!important;height:38px!important}

  .of-app .of-demo-toolbar{
    position:sticky!important;top:74px!important;z-index:70!important;
    display:grid!important;gap:12px!important;margin:10px 14px 0!important;
    padding:12px!important;border-radius:16px!important
  }
  .of-app .of-demo-toolbar>div{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .of-app .of-demo-toolbar a,.of-app .of-demo-toolbar button{min-height:40px!important;padding:10px 12px!important;font-size:13px!important}

  .of-app .of-content{padding:10px 14px calc(26px + env(safe-area-inset-bottom))!important}
  .of-app .of-card,.of-app .of-student-item,.of-app .of-photo-card,.of-app .of-modal-card{border-radius:18px!important}

  .of-app .of-grid.stats,
  .of-app .of-grid.two,
  .of-app .of-class-grid,
  .of-app .of-photo-grid,
  .of-app .of-mini-grid{grid-template-columns:1fr!important}

  .of-app .of-hero{
    padding:18px!important;flex-direction:column!important;align-items:flex-start!important;
    gap:16px!important;border-radius:22px!important
  }
  .of-app .of-hero h2{font-size:29px!important;line-height:1.08!important;max-width:12ch!important}
  .of-app .of-hero-number{align-self:flex-end!important;width:78px!important;height:78px!important;border-radius:50%!important;font-size:30px!important}
  .of-app .of-hero-number small{font-size:10px!important;margin-top:-12px!important}

  .of-app .of-row,
  .of-app .of-attendance-row,
  .of-app .of-card-head,
  .of-app .of-section-head,
  .of-app .of-accordion-toggle{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  .of-app .of-section-head h2{font-size:26px!important;line-height:1.08!important}
  .of-app .of-section-head .of-btn{width:100%!important}
  .of-app .of-row>div,.of-app .of-attendance-row>div:first-child{width:100%!important}
  .of-app .of-timeline>div{grid-template-columns:1fr!important;gap:6px!important}
  .of-app .of-choice{width:100%!important;justify-content:flex-start!important}
  .of-app .of-actions{width:100%!important}
  .of-app .of-actions .of-btn,.of-app .of-btn{min-height:44px!important}
  .of-app .of-actions .of-btn{flex:1 1 100%!important}
  .of-app .grid-form{grid-template-columns:1fr!important}
  .of-app .span-2{grid-column:auto!important}

  .of-app .of-modal{padding:12px!important}
  .of-app .of-modal-card{max-height:88dvh!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
  .of-app .of-toast{left:14px!important;right:14px!important;bottom:14px!important;max-width:none!important}
  .of-app .of-app-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
}

@media (max-width:560px){
  .of-app .of-grid.stats{grid-template-columns:1fr!important}
  .of-app .of-current-section h1{font-size:18px!important}
  .of-app .of-hero h2{font-size:26px!important}
  .of-app .of-card{padding:16px!important}
  .of-app .of-card.stat strong{font-size:24px!important}
  .of-app .of-progress-ring{width:96px!important;height:96px!important}
  .of-app .of-progress-ring strong{font-size:26px!important}
  .of-app .of-photo-grid{gap:12px!important}
}

@media (max-width:390px){
  .of-app .of-topbar{padding:10px 12px 8px!important}
  .of-app .of-content{padding:8px 12px calc(22px + env(safe-area-inset-bottom))!important}
  .of-app .of-demo-toolbar{margin:8px 12px 0!important;top:68px!important}
  .of-app .of-hero{padding:16px!important}
  .of-app .of-hero h2{font-size:24px!important}
  .of-app .of-hero-number{width:70px!important;height:70px!important;font-size:27px!important}
}

/* =========================================================
   Orbis Fit v1.23.18 — demo guiada + navegação flutuante
   ========================================================= */
.of-demo-toolbar{display:none!important}

.of-demo-float-nav{
  position:fixed;right:18px;bottom:18px;z-index:180;
  display:grid;gap:9px;justify-items:end
}
.of-demo-float-action{
  display:flex;align-items:center;justify-content:flex-start;gap:9px;
  min-width:46px;height:46px;padding:0 13px;border-radius:999px;
  background:#0b0d10!important;color:#fff!important;text-decoration:none!important;
  border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 12px 34px rgba(11,13,16,.24);
  transition:background .18s ease,border-color .18s ease,width .18s ease,transform .18s ease
}
.of-demo-float-action svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.of-demo-float-action span{font-size:12px;font-weight:850;white-space:nowrap}
.of-demo-float-action:hover,.of-demo-float-action:focus-visible,.of-demo-float-action.is-label-open{
  background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important;transform:translateY(-1px)
}

.of-demo-coach{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:210;
  width:min(520px,calc(100vw - 28px));pointer-events:none
}
.of-demo-coach[hidden]{display:none!important}
.of-demo-coach-card{
  position:relative;pointer-events:auto;padding:22px 56px 20px 22px;border-radius:22px;
  background:#fff;color:#1f2a44;border:1px solid rgba(31,42,68,.15);
  box-shadow:0 24px 70px rgba(11,13,16,.28)
}
.of-demo-coach-kicker{display:block;color:#ff9f1c;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.of-demo-coach h3{margin:0 0 8px!important;color:#1f2a44!important;font-size:22px!important;line-height:1.08!important}
.of-demo-coach p{margin:0!important;color:#586174!important;font-size:14px!important;line-height:1.6!important}
.of-demo-coach-x{
  position:absolute;right:14px;top:14px;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  padding:0!important;border-radius:50%!important;border:1px solid rgba(31,42,68,.16)!important;
  background:#f5f6f8!important;color:#1f2a44!important;font-size:22px!important;line-height:1!important;
  display:grid!important;place-items:center!important;text-align:center!important;font-family:Arial,sans-serif!important;cursor:pointer
}
.of-demo-coach-x:hover,.of-demo-coach-x:focus-visible{background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important}
.of-demo-coach-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.of-demo-coach-actions .of-btn{margin:0!important;min-height:40px!important}

@media (max-width:900px){
  /* O drawer começa DEPOIS do cabeçalho do app; nada fica escondido sob ele. */
  .of-app .of-sidebar,
  .of-app.of-device-mobile .of-sidebar{
    top:68px!important;bottom:auto!important;height:calc(100dvh - 68px)!important;
    inset:68px auto auto 0!important;padding-top:14px!important
  }
  .of-app .of-mobile-overlay,
  .of-app.of-device-mobile .of-mobile-overlay{inset:68px 0 0!important}
  .of-app .of-sidebar-head{margin-top:0!important}
  .of-app .of-user{margin-top:0!important}

  .of-demo-float-nav{right:10px;bottom:calc(12px + env(safe-area-inset-bottom));gap:7px}
  .of-demo-float-action{
    width:44px;min-width:44px;height:44px;padding:0 11px;overflow:hidden;justify-content:flex-start
  }
  .of-demo-float-action span{display:none}
  .of-demo-float-action.is-label-open{width:auto;max-width:190px}
  .of-demo-float-action.is-label-open span{display:inline;font-size:11px}

  .of-demo-coach{bottom:calc(68px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}
  .of-demo-coach-card{padding:19px 50px 18px 18px;border-radius:20px;text-align:center}
  .of-demo-coach h3{font-size:20px!important}
  .of-demo-coach p{font-size:13px!important}
  .of-demo-coach-actions{justify-content:center}
}

@media (max-width:420px){
  .of-app .of-sidebar,.of-app.of-device-mobile .of-sidebar{top:64px!important;height:calc(100dvh - 64px)!important;inset:64px auto auto 0!important}
  .of-app .of-mobile-overlay,.of-app.of-device-mobile .of-mobile-overlay{inset:64px 0 0!important}
  .of-demo-coach{bottom:calc(64px + env(safe-area-inset-bottom));width:calc(100vw - 18px)}
  .of-demo-coach-card{padding:17px 46px 16px 15px}
  .of-demo-coach-actions .of-btn{width:100%!important}
}
@media (max-width:900px){
  .of-app .of-topbar-logo img{filter:brightness(0) invert(1)!important}
}


/* =========================================================
   Orbis Fit v1.23.19 — macroetapa competitiva do protótipo
   ========================================================= */
.of-prescription-advanced{margin:14px 0 18px;padding:18px;border:1px solid rgba(31,42,68,.12);border-radius:18px;background:rgba(31,42,68,.035)}
.of-prescription-template-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.of-prescription-template-row button,.of-automation-sim-actions button{border:1px solid rgba(31,42,68,.18);background:#fff;color:#1f2a44;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}
.of-prescription-template-row button:hover,.of-prescription-template-row button:focus-visible,.of-prescription-template-row button.active,.of-automation-sim-actions button:hover,.of-automation-sim-actions button:focus-visible,.of-automation-sim-actions button.active{background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important}
.of-prescription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.of-finance-command-center{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.of-finance-command-center article{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:18px;background:#1f2a44;color:#fff;border:1px solid rgba(255,255,255,.08)}
.of-finance-command-center strong{font-size:22px;color:#fff}.of-finance-command-center p{margin:0;color:rgba(255,255,255,.78)}.of-finance-command-center .of-kicker{color:#ff9f1c!important}.of-finance-command-center .of-btn{margin-top:auto}
.of-automation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.of-automation-kpis article{padding:16px;border:1px solid rgba(31,42,68,.12);border-radius:16px;background:#fff;display:grid;gap:5px}.of-automation-kpis strong{font-size:30px;color:#1f2a44}.of-automation-kpis span{font-size:13px;color:#697083}
.of-automation-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.of-automation-rules{display:grid;gap:9px}.of-automation-rules label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-radius:14px;background:rgba(31,42,68,.045);cursor:pointer}.of-automation-rules label>span{display:grid;gap:4px}.of-automation-rules small{color:#697083}.of-automation-rules input{appearance:none;width:46px;height:26px;flex:0 0 46px;border-radius:999px;background:#d8dce5;position:relative;cursor:pointer;transition:.2s}.of-automation-rules input:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}.of-automation-rules input:checked{background:#ff9f1c}.of-automation-rules input:checked:before{transform:translateX(20px);background:#0b0d10}
.of-automation-simulator{align-self:start}.of-automation-sim-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.of-automation-result{padding:14px;border-radius:14px;background:#1f2a44;color:#fff;display:grid;gap:5px;min-height:78px}.of-automation-result strong{color:#ff9f1c}.of-automation-result span{color:#fff}
.of-data-intelligence{display:grid;gap:14px;margin-bottom:16px}.of-data-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.of-data-kpis article{padding:16px;border-radius:16px;background:#1f2a44;color:#fff}.of-data-kpis span,.of-data-kpis small{display:block;color:rgba(255,255,255,.72)}.of-data-kpis strong{display:block;font-size:30px;color:#ff9f1c;margin:5px 0}.of-data-bars{height:190px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;padding-top:20px}.of-data-bars>div{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center;align-items:end}.of-data-bar{display:block;width:min(44px,72%);height:10%;margin:auto;border-radius:10px 10px 4px 4px;background:rgba(255,159,28,.22);position:relative;overflow:hidden}.of-data-bar i{position:absolute;left:0;right:0;bottom:0;background:#ff9f1c}.of-data-bars strong{font-size:12px;color:#1f2a44}.of-data-bars small{font-size:10px;color:#697083}
.of-student-command-center{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.of-student-command-center button{border:1px solid rgba(31,42,68,.1);border-radius:17px;background:#fff;text-align:left;padding:15px;display:grid;gap:4px;cursor:pointer;box-shadow:0 8px 24px rgba(31,42,68,.06)}.of-student-command-center button:hover,.of-student-command-center button:focus-visible{background:#1f2a44!important;color:#fff!important}.of-student-command-center span,.of-student-command-center small{font-size:11px;color:#697083}.of-student-command-center strong{font-size:20px;color:#1f2a44}.of-student-command-center button:hover span,.of-student-command-center button:hover small,.of-student-command-center button:hover strong,.of-student-command-center button:focus-visible span,.of-student-command-center button:focus-visible small,.of-student-command-center button:focus-visible strong{color:#fff!important}
.of-wellbeing-checkin{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:14px}.of-wellbeing-checkin>small{grid-column:1/-1;color:#697083}.of-wellbeing-options{display:flex;gap:8px}.of-wellbeing-options button{min-width:82px;border:1px solid rgba(31,42,68,.14);background:#fff;border-radius:15px;padding:10px;display:grid;place-items:center;gap:4px;font-size:22px;cursor:pointer}.of-wellbeing-options button span{font-size:11px;font-weight:800;color:#1f2a44}.of-wellbeing-options button:hover,.of-wellbeing-options button:focus-visible,.of-wellbeing-options button.active{background:#ff9f1c!important;border-color:#ff9f1c!important;color:#0b0d10!important}
@media(max-width:1050px){.of-prescription-grid{grid-template-columns:repeat(2,1fr)}.of-finance-command-center{grid-template-columns:1fr}.of-automation-kpis,.of-data-kpis,.of-student-command-center{grid-template-columns:repeat(2,1fr)}.of-automation-layout{grid-template-columns:1fr}}
@media(max-width:620px){.of-prescription-grid,.of-automation-kpis,.of-data-kpis,.of-student-command-center{grid-template-columns:1fr}.of-prescription-advanced,.of-automation-rules label,.of-finance-command-center article{text-align:center}.of-finance-command-center article{align-items:center}.of-automation-rules label{align-items:center}.of-data-bars{gap:5px;height:150px}.of-data-bar{width:65%}.of-wellbeing-checkin{grid-template-columns:1fr;text-align:center}.of-wellbeing-options{justify-content:center}.of-wellbeing-checkin>small{grid-column:auto;text-align:center}.of-automation-sim-actions,.of-prescription-template-row{justify-content:center}}

/* =========================================================
   Orbis Fit v1.23.20 — avaliação, agenda e retenção
   ========================================================= */
.of-feature-chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.of-feature-chip-grid span{display:inline-flex;align-items:center;min-height:38px;padding:9px 12px;border-radius:999px;background:rgba(255,159,28,.14);color:var(--of-blue,#1f2a44);font-weight:800;font-size:12px;border:1px solid rgba(255,159,28,.24)}
.of-modal-card-wide{width:min(760px,100%)!important}
.of-parq-fieldset{border:1px solid rgba(31,42,68,.16);border-radius:16px;padding:16px}
.of-parq-fieldset legend{padding:0 8px;font-weight:900;color:var(--of-blue,#1f2a44)}
.of-parq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.of-parq-grid label{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;background:#f7f8fa;border-radius:12px;color:var(--of-blue,#1f2a44);font-size:13px}
.of-parq-grid select{min-width:78px}

.of-agenda-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.of-agenda-status-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(31,42,68,.05)}
.of-agenda-status-grid strong{display:block;font-size:30px;color:var(--of-blue,#1f2a44);line-height:1}
.of-agenda-status-grid span{display:block;margin-top:8px;color:var(--of-muted,#667085);font-size:12px}
.of-agenda-list{display:grid;gap:12px}
.of-agenda-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center}
.of-agenda-date{width:68px;height:68px;border-radius:18px;background:var(--of-blue,#1f2a44);display:grid;place-items:center;align-content:center;color:#fff;text-align:center}
.of-agenda-date strong{font-size:27px;line-height:1;color:#fff!important}
.of-agenda-date span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--of-orange,#ff9f1c)}
.of-agenda-main small{color:var(--of-orange,#ff9f1c);font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:10px}
.of-agenda-main h3{margin:4px 0!important}
.of-agenda-main p{margin:0!important}
.of-agenda-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.of-retention-list{display:grid;gap:12px;margin:16px 0}
.of-retention-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:18px;align-items:center;border-left:4px solid rgba(31,42,68,.22)!important}
.of-retention-card.medio{border-left-color:var(--of-orange,#ff9f1c)!important}
.of-retention-card.alto{border-left-color:#d85d3f!important}
.of-retention-score{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;align-content:center;background:rgba(31,42,68,.08);text-align:center}
.of-retention-score strong{font-size:28px;color:var(--of-blue,#1f2a44);line-height:1}
.of-retention-score small{font-size:9px;color:var(--of-muted,#667085);max-width:62px;margin-top:3px}
.of-retention-copy h3{margin:2px 0 6px!important}
.of-retention-copy p{margin:0!important}
.of-retention-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.of-retention-meta span{font-size:11px;font-weight:800;padding:7px 9px;border-radius:999px;background:rgba(31,42,68,.07);color:var(--of-blue,#1f2a44)}
.of-retention-explain{background:var(--of-blue,#1f2a44)!important;color:#fff!important;text-align:center}
.of-retention-explain h3,.of-retention-explain p{color:#fff!important}
.of-retention-explain .of-kicker{color:var(--of-orange,#ff9f1c)!important}

@media(max-width:900px){
  .of-agenda-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .of-agenda-item,.of-retention-card{grid-template-columns:1fr;text-align:center;justify-items:center}
  .of-agenda-main,.of-retention-copy{width:100%;text-align:center}
  .of-agenda-actions{justify-content:center;width:100%}
  .of-retention-meta{justify-content:center}
  .of-retention-card .of-actions{justify-content:center;width:100%}
  .of-parq-grid{grid-template-columns:1fr}
  .of-feature-chip-grid{justify-content:center}
}
@media(max-width:560px){
  .of-agenda-status-grid{grid-template-columns:1fr}
  .of-agenda-status-grid article{text-align:center}
  .of-agenda-item{padding:16px!important}
  .of-agenda-actions .of-btn{width:100%}
  .of-retention-card .of-actions .of-btn{width:100%}
  .of-modal-card-wide{padding:18px!important}
}
.of-student-command-center{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.of-student-command-center{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.of-student-command-center{grid-template-columns:1fr}}
/* Menu ganha mais módulos sem esconder os últimos itens. */
.of-sidebar{min-height:0}
.of-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin}
.of-nav::-webkit-scrollbar{width:5px}.of-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.of-logout{flex:0 0 auto}

/* =========================================================
   Orbis Fit v1.23.21 — CRM comercial + Copiloto IA
   ========================================================= */
.of-crm-stats{margin-bottom:16px!important}
.of-crm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.of-crm-source-filter{display:flex;gap:8px;flex-wrap:wrap}
.of-crm-source-filter button{border:1px solid rgba(31,42,68,.16);background:#fff;color:#1f2a44;border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer}
.of-crm-source-filter button:hover,.of-crm-source-filter button:focus-visible,.of-crm-source-filter button.active{background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important}
.of-crm-pipeline{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px;scrollbar-width:thin}
.of-crm-column{min-width:250px;border:1px solid rgba(31,42,68,.10);background:rgba(31,42,68,.035);border-radius:18px;padding:10px;min-height:420px}
.of-crm-column>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 4px 12px}
.of-crm-column>header>div{display:flex;align-items:center;gap:8px}.of-crm-column>header span{font-weight:900;color:#1f2a44}.of-crm-column>header strong{display:grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:#ff9f1c;color:#0b0d10;font-size:12px}.of-crm-column>header small{color:#677087;font-weight:800}
.of-crm-column-body{display:grid;gap:10px}.of-crm-empty{padding:22px 10px;text-align:center;color:#7b8393;font-size:13px;border:1px dashed rgba(31,42,68,.14);border-radius:14px;background:#fff}
.of-crm-lead{background:#fff;border:1px solid rgba(31,42,68,.10);border-radius:15px;padding:14px;box-shadow:0 8px 24px rgba(31,42,68,.05)}
.of-crm-lead-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.of-crm-lead-top small{color:#7b8393}.of-crm-temp{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.of-crm-temp.quente{background:rgba(255,159,28,.22);color:#1f2a44}.of-crm-temp.morno{background:rgba(31,42,68,.10);color:#1f2a44}.of-crm-temp.frio{background:#eef1f6;color:#667085}
.of-crm-lead h4{font-size:17px;margin:10px 0 5px;color:#1f2a44}.of-crm-lead p{font-size:13px;margin:0;color:#657087;line-height:1.4}.of-crm-lead-value{font-size:21px;font-weight:950;color:#1f2a44;margin:12px 0}.of-crm-next{display:grid;gap:4px;padding:10px;border-radius:12px;background:rgba(255,159,28,.10)}.of-crm-next small{color:#7b8393}.of-crm-next strong{font-size:12px;color:#1f2a44;line-height:1.35}.of-crm-lead-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.of-crm-lead-actions .of-btn{font-size:11px;padding:9px 10px;min-height:36px!important}
.of-crm-explain-grid{margin-top:8px}

.of-ai-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.of-ai-summary article{display:grid;gap:5px}.of-ai-summary span{font-size:12px;color:#677087}.of-ai-summary strong{font-size:30px;color:#1f2a44}.of-ai-summary small{color:#7b8393}
.of-ai-workspace{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:16px;margin-bottom:16px}.of-ai-actions{align-content:start}.of-ai-actions h3{margin-bottom:14px}.of-ai-actions button{width:100%;text-align:left;border:1px solid rgba(31,42,68,.12);background:#fff;color:#1f2a44;border-radius:12px;padding:12px 13px;font-weight:800;cursor:pointer;margin-bottom:8px}.of-ai-actions button:hover,.of-ai-actions button:focus-visible,.of-ai-actions button.active{background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important}
.of-ai-chat{display:grid;gap:14px}.of-ai-chat-head>div{display:flex;align-items:center;gap:9px}.of-ai-chat-head>div>div{display:grid}.of-ai-chat-head small{color:#7b8393}.of-ai-status-dot{width:10px;height:10px;border-radius:50%;background:#ff9f1c;box-shadow:0 0 0 5px rgba(255,159,28,.13)}
.of-ai-answer{min-height:220px;padding:20px;border-radius:18px;background:#0b0d10;color:#fff;display:flex;flex-direction:column;justify-content:center}.of-ai-answer .of-kicker{color:#ff9f1c!important}.of-ai-answer h3{font-size:28px;margin:4px 0 10px;color:#fff!important}.of-ai-answer p{margin:0;color:rgba(255,255,255,.78)!important;line-height:1.65}.of-ai-answer.is-thinking{opacity:.82}.of-ai-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.of-ai-answer .of-ai-result-actions .of-btn{background:transparent!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important}.of-ai-answer .of-ai-result-actions .of-btn:hover,.of-ai-answer .of-ai-result-actions .of-btn:focus-visible{background:#ff9f1c!important;color:#0b0d10!important;border-color:#ff9f1c!important}
.of-ai-prompt-form{display:grid;gap:10px}.of-ai-prompt-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#1f2a44}.of-ai-prompt-form select,.of-ai-prompt-form textarea{width:100%;border:1px solid rgba(31,42,68,.20);border-radius:12px;background:#fff;color:#1f2a44;padding:11px 12px;font:inherit}.of-ai-input-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.of-ai-input-row .of-btn{height:100%;min-height:48px}.of-ai-use-cases{margin-bottom:8px}

@media(max-width:1100px){.of-ai-summary{grid-template-columns:repeat(2,1fr)}.of-ai-workspace{grid-template-columns:1fr}.of-ai-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.of-ai-actions>.of-kicker,.of-ai-actions>h3{grid-column:1/-1}.of-ai-actions button{margin:0}}
@media(max-width:900px){
  .of-crm-toolbar{justify-content:center}.of-crm-source-filter{justify-content:center}.of-crm-pipeline{grid-template-columns:repeat(5,minmax(82vw,1fr));scroll-snap-type:x proximity}.of-crm-column{min-width:82vw;scroll-snap-align:center;min-height:0}.of-crm-lead{text-align:center}.of-crm-lead-top{justify-content:center;flex-wrap:wrap}.of-crm-next{text-align:center}.of-crm-lead-actions{grid-template-columns:1fr}.of-crm-explain-grid{text-align:center}
  .of-ai-summary{grid-template-columns:1fr 1fr;text-align:center}.of-ai-workspace{text-align:center}.of-ai-actions{grid-template-columns:1fr}.of-ai-actions button{text-align:center}.of-ai-chat-head>div{justify-content:center}.of-ai-answer{text-align:center;align-items:center}.of-ai-result-actions{justify-content:center}.of-ai-prompt-form{text-align:center}.of-ai-input-row{grid-template-columns:1fr}.of-ai-use-cases{text-align:center}
}
@media(max-width:560px){.of-ai-summary{grid-template-columns:1fr}.of-crm-pipeline{grid-template-columns:repeat(5,minmax(86vw,1fr))}.of-crm-column{min-width:86vw}.of-ai-answer{min-height:240px;padding:18px 15px}.of-ai-answer h3{font-size:24px}.of-crm-toolbar>.of-btn{width:100%}.of-crm-source-filter{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px}.of-crm-source-filter button{flex:0 0 auto}}
