@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{--bg:#071014;--panel:#0d181d;--panel-2:#101f25;--line:#20333b;--muted:#78909b;--text:#eaf5f7;--cyan:#22e3c4;--blue:#4f7cff;--amber:#ffbf47;--red:#ff5e6c;--sidebar:222px;--radius:16px}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% 0,#103238 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:24px 16px;border-right:1px solid var(--line);background:rgba(5,14,18,.94);backdrop-filter:blur(16px);display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 30px}.brand strong{font:700 19px/1 Space Grotesk;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.18em;margin-top:6px}.brand-mark{width:34px;height:34px;padding:7px;border:1px solid #2b5c61;background:#0a2729;display:flex;gap:3px;align-items:flex-end;transform:skew(-7deg);border-radius:7px}.brand-mark span{flex:1;background:var(--cyan);border-radius:1px}.brand-mark span:nth-child(1){height:55%}.brand-mark span:nth-child(2){height:100%}.brand-mark span:nth-child(3){height:75%}.nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#8da1aa;padding:12px 13px;border-radius:10px;display:flex;gap:12px;align-items:center;text-align:left;font-weight:600;cursor:pointer}.nav-item span{width:20px;text-align:center;font-size:18px}.nav-item:hover,.nav-item.active{background:#12272c;color:white}.nav-item.active{box-shadow:inset 3px 0 var(--cyan)}.sidebar-foot{margin-top:auto;padding:16px 8px;color:var(--muted);font-size:11px}.sidebar-foot small{display:block;margin-top:9px;line-height:1.5}.status-dot{display:flex;align-items:center;gap:8px;color:#a9bcc2}.status-dot i{width:7px;height:7px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);border-radius:50%}.main{grid-column:2;min-width:0}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:rgba(7,16,20,.7);position:sticky;top:0;z-index:4;backdrop-filter:blur(14px)}.eyebrow{margin:0 0 6px;color:#6f8a93;font-size:9px;font-weight:700;letter-spacing:.16em}.project-title{border:0;padding:0;background:transparent;color:white;font:600 17px Space Grotesk;width:min(380px,50vw);outline:none}.top-actions{display:flex;gap:9px}.button{border:1px solid var(--line);color:#c8d9de;background:#102026;border-radius:9px;padding:10px 14px;font-weight:600;font-size:12px;cursor:pointer}.button:hover{border-color:#3e5e68;color:white}.button.primary{background:var(--cyan);border-color:var(--cyan);color:#032522}.button.ghost{background:#0b171c}.view{padding:27px 30px 38px;max-width:1600px;margin:auto}.view-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.view h1{font:600 26px/1 Space Grotesk;margin:0}.segmented{display:flex;background:#0b171c;padding:4px;border:1px solid var(--line);border-radius:9px}.segmented button{border:0;background:transparent;color:var(--muted);font-weight:600;padding:7px 11px;border-radius:6px;font-size:11px;cursor:pointer}.segmented button.active{background:#193138;color:white}.workspace{display:grid;grid-template-columns:280px 1fr;gap:18px}.card{background:linear-gradient(155deg,rgba(17,33,39,.96),rgba(10,22,27,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 60px rgba(0,0,0,.16)}.config-panel{padding:17px;height:max-content;position:sticky;top:103px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.card-head h2{font:600 14px Space Grotesk;margin:0}.badge,.pill{font-size:8px;font-weight:700;letter-spacing:.12em;color:#8fa7af;border:1px solid #29434c;background:#10242a;padding:5px 7px;border-radius:6px}.badge.blue{color:#8dacff;border-color:#2d477d;background:#152341}.badge.amber{color:#ffd27d;border-color:#6c4e19;background:#2d2413}.pill.live{color:#7ff3df;border-color:#1f655c}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:6px;min-width:0}.field.full{margin-bottom:14px}.field>span{font-size:9px;letter-spacing:.05em;color:#8299a1;font-weight:600}.field select,.field input{width:100%;min-width:0;border:1px solid #29414a;background:#09151a;color:#eef8fa;border-radius:8px;padding:9px 9px;outline:none;font:600 11px Inter}.field select:focus,.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,227,196,.08)}.input-unit{position:relative}.input-unit input{padding-right:30px}.input-unit b{position:absolute;right:8px;top:10px;color:#607b84;font-size:9px}.stepper{display:grid;grid-template-columns:25px 1fr 25px;border:1px solid #29414a;border-radius:8px;overflow:hidden}.stepper input{border:0;text-align:center;border-radius:0;padding-inline:2px}.stepper button{border:0;background:#13262c;color:#a9bdc3;cursor:pointer}.hint{display:flex;gap:9px;background:#0b2426;color:#78979d;border:1px solid #164348;border-radius:10px;padding:10px;margin-top:14px;font-size:9px;line-height:1.45}.hint span{flex:0 0 17px;height:17px;border:1px solid #2a6a6a;border-radius:50%;display:grid;place-items:center;color:var(--cyan)}.canvas-column{min-width:0}.metrics-row,.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.metric{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(13,28,34,.9)}.metric small{display:block;color:#6e8790;font-size:8px;font-weight:700;letter-spacing:.1em;margin-bottom:7px}.metric strong{font:600 18px Space Grotesk}.metric em{font-style:normal;color:#668088;font-size:9px;margin-left:4px}.canvas-card{padding:17px}.legend{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.legend span{font-size:8px;color:#7f979f;display:flex;align-items:center;gap:5px}.legend i{display:block;width:7px;height:7px;border-radius:2px}.screen-stage{height:420px;border:1px solid #183139;border-radius:12px;background-color:#061216;background-image:linear-gradient(rgba(53,109,116,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(53,109,116,.08) 1px,transparent 1px);background-size:22px 22px;display:grid;place-items:center;overflow:hidden}.screen-stage svg{width:95%;height:95%;display:block}.stage-footer{display:flex;justify-content:space-between;color:#668088;font-size:9px;padding:11px 3px 0}.detail-grid,.dashboard-grid,.electrical-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.compact{padding:16px}.port-list{display:grid;gap:9px}.port-row{display:grid;grid-template-columns:55px 1fr 66px;gap:10px;align-items:center;font-size:9px;color:#91a6ad}.port-row strong{color:#dcebed}.bar{height:6px;border-radius:10px;background:#172b32;overflow:hidden}.bar i{display:block;height:100%;border-radius:10px}.power-big{display:flex;align-items:end;gap:7px;margin-bottom:12px}.power-big strong{font:600 25px Space Grotesk}.power-big span{font-size:9px;color:#738c94;margin-bottom:4px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mini-stat{padding:8px;background:#0a171c;border:1px solid #1b3139;border-radius:8px}.mini-stat span{display:block;color:#66818a;font-size:7px;margin-bottom:5px}.mini-stat b{font-size:11px}.notice{margin-top:18px;padding:13px;border:1px solid #4e401c;background:#251f12;border-radius:10px}.notice strong,.notice span{display:block}.notice strong{font-size:11px;color:#ffd27d;margin-bottom:5px}.notice span{font-size:9px;color:#9d906f}.electrical-layout{grid-template-columns:1.1fr .9fr}.electrical-layout>.card{padding:18px}.circuit-list{display:grid;gap:9px}.circuit{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;background:#0a171c;border:1px solid #1c333b;border-radius:10px;padding:11px}.circuit-id{width:34px;height:34px;display:grid;place-items:center;background:#2d2413;color:#ffd27d;border-radius:8px;font-weight:700;font-size:11px}.circuit p{margin:0;font-size:10px}.circuit small{color:#718990}.circuit b{font-size:10px}.dashboard-grid>.card{padding:18px}.summary-list{display:grid;gap:12px}.summary-line{display:flex;justify-content:space-between;border-bottom:1px solid #1d3239;padding-bottom:10px;font-size:11px;color:#7f969e}.summary-line b{color:#e9f5f7}.toast{position:fixed;bottom:24px;right:24px;background:#173139;border:1px solid #2c5c62;color:#dffbf6;padding:12px 16px;border-radius:10px;font-size:11px;transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{transform:none;opacity:1}dialog{width:min(620px,92vw);border:1px solid #29434c;background:#0b171c;color:var(--text);border-radius:16px;padding:20px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#02090bcc;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:15px}.dialog-head h2{margin:0;font:600 21px Space Grotesk}.icon-button{background:transparent;border:0;color:#8fa6ad;font-size:26px;cursor:pointer}.projects-list{display:grid;gap:8px;padding:16px 0;max-height:48vh;overflow:auto}.project-row{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #1e353d;border-radius:10px;background:#0f2026}.project-row p{margin:0;font-size:11px}.project-row small{color:#718990}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid #28424b;background:#13272e;color:#b7cbd1;border-radius:7px;padding:6px 8px;font-size:9px;cursor:pointer}.row-actions button.danger{color:#ff8892}.dialog-actions{display:flex;gap:8px}.file-button input{display:none}
@media(max-width:1050px){:root{--sidebar:76px}.brand>div:last-child,.nav-item:not(.active){font-size:0}.brand{padding-inline:4px}.brand-mark{width:36px}.nav-item{justify-content:center}.nav-item span{font-size:20px}.sidebar-foot{display:none}.workspace{grid-template-columns:250px 1fr}.screen-stage{height:360px}}
@media(max-width:790px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:62px;flex-direction:row;padding:8px;justify-content:center;border:1px solid var(--line);z-index:10}.brand,.sidebar-foot{display:none}.nav{display:flex}.nav-item,.nav-item:not(.active){font-size:0;padding:10px 18px}.main{padding-bottom:68px}.topbar{padding:0 16px;height:72px}.top-actions .button.ghost{display:none}.view{padding:20px 14px}.workspace,.detail-grid,.dashboard-grid,.electrical-layout{grid-template-columns:1fr}.config-panel{position:static}.metrics-row,.hero-metrics{grid-template-columns:repeat(2,1fr)}.screen-stage{height:330px}.view-heading{align-items:start}.segmented{margin-left:12px}.project-title{width:46vw;font-size:14px}}
@media print{.sidebar,.topbar,.view:not(#electricalView),#printReport{display:none!important}.main{grid-column:1}.app-shell{display:block}.view{padding:0}#electricalView{display:block!important}.card{break-inside:avoid}}
.view-controls{display:flex;align-items:end;gap:10px}.routing-select{display:grid;gap:5px}.routing-select span{font-size:8px;color:#718b94;font-weight:700;letter-spacing:.12em}.routing-select select{border:1px solid var(--line);background:#0b171c;color:#bcd0d5;border-radius:8px;padding:8px 10px;font:600 10px Inter;outline:none}.screen-tabs-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-3px 0 13px}.screen-tabs{display:flex;gap:7px;min-width:0;overflow-x:auto;padding:3px}.screen-tab{border:1px solid var(--line);background:#0b171c;color:#7f969e;border-radius:9px;padding:8px 11px;font:600 10px Inter;cursor:pointer;white-space:nowrap}.screen-tab.active{color:#eafffb;border-color:#237a70;background:#12312f;box-shadow:inset 0 -2px var(--cyan)}.screen-tab b{color:#526c74;margin-left:7px;font-weight:500}.add-screen{white-space:nowrap}.routing-advice{display:block;color:#6f8a93;font-size:8px;margin-top:5px;font-weight:500}.flown-field.hidden{display:none!important}.cable-notice{margin-top:14px}.dialog-section-title{font:600 11px Space Grotesk;color:#8ca3aa;text-transform:uppercase;letter-spacing:.1em;margin:17px 0 0}.backups-list{max-height:25vh}.safety-note{margin-top:10px;color:#8a7d60;font-size:8px;line-height:1.5}.structure-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.structure-visual .mini-stat{min-height:50px}.aggregate-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #29434c;background:#10242a;color:#8fa7af;border-radius:6px;padding:6px 8px;font-size:8px}.screen-stage.mode-3d{background-image:radial-gradient(circle at 50% 90%,rgba(34,227,196,.12),transparent 34%),linear-gradient(rgba(53,109,116,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(53,109,116,.07) 1px,transparent 1px)}
@media(max-width:790px){.view-heading{gap:10px}.view-controls{align-items:stretch;flex-direction:column}.routing-select select{max-width:160px}.view-controls .segmented{margin-left:0}.screen-tabs-wrap{align-items:stretch;flex-direction:column}.add-screen{width:100%}}

/* v2 · planos independientes, catálogo verificado y visor 3D */
.config-panel{max-height:calc(100vh - 122px);overflow:auto;scrollbar-width:thin}.config-section{border-top:1px solid #1c333b;margin-top:15px;padding-top:14px}.config-section h3{margin:0 0 11px;color:#9db1b7;font:600 10px Space Grotesk;letter-spacing:.12em;text-transform:uppercase}.field input:disabled{opacity:.55;background:#0b171c;color:#78909b;cursor:not-allowed}.source-fact{font-size:8.5px;line-height:1.5;color:#77919a;background:#09171b;border:1px solid #1c353d;border-radius:8px;padding:9px;margin:8px 0 12px}.source-fact a{color:var(--cyan);text-decoration:none}.source-fact strong{color:#d5e6e9}.technical-tabs{flex-wrap:wrap}.engineering-warning,.warning-card{border:1px solid #6a4b1b;background:#2a2112;color:#c9b784;border-radius:11px;padding:13px 15px;margin-top:14px;font-size:10px;line-height:1.55}.warning-card{margin:0 0 11px;display:flex;gap:10px;align-items:flex-start}.warning-card.critical{border-color:#74313a;background:#2b171b;color:#ffadb5}.warning-card.info{border-color:#215a62;background:#0c282c;color:#91cbd0}.screen-stage.mode-3d{display:block;position:relative;height:570px;background:#040b0e}.three-shell{position:relative;width:100%;height:100%}.three-shell canvas{width:100%;height:100%;display:block}.three-toolbar{position:absolute;z-index:2;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 24px)}.three-toolbar button{border:1px solid #29434c;background:#0a171ddd;color:#b8cbd0;border-radius:7px;padding:7px 9px;font-size:9px;cursor:pointer}.three-toolbar button.active{border-color:var(--cyan);color:#87f4e2}.three-info{position:absolute;z-index:2;bottom:10px;left:12px;background:#061217dd;border:1px solid #223a42;color:#9db3b9;border-radius:8px;padding:8px 10px;font-size:9px;pointer-events:none}.bom-grid{width:100%;height:100%;overflow:auto;padding:18px}.bom-table{width:100%;border-collapse:collapse;font-size:10px}.bom-table th,.bom-table td{text-align:left;border-bottom:1px solid #1d333a;padding:10px 8px}.bom-table th{color:#78909b;font-size:8px;letter-spacing:.1em}.bom-table td:nth-child(2),.bom-table td:nth-child(3){text-align:right}.bom-total{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.calc-note{display:block;color:#69828a;font-size:8px;line-height:1.45;margin-top:5px}.port-row{grid-template-columns:74px 1fr 95px}.port-row.alert{color:#ffbf47}.port-row.critical{color:#ff7c87}.circuit small{display:block;margin-top:4px}.circuit.warning{border-color:#6a4b1b}.circuit.critical{border-color:#843640}.status-tag{font-size:8px;border-radius:5px;padding:3px 5px;background:#153037;color:#8ee9da;margin-left:6px}.status-tag.warn{background:#372a12;color:#ffd27d}.status-tag.danger{background:#391b21;color:#ff9da7}.controller-limits{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.formula-box{font-size:9px;color:#8299a1;line-height:1.5;padding:8px;background:#09161a;border:1px solid #1c333a;border-radius:8px;margin-top:8px}.formula-box b{color:#d8e7ea}.screen-stage .empty-state{color:#718990;font-size:11px}.engineering-warning{margin-top:18px}.hidden{display:none!important}
@media(max-width:1050px){.controller-limits,.bom-total{grid-template-columns:1fr 1fr}.config-panel{max-height:none}}
@media print{.sidebar,.topbar,.config-panel,.screen-tabs-wrap,.view-heading .view-controls,.top-actions{display:none!important}.main{grid-column:1}.view{padding:0}.canvas-column{width:100%}.screen-stage{height:520px}.card{break-inside:avoid;box-shadow:none}.engineering-warning{display:block}}
.logo-upload{display:flex;gap:7px;margin:8px 0}.logo-upload .button{flex:1;text-align:center;padding:8px}.logo-upload #removeLogo{flex:0 0 auto}.three-toolbar{right:12px}.three-toolbar button{backdrop-filter:blur(8px)}
.config-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:-4px 0 16px}.config-tabs button{border:1px solid #213941;background:#0a171c;color:#718a93;border-radius:8px;padding:8px 6px;font:600 8px Inter;cursor:pointer}.config-tabs button.active{border-color:#257c72;background:#12312f;color:#dffff9;box-shadow:inset 0 -2px var(--cyan)}.config-page{display:none}.config-page.active{display:block}.config-page>.config-section:first-child{border-top:0;margin-top:0;padding-top:0}

/* Teléfonos y tablets pequeñas en horizontal */
@media (orientation:landscape) and (max-height:600px) and (max-width:1000px){
  :root{--sidebar:0px}
  .app-shell{display:block;min-height:100vh}
  .main{grid-column:1;padding-bottom:54px}
  .sidebar{position:fixed;inset:auto 0 0 0;width:100%;height:52px;padding:5px 8px;border:1px solid var(--line);border-width:1px 0 0;display:flex;align-items:center;justify-content:center;z-index:20}
  .brand,.sidebar-foot{display:none}
  .nav{display:flex;width:100%;height:100%;justify-content:space-evenly;gap:4px}
  .nav-item,.nav-item:not(.active){flex:1;max-width:120px;justify-content:center;padding:5px 8px;font-size:0;border-radius:8px}
  .nav-item span{width:auto;font-size:19px}
  .nav-item.active{box-shadow:inset 0 -2px var(--cyan)}
  .topbar{height:54px;padding:0 12px;gap:8px}
  .topbar .eyebrow{display:none}
  .project-title{width:38vw;max-width:310px;font-size:13px}
  .top-actions{gap:5px}
  .top-actions .button{padding:7px 9px;font-size:10px}
  #backupNow,#exportCsv,#exportSvg{display:none!important}
  #printReport{display:inline-block!important}
  .view{padding:10px 12px 18px}
  .view-heading{align-items:center;gap:10px;margin-bottom:8px}
  .view-heading>div:first-child .eyebrow{display:none}
  .view h1{font-size:18px}
  .view-controls{align-items:center;flex-direction:row;gap:7px;min-width:0}
  .routing-select{display:block}
  .routing-select span{display:none}
  .routing-select select{max-width:145px;padding:6px 8px}
  .view-controls .segmented{margin-left:0;flex-wrap:nowrap;white-space:nowrap}
  .segmented button{padding:6px 8px}
  .screen-tabs-wrap{align-items:center;flex-direction:row;gap:7px;margin-bottom:8px}
  .screen-tabs{flex:1}
  .screen-tab{padding:6px 9px}
  .add-screen{width:auto;padding:7px 9px;font-size:10px}
  .workspace{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:10px}
  .config-panel{position:sticky;top:62px;max-height:calc(100vh - 124px);overflow:auto;padding:11px}
  .config-panel>.card-head{margin-bottom:10px}
  .config-tabs{grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px}
  .config-tabs button{padding:6px 3px;font-size:7px}
  .config-section{margin-top:10px;padding-top:9px}
  .config-section h3{margin-bottom:8px}
  .field-grid{gap:7px}
  .field.full{margin-bottom:9px}
  .field select,.field input{padding:7px;font-size:10px}
  .input-unit b{top:8px}
  .metrics-row,.hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:7px}
  .metric{padding:8px 9px}
  .metric small{margin-bottom:4px}
  .metric strong{font-size:14px}
  .canvas-card{padding:10px}
  .canvas-card>.card-head{margin-bottom:8px}
  .legend{gap:5px;max-width:45%}
  .screen-stage{height:calc(100vh - 210px);min-height:250px}
  .screen-stage.mode-3d{height:calc(100vh - 210px);min-height:270px}
  .stage-footer{padding-top:7px}
  .detail-grid,.dashboard-grid,.electrical-layout{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .compact,.dashboard-grid>.card,.electrical-layout>.card{padding:12px}
  .three-toolbar{left:7px;right:7px;top:7px;max-width:calc(100% - 14px);flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .three-toolbar button{flex:0 0 auto;padding:6px 8px}
  dialog{max-height:92vh;overflow:auto}
}

/* Acabados profesionales del Pixel Map: plantillas A-E y marco editable */
.pixel-screen{border:var(--frame-size,2px) solid var(--frame-color,#d9ffff)}
.pixel-grid{background-image:linear-gradient(135deg,transparent calc(50% - .55px),color-mix(in srgb,var(--frame-color) 70%,transparent) 50%,transparent calc(50% + .55px)),linear-gradient(45deg,transparent calc(50% - .55px),#00000066 50%,transparent calc(50% + .55px)),conic-gradient(from 45deg at 50% 50%,#ffffff32 0 25%,transparent 0 50%,#00000030 0 75%,#ffffff14 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) calc(100% - var(--frame-size,2px))),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) calc(100% - var(--frame-size,2px)))}
.pixel-screen[data-pattern="b"] .pixel-grid{background-image:linear-gradient(125deg,#ffffff32 0 23%,transparent 23% 48%,#0000002f 48% 73%,transparent 73%),linear-gradient(35deg,transparent 0 49%,color-mix(in srgb,var(--frame-color) 72%,transparent) 49% 51%,transparent 51%),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 70%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 70%,transparent) 0);background-size:var(--grid-x) var(--grid-y);filter:saturate(1.18) contrast(1.04)}
.pixel-screen[data-pattern="b"] .pixel-grid::before{background:repeating-linear-gradient(115deg,#ffffff12 0 2px,transparent 2px 9px);background-size:auto;mix-blend-mode:screen}
.pixel-screen[data-pattern="c"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff30 0 25%,#00000028 0 50%,#ffffff10 0 75%,#00000012 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 78%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 78%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="c"] .pixel-grid::before{background:radial-gradient(circle at 36% 30%,#ffffff40 0 5%,transparent 24%),radial-gradient(circle at 66% 72%,#00000036 0 8%,transparent 27%);background-size:var(--grid-x) var(--grid-y);mix-blend-mode:overlay}
.pixel-screen[data-pattern="d"] .pixel-grid{background-color:#03090bcc;background-image:radial-gradient(circle,#ffffffbb 0 1px,color-mix(in srgb,var(--screen-color) 74%,#020607) 1.5px 4px,transparent 4.5px),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) 0);background-size:8px 8px,var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y);filter:saturate(1.35)}
.pixel-screen[data-pattern="d"] .pixel-grid::before{background:linear-gradient(120deg,#ffffff25,transparent 32% 70%,#0008);background-size:auto;mix-blend-mode:screen}
.pixel-screen[data-pattern="e"] .pixel-grid{background-image:linear-gradient(45deg,transparent 0 47%,color-mix(in srgb,var(--frame-color) 75%,transparent) 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 0 47%,#00000072 48% 52%,transparent 53%),repeating-linear-gradient(90deg,#ffffff0e 0 2px,transparent 2px 7px),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 82%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 82%,transparent) 0);background-size:var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),auto,var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y);filter:saturate(.9) contrast(1.15)}
.pixel-screen[data-pattern="e"] .pixel-grid::before{background:linear-gradient(180deg,#ffffff20,transparent 30% 70%,#00000035);background-size:auto;mix-blend-mode:overlay}
.template-tools>span{min-width:auto;padding-inline:5px;color:#a9c0c6;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.template-tools button{min-width:27px;padding-inline:7px}.frame-tools label{height:29px;display:flex;align-items:center;gap:6px;padding:3px 7px 3px 4px;border:1px solid #29434c;border-radius:7px;color:#9bb2b8;font:600 8px Inter}.frame-tools input[type=color]{width:25px;height:21px;padding:0;border:0;background:transparent;cursor:pointer}.frame-tools input[type=color]::-webkit-color-swatch-wrapper{padding:0}.frame-tools input[type=color]::-webkit-color-swatch{border:1px solid #ffffff66;border-radius:5px}.frame-tools select{height:29px;padding:0 25px 0 8px;border:1px solid #29434c;border-radius:7px;background:#0d2026;color:#a9c0c6;font:600 9px Inter}

@media(min-width:1100px){
  .workspace:has(.mode-pixelmap) .worktable-section{padding:10px 14px}
  .workspace:has(.mode-pixelmap) .worktable-section h3{margin-bottom:7px}
  .workspace:has(.mode-pixelmap) .worktable-section .field-grid{gap:7px}
  .workspace:has(.mode-pixelmap) .worktable-section .field input{min-height:32px;padding:6px 9px}
  .workspace:has(.mode-pixelmap) .worktable-section .input-unit b{top:9px}
  .workspace:has(.mode-pixelmap) .worktable-section .inline-resolution{margin-top:6px;padding:6px 9px}
  .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{min-height:630px}
}

/* Las variantes de ajedrez y el rótulo deben prevalecer sobre el tema base. */
.pixel-screen[data-pattern="a"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff30 0 25%,#00000028 0 50%,#ffffff10 0 75%,#00000020 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="a"] .pixel-grid::before{background:radial-gradient(circle at 32% 28%,#ffffff2b 0 6%,transparent 31%),linear-gradient(135deg,#ffffff12,transparent 44% 68%,#0000001f);background-size:var(--grid-x) var(--grid-y);mix-blend-mode:overlay}
.pixel-screen[data-pattern="b"] .pixel-grid{background-image:linear-gradient(135deg,#ffffff30 0 49%,#00000022 50% 100%),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="b"] .pixel-grid::before{background:conic-gradient(from 90deg,#ffffff12 0 25%,#00000018 0 50%,#ffffff08 0 75%,#00000014 0);background-size:var(--grid-x2) var(--grid-y2);mix-blend-mode:overlay}
.pixel-screen[data-pattern="c"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff20 0 25%,transparent 0 50%,#00000020 0 75%,transparent 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-label b{display:inline-flex;align-items:center;justify-content:center;justify-self:center;max-width:92%;padding:5px 10px;border:1px solid #ffffff52;color:var(--label-color,#fff);background:var(--label-bg,#071014d1);box-shadow:0 4px 14px #0008;text-shadow:0 2px 5px #000;line-height:1.15}
.pixel-label span{color:color-mix(in srgb,var(--label-color,#fff) 82%,#9fb7bc)}
.pixel-screen[data-label-shape="none"] .pixel-label b{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none}
.pixel-screen[data-label-shape="rect"] .pixel-label b{border-radius:0;clip-path:none}
.pixel-screen[data-label-shape="rounded"] .pixel-label b{border-radius:6px;clip-path:none}
.pixel-screen[data-label-shape="pill"] .pixel-label b{padding-inline:15px;border-radius:999px;clip-path:none}
.pixel-screen[data-label-shape="hex"] .pixel-label b{padding:7px 19px;border:0;border-radius:0;clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%)}

/* V2 · flujo separado de creación y edición del lienzo */
.nav-section-label{margin:14px 12px 4px;color:#557078;font:700 7px Inter;letter-spacing:.16em}.technical-nav{padding-block:9px!important;font-size:10px!important}
.pixel-workflow{display:none;align-items:center;gap:9px;margin-right:auto}.pixel-workflow>i{width:34px;height:1px;background:linear-gradient(90deg,#2d454d,#7257ff)}.pixel-workflow button{display:grid;grid-template-columns:25px auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:7px 13px 7px 8px;border:1px solid #273d46;border-radius:11px;background:#09161b;color:#708890;text-align:left;cursor:pointer}.pixel-workflow button>b{grid-row:1/span 2;display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:#12242a;color:#6f898f;font:700 10px Inter}.pixel-workflow button>span{color:#c8d7db;font:700 10px Space Grotesk}.pixel-workflow button>small{font:500 7px Inter;color:#61777e}.pixel-workflow button.active{border-color:#7257ff;background:linear-gradient(145deg,#171d35,#101b25);box-shadow:0 0 0 2px #7257ff1e}.pixel-workflow button.active>b{background:linear-gradient(135deg,#5541ff,#8c42e8);color:#fff}.pixel-workflow button.active>span{color:#fff}
body[data-pixel-phase] .pixel-workflow{display:flex}body[data-pixel-phase] #editorView>.view-heading{display:flex!important;align-items:center;justify-content:center;margin:0!important;padding:10px 16px;border-bottom:1px solid #1e3038;background:#071115}body[data-pixel-phase] #editorView>.view-heading>div:first-child,body[data-pixel-phase] #editorView>.view-heading>.view-controls{display:none!important}
body[data-pixel-phase] .topbar{height:66px;padding:0 18px}body[data-pixel-phase] .menu-toggle,body[data-pixel-phase] .mobile-brand-title,body[data-pixel-phase] .top-actions #backupNow,body[data-pixel-phase] .top-actions #saveProject{display:none!important}body[data-pixel-phase] .project-identity{display:block!important}body[data-pixel-phase] .project-identity .eyebrow{display:none}body[data-pixel-phase] .project-title{min-width:310px;font-size:17px}body[data-pixel-phase] .top-actions{margin-left:auto}body[data-pixel-phase] .top-actions #openExport,body[data-pixel-phase] .top-actions #printReport{display:block!important}
.creation-toolbar{justify-content:space-between!important;min-height:58px;padding:9px 12px!important}.phase-next,.phase-back{border:1px solid #7753ff;border-radius:9px;background:linear-gradient(135deg,#503cff,#8a3ee6);color:#fff;font:700 9px Inter;cursor:pointer}.phase-next{min-height:36px;padding:8px 15px}.phase-next b{margin-left:8px;font-size:13px}.phase-back{padding:9px 12px;background:#111d2b;color:#c8bcff}.editor-toolbar{display:block;padding:10px 12px 12px!important;background:linear-gradient(180deg,#0d1820,#071116)!important}.editor-action-row{display:flex;align-items:center;justify-content:center;gap:7px}.editor-option-grid{display:grid;grid-template-columns:1fr 1.45fr .75fr 1.35fr;gap:8px;margin-top:9px}.editor-option-card{min-width:0;padding:9px;border:1px solid #223942;border-radius:11px;background:linear-gradient(145deg,#0d1b21,#081318);box-shadow:inset 0 1px 0 #ffffff08}.editor-option-card header{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 1px 7px}.editor-option-card header b{color:#dcebed;font:700 8px Space Grotesk;letter-spacing:.04em}.editor-option-card header span{color:#597279;font:500 6px Inter}.editor-option-card>.pixel-tools{padding:0;border:0;background:transparent;flex-wrap:wrap}.editor-option-card .pixel-tools+ .pixel-tools{margin-top:6px}.color-tools select,.frame-tools select,.text-tools select{min-height:29px;padding:4px 7px;border:1px solid #29434c;border-radius:7px;background:#0d2026;color:#a9c0c6;font:600 8px Inter}.editor-option-card .template-tools{justify-content:flex-start}
.pixel-group-frame{position:absolute;z-index:5;border:2px solid #b99aff;border-radius:6px;box-shadow:0 0 0 3px #7c5cff2c,inset 0 0 35px #6c49ff18;pointer-events:none}.pixel-group-frame::before,.pixel-group-frame::after{content:"";position:absolute;width:13px;height:13px;border-color:#fff}.pixel-group-frame::before{left:-3px;top:-3px;border-left:3px solid;border-top:3px solid}.pixel-group-frame::after{right:-3px;bottom:-3px;border-right:3px solid;border-bottom:3px solid}.pixel-group-label{position:absolute;left:50%;top:50%;display:grid;min-width:max-content;max-width:82%;gap:3px;transform:translate(-50%,-50%);padding:8px 14px;border:1px solid #d9cdff80;border-radius:9px;background:#160f2ee8;box-shadow:0 8px 28px #000b;text-align:center}.pixel-group-label b{color:#fff;font:800 clamp(7px,.85vw,11px) Space Grotesk;letter-spacing:.05em}.pixel-group-label span{max-width:260px;overflow:hidden;color:#cbbdff;font:600 clamp(5px,.58vw,8px) Inter;text-overflow:ellipsis;white-space:nowrap}.pixel-screen.grouped .pixel-label{opacity:.14}.pixel-screen.grouped .pixel-group{display:none}
.pixel-screen[data-pattern="a"] .pixel-grid{background-image:conic-gradient(from 90deg,var(--screen-color) 0 25%,var(--screen-color-2) 0 50%,var(--screen-color) 0 75%,var(--screen-color-2) 0);background-size:var(--grid-x2) var(--grid-y2);opacity:.94}.pixel-screen[data-pattern="b"] .pixel-grid{background-image:linear-gradient(135deg,var(--screen-color) 0 49.5%,var(--screen-color-2) 50.5% 100%);background-size:var(--grid-x) var(--grid-y);opacity:.94}.pixel-screen[data-pattern="c"] .pixel-grid{background-image:conic-gradient(from 90deg,color-mix(in srgb,var(--screen-color) 72%,#fff) 0 25%,color-mix(in srgb,var(--screen-color-2) 72%,#071014) 0 50%,color-mix(in srgb,var(--screen-color) 72%,#071014) 0 75%,color-mix(in srgb,var(--screen-color-2) 72%,#fff) 0);background-size:var(--grid-x2) var(--grid-y2);opacity:.82}.pixel-screen[data-diagonal="yes"] .pixel-grid::after{background:linear-gradient(135deg,transparent calc(50% - .7px),#ffffff80 50%,transparent calc(50% + .7px));background-size:var(--grid-x) var(--grid-y);mix-blend-mode:screen}.pixel-screen[data-diagonal="no"] .pixel-grid::after{background:linear-gradient(118deg,#ffffff24 0%,transparent 24%,transparent 72%,#0000001c 100%);background-size:auto;mix-blend-mode:screen}
@media(min-width:1100px){body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap){grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;min-height:calc(100vh - 155px)}body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap)>.config-panel{display:none!important}body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap)>.canvas-column{grid-column:1;grid-row:1}body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{min-height:calc(100vh - 157px)}body[data-pixel-phase="create"] .editor-option-grid{display:none}}
@media(max-width:790px){body[data-pixel-phase] .topbar{height:58px;padding-inline:12px}body[data-pixel-phase] .project-title{min-width:0;width:43vw;font-size:13px}body[data-pixel-phase] .top-actions{gap:5px}body[data-pixel-phase] .top-actions #printReport{display:none!important}body[data-pixel-phase] #editorView>.view-heading{top:58px;padding:7px 8px}.pixel-workflow{width:100%;gap:5px}.pixel-workflow>i{width:13px}.pixel-workflow button{flex:1;padding:7px}.pixel-workflow button>small{display:none}.editor-toolbar{max-height:272px;overflow:auto}.editor-action-row{justify-content:flex-start;overflow-x:auto}.editor-option-grid{grid-template-columns:1fr;gap:7px}.editor-option-card header span{font-size:7px}.creation-toolbar{overflow-x:auto}.phase-next{white-space:nowrap}body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap)>.config-panel{display:none!important}body[data-pixel-phase="edit"] .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{height:calc(100dvh - 116px);min-height:560px}.pixel-group-label{padding:5px 8px}.pixel-group-label span{display:none}}

/* Ajedrez de módulos y rótulos personalizables */
.pixel-screen[data-pattern="a"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff30 0 25%,#00000028 0 50%,#ffffff10 0 75%,#00000020 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="a"] .pixel-grid::before{background:radial-gradient(circle at 32% 28%,#ffffff2b 0 6%,transparent 31%),linear-gradient(135deg,#ffffff12,transparent 44% 68%,#0000001f);background-size:var(--grid-x) var(--grid-y);mix-blend-mode:overlay}
.pixel-screen[data-pattern="b"] .pixel-grid{background-image:linear-gradient(135deg,#ffffff30 0 49%,#00000022 50% 100%),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="b"] .pixel-grid::before{background:conic-gradient(from 90deg,#ffffff12 0 25%,#00000018 0 50%,#ffffff08 0 75%,#00000014 0);background-size:var(--grid-x2) var(--grid-y2);mix-blend-mode:overlay}
.pixel-screen[data-pattern="c"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff20 0 25%,transparent 0 50%,#00000020 0 75%,transparent 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-label b{display:inline-flex;align-items:center;justify-content:center;justify-self:center;max-width:92%;padding:5px 10px;border:1px solid #ffffff52;color:var(--label-color,#fff);background:var(--label-bg,#071014d1);box-shadow:0 4px 14px #0008;text-shadow:0 2px 5px #000;line-height:1.15}
.pixel-label span{color:color-mix(in srgb,var(--label-color,#fff) 82%,#9fb7bc)}
.pixel-screen[data-label-shape="none"] .pixel-label b{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none}
.pixel-screen[data-label-shape="rect"] .pixel-label b{border-radius:0;clip-path:none}
.pixel-screen[data-label-shape="rounded"] .pixel-label b{border-radius:6px;clip-path:none}
.pixel-screen[data-label-shape="pill"] .pixel-label b{padding-inline:15px;border-radius:999px;clip-path:none}
.pixel-screen[data-label-shape="hex"] .pixel-label b{padding:7px 19px;border:0;border-radius:0;clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%)}
.template-tools button{display:grid;grid-template-columns:15px auto;align-items:center;gap:4px;min-width:auto;padding:5px 7px}.template-tools button i{display:block;width:15px;height:15px;border:1px solid #ffffff55;border-radius:3px;background:conic-gradient(#b7c9cc 0 25%,#31464d 0 50%,#b7c9cc 0 75%,#31464d 0);background-size:8px 8px}.template-tools button.template-b i{background:linear-gradient(135deg,#c4d4d6 0 50%,#294047 50%)}.template-tools button.template-c i{background:conic-gradient(#849ba0 0 25%,#52686e 0 50%,#849ba0 0 75%,#52686e 0)}.template-tools button.template-d i{background:radial-gradient(circle,#9ff5e7 0 1px,#123038 2px);background-size:5px 5px}.template-tools button.template-e i{background:linear-gradient(45deg,transparent 44%,#9fb8be 45% 55%,transparent 56%),linear-gradient(-45deg,transparent 44%,#536b72 45% 55%,transparent 56%),#13242a}.template-tools button em{font:700 8px Inter;font-style:normal}.text-tools>span{min-width:auto;padding-inline:5px;color:#a9c0c6;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.text-tools label{height:29px;display:flex;align-items:center;gap:5px;padding:3px 6px 3px 4px;border:1px solid #29434c;border-radius:7px;color:#9bb2b8}.text-tools input[type=color]{width:23px;height:21px;padding:0;border:0;background:transparent;cursor:pointer}.text-tools input[type=color]::-webkit-color-swatch-wrapper{padding:0}.text-tools input[type=color]::-webkit-color-swatch{border:1px solid #ffffff66;border-radius:5px}.text-tools small{font:600 8px Inter}.text-tools select{height:29px;padding:0 24px 0 8px;border:1px solid #29434c;border-radius:7px;background:#0d2026;color:#a9c0c6;font:600 8px Inter}.text-tools #pmTextShape{max-width:96px}.text-tools #pmTextOpacity{max-width:61px}
@media(max-width:790px){.text-tools label,.text-tools select{height:38px}.text-tools>span{display:flex}.template-tools button{min-height:38px}}
@media(max-width:790px){.template-tools>span{display:flex}.frame-tools label{height:38px}.frame-tools select{height:38px}.frame-tools button{min-width:62px}}

/* Pixel Map · lienzo principal multipantalla */
.screen-stage.mode-pixelmap{display:block;position:relative;height:570px;padding:0;background:#03090c;overflow:hidden}
.pixel-map{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}
.pixel-toolbar{min-height:45px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;padding:8px 9px;border-bottom:1px solid #1a343b;background:linear-gradient(180deg,#0b181d,#071115);position:relative;z-index:3;box-shadow:0 8px 28px #0005}
.pixel-tools{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #1e343b;border-radius:10px;background:#08151a}.pixel-tools button{border:1px solid #29434c;background:#0d2026;color:#a9c0c6;border-radius:7px;padding:6px 9px;font:600 9px Inter;cursor:pointer;transition:.16s ease}.pixel-tools button:hover{transform:translateY(-1px);border-color:#2b8579;color:#e8fffb;background:#123038}.pixel-tools button:disabled{opacity:.35;cursor:not-allowed;transform:none}.pixel-tools button.active{border-color:#8b6cff;background:linear-gradient(135deg,#4d37d7,#713ad4);color:#fff;box-shadow:0 0 0 2px #7c5cff22}.pixel-tools span{min-width:40px;text-align:center;color:#67838b;font-size:8px}.pixel-tools.export button{color:#83ead9}.pixel-tools.primary-tools button:first-child{border-color:#7250ff;background:linear-gradient(135deg,#533cff,#8b3fe8);color:#fff}.group-tools button:first-child{color:#9ff5e7}.group-tools button:last-child{color:#c8b9ff}.select-tools>span{padding:5px 8px;border-radius:7px;background:#10232a;color:#9ab1b7;white-space:nowrap}.color-tools label{height:29px;display:flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;border:1px solid #29434c;border-radius:7px;color:#9bb2b8;font:600 8px Inter;cursor:pointer}.color-tools input[type=color]{width:25px;height:21px;padding:0;border:0;border-radius:5px;background:transparent;cursor:pointer}.color-tools input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-tools input[type=color]::-webkit-color-swatch{border:1px solid #ffffff55;border-radius:5px}
.pixel-workspace{min-height:0;overflow:auto;padding:24px;display:flex;align-items:center;justify-content:center;background-color:#040c10;background-image:radial-gradient(circle at 50% 40%,rgba(48,125,118,.09),transparent 45%),linear-gradient(rgba(63,115,121,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(63,115,121,.06) 1px,transparent 1px);background-size:auto,20px 20px,20px 20px}.pixel-workspace.multi-mode{cursor:crosshair}
.pixel-canvas{position:relative;flex:0 0 auto;min-width:120px;min-height:68px;background-color:#020608;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:5% 5%;border:1px solid #29434c;box-shadow:0 14px 50px #0009,0 0 0 1px #0c171b;overflow:hidden}
.pixel-center-guide{position:absolute;z-index:1;pointer-events:none;opacity:.48;transition:opacity .12s,box-shadow .12s}.pixel-center-guide.horizontal{left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#8b6cff88 12%,#8b6cff 50%,#8b6cff88 88%,transparent)}.pixel-center-guide.vertical{top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,#8b6cff88 12%,#8b6cff 50%,#8b6cff88 88%,transparent)}.pixel-center-mark{position:absolute;z-index:5;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border:1px solid #bcaaff;border-radius:50%;box-shadow:0 0 14px #7d5cff66;pointer-events:none}.pixel-center-mark::before,.pixel-center-mark::after{content:"";position:absolute;background:#d8ceff}.pixel-center-mark::before{left:50%;top:-5px;bottom:-5px;width:1px}.pixel-center-mark::after{top:50%;left:-5px;right:-5px;height:1px}.pixel-center-mark i{position:absolute;inset:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff}.pixel-workspace.snap-center-x .pixel-center-guide.vertical,.pixel-workspace.snap-center-y .pixel-center-guide.horizontal{opacity:1;box-shadow:0 0 12px 2px #8b6cff}.pixel-workspace.snap-center-x .pixel-center-mark,.pixel-workspace.snap-center-y .pixel-center-mark{border-color:#fff;box-shadow:0 0 22px 5px #8b6cffaa}
.pixel-snap-guide{position:absolute;z-index:6;display:none;pointer-events:none;background:#22e3c4;box-shadow:0 0 10px 2px #22e3c499}.pixel-snap-guide.object-x{top:0;bottom:0;width:1px}.pixel-snap-guide.object-y{left:0;right:0;height:1px}.pixel-workspace.snap-object-x .pixel-snap-guide.object-x,.pixel-workspace.snap-object-y .pixel-snap-guide.object-y{display:block}
.pixel-canvas-tag{position:absolute;right:7px;bottom:6px;color:#587078;font:600 8px Inter;pointer-events:none}
.pixel-screen{position:absolute;color:#fff;border:2px solid color-mix(in srgb,var(--screen-color) 82%,#fff);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--screen-color) 62%,#fff),color-mix(in srgb,var(--screen-color) 52%,#071014) 54%,color-mix(in srgb,var(--screen-color) 28%,#020608));box-shadow:inset 0 0 22px #0008,inset 0 1px 0 #fff6,0 5px 16px #0008;cursor:grab;touch-action:none;user-select:none;overflow:hidden;isolation:isolate;min-width:8px;min-height:6px}
.pixel-screen:hover{z-index:2;filter:brightness(1.08);box-shadow:0 0 0 1px #ffffffaa,0 10px 27px #000b}.pixel-screen.selected{z-index:3;filter:saturate(1.18) brightness(1.08);box-shadow:0 0 0 2px #fff,0 0 0 5px color-mix(in srgb,var(--screen-color) 75%,transparent),0 14px 34px #000c}.pixel-screen.active-screen{outline:1px dashed #8fffea;outline-offset:-5px}.pixel-screen.dragging{cursor:grabbing;z-index:4;opacity:.92}.pixel-screen.locked{cursor:not-allowed}.pixel-screen.overlap{box-shadow:0 0 0 3px #ffbf47,0 8px 24px #000a}.pixel-screen.outside{box-shadow:0 0 0 3px #ff6574,0 8px 24px #000a}
.pixel-grid{position:absolute;inset:0;overflow:hidden;pointer-events:none;background-image:linear-gradient(135deg,transparent calc(50% - .55px),#ffffff88 50%,transparent calc(50% + .55px)),linear-gradient(45deg,transparent calc(50% - .55px),#00000066 50%,transparent calc(50% + .55px)),conic-gradient(from 45deg at 50% 50%,#ffffff32 0 25%,transparent 0 50%,#00000030 0 75%,#ffffff14 0),linear-gradient(90deg,transparent calc(100% - 1px),color-mix(in srgb,var(--screen-color) 48%,#fff) calc(100% - 1px)),linear-gradient(transparent calc(100% - 1px),color-mix(in srgb,var(--screen-color) 48%,#fff) calc(100% - 1px));background-size:var(--grid-x) var(--grid-y);filter:saturate(1.12);opacity:.92}.pixel-grid::before{content:"";position:absolute;inset:0;background:conic-gradient(from 90deg,#ffffff1c 0 25%,#00000018 0 50%,#ffffff08 0 75%,#00000020 0);background-size:var(--grid-x2) var(--grid-y2);mix-blend-mode:overlay}.pixel-grid::after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,#ffffff2c 0%,transparent 22%,transparent 70%,#00000026 100%);mix-blend-mode:screen}
.pixel-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:3px;padding:5px;pointer-events:none;text-shadow:0 2px 6px #000}.pixel-label b{font:700 clamp(7px,1.1vw,13px) Space Grotesk;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pixel-label b i{display:inline-grid;width:15px;height:15px;place-items:center;border-radius:50%;background:#fff;color:#081014;font:800 9px Inter;text-shadow:none}.pixel-label span{font:600 clamp(6px,.75vw,9px) Inter;color:#dff7f4;white-space:nowrap}.pixel-coords{position:absolute;left:5px;bottom:4px;font:600 clamp(5px,.65vw,8px) Inter;color:#fff;pointer-events:none;text-shadow:0 1px 4px #000}.pixel-group{position:absolute!important;right:5px!important;top:4px!important;min-width:0!important;padding:3px 5px;border:1px solid #ffffff66;border-radius:5px;background:#10131fcc!important;color:#fff!important;font:700 6px Inter!important;letter-spacing:.08em;pointer-events:none}.pixel-screen.grouped{outline:1px dashed #d8c3ff;outline-offset:-6px}.pixel-lock{position:absolute;right:5px;top:3px;font-size:10px}
.workspace:has(.mode-pixelmap){display:flex;flex-direction:column;max-width:1180px;margin-inline:auto}.workspace:has(.mode-pixelmap)>.canvas-column{order:-1;width:100%}.workspace:has(.mode-pixelmap)>.config-panel{position:static;width:min(760px,100%);max-height:none;margin:4px auto 0}.canvas-column:has(.mode-pixelmap)>.metrics-row,.canvas-column:has(.mode-pixelmap)>#warnings,.canvas-column:has(.mode-pixelmap)>.detail-grid{display:none}.workspace:has(.mode-pixelmap) .canvas-card>.card-head{margin-bottom:10px}.workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{height:620px}
.workspace:has(.mode-pixelmap)>.config-panel>.card-head,.workspace:has(.mode-pixelmap)>.config-panel>.config-tabs{display:none}.workspace:has(.mode-pixelmap) .simple-only,.workspace:has(.mode-pixelmap) .inline-add-screen{display:block}.workspace:has(.mode-pixelmap) .config-panel{padding:22px 24px;background:#101824;border-color:#273444;border-radius:0 0 13px 13px}.workspace:has(.mode-pixelmap) .config-section{margin-top:20px;padding-top:20px}.workspace:has(.mode-pixelmap) .config-section:first-child{margin-top:0;padding-top:0;border-top:0}.workspace:has(.mode-pixelmap) .numbered-section h3{font-size:13px;color:#f4f7fb}.workspace:has(.mode-pixelmap) .field>span{font-size:10px;color:#d6e0e8}.workspace:has(.mode-pixelmap) .field input,.workspace:has(.mode-pixelmap) .field select{min-height:42px;padding:10px 12px;border-color:#34465a;background:#0d1520;font-size:12px}.workspace:has(.mode-pixelmap) .screen-name-field{margin-top:14px}.workspace:has(.mode-pixelmap) .screen-preview{padding:14px;background:#0c1420;border-color:#34465a}.workspace:has(.mode-pixelmap) .screen-preview em{display:block;margin-top:5px;color:#8fa6b2;font:normal 9px Inter}.workspace:has(.mode-pixelmap) .inline-add-screen{min-height:46px;background:linear-gradient(135deg,#5137ff,#8b36ef);border-color:#7049ff;color:#fff;font-size:12px}.workspace:has(.mode-pixelmap) .setup-note{font-size:9px}.workspace:has(.mode-pixelmap) .panel-fields .field:nth-last-child(1),.workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(3){display:none}#editorView:has(.mode-pixelmap)>.screen-tabs-wrap{display:none}
@media(max-width:790px){.screen-stage.mode-pixelmap{height:430px}.pixel-toolbar{justify-content:flex-start;overflow-x:auto}.pixel-tools{flex:0 0 auto}.pixel-workspace{padding:14px}.pixel-label span{display:none}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1000px){.screen-stage.mode-pixelmap{height:calc(100vh - 210px);min-height:270px}.pixel-toolbar{min-height:38px;padding:5px 7px;overflow-x:auto}.pixel-tools{flex:0 0 auto}.pixel-tools button{padding:5px 7px}.pixel-workspace{padding:12px}}

/* Flujo sencillo inspirado en una mesa de trabajo de Pixel Map */
.numbered-section h3 b{color:var(--cyan);margin-right:4px}.inline-resolution{margin-top:11px;padding:10px;border:1px solid #253b44;border-radius:8px;background:#0a151a;color:#718991;font-size:9px}.inline-resolution b{color:#d6e7ea}.screen-preview{margin-top:13px;padding:12px;border:1px solid #29434c;border-radius:10px;background:#091319}.screen-preview b,.screen-preview span{display:block}.screen-preview b{font:600 18px Space Grotesk;color:#f2fbfc}.screen-preview span{margin-top:5px;color:#70868e;font-size:10px}.inline-add-screen{display:none;width:100%;margin-top:10px}.setup-note{margin:9px 1px 0;color:#6c838b;font-size:8px;line-height:1.5}.simple-only{display:none}.simple-screen-list{display:grid;gap:8px}.simple-screen-card{display:grid;grid-template-columns:9px 1fr 34px 34px;align-items:center;gap:9px;padding:10px;border:1px solid #263d45;border-radius:10px;background:#09151a}.simple-screen-card.active{border-color:#6953ff;box-shadow:0 0 0 1px #6953ff33}.simple-screen-card>i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.simple-screen-card div{min-width:0}.simple-screen-card b,.simple-screen-card span{display:block}.simple-screen-card b{font-size:11px}.simple-screen-card span{margin-top:4px;color:#6f868e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-screen-card button{height:32px;border:1px solid #2c434c;border-radius:8px;background:#101e25;color:#b5c7cc;cursor:pointer}.simple-screen-card button:disabled{opacity:.3}.simple-stage-summary{display:grid;gap:9px}.simple-stage-summary .summary-line{padding-bottom:8px}.simple-stage-summary p{margin:2px 0 0;color:#6f858d;font-size:8px;line-height:1.55}
.mobile-brand-title{display:none}
.export-dialog{width:min(880px,94vw)}.export-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.export-summary div{padding:11px;border:1px solid #29434c;border-radius:9px;background:#09161b}.export-summary span,.export-summary b{display:block}.export-summary span{color:#718a92;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.export-summary b{margin-top:5px;color:#e5f3f4;font:600 14px Space Grotesk}.resolume-note{display:grid;gap:5px;padding:12px 14px;border:1px solid #5d4821;border-radius:10px;background:#241d11;color:#bda979;font-size:9px;line-height:1.5}.resolume-note b{color:#ffd27c;font-size:10px}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.export-card{min-height:128px;padding:15px;text-align:left;border:1px solid #29434c;border-radius:11px;background:#09161b;color:#b9ccd0;cursor:pointer}.export-card:hover{border-color:#2c8c80;background:#10252a}.export-card.featured{border-color:#4f43ba;background:linear-gradient(145deg,#171842,#121e32)}.export-card b,.export-card span,.export-card em{display:block}.export-card b{color:#efffff;font:600 14px Space Grotesk}.export-card span{margin-top:8px;color:#81989f;font-size:9px;line-height:1.45}.export-card em{margin-top:12px;color:#69d8c8;font:600 8px Inter;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:790px){
  body{background:#0c0e19}.app-shell{display:block}.sidebar{display:none!important}.main{padding-bottom:0}.topbar{height:62px;position:sticky;padding:0 15px;background:#0c0e19;border-bottom:1px solid #232c39}.project-identity{display:none}.mobile-brand-title{display:flex;align-items:baseline;gap:8px}.mobile-brand-title b{font:700 16px Space Grotesk;letter-spacing:.08em}.mobile-brand-title span{color:#9a7cff;font:600 11px Space Grotesk}.top-actions{gap:6px}.top-actions .button{display:none}.top-actions #saveProject{display:block;padding:8px 12px}.view{padding:0 0 28px}.view-heading{position:sticky;top:62px;z-index:8;display:block;margin:0;padding:10px 12px;background:#0c0e19ee;border-bottom:1px solid #242d39;backdrop-filter:blur(12px)}.view-heading>div:first-child{display:none}.view-controls{display:block}.routing-select{margin-bottom:7px}.routing-select select{width:100%;max-width:none}.view-controls .segmented{width:100%;margin:0;padding:3px}.technical-tabs button{flex:1;padding:8px 4px;font-size:9px}.screen-tabs-wrap{display:none}.workspace{display:flex;flex-direction:column;gap:0}.canvas-column{order:-1}.canvas-column:has(.mode-pixelmap)>.metrics-row,.canvas-column:has(.mode-pixelmap)>#warnings{display:none}.canvas-card{padding:0;border:0;border-radius:0;background:#090d16;box-shadow:none}.canvas-card>.card-head{padding:12px 16px 9px;margin:0}.canvas-card>.card-head .eyebrow{display:none}.canvas-card>.card-head h2{font-size:15px}.canvas-card>.card-head .legend{max-width:44%}.routing-advice{font-size:8px;line-height:1.45}.screen-stage.mode-pixelmap{height:500px;border-radius:0;border-width:1px 0;background:#050812}.pixel-toolbar{display:grid;grid-template-columns:1fr;gap:8px;min-height:auto;padding:10px 12px;background:#10131f;overflow:visible}.pixel-tools{display:grid;width:100%;gap:7px}.pixel-tools.primary-tools{grid-template-columns:.8fr 1.2fr 1.2fr}.pixel-tools.view-tools{grid-template-columns:36px 1fr 36px 42px}.pixel-tools.scene-tools{display:none}.pixel-tools button{min-height:42px;padding:8px 7px;border-radius:9px;font-size:10px}.pixel-tools.primary-tools button:nth-child(2){border-color:#6b42ff;background:linear-gradient(135deg,#5137ff,#8b36ef);color:#fff}.pixel-tools.primary-tools button:nth-child(3){color:#d9e5e8}.pixel-tools span{display:grid;place-items:center}.pixel-workspace{padding:18px 14px;align-items:center;justify-content:center}.pixel-canvas{min-width:180px;min-height:101px}.stage-footer{padding:10px 15px;background:#10131f}.stage-footer span:last-child{display:none}.config-panel{position:static;max-height:none;margin:0;padding:18px;border:0;border-radius:0;background:#10131f;box-shadow:none}.config-panel>.card-head,.config-tabs{display:none}.config-page>.config-section:first-child{border-top:0}.numbered-section{margin-top:20px;padding-top:20px;border-color:#26333d}.numbered-section:first-child{margin-top:0;padding-top:0}.numbered-section h3{font-size:12px;color:#dce8ea;letter-spacing:.06em}.field>span{font-size:10px}.field select,.field input{padding:13px 11px;font-size:13px;border-radius:10px}.input-unit b{top:14px}.stepper{min-height:43px}.panel-fields .field:nth-child(1),.panel-fields .field:nth-child(2),.panel-fields .field:nth-child(3),.panel-fields .field:nth-child(6){display:none}.screen-preview{padding:14px}.screen-preview b{font-size:18px}.inline-add-screen{display:block;min-height:48px;background:linear-gradient(135deg,#5137ff,#8b36ef);border-color:#7049ff;color:#fff;font-size:13px}.setup-note{font-size:9px}.simple-only{display:block}.compact-position-section{display:none}.simple-screen-card{grid-template-columns:10px 1fr 42px 42px;padding:12px}.simple-screen-card button{height:40px}.simple-screen-card b{font-size:13px}.simple-screen-card span{font-size:9px}.simple-stage-summary .summary-line{font-size:12px}.simple-stage-summary p{font-size:9px}.detail-grid{padding:0 12px}.metrics-row{padding:10px 12px 0}.warning-card{margin-inline:12px}.three-toolbar{top:8px}.screen-stage.mode-3d{height:520px}.bom-grid{padding:12px}
}
@media(max-width:790px){.top-actions #openExport{display:block;padding:8px 11px}.export-summary{grid-template-columns:1fr 1fr}.export-grid{grid-template-columns:1fr}.export-card{min-height:106px}.pixel-tools.primary-tools{grid-template-columns:1fr 1fr!important}}
@media(max-width:790px){
  .workspace:has(.mode-pixelmap){width:100%;max-width:none;margin:0}
  .workspace:has(.mode-pixelmap)>.config-panel{width:100%;margin:0}
  .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{height:520px}
  .pixel-toolbar{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:7px;min-height:62px;padding:8px 10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
  .pixel-tools,.pixel-tools.primary-tools,.pixel-tools.view-tools,.pixel-tools.select-tools,.pixel-tools.arrange-tools,.pixel-tools.color-tools{display:flex;grid-template-columns:none;width:auto;flex:0 0 auto;gap:5px;padding:4px;scroll-snap-align:start}
  .pixel-tools button{min-height:36px;padding:7px 9px;white-space:nowrap;font-size:9px}
  .pixel-tools span{display:grid;min-height:30px;place-items:center}
  .color-tools label{height:36px;white-space:nowrap}
  .pixel-workspace{padding:16px 12px}
  .workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(1),.workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(2),.workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(4),.workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(5){display:grid}
  .workspace:has(.mode-pixelmap) .panel-fields .field:nth-child(3),.workspace:has(.mode-pixelmap) .panel-fields .field:last-child{display:none}
}
@media (orientation:landscape) and (max-height:600px) and (max-width:1000px){
  .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{height:calc(100vh - 190px);min-height:280px}
  .pixel-toolbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}
}

/* Navegación compacta: el contenido ocupa toda la página y el menú vive en un cajón */
:root{--sidebar:0px}
.app-shell{display:block;min-height:100vh}.main{grid-column:1;width:100%}
.topbar-start{display:flex;align-items:center;gap:15px;min-width:0}.menu-toggle{width:42px;height:42px;flex:0 0 42px;display:grid;align-content:center;gap:5px;padding:0 11px;border:1px solid #29434c;border-radius:10px;background:#0d2026;cursor:pointer}.menu-toggle span{display:block;height:2px;border-radius:4px;background:#dff7f4;transition:transform .2s,opacity .2s}.menu-toggle:hover{border-color:#2b8579;background:#123038}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sidebar{display:flex!important;position:fixed;inset:0 auto 0 0;width:min(290px,86vw);height:100dvh;padding:24px 16px;border-right:1px solid #29434c;background:#061014f5;backdrop-filter:blur(18px);box-shadow:18px 0 55px #0009;z-index:31;transform:translateX(-105%);transition:transform .22s ease;visibility:hidden}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar .brand{display:flex;padding-bottom:26px}.menu-close{width:34px;height:34px;margin-left:auto;border:1px solid #29434c;border-radius:9px;background:#0d2026;color:#dff7f4;font:300 25px/1 Inter;cursor:pointer}.menu-close:hover{border-color:#2b8579;background:#123038}.sidebar .nav{display:grid;width:100%;gap:7px}.sidebar .nav-item,.sidebar .nav-item:not(.active){justify-content:flex-start;width:100%;padding:13px;font-size:12px}.sidebar .nav-item span{font-size:18px}.sidebar .sidebar-foot{display:block;margin-top:auto}
.nav-backdrop{position:fixed;inset:0;display:block;border:0;background:#02080bb5;backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;z-index:30;transition:opacity .22s,visibility .22s}.nav-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}body.nav-open{overflow:hidden}
@media(max-width:790px){.topbar{padding-inline:10px}.topbar-start{gap:9px}.menu-toggle{width:40px;height:40px;flex-basis:40px}.mobile-brand-title{min-width:0}.mobile-brand-title span{white-space:normal;line-height:1.1}.sidebar{inset:0 auto 0 0;width:min(286px,88vw);height:100dvh;padding:22px 15px;flex-direction:column;justify-content:flex-start;align-items:stretch}.sidebar .brand{display:flex}.sidebar .nav{display:grid}.sidebar .sidebar-foot{display:block;margin-top:auto}.main{padding-bottom:0}}

/* Editor técnico de cableado manual */
.screen-stage.mode-wiring{display:block;height:590px;padding:0;overflow:auto;background:#050d11}.wiring-stage{width:100%;min-height:100%;display:flex;flex-direction:column}.wiring-mode-bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #243842;background:#0d171cf2;backdrop-filter:blur(12px)}.wiring-mode-bar>div:first-child{display:grid;gap:3px}.wiring-mode-bar b{font:650 12px Space Grotesk;color:#f2f6f7}.wiring-mode-bar span{font-size:8px;color:#789099}.wiring-mode-switch{display:flex;gap:4px;padding:3px;border:1px solid #2a3c45;border-radius:9px;background:#071014}.wiring-mode-switch button,.wiring-manual-toolbar button{border:1px solid transparent;border-radius:7px;background:transparent;color:#98abb1;padding:8px 10px;font:650 9px Inter;cursor:pointer}.wiring-mode-switch button.active{border-color:#9c793e;background:linear-gradient(135deg,#3a2a16,#1b2730);color:#f2c17d}.wiring-auto-plan{flex:1;min-height:485px;display:grid;place-items:center}.wiring-auto-plan svg{width:95%;height:95%;max-height:490px}.wiring-manual-toolbar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #20343c;background:#0a1419}.wiring-manual-toolbar label{display:grid;gap:4px;color:#789099;font-size:8px}.wiring-manual-toolbar select{min-width:145px;border:1px solid #39505a;border-radius:7px;background:#071014;color:#f2f6f7;padding:8px 28px 8px 9px;font:650 9px Inter}.wiring-manual-toolbar button{border-color:#2d444e;background:#101f25;color:#bfd0d4}.wiring-manual-toolbar button:hover{border-color:#9c793e;color:#f2c17d}.wiring-manual-status{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;background:#0b1b20;color:#8fa4aa;font-size:9px}.wiring-manual-status b{color:#f2c17d}.wiring-grid{align-self:center;display:grid;grid-template-columns:repeat(var(--wire-cols),minmax(46px,1fr));grid-template-rows:repeat(var(--wire-rows),minmax(42px,1fr));width:min(94%,980px);max-height:335px;margin:14px auto 8px;border:1px solid #354952;background:#071014;box-shadow:0 18px 50px #0007}.wiring-cell{position:relative;min-width:0;min-height:0;border:1px solid #2a414a;background:linear-gradient(145deg,#13262c,#0c191e);color:#668089;display:grid;place-items:center;align-content:center;gap:3px;padding:4px;cursor:pointer;overflow:hidden}.wiring-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--wire-color),color-mix(in srgb,var(--wire-color),#000 42%));opacity:0;transition:.12s}.wiring-cell.assigned::after{opacity:.78}.wiring-cell.selected{outline:2px solid #fff2c9;outline-offset:-3px;box-shadow:inset 0 0 0 4px #9c793e;z-index:1}.wiring-cell:hover{border-color:#f2c17d;transform:translateY(-1px);z-index:2}.wiring-cell b,.wiring-cell small{position:relative;z-index:1;white-space:nowrap}.wiring-cell b{font:700 10px Space Grotesk}.wiring-cell small{font-size:7px;color:#82979e}.wiring-cell.assigned b,.wiring-cell.assigned small{color:#fff;text-shadow:0 1px 4px #000}.wiring-help{margin:4px auto 14px;width:min(94%,980px);color:#789099;font-size:8px;line-height:1.5;text-align:center}
@media(max-width:790px){.screen-stage.mode-wiring{height:calc(100dvh - 172px);min-height:520px}.wiring-mode-bar{align-items:stretch;flex-direction:column;padding:10px 12px}.wiring-mode-switch{display:grid;grid-template-columns:1fr 1fr}.wiring-manual-toolbar{flex-wrap:nowrap;overflow-x:auto;padding:9px 10px}.wiring-manual-toolbar>*{flex:0 0 auto}.wiring-manual-status{font-size:8px;flex-direction:column;gap:4px}.wiring-grid{grid-template-columns:repeat(var(--wire-cols),minmax(54px,1fr));grid-template-rows:repeat(var(--wire-rows),minmax(48px,1fr));width:max(94%,calc(var(--wire-cols)*54px));max-height:none;margin:12px}.wiring-help{width:auto;margin:5px 12px 16px;text-align:left}}

/* Escenario de escritorio en tres zonas: parámetros · lienzo · pantallas */
@media(min-width:1100px){
  body:has(.mode-pixelmap) .project-identity{display:none}
  body:has(.mode-pixelmap) .mobile-brand-title{display:flex;align-items:baseline;gap:9px}
  body:has(.mode-pixelmap) .mobile-brand-title b{font:700 16px Space Grotesk;letter-spacing:.08em}
  body:has(.mode-pixelmap) .mobile-brand-title span{color:#9a7cff;font:600 11px Space Grotesk}
  body:has(.mode-pixelmap) #editorView{max-width:none;padding:12px 14px 24px}
  body:has(.mode-pixelmap) #editorView>.view-heading{margin:0 0 9px;align-items:center}
  body:has(.mode-pixelmap) #editorView>.view-heading>div:first-child{display:none}
  body:has(.mode-pixelmap) #editorView>.view-heading .view-controls{margin-left:auto}
  .workspace:has(.mode-pixelmap){display:grid;grid-template-columns:304px minmax(0,1fr) 304px;grid-template-rows:auto 1fr;gap:0;max-width:none;min-height:calc(100vh - 165px);margin:0;border:1px solid #263443;border-radius:10px;overflow:hidden;background:#060b12}
  .workspace:has(.mode-pixelmap)>.config-panel{display:contents!important}
  .workspace:has(.mode-pixelmap)>.config-panel>.config-page.active{display:contents}
  .workspace:has(.mode-pixelmap)>.config-panel>.card-head,.workspace:has(.mode-pixelmap)>.config-panel>.config-tabs,.workspace:has(.mode-pixelmap) .compact-position-section{display:none!important}
  .workspace:has(.mode-pixelmap) .config-section{margin:0;padding:17px 14px;border:0;border-radius:0;background:#101824;box-shadow:none}
  .workspace:has(.mode-pixelmap) .worktable-section{grid-column:1;grid-row:1;border-right:1px solid #263443;border-bottom:1px solid #263443}
  .workspace:has(.mode-pixelmap) .add-panel-section{grid-column:1;grid-row:2;border-right:1px solid #263443;align-self:stretch}
  .workspace:has(.mode-pixelmap) .config-page.active>.simple-only:nth-of-type(3){grid-column:3;grid-row:1;border-left:1px solid #263443;border-bottom:1px solid #263443}
  .workspace:has(.mode-pixelmap) .config-page.active>.simple-only:nth-of-type(4){grid-column:3;grid-row:2;border-left:1px solid #263443;align-self:stretch}
  .workspace:has(.mode-pixelmap)>.canvas-column{grid-column:2;grid-row:1 / span 2;order:0;width:100%;min-width:0;background:#03080d}
  .workspace:has(.mode-pixelmap) .canvas-card{height:100%;padding:0;border:0;border-radius:0;display:flex;flex-direction:column;background:#03080d;box-shadow:none}
  .workspace:has(.mode-pixelmap) .canvas-card>.card-head,.workspace:has(.mode-pixelmap) .stage-footer{display:none}
  .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{height:auto;min-height:690px;flex:1;border:0;border-radius:0}
  .workspace:has(.mode-pixelmap) .pixel-toolbar{justify-content:flex-start;padding:13px 14px}
  .workspace:has(.mode-pixelmap) .pixel-workspace{padding:24px 20px}
  .workspace:has(.mode-pixelmap) .numbered-section h3{margin-bottom:15px;font-size:12px}
  .workspace:has(.mode-pixelmap) .field-grid{gap:10px 8px}
  .workspace:has(.mode-pixelmap) .field input,.workspace:has(.mode-pixelmap) .field select{min-height:39px;padding:9px 10px;font-size:11px}
  .workspace:has(.mode-pixelmap) .inline-resolution{margin-top:10px}
  .workspace:has(.mode-pixelmap) .screen-preview{padding:12px}
  .workspace:has(.mode-pixelmap) .screen-preview b{font-size:16px}
  .workspace:has(.mode-pixelmap) .inline-add-screen{min-height:42px}
  .workspace:has(.mode-pixelmap) .simple-screen-list{max-height:430px;overflow:auto;padding-right:2px}
  .workspace:has(.mode-pixelmap) .simple-screen-card{grid-template-columns:9px minmax(0,1fr) 32px 32px;padding:9px 8px}
}

/* Ajustes finales del editor visual */
.pixel-screen{border:var(--frame-size,2px) solid var(--frame-color,#d9ffff)}
.pixel-screen[data-pattern="a"] .pixel-grid{background-image:linear-gradient(135deg,transparent calc(50% - .55px),color-mix(in srgb,var(--frame-color) 70%,transparent) 50%,transparent calc(50% + .55px)),linear-gradient(45deg,transparent calc(50% - .55px),#00000066 50%,transparent calc(50% + .55px)),conic-gradient(from 45deg at 50% 50%,#ffffff32 0 25%,transparent 0 50%,#00000030 0 75%,#ffffff14 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) calc(100% - var(--frame-size,2px))),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 72%,transparent) calc(100% - var(--frame-size,2px)))}
@media(min-width:1100px){
  .workspace:has(.mode-pixelmap) .worktable-section{padding:10px 14px}
  .workspace:has(.mode-pixelmap) .worktable-section h3{margin-bottom:7px}
  .workspace:has(.mode-pixelmap) .worktable-section .field-grid{gap:7px}
  .workspace:has(.mode-pixelmap) .worktable-section .field input{min-height:32px;padding:6px 9px}
  .workspace:has(.mode-pixelmap) .worktable-section .input-unit b{top:9px}
  .workspace:has(.mode-pixelmap) .worktable-section .inline-resolution{margin-top:6px;padding:6px 9px}
  .workspace:has(.mode-pixelmap) .screen-stage.mode-pixelmap{min-height:630px}
}

/* Prioridad visual final: ajedrez y rótulos */
.pixel-screen[data-pattern="a"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff30 0 25%,#00000028 0 50%,#ffffff10 0 75%,#00000020 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="a"] .pixel-grid::before{background:radial-gradient(circle at 32% 28%,#ffffff2b 0 6%,transparent 31%),linear-gradient(135deg,#ffffff12,transparent 44% 68%,#0000001f);background-size:var(--grid-x) var(--grid-y);mix-blend-mode:overlay}
.pixel-screen[data-pattern="b"] .pixel-grid{background-image:linear-gradient(135deg,#ffffff30 0 49%,#00000022 50% 100%),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 76%,transparent) 0);background-size:var(--grid-x) var(--grid-y)}
.pixel-screen[data-pattern="b"] .pixel-grid::before{background:conic-gradient(from 90deg,#ffffff12 0 25%,#00000018 0 50%,#ffffff08 0 75%,#00000014 0);background-size:var(--grid-x2) var(--grid-y2);mix-blend-mode:overlay}
.pixel-screen[data-pattern="c"] .pixel-grid{background-image:conic-gradient(from 90deg at 50% 50%,#ffffff20 0 25%,transparent 0 50%,#00000020 0 75%,transparent 0),linear-gradient(90deg,transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0),linear-gradient(transparent calc(100% - var(--frame-size,2px)),color-mix(in srgb,var(--frame-color) 65%,transparent) 0);background-size:var(--grid-x2) var(--grid-y2),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y)}
.pixel-label b{display:inline-flex;align-items:center;justify-content:center;justify-self:center;max-width:92%;padding:5px 10px;border:1px solid #ffffff52;color:var(--label-color,#fff);background:var(--label-bg,#071014d1);box-shadow:0 4px 14px #0008;text-shadow:0 2px 5px #000;line-height:1.15}
.pixel-label span{color:color-mix(in srgb,var(--label-color,#fff) 82%,#9fb7bc)}
.pixel-screen[data-label-shape="none"] .pixel-label b{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none}
.pixel-screen[data-label-shape="rect"] .pixel-label b{border-radius:0;clip-path:none}
.pixel-screen[data-label-shape="rounded"] .pixel-label b{border-radius:6px;clip-path:none}
.pixel-screen[data-label-shape="pill"] .pixel-label b{padding-inline:15px;border-radius:999px;clip-path:none}
.pixel-screen[data-label-shape="hex"] .pixel-label b{padding:7px 19px;border:0;border-radius:0;clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%)}
