/* PROMETEO · Publicador Web V2 · GAUDÍ MATEO VIII · 0.4
   Panel interno SPA. Usa exclusivamente las variables visuales del shell PROMETEO. */
.webv2-shell{max-width:1500px;margin:0 auto;padding:4px 0 40px;color:var(--text)}
.webv2-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--bg-card),var(--bg-input));margin-bottom:16px}
.webv2-hero h1{font-size:clamp(22px,3vw,34px);margin:0 0 7px}.webv2-hero p{margin:0;color:var(--text-muted);max-width:850px;line-height:1.55}
.webv2-status{display:flex;gap:8px;flex-wrap:wrap}.webv2-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--bg-card);font-size:11px;font-weight:800;color:var(--text-muted)}
.webv2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:16px;align-items:start}.webv2-col{min-width:0}
.webv2-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}
.webv2-card h2{font-size:15px;margin:0 0 5px}.webv2-card h3{font-size:13px;margin:14px 0 8px}.webv2-help{font-size:12px;color:var(--text-muted);line-height:1.55;margin:0 0 13px}.webv2-mini{font-size:11px;color:var(--text-muted);line-height:1.45}
.webv2-field{display:grid;gap:6px;margin-bottom:11px}.webv2-field>span,.webv2-label{font-size:11px;text-transform:uppercase;letter-spacing:.55px;font-weight:800;color:var(--text-muted)}
.webv2-input,.webv2-select,.webv2-textarea{width:100%;box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 12px;font:inherit;min-height:44px}.webv2-textarea{resize:vertical;min-height:105px;line-height:1.5}.webv2-input:focus,.webv2-select:focus,.webv2-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}
.webv2-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.webv2-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.webv2-actions{display:flex;gap:8px;flex-wrap:wrap}.webv2-btn{min-height:42px;padding:9px 13px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-weight:800;font-size:12px;cursor:pointer}.webv2-btn:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.webv2-btn.primary{border-color:var(--primary);background:var(--primary);color:#fff}.webv2-btn.danger{border-color:#ef4444;color:#ef4444;background:transparent}
.webv2-preset-grid,.webv2-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.webv2-choice{position:relative;text-align:left;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:13px;padding:12px;cursor:pointer;min-height:90px}.webv2-choice:hover{border-color:var(--border-hover)}.webv2-choice.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.webv2-choice strong{display:block;font-size:12px;margin-bottom:4px}.webv2-choice small{display:block;color:var(--text-muted);font-size:10.5px;line-height:1.4}.webv2-swatch{display:flex;gap:4px;margin-top:8px}.webv2-swatch i{width:18px;height:8px;border-radius:999px;border:1px solid rgba(127,127,127,.25)}
.webv2-menu-head,.webv2-menu-row{display:grid;grid-template-columns:46px 64px minmax(130px,.7fr) minmax(120px,.7fr) minmax(95px,.5fr);gap:8px;align-items:center}.webv2-menu-head{font-size:10px;color:var(--text-muted);font-weight:800;text-transform:uppercase;padding:0 8px 6px}.webv2-menu-row{padding:8px;border-top:1px solid var(--border)}.webv2-menu-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.webv2-order{width:58px;text-align:center}.webv2-anchor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--text-muted)}
.webv2-free{border:1px solid var(--border);background:var(--bg-input);border-radius:13px;padding:12px;margin-top:10px}.webv2-free-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.webv2-free-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.webv2-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.webv2-policy{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--border);background:var(--bg-input);border-radius:11px;padding:10px}.webv2-policy input{width:20px;height:20px;accent-color:var(--primary);margin-top:1px}.webv2-policy strong{display:block;font-size:12px}.webv2-policy small{display:block;font-size:10.5px;color:var(--text-muted);margin-top:2px}.webv2-policy.saved{border-color:rgba(16,185,129,.38)}
.webv2-toggle-row{display:grid;grid-template-columns:32px minmax(125px,.65fr) minmax(140px,1fr);gap:9px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}.webv2-toggle-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}
.webv2-preview-card{position:sticky;top:78px}.webv2-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:9px}.webv2-device{display:flex;gap:4px}.webv2-device button{border:1px solid var(--border);background:var(--bg-input);color:var(--text);padding:7px 9px;border-radius:8px;cursor:pointer}.webv2-device button.active{background:var(--primary);border-color:var(--primary);color:#fff}.webv2-frame-wrap{background:#111827;border:1px solid var(--border);border-radius:13px;padding:8px;overflow:auto;text-align:center}.webv2-frame{display:block;margin:auto;border:0;border-radius:8px;background:#fff;width:100%;height:720px;transition:width .2s ease}.webv2-frame.tablet{width:768px;max-width:100%}.webv2-frame.mobile{width:390px;max-width:100%;height:760px}
.webv2-readback{white-space:pre-wrap;word-break:break-word;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:10px;max-height:180px;overflow:auto;color:var(--text-muted)}
.webv2-warning{border-left:4px solid #f59e0b;padding:10px 12px;background:rgba(245,158,11,.08);border-radius:8px;font-size:12px;line-height:1.5;margin:9px 0}.webv2-ok{border-left:4px solid #10b981;padding:10px 12px;background:rgba(16,185,129,.08);border-radius:8px;font-size:12px;line-height:1.5;margin:9px 0}
.webv2-footer-actions{position:sticky;bottom:12px;z-index:15;background:color-mix(in srgb,var(--bg-card) 92%,transparent);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:14px;padding:10px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;box-shadow:var(--shadow-lg)}
@media(max-width:1100px){.webv2-grid{grid-template-columns:1fr}.webv2-preview-card{position:static}.webv2-frame{height:620px}}
@media(max-width:720px){.webv2-hero,.webv2-card{padding:14px}.webv2-row,.webv2-row-3,.webv2-free-grid,.webv2-policy-grid,.webv2-preset-grid,.webv2-theme-grid{grid-template-columns:1fr}.webv2-menu-head{display:none}.webv2-menu-row{grid-template-columns:42px 58px 1fr;gap:7px}.webv2-menu-row .webv2-anchor,.webv2-menu-row .webv2-data-state{grid-column:3}.webv2-toggle-row{grid-template-columns:30px 1fr}.webv2-toggle-row>:last-child{grid-column:2}.webv2-footer-actions{bottom:6px}.webv2-frame{height:650px}}

/* GAUDÍ MATEO VIII · V0.5 · páginas de plantilla separadas */
.webv2-workspace{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(520px,1.08fr);gap:16px;align-items:start}
.webv2-preview-column{position:sticky;top:72px;align-self:start;max-height:calc(100vh - 86px);overflow:auto;padding-right:3px}
.webv2-config-column{min-width:0}
.webv2-template-nav-card{position:sticky;top:0;z-index:20;box-shadow:var(--shadow-lg)}
.webv2-template-nav{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);gap:10px;align-items:center}
.webv2-template-current{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input)}
.webv2-template-current strong{font-size:12px}.webv2-template-current span{font-size:10px;color:var(--text-muted)}
.webv2-template-chips{display:flex;gap:6px;overflow:auto;padding-top:9px;scrollbar-width:thin}.webv2-template-chip{flex:0 0 auto;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.webv2-template-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}
.webv2-preview-column .webv2-preview-card{position:static;margin-bottom:10px}.webv2-preview-column .webv2-frame{height:calc(100vh - 250px);min-height:520px}.webv2-preview-column .webv2-readback{max-height:120px}
.webv2-directory{display:grid;gap:8px;margin-top:10px}.webv2-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input)}.webv2-directory-main{display:grid;gap:3px;min-width:0}.webv2-directory-main strong{font-size:12px}.webv2-directory-main span,.webv2-directory-main a{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.webv2-directory-main a{color:var(--primary)}.webv2-directory-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.webv2-directory-actions .webv2-btn{min-height:34px;padding:6px 8px;font-size:10px}
@media(max-width:1180px){.webv2-workspace{grid-template-columns:1fr}.webv2-preview-column{position:relative;top:auto;max-height:none;overflow:visible}.webv2-preview-column .webv2-frame{height:620px}.webv2-template-nav-card{position:relative;top:auto}}
@media(max-width:720px){.webv2-template-nav{grid-template-columns:1fr}.webv2-directory-row{grid-template-columns:1fr}.webv2-directory-actions{justify-content:flex-start}.webv2-preview-column .webv2-frame{height:560px}}


/* GAUDÍ MATEO VIII · V0.6 STRICT · preview real + controles frente a demo */
.webv2-workspace{grid-template-columns:minmax(520px,1.12fr) minmax(480px,.88fr)}
.webv2-frame-stage{position:relative;overflow:hidden!important;text-align:left!important;padding:8px;min-height:420px}
.webv2-frame-stage .webv2-frame{display:block;margin:0!important;max-width:none!important;border:0;border-radius:8px;background:#fff;transition:transform .18s ease;width:1366px;height:900px}
.webv2-color{padding:5px;min-height:46px}
.webv2-config-column>.webv2-card:first-child{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 16%,transparent),var(--shadow)}
@media(max-width:1000px){.webv2-workspace{grid-template-columns:1fr}.webv2-preview-column{position:relative;top:auto;max-height:none;overflow:visible}.webv2-template-nav-card{position:relative;top:auto}}

/* GAUDÍ MATEO VIII · V0.6.2 · editor modular persistente */
.webv2-menu-head,.webv2-menu-row{grid-template-columns:46px 64px minmax(120px,.65fr) minmax(120px,.7fr) minmax(92px,.55fr) minmax(150px,.7fr)}
.webv2-block-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.webv2-block-actions .webv2-btn{min-height:34px;padding:6px 8px;font-size:11px}
.webv2-module-actions{margin:0 0 10px}.webv2-removed-list{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.webv2-removed-list:empty{display:none}.webv2-removed-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px dashed var(--border)}.webv2-removed-row span{font-size:12px;font-weight:700}
.webv2-editor-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(2,6,23,.58);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.webv2-editor-dialog{width:min(760px,96vw);max-height:90vh;overflow:auto;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg)}.webv2-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card);z-index:2}.webv2-editor-head>div{display:grid;gap:2px}.webv2-editor-head strong{font-size:15px}.webv2-editor-head span{font-size:11px;color:var(--text-muted)}.webv2-editor-close{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer}.webv2-editor-body{padding:18px}
@media(max-width:720px){.webv2-menu-row{grid-template-columns:42px 58px minmax(0,1fr)}.webv2-menu-row>.webv2-block-actions{grid-column:1/-1;justify-content:flex-start}.webv2-editor-backdrop{padding:8px}.webv2-editor-dialog{width:100%;max-height:96vh}}

/* V0.6.3 · Recibidor de familias A/B. Preparado para C, D… */
.webv2-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.webv2-family-card{position:relative;overflow:hidden;display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;padding:26px;border:1px solid var(--border);border-radius:20px;background:var(--bg-card);box-shadow:0 12px 34px rgba(15,23,42,.08)}
.webv2-family-card::after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}
.webv2-family-letter{display:grid;place-items:center;width:92px;height:92px;border-radius:22px;background:var(--accent);color:#fff;font-size:46px;font-weight:950;line-height:1;box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 28%,transparent)}
.webv2-family-card h2{margin:0 0 6px;font-size:26px}.webv2-family-card p{margin:8px 0 4px;color:var(--text-muted);line-height:1.55}.webv2-family-card small{color:var(--text-muted)}
.webv2-family-bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
@media(max-width:860px){.webv2-family-grid{grid-template-columns:1fr}.webv2-family-card{grid-template-columns:82px 1fr}.webv2-family-letter{width:72px;height:72px;font-size:36px}}
@media(max-width:560px){.webv2-family-card{grid-template-columns:1fr}.webv2-family-letter{width:64px;height:64px}.webv2-family-card .webv2-actions{margin-top:10px}}

/* WEB V2 0.7 · recibidor A→Z compacto */
.webv2-lobby-compact{max-width:1180px;margin:0 auto}
.webv2-lobby-head{padding:14px 16px!important;margin-bottom:10px!important;min-height:0!important}
.webv2-lobby-head h1{font-size:clamp(22px,3vw,34px)!important;margin:0 0 3px!important}
.webv2-lobby-head p{margin:0!important;font-size:13px!important}
.webv2-family-grid-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0!important}
.webv2-family-card-compact{grid-template-columns:52px 1fr!important;gap:11px!important;padding:12px!important;border-radius:14px!important;box-shadow:none!important;align-items:center!important}
.webv2-family-card-compact .webv2-family-letter{width:48px!important;height:48px!important;border-radius:12px!important;font-size:25px!important;box-shadow:none!important}
.webv2-family-card-compact h2{font-size:16px!important;margin:0 0 2px!important}
.webv2-family-card-compact strong{font-size:12px!important}
.webv2-family-card-compact p{font-size:11px!important;line-height:1.35!important;margin:4px 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.webv2-family-card-compact small{font-size:9px!important;letter-spacing:.08em}
.webv2-family-card-compact>.webv2-actions{grid-column:1/-1;margin:0!important;justify-content:flex-end}
.webv2-family-card-compact>.webv2-actions button{padding:6px 10px!important;font-size:11px!important}
.webv2-lobby-foot{text-align:center;padding:6px}
@media(max-width:560px){.webv2-family-grid-compact{grid-template-columns:1fr 1fr}.webv2-family-card-compact{grid-template-columns:40px 1fr!important}.webv2-family-card-compact .webv2-family-letter{width:38px!important;height:38px!important;font-size:20px!important}.webv2-family-card-compact p{display:none}}


/* RECIBIDOR DE PUBLICADORES · 2026-09-16 · Puerta 1 congelada + Puerta 2 laboratorio */
.webv2-publisher-grid{grid-template-columns:repeat(2,minmax(280px,1fr))!important;max-width:920px;margin:18px auto!important}
.webv2-publisher-card{min-height:190px}.webv2-publisher-card.door-1{border-color:color-mix(in srgb,#10b981 42%,var(--border))}.webv2-publisher-card.door-2{border-color:color-mix(in srgb,#f59e0b 42%,var(--border))}
.webv2-publisher-card.door-1 .webv2-family-letter{background:#059669}.webv2-publisher-card.door-2 .webv2-family-letter{background:#d97706}
.webv2-door-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}.webv2-door-title>div{display:grid;gap:4px}.webv2-door-title strong{font-size:16px}.webv2-door-title span{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--text-muted)}
.webv2-publisher-host{min-width:0}.webv2-publisher-host>.grid-stats{margin-top:10px}
@media(max-width:760px){.webv2-publisher-grid{grid-template-columns:1fr!important}.webv2-door-header{align-items:flex-start}}
