html,body{width:100%;max-width:100%;overflow-x:hidden!important}
.app-shell{width:100%!important;max-width:480px!important;margin-left:auto!important;margin-right:auto!important;overflow-x:hidden!important}
.app-content,.native-home,.native-welcome,.native-catalog,.native-detail,.seccion,.admin{width:100%;max-width:100%;min-width:0}
.app-shell svg:not(.icon-sprite){width:24px;height:24px;max-width:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.native-primary>span,.native-order>span{width:30px!important;height:30px!important;min-width:30px;display:grid!important;place-items:center!important;border-radius:50%;background:rgba(255,255,255,.16)}
.native-primary>span svg,.native-order>span svg{width:17px!important;height:17px!important;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.native-primary,.native-order{width:100%;max-width:280px;justify-content:space-between}
.native-welcome h1{max-width:100%;font-size:clamp(2rem,10vw,2.65rem)}
.brand{min-width:0}.brand strong{white-space:nowrap}
.native-search label>span{width:24px;height:24px;min-width:24px;display:grid;place-items:center;color:var(--text-secondary)}
.native-search label>span svg{width:20px!important;height:20px!important;display:block;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.native-search label{min-height:54px;overflow:hidden}
.native-search label input{min-width:0;width:100%}
.native-detail-facts>div{display:grid!important;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px}
.native-detail-facts>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--secondary);color:var(--primary)}
.native-detail-facts>div>span svg{width:20px!important;height:20px!important}
.native-detail-facts>div>p{min-width:0}.native-detail-facts>div b,.native-detail-facts>div small{white-space:normal;overflow-wrap:normal;word-break:normal}
.native-detail-sheet{margin-top:-24px!important;padding:16px!important;border-radius:20px!important}
.native-detail-sheet .native-pill{padding:4px 9px!important;font-size:.6rem!important}
.native-detail-sheet h1{margin:8px 0 0!important;font-size:1.75rem!important;line-height:1.08!important}
.native-detail-sheet .native-price{margin:8px 0!important;font-size:1.25rem!important}
.native-detail-sheet .native-description{margin:8px 0 12px!important;font-size:.84rem!important;line-height:1.45!important}
.native-detail-facts{gap:6px!important;margin:10px 0 13px!important}
.native-detail-facts>div{min-height:58px;padding:8px 10px!important;border-radius:14px!important}
.native-detail-facts>div>span{width:36px;height:36px}
.native-detail-facts>div b{font-size:.78rem;line-height:1.2}.native-detail-facts>div small{font-size:.67rem;line-height:1.2}
.native-order{min-height:48px!important;padding:11px 15px!important}
.auth-field b svg,.wa-back svg,.wa-send svg,.wa-input label svg,.native-shortcuts svg{width:21px!important;height:21px!important}
.bottom-nav{max-width:480px}
.app-topbar{position:fixed!important;top:0;left:0;right:0;width:100%;max-width:480px;height:calc(64px + env(safe-area-inset-top,0px))!important;padding:calc(8px + env(safe-area-inset-top,0px)) 15px 7px!important;margin:0 auto;z-index:100}
.brand-mark{width:36px!important;height:36px!important}.brand-mark svg{width:30px!important;height:30px!important}.brand strong{font-size:1.15rem!important}.top-avatar span{width:38px!important;height:38px!important}
.app-content{padding-top:calc(64px + env(safe-area-inset-top,0px));padding-bottom:0!important;min-height:0!important}
.bottom-nav{height:calc(68px + env(safe-area-inset-bottom,0px))!important;padding:5px 7px calc(5px + env(safe-area-inset-bottom,0px))!important}
.bottom-nav a{gap:2px!important;border-radius:13px!important;font-size:.6rem!important}.bottom-nav svg{width:21px!important;height:21px!important}
.seccion,.admin,.native-home,.native-catalog,.native-detail,.auth-app,.catalog-admin,.dashboard-admin,.orders-admin{padding:14px 13px 10px!important}
.app-content>section:last-child{margin-bottom:8px!important}
.app-content.needs-bottom-space>section:last-child{margin-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important}
body:has(.wa-page) .app-content>section:last-child{margin-bottom:0!important}
.seccion>h1,.admin>h1,.page-title{font-size:1.85rem!important;margin:3px 0 10px!important}
.panel,.tarjeta,.resumen{padding:14px!important;border-radius:17px!important;box-shadow:0 7px 22px rgba(74,24,45,.07)!important}
.rejilla,.product-list,.order-list,.payment-list,.native-product-list,.native-catalog-grid{gap:9px!important}
label{margin:8px 0!important;gap:5px!important}input,select,textarea{min-height:46px!important;padding:10px 12px!important;border-radius:12px!important}textarea{min-height:86px!important}
.boton{min-height:46px!important;padding:10px 14px!important;border-radius:13px!important}
.catalog-heading h1,.orders-head h1{font-size:2.35rem!important}.catalog-search{height:50px!important;margin:16px 0 9px!important;border-radius:14px!important}.catalog-search input{height:46px!important}.catalog-actions{margin:12px 0 20px!important;gap:8px!important}.action-card{min-height:88px!important;padding:11px!important;border-radius:16px!important}.action-card>span{width:40px!important;height:40px!important}.section-heading{margin-bottom:9px!important}.section-heading h2{font-size:1.08rem!important}
.catalog-product{padding:8px!important;gap:9px!important;border-radius:18px!important}.product-image{min-height:180px!important;border-radius:13px!important}.product-info h3{margin:6px 0!important;font-size:.94rem!important}.product-facts{gap:4px!important}.product-buttons{padding-top:7px!important}.edit-button,.product-menu>summary{min-height:40px!important}
.dashboard-metrics{gap:8px!important;margin:16px 0!important}.dashboard-metrics>a,.dashboard-metrics>article{min-height:112px!important;padding:12px!important;border-radius:17px!important}.dashboard-metrics .wide{min-height:92px!important}.dashboard-actions{gap:8px!important}.dashboard-actions a{min-height:100px!important;padding:12px!important}
.orders-head{margin-bottom:17px!important}.order-card{padding-top:12px!important;padding-bottom:12px!important;border-radius:16px!important}.payment-card{padding:10px!important;border-radius:16px!important}
.auth-brand{padding:10px 5px!important}.auth-brand h1{font-size:2rem!important}.auth-sheet{padding:15px!important;border-radius:20px!important}
body:has(.wa-page) .app-content{position:fixed!important;top:calc(64px + env(safe-area-inset-top,0px))!important;bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;left:0!important;right:0!important;width:100%!important;max-width:480px!important;height:auto!important;margin:0 auto!important;padding:0!important;overflow:hidden!important}
body:has(.wa-page) .wa-page,body:has(.wa-page) .wa-shell{height:100%!important;min-height:0!important}
.wa-compose{min-height:58px!important;padding:5px 8px!important;align-items:center!important;gap:7px!important;background:#fff!important}
.wa-input{height:48px!important;min-height:48px!important;padding:0 4px 0 12px!important;display:flex!important;align-items:center!important;border:1px solid var(--border)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important}
.wa-input textarea{flex:1!important;width:auto!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:11px 5px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;resize:none!important;line-height:22px!important}
.wa-input label{width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;display:grid!important;place-items:center!important;border-radius:12px!important;color:var(--primary)!important;cursor:pointer!important}
.wa-input label:active{background:var(--secondary)!important}
.wa-send{width:48px!important;height:48px!important;min-width:48px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;box-shadow:0 7px 16px rgba(154,30,78,.22)!important}
.wa-send svg{width:20px!important;height:20px!important}
@media(min-width:600px){.app-shell{width:min(100%,480px)!important}.app-topbar{top:22px}.bottom-nav{width:min(100%,480px)!important}body:has(.wa-page) .app-content{top:86px!important;bottom:90px!important}}

/* Zona desplazable: la barra inferior fija nunca debe cubrir el final. */
html,body{min-height:100%;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
.app-shell{height:auto!important;min-height:100dvh!important;overflow-y:visible!important}
.app-content{height:auto!important;min-height:calc(100dvh - 64px)!important;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;overflow-y:visible!important}
.app-content>section:last-child,.app-content>div:last-child{margin-bottom:0!important}
body:has(.wa-page){overflow-y:hidden!important}
body:has(.wa-page) .app-shell{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
body:has(.wa-page) .app-content{min-height:0!important;padding-bottom:0!important;overflow:hidden!important}

/* Cabecera: identidad visual más limpia y compacta. */
.app-topbar{
  padding-inline:14px!important;
  background:linear-gradient(110deg,rgba(255,255,255,.97),rgba(255,246,250,.96))!important;
  border-bottom:1px solid rgba(198,46,101,.09)!important;
  box-shadow:0 7px 24px rgba(93,26,54,.06)!important;
  backdrop-filter:blur(20px) saturate(150%)!important;
}
.brand{gap:10px!important;padding:3px 9px 3px 3px;border-radius:15px;transition:background .2s ease,transform .2s ease}
.brand-mark{
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(198,46,101,.12);
  border-radius:13px;
  background:linear-gradient(145deg,#fff,#fce8f0);
  box-shadow:0 5px 14px rgba(161,35,83,.09);
}
.brand-mark svg{width:24px!important;height:24px!important;stroke-width:2!important}
.brand strong{font-size:1.08rem!important;font-weight:850;letter-spacing:-.035em!important;color:#7f123c}
.brand strong{max-width:245px;overflow:hidden;text-overflow:ellipsis}
.top-avatar{
  padding:3px!important;
  border:1px solid rgba(198,46,101,.12);
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 7px 18px rgba(92,26,53,.13)!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.top-avatar span{
  width:40px!important;
  height:40px!important;
  background:linear-gradient(145deg,#df4c80,#bd245b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
  font-size:.95rem;
  letter-spacing:.02em;
}
.brand:active,.top-avatar:active{transform:scale(.96)}
@media(hover:hover){.brand:hover{background:rgba(198,46,101,.055)}.top-avatar:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(92,26,53,.17)!important}}
.profile-summary>span{width:50px!important;height:50px!important;border:3px solid #fff;overflow:hidden;box-shadow:0 5px 14px rgba(122,25,62,.16)}
.profile-summary>span img,.top-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.profile-photo-field input{padding:8px!important;background:#fff7fa;border-style:dashed}
.profile-photo-field small{color:var(--text-secondary);font-size:.68rem;font-weight:600}
.profile-notifications{margin:0 0 10px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(198,46,101,.12);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(74,24,45,.06)}
.profile-notifications>div{display:grid;gap:2px}.profile-notifications b{font-size:.82rem}.profile-notifications small{color:var(--text-secondary);font-size:.66rem;line-height:1.35}.profile-notifications .boton{min-height:38px!important;padding:8px 12px!important;font-size:.7rem}
.agenda-page>.acciones{margin:12px 0 16px}.agenda-day{margin-bottom:10px!important}.agenda-day>header{display:flex;align-items:center;justify-content:space-between}.agenda-day h2{margin:0;font-size:1.05rem}.agenda-day header small{color:var(--primary);font-weight:850}.agenda-orders{display:grid;margin-top:10px}.agenda-orders>a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.agenda-orders time{font-weight:850;color:var(--primary)}.agenda-orders div{display:grid}.agenda-orders small,.agenda-orders>a>span{color:var(--text-secondary);font-size:.65rem}.agenda-stock{display:flex;align-items:center;justify-content:space-between;margin:0;padding:9px 0;border-bottom:1px solid var(--border)}.agenda-stock span{display:grid}.agenda-stock small{color:var(--text-secondary)}.agenda-stock strong{color:#b12650}
.password-field{position:relative;display:flex;align-items:center;width:100%}.password-field>input{flex:1;min-width:0;padding-right:48px!important}.auth-field.password-field>input{padding-right:4px!important}.password-toggle{width:42px;height:42px;min-width:42px;padding:0;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--primary);cursor:pointer}.password-toggle:active{background:var(--secondary)}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.native-detail-sheet{padding:13px 15px 14px!important}.native-detail-sheet h1{margin:6px 0 0!important;font-size:1.58rem!important}.native-detail-sheet .native-price{margin:5px 0!important;font-size:1.15rem!important}.native-detail-sheet .native-description{margin:5px 0 9px!important;font-size:.78rem!important;line-height:1.35!important}.native-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:7px 0 9px!important}.native-detail-facts>div{display:flex!important;min-width:0;min-height:72px!important;padding:7px 4px!important;flex-direction:column;justify-content:center;gap:3px!important;text-align:center}.native-detail-facts>div>span{width:30px!important;height:30px!important;border-radius:10px!important}.native-detail-facts>div>p{display:grid;justify-items:center;line-height:1.05}.native-detail-facts>div b{font-size:.68rem!important}.native-detail-facts>div small{font-size:.57rem!important}.native-order{min-height:44px!important;padding:8px 13px!important}.native-order>span{width:27px!important;height:27px!important;min-width:27px!important}
