
.app-loader{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(25,134,255,.22),transparent 28%),linear-gradient(145deg,#041121,#0e3462 58%,#146de3 100%);transition:opacity .35s ease,visibility .35s ease}
.app-loader.hide{opacity:0;visibility:hidden}
.app-loader-card{width:min(420px,100%);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.65);border-radius:28px;padding:34px 28px;text-align:center;box-shadow:0 30px 90px rgba(5,20,42,.32)}
.app-loader-logo{width:120px;height:120px;object-fit:contain;display:block;margin:0 auto 18px;filter:drop-shadow(0 14px 34px rgba(16,97,211,.25))}
.app-loader-card h2{margin:0;font-size:28px;color:#0b1f39}
.app-loader-card p{margin:10px 0 0;color:#58708d;font-weight:600}
.loader-bar{height:10px;border-radius:999px;background:#e8eef7;overflow:hidden;margin-top:22px}
.loader-bar span{display:block;height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,#0d74ff,#4db4ff);animation:loader-slide 1.15s ease-in-out infinite}
.brand-mark-logo{width:58px;height:58px;border-radius:50%;background:transparent;box-shadow:none;padding:0}
.brand-mark-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-brand-logo{width:54px;height:54px;border-radius:50%;padding:0}
.auth-brand-v30 strong{font-size:18px}
.auth-brand-v30 span{font-size:11px}
.mini-brand{display:flex;align-items:center;justify-content:center;gap:8px;color:#0b1f39;letter-spacing:0}
.mini-brand img{width:26px;height:26px;object-fit:contain}
.mini-brand span{font-size:12px;font-weight:900;letter-spacing:.12em;color:#116fe4}
@keyframes loader-slide{0%{transform:translateX(-110%)}60%{transform:translateX(180%)}100%{transform:translateX(180%)}}
:root {
  --bg:#f4f7fb; --panel:#ffffff; --nav:#08182d; --nav2:#102947; --text:#122033; --muted:#718096;
  --primary:#1476ff; --primary2:#0b5fd7; --border:#e4eaf2; --success:#17a56b; --danger:#e5484d; --shadow:0 18px 50px rgba(15,35,70,.08);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#061221);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#1b86ff,#53b7ff);display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 10px 30px rgba(34,145,255,.3)}.brand-name{font-size:19px;font-weight:800;letter-spacing:.08em}.brand-subtitle{font-size:12px;color:#92a9c8;margin-top:2px}.nav{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:transparent;color:#9fb1ca;text-align:left;padding:13px 14px;border-radius:12px;cursor:pointer;font-weight:600;display:flex;gap:12px;align-items:center;transition:.2s}.nav-item:hover{background:#0d2441;color:#fff}.nav-item.active{background:linear-gradient(90deg,#1476ff,#0e64dd);color:#fff;box-shadow:0 10px 25px rgba(20,118,255,.22)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:18px 8px 4px;display:flex;gap:10px;align-items:center}.sidebar-footer small{display:block;color:#7f96b5;margin-top:3px;font-size:10px}.status-dot{width:9px;height:9px;border-radius:50%;background:#2dd487;box-shadow:0 0 0 5px rgba(45,212,135,.09)}
.main{padding:26px 34px 44px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#8a9ab0;font-size:10px;font-weight:800;margin:0 0 5px}.topbar h1,.panel h3{margin:0}.topbar h1{font-size:28px}.top-actions{display:flex;gap:10px}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 9px 22px rgba(20,118,255,.2)}.btn.secondary{background:#eaf2ff;color:#0b62d7}.btn.ghost{background:#f2f5f8;color:#536277}.btn.danger{color:var(--danger)}.ghost-danger{background:#fff0f0;border:1px solid #ffd9d9}.btn.xl{padding:14px 18px;width:100%;font-size:15px}.link-btn{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.view{display:none}.view.active{display:block}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.hero-card{background:linear-gradient(135deg,#0b1f39 0%,#0f3968 55%,#116fe4 100%);color:#fff;border-radius:22px;padding:32px;display:grid;grid-template-columns:1.4fr .8fr;align-items:center;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(12,63,121,.16)}.hero-card:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:55px solid rgba(255,255,255,.05);right:-130px;top:-100px}.hero-card h2{font-size:34px;line-height:1.12;max-width:640px;margin:12px 0}.hero-card p{color:#bdd1e9;max-width:620px;line-height:1.7}.pill{display:inline-flex;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700}.pill.subtle{background:#eef5ff;color:#0d67de;border-color:#d8e9ff}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-card .btn.ghost{background:rgba(255,255,255,.1);color:#fff}.hero-preview{display:grid;place-items:center;z-index:1}.mini-label{width:240px;min-height:145px;background:#fff;color:#111;padding:20px;border-radius:12px;transform:rotate(-4deg);box-shadow:0 30px 60px rgba(0,0,0,.22);border:1px solid #d6d6d6}.mini-brand{font-size:12px;font-weight:900;letter-spacing:.12em;color:#116fe4}.mini-name{font-size:20px;font-weight:900;margin:16px 0 7px;line-height:1.05}.mini-sku{font-size:11px;color:#555}.mini-price{font-size:22px;font-weight:900;margin-top:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stat-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 30px rgba(15,35,70,.04)}.stat-icon{width:42px;height:42px;border-radius:12px;background:#eff5ff;color:#0a6ee8;display:grid;place-items:center;font-size:19px}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:22px;margin-top:3px}.content-grid{display:grid;gap:16px}.two-thirds{grid-template-columns:1.45fr .85fr}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.quick-panel{min-height:220px}.search-box{background:#f6f8fb;border:1px solid var(--border);border-radius:12px;padding:0 12px;display:flex;align-items:center;gap:8px}.search-box.large{padding:0 14px}.search-box input{border:0;outline:0;background:transparent;padding:12px 4px;width:100%}.search-box.grow{flex:1}.search-results{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:235px;overflow:auto}.search-results.compact{max-height:150px}.result-item{border:1px solid var(--border);padding:11px 12px;border-radius:11px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.result-item:hover{border-color:#a9ccff;background:#f8fbff}.result-item strong{display:block;font-size:13px}.result-item small{color:var(--muted)}.muted{color:var(--muted);font-size:13px}.body-copy{line-height:1.6}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.control{border:1px solid var(--border);background:#fff;border-radius:11px;padding:11px 12px;outline:none}.control:focus{border-color:#83b7ff;box-shadow:0 0 0 3px rgba(20,118,255,.08)}.control.full{width:100%;margin-top:7px}.table-panel{padding-bottom:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 12px;border-bottom:1px solid #edf1f5;text-align:left;font-size:13px}th{color:#7a8ba2;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.product-main{font-weight:700}.action-row{display:flex;gap:6px}.icon-btn,.table-btn{border:0;background:#eff5ff;color:#1268d8;border-radius:9px;cursor:pointer}.table-btn{padding:7px 9px;font-size:11px;font-weight:700}.table-btn.delete{background:#fff0f0;color:#d73d44}.empty-state{text-align:center;color:#8c9aae;padding:32px 18px}.designer-grid{display:grid;grid-template-columns:430px 1fr;gap:16px}.designer-controls{align-self:start}.selected-product{border:1px dashed #cdd8e7;border-radius:12px;padding:15px;margin-top:10px;background:#fbfcfe}.selected-product strong{display:block}.selected-product small{color:var(--muted)}.divider{height:1px;background:var(--border);margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid label,.settings-form label{font-size:12px;font-weight:700;color:#536277}.span-2{grid-column:1/-1}.switch-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:18px 0;padding:6px 0}.switch-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;font-size:13px}.switch-row input{display:none}.switch-row i{width:42px;height:24px;border-radius:999px;background:#dce3eb;position:relative;transition:.2s}.switch-row i:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.2s}.switch-row input:checked+i{background:var(--primary)}.switch-row input:checked+i:after{left:21px}.logo-mode-note{margin:-7px 0 15px;padding:9px 11px;border:1px solid #e3eaf3;background:#f8fbff;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7a8ba2}.logo-mode-note strong{color:#2466b8;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.preview-panel{min-height:650px}.preview-stage{min-height:515px;border-radius:16px;background:radial-gradient(circle at center,#fff 0,#eef2f8 65%,#e7ecf4 100%);display:grid;place-items:center;padding:25px;border:1px solid #e2e8f0}.label-preview{background:#fff;color:#111;border:1px solid #777;box-shadow:0 22px 60px rgba(21,45,75,.18);padding:4.2mm 4.6mm 3.4mm;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;overflow:hidden;box-sizing:border-box}.size-50x30{width:500px;height:300px}.size-40x30{width:400px;height:300px}.size-60x40{width:540px;height:360px}.size-70x40{width:595px;height:340px}.lp-brand-wrap{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.lp-brand{display:flex;align-items:center;justify-content:center;width:100%;min-height:26px}.lp-brand img{display:block;width:auto;object-fit:contain;object-position:center}.lp-brand[data-variant="full"] img{height:34px;max-width:68%}.lp-brand[data-variant="mini"] img{height:24px;max-width:56%}.lp-divider{width:100%;height:2px;background:#111;margin:7px 0 13px}.logo-fallback{display:none;font-size:14px;font-weight:900;letter-spacing:.12em;color:#111}.lp-name{font-size:34px;line-height:1.02;font-weight:900;margin:0 0 10px;text-transform:uppercase;word-break:break-word}.lp-price{font-size:36px;line-height:1;font-weight:900;margin:0 0 11px}.lp-sku{font-size:15px;font-weight:700;color:#1f2937;line-height:1}.preview-tip{font-size:11px;color:#7b899d;margin-top:13px;text-align:center}.settings-grid{grid-template-columns:1fr 1fr}.settings-form{display:grid;gap:14px}.stack-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.file-btn{text-align:center}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(5,16,32,.55);backdrop-filter:blur(4px);z-index:50;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{width:min(560px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.modal-head h3{margin:0}.icon-btn{width:34px;height:34px;font-size:22px;background:#f0f3f7;color:#65748a}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;background:#10243e;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 18px 50px rgba(0,0,0,.2);opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s;z-index:99}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1100px){.app-shell{grid-template-columns:82px 1fr}.sidebar{padding:24px 11px}.brand>div:last-child,.nav-item{font-size:0}.nav-item span{font-size:18px}.nav-item{justify-content:center}.sidebar-footer>div:last-child{display:none}.brand{justify-content:center}.hero-card{grid-template-columns:1fr}.hero-preview{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.designer-grid{grid-template-columns:1fr}.preview-panel{min-height:auto}.two-thirds,.settings-grid{grid-template-columns:1fr}}
@media (max-width:720px){.app-shell{display:block}.sidebar{position:fixed;z-index:30;bottom:0;top:auto;width:100%;height:70px;flex-direction:row;padding:8px;background:#07162a}.brand,.sidebar-footer{display:none}.nav{width:100%;flex-direction:row;justify-content:space-around}.nav-item{flex:1;padding:10px 5px}.nav-item span{font-size:19px}.main{padding:20px 14px 90px}.topbar{align-items:flex-start}.top-actions{display:none}.hero-card{padding:24px}.hero-card h2{font-size:28px}.stats-grid{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.toolbar .grow{flex-basis:100%}.designer-grid{grid-template-columns:1fr}.preview-stage{min-height:400px;overflow:auto}.label-preview{transform:scale(.72)}.content-grid,.form-grid,.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.settings-grid{grid-template-columns:1fr}}

@media print {
  body * { visibility:hidden !important; }
  #printArea, #printArea * { visibility:visible !important; }
  body { margin:0 !important; padding:0 !important; background:#fff !important; }
  #printArea { left:0; top:0; margin:0 !important; padding:0 !important; }
  .print-label { box-shadow:none !important; margin:0 !important; }
}

/* Etiqueta rápida */
.btn.quick-accent{background:rgba(43,214,156,.14);color:#dffcf1;border:1px solid rgba(73,231,177,.18)}
.quick-label-grid{display:grid;grid-template-columns:430px 1fr;gap:16px}
.quick-label-controls{align-self:start}.quick-help{margin-top:-4px;margin-bottom:16px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.preset-chip{border:1px solid #dfe7f1;background:#f8fbff;color:#33516f;border-radius:11px;padding:10px 12px;text-align:left;font-weight:700;cursor:pointer;transition:.18s}.preset-chip:hover{border-color:#9ec6ff;background:#eef6ff;color:#0e64d5;transform:translateY(-1px)}.field-label{display:block;font-size:12px;font-weight:700;color:#536277;margin-top:12px}.quick-main-input{font-weight:800;text-transform:uppercase}.quick-form-grid{margin-top:14px}.quick-note{text-align:center;color:#8a98ab;font-size:10px;line-height:1.5;margin-top:10px}.quick-preview-panel{min-height:650px}.quick-preview-stage{min-height:500px}.quick-label-preview{background:#fff;color:#111;border:1px solid #777;box-shadow:0 22px 60px rgba(21,45,75,.18);padding:3.8mm 4.2mm 3.1mm;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;overflow:hidden;box-sizing:border-box}.quick-size-40x20{width:400px;height:200px}.quick-size-50x25{width:500px;height:250px}.quick-size-50x30{width:500px;height:300px}.quick-size-60x30{width:570px;height:285px}.ql-brand-wrap{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.ql-brand{display:flex;align-items:center;justify-content:center;width:100%;min-height:20px}.ql-brand img{display:block;width:auto;object-fit:contain;object-position:center}.ql-brand[data-variant="full"] img{height:27px;max-width:68%}.ql-brand[data-variant="mini"] img{height:19px;max-width:54%}.ql-divider{width:100%;height:2px;background:#111;margin:6px 0 10px}.ql-name{font-size:34px;line-height:1.02;font-weight:950;text-transform:uppercase;word-break:break-word;max-width:100%}.ql-detail{font-size:14px;font-weight:750;color:#1f2937;margin-top:9px;word-break:break-word;line-height:1.05}.quick-examples{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:14px;color:#8795a7;font-size:11px}.quick-examples button{border:1px solid #dfe7f1;background:#fff;color:#52667c;border-radius:999px;padding:6px 9px;font-size:10px;cursor:pointer}.quick-examples button:hover{border-color:#a7caff;color:#0b65d7}
@media (max-width:1100px){.quick-label-grid{grid-template-columns:1fr}.quick-preview-panel{min-height:auto}}
@media (max-width:720px){.quick-label-preview{transform:scale(.72)}.preset-grid{grid-template-columns:1fr 1fr}.quick-preview-stage{min-height:360px}.quick-examples{display:none}}
.history-badge{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:999px;background:#eafaf4;color:#16805c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}


/* ===== V1.5 EDITOR LIBRE ===== */
.designer-grid-v15{grid-template-columns:minmax(430px,520px) 1fr;align-items:start}.designer-controls-v15{max-height:calc(100vh - 135px);overflow:auto}.compact-switches{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.editor-head{margin-bottom:8px}.editor-help{margin:0 0 12px;line-height:1.5}.element-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.element-tab{border:1px solid #dce5f0;background:#f7f9fc;color:#52657b;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.element-tab.active{background:#1476ff;border-color:#1476ff;color:#fff;box-shadow:0 5px 14px rgba(20,118,255,.2)}.element-inspector{border:1px solid #dfe7f1;background:#fbfcfe;border-radius:14px;padding:13px}.inspector-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.inspector-title-row span{display:block;font-size:10px}.inspector-title-row strong{font-size:14px}.inspector-grid{display:grid;gap:8px}.inspector-grid.three{grid-template-columns:repeat(3,1fr)}.inspector-grid.two{grid-template-columns:1fr 1fr}.inspector-grid label{font-size:10px;font-weight:800;color:#68778b}.mini-control{padding:8px 8px!important;border-radius:8px!important;font-size:11px}.inspector-rotation{margin-top:10px}.range-row{display:grid;grid-template-columns:1fr 52px;gap:9px;align-items:center;margin-top:7px}.range-row input[type=range]{width:100%;accent-color:#1476ff}.range-row output{font-size:10px;background:#eef4fb;border:1px solid #dfe8f3;border-radius:7px;padding:5px;text-align:center;color:#35516f;font-weight:800}.inspector-subsection{margin-top:12px;padding-top:12px;border-top:1px solid #e6edf5}.inspector-subsection.hidden{display:none}.mini-checks{display:flex;gap:16px;margin-top:10px}.mini-checks label{font-size:11px;font-weight:700;color:#536277;display:flex;align-items:center;gap:5px}.mini-checks input{accent-color:#1476ff}.border-editor{margin-top:12px;padding-top:12px;border-top:1px solid #e6edf5;align-items:end}.nudge-hint{font-size:9px;line-height:1.45;color:#8996a8;padding:0 4px 5px}.design-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.design-actions .btn:last-child{grid-column:1/-1}.save-status{font-size:9px;line-height:1.45;color:#7a899c;text-align:center;padding:8px 5px 2px}.freeform-preview-panel{min-height:720px}.freeform-stage{min-height:590px;overflow:auto}.label-preview.freeform-label{position:relative!important;display:block!important;padding:0!important;text-align:initial!important;align-items:initial!important;justify-content:initial!important;overflow:hidden!important;background:#fff;box-sizing:border-box}.design-element{position:absolute;box-sizing:border-box;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab;z-index:2}.design-element:active{cursor:grabbing}.design-element.selected{outline:2px solid #1476ff;outline-offset:2px;background:rgba(20,118,255,.035)}.design-logo{display:flex;align-items:center;justify-content:center}.design-logo img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.design-line{background:#111;min-height:1px}.design-text{line-height:.98;word-break:break-word;overflow-wrap:anywhere;color:#111}.design-text.selected{background:rgba(20,118,255,.055)}
@media(max-width:1200px){.designer-grid-v15{grid-template-columns:1fr}.designer-controls-v15{max-height:none}.freeform-preview-panel{min-height:auto}.freeform-stage{min-height:520px}}
@media(max-width:720px){.compact-switches{grid-template-columns:1fr}.inspector-grid.three{grid-template-columns:1fr 1fr}.design-actions{grid-template-columns:1fr}.design-actions .btn:last-child{grid-column:auto}.freeform-stage{min-height:400px}}


/* V2.0 · Sincronización de catálogo Excel */
.excel-btn{background:#107c41;color:#fff;border:1px solid #107c41}.excel-btn:hover{background:#0d6b37}
.excel-source-card{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px}.excel-source-icon{width:44px;height:44px;border-radius:12px;background:#e9f7ef;color:#107c41;display:grid;place-items:center;font-weight:900;font-size:17px}.excel-source-copy{flex:1}.excel-source-copy h3{margin:2px 0 4px}.excel-source-copy p{margin:0}.excel-origin{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:#e9f7ef;color:#107c41;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.modal-xl{width:min(980px,96vw);max-height:92vh;overflow:auto}.excel-modal{padding:22px 24px}.excel-dropzone{border:2px dashed #cbd8e8;border-radius:16px;padding:22px;display:flex;align-items:center;gap:15px;background:#f8fbff;transition:.2s}.excel-dropzone.dragover{border-color:#107c41;background:#f0fbf5}.excel-drop-icon{width:54px;height:54px;border-radius:14px;background:#107c41;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.excel-dropzone>div:nth-child(2){flex:1}.excel-dropzone strong{display:block;color:#13233a}.excel-dropzone span{display:block;color:#77879a;font-size:12px;margin-top:4px}.hidden{display:none!important}.excel-workspace{margin-top:16px}.excel-filebar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #dfe7ef;border-radius:12px;background:#fff}.excel-filebar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.excel-filebar small{color:#7b899c;margin-left:4px}.excel-ok{display:inline-block;position:static!important;width:9px!important;height:9px!important;background:#25c790!important;box-shadow:none!important}.excel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.excel-stats>div{border:1px solid #e1e8f0;border-radius:12px;padding:12px;background:#fff}.excel-stats span{display:block;color:#7c8ca0;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.excel-stats strong{display:block;font-size:22px;margin-top:3px}.excel-mapping,.excel-preview-wrap{border:1px solid #e1e8f0;border-radius:14px;padding:14px;margin-top:12px;background:#fff}.compact-head{margin-bottom:10px}.mapping-chips{display:flex;flex-wrap:wrap;gap:7px}.mapping-chip{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:#effaf4;color:#16693d;border:1px solid #cfead9;padding:6px 9px;font-size:10px;font-weight:700}.mapping-chip.missing{background:#fff3f3;color:#b33a43;border-color:#f2c8cc}.excel-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.import-mode{display:flex;gap:9px;border:1px solid #dfe6ef;border-radius:12px;padding:11px;cursor:pointer;background:#fff}.import-mode:has(input:checked){border-color:#64a5ff;background:#f5f9ff;box-shadow:0 0 0 2px rgba(25,118,255,.06)}.import-mode input{margin-top:3px}.import-mode strong,.import-mode small{display:block}.import-mode small{font-size:10px;color:#7c8999;margin-top:3px;line-height:1.35}.danger-mode:has(input:checked){border-color:#e59aa1;background:#fff7f7}.excel-preview-table th,.excel-preview-table td{padding:9px 10px}.excel-actions{position:sticky;bottom:-22px;background:#fff;padding-top:14px;border-top:1px solid #eef2f6}.excel-import-result{padding:10px 12px;border-radius:11px;background:#eaf9f1;color:#16683e;font-size:12px;margin-top:10px}.excel-import-error{padding:10px 12px;border-radius:11px;background:#fff1f1;color:#a7333d;font-size:12px;margin-top:10px}
@media(max-width:850px){.excel-stats{grid-template-columns:1fr 1fr}.excel-options{grid-template-columns:1fr}.excel-source-card{align-items:flex-start;flex-wrap:wrap}.excel-source-card .btn{width:100%}.excel-dropzone{flex-wrap:wrap}.excel-dropzone .btn{width:100%}}

/* ==========================================================
   V2.1 · catálogo visual, lotes e impresión masiva
   ========================================================== */
.catalog-tools-v21{margin-bottom:16px;padding:13px 15px}.catalog-view-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.segmented{display:flex;gap:3px;background:#eef3f8;padding:3px;border-radius:11px}.seg-btn{border:0;background:transparent;color:#65758a;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer}.seg-btn.active{background:#fff;color:#0e68d8;box-shadow:0 2px 8px rgba(24,45,75,.09)}.bulk-action-bar{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #edf1f5}.check-all{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:750;color:#44576e}.check-all input,.product-select-v21,.bulk-check-v21{accent-color:#1476ff;width:16px;height:16px}.bulk-action-bar #selectedCount{color:#77869a;font-size:11px;margin-right:auto}.product-image-v21{width:46px;height:46px;border-radius:10px;border:1px solid #e3e9f0;background:#fff;display:grid;place-items:center;overflow:hidden}.product-image-v21.large{width:100%;height:185px;border-radius:14px;background:#f8fafc}.product-image-v21 img{width:100%;height:100%;display:block;object-fit:contain}.product-image-v21 span{display:none;color:#9aa7b7;font-size:9px}.product-image-v21.empty span{display:block}.result-image-v21{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center}.result-copy-v21{min-width:0}.result-price-v21{white-space:nowrap}.row-badges-v21{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.lot-badge-v21{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.lot-badge-v21.current{background:#e8f5ff;color:#0872c6}.lot-badge-v21.previous{background:#f1f3f6;color:#6f7c8c}.product-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card-v21{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:0 10px 26px rgba(15,35,70,.05);min-width:0}.product-card-v21.selected{border-color:#69a8ff;box-shadow:0 0 0 2px rgba(20,118,255,.07),0 10px 26px rgba(15,35,70,.05)}.card-select-v21{position:absolute;top:17px;left:17px;z-index:3;background:rgba(255,255,255,.94);border:1px solid #dce5ef;border-radius:8px;padding:5px 7px;font-size:9px;font-weight:800;color:#53677d;display:flex;align-items:center;gap:5px;cursor:pointer}.product-card-copy-v21{padding:10px 3px 3px}.product-card-copy-v21 h4{font-size:13px;line-height:1.25;margin:7px 0 4px;min-height:32px}.product-card-copy-v21 p{font-size:10px;color:#77869a;margin:0}.product-card-copy-v21>strong{display:block;font-size:18px;margin:8px 0 3px}.product-card-copy-v21>small{color:#7c8a9a}.product-card-copy-v21>div:last-child{display:flex;gap:7px;margin-top:10px}.product-card-copy-v21 .btn{padding:8px 10px;font-size:10px}.selected-product-v21{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px}.selected-product-v21 .product-image-v21.large{width:92px;height:78px;border-radius:10px}.selected-product-v21 strong,.selected-product-v21 small,.selected-product-v21 span{display:block}.selected-product-v21 strong{font-size:13px;line-height:1.2}.selected-product-v21 small,.selected-product-v21 span{font-size:10px;color:#78879a;margin-top:5px}.temporary-note{display:block;margin-top:5px;color:#8a98aa;font-size:9px;font-weight:500}.designer-print-options-v21{grid-template-columns:1fr 1fr}.excel-preview-table .product-image-v21{width:42px;height:42px}.excel-preview-table td{vertical-align:middle}.bulk-modal-v21{width:min(1100px,96vw);max-height:92vh;overflow:auto}.bulk-modal-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.bulk-modal-table-wrap{max-height:57vh;border:1px solid #e6ebf2;border-radius:12px}.bulk-modal-table{min-width:930px}.bulk-modal-table thead{position:sticky;top:0;background:#fff;z-index:2}.bulk-modal-table td{vertical-align:middle}.bulk-modal-table td:nth-child(2){width:58px}.bulk-modal-table td:nth-child(3) strong{display:block;max-width:300px}.bulk-modal-table td:nth-child(3) small{display:block;color:#7c8999;margin-top:4px}.bulk-price-v21{width:105px!important;padding:8px!important;margin:0!important}.bulk-qty-v21{width:78px!important;padding:8px!important;margin:0!important}.row-off-v21{opacity:.45;background:#fafbfc}.bulk-footer{display:flex;align-items:end;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid #edf1f5;position:sticky;bottom:-22px;background:#fff}.bulk-footer label{font-size:10px;font-weight:750;color:#536277}.bulk-footer-total{min-width:86px;background:#f5f8fc;border:1px solid #e5ebf2;border-radius:10px;padding:8px 10px}.bulk-footer-total span{display:block;color:#7b899c;text-transform:uppercase;letter-spacing:.05em;font-size:8px}.bulk-footer-total strong{display:block;font-size:19px;margin-top:2px}.bulk-footer .btn{margin-left:auto}.print-runtime-v21,#printArea{position:fixed;left:-100000px;top:0}
@media(max-width:1200px){.product-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.product-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-action-bar{align-items:flex-start;flex-wrap:wrap}.bulk-action-bar #selectedCount{width:100%;order:2}.bulk-footer{flex-wrap:wrap}.bulk-footer .btn{width:100%;margin-left:0}.selected-product-v21{grid-template-columns:76px minmax(0,1fr)}.selected-product-v21 .product-image-v21.large{width:76px;height:68px}}
@media(max-width:560px){.product-cards-grid{grid-template-columns:1fr}.segmented{width:100%}.seg-btn{flex:1}.catalog-view-row{align-items:stretch}.bulk-action-bar .btn{flex:1}}

/* Corrección de páginas blancas: ocultar del flujo de impresión toda la aplicación.
   visibility:hidden conserva espacio; display:none no. */
@media print{
  body>*:not(#printArea){display:none!important;}
  #printArea{display:block!important;visibility:visible!important;position:static!important;left:auto!important;top:auto!important;margin:0!important;padding:0!important;}
  #printArea *{visibility:visible!important;}
}

/* ==========================================================
   V2.2 · impresión robusta + selección desde diseñador
   ========================================================== */
.excel-source-actions-v22{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.danger-soft{background:#fff4f4!important;color:#bb3138!important;border:1px solid #ffd7d9!important}.danger-soft:disabled{opacity:.45;cursor:not-allowed}.designer-selection-v22{border:1px solid #dfe8f3;background:#f8fbff;border-radius:13px;padding:11px;margin-top:10px}.designer-selection-head-v22{display:flex;align-items:center;justify-content:space-between;gap:10px}.designer-selection-head-v22>div span{display:block;color:#75869b;font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.designer-selection-head-v22>div strong{display:block;font-size:13px;margin-top:2px}.designer-selection-chips-v22{display:flex;gap:7px;flex-wrap:wrap;max-height:142px;overflow:auto;margin:10px 0}.designer-chip-v22{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:7px;align-items:center;min-width:145px;max-width:100%;border:1px solid #dce6f1;background:#fff;border-radius:10px;padding:7px 8px;text-align:left;cursor:pointer;color:#31465d}.designer-chip-v22 span{font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.designer-chip-v22 small{grid-column:1;font-size:8px;color:#8190a2;margin-top:2px}.designer-chip-v22 b{grid-column:2;grid-row:1/3;font-size:16px;color:#8b99aa;font-weight:500}.designer-chip-v22.active{border-color:#7fb4ff;background:#eef6ff}.full-width-btn-v22{width:100%;justify-content:center}.designer-result-v22.selected{border-color:#73adff;background:#eef6ff}.designer-result-end-v22{text-align:right;white-space:nowrap}.designer-result-end-v22 strong{display:block}.designer-result-end-v22 span{display:block;font-size:8px;font-weight:850;color:#1476ff;margin-top:3px}.bulk-modal-table-wrap #bulkEmpty{padding:22px}.bulk-modal-table tbody:empty+ #bulkEmpty{display:block}.bulk-modal-table tbody:not(:empty)+ #bulkEmpty{display:none}@media(max-width:720px){.excel-source-actions-v22{width:100%}.excel-source-actions-v22 .btn{flex:1}.designer-result-v22{grid-template-columns:42px minmax(0,1fr)}.designer-result-end-v22{grid-column:2;text-align:left;margin-top:4px}}

/* === ATITEC Label Studio V3.1 · Nube + usuarios === */
.hidden{display:none!important}
.cloud-sidebar-footer-v30{cursor:default}
.cloud-status-dot.local{background:#718096}.cloud-status-dot.syncing{background:#f5a623;box-shadow:0 0 0 4px rgba(245,166,35,.12)}.cloud-status-dot.online{background:#26c281;box-shadow:0 0 0 4px rgba(38,194,129,.12)}.cloud-status-dot.pending{background:#6f7bf7;box-shadow:0 0 0 4px rgba(111,123,247,.13)}.cloud-status-dot.offline{background:#e08a2e;box-shadow:0 0 0 4px rgba(224,138,46,.13)}.cloud-status-dot.error{background:#e05260;box-shadow:0 0 0 4px rgba(224,82,96,.12)}
.top-actions-v30{flex-wrap:wrap}.cloud-top-pill-v30{border:1px solid #dce5f0;border-radius:999px;background:#fff;color:#506176;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.cloud-top-pill-v30[data-mode="online"]{background:#ecfbf5;color:#16785b;border-color:#bdebdc}.cloud-top-pill-v30[data-mode="syncing"]{background:#fff8e8;color:#956614;border-color:#f1dca9}.cloud-top-pill-v30[data-mode="pending"]{background:#f0f1ff;color:#5058c8;border-color:#cfd2ff}.cloud-top-pill-v30[data-mode="offline"]{background:#fff5e9;color:#9b5d1e;border-color:#f0d2ad}.cloud-top-pill-v30[data-mode="error"]{background:#fff1f2;color:#b53b49;border-color:#f4c8cd}
.cloud-user-wrap-v30{display:flex;align-items:center;gap:8px;padding:5px 7px 5px 5px;border:1px solid #e1e8f1;background:#fff;border-radius:13px}.cloud-user-avatar-v30,.user-avatar-v30{display:grid;place-items:center;border-radius:10px;background:#10243e;color:#fff;font-weight:900}.cloud-user-avatar-v30{width:32px;height:32px;font-size:11px}.cloud-user-copy-v30{display:flex;flex-direction:column;min-width:80px;max-width:150px}.cloud-user-copy-v30 strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-user-copy-v30 small{font-size:9px;color:#7c8b9f}.cloud-logout-v30{width:28px;height:28px;font-size:14px}
.cloud-settings-card-v30{grid-column:1/-1}.cloud-mini-badge-v30{font-size:10px;font-weight:800;background:#eaf8f4;color:#177a5c;padding:6px 9px;border-radius:999px}.cloud-connection-state-v30{display:flex;flex-direction:column;gap:3px;background:#f6f9fc;border:1px solid #e2e9f2;padding:12px 14px;border-radius:12px;margin-bottom:14px}.cloud-connection-state-v30 strong{font-size:12px}.cloud-connection-state-v30 span{font-size:11px;color:#76879b}.cloud-settings-form-v30{grid-template-columns:1fr 1fr}.mono-input-v30{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cloud-actions-v30{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.cloud-security-note-v30{font-size:10px;color:#7b899d;line-height:1.5;margin:12px 0 0}
.users-panel-v30{max-width:1050px}.users-info-v30{display:flex;align-items:flex-start;gap:12px;background:#f7faff;border:1px solid #e0e8f4;border-radius:13px;padding:14px;margin-bottom:18px}.users-info-icon-v30{width:38px;height:38px;border-radius:11px;background:#eaf2ff;display:grid;place-items:center;color:#1268d8;font-size:19px}.users-info-v30 strong{font-size:12px}.users-info-v30 p{font-size:11px;color:#77879a;margin:4px 0 0}.user-cell-v30{display:flex;align-items:center;gap:10px}.user-avatar-v30{width:34px;height:34px;font-size:10px}.user-cell-v30>div{display:flex;flex-direction:column}.user-cell-v30 small{font-size:10px;color:#8290a2}.user-role-select-v30{padding:7px 9px;font-size:11px}.user-active-v30{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.user-active-v30 input{accent-color:#1476ff}.users-note-v30{font-size:10px;color:#8190a3;border-top:1px solid #edf1f5;padding-top:12px;margin-top:8px;line-height:1.5}.history-user-v30 strong{display:block;font-size:11px}.history-user-v30 small{display:block;color:#8a98a9;font-size:9px}
.auth-gate-v30{display:none;position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 75% 20%,rgba(34,118,255,.24),transparent 35%),linear-gradient(145deg,#07182e,#0f2d4f);align-items:center;justify-content:center;padding:24px}.auth-gate-v30.open{display:flex}.auth-card-v30{width:min(430px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.28)}.auth-brand-v30{display:flex;align-items:center;gap:10px;margin-bottom:24px}.auth-brand-v30>div:last-child{display:flex;flex-direction:column}.auth-brand-v30 strong{font-size:16px;letter-spacing:.08em}.auth-brand-v30 span{font-size:10px;color:#8090a4}.auth-card-v30 h2{margin:0;font-size:25px}.auth-card-v30>p{font-size:12px;color:#718196;line-height:1.55;margin:8px 0 18px}.auth-tabs-v30{display:grid;grid-template-columns:1fr 1fr;background:#f0f4f8;padding:4px;border-radius:11px;margin-bottom:14px}.auth-tabs-v30 button{border:0;background:transparent;border-radius:8px;padding:9px;font-size:11px;font-weight:800;color:#718096;cursor:pointer}.auth-tabs-v30 button.active{background:#fff;color:#1268d8;box-shadow:0 2px 8px rgba(23,51,83,.08)}.auth-form-v30{display:grid;gap:12px}.auth-form-v30 label{font-size:11px;font-weight:750;color:#506176}.auth-message-v30{display:none;border-radius:10px;background:#f3f7fb;color:#586a7f;padding:10px 11px;margin-bottom:12px;font-size:10px;line-height:1.5}.auth-message-v30[data-type="error"]{background:#fff0f1;color:#a93644}.auth-message-v30[data-type="success"]{background:#eafaf4;color:#17775b}.auth-foot-v30{display:block;text-align:center;color:#8997a9;font-size:9px;margin-top:14px}
@media(max-width:1100px){.cloud-user-copy-v30{display:none}.cloud-top-pill-v30{font-size:0}.cloud-top-pill-v30:before{content:'☁';font-size:14px}.cloud-settings-form-v30{grid-template-columns:1fr}}
@media(max-width:720px){.cloud-top-pill-v30,.cloud-user-wrap-v30{display:none!important}.cloud-settings-card-v30{grid-column:auto}.cloud-actions-v30 .btn{flex:1 1 100%}}

/* V3.3 password recovery */
.auth-link-v33{border:0;background:transparent;color:#1268d8;font-size:10px;font-weight:800;cursor:pointer;padding:0;text-align:right;justify-self:end}.auth-link-v33:hover{text-decoration:underline}.auth-recovery-mode-v33 .auth-tabs-v30{display:none}.auth-recovery-mode-v33 .auth-card-v30>p{margin-bottom:14px}

.stock-print-btn-v344{background:#e8f8ef!important;color:#137a4b!important;border:1px solid #bde8d0!important}.stock-print-btn-v344:hover{background:#daf3e5!important;transform:translateY(-1px)}


/* V3.5 — Operación, auditoría y respaldo */
.ops-grid-v35{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.ops-card-v35{background:#fff;border:1px solid var(--border);border-radius:15px;padding:15px 16px;box-shadow:0 8px 24px rgba(15,35,70,.035)}.ops-card-v35 span{display:block;color:#7d8da3;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.ops-card-v35 strong{display:block;color:#0b1f39;font-size:16px;margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-card-v35 small{display:block;color:#8b99aa;font-size:10px;line-height:1.35}.dashboard-activity-v35{margin-bottom:16px}.compact-table-v35 table th,.compact-table-v35 table td{padding:10px 9px}.compact-empty-v35{padding:18px}.activity-email-v35{display:block;color:#8a98aa;font-size:9px;margin-top:2px}.status-panel-v35{align-self:stretch}.status-list-v35{display:grid;gap:9px}.status-list-v35>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;background:#f7f9fc;border:1px solid #e8edf4;border-radius:11px}.status-list-v35 span{font-size:11px;color:#76869a}.status-list-v35 strong{font-size:12px;color:#142942;text-align:right}.history-toolbar-v35{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}.history-toolbar-v35 .search-box{min-width:260px}.history-count-v35{font-size:11px;font-weight:800;color:#718196;margin-left:auto;white-space:nowrap}.users-summary-v35{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 16px}.users-summary-v35>div{padding:13px 14px;border-radius:12px;background:#f7faff;border:1px solid #e3ebf5}.users-summary-v35 span{display:block;font-size:10px;color:#7a8a9f}.users-summary-v35 strong{display:block;font-size:20px;color:#0d2745;margin-top:3px}.cloud-sync-meta-v35{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7faff;border:1px solid #e2eaf5;border-radius:11px;margin:12px 0}.cloud-sync-meta-v35 span{font-size:10px;color:#78889d}.cloud-sync-meta-v35 strong{font-size:11px;color:#173b68}.cloud-actions-v30{flex-wrap:wrap}@media(max-width:1200px){.ops-grid-v35{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.ops-grid-v35,.users-summary-v35{grid-template-columns:1fr 1fr}.history-toolbar-v35{display:grid;grid-template-columns:1fr}.history-toolbar-v35 .search-box{min-width:0}.history-count-v35{margin-left:0}.dashboard-activity-v35{grid-template-columns:1fr}.compact-table-v35{overflow:auto}}@media(max-width:430px){.ops-grid-v35,.users-summary-v35{grid-template-columns:1fr}}

.presence-badge-v35{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:#8a98aa;white-space:nowrap}.presence-badge-v35.online{color:#16805c}.presence-badge-v35.online:before{content:"";width:7px;height:7px;border-radius:50%;background:#23c98c;box-shadow:0 0 0 3px rgba(35,201,140,.12)}
@media(max-width:1200px){.users-summary-v35{grid-template-columns:repeat(3,1fr)}}

/* V3.6 · Archivo Excel en la nube */
.excel-cloud-archive-v36{margin-bottom:16px}.excel-archive-head-v36{align-items:flex-start}.excel-archive-actions-v36{display:flex;gap:8px;align-items:center}.excel-archive-intro-v36{margin:-5px 0 12px}.excel-archive-status-v36{padding:10px 12px;border:1px solid #dbe6f3;background:#f7faff;border-radius:11px;font-size:11px;color:#5c6e84;margin-bottom:12px}.excel-archive-status-v36[data-type="success"]{background:#effaf6;border-color:#c9ebdd;color:#28765d}.excel-archive-status-v36[data-type="loading"]{background:#f3f7ff;border-color:#cfdef8;color:#3566a7}.excel-archive-status-v36[data-type="offline"]{background:#fff8ec;border-color:#f1ddb7;color:#8c6224}.excel-archive-status-v36[data-type="error"]{background:#fff1f2;border-color:#f0c9cd;color:#a83d49}.excel-archive-table-wrap-v36{max-height:330px}.excel-file-cell-v36{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.excel-file-cell-v36 strong{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.excel-file-cell-v36 small,.excel-uploader-v36 small{font-size:10px;color:#8795a8}.excel-current-v36{display:inline-flex;font-size:8px;font-weight:900;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:#e8f3ff;color:#0967dc}.excel-kind-v36{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850}.excel-kind-v36.catalog{background:#eaf5ff;color:#1268d8}.excel-kind-v36.bulk{background:#f2edff;color:#6b4bc3}.excel-uploader-v36{display:flex;flex-direction:column}.excel-uploader-v36 strong{font-size:11px}.excel-archive-table-v36 td{vertical-align:middle}@media(max-width:720px){.excel-archive-actions-v36{flex-wrap:wrap;justify-content:flex-end}.excel-cloud-archive-v36{overflow:hidden}.excel-archive-table-wrap-v36{max-height:420px}}


/* V3.6.1 · Vista previa de Excel respaldado */
.excel-preview-btn-v361{background:#eef6ff!important;color:#0c68db!important;border:1px solid #cfe4ff!important}
.excel-preview-modal-v361{width:min(1120px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.excel-preview-head-v361{flex:0 0 auto}.excel-preview-head-v361 .muted{margin:5px 0 0}
.excel-preview-stats-v361{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.excel-preview-stats-v361 article{border:1px solid #e0e8f2;background:#f8fbff;border-radius:13px;padding:12px 14px}
.excel-preview-stats-v361 span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8190a3;font-weight:850}
.excel-preview-stats-v361 strong{display:block;font-size:21px;margin-top:4px;color:#152a43}
.excel-preview-tools-v361{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.excel-preview-stock-filter-v361{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dfe7f1;background:#f8fafc;border-radius:11px;padding:10px 12px;font-size:11px;font-weight:750;color:#53677e}
.excel-preview-result-meta-v361{font-size:10px;color:#8492a5;margin:4px 0 8px}
.excel-preview-table-wrap-v361{overflow:auto;max-height:52vh;border:1px solid #e4eaf2;border-radius:13px}
.excel-preview-table-v361{min-width:790px}
.excel-preview-table-v361 thead th{position:sticky;top:0;background:#f8fafc;z-index:2}
.excel-preview-img-v361{width:46px;height:46px;border-radius:9px;border:1px solid #e0e7ef;background:#f3f6fa;object-fit:contain;display:block}
.excel-preview-img-placeholder-v361{width:46px;height:46px;border-radius:9px;border:1px solid #e0e7ef;background:#f3f6fa;display:grid;place-items:center;color:#91a0b4;font-size:15px;font-weight:800}
.excel-preview-product-v361 strong{display:block;max-width:320px}.excel-preview-product-v361 small{display:block;margin-top:3px;color:#8b98a9;font-size:9px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.excel-stock-number-v361{font-weight:900;font-size:14px}.excel-stock-zero-v361{color:#a0aaba}.excel-stock-positive-v361{color:#137a4b}
.excel-preview-actions-v361{flex:0 0 auto;margin-top:12px}
@media(max-width:760px){.excel-preview-stats-v361{grid-template-columns:1fr 1fr}.excel-preview-tools-v361{flex-wrap:wrap}.excel-preview-tools-v361 .search-box{flex-basis:100%}.excel-preview-modal-v361{width:100%;max-height:95vh;padding:16px}.excel-preview-table-wrap-v361{max-height:48vh}}

/* ===== V3.7 Seguridad, auditoría y PWA ===== */
.panel-head-actions-v37{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.users-invite-head-v37{margin-top:2px}.permission-modal-v37{width:min(780px,100%)}.permission-grid-v37{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:52vh;overflow:auto;padding:2px}.permission-grid-v37.compact{margin-top:16px;max-height:36vh}.permission-card-v37{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dfe7f1;border-radius:12px;background:#fbfdff;cursor:pointer}.permission-card-v37:hover{border-color:#aacbfa;background:#f5f9ff}.permission-card-v37 input{margin-top:3px;accent-color:#1476ff}.permission-card-v37 span{display:flex;flex-direction:column;gap:3px}.permission-card-v37 strong{font-size:12px;color:#25364d}.permission-card-v37 small{font-size:10px;line-height:1.4;color:#7d8ca0}.invite-state-v37{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.invite-state-v37.pending{background:#fff6df;color:#95600d}.invite-state-v37.accepted{background:#e9faf3;color:#197454}.auth-invite-note-v37{display:block;text-align:center;color:#7b899d;font-size:9px;line-height:1.45}.audit-action-v37{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf5ff;color:#1769c7;font-size:9px;font-weight:800;text-transform:uppercase}.audit-detail-v37{display:block;max-width:310px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#596b81;background:#f5f7fa;padding:5px 7px;border-radius:7px}.pwa-state-v37{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#f4f8fd;border:1px solid #e0e8f2;margin-bottom:14px}.pwa-state-v37 strong{font-size:12px;color:#2f455f}.pwa-state-v37 span{font-size:10px;color:#7c8ca1}.hidden{display:none!important}
@media(max-width:720px){.permission-grid-v37{grid-template-columns:1fr}.panel-head-actions-v37{width:100%;justify-content:flex-start}.audit-detail-v37{max-width:180px}}

/* === V3.8 · Centro de producción === */
.system-hero-v38{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#081a31 0%,#103d70 58%,#1476ff 100%);color:#fff;margin-bottom:16px;padding:26px 28px;overflow:hidden;position:relative}.system-hero-v38:after{content:"";position:absolute;width:220px;height:220px;border:38px solid rgba(255,255,255,.06);border-radius:50%;right:-70px;top:-90px}.system-hero-v38 h2{margin:0 0 7px;font-size:28px}.system-hero-v38 p:not(.eyebrow){margin:0;color:#c2d7ef;max-width:700px;line-height:1.55}.system-version-v38{position:relative;z-index:1;min-width:130px;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:15px}.system-version-v38 span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#c8d9eb}.system-version-v38 strong{display:block;font-size:25px;margin-top:4px}
.system-kpis-v38{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.system-kpis-v38 article{background:#fff;border:1px solid var(--border);border-radius:16px;padding:17px 18px;box-shadow:0 10px 30px rgba(15,35,70,.04);min-width:0}.system-kpis-v38 span{display:block;color:#7f8fa3;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.system-kpis-v38 strong{display:block;margin-top:7px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-kpis-v38 small{display:block;color:#8795a8;font-size:10px;margin-top:6px}.system-grid-v38{grid-template-columns:1.25fr .75fr;margin-bottom:16px}.diagnostics-list-v38{display:flex;flex-direction:column;border:1px solid #e5ebf3;border-radius:14px;overflow:hidden}.diag-row-v38{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid #edf1f6}.diag-row-v38:last-child{border-bottom:0}.diag-row-v38>div{min-width:0}.diag-row-v38 strong{display:block;font-size:12px;color:#26384e}.diag-row-v38 span:not(.diag-badge-v38){display:block;font-size:10px;color:#8190a3;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:580px}.diag-badge-v38{flex:0 0 auto;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.diag-badge-v38.ok{background:#eafaf4;color:#16785b;border:1px solid #c5ecdd}.diag-badge-v38.bad{background:#fff5e9;color:#9c601d;border:1px solid #f0d3ad}.system-footnote-v38{font-size:9px;color:#8b99aa;margin-top:10px;text-align:right}
.maintenance-badge-v38{border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;background:#eef4fa;color:#65768b;border:1px solid #dfe7f0}.maintenance-badge-v38[data-active="1"]{background:#fff0f1;color:#b33e4c;border-color:#f2cbd0}.maintenance-message-v38{resize:vertical;min-height:78px;line-height:1.45}.maintenance-actions-v38{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.maintenance-actions-v38 small{color:#8b98aa;font-size:9px;text-align:right}.maintenance-panel-v38 .btn.danger{background:#fff0f1;color:#b33d4b;border:1px solid #f0c8ce}
.restore-points-panel-v38{margin-bottom:16px}.restore-create-v38{display:flex;gap:10px;align-items:center;margin-bottom:10px}.restore-points-panel-v38 td small{display:block;margin-top:3px}.system-action-stack-v38{display:grid;gap:9px}.session-info-v38{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf1f6}.session-info-v38 span{font-size:10px;color:#8492a4;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.session-info-v38 strong{font-size:11px;color:#31445b;text-align:right;max-width:65%;overflow-wrap:anywhere}.top-space-v38{margin-top:16px}.production-roadmap-v38{margin-bottom:10px}.roadmap-grid-v38{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.roadmap-item-v38{display:flex;gap:10px;align-items:center;border:1px solid #e4eaf2;border-radius:13px;padding:12px;background:#fbfcfe}.roadmap-item-v38>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:900}.roadmap-item-v38.done>span{background:#e8faf3;color:#16805d}.roadmap-item-v38.pending>span{background:#fff5e9;color:#9b611f}.roadmap-item-v38 strong{display:block;font-size:11px}.roadmap-item-v38 small{display:block;color:#8997a9;font-size:9px;margin-top:3px}
.maintenance-overlay-v38{display:none;position:fixed;inset:0;z-index:1100;background:radial-gradient(circle at 70% 15%,rgba(25,129,255,.22),transparent 30%),linear-gradient(145deg,#051326,#0d2c50);align-items:center;justify-content:center;padding:24px}.maintenance-overlay-v38.open{display:flex}.maintenance-overlay-card-v38{width:min(520px,100%);background:#fff;border-radius:26px;padding:34px;text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.34)}.maintenance-overlay-card-v38 img{width:92px;height:92px;object-fit:contain;margin-bottom:13px}.maintenance-lock-v38{display:inline-block;border-radius:999px;padding:6px 10px;background:#fff2df;color:#9a5d16;font-size:9px;font-weight:900;letter-spacing:.08em}.maintenance-overlay-card-v38 h2{font-size:25px;margin:14px 0 8px;color:#0d213b}.maintenance-overlay-card-v38 p{color:#66788e;line-height:1.6;margin:0 auto;max-width:420px}.maintenance-overlay-actions-v38{display:flex;gap:9px;justify-content:center;margin-top:22px}.maintenance-overlay-actions-v38 .btn{min-width:145px}
@media(max-width:1100px){.system-kpis-v38{grid-template-columns:repeat(2,1fr)}.system-grid-v38{grid-template-columns:1fr}.roadmap-grid-v38{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.system-hero-v38{align-items:flex-start;flex-direction:column;padding:22px}.system-version-v38{align-self:stretch}.system-kpis-v38{grid-template-columns:1fr 1fr}.restore-create-v38{flex-direction:column;align-items:stretch}.roadmap-grid-v38{grid-template-columns:1fr}.maintenance-actions-v38{align-items:stretch;flex-direction:column}.maintenance-actions-v38 small{text-align:left}.maintenance-overlay-actions-v38{flex-direction:column}.maintenance-overlay-actions-v38 .btn{width:100%}}
