:root{--corwa-black: #0B0B0F;--charcoal: #1A1A1F;--slate: #3A3A43;--bone: #F7F7FA;--white: #FFFFFF;--lime: #FF6A00;--lime-light: #FFE3CC;--lime-ink: #7A3300;--lime-deep: #E85A00;--lime-logo-light: #B84A00;--surface: var(--bone);--surface-raised: var(--white);--line: #E4E4EA;--ink: var(--corwa-black);--body: #50505C;--muted: #76767F;--accent-text: var(--lime-ink);--action: var(--lime);--on-action: var(--corwa-black);--focus-ring: var(--lime-ink);--success: #15803D;--success-bg: #E8F5EC;--warning: #B45309;--warning-bg: #FDF3E4;--error: #B91C1C;--error-bg: #FBEAEA;--info: #1D4ED8;--info-bg: #E8EEFC;--restricted: #52525B;--restricted-bg: #EEEEF1;--radius-sm: 6px;--radius-btn: 8px;--radius-card: 12px;--radius-box: 16px;--radius-editorial: 24px;--radius-pill: 9999px;--shadow-card: 0 1px 2px rgba(11,11,15,.04), 0 8px 24px -12px rgba(11,11,15,.1);--shadow-lift: 0 2px 4px rgba(11,11,15,.05), 0 28px 56px -24px rgba(11,11,15,.28);--shadow-glow: 0 0 0 1px rgba(255,106,0,.35), 0 0 40px -6px rgba(255,106,0,.45);--shadow-glow-sm: 0 0 24px -4px rgba(255,106,0,.55);--ease: cubic-bezier(.4,0,.2,1);--ease-enter: cubic-bezier(.2,0,0,1);--font-display: "Geist", ui-sans-serif, system-ui, sans-serif;--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, monospace;font-family:var(--font-sans);font-size:14px;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background-color:var(--surface);background-attachment:fixed;background-image:repeating-linear-gradient(to right,rgba(11,11,15,.035) 0 1px,transparent 1px 64px),repeating-linear-gradient(to bottom,rgba(11,11,15,.035) 0 1px,transparent 1px 64px)}h1{font-family:var(--font-display);font-size:24px;font-weight:650;letter-spacing:-.02em;margin:0 0 4px}h3{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin:0 0 12px;color:var(--accent-text)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font:inherit;color:var(--ink)}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-btn);padding:7px 10px;background:#fcfcfd;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);box-shadow:inset 0 1px 2px #0b0b0f08}input:hover,select:hover,textarea:hover{border-color:#c7c7cf}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--lime-ink);background:var(--surface-raised);box-shadow:0 0 0 3px #7a330029}input::placeholder{color:#a6a6ad}input.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}input:disabled,select:disabled,textarea:disabled{background:#f0f0f3;color:var(--muted);cursor:not-allowed}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2376767F' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:28px}button{border:1px solid var(--line);background:var(--surface-raised);border-radius:var(--radius-btn);padding:7px 14px;cursor:pointer;white-space:nowrap;font-weight:600;color:var(--body);font-size:13.5px;transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),color .2s var(--ease),transform .08s var(--ease)}button:hover:not(:disabled){background:var(--bone);color:var(--ink);border-color:#d4d4db}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--lime-ink)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--action);border-color:var(--action);color:var(--on-action);font-weight:700;box-shadow:0 1px 2px #ff6a0040,0 1px 1px #0b0b0f0a}button.primary:hover:not(:disabled){background:var(--lime-deep);border-color:var(--lime-deep);box-shadow:var(--shadow-glow-sm);color:var(--on-action)}button.danger{border-color:#eecaca;color:var(--error);background:var(--surface-raised)}button.danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error);color:var(--error)}button.link.danger-link{color:var(--error)}button.link{border:0;background:none;color:var(--accent-text);padding:0 2px;font-weight:600}button.link:hover{background:none;color:var(--lime-deep);text-decoration:underline}label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--muted);font-weight:600;letter-spacing:.01em}label.inline{flex-direction:row;align-items:center;gap:8px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:34px;height:20px;min-width:34px;flex:none;border-radius:var(--radius-pill);background:#d7d7de;border:none;position:relative;cursor:pointer;transition:background .2s var(--ease);box-shadow:inset 0 1px 2px #0b0b0f14;vertical-align:middle}input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0b0b0f4d;transition:transform .2s var(--ease)}input[type=checkbox]:checked{background:var(--lime)}input[type=checkbox]:checked:after{transform:translate(14px)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #7a330033}input[type=checkbox]:disabled{opacity:.4;cursor:default}code{background:#efeff2;padding:1px 5px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.92em}.muted{color:var(--muted)}.small{font-size:12px}.center{display:flex;align-items:center;justify-content:center;min-height:200px}.error{color:var(--error);background:var(--error-bg);border:1px solid #f3cccc;border-radius:var(--radius-btn);padding:9px 12px;margin:8px 0;font-weight:500}.error.small{padding:6px 10px}.banner{background:var(--info-bg);border:1px solid #c9d8f7;border-radius:var(--radius-card);padding:10px 14px;margin:8px 0}.banner.warn{background:var(--warning-bg);border-color:#f1ddb3}.banner.err{background:var(--error-bg);border-color:#f3cccc}.banner ul{margin:4px 0 0;padding-left:18px}.dot-mini{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.dot-mini.verde{background:var(--success)}.dot-mini.ambar{background:var(--warning)}.dot-mini.rojo{background:var(--error)}.app{min-height:100vh}.topbar{display:flex;align-items:center;gap:28px;background-color:var(--corwa-black);color:var(--bone);background-image:repeating-linear-gradient(to right,rgba(255,255,255,.04) 0 1px,transparent 1px 48px);padding:0 24px;height:56px;position:sticky;top:0;z-index:20}.topbar nav{display:flex;gap:2px;flex:1}.topbar nav a{color:#b9b9c2;text-decoration:none;padding:7px 13px;border-radius:var(--radius-pill);font-weight:600;font-size:13px;transition:background .2s var(--ease),color .2s var(--ease)}.topbar nav a.active{background:#ffffff14;color:var(--lime)}.topbar nav a:hover:not(.active){background:#ffffff0f;color:var(--white)}.topbar .user{display:flex;align-items:center;gap:10px;font-size:13px;color:#b9b9c2}.topbar .user .link{color:#8e8e97;font-size:13px}.topbar .user .link:hover{color:var(--lime)}.topbar .muted{color:#8e8e97}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:650;font-size:14.5px;letter-spacing:-.01em}.brand.big{font-size:20px;margin-bottom:4px;color:var(--ink);justify-content:center}.brand .accent{color:var(--lime)}.brand.big .accent-underline{position:relative;color:var(--ink);z-index:0}.brand.big .accent-underline:before{content:"";position:absolute;left:-2px;right:-2px;bottom:1px;height:.5em;background:var(--lime-light);z-index:-1;border-radius:2px}.mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:var(--radius-card);background:var(--corwa-black);box-shadow:inset 0 0 0 1px #ffffff1f}.mark svg{width:15px;height:15px}.mark.lg{width:44px;height:44px;border-radius:var(--radius-box)}.mark.lg svg{width:22px;height:22px}.badge{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#cfcfd6;border-radius:var(--radius-pill);padding:2px 9px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}main{padding:24px 28px 48px;max-width:1880px;margin:0 auto}.narrow{max-width:900px;margin:0 auto}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-box);padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow-card)}.row{display:flex;gap:8px;align-items:center}.row.between{justify-content:space-between;margin-bottom:10px}.row.end{justify-content:flex-end;margin-top:14px}.grid2,.grid3{display:flex;flex-direction:column;gap:0;margin:12px 0;border:1px solid var(--line);border-radius:var(--radius-box);overflow:hidden;background:var(--surface-raised)}.grid2>label,.grid3>label{display:grid;grid-template-columns:minmax(140px,34%) 1fr;align-items:center;gap:14px;margin:0;padding:10px 16px;border-bottom:1px solid var(--line);border-radius:0;transition:background .15s var(--ease)}.grid2>label:last-child,.grid3>label:last-child{border-bottom:none}.grid2>label:hover,.grid3>label:hover{background:var(--bone)}.grid2>label:focus-within,.grid3>label:focus-within{background:var(--lime-light)}.grid2>label.flag,.grid3>label.flag{background:var(--error-bg)}.grid2>label.inline,.grid3>label.inline{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}.grid2>label input,.grid2>label select,.grid2>label textarea,.grid3>label input,.grid3>label select,.grid3>label textarea{border:none;background:transparent;box-shadow:none;padding:2px 0;font-size:14px;font-weight:500;border-radius:0}.grid2>label select,.grid3>label select{background-position:right 0 center;padding-right:18px}.grid2>label input:focus,.grid2>label select:focus,.grid2>label textarea:focus,.grid3>label input:focus,.grid3>label select:focus,.grid3>label textarea:focus{box-shadow:none;background:transparent}.grid4{display:grid;grid-template-columns:2fr 2fr 1fr 2fr;gap:10px;margin-top:12px}.span2{grid-column:span 2}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bone);position:relative;overflow:hidden}.login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(to right,rgba(11,11,15,.06) 0 1px,transparent 1px 64px),repeating-linear-gradient(to bottom,rgba(11,11,15,.06) 0 1px,transparent 1px 64px);-webkit-mask-image:radial-gradient(900px 650px at 50% 32%,#000,transparent 72%);mask-image:radial-gradient(900px 650px at 50% 32%,#000,transparent 72%)}.login:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(6px);background:radial-gradient(640px 420px at 50% 26%,rgba(255,106,0,.18),transparent 70%)}.login-card{position:relative;z-index:1;width:380px;display:flex;flex-direction:column;gap:13px;padding:32px 28px;border-radius:var(--radius-editorial);box-shadow:var(--shadow-lift)}.picker{position:relative}.dropdown{position:absolute;z-index:10;left:0;right:0;top:calc(100% + 4px);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-card);list-style:none;margin:0;padding:5px;max-height:320px;overflow:auto;box-shadow:var(--shadow-lift)}.dropdown li{padding:8px 10px;cursor:pointer;color:var(--ink);border-radius:var(--radius-sm)}.dropdown li:hover{background:var(--lime-light)}.picked{display:flex;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--bone);color:var(--ink);font-size:14px}.dropzone{border:1.5px dashed #D7D7DE;border-radius:var(--radius-editorial);padding:44px 20px;text-align:center;cursor:pointer;margin-top:10px;background:var(--bone);transition:border-color .2s var(--ease),background .2s var(--ease)}.dropzone:hover{border-color:var(--lime);background:var(--lime-light)}.dropzone.over{border-color:var(--lime);background:var(--lime-light);border-style:solid}.dz-title{font-family:var(--font-display);font-size:16px;font-weight:650;margin-bottom:6px}.filelist{list-style:none;padding:0;margin:14px 0 0;max-height:280px;overflow:auto}.filelist li{display:flex;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);align-items:center}.filelist li .link{margin-left:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--surface-raised);position:sticky;top:0;text-transform:uppercase;letter-spacing:.07em}.table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.table.compact td,.table.compact th{padding:5px 8px}.table .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--lime-light)}.table tr.off td{opacity:.4}.table td.motivo{max-width:460px}.table td.detail{max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;font-size:11px;color:#fff;font-weight:700}.dot.verde{background:var(--success)}.dot.ambar{background:var(--warning)}.dot.rojo{background:var(--error)}.dot.none{background:#d7d7de}.dot.off{opacity:.4}.dot.reading{background:conic-gradient(var(--lime) 0 25%,#E4E4EA 0);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:var(--restricted-bg);color:var(--restricted);margin-right:4px;letter-spacing:.01em}.pill.procesando{background:var(--info-bg);color:var(--info)}.pill.en_revision{background:var(--warning-bg);color:var(--warning)}.pill.revisado{background:var(--success-bg);color:var(--success)}.pill.exportado{background:var(--corwa-black);color:var(--lime)}.pill.warn{background:var(--warning-bg);color:var(--warning);margin-left:6px}.batch-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.batch-head h1{margin-bottom:5px}.live{color:var(--success);margin-left:8px;font-size:12px;font-weight:700}.counters{display:flex;gap:10px}.counter{min-width:94px;text-align:center;border:1px solid var(--line);border-radius:var(--radius-card);padding:8px 10px;font-size:11px;color:var(--muted);background:var(--bone);font-weight:600}.counter b{display:block;font-family:var(--font-mono);font-size:22px;color:var(--ink);font-weight:600;letter-spacing:-.01em}.counter.g{background:var(--success-bg);border-color:#cdead9}.counter.g b{color:var(--success)}.counter.a{background:var(--warning-bg);border-color:#f1ddb3}.counter.a b{color:var(--warning)}.counter.r{background:var(--error-bg);border-color:#f3cccc}.counter.r b{color:var(--error)}.progress{position:relative;height:28px;background:#ececf0;border-radius:var(--radius-card);margin-bottom:18px;overflow:hidden;border:1px solid var(--line)}.progress .bar{height:100%;background:var(--lime);transition:width .5s var(--ease)}.progress .bar.indeterminate{animation:indet 1.3s ease-in-out infinite}@keyframes indet{0%{margin-left:-30%}to{margin-left:100%}}.progress span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink)}.split-top{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exports{padding-left:18px;margin:10px 0 0;font-size:13px}.tabs{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.tabs button{border-radius:var(--radius-pill);padding:6px 14px;font-size:13px}.tabs button.on{background:var(--corwa-black);color:var(--white);border-color:var(--corwa-black);font-weight:700}.tabs button.on .dot-mini{box-shadow:0 0 0 1px #ffffff4d}.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(520px,1fr);gap:18px;height:calc(100vh - 150px)}.viewer{background:var(--corwa-black);border-radius:var(--radius-box);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lift)}.viewer-bar{display:flex;gap:6px;align-items:center;padding:9px 10px;background:var(--charcoal);color:#d9d9de;font-size:12px;border-bottom:1px solid rgba(255,255,255,.08)}.viewer-bar button{background:#ffffff0f;border-color:#ffffff1f;color:#fff;padding:5px 11px}.viewer-bar button:hover:not(:disabled){background:#ffffff1f;color:#fff}.viewer-bar a{color:var(--lime);margin-left:auto;font-weight:600}.viewer-bar .sep{width:10px}.viewer-img{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:16px}.viewer-img img{max-width:none;background:#fff;box-shadow:0 6px 24px #00000073;transition:transform .2s var(--ease);transform-origin:center center;border-radius:2px}.review-form{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-box);padding:16px 18px;overflow:auto;box-shadow:var(--shadow-card)}.review-form fieldset{border:0;padding:0;margin:0}.status-line{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.avisos{list-style:none;padding:0;margin:0 0 14px}.avisos li{padding:8px 11px;border-radius:var(--radius-btn);margin-bottom:5px;border-left:3px solid;font-size:13px}.avisos li.rojo{background:var(--error-bg);border-color:var(--error)}.avisos li.ambar{background:var(--warning-bg);border-color:var(--warning)}.avisos li.info{background:var(--bone);border-color:#d7d7de;color:var(--muted)}.flag input,.flag select,td.flag input{border-color:var(--error);background:#fef7f7}label.flag{color:var(--error)}.lines.flag{outline:2px solid #f3cccc;outline-offset:2px;border-radius:var(--radius-btn)}.lines .table input{padding:5px 7px}label.strong input{font-family:var(--font-mono);font-weight:600;font-size:15px}.checks{display:flex;flex-wrap:wrap;gap:7px 20px;margin:10px 0}.checks label{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:500;text-transform:none;letter-spacing:0}.red-confirm{display:flex;gap:12px;align-items:center;background:var(--error-bg);border:1px solid #f3cccc;border-radius:var(--radius-card);padding:10px 12px;margin-top:14px}.red-confirm label{flex-direction:row;align-items:center;gap:6px;color:var(--error);font-size:13px;font-weight:700;white-space:nowrap;text-transform:none}.review-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0f8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;animation:fadein .12s var(--ease)}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal .card{width:560px;display:flex;flex-direction:column;gap:11px;box-shadow:var(--shadow-lift);border-radius:var(--radius-box)}textarea.code{font-family:var(--font-mono);font-size:12px}.hint{color:var(--warning);font-weight:700}
