header{background:var(--navy);color:white;position:sticky;top:0;z-index:15;padding:12px max(16px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:850;letter-spacing:.2px}.nav{display:flex;flex-wrap:wrap;gap:6px}.nav button{background:transparent;border:1px solid #ffffff55;color:white;border-radius:9px;padding:9px;font-size:var(--text-sm)}.nav button.active{background:#ffffff2c}.shell{max-width:1160px;margin:auto;padding:20px 16px 110px}.hero{background:linear-gradient(115deg,var(--navy),var(--navy-light));color:white;padding:30px;border-radius:var(--radius);margin-bottom:20px}.hero p{color:#e3edf8;margin-bottom:0}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--gap);margin-bottom:28px}.store-tile{display:flex;align-items:center;gap:12px;padding:20px;text-align:left;background:white;border:1px solid var(--line);border-radius:var(--radius)}.store-tile .symbol{font-size:38px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input,.toolbar select{padding:10px;border:1px solid var(--line);border-radius:9px;min-width:0;max-width:100%}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}.product-image{height:200px;background:#eaf0f6;display:grid;place-items:center;font-size:60px;overflow:hidden}.product-image img{height:100%;width:100%;object-fit:contain}.product-body{padding:14px;display:grid;gap:9px}.product-body h3{margin:0;min-height:44px}.price{font-size:1.3rem;font-weight:850}.strike{text-decoration:line-through;color:var(--muted);font-size:var(--text-sm)}.product-actions{display:flex;gap:6px}.product-actions .btn{flex:1;padding:10px 7px;font-size:var(--text-sm)}.cart-toggle{position:fixed;bottom:16px;right:16px;z-index:20;box-shadow:var(--shadow)}.overlay{position:fixed;inset:0;background:#09182b99;z-index:30}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);background:white;z-index:31;display:flex;flex-direction:column}.drawer-head,.drawer-foot{padding:18px;border-bottom:1px solid var(--line)}.drawer-foot{border-top:1px solid var(--line);border-bottom:0;display:grid;gap:10px}.drawer-body{flex:1;overflow:auto;padding:16px}.cart-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.qty{display:flex;align-items:center;gap:7px}.qty button{padding:6px 10px;background:white;border:1px solid var(--line);border-radius:8px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.detail-hero{height:330px;background:#edf2f7;display:grid;place-items:center;font-size:80px;border-radius:var(--radius);overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:contain}.thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px}.thumbs button{border:2px solid var(--line);border-radius:8px;background:white;width:68px;height:64px;flex-shrink:0;overflow:hidden}.thumbs button.active{border-color:var(--navy)}.thumbs img{width:100%;height:100%;object-fit:contain}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap)}.admin-panel{padding:18px}.admin-list-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.admin-tabs button.active{background:var(--navy);color:white}.admin-tabs button{border:1px solid var(--line);border-radius:9px;background:white;padding:10px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.company-grid .card{padding:20px}.link{border:0;background:transparent;color:#176a9d;text-decoration:underline;cursor:pointer}.empty{text-align:center;color:var(--muted);padding:30px}@media(max-width:720px){header{display:block;padding:11px}.brand{font-size:var(--text-sm);margin-bottom:9px}.nav button{font-size:var(--text-xs);padding:8px}.shell{padding:12px 11px 100px}.hero{padding:22px 17px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image{height:145px;font-size:46px}.product-body{padding:10px}.product-body h3{font-size:var(--text-sm);min-height:55px}.product-actions{display:grid}.detail-layout,.admin-layout,.company-grid{grid-template-columns:1fr}.detail-hero{height:270px}.store-grid{grid-template-columns:1fr 1fr;gap:9px}.store-tile{display:block;padding:12px}.store-tile .symbol{font-size:29px}.cart-toggle{right:10px;bottom:10px}}@media(max-width:360px){.products{grid-template-columns:1fr}.store-grid{grid-template-columns:1fr}}
/* v0.3.1 — menú compacto y controles compartidos */
.nav{position:relative;display:block}.nav .menu-trigger{font-size:var(--text-menu);font-weight:700;white-space:nowrap;padding:8px 12px;border:1px solid #ffffff70;background:#ffffff12}.nav .menu-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-width:min(310px,calc(100vw - 25px));display:grid;gap:3px;background:var(--navy);padding:7px;border:1px solid #ffffff45;border-radius:10px;box-shadow:var(--shadow);z-index:25}.nav .menu-popover button{width:100%;text-align:left;font-size:var(--text-menu);padding:10px 12px;border:0}.nav .menu-popover button:hover,.nav .menu-popover button:focus-visible{background:#ffffff25}.hero{padding:15px 18px;margin-bottom:15px}.hero h1,.hero p,.hero .caption{font-size:var(--text-hero);font-weight:400;line-height:1.5;margin:0}.hero h1{font-weight:700;margin:4px 0}.toolbar{gap:8px;margin-bottom:10px}.filter-row{display:flex;align-items:center;gap:8px;min-width:0;flex:1;justify-content:flex-end}.toolbar .filter-row input,.toolbar .filter-row select{flex:1;min-width:0;width:0;font-size:var(--text-sm);padding:8px}.toolbar .filter-row select{flex:1.2}.toolbar h2{font-size:var(--title-sm)}
@media(max-width:720px){header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px}.brand{margin:0;min-width:0;font-size:var(--text-menu);line-height:1.25}.nav{flex-shrink:0}.nav .menu-popover{left:auto;right:0}.shell{padding-top:10px}.hero{padding:12px 14px;margin-bottom:12px}.toolbar{align-items:center;flex-wrap:nowrap;gap:7px}.toolbar h2{font-size:var(--text-sm);max-width:95px;line-height:1.2}.toolbar .filter-row{gap:5px}.toolbar .filter-row input,.toolbar .filter-row select{padding:7px 5px;font-size:var(--text-xs)}.store-grid{margin-bottom:16px}}
@media(max-width:390px){.brand{font-size:11px}.nav .menu-trigger{padding:7px 8px}.toolbar h2{max-width:78px}}

/* Panel v0.3.2: estilos reutilizables, heredados desde tokens.css */
.photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:var(--gap)}.photo-tile{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--background)}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile .btn{position:absolute;top:3px;right:3px;padding:4px 8px}.admin-list-row[hidden]{display:none!important}.admin-panel .row{flex-wrap:wrap}.admin-panel .btn{font-size:var(--text-sm)}

/* v0.3.3: menús y acciones compartidas. Cambios globales, no por botón. */
:root{--action-button-width:72px;--action-delete-width:42px;--action-button-height:40px;--admin-menu-width:235px}
.menu-popover .store-submenu{display:grid;gap:3px;padding-left:12px;border-left:2px solid #ffffff50;margin-left:12px}
.nav .menu-popover .store-submenu button{font-size:var(--text-menu)}
.admin-menu{position:relative;display:inline-block;margin-bottom:var(--gap);max-width:100%}
.admin-menu-trigger{min-width:170px;text-align:left}
.admin-menu-options{position:absolute;top:calc(100% + 5px);left:0;z-index:12;width:min(var(--admin-menu-width),calc(100vw - 35px));background:var(--navy);border-radius:10px;padding:7px;box-shadow:var(--shadow);display:grid;gap:3px}
.admin-menu-options button{width:100%;border:0;border-radius:7px;padding:11px;text-align:left;color:white;background:transparent;font-size:var(--text-sm)}
.admin-menu-options button.active,.admin-menu-options button:hover{background:#ffffff29}
.admin-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.admin-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.admin-list-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.admin-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;flex-shrink:0}
.admin-row-actions .btn{height:var(--action-button-height);padding:8px 9px;white-space:nowrap;min-width:var(--action-button-width)}
.admin-row-actions .btn.action-delete{min-width:var(--action-delete-width);width:var(--action-delete-width);padding:8px}
@media(max-width:720px){.admin-layout{grid-template-columns:1fr}.admin-list-row{grid-template-columns:minmax(0,1fr) auto}.admin-panel{padding:15px}.admin-row-actions .btn{font-size:var(--text-xs)}}

/* Orden vertical también en PC: listas arriba, formularios abajo */
.admin-layout{grid-template-columns:minmax(0,1fr)}

/* Shared admin form disclosure and reusable actions */
.admin-create{justify-self:start;width:max-content;max-width:100%;margin-top:2px}.category-product-list{display:grid;gap:8px;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px}.category-product{display:flex;align-items:center;gap:9px;font-size:var(--text-sm)}.category-product input{width:17px;height:17px;flex-shrink:0}.admin-row-actions{display:flex;flex-wrap:nowrap;white-space:nowrap}.admin-list-row>span:first-child{min-width:0}.admin-list-row .btn{flex-shrink:0}

/* v0.3.5 shared admin editing, store logos, responsive image viewer */
#admin-edit-form{scroll-margin-top:65px}.toggle-field{display:flex;align-items:center;gap:10px}.toggle-field input{width:19px;height:19px;flex-shrink:0}.logo-preview{display:flex;align-items:center;gap:12px}.logo-preview img{width:86px;height:86px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.store-tile .symbol img{width:58px;height:58px;object-fit:contain;border-radius:12px}.detail-zoom{border:0;width:100%;cursor:zoom-in}.photo-modal{position:fixed;inset:0;z-index:70;background:#061326ed;display:flex;align-items:center;justify-content:center;gap:8px;padding:22px;color:white}.photo-modal>img{max-width:min(78vw,900px);max-height:80vh;object-fit:contain}.photo-modal button{border:1px solid #ffffff55;border-radius:10px;background:#ffffff22;color:white;font-size:32px;cursor:pointer;min-width:40px}.photo-modal .photo-close{position:absolute;right:20px;top:20px}.photo-modal span{position:absolute;bottom:14px}.app-toast{position:fixed;bottom:75px;left:50%;transform:translateX(-50%);background:#126d56;color:white;padding:12px 18px;border-radius:12px;z-index:90;box-shadow:var(--shadow);max-width:90vw;text-align:center;font-weight:700}.admin-create{margin:0 0 4px}@media(max-width:720px){.photo-modal{padding:10px;gap:4px}.photo-modal>img{max-width:calc(100vw - 100px)}.photo-modal button{min-width:34px}}

/* v0.3.6: reusable card, variants, location summary */
.product-card .product-body{display:flex;flex-direction:column;gap:9px;padding:12px}.product-card__name{margin:0!important;min-height:0!important;line-height:1.35}.product-card__price{margin:0!important;padding:0!important}.product-card .product-actions{margin-top:0!important;display:grid;gap:7px}.product-card .product-actions .btn{width:100%;min-width:0}.variant-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.variant-editor h3{margin:0}.variant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) auto;align-items:end;gap:8px;border-top:1px solid var(--line);padding-top:10px}.variant-row .field{min-width:0}.variant-row .btn{white-space:nowrap}.company-read-row{border-bottom:1px solid var(--line);padding:8px 0}.company-read-row p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.maps-link{display:inline-flex;text-decoration:none;margin:10px 0}@media(max-width:700px){.variant-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.variant-row .field:first-child{grid-column:1/-1}.variant-row .btn{grid-column:1/-1}}

/* v0.3.7: componentes compartidos de tiendas y densidad administrativa */
.store-card{display:flex!important;flex-direction:column;align-items:stretch!important;text-align:left;gap:8px;min-width:0}
.store-card__media{height:96px;width:100%;display:grid;place-items:center;background:#edf2f7;border-radius:10px;font-size:34px;overflow:hidden;flex:none}
.store-card__media img{display:block;width:100%!important;height:100%!important;object-fit:contain;border-radius:0!important}
.store-card__content{display:flex;flex-direction:column;gap:4px;min-width:0}
.store-card__content strong,.store-card__content small{display:block;overflow-wrap:anywhere;line-height:1.35}
.admin-layout{gap:10px}
.admin-panel{padding:13px}
.admin-panel h2{margin:0 0 10px}
.admin-panel .field{margin-bottom:8px}
.admin-list-row{padding:8px 0;gap:7px}
.admin-panel.stack{gap:9px}
.variant-editor{gap:7px;padding:10px}
.variant-row{padding-top:7px;scroll-margin-top:90px}
#admin-edit-form,.variant-editor{scroll-margin-top:85px}
@media(max-width:720px){.store-tile.store-card{display:flex!important;padding:9px}.store-card__media{height:76px}.admin-panel{padding:12px}.admin-list-row{padding:7px 0}}

#product-base-fields.hidden{display:none!important}
.maps-link{display:inline-flex;align-items:center;margin:8px 0 14px;text-decoration:none}

/* v0.3.9: componentes compactos compartidos, sin reducir tipografía */
.cart-item .qty{flex-shrink:0;gap:5px}.cart-item .qty button{padding:6px 9px}.cart-item .qty .cart-remove{border-color:#e7b9be;color:var(--danger);font-weight:800;margin-left:3px}
#admin-edit-form.stack{gap:7px}#admin-edit-form .field{gap:4px;margin-bottom:2px}#admin-edit-form .field input,#admin-edit-form .field select,#admin-edit-form .field textarea{padding:9px 11px}#admin-edit-form .variant-editor{gap:7px;padding:9px}#admin-edit-form .variant-editor .caption{margin:0;line-height:1.4}
.variant-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:9px 0 4px;border-top:1px solid var(--line)}.variant-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.85fr);gap:7px;align-items:start}.variant-cell{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.variant-heading{font-size:var(--text-sm);font-weight:600}.variant-cell strong{font-size:var(--text-sm);font-weight:600}.variant-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.85fr);gap:7px}.variant-fields .field{min-width:0}.variant-fields input{min-width:0}.variant-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.variant-actions .btn{width:100%;min-width:0;padding:9px 7px}.variant-row.is-editing .variant-summary{display:none}.variant-editor>[data-new-variant]{width:100%;padding:9px}.variant-editor .variant-row .btn{grid-column:auto}
.company-read-row{padding:5px 0}.company-read-row p{margin:2px 0;line-height:1.4}.admin-panel .company-read-row strong{line-height:1.25}.company-grid .card{padding:15px}.company-grid h2{margin-bottom:12px}.company-grid h3{margin:13px 0 6px}.company-grid p{margin-bottom:9px;line-height:1.45}.payment-qr-thumb{display:block;width:150px;max-width:100%;max-height:160px;object-fit:contain;margin:8px 0}.qr-admin-current{display:grid;gap:5px}.payment-qr-public{display:grid;justify-items:start;gap:8px;margin-top:10px}.payment-qr-public img{width:min(240px,100%);height:auto;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:6px;background:white}.payment-qr-public .caption{margin:0}
@media(max-width:480px){.variant-summary,.variant-fields{gap:5px}.variant-fields input{padding:8px 5px!important}.variant-editor{min-width:0}.variant-heading{overflow-wrap:anywhere}.cart-item{gap:5px}.cart-item .qty{gap:3px}.cart-item .qty button{padding:5px 7px}}

/* v0.3.10: reusable compact admin layout for all new panels */
.admin-layout,.compact-admin{display:grid;gap:10px}.admin-panel,.compact-form{padding:12px!important}.admin-panel.stack,.compact-form.stack{gap:9px!important}.admin-panel h2,.compact-form h2{margin:0 0 7px}.admin-panel .field,.compact-form .field{margin:0;gap:4px}.admin-panel label,.compact-form label{line-height:1.3}.admin-panel input,.admin-panel select,.admin-panel textarea{margin-top:3px}.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.form-grid-two>*{min-width:0}.form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-actions .btn{width:100%}.sale-total{padding:9px 10px;background:var(--surface,#f2f6fa);border-radius:9px}.sales-history .admin-list-row{padding:9px 0}.inline-check{display:flex!important;align-items:center;gap:8px!important}.inline-check input{width:auto!important;margin:0!important}.variant-editor>h3{margin-bottom:5px}.variant-editor #variant-list{margin-top:5px}@media(max-width:370px){.form-grid-two{gap:6px}.compact-form{padding:10px!important}}

/* v0.3.11 shared compact administration, sales and reports */
.admin-title{font-size:var(--title-sm);margin:0 0 12px;line-height:1.3}.sale-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.sale-row-main{display:flex;align-items:flex-start;gap:9px;min-width:0;overflow-wrap:anywhere}.sale-row-main>span{min-width:0}.sale-row-main>input{margin-top:4px;flex-shrink:0}.sale-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sale-actions .btn{padding:8px 5px;white-space:normal}.sales-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.sales-toolbar .btn{padding:8px}.sales-bulk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.sales-bulk .btn{white-space:normal;padding:9px 5px}.sale-status{font-size:var(--text-xs);background:#eaf4ef;color:#126b52;border-radius:5px;padding:2px 5px}.sale-status.cancelled{background:#fff1e7;color:#8b3d1d}.report-panel{max-width:740px;display:grid;gap:11px}.report-panel h2,.report-panel h3{margin:0}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-kpis>div{background:#f0f4f9;border-radius:9px;padding:10px;display:grid;gap:4px;min-width:0}.report-kpis small{color:var(--muted)}.report-kpis strong{font-size:1.12rem;overflow-wrap:anywhere}.report-ranking .admin-list-row{grid-template-columns:minmax(0,1fr) auto}.report-ranking strong{font-size:var(--text-sm)}@media(max-width:400px){.report-filters{grid-template-columns:1fr}.sales-bulk .btn{font-size:var(--text-sm)}}

/* Fix: one toast only, text remains readable on narrow screens. */
#pulsar-toast{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}
