:root{--marca: #126b8b;--marca-oscuro: #0b4865;--marca-suave: #eaf4f8;--verde: #256f91;--verde-suave: #e8f3f8;--ambar: #5548a6;--ambar-suave: #f0edff;--rojo: #4b5872;--rojo-suave: #eef1f6;--tinta: #101d32;--tinta-2: #526074;--tinta-3: #758196;--fondo: #f6f8fb;--tarjeta: #fff;--borde: #e3e8ef;--radio: 24px;--sombra: 0 14px 45px rgba(20, 41, 72, .07), 0 2px 8px rgba(20, 41, 72, .035);font-family:Open Sans,Segoe UI,system-ui,sans-serif;color:var(--tinta);background:var(--fondo);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--fondo);font-family:Open Sans,Segoe UI,system-ui,sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;letter-spacing:-.03em}.app{min-height:100vh}.icon{display:inline-flex;align-items:center;justify-content:center}.eyebrow{color:var(--marca);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.marca{font-size:20px;font-weight:300;letter-spacing:-.04em}.marca b{font-weight:750}.product-name{margin-left:20px;padding-left:20px;border-left:1px solid var(--borde);color:var(--tinta-2);font-size:13px;font-weight:500}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);background:linear-gradient(140deg,#0b2841,#126b8b,#5050a7)}.login-brand{color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,78px);position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-220px;bottom:-280px;background:#ffffff1a}.login-copy{position:relative;z-index:1;max-width:680px;margin:auto 0}.login-copy .eyebrow{color:#c9eaf7}.login-copy h1{margin:18px 0;font-size:clamp(38px,5vw,68px);line-height:1.04;font-weight:300;letter-spacing:-.045em}.login-copy p{max-width:560px;color:#ffffffc7;font-size:17px;line-height:1.65}.login-card{align-self:center;width:min(430px,calc(100% - 48px));margin:24px auto;padding:38px;background:#fffffffa;border-radius:26px;box-shadow:0 24px 70px #0b223d47}.login-card h2{margin-bottom:8px;font-size:27px;font-weight:400}.login-card>p{margin-bottom:28px;color:var(--tinta-2)}.login-card .btn-primario{width:100%;justify-content:center;margin-top:10px}.field{display:flex;flex-direction:column;gap:8px;color:var(--tinta-2);font-size:12.5px;font-weight:600;letter-spacing:.01em}.field input,select,.quota-input{min-width:0;padding:11px 12px;border:1px solid var(--borde);border-radius:11px;background:#fff;color:var(--tinta);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,select:focus,.quota-input:focus{border-color:var(--marca);box-shadow:0 0 0 3px #116c8e1f}.login-card .field+.field{margin-top:16px}.topbar{min-height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;gap:20px;background:#fff;border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:10}.topbar nav{display:flex;gap:5px;padding:5px;border-radius:13px;background:var(--fondo)}.topbar nav button{border:0;border-radius:9px;padding:8px 15px;background:transparent;color:var(--tinta-2);font-size:13px;font-weight:500}.topbar nav button.active{color:var(--marca);background:#fff;box-shadow:0 1px 4px #00000014}.account{justify-self:end;display:flex;align-items:center;gap:14px;color:var(--tinta-2);font-size:12px}.btn-profile{padding:8px 13px;border:1px solid #d7e5ea;border-radius:999px;color:var(--marca);background:#f8fbfd;font-size:12px;font-weight:600}.btn-profile:hover,.btn-profile.active{border-color:#9bc7d7;background:var(--marca-suave)}.admin-page{width:min(1200px,calc(100% - 40px));margin:28px auto 60px}.workspace-view .topbar{position:absolute;inset:0 0 auto;color:#fff;background:transparent;border-bottom:0}.workspace-view .product-name{color:#ffffffd1;border-left-color:#ffffff47}.workspace-view .topbar nav{background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.workspace-view .topbar nav button{color:#ffffffc7}.workspace-view .topbar nav button.active{color:#fff;background:#ffffff2b;box-shadow:none}.workspace-view .account{color:#ffffffc7}.workspace-view .account .btn-text{color:#fff;border:1px solid rgba(255,255,255,.2)}.workspace-view .btn-profile{color:#fff;background:#ffffff1a;border-color:#fff3}.workspace-view .btn-profile:hover,.workspace-view .btn-profile.active{background:#fff3}.workspace{width:100%;margin:0}.workspace-hero{position:relative;min-height:406px;overflow:hidden;padding:122px 24px 72px;color:#fff;background:linear-gradient(140deg,#0a2942,#126b8b 48%,#49499b);border-radius:0 0 44px 44px}.workspace-hero .blob{position:absolute;border-radius:999px;filter:blur(72px);opacity:.48;pointer-events:none;animation:hero-float 14s ease-in-out infinite}.workspace-hero .b1{width:420px;height:420px;top:-150px;left:-100px;background:#3a8eb0}.workspace-hero .b2{width:390px;height:390px;right:-90px;bottom:-150px;background:#4c8fc7;animation-delay:-5s}.workspace-hero .b3{width:300px;height:300px;top:32%;left:60%;background:#8b83db;animation-delay:-9s}@keyframes hero-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(36px,-24px) scale(1.07)}66%{transform:translate(-26px,22px) scale(.96)}}.workspace-hero-content{position:relative;z-index:1;max-width:870px;margin:0 auto;text-align:center}.hero-badge{display:inline-flex;padding:7px 17px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#ffffff1a;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.workspace-hero h1{margin:24px auto 16px;max-width:850px;font-size:clamp(32px,4.5vw,46px);line-height:1.18;font-weight:300;letter-spacing:-.035em}.workspace-hero p{max-width:690px;margin:0 auto 24px;color:#ffffffd6;font-size:16px;line-height:1.65}.quota-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 17px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1a;font-size:12px;font-weight:500}.quota-dot{width:7px;height:7px;border-radius:50%;background:#d8eff9;box-shadow:0 0 0 4px #d8eff91f}.workspace-content{position:relative;width:min(1120px,calc(100% - 32px));margin:-34px auto 0;display:flex;flex-direction:column;gap:20px}.upload-zone{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 24px;text-align:center;background:#fffffff5;border:1px dashed #8db6c8;border-radius:26px;box-shadow:0 18px 55px #0d2d471f;cursor:pointer;outline:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.upload-zone:hover,.upload-zone:focus-visible,.upload-zone.active{border-color:#075f83;background:#e2f3f9;box-shadow:0 12px 34px #116c8e26}.upload-zone.active{transform:scale(1.005)}.upload-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:14px;color:#fff;background:var(--marca);border-radius:18px;box-shadow:0 8px 22px #116c8e38}.upload-icon svg{width:27px;height:27px}.upload-zone h2{margin-bottom:5px;font-size:20px;font-weight:400;letter-spacing:-.025em}.upload-zone p{margin:0;color:var(--tinta-2);font-size:13px}.document-card,.results-panel{padding:26px 28px;overflow:hidden;background:var(--tarjeta);border:1px solid rgba(211,220,231,.85);border-radius:26px;box-shadow:var(--sombra)}.card-heading,.result-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.card-heading h2,.result-actions h2{margin-bottom:5px;font-size:21px;font-weight:400;letter-spacing:-.03em}.card-heading p,.result-actions p{margin:0;color:var(--tinta-2);font-size:13px}.counter-chip{padding:6px 12px;color:var(--marca-oscuro);background:#edf4f7;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.batch-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.batch-actions select{width:124px;padding:8px 11px;background:#f9fbfc;font-size:12px}.btn-batch svg{width:15px;height:15px}.job-list{padding:0;overflow:hidden;border:0;border-radius:15px;background:transparent;box-shadow:none}.job-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 12px;text-align:left;border:1px solid transparent;border-bottom-color:#edf0f4;border-radius:13px;background:#fff;color:var(--tinta);transition:background .15s,border-color .15s,transform .15s}.job-row:last-child{border-bottom-color:transparent}.job-row:hover{border-color:#d6e5ec;background:#f8fbfd;transform:translate(2px)}.job-row.active{border-color:#b7d2df;background:linear-gradient(90deg,#edf6f9,#f3f1ff)}.document-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--marca);background:#fff;border:1px solid #d6e6ec;border-radius:11px}.document-icon svg{width:17px;height:17px}.job-copy{min-width:0}.job-copy b,.job-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-copy b{font-size:13px;font-weight:600;letter-spacing:-.01em}.job-copy small{margin-top:2px;color:var(--tinta-3);font-size:12px}.job-status{display:inline-flex;align-items:center;gap:6px;max-width:300px;padding:6px 11px;overflow:hidden;color:var(--tinta-2);background:#eef1f6;border-radius:999px;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.job-status svg{width:13px;height:13px;flex:none}.job-status.completed{color:#245f7d;background:#e9f3f7}.job-status.processing{color:var(--marca);background:var(--marca-suave)}.job-status.failed{color:#4b5872;background:#eef1f6}.empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--tinta-3);text-align:center;padding:22px}.empty.processing-state{min-height:230px}.empty h3{margin:14px 0 3px;color:var(--tinta);font-size:18px;font-weight:400}.empty p{margin:0;font-size:13px}.action-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.action-group select{max-width:210px}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:20px 4px 28px;color:var(--tinta-3);border-top:1px solid var(--borde);font-size:12px}.workspace-footer .marca{color:var(--tinta-2);font-size:14px}.invoice-card{margin-top:18px;padding:22px;border:1px solid var(--borde);border-radius:20px;background:linear-gradient(180deg,#fff,#fcfdff)}.invoice-card.review{border-color:#c8c2ee;box-shadow:inset 3px 0 #6760b7,0 10px 30px #3f3f870d}.invoice-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.invoice-heading h3{margin:4px 0 0;font-size:19px;font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.lines-wrap{margin-top:20px;overflow-x:auto;border:1px solid var(--borde);border-radius:12px}table{width:100%;border-collapse:collapse}th{padding:12px 14px;background:#123a55;color:#fff;text-align:left;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}td{padding:12px 14px;border-top:1px solid var(--borde);font-size:13px}tbody tr:nth-child(2n){background:#fafafa}.lines-table{min-width:930px}.lines-table td{padding:0}.lines-table input{width:100%;padding:10px;border:1px solid transparent;background:transparent;outline:none}.lines-table input:focus{border-color:var(--marca);background:#fff}.lines-table input.number{width:86px;text-align:right}.notes{margin-top:14px;padding:13px 15px;border:1px solid #ddd9f4;border-radius:12px;background:#f4f2ff;color:#4d4979;font-size:12px}.notes p{margin:0}.btn-primario,.btn-secundario{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:10px 18px;border-radius:999px;font-size:12.5px;font-weight:600;border:0;transition:transform .15s,box-shadow .15s,background .15s}.btn-primario{color:#fff;background:linear-gradient(135deg,#126b8b,#315f9d);box-shadow:0 7px 18px #1b5b7d2e}.btn-primario:hover{background:linear-gradient(135deg,#0b5876,#45459a);transform:translateY(-1px);box-shadow:0 10px 24px #1b5b7d3d}.btn-primario:disabled{opacity:.55;cursor:wait}.btn-secundario{color:var(--marca-oscuro);background:#edf4f7;box-shadow:inset 0 0 0 1px #d9e7ed}.btn-secundario:hover{background:#e4eff4;transform:translateY(-1px)}.btn-text{padding:7px 10px;border:0;border-radius:999px;background:transparent;color:var(--marca);font-size:12px;font-weight:600}.btn-text.danger{color:#536079}.alert{margin:14px 0;padding:11px 14px;border-radius:11px;font-size:12.5px;white-space:pre-line}.alert.error{color:#44516a;background:#eef1f6;border:1px solid #dce2eb}.alert.success{color:#245f7d;background:#e9f3f7;border:1px solid #d2e7ef}.chip{display:inline-flex;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600}.chip-ambar{color:var(--ambar);background:var(--ambar-suave)}.chip-verde{color:var(--verde);background:var(--verde-suave)}.chip-gris{color:var(--tinta-3);background:#f1f3f6}.spinner{width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner.big{width:28px;height:28px}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{min-height:100vh;display:grid;place-items:center;color:var(--marca)}.admin-page{max-width:1200px}.admin-intro{margin:38px 0 20px}.admin-intro h2{margin:7px 0;font-size:32px;font-weight:400}.admin-intro p{color:var(--tinta-2)}.users-table,.create-user{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}.create-user{display:grid;grid-template-columns:1.2fr 1.4fr 1.2fr .5fr auto;align-items:end;gap:12px;padding:20px;margin-bottom:18px}.users-table{overflow-x:auto}.users-table th{padding:12px 16px}.users-table td{padding:13px 16px;white-space:nowrap}.users-table td b,.users-table td small{display:block}.users-table td b{font-weight:600}.users-table td small{color:var(--tinta-3);margin-top:3px;font-size:12px}.quota-input{width:84px;padding:7px 9px}.email-input{width:270px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--tinta);font-size:13px;font-weight:500}.email-input:focus{border-color:var(--marca);background:#fff;outline:none}.email-input:disabled{color:var(--tinta);opacity:1}.row-actions{display:flex;align-items:center;gap:6px}.row-actions .btn-text{border:1px solid #cbe1e9;background:#f2f9fb;box-shadow:0 1px 2px #116c8e0f;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.row-actions .btn-text:hover{transform:translateY(-1px);border-color:#8fc0d1;background:var(--marca-suave);box-shadow:0 3px 9px #116c8e1f}.row-actions .btn-text.danger{border-color:#d7ddea;color:#536079;background:#f7f8fb}.row-actions .btn-text.danger:hover{border-color:#b9c3d4;background:#eef1f6}.profile-page{width:min(980px,calc(100% - 40px));margin:44px auto 70px}.profile-intro{margin-bottom:22px}.profile-intro h2{margin:7px 0;font-size:32px;font-weight:400}.profile-intro p{color:var(--tinta-2)}.profile-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start}.profile-card{padding:28px;background:#fff;border:1px solid var(--borde);border-radius:22px;box-shadow:var(--sombra)}.profile-card h3{margin:6px 0 4px;font-size:22px;font-weight:400}.profile-card>p,.account-card>div>p{color:var(--tinta-2);font-size:13px}.profile-avatar{width:58px;height:58px;display:grid;place-items:center;margin-bottom:20px;color:#fff;background:linear-gradient(135deg,#126b8b,#5250a8);border-radius:18px;font-size:23px;font-weight:500;box-shadow:0 8px 22px #116c8e2e}.account-card dl{margin:26px 0 0;border-top:1px solid var(--borde)}.account-card dl div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--borde)}.account-card dt{color:var(--tinta-3);font-size:12px}.account-card dd{margin:0;color:var(--tinta);font-size:13px;font-weight:600;text-align:right}.password-card .field{margin-top:15px}.password-card .btn-primario{width:100%;margin-top:20px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#081827bd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-card{width:min(440px,100%);padding:30px;border-radius:22px;background:#fff;box-shadow:0 24px 70px #00000059}.modal-card h2{margin:6px 0}.modal-card>p{color:var(--tinta-2)}.modal-card .field{margin-top:14px}.modal-card .btn-primario{width:100%;margin-top:20px}@media(max-width:1050px){.form-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.create-user{grid-template-columns:repeat(2,1fr)}.create-user .btn-primario{align-self:end}}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-brand{min-height:44vh;padding:28px}.login-copy h1{font-size:38px}.login-card{margin-top:-32px;position:relative;z-index:2}.topbar{grid-template-columns:1fr auto;padding:12px 16px}.topbar nav{grid-column:1 / -1;grid-row:2;justify-content:center}.account span,.product-name{display:none}.admin-page{width:min(100% - 20px,1200px);margin-top:12px}.workspace-hero{min-height:430px;padding:158px 18px 70px;border-radius:0 0 28px 28px}.workspace-hero h1{font-size:32px}.workspace-hero p{font-size:14px}.workspace-content{width:min(100% - 20px,1120px)}.upload-zone{min-height:210px;padding:32px 18px}.card-heading,.result-actions{align-items:stretch;flex-direction:column}.batch-actions{justify-content:flex-start}.document-card,.results-panel{padding:18px 16px}.job-row{grid-template-columns:36px minmax(0,1fr)}.job-status{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.action-group{justify-content:flex-start}.workspace-footer{align-items:flex-start;flex-direction:column}.create-user{grid-template-columns:1fr}.profile-page{width:min(100% - 20px,980px);margin-top:24px}.profile-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
