.tnw-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#080a0d9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:tnw-fade var(--normal) var(--ease-out)}.tnw-dialog{position:fixed;z-index:155;top:50%;left:50%;translate:-50% -50%;width:min(1040px,94vw);max-height:min(88vh,960px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 24px 80px #0009;animation:tnw-rise var(--slow) var(--ease-spring);overflow:hidden}.tnw-head{display:flex;align-items:center;gap:var(--space-lg);padding:.9rem .9rem .9rem var(--space-lg);border-bottom:1px solid var(--border)}.tnw-head__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-bright);letter-spacing:-.01em;white-space:nowrap}.tnw-close{width:34px;height:34px;margin-left:auto}.tnw-steps{display:flex;align-items:center;gap:var(--space-sm);list-style:none;margin:0;padding:0}.tnw-step{display:flex;align-items:center;gap:.45rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--muted);white-space:nowrap;transition:color var(--normal) var(--ease-out)}.tnw-step__dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:var(--font-weight-bold);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--muted-light);transition:background var(--normal) var(--ease-out),border-color var(--normal) var(--ease-out),color var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease-out)}.tnw-step--activo{color:var(--text-bright)}.tnw-step--activo .tnw-step__dot{background:var(--accent);border-color:transparent;color:#000;box-shadow:0 0 0 4px var(--accent-dim)}.tnw-step--hecho{color:var(--text)}.tnw-step--hecho .tnw-step__dot{background:var(--success-dim);border-color:#3fb88f59;color:var(--success)}.tnw-step__line{width:40px;height:1px;background:var(--border-strong);position:relative;overflow:hidden}.tnw-step__line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--success);transform:scaleX(0);transform-origin:left;transition:transform var(--slow) var(--ease-out)}.tnw-step__line--hecha:after{transform:scaleX(1)}.tnw-toolbar{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border-subtle);background:var(--surface-overlay);font-size:var(--font-size-sm);color:var(--muted)}.tnw-progress__bar{height:6px;border-radius:999px;background:#9ea5b329;overflow:hidden}.tnw-progress__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-bright));box-shadow:0 0 12px var(--accent-glow);transition:width var(--slow) var(--ease-out)}.tnw-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-sm) var(--space-lg) var(--space-lg);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;animation:tnw-step-in var(--normal) var(--ease-out)}.tnw-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:.8rem var(--space-lg);border-top:1px solid var(--border);background:var(--surface-overlay)}.tnw-foot__left,.tnw-foot__right{display:flex;align-items:center;gap:var(--space-md)}.tnw-foot__msg{font-size:var(--font-size-sm);color:var(--warning);animation:tnw-fade var(--normal) var(--ease-out)}.tnw-link-btn{border:0;background:none;padding:.25rem 0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--muted-light);cursor:pointer;transition:color var(--fast) var(--ease-out)}.tnw-link-btn:hover:not(:disabled){color:var(--accent-bright)}.tnw-link-btn:disabled{opacity:.4;cursor:not-allowed}.tnw-link-btn--ok,.tnw-link-btn--ok:hover:not(:disabled){color:var(--success)}.tnw-count{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--font-size-sm);color:var(--muted-light);font-variant-numeric:tabular-nums;white-space:nowrap}.tnw-count strong{color:var(--text-bright)}.tnw-count__ring{width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--accent) var(--p, 0%),rgba(158,165,179,.2) 0);-webkit-mask:radial-gradient(circle,transparent 5px,#000 5.5px);mask:radial-gradient(circle,transparent 5px,#000 5.5px)}.tnw-count--ok,.tnw-count--ok strong{color:var(--success)}.tnw-count--ok .tnw-count__ring{background:var(--success);animation:tnw-pop .36s var(--ease-spring)}.tnw-icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--fast) var(--ease-out),background var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out)}.tnw-icon-btn:hover:not(:disabled){color:var(--text-bright);background:#ffffff0f;border-color:var(--border)}.tnw-icon-btn--danger:hover:not(:disabled){color:var(--error);background:var(--error-dim);border-color:#de636340}.tnw-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tnw-icon-btn:disabled{opacity:.4;cursor:not-allowed}.tnw-cols,.tnw-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 68px 76px minmax(180px,1.15fr) 30px;column-gap:.75rem;align-items:center}.tnw-cols{padding:.55rem calc(var(--space-lg) + .75rem) .45rem;border-bottom:1px solid var(--border-subtle);font-size:.68rem;font-weight:var(--font-weight-extrabold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tnw-cols span:nth-child(2),.tnw-cols span:nth-child(3),.tnw-cols span:nth-child(4){text-align:center}.tnw-list{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-sm)}.tnw-row{position:relative;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);scroll-margin:var(--space-md);transition:border-color var(--normal) var(--ease-out),background var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease-out);animation:tnw-card-in var(--slow) var(--ease-out) both}.tnw-row:focus-within{border-color:#3ca9e566;background:var(--surface-2);box-shadow:0 0 0 3px #3ca9e514}.tnw-row--listo{border-color:#3fb88f40}.tnw-row--atencion{border-color:#e8a23a8c;box-shadow:0 0 0 3px #e8a23a1a;animation:tnw-card-in var(--slow) var(--ease-out) both,tnw-nudge .42s var(--ease-out)}.tnw-row--drop{border-color:var(--accent);border-style:dashed;background:var(--accent-dim)}.tnw-row__ident{display:flex;align-items:center;gap:.65rem;min-width:0}.tnw-row__num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:var(--font-weight-bold);color:var(--muted-light);background:var(--surface-3);border:1px solid var(--border-strong);font-variant-numeric:tabular-nums;transition:background var(--normal) var(--ease-out),color var(--normal) var(--ease-out),border-color var(--normal) var(--ease-out)}.tnw-row--listo .tnw-row__num{background:var(--success-dim);border-color:#3fb88f73;color:var(--success);animation:tnw-pop .36s var(--ease-spring)}.tnw-row--atencion .tnw-row__num{border-color:#e8a23a99;color:var(--warning)}.tnw-check path{stroke-dasharray:16;stroke-dashoffset:16;animation:tnw-draw .36s var(--ease-out) forwards}.tnw-row__text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.tnw-row__code{font-family:var(--font-mono);font-size:.74rem;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tnw-row__desc{font-size:var(--font-size-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tnw-field{position:relative}.tnw-field input{width:100%;height:38px;padding:0 .4rem;text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.tnw-field__hint{position:absolute;left:0;right:0;top:calc(100% + 1px);font-size:.66rem;text-align:center;color:var(--muted-light);font-variant-numeric:tabular-nums;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity var(--fast) var(--ease-out),transform var(--fast) var(--ease-out)}.tnw-field:focus-within .tnw-field__hint{opacity:1;transform:none}.tnw-field--raro .tnw-field__hint{color:var(--warning);opacity:1;transform:none}.tnw-field--raro input:not(:focus){border-color:#e8a23a99!important}.tnw-row--atencion .tnw-field input[data-vacio=true]:not(:focus){border-color:#e8a23a99!important;background:#e8a23a0f!important}.tnw-row__fotos{min-width:0}.tnw-row__nofotos{font-size:var(--font-size-xs);color:var(--muted)}.tnw-thumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tnw-thumb{position:relative;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#f3f2ef;overflow:hidden;cursor:grab;touch-action:none;animation:tnw-thumb-in var(--normal) var(--ease-spring) both;transition:transform var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out),opacity var(--fast) var(--ease-out)}.tnw-thumb img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.tnw-thumb--portada{box-shadow:0 0 0 2px var(--accent);border-color:transparent}.tnw-thumb:hover{transform:translateY(-1px)}.tnw-thumb:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.tnw-thumb:active{cursor:grabbing}.tnw-thumb--dragging{opacity:.35;transform:scale(.94)}.tnw-thumb--target{box-shadow:0 0 0 2px var(--accent-bright),0 0 12px var(--accent-glow);transform:scale(1.06)}.tnw-thumb__remove{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;border:0;color:#fff;background:#080a0dcc;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity var(--fast) var(--ease-out),transform var(--fast) var(--ease-out),background var(--fast) var(--ease-out)}.tnw-thumb:hover .tnw-thumb__remove,.tnw-thumb:focus-visible .tnw-thumb__remove{opacity:1;transform:scale(1)}.tnw-thumb__remove:hover{background:var(--error)}@media (hover: none){.tnw-thumb__remove{opacity:1;transform:none}}.tnw-add{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .7rem;border-radius:var(--radius-sm);border:1.5px dashed var(--border-strong);background:transparent;color:var(--muted-light);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:border-color var(--fast) var(--ease-out),background var(--fast) var(--ease-out),color var(--fast) var(--ease-out),transform var(--fast) var(--ease-out)}.tnw-add:not(.tnw-add--vacio){padding:0;width:44px}.tnw-add--vacio{color:var(--accent)}.tnw-add:hover:not(:disabled),.tnw-add:focus-visible{outline:none;border-color:var(--accent);background:var(--accent-dim);color:var(--accent-bright)}.tnw-add:active:not(:disabled){transform:scale(.97)}.tnw-add:disabled{opacity:.5;cursor:not-allowed}.tnw-add svg{transition:transform var(--normal) var(--ease-spring)}.tnw-add:hover:not(:disabled) svg{transform:scale(1.1) rotate(-6deg)}.tnw-row--atencion .tnw-add[data-vacio=true]{border-color:#e8a23a99;background:#e8a23a0f;color:var(--warning)}.tnw-aviso{margin:.35rem 0 0;font-size:var(--font-size-xs);color:var(--warning);animation:tnw-fade var(--normal) var(--ease-out)}.tnw-row__dropveil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:inherit;background:#0f1115bf;color:var(--text-bright);font-size:var(--font-size-sm);pointer-events:none;animation:tnw-fade var(--fast) var(--ease-out)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tnw-review-thumb{position:relative;width:44px;height:44px;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:#f3f2ef;overflow:hidden;flex-shrink:0}.tnw-review-thumb img{width:100%;height:100%;object-fit:contain;display:block}.tnw-review-thumb__more{position:absolute;right:2px;bottom:2px;padding:0 4px;border-radius:999px;font-size:.6rem;font-weight:var(--font-weight-bold);color:var(--text-bright);background:#080a0dcc}.tnw-medidas-resumen{font-family:var(--font-mono);font-size:.78rem;color:var(--text);white-space:nowrap}.tnw-alerta{margin-top:var(--space-md);padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(222,99,99,.35);background:var(--error-dim);color:var(--text);font-size:var(--font-size-sm)}.tnw-confirm{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--surface-3);border-top:1px solid rgba(222,99,99,.35);box-shadow:0 -12px 32px #00000073;animation:tnw-confirm-in var(--normal) var(--ease-out)}.tnw-confirm__text{display:flex;flex-direction:column;gap:.1rem;font-size:var(--font-size-sm);color:var(--muted-light)}.tnw-confirm__text strong{color:var(--text-bright);font-size:var(--font-size-base)}.tnw-confirm__actions{display:flex;gap:var(--space-sm);margin-left:auto}@media (max-width: 760px){.tnw-dialog{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.tnw-head{flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.tnw-step__label{display:none}.tnw-step--activo .tnw-step__label{display:inline}.tnw-cols{display:none}.tnw-row{grid-template-columns:repeat(3,minmax(0,1fr)) 30px;row-gap:.6rem}.tnw-row__ident{grid-column:1 / 4}.tnw-row__quitar{grid-column:4;grid-row:1}.tnw-row__fotos{grid-column:1 / -1}.tnw-foot__left .tnw-link-btn{display:none}}@keyframes tnw-fade{0%{opacity:0}to{opacity:1}}@keyframes tnw-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes tnw-step-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes tnw-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes tnw-thumb-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes tnw-pop{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes tnw-draw{to{stroke-dashoffset:0}}@keyframes tnw-nudge{0%,to{translate:0}25%{translate:-4px}50%{translate:4px}75%{translate:-2px}}@keyframes tnw-confirm-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tnw-dialog,.tnw-backdrop,.tnw-body,.tnw-row,.tnw-thumb,.tnw-row__num,.tnw-check path,.tnw-confirm,.tnw-count__ring{animation:none!important}.tnw-check path{stroke-dashoffset:0}.tnw-progress__fill,.tnw-step__line:after{transition:none}}*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--container-max: 1400px;--container-wide: 1600px;--measure-xs: 160px;--measure-sm: 240px;--measure-md: 320px;--measure-lg: 480px;--measure-xl: 640px;--measure-2xl: 820px;--bg: #0f1115;--surface: #16181d;--surface-elevated: #20232a;--surface-overlay: #121419;--surface-1: #191c21;--surface-2: #1d1f26;--surface-3: #20232a;--surface-alt: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .08);--border-hover: rgba(60, 169, 229, .3);--border-strong: rgba(255, 255, 255, .14);--border-subtle: rgba(255, 255, 255, .06);--text: #d2d6e0;--text-bright: #f1f4f8;--text-muted: var(--muted-light);--muted: #848b9a;--muted-light: #9ea5b3;--accent: #3ca9e5;--accent-bright:#60beff;--accent-dim: rgba(60, 169, 229, .1);--accent-glow: rgba(60, 169, 229, .25);--accent-deep: #2853c3;--success: #3fb88f;--success-dim: rgba(63, 184, 143, .1);--warning: #e8a23a;--warning-dim: rgba(232, 162, 58, .1);--error: #de6363;--error-dim: rgba(222, 99, 99, .1);--danger: var(--error);--font-sans: "Manrope", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.3;--line-height-body: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-xs: 4px;--radius-sm: 7px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 6px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .55);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .65);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--fast: .14s;--normal: .22s;--slow: .38s}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-body);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--fast) var(--ease-out)}a:hover{color:var(--accent-bright)}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#3ca9e540;color:var(--text-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.875rem var(--space-xl);position:sticky;top:0;z-index:100;box-shadow:0 1px #ffffff0a,var(--shadow-sm);opacity:1;transition:transform .22s var(--ease-out),opacity .18s var(--ease-out),border-color .18s var(--ease-out),box-shadow .18s var(--ease-out);will-change:transform,opacity}.app-header--hidden{transform:translateY(calc(-100% - 2px));border-bottom-color:transparent;box-shadow:none;opacity:0;pointer-events:none}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-deep) 20%,var(--accent-bright) 50%,var(--accent-deep) 80%,transparent 100%)}.app-header-inner{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;gap:var(--space-md)}.app-logo{height:34px;width:auto;max-width:120px;display:block;object-fit:contain;flex-shrink:0}.app-logo-hint{font-size:var(--font-size-xs);color:var(--muted);font-family:var(--font-mono);background:#ffffff0d;padding:2px 8px;border-radius:var(--radius-xs);border:1px dashed var(--border);flex-shrink:0}.app-brand-wrap{flex:0 0 auto}.app-brand{font-family:var(--font-sans);font-size:1.125rem;font-weight:var(--font-weight-extrabold);letter-spacing:-.02em;line-height:1;color:var(--text-bright)}.app-brand span{color:var(--accent-bright)}.app-tagline{font-size:.65rem;color:var(--muted);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}:root{--rail: 64px;--rail-open: 232px}.app--sidebar{padding-left:var(--rail)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:95;width:var(--rail);display:flex;flex-direction:column;background:var(--surface-overlay);border-right:1px solid var(--border);overflow:hidden;transition:width .22s var(--ease-out) 60ms,box-shadow .22s var(--ease-out) 60ms}.sidebar:before{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--accent-deep) 30%,var(--accent-bright) 50%,var(--accent-deep) 70%,transparent);opacity:.45;pointer-events:none}@media (hover: hover){.sidebar:hover{width:var(--rail-open);transition-delay:.14s}}.sidebar:focus-within:has(:focus-visible),.sidebar--abierto{width:var(--rail-open);transition-delay:0ms}@media (hover: hover){.sidebar:hover{box-shadow:12px 0 40px #00000073}}.sidebar--abierto,.sidebar:focus-within:has(:focus-visible){box-shadow:12px 0 40px #00000073}.sidebar__brand{display:flex;align-items:center;gap:.85rem;height:64px;flex-shrink:0;padding:0 0 0 19px;border:0;background:transparent;color:var(--text-bright);text-align:left;cursor:default}@media (hover: none){.sidebar__brand{cursor:pointer}}.sidebar__mark{display:grid;place-items:center;width:26px;flex-shrink:0;transition:transform var(--slow) var(--ease-spring)}.sidebar:hover .sidebar__mark,.sidebar--abierto .sidebar__mark{transform:rotate(-8deg) scale(1.06)}.sidebar__brand-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);letter-spacing:-.01em;white-space:nowrap}.sidebar__nav{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.25rem 10px;scrollbar-width:none}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__indicator{position:absolute;top:0;left:10px;right:10px;border-radius:var(--radius-sm);background:var(--accent-dim);box-shadow:inset 0 0 0 1px #3ca9e52e;transition:transform .32s var(--ease-spring),height .2s var(--ease-out);pointer-events:none}.sidebar__indicator:before{content:"";position:absolute;left:-10px;top:22%;bottom:22%;width:3px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.sidebar__group+.sidebar__group{margin-top:.35rem}.sidebar__group-title{position:relative;height:22px;display:flex;align-items:center;padding:0 12px;font-size:.66rem;font-weight:var(--font-weight-extrabold);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.sidebar__group-title:before{content:"";position:absolute;left:14px;width:16px;height:1px;background:var(--border-strong);transition:opacity var(--fast) var(--ease-out)}.sidebar__group-title span{opacity:0;transition:opacity var(--fast) var(--ease-out)}.sidebar__link{position:relative;z-index:1;display:flex;align-items:center;gap:.85rem;width:100%;height:40px;padding:0 0 0 12px;margin:1px 0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-light);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;white-space:nowrap;text-decoration:none;cursor:pointer;transition:color var(--fast) var(--ease-out),background var(--fast) var(--ease-out)}.sidebar__link:hover{color:var(--text-bright);background:#ffffff0d;text-decoration:none}.sidebar__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar__link--active,.sidebar__link--active:hover{color:var(--accent-bright);background:transparent}.sidebar__foot .sidebar__link--active{background:var(--accent-dim)}.sidebar__icon{display:grid;place-items:center;width:20px;flex-shrink:0;transition:transform var(--fast) var(--ease-out)}.sidebar__link:active .sidebar__icon{transform:scale(.9)}.sidebar__brand-text,.sidebar__label{display:flex;flex-direction:column;line-height:1.2;opacity:0;transform:translate(-6px);transition:opacity .12s var(--ease-out),transform .16s var(--ease-out)}@media (hover: hover){.sidebar:hover .sidebar__label,.sidebar:hover .sidebar__brand-text,.sidebar:hover .sidebar__group-title span{opacity:1;transform:none;transition-delay:.18s}.sidebar:hover .sidebar__group-title:before{opacity:0}}.sidebar--abierto .sidebar__label,.sidebar--abierto .sidebar__brand-text,.sidebar:focus-within:has(:focus-visible) .sidebar__brand-text,.sidebar--abierto .sidebar__group-title span,.sidebar:focus-within:has(:focus-visible) .sidebar__label,.sidebar:focus-within:has(:focus-visible) .sidebar__group-title span{opacity:1;transform:none}.sidebar--abierto .sidebar__group-title:before,.sidebar:focus-within:has(:focus-visible) .sidebar__group-title:before{opacity:0}.sidebar__foot{flex-shrink:0;padding:.5rem 10px .75rem;border-top:1px solid var(--border-subtle)}.sidebar__link--btn:hover{color:var(--error);background:var(--error-dim)}.sidebar__perfil{font-size:.68rem;font-weight:var(--font-weight-medium);color:var(--success)}.sidebar__perfil--dev{color:var(--warning)}.sidebar__link--btn:hover .sidebar__perfil{color:inherit;opacity:.8}.sidebar__credit{display:block;height:18px;padding-left:12px;margin-top:.25rem;font-size:.66rem;color:var(--muted);white-space:nowrap;opacity:0;transition:opacity .12s var(--ease-out)}.sidebar__credit:hover{color:var(--accent);text-decoration:none}@media (hover: hover){.sidebar:hover .sidebar__credit{opacity:1;transition-delay:.18s}}.sidebar--abierto .sidebar__credit{opacity:1}@media (max-height: 700px){.sidebar__brand{height:56px}.sidebar__link{height:36px}.sidebar__group-title{height:18px}}@media (max-width: 640px){:root{--rail: 56px}.sidebar__brand{padding-left:15px}.sidebar__nav,.sidebar__foot{padding-left:6px;padding-right:6px}.sidebar__indicator{left:6px;right:6px}.sidebar__indicator:before{left:-6px}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar__label,.sidebar__indicator,.sidebar__mark{transition:none!important}}.view-tabs{display:flex;margin-bottom:var(--space-md);margin-top:0;border-radius:var(--radius);padding:3px;background:var(--surface-elevated);border:1px solid var(--border);width:fit-content;box-shadow:var(--shadow-sm)}.view-tabs a{display:inline-block;padding:.55rem 1.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-sans);text-decoration:none;border-radius:calc(var(--radius) - 1px);color:var(--muted-light);transition:color var(--fast) var(--ease-out),background var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out);border-bottom:none!important}.view-tabs a:after{display:none!important}.view-tabs a:hover{color:var(--text-bright);background:#ffffff0f;text-decoration:none}.view-tabs a.view-tabs__active{color:#fff;background:var(--accent);box-shadow:0 1px 10px var(--accent-glow)}.view-tabs a.view-tabs__active:hover{color:#fff;background:var(--accent-bright);text-decoration:none}.container{max-width:var(--container-max);margin:0 auto;padding:var(--space-lg) var(--space-xl) var(--space-xl);width:100%;flex:1;animation:page-in .26s var(--ease-out) both}@media (max-width: 1440px){.container{padding:1.25rem var(--space-lg) var(--space-lg)}}@media (max-width: 640px){.container{padding:var(--space-md)}}.container--wide{max-width:var(--container-wide)}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.container{animation:none}}.page-content{max-width:100%}.page-title{font-family:var(--font-sans);margin:0 0 var(--space-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:-.025em;color:var(--text-bright)}.page-title+.page-subtitle{margin-top:calc(-1 * var(--space-sm))}.page-subtitle{margin:0 0 var(--space-md);color:var(--muted-light);font-size:var(--font-size-sm)}.text-muted{color:var(--muted)}.text-small{font-size:var(--font-size-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm);position:relative;transition:border-color var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease-out),transform var(--normal) var(--ease-out)}.card:hover{border-color:#ffffff21;box-shadow:var(--shadow-md);transform:translateY(-1px)}.card.card--popover-safe:hover{transform:none}.card-title{margin:0 0 var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-bright);letter-spacing:-.01em}.card-value{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:var(--text-bright);letter-spacing:-.02em}.card-value--muted{font-weight:var(--font-weight-medium);color:var(--text);font-size:var(--font-size-base)}.card--highlight{border-color:#3ca9e533;background:linear-gradient(135deg,var(--surface) 0%,rgba(60,169,229,.04) 100%)}.card--section{margin-top:var(--space-xl)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg)}.dashboard-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:stretch}.lens-sku-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.25rem;align-items:flex-start}.compra-factura-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.6fr);gap:1rem 1.25rem;align-items:start}@media (max-width: 1150px){.lens-sku-layout,.compra-factura-layout{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-activity-grid{grid-template-columns:1fr}}.quick-links{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.quick-link{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--fast) var(--ease-out)}.quick-link:hover{background:var(--accent-dim);border-color:#3ca9e540;color:var(--accent-bright);transform:translateY(-1px);text-decoration:none}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5rem var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-sans);letter-spacing:.01em;transition:all var(--fast) var(--ease-out);position:relative;overflow:hidden;white-space:nowrap}.btn:hover{background:#ffffff17;border-color:#fff3;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.98)}.btn.primary{background:var(--accent);color:#000;border-color:transparent;box-shadow:0 1px 12px var(--accent-glow);font-weight:var(--font-weight-bold);position:relative;overflow:hidden}.btn.primary:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .45s var(--ease-out)}.btn.primary:hover:not(:disabled){background:var(--accent-bright);box-shadow:0 2px 20px #3ca9e573;transform:translateY(-2px)}.btn.primary:hover:not(:disabled):after{left:150%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn--danger{background:var(--error);color:#fff;border-color:transparent;box-shadow:0 1px 10px #de636333;font-weight:var(--font-weight-bold)}.btn--danger:hover:not(:disabled){background:#f05050;box-shadow:0 2px 18px #de636361;transform:translateY(-1px)}.btn--neutral{background:transparent;border-color:var(--border);color:var(--muted-light)}.btn--neutral:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff0a}.btn--link{background:transparent;border:none;padding:0;color:var(--accent);font-weight:var(--font-weight-semibold);margin-top:var(--space-sm);overflow:visible}.btn--link:hover{background:transparent;color:var(--accent-bright);text-decoration:underline;transform:none;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.015em;white-space:nowrap}.badge--success{background:var(--success-dim);color:var(--success);border:1px solid rgba(63,184,143,.18)}.badge--success:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--success);animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.badge--error{background:var(--error-dim);color:var(--error);border:1px solid rgba(222,99,99,.18)}.badge--warning{background:var(--warning-dim);color:var(--warning);border:1px solid rgba(232,162,58,.18)}.badge--neutral{background:#ffffff0d;color:var(--muted-light);border:1px solid var(--border)}.table-wrap{overflow-x:auto;max-height:70vh;overflow-y:auto;border-radius:var(--radius);border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.6rem .85rem;text-align:left;border-bottom:1px solid var(--border)}th{font-size:.72rem;font-weight:var(--font-weight-extrabold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1;padding-top:.7rem;padding-bottom:.7rem}tbody tr{transition:background var(--fast) var(--ease-out)}tbody tr:nth-child(2n) td{background:#ffffff04}tbody tr:hover td{background:#3ca9e50f;color:var(--text-bright)}.code-cell{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);background:var(--accent-dim);padding:2px 7px;border-radius:var(--radius-xs);letter-spacing:.02em}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=color]),textarea{background:var(--surface-elevated);color:var(--text-bright);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=color]):focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3ca9e524}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);color:var(--muted-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.01em}.form-group input,.form-group select{width:100%;max-width:var(--measure-lg);padding:.6rem var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--text-bright);transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3ca9e524}.form-group input::placeholder{color:var(--muted);opacity:.7}.field--sm{max-width:var(--measure-xs)!important}.field--md{max-width:var(--measure-md)!important}.field--lg{max-width:var(--measure-lg)!important}.field--full{max-width:none!important}.container select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;max-width:var(--measure-lg);padding:.6rem 2.25rem .6rem .875rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-bright);background-color:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23848b9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem}.container select:hover{border-color:var(--muted-light)}.container select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3ca9e524}.container select option{background:var(--surface-elevated);color:var(--text)}.status-ok{color:var(--success)}.status-error{color:var(--error)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:var(--space-md);animation:alert-in var(--normal) var(--ease-out) both}@keyframes alert-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.alert--error{background:var(--error-dim);border-left-color:var(--error);color:var(--text)}.alert--success{background:var(--success-dim);border-left-color:var(--success);color:var(--text)}.toast{position:fixed;bottom:var(--space-xl);right:var(--space-xl);max-width:400px;padding:var(--space-md) var(--space-lg);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-md);z-index:9999;animation:toast-in .3s var(--ease-spring) both}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-message{margin:0;flex:1;font-size:var(--font-size-sm);line-height:1.45;font-weight:var(--font-weight-medium)}@keyframes tn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast--success{background:#071a11;border:1px solid rgba(63,184,143,.3);color:var(--text)}.toast--error{background:#160608;border:1px solid rgba(222,99,99,.3);color:var(--text)}.btn--toast{flex-shrink:0;padding:var(--space-xs) var(--space-sm);font-size:.8rem}.input-no-spinner::-webkit-outer-spin-button,.input-no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-no-spinner{-moz-appearance:textfield}.dropdown-panel-search:focus,.dropdown-panel-search:focus-visible{outline:none}.dropdown-panel-search:focus-visible{border-color:#8a94ff73!important;box-shadow:0 0 0 2px #3ca9e51f}.update-notice{position:fixed;left:calc(var(--rail, 0px) + var(--space-lg));bottom:var(--space-lg);z-index:96;display:flex;align-items:center;gap:.85rem;max-width:min(520px,calc(100vw - var(--rail, 0px) - 2 * var(--space-lg)));padding:.8rem .9rem .8rem 1rem;border-radius:var(--radius);background:var(--surface-3);border:1px solid rgba(60,169,229,.35);box-shadow:var(--shadow-lg),0 0 0 4px var(--accent-dim);animation:update-in .42s var(--ease-spring) both}.update-notice__icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;color:var(--accent-bright);background:var(--accent-dim)}.update-notice__spin{animation:tn-spin .8s linear infinite}.update-notice__text{display:flex;flex-direction:column;gap:.05rem;font-size:var(--font-size-sm);color:var(--muted-light);line-height:1.35}.update-notice__text strong{color:var(--text-bright);font-size:var(--font-size-base)}.update-notice__actions{display:flex;gap:var(--space-sm);flex-shrink:0}@keyframes update-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@media (max-width: 640px){.update-notice{flex-wrap:wrap}.update-notice__actions{width:100%;justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.update-notice,.update-notice__spin{animation:none}}
