:root{--brown:#23294b;--orange:#f8a232;--pink:#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)5df;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:inherit!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{--pink:var(--orange)!important}
.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 remoção final do rosa 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;--pink:#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}
}
