:root{--purple:#641852;--purple2:#4d123f;--terracotta:#df6646;--pink:#f6d4cf;--pink2:#fff6f3;--ink:#31122b;--muted:#8c7283;--line:#eadde3;--white:#fff;--green:#1d7a4b;--red:#ae3b32;--shadow:0 16px 50px rgba(78,18,63,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#faf6f5}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--purple2),#321027);color:#fff;padding:22px 16px;z-index:50;display:flex;flex-direction:column}.brand-lockup{display:flex;align-items:center;gap:10px;padding:0 6px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-lockup img{width:132px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.brand-lockup span{font-size:12px;line-height:1.25;color:#f3dfe8}.brand-lockup b{display:block;color:#ffb493}.sidebar nav{padding-top:18px;display:grid;gap:5px}.sidebar nav a{padding:11px 12px;border-radius:12px;display:flex;align-items:center;gap:10px;font-size:14px;color:#f8edf3}.sidebar nav a span{width:20px;text-align:center}.sidebar nav a.active,.sidebar nav a:hover:not(.disabled){background:rgba(255,255,255,.12)}.sidebar nav a.disabled{opacity:.45;cursor:not-allowed}.sidebar nav em{font-size:9px;margin-left:auto;background:rgba(255,255,255,.1);padding:3px 6px;border-radius:20px;font-style:normal}.sidebar-foot{margin-top:auto;padding:14px 10px;color:#e8cdd9;font-size:12px}.sidebar-foot small{color:#cbaebb}.env-dot{display:inline-block;width:8px;height:8px;background:#5be29d;border-radius:50%;margin-right:6px}.main{margin-left:260px;min-width:0;flex:1}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 28px;position:sticky;top:0;z-index:30}.topbar h1{font-family:Georgia,serif;margin:3px 0 0;font-size:24px}.topbar small{font-size:10px;letter-spacing:.12em;color:var(--muted)}.menu-btn{display:none}.user-menu{margin-left:auto;display:flex;align-items:center;gap:9px}.user-menu .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--purple);font-weight:900}.user-menu strong,.user-menu small{display:block}.user-menu small{letter-spacing:0;text-transform:none}.user-menu>a{font-size:12px;color:var(--terracotta);font-weight:800;margin-left:10px}.content{padding:28px;max-width:1450px;margin:auto}.hero-admin{background:linear-gradient(120deg,var(--purple),#7d2a63);color:#fff;border-radius:26px;padding:30px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-admin:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--terracotta);right:-70px;top:-120px;opacity:.9}.hero-admin h2{font-family:Georgia,serif;font-size:34px;margin:0 0 8px;position:relative;z-index:2}.hero-admin p{margin:0;max-width:760px;color:#f7dfe9;position:relative;z-index:2}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.badge.approved,.badge.active{background:#e9f8ef;color:#17633b}.badge.pending,.badge.review{background:#fff2d8;color:#805710}.badge.suspended,.badge.inactive,.badge.rejected{background:#ffebea;color:#942d28}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 6px 20px rgba(74,19,60,.04)}.stat .n{font-size:30px;font-weight:900;color:var(--purple)}.stat .l{font-size:12px;color:var(--muted);margin-top:4px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-top:18px;box-shadow:0 8px 30px rgba(74,19,60,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h3{font-family:Georgia,serif;font-size:22px;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;padding:10px 15px;border-radius:999px;border:0;font-weight:800;font-size:13px;cursor:pointer}.btn.secondary{background:#fff;color:var(--purple);border:1px solid #dcbfce}.btn.terracotta{background:var(--terracotta)}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:11px 9px}td{padding:13px 9px;border-bottom:1px solid #f0e7eb;font-size:13px;vertical-align:middle}.table-wrap{overflow:auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #dfd0d8;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}.alert{padding:13px 16px;border-radius:14px;margin-bottom:16px}.alert.success{background:#e9f8ef;color:#17633b}.alert.error{background:#ffebea;color:#942d28}.store-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.store-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.store-card .cover{height:90px;background:linear-gradient(135deg,var(--purple),var(--terracotta));position:relative}.store-card .cover:after{content:"";width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.18);position:absolute;right:14px;top:14px}.store-card .body{padding:16px}.store-card h4{font-family:Georgia,serif;font-size:20px;margin:0 0 6px}.store-card p{font-size:12px;color:var(--muted);min-height:32px}.store-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{padding:16px;border-radius:16px;background:var(--pink2);border:1px solid var(--line)}.step b{color:var(--purple);display:block;margin-bottom:4px}.step small{color:var(--muted)}.public-body{background:#fff}.public-nav{display:flex;align-items:center;max-width:1180px;margin:auto;padding:14px 20px;gap:20px}.public-nav img{width:185px;height:65px;object-fit:contain}.public-nav .search{flex:1;background:#f8f3f5;border:0;border-radius:999px;padding:13px 18px}.public-nav .actions{display:flex;align-items:center;gap:12px;font-size:13px}.public-hero{background:var(--purple2);color:#fff;min-height:360px;display:flex;align-items:center}.public-hero .inner{max-width:1180px;width:100%;margin:auto;padding:52px 20px;position:relative}.public-hero h1{font-family:Georgia,serif;font-size:52px;max-width:700px;margin:0}.public-hero h1 span{color:#ff8769}.public-hero p{max-width:600px;color:#eddbe5;line-height:1.6}.public-hero .shape{position:absolute;width:280px;height:280px;border-radius:50% 50% 12% 50%;right:20px;top:40px;background:linear-gradient(135deg,var(--terracotta),#ef9e86);opacity:.95}.section{max-width:1180px;margin:auto;padding:42px 20px}.section h2{font-family:Georgia,serif;font-size:30px;margin:0 0 20px}.footer-public{background:#160d13;color:#fff;padding:28px 20px;text-align:center;font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-brand{background:linear-gradient(140deg,var(--purple2),var(--purple));color:#fff;padding:60px;position:relative;overflow:hidden}.login-brand img{width:260px;background:#fff;border-radius:20px;padding:12px}.login-brand h1{font-family:Georgia,serif;font-size:48px;max-width:520px}.login-brand p{max-width:560px;color:#f1dce6;line-height:1.6}.login-brand:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:var(--terracotta);right:-180px;bottom:-190px}.login-form{display:grid;place-items:center;padding:36px}.login-card{width:min(430px,100%)}.login-card h2{font-family:Georgia,serif;font-size:32px;margin-bottom:8px}.login-card .field{margin:14px 0}.login-card button{width:100%;margin-top:8px}.muted{color:var(--muted);font-size:12px}@media(max-width:1100px){.grid4,.store-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.menu-btn{display:block;border:0;background:var(--pink);border-radius:10px;padding:8px 10px}.user-menu>div:not(.avatar){display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}.public-hero .shape{display:none}.public-hero h1{font-size:40px}.timeline{grid-template-columns:1fr 1fr}}@media(max-width:600px){.content{padding:18px}.grid4,.store-grid,.form-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.topbar h1{font-size:20px}.public-nav .search{display:none}.public-nav img{width:150px}.timeline{grid-template-columns:1fr}}

/* Sprint 02 · Tiendas y Productos */
.badge.draft{background:#f3eef1;color:#725968}.badge.paused{background:#f1edf7;color:#675078}.badge.rejected{background:#ffebea;color:#942d28}.compact-hero{min-height:auto;padding:26px}.compact-hero h2{font-size:30px}.store-grid.enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-store{position:relative;overflow:visible;border-radius:20px}.store-cover{height:138px;background-size:cover!important;background-position:center!important;border-radius:20px 20px 0 0}.store-logo-wrap{position:absolute;left:18px;top:92px;width:82px;height:82px;background:#fff;border-radius:20px;padding:6px;border:1px solid var(--line);box-shadow:0 9px 24px rgba(50,16,39,.12);z-index:3}.store-logo-wrap img,.store-editor-logo img,.public-store-logo img{width:100%;height:100%;object-fit:contain;border-radius:14px}.store-logo-placeholder,.store-editor-logo span,.public-store-logo span{width:100%;height:100%;display:grid;place-items:center;border-radius:14px;background:var(--pink2);color:var(--purple);font-weight:900;font-family:Georgia,serif}.store-card-body{padding-top:48px!important}.store-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.store-card-top h4{margin:0}.card-actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.btn.ghost{background:transparent;color:var(--purple);border:0;padding-left:8px;padding-right:8px}.empty-state{padding:32px;border:1px dashed #d9c5cf;border-radius:18px;text-align:center;color:var(--muted);background:#fffafd}.empty-state strong{display:block;color:var(--ink);font-size:16px}.store-editor-hero{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.store-editor-banner{height:230px;background-size:cover!important;background-position:center!important}.store-editor-info{position:relative;display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:18px 24px 24px}.store-editor-logo{width:110px;height:110px;border-radius:24px;background:#fff;border:1px solid var(--line);padding:8px;margin-top:-64px;box-shadow:0 10px 28px rgba(73,20,57,.14)}.store-editor-info h2{font-family:Georgia,serif;font-size:30px;margin:2px 0 5px}.store-editor-info p{margin:0;color:var(--muted)}.store-editor-actions{display:flex;gap:9px;align-items:center}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--terracotta)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.sticky-panel{position:sticky;top:102px}.readonly-box{border:1px solid var(--line);background:#f9f5f7;border-radius:12px;padding:11px 12px;font-weight:800}.media-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-upload-card{border:1px dashed #d8bdca;background:#fffafd;border-radius:16px;padding:14px}.media-upload-card strong,.media-upload-card small{display:block}.media-upload-card small{color:var(--muted);margin:3px 0 10px}.media-upload-card input[type=file]{padding:8px;background:#fff}.soft{border:0;border-top:1px solid var(--line);margin:20px 0}.url-code{display:block;white-space:normal;word-break:break-all;font-size:11px;padding:10px;background:#f8f3f5;border-radius:10px}.filter-row{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filter-row select{width:auto;min-width:190px}.product-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-admin-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.product-admin-image{height:235px;display:block;position:relative;background:#f6f0ed}.product-admin-image img{width:100%;height:100%;object-fit:cover}.product-placeholder{width:100%;height:100%;min-height:150px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#f6d4cf,#f4eee8);color:var(--purple);font-weight:900;letter-spacing:.08em}.product-status{position:absolute;top:10px;left:10px}.product-admin-body{padding:14px}.product-admin-body>small{font-size:9px;font-weight:900;letter-spacing:.09em;color:var(--terracotta);text-transform:uppercase}.product-admin-body h4{font-family:Georgia,serif;font-size:18px;margin:7px 0}.product-admin-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.product-admin-meta strong{color:var(--purple);font-size:15px}.product-editor-grid{grid-template-columns:minmax(0,1fr) 310px}.check-field{display:flex;align-items:center;padding-top:24px}.check-field label{display:flex;gap:8px;align-items:center}.check-field input{width:auto}.action-bar{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:14px}.preview-product-image{height:260px;border-radius:16px;overflow:hidden;background:#f8f2ef}.preview-product-image img{width:100%;height:100%;object-fit:cover}.product-preview-panel h4{font-family:Georgia,serif;font-size:20px;margin:14px 0 6px}.preview-price{font-size:22px;color:var(--purple)}.gallery-admin{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.gallery-item{aspect-ratio:1/1;position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f8f2ef}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item.primary{outline:2px solid var(--terracotta)}.gallery-item>span{position:absolute;left:6px;bottom:6px;background:#fff;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.icon-delete{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:50%;border:0;background:#fff;color:var(--red);font-size:18px;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.12)}.variant-form{display:grid;grid-template-columns:2fr 1fr .7fr 1fr auto;gap:10px;margin-bottom:16px}.review-panel{border-color:#efc2b5;background:#fffaf8}.section-soft{background:#fffaf8;border-radius:28px;margin-bottom:30px}.public-store-card{color:inherit}.public-store-banner{height:330px;background-size:cover!important;background-position:center!important}.public-store-head{max-width:1180px;margin:-62px auto 0;padding:0 20px;display:grid;grid-template-columns:130px 1fr;gap:20px;position:relative;z-index:4;align-items:end}.public-store-logo{width:130px;height:130px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:9px;box-shadow:0 14px 36px rgba(51,16,40,.14)}.public-store-title{padding-bottom:10px}.public-store-title small{font-size:9px;letter-spacing:.14em;color:var(--terracotta);font-weight:900}.public-store-title h1{font-family:Georgia,serif;font-size:40px;margin:3px 0 4px}.public-store-title p{margin:0;color:var(--muted)}.public-store-meta{display:flex;gap:14px;flex-wrap:wrap;color:#a38495;font-size:12px;margin-top:8px}.public-store-story{max-width:1180px;margin:20px auto 0;padding:0 20px}.public-store-story p{border-left:3px solid var(--terracotta);padding:12px 16px;color:#7e6172;background:#fffaf8;border-radius:0 14px 14px 0;line-height:1.6}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.catalog-head small{font-size:10px;letter-spacing:.13em;color:var(--terracotta);font-weight:900}.catalog-head h2{margin:4px 0 0}.category-pills{display:flex;gap:7px;flex-wrap:wrap}.category-pills span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:11px;background:#fff}.category-pills .active{background:var(--purple);color:#fff;border-color:var(--purple)}.public-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.public-product-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:.18s}.public-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(74,19,60,.09)}.public-product-image{aspect-ratio:1/1;position:relative;background:#f7f0ed}.public-product-image img{width:100%;height:100%;object-fit:cover}.stock-chip{position:absolute;left:9px;top:9px;background:#fff0ef;color:#9b2d21;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.public-product-body{padding:13px}.public-product-body small{font-size:8px;font-weight:900;letter-spacing:.09em;color:var(--terracotta)}.public-product-body h3{font-family:Georgia,serif;font-size:17px;margin:6px 0 8px;min-height:42px}.public-product-body strong{display:block;color:var(--purple);font-size:16px;margin-top:8px}.product-category{display:inline-block;font-size:9px;padding:4px 7px;border-radius:999px;background:#f8f1f4;color:#8c667b}.product-detail-wrap{max-width:1180px;margin:auto;padding:24px 20px 56px}.breadcrumb{font-size:11px;color:var(--muted);margin:8px 0 20px}.breadcrumb a{color:var(--purple)}.product-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px}.product-detail-main{aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:#f8f1ed}.product-detail-main img{width:100%;height:100%;object-fit:cover}.product-detail-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:10px}.product-detail-gallery img{aspect-ratio:1/1;width:100%;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.store-kicker{font-size:10px;color:var(--terracotta);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.product-detail-info h1{font-family:Georgia,serif;font-size:42px;margin:8px 0 8px}.detail-price{font-size:34px;font-weight:900;color:var(--purple);margin-top:18px}.detail-tax{font-size:11px;color:var(--muted);margin:0 0 18px}.detail-lead{font-size:17px;line-height:1.6;color:#685161}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.detail-facts div{background:#fff8f5;border:1px solid var(--line);padding:12px;border-radius:14px}.detail-facts b,.detail-facts span{display:block}.detail-facts b{font-size:10px;color:var(--terracotta);text-transform:uppercase}.detail-facts span{font-size:12px;margin-top:4px}.variant-public{margin:18px 0}.detail-buy{width:100%;padding:14px;opacity:.58;cursor:not-allowed}.detail-description{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.detail-description h3{font-family:Georgia,serif}.detail-description p{line-height:1.7;color:#6f5665}.timeline .step.done{background:#eef8f2}.timeline .step.active-step{background:#fff2ec;border-color:#efc2b5}

@media(max-width:1200px){.product-admin-grid,.public-product-grid{grid-template-columns:repeat(3,1fr)}.gallery-admin{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.editor-grid,.product-editor-grid{grid-template-columns:1fr}.sticky-panel{position:static}.store-grid.enhanced{grid-template-columns:repeat(2,1fr)}.product-admin-grid,.public-product-grid{grid-template-columns:repeat(2,1fr)}.product-detail-grid{grid-template-columns:1fr}.variant-form{grid-template-columns:1fr 1fr}.variant-form .btn{grid-column:1/-1}.store-editor-info{grid-template-columns:90px 1fr}.store-editor-logo{width:90px;height:90px}.store-editor-actions{grid-column:1/-1}}
@media(max-width:650px){.store-grid.enhanced,.product-admin-grid,.public-product-grid{grid-template-columns:1fr}.media-spec-grid{grid-template-columns:1fr}.store-editor-banner{height:170px}.store-editor-info{padding:14px;gap:12px}.store-editor-info h2{font-size:24px}.public-store-banner{height:220px}.public-store-head{grid-template-columns:90px 1fr;margin-top:-44px}.public-store-logo{width:90px;height:90px;border-radius:20px}.public-store-title h1{font-size:28px}.catalog-head{align-items:flex-start;flex-direction:column}.product-detail-info h1{font-size:34px}.detail-facts{grid-template-columns:1fr}.gallery-admin{grid-template-columns:repeat(3,1fr)}.variant-form{grid-template-columns:1fr}.action-bar{flex-direction:column}.action-bar .btn{width:100%}}
