/* =========================================================
   VRUMFIT PERSONAL — BRAND SYSTEM DARK PREMIUM
   Limpeza visual total: CSS antigo/remendos removidos.
   Preserva IDs, rotas e classes usados pelo app.js.
   ========================================================= */

:root{
  /* Brand Tokens */
  --color-primary:#FF6A00;
  --color-primary-2:#FF8A2A;
  --color-primary-3:#E95B00;
  --color-secondary:#2C2C2C;
  --color-bg:#07090C;
  --color-bg-2:#0B0E13;
  --color-surface:#12161D;
  --color-surface-2:#171C24;
  --color-surface-3:#202734;
  --color-card:#141922;
  --color-card-2:#1A202B;
  --color-text:#F7F8FA;
  --color-text-2:#B9C0CC;
  --color-text-3:#7F8896;
  --color-border:rgba(255,255,255,.105);
  --color-border-strong:rgba(255,106,0,.34);
  --color-success:#22C55E;
  --color-error:#EF4444;
  --color-warning:#F59E0B;

  /* UI Tokens */
  --font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max-app:1180px;
  --max-mobile:480px;
  --radius-xs:10px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:20px;
  --radius-xl:28px;
  --radius-2xl:36px;
  --space-1:6px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --btn-h:44px;
  --btn-sm-h:36px;
  --input-h:46px;
  --nav-h:64px;
  --shadow-card:0 18px 55px rgba(0,0,0,.34);
  --shadow-soft:0 10px 28px rgba(0,0,0,.26);
  --shadow-orange:0 16px 35px rgba(255,106,0,.22);
  --focus:0 0 0 4px rgba(255,106,0,.18);
}

*,*::before,*::after{box-sizing:border-box}
html{width:100%;min-height:100%;background:var(--color-bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{width:100%;min-height:100%;margin:0;overflow-x:hidden;background:
  radial-gradient(circle at 82% 4%,rgba(255,106,0,.22),transparent 30%),
  radial-gradient(circle at 12% 92%,rgba(255,106,0,.10),transparent 34%),
  linear-gradient(180deg,#0B0E13 0%,#07090C 54%,#030405 100%);
  color:var(--color-text);font-family:var(--font);font-size:16px;line-height:1.35;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:
  linear-gradient(115deg,transparent 0 58%,rgba(255,106,0,.035) 59%,transparent 62%),
  linear-gradient(35deg,transparent 0 68%,rgba(255,255,255,.025) 69%,transparent 71%);
}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}
img,video,svg{max-width:100%;display:block}#app{min-height:100vh}#view{min-height:100vh;padding-inline:max(0px,env(safe-area-inset-left));}

/* ---------- Marca / Logo sem imagem remendada ---------- */
.logo{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--color-text)}
.logo-mark{width:38px;height:32px;display:block;position:relative;filter:drop-shadow(0 14px 22px rgba(255,106,0,.20))}
.logo-mark::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--color-primary-2),var(--color-primary-3));clip-path:polygon(50% 100%,3% 0,32% 0,50% 45%,68% 0,97% 0);}
.logo-word{display:block;font-size:27px;line-height:.85;font-weight:1000;letter-spacing:-.085em;white-space:nowrap;color:var(--color-text)}
.logo-word b{color:var(--color-primary);font-weight:1000}.logo-sub{display:block;text-align:center;font-size:7px;letter-spacing:.42em;margin-top:7px;color:var(--color-text-2);font-weight:900}
.auth-logo .logo{flex-direction:column;justify-content:center;width:100%}.auth-logo .logo-mark{width:82px;height:70px}.auth-logo .logo-word{font-size:48px}.auth-logo .logo-sub{font-size:9px;letter-spacing:.48em;color:var(--color-text-2)}
.owner-logo img,.owner-logo,.vf-avatar-img img,.profile-photo-btn img,.round img,.circle img,.owner-avatar img,.trainer-photo img,.v125-avatar-big img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit;display:block;background:transparent}

/* ---------- Auth / Landing ---------- */
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,450px) minmax(0,1fr);gap:24px;align-items:stretch;padding:clamp(14px,3vw,42px);padding-top:max(clamp(14px,3vw,42px),env(safe-area-inset-top));padding-bottom:max(clamp(14px,3vw,42px),env(safe-area-inset-bottom));}
.auth-card,.auth-art{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);background:linear-gradient(180deg,rgba(255,255,255,.074),rgba(255,255,255,.022)),var(--color-surface)}
.auth-card{min-height:min(790px,calc(100vh - 56px));padding:42px 28px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.auth-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 74% 12%,rgba(255,106,0,.20),transparent 34%),radial-gradient(circle at 4% 90%,rgba(255,255,255,.035),transparent 38%);z-index:-1}.auth-card::after{content:"";position:absolute;right:-90px;bottom:-95px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.18),transparent 68%);z-index:-1}
.auth-title{position:relative;z-index:1;font-size:clamp(30px,4vw,44px);line-height:1.02;text-align:center;margin:0 0 10px;font-weight:1000;letter-spacing:-.06em}.auth-text{position:relative;z-index:1;text-align:center;color:var(--color-text-2);line-height:1.45;max-width:380px;margin:0 auto 24px;font-weight:650}.auth-art{min-height:min(790px,calc(100vh - 56px));background:url("/assets/abstract-premium.svg") center/cover no-repeat,var(--color-bg)}.auth-art::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.22)),radial-gradient(circle at 78% 12%,rgba(255,106,0,.18),transparent 34%)}.art-copy{position:absolute;left:36px;right:36px;bottom:36px;z-index:2}.art-copy h2{font-size:clamp(34px,4.4vw,58px);line-height:.94;letter-spacing:-.065em;margin:0 0 12px;font-weight:1000;text-shadow:0 12px 35px rgba(0,0,0,.45)}.art-copy p{margin:0;color:var(--color-text-2);font-size:17px;font-weight:700}.back,.link-btn{border:0;background:transparent;color:var(--color-primary);font-weight:1000}.back{position:absolute;left:22px;top:20px;z-index:3;width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--color-border);display:grid;place-items:center;font-size:24px}.link-btn{min-height:var(--btn-sm-h);border-radius:999px}.diag{display:none;border:1px solid rgba(239,68,68,.38);background:rgba(239,68,68,.12);border-radius:var(--radius-md);padding:12px;color:#FFE1E1;font-size:13px;font-weight:800}.diag.show{display:block}

/* ---------- Layout Shell ---------- */
.shell{min-height:100vh;width:min(var(--max-app),calc(100% - 24px));margin:0 auto;padding:14px 0 calc(var(--nav-h) + 34px + env(safe-area-inset-bottom));}
.topbar{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:rgba(14,18,24,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.top-actions{display:flex;align-items:center;gap:8px;min-width:max-content}.round,.trainer-bell{width:44px;height:44px;min-width:44px;border-radius:50%;border:1px solid var(--color-border);background:rgba(255,255,255,.055);color:var(--color-primary);display:grid;place-items:center;font-weight:1000;position:relative;overflow:hidden}.round svg,.trainer-bell svg{width:21px;height:21px}.round b{position:absolute;right:-3px;top:-4px;width:20px;height:20px;border-radius:50%;background:var(--color-error);color:#fff;display:grid;place-items:center;font-size:10px;border:2px solid var(--color-surface)}.logout-top{height:42px;border-radius:999px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.105);color:#FFD7D7;padding:0 15px;font-weight:1000}.owner-return{width:100%;min-height:46px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:rgba(255,106,0,.10);color:var(--color-primary);font-weight:1000;margin:0 0 14px;box-shadow:var(--shadow-soft)}
.v123-back{min-height:40px;border:1px solid var(--color-border);background:rgba(255,255,255,.06);color:var(--color-text);border-radius:999px;padding:0 14px;font-weight:1000;margin:0 0 12px;display:inline-flex;align-items:center;justify-content:center}.v123-hero,.hero{position:relative;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);padding:22px;margin-bottom:14px;background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.018)),radial-gradient(circle at 90% 0,rgba(255,106,0,.22),transparent 35%),var(--color-surface);box-shadow:var(--shadow-card)}.v123-hero h1,.hero h1{font-size:clamp(31px,5vw,44px);letter-spacing:-.064em;line-height:1.02;margin:0;font-weight:1000}.v123-hero .mini,.hero .mini,.mini{font-size:12px;text-transform:uppercase;letter-spacing:.26em;color:var(--color-primary);font-weight:1000;margin-bottom:8px}.hero p,.v123-hero p{color:var(--color-text-2);margin:8px 0 0;line-height:1.45}.hero.abstract{min-height:220px;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.24)),url("/assets/abstract-premium.svg") center/cover no-repeat}

/* ---------- Grids ---------- */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.owner-grid,.trainer-grid,.trainer-grid-uniform,.trainer-grid-small,.student-grid,.product-grid,.shop-grid,.trainer-shop-grid,.plan-grid-compact,.trainer-plan-grid,.owner-metrics,.owner-metrics-compact,.trainer-metrics,.meal-metrics,.owner-video-picks,.owner-finance-summary,.owner-sale-list,.owner-product-list,.owner-video-list,.vf-detail-grid,.v127-form-grid,.offer-plan-grid{display:grid;gap:12px}.owner-grid,.trainer-grid,.trainer-grid-uniform,.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid,.shop-grid,.trainer-shop-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.plan-grid-compact,.trainer-plan-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.owner-metrics,.owner-metrics-compact,.trainer-metrics,.meal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.v127-form-grid,.vf-detail-grid,.owner-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- Cards / Tiles ---------- */
.card,.tile,.owner-tile,.trainer-tile,.owner-metric,.trainer-metric,.owner-form-card,.owner-user-card,.owner-product-card,.owner-video-card,.shop-card,.product-card,.vf-plan,.v125-video-card,.trainer-student-card,.trainer-result,.pixbox,.vf-payment-card,.vf-prescription-card,.vf-detail-block,.compact-card,.owner-head,.trainer-head,.v127-top-profile,.v127-week,.owner-finance-strip{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.068),rgba(255,255,255,.018)),radial-gradient(circle at 100% 0,rgba(255,106,0,.07),transparent 38%),var(--color-card);box-shadow:var(--shadow-soft);color:var(--color-text)}
.card,.owner-form-card,.compact-card{padding:16px}.compact-card{margin-bottom:12px}.card h2,.card h3,.product-card h2,.shop-card h2,.vf-plan h2{margin:0 0 8px;color:var(--color-text);font-weight:1000;letter-spacing:-.035em}.card p,.product-card p,.shop-card p,.vf-plan p,.trainer-result small,.owner-metric small,.trainer-metric small,.row small,.tile small,.owner-tile small,.trainer-tile small{color:var(--color-text-2);font-weight:700;line-height:1.35}.muted-text,.muted-small{color:var(--color-text-2)!important}.section-title,.owner-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--color-primary);font-weight:1000;margin:18px 4px 10px}.tile,.owner-tile,.trainer-tile{width:100%;min-height:112px;text-align:left;display:flex;align-items:center;gap:13px;padding:15px;border-radius:var(--radius-lg);transition:transform .16s ease,border-color .16s ease,background .16s ease}.tile:hover,.owner-tile:hover,.trainer-tile:hover{transform:translateY(-2px);border-color:var(--color-border-strong)}.tile b,.owner-tile b,.trainer-tile b,.row b{display:block;color:var(--color-text);font-size:16px;line-height:1.1;font-weight:1000}.tile small,.owner-tile small,.trainer-tile small,.row small{display:block;margin-top:4px;font-size:12px}.ico,.circle,.owner-ico,.owner-avatar,.trainer-photo,.v125-avatar-big{width:50px;height:50px;min-width:50px;border-radius:50%;display:grid;place-items:center;background:rgba(255,106,0,.12);border:1px solid rgba(255,106,0,.28);color:var(--color-primary);font-weight:1000;overflow:hidden}.ico svg,.circle svg,.owner-ico svg{width:23px;height:23px}.ico.lime,.circle.lime,.green{color:var(--color-primary)}.vf-locked{opacity:.55;filter:saturate(.6)}.metric,.owner-metric b,.trainer-metric b,.meal-metrics b{font-size:clamp(24px,4vw,34px);font-weight:1000;color:var(--color-text);line-height:1}.owner-metric,.trainer-metric,.meal-metrics>div{padding:14px;min-height:86px;display:flex;flex-direction:column;justify-content:center}.owner-metric-mini,.trainer-metric-v1297{min-height:72px}.owner-finance-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;margin:12px 0;color:var(--color-text-2);font-weight:900}.owner-finance-strip b,.owner-finance-strip strong{color:var(--color-text)}

/* ---------- Perfil / cabeçalhos ---------- */
.owner-head,.trainer-head,.v127-top-profile{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;margin-bottom:12px}.v127-profile-left,.trainer-student-main,.left,.owner-user-main,.owner-detail,.v125-profile-head{display:flex;align-items:center;gap:12px;min-width:0}.owner-avatar{width:46px;height:46px;min-width:46px}.owner-head h1,.trainer-head h1,.v127-top-profile h2,.v125-profile-head h2{margin:0;font-weight:1000;letter-spacing:-.04em}.owner-head small,.trainer-head small,.v127-top-profile p,.v125-profile-head p{color:var(--color-text-2);font-weight:800;margin:3px 0 0}.v127-plan-pill,.shop-tag,.badge,.shop-status{min-height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--color-border-strong);background:rgba(255,106,0,.11);color:var(--color-primary);padding:0 12px;font-weight:1000;font-size:12px}.plan-green,.plan-gold,.plan-black,.plan-gray{border-color:var(--color-border-strong);background:rgba(255,106,0,.12);color:var(--color-primary)}

/* ---------- Week / Calendar ---------- */
.v127-week{padding:15px;margin-bottom:12px}.v127-week-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v127-week-head h2{margin:0;font-size:clamp(22px,4vw,32px);font-weight:1000;letter-spacing:-.04em}.v127-lock{height:36px;border-radius:999px;padding:0 13px;display:inline-flex;align-items:center;border:1px solid rgba(255,106,0,.26);color:var(--color-primary);font-weight:1000;background:rgba(255,106,0,.08)}.v127-days,.day-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.v127-day,.trainer-day,.day-pill{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:var(--color-text);border-radius:14px;min-width:54px;height:64px;display:grid;place-items:center;padding:6px}.v127-day b,.trainer-day b{color:var(--color-primary);font-size:16px}.v127-day small,.trainer-day small{color:var(--color-text-2);font-weight:900}.v127-day.done,.trainer-day.done,.vf-cal-day.done{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.11)}.vf-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.vf-cal-day{min-height:58px;border-radius:14px;border:1px solid var(--color-border);background:rgba(255,255,255,.045);display:grid;place-items:center;padding:6px;text-align:center}.vf-cal-day b{color:var(--color-text)}.vf-cal-day small{font-size:10px;color:var(--color-text-2);font-weight:800}.day-strip{border:1px solid var(--color-border);border-radius:16px;padding:10px;margin:0 0 12px;background:rgba(255,255,255,.04)}.day-strip small{display:block;color:var(--color-text-2);font-weight:900;font-size:11px;margin-bottom:6px}.day-pill{height:30px;min-width:36px;border-radius:999px;font-size:11px}.day-pill.on,.day-pill.next{border-color:var(--color-border-strong);background:rgba(255,106,0,.11);color:var(--color-primary)}

/* ---------- Forms / Buttons ---------- */
.form,.compact-form{display:grid;gap:12px}.field{display:block;min-width:0}.field span{display:block;margin:0 0 7px;color:var(--color-text-2);font-weight:900;font-size:13px}.field input,.field select,.field textarea,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="tel"],select,textarea{width:100%;min-height:var(--input-h);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:rgba(255,255,255,.055);color:var(--color-text);padding:0 13px;outline:0;font-weight:800;min-width:0}.field textarea,textarea{height:auto;min-height:112px;padding:13px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-3)}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus)}.btn{min-height:var(--btn-h);border:0;border-radius:var(--radius-sm);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(180deg,var(--color-primary-2),var(--color-primary-3));color:#fff;font-weight:1000;text-decoration:none;box-shadow:var(--shadow-orange);transition:transform .14s ease,filter .14s ease,border-color .14s ease}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px) scale(.995)}.btn:focus-visible,.v123-back:focus-visible,.round:focus-visible,.tile:focus-visible,.owner-tile:focus-visible,.trainer-tile:focus-visible,.bottom-nav button:focus-visible{outline:0;box-shadow:var(--focus)}.btn.block{width:100%}.btn.dark,.btn.ghost{background:rgba(255,255,255,.055);border:1px solid var(--color-border);color:var(--color-text);box-shadow:none}.btn.ghost{background:transparent;border-color:rgba(255,106,0,.30);color:var(--color-primary)}.btn.red{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.38);color:#FFD3D3;box-shadow:none}.btn.small,.owner-main-btn.small{min-height:var(--btn-sm-h);border-radius:var(--radius-xs);padding:0 12px;font-size:12px}.btn:disabled,button:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.45)}.owner-main-btn{min-height:var(--btn-h)}.link-btn:hover{background:rgba(255,106,0,.08)}

/* ---------- Rows / Lists / Search ---------- */
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border)}.row:last-child{border-bottom:0}.left>div,.owner-user-text,.owner-video-info{min-width:0}.left b,.owner-user-text b,.owner-video-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v127-arrow{margin-left:auto;color:var(--color-text-2);font-size:28px;font-weight:800}.owner-toolbar,.owner-actions,.trainer-actions,.shop-actions,.v123-actions,.owner-user-actions,.owner-video-actions,.vf-product-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.owner-search,.owner-search-toolbar{margin-bottom:12px}.owner-list,.trainer-list{display:grid;gap:10px}.owner-user-card,.trainer-student-card,.owner-sale-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px}.owner-user-card b,.trainer-student-card b{display:block;color:var(--color-text);font-weight:1000}.owner-user-card small,.trainer-student-card small{display:block;color:var(--color-text-2);font-weight:700;line-height:1.28}.empty,.owner-video-empty,.vf-empty-store{border:1px dashed rgba(255,106,0,.28);border-radius:var(--radius-lg);padding:28px 16px;background:rgba(255,255,255,.035);text-align:center;color:var(--color-text-2)}.empty h2{margin:0;color:var(--color-text)}.empty .big{font-size:0;color:var(--color-primary);margin-bottom:10px}.empty .big svg{width:42px;height:42px}

/* ---------- Loja / Produtos / Vídeos ---------- */
.product-card,.shop-card,.vf-shop-card-real,.vf-shop-card-final,.vf-shop-card-110{padding:15px;display:flex;flex-direction:column;gap:8px}.product-card strong,.shop-body strong,.vf-plan h3{color:var(--color-primary);font-size:22px;font-weight:1000;margin:0}.shop-cover,.shop-detail-cover,.product-cover-preview,.offer-cover-preview,.vf-cover-fill,.v125-cover-wrap,.evolution-collage,.video-preview-box{width:100%;overflow:hidden;border-radius:var(--radius-md);background:rgba(0,0,0,.24);border:1px solid var(--color-border)}.shop-cover,.product-cover-preview,.vf-cover-fill{height:180px}.shop-detail-cover{min-height:220px}.shop-cover img,.shop-detail-cover img,.product-cover-preview img,.offer-cover-preview img,.vf-cover-fill img,.v125-cover,.evolution-preview img,.owner-detail-img,.compact-video video,.v125-video-body video{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.shop-cover-empty{height:100%;display:grid;place-items:center;color:var(--color-primary);background:rgba(255,106,0,.07)}.shop-body,.shop-detail,.v125-video-body{padding:14px}.shop-status{align-self:flex-start}.v125-video-card{overflow:hidden}.v125-video-card .v125-cover{height:190px;border-radius:0}.v125-video-body video,.compact-video video{max-height:260px;background:#000}.owner-video-card,.owner-product-card{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px}.owner-product-side,.owner-video-player{width:110px;height:92px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.25);border:1px solid var(--color-border)}.owner-product-side img,.owner-video-player img,.owner-video-player video{width:100%;height:100%;object-fit:cover}.offer-card .offer-thumb{width:54px;height:54px;border-radius:14px;object-fit:cover;border:1px solid var(--color-border)}.offer-file-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end}.hidden-file,.file-hidden,.vf-file-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}input[type="file"]::file-selector-button{min-height:34px;border:0;border-radius:999px;background:var(--color-primary);color:#fff;font-weight:1000;padding:0 14px}.vf-file-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-2)}

/* ---------- Planos / pagamento / chat ---------- */
.vf-plan{padding:18px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.vf-plan.green,.vf-plan.gold,.vf-plan.black{border-color:var(--color-border-strong);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.018)),radial-gradient(circle at 100% 0,rgba(255,106,0,.13),transparent 42%),var(--color-card)}.pixbox,.vf-payment-card{padding:16px}.pixbox textarea{font-size:12px}.chatbox{display:grid;gap:10px;max-height:360px;overflow:auto;padding:4px}.chatline{display:flex}.chatline.me{justify-content:flex-end}.bubble{max-width:82%;border-radius:18px;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid var(--color-border)}.chatline.me .bubble{background:rgba(255,106,0,.16);border-color:rgba(255,106,0,.30)}.bubble small{color:var(--color-primary);font-weight:900}.bubble p{margin:4px 0 0;color:var(--color-text)}

/* ---------- Food / Suggestions / Results ---------- */
.compact-suggestions,.food-suggestions{display:flex;gap:8px;flex-wrap:wrap}.food-chip,.food-suggestion{min-height:34px;border-radius:999px;border:1px solid rgba(255,106,0,.30);background:rgba(255,106,0,.10);color:var(--color-primary);padding:0 12px;font-weight:900}.meal-metrics>div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(255,255,255,.045);text-align:center}.trainer-result{padding:14px;margin-top:12px}.trainer-result b{display:block;color:var(--color-text);font-size:18px}.trainer-result small{display:block;margin-top:4px}

/* ---------- Perfil / Fotos / Evolução ---------- */
.profile-photo-btn{position:relative;width:86px;height:86px;min-width:86px;border:0;background:transparent;padding:0;overflow:visible}.v125-avatar-big{width:86px;height:86px;min-width:86px;font-size:30px}.photo-plus,.trainer-photo span{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;min-width:26px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;border:2px solid var(--color-bg);font-weight:1000;z-index:3}.trainer-photo{position:relative;width:56px;height:56px;min-width:56px}.evolution-preview,.evolution-collage{margin-top:10px}.evolution-preview img,.evolution-collage{max-height:360px;object-fit:cover}.profile-remove-photo{margin-top:8px}.vf-upload-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ---------- Bottom Nav ---------- */
.bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;width:min(var(--max-mobile),calc(100% - 24px));height:var(--nav-h);display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;border-radius:24px;border:1px solid var(--color-border);background:rgba(21,26,34,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.46)}.bottom-nav button{border:0;background:transparent;color:var(--color-text-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;font-weight:900;min-width:0}.bottom-nav button svg{width:24px;height:24px}.bottom-nav button span{font-size:11px;line-height:1;white-space:nowrap}.bottom-nav button.active{color:var(--color-primary);background:rgba(255,106,0,.10)}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(20px);z-index:80;max-width:min(420px,calc(100% - 30px));border-radius:999px;background:rgba(20,25,34,.96);border:1px solid var(--color-border-strong);color:var(--color-text);box-shadow:var(--shadow-card);padding:12px 16px;font-weight:900;opacity:0;pointer-events:none;transition:.18s ease}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- Ajustes compatíveis com classes antigas ---------- */
.black,.dark{color:var(--color-text)}.gold{color:var(--color-primary)!important}.red{color:var(--color-error)!important}.green{color:var(--color-success)}.lime{color:var(--color-primary)!important}.preview-only{pointer-events:none}.owner-grid-colored,.owner-grid-uniform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-grid-colored .owner-tile,.owner-grid-uniform .owner-tile,.trainer-grid-uniform .trainer-tile{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),var(--color-card)!important}.owner-detail-block{padding:14px}.owner-whats{color:#DCFCE7}.vf-short-desc{color:var(--color-text-2);font-size:13px}.vf-material-document{white-space:pre-wrap;background:rgba(0,0,0,.22);border:1px solid var(--color-border);border-radius:16px;padding:14px;color:var(--color-text-2);font-weight:700}.vf-benefits{display:grid;gap:7px;margin:10px 0;padding:0;list-style:none}.vf-benefits li{border:1px solid var(--color-border);background:rgba(255,255,255,.045);border-radius:12px;padding:8px;color:var(--color-text-2);font-weight:800}.vf-config-alert{border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.10);color:#FFE7B8;border-radius:14px;padding:12px;font-weight:800}.vf-product-detail,.vf-product-detail-110,.vf-product-detail-final{padding:16px}.owner-sale-row{border-radius:16px}.owner-sale-row + .owner-sale-row{margin-top:8px}.owner-plan-box,.offer-plan-choice{border:1px solid var(--color-border);border-radius:16px;background:rgba(255,255,255,.045);padding:12px;color:var(--color-text);text-align:left}.owner-plan-line{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--color-border);padding:10px 0}.owner-plan-line:last-child{border-bottom:0}.owner-product-open{cursor:pointer}.trainer-lock-box{display:flex;align-items:center;gap:10px;margin-bottom:12px}.trainer-lock-box b{display:block}.trainer-lock-box small{display:block;color:var(--color-text-2);font-size:12px}.trainer-offer-plans{display:grid;gap:8px}.trainer-offer-plans section{border:1px solid var(--color-border);border-radius:14px;padding:10px;background:rgba(255,255,255,.045)}.offer-plan-choice b{display:block}.offer-plan-choice small{display:block;color:var(--color-text-2);margin-top:4px}.v125-cover{border-radius:var(--radius-md);border:1px solid var(--color-border);max-height:340px;object-fit:cover}.compact-video{overflow:hidden}.owner-video-info p,.owner-product-card p{margin:4px 0;color:var(--color-text-2)}

/* ---------- Responsividade ---------- */
@media (max-width:1023px){
  :root{--max-app:860px}.auth-page{grid-template-columns:minmax(0,1fr)}.auth-art{min-height:360px}.owner-metrics,.owner-metrics-compact,.trainer-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.col-8,.col-6,.col-4,.col-3{grid-column:span 12}
}
@media (max-width:767px){
  :root{--nav-h:66px}.shell{width:min(var(--max-mobile),calc(100% - 20px));padding-top:10px}.auth-page{padding:16px}.auth-card{min-height:auto;padding:34px 22px;border-radius:30px}.auth-art{display:none}.topbar{border-radius:24px;padding:10px 12px}.topbar .logo-word{font-size:22px}.topbar .logo-mark{width:31px;height:27px}.logout-top{height:38px;padding:0 12px}.round{width:40px;height:40px;min-width:40px}.owner-metrics,.owner-metrics-compact,.trainer-metrics,.meal-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.owner-metric,.trainer-metric,.meal-metrics>div{padding:10px 6px;min-height:70px}.owner-metric b,.trainer-metric b,.meal-metrics b{font-size:20px}.owner-metric small,.trainer-metric small,.meal-metrics small{font-size:10px}.owner-grid,.trainer-grid,.trainer-grid-uniform,.student-grid,.owner-grid-colored,.owner-grid-uniform{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile,.owner-tile,.trainer-tile{min-height:104px;padding:12px;flex-direction:column;align-items:flex-start}.tile b,.owner-tile b,.trainer-tile b{font-size:14px}.ico,.circle,.owner-ico{width:42px;height:42px;min-width:42px}.v123-hero,.hero{padding:18px;border-radius:24px}.v123-hero h1,.hero h1{font-size:32px}.owner-video-card,.owner-product-card{grid-template-columns:84px 1fr}.owner-product-side,.owner-video-player{width:84px;height:76px}.offer-file-row{grid-template-columns:1fr}.shop-cover,.product-cover-preview,.vf-cover-fill{height:150px}.bottom-nav{width:calc(100% - 22px)}
}
@media (max-width:430px){
  body{font-size:15px}.shell{width:calc(100% - 18px)}.auth-page{padding:14px}.auth-card{padding:30px 18px}.auth-logo .logo-mark{width:70px;height:60px}.auth-logo .logo-word{font-size:40px}.auth-title{font-size:32px}.topbar{gap:8px}.top-actions{gap:6px}.logout-top{font-size:13px}.owner-metrics,.owner-metrics-compact,.trainer-metrics,.meal-metrics{gap:7px}.owner-metric,.trainer-metric,.meal-metrics>div{min-height:64px}.owner-metric b,.trainer-metric b,.meal-metrics b{font-size:18px}.owner-metric small,.trainer-metric small,.meal-metrics small{font-size:9px}.tile,.owner-tile,.trainer-tile{min-height:98px;border-radius:18px;padding:11px}.tile b,.owner-tile b,.trainer-tile b{font-size:13px}.tile small,.owner-tile small,.trainer-tile small{font-size:10px}.v127-day{min-width:48px;height:58px}.vf-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.vf-cal-day{min-height:52px}.field input,.field select,.field textarea,input,select,textarea{font-size:15px}.bottom-nav{height:64px;border-radius:22px}.bottom-nav button span{font-size:10px}.bottom-nav button svg{width:23px;height:23px}
}
@media (max-width:360px){
  .shell{width:calc(100% - 14px)}.owner-grid,.trainer-grid,.trainer-grid-uniform,.student-grid,.owner-grid-colored,.owner-grid-uniform{gap:8px}.tile,.owner-tile,.trainer-tile{padding:10px;min-height:94px}.ico,.circle,.owner-ico{width:38px;height:38px;min-width:38px}.owner-metric b,.trainer-metric b,.meal-metrics b{font-size:16px}.owner-metric small,.trainer-metric small,.meal-metrics small{font-size:8.5px}.auth-card{border-radius:26px}.btn{padding:0 12px}
}
@media (min-width:1200px){
  .bottom-nav{width:min(520px,calc(100% - 24px))}.auth-card,.auth-art{min-height:720px}.shell{padding-left:4px;padding-right:4px}
}

/* =========================================================
   CORREÇÃO GLOBAL — COMPOSIÇÃO DOS COMPONENTES
   Foco: remover layout solto, botões sobrepostos, cards curtos,
   ações desorganizadas e componentes fora do grid.
   ========================================================= */

:root{
  --component-gap:12px;
  --component-gap-sm:8px;
  --card-pad:16px;
  --action-h:36px;
  --action-min:78px;
}

html,
body,
#app,
#view{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}

body{
  overscroll-behavior-x:none;
}

*,
*::before,
*::after{
  box-sizing:border-box!important;
}

button,
a,
input,
select,
textarea{
  max-width:100%;
  min-width:0;
}

button,
.btn,
a.owner-whats{
  white-space:nowrap;
  line-height:1!important;
}

img,
svg,
video,
canvas,
iframe{
  max-width:100%!important;
}

.shell{
  width:min(var(--max-mobile),calc(100% - 20px))!important;
  max-width:var(--max-mobile)!important;
  padding-top:max(14px,calc(env(safe-area-inset-top) + 12px))!important;
  padding-bottom:calc(var(--nav-h) + 150px + env(safe-area-inset-bottom))!important;
}

@media (min-width:768px){
  .shell{
    width:min(var(--max-app),calc(100% - 32px))!important;
    max-width:var(--max-app)!important;
  }
}

/* Estrutura base: nenhum componente pode controlar largura sozinho */
.topbar,
.v123-hero,
.hero,
.owner-head,
.trainer-head,
.v127-top-profile,
.card,
.compact-card,
.owner-form-card,
.owner-plan-box,
.owner-user-card,
.trainer-student-card,
.owner-product-card,
.owner-video-card,
.owner-finance-strip,
.owner-sale-row,
.vf-plan,
.pixbox,
.vf-payment-card,
.product-card,
.shop-card,
.v125-video-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.card,
.compact-card,
.owner-form-card,
.owner-plan-box,
.vf-plan,
.pixbox,
.vf-payment-card{
  display:flex;
  flex-direction:column;
  gap:var(--component-gap);
  padding:var(--card-pad)!important;
}

/* Topo: fica no fluxo da página, sem cobrir conteúdo */
.topbar{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  overflow:hidden!important;
}

.topbar .logo{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
}

.topbar .logo-word,
.topbar .logo-sub{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

.top-actions{
  flex:0 0 auto!important;
  min-width:max-content!important;
}

/* Cabeçalhos internos: avatar/título sempre no mesmo eixo */
.owner-head,
.trainer-head,
.v127-top-profile,
.v125-profile-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  overflow:hidden!important;
}

.owner-logo,
.owner-avatar,
.v125-avatar-big,
.trainer-photo{
  flex:0 0 auto!important;
}

.owner-logo{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  border-radius:50%;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,var(--color-primary-2),var(--color-primary-3))!important;
  color:#111!important;
  font-weight:1000!important;
  font-size:23px!important;
  box-shadow:0 14px 35px rgba(255,106,0,.20)!important;
  overflow:hidden!important;
}

.owner-head>div,
.trainer-head>div,
.v127-top-profile>div,
.v125-profile-head>div{
  flex:1 1 auto!important;
  min-width:0!important;
}

.owner-head h1,
.trainer-head h1,
.v127-top-profile h2,
.v125-profile-head h2,
.v123-hero h1,
.hero h1{
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  line-height:1.05!important;
}

.owner-head h1,
.trainer-head h1,
.v127-top-profile h2{
  font-size:clamp(26px,8vw,40px)!important;
}

/* Formulários, pesquisa e selects sempre no visual dark */
input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
select,
textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:var(--input-h)!important;
  border-radius:var(--radius-sm)!important;
  border:1px solid var(--color-border)!important;
  background:rgba(255,255,255,.055)!important;
  color:var(--color-text)!important;
  padding-inline:13px!important;
  outline:0!important;
  font-weight:800!important;
  box-shadow:none!important;
}

input[type="search"]::-webkit-search-cancel-button{
  filter:invert(1);
}

.owner-toolbar,
.owner-search-toolbar{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(118px,160px)!important;
  gap:10px!important;
  align-items:center!important;
  margin-bottom:12px!important;
}

/* Texto longo não pode empurrar botão nem card */
.card *,
.tile *,
.owner-tile *,
.trainer-tile *,
.owner-user-text,
.owner-user-text *,
.owner-video-info,
.owner-video-info *,
.owner-product-card *,
.owner-plan-line *,
.vf-plan *,
.owner-finance-strip *,
.owner-sale-row *{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Métricas: 4 caixas sempre alinhadas */
.owner-metrics,
.owner-metrics-compact,
.trainer-metrics,
.meal-metrics{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}

.owner-metric,
.trainer-metric,
.meal-metrics>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:7px!important;
  min-width:0!important;
  overflow:hidden!important;
}

.owner-metric b,
.trainer-metric b,
.meal-metrics b{
  display:block!important;
  line-height:1!important;
}

.owner-metric small,
.trainer-metric small,
.meal-metrics small{
  display:block!important;
  max-width:100%!important;
  line-height:1.1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Financeiro: sempre até o fim do container */
.owner-finance-strip{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:15px 18px!important;
  margin:14px 0!important;
  text-align:left!important;
  border-radius:var(--radius-lg)!important;
}

.owner-finance-strip span{
  display:block!important;
  color:var(--color-text)!important;
  font-size:clamp(18px,4.8vw,24px)!important;
  font-weight:1000!important;
  line-height:1.05!important;
}

.owner-finance-strip small{
  display:block!important;
  justify-self:end!important;
  text-align:right!important;
  color:var(--color-text-2)!important;
  font-size:clamp(12px,3.4vw,15px)!important;
  line-height:1.25!important;
  font-weight:900!important;
}

/* Grid dos cards principais */
.owner-grid,
.owner-grid-uniform,
.owner-grid-colored,
.trainer-grid,
.trainer-grid-uniform,
.student-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

.tile,
.owner-tile,
.trainer-tile{
  width:100%!important;
  min-width:0!important;
  min-height:116px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:16px!important;
}

.ico,
.circle,
.owner-ico{
  flex:0 0 auto!important;
}

/* Lista de usuários: texto em cima, ações compactas e alinhadas */
.owner-list,
.trainer-list{
  width:100%!important;
  display:grid!important;
  gap:12px!important;
}

.owner-user-card,
.trainer-student-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;
  gap:14px!important;
  align-items:center!important;
  padding:16px!important;
  overflow:hidden!important;
}

.owner-user-main,
.trainer-student-main{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
}

.owner-avatar{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
}

.owner-user-text b,
.trainer-student-card b{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.15!important;
}

.owner-user-text small,
.trainer-student-card small{
  display:block!important;
  white-space:normal!important;
  line-height:1.25!important;
  color:var(--color-text-2)!important;
}

.owner-user-actions,
.trainer-actions,
.owner-actions,
.shop-actions,
.v123-actions,
.vf-product-actions,
.owner-video-actions{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(var(--action-min),1fr))!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:stretch!important;
}

.owner-user-actions .btn,
.owner-whats,
.trainer-actions .btn,
.owner-actions .btn,
.shop-actions .btn,
.v123-actions .btn,
.vf-product-actions .btn,
.owner-video-actions .btn{
  width:100%!important;
  min-width:0!important;
  min-height:var(--action-h)!important;
  height:var(--action-h)!important;
  padding:0 9px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  font-weight:1000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.owner-whats{
  border:1px solid rgba(34,197,94,.35)!important;
  background:rgba(34,197,94,.10)!important;
  color:#D9FFE8!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

/* Botão de foto: o + fica encaixado e não cortado */
.v125-profile-head{
  overflow:visible!important;
}

.profile-photo-btn{
  position:relative!important;
  width:86px!important;
  height:86px!important;
  min-width:86px!important;
  overflow:visible!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

.profile-photo-btn .photo-plus,
.photo-plus{
  right:2px!important;
  bottom:2px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:50%!important;
  z-index:5!important;
  box-shadow:0 8px 20px rgba(255,106,0,.32)!important;
}

/* Planos: sem tabela branca, sem largura aleatória */
.owner-plan-box{
  margin:0 0 14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.068),rgba(255,255,255,.018)),var(--color-card)!important;
  border:1px solid var(--color-border)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow-soft)!important;
}

.owner-plan-box h2{
  margin:0!important;
  color:var(--color-text)!important;
  font-size:clamp(22px,6vw,32px)!important;
  line-height:1.1!important;
}

.owner-plan-line{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px 14px!important;
  margin:0!important;
  border:1px solid var(--color-border)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.055)!important;
  color:var(--color-text)!important;
  text-align:left!important;
  box-shadow:none!important;
}

.owner-plan-line b,
.owner-plan-line small{
  display:block!important;
}

.owner-plan-line strong{
  color:var(--color-primary)!important;
  white-space:nowrap!important;
}

/* Vídeos/produtos: imagem fixa, conteúdo flexível */
.owner-product-card,
.owner-video-card{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
}

.owner-product-side,
.owner-video-player{
  width:96px!important;
  height:82px!important;
  flex:0 0 auto!important;
}

/* Tabelas antigas viram dark responsivas */
table{
  width:100%!important;
  max-width:100%!important;
  display:block!important;
  overflow-x:auto!important;
  border-collapse:separate!important;
  border-spacing:0 8px!important;
  background:transparent!important;
  color:var(--color-text)!important;
}

th,
td{
  background:rgba(255,255,255,.055)!important;
  color:var(--color-text)!important;
  border:1px solid var(--color-border)!important;
  padding:10px!important;
  overflow-wrap:anywhere!important;
}

/* Mobile */
@media (max-width:767px){
  .shell{
    width:calc(100% - 18px)!important;
    max-width:var(--max-mobile)!important;
  }

  .owner-head,
  .trainer-head,
  .v127-top-profile{
    padding:14px!important;
  }

  .owner-logo{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    font-size:21px!important;
  }

  .owner-user-card,
  .trainer-student-card{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:15px!important;
  }

  .owner-user-main,
  .trainer-student-main{
    grid-template-columns:56px minmax(0,1fr)!important;
  }

  .owner-finance-strip{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .owner-finance-strip small{
    justify-self:start!important;
    text-align:left!important;
  }

  .owner-product-card,
  .owner-video-card{
    grid-template-columns:78px minmax(0,1fr)!important;
  }

  .owner-product-side,
  .owner-video-player{
    width:78px!important;
    height:72px!important;
  }
}

@media (max-width:430px){
  :root{
    --component-gap:10px;
    --card-pad:14px;
    --action-min:76px;
  }

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

  .owner-toolbar,
  .owner-search-toolbar{
    grid-template-columns:1fr!important;
  }

  .owner-grid,
  .owner-grid-uniform,
  .owner-grid-colored,
  .trainer-grid,
  .trainer-grid-uniform,
  .student-grid{
    gap:10px!important;
  }

  .tile,
  .owner-tile,
  .trainer-tile{
    min-height:108px!important;
    padding:13px!important;
  }

  .owner-metrics,
  .owner-metrics-compact,
  .trainer-metrics,
  .meal-metrics{
    gap:8px!important;
  }

  .owner-metric,
  .trainer-metric,
  .meal-metrics>div{
    padding:9px 5px!important;
  }

  .owner-user-actions .btn,
  .owner-whats{
    font-size:11px!important;
    padding:0 7px!important;
  }
}

@media (max-width:360px){
  :root{
    --action-min:120px;
  }

  .shell{
    width:calc(100% - 14px)!important;
  }

  .owner-metrics,
  .owner-metrics-compact,
  .trainer-metrics,
  .meal-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================================================
   PATCH MODULAR QA — COMPONENTES COM VALIDAÇÃO POR MÓDULO
   Escopo: Perfil/foto, Loja/produto, Action Grid, Capas.
   Não altera tema, header, menu, banco ou rotas.
   ========================================================= */

/* Módulo 1 — Perfil / foto de perfil */
.vf-profile-module,
.vf-profile-module *{min-width:0;max-width:100%;box-sizing:border-box;}
.vf-profile-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;width:100%;overflow:visible;}
.vf-profile-photo-btn{position:relative;width:96px;height:96px;min-width:96px;border:0;background:transparent;padding:0;display:block;overflow:visible;}
.vf-profile-photo-frame,
.vf-avatar-shell,
.v125-avatar-big,
.circle,
.round,
.owner-avatar,
.trainer-photo{aspect-ratio:1/1;border-radius:50%;overflow:hidden;display:grid;place-items:center;line-height:1;}
.vf-profile-photo-frame{width:96px;height:96px;background:rgba(255,106,0,.12);border:1px solid rgba(255,106,0,.32);color:var(--color-primary);font-weight:1000;font-size:34px;}
.vf-media-img,
.vf-avatar-img,
.vf-profile-photo-frame>img,
.v125-avatar-big>img,
.circle>img,
.round>img,
.owner-avatar>img,
.trainer-photo>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;border-radius:inherit;display:block;}
.vf-avatar-letter{display:grid;place-items:center;width:100%;height:100%;font-weight:1000;color:var(--color-primary);}
.vf-photo-plus,.photo-plus{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;min-width:30px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;border:4px solid var(--color-bg);font-weight:1000;z-index:4;box-shadow:0 8px 20px rgba(255,106,0,.34);}
.vf-profile-title h2{margin:0;font-size:clamp(28px,8vw,44px);line-height:1.02;font-weight:1000;letter-spacing:-.05em;overflow-wrap:break-word;}
.vf-profile-title p{margin:6px 0 0;color:var(--color-text-2);font-weight:900;}
.vf-profile-form{margin-top:18px;}
.vf-profile-actions{margin-top:8px;}
@media (max-width:430px){.vf-profile-head{grid-template-columns:78px minmax(0,1fr);gap:12px}.vf-profile-photo-btn,.vf-profile-photo-frame{width:78px;height:78px;min-width:78px}.vf-photo-plus,.photo-plus{width:26px;height:26px;min-width:26px;border-width:3px}.vf-profile-title h2{font-size:clamp(24px,9vw,34px)}}

/* Módulo 2 — Loja / produto */
.vf-shop-grid-clean,
.vf-owner-product-list{width:100%;display:grid;grid-template-columns:1fr;gap:14px;min-width:0;}
.vf-shop-card-clean,
.vf-owner-product-card,
.vf-product-detail-clean{position:relative;width:100%;min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.068),rgba(255,255,255,.018)),radial-gradient(circle at 100% 0,rgba(255,106,0,.08),transparent 38%),var(--color-card);box-shadow:var(--shadow-soft);color:var(--color-text);}
.vf-shop-card-clean{display:grid;gap:14px;padding:16px;}
.vf-media-cover{width:100%;aspect-ratio:1300/620;min-height:0;overflow:hidden;border-radius:18px;border:1px solid var(--color-border);background:rgba(0,0,0,.25);}
.vf-media-cover>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:inherit;}
.vf-shop-content{display:grid;gap:10px;min-width:0;}
.vf-shop-content h3{margin:0;font-size:clamp(24px,7vw,36px);line-height:1.05;font-weight:1000;letter-spacing:-.045em;overflow-wrap:break-word;}
.vf-shop-content p{margin:0;color:var(--color-text-2);font-weight:800;line-height:1.35;overflow-wrap:break-word;}
.vf-shop-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.vf-shop-meta strong{color:var(--color-primary);font-size:clamp(28px,8vw,42px);font-weight:1000;line-height:1;}
.vf-shop-meta .shop-status{min-width:0;max-width:100%;white-space:normal;text-align:center;}
.vf-product-detail-clean{display:grid;gap:13px;padding:16px;}
.vf-product-detail-clean h2{margin:0;font-size:clamp(28px,8vw,42px);line-height:1.04;font-weight:1000;letter-spacing:-.045em;overflow-wrap:break-word;}
.vf-product-detail-clean p{margin:0;color:var(--color-text-2);font-weight:800;line-height:1.38;overflow-wrap:break-word;}
.vf-detail-cover{margin-bottom:2px;}
.vf-owner-product-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;}
.vf-owner-product-info{display:grid;gap:5px;min-width:0;}
.vf-owner-product-info b{display:block;color:var(--color-text);font-size:20px;font-weight:1000;line-height:1.1;overflow-wrap:break-word;}
.vf-owner-product-info small{display:block;color:var(--color-text-2);font-weight:800;line-height:1.3;overflow-wrap:break-word;}
.vf-owner-product-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.vf-owner-product-meta strong{color:var(--color-primary);font-size:26px;font-weight:1000;line-height:1;}
.vf-owner-product-meta span{border:1px solid var(--color-border-strong);background:rgba(255,106,0,.10);color:var(--color-primary);border-radius:999px;padding:6px 10px;font-weight:1000;font-size:12px;}

/* Módulo 3 — Action Grid / botões */
.vf-action-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;align-items:stretch;}
.vf-action-grid>.btn,
.vf-action-grid>a,
.vf-action-grid>button{width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.1;overflow:hidden;text-overflow:ellipsis;position:relative;}
.vf-store-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px;}
.vf-store-actions .btn:first-child:nth-last-child(3){grid-column:auto;}
.vf-shop-actions-clean{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
@media (max-width:430px){.vf-store-actions{grid-template-columns:1fr 1fr}.vf-store-actions .btn:first-child{grid-column:1/-1}.vf-action-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:9px}.vf-action-grid>.btn,.vf-action-grid>a,.vf-action-grid>button{height:42px;min-height:42px;font-size:13px;padding-inline:10px}}
@media (max-width:360px){.vf-action-grid{grid-template-columns:1fr}.vf-store-actions{grid-template-columns:1fr}}

/* Módulo 4 — neutraliza componentes antigos só dentro da loja/perfil, sem mexer globalmente */
.vf-owner-product-card .owner-product-open,
.vf-owner-product-card .owner-product-side{all:unset;}
.vf-shop-card-clean .shop-cover,
.vf-shop-card-clean .shop-body,
.vf-shop-card-clean .shop-actions{all:unset;}
.vf-shop-card-clean .shop-tag{justify-self:start;}

/* =========================================================
   PATCH APP INTEIRO — CORREÇÃO INCREMENTAL COM QA MODULAR
   Escopo: encaixe visual em todos os módulos, sem limpar arquivos.
   Técnica: Component Layout System + Media System + Action Grid.
   ========================================================= */

/* Base segura para todos os módulos */
#view,
#view *{box-sizing:border-box;min-width:0;}
#view{width:100%;max-width:100%;overflow-x:hidden;}
#view img,#view video,#view canvas,#view svg{max-width:100%;}
#view p,#view small,#view b,#view strong,#view h1,#view h2,#view h3,#view label,#view span{overflow-wrap:anywhere;word-break:normal;}

/* 1. Header/topo */
#view .topbar{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;overflow:hidden!important;position:relative!important;top:auto!important;}
#view .topbar .logo{min-width:0!important;overflow:hidden!important;}
#view .top-actions{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex-shrink:0!important;}
#view .logout-top{height:38px!important;min-height:38px!important;padding:0 12px!important;white-space:nowrap!important;}

/* 2. Media System global: avatar, foto, capa, preview, vídeo */
#view .round,
#view .circle,
#view .owner-avatar,
#view .trainer-photo,
#view .v125-avatar-big,
#view .vf-profile-photo-frame,
#view .profile-photo-btn,
#view .vf-profile-photo-btn{aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;flex:0 0 auto!important;line-height:1!important;}

#view .round{width:42px!important;height:42px!important;min-width:42px!important;}
#view .circle{width:48px!important;height:48px!important;min-width:48px!important;}
#view .owner-avatar{width:54px!important;height:54px!important;min-width:54px!important;}
#view .v125-avatar-big,
#view .vf-profile-photo-frame{width:88px!important;height:88px!important;min-width:88px!important;}
#view .profile-photo-btn,
#view .vf-profile-photo-btn{width:88px!important;height:88px!important;min-width:88px!important;background:transparent!important;border:0!important;padding:0!important;overflow:visible!important;position:relative!important;}

#view .round>img,
#view .circle>img,
#view .owner-avatar>img,
#view .trainer-photo>img,
#view .v125-avatar-big>img,
#view .vf-profile-photo-frame>img,
#view img.vf-avatar-img,
#view img.vf-media-img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center center!important;border-radius:inherit!important;background:transparent!important;}

#view .logo img,
#view .logo-mark img,
#view .auth-logo img{object-fit:contain!important;background:transparent!important;border-radius:0!important;}

#view .shop-cover,
#view .shop-detail-cover,
#view .vf-media-cover,
#view .product-cover-preview,
#view .vf-cover-fill,
#view .v125-cover,
#view .evolution-collage,
#view .evolution-preview img{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:16px!important;border:1px solid var(--color-border)!important;background:rgba(0,0,0,.22)!important;}
#view .shop-cover,
#view .vf-media-cover,
#view .product-cover-preview,
#view .vf-cover-fill{aspect-ratio:16/9!important;height:auto!important;min-height:126px!important;max-height:190px!important;}
#view .shop-detail-cover{aspect-ratio:16/9!important;height:auto!important;max-height:220px!important;}
#view .v125-cover,
#view .evolution-collage{height:auto!important;max-height:360px!important;object-fit:cover!important;object-position:center!important;}
#view .shop-cover>img,
#view .shop-detail-cover>img,
#view .vf-media-cover>img,
#view .product-cover-preview>img,
#view .vf-cover-fill>img,
#view .v125-cover>img,
#view .evolution-preview img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;border-radius:inherit!important;}
#view .owner-video-player,
#view video.owner-video-player{width:96px!important;height:82px!important;object-fit:cover!important;border-radius:14px!important;overflow:hidden!important;}

/* 3. Action Grid global: nenhum botão sobrepõe outro elemento */
#view .owner-actions,
#view .trainer-actions,
#view .owner-user-actions,
#view .owner-video-actions,
#view .shop-actions,
#view .v123-actions,
#view .vf-product-actions,
#view .vf-action-grid,
#view .vf-store-actions,
#view .vf-shop-actions-clean,
#view .form-actions,
#view .owner-video-picks{width:100%!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,118px),1fr))!important;gap:9px!important;align-items:stretch!important;justify-content:stretch!important;position:relative!important;z-index:1!important;}

#view .btn,
#view .owner-whats,
#view button,
#view a.btn{max-width:100%;min-width:0;}
#view .owner-actions .btn,
#view .trainer-actions .btn,
#view .owner-user-actions .btn,
#view .owner-user-actions a,
#view .owner-video-actions .btn,
#view .shop-actions .btn,
#view .v123-actions .btn,
#view .vf-product-actions .btn,
#view .vf-action-grid .btn,
#view .vf-action-grid a,
#view .vf-action-grid button,
#view .owner-video-picks .btn,
#view .owner-video-picks select{width:100%!important;height:auto!important;min-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;line-height:1.15!important;padding:0 10px!important;position:relative!important;inset:auto!important;}

/* 4. Cards base do app inteiro */
#view .card,
#view .compact-card,
#view .owner-form-card,
#view .owner-head,
#view .trainer-head,
#view .v127-top-profile,
#view .v127-week,
#view .owner-user-card,
#view .trainer-student-card,
#view .owner-product-card,
#view .owner-video-card,
#view .shop-card,
#view .vf-shop-card-clean,
#view .product-card,
#view .vf-plan,
#view .owner-plan-box,
#view .vf-payment-card,
#view .pixbox{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;}

#view .card,
#view .compact-card,
#view .owner-form-card,
#view .vf-payment-card,
#view .pixbox{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}

/* 5. Início do dono / métricas / cards */
#view .owner-metrics,
#view .owner-metrics-compact,
#view .trainer-metrics,
#view .meal-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
#view .owner-metric,
#view .trainer-metric,
#view .meal-metrics>div{min-height:70px!important;padding:10px 6px!important;text-align:center!important;align-items:center!important;overflow:hidden!important;}
#view .owner-grid,
#view .owner-grid-uniform,
#view .owner-grid-colored,
#view .trainer-grid,
#view .trainer-grid-uniform,
#view .student-grid,
#view .v127-circles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
#view .tile,
#view .owner-tile,
#view .trainer-tile{width:100%!important;min-height:106px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:13px!important;overflow:hidden!important;}
#view .tile>span:last-child,
#view .owner-tile>span:last-child,
#view .trainer-tile>span:last-child{min-width:0!important;width:100%!important;}

/* 6. Perfil / foto de perfil / topo aluno */
#view .vf-profile-head,
#view .v125-profile-head{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;overflow:visible!important;}
#view .vf-profile-title,
#view .v125-profile-head>div{min-width:0!important;overflow:hidden!important;}
#view .vf-profile-title h2,
#view .v125-profile-head h2{margin:0!important;line-height:1.05!important;overflow-wrap:break-word!important;}
#view .vf-photo-plus,
#view .photo-plus{position:absolute!important;right:0!important;bottom:0!important;width:28px!important;height:28px!important;min-width:28px!important;display:grid!important;place-items:center!important;border-radius:50%!important;z-index:4!important;}
#view .v127-top-profile{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:14px!important;}
#view .v127-profile-left{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;min-width:0!important;}
#view .v127-profile-left>div{min-width:0!important;overflow:hidden!important;}
#view .v127-profile-left h2{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#view .v127-plan-pill{max-width:120px!important;white-space:normal!important;text-align:center!important;line-height:1.1!important;padding:7px 10px!important;}

/* 7. Loja / produto / criar e editar produto */
#view .shop-grid,
#view .product-grid,
#view .trainer-shop-grid,
#view .vf-shop-grid-clean{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important;}
#view .shop-card,
#view .vf-shop-card-clean,
#view .product-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:14px!important;align-items:start!important;overflow:hidden!important;}
#view .shop-body,
#view .vf-shop-content,
#view .v125-video-body{display:grid!important;gap:8px!important;padding:0!important;min-width:0!important;}
#view .shop-body h3,
#view .vf-shop-content h3,
#view .product-card h2{margin:0!important;line-height:1.08!important;overflow-wrap:break-word!important;}
#view .shop-body p,
#view .vf-shop-content p,
#view .product-card p{margin:0!important;color:var(--color-text-2)!important;line-height:1.32!important;}
#view .shop-body strong,
#view .vf-shop-meta strong,
#view .product-card strong{color:var(--color-primary)!important;font-weight:1000!important;line-height:1!important;}
#view .shop-status,
#view .shop-tag{max-width:100%!important;white-space:normal!important;text-align:center!important;}
#view .vf-shop-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important;}
#view .vf-product-detail-clean,
#view .vf-product-detail,
#view .vf-product-detail-final,
#view .shop-detail{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;overflow:hidden!important;}

/* Dono: lista de produtos sem preço/status esmagar texto */
#view .owner-product-list,
#view .vf-owner-product-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;}
#view .owner-product-card,
#view .vf-owner-product-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:14px!important;}
#view .owner-product-open{width:100%!important;display:grid!important;gap:5px!important;text-align:left!important;background:transparent!important;border:0!important;color:var(--color-text)!important;padding:0!important;overflow:hidden!important;}
#view .owner-product-open b,
#view .vf-owner-product-info b{display:block!important;white-space:normal!important;line-height:1.12!important;overflow-wrap:break-word!important;}
#view .owner-product-open small,
#view .vf-owner-product-info small{display:block!important;white-space:normal!important;line-height:1.25!important;color:var(--color-text-2)!important;}
#view .owner-product-side{width:100%!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;border:0!important;background:transparent!important;padding:0!important;}
#view .owner-product-side>div{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr))!important;gap:8px!important;width:100%!important;}
#view .owner-product-side strong{color:var(--color-primary)!important;font-size:24px!important;line-height:1!important;}

/* 8. Usuários */
#view .owner-user-card,
#view .trainer-student-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:14px!important;}
#view .owner-user-main,
#view .trainer-student-main{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;width:100%!important;}
#view .owner-user-text b,
#view .trainer-student-main b{display:block!important;white-space:normal!important;line-height:1.15!important;}
#view .owner-user-text small,
#view .trainer-student-main small{display:block!important;white-space:normal!important;line-height:1.25!important;color:var(--color-text-2)!important;}

/* 9. Vídeos */
#view .owner-video-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;}
#view .owner-video-card{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:14px!important;}
#view .owner-video-info{display:grid!important;gap:6px!important;min-width:0!important;}
#view .owner-video-info b{white-space:normal!important;line-height:1.15!important;}

/* 10. Planos / avisos / financeiro / mais */
#view .plan-grid-compact,
#view .trainer-plan-grid,
#view .offer-plan-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
#view .vf-plan,
#view .owner-plan-box,
#view .offer-plan-choice{display:grid!important;gap:10px!important;overflow:hidden!important;}
#view .owner-plan-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;}
#view .owner-finance-summary,
#view .owner-sale-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;}
#view .owner-finance-strip,
#view .owner-sale-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;align-items:start!important;}
#view .row,
#view .compact-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;width:100%!important;}

/* 11. Aluno / personal / telas secundárias */
#view .v127-week,
#view .vf-calendar,
#view .v127-days{display:grid!important;gap:8px!important;}
#view .v127-days{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
#view .v127-day{width:100%!important;min-width:0!important;padding:8px 3px!important;text-align:center!important;}
#view .food-suggestion{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;}
#view .compact-suggestions{display:grid!important;gap:8px!important;}
#view .v127-form-grid,
#view .vf-profile-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important;gap:10px!important;}

/* 12. Menu inferior */
.bottom-nav{width:min(var(--max-mobile),calc(100% - 18px))!important;max-width:var(--max-mobile)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;overflow:hidden!important;}
.bottom-nav button{min-width:0!important;overflow:hidden!important;}
.bottom-nav span,.bottom-nav small{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}

/* Mobile fino */
@media (max-width:430px){
  #view .shell{width:calc(100% - 18px)!important;max-width:var(--max-mobile)!important;}
  #view .owner-metrics,#view .owner-metrics-compact,#view .trainer-metrics,#view .meal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;}
  #view .owner-metric,#view .trainer-metric,#view .meal-metrics>div{min-height:64px!important;padding:8px 4px!important;}
  #view .owner-grid,#view .trainer-grid,#view .trainer-grid-uniform,#view .student-grid,#view .v127-circles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  #view .tile,#view .owner-tile,#view .trainer-tile{min-height:100px!important;padding:11px!important;}
  #view .owner-actions,#view .trainer-actions,#view .owner-user-actions,#view .owner-video-actions,#view .shop-actions,#view .v123-actions,#view .vf-product-actions,#view .vf-action-grid,#view .vf-store-actions,#view .vf-shop-actions-clean{grid-template-columns:repeat(auto-fit,minmax(min(100%,106px),1fr))!important;gap:8px!important;}
  #view .vf-profile-head,#view .v125-profile-head{grid-template-columns:76px minmax(0,1fr)!important;gap:12px!important;}
  #view .profile-photo-btn,#view .vf-profile-photo-btn,#view .v125-avatar-big,#view .vf-profile-photo-frame{width:76px!important;height:76px!important;min-width:76px!important;}
  #view .v127-top-profile{grid-template-columns:minmax(0,1fr) auto!important;padding:12px!important;}
  #view .v127-profile-left{grid-template-columns:46px minmax(0,1fr)!important;gap:10px!important;}
  #view .v127-profile-left .circle{width:46px!important;height:46px!important;min-width:46px!important;}
  #view .shop-cover,#view .vf-media-cover,#view .product-cover-preview,#view .vf-cover-fill{min-height:116px!important;max-height:168px!important;}
  #view .owner-video-card{grid-template-columns:82px minmax(0,1fr)!important;}
  #view .owner-video-player,#view video.owner-video-player{width:82px!important;height:72px!important;}
}

@media (max-width:360px){
  #view .owner-metrics,#view .owner-metrics-compact,#view .trainer-metrics,#view .meal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #view .owner-actions,#view .trainer-actions,#view .owner-user-actions,#view .owner-video-actions,#view .shop-actions,#view .v123-actions,#view .vf-product-actions,#view .vf-action-grid,#view .vf-store-actions,#view .vf-shop-actions-clean{grid-template-columns:1fr!important;}
  #view .owner-grid,#view .trainer-grid,#view .trainer-grid-uniform,#view .student-grid,#view .v127-circles{grid-template-columns:1fr!important;}
  #view .v127-days{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #view .row,#view .compact-row{grid-template-columns:1fr!important;}
}

/* =========================================================
   PATCH FINAL — QA REAL DE ENCAIXE POR FLUXO
   Corrige a causa encontrada na auditoria: imagens de avatar
   usando proporção própria dentro de containers circulares.
   ========================================================= */
#view .round,
#view .circle,
#view .owner-avatar,
#view .trainer-photo,
#view .v125-avatar-big,
#view .avatar,
#view .profile-photo,
#view .user-photo,
#view .vf-profile-photo-frame{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  line-height:1!important;
}
#view .round>img,
#view .circle>img,
#view .owner-avatar>img,
#view .trainer-photo>img,
#view .v125-avatar-big>img,
#view .avatar>img,
#view .profile-photo>img,
#view .user-photo>img,
#view .vf-profile-photo-frame>img,
#view .round>img.vf-avatar-img,
#view .circle>img.vf-avatar-img,
#view .owner-avatar>img.vf-avatar-img,
#view .trainer-photo>img.vf-avatar-img,
#view .v125-avatar-big>img.vf-avatar-img,
#view .vf-profile-photo-frame>img.vf-avatar-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  display:block!important;
  transform:none!important;
}
#view .trainer-photo>span,
#view .profile-photo-btn .photo-plus,
#view .vf-profile-photo-btn .photo-plus,
#view .photo-plus{
  position:absolute!important;
  z-index:5!important;
}
#view .profile-photo-btn,
#view .vf-profile-photo-btn{
  overflow:visible!important;
  border-radius:50%!important;
}

/* Botões: compacto e sem empilhar por cima em qualquer grupo de ação */
#view .owner-actions,
#view .trainer-actions,
#view .owner-user-actions,
#view .owner-video-actions,
#view .shop-actions,
#view .v123-actions,
#view .vf-product-actions,
#view .vf-action-grid,
#view .vf-store-actions,
#view .vf-shop-actions-clean,
#view .form-actions{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#view .owner-actions>.btn,
#view .trainer-actions>.btn,
#view .owner-user-actions>.btn,
#view .owner-user-actions>a,
#view .owner-video-actions>.btn,
#view .shop-actions>.btn,
#view .v123-actions>.btn,
#view .vf-product-actions>.btn,
#view .vf-action-grid>.btn,
#view .vf-action-grid>button,
#view .vf-action-grid>a,
#view .vf-store-actions>.btn,
#view .vf-shop-actions-clean>.btn,
#view .form-actions>.btn{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:38px!important;
  height:auto!important;
  padding:9px 10px!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* Cards de produto: cada bloco em sua linha, sem preço/status/botão sobre o texto */
#view .owner-product-card,
#view .vf-owner-product-card,
#view .shop-card,
#view .vf-shop-card-clean,
#view .product-card,
#view .vf-product-detail-clean,
#view .shop-detail{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  overflow:hidden!important;
}
#view .owner-product-open,
#view .vf-owner-product-info,
#view .owner-product-side,
#view .vf-owner-product-meta,
#view .vf-shop-content,
#view .vf-shop-meta{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  align-items:start!important;
}
#view .owner-product-side>div,
#view .vf-owner-product-meta,
#view .vf-shop-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}
#view .owner-product-open b,
#view .owner-product-open small,
#view .vf-owner-product-info b,
#view .vf-owner-product-info small,
#view .vf-shop-content h3,
#view .vf-shop-content p{
  position:relative!important;
  z-index:1!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
}

/* Capas/imagens de produto e preview: preencher o campo sem vazar */
#view .shop-cover,
#view .shop-detail-cover,
#view .vf-media-cover,
#view .product-cover-preview,
#view .offer-cover-preview,
#view .vf-cover-fill{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:120px!important;
  max-height:210px!important;
  overflow:hidden!important;
  border-radius:16px!important;
}
#view .shop-cover>img,
#view .shop-detail-cover>img,
#view .vf-media-cover>img,
#view .product-cover-preview>img,
#view .offer-cover-preview>img,
#view .vf-cover-fill>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:inherit!important;
}

/* V12.10.15+ — Execução / Biblioteca VrumFit + ajuste final do botão + */
#view .profile-photo-btn.has-photo .photo-plus{display:none!important;}
#view .profile-photo-btn.no-photo .photo-plus{display:grid!important;}
#view .trainer-head .trainer-photo>span{display:none!important;}
#view .profile-photo-btn,
#view .v125-avatar-big,
#view .owner-avatar,
#view .trainer-photo,
#view .circle,
#view .round{overflow:hidden!important;border-radius:50%!important;aspect-ratio:1/1!important;}
#view .profile-photo-btn .photo-plus,
#view .photo-plus{right:2px!important;bottom:2px!important;left:auto!important;top:auto!important;transform:none!important;}

.vf-ex-category-grid,
.vf-ex-sub-grid,
.vf-ex-card-grid{display:grid;gap:12px;}
.vf-ex-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.vf-ex-sub-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:12px;}
.vf-ex-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.vf-ex-category,
.vf-ex-sub,
.vf-ex-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),var(--color-card);color:var(--color-text);box-shadow:var(--shadow-soft);}
.vf-ex-category{display:flex;align-items:center;gap:12px;padding:14px;text-align:left;}
.vf-ex-category b{display:block;font-size:15px;line-height:1.15;}
.vf-ex-category small{display:block;margin-top:4px;color:var(--color-text-2);}
.vf-ex-sub{padding:12px 14px;font-weight:900;text-align:center;}
.vf-ex-card{padding:10px;display:flex;flex-direction:column;gap:10px;text-align:left;min-width:0;}
.vf-ex-thumb-wrap,.vf-ex-detail-image{width:100%;overflow:hidden;border-radius:16px;border:1px solid var(--color-border);background:rgba(0,0,0,.2);}
.vf-ex-thumb{display:block;width:100%;height:170px;object-fit:cover;object-position:center;}
.vf-ex-name{font-weight:900;color:var(--color-text);font-size:14px;line-height:1.2;word-break:break-word;}
.vf-ex-detail{display:grid;gap:12px;}
.vf-ex-detail-image img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#0b0b0b;}
.vf-ex-detail-copy h2{margin:0 0 6px;}
.vf-ex-head h2{margin:0;}
.vf-ex-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}

@media (min-width:760px){
  .vf-ex-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .vf-ex-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:520px){
  .vf-ex-category-grid,.vf-ex-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .vf-ex-thumb{height:140px;}
  .vf-ex-category{padding:12px;}
}

/* V12.10.17 — Progressão sobre V12.10.16 */
.vf-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 12px;padding:14px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),var(--color-card);box-shadow:var(--shadow-soft);overflow:hidden}
.vf-titlebar .mini{display:block;color:var(--color-primary);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.18em;margin-bottom:2px}.vf-titlebar h1{margin:0;color:var(--color-text);font-size:clamp(22px,6vw,34px);line-height:1.02;font-weight:1000;letter-spacing:-.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-back-top{width:38px;height:38px;min-width:38px;border-radius:13px;border:1px solid rgba(255,106,0,.32);background:rgba(255,106,0,.10);color:var(--color-primary);font-size:30px;line-height:1;display:grid;place-items:center;padding:0;font-weight:1000}.vf-back-top:hover{background:rgba(255,106,0,.18)}
.vf-owner-store-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 12px!important;align-items:stretch!important}.vf-owner-store-actions .btn{width:100%!important;min-height:40px!important;height:44px!important;max-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;padding:0 10px!important;font-size:13px!important;line-height:1!important;border-radius:12px!important;position:relative!important;inset:auto!important}.vf-owner-product-card{align-items:stretch!important}.vf-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:6px}.vf-mini-actions .btn{min-height:34px!important;height:34px!important;font-size:11px!important;padding:0 8px!important;white-space:nowrap!important}.vf-product-title-clamp{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;font-size:15px!important;line-height:1.16!important;font-weight:900!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}.vf-shop-card-171{display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;overflow:hidden!important}.vf-shop-card-171 .shop-body{display:grid!important;gap:7px!important;padding:12px!important}.vf-product-cover{height:168px!important;border-radius:0!important;background:#090909!important;display:grid!important;place-items:center!important}.vf-product-cover img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;background:#090909!important}.vf-shop-card-171 .btn{height:36px!important;min-height:36px!important;font-size:12px!important}
.vf-ex-owner-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.vf-ex-owner-card{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;overflow:hidden!important;align-items:start!important}.vf-ex-owner-img{width:100%!important;height:clamp(180px,48vw,240px)!important;border-radius:16px!important;overflow:hidden!important;border:1px solid var(--color-border)!important;background:#090909!important}.vf-ex-owner-img img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important}.vf-ex-owner-info{display:grid!important;gap:5px!important;min-width:0!important}.vf-ex-owner-info b{white-space:normal!important;line-height:1.15!important;font-size:16px!important}.vf-ex-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:6px!important;width:100%!important;position:relative!important;z-index:1!important}.vf-ex-actions .btn{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 6px!important;font-size:10.5px!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;border-radius:10px!important;position:relative!important;inset:auto!important}.vf-ex-image-action{display:grid!important;grid-template-columns:1fr!important;margin-bottom:8px!important}.vf-ex-image-action .btn{height:40px!important;min-height:40px!important}.vf-ex-form-preview{height:clamp(220px,56vw,280px)!important;min-height:220px!important;max-height:280px!important;background:#090909!important;border:1px solid rgba(255,106,0,.32)!important;border-radius:16px!important;display:grid!important;place-items:center!important;overflow:hidden!important}.vf-ex-preview-img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#090909!important;border-radius:inherit!important}.vf-ex-form-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:10px!important}.vf-ex-form-actions .btn{height:44px!important;min-height:44px!important;max-height:44px!important;white-space:nowrap!important;padding:0 10px!important}.vf-week-label{display:block;color:var(--color-text-2);font-size:13px;font-weight:900;margin:2px 0 -2px}.vf-week-select{display:flex;gap:7px;overflow-x:auto;padding:2px 0 6px;margin-bottom:4px;scrollbar-width:none}.vf-week-select::-webkit-scrollbar{display:none}.vf-week-choice{height:34px;min-width:45px;padding:0 11px;border-radius:999px;border:1px solid var(--color-border);background:rgba(255,255,255,.045);color:var(--color-text-2);font-size:12px;font-weight:1000;white-space:nowrap}.vf-week-choice.selected{background:var(--color-primary);border-color:var(--color-primary);color:#111}.owner-head + .vf-owner-store-actions{margin-top:10px!important}
@media (min-width:760px){.vf-ex-owner-card{grid-template-columns:260px minmax(0,1fr)!important}.vf-ex-owner-img{height:190px!important}.vf-product-cover{height:180px!important}}
@media (max-width:410px){.vf-ex-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vf-ex-actions .btn{font-size:11px!important}.vf-owner-store-actions{gap:8px!important}.vf-owner-store-actions .btn{font-size:12px!important;padding:0 8px!important}.vf-titlebar h1{font-size:23px}.vf-back-top{width:36px;height:36px;min-width:36px}.vf-product-title-clamp{font-size:14px!important}.vf-product-cover{height:150px!important}}

/* V12.10.18 — lógica visual e funcionalidade real */
.v121018-exercise-list{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:calc(82px + env(safe-area-inset-bottom));}
.v121018-exercise-card{border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018)),var(--color-card);box-shadow:var(--shadow-soft);padding:12px;display:grid;gap:10px;overflow:hidden;}
.v121018-exercise-media{width:100%;height:clamp(190px,52vw,245px);border-radius:16px;overflow:hidden;background:#090909;border:1px solid rgba(255,106,0,.24);}
.v121018-exercise-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit;}
.v121018-exercise-name{font-size:16px;font-weight:1000;line-height:1.15;color:var(--color-text);text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.v121018-exercise-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;}
.v121018-exercise-actions .btn{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 5px!important;font-size:10.5px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;border-radius:10px!important;}
.v121018-top-actions{margin-top:10px!important;margin-bottom:12px!important;}
.v121018-student-panel{display:grid;gap:12px;}
.v121018-student-head{display:flex;align-items:center;gap:12px;min-width:0;}
.v121018-student-info{min-width:0;display:grid;gap:4px;}
.v121018-student-info h2{margin:0;font-size:18px;line-height:1.12;font-weight:1000;}
.v121018-student-info p{margin:0;color:var(--color-text-2);font-size:13px;line-height:1.25;word-break:break-word;}
.v121018-phone-line{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;}
.v121018-phone-line .btn{height:32px!important;min-height:32px!important;font-size:12px!important;padding:0 10px!important;}
.v121018-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:calc(82px + env(safe-area-inset-bottom));}
.v121018-quick-action{min-height:74px;border:1px solid var(--color-border);border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),var(--color-card);box-shadow:var(--shadow-soft);color:var(--color-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:10px;}
.v121018-quick-action span{width:22px;height:22px;color:var(--color-primary);display:grid;place-items:center;}
.v121018-quick-action svg{width:22px;height:22px;}
.v121018-quick-action b{font-size:12.5px;line-height:1.05;font-weight:1000;}
.v121018-trainer-student-card{gap:10px;}
.v121018-student-row-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;}
.v121018-student-row-actions .btn{height:34px!important;min-height:34px!important;font-size:12px!important;}
.v121018-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.v121018-card-head h2{margin:0;font-size:17px;line-height:1.15;}
.v121018-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:1000;border:1px solid var(--color-border);white-space:nowrap;}
.v121018-status-done{background:rgba(34,197,94,.16);color:#6ee7a0;border-color:rgba(34,197,94,.34);}
.v121018-status-sent{background:rgba(255,106,0,.15);color:var(--color-primary);border-color:rgba(255,106,0,.35);}
.v121018-status-wait{background:rgba(255,255,255,.06);color:var(--color-text-2);}
.v121018-flow-card{display:grid;gap:8px;}
.v121018-flow-card p{margin:0;color:var(--color-text-2);line-height:1.35;}
.v121018-image-card img,.v121018-flow-card img{width:100%;max-height:360px;object-fit:contain;background:#090909;border-radius:16px;border:1px solid var(--color-border);}
@media (min-width:760px){.v121018-exercise-list{grid-template-columns:repeat(2,minmax(0,1fr));}.v121018-exercise-media{height:220px}.v121018-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:390px){.v121018-exercise-actions{grid-template-columns:repeat(2,minmax(0,1fr));}.v121018-exercise-actions .btn{font-size:11px!important}.v121018-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.v121018-student-head{align-items:flex-start}.v121018-card-head{align-items:flex-start;flex-direction:column;}}

/* V12.10.19 — FASE 2: componentes globais com evidência */
#view .shell{padding-bottom:calc(var(--nav-h) + 112px + env(safe-area-inset-bottom))!important;}
#view .trainer-list,#view .owner-list,#view .owner-product-list,#view .shop-grid,#view .v121019-list,#view .v121019-image-list{margin-bottom:calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))!important;}
#view .bottom-nav{bottom:calc(12px + env(safe-area-inset-bottom))!important;}

#view .v121019-title-no-back .vf-back-top{display:none!important;}
#view .v121019-title-sub{margin:2px 0 0;color:var(--color-text-2);font-weight:900;font-size:13px;line-height:1.2;}

#view .v121019-action-row{display:grid!important;gap:7px!important;width:100%!important;align-items:stretch!important;margin-top:8px!important;}
#view .v121019-action-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
#view .v121019-action-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
#view .v121019-action-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
#view .v121019-action-row.cols-1{grid-template-columns:minmax(0,1fr)!important;max-width:160px!important;}
#view .v121019-action{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 6px!important;border-radius:11px!important;border:1px solid var(--color-border)!important;background:rgba(255,255,255,.055)!important;color:var(--color-text)!important;box-shadow:none!important;font-size:11px!important;font-weight:1000!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#view .v121019-action.whats{background:rgba(34,197,94,.13)!important;border-color:rgba(34,197,94,.34)!important;color:#a7f3d0!important;}
#view .v121019-action.danger{background:rgba(239,68,68,.14)!important;border-color:rgba(239,68,68,.38)!important;color:#ffb4b4!important;}
#view .v121019-action.dark{background:rgba(255,255,255,.05)!important;color:var(--color-text)!important;}

#view .v121019-user-card,#view .v121019-trainer-card,#view .v121019-finance-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;padding:12px!important;}
#view .v121019-user-main,#view .trainer-student-main{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;}
#view .v121019-user-card b,#view .v121019-trainer-card b,#view .v121019-finance-card b{font-size:15px!important;line-height:1.12!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#view .v121019-user-card small,#view .v121019-trainer-card small,#view .v121019-finance-card small{font-size:12px!important;line-height:1.18!important;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;}

#view .v121019-image-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
#view .v121019-image-card{display:grid!important;gap:9px!important;padding:12px!important;border:1px solid var(--color-border)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018)),var(--color-card)!important;box-shadow:var(--shadow-soft)!important;overflow:hidden!important;}
#view .v121019-main-image{width:100%!important;height:clamp(190px,54vw,245px)!important;border-radius:16px!important;background:#090909!important;border:1px solid rgba(255,106,0,.26)!important;overflow:hidden!important;}
#view .v121019-main-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;border-radius:inherit!important;}
#view .v121019-image-name{font-size:16px!important;line-height:1.12!important;font-weight:1000!important;color:var(--color-text)!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#view .v121019-image-card .exercise-actions{margin-top:0!important;}

#view .shop-cover.vf-product-cover,#view .vf-product-cover{height:168px!important;min-height:150px!important;max-height:180px!important;background:#090909!important;border-radius:16px 16px 0 0!important;display:grid!important;place-items:center!important;overflow:hidden!important;}
#view .shop-cover.vf-product-cover>img,#view .vf-product-cover>img,#view .v121019-product-card .shop-cover>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#090909!important;border-radius:0!important;}
#view .v121019-single-action{grid-template-columns:1fr!important;max-width:100%!important;}

#view .v121019-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:calc(var(--nav-h) + 40px + env(safe-area-inset-bottom))!important;}
#view .v121019-quick-actions .v121019-action{height:42px!important;min-height:42px!important;font-size:12px!important;}
#view .v121019-student-detail{margin-bottom:10px!important;}

#view .v121019-calendar-card{overflow:visible!important;margin-bottom:calc(var(--nav-h) + 48px + env(safe-area-inset-bottom))!important;}
#view .v121019-calendar-card p{margin:0 0 10px!important;color:var(--color-text-2)!important;font-weight:900!important;line-height:1.32!important;}
#view .v121019-week-head,#view .v121019-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;width:100%!important;}
#view .v121019-week-head{margin-bottom:7px!important;}
#view .v121019-week-head span{font-size:10px!important;text-align:center!important;color:var(--color-text-2)!important;font-weight:1000!important;}
#view .v121019-day{height:42px!important;min-height:42px!important;border-radius:12px!important;border:1px solid var(--color-border)!important;background:rgba(255,255,255,.05)!important;color:var(--color-text)!important;font-size:13px!important;font-weight:1000!important;display:grid!important;place-items:center!important;padding:0!important;}
#view .v121019-day.done{border-color:rgba(34,197,94,.42)!important;background:rgba(34,197,94,.14)!important;color:#a7f3d0!important;}
#view .v121019-day.blank{visibility:hidden!important;}

@media (max-width:430px){
  #view .v121019-action{font-size:10px!important;padding:0 4px!important;}
  #view .v121019-action-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #view .v121019-main-image{height:clamp(185px,54vw,230px)!important;}
  #view .v121019-day{height:39px!important;min-height:39px!important;font-size:12px!important;}
}
@media (max-width:360px){
  #view .v121019-action-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
  #view .v121019-action{font-size:9.5px!important;border-radius:9px!important;}
  #view .v121019-quick-actions{grid-template-columns:1fr 1fr!important;}
}

/* V12.10.20 — componentes comprovados: anti-remendo visual */
.vf20-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px;margin:8px 0 12px;border:1px solid rgba(255,106,0,.26);border-radius:18px;background:linear-gradient(135deg,#141414,#232323);box-shadow:0 14px 32px rgba(0,0,0,.22)}
.vf20-titlebar>div{min-width:0;flex:1}.vf20-titlebar span{display:block;color:#ff6a00;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.vf20-titlebar h1{margin:2px 0 0;color:#fff;font-size:clamp(22px,6vw,34px);line-height:1.04;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:normal;hyphens:none}.vf20-back{width:38px;height:38px;min-width:38px;border:0;border-radius:999px;background:#ff6a00;color:#111;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 8px 18px rgba(255,106,0,.28)}
.vf20-owner-head{position:relative}.vf20-owner-head .vf20-back{margin-left:auto}.vf20-owner-grid .owner-tile b,.owner-grid .owner-tile b,.vf-product-title-clamp,.vf20-shop-body h2,.vf20-product-main b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.1}.vf20-two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.vf20-two-actions .btn{height:42px;min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.vf20-product-list{display:grid;gap:12px}.vf20-product-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.vf20-product-main{border:0;background:transparent;color:#fff;text-align:left;min-width:0;flex:1}.vf20-product-main small{display:block;color:#b8b8b8;margin-top:4px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vf20-product-side{min-width:94px;text-align:right}.vf20-product-side small{display:block;color:#999}.vf20-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.vf20-action{height:34px;min-height:34px;padding:0 8px;border:0;border-radius:10px;background:#ff6a00;color:#111;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;white-space:nowrap;text-align:center}.vf20-action.dark{background:#2b2b2b;color:#fff}.vf20-action.danger{background:#ef4444;color:#fff}.vf20-action.whats{background:#22c55e;color:#041007}.vf20-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vf20-shop-card{border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);overflow:hidden;min-width:0}.vf20-cover,.vf20-form-cover{width:100%;aspect-ratio:16/9;background:#111;border-radius:16px;border:1px solid rgba(255,106,0,.25);overflow:hidden;display:flex;align-items:center;justify-content:center}.vf20-cover img,.vf20-form-cover img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.vf20-shop-body{padding:10px;display:grid;gap:6px}.vf20-shop-body h2{font-size:15px;font-weight:900;color:#fff;margin:0;min-height:34px}.vf20-shop-body strong{color:#ff6a00}.vf20-form-cover{margin-bottom:10px}.vf20-form-cover>div{color:#888;font-weight:800}.v121019-action-row,.v121018-exercise-actions,.v121019-ex-actions,.owner-user-actions{align-items:center}.v121019-action-row .v121019-action,.v121019-quick-actions .v121019-action{min-width:0}.owner-user-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.owner-user-actions .btn,.owner-user-actions .owner-whats{height:34px;min-height:34px;padding:0 6px;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.student-grid .tile b,.compact-grid .tile b{word-break:normal;overflow-wrap:normal;hyphens:none}.student-grid .tile small,.compact-grid .tile small{word-break:normal;overflow-wrap:normal;hyphens:none}.vf20-metrics .owner-metric small{word-break:normal}.app-shell,#view{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
@media(max-width:380px){.vf20-shop-grid{grid-template-columns:1fr}.vf20-action{font-size:11px;padding:0 5px}.owner-user-actions{gap:5px}.owner-user-actions .btn,.owner-user-actions .owner-whats{font-size:11px}.vf20-titlebar h1{font-size:22px}}

/* QC — Correção única controlada dos erros comprovados */
:root{--qc-safe-bottom:calc(138px + env(safe-area-inset-bottom));}
#view,.app-shell,.shell,.screen{padding-bottom:var(--qc-safe-bottom)!important;}
#view section:last-child,#view .qc-list:last-child,#view .qc-shop-grid:last-child{margin-bottom:calc(72px + env(safe-area-inset-bottom))!important;}

#view .qc-titlebar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:8px 0 12px!important;padding:13px 14px!important;border-radius:18px!important;border:1px solid rgba(255,106,0,.32)!important;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),#15181f!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important;min-height:78px!important;overflow:hidden!important;}
#view .qc-titlebar>div{min-width:0!important;flex:1!important;}
#view .qc-titlebar span{display:block!important;color:#ff6a00!important;font-size:11px!important;line-height:1!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.16em!important;margin-bottom:5px!important;}
#view .qc-titlebar h1{margin:0!important;color:#fff!important;font-size:clamp(21px,5.25vw,30px)!important;line-height:1.02!important;font-weight:1000!important;letter-spacing:-.045em!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;max-width:100%!important;}
#view .qc-back{width:42px!important;height:42px!important;min-width:42px!important;border-radius:999px!important;border:0!important;background:#ff6a00!important;color:#0b0b0b!important;font-size:28px!important;line-height:1!important;font-weight:1000!important;display:grid!important;place-items:center!important;box-shadow:0 10px 20px rgba(255,106,0,.32)!important;padding:0!important;}
#view .qc-owner-head .qc-back{margin-left:auto!important;}
#view .qc-owner-head h1{font-size:clamp(28px,7vw,48px)!important;line-height:1.02!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;word-break:normal!important;hyphens:none!important;}

#view .qc-two-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:10px 0 12px!important;align-items:center!important;}
#view .qc-two-actions.compact{margin:8px 0 0!important;}
#view .qc-two-actions .btn,#view .qc-two-actions .qc-action{height:40px!important;min-height:40px!important;max-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:0 10px!important;border-radius:12px!important;}
#view .qc-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}

#view .qc-shop-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important;}
#view .qc-product-card{width:100%!important;min-width:0!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.10)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),#151922!important;box-shadow:0 16px 36px rgba(0,0,0,.24)!important;overflow:hidden!important;display:grid!important;gap:0!important;}
#view .qc-product-cover{width:100%!important;aspect-ratio:16/9!important;height:auto!important;min-height:auto!important;background:#080808!important;display:grid!important;place-items:center!important;overflow:hidden!important;border-radius:0!important;border:0!important;}
#view .qc-product-cover.detail{border-radius:16px!important;border:1px solid rgba(255,106,0,.26)!important;margin-bottom:10px!important;}
#view .qc-product-cover img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;background:#080808!important;border-radius:0!important;}
#view .qc-product-info{display:grid!important;gap:6px!important;padding:14px!important;}
#view .qc-product-info h2,#view .qc-product-detail h2{margin:0!important;font-size:clamp(18px,5vw,26px)!important;line-height:1.05!important;font-weight:1000!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;word-break:normal!important;hyphens:none!important;}
#view .qc-product-info p,#view .qc-product-detail p{margin:0!important;color:var(--color-text-2)!important;line-height:1.25!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#view .qc-product-info strong{font-size:clamp(24px,7vw,42px)!important;color:#ff6a00!important;line-height:1!important;}
#view .qc-product-info small{color:var(--color-text-2)!important;}
#view .qc-action,#view .qc-mini{height:36px!important;min-height:36px!important;border-radius:11px!important;border:1px solid rgba(255,255,255,.12)!important;background:#242a33!important;color:#fff!important;font-size:12px!important;font-weight:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;padding:0 8px!important;}
#view .qc-action.orange,#view .qc-mini.orange{background:#ff6a00!important;color:#111!important;border-color:#ff6a00!important;}
#view .qc-action.whats,#view .qc-mini.whats{background:rgba(34,197,94,.16)!important;color:#a7f3d0!important;border-color:rgba(34,197,94,.40)!important;}
#view .qc-mini.dark,#view .qc-action.dark{background:#242a33!important;color:#fff!important;}
#view .qc-mini.danger,#view .qc-action.danger{background:rgba(239,68,68,.18)!important;color:#fecaca!important;border-color:rgba(239,68,68,.42)!important;}
#view .qc-mini-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:7px!important;}
#view .qc-line-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.10)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),#151922!important;min-width:0!important;}
#view .qc-line-main{min-width:0!important;flex:1!important;border:0!important;background:transparent!important;color:#fff!important;text-align:left!important;padding:0!important;}
#view .qc-line-main b,#view .qc-line-card b{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;line-height:1.1!important;font-weight:1000!important;word-break:normal!important;hyphens:none!important;}
#view .qc-line-main small,#view .qc-line-card small{display:block!important;margin-top:4px!important;color:var(--color-text-2)!important;line-height:1.22!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#view .qc-line-side{min-width:104px!important;text-align:right!important;}
#view .qc-form-cover{width:100%!important;aspect-ratio:16/9!important;border-radius:16px!important;background:#080808!important;border:1px solid rgba(255,106,0,.28)!important;overflow:hidden!important;display:grid!important;place-items:center!important;margin-bottom:10px!important;}
#view .qc-form-cover img{width:100%!important;height:100%!important;object-fit:contain!important;background:#080808!important;display:block!important;}

#view .qc-flow-card .qc-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
#view .qc-flow-card h2{margin:0!important;}
#view .qc-status{height:32px!important;padding:0 12px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:1000!important;font-size:12px!important;white-space:nowrap!important;}
#view .qc-status.none{background:rgba(148,163,184,.12)!important;color:#cbd5e1!important;border:1px solid rgba(148,163,184,.28)!important;}
#view .qc-status.sent{background:rgba(245,158,11,.13)!important;color:#fcd34d!important;border:1px solid rgba(245,158,11,.36)!important;}
#view .qc-status.done{background:rgba(34,197,94,.14)!important;color:#a7f3d0!important;border:1px solid rgba(34,197,94,.38)!important;}
#view .qc-collage{display:block!important;width:100%!important;height:auto!important;max-height:560px!important;object-fit:contain!important;border-radius:16px!important;background:#090909!important;}

#view .qc-calendar-card{margin-bottom:calc(var(--qc-safe-bottom) - 30px)!important;overflow:visible!important;}
#view .qc-month-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:10px!important;align-items:center!important;margin-bottom:10px!important;}
#view .qc-month-row b{text-align:center!important;text-transform:capitalize!important;font-size:16px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#view .qc-week,#view .qc-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;width:100%!important;}
#view .qc-week{margin:10px 0 7px!important;}
#view .qc-week span{text-align:center!important;color:var(--color-text-2)!important;font-size:10px!important;font-weight:1000!important;}
#view .qc-day{height:42px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;font-size:13px!important;font-weight:1000!important;display:grid!important;place-items:center!important;padding:0!important;}
#view button.qc-day{cursor:pointer!important;}
#view .qc-day.done{border-color:rgba(34,197,94,.42)!important;background:rgba(34,197,94,.16)!important;color:#a7f3d0!important;}
#view .qc-day.blank{visibility:hidden!important;}
#view .qc-rank-card{display:grid!important;grid-template-columns:54px minmax(0,1fr) minmax(90px,130px)!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.10)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),#151922!important;}
#view .qc-student-card{padding:12px!important;}
#view .qc-student-card .trainer-student-main{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;}
#view .qc-student-card b{font-size:16px!important;line-height:1.1!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#view .qc-payment-card h2{font-size:clamp(22px,6vw,34px)!important;line-height:1.05!important;}

@media(max-width:430px){
  #view .qc-titlebar{min-height:72px!important;padding:12px!important;}
  #view .qc-titlebar h1{font-size:clamp(20px,5.1vw,26px)!important;}
  #view .qc-back{width:40px!important;height:40px!important;min-width:40px!important;}
  #view .qc-line-card{align-items:flex-start!important;}
  #view .qc-line-side{min-width:92px!important;}
  #view .qc-rank-card{grid-template-columns:48px minmax(0,1fr)!important;}
  #view .qc-rank-card .qc-mini-row{grid-column:1/-1!important;}
  #view .qc-day{height:39px!important;font-size:12px!important;}
}
