:root { --pc-espacio:26px; --pc-sobre-primario:#ffffff; --pc-cabecera-texto:#ffffff; --pc-realce-cabecera:#ffffff; --pc-sobre-realce:#ffffff; }
/* PAF Commerce: superficies y tipografía gobernadas por AparienciaService. */
body { background:var(--gl-fondo); color:var(--gl-texto); }
h1,h2,h3,h4 { color:var(--gl-texto); letter-spacing:-.035em; line-height:1.14; }
h1 { font-size:clamp(2rem,1.3rem + 2.2vw,3.25rem); }
h2 { font-size:clamp(1.28rem,1.05rem + .7vw,1.75rem); }
a { text-underline-offset:4px; }
.gl-ayuda,.gl-rotulo { color:var(--gl-texto-2); }
.gl-ficha,.gl-producto { background:var(--gl-papel); border:1px solid var(--gl-linea); border-radius:var(--gl-r-caja); box-shadow:0 3px 15px -12px #12253f35; }
.gl-ficha { padding:var(--pc-espacio,26px); }
.gl-ficha h2,.gl-ficha h3 { margin-top:.4rem; }
.gl-input { color:var(--gl-texto); background:var(--gl-papel); border-color:var(--gl-linea-fuerte); min-height:46px; }
.gl-input::placeholder { color:var(--gl-texto-2); opacity:1; }
.gl-btn { min-height:44px; white-space:normal; font-weight:650; transition:background .18s,box-shadow .18s; }
.gl-btn-principal { color:var(--pc-sobre-primario,#fff); background:var(--gl-acento); border:1px solid transparent; }
.gl-btn-principal:hover,.gl-btn-principal:focus-visible { color:var(--pc-sobre-primario,#fff); background:var(--gl-acento-vivo); }
.gl-btn-suave { color:var(--gl-texto); background:var(--gl-papel); border-color:var(--gl-linea-fuerte); }
.gl-btn-suave:hover { color:var(--gl-texto); background:var(--gl-papel-2); }
.gl-btn:disabled { cursor:not-allowed; }
:focus-visible { outline:3px solid var(--gl-texto); outline-offset:4px; }
.gl-top,.gl-pie { color:var(--pc-cabecera-texto,#fff); }
.gl-top .gl-btn-claro,.gl-top-carrito { color:var(--pc-cabecera-texto,#fff); }
.gl-top-barra { min-height:76px; height:auto; padding-block:14px; }
.gl-top-quien { max-width:150px; overflow:hidden; text-overflow:ellipsis; }
.gl-menu { background:var(--gl-tinta); border-top:1px solid color-mix(in srgb,var(--pc-cabecera-texto) 18%,transparent); }
.gl-menu-tira { flex-wrap:wrap; gap:3px; padding-block:6px; }
.gl-menu a { color:var(--gl-sobre-oscuro-2); min-height:44px; border-radius:8px; padding:11px 13px; font-size:.84rem; }
.gl-menu a.active { color:var(--pc-sobre-primario,#fff); background:var(--gl-acento); border-color:transparent; }
.gl-menu a:hover { color:var(--pc-cabecera-texto,#fff); background:color-mix(in srgb,var(--pc-cabecera-texto) 10%,transparent); }
.gl-main { padding-block:36px 64px; }
.gl-ancho { max-width:1240px; }
.pc-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.pc-page-heading h1 { margin:10px 0 12px; }
.pc-page-heading p { max-width:650px; margin:0; line-height:1.65; }
.pc-page-heading > .gl-btn { flex-shrink:0; }
.pc-area-switch { display:flex; gap:10px; margin:24px 0; flex-wrap:wrap; }
.pc-design-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.9fr); gap:30px; align-items:start; }
.pc-design-controls { display:grid; gap:18px; min-width:0; }
.pc-palettes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:24px; }
.pc-palette { display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--gl-linea-fuerte); background:var(--gl-papel); color:var(--gl-texto); border-radius:10px; padding:12px 6px; cursor:pointer; font:inherit; font-size:.86rem; min-height:46px; }
.pc-palette:hover { background:var(--gl-papel-2); }
.pc-palette-dot { width:18px; height:18px; border-radius:50%; border:1px solid #64748b66; flex-shrink:0; }
.pc-color-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin-top:24px; }
.pc-color-grid .gl-campo { margin:0; display:grid; grid-template-columns:48px 1fr; gap:6px 12px; align-items:center; }
.pc-color-grid label { grid-column:1/-1; font-size:.9rem; }
.pc-color-grid input[type=color] { width:48px; height:44px; padding:2px; border:1px solid var(--gl-linea-fuerte); border-radius:10px; background:var(--gl-papel); cursor:pointer; }
.pc-color-grid .gl-ayuda { font-size:.8rem; }
.pc-savebar { display:flex; flex-wrap:wrap; gap:10px; padding:16px 0; }
.pc-preview-wrap { position:sticky; top:206px; min-width:0; }
.pc-preview-wrap > .gl-rotulo { display:block; margin:0 0 16px; }
.pc-preview { overflow:hidden; border-radius:18px; border:1px solid var(--gl-linea-fuerte); background:var(--gl-fondo); color:var(--gl-texto); font-family:var(--gl-sans); box-shadow:0 20px 65px -35px #10203866; }
.pc-preview-top { background:var(--gl-tinta); color:var(--pc-cabecera-texto); padding:20px; display:flex; align-items:center; gap:12px; }
.pc-preview-top > span:last-child { margin-left:auto; font-size:.72rem; }
.pc-preview-symbol { display:grid; place-items:center; width:34px; height:34px; border:1px solid currentColor; border-radius:9px; }
.pc-preview-content { padding:28px; }
.pc-preview h2 { color:var(--gl-texto); font:700 2rem/1.12 var(--gl-display); margin:18px 0; }
.pc-preview p { color:var(--gl-texto-2); font-size:.9rem; line-height:1.6; }
.pc-preview label { display:block; font-size:.82rem; margin:22px 0 8px; }
.pc-preview .gl-btn { margin-top:12px; opacity:1; }
.pc-preview-product { display:flex; gap:20px; padding:20px; margin:24px 0; background:var(--gl-papel); border-radius:var(--gl-r-caja); border:1px solid var(--gl-linea); }
.pc-preview-product > span { display:grid; place-items:center; width:80px; min-height:100px; border-radius:var(--gl-r-caja); background:var(--gl-acento-pale); color:var(--gl-texto); font:700 2rem var(--gl-display); }
.pc-preview-product small { color:var(--gl-texto-2); }
.pc-preview-product h3 { font-size:1.1rem; margin:10px 0; }
.pc-preview-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pc-preview-metrics > div { background:var(--gl-papel); padding:18px; border:1px solid var(--gl-linea); border-radius:var(--gl-r-caja); }
.pc-preview-metrics strong { display:block; font-size:1.3rem; margin-top:12px; }
.pc-preview-note { margin-top:20px; font-size:.75rem!important; }
.pc-theme-section { margin-top:44px; }
.pc-theme-section > h2 { margin:10px 0 24px; }
.gl-portada-comercio { position:relative; background:var(--gl-tinta); color:var(--pc-cabecera-texto); padding:clamp(28px,5vw,64px); border-radius:var(--gl-r-caja); margin-bottom:28px; border:1px solid var(--gl-linea); }
.gl-portada-comercio::after { content:""; position:absolute; right:6%; top:20%; width:100px; height:100px; border:1px solid currentColor; border-radius:50%; opacity:.14; pointer-events:none; }
.gl-portada-comercio h1 { max-width:760px; font-size:clamp(2.2rem,1.3rem + 3vw,4rem); color:inherit; letter-spacing:-.045em; line-height:1.05; }
.gl-portada-comercio .gl-rotulo,.gl-portada-comercio .gl-portada-bajada { color:var(--pc-cabecera-texto); opacity:.9; }
.gl-portada-comercio .gl-portada-bajada { max-width:630px; font-size:1.06rem; line-height:1.65; }
.gl-buscador { background:var(--gl-papel); border:1px solid var(--gl-linea); border-radius:var(--gl-r-caja); padding:12px; gap:12px; margin:0 0 30px; }
.gl-vitrina { gap:22px; }
.gl-producto { overflow:hidden; }
.gl-producto-foto { background:var(--gl-papel-2); aspect-ratio:1.18; }
.gl-producto-foto img { object-fit:cover; transition:transform .3s; }
.gl-producto-cuerpo { padding:22px; }
.gl-producto-nombre a { color:var(--gl-texto); }
.gl-producto-precio { margin:16px 0 20px; }
.gl-producto .gl-precio { color:var(--gl-texto); font-size:1.3rem; }
.gl-producto-marca { color:var(--gl-texto-2); font-size:.72rem; letter-spacing:.12em; }
.gl-kpis { gap:16px; margin-bottom:26px; }
.gl-kpi-tarjeta { padding:24px; }
.gl-kpi { color:var(--gl-texto); margin:16px 0; letter-spacing:-.04em; }
.pc-launch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pc-launch-step { display:flex; gap:18px; align-items:flex-start; }
.pc-launch-step > div { flex:1; min-width:0; }
.pc-launch-step p { margin:8px 0 16px; line-height:1.6; }
.pc-step-icon { background:var(--gl-acento-pale); color:var(--gl-texto); width:36px; height:36px; border-radius:10px; display:grid; place-items:center; flex-shrink:0; font-weight:700; }
.pc-ready-summary { background:var(--gl-papel); padding:26px; border:1px solid var(--gl-linea); border-radius:var(--gl-r-caja); margin-bottom:20px; }
.pc-ready-summary progress { width:100%; height:10px; accent-color:var(--gl-acento); margin:18px 0 10px; }
.pc-ready-summary h2 { margin:10px 0; }
.pc-sales-list { display:grid; gap:14px; }
.pc-sale-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; }
.pc-sale-card h2 { font-size:1.2rem; }
.pc-sale-card a { color:var(--gl-texto); }
.pc-sale-card form { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; }
.pc-status-row { display:flex; flex-wrap:wrap; gap:8px; }
.pc-status { border:1px solid var(--gl-linea); background:var(--gl-papel-2); border-radius:999px; padding:6px 10px; font-size:.75rem; }
.pc-sale-total { font-size:1.3rem; font-weight:750; }
.pc-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:end; padding:20px; margin:24px 0; }
.pc-filters .gl-campo { flex:1 1 180px; margin:0; }
.pc-filters .gl-btn { flex:0 1 auto; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .gl-producto:hover { box-shadow:0 14px 36px -24px #12253f70; } .gl-producto:hover img { transform:scale(1.025); } }
@media (max-width:800px) { .pc-design-grid { grid-template-columns:1fr; } .pc-preview-wrap { position:static; } .pc-preview { max-width:520px; } .pc-launch-grid { grid-template-columns:1fr; } .gl-menu-tira { flex-wrap:nowrap; overflow-x:auto; padding-bottom:10px; } .gl-menu a { flex-shrink:0; } }
@media (max-width:540px) { .gl-ancho { padding-inline:16px; } .gl-main { padding-block:24px 40px; } .pc-page-heading { align-items:flex-start; flex-direction:column; gap:16px; } .gl-top-barra { gap:12px; flex-wrap:wrap; } .gl-top-acciones { gap:8px; margin-left:auto; } .gl-top-quien { display:none; } .pc-palettes { grid-template-columns:repeat(2,minmax(0,1fr)); } .pc-color-grid { gap:16px 12px; } .pc-color-grid label { min-height:38px; } .pc-preview-content { padding:22px; } .pc-area-switch > button { flex:1 1 100%; } .pc-savebar > button { flex:1 1 100%; } .pc-sale-card { grid-template-columns:1fr; } .pc-preview h2 { font-size:1.7rem; } .gl-buscador { flex-wrap:wrap; } .gl-buscador .gl-input { min-width:0; flex:1 1 100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

.pc-csv-example { padding:18px; background:var(--gl-papel-2); border-radius:10px; overflow-x:auto; max-width:100%; font-size:.85rem; }

h1[tabindex="-1"]:focus { outline:none; }
.pc-admin-shell .gl-top-barra { max-width:none; padding-inline:26px; min-height:78px; }
.pc-admin-shell .gl-top-quien { max-width:260px; }
.pc-admin-shell .gl-menu { position:fixed; left:0; top:81px; bottom:0; width:224px; overflow-y:auto; overflow-x:hidden; border-right:1px solid color-mix(in srgb,var(--pc-cabecera-texto) 15%,transparent); border-top:0; }
.pc-admin-shell .gl-menu-tira { flex-direction:column; flex-wrap:nowrap; gap:3px; padding:18px 14px 28px; }
.pc-admin-shell .gl-menu a { display:block; padding:11px 15px; border-radius:9px; width:100%; }
.pc-admin-shell .gl-menu a.active:hover { background:var(--gl-acento-vivo); color:var(--pc-sobre-primario); }
.pc-nav-group { color:var(--gl-sobre-oscuro); font-size:.64rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin:20px 15px 6px; }
.pc-admin-shell > .gl-main { margin-left:224px; min-height:calc(100dvh - 81px); }
.pc-admin-shell .pc-preview-wrap { top:110px; }
@media (max-width:900px) {
 .pc-admin-shell .gl-menu { position:static; width:auto; overflow-x:auto; overflow-y:hidden; border-right:0; }
 .pc-admin-shell .gl-menu-tira { flex-direction:row; padding:6px 14px 12px; }
 .pc-admin-shell .gl-menu a { width:auto; white-space:nowrap; }
 .pc-admin-shell .pc-nav-group { display:none; }
 .pc-admin-shell > .gl-main { margin-left:0; }
 .pc-admin-shell .gl-top-barra { padding-inline:16px; }
 .pc-admin-shell .pc-preview-wrap { position:static; }
}

.gl-logo-claro .gl-logo-sello,.gl-logo-claro .gl-logo-bajada,.gl-ingreso-titulo em { color:var(--pc-realce-cabecera); }
.gl-logo-claro .gl-logo-sello { border-color:var(--pc-realce-cabecera); }
.gl-producto-cinta { color:var(--pc-sobre-realce); }

input[type=file] { display:block; width:100%; max-width:100%; min-width:0; font:inherit; font-size:16px; padding-block:12px; }
