/* ── Fonte consolidada: base-style ── */

*{box-sizing:border-box;margin:0;padding:0}
:root{
 --lime:#C8FF00;--blue:#00D4FF;--purple:#A78BFA;--red:#FF6B6B;
 --green:#34D399;--amber:#FCD34D;--pink:#F472B6;--orange:#FB923C;
 --bg:#080810;--bg2:#0E0D17;--bg3:#13121C;--bg4:#1A1928;--bg5:#211F30;
 --border:#1E1C2A;--border2:#2A2740;--faint:#2E2C3A;
 --text:#E8E6F0;--muted:#9A97A8;--dim:#3A3850;
}
body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;min-height:100vh;font-size:16px;line-height:1.7;overscroll-behavior:none;}
html{overscroll-behavior:none;}
*::-webkit-scrollbar{width:4px;height:4px}
*::-webkit-scrollbar-track{background:var(--bg2)}
*::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
input,select,textarea,button{font-family:inherit;font-size:15px;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none}

/* ── LAYOUT ── */
#shell{display:flex;min-height:100vh;min-height:-webkit-fill-available}
#sidebar{-webkit-overflow-scrolling:touch;width:220px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:60;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;transition:transform .25s ease}#sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:59;backdrop-filter:blur(2px)}#sb-toggle{display:none;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;width:42px;height:42px;min-width:42px;min-height:42px;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text);line-height:1;flex-shrink:0;-webkit-tap-highlight-color:transparent}@media(max-width:768px){
 /* Sidebar: hidden by default, slides in */
 #sidebar{
   transform:translateX(-100%);
   width:260px;
   height:100vh;
   position:fixed;
   top:0;left:0;
   flex-direction:column;
   overflow-y:auto;
   overflow-x:hidden;
   z-index:200;
   padding-bottom:env(safe-area-inset-bottom);
 }
 #sidebar.sb-open{
   transform:translateX(0);
   box-shadow:6px 0 32px rgba(0,0,0,.6);
 }
 #sb-overlay.sb-open{display:block}
 #sb-toggle{display:flex}
 #sidebar.sb-open ~ #main #sb-toggle{display:none!important}
 /* All sidebar elements visible in slide menu */
 .sb-logo,.sb-section,.sb-footer,.sb-divider{display:flex!important}
 /* Main content: full width, add top padding for toggle btn */
 #main{margin-left:0!important;padding-top:0}
 #topbar{padding-left:1rem}
}

#main{flex:1;margin-left:220px;display:flex;flex-direction:column;min-height:100vh;min-height:-webkit-fill-available}
#topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:.875rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;gap:12px}
.tb-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.tb-title{font-size:19px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page{padding:1.5rem;flex:1}

/* ── EXERCÍCIOS: PAINÉIS MAIS ALTOS ── */
.exercises-page-wrap{display:flex;flex-direction:column;min-height:calc(100vh - 132px);}
.exercises-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:stretch;flex:1;min-height:0;}
.exercise-panel{display:flex;flex-direction:column;min-height:calc(100vh - 220px);max-height:calc(100vh - 190px);}
.exercise-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:4px;}
.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px 2px 6px;}
.equipment-card{--equipment-accent:var(--blue);position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:13px;border:1px solid var(--border2);border-radius:13px;background:linear-gradient(135deg,var(--bg4),var(--bg3));box-shadow:inset 3px 0 0 var(--equipment-accent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.equipment-card:hover{transform:translateY(-2px);border-color:var(--equipment-accent);box-shadow:inset 3px 0 0 var(--equipment-accent),0 10px 24px rgba(0,0,0,.22);}
.equipment-icon{width:46px;height:46px;min-width:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--equipment-accent);background:var(--bg5);border:1px solid currentColor;}
.equipment-icon svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.equipment-info{flex:1;min-width:0;}
.equipment-name{font-size:14px;font-weight:850;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.equipment-meta{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.25;}
.equipment-delete{align-self:flex-start;min-width:30px!important;width:30px;height:30px;padding:0!important;display:flex!important;align-items:center;justify-content:center;color:var(--muted)!important;border-color:transparent!important;}
.equipment-delete:hover{color:var(--red)!important;background:rgba(255,107,107,.08)!important;border-color:rgba(255,107,107,.25)!important;}
@media(max-width:1180px){.equipment-grid{grid-template-columns:1fr}}
@media(max-width:900px){.exercises-page-wrap{min-height:auto}.exercises-layout{grid-template-columns:1fr}.exercise-panel{min-height:520px;max-height:none}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.equipment-grid{grid-template-columns:1fr}.equipment-card{padding:12px}.equipment-icon{width:42px;height:42px;min-width:42px}}

/* ── SIDEBAR ── */
.sb-logo{padding:.75rem .15rem .35rem;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid var(--border)}
.sb-logo-text{font-size:20px;font-weight:900;letter-spacing:3px;color:var(--lime);font-style:italic}
.sb-logo-badge{font-size:11px;background:var(--lime);color:var(--bg);border-radius:4px;padding:1px 5px;font-weight:700;letter-spacing:.5px}
.sb-section{font-size:11px;color:var(--dim);font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:.75rem 1.25rem .25rem}
.nav{display:flex;align-items:center;gap:9px;padding:10px 1.25rem;cursor:pointer;color:var(--muted);border-left:3px solid transparent;font-size:16px;transition:all .15s;user-select:none}
.nav:hover{background:rgba(255,255,255,.03);color:var(--text)}
.nav.active{color:var(--lime);background:rgba(200,255,0,.09);border-left-color:var(--lime);font-weight:700;}
.nav.active .icon{filter:drop-shadow(0 0 5px rgba(200,255,0,.4));}
.nav .icon{width:16px;text-align:center;flex-shrink:0}
.nav .icon{display:flex;align-items:center;justify-content:center}
.nav .icon svg{width:20px;height:20px}
.nav.active .icon svg{stroke:var(--lime)}
.nav:not(.active) .icon svg{stroke:var(--muted)}
.nav:hover:not(.active) .icon svg{stroke:var(--text)}
.nav .badge-count{margin-left:auto;background:var(--red);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}
.sb-divider{height:1px;background:var(--border);margin:.5rem 1.25rem}
.sb-footer{margin-top:auto;padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.sb-user{display:flex;align-items:center;gap:9px;margin-bottom:.5rem}
.sb-user-name{font-size:14px;font-weight:600;color:var(--text)}
.sb-user-role{font-size:13px;color:var(--muted)}
.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--dim);display:inline-block;margin-right:5px;transition:background .3s}
.sync-dot.ok{background:var(--green)}
.sync-dot.err{background:var(--red)}
.sync-dot.loading{background:var(--amber);animation:pulse 1s infinite}
.sync-dot.pending{background:var(--amber)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── CARDS ── */
.card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:1.25rem}
.card-sm{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:1.1rem}
.card-hover{transition:border-color .2s,transform .2s,box-shadow .2s}
.card-hover:hover{border-color:rgba(200,255,0,.2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.35);}

/* ── GRIDS ── */
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.g5{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}

/* ── INPUTS ── */
.inp{width:100%;background:var(--bg4);border:1px solid var(--border2);border-radius:9px;padding:9px 13px;color:var(--text);transition:border .15s}
.inp:focus{border-color:rgba(200,255,0,.45);background:var(--bg5)}
.inp:disabled{opacity:.5;cursor:not-allowed}
.inp.invalid{border-color:rgba(255,107,107,.6)!important;background:rgba(255,107,107,.04);}
.inp.valid{border-color:rgba(52,211,153,.4)!important;}
select.inp{cursor:pointer}
textarea.inp{resize:vertical;min-height:68px}
.inp-sm{padding:6px 10px;font-size:13px;border-radius:7px}
.search-inp{background:var(--bg4);border:1px solid var(--border2);border-radius:9px;padding:8px 12px 8px 34px;color:var(--text);width:100%;font-size:13px}
.search-inp:focus{outline:none;border-color:rgba(200,255,0,.4)}
.search-wrap{position:relative}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}

/* ── BUTTONS ── */
.btn{border:none;border-radius:9px;padding:8px 16px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-size:13px}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:2px solid var(--lime);outline-offset:2px;}
.btn-lime{background:var(--lime);color:var(--bg)}
.btn-lime:hover{background:#d4ff26}
.btn-green{background:var(--green);color:var(--bg)}
.btn-red{background:var(--red);color:#fff}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border2)}
.btn-ghost:hover{background:var(--bg4);color:var(--text)}
.btn-blue{background:rgba(0,212,255,.12);color:var(--blue);border:1px solid rgba(0,212,255,.25)}
.btn-blue:hover{background:rgba(0,212,255,.2)}
.btn-purple{background:rgba(167,139,250,.12);color:var(--purple);border:1px solid rgba(167,139,250,.25)}
.btn-purple:hover{background:rgba(167,139,250,.22)}
.btn-amber{background:rgba(252,211,77,.12);color:var(--amber);border:1px solid rgba(252,211,77,.25)}
.btn-sm{padding:5px 12px;font-size:12px;border-radius:7px}
.btn-xs{padding:3px 9px;font-size:11px;border-radius:6px}
.btn-icon{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:20px;font-size:13px;font-weight:600}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;padding:10px 14px;font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--border)}
.tbl td{padding:12px 14px;font-size:15px;border-bottom:1px solid var(--faint);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tbody tr{cursor:pointer;transition:background .1s}
.tbl tbody tr:hover td{background:rgba(255,255,255,.02)}

/* ── TABS ── */
.tabs{display:flex;gap:2px;background:var(--bg3);padding:3px;border-radius:10px;flex-wrap:wrap;margin-bottom:1.25rem}
.tab{padding:8px 18px;border-radius:8px;border:none;cursor:pointer;font-size:15px;color:var(--muted);background:transparent;transition:all .15s;font-weight:500}
.tab.active{background:var(--lime);color:var(--bg);font-weight:700}
.tab:hover:not(.active){background:var(--bg4);color:var(--text)}

/* ── AVATAR ── */
.av{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--bg);flex-shrink:0;font-size:12px}

/* ── STAT CARD ── */
.stat{padding:1.25rem}
.stat .s-val{font-size:32px;font-weight:900;line-height:1;margin-bottom:4px}
.stat .s-lbl{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.stat .s-delta{font-size:11px;margin-top:5px}

/* ── MODAL ── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}
.mbox{background:var(--bg3);border:1px solid var(--border2);border-radius:18px;padding:1.75rem;width:100%;max-height:92vh;overflow-y:auto;animation:popIn .17s ease}
.mbox-sm{max-width:480px}
.mbox-md{max-width:600px}
.mbox-lg{max-width:760px}
.mbox-xl{max-width:920px}
.mhdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.mtitle{font-size:19px;font-weight:700}
.mclose{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px}
.mclose:hover{background:var(--bg4);color:var(--text)}

/* ── CONTRACT MODAL ── */
.mbox-contract{max-width:980px!important;padding:1.25rem!important;overflow:hidden}
.mbox-contract .mhdr{margin-bottom:.9rem}
.pg-contract-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 .9rem;padding:0 0 .9rem;background:var(--bg3);border-bottom:1px solid var(--border)}
.pg-contract-view{background:#f3f3f3;border:1px solid var(--border);border-radius:14px;padding:18px;max-height:72vh;overflow:auto}
.pg-contract-view .contract-page{background:#fff;color:#111;max-width:820px;min-height:1070px;margin:0 auto;padding:22px;font-family:Arial,Helvetica,sans-serif;line-height:1.38;font-size:11.6px;box-shadow:0 16px 44px rgba(0,0,0,.28);display:flex;flex-direction:column}
.pg-contract-view .head{display:grid;grid-template-columns:1fr 112px 1fr;align-items:start;margin-bottom:8px}
.pg-contract-view .meta{font-size:11px;color:#333;line-height:1.35}.pg-contract-view .meta.right{text-align:right}
.pg-contract-view .logo{display:block;width:86px;max-height:62px;object-fit:contain;margin:0 auto;filter:grayscale(1) contrast(1.4)}
.pg-contract-view h1{font-size:18px;text-align:center;margin:4px 0 2px;letter-spacing:.25px;text-transform:uppercase;color:#111}
.pg-contract-view h2{font-size:11px;text-align:center;color:#555;margin:0 0 10px;font-weight:500}
.pg-contract-view .intro{font-size:11.2px;margin:8px 0 10px;text-align:justify}
.pg-contract-view .box{border:1px solid #222;border-radius:7px;padding:8px 10px;margin:8px 0 11px}
.pg-contract-view .box-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;margin:0 0 5px;color:#111}
.pg-contract-view .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.pg-contract-view .row{display:grid;grid-template-columns:92px 1fr;gap:6px;padding:3px 0;border-bottom:1px solid #eee}
.pg-contract-view .grid .row:nth-last-child(-n+2){border-bottom:0}
.pg-contract-view .label{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.25px;color:#333}
.pg-contract-view .val{font-size:11px;color:#111}
.pg-contract-view .clause{margin:0 0 7px;font-size:11px;text-align:justify;color:#111}
.pg-contract-view .clause b{font-weight:800}
.pg-contract-view .warn{border-left:3px solid #555;background:#f7f7f7;padding:7px 9px;margin:9px 0;font-size:11px;border-radius:5px;text-align:justify;color:#111}
.pg-contract-view .sign{margin-top:auto;padding-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:34px}
.pg-contract-view .sign-line{border-top:1px solid #222;text-align:center;padding-top:7px;font-size:11px;color:#111}
.pg-contract-view .foot{text-align:center;font-size:11px;color:#444;margin-top:12px}
.pg-contract-view .actions{display:none!important}
.pg-contract-note{margin-top:.9rem;font-size:13px;line-height:1.45;color:var(--muted)}
.pg-print-frame{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
@media(max-width:768px){.mbox-contract{padding:1rem!important}.pg-contract-toolbar{align-items:stretch;display:grid;grid-template-columns:1fr auto}.pg-contract-view{max-height:68vh;padding:10px}.pg-contract-view .contract-page{min-width:760px;max-width:760px;min-height:1040px}.pg-contract-note{font-size:12px}}

/* ── FORM ── */
.fg{display:grid;gap:12px}
.fg2{grid-template-columns:1fr 1fr}
.fg3{grid-template-columns:1fr 1fr 1fr}
.fg4{grid-template-columns:1fr 1fr 1fr 1fr}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:13px;color:var(--muted);font-weight:600}

/* ── TOAST ── */
.toast{position:fixed;bottom:20px;right:20px;z-index:400;padding:11px 18px;border-radius:11px;font-size:13px;font-weight:600;animation:popIn .2s ease;max-width:320px}
.t-ok{background:#0F2A1A;color:var(--green);border:1px solid rgba(52,211,153,.3)}
.t-err{background:#2A0F0F;color:var(--red);border:1px solid rgba(255,107,107,.3)}
.t-info{background:#0F1A2A;color:var(--blue);border:1px solid rgba(0,212,255,.3)}

/* ── PROGRESS BAR ── */
.pbar-wrap{height:4px;background:var(--faint);border-radius:2px;overflow:hidden}
.pbar{height:100%;border-radius:2px;transition:width .4s}

/* ── CHECK ITEM ── */
.ci{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;margin-bottom:7px}
.ci:hover{border-color:var(--border2)}
.ci.done{background:rgba(200,255,0,.06);border-color:rgba(200,255,0,.3)}
.ci-box{width:20px;height:20px;border-radius:5px;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.ci.done .ci-box{background:var(--lime);border-color:var(--lime)}

/* ── CHAT ── */
.chat-wrap{display:flex;flex-direction:column;height:420px}
.chat-msgs{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:8px}
.msg{max-width:75%;padding:9px 14px;border-radius:12px;font-size:14px;line-height:1.7}
.msg.me{align-self:flex-end;background:rgba(200,255,0,.15);border:1px solid rgba(200,255,0,.2);border-radius:12px 12px 3px 12px}
.msg.them{align-self:flex-start;background:var(--bg4);border:1px solid var(--border);border-radius:12px 12px 12px 3px}
.msg .msg-time{font-size:11px;color:var(--muted);margin-top:3px}
.chat-input-row{display:flex;gap:8px;padding:.75rem;border-top:1px solid var(--border);align-items:flex-end}
.chat-input-row .chat-input{flex:1;min-height:46px;max-height:120px;resize:none;line-height:1.45;padding:12px 14px;border-radius:12px}

/* ── PILL STATUS ── */
.status-ativo{color:var(--green);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.25)}
.status-inativo{color:var(--muted);background:rgba(122,120,144,.1);border:1px solid rgba(122,120,144,.2)}
.status-vencido{color:var(--red);background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.25)}
.status-vence-hoje{color:var(--amber);background:rgba(252,211,77,.12);border:1px solid rgba(252,211,77,.25)}

/* ── EXERCISE PICKER ── */
.ex-list{max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:9px;background:var(--bg4)}
.ex-item{padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:14px;border-bottom:1px solid var(--faint);transition:background .1s}
.ex-item:last-child{border-bottom:none}
.ex-item:hover{background:rgba(200,255,0,.07)}
.ex-item.selected{background:rgba(200,255,0,.1);color:var(--lime)}
.ex-tag{font-size:11px;color:var(--muted);background:var(--faint);padding:1px 7px;border-radius:10px}

/* ── FINANCE ── */
.fin-status{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.fin-pago{color:var(--green);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.25)}
.fin-pendente{color:var(--amber);background:rgba(252,211,77,.12);border:1px solid rgba(252,211,77,.25)}
.fin-vencido{color:var(--red);background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.25)}
.fin-ativo{color:var(--green);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.25)}

/* ── ANIMATIONS ── */
@keyframes popIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fade{animation:none}

/* ── LOGIN ── */
.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at 25% 15%,#1a1040 0%,var(--bg) 55%)}
.login-card{background:var(--bg3);border:1px solid var(--border2);border-radius:20px;padding:2.5rem;width:100%;max-width:400px;animation:popIn .25s ease}
.pg-brand-logo{display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.pg-login-logo{width:calc(100% + 36px);max-width:none;height:auto;margin:-10px -18px 18px;filter:drop-shadow(0 0 18px rgba(168,85,247,.35))}
.pg-register-logo{width:240px;height:auto;filter:drop-shadow(0 0 12px rgba(168,85,247,.28))}
.pg-sidebar-logo{width:calc(100% + 18px);max-width:none;height:auto;margin:-8px -9px 0;filter:drop-shadow(0 0 12px rgba(168,85,247,.25))}
.pg-loading-logo{width:min(380px,92vw);height:auto;filter:drop-shadow(0 0 22px rgba(168,85,247,.38))}

/* ── RESPONSIVE ── */

/* Tablet: compact sidebar */
@media(min-width:769px) and (max-width:1024px){
 #sidebar{width:64px}
 .nav{padding:12px 0;flex-direction:column;font-size:0;gap:4px;text-align:center}
 .nav .icon{font-size:18px}
 #main{margin-left:64px}
 .sb-logo{padding:.75rem;justify-content:center}
 .sb-logo-text,.sb-logo-badge{display:none}
 .pg-sidebar-logo{width:60px;max-width:60px;height:auto;margin:0}
 .sb-footer{padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:8px}
 .sb-user-name,.sb-user-role{display:none}
 .sb-section,.sb-divider{display:none}
}

/* Mobile: slide-in sidebar */
@media(max-width:768px){
 #sb-close-btn{display:flex!important}

 /* -- Layout -- */
 body{padding-bottom:env(safe-area-inset-bottom);-webkit-text-size-adjust:100%}
 #shell{flex-direction:column}
 #main{margin-left:0!important;display:flex;flex-direction:column;min-height:100vh}
 #topbar{padding:.75rem 1rem;position:sticky;top:0;z-index:40}
 #page{padding:.875rem .75rem;padding-bottom:1.5rem}

 /* -- Sidebar overlay menu -- */
 #sidebar{
  transform:translateX(-100%);width:82vw;max-width:300px;
  position:fixed;top:0;left:0;height:100%;
  flex-direction:column;overflow-y:auto;overflow-x:hidden;
  z-index:200;padding-bottom:env(safe-area-inset-bottom);
  display:flex!important;
 }
 #sidebar.sb-open{transform:translateX(0);box-shadow:6px 0 40px rgba(0,0,0,.7)}
 #sb-overlay.sb-open{display:block}
 #sb-toggle{display:flex}
 #sidebar.sb-open ~ #main #sb-toggle{display:none!important}

 /* Ensure all sidebar sections visible */
 .sb-logo,.sb-section,.sb-footer,.sb-divider,
 .sb-user,.sb-user-name,.sb-user-role{display:flex!important}
 .sb-section{display:block!important}
 .sb-divider{display:block!important}

 /* Nav items */
 .nav{padding:12px 1.25rem;font-size:15px;min-height:44px}

 /* -- Grids -- */
 .fg2,.fg3,.fg4{grid-template-columns:1fr!important}
 .g2,.g3{grid-template-columns:1fr!important}
 .g4{grid-template-columns:1fr 1fr!important}
 .g5{grid-template-columns:1fr 1fr!important}

 /* -- Tables: card-style on mobile -- */
 .tbl thead{display:none}
 .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
 .tbl tr{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:8px 0;background:var(--bg3)}
 .tbl td{padding:6px 12px;border:none;display:flex;gap:8px;align-items:center}
 .tbl td:first-child{font-weight:600;font-size:15px;padding-top:10px}
 .tbl td[data-label]::before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;min-width:80px;flex-shrink:0}

 /* -- Modals: bottom sheet -- */
 .overlay{align-items:flex-end;padding:0}
 .mbox{border-radius:20px 20px 0 0;max-height:92vh;margin:0;padding:1.5rem 1rem}
 .mbox-sm,.mbox-md,.mbox-lg,.mbox-xl{max-width:100%!important;width:100%!important}

 /* -- Chat -- */
 #msg-grid{grid-template-columns:1fr!important;height:auto!important;min-height:calc(100dvh - 112px);gap:10px!important}
 #msg-grid>.card:first-child{max-height:185px;overflow-y:auto!important;padding:.75rem!important}
 #msg-grid>.card:last-child{min-height:calc(100dvh - 330px);height:calc(100dvh - 260px);max-height:none;display:flex;flex-direction:column}
 .chat-msgs{height:auto!important;min-height:260px;flex:1;padding:.875rem}
 .chat-wrap{height:auto}
 .chat-input-row{position:sticky;bottom:0;background:rgba(15,15,26,.98);backdrop-filter:blur(10px);padding:.75rem;gap:8px;align-items:flex-end;z-index:2}
 .chat-input-row .chat-input{min-height:54px;font-size:16px!important;border-radius:14px;padding:12px 14px}
 .chat-input-row #chat-send{min-height:54px;padding:0 16px;border-radius:14px;flex-shrink:0}
 .msg{max-width:88%;font-size:15px}

 /* -- Finance table: stack -- */
 .fin-row{flex-direction:column;gap:4px}

 /* -- Buttons -- */
 .btn{min-height:44px;padding:10px 14px}
 .btn-sm{min-height:36px;padding:7px 12px;font-size:12px}
 .btn-xs{min-height:30px}

 /* -- Cards -- */
 .card{padding:1rem;border-radius:12px}
 .card-sm{padding:.875rem;border-radius:10px}

 /* -- Tabs: scroll horizontally -- */
 .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px}
 .tabs::-webkit-scrollbar{display:none}
 .tab{white-space:nowrap;flex-shrink:0;font-size:13px;padding:7px 14px}

 /* -- Toast: bottom-centered -- */
 .toast{bottom:16px;left:1rem;right:1rem;max-width:none;text-align:center}

 /* -- Login card -- */
 .login-card{padding:1.75rem 1.25rem}

 /* -- Section titles -- */
 .section-title{font-size:12px}

 /* -- iOS zoom prevention -- */
 input,select,textarea{font-size:16px!important}

 /* -- Hide helpers -- */
 .hide-mobile{display:none!important}

 /* -- GPT panel -- */
 #gpt-panel{width:100%!important;height:calc(100vh - 56px)!important;border-radius:0!important;bottom:0!important}

 /* -- Stat values smaller -- */
 .stat .s-val{font-size:24px}

 /* -- Student table mobile -- */
 .tbl-students th:nth-child(n+3),.tbl-students td:nth-child(n+3){display:none}

 /* -- Alunos list: remove email col -- */
 .tbl td .av{width:32px!important;height:32px!important;font-size:11px!important}
}


/* ── MOBILE CHART / OVERFLOW FIXES ── */
#main,#page,.card,.card-sm,.g2>*,.g3>*,.g4>*,.g5>*{min-width:0}
.mobile-scroll-x,.presence-chart-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.presence-chart-svg{display:block;max-width:none!important;flex:0 0 auto}
@media(max-width:520px){
 body{overflow-x:hidden}
 .presence-chart-scroll{margin-left:-.25rem;margin-right:-.25rem;padding-left:.25rem;padding-right:.25rem}
}



/* ── MOBILE-FIRST POLISH ── */
@media(max-width:520px){
 #page{padding:.75rem .65rem 1.25rem}
 #topbar{gap:8px;padding-right:.75rem}
 #topbar>div:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px!important}
 .g4,.g5{grid-template-columns:1fr!important}
 .card,.card-sm{box-shadow:none}
 .stat{padding:1rem}.stat .s-val{font-size:22px}.stat .s-lbl{font-size:12px}
 .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
 .btn.btn-xs,.btn.btn-sm{width:auto;white-space:nowrap}
 .alert-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;justify-content:stretch!important}
 .alert-actions .btn{width:100%!important}
 .quick-actions-mobile{grid-template-columns:1fr!important}
 .mobile-scroll-x{margin-left:-.25rem;margin-right:-.25rem;padding-left:.25rem;padding-right:.25rem}
 .mhdr{align-items:flex-start;gap:10px}.mtitle{font-size:17px}
}
@media(max-width:380px){
 .nav{font-size:14px;padding:11px 1rem}
 .badge{font-size:12px;padding:3px 9px}
 input,select,textarea{font-size:16px!important}
}

/* ── MISC ── */
.divider{height:1px;background:var(--border);margin:.75rem 0}
.section-title{font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:.75rem}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:13px}
.row-actions{display:flex;gap:6px;justify-content:flex-end}
.highlight-box{border-left:3px solid var(--lime);padding-left:12px}
.warn-box{background:rgba(252,211,77,.08);border:1px solid rgba(252,211,77,.25);border-radius:9px;padding:11px 14px;font-size:14px;color:var(--amber)}
.info-box{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);border-radius:9px;padding:11px 14px;font-size:14px;color:var(--green)}
.danger-box{background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.25);border-radius:9px;padding:11px 14px;font-size:14px;color:var(--red)}
.tag{display:inline-block;padding:3px 9px;border-radius:5px;font-size:12px;background:var(--faint);color:var(--muted);font-weight:500}

/* ── Registration Form (inline) ── */
.reg-wrap .section{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:1.25rem;margin-bottom:1rem;}
.reg-wrap .section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--lime);margin-bottom:1rem;display:flex;align-items:center;gap:8px;}
.reg-wrap .section-title span{font-size:16px;}
.reg-wrap .fg2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:480px){.reg-wrap .fg2{grid-template-columns:1fr;}}
.reg-wrap .full{grid-column:1/-1;}
.reg-wrap .field{display:flex;flex-direction:column;gap:5px;}
.reg-wrap label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.reg-wrap label.req::after{content:" *";color:var(--lime);}
.reg-wrap .inp{background:var(--bg4);border:1px solid var(--border2);border-radius:9px;color:var(--text);font-size:15px;padding:10px 13px;width:100%;outline:none;font-family:inherit;transition:border .15s;}
.reg-wrap .inp:focus{border-color:rgba(200,255,0,.5);background:var(--bg5);}
.reg-wrap textarea.inp{resize:vertical;min-height:65px;}
.reg-wrap .err-msg{font-size:11px;color:var(--red);min-height:14px;}
.reg-wrap .pw-bar{height:4px;border-radius:2px;background:var(--bg5);margin-top:4px;overflow:hidden;}
.reg-wrap .pw-fill{height:100%;border-radius:2px;transition:all .3s;width:0%;}
.reg-wrap .pw-hint{font-size:11px;color:var(--muted);margin-top:2px;}
.reg-wrap .goal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;}
.reg-wrap .goal-card{padding:10px 8px;border-radius:10px;border:1px solid var(--border2);background:var(--bg4);cursor:pointer;text-align:center;transition:all .15s;}
.reg-wrap .goal-card .gicon{font-size:20px;margin-bottom:4px;}
.reg-wrap .goal-card .glabel{font-size:11px;font-weight:700;color:var(--muted);line-height:1.3;}
.reg-wrap .goal-card.active{background:rgba(200,255,0,.1);border-color:rgba(200,255,0,.4);}
.reg-wrap .goal-card.active .glabel{color:var(--lime);}
.reg-wrap .goal-card input{display:none;}
.reg-wrap .day-group{display:flex;gap:6px;flex-wrap:wrap;}
.reg-wrap .day-pill{display:flex;align-items:center;gap:4px;padding:7px 12px;border-radius:8px;border:1px solid var(--border2);background:var(--bg4);cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);transition:all .15s;user-select:none;}
.reg-wrap .day-pill.active{background:rgba(200,255,0,.12);border-color:rgba(200,255,0,.4);color:var(--lime);}
.reg-wrap .day-pill input{display:none;}
.reg-wrap .plan-toggle{display:flex;gap:6px;flex-wrap:wrap;}
.reg-wrap .plan-btn{flex:1;min-width:80px;padding:9px 6px;border-radius:9px;border:1px solid var(--border2);background:var(--bg4);cursor:pointer;text-align:center;transition:all .15s;}
.reg-wrap .plan-btn .plabel{font-size:12px;font-weight:700;color:var(--muted);}
.reg-wrap .plan-btn .pprice{font-size:11px;color:var(--muted);}
.reg-wrap .plan-btn.active{background:rgba(200,255,0,.1);border-color:rgba(200,255,0,.4);}
.reg-wrap .plan-btn.active .plabel,.reg-wrap .plan-btn.active .pprice{color:var(--lime);}
.reg-wrap .plan-btn input{display:none;}
.reg-wrap .steps{display:flex;align-items:center;gap:0;margin-bottom:1.25rem;}
.reg-wrap .step{display:flex;align-items:center;flex:1;}
.reg-wrap .step-circle{width:26px;height:26px;border-radius:50%;border:2px solid var(--border2);background:var(--bg4);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--muted);flex-shrink:0;transition:all .3s;}
.reg-wrap .step-circle.active{border-color:var(--lime);background:rgba(200,255,0,.15);color:var(--lime);}
.reg-wrap .step-circle.done{border-color:var(--green);background:rgba(52,211,153,.15);color:var(--green);}
.reg-wrap .step-line{flex:1;height:2px;background:var(--border2);margin:0 4px;}
.reg-wrap .step-line.done{background:rgba(52,211,153,.4);}
.reg-wrap .step-label{font-size:11px;color:var(--muted);text-align:center;margin-top:2px;white-space:nowrap;}
.reg-wrap .btn-next{width:100%;padding:14px;border:none;border-radius:12px;background:var(--lime);color:#080810;font-size:16px;font-weight:800;cursor:pointer;transition:all .2s;margin-top:1rem;letter-spacing:.3px;}
.reg-wrap .btn-next:hover{background:#d4ff26;}
.reg-wrap .btn-next:disabled{background:var(--bg5);color:var(--muted);cursor:not-allowed;}
.reg-wrap .btn-back{width:100%;padding:11px;border:1px solid var(--border2);border-radius:12px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;margin-top:6px;transition:all .15s;}


/* iOS: prevent zoom on input focus */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input, select, textarea { font-size: 16px !important; }
}

/* iOS: prevent zoom on input focus */
@media screen and (-webkit-min-device-pixel-ratio:0){
  input,select,textarea{font-size:max(16px,1em)!important;}
}
/* Smooth scrolling iOS */
#sidebar,.main-content{-webkit-overflow-scrolling:touch;}
/* Prevent iOS text size adjust */
body{-webkit-text-size-adjust:100%;text-size-adjust:100%;}

/* Student list mobile compact */
@media(max-width:768px){
 /* Student card: compact mode */
 .tbl td:nth-child(2),.tbl td:nth-child(3),.tbl td:nth-child(4),.tbl td:nth-child(5),.tbl td:nth-child(6),.tbl td:nth-child(7){font-size:13px;padding:2px 12px;}
 /* Badges smaller on mobile */
 .badge{font-size:11px;padding:2px 8px}
 /* workout day: compact */
 [style*="padding:12px 14px;margin-bottom:8px"]{padding:8px 10px!important;margin-bottom:5px!important}
 /* Student card - show all info in 2 lines not stacked */
 .tbl.tbl-students tbody tr{padding:10px 12px;}
 .tbl.tbl-students td{padding:3px 12px;font-size:14px}
 .tbl.tbl-students td:first-child{font-size:15px;padding-top:10px;padding-bottom:4px}
 /* Exercise checkin card compact */
 .ex-card-info{flex-wrap:nowrap!important;gap:8px!important}
 /* Workout day card compact */
 .wk-ex-card{padding:8px 10px!important;margin-bottom:5px!important}
}

/* Workout editor mobile */
@media(max-width:768px){
 .we-ex-grid{
  grid-template-columns:68px repeat(4,minmax(44px,1fr))!important;
  gap:4px!important;
 }
 .we-ex-grid .we-ex-order{
  grid-column:1/2;
  min-width:0;
 }
 .we-ex-grid .we-ex-name{
  grid-column:2/-1;
  min-width:0;
 }
 .we-ex-grid input[data-we-sets]{grid-column:1/2}
 .we-ex-grid input[data-we-reps]{grid-column:2/3}
 .we-ex-grid input[data-we-load]{grid-column:3/4}
 .we-ex-grid input[data-we-rest]{grid-column:4/5}
 .we-ex-grid button[data-we-circuit]{grid-column:5/6}
 .we-ex-grid button[data-we-rm-ex]{grid-column:1/-1;justify-self:end}
 .we-ex-grid input.inp-sm{font-size:14px!important;padding:6px 6px!important;text-align:center;min-width:0}
 .we-ex-row button[data-we-circuit],
 .we-ex-row button[data-we-rm-ex]{
  min-width:44px!important;min-height:44px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
 }
}

/* ── PWA / Mobile App Enhancements ── */
.pwa-install-mini{background:rgba(200,255,0,.1);border:1px solid rgba(200,255,0,.25);border-radius:8px;height:34px;padding:0 11px;cursor:pointer;font-size:12px;font-weight:800;color:var(--lime);white-space:nowrap;display:none;align-items:center;gap:5px;transition:all .15s}
.pwa-install-mini:hover{background:rgba(200,255,0,.16);transform:translateY(-1px)}
.pwa-install-mini.installed{color:var(--green);border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.1);cursor:default}
.wake-lock-pill{display:flex;align-items:center;gap:8px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.22);border-radius:10px;padding:9px 12px;margin-bottom:12px;color:var(--blue);font-size:13px;font-weight:700}
.wake-lock-pill.warn{background:rgba(252,211,77,.08);border-color:rgba(252,211,77,.25);color:var(--amber)}
.wake-lock-pill.ok{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.25);color:var(--green)}
@media(max-width:768px){.pwa-install-mini{height:32px;padding:0 9px;font-size:11px}.pwa-install-mini .pwa-label-full{display:none}}

/* V354 — troca pesquisável de exercícios na ficha */
.pg-we-replace-btn{float:right;margin-left:10px;min-height:28px!important;padding:3px 9px!important;color:var(--blue)!important;border-color:rgba(0,212,255,.28)!important;background:rgba(0,212,255,.08)!important}
.pg-workout-exercise-replace{z-index:100020!important}
.pg-workout-exercise-replace .mbox{max-height:min(760px,calc(100dvh - 28px));display:flex;flex-direction:column}
.pg-replace-ex-list{margin-top:10px;min-height:180px;max-height:55vh;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:6px;background:var(--bg4)}
.pg-replace-ex-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;border-radius:8px}
.pg-replace-ex-item:last-child{border-bottom:0}
.pg-replace-ex-item:hover,.pg-replace-ex-item:focus-visible{background:rgba(200,255,0,.08);outline:1px solid rgba(200,255,0,.24)}
.pg-replace-ex-item span{min-width:0;display:flex;flex-direction:column;gap:3px}
.pg-replace-ex-item b{font-size:14px;line-height:1.25}
.pg-replace-ex-item small{font-size:12px;color:var(--muted)}
.pg-replace-ex-item strong{font-size:12px;color:var(--lime);white-space:nowrap}
@media(max-width:768px){.pg-workout-template-layout{grid-template-columns:1fr!important}.pg-we-replace-btn{float:none;display:flex!important;width:100%;margin:7px 0 0!important;justify-content:center}.pg-replace-ex-item{align-items:flex-start}.pg-replace-ex-list{max-height:62vh}}

/* V354 — resumo final de treino padronizado */
.pg-workout-summary{margin:1rem 0;background:linear-gradient(145deg,rgba(52,211,153,.12),rgba(52,211,153,.055));border:1px solid rgba(52,211,153,.34);border-radius:16px;padding:16px;overflow:hidden}
.pg-workout-summary-status{font-size:15px;font-weight:900;color:var(--green);margin-bottom:10px}
.pg-workout-summary-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.pg-workout-summary-total span{font-size:14px;color:var(--muted);font-weight:700}
.pg-workout-summary-total strong{font-size:clamp(19px,5.5vw,26px);line-height:1;color:var(--lime);font-weight:1000;white-space:nowrap}
.pg-workout-summary-note{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:12px}
.pg-workout-volume-list{border-top:1px solid rgba(52,211,153,.18);border-bottom:1px solid rgba(52,211,153,.18)}
.pg-workout-volume-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:7px 0;border-bottom:1px solid rgba(52,211,153,.11);font-size:13px;line-height:1.35}
.pg-workout-volume-row:last-child{border-bottom:0}
.pg-workout-volume-name{min-width:0;color:var(--muted);overflow-wrap:anywhere}
.pg-workout-volume-calc{color:var(--green);font-weight:650;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.pg-workout-volume-calc strong{font-weight:950}
.pg-workout-volume-empty{padding:10px 0;color:var(--muted);font-size:13px}
.pg-workout-feedback{margin-top:14px}
.pg-workout-feedback-title{text-align:center;font-size:14px;font-weight:800;margin-bottom:9px}
.pg-workout-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pg-workout-feedback-grid button{min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 4px;border-radius:11px;border:2px solid var(--border);background:var(--bg4);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.pg-workout-feedback-grid button span{font-size:18px;line-height:1}.pg-workout-feedback-grid button b{font-size:12px;line-height:1.15;white-space:nowrap}
.pg-workout-feedback-grid button.is-selected{border-color:var(--lime);background:rgba(200,255,0,.12);color:var(--lime)}
.pg-workout-feedback-status{min-height:16px;margin-top:7px;text-align:center;color:var(--muted);font-size:12px;line-height:1.35}
@media(max-width:360px){.pg-workout-summary{padding:13px}.pg-workout-summary-total{align-items:flex-start;flex-direction:column;gap:4px}.pg-workout-volume-row{grid-template-columns:minmax(0,1fr);gap:2px}.pg-workout-volume-calc{text-align:left}.pg-workout-feedback-grid button b{font-size:11px}}

/* V357 — editor de ficha utilizável no mobile */
.pg-workout-editor-content{min-width:0}
.pg-we-template-head>div:first-child{min-width:0;flex:1 1 260px}
.pg-we-template-actions{justify-content:flex-end}
.pg-we-day-head>*{min-width:0}
.pg-we-focus{min-width:120px}
.pg-we-footer{align-items:center}
@media(max-width:768px){
 .pg-workout-editor-overlay{padding:0!important;align-items:stretch!important;overflow:hidden!important}
 .mbox.pg-workout-editor{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:12px!important;padding-top:max(12px,env(safe-area-inset-top))!important;padding-bottom:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
 .pg-workout-editor>.mhdr{position:relative!important;top:auto!important;z-index:8!important;flex:0 0 auto!important;margin:0 0 10px!important;padding:0 0 10px!important;border-bottom:1px solid var(--border)!important;background:var(--bg3)!important}
 .pg-workout-editor>.mhdr .mtitle{font-size:17px!important;line-height:1.25!important;padding-right:4px}
 .pg-workout-editor-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 2px calc(82px + env(safe-area-inset-bottom))}
 .pg-we-template-card{padding:12px!important;margin-bottom:12px!important}
 .pg-we-template-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 .pg-we-template-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:8px!important}
 .pg-we-template-actions .btn{width:100%!important;min-width:0!important;height:auto!important;min-height:44px!important;padding:8px!important;white-space:normal!important;line-height:1.25!important}
 .pg-workout-template-layout{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .pg-workout-template-layout select{width:100%!important;max-width:none!important;min-height:44px!important}
 .pg-we-days-toolbar{margin-bottom:10px!important}
 .pg-we-days-toolbar .btn{width:auto!important;margin-left:auto!important;min-height:42px!important}
 .pg-we-day-card{padding:10px!important;margin-bottom:10px!important;overflow:hidden}
 .pg-we-day-head{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important}
 .pg-we-day-select,.pg-we-focus{width:100%!important;max-width:none!important;min-width:0!important;min-height:44px!important}
 .pg-we-day-head button[data-we-toggle],.pg-we-day-head button[data-we-del]{width:100%!important;min-width:0!important;min-height:42px!important;white-space:normal!important}
 .we-ex-row{padding:9px!important;border:1px solid var(--border)!important;background:rgba(255,255,255,.025)!important}
 .we-ex-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
 .we-ex-grid .we-ex-order{grid-column:1/2!important;min-width:0!important}
 .we-ex-grid .we-ex-name{grid-column:2/5!important;display:flex!important;align-items:center!important;min-height:44px!important;padding:7px 9px!important;overflow-wrap:anywhere!important;line-height:1.25!important}
 .we-ex-grid input[data-we-sets]{grid-column:1/2!important}
 .we-ex-grid input[data-we-reps]{grid-column:2/3!important}
 .we-ex-grid input[data-we-load]{grid-column:3/4!important}
 .we-ex-grid input[data-we-rest]{grid-column:4/5!important}
 .we-ex-grid input.inp-sm{width:100%!important;min-width:0!important;min-height:44px!important;padding:7px 4px!important;font-size:16px!important;text-align:center!important}
 .we-ex-grid button[data-we-circuit]{grid-column:1/3!important;width:100%!important;min-width:0!important;min-height:42px!important;height:auto!important}
 .we-ex-grid button[data-we-rm-ex]{grid-column:3/5!important;width:100%!important;min-width:0!important;min-height:42px!important;height:auto!important;border:1px solid rgba(255,107,107,.28)!important;border-radius:8px!important;color:var(--red)!important;font-size:13px!important}
 .pg-we-ex-search{display:grid!important;grid-template-columns:minmax(0,1fr) 125px!important;gap:8px!important}
 .pg-we-ex-search input,.pg-we-ex-search select{width:100%!important;max-width:none!important;min-width:0!important;min-height:44px!important}
 .pg-workout-editor .ex-list{max-height:45dvh!important}
 .pg-workout-editor .ex-item{align-items:flex-start!important;gap:10px!important;padding:11px 10px!important}
 .pg-workout-editor .ex-item>span:first-child{min-width:0;overflow-wrap:anywhere;line-height:1.3}
 .pg-workout-editor .ex-item>div{flex:0 1 auto;justify-content:flex-end;flex-wrap:wrap}
 .pg-we-footer{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:30!important;display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:8px!important;margin:0!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(24,22,35,.94),var(--bg3) 35%)!important;border-top:1px solid var(--border2)!important;box-shadow:0 -12px 28px rgba(0,0,0,.35)!important}
 .pg-we-footer .btn{width:100%!important;min-width:0!important;min-height:46px!important}
}
@media(max-width:380px){
 .pg-we-template-actions{grid-template-columns:minmax(0,1fr)!important}
 .pg-we-day-head{grid-template-columns:96px minmax(0,1fr)!important}
 .pg-we-ex-search{grid-template-columns:minmax(0,1fr)!important}
}



/* ── Correções mobile: Alertas, Mensagens e Geofence ── */
.pg-recovery-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.pg-recovery-main{min-width:0}
.pg-recovery-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:5px}
.pg-recovery-meta{font-size:13px;color:var(--dim);margin-bottom:8px}
.pg-recovery-message{font-size:14px;color:var(--muted);line-height:1.45;background:rgba(0,0,0,.18);border:1px solid var(--border);border-radius:10px;padding:10px}
.pg-recovery-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:180px}
.pg-msg-list-card,.pg-chat-card{min-width:0}
.pg-contact-item{display:flex;align-items:center;gap:9px;padding:10px 8px;border-radius:9px;cursor:pointer;margin-bottom:3px;transition:border .15s,background .15s}
.pg-chat-head{padding:.875rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.pg-geo-feedback{margin-top:10px;padding:8px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);font-size:12px;line-height:1.35;color:var(--muted);text-align:left}
.pg-geo-feedback.ok{color:var(--green);border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.08)}
.pg-geo-feedback.warn{color:var(--amber);border-color:rgba(252,211,77,.25);background:rgba(252,211,77,.08)}
.pg-geo-feedback.err{color:var(--red);border-color:rgba(255,107,107,.25);background:rgba(255,107,107,.08)}
.pg-geo-feedback.info{color:var(--blue);border-color:rgba(0,212,255,.25);background:rgba(0,212,255,.08)}
@media(max-width:768px){
 .pg-recovery-card{grid-template-columns:1fr!important;gap:10px!important;padding:12px!important}
 .pg-recovery-header{gap:8px!important;align-items:flex-start!important}
 .pg-recovery-header .av{width:40px!important;height:40px!important;font-size:13px!important}
 .pg-recovery-header b{font-size:16px!important;line-height:1.2!important}
 .pg-recovery-meta{font-size:12px!important;margin:4px 0 0!important;color:var(--muted)!important}
 .pg-recovery-message{display:none!important}
 .pg-recovery-actions{min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;justify-content:stretch!important}
 .pg-recovery-actions .btn{width:100%!important;min-height:40px!important;padding:8px 10px!important;font-size:12px!important;white-space:normal!important}
 .pg-recovery-actions .btn:first-child{grid-column:1/-1;min-height:44px!important;font-size:13px!important}
 #msg-grid{grid-template-columns:1fr!important;height:auto!important;min-height:calc(100dvh - 110px)!important;gap:10px!important}
 #msg-grid>.pg-msg-list-card{max-height:150px!important;overflow-y:auto!important;padding:.7rem!important}
 #msg-grid>.pg-chat-card{min-height:calc(100dvh - 285px)!important;height:calc(100dvh - 245px)!important;display:flex!important;flex-direction:column!important}
 .pg-contact-item{padding:9px 10px!important;margin-bottom:6px!important;background:var(--bg4)!important;border:1px solid var(--border)!important}
 .pg-contact-item .av{width:34px!important;height:34px!important;font-size:12px!important}
 .pg-chat-head{padding:.75rem .875rem!important;min-height:62px!important}
 .chat-msgs{min-height:0!important;flex:1!important;padding:.875rem!important}
 .chat-input-row{display:flex!important;align-items:flex-end!important;gap:8px!important;padding:.65rem!important;position:sticky;bottom:0;background:rgba(14,13,23,.98);border-top:1px solid var(--border);z-index:4}
 .chat-input-row .chat-input{flex:1 1 auto!important;width:auto!important;min-width:0!important;min-height:48px!important;max-height:96px!important;padding:10px 12px!important;border-radius:13px!important}
 .chat-input-row #chat-send{width:78px!important;min-width:78px!important;flex:0 0 78px!important;min-height:48px!important;padding:0 8px!important;border-radius:13px!important;font-size:13px!important;white-space:nowrap!important}
}
@media(max-width:380px){
 .pg-recovery-actions{grid-template-columns:1fr!important}
 .pg-recovery-actions .btn:first-child{grid-column:auto}
 .chat-input-row #chat-send{width:70px!important;min-width:70px!important;flex-basis:70px!important;font-size:12px!important}
}



/* ── Fonte consolidada: pg-senior-quality-css ── */

/* ── Senior UX polish: acessibilidade, responsividade e fluidez ───────────── */
:root{--pg-tap:44px;--pg-vh:1vh}
button,.btn,[role="button"],.nav-item,.pg-contact-item{touch-action:manipulation}
button:disabled,.btn:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.75)}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--lime,#C8FF00);outline-offset:3px}
input.invalid,select.invalid,textarea.invalid,.pg-invalid{border-color:#FF6B6B!important;box-shadow:0 0 0 3px rgba(255,107,107,.14)!important}
input.valid,select.valid,textarea.valid{border-color:rgba(200,255,0,.42)!important}
.chat-msgs{scroll-behavior:smooth;overscroll-behavior:contain}.msg a{word-break:break-word}.pg-contact-item{min-height:var(--pg-tap);border-radius:14px;padding:8px;display:flex;align-items:center;gap:9px;cursor:pointer}
.btn.is-busy{position:relative;pointer-events:none}.btn.is-busy::after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;margin-left:8px;vertical-align:-2px;animation:pgSpin .7s linear infinite}@keyframes pgSpin{to{transform:rotate(360deg)}}
@media (max-width:720px){#main{min-height:calc(var(--pg-vh)*100)}#msg-grid{grid-template-columns:1fr!important;height:auto!important;min-height:calc(var(--pg-vh)*100 - 130px)}.pg-msg-list-card{max-height:34vh}.pg-chat-card{min-height:58vh}.chat-input-row{position:sticky;bottom:0;background:var(--bg3,#11111C);padding:10px}.btn,.inp,button{min-height:var(--pg-tap)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media print{#sidebar,.topbar,.toast,.gpt-panel,.chat-input-row,.btn{display:none!important}body{background:white!important;color:#111!important}.card{break-inside:avoid;border:1px solid #ddd!important}}


/* ── Fonte consolidada: pg-topbar-menu-fix-2026-07-03 ── */

@media(max-width:768px){
  #topbar{
    padding-left:1rem!important;
  }
  #sb-toggle{
    position:static!important;
    top:auto!important;
    left:auto!important;
    z-index:auto!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #sidebar.sb-open ~ #main #sb-toggle{
    display:none!important;
  }
}


/* ── Fonte consolidada: pg-ios-pwa-safe-area-top-fix-2026-07-04 ── */

@media(max-width:768px){
  /* iOS instalado como PWA com status-bar black-translucent desenha o app por trás do relógio.
     Este padding preserva o mesmo padrão visual do Android, mas empurra a topbar para baixo da safe-area. */
  #topbar{
    padding-top:calc(.75rem + env(safe-area-inset-top, 0px))!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
    align-items:center!important;
  }
  #topbar .tb-left{
    align-items:center!important;
  }
  #sb-toggle{
    position:static!important;
    transform:none!important;
    margin-top:0!important;
    align-self:center!important;
    flex:0 0 42px!important;
  }
  #sidebar{
    padding-top:env(safe-area-inset-top, 0px)!important;
  }
}


/* ── Fonte consolidada: pg-senior-final-v86-style ── */

/* PARADISE GYM · camada final senior v86
   Mantém o HTML monolítico, reforçando responsividade, legibilidade e consistência visual. */
:root{
  --pg-safe-bottom:env(safe-area-inset-bottom,0px);
  --pg-safe-top:env(safe-area-inset-top,0px);
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  min-width:320px;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
}
*,*::before,*::after{box-sizing:border-box;}
button,[role="button"],.btn,a,input,select,textarea{touch-action:manipulation;}
button,.btn{min-height:36px;}
button:disabled,.btn:disabled,[aria-disabled="true"]{
  opacity:.58!important;
  cursor:not-allowed!important;
  filter:saturate(.8);
}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--lime,#C8FF00)!important;
  outline-offset:2px!important;
}
input,select,textarea,.inp,.search-inp{
  max-width:100%;
  color:var(--text,#F8FAFC)!important;
  background-color:var(--bg4,#171723)!important;
  border-color:var(--border,rgba(255,255,255,.12))!important;
}
select option{
  color:#111827;
  background:#ffffff;
}
textarea{resize:vertical;}
img,svg,video,canvas{max-width:100%;}
.card,.card-sm,.modal,.reg-wrap,.pg-chat-card{
  min-width:0;
}
.card,.card-sm{
  overflow-wrap:anywhere;
}
.modal,.modal-card,[role="dialog"]{
  max-width:min(96vw,980px)!important;
}
.modal-body,.modal-content{
  max-height:calc(100dvh - 96px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.tbl{
  width:100%;
  border-collapse:collapse;
}
.pg-senior-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
.pg-senior-table-wrap > table{min-width:720px;}
.search-wrap,.tb-left,.tb-right,.chat-input-row,.pg-chat-head{min-width:0;}
.chat-input-row textarea,.chat-input{min-height:44px;}
.empty{
  overflow-wrap:anywhere;
}
.pg-senior-toast{
  position:fixed;
  left:50%;
  bottom:calc(18px + var(--pg-safe-bottom));
  transform:translateX(-50%) translateY(18px);
  z-index:99999;
  width:min(92vw,520px);
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(14,14,22,.96);
  color:var(--text,#fff);
  box-shadow:0 18px 60px rgba(0,0,0,.36);
  font-size:14px;
  line-height:1.35;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.pg-senior-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.pg-senior-action-lock{
  pointer-events:none!important;
  opacity:.72!important;
}
@media (max-width:820px){
  body{font-size:15px;}
  button,.btn{min-height:42px;}
  .hide-mobile{display:none!important;}
  .card,.card-sm{border-radius:18px;}
  .g2,.g3,.g4,.g5{grid-template-columns:1fr!important;}
  #topbar{gap:8px;}
  .tb-title{font-size:18px!important;}
  .pg-senior-table-wrap > table{min-width:640px;}
  .tbl td,.tbl th{white-space:normal;}
  #msg-grid{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:calc(100dvh - 130px)!important;
  }
  #msg-grid > .pg-msg-list-card{max-height:260px;}
  #msg-grid > .pg-chat-card{min-height:520px;}
  .chat-input-row{align-items:stretch!important;}
  .chat-input-row .btn{align-self:stretch;}
}
@media (max-width:520px){
  body{font-size:14px;}
  .card,.card-sm{padding:14px!important;}
  .btn-xs,.btn-sm{font-size:13px!important;}
  button,.btn{width:auto;}
  .modal,.modal-card,[role="dialog"]{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  .pg-register-logo{max-width:210px!important;}
  .steps{gap:6px!important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}


/* ── Fonte consolidada: pg-final-message-fix-style ── */

/* Hotfix final: remove os botões flutuantes de busca/topo */
#pgx-floating,
.pgx-floating,
#pgx-open-command,
#pgx-scroll-top{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Hotfix final: seção Mensagens sempre contida na tela */
#msg-grid.pg-msg-fixed{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  gap:14px!important;
  height:calc(100dvh - 128px)!important;
  min-height:420px!important;
  box-sizing:border-box!important;
}
#msg-grid.pg-msg-fixed.pg-student-chat{
  display:flex!important;
  flex-direction:column!important;
}
#msg-grid.pg-msg-fixed > .pg-chat-card{
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#msg-grid.pg-msg-fixed > .pg-msg-list-card{
  min-width:0!important;
  max-width:100%!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}
#msg-grid.pg-msg-fixed .pg-chat-head{
  flex:0 0 auto!important;
  min-width:0!important;
}
#msg-grid.pg-msg-fixed .chat-msgs{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  min-width:0!important;
}
#msg-grid.pg-msg-fixed .chat-input-row{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  position:static!important;
  bottom:auto!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
}
#msg-grid.pg-msg-fixed .chat-input-row .chat-input{
  min-width:0!important;
  width:100%!important;
  flex:1 1 auto!important;
  box-sizing:border-box!important;
}
#msg-grid.pg-msg-fixed .chat-input-row #chat-send{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#msg-grid.pg-msg-fixed .msg{
  max-width:min(76%,720px)!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.pg-message-helper{
  flex:0 0 auto;
  font-size:11px;
  color:var(--muted);
  padding:0 .85rem .65rem;
}
@media (max-width:768px){
  body:has(#msg-grid.pg-msg-fixed){overflow-x:hidden!important;}
  #page:has(#msg-grid.pg-msg-fixed){padding:.75rem .65rem!important;overflow:hidden!important;}
  #msg-grid.pg-msg-fixed{
    display:flex!important;
    flex-direction:column!important;
    height:calc(100dvh - 122px)!important;
    min-height:0!important;
    max-height:none!important;
    gap:10px!important;
  }
  #msg-grid.pg-msg-fixed:not(.pg-student-chat) > .pg-msg-list-card{
    flex:0 0 auto!important;
    max-height:145px!important;
    padding:.65rem!important;
  }
  #msg-grid.pg-msg-fixed > .pg-chat-card{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
  }
  #msg-grid.pg-msg-fixed .pg-chat-head{padding:.7rem .8rem!important;min-height:56px!important;}
  #msg-grid.pg-msg-fixed .chat-msgs{padding:.75rem!important;}
  #msg-grid.pg-msg-fixed .chat-input-row{padding:.65rem!important;}
  #msg-grid.pg-msg-fixed .chat-input{min-height:48px!important;max-height:96px!important;font-size:16px!important;}
  #msg-grid.pg-msg-fixed #chat-send{min-height:48px!important;padding:0 14px!important;}
  #msg-grid.pg-msg-fixed .msg{max-width:88%!important;font-size:15px!important;}
  .pg-message-helper{display:none!important;}
}
@media (max-width:380px){
  #msg-grid.pg-msg-fixed #chat-send{padding:0 10px!important;font-size:12px!important;}
}


/* ── Fonte consolidada: pg-client-request-hotfix-style ── */

  /* 1. Remove completamente o card de dicas/melhoria de experiência do topo. */
  #pgx-context-card,
  .pgx-context-card{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* 2. Remove a informação de app instalado no topo. */
  #btn-install-pwa-top.installed,
  #btn-install-pwa-top[disabled]{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }


/* ── Fonte consolidada: pg-senior-sync-core-style-v85 ── */

  html.pg-sync-soft #sync-status-lbl{opacity:.86;transition:opacity .18s ease}
  html.pg-sync-soft .sync-dot{box-shadow:0 0 0 3px rgba(200,255,0,.08)}
  .pg-sync-mini-status{position:fixed;right:14px;bottom:14px;z-index:120;max-width:min(360px,calc(100vw - 28px));padding:10px 12px;border:1px solid rgba(200,255,0,.18);border-radius:14px;background:rgba(17,17,28,.88);backdrop-filter:blur(10px);color:var(--text);font-size:12px;line-height:1.35;box-shadow:0 12px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
  .pg-sync-mini-status.show{opacity:1;transform:translateY(0)}
  .pg-sync-mini-status strong{color:var(--lime)}
  @media(max-width:768px){.pg-sync-mini-status{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none}}


/* ── Fonte consolidada: pg-fixes-2026-07-02-style ── */

  #sidebar{overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;}
  .pg-ios-install-card{position:fixed;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}
  .pg-ios-install-box{width:min(430px,100%);background:var(--bg3,#11111c);border:1px solid var(--border2,#2a2a38);border-radius:20px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.45);color:var(--text,#E8E6F0)}
  .pg-ios-install-box h3{margin:0 0 8px;font-size:20px;color:var(--lime,#C8FF00)}
  .pg-ios-install-box ol{margin:12px 0 0;padding-left:22px;color:var(--muted,#B8B5C8);line-height:1.65;font-size:15px}
  .pg-ios-install-box .btn{margin-top:16px;width:100%;justify-content:center}


/* ── Fonte consolidada: pg-fixes-2026-07-03-style ── */

  .pg-series-card-done{box-shadow:0 0 0 2px rgba(52,211,153,.18) inset;transition:box-shadow .25s ease,background .25s ease,border-color .25s ease}
  .pg-load-saved{animation:pgLoadSaved .9s ease}
  @keyframes pgLoadSaved{0%{transform:scale(1);box-shadow:none}35%{transform:scale(1.06);box-shadow:0 0 0 4px rgba(200,255,0,.14)}100%{transform:scale(1);box-shadow:none}}
  #rest-timer-box{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 24px))!important;z-index:220!important;box-shadow:0 18px 60px rgba(0,0,0,.45)!important;backdrop-filter:blur(10px);}
  .pg-load-modal{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.66);backdrop-filter:blur(10px)}
  .pg-load-dialog{width:min(440px,100%);background:var(--bg3,#11111c);border:1px solid rgba(200,255,0,.28);border-radius:22px;padding:18px;box-shadow:0 26px 80px rgba(0,0,0,.5);color:var(--text,#E8E6F0)}
  .pg-load-dialog h3{margin:0 0 6px;font-size:20px;line-height:1.2;color:var(--lime,#C8FF00);letter-spacing:.2px}
  .pg-load-dialog p{margin:0 0 14px;color:var(--muted,#B8B5C8);font-size:14px;line-height:1.45}
  .pg-load-field{display:flex;flex-direction:column;gap:7px;margin:12px 0 16px}
  .pg-load-field label{font-size:12px;text-transform:uppercase;letter-spacing:.8px;font-weight:900;color:var(--muted,#B8B5C8)}
  .pg-load-field input{width:100%;border:1px solid var(--border,#2a2a38);background:var(--bg4,#171725);color:var(--text,#E8E6F0);border-radius:14px;padding:13px 14px;font-size:18px;font-weight:800;outline:none}
  .pg-load-field input:focus{border-color:var(--lime,#C8FF00);box-shadow:0 0 0 3px rgba(200,255,0,.12)}
  .pg-load-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
  .pg-load-actions .btn{min-width:112px;justify-content:center}


/* ── Fonte consolidada: pg-ux-security-2026-07-05-style ── */

  .btn.pg-saving,.btn[disabled].pg-saving{opacity:.82!important;cursor:wait!important;pointer-events:none!important;filter:saturate(.9);display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .btn.pg-saving::before{content:'';width:14px;height:14px;flex:0 0 14px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pgSaveSpin .65s linear infinite}
  @keyframes pgSaveSpin{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){.btn.pg-saving::before{animation-duration:1.4s}}
  .empty{border:1px dashed rgba(200,255,0,.22)!important;background:linear-gradient(135deg,rgba(200,255,0,.045),rgba(167,139,250,.035))!important;border-radius:18px!important;color:var(--muted)!important;text-align:center!important;line-height:1.45!important}
  .pg-empty-title{font-size:17px;font-weight:950;color:var(--text);margin:8px 0 5px}
  .pg-empty-text{font-size:14px;color:var(--muted);max-width:520px;margin:0 auto 12px}
  .pg-empty-icon{font-size:34px;margin-bottom:4px;filter:drop-shadow(0 0 10px rgba(200,255,0,.12))}


/* ── Fonte consolidada: pg-improvements-v50-style ── */

/* ── PG v50 · polimento visual global (aditivo) ── */
::selection{background:rgba(200,255,0,.28);color:#fff}
html{scroll-behavior:smooth}
body{font-variant-numeric:tabular-nums}
:where(.inp,input.inp,select,textarea):focus{border-color:rgba(200,255,0,.45)!important;box-shadow:0 0 0 3px rgba(200,255,0,.12)!important;transition:box-shadow .15s ease,border-color .15s ease}
.tbl tbody tr,.tbl tr{transition:background .12s ease}
@media(min-width:769px){.tbl tbody tr:hover,.tbl tr:hover{background:rgba(255,255,255,.028)}}
.card{transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.card[onclick]:hover,.card-sm[onclick]:hover{border-color:rgba(200,255,0,.28);transform:translateY(-1px);box-shadow:0 10px 30px rgba(0,0,0,.28);cursor:pointer}
.btn{transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.btn:not(:disabled):active{transform:translateY(1px)}
.btn-lime:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 6px 20px rgba(200,255,0,.22)}
.tab{transition:background .14s ease,color .14s ease}
.nav{transition:background .14s ease,color .14s ease,border-color .14s ease}
#topbar{backdrop-filter:blur(8px)}

/* Badge de status (conexão + sincronização) */
.pg50-status{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border2);background:rgba(255,255,255,.03);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:800;color:var(--muted);cursor:pointer;white-space:nowrap;user-select:none;line-height:1;-webkit-tap-highlight-color:transparent}
.pg50-status .pg50-dot{width:7px;height:7px;border-radius:999px;background:var(--green);box-shadow:0 0 0 3px rgba(52,211,153,.14);flex-shrink:0}
.pg50-status.off .pg50-dot{background:var(--red);box-shadow:0 0 0 3px rgba(255,107,107,.16)}
.pg50-status.off{color:var(--red);border-color:rgba(255,107,107,.35)}
.pg50-status:hover{color:var(--lime);border-color:rgba(200,255,0,.3)}
@media(max-width:560px){.pg50-status .pg50-txt{display:none}.pg50-status{padding:5px 8px}}

/* Botão exportar no topbar */
.pg50-export-btn{background:var(--bg4);border:1px solid var(--border2);border-radius:8px;color:var(--blue);cursor:pointer;width:34px;height:34px;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;-webkit-tap-highlight-color:transparent}
.pg50-export-btn:hover{color:var(--lime);border-color:rgba(200,255,0,.3)}

/* Cartões injetados (streak / vendas / backup) */
.pg50-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1rem;position:relative;overflow:hidden}
.pg50-card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,255,0,.45),transparent)}
.pg50-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.pg50-kpi-label{font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.pg50-kpi-value{font-size:22px;font-weight:1000;color:var(--text);line-height:1.15}
.pg50-kpi-value.lime{color:var(--lime)}.pg50-kpi-value.red{color:var(--red)}.pg50-kpi-value.amber{color:var(--amber)}.pg50-kpi-value.blue{color:var(--blue)}
.pg50-kpi-sub{font-size:12px;color:var(--muted);margin-top:2px}
.pg50-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(252,211,77,.35);background:rgba(252,211,77,.10);color:var(--amber);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;margin:3px 6px 0 0}

/* Banner de atualização do PWA */
.pg50-update{position:fixed;left:50%;transform:translateX(-50%) translateY(24px);bottom:calc(14px + env(safe-area-inset-bottom));z-index:100001;background:rgba(11,14,18,.97);border:1px solid rgba(200,255,0,.45);border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 16px 50px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(10px);max-width:calc(100vw - 24px)}
.pg50-update.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.pg50-update b{color:var(--lime);font-size:13.5px}
.pg50-update .btn{white-space:nowrap}

/* Impressão limpa (relatórios etc.) */
@media print{
  body{background:#fff!important;color:#000!important}
  #sidebar,#sb-toggle,#sb-overlay,#topbar button,.pgx-floating,.pgx-context-actions,.pg50-update,.pg50-status,.pg50-export-btn,.btn{display:none!important}
  #main{margin-left:0!important;padding:0!important}
  .card,.card-sm,.pg50-card{background:#fff!important;border-color:#ccc!important;box-shadow:none!important;break-inside:avoid}
  *{color:#111!important}
}


/* ── Fonte consolidada: pg-v87-finance-renew-mobile-style ── */

/* v87 · Financeiro: planos no pagamento, loading visível e modais seguros no mobile */
.pg-v87-modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:1.25rem;flex-wrap:wrap}
.pg-v87-modal-actions .btn{min-height:38px}
.pg-v87-progress{display:none;height:4px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);margin-top:10px;position:relative}
.pg-v87-progress::before{content:"";position:absolute;inset:0;width:42%;border-radius:999px;background:linear-gradient(90deg,rgba(200,255,0,.05),rgba(200,255,0,.95),rgba(0,212,255,.55));animation:pgV87Progress 1s ease-in-out infinite}
.pg-v87-progress.is-active{display:block}
@keyframes pgV87Progress{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
.btn.pg-v87-loading,.btn[disabled].pg-v87-loading{opacity:.78!important;cursor:wait!important;pointer-events:none!important;position:relative;overflow:hidden}
.btn.pg-v87-loading::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;display:inline-block;margin-left:8px;vertical-align:-2px;animation:pgV87Spin .7s linear infinite}
@keyframes pgV87Spin{to{transform:rotate(360deg)}}
.pg-v87-payment-summary{background:var(--bg4);border:1px solid rgba(52,211,153,.24);border-radius:14px;padding:14px;line-height:1.45}
.pg-v87-payment-summary b{color:var(--text)}
@media(max-width:768px){
  .overlay{padding:0!important;align-items:flex-end!important}
  .mbox{box-sizing:border-box!important;width:100%!important;max-width:100%!important;max-height:calc(100dvh - 10px)!important;border-radius:20px 20px 0 0!important;padding:1rem!important;padding-bottom:calc(1rem + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .mbox .fg,.mbox .fg2{grid-template-columns:1fr!important}
  .pg-v87-modal-actions{position:sticky;bottom:calc(-1rem - env(safe-area-inset-bottom));margin-left:-1rem;margin-right:-1rem;margin-bottom:calc(-1rem - env(safe-area-inset-bottom));padding:12px 1rem calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(24,22,35,.88),var(--bg3));border-top:1px solid var(--border2);justify-content:stretch;z-index:5}
  .pg-v87-modal-actions .btn{flex:1;min-width:0;white-space:normal}
  .pg-v87-progress{width:100%;flex:0 0 100%;order:-1;margin-top:0;margin-bottom:2px}
}


/* ── Fonte consolidada: pg-v88-finance-confirmation-style ── */

/* v88 · Financeiro: confirmação visual no modal e gravação sem dupla chamada */
.pg-v88-payment-modal{display:flex;flex-direction:column;gap:14px}
.pg-v88-payment-summary{background:var(--bg4);border:1px solid rgba(52,211,153,.24);border-radius:14px;padding:14px;line-height:1.45}
.pg-v88-payment-summary b{color:var(--text)}
.pg-v88-status{display:flex;align-items:flex-start;gap:8px;min-height:38px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:var(--muted);font-size:13px;line-height:1.35}
.pg-v88-status::before{content:"•";font-size:18px;line-height:1;color:var(--muted)}
.pg-v88-status.is-loading{border-color:rgba(200,255,0,.35);background:rgba(200,255,0,.07);color:var(--text)}
.pg-v88-status.is-loading::before{content:"";width:14px;height:14px;flex:0 0 14px;margin-top:1px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:pgV88Spin .75s linear infinite}
.pg-v88-status.is-ok{border-color:rgba(52,211,153,.38);background:rgba(52,211,153,.1);color:var(--text)}
.pg-v88-status.is-ok::before{content:"✓";color:#34d399;font-size:16px;font-weight:900}
.pg-v88-status.is-warn{border-color:rgba(251,191,36,.38);background:rgba(251,191,36,.1);color:var(--text)}
.pg-v88-status.is-warn::before{content:"⏳";font-size:14px}
.pg-v88-status.is-error{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1);color:var(--text)}
.pg-v88-status.is-error::before{content:"!";color:#f87171;font-size:16px;font-weight:900}
.pg-v88-modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:2px;flex-wrap:wrap}
.pg-v88-modal-actions .btn{min-height:40px}
.pg-v88-progress{display:none;width:100%;height:5px;flex:0 0 100%;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);position:relative}
.pg-v88-progress::before{content:"";position:absolute;inset:0;width:38%;border-radius:999px;background:linear-gradient(90deg,rgba(200,255,0,.05),rgba(200,255,0,.95),rgba(0,212,255,.6));animation:pgV88Progress 1s ease-in-out infinite}
.pg-v88-progress.is-active{display:block}
.btn.pg-v88-loading,.btn[disabled].pg-v88-loading{opacity:.82!important;cursor:wait!important;pointer-events:none!important;position:relative;overflow:hidden}
.btn.pg-v88-loading::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;display:inline-block;margin-left:8px;vertical-align:-2px;animation:pgV88Spin .7s linear infinite}
@keyframes pgV88Spin{to{transform:rotate(360deg)}}
@keyframes pgV88Progress{0%{transform:translateX(-120%)}100%{transform:translateX(285%)}}
@media(max-width:768px){
  .overlay{padding:0!important;align-items:flex-end!important;overflow:hidden!important}
  .mbox{box-sizing:border-box!important;width:100%!important;max-width:100%!important;max-height:100svh!important;border-radius:20px 20px 0 0!important;padding:1rem!important;padding-bottom:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .mbox .fg,.mbox .fg2{grid-template-columns:1fr!important}
  .pg-v88-modal-actions{position:sticky;bottom:0;margin-left:-1rem;margin-right:-1rem;margin-bottom:0;padding:12px 1rem calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(24,22,35,.92),var(--bg3));border-top:1px solid var(--border2);justify-content:stretch;z-index:10;box-shadow:0 -16px 32px rgba(0,0,0,.28)}
  .pg-v88-modal-actions .btn{flex:1 1 0;min-width:0;white-space:normal}
  .pg-v88-progress{order:-1;margin-bottom:2px}
}


/* ── Fonte consolidada: pg-v100-quality-styles ── */

.pg-v100-choice-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.pg-v100-choice{appearance:none;border:1px solid var(--border);background:var(--bg4);color:var(--text);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;cursor:pointer;line-height:1.1;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}
.pg-v100-choice:hover{transform:translateY(-1px);border-color:rgba(200,255,0,.42)}
.pg-v100-choice.is-active{border-color:var(--lime);background:rgba(200,255,0,.13);color:var(--lime);box-shadow:0 0 0 1px rgba(200,255,0,.15) inset}
.pg-v100-choice[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.pg-v100-hidden-select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.pg-v100-fee-box{grid-column:1/-1;border:1px solid rgba(200,255,0,.22);background:rgba(200,255,0,.055);border-radius:14px;padding:12px;margin-top:2px}
.pg-v100-wa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pg-v100-wa-card{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}
.pg-v100-wa-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:900;margin-bottom:4px}
.pg-v100-wa-value{font-size:14px;font-weight:800;word-break:break-word;color:var(--text)}
@media(max-width:760px){.pg-v100-wa-grid{grid-template-columns:1fr}.pg-v100-choice{flex:1 1 auto;text-align:center}.pg-v100-choice-grid{gap:7px}.mbox.mbox-xl{width:100%!important;max-width:100%!important}}


/* ── Fonte consolidada: pg-v140-senior-review-styles ── */

:root{--pg-v140-safe-bottom:env(safe-area-inset-bottom,0px);--pg-v140-focus:var(--lime,#C8FF00)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{overflow-x:hidden}
button,[role="button"],.btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pg-v140-focus)!important;outline-offset:3px!important}
input,select,textarea{max-width:100%}
img{max-width:100%;height:auto}.pg-v140-img-broken{display:none!important}
.overlay{padding:max(14px,env(safe-area-inset-top,0px)) 14px max(14px,var(--pg-v140-safe-bottom))}
.mbox,.modal,.dialog{max-width:min(var(--pg-modal-w,960px),calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.mbody,.modal-body,.card,.stat,.kpi,.field,.fg,.g2,.g3,.g4,.g5,.grid,#page,#main{min-width:0}
.tbl,.table,table{width:100%;border-collapse:collapse}
.pg-table-wrap,.table-wrap{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.pg-table-wrap>table,.table-wrap>table{min-width:760px}
.pg-v140-saving{opacity:.72;pointer-events:none;filter:saturate(.9)}
.pg-v140-disabled{opacity:.55;pointer-events:none}.pg-v140-hidden{display:none!important}
.pg-v140-note{font-size:13px;line-height:1.45;color:var(--muted);margin-top:6px}
[data-pg-v140-enhanced="1"]{contain:layout style}
@media(max-width:920px){.g5,.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hide-mobile{display:none!important}}
@media(max-width:760px){
 body{font-size:15px}.g5,.g4,.g3,.g2,.grid{grid-template-columns:1fr!important}
 .card{padding:14px!important;border-radius:16px!important}
 .mbox,.modal,.dialog{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 18px)!important;border-radius:18px!important}
 .mhead,.modal-header{position:sticky;top:0;z-index:2;background:var(--bg3,#15151a)}
 .btn,.btn-sm,.btn-xs{min-height:38px}.pg-v100-choice{flex:1 1 auto;text-align:center}
 .pg-v100-wa-grid{grid-template-columns:1fr!important}.pg-table-wrap>table,.table-wrap>table{min-width:680px}
}
@media(max-width:420px){.btn,.btn-sm,.btn-xs{width:100%;justify-content:center}.search-wrap{min-width:100%!important}.inp-sm{width:100%!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* ── Fonte consolidada: pg-v170-student-flow-final-styles ── */

.pg-v170-modal-note{padding:12px 14px;border:1px solid rgba(255,107,107,.25);background:rgba(255,107,107,.08);border-radius:14px;line-height:1.45;font-size:14px;color:var(--text)}


/* ── Fonte consolidada: pg-v178-cache-sync-style ── */

  .pg-v178-maint-card{border-color:rgba(200,255,0,.24)!important;background:linear-gradient(135deg,rgba(200,255,0,.055),rgba(0,212,255,.035)),var(--bg3,#11111c)!important}
  .pg-v178-maint-card .pg-v178-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  .pg-v178-cache-note{font-size:12px;color:var(--muted,#B8B5C8);line-height:1.5;margin-top:8px}
  .pg-v178-sync-warn{font-size:12px;color:#FCD34D;margin-top:6px;line-height:1.4}


/* ── Fonte consolidada: pg-v179-finance-config-mobile-style ── */

.pg-v179-admin-card .pg-v179-admin-header{gap:12px}
.pg-v179-admin-card .pg-v179-admin-row,.pg-v179-admin-card .pg-v179-admin-info{min-width:0}
.pg-v179-admin-card .pg-v179-admin-info *{overflow-wrap:anywhere;word-break:break-word}
.pg-v179-payment-modal{display:flex;flex-direction:column;gap:14px}
.pg-v179-payment-summary{background:var(--bg4);border:1px solid rgba(52,211,153,.24);border-radius:14px;padding:14px;line-height:1.45}
.pg-v179-payment-status{min-height:40px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--muted);font-size:13px;line-height:1.4}
.pg-v179-payment-status.is-loading{color:var(--text);border-color:rgba(200,255,0,.34);background:rgba(200,255,0,.07)}
.pg-v179-payment-status.is-ok{color:var(--text);border-color:rgba(52,211,153,.38);background:rgba(52,211,153,.1)}
.pg-v179-payment-status.is-warn{color:var(--text);border-color:rgba(251,191,36,.38);background:rgba(251,191,36,.1)}
.pg-v179-payment-status.is-error{color:var(--text);border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1)}
.pg-v179-payment-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.btn.pg-v179-busy{opacity:.78!important;cursor:wait!important;pointer-events:none!important}
.pg-v179-anamnese-overlay{padding:0!important;overflow:hidden!important}
@media(max-width:768px){
 .pg-v179-admin-card{padding:14px!important}
 .pg-v179-admin-card .pg-v179-admin-header{display:flex!important;flex-direction:column!important;align-items:stretch!important;margin-bottom:14px!important}
 .pg-v179-admin-card .pg-v179-admin-header .btn{width:100%!important}
 .pg-v179-admin-card .pg-v179-admin-row{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:14px!important;border-radius:14px!important}
 .pg-v179-admin-card .pg-v179-admin-actions{grid-column:1/-1!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:2px}
 .pg-v179-admin-card .pg-v179-admin-actions .btn,.pg-v179-admin-card .pg-v179-admin-actions button{width:100%!important;min-width:0!important;min-height:40px!important;white-space:normal!important;padding:8px 9px!important}
 .pg-v179-admin-card .pg-v179-admin-actions [data-del-admin]{grid-column:1/-1}
 .pg-v179-payment-actions{position:sticky;bottom:0;margin:0 -1rem -1rem;padding:12px 1rem calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(24,22,35,.92),var(--bg3));border-top:1px solid var(--border2);z-index:12}
 .pg-v179-payment-actions .btn{flex:1 1 0;min-width:0;white-space:normal}
 .pg-v179-anamnese-overlay{align-items:stretch!important}
 .mbox.mbox-contract{width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
 .mbox.mbox-contract .mhdr,.mbox.mbox-contract .mhead{position:sticky!important;top:0!important;z-index:20!important;flex:0 0 auto;background:var(--bg3)!important;padding-bottom:10px!important}
 .mbox.mbox-contract .pg-contract-toolbar{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;flex:0 0 auto;background:var(--bg3)!important;padding:0 0 10px!important;margin:0!important}
 .mbox.mbox-contract .pg-contract-toolbar .btn{width:100%!important;min-width:0!important;white-space:normal!important}
 .mbox.mbox-contract .pg-contract-frame-wrap{width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important;overflow-x:hidden!important;padding:4px!important;border-radius:10px!important;-webkit-overflow-scrolling:touch!important}
 .mbox.mbox-contract .pg-contract-iframe{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:1400px;transform:none!important;margin:0!important;border-radius:6px!important}
 .mbox.mbox-contract .pg-contract-note{flex:0 0 auto;font-size:12px!important;margin-top:7px!important}
}
@media(max-width:420px){
 .pg-v179-admin-card .pg-v179-admin-actions{grid-template-columns:1fr!important}
 .pg-v179-admin-card .pg-v179-admin-actions [data-del-admin]{grid-column:auto}
 .mbox.mbox-contract .pg-contract-toolbar{grid-template-columns:1fr!important}
}


/* ── Fonte consolidada: pg-v180-anamnese-desktop-mobile-style ── */

/* Mantém campos de data dentro do formulário, inclusive nos navegadores móveis. */
.reg-wrap .field,.mbox .field{min-width:0}
.reg-wrap input[type="date"],.mbox input[type="date"],#reg-dob,#sf-dob{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:768px){
  /* O documento conserva o desenho desktop; somente a visualização é reduzida proporcionalmente. */
  html body .overlay.pg-v179-anamnese-overlay{
    align-items:center!important;
    justify-content:center!important;
    padding:8px!important;
    overflow:hidden!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract{
    box-sizing:border-box!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    height:auto!important;
    max-height:calc(100dvh - 16px)!important;
    margin:auto!important;
    padding:10px!important;
    padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .mhdr,
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .mhead{
    position:relative!important;
    top:auto!important;
    flex:0 0 auto!important;
    margin:0 0 8px!important;
    padding:0!important;
    background:var(--bg3)!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .mtitle{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:16px!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex:0 0 auto!important;
    margin:0 0 8px!important;
    padding:0 0 8px!important;
    background:var(--bg3)!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar .btn,
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar a.btn{
    width:auto!important;
    min-width:0!important;
    min-height:38px!important;
    padding:8px 10px!important;
    white-space:normal!important;
    font-size:12px!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar .btn:first-child,
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar a.btn:first-child{
    flex:1 1 auto!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-toolbar .btn:last-child{
    flex:0 0 auto!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-frame-wrap{
    box-sizing:border-box!important;
    position:relative!important;
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    max-height:none!important;
    margin:0!important;
    padding:6px!important;
    overflow:hidden!important;
    border-radius:10px!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-iframe{
    box-sizing:border-box!important;
    display:block!important;
    width:900px!important;
    min-width:900px!important;
    max-width:none!important;
    margin:0!important;
    border:0!important;
    border-radius:7px!important;
    transform-origin:top left!important;
    background:#fff!important;
  }
  html body .overlay.pg-v179-anamnese-overlay .mbox.mbox-contract .pg-contract-note{
    flex:0 0 auto!important;
    margin:7px 0 0!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
}


/* ── Fonte consolidada: pg-v202-professional-quality-style ── */

:root{--pg-safe-bottom:max(12px,env(safe-area-inset-bottom));--pg-control-min:42px}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:280px;overflow-x:hidden}
#root,#shell,#main,#page,.card,.field,.fg,.g2,.g3,.g4,.g5{min-width:0}
#topbar{display:flex}
button,input,select,textarea{font:inherit}
button:not(:disabled),[role="button"]:not([aria-disabled="true"]){touch-action:manipulation}
button:disabled,[aria-disabled="true"]{cursor:not-allowed!important;opacity:.62}
input[type="date"],input[type="month"],input[type="time"]{box-sizing:border-box;min-width:0;max-width:100%}
input,select,textarea{max-width:100%}
img,svg,video,canvas{max-width:100%}
.tbl{min-width:680px}
.pg-v200-table-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:inherit}
.pg-v200-table-region:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.overlay[role="dialog"]{overscroll-behavior:contain}
.mbox{overscroll-behavior:contain;scrollbar-gutter:stable}
.mbox .mhdr,.mbox .mhead{gap:12px}
.mbox .mtitle{min-width:0;overflow-wrap:anywhere}
.pg-v200-icon-only{min-width:var(--pg-control-min);min-height:var(--pg-control-min);display:inline-flex;align-items:center;justify-content:center}
.pg-v200-runtime-error{position:fixed;left:16px;right:16px;bottom:var(--pg-safe-bottom);z-index:10000;max-width:680px;margin:auto;padding:12px 14px;border:1px solid rgba(255,107,107,.4);border-radius:12px;background:#2A0F0F;color:#FFD0D0;font-size:13px;line-height:1.45;box-shadow:0 18px 48px rgba(0,0,0,.45)}
.pg-v200-runtime-error button{float:right;margin-left:12px}
.nav[role="button"]:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}
.inp[aria-invalid="true"]{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(255,107,107,.08)}
.pg-v200-required::after{content:" *";color:var(--red)}
.pg-v200-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pg-exercise-pager{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding-top:14px;margin-top:10px;border-top:1px solid var(--faint);font-size:13px;color:var(--muted)}
.pg-exercise-pager .btn{min-width:104px}
.student-ex-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-radius:12px;background:var(--bg4);border:1px solid var(--border)}
.student-ex-card__header{width:100%;min-width:0}
.student-ex-card__name{font-weight:850;font-size:15px;line-height:1.25;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.student-ex-card__equipment{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.25}
.student-ex-card__meta{display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap;font-size:13px}
.student-ex-card__series{color:var(--lime);font-weight:900;white-space:nowrap;background:rgba(200,255,0,.10);border:1px solid rgba(200,255,0,.22);padding:3px 7px;border-radius:8px}
.student-ex-card__load{background:rgba(252,211,77,.15);color:var(--amber);padding:3px 7px;border-radius:8px;font-weight:800;font-size:12px;white-space:nowrap}
.student-ex-card__rest{color:var(--muted);white-space:nowrap;background:var(--bg5);padding:3px 7px;border-radius:8px}
.student-ex-card__video{padding:3px 8px;min-height:25px;font-size:12px;background:rgba(167,139,250,.10);border-color:rgba(167,139,250,.30);color:#A78BFA;white-space:nowrap}
.nutrition-meal-time{min-width:68px;white-space:nowrap;flex-shrink:0}
@media(max-width:768px){
 body{padding-bottom:env(safe-area-inset-bottom)}
 #page{padding-left:12px!important;padding-right:12px!important}
 .card{max-width:100%;overflow-wrap:anywhere}
 .fg2,.fg3,.fg4,.g2,.g3,.g4,.g5{grid-template-columns:minmax(0,1fr)!important}
 .tbl{min-width:640px}
 .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}
 .tab{flex:0 0 auto;min-height:40px}
 .mbox:not(.mbox-contract){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;padding:16px!important;border-radius:15px!important}
 .mbox:not(.mbox-contract) .fg2,.mbox:not(.mbox-contract) .fg3,.mbox:not(.mbox-contract) .fg4{grid-template-columns:minmax(0,1fr)!important}
 .mhdr,.mhead{position:sticky;top:-16px;z-index:6;background:var(--bg3);padding:12px 0 10px;margin-top:-12px}
 .pg-contract-toolbar,.pg-v179-admin-actions,.pg-v200-action-row{align-items:stretch}
 .pg-contract-toolbar .btn,.pg-v179-admin-actions .btn{min-height:42px}
 .toast{left:12px!important;right:12px!important;bottom:var(--pg-safe-bottom)!important;max-width:none!important}
}
@media(max-width:420px){
 .btn,.btn-sm,.btn-xs{max-width:100%}
 .pg-contract-toolbar .btn,.pg-v179-admin-actions .btn,.tabs .tab,#topbar .btn,#topbar button,.mhdr .btn,.mhead .btn{width:auto!important}
 .pg-v179-admin-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
 .pg-v179-admin-actions .btn{width:100%!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}



/* ── PARADISE GYM v203: camada final de estabilidade e responsividade ── */
:root{--pg-v203-focus:var(--lime,#C8FF00);--pg-v203-safe-bottom:max(12px,env(safe-area-inset-bottom));}
html{scroll-padding-top:76px;}
body.pg-v203-modal-open{overflow:hidden;touch-action:none;}
#main{min-width:0;}
#page,.card,.card-sm,.mbox,.field,.tbl-wrap,.pg-v200-table-region{min-width:0;}
img,video,canvas,svg{max-width:100%;}
pre,code,.answer,.val,.clause,.intro,.toast,.pg-v203-break{overflow-wrap:anywhere;word-break:normal;}
button,input,select,textarea{max-width:100%;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,[tabindex]:focus-visible{
 outline:2px solid var(--pg-v203-focus)!important;outline-offset:3px!important;
}
button[aria-busy="true"]{cursor:progress;opacity:.72;}
.mclose{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;}
.overlay[aria-hidden="true"]{display:none!important;}
.pg-v203-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.pg-v200-table-region,.tbl-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;}
.tbl th,.tbl td{overflow-wrap:anywhere;}
input[type="search"]{-webkit-appearance:none;appearance:none;}
@media(max-width:768px){
 body{font-size:15px;}
 #main{width:100%;}
 .overlay{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:var(--pg-v203-safe-bottom);align-items:flex-start;overflow-y:auto;}
 .mbox{width:100%!important;max-width:100%!important;max-height:none!important;margin:auto 0;border-radius:16px;}
 .mhead,.mhdr{position:sticky;top:0;z-index:4;background:var(--bg3);}
 .modal-actions,.form-actions,.card-actions{gap:8px;flex-wrap:wrap;}
 .modal-actions .btn,.form-actions .btn{min-height:42px;}
 input,select,textarea{font-size:16px;}
}
@media(max-width:420px){
 .modal-actions,.form-actions{display:grid!important;grid-template-columns:1fr!important;}
 .modal-actions .btn,.form-actions .btn{width:100%!important;}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important;}
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}


/* ── PARADISE GYM v204: consolidação sênior de UX e performance ── */
:root{--pg-v204-focus:var(--lime,#C8FF00);}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes loadbar{0%{width:0;margin-left:0}50%{width:60%;margin-left:40%}100%{width:0;margin-left:100%}}
.pg-register-link{width:100%;padding:10px 24px;border:1px solid rgba(200,255,0,.3);border-radius:10px;background:transparent;color:var(--lime);font:700 14px/1.3 inherit;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s;}
.pg-register-link:hover{background:rgba(200,255,0,.08);border-color:rgba(200,255,0,.55);}
.pg-register-link:active{transform:translateY(1px);}
.search-icon{pointer-events:none;user-select:none;}
button:disabled,[aria-disabled="true"]{cursor:not-allowed;}
@media(max-width:768px){.pg-register-link{min-height:44px}.search-wrap{max-width:100%}.search-wrap .search-inp{min-width:0}}
@media(max-width:480px){
 #topbar{padding-inline:12px!important;gap:8px}
 #topbar .tb-left{flex:1;min-width:0;gap:8px}
 #topbar .tb-title{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}
 #topbar>div:last-child{gap:6px!important}
 #btn-install-pwa-top{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;justify-content:center!important}
 #btn-install-pwa-top .pwa-label-full{display:none!important}
 #topbar button[title="Modo Quiosque"]{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;font-size:0!important;justify-content:center!important}
 #topbar button[title="Modo Quiosque"]::before{content:"📱";font-size:15px;line-height:1}
 #topbar button[title="Sincronizar com Supabase"]{width:38px!important;height:38px!important}
}


/* ── V216 consolidado: pg-v208-dashboard-style ── */

.pg-admin-dashboard{display:flex;flex-direction:column;gap:1.25rem}
.pg-dash-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:24px;align-items:center;padding:28px;border:1px solid rgba(200,255,0,.22);border-radius:20px;background:radial-gradient(circle at 88% 10%,rgba(200,255,0,.18),transparent 30%),radial-gradient(circle at 4% 100%,rgba(0,212,255,.10),transparent 35%),linear-gradient(135deg,rgba(200,255,0,.08),rgba(167,139,250,.06),var(--bg3));box-shadow:0 18px 55px rgba(0,0,0,.16)}
.pg-dash-hero:before{content:"";position:absolute;right:-72px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(200,255,0,.13);box-shadow:0 0 0 34px rgba(200,255,0,.025),0 0 0 68px rgba(200,255,0,.018);pointer-events:none}
.pg-dash-eyebrow{display:flex;align-items:center;gap:8px;color:var(--lime);font-size:12px;font-weight:950;letter-spacing:1.25px;text-transform:uppercase;margin-bottom:8px}
.pg-dash-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px rgba(200,255,0,.55)}
.pg-dash-title{font-size:clamp(25px,3vw,38px);line-height:1.08;font-weight:950;letter-spacing:-1.2px;max-width:760px}
.pg-dash-subtitle{font-size:15px;color:var(--muted);line-height:1.55;max-width:720px;margin-top:10px}
.pg-dash-hero-actions{position:relative;z-index:1;display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:390px}
.pg-dash-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pg-dash-kpi{position:relative;overflow:hidden;min-height:142px;padding:18px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.012)),var(--bg3);box-shadow:0 14px 34px rgba(0,0,0,.10)}
.pg-dash-kpi:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-38px;top:-42px;background:var(--kpi-glow,rgba(200,255,0,.10));filter:blur(3px);pointer-events:none}
.pg-dash-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pg-dash-kpi-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--kpi-bg,rgba(200,255,0,.10));color:var(--kpi-color,var(--lime));border:1px solid var(--kpi-border,rgba(200,255,0,.18))}
.pg-dash-kpi-icon svg{width:19px;height:19px}
.pg-dash-kpi-label{font-size:12px;font-weight:850;letter-spacing:.2px;color:var(--muted)}
.pg-dash-kpi-value{font-size:clamp(24px,2vw,31px);font-weight:950;letter-spacing:-.7px;margin-top:14px;color:var(--kpi-color,var(--text));white-space:nowrap}
.pg-dash-kpi-note{font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-dash-content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:14px;align-items:stretch}
.pg-dash-column{display:flex;flex-direction:column;gap:14px;min-width:0;height:100%}
.pg-dash-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.036),rgba(255,255,255,.008)),var(--bg3);padding:20px;min-width:0;box-shadow:0 14px 36px rgba(0,0,0,.10)}
.pg-dash-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.pg-dash-card-title{font-size:17px;font-weight:950;letter-spacing:-.2px}
.pg-dash-card-sub{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.pg-health-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center}
.pg-health-ring{--score:0;--tone:var(--lime);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--tone) calc(var(--score)*1%),rgba(255,255,255,.055) 0);position:relative;margin:auto;box-shadow:0 0 40px rgba(200,255,0,.07)}
.pg-health-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--bg3);border:1px solid rgba(255,255,255,.055)}
.pg-health-ring-inner{position:relative;z-index:1;text-align:center}
.pg-health-score{font-size:38px;font-weight:950;line-height:1;color:var(--tone)}
.pg-health-label{font-size:11px;color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.8px;font-weight:800}
.pg-health-metrics{display:flex;flex-direction:column;gap:12px}
.pg-health-row{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:12px;align-items:center}
.pg-health-row-label{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}
.pg-health-row-label b{color:var(--text)}
.pg-health-track{height:7px;background:rgba(255,255,255,.055);border-radius:999px;overflow:hidden}
.pg-health-fill{height:100%;border-radius:999px;background:var(--bar-color,var(--lime));width:var(--bar-width,0%)}
.pg-health-count{font-size:13px;font-weight:900;color:var(--text);min-width:30px;text-align:right}
.pg-dash-action-list{display:grid;grid-template-columns:1fr;gap:9px}
.pg-dash-action{display:flex;width:100%;min-width:0;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.022);min-width:0;cursor:pointer;text-align:left;color:inherit;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.pg-dash-action:hover{transform:translateY(-2px);border-color:var(--action-color,rgba(200,255,0,.38));background:rgba(255,255,255,.038)}
.pg-dash-action-icon{flex:0 0 auto;display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:var(--action-color,var(--lime));background:var(--action-bg,rgba(200,255,0,.09));border:1px solid var(--action-border,rgba(200,255,0,.16))}
.pg-dash-action-icon svg{width:19px;height:19px}
.pg-dash-action-copy{min-width:0;flex:1}
.pg-dash-action-title{display:block;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-dash-action-sub{display:block;font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-dash-action-count{display:block;flex:0 0 auto;font-size:20px;font-weight:950;color:var(--action-color,var(--text))}
.pg-plan-row{margin-bottom:14px}.pg-plan-row:last-child{margin-bottom:0}
.pg-plan-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-bottom:7px}
.pg-plan-name{font-weight:850}.pg-plan-value{font-weight:950;color:var(--lime)}
.pg-plan-track{height:8px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}
.pg-plan-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--lime));width:var(--plan-width,0%)}
.pg-highlight-list{display:flex;flex-direction:column;gap:8px}
.pg-highlight-item{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.018)}
.pg-highlight-rank{width:26px;font-size:13px;font-weight:950;color:var(--muted);text-align:center}
.pg-highlight-copy{min-width:0;flex:1}.pg-highlight-name{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-highlight-sub{font-size:11px;color:var(--muted);margin-top:2px}
.pg-highlight-score{font-size:17px;font-weight:950;color:var(--lime);white-space:nowrap}
.pg-dash-empty{display:grid;place-items:center;min-height:150px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}
.pg-week-card{flex:1;min-height:184px}
.pg-week-activity{display:grid;grid-template-columns:minmax(168px,.62fr) minmax(0,1.38fr);gap:18px;align-items:stretch}
.pg-week-summary{display:flex;flex-direction:column;justify-content:space-between;gap:7px;min-width:0}
.pg-week-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:27px;padding:6px 9px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018)}
.pg-week-summary-row span{font-size:11px;color:var(--muted);white-space:nowrap}
.pg-week-summary-row strong{font-size:13px;color:var(--text);font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.pg-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;height:94px;min-width:0}
.pg-week-day{display:grid;grid-template-rows:16px minmax(32px,1fr) 26px;align-items:end;justify-items:center;gap:4px;min-width:0}
.pg-week-value{font-size:10px;font-weight:900;color:var(--muted);line-height:1}
.pg-week-bar-box{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid rgba(255,255,255,.08);border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,rgba(255,255,255,.008),rgba(255,255,255,.025))}
.pg-week-bar{width:min(22px,58%);height:var(--week-height,4%);min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--green),var(--lime));box-shadow:0 0 14px rgba(200,255,0,.08)}
.pg-week-day.is-today .pg-week-value,.pg-week-day.is-today .pg-week-label{color:var(--lime)}
.pg-week-day.is-today .pg-week-bar-box{border-color:rgba(200,255,0,.22);background:rgba(200,255,0,.025)}
.pg-week-label{display:flex;flex-direction:column;align-items:center;font-size:10px;font-weight:850;color:var(--muted);line-height:1.05;text-transform:capitalize}
.pg-week-label small{font-size:9px;font-weight:700;opacity:.72;margin-top:2px}
@media(max-width:1280px){.pg-dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-dash-kpi:nth-child(4),.pg-dash-kpi:nth-child(5){grid-column:span 1}}
@media(max-width:1050px){.pg-dash-hero{grid-template-columns:1fr}.pg-dash-hero-actions{justify-content:flex-start;max-width:none}.pg-dash-content-grid{grid-template-columns:1fr}.pg-dash-column{height:auto}.pg-week-card{flex:0 0 auto}}
@media(max-width:760px){.pg-admin-dashboard{gap:1rem}.pg-dash-hero{padding:20px;border-radius:16px}.pg-dash-title{font-size:28px}.pg-dash-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.pg-dash-hero-actions .btn{width:100%;justify-content:center}.pg-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pg-dash-kpi{min-height:126px;padding:15px}.pg-dash-kpi:last-child{grid-column:1/-1}.pg-dash-kpi-value{font-size:25px}.pg-dash-card{padding:16px;border-radius:15px}.pg-health-layout{grid-template-columns:1fr}.pg-health-ring{width:138px;height:138px}.pg-dash-action-list{grid-template-columns:1fr}.pg-dash-content-grid{grid-template-columns:1fr}.pg-highlight-item{padding:10px}.pg-dash-card-head{margin-bottom:14px}.pg-week-activity{grid-template-columns:1fr}.pg-week-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pg-week-summary-row{display:block;text-align:center}.pg-week-summary-row span,.pg-week-summary-row strong{display:block;text-align:center}.pg-week-summary-row strong{margin-top:4px}.pg-week-chart{height:112px}}
@media(max-width:430px){.pg-dash-hero-actions{grid-template-columns:1fr}.pg-dash-kpis{grid-template-columns:1fr}.pg-dash-kpi:last-child{grid-column:auto}.pg-dash-kpi{min-height:116px}.pg-dash-kpi-value{font-size:24px}.pg-health-row{grid-template-columns:1fr auto}.pg-week-summary{grid-template-columns:1fr}.pg-week-chart{gap:4px}.pg-week-bar{width:min(18px,66%)}}
@media(prefers-reduced-motion:reduce){.pg-dash-action{transition:none}.pg-dash-action:hover{transform:none}}


/* ── V216 consolidado: pg-v209-mobile-students-scroll-style ── */

/* v209 · Alunos no mobile: rolagem vertical nativa, menos pintura e renderização progressiva. */
.pg-students-list-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 2px;color:var(--muted);font-size:12px}
.pg-students-load-more{flex:0 0 auto}
@media (max-width:768px), (hover:none), (pointer:coarse){
 html{scroll-behavior:auto!important}
 .pgx-scroll-progress{display:none!important}
 .pg-students-list-card{padding:10px!important;overflow:visible!important;contain:layout style}
 .pg-students-table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important;-webkit-overflow-scrolling:auto!important;border-radius:0!important;touch-action:pan-y!important;overscroll-behavior:auto!important}
 .pg-students-table{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border-collapse:separate!important;border-spacing:0!important;touch-action:pan-y!important}
 .pg-students-table thead{display:none!important}
 .pg-students-table tbody{display:block!important;width:100%!important;min-width:0!important}
 .pg-students-table tbody tr{display:block!important;width:100%!important;min-width:0!important;content-visibility:auto;contain:layout style;contain-intrinsic-size:220px;touch-action:pan-y!important}
 .pg-students-table tbody tr:hover,.pg-students-table tbody tr.pg-v205-pointed{background:var(--bg3)!important}
 .pg-students-table tbody tr:hover>td,.pg-students-table tbody tr.pg-v205-pointed>td{background:transparent!important}
 .pg-students-table td{display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important}
 .pg-students-table td>div{min-width:0;max-width:100%}
 .pg-students-table td:last-child>div{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
 .pg-students-table td:last-child .btn,.pg-students-table td:last-child button{width:100%!important;min-width:0!important;min-height:40px!important;white-space:normal!important}
 .pg-students-list-footer{position:relative;z-index:1;flex-direction:column;align-items:stretch;padding:12px 2px 2px;text-align:center}
 .pg-students-list-footer .btn{width:100%!important;min-height:44px!important}
}


/* ── V216 consolidado: pg-v215-innovation-style ── */

:root{--pg-v215-glow:0 0 0 1px rgba(200,255,0,.10),0 18px 50px rgba(0,0,0,.18)}
.pg-v215-hero{position:relative;overflow:hidden;border:1px solid rgba(200,255,0,.22);background:radial-gradient(circle at 85% 15%,rgba(200,255,0,.14),transparent 34%),linear-gradient(135deg,rgba(0,212,255,.08),rgba(167,139,250,.06),var(--bg3));box-shadow:var(--pg-v215-glow)}
.pg-v215-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pg-v215-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pg-v215-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pg-v215-kpi{background:var(--bg4);border:1px solid var(--border);border-radius:14px;padding:14px}.pg-v215-kpi b{display:block;font-size:24px;line-height:1.05;margin-top:5px}.pg-v215-label{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:900}.pg-v215-sub{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.35}
.pg-v215-score{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.pg-v215-score:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--bg3);border:1px solid rgba(255,255,255,.05)}.pg-v215-score>div{position:relative;text-align:center}.pg-v215-score strong{font-size:30px;line-height:1;display:block}.pg-v215-score span{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:900}
.pg-v215-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.pg-v215-progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),var(--green));min-width:2px}
.pg-v215-risk{display:grid;grid-template-columns:2fr .75fr .75fr .9fr 1.2fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--faint)}.pg-v215-risk:last-child{border-bottom:0}.pg-v215-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}
.pg-v215-feed-card{border:1px solid var(--border);background:var(--bg4);border-radius:14px;padding:14px}.pg-v215-feed-card:hover{border-color:rgba(200,255,0,.24)}
.pg-v215-bottom-nav{display:none}.pg-v215-notif{position:fixed;right:18px;top:66px;width:min(390px,calc(100vw - 24px));max-height:min(620px,78vh);overflow:auto;background:var(--bg3);border:1px solid var(--border2);border-radius:16px;z-index:250;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:10px}.pg-v215-notif-row{display:block;width:100%;padding:12px;border-radius:12px;cursor:pointer;border:1px solid transparent;background:transparent;color:inherit;text-align:left;font:inherit}.pg-v215-notif-row:hover,.pg-v215-notif-row:focus-visible{background:var(--bg4);border-color:var(--border)}
.pg-v215-bell{position:relative;background:var(--bg4);border:1px solid var(--border2);border-radius:8px;color:var(--text);width:34px;height:34px;cursor:pointer;display:grid;place-items:center;font-size:16px}.pg-v215-bell em{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font-size:10px;font-style:normal;font-weight:900;display:grid;place-items:center;border:2px solid var(--bg2)}
.pg-v215-mobile-status{display:none}.pg-v215-action{border:1px solid var(--border);background:var(--bg4);border-radius:12px;padding:12px;cursor:pointer;color:var(--text);text-align:left}.pg-v215-action:hover{border-color:rgba(200,255,0,.35)}
@media(max-width:980px){.pg-v215-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-v215-risk{grid-template-columns:1.6fr .8fr .8fr}.pg-v215-risk .pg-v215-hide-tablet{display:none}}
@media(max-width:760px){#main{padding-bottom:84px!important}.pg-v215-grid,.pg-v215-grid3,.pg-v215-grid2{grid-template-columns:1fr}.pg-v215-score{width:96px;height:96px}.pg-v215-score strong{font-size:25px}.pg-v215-risk{grid-template-columns:1fr auto}.pg-v215-risk .pg-v215-hide-mobile{display:none}.pg-v215-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:180;background:rgba(18,18,22,.94);border:1px solid var(--border2);backdrop-filter:blur(18px);border-radius:16px;padding:5px;box-shadow:0 18px 50px rgba(0,0,0,.48)}.pg-v215-bottom-nav button{border:0;background:transparent;color:var(--muted);padding:6px 2px;font-size:9px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.pg-v215-bottom-nav button span{font-size:19px;line-height:1}.pg-v215-bottom-nav button.active{color:var(--lime);background:rgba(200,255,0,.08);border-radius:11px}.pg-v215-mobile-status{display:block;position:fixed;left:50%;transform:translateX(-50%);bottom:78px;z-index:170;font-size:10px;background:var(--bg3);border:1px solid var(--border);border-radius:99px;padding:3px 8px;color:var(--muted);pointer-events:none}.pwa-label-full{display:none}}

/* ── V330 · Seletor de imagem do mural ───────────────────── */
.pg-notice-file-field{min-width:0}
.pg-file-picker{display:flex;align-items:center;gap:10px;min-width:0;margin-top:7px;padding:7px;background:var(--bg4);border:1px solid var(--border2);border-radius:10px;transition:border-color .15s,box-shadow .15s}
.pg-file-picker:focus-within{border-color:rgba(200,255,0,.45);box-shadow:0 0 0 3px rgba(200,255,0,.10)}
.pg-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.pg-file-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;margin:0!important;background:rgba(200,255,0,.08)!important;border-color:rgba(200,255,0,.30)!important;color:var(--lime)!important;cursor:pointer!important;min-height:38px;padding:8px 13px!important}
.pg-file-button:hover{background:rgba(200,255,0,.14)!important;border-color:rgba(200,255,0,.48)!important;color:var(--lime)!important}
.pg-file-button-icon{font-size:18px;line-height:1;font-weight:500;margin-top:-1px}
.pg-file-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;padding-right:5px}
.pg-file-hint{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:520px){.pg-file-picker{align-items:stretch;flex-direction:column}.pg-file-button{width:100%}.pg-file-name{white-space:normal;padding:1px 4px 3px}}


/* ── V331 · Loading de publicação do mural ───────────────── */
.pg-notice-btn-loading{cursor:wait!important;pointer-events:none!important;opacity:.82}
.pg-notice-btn-loading::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pgNoticeSpin .72s linear infinite}
.pg-notice-publish-loading{position:fixed;inset:0;z-index:520;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,5,10,.72);backdrop-filter:blur(5px);opacity:0;transition:opacity .16s ease}
.pg-notice-publish-loading.is-visible{opacity:1}
.pg-notice-publish-loading.is-leaving{opacity:0;pointer-events:none}
.pg-notice-publish-box{width:min(390px,calc(100vw - 28px));background:linear-gradient(180deg,rgba(29,29,42,.98),rgba(18,18,27,.98));border:1px solid rgba(200,255,0,.24);border-radius:18px;padding:22px;box-shadow:0 26px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.025);display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center}
.pg-notice-spinner{width:48px;height:48px;border-radius:50%;border:3px solid rgba(200,255,0,.14);border-top-color:var(--lime);border-right-color:rgba(0,212,255,.65);animation:pgNoticeSpin .8s linear infinite;display:grid;place-items:center}
.pg-notice-spinner i{display:block;width:18px;height:18px;border-radius:50%;background:rgba(200,255,0,.12);box-shadow:0 0 18px rgba(200,255,0,.28)}
.pg-notice-publish-copy{min-width:0}
.pg-notice-publish-copy strong{display:block;color:var(--text);font-size:15px;line-height:1.25;margin-bottom:5px}
.pg-notice-publish-copy span{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.pg-notice-publish-progress{grid-column:1/-1;height:4px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07);position:relative;margin-top:2px}
.pg-notice-publish-progress i{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,rgba(200,255,0,.18),var(--lime),rgba(0,212,255,.72));animation:pgNoticeProgress 1.05s ease-in-out infinite}
@keyframes pgNoticeSpin{to{transform:rotate(360deg)}}
@keyframes pgNoticeProgress{0%{transform:translateX(-115%)}100%{transform:translateX(365%)}}
@media(max-width:520px){.pg-notice-publish-box{padding:18px;grid-template-columns:44px 1fr}.pg-notice-spinner{width:42px;height:42px}}


/* V334 — banner de atualização sempre visível acima da navegação do PWA */
.pg50-update .pg-update-copy{flex:1 1 auto}
@media (max-width:720px){
  .pg50-update{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:none;width:auto;transform:translateY(24px);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px;padding:12px;box-sizing:border-box}
  .pg50-update.show{transform:translateY(0)}
  .pg50-update .pg-update-copy{min-width:0}
  .pg50-update .btn{padding-left:10px;padding-right:10px}
}
@media (max-width:420px){
  .pg50-update{grid-template-columns:minmax(0,1fr) auto}
  .pg50-update [data-pg-update-later]{grid-column:2;grid-row:1}
  .pg50-update [data-pg-update-now]{grid-column:1 / -1;width:100%}
}

/* V337 — loading do aluno: somente logo grande + barra de progresso */
.pg-feed-boot{position:fixed;inset:0;z-index:980;display:flex;align-items:center;justify-content:center;padding:clamp(18px,5vw,42px);background:radial-gradient(circle at 50% 42%,rgba(200,255,0,.045),transparent 36%),#080810;color:var(--text)}
.pg-feed-boot-card{width:min(92vw,620px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;background:transparent;border:0;box-shadow:none}
.pg-feed-boot-logo{display:block;width:min(88vw,560px);max-height:62vh;height:auto;object-fit:contain;margin:0;filter:drop-shadow(0 0 28px rgba(200,255,0,.10))}
.pg-feed-boot-progress{width:min(82vw,500px);height:5px;margin-top:clamp(16px,4vh,30px);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);position:relative}
.pg-feed-boot-progress i{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,rgba(200,255,0,.18),var(--lime),rgba(0,212,255,.72));animation:pgFeedBootProgress 1.15s ease-in-out infinite}
@keyframes pgFeedBootProgress{0%{transform:translateX(-115%)}100%{transform:translateX(365%)}}
@media(max-width:520px){.pg-feed-boot{padding:18px}.pg-feed-boot-card{width:100%}.pg-feed-boot-logo{width:min(90vw,430px);max-height:58vh}.pg-feed-boot-progress{width:min(82vw,390px);margin-top:18px}}

/* V357 — precedência final do editor de ficha sobre as camadas mobile legadas */

/* V359 — vendas anotadas e recebimentos pendentes */
.pg-sales-entry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:1rem;align-items:start}
.pg-sale-pending-card{border-color:rgba(252,211,77,.2)}
.pg-sale-pending-row{padding:13px 0;border-bottom:1px solid var(--faint);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.pg-sale-pending-row:last-child{border-bottom:0;padding-bottom:0}
.pg-sale-pending-actions{display:flex;flex-direction:column;gap:8px;min-width:190px}
.pg-sale-pending-actions .inp{min-height:40px}
@media(max-width:980px){.pg-sales-entry-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pg-sale-pending-row{grid-template-columns:1fr}.pg-sale-pending-actions{min-width:0}.pg-sale-pending-actions .btn{width:100%}}
@media(max-width:768px){
 html body .overlay.pg-workout-editor-overlay{inset:0!important;padding:0!important;align-items:stretch!important;overflow:hidden!important}
 html body .overlay.pg-workout-editor-overlay>.mbox.pg-workout-editor{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;overflow:hidden!important}
 html body .pg-workout-editor .pg-we-footer .btn{width:100%!important}
}
