:root{--green:#0d9878;--ink:#132820;--muted:#71817b;--line:#e8edea;--bg:#f7f9f7;--white:#fff;--soft:#eaf8f1;--radius:22px;--shadow:0 14px 40px rgba(22,68,47,.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5cc5a7;outline-offset:2px}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px;color:var(--muted)}.small{font-size:14px}.medium{font-size:15px}.w700{font-weight:700}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--green)}.tag{display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:800;padding:8px 12px;border-radius:20px;background:#f2f7f3;color:#486757}.pill{border:1px solid #dce8e1;border-radius:30px;background:#fff;padding:10px 17px;font-size:13px;font-weight:750;transition:all .15s;white-space:nowrap}.pill.active,.pill:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;background:var(--green);color:#fff;font-weight:750;font-size:14px;padding:13px 20px;border-radius:13px;transition:transform .14s,filter .14s;min-height:44px}.btn:hover{filter:brightness(.94);transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:#dce6df;color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{border-color:#bedad0;background:transparent;color:var(--green)}.btn-sm{padding:10px 13px;min-height:38px;font-size:13px}.btn:disabled{opacity:.6;cursor:wait}.brand-logo{display:flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:14px;object-fit:contain;background:#dff5e8;color:#0f7f63;font-size:19px;font-weight:900;overflow:hidden;flex:none}.brand-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.brand-info{min-width:0}.brand-name{font-weight:850;letter-spacing:-.035em;font-size:19px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:270px}.brand-sub{font-size:11px;color:#819489;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.store-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.header-content{min-height:89px;display:flex;align-items:center;gap:16px}.header-spacer{flex:1}.header-link{color:#657b6f;font-size:13px;font-weight:750;padding:8px 12px}.mini-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#41bb82;margin-right:7px}.banner-demo{background:#fff9e5;color:#7a601f;border:1px solid #f3e7b5;border-radius:12px;padding:12px 16px;font-size:13px;margin-top:23px;line-height:1.55}.hero{display:grid;grid-template-columns:1.26fr .74fr;gap:24px;margin-top:28px}.hero-main{background:linear-gradient(116deg,#e8f7ee 0%,#f5fbf7 60%,#edf7ef 100%);border:1px solid #e2f0e7;border-radius:25px;min-height:304px;padding:44px 49px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-main:after{content:'';position:absolute;width:330px;height:330px;border:58px solid rgba(53,183,121,.055);border-radius:100%;top:-144px;right:-120px}.hero h1{font-family:Manrope, sans-serif;font-size:clamp(32px,3.9vw,51px);letter-spacing:-.063em;line-height:1.14;margin:13px 0 14px;max-width:550px;font-weight:800;position:relative;z-index:1}.hero-description{color:#628172;font-size:15px;max-width:440px;line-height:1.6;margin:0 0 23px;position:relative;z-index:1}.hero-aside{background:#113529;color:#fff;border-radius:25px;padding:35px 33px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:304px}.hero-aside:after{content:'';position:absolute;border:45px solid rgba(136,232,182,.07);width:250px;height:250px;border-radius:50%;right:-110px;bottom:-185px}.aside-icon{background:#244e3a;border:1px solid #396450;border-radius:14px;display:flex;align-items:center;justify-content:center;width:52px;height:52px;color:#ceffde;font-size:24px}.hero-aside h2{font-size:25px;line-height:1.25;letter-spacing:-.045em;margin:16px 0 9px}.hero-aside p{font-size:14px;color:#b6d3c1;line-height:1.5;margin:0}.hero-aside a{font-size:14px;align-self:flex-start;margin-top:22px;color:#b4f7cb;font-weight:750;border-bottom:1px solid #8dd3a5;padding-bottom:6px;z-index:1}.section-title{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-.047em;margin:0;line-height:1.3}.section-intro{margin:0 0 20px;color:#809187;font-size:14px;line-height:1.55}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.catalog{margin-top:43px;padding-bottom:80px}.categories{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.category-button{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e2eae5;padding:14px 23px;border-radius:14px;font-weight:800;color:#547366;box-shadow:0 2px 4px rgba(0,0,0,.018)}.category-button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.category-icon{font-size:18px}.filter-label{color:#6b8175;font-size:13px;font-weight:750;margin:0 0 12px}.model-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;min-height:40px}.products-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.products-header h3{font-size:20px;letter-spacing:-.035em;margin:0}.products-count{background:#ebf6ee;border-radius:20px;color:#2b906d;font-size:13px;font-weight:800;padding:7px 12px}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product{border:1px solid #e6ede9;background:#fff;border-radius:21px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s}.product:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-media{height:225px;background:#f2f5f2;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:20px}.product-media.no-photo:after{content:'Foto do produto';color:#9aaba0;font-size:13px;position:absolute;bottom:30px}.product-phone{font-size:74px;opacity:.6}.discount{position:absolute;left:12px;top:12px;background:#e1f7e9;color:#228656;font-size:11px;font-weight:850;padding:8px 10px;border-radius:9px}.video-indicator{position:absolute;top:13px;right:12px;display:inline-flex;gap:4px;align-items:center;background:#202f29e6;color:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}.product-body{padding:18px 16px 16px;display:flex;flex-direction:column;flex:1}.product-type{font-size:10px;text-transform:uppercase;color:#91a197;letter-spacing:.09em;font-weight:800}.product-title{font-size:15px;line-height:1.4;margin:7px 0 13px;letter-spacing:-.02em;min-height:42px;font-weight:850}.old-price{font-size:12px;color:#a3b1a8;text-decoration:line-through;min-height:18px}.price{font-family:Manrope,sans-serif;font-size:22px;font-weight:850;letter-spacing:-.05em;margin:0 0 16px}.product-body .btn{width:100%;margin-top:auto;font-size:12px}.empty{border:1px dashed #d7e4da;background:#fff;text-align:center;border-radius:21px;padding:42px;color:#678273;grid-column:1/-1}.empty h3{margin:0 0 7px;color:#193a2b}.store-footer{border-top:1px solid #e4ece6;padding:26px 0;background:#fff}.store-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8a9a90;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#102219b3;display:grid;place-items:center;padding:24px;z-index:50}.modal{width:min(500px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 90px #0003}.modal-head{display:flex;justify-content:space-between;gap:10px}.close{border:0;background:#eff5ef;width:36px;height:36px;border-radius:10px;font-size:22px}.modal video,.modal img{width:100%;max-height:360px;object-fit:contain;background:#f2f5f2;border-radius:13px;margin:16px 0}
/* Painel do lojista */
.login-shell{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr}.login-visual{background:radial-gradient(circle at 90% 100%,#237657 0%,transparent 48%),linear-gradient(160deg,#0c3325,#18553c);padding:65px;display:flex;flex-direction:column;color:#fff}.logo-m1x{letter-spacing:-.06em;font-weight:900;font-family:Manrope,sans-serif;font-size:28px}.logo-m1x span{color:#9cf4b4}.login-visual h1{font-family:Manrope,sans-serif;font-size:clamp(35px,4vw,57px);letter-spacing:-.065em;line-height:1.2;max-width:510px;margin:auto 0 24px}.login-visual p{color:#b4d1bd;line-height:1.6;max-width:420px}.login-proof{border:1px solid #4a886a;background:#ffffff0a;border-radius:15px;padding:20px 25px;margin-top:auto;display:flex;justify-content:space-between;gap:15px;color:#d7f6df;font-size:13px}.login-main{padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-card{width:min(435px,100%)}.auth-card h2{font-size:32px;letter-spacing:-.055em;margin:14px 0 8px}.auth-card p{color:#71867a;line-height:1.55;font-size:14px;margin:0 0 26px}.auth-tabs{display:flex;gap:5px;background:#eaf0eb;border-radius:14px;padding:5px;margin-bottom:25px}.auth-tabs button{flex:1;border:0;background:none;padding:11px 14px;border-radius:11px;font-size:13px;color:#6d8275;font-weight:800}.auth-tabs button.active{background:#fff;box-shadow:0 2px 8px #244c2412;color:#153f2a}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.form-field label{font-weight:750;color:#3c574a;font-size:13px}.form-field input,.form-field select{border:1px solid #dce5df;min-height:45px;border-radius:11px;background:#fff;padding:11px 13px;width:100%;outline:none;color:#254234}.form-field input:focus,.form-field select:focus{border-color:#67bca0;box-shadow:0 0 0 3px #55bf9a17}.form-field input[type=color]{padding:4px;width:65px}.form-field small{color:#87978e;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.auth-card .btn{width:100%;margin-top:8px}.auth-note{text-align:center;font-size:13px;margin-top:24px}.auth-note a{color:#0b9875;font-weight:750}
.dashboard{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{background:#102e23;color:#fff;display:flex;flex-direction:column;padding:27px 15px;position:sticky;top:0;height:100vh}.sidebar .logo-m1x{margin:0 16px 10px}.sidebar-caption{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#91b3a0;margin:15px 16px 9px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.side-link{background:transparent;color:#a6c4b2;text-align:left;border:0;border-radius:12px;padding:13px 16px;font-weight:750;font-size:13px;display:flex;align-items:center;gap:12px;width:100%}.side-link.active{background:#23503a;color:white}.side-link:hover{background:#23503a;color:white}.side-ico{font-size:18px;width:22px;text-align:center}.side-bottom{margin-top:auto;padding:15px 10px 3px;border-top:1px solid #2d5140}.account-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}.account-email{color:#91b3a0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0 15px}.side-bottom button{font-size:12px;padding:8px 10px;border:1px solid #3c6550;border-radius:8px;background:none;color:#b7d4bf;cursor:pointer}.dashboard-content{padding:37px min(5vw,65px) 60px;max-width:1550px;width:100%}.admin-head{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:31px}.admin-head h1{font-family:Manrope,sans-serif;font-size:30px;margin:5px 0;letter-spacing:-.05em}.admin-head p{color:#7d8f84;font-size:14px;margin:0}.panel{border:1px solid #e6ece7;border-radius:18px;background:#fff;padding:26px 28px;box-shadow:0 4px 20px #193d2710;margin-bottom:22px}.panel h2{font-size:19px;margin:0 0 8px;letter-spacing:-.025em}.panel p{margin:0 0 19px;font-size:13px;line-height:1.6;color:#7d9282}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.stat{background:#fff;border:1px solid #e7ede7;border-radius:16px;padding:23px}.stat-ico{display:inline-grid;place-items:center;background:#e6f7eb;width:36px;height:36px;border-radius:10px;font-size:19px;margin-bottom:15px}.stat h3{font-size:34px;font-family:Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 4px}.stat p{font-size:13px;color:#87988b;margin:0}.two-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.linkbox{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f4f8f4;padding:10px 12px;border:1px solid #e4ece3;border-radius:11px;min-width:0}.linkbox code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#44715a;font-size:12px}.brand-settings-head{display:flex;align-items:center;gap:15px;margin-bottom:19px;padding-bottom:19px;border-bottom:1px solid #edf2ee}.logo-preview{width:72px;height:72px;border:1px dashed #bdcfbe;border-radius:17px;background:#f2f8f2;display:grid;place-items:center;overflow:hidden;color:#498365;font-size:11px}.logo-preview img{width:100%;height:100%;object-fit:contain}.upload-row{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:5px 0 25px}.upload-row input[type=file]{max-width:240px;font-size:12px}.code-field{font-family:ui-monospace,SFMono-Regular,monospace!important;font-size:12px!important}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.mapping{margin-top:18px;background:#f8faf8;border-radius:14px;border:1px solid #edf2eb;padding:17px 18px}.mapping summary{cursor:pointer;font-weight:800;font-size:13px;color:#3b6450}.mapping .form-grid{padding-top:22px}.info-banner{background:#eaf6ee;border:1px solid #d2ebdc;border-radius:12px;padding:13px 16px;color:#3d7655;font-size:13px;line-height:1.6;margin:18px 0}.error-banner{background:#fff1ed;border:1px solid #fadace;border-radius:11px;padding:13px 15px;color:#ac5b3e;font-size:13px}.success-banner{background:#eaf7eb;border:1px solid #bfe9d1;border-radius:11px;padding:13px 15px;color:#16774a;font-size:13px}.sync-info{font-size:12px;color:#6e8477;padding:11px 0}.split-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-mobile-header{display:none}.boot{height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:8px;color:#87998c}.loader{width:27px;height:27px;border:3px solid #d9eee0;border-top-color:#17a17b;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{display:none;position:fixed;bottom:24px;right:24px;background:#1d382c;color:#fff;border-radius:12px;padding:14px 18px;font-size:13px;z-index:110;box-shadow:0 10px 34px #0003;max-width:360px}#toast.show{display:block}#toast.error{background:#963d30}
@media(max-width:1100px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}.two-cols{grid-template-columns:1fr}.login-visual{padding:45px}.dashboard-content{padding:35px}}
@media(max-width:760px){.wrap{width:min(100% - 28px,560px)}.header-content{min-height:74px}.header-link{display:none}.brand-logo{width:39px;height:39px}.brand-name{font-size:16px;max-width:175px}.header-content .btn{font-size:12px;padding:10px 12px}.hero{grid-template-columns:1fr;gap:11px;margin-top:15px}.hero-main{min-height:256px;padding:28px}.hero h1{font-size:36px}.hero-aside{min-height:160px;padding:24px}.hero-aside h2{font-size:21px;margin:5px 0}.hero-aside p{font-size:12px}.hero-aside .aside-icon{display:none}.hero-aside a{margin-top:12px}.catalog{margin-top:34px}.section-title{font-size:24px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-media{height:182px}.product-media img{padding:11px}.product-body{padding:14px 12px}.product-title{font-size:13px}.price{font-size:19px}.product-body .btn{font-size:11px;padding:10px 5px}.category-button{padding:12px 15px}.pill{padding:9px 13px;font-size:12px}.store-footer .wrap{flex-direction:column;align-items:flex-start}.login-shell{grid-template-columns:1fr}.login-visual{padding:25px;min-height:150px}.login-visual h1{font-size:23px;margin:17px 0 5px}.login-visual p{font-size:12px;margin:0}.login-proof{display:none}.login-main{padding:34px 22px;min-height:calc(100vh - 180px)}.auth-card h2{font-size:26px}.dashboard{display:block}.sidebar{position:static;width:100%;height:auto;min-height:0;padding:15px}.sidebar .logo-m1x{display:none}.sidebar-caption,.side-bottom{display:none}.sidebar nav{flex-direction:row;overflow:auto}.side-link{white-space:nowrap;padding:11px 13px}.side-ico{display:none}.dashboard-content{padding:24px 15px}.admin-head{flex-direction:column;align-items:flex-start;gap:15px}.admin-head h1{font-size:25px}.panel{padding:21px 17px}.form-grid,.key-grid{grid-template-columns:1fr;gap:0}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:13px}.stat h3{font-size:25px}.stat p{font-size:11px}.stat-ico{font-size:16px;width:30px;height:30px}.modal{padding:18px}}
@media(max-width:380px){.products{grid-template-columns:1fr}.product-media{height:230px}.header-content{gap:8px}.hero h1{font-size:31px}.stat-grid{grid-template-columns:1fr 1fr}}

/* Vitrine M1X v2 — tema monocromático, vitrine direta e sem banners */
:root {
  --green: #f5f5f5;
  --ink: #f5f5f5;
  --muted: #9b9b9f;
  --line: #27272a;
  --bg: #080809;
  --white: #141416;
  --soft: #202023;
  --shadow: 0 20px 48px rgba(0,0,0,.34);
}
html { color-scheme: dark; }
body { background: #080809; color: #f5f5f6; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline: 2px solid #f8f8f8;
  outline-offset: 3px;
}
.muted,.tiny { color:#9a9a9e; }
.eyebrow { color:#bbbcc1; }
.btn { background:#f4f4f5; color:#101012; border-color:#f4f4f5; }
.btn:hover { background:#fff; filter:none; }
.btn-secondary,.btn-outline { background:#202023; color:#fafafa; border-color:#414146; }
.btn-secondary:hover,.btn-outline:hover { background:#313135; }
.btn-dark { background:#f4f4f5; color:#090909; }
.tag { background:#252528; color:#d2d2d5; }
.brand-logo { background:linear-gradient(135deg,#29292d,#141416); border:1px solid #39393d; color:#fff; border-radius:13px; }
.brand-logo img { padding:4px; }
.brand-name { color:#f8f8f8; }
.store-header {
  background:#0a0a0beb;
  border-bottom:1px solid #252527;
  backdrop-filter: blur(15px);
  position:sticky;
  top:0;
  z-index:10;
}
.header-content { min-height:82px; }
.header-admin { color:#b8b8bd; font-weight:700; font-size:12px; padding:11px 0 11px 14px; }
.header-admin:hover { color:#fff; }
.storefront-main { min-height:calc(100vh - 172px); }
.catalog { margin-top:0; padding-top:43px; padding-bottom:85px; }
.selection-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.selection-prompt {
  color:#f6f6f7;
  font-size:clamp(17px, 2vw, 23px);
  font-weight:750;
  letter-spacing:-.035em;
  margin:0;
  line-height:1.5;
}
.demo-label { color:#97979d; border:1px solid #343438; border-radius:99px; font-size:11px; padding:6px 11px; letter-spacing:.01em; }
.categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 30px; }
.category-button {
  justify-content:center;
  min-height:68px;
  border:1px solid #49494f;
  border-radius:15px;
  padding:18px 20px;
  font-size:17px;
  font-weight:850;
  letter-spacing:-.025em;
  color:#f5f5f7;
  background:linear-gradient(140deg,#242426,#171719);
  box-shadow:none;
  transition:background .15s,transform .15s,border-color .15s;
}
.category-button:hover { background:#303034; border-color:#838388; }
.category-button.active,
.category-button.active:hover { background:#f5f5f5; color:#0b0b0d; border-color:#f5f5f5; }
.models-area { margin:0 0 34px; }
.models-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; color:#e7e7e9; font-size:14px; font-weight:800; }
.models-hint { color:#88888e; font-size:12px; font-weight:500; }
.model-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; min-height:47px; }
.pill {
  min-height:44px;
  border:1px solid #56565c;
  border-radius:12px;
  background:#242426;
  color:#ededee;
  font-weight:750;
  font-size:13px;
  padding:11px 17px;
  transition: background .14s,border-color .14s,transform .14s;
}
.pill:hover { background:#3c3c40; border-color:#aaaab0; color:#fff; }
.pill.active,.pill.active:hover { color:#101012; background:#f5f5f5; border-color:#f5f5f5; }
.products-header { border-top:1px solid #2a2a2e; padding-top:29px; margin-bottom:18px; }
.products-header h2 { font-size:19px; font-weight:800; letter-spacing:-.04em; margin:0; }
.products-count { background:#232326; color:#dddddf; border:1px solid #353539; border-radius:99px; padding:6px 12px; font-size:12px; }
.products { gap:17px; }
.product { background:#151516; border:1px solid #2d2d31; border-radius:18px; transition:border-color .2s,transform .2s; }
.product:hover { border-color:#67676e; box-shadow:0 16px 35px #0006; }
.product-media { background:radial-gradient(circle at 50% 40%,#27272b 0%,#1b1b1e 75%); }
.product-media img { mix-blend-mode:normal; }
.product-media.no-photo:after { color:#7d7d82; }
.product-phone { color:#b5b5bb; }
.product-body { padding:17px 16px; }
.product-type { color:#94949b; }
.product-title { color:#f0f0f1; }
.old-price { color:#89898e; }
.price { color:#fff; }
.discount { background:#f1f1f2; color:#141416; }
.video-indicator { background:#050506e8; border:1px solid #4a4a4e; }
.product-body .btn { border-radius:11px; font-weight:850; }
.empty { background:#141416; border-color:#444449; color:#a0a0a5; }
.empty h3 { color:#eee; }
.store-footer { border-top:1px solid #252528; padding:22px 0; background:#09090a; }
.store-footer .wrap { color:#77777c; font-size:12px; }
.modal-backdrop { background:#000c; }
.modal { background:#171719; color:#f9f9f9; border:1px solid #353538; }
.close { background:#303034; color:#eee; }
.modal video,.modal img { background:#262629; }

/* Área privada com a mesma identidade preto / branco / cinza */
.login-visual { background:radial-gradient(circle at 80% 105%,#303034,transparent 52%),linear-gradient(155deg,#080809,#202024); }
.logo-m1x span { color:#fff; }
.login-visual p,.login-proof,.sidebar-caption,.account-email { color:#a2a2a8; }
.login-proof { border-color:#49494f; }
.login-main,.dashboard-content { background:#0a0a0b; }
.auth-card p,.admin-head p,.panel p,.stat p { color:#99999f; }
.auth-tabs { background:#262629; }
.auth-tabs button { color:#babac0; }
.auth-tabs button.active { background:#eee; color:#0b0b0d; box-shadow:none; }
.form-field label { color:#e4e4e6; }
.form-field input,.form-field select { background:#222225; border-color:#444448; color:#fff; }
.form-field input:focus,.form-field select:focus { border-color:#f5f5f5; box-shadow:0 0 0 2px #ffffff12; }
.form-field input::placeholder { color:#8c8c92; }
.form-field small { color:#98989e; }
.auth-note a { color:#fff; text-decoration:underline; }
.sidebar { background:#111113; border-right:1px solid #29292d; }
.side-link { color:#b7b7bc; }
.side-link.active,.side-link:hover { background:#303034; color:#fff; }
.side-bottom { border-top-color:#34343a; }
.side-bottom button { border-color:#55555b; color:#ddd; }
.panel,.stat { background:#171719; border-color:#323237; box-shadow:none; }
.stat-ico { background:#353539; }
.linkbox { background:#232326; border-color:#414146; }
.linkbox code { color:#e8e8eb; }
.brand-settings-head { border-bottom-color:#343438; }
.logo-preview { background:#252528; border-color:#56565c; color:#ddd; }
.mapping { background:#202023; border-color:#39393f; }
.mapping summary { color:#eee; }
.info-banner,.success-banner { background:#202023; border-color:#414145; color:#cfcfd3; }
.error-banner { background:#382423; border-color:#75413f; color:#ffc6c1; }
.sync-info { color:#a2a2a8; }
.brand-mini-preview { background:#0b0b0d; border:1px solid #35353a; border-radius:16px; padding:25px; }
.brand-mini-preview p { color:#f0f0f1; margin:26px 0 14px; font-size:14px; }
.mini-categories { display:flex; gap:8px; }
.mini-category { flex:1; border:1px solid #64646a; border-radius:9px; padding:10px; text-align:center; color:#fff; background:#29292d; font-size:12px; }
.mini-category.active { background:#eee; color:#111; }
.mini-models { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.mini-models span { background:#28282c; border:1px solid #54545a; border-radius:8px; padding:8px; font-size:11px; color:#eee; }
.banner-demo { background:#2a2720; border-color:#4b4539; color:#e2d3ae; }
.boot { color:#aaa; }
.loader { border-color:#333; border-top-color:#eee; }
#toast { background:#f2f2f3; color:#111; }
#toast.error { background:#69302c; color:#fff; }
@media (max-width:760px) {
  .header-content { min-height:70px; }
  .header-admin { font-size:11px; }
  .catalog { padding-top:29px; padding-bottom:60px; }
  .selection-header { margin-bottom:22px; }
  .selection-prompt { font-size:17px; line-height:1.4; }
  .categories { gap:10px; margin-bottom:27px; }
  .category-button { min-height:58px; padding:12px; font-size:15px; }
  .models-area { margin-bottom:29px; }
  .model-filters { gap:8px; }
  .pill { min-height:41px; padding:10px 12px; font-size:12px; }
  .products-header { padding-top:23px; }
  .products-header h2 { font-size:17px; }
  .product-media { height:170px; }
  .product-body { padding:13px 12px; }
  .brand-mini-preview { padding:17px; }
}
@media (max-width:380px) {
  .product-media { height:225px; }
}

/* Foto: fallback discreto se a URL da API estiver inacessível. */
.product-media img { position:absolute; inset:0; z-index:1; }
.product-media .product-phone {
  width:75px; height:136px; border:4px solid #5a5a61;
  border-radius:17px; display:block; flex:none; opacity:.43; position:relative;
}
.product-media .product-phone:before {
  content:''; position:absolute; top:7px; left:50%; transform:translateX(-50%);
  width:23px; height:5px; border-radius:99px; background:#73737c;
}
.product-media.loaded .product-phone { visibility:hidden; }
.product-media.no-photo:after { content:none; }
.product-media .discount,.product-media .video-indicator { z-index:2; }

/* Observações do aparelho: visíveis sem interferir na navegação minimalista. */
.product-observation { margin:0 0 16px; padding:10px 11px; background:#252529; border:1px solid #424247; border-radius:10px; color:#e3e3e6; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.product-observation strong,.modal-observation strong { display:block; color:#f7f7f8; font-size:12px; margin-bottom:5px; }
.product-observation p,.modal-observation p { margin:0; white-space:pre-wrap; }
.modal-observation { background:#252529; border:1px solid #424247; border-radius:12px; color:#dddde0; font-size:13px; line-height:1.5; padding:13px 15px; margin:12px 0 16px; overflow-wrap:anywhere; }

/* Tipos de produtos – painel all black */
.type-entry{display:grid;grid-template-columns:1fr 1.2fr auto;gap:12px;align-items:end;border-bottom:1px solid #343438;padding:12px 0}
.type-entry .form-field{margin:0}
.type-entry .btn{margin-bottom:0}
.type-request-example{background:#111113;border:1px solid #39393f;border-radius:12px;padding:17px;color:#e9e9ec;font-size:13px;white-space:pre-wrap}
@media(max-width:700px){.type-entry{grid-template-columns:1fr 1fr}.type-entry .btn{grid-column:1 / -1}}

/* Topo com banner personalizável e logomarca PNG sem moldura — Vitrine M1X 3.0 */
.store-header {
  width:calc(100% - 24px);max-width:1800px;margin:14px auto 0;
  min-height:clamp(185px,21vw,290px);border:1px solid #242429;
  border-radius:17px;overflow:hidden;position:relative;top:auto;z-index:1;
  background:radial-gradient(circle at 75% 15%,#393536 0%,#141416 48%,#080809 95%);
  backdrop-filter:none;
}
.store-banner-img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;z-index:0;}
.store-header-shade {position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.38) 32%,rgba(0,0,0,0) 72%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 38%);}
.header-content {position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:clamp(185px,21vw,290px);padding:20px 30px;}
.header-brand {display:flex;align-items:center;justify-content:flex-start;max-width:65%;min-width:0;}
.brand-logo-img {display:block;width:auto;max-width:min(36vw,355px);height:auto;max-height:112px;object-fit:contain;object-position:left center;border:none;background:none;border-radius:0;box-shadow:none;padding:0;}
.brand-fallback {font-size:clamp(23px,3vw,42px);font-weight:850;color:#fff;letter-spacing:-.045em;line-height:1.1;text-shadow:0 3px 14px #0008;}
.header-admin {flex-shrink:0;color:#fff;background:#07070975;border:1px solid #ffffff4b;border-radius:14px;padding:12px 18px;font-weight:650;backdrop-filter:blur(9px);text-shadow:0 2px 8px #0009;}
.header-admin:hover {border-color:#eee;color:#fff;background:#171718d9;}
.brand-asset-upload {display:flex;align-items:center;gap:18px;margin:5px 0 25px;}
.brand-logo-preview {display:flex;align-items:center;justify-content:center;min-width:170px;width:170px;min-height:112px;padding:17px;background:#070708;border-radius:12px;border:1px dashed #55555a;}
.brand-logo-preview .brand-logo-img {width:auto;max-width:100%;max-height:75px;}
.brand-logo-preview .brand-fallback {font-size:19px;max-width:100%;overflow-wrap:anywhere;}
.brand-asset-controls {flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;}
.brand-asset-controls input[type=file],.banner-asset-upload input[type=file] {width:100%;max-width:100%;font-size:12px;}
.banner-asset-upload {display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:26px;}
.banner-upload-preview {width:100%;aspect-ratio:3.8/1;min-height:95px;background:linear-gradient(110deg,#09090a,#2a2a2f);border:1px solid #45454a;border-radius:13px;overflow:hidden;display:flex;justify-content:center;align-items:center;color:#89898d;font-size:12px;}
.banner-upload-preview img {display:block;width:100%;height:100%;object-fit:cover;}
.mini-hero {height:140px;position:relative;overflow:hidden;border:1px solid #343438;border-radius:12px;background:linear-gradient(110deg,#0c0c0d,#37373d);display:flex;align-items:center;justify-content:space-between;padding:15px;gap:6px;}
.mini-banner-img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mini-banner-shade {position:absolute;inset:0;background:linear-gradient(90deg,#000b,transparent 90%);}
.mini-brand,.mini-admin-pill {position:relative;z-index:1;}
.mini-brand {max-width:65%;display:flex;align-items:center;}
.mini-brand .brand-logo-img {max-width:180px;max-height:65px;}
.mini-brand .brand-fallback {font-size:20px;overflow-wrap:anywhere;}
.mini-admin-pill {font-size:9px;color:#fff;border:1px solid #ffffff55;padding:6px 8px;border-radius:9px;white-space:nowrap;background:#10101355;}
.brand-mini-preview p {margin-top:20px;}
@media(max-width:760px) {
 .store-header {width:calc(100% - 16px);margin-top:8px;min-height:178px;border-radius:13px;}
 .header-content {min-height:178px;padding:16px 19px;}
 .brand-logo-img {max-width:54vw;max-height:78px;}
 .header-admin {font-size:10px;padding:9px 10px;border-radius:10px;}
 .store-banner-img {object-position:60% center;}
 .store-header-shade {background:linear-gradient(90deg,#000b 0%,#0007 50%,#0002 100%);}
 .brand-asset-upload {align-items:stretch;flex-direction:column;}
 .brand-logo-preview {width:100%;height:104px;min-height:104px;}
 .mini-hero {height:125px;}
}
@media(max-width:390px) {
 .header-content {padding:14px;}
 .header-admin {font-size:9px;padding:8px;}
 .brand-logo-img {max-width:50vw;max-height:70px;}
 .brand-fallback {font-size:22px;}
}


/* IA Phone API — card clicável e página de detalhes (fotos sem cortes) */
.product-media-open { position:absolute;inset:0;display:block;z-index:1;overflow:hidden;cursor:zoom-in; }
.product-media-open img[data-product-image] { position:absolute;inset:0;width:100%;height:100%;padding:0;object-fit:cover;object-position:center;transform:scale(1.05);mix-blend-mode:normal; }
.media-open-label { position:absolute;bottom:11px;right:11px;background:#080809d9;border:1px solid #ffffff5a;border-radius:8px;padding:7px 11px;font-size:11px;font-weight:750;color:#fff;z-index:2; }
.media-video-open { position:absolute;bottom:11px;right:11px;background:#080809eb;border:1px solid #ffffff5a;border-radius:8px;padding:7px 11px;font-size:11px;font-weight:750;color:#fff;z-index:3; }
.product-media-open:focus-visible,.media-video-open:focus-visible { outline:2px solid #fff;outline-offset:-3px; }
.detail-store-header { border-bottom:1px solid #303035;background:#101012; }
.detail-topbar { min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0; }
.detail-store-brand .brand-logo-img { max-height:57px;max-width:220px; }
.detail-store-brand .brand-fallback { font-size:22px; }
.detail-return { font-size:13px;font-weight:750;color:#ededf0;padding:10px 13px;border-radius:10px;border:1px solid #505057;white-space:nowrap; }
.product-detail-main { padding:30px 0 86px; }
.detail-breadcrumb { display:flex;align-items:center;gap:10px;color:#9e9ea5;font-size:12px;margin-bottom:22px; }
.detail-breadcrumb a:hover { color:#fff; }
.product-detail-layout { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(22px,4vw,54px);align-items:start; }
.product-detail-gallery { min-width:0; }
.product-detail-media-frame { border:1px solid #333337;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#18181a,#0c0c0d);display:grid;place-items:center;min-height:330px;height:clamp(380px,54vw,625px); }
.product-detail-media-frame img { display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;padding:12px;transform:none!important;mix-blend-mode:normal; }
.product-detail-media-frame video { display:block;width:100%;height:100%;object-fit:contain;background:#09090b; }
.product-detail-media-frame .media-unavailable { color:#b9b9bd;padding:30px;text-align:center; }
.product-detail-media-tabs { display:flex;gap:9px;flex-wrap:wrap;margin-top:14px; }
.detail-media-note { color:#86868d;font-size:12px;line-height:1.5;margin:14px 0 0; }
.product-detail-right { min-width:0;padding:8px 0; }
.product-detail-right h1 { font-size:clamp(26px,3vw,39px);line-height:1.17;letter-spacing:-.055em;margin:11px 0 19px;overflow-wrap:anywhere; }
.detail-tags { display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px; }
.detail-tags span { color:#d8d8da;border:1px solid #404046;background:#202023;border-radius:8px;font-size:12px;font-weight:700;padding:6px 10px; }
.product-detail-price { font-size:clamp(29px,3vw,39px);font-weight:850;letter-spacing:-.05em;margin:4px 0 20px; }
.product-detail-note { background:#232327;border:1px solid #424248;border-radius:13px;padding:15px 17px;margin:12px 0 22px; }
.product-detail-note h2 { margin:0 0 7px;font-size:14px; }
.product-detail-note p { white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#dfdfe3;line-height:1.6;margin:0; }
.product-detail-cta { width:100%;margin-bottom:22px; }
.product-shop-info { border-top:1px solid #37373d;margin-top:22px;padding-top:24px; }
.product-shop-info>h2 { font-size:19px;letter-spacing:-.03em;margin:0 0 19px; }
.product-shop-info-list { display:grid;gap:16px; }
.product-shop-info-section { border:1px solid #303035;border-radius:13px;background:#19191b;padding:16px 17px; }
.product-shop-info-section h3 { margin:0 0 8px;font-size:14px;color:#fafafa; }
.product-shop-info-section p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.62;color:#bdbdc3;font-size:13px; }
.detail-error { padding:80px 0; }
.form-field textarea { font:inherit;box-sizing:border-box;width:100%;resize:vertical;min-height:65px;border:1px solid #444448;background:#222225;color:#fff;border-radius:11px;padding:12px 13px;line-height:1.5; }
.form-field textarea::placeholder { color:#8c8c92; }
.form-field textarea:focus-visible { outline:2px solid #f5f5f5;outline-offset:2px; }
@media(max-width:760px){
 .product-detail-layout { grid-template-columns:1fr;gap:23px; }
 .product-detail-main { padding:22px 0 55px; }
 .product-detail-media-frame { height:min(108vw,480px);min-height:260px; }
 .detail-topbar { min-height:76px; }
 .detail-store-brand .brand-logo-img { max-width:160px;max-height:50px; }
 .detail-return { font-size:12px;padding:10px; }
 .product-detail-right { padding-top:0; }
 .media-open-label { font-size:10px;padding:6px 8px; }
}

/* Favoritos da vitrine: por loja, sem login do comprador */
[hidden] { display:none!important; }
.products-header { align-items:center; flex-wrap:wrap; gap:12px; }
.products-header-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.catalog-tabs { display:flex; gap:6px; align-items:center; padding:4px; background:#1a1a1d; border:1px solid #38383d; border-radius:12px; }
.catalog-tab { display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; border:0; border-radius:9px; padding:9px 11px; font-size:12px; font-weight:750; background:transparent; color:#c3c3c9; }
.catalog-tab svg { width:16px; height:16px; }
.catalog-tab.active { background:#f2f2f3; color:#18181a; }
.catalog-tab:not(.active):hover { color:#fff; background:#303034; }
.catalog-tab .favorites-count { display:inline-flex; justify-content:center; align-items:center; min-width:20px; height:20px; padding:0 5px; font-size:11px; border-radius:10px; background:#3d3d42; color:#fff; }
.catalog-tab.active .favorites-count { background:#d8d8dd; color:#1c1c1e; }
.product-media .favorite-toggle { position:absolute; top:12px; right:12px; z-index:5; }
.favorite-toggle { display:flex; align-items:center; justify-content:center; width:39px; height:39px; border-radius:12px; border:1px solid #c4c4c966; background:#111114e8; color:#fff; cursor:pointer; transition:background .16s,color .16s,transform .16s; box-shadow:0 2px 8px #0004; }
.favorite-toggle:hover { transform:scale(1.06); background:#26262b; }
.favorite-toggle.is-favorite { color:#f43f5e; background:#fff; border-color:#fff; }
.favorite-toggle.is-favorite svg { fill:#f43f5e; stroke:#f43f5e; }
.favorite-toggle:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.product-media .video-indicator { right:59px; }
.favorites-empty .favorites-empty-heart { font-size:44px; line-height:1.2; color:#f43f5e; }
.detail-header-actions { display:flex; align-items:center; gap:10px; }
.detail-favorites-link { display:inline-flex; align-items:center; gap:7px; padding:10px 12px; border:1px solid #505057; border-radius:10px; font-size:12px; font-weight:750; color:#ededf0; }
.detail-favorites-link svg { width:17px; height:17px; color:#f43f5e; }
.detail-price-and-favorite { display:flex; gap:15px; align-items:center; margin-bottom:18px; }
.detail-price-and-favorite .product-detail-price { margin-bottom:0; }
.detail-price-and-favorite .favorite-toggle { flex-shrink:0; }
@media(max-width:760px){
 .products-header-actions { width:100%; justify-content:space-between; }
 .catalog-tabs { max-width:100%; }
 .catalog-tab { padding:8px 9px; font-size:11px; }
 .detail-header-actions { gap:7px; }
 .detail-favorites-link { padding:9px; }
}
@media(max-width:390px){
 .products-header-actions { flex-direction:column; align-items:stretch; }
 .products-count { align-self:flex-end; }
 .catalog-tab { padding:8px; }
 .detail-favorites-link { font-size:11px; }
}

/* Foto sem zoom e sem recortes na pagina de detalhes do aparelho. */
.product-detail-media-frame {
  width:100%;
  height:auto !important;
  min-height:0 !important;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.product-detail-media-frame img.product-detail-img {
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:80vh !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  padding:0 !important;
}


/* VITRINE MOBILE - 2 PRODUTOS POR LINHA */

@media (max-width: 760px) {

  .products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .product {
    min-width: 0;
    border-radius: 14px;
  }

  .product-media {
    height: clamp(135px, 43vw, 180px);
    overflow: hidden;
  }

  .product-body {
    padding: 11px 9px;
  }

  .product-type {
    font-size: 9px;
  }

  .product-title {
    font-size: 12px;
    line-height: 1.35;
    min-height: 0;
    margin: 6px 0 10px;
    overflow-wrap: anywhere;
  }

  .price {
    font-size: clamp(14px, 4.5vw, 18px);
    line-height: 1.3;
    margin-bottom: 12px;
  }

  .product-observation {
    font-size: 10px;
    padding: 8px;
    line-height: 1.35;
  }

  .product-body .btn {
    font-size: 10px;
    padding: 9px 5px;
    min-height: 40px;
    white-space: normal;
    text-align: center;
  }

  .product-media .favorite-toggle {
    width: 33px;
    height: 33px;
    top: 8px;
    right: 8px;
  }

}

/* IA Phone API — ajuste exclusivo da pagina de detalhes em celulares.
   Cole no FIM de public/style.css sem remover os estilos existentes. */
@media (max-width: 760px) {
  /* O retorno fica sempre visivel durante a rolagem. */
  .detail-store-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: #101012;
    border-bottom: 1px solid #303035;
  }
  .detail-topbar {
    min-height: 64px;
    padding: 9px 0;
    gap: 8px;
    flex-wrap: wrap;
  }
  .detail-header-actions { gap: 6px; margin-left: auto; }
  .detail-return, .detail-favorites-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
  }
  /* A foto aparece COMPLETA, com altura limitada para caber na tela. */
  .product-detail-media-frame {
    min-height: 0 !important;
    height: auto !important;
    max-width: 100%;
    overflow: hidden;
    padding: 10px;
  }
  .product-detail-media-frame img.product-detail-img {
    display: block;
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(56vh, 500px) !important;
    max-height: min(56dvh, 500px) !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    touch-action: pan-y;
    -webkit-user-drag: none;
  }
  .product-detail-main { padding-top: 18px; }
}
@media (max-width: 420px) {
  /* Evita cortar os links do topo em telas menores. */
  .detail-store-brand { flex: 0 1 112px; min-width: 0; }
  .detail-store-brand .brand-logo-img { max-width: 100%; max-height: 38px; }
  .detail-store-brand .brand-fallback { font-size: 15px; }
  .detail-return { font-size: 11px; padding: 8px; }
  .detail-favorites-link { font-size: 0; padding: 8px; }
  .detail-favorites-link [data-favorites-count] { font-size: 11px; }
}

/* Calculadora de Upgrade: card na vitrine e pagina de detalhes. */
/* Cole no FINAL de public/style.css. Somente regras novas. */
[hidden] { display: none !important; }
.upgrade-entry {
  margin: 26px 0 4px; padding: 22px 24px; border: 1px solid #303035;
  border-radius: 18px; background: linear-gradient(130deg,#202025,#111113); color: #f7f7f9;
}
.upgrade-entry-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.upgrade-entry h2 { margin: 8px 0; color: #fff; font-size: clamp(18px,2.5vw,26px); line-height: 1.2; }
.upgrade-entry p { color: #bdbdc5; font-size: 13px; line-height: 1.55; margin: 0; }
.upgrade-entry-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.upgrade-entry .btn { white-space: normal; text-align: center; }
.upgrade-entry .upgrade-open { background: #f8f8fa; color: #111; }
.upgrade-entry .upgrade-clear { background: #242428; color: #ededf0; border: 1px solid #45454b; }
.upgrade-form { margin-top: 19px; padding-top: 19px; border-top: 1px solid #36363b; }
.upgrade-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.upgrade-entry .form-field { margin-bottom: 14px; }
.upgrade-entry .form-field label, .upgrade-battery>label { display: block; margin-bottom: 8px; font-weight: 750; font-size: 13px; color: #f1f1f4; }
.upgrade-entry select { display: block; width: 100%; max-width: 100%; min-height: 44px; border: 1px solid #404047; border-radius: 10px; padding: 8px 10px; color: #f6f6f7; background: #242429; }
.upgrade-battery { margin-bottom: 15px; padding: 14px; border: 1px solid #393940; border-radius: 13px; }
.upgrade-battery strong { float: right; color: #fff; font-size: 18px; }
.upgrade-battery input[type=range] { width: 100%; accent-color: #fff; margin-top: 5px; min-height: 28px; }
.upgrade-range-ends { display: flex; justify-content: space-between; color: #b3b3bb; font-size: 11px; }
.upgrade-conditions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 12px; }
.upgrade-conditions fieldset { min-width: 0; margin: 0; border: 1px solid #393940; border-radius: 13px; padding: 13px; }
.upgrade-conditions legend { font-weight: 750; font-size: 13px; color: #f1f1f4; padding: 0 4px; }
.upgrade-conditions label { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; margin: 8px 15px 0 0; color: #ebebee; }
.upgrade-conditions input { accent-color: #fff; }
.upgrade-form .upgrade-disclaimer { margin: 5px 0 14px; font-size: 11px; color: #a9a9b0; }
.upgrade-form > button[type=submit] { width: 100%; background: #f8f8fa; color: #111; }
.upgrade-difference { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 15px; padding: 10px 12px; border: 1px solid #42694f; background: #14251b; border-radius: 11px; color: #e9fff0; }
.upgrade-difference span { font-size: 11px; font-weight: 750; }
.upgrade-difference strong { font-size: clamp(18px,2vw,24px); font-weight: 850; line-height: 1.22; }
.upgrade-difference small { font-size: 10px; line-height: 1.4; color: #a8cbb1; }
.upgrade-difference-detail { margin: 15px 0 20px; padding: 15px; }
.upgrade-difference-detail strong { font-size: clamp(25px,4vw,34px); }
.upgrade-admin-layout { grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); }
.upgrade-rule-entry { margin: 14px 0; border: 1px solid #d9e3de; background: #fff; border-radius: 13px; padding: 15px; }
.upgrade-rule-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.upgrade-rule-entry .form-field { min-width: 0; margin-bottom: 6px; }
.upgrade-rule-entry input { width: 100%; }
.upgrade-rule-entry > button { margin-top: 7px; }
@media (max-width: 760px) {
  .upgrade-entry { margin: 18px 0 2px; padding: 15px; }
  .upgrade-entry-top { flex-direction: column; align-items: stretch; }
  .upgrade-entry-actions { width: 100%; }
  .upgrade-entry-actions .btn { flex: 1; }
  .upgrade-fields, .upgrade-conditions, .upgrade-rule-fields { grid-template-columns: 1fr; }
  .upgrade-rule-entry { padding: 12px; }
  .upgrade-difference { padding: 8px; }
  .upgrade-difference strong { font-size: 16px; }
  .upgrade-difference small { font-size: 9px; }
  /* Mantem a vitrine em duas colunas mesmo em celulares estreitos. */
  .products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .product { min-width: 0; }
  .product-media { height: clamp(135px,43vw,180px); }
  .product-body { padding: 11px 9px; }
  .product-title { font-size: 12px; min-height: 0; overflow-wrap: anywhere; }
  .product-body .btn { font-size: 10px; padding: 9px 5px; white-space: normal; text-align: center; }
}

/* Importacao em lote de avaliacoes via texto — area administrativa */
.upgrade-admin-stack {display:flex;flex-direction:column;gap:20px;min-width:0;}
.upgrade-import-panel {min-width:0;}
.upgrade-import-panel textarea {display:block;width:100%;max-width:100%;min-height:180px;resize:vertical;line-height:1.55;white-space:pre-wrap;padding:14px;border-radius:12px;border:1px solid #404047;color:#f4f4f5;background:#222226;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;}
.upgrade-import-panel textarea:focus-visible{outline:2px solid #9ba8a0;outline-offset:2px;}
.upgrade-import-panel small {display:block;margin-top:8px;font-size:12px;line-height:1.55;opacity:.82;}
.upgrade-import-panel .form-field{margin:16px 0;}
.upgrade-import-panel .form-field label {display:block;font-weight:700;margin-bottom:8px;}
#upgrade-import-result {margin-top:24px;border-top:1px solid #3c3c42;padding-top:20px;}
.upgrade-import-summary {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:13px;}
.upgrade-import-summary span {opacity:.8;}
.upgrade-import-preview-scroll {overflow-x:auto;max-width:100%;border-radius:12px;border:1px solid #3c3c40;}
.upgrade-import-table {width:100%;min-width:850px;border-collapse:collapse;font-size:12px;text-align:left;}
.upgrade-import-table th,.upgrade-import-table td {padding:11px 12px;white-space:nowrap;border-bottom:1px solid #37373d;vertical-align:top;}
.upgrade-import-table th {font-size:11px;letter-spacing:.025em;background:#232326;color:#ededf1;}
.upgrade-import-table tr:last-child td{border-bottom:0;}
.upgrade-import-table td:first-child{text-align:center;}
.upgrade-import-warning {display:block;white-space:normal;max-width:260px;color:#e6c67f;margin-top:6px;}
.upgrade-import-confirm {margin-top:17px;}
.upgrade-import-confirm fieldset {border:1px solid #43434a;border-radius:11px;padding:12px 14px;display:flex;gap:14px;flex-wrap:wrap;}
.upgrade-import-confirm legend {font-size:12px;font-weight:700;padding:0 6px;}
.upgrade-import-confirm label {display:flex;gap:7px;align-items:center;font-size:13px;cursor:pointer;}
.upgrade-import-confirm input {accent-color:#fff;}
.upgrade-import-confirm p {font-size:12px;line-height:1.55;opacity:.82;margin:12px 0;}
.upgrade-import-panel .error-banner ul{padding-left:20px;margin:8px 0;}
@media(max-width:760px){
 .upgrade-admin-stack {gap:14px;}
 .upgrade-import-panel textarea {font-size:12px;min-height:210px;}
 .upgrade-import-confirm fieldset {flex-direction:column;}
 .upgrade-import-confirm .btn{width:100%;white-space:normal;}
}

/* ================================================================
   AJUSTES VISUAIS: CALCULADORA DE UPGRADE / VITRINE
   Cole junto ao bloco de importacao, no fim do CSS que voce ja usa.
   ================================================================ */

/* 1. Corrige o formulario de cadastro manual que aparecia branco/apagado. */
.upgrade-rule-entry {
  background: #202125;
  border: 1px solid #45474e;
  color: #f4f5f7;
  box-shadow: none;
}
.upgrade-rule-entry .form-field label {
  color: #f1f2f4;
  opacity: 1;
  font-weight: 750;
}
.upgrade-rule-entry .form-field input {
  background: #111316;
  border: 1px solid #53565f;
  color: #fff;
  opacity: 1;
  caret-color: #fff;
  color-scheme: dark;
}
.upgrade-rule-entry .form-field input::placeholder { color: #a6a9b3; }
.upgrade-rule-entry .form-field input:hover { border-color: #777b84; }
.upgrade-rule-entry .form-field input:focus-visible {
  outline: 2px solid #a9cbb7;
  outline-offset: 1px;
  border-color: #a9cbb7;
  box-shadow: none;
}
.upgrade-rule-entry .btn.btn-secondary {
  color: #f4f4f5;
  background: #292b30;
  border: 1px solid #565961;
}
.upgrade-rule-entry .btn.btn-secondary:hover { background: #383b42; }

/* 2. Destaca apenas o convite de troca com verde premium/neon discreto. */
.upgrade-entry {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 100% 0%,rgba(129,255,150,.19),transparent 57%),
    linear-gradient(112deg,#052117 0%,#0b3b26 52%,#0b291d 100%);
  border: 1px solid #328b58;
  box-shadow: inset 0 1px 0 rgba(208,255,210,.13), 0 6px 28px rgba(0,22,12,.21);
  color: #f4fff7;
}
.upgrade-entry::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(135deg,transparent 38%,rgba(197,255,189,.07) 64%,transparent 72%);
}
.upgrade-entry > * { position: relative; z-index: 1; }
.upgrade-entry .eyebrow { color: #a8ffba; }
.upgrade-entry h2 { color: #fff; }
.upgrade-entry p { color: #cce6d5; }
.upgrade-entry .upgrade-open {
  color: #103019;
  background: #b4ffb9;
  border: 1px solid #d0ffd2;
  box-shadow: 0 3px 12px rgba(39,138,71,.24);
}
.upgrade-entry .upgrade-open:hover { background: #d1ffd0; }
.upgrade-entry .upgrade-clear {
  color: #edfff1;
  background: rgba(3,23,15,.50);
  border: 1px solid #529a6b;
}
.upgrade-entry .upgrade-clear:hover { background: rgba(28,86,54,.8); }
.upgrade-entry .upgrade-form { border-top-color: rgba(179,255,193,.24); }
.upgrade-entry .upgrade-battery,
.upgrade-entry .upgrade-conditions fieldset { background: rgba(4,26,17,.34); border-color: #407553; }
.upgrade-entry .upgrade-form .form-field label,
.upgrade-entry .upgrade-battery>label,
.upgrade-entry .upgrade-conditions legend { color: #f1fff4; }
.upgrade-entry .upgrade-form select { background: #123422; color: #fff; border-color: #568b66; }
.upgrade-entry .upgrade-battery input[type=range],
.upgrade-entry .upgrade-conditions input { accent-color: #b4ffb9; }
.upgrade-entry .upgrade-disclaimer { color: #c3ddcc; }
.upgrade-entry .upgrade-form > button[type=submit] { background: #b4ffb9; color: #103019; }
.upgrade-entry .upgrade-form > button[type=submit]:hover { background: #d1ffd0; }

/* 3. Com avaliacao de troca ativa, corta em vermelho o preco normal.
   O componente de valor da volta NAO e alterado. */
.upgrade-original-price-label {
  display: block;
  color: #a8a8ae;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  margin: 5px 0 3px;
}
.product .price.upgrade-original-price,
.product-detail-price.upgrade-original-price {
  color: #b9b9bd;
  opacity: .8;
  text-decoration-line: line-through;
  text-decoration-color: #f44747;
  text-decoration-thickness: 2.5px;
  text-decoration-skip-ink: none;
}
.product .price.upgrade-original-price {
  font-size: 15px;
  margin-bottom: 4px;
}
.product-detail-price.upgrade-original-price { font-size: clamp(18px,2.6vw,24px); }
@media(max-width:760px){
  .upgrade-entry { border-radius: 16px; }
  .product .price.upgrade-original-price { font-size: 13px; }
  .upgrade-original-price-label { font-size: 10px; }
}

aaa/* ===============================================================
   FILTRO NOVOS / SEMINOVOS — VITRINE CLIENTE
   Acrescentar APENAS ao final do public/style.css atual.
   Nao sobrescreve layout mobile, fotos, favoritos ou upgrade.
   =============================================================== */
.condition-filter{
  display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;
  padding:4px;border:1px solid #424248;border-radius:12px;
  background:#19191c;max-width:100%;
}
.condition-filter-label{font-size:11px;font-weight:750;color:#c3c3c8;padding:0 9px;}
.condition-filter-button{
  min-height:34px;padding:8px 11px;border:1px solid transparent;
  border-radius:8px;background:transparent;color:#dddddf;
  font-size:12px;line-height:1.2;font-weight:750;white-space:nowrap;
}
.condition-filter-button:hover{background:#343438;color:#fff;}
.condition-filter-button.active,.condition-filter-button[aria-pressed="true"]{
  background:#f4f4f5;color:#101012;border-color:#f4f4f5;
}
.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:20px;}
.product-condition-badge{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;line-height:1.15;font-weight:800;letter-spacing:.01em;
  padding:5px 8px;border-radius:7px;border:1px solid #5a5a61;
  background:#28282d;color:#ededee;white-space:nowrap;
}
.product-condition-badge.condition-novo{background:#153329;border-color:#35765c;color:#b5f7d5;}
.product-condition-badge.condition-seminovo{background:#2b2b30;border-color:#66666d;color:#ededf0;}
.product-condition-badge.condition-unknown{background:#232328;border-color:#43434a;color:#b8b8bf;}
.detail-tags .product-condition-badge{font-size:12px;padding:6px 10px;border-radius:8px;}
@media(max-width:760px){
  .condition-filter{width:100%;justify-content:center;gap:3px;}
  .condition-filter-label{margin-right:auto;padding:0 5px;}
  .condition-filter-button{font-size:11px;padding:8px 8px;}
  .product-meta{gap:5px;}
  .product-condition-badge{font-size:9px;padding:4px 6px;white-space:normal;text-align:center;}
}
@media(max-width:350px){
  .condition-filter-label{width:100%;text-align:left;}
  .condition-filter-button{flex:1;}
}

/* ============================================================
   VITRINE CLIENTE — CALCULADORA DO GESTOR NO CELULAR
   Cole no FINAL de public/style.css, sem apagar as regras atuais.
   Ajusta somente a tela administrativa da calculadora de upgrade.
   ============================================================ */

/* Corrige a grade que espremia o cadastro ao lado das instrucoes.
   O CSS anterior exigia 2 colunas, sendo uma de no minimo 280px. */
@media (max-width: 1100px) {
  .dashboard-content .upgrade-admin-layout.two-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    gap: 14px;
  }

  .upgrade-admin-stack,
  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    margin: 0;
  }
}

/* Visual compacto da area de cadastro e das instrucoes. */
@media (max-width: 760px) {
  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    padding: 16px 14px;
    border-radius: 15px;
  }

  .upgrade-admin-layout > .panel h2 {
    font-size: 17px;
    line-height: 1.28;
    margin-bottom: 7px;
    overflow-wrap: normal;
  }

  .upgrade-admin-layout > .panel p {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 12px;
    overflow-wrap: break-word;
  }

  /* Duas colunas compactas para os campos de cada modelo. */
  .upgrade-admin-layout .upgrade-rule-entry {
    padding: 12px;
    margin: 12px 0;
    max-width: 100%;
  }

  .upgrade-admin-layout .upgrade-rule-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field:first-child {
    grid-column: 1 / -1;
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field {
    min-width: 0;
    margin: 0;
    gap: 5px;
  }

  .upgrade-admin-layout .upgrade-rule-fields label {
    font-size: 11px;
    line-height: 1.3;
  }

  .upgrade-admin-layout .upgrade-rule-fields input {
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    font-size: 14px;
  }

  .upgrade-admin-layout .upgrade-rule-entry > button {
    margin-top: 12px;
  }

  .upgrade-admin-layout .split-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .upgrade-admin-layout .split-actions .btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  /* Instrucoes: bloco menor e com leitura normal, abaixo do cadastro. */
  .upgrade-admin-layout > .panel:nth-child(2) {
    background: #17181b;
    border-color: #36383d;
  }

  .upgrade-admin-layout > .panel:nth-child(2) .info-banner {
    margin: 12px 0;
    padding: 11px 12px;
    background: #24262b;
    border: 1px solid #42444b;
    border-radius: 11px;
    color: #e9e9ec;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: break-word;
  }
}

/* Celulares muito estreitos: um campo por linha para evitar cortes. */
@media (max-width: 355px) {
  .upgrade-admin-layout .upgrade-rule-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field:first-child {
    grid-column: auto;
  }
}

/* ============================================================
   VITRINE CLIENTE — CALCULADORA DO GESTOR NO CELULAR
   Cole no FINAL de public/style.css, sem apagar as regras atuais.
   Ajusta somente a tela administrativa da calculadora de upgrade.
   ============================================================ */

/* Corrige a grade que espremia o cadastro ao lado das instrucoes.
   O CSS anterior exigia 2 colunas, sendo uma de no minimo 280px. */
@media (max-width: 1100px) {
  .dashboard-content .upgrade-admin-layout.two-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    gap: 14px;
  }

  .upgrade-admin-stack,
  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    margin: 0;
  }
}

/* Visual compacto da area de cadastro e das instrucoes. */
@media (max-width: 760px) {
  .dashboard-content .upgrade-admin-layout.two-cols > .panel {
    padding: 16px 14px;
    border-radius: 15px;
  }

  .upgrade-admin-layout > .panel h2 {
    font-size: 17px;
    line-height: 1.28;
    margin-bottom: 7px;
    overflow-wrap: normal;
  }

  .upgrade-admin-layout > .panel p {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 12px;
    overflow-wrap: break-word;
  }

  /* Duas colunas compactas para os campos de cada modelo. */
  .upgrade-admin-layout .upgrade-rule-entry {
    padding: 12px;
    margin: 12px 0;
    max-width: 100%;
  }

  .upgrade-admin-layout .upgrade-rule-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field:first-child {
    grid-column: 1 / -1;
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field {
    min-width: 0;
    margin: 0;
    gap: 5px;
  }

  .upgrade-admin-layout .upgrade-rule-fields label {
    font-size: 11px;
    line-height: 1.3;
  }

  .upgrade-admin-layout .upgrade-rule-fields input {
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    font-size: 14px;
  }

  .upgrade-admin-layout .upgrade-rule-entry > button {
    margin-top: 12px;
  }

  .upgrade-admin-layout .split-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .upgrade-admin-layout .split-actions .btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  /* Instrucoes: bloco menor e com leitura normal, abaixo do cadastro. */
  .upgrade-admin-layout > .panel:nth-child(2) {
    background: #17181b;
    border-color: #36383d;
  }

  .upgrade-admin-layout > .panel:nth-child(2) .info-banner {
    margin: 12px 0;
    padding: 11px 12px;
    background: #24262b;
    border: 1px solid #42444b;
    border-radius: 11px;
    color: #e9e9ec;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: break-word;
  }
}

/* Celulares muito estreitos: um campo por linha para evitar cortes. */
@media (max-width: 355px) {
  .upgrade-admin-layout .upgrade-rule-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .upgrade-admin-layout .upgrade-rule-fields > .form-field:first-child {
    grid-column: auto;
  }
}


/* VITRINE CLIENTE — SAUDE DA BATERIA EM SEMINOVOS
   Adicione no final de public/style.css.
   Nao altera a grade de 2 colunas nem o estilo de cards novos. */
.battery-health {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 6px 9px;
  margin: 3px 0 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  background: rgba(255,255,255,.045);
  color: #d6d8dd;
  font-size: 11px;
  line-height: 1.35;
}
.battery-health strong {
  color: #fff;
  font-weight: 750;
}
.battery-health-detail {
  display: flex;
  width: fit-content;
  font-size: 13px;
  padding: 10px 12px;
  margin: 9px 0 16px;
}
@media (max-width: 760px) {
  .product-body .battery-health-card {
    font-size: 10px;
    gap: 3px;
    padding: 5px 7px;
    margin: 3px 0 8px;
    border-radius: 7px;
  }
  .battery-health-detail {
    max-width: 100%;
    font-size: 12px;
  }
}

/* VITRINE CLIENTE - BOTAO SAIR DA CONTA NO PAINEL MOBILE
   Acrescente AO FINAL de public/style.css. Nao altera a vitrine publica. */
@media (max-width: 760px) {
  /* O CSS antigo ocultava .side-bottom no celular. */
  .dashboard .sidebar .side-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #37373e;
    border-radius: 12px;
    background: #202024;
  }

  .dashboard .sidebar .side-bottom .account-title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: 12px;
    line-height: 1.3;
    color: #e8e8ed;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .dashboard .sidebar .side-bottom .account-email {
    display: none;
  }

  .dashboard .sidebar .side-bottom button[data-action="logout"] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #606068;
    border-radius: 10px;
    background: #303037;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
  }

  .dashboard .sidebar .side-bottom button[data-action="logout"]:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }
}


/* VITRINE CLIENTE - CONSTRUTOR DE AVALIACOES MULTILOJA
   Adicione este complemento AO FINAL de public/style.css existente. */
.dashboard-content .builder-admin,.dashboard-content .builder-admin *{box-sizing:border-box}
.dashboard-content .builder-admin{width:100%;min-width:0;max-width:100%}
.builder-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.builder-tab{border:1px solid #37373b;border-radius:10px;background:#202023;color:#c9ccce;padding:11px 14px;font-weight:750;font-size:12px;cursor:pointer}
.builder-tab.active{background:#1e4535;border-color:#34835d;color:#edfff2}
.dashboard-content .builder-panel{border:1px solid #323237;background:#171719;color:#eceff0;border-radius:16px;padding:22px;max-width:100%;overflow-wrap:break-word}
.dashboard-content .builder-panel h2,.dashboard-content .builder-panel h3,.dashboard-content .builder-panel strong{color:#f2f3f3}
.builder-panel h3{font-size:14px;letter-spacing:0;margin:17px 0 8px}
.dashboard-content .builder-panel p{font-size:12px;line-height:1.5;color:#a7aaaf;margin:7px 0 13px}
.builder-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.builder-field{display:flex;flex-direction:column;min-width:0;gap:5px;color:#bbbfc2;font-size:12px;font-weight:650}
.builder-field span{display:block;line-height:1.35;overflow-wrap:break-word}
.builder-field input,.builder-field select,.builder-field textarea,.builder-tools input,#builder-import-conflict,.builder-import-finish select{display:block;max-width:100%;min-width:0;width:100%;height:43px;background:#242427!important;border:1px solid #424247!important;border-radius:9px!important;padding:9px 11px!important;color:#f8f8fa!important;font-size:14px!important;box-shadow:none!important;outline-offset:2px}
.builder-field input:focus-visible,.builder-field select:focus-visible,.builder-field textarea:focus-visible{outline:2px solid #55ca8e}
.builder-field textarea{height:auto!important;min-height:140px;resize:vertical;line-height:1.5}
.builder-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.builder-toggle{display:flex;align-items:center;gap:9px;min-width:0;background:#232326;border:1px solid #3a3a40;border-radius:10px;padding:10px;color:#f0f0f1;font-size:12px;line-height:1.3;cursor:pointer}
.builder-toggle input{accent-color:#36bf77;width:17px;height:17px;flex-shrink:0}
.builder-customs,.builder-general{margin:17px 0;border:1px solid #35363b;border-radius:12px;background:#1e1e21;padding:14px}
.builder-general summary,.builder-model summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:750}
.builder-general summary::-webkit-details-marker,.builder-model summary::-webkit-details-marker{display:none}
.builder-general summary::after,.builder-model summary::after{content:'⌄';font-size:19px;flex:none;color:#90d9a9}
.builder-general[open] summary::after,.builder-model[open] summary::after{transform:rotate(180deg)}
.builder-general>p{margin:14px 0!important}
.builder-custom-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}
.builder-custom-row .builder-field{flex:1 1 150px}
.builder-custom-row>label:first-child{font-size:12px;color:#ddd}
.builder-model-list{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.builder-model{min-width:0;max-width:100%;padding:15px;background:#202024;border:1px solid #3a3b3f;border-radius:13px;color:#ededed}
.builder-model>summary strong{font-size:13px;word-break:break-word}
.builder-model>summary small{font-size:10px;line-height:1.25;font-weight:550;color:#aaafb0;text-align:right}
.builder-model-body{border-top:1px solid #39393f;margin-top:13px;padding-top:12px}
.builder-criteria-row{margin:9px 0;padding:10px 11px;background:#252529;border:1px solid #37383e;border-radius:10px;min-width:0}
.builder-criteria-row strong{font-size:12px}
.builder-criteria-row .builder-field-grid{margin:6px 0 0}
.builder-battery-box{margin:10px 0;background:#222a24;border:1px solid #345143;border-radius:11px;padding:10px;min-width:0}
.builder-bands{display:flex;flex-direction:column;gap:9px}
.builder-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;background:#1a231e;padding:10px;border:1px solid #395445;border-radius:10px}
.builder-band>span{grid-column:1/-1;color:#baddc7;font-size:12px;font-weight:750}
.builder-band>button{grid-column:1/-1;justify-self:start}
.builder-footer,.builder-model-actions,.builder-tools,.builder-import-finish{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 0}
.builder-tools input{width:min(100%,320px)}
.builder-count{background:#25563b;border-radius:99px;font-size:12px;padding:4px 8px}
.builder-warning{background:#372e1c;color:#f9df9d!important;border:1px solid #806937;border-radius:8px;padding:9px}
.builder-upload{display:block;cursor:pointer;font-size:12px;margin:12px 0;color:#b8bfc0}
.builder-upload input{display:block;max-width:100%;margin:7px 0;color:#eaeaea}
.builder-import-finish label{font-size:12px;color:#cfd5cf}
.builder-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #36383b}
.builder-history-row strong,.builder-history-row small{display:block;font-size:12px}
.builder-history-row small{color:#a5a6a8;margin-top:4px}
.builder-panel .info-banner{background:#213729;border-color:#3b6d4c;color:#dcffe4}
/* Exibe todas as perguntas ativas do aparelho, sem colunas apertadas. */
#upgrade-criteria-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#upgrade-criteria-fields>.upgrade-battery{grid-column:1/-1}
#upgrade-criteria-fields fieldset{min-width:0}
@media(max-width:850px){
 .dashboard-content .builder-panel{padding:15px 13px}
 .builder-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .builder-tab{padding:10px 5px;font-size:11px;white-space:normal;line-height:1.2}
 .builder-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .builder-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .builder-model{padding:12px}
 .builder-band{grid-template-columns:repeat(2,minmax(0,1fr))}
 .builder-band>span,.builder-band>button{grid-column:1/-1}
}
@media(max-width:390px){
 .builder-field-grid,.builder-criteria-row .builder-field-grid{grid-template-columns:minmax(0,1fr)}
 .builder-toggles,#upgrade-criteria-fields{grid-template-columns:minmax(0,1fr)}
 .builder-tab{font-size:10px}
}

/* Vitrine Cliente — faixas gerais sem desconto; valor individual por modelo.
   Adicionar somente no final de public/style.css. */
.builder-range-label {
  display:flex;
  align-items:center;
  min-height:42px;
  padding:9px 12px;
  color:#d8efe0;
  background:#203328;
  border:1px solid #466a52;
  border-radius:9px;
  font-size:14px;
  font-weight:750;
}
.builder-battery-box .builder-band {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.builder-battery-box .builder-band > span,
.builder-battery-box .builder-band > button {
  grid-column:1/-1;
}
.builder-battery-box .builder-range-note {
  color:#b4c4b8;
  margin:10px 0 3px;
}
@media (max-width:390px) {
  .builder-battery-box .builder-band {
    grid-template-columns:minmax(0,1fr);
  }
}

/* Vitrine Cliente — faixas gerais sem desconto; valor individual por modelo.
   Adicionar somente no final de public/style.css. */
.builder-range-label {
  display:flex;
  align-items:center;
  min-height:42px;
  padding:9px 12px;
  color:#d8efe0;
  background:#203328;
  border:1px solid #466a52;
  border-radius:9px;
  font-size:14px;
  font-weight:750;
}
.builder-battery-box .builder-band {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.builder-battery-box .builder-band > span,
.builder-battery-box .builder-band > button {
  grid-column:1/-1;
}
.builder-battery-box .builder-range-note {
  color:#b4c4b8;
  margin:10px 0 3px;
}
@media (max-width:390px) {
  .builder-battery-box .builder-band {
    grid-template-columns:minmax(0,1fr);
  }
}

/* Vitrine Cliente — visibilidade de produtos sem imagem por tipo (adicione no final do style.css) */
#product-type-rows .type-entry {
  display: grid;
  grid-template-columns: minmax(110px, .75fr) minmax(145px, 1fr) minmax(210px, 1.15fr) auto;
  gap: 12px;
  align-items: end;
  min-width: 0;
}
#product-type-rows .type-entry > * { min-width: 0; }
#product-type-rows .type-media-setting { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
#product-type-rows .type-media-setting span { font-size: .83rem; font-weight: 650; }
#product-type-rows .type-media-setting select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border: 1px solid #45454a;
  border-radius: 10px;
  color: #f6f6f7;
  background: #222326;
  padding: 11px 32px 11px 12px;
  font: inherit;
  line-height: 1.3;
}
#product-type-rows .type-media-setting select:focus-visible { outline: 2px solid #6bcba5; outline-offset: 2px; }
/* Sem imagens reais: não atribuir fotos ilustrativas que possam confundir o cliente. */
.product-media.no-photo .product-no-photo-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  text-align: center;
  text-decoration: none;
  background: #17191b;
  color: #e1e4e5;
  font-size: .82rem;
  font-weight: 600;
}
.product-media.no-photo .product-no-photo-icon { font-size: 2.4rem; color: #90989a; line-height: 1; }
.product-media.no-photo .product-no-photo-link small { font-size: .73rem; color: #91cbb7; font-weight: 500; }
.product-media.no-photo .favorite-toggle { z-index: 3; }
.product-detail-media-frame .media-unavailable { display: grid; place-items: center; min-height: 220px; padding: 24px; text-align: center; background: #17191b; color: #b3b9bc; }
@media (max-width: 1100px) {
  #product-type-rows .type-entry { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #product-type-rows .type-media-setting { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  #product-type-rows .type-entry { grid-template-columns: minmax(0,1fr); }
  #product-type-rows .type-media-setting { grid-column: auto; }
  #product-type-rows .type-entry > button { justify-self: start; }
  .product-media.no-photo .product-no-photo-link { padding: 8px; gap: 5px; }
  .product-media.no-photo .product-no-photo-icon { font-size: 1.9rem; }
}

/* Vitrine Cliente — taxas da maquininha por loja (desktop e mobile).
   Acrescente ao FINAL do style.css atual. Não apague os estilos existentes. */
.payment-settings-panel { max-width: 1080px; }
.payment-max-field { max-width: 275px; }
.payment-rate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}
.payment-rate-entry {
  display: flex; flex-direction: column; gap: 9px; min-width: 0;
  padding: 14px; background: #1c1c20; color: #e8e8ea;
  border: 1px solid #37373e; border-radius: 13px;
  font-size: 13px; font-weight: 700;
}
.payment-rate-control {
  display: flex; align-items: center; gap: 8px;
  min-width: 0; color: #aeb0b7; font-size: 14px;
}
.payment-rate-control input {
  flex: 1; min-width: 0; width: 100%; min-height: 42px;
  padding: 9px 10px; border: 1px solid #4a4a54; border-radius: 10px;
  outline: none; background: #0e0e10; color: #fff;
  font: inherit; font-variant-numeric: tabular-nums;
}
.payment-rate-control input:focus-visible { border-color: #92e9b9; outline: 2px solid #92e9b9; outline-offset: 1px; }
.payment-settings-panel .payment-max-field select {
  background: #17171a !important; color: #fafafa !important;
  border-color: #44444c !important;
}
.card-installment-line {
  font-size: clamp(11px, 1.1vw, 13px); line-height: 1.4;
  color: #b7dcc6; margin: -8px 0 16px;
  overflow-wrap: anywhere;
}
.card-installment-line strong { font-weight: 800; color: #a9f3c9; font-variant-numeric: tabular-nums; }
.product-body .card-installment-line { margin-top: -4px; }
.product-detail-right .card-installment-line { margin: 0 0 18px; font-size: 15px; }
.payment-details {
  margin: 16px 0 22px; padding: 16px; border-radius: 16px;
  border: 1px solid #33383a; background: #151719; color: #f2f5f2;
}
.payment-details-head {display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-bottom: 13px;}
.payment-details-head h2 { font-size: 16px; margin: 0; }
.payment-details-head > span { font-size: 11px; color: #b2c4b7; }
.payment-installments-list { display: grid; gap: 0; }
.payment-installment-row {
  display: grid; grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center; gap: 10px; padding: 11px 0;
  border-top: 1px solid #32363a; font-size: 13px;
}
.payment-installment-row > strong { color: #a9f3c9; }
.payment-installment-row > span {font-weight: 750; font-variant-numeric: tabular-nums; }
.payment-installment-row > span small { display: inline; font-size: 11px; font-weight: 400; color: #9ba7a3; }
.payment-installment-row > small { color: #afb6b3; font-size: 11px; text-align: right; font-variant-numeric: tabular-nums; }
.payment-details > p { font-size: 11px; line-height: 1.5; color: #9ca7a1; margin: 13px 0 0; }
@media (max-width: 760px) {
  .payment-rate-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .payment-rate-entry { padding: 10px; }
  .card-installment-line { font-size: 11px; margin: -3px 0 13px; }
  .payment-details { padding: 14px 12px; }
  .payment-installment-row {grid-template-columns: 34px minmax(0,1fr); gap: 5px 8px;}
  .payment-installment-row > small {grid-column: 2; text-align: left;}
  .payment-installment-row > span small {display:none;}
}
@media (max-width: 350px) {
  .payment-rate-grid { grid-template-columns: 1fr; }
}

.store-header .store-header-shade {
  display: none !important;
}

/* Vitrine Cliente — Benefícios e Promoções. Cole ao FINAL do style.css atual.
   Não substitui nenhum estilo existente nem altera o layout da grade. */

/* Formulário de benefícios no painel: mesmo tema All Black, sem campos claros. */
.promotions-panel { max-width: 1100px; }
.promotions-panel h2 { margin-bottom: 8px; }
.promotions-panel p { line-height: 1.55; }
.promotion-rules { display: grid; gap: 12px; margin: 18px 0; }
.promotion-rule-entry {
  min-width: 0; padding: 16px; border-radius: 14px;
  border: 1px solid #39393f; background: #17171a; color: #f3f3f5;
}
.promotion-rule-top {
  display: flex; gap: 12px; justify-content: space-between;
  align-items: end; margin-bottom: 12px;
}
.promotion-rule-top .form-field { flex: 1; min-width: 0; }
.promotion-rule-top .btn { flex-shrink: 0; }
.promotion-rule-fields {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;
}
.promotions-panel .form-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.promotions-panel .form-field span { color: #d4d4da; font-size: 12px; font-weight: 700; }
.promotions-panel .form-field input,
.promotions-panel .form-field select {
  width: 100%; min-width: 0; min-height: 42px;
  background: #222226 !important; border: 1px solid #45454e !important;
  border-radius: 9px; padding: 10px; color: #f7f7f9 !important;
  font: inherit; font-size: 13px;
}
.promotions-panel .form-field select option { background: #222226; color: #fff; }
.promotions-panel .form-field input:disabled { opacity: .45; cursor: not-allowed; }
.promotions-panel .form-field input:focus-visible,
.promotions-panel .form-field select:focus-visible { outline: 2px solid #a6f0c5; outline-offset: 1px; }
.promotion-rule-hint { display: block; margin-top: 12px; color: #a9a9b2; line-height: 1.45; }
.promotion-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.promotion-fineprint { color: #a5a5af; font-size: 12px; margin-top: 18px; }

/* Benefícios nos cards e na página de detalhes, discretos e legíveis. */
.product-body .offer-gift-badge,
.product-detail-right .offer-gift-badge {
  display: flex; align-items: center; gap: 7px; min-width: 0;
  width: 100%; padding: 9px 11px; margin: 10px 0 8px;
  background: #181716; color: #f5eee2; border: 1px solid #69604b;
  border-radius: 10px; font-size: 12px; line-height: 1.4;
  overflow-wrap: anywhere;
}
.offer-gift-badge > span:first-child { color: #d8b668; font-size: 16px; flex: 0 0 auto; }
.offer-gift-badge strong { font-weight: 750; }
.offer-price-block { min-width: 0; }
.offer-old-row { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin: 14px 0 3px; }
.offer-discount-badge {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  padding: 6px 9px; border: 1px solid #aa333c; border-radius: 8px;
  background: #751b24; color: #fff; font-size: 12px; font-weight: 800;
  line-height: 1.2; letter-spacing: .01em;
}
.offer-old-price {
  color: #9a9aa1; position: relative; font-size: 14px;
  font-weight: 500; font-variant-numeric: tabular-nums;
  text-decoration: line-through; text-decoration-color: #e04c53;
  text-decoration-thickness: 2px;
}
.product-body .offer-price-block .price { margin-top: 5px; }
.product-detail-right .offer-detail-price-block { flex: 1 1 auto; min-width: 0; }
.product-detail-right .offer-old-row { margin-top: 3px; margin-bottom: 6px; }
.product-detail-right .offer-discount-badge { margin-bottom: 5px; }
.product-body .offer-price-block .upgrade-original-price,
.product-detail-right .offer-price-block .upgrade-original-price {
  color: #a0a0a7; text-decoration: line-through; text-decoration-color: #e04c53;
  text-decoration-thickness: 2px; opacity: .85; font-size: 16px;
}
.product-body .offer-price-block .upgrade-difference strong,
.product-detail-right .offer-price-block .upgrade-difference strong { text-decoration: none; opacity: 1; }
/* Observações permanecem EXCLUSIVAMENTE na página de detalhes. */
.product-body .product-observation { display: none !important; }

@media (max-width: 680px) {
  .promotion-rule-fields { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .promotion-rule-top { flex-wrap: wrap; align-items: stretch; }
  .promotion-rule-top .form-field { flex-basis: 100%; }
  .promotion-actions .btn { max-width: 100%; }
  .product-body .offer-gift-badge { font-size: 10px; padding: 7px 8px; border-radius: 8px; }
  .product-body .offer-old-row { gap: 6px; margin-top: 10px; }
  .product-body .offer-discount-badge { font-size: 10px; padding: 5px 7px; }
  .product-body .offer-old-price { font-size: 11px; }
  .product-body .offer-price-block .price { overflow-wrap: anywhere; }
}

/* Vitrine Cliente — refinamento dos cards All Black (cole NO FINAL do style.css).
   Escopo restrito à listagem "Ofertas disponíveis"; não altera banner,
   logomarca, painel do lojista nem layout da página de detalhes. */

/* Cabeçalho e filtros discretos, sem alterar funcionalidades. */
.products-header {
  border-top: 1px solid #252629;
  padding-top: 30px;
  margin-bottom: 22px;
  gap: 16px;
}
.products-header h2 { font-weight: 850; letter-spacing: -.045em; }
.products-header-actions { min-width: 0; gap: 12px; }
.products-count { background:#19191c; border:1px solid #303036; color:#ededf0; }

/* Cards da vitrine: preto premium, mesmas fotos originais e tipografia da loja. */
.products { gap: 16px; }
.products .product {
  background: linear-gradient(160deg,#17181a 0%,#121315 58%,#0f1012 100%);
  border: 1px solid #32343a;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 22px #0002;
}
.products .product:hover { border-color:#66686e; box-shadow:0 16px 34px #0007; }
.products .product-media { margin: 10px 10px 0; border-radius: 13px; overflow:hidden; }
.products .product-body { flex:1; min-width:0; padding:17px 16px 18px; display:flex; flex-direction:column; }
.products .product-title { color:#f8f8fa; line-height:1.34; }
.products .product-type { color:#b1b2bc; letter-spacing:.1em; }
.products .product .battery-health-card {
  border:1px solid #36383d; border-radius:11px;
  background:#202123; color:#e0e2e5;
}
.products .product .battery-health-card::before {
  content:""; display:inline-block; vertical-align:middle;
  width:15px; height:8px; margin-right:8px;
  border:2px solid #42dc9a; border-radius:3px;
  background:linear-gradient(90deg,#47e9a1 75%,transparent 75%);
  box-shadow:0 0 6px #22cf8830;
}
.products .product .offer-discount-badge {
  background:#9e2434; color:#fff; border-color:#c0394c;
  border-radius:9px; font-weight:850;
}
.products .product .offer-old-price {
  font-size:13px; color:#99999f;
  text-decoration-color:#ea5260; text-decoration-thickness:2px;
}
.products .product .offer-price-block .price {
  color:#fafafa; font-weight:850; font-size:clamp(21px,2vw,29px);
  line-height:1.16; letter-spacing:-.04em;
}
.products .product .card-installment-line { color:#d7dbdc; line-height:1.4; }
.products .product .card-installment-line strong { color:#70e9b5; font-weight:850; }
.products .product .offer-gift-badge {
  background:#202123; color:#e8e9eb; border:1px solid #35373c;
  border-radius:11px; font-size:12px; margin:11px 0 13px;
  min-width:0; max-width:100%;
}
.products .product .offer-gift-badge > span:first-child { color:#e6b956; }
.products .product-body > a.btn {
  margin-top:auto; width:100%; border-radius:12px;
  border:1px solid #494b50; background:linear-gradient(180deg,#27282b,#1c1d20);
  color:#fff; min-height:48px; font-weight:800;
}
.products .product-body > a.btn:hover { background:#303136; border-color:#8c8f96; color:#fff; }
.products .product-body > a.btn:focus-visible { outline:2px solid #a0e9c1; outline-offset:3px; }

/* Trade-in ativo: somente valor da volta e 12x no card, NUNCA preço do aparelho. */
.products .product-tradein .offer-price-block-tradein { margin-top: 12px; }
.products .product-tradein .offer-price-block-tradein .offer-old-row,
.products .product-tradein .offer-price-block-tradein .offer-old-price,
.products .product-tradein .offer-price-block-tradein .offer-discount-badge,
.products .product-tradein .offer-price-block-tradein .upgrade-original-price,
.products .product-tradein .offer-price-block-tradein .upgrade-original-price-label,
.products .product-tradein .offer-price-block-tradein > .price { display:none !important; }
.products .product-tradein .upgrade-difference {
  display:grid; grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto auto; column-gap:12px; align-items:center;
  width:100%; min-width:0; margin:0; padding:13px;
  background:linear-gradient(116deg,#092418 0%,#071e17 58%,#091a15 100%);
  border:1px solid #0f9758; border-radius:13px;
  box-shadow:inset 0 0 0 1px #06512e30;
  color:#c8f3db; text-align:left;
}
.products .product-tradein .upgrade-difference-icon {
  grid-column:1; grid-row:1 / 4;
  display:grid; place-items:center;
  width:40px; height:46px;
  border:1px solid #168957; border-radius:9px;
  color:#48e79f; font-size:27px; font-weight:650;
}
.products .product-tradein .upgrade-difference > span:not(.upgrade-difference-icon) {
  grid-column:2; grid-row:1; color:#e6f8ee; font-size:12px; font-weight:700;
}
.products .product-tradein .upgrade-difference > strong {
  grid-column:2; grid-row:2; color:#6befb0;
  font-size:clamp(20px,2vw,27px); line-height:1.12;
  letter-spacing:-.045em; font-weight:900;
  overflow-wrap:anywhere;
}
.products .product-tradein .upgrade-difference > small {
  grid-column:2; grid-row:3; color:#a7d9be;
  font-size:10px; line-height:1.3;
}
.products .product-tradein .card-installment-line { margin:9px 0 13px; }
.products .product-tradein .product-body > a.btn {
  border-color:#b89950; color:#f4dda4;
  background:linear-gradient(180deg,#382f20,#221f19);
}
.products .product-tradein .product-body > a.btn:hover {
  background:#40341f; border-color:#efcb75;
}

/* Alturas e quebras mantidas para duas colunas no mobile. */
@media (max-width: 760px) {
  .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .products .product { border-radius:14px; }
  .products .product-media { margin:5px 5px 0; border-radius:10px; height:clamp(142px,46vw,210px); }
  .products .product-body { padding:10px 9px 12px; }
  .products .product-title { font-size:12px; line-height:1.35; }
  .products .product .offer-price-block .price { font-size:clamp(17px,4.3vw,23px); }
  .products .product .offer-gift-badge { font-size:10px; padding:7px 8px; }
  .products .product .card-installment-line { font-size:10px; }
  .products .product .card-installment-line strong { white-space:normal; }
  .products .product-body > a.btn { min-height:40px; font-size:11px; padding:9px 5px; }
  .products .product-tradein .upgrade-difference {
    grid-template-columns:25px minmax(0,1fr); gap:7px;
    padding:9px 7px; border-radius:9px;
  }
  .products .product-tradein .upgrade-difference-icon { width:25px; height:33px; font-size:19px; }
  .products .product-tradein .upgrade-difference > strong { font-size:clamp(16px,4vw,22px); }
  .products .product-tradein .upgrade-difference > small { font-size:9px; }
  .products .product-tradein .upgrade-difference > span:not(.upgrade-difference-icon) { font-size:10px; }
  .products-header { flex-wrap:wrap; align-items:flex-start; }
}
@media (max-width: 360px) {
  .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .products .product-media { height:142px; }
  .products .product .offer-old-price { font-size:10px; }
  .products .product .offer-discount-badge { padding:4px 5px; font-size:9px; }
  .products .product-tradein .upgrade-difference > strong { font-size:15px; }
}

/* Vitrine Cliente — acabamento dos cards, somente a vitrine principal.
   Adicione AO FINAL do public/style.css já instalado.
   Preserva a página de detalhes, painel, fotos, funcionalidades e Trade-in. */

/* Topo: uma única linha de selos pequenos — estado e bateria. Sem nome repetido. */
.products .product-body .product-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 6px;
  min-width: 0;
  margin: 0 0 9px;
}
.products .product-body .product-meta .product-condition-badge,
.products .product-body .product-meta .battery-health-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  min-height: 25px;
  height: auto;
  margin: 0;
  padding: 4px 7px;
  border: 1px solid #383a40;
  border-radius: 8px;
  background: #222326;
  color: #e6e7ea;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
.products .product-body .product-meta .product-condition-badge { flex: 0 0 auto; }
.products .product-body .product-meta .battery-health-card {
  flex: 0 1 auto;
  gap: 3px;
  overflow: hidden;
}
.products .product-body .product-meta .battery-health-card > span,
.products .product-body .product-meta .battery-health-card > strong {
  display: inline;
  font-size: inherit;
  line-height: inherit;
  color: #e6e7ea;
  white-space: nowrap;
}
.products .product-body .product-meta .battery-health-card > strong { font-weight: 850; }
.products .product-body .product-meta .battery-health-card::before {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 12px;
  height: 8px;
  margin: 0 2px 0 0;
  border: 1.5px solid #58e1a0;
  border-radius: 2px;
  background: linear-gradient(90deg,#58e1a0 75%,transparent 75%);
  box-shadow: none;
}

/* Brinde: uma linha simples, sem fundo, contorno ou cartão. */
.products .product-body .product-inline-gift {
  display: block;
  margin: 0 0 11px;
  min-width: 0;
}
.products .product-body .product-inline-gift .offer-gift-badge,
.products .product-body .product-inline-gift .offer-gift-compact {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #d8d9dd;
  font-size: 11px;
  line-height: 1.4;
}
.products .product-body .product-inline-gift .offer-gift-icon {
  flex: 0 0 auto;
  color: #ffb949;
  font-size: 14px;
  line-height: 1.3;
}
.products .product-body .product-inline-gift .offer-gift-copy {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.products .product-body .product-inline-gift .offer-gift-copy strong,
.products .product-body .product-inline-gift .offer-gift-name {
  display: inline;
  color: inherit;
  font-size: inherit;
  font-weight: 700;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.products .product-body .product-inline-gift .offer-gift-name { font-weight: 500; color: #c3c4c9; }

/* Etiqueta de desconto agora é texto vermelho puro, sem caixinha. */
.products .product-body .offer-price-block:not(.offer-price-block-tradein) .offer-discount-badge {
  display: inline;
  width: auto;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fb6675;
  font-size: 11px;
  line-height: 1.25;
  font-weight: 850;
}
.products .product-body .offer-price-block .offer-old-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 8px 0 4px;
  flex-wrap: wrap;
}
/* O quadro verde do Valor da volta fica EXATAMENTE como já estava. */

@media (max-width: 760px) {
  .products .product-body .product-meta { gap: 4px; margin-bottom: 7px; }
  .products .product-body .product-meta .product-condition-badge,
  .products .product-body .product-meta .battery-health-card {
    min-height: 22px;
    padding: 3px 4px;
    border-radius: 6px;
    font-size: 9px;
  }
  .products .product-body .product-meta .battery-health-card { gap: 2px; }
  .products .product-body .product-meta .battery-health-card::before {
    width: 10px;
    height: 7px;
    margin-right: 1px;
  }
  .products .product-body .product-inline-gift { margin: 0 0 9px; }
  .products .product-body .product-inline-gift .offer-gift-badge { font-size: 10px; }
  .products .product-body .product-inline-gift .offer-gift-icon { font-size: 12px; }
  .products .product-body .offer-price-block:not(.offer-price-block-tradein) .offer-discount-badge { font-size: 10px; }
}
@media (max-width: 360px) {
  .products .product-body { padding-left: 7px; padding-right: 7px; }
  .products .product-body .product-meta { gap: 3px; }
  .products .product-body .product-meta .product-condition-badge,
  .products .product-body .product-meta .battery-health-card {
    padding: 3px 3px;
    font-size: 8px;
  }
  .products .product-body .product-meta .battery-health-card::before {
    width: 9px;
    height: 6px;
  }
}

/* Vitrine Cliente — Remover texto de desconto (10% OFF / R$ 100 OFF).
   Cole este trecho NO FINAL de public/style.css.
   Mantém o preço anterior riscado em vermelho, o preço promocional,
   as parcelas e o quadro verde do valor da volta sem modificações. */
.products .offer-discount-badge,
.product-detail-main .offer-discount-badge {
  display: none !important;
}

/* Ajustes de usabilidade: marca, parcelamento recolhível e garantias. */
.logo-domain{font-size:clamp(15px,2vw,23px)!important;letter-spacing:-.035em!important;overflow-wrap:anywhere;line-height:1.3;color:#fff}
.payment-details{padding:0;overflow:hidden;border:1px solid #365144;background:#141a17}
.payment-installments-accordion{width:100%}
.payment-accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;cursor:pointer;list-style:none;background:linear-gradient(115deg,#1d3428,#15201a);color:#f4fff7}
.payment-accordion-trigger::-webkit-details-marker{display:none}
.payment-accordion-trigger:focus-visible{outline:2px solid #a9f3c9;outline-offset:-3px}
.payment-accordion-trigger:hover{background:linear-gradient(115deg,#284536,#1b2d23)}
.payment-accordion-title{display:grid;gap:6px;flex:1;min-width:0}
.payment-accordion-title strong{font-size:14px;font-weight:850;letter-spacing:-.01em;color:#b5ffcc}
.payment-accordion-title small{font-size:11px;color:#cedfd4;font-weight:500}
.payment-accordion-chevron{font-size:25px;line-height:1;transition:transform .2s;color:#b5ffcc}
.payment-installments-accordion[open] .payment-accordion-chevron{transform:rotate(180deg)}
.payment-details-content{padding:4px 16px 16px;border-top:1px solid #365144}
.payment-details-content .payment-details-head{margin-top:12px}
.payment-details-content>p{font-size:11px;line-height:1.5;color:#9ca7a1;margin:13px 0 0}
.warranty-settings{padding:18px;margin:18px 0 24px;border:1px solid #383b3c;border-radius:15px;background:#1f2022}
.warranty-settings h3{font-size:17px;color:#f2f2f2;margin:0 0 8px}
.warranty-settings>p{color:#a8a8af;font-size:12px;line-height:1.5;margin:0 0 18px}
.warranty-settings>small{color:#aaaeb4;font-size:11px}
.warranty-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.warranty-month-input{display:flex;align-items:center;gap:12px}
.warranty-month-input input{width:100%;min-width:0}
.warranty-month-input span{font-size:12px;color:#bbb;white-space:nowrap}
@media(max-width:580px){.warranty-settings-grid{grid-template-columns:1fr}.payment-accordion-trigger{padding:14px 12px}.payment-accordion-title strong{font-size:13px}}


/* Garantias por modelo: aba independente e destaque no detalhe do produto. */
.warranty-admin-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.85fr);gap:20px;align-items:start}
.warranty-admin-header{display:flex;align-items:center;gap:15px;margin-bottom:21px}
.warranty-admin-header h2{margin:4px 0 5px}
.warranty-admin-header p{margin:0;font-size:13px;color:#aeb0b7;line-height:1.5}
.warranty-admin-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#173a2c;color:#91ecc0;font-size:28px}
.warranty-defaults-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.warranty-default-field{background:#202124;border:1px solid #34363c;padding:14px;border-radius:12px}
.warranty-default-field label{display:block;min-height:30px;margin-bottom:7px}
.warranty-rule-section{border-top:1px solid #36383a;margin-top:24px;padding-top:23px}
.warranty-rule-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}
.warranty-rule-title h3{margin:0 0 7px;font-size:17px;color:#fff}
.warranty-rule-title p{font-size:12px;line-height:1.6;color:#b4b6bd;margin:0;max-width:540px}
.warranty-rule-title button{flex-shrink:0}
.warranty-rule-row{display:grid;grid-template-columns:105px 115px minmax(130px,1fr) 115px 31px;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #35353a}
.warranty-rule-row .form-field{margin:0;min-width:0}
.warranty-rule-row label{font-size:11px}
.warranty-rule-row select,.warranty-rule-row input{width:100%;min-width:0}
.warranty-rule-row .warranty-month-input{gap:5px}
.warranty-rule-row .warranty-month-input span{font-size:10px}
.warranty-rule-remove{display:grid;place-items:center;min-height:39px;width:31px;color:#ffabab;background:#3b2427;border:1px solid #6c3b43;border-radius:9px;cursor:pointer}
.warranty-rule-remove:hover{background:#522b32}
.warranty-rule-hint{font-size:11px;color:#a9abb3;line-height:1.5;margin:13px 0 5px}
.warranty-note-field{margin:22px 0}
.warranty-note-field small{display:block;margin-top:7px;color:#a9abb3}
.warranty-admin-tip h2{font-size:18px}
.warranty-admin-tip>p{font-size:12px;line-height:1.6;color:#b7b8bd}
.warranty-preview{display:flex;align-items:center;gap:12px;border:1px solid #3a6651;background:linear-gradient(125deg,#213a2f,#17221d);border-radius:15px;padding:15px;margin:14px 0}
.warranty-preview-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #6ea88a;border-radius:11px;background:#274d39;color:#baf8d4;font-weight:900;font-size:22px}
.warranty-preview>div{display:grid;gap:4px}
.warranty-preview small{font-size:9px;letter-spacing:.1em;color:#a0ddbb;font-weight:800}
.warranty-preview strong{font-size:17px;color:#ecfff2;letter-spacing:-.02em}
.warranty-preview>div>span{font-size:11px;color:#b3c8bc}
/* Exibido apenas em /produto/:id. Nunca nos cards do catálogo. */
.detail-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:3px 0 12px}
.detail-spec{min-width:0;display:grid;gap:5px;padding:11px 12px;background:#1d1d20;border:1px solid #38383e;border-radius:10px}
.detail-spec span{font-size:10px;color:#a7a7af;letter-spacing:.01em}
.detail-spec strong{font-size:13px;color:#f4f4f6;line-height:1.35;overflow-wrap:anywhere}
.detail-warranty{display:flex;gap:13px;align-items:flex-start;border:1px solid #38684e;background:linear-gradient(110deg,#203a2c 0%,#16231c 62%,#151a17 100%);border-radius:15px;padding:16px;margin:0 0 18px;box-shadow:inset 0 1px 0 rgba(200,255,223,.08)}
.detail-warranty-symbol{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:#2b523b;border:1px solid #527f64;border-radius:13px;color:#c5ffda}
.detail-warranty-symbol svg{width:25px;height:25px}
.detail-warranty-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
.detail-warranty-kicker{font-size:10px;font-weight:850;letter-spacing:.09em;color:#a2e1be}
.detail-warranty-body>strong{font-size:clamp(17px,2.2vw,21px);font-weight:850;letter-spacing:-.028em;color:#f1fff6}
.detail-warranty-sub{font-size:11px;color:#bdd1c3}
.detail-warranty-notes{margin-top:8px;max-width:100%}
.detail-warranty-notes summary{font-size:11px;font-weight:750;color:#c2ffd9;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.detail-warranty-notes summary:focus-visible{outline:2px solid #c2ffd9;outline-offset:4px}
.detail-warranty-notes p{margin:10px 0 0;font-size:12px;line-height:1.5;color:#d3e3d8;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1050px){.warranty-admin-layout{grid-template-columns:1fr}.warranty-rule-row{grid-template-columns:105px 120px minmax(130px,1fr) 110px 31px}}
@media(max-width:680px){.warranty-defaults-grid{grid-template-columns:1fr 1fr}.warranty-rule-title{align-items:stretch;flex-direction:column}.warranty-rule-title button{align-self:flex-start}.warranty-rule-row{grid-template-columns:repeat(2,minmax(0,1fr)) 30px;align-items:end}.warranty-rule-model-field{grid-column:1/3}.warranty-rule-remove{grid-column:3;grid-row:1/3;align-self:center}.detail-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-warranty{padding:14px;gap:11px}.detail-warranty-symbol{width:38px;height:38px;flex-basis:38px}}
@media(max-width:400px){.warranty-defaults-grid{grid-template-columns:1fr}.warranty-rule-row{grid-template-columns:1fr 1fr 30px}.detail-spec-grid{grid-template-columns:1fr 1fr}}

/* Campo do modelo sempre visível por inteiro, inclusive Pro e Pro Max. */
.warranty-rule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 115px 32px}
.warranty-rule-row>.form-field:nth-child(1){grid-column:1;grid-row:1}
.warranty-rule-row>.form-field:nth-child(2){grid-column:2;grid-row:1}
.warranty-rule-row>.form-field:nth-child(4){grid-column:3;grid-row:1}
.warranty-rule-model-field{grid-column:1/4;grid-row:2}
.warranty-rule-remove{grid-column:4;grid-row:1/3;align-self:center}
@media(max-width:680px){
 .warranty-rule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 31px}
 .warranty-rule-row>.form-field:nth-child(1){grid-column:1;grid-row:1}
 .warranty-rule-row>.form-field:nth-child(2){grid-column:2;grid-row:1}
 .warranty-rule-model-field{grid-column:1/3;grid-row:2}
 .warranty-rule-row>.form-field:nth-child(4){grid-column:1/3;grid-row:3}
 .warranty-rule-row .warranty-month-input input{max-width:120px}
 .warranty-rule-remove{grid-column:3;grid-row:1/4;align-self:center}
}


.admin-portal-shell{min-height:100vh;padding:34px min(4vw,46px) 42px;background:radial-gradient(circle at 92% 0,rgba(114,87,255,.16),transparent 26%),radial-gradient(circle at 0 100%,rgba(43,168,126,.12),transparent 28%),#09090c;color:#f4f5f9;display:grid;align-content:start;gap:30px}.admin-portal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-portal-hero{display:grid;gap:18px;max-width:860px}.admin-portal-hero p{max-width:760px;color:#a8acb8;font-size:15px;line-height:1.7;margin:0}.admin-portal-brandmark{display:flex;align-items:center;justify-content:flex-start;min-height:96px}.admin-portal-brandmark img{max-width:min(360px,60vw);max-height:120px;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}.admin-portal-brandmark span{font-family:Manrope,sans-serif;font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-.065em;line-height:1.02}.admin-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-portal-card{appearance:none;text-align:left;border:1px solid #252630;background:linear-gradient(180deg,rgba(17,17,24,.96),rgba(12,12,16,.98));border-radius:30px;padding:24px 24px 22px;display:grid;gap:14px;color:#f5f6fb;cursor:pointer;box-shadow:0 18px 60px rgba(0,0,0,.16);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.admin-portal-card:hover{transform:translateY(-2px);border-color:#7a58ff;box-shadow:0 24px 70px rgba(63,43,141,.24)}.admin-portal-card.is-secondary:hover{border-color:#4bbe84;box-shadow:0 24px 70px rgba(24,80,50,.18)}.admin-portal-card-head,.admin-portal-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-portal-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8f92a0;font-weight:800}.admin-portal-link{font-size:12px;color:#dcdff0;font-weight:700}.admin-portal-card strong{font-size:29px;letter-spacing:-.045em}.admin-portal-card small{color:#a5a9b5;font-size:14px;line-height:1.7}.admin-portal-meta{padding-top:10px;border-top:1px solid #22242d;color:#d7daf0;font-size:13px;font-weight:700;margin-top:4px}.admin-portal-footer{display:flex;justify-content:flex-start}.sidebar.workspace-stock .sidebar-caption{color:#8f92a0}.side-link-alt{border-style:dashed;color:#d7d8e0}.side-link-alt:hover{border-style:solid}.workspace-stock .side-bottom,.workspace-vitrine .side-bottom{margin-top:auto}
@media(max-width:760px){.admin-portal-shell{padding:22px 18px 28px;gap:20px}.admin-portal-grid{grid-template-columns:1fr}.admin-portal-card{padding:20px;border-radius:22px}.admin-portal-card strong{font-size:24px}.admin-portal-meta{flex-direction:column;align-items:flex-start}.admin-portal-brandmark{min-height:70px}.admin-portal-brandmark img{max-width:75vw;max-height:86px}}

/* Portal do gestor — acesso direto, identidade premium e sem descrições redundantes. */
.admin-portal-shell{
 min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
 padding:clamp(18px,3vw,35px);gap:0;
 background:radial-gradient(ellipse 52% 42% at 50% 38%,rgba(88,57,175,.13),transparent 78%),#09090c;
 color:#f5f5fa;
}
.admin-portal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-portal-content{width:min(100%,840px);margin:clamp(58px,11vh,135px) auto 45px;display:flex;flex-direction:column;align-items:center;gap:clamp(44px,8vh,75px)}
.admin-portal-brandmark{min-height:85px;width:100%;display:flex;align-items:center;justify-content:center;text-align:center}
.admin-portal-brandmark img{width:auto;height:auto;max-width:min(480px,78vw);max-height:125px;object-fit:contain;filter:none}
.admin-portal-brandmark span{font-family:Manrope,sans-serif;font-size:clamp(29px,5vw,51px);letter-spacing:-.055em;font-weight:800;line-height:1.1}
.admin-portal-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-portal-card,.admin-portal-card.is-secondary{
 min-width:0;min-height:132px;display:flex;align-items:center;justify-content:space-between;
 gap:15px;padding:25px 28px;border-radius:22px;text-align:left;
 color:#f5f6fa;background:linear-gradient(150deg,#18171f,#101014);border:1px solid #32313d;
 box-shadow:none;transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.admin-portal-card:first-child{border-color:#6d49df;background:linear-gradient(145deg,#201a34,#131117)}
.admin-portal-card strong{font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.04em;line-height:1.15}
.admin-portal-card>span{flex-shrink:0;color:#ded5ff;font-size:30px;font-weight:400;line-height:1}
.admin-portal-card:hover,.admin-portal-card.is-secondary:hover{border-color:#966bff;transform:translateY(-1px);box-shadow:0 12px 24px #0003}
.admin-portal-card:focus-visible{outline:2px solid #a48aff;outline-offset:3px}
/* O desktop mantém o menu lateral original; só a área de estoque mobile recebe 3 colunas. */
@media(max-width:760px){
 .admin-portal-shell{padding:18px 16px 28px}
 .admin-portal-top{gap:8px}
 .admin-portal-top .logo-domain{font-size:clamp(15px,4.2vw,19px);letter-spacing:-.045em;white-space:nowrap}
 .admin-portal-top .btn{font-size:11px;padding:10px 12px;white-space:nowrap}
 .admin-portal-content{margin:clamp(65px,12vh,115px) auto 25px;gap:clamp(48px,9vh,78px)}
 .admin-portal-brandmark{min-height:75px}
 .admin-portal-brandmark img{max-width:min(310px,85vw);max-height:105px}
 .admin-portal-grid{grid-template-columns:1fr;gap:14px}
 .admin-portal-card,.admin-portal-card.is-secondary{min-height:102px;padding:23px 24px;border-radius:20px}
 .admin-portal-card strong{font-size:clamp(20px,5.6vw,26px)}
 .dashboard.stock-workspace .sidebar{padding:13px 12px 11px}
 .dashboard.stock-workspace .sidebar.workspace-stock nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;width:100%;align-items:stretch}
 .dashboard.stock-workspace .sidebar.workspace-stock nav>.side-link{
  min-width:0;width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;
  text-align:center;white-space:normal;overflow-wrap:break-word;line-height:1.25;
  font-size:clamp(9px,2.7vw,11px);font-weight:700;padding:8px 5px;
  border:1px solid #303038;border-radius:10px;background:#17171b;
 }
 .dashboard.stock-workspace .sidebar.workspace-stock nav>.side-link.active{border-color:#7450ef;background:#231a35;color:#fff}
 .dashboard.stock-workspace .sidebar.workspace-stock nav>.side-link:not(.active):hover{border-color:#53515f;background:#222128}
 .dashboard.stock-workspace .sidebar.workspace-stock nav>.side-link .side-ico{display:none}
 .dashboard.stock-workspace .dashboard-content{padding-top:19px}
 .dashboard.stock-workspace .admin-head{margin-bottom:17px;gap:0}
 .dashboard.stock-workspace .admin-head .eyebrow,
 .dashboard.stock-workspace .admin-head [data-admin-description],
 .dashboard.stock-workspace .admin-head>a{display:none}
 .dashboard.stock-workspace .admin-head h1{font-size:23px;margin:0;letter-spacing:-.04em}
}
@media(max-width:350px){
 .dashboard.stock-workspace .sidebar.workspace-stock nav>.side-link{font-size:9px;padding:7px 3px}
 .admin-portal-card,.admin-portal-card.is-secondary{min-height:94px;padding:19px 20px}
}
@media(prefers-reduced-motion:reduce){.admin-portal-card,.admin-portal-card.is-secondary{transition:none}}

/* 2026-10: entrada controlada do lojista — All Black premium */
.premium-auth.login-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#08080b;color:#f5f5f9;min-height:100svh}
.premium-auth .login-visual{background:radial-gradient(ellipse at 100% 1%,rgba(103,58,210,.26),transparent 46%),radial-gradient(ellipse at 4% 100%,rgba(76,43,160,.20),transparent 35%),linear-gradient(145deg,#0b0a11,#09090d 62%,#12101c);padding:clamp(28px,4.4vw,74px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #24222f;min-width:0}
.premium-auth .logo-domain{color:#fff;white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,2.1vw,27px)}
.premium-auth .login-statement{margin:auto 0;max-width:680px;padding:70px 0}
.premium-auth .login-visual h1{font-family:Manrope,system-ui,sans-serif;font-size:clamp(40px,4vw,67px);line-height:1.09;letter-spacing:-.068em;font-weight:850;max-width:690px;margin:0 0 30px;color:#fff}
.premium-auth .login-visual h1 em{font-style:normal;background:linear-gradient(90deg,#a98aff,#d2b5ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.premium-auth .login-visual p{font-size:clamp(13px,1.2vw,17px);line-height:1.78;color:#a9a8b7;max-width:550px;margin:0}
.premium-auth .login-main{padding:clamp(24px,5.2vw,80px);background:#080809;min-width:0}
.premium-auth .auth-card{width:min(525px,100%)}
.premium-auth .auth-card .eyebrow{color:#aa8cf7;letter-spacing:.17em;font-size:11px}
.premium-auth .auth-card h2{color:#faf9ff;font-family:Manrope,system-ui,sans-serif;font-size:clamp(29px,2.8vw,42px);letter-spacing:-.055em;margin:12px 0 7px}
.premium-auth .auth-card p{color:#a09faa;font-size:14px;line-height:1.65;margin:0 0 20px}
.premium-auth .auth-tabs{background:#111115;border:1px solid #2e2d39;border-radius:13px;padding:4px;gap:5px;margin:19px 0 24px}
.premium-auth .auth-tabs button{background:transparent;color:#c0bed0;padding:12px 7px;border:1px solid transparent;border-radius:10px;font-size:13px}
.premium-auth .auth-tabs button.active{color:#fff;border-color:#7955e7;background:linear-gradient(125deg,#2e1e4e,#1c182c);box-shadow:inset 0 0 0 1px #51398480}
.premium-auth .form-field,.account-settings .form-field{gap:8px;margin-bottom:15px}
.premium-auth .form-field label,.account-settings .form-field label{color:#e5e3ed;font-weight:650;font-size:13px}
.premium-auth .form-field input,.premium-auth .form-field textarea,.account-settings .form-field input{background:#171820;border:1px solid #343441;border-radius:11px;color:#f4f3f9;width:100%;font-size:14px;padding:12px 15px;min-height:48px;outline:none}
.premium-auth .form-field input:focus,.premium-auth .form-field textarea:focus,.account-settings .form-field input:focus{border-color:#8a62eb;box-shadow:0 0 0 3px rgba(136,94,240,.12)}
.premium-auth .form-field input::placeholder,.premium-auth .form-field textarea::placeholder{color:#747483}
.secure-input{position:relative;display:flex;width:100%;min-width:0;align-items:center}
.premium-auth .secure-input input,.account-settings .secure-input input{padding-right:50px}
.password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:37px;width:38px;display:flex;align-items:center;justify-content:center;background:transparent;color:#b5b3c5;border:0;border-radius:8px;cursor:pointer}
.password-eye:hover{background:#ffffff0d;color:#fff}
.password-eye:focus-visible{outline:2px solid #956dff;outline-offset:1px}
.premium-auth .auth-card .btn.auth-submit{width:100%;margin-top:8px;background:linear-gradient(110deg,#794ee4,#6440c2);color:#fff;border:1px solid #8459ed;border-radius:11px;padding:13px 18px;font-weight:800;min-height:49px}
.premium-auth .auth-card .btn.auth-submit:hover{filter:brightness(1.10)}
.premium-auth .auth-note{color:#b2afc0;margin-top:20px;font-size:13px}
.premium-auth .auth-note button{appearance:none;background:none;border:0;color:#b798ff;cursor:pointer;font-size:inherit;text-decoration:underline;font-weight:700}
.premium-auth .auth-help{font-size:12px!important;text-align:center;margin-top:12px!important}
.account-settings{max-width:590px}
.account-settings form{margin-top:20px}
.account-settings .secure-input input{background:#171820;border:1px solid #353540;color:#fff}
.account-settings button[type=submit]{background:#6d46d6;color:#fff;border:0;padding:13px 20px;border-radius:11px;margin-top:4px}
.portal-top-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.portal-top-actions .btn{font-size:12px}
.access-approvals{max-width:920px}
.access-requests-list{display:grid;gap:12px;margin-top:18px}
.access-request{background:#14141b;border:1px solid #30303b;border-radius:15px;padding:18px;display:flex;align-items:start;gap:18px;justify-content:space-between;flex-wrap:wrap}
.access-request strong{display:block;color:#fff;font-size:16px}
.access-request small{display:block;color:#9999a5;font-size:12px;margin-top:5px;overflow-wrap:anywhere}
.access-request p{font-size:13px;color:#bdbdc5;margin:7px 0!important;white-space:pre-line}
.access-status{color:#b8a1ff;font-size:12px;display:inline-block;margin-top:12px}
.access-request-actions{display:flex;gap:8px;flex-wrap:wrap}
.activation-link-box{background:#181421;border:1px solid #6242a7;border-radius:15px;padding:17px;margin-top:18px;overflow-wrap:anywhere}
.activation-link-box[hidden]{display:none}
.activation-link-row{display:flex;gap:9px;margin-top:10px}
.activation-link-row input{min-width:0;flex:1;color:#fff;background:#111115;border:1px solid #3b3852;border-radius:9px;padding:11px}
.activation-link-box p{font-size:12px;margin:8px 0!important}
@media(max-width:900px){.premium-auth.login-shell{grid-template-columns:1fr}.premium-auth .login-visual{padding:27px 24px 22px;border-right:0;border-bottom:1px solid #272331}.premium-auth .login-statement{margin:18px 0 0;padding:0}.premium-auth .login-visual h1{font-size:clamp(27px,6vw,44px);margin:0 0 10px;line-height:1.08}.premium-auth .login-visual p{font-size:12px;line-height:1.5;max-width:520px}.premium-auth .login-main{padding:30px 20px;min-height:0;justify-content:flex-start}.premium-auth .auth-card{max-width:530px}.portal-top-actions .btn{font-size:11px;padding:9px 10px}}
@media(max-width:380px){.portal-top-actions{gap:5px}.portal-top-actions .btn{font-size:10px;padding:8px 8px}.premium-auth .logo-domain{font-size:21px}.premium-auth .login-visual h1{font-size:28px}.premium-auth .login-main{padding:22px 16px}.premium-auth .auth-card h2{font-size:27px}.activation-link-row{flex-direction:column}}

/* Solicitação de acesso — contatos comerciais claros e compactos */
.premium-auth .access-request-form .request-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
.premium-auth .access-request-form .request-contact-grid>.form-field{min-width:0}
.access-request-info{flex:1;min-width:min(100%,290px)}
.access-request-contacts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:13px 0 9px}
.access-request-contacts>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.access-request-contacts>div>span:first-child{font-size:10px;color:#9999ac;letter-spacing:.06em;text-transform:uppercase}
.access-request-contacts a,.access-request-contacts>div>span:last-child{font-size:13px;color:#ebdefd;overflow-wrap:anywhere}
.access-request-contacts a:hover{color:#bfa5ff;text-decoration:underline}
@media(max-width:510px){.premium-auth .access-request-form .request-contact-grid{grid-template-columns:1fr;gap:0}}
/* Equipe — design premium, compacto e responsivo */
.staff-panel{max-width:1180px}.staff-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.staff-heading h2{margin:4px 0 6px}.staff-heading p,.staff-subtle,.staff-options-head p{color:#a9a8b6;font-size:13px;line-height:1.55}.staff-layout{display:grid;grid-template-columns:minmax(190px,275px) minmax(0,1fr);gap:20px;margin-top:22px}.staff-people{display:flex;flex-direction:column;gap:7px}.staff-person{padding:12px;text-align:left;display:flex;flex-direction:column;gap:4px;border-radius:11px;border:1px solid #303039;background:#141419;color:#f5f4f7;cursor:pointer}.staff-person.is-active{border-color:#8053dd;background:#20182b}.staff-person small{color:#b1aebe;overflow-wrap:anywhere}.staff-person span{color:#aaa;font-size:11px}.staff-editor{border:1px solid #2b2b34;border-radius:13px;padding:20px;background:#111116}.staff-editor h3{font-size:16px;margin:0 0 13px}.staff-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.staff-fields label,.staff-password{font-size:12px;display:flex;flex-direction:column;gap:7px;color:#d9d7e2}.staff-fields input,.staff-password input{width:100%;min-width:0;background:#202028;color:#fff;border:1px solid #3a3945;border-radius:9px;padding:11px;margin:0 0 9px}.staff-password{max-width:390px}.staff-options-head{margin-top:16px}.staff-options-head h3{margin-bottom:3px}.staff-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:5px}.staff-check{padding:8px 0;display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;color:#dedbe6}.staff-check input,.staff-status input{accent-color:#7f53ec}.staff-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.staff-status{margin-top:16px;display:flex;gap:9px;align-items:center}.staff-feedback{min-height:18px;color:#a2e5b3;font-size:12px}.staff-feedback.error{color:#ff9b9b}
@media(max-width:760px){.staff-layout{grid-template-columns:1fr}.staff-heading{align-items:center}.staff-people{max-height:230px;overflow-y:auto}.staff-editor{padding:13px}.staff-fields,.staff-permission-grid{grid-template-columns:1fr}.staff-check{padding:5px 0}}

/* Somente painel administrativo da vitrine; não afeta o catálogo público. */
.dashboard.vitrine-workspace,.dashboard.vitrine-workspace .dashboard-content,.dashboard.vitrine-workspace #admin-section,.dashboard.vitrine-workspace .panel,.dashboard.vitrine-workspace .two-cols{min-width:0;max-width:100%;box-sizing:border-box}
.dashboard.vitrine-workspace .panel *{max-width:100%;box-sizing:border-box}
.dashboard.vitrine-workspace .linkbox{min-width:0;max-width:100%;flex-wrap:wrap;overflow:hidden}
.dashboard.vitrine-workspace .linkbox code{min-width:0;flex:1 1 130px;overflow-wrap:anywhere;white-space:normal}
.dashboard.vitrine-workspace .vitrine-overview-stats .stat{background:#141318;border:1px solid #312c37;border-radius:14px;padding:17px 14px;min-width:0}
.dashboard.vitrine-workspace .vitrine-overview-stats .stat h3{font-size:clamp(23px,5vw,32px);color:#fff;margin:0 0 6px}
.dashboard.vitrine-workspace .vitrine-overview-stats .stat p{font-size:12px;line-height:1.4;color:#a9a3b2;margin:0}
.receipt-logo-admin{min-width:0;padding:17px 0;border-top:1px solid #35313b;margin:18px 0}.receipt-logo-admin h3{font-size:16px;margin:0 0 8px}.receipt-logo-admin p,.receipt-logo-admin small{font-size:12px;color:#a9a3b2}.receipt-logo-admin form{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.receipt-logo-admin input[type=file]{max-width:100%;min-width:0}.receipt-logo-choices{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0}.receipt-logo-choices label{display:flex;align-items:center;gap:6px;font-size:12px}.receipt-logo-preview{display:block;max-width:160px;max-height:85px;object-fit:contain;margin:8px 0}
@media(max-width:760px){.dashboard.vitrine-workspace .two-cols{grid-template-columns:minmax(0,1fr)}.dashboard.vitrine-workspace .stat-grid.vitrine-overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard.vitrine-workspace .vitrine-overview-stats .stat{padding:12px 8px}.dashboard.vitrine-workspace .vitrine-overview-stats .stat p{font-size:10px;overflow-wrap:anywhere}.dashboard.vitrine-workspace .dashboard-content{width:100%;overflow-x:clip}.dashboard.vitrine-workspace .panel{overflow-wrap:anywhere}}

/* Avaliação somente presencial: informação e visita à loja, sem valores online. */
.builder-presential {margin:18px 0;padding:15px;border:1px solid #3d4540;background:#1c211e;border-radius:13px;}
.builder-presential h3 {margin:0 0 6px;font-size:15px;}
.builder-presential > p {margin:0 0 14px!important;font-size:12px;color:#b8c2ba;}
.builder-presential > small {display:block;margin-top:10px;color:#9baaa0;font-size:11px;}
.builder-presential-row {padding:9px 0;border-top:1px solid #343c37;min-width:0;}
.builder-presential-row .builder-toggle {margin:0;}
.builder-presential-fields {padding:10px 3px 5px;display:grid;gap:9px;}
.builder-presential-fields input,.builder-presential-fields textarea {font-size:16px;min-width:0;max-width:100%;}
.builder-presential-fields .builder-field {min-width:0;}
.builder-presential-fields textarea {width:100%;resize:vertical;border:1px solid #494d4a;border-radius:10px;background:#252a27;color:#fff;padding:10px;line-height:1.45;}
.upgrade-presential-result[hidden] {display:none!important;}
.upgrade-presential-result {margin-top:16px;padding:17px;border:1px solid #90c5a3;background:#142b1d;border-radius:16px;min-width:0;}
.upgrade-presential-label {display:inline-block;font-size:10px;color:#b0d9bb;font-weight:800;letter-spacing:.12em;}
.upgrade-presential-result h3 {margin:7px 0 9px;font-size:19px;line-height:1.3;color:#fff;}
.upgrade-entry .upgrade-presential-result > p {margin:0 0 14px;color:#e7f3e9;font-size:14px;line-height:1.55;overflow-wrap:anywhere;}
.upgrade-presential-shop {border-radius:13px;overflow:hidden;border:1px solid #43644e;background:#101c14;}
.upgrade-presential-photo {display:block;width:100%;max-height:280px;object-fit:contain;background:#172019;}
.upgrade-presential-address {padding:14px;display:grid;gap:5px;}
.upgrade-presential-address strong {color:#fff;font-size:15px;}
.upgrade-presential-address span {color:#d2e7d6;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.upgrade-presential-route {display:block;background:#e2fbe5;text-align:center;color:#11251a;font-size:13px;font-weight:800;text-decoration:none;padding:13px 10px;}
.upgrade-presential-route:hover {color:#11251a;background:#fff;}
@media(max-width:550px){.upgrade-presential-result{padding:12px}.builder-presential{padding:11px}.upgrade-presential-photo{max-height:220px}}
