:root{--cyan:#00a7c8;--cyan2:#00bcd4;--magenta:#df2b8b;--yellow:#f2c400;--orange:#ef7a23;--charcoal:#3f4146;--ink:#252932;--muted:#6d7480;--line:#e5e8ed;--bg:#f5f7f9;--green:#249a61;--red:#cf3d4b;--purple:#7357c8;--shadow:0 10px 28px rgba(37,41,50,.08);--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}header{background:#fff;padding:12px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-brand{display:flex;align-items:center;gap:14px}.header-brand .logo-img{height:44px;width:auto}.header-brand h1{font-size:19px;margin:0}.header-brand .sub{font-size:12px;color:var(--muted);margin-top:3px}.userbox{display:flex;align-items:center;gap:10px;font-size:13px}.userbox form{margin:0}.userbox button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}.rolpill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#eef8fa;color:#087d92;padding:5px 9px;border-radius:20px}nav{background:#fff;border-bottom:1px solid var(--line);padding:0 26px;display:flex;gap:3px;overflow-x:auto}nav .tab{padding:13px 16px;text-decoration:none;font-size:13px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}nav .tab:hover{color:var(--ink)}nav .tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}main{max-width:1360px;margin:0 auto;padding:28px}.site-footer{max-width:1360px;margin:0 auto 28px;padding:0 28px;color:#9399a3;font-size:11px;display:flex;justify-content:space-between}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-head h2{font-size:26px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--cyan);margin-bottom:5px}.panel{background:#fff;border:1px solid #eef0f3;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.panel h3{margin:0 0 14px;font-size:15px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h3{margin:0}.panel-title a,.panel-title span{font-size:11px;color:var(--muted)}.btn-primary,.btn-secondary,.btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:800;border:0;cursor:pointer}.btn-primary{background:var(--cyan);color:#fff;box-shadow:0 4px 12px rgba(0,167,200,.22)}.btn-primary:hover{background:#078da7}.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-link{background:transparent;color:var(--cyan);padding-left:6px}.notice{background:#ecfbfd;border:1px solid #b7edf4;border-left:4px solid var(--cyan);padding:11px 14px;border-radius:10px;margin-bottom:18px;font-size:13px}.error-box{background:#fff0f1;border:1px solid #f6c6cb;color:#a72b38;padding:10px 12px;border-radius:9px;margin:10px 0;font-size:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:17px 18px;box-shadow:var(--shadow);border-top:3px solid var(--cyan)}.kpi .num{font-size:29px;font-weight:850;line-height:1}.kpi .lbl{font-size:11px;color:var(--muted);margin-top:7px}.kpi.cyan{border-top-color:var(--cyan)}.kpi.magenta{border-top-color:var(--magenta)}.kpi.yellow{border-top-color:var(--yellow)}.kpi.green{border-top-color:var(--green)}.kpi.red{border-top-color:var(--red)}.dash-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:10px 9px;border-bottom:2px solid var(--line);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}td{padding:11px 9px;border-bottom:1px solid #eef0f3;vertical-align:middle}tr.row:hover{background:#f5fbfc;cursor:pointer}.empty{text-align:center;color:#a0a5ad;padding:24px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap}.b-abierto{background:#e6f9fc;color:#07849c}.b-proceso{background:#fff6d7;color:#8c6d00}.b-investigacion{background:#f0ebff;color:#6347b2}.b-espera{background:#fff0e3;color:#ba5d13}.b-escalado{background:#fde9f4;color:#b52672}.b-resuelto{background:#e8f8ef;color:#21784d}.b-cerrado{background:#eef0f2;color:#5f6670}.p-critica{color:#b11f2e;font-weight:850}.p-alta{color:#d44a29;font-weight:800}.p-media{color:#9a7b00;font-weight:800}.p-baja{color:#278058;font-weight:800}.metric-row{margin:13px 0}.metric-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}.metric-label span{color:#535a64}.metric-bar{height:7px;background:#eef1f3;border-radius:10px;overflow:hidden}.metric-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));border-radius:10px}.metric-bar.alt i{background:linear-gradient(90deg,var(--yellow),var(--orange))}.quality-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quality-strip div{background:#f8fafb;border-radius:10px;padding:13px}.quality-strip b{font-size:12px;display:block;margin-bottom:4px}.quality-strip span{font-size:11px;color:var(--muted);line-height:1.45}.filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.filters input,.filters select{min-width:150px}.filters label{font-size:10px}.quality-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quality-form .full{grid-column:1/-1}.form-panel{max-width:960px}.quality-form label,.follow-form label{display:block;font-size:11px;font-weight:800;color:#59606a;margin-bottom:5px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;font:inherit;font-size:13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,167,200,.08)}textarea{min-height:105px;resize:vertical}.readonly-client{background:#f6fbfc;border:1px solid #d8f1f5;border-radius:10px;padding:12px}.readonly-client span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.readonly-client b{font-size:15px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice{margin:0!important;border:1px solid var(--line);padding:9px 10px;border-radius:9px;display:flex!important;align-items:center;gap:7px;font-weight:600!important;cursor:pointer}.choice input{width:auto}.choice:has(input:checked){border-color:var(--cyan);background:#f0fbfd}.form-actions{display:flex;gap:9px}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.case-status{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-grid div{background:#f8fafb;border-radius:9px;padding:10px}.detail-grid span{display:block;font-size:9px;text-transform:uppercase;color:#89909a;margin-bottom:3px}.detail-grid b{font-size:12px}.description-box{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.description-box>span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.description-box p{font-size:13px;line-height:1.6;margin:7px 0 0}.timeline{margin:6px 0 18px}.timeline-item{position:relative;padding-left:22px;margin-bottom:12px}.timeline-item:before{content:"";position:absolute;left:5px;top:10px;bottom:-17px;border-left:1px solid #dde2e7}.timeline-item:last-child:before{display:none}.timeline-item .dot{position:absolute;left:0;top:9px;width:11px;height:11px;background:var(--cyan);border-radius:50%;border:3px solid #dff7fa;box-sizing:content-box}.timeline-item.from-quality .dot{background:var(--magenta);border-color:#f9dfed}.timeline-card{background:#f8fafb;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.55}.timeline-meta{display:flex;gap:8px;align-items:center;margin-bottom:5px}.timeline-meta b{font-size:11px}.timeline-meta span{font-size:10px;color:var(--muted)}.timeline-meta em{font-style:normal;font-size:9px;background:#eef0f3;padding:2px 6px;border-radius:10px}.radio-row{display:flex;gap:16px;margin:7px 0 10px}.radio-row label{font-weight:600}.radio-row input{width:auto}.side-card h3{font-size:13px}.side-card p{font-size:11px;line-height:1.5;color:var(--muted)}.status-step{display:flex;align-items:center;gap:8px;font-size:11px;color:#9ba1aa;padding:7px 0}.status-step i{width:10px;height:10px;border-radius:50%;background:#e0e4e8}.status-step.done{color:#39404a;font-weight:700}.status-step.done i{background:var(--cyan);box-shadow:0 0 0 3px #e0f7fa}.subnav{display:flex;gap:6px;margin-bottom:18px}.subtab{text-decoration:none;padding:8px 12px;border-radius:20px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800}.subtab.active{background:var(--charcoal);color:#fff}.iso-note{font-size:12px;color:var(--muted)}code{background:#26313a;color:#fff;padding:3px 6px;border-radius:5px}
/* Login */.login-shell{min-height:100vh;display:grid;grid-template-columns:1.25fr .9fr;background:#fff}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#f3fbfd 0%,#eef9fa 52%,#fff 100%);padding:32px 54px;display:flex;flex-direction:column}.visual-logo img{height:54px}.visual-content{margin:auto 0;max-width:670px}.eyebrow.light{color:#0089a5}.visual-content h1{font-size:54px;line-height:1.04;margin:10px 0 14px;letter-spacing:-.04em}.visual-content h1 span{color:var(--cyan)}.visual-content p{max-width:570px;font-size:16px;line-height:1.65;color:#59616c}.package-scene{height:210px;position:relative;margin-top:20px}.box-shape,.bag-shape{position:absolute;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 16px 30px rgba(20,30,40,.12)}.box-shape{width:145px;height:105px;transform:skewY(-4deg);border-radius:3px}.cyan-box{left:22px;bottom:15px;background:var(--cyan);color:#fff}.magenta-box{left:292px;bottom:8px;width:120px;height:90px;background:var(--magenta);color:#fff}.bag-shape{left:170px;bottom:22px;width:105px;height:155px;background:#fff6d3;border:1px solid #ecd46d;color:#8f7600;clip-path:polygon(10% 10%,90% 10%,100% 100%,0 100%)}.dieline{position:absolute;left:430px;top:35px;width:170px;height:120px;border:2px dashed #a9d8df;transform:rotate(-7deg)}.visual-tags{display:flex;gap:8px;flex-wrap:wrap}.visual-tags span{font-size:11px;font-weight:800;background:#fff;border:1px solid #dbeff2;border-radius:20px;padding:7px 10px}.cmyk-stripe{position:absolute;left:0;bottom:0;width:100%;height:8px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.cmyk-stripe i:nth-child(1){background:var(--cyan)}.cmyk-stripe i:nth-child(2){background:var(--yellow)}.cmyk-stripe i:nth-child(3){background:var(--magenta)}.cmyk-stripe i:nth-child(4){background:var(--orange)}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-card{width:100%;max-width:390px}.login-logo{height:64px;margin-bottom:25px}.login-card h2{font-size:30px;margin:0 0 7px}.login-card>p{font-size:13px;color:var(--muted);margin:0 0 24px}.login-card label{display:block;font-size:11px;font-weight:800;margin:13px 0 5px}.login-btn{width:100%;margin-top:17px;padding:12px}.forgot{display:block;text-align:center;font-size:11px;color:var(--cyan);text-decoration:none;margin-top:13px}.login-security{margin-top:32px;border-top:1px solid var(--line);padding-top:18px;display:flex;gap:11px;align-items:flex-start}.login-security>span{font-size:21px;color:var(--cyan)}.login-security b{display:block;font-size:11px}.login-security small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.login-foot{text-align:center;color:#a2a7af;font-size:9px;margin-top:28px}
/* Legacy auth pages */.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f1f8fa;padding:20px}.auth-card{background:#fff;border-radius:14px;padding:32px;width:100%;max-width:420px;box-shadow:var(--shadow)}.auth-logo .logo-img{height:50px}.auth-card h2{margin:10px 0 3px}.auth-card .hint{color:var(--muted);font-size:12px}.auth-card label{font-size:11px;font-weight:800;display:block;margin:12px 0 4px}.auth-card button.primario{width:100%;margin-top:14px;background:var(--cyan);color:#fff;border:0;padding:11px;border-radius:9px}.auth-card button.secundario,.secundario{background:#fff;border:1px solid var(--line);padding:9px;border-radius:9px}.err.show{background:#fff0f1;color:var(--red);padding:8px;border-radius:8px;font-size:11px;margin-top:8px}
@media(max-width:980px){.dash-grid,.case-layout{grid-template-columns:1fr}.quality-strip{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-visual{min-height:440px}.visual-content h1{font-size:42px}}@media(max-width:650px){header{padding:10px 14px}.header-brand h1{font-size:15px}.header-brand .sub{display:none}.header-brand .logo-img{height:34px}.userbox>span:first-child{display:none}.rolpill{display:none}nav{padding:0 10px}main{padding:18px 14px}.site-footer{padding:0 14px;display:block}.page-head{display:block}.page-head .btn-primary{margin-top:12px}.quality-form{grid-template-columns:1fr}.quality-form .full{grid-column:1}.choice-grid{grid-template-columns:1fr 1fr}.quality-strip{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.login-visual{padding:26px 24px;min-height:410px}.visual-content h1{font-size:37px}.package-scene{transform:scale(.8);transform-origin:left bottom}.login-panel{padding:32px 24px}}
:root{--gris-100:#f5f7f9;--gris-200:#e5e8ed;--gris-400:#a2a7af;--gris-700:#59606a;--gris-900:#252932;--azul:#0089a5;--azul-claro:#00a7c8;--azul-suave:#ecfbfd;--rojo:#cf3d4b;--verde:#249a61;--amarillo:#c59b00;--morado:#7357c8}.peligro{background:#fff;border:1px solid var(--red);color:var(--red);padding:8px 12px;border-radius:8px;cursor:pointer}.b-activo{background:#e8f8ef;color:#21784d}.b-inactivo{background:#eef0f2;color:#5f6670}.b-urgente{background:#fff0f1;color:#a72b38}.primario{background:var(--cyan);color:#fff;border:0;padding:10px 15px;border-radius:9px;font-weight:800;cursor:pointer}.secundario{cursor:pointer}
.field-hint{display:block;color:var(--muted);font-size:10px;margin-top:5px}.attachments{border-top:1px solid var(--line);margin-top:16px}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.attachment{display:flex;gap:9px;align-items:center;text-decoration:none;border:1px solid var(--line);background:#fafbfc;border-radius:9px;padding:10px}.attachment>span{font-size:18px}.attachment b{display:block;font-size:11px}.attachment small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.empty.compact{padding:10px}.upload-follow{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.upload-row{display:flex;gap:8px;align-items:center}.upload-row input{flex:1}

/* ===== LOGIN V2 - referencia gráfica aprobada ===== */
body.login-page{background:#f4f4f3;overflow-x:hidden}.login-shell-v2{min-height:100vh;display:grid;grid-template-columns:52.3% 47.7%;background:#f5f5f4}.login-visual-v2{min-height:100vh;background:#f5f5f4 url('login-packaging.jpg') center center/cover no-repeat}.login-panel-v2{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 38px;background:#f5f5f4}.login-card-v2{width:min(100%,650px);min-height:calc(100vh - 64px);background:rgba(255,255,255,.93);border:1px solid #e2e2e2;border-radius:18px;box-shadow:0 10px 34px rgba(0,0,0,.08);padding:58px 68px 42px;display:flex;flex-direction:column;justify-content:center}.login-logo-v2{width:100%;max-width:500px;height:auto;object-fit:contain;align-self:center;margin:0 0 42px}.login-card-v2 h1{font-size:31px;line-height:1.15;margin:0 0 8px;color:#161616;letter-spacing:-.02em}.login-subtitle{font-size:16px;color:#62666b;margin:0 0 38px}.login-form-v2 label{display:block;font-size:13px;font-weight:800;color:#1c1c1c;margin:0 0 10px}.input-icon{height:58px;border:1px solid #bfc4c8;border-radius:9px;display:flex;align-items:center;margin-bottom:26px;background:#fff}.input-icon>span{width:52px;text-align:center;font-size:23px;color:#31353a}.input-icon input{border:0!important;box-shadow:none!important;padding:0 15px 0 0;height:100%;font-size:16px;background:transparent}.remember-row{display:flex!important;align-items:center;gap:11px!important;font-size:14px!important;font-weight:500!important;margin:-2px 0 26px!important}.remember-row input{width:19px;height:19px;margin:0}.login-main-btn{width:100%;height:62px;border:0;border-radius:9px;background:linear-gradient(135deg,#101010,#242424);border-bottom:3px solid #ef7a23;color:#fff;font-size:18px;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.12)}.login-main-btn:hover{filter:brightness(1.08)}.login-divider{display:flex;align-items:center;gap:18px;margin:28px 0}.login-divider span{height:1px;background:#d9dcdf;flex:1}.login-divider b{font-size:14px;color:#61666c}.twofa-btn{height:58px;border:1.5px solid #df2b8b;border-radius:9px;text-decoration:none;color:#181818;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:14px;background:#fff}.twofa-btn span{font-size:24px}.forgot-v2{text-align:center;margin-top:18px;font-size:12px;color:#6c7177;text-decoration:none}.secure-foot{margin-top:58px;text-align:center;color:#6e7379;font-size:15px}.secure-foot b{padding:0 15px}.secure-foot span{margin-right:8px}@media(max-width:1000px){.login-shell-v2{grid-template-columns:1fr}.login-visual-v2{min-height:52vh;background-size:cover}.login-panel-v2{min-height:auto;padding:24px}.login-card-v2{min-height:auto;padding:42px 36px}.login-logo-v2{max-width:420px;margin-bottom:30px}}@media(max-width:600px){.login-visual-v2{min-height:42vh;background-position:center top}.login-panel-v2{padding:14px}.login-card-v2{padding:30px 22px;border-radius:14px}.login-logo-v2{margin-bottom:25px}.login-card-v2 h1{font-size:27px}.secure-foot{margin-top:36px;font-size:12px}}

/* ==========================================================
   LOGIN APROBADO RC PACKING — v1.3
   Replica funcional de la referencia visual aprobada.
   ========================================================== */
body.login-approved{margin:0;background:#f4f4f3;color:#20242a;overflow-x:hidden}
body.login-approved *{box-sizing:border-box}
.rc-login{width:100%;min-height:100vh;display:grid;grid-template-columns:52.3% 47.7%;background:#f4f4f3}
.rc-login-art{min-height:100vh;background:#f5f5f4 url('login-packaging.jpg') center center/cover no-repeat}
.rc-login-access{min-height:100vh;padding:32px 20px;display:flex;align-items:center;justify-content:center;background:#f4f4f3}
.rc-access-card{width:min(100%,640px);min-height:calc(100vh - 64px);padding:68px 68px 54px;background:rgba(255,255,255,.94);border:1px solid #dedede;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.075);display:flex;flex-direction:column;justify-content:center}
.rc-login-logo{display:block;width:min(100%,500px);height:auto;margin:0 auto 56px}
.rc-login-heading h1{margin:0 0 8px;font-size:31px;line-height:1.12;letter-spacing:-.025em;color:#171717;font-weight:800}
.rc-login-heading p{margin:0 0 42px;font-size:16px;line-height:1.4;color:#626870}
.rc-login-form>label:not(.rc-remember){display:block;margin:0 0 11px;font-size:13px;font-weight:800;color:#17191c}
.rc-field{height:59px;margin:0 0 28px;border:1px solid #bfc4ca;border-radius:9px;background:#fff;display:flex;align-items:center;overflow:hidden;transition:.15s}
.rc-field:focus-within{border-color:#70767c;box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.rc-field input{height:100%;flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0 15px 0 4px;font-size:16px;color:#2b3036}
.rc-field input::placeholder{color:#697078;opacity:1}
.rc-user-icon,.rc-lock-icon{position:relative;display:block;width:52px;height:100%;flex:0 0 52px}
.rc-user-icon:before{content:"";position:absolute;left:21px;top:15px;width:9px;height:9px;border:2px solid #34393e;border-radius:50%}
.rc-user-icon:after{content:"";position:absolute;left:17px;top:29px;width:17px;height:12px;border:2px solid #34393e;border-radius:10px 10px 3px 3px}
.rc-lock-icon:before{content:"";position:absolute;left:18px;top:27px;width:16px;height:15px;border:2px solid #34393e;border-radius:3px}
.rc-lock-icon:after{content:"";position:absolute;left:21px;top:17px;width:10px;height:12px;border:2px solid #34393e;border-bottom:0;border-radius:8px 8px 0 0}
.rc-eye{position:relative;width:54px;height:100%;border:0;background:transparent;cursor:pointer;flex:0 0 54px}
.rc-eye:before{content:"";position:absolute;left:15px;top:22px;width:23px;height:14px;border:2px solid #34393e;border-radius:50% 0 50% 0;transform:rotate(45deg)}
.rc-eye:after{content:"";position:absolute;left:24px;top:27px;width:6px;height:6px;background:#34393e;border-radius:50%}
.rc-remember{display:flex!important;align-items:center;gap:11px;margin:-2px 0 28px!important;font-size:14px!important;font-weight:500!important;color:#25292e!important;cursor:pointer}
.rc-remember input{width:20px;height:20px;margin:0;accent-color:#222}
.rc-login-button{width:100%;height:64px;border:0;border-bottom:3px solid #f07820;border-radius:9px;background:linear-gradient(135deg,#101010,#232323);color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;font-size:18px;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.13)}
.rc-login-button:hover{filter:brightness(1.08)}
.rc-enter-icon{font-size:29px;font-weight:400;line-height:1;transform:rotate(180deg)}
.rc-or{display:flex;align-items:center;gap:18px;margin:29px 0}
.rc-or span{height:1px;flex:1;background:#d8dcdf}.rc-or b{font-size:14px;color:#5e646b;font-weight:600}
.rc-2fa{height:59px;border:1.5px solid #e2298a;border-radius:9px;background:#fff;color:#1c1e21;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:15px;font-size:17px}
.rc-shield{font-size:26px;line-height:1;color:#282c31}
.rc-forgot{display:block;text-align:center;margin-top:17px;color:#777d84;text-decoration:none;font-size:12px}.rc-forgot:hover{text-decoration:underline}
.rc-security{margin-top:59px;text-align:center;color:#6d737a;font-size:15px}.rc-security>span{margin-right:10px}.rc-security b{padding:0 15px;font-weight:600}
body.login-approved .error-box{margin:-12px 0 20px}
@media(max-width:1050px){.rc-login{grid-template-columns:1fr}.rc-login-art{min-height:70vh;background-size:cover;background-position:center}.rc-login-access{min-height:auto;padding:24px}.rc-access-card{min-height:auto;padding:48px 44px}.rc-login-logo{margin-bottom:38px}}
@media(max-width:620px){.rc-login-art{min-height:54vh}.rc-login-access{padding:12px}.rc-access-card{padding:34px 22px;border-radius:14px}.rc-login-logo{margin-bottom:32px}.rc-login-heading h1{font-size:27px}.rc-login-heading p{font-size:14px;margin-bottom:30px}.rc-security{margin-top:38px;font-size:12px}.rc-security b{padding:0 8px}}

/* ===== LOGIN v1.4 — proporción corregida según maqueta aprobada ===== */
body.login-approved{background:#f4f4f3;min-height:100vh}
.rc-login{
  width:min(100vw,124.86vh);
  min-height:100vh;
  height:100vh;
  margin:0 auto;
  grid-template-columns:52.3% 47.7%;
  overflow:hidden;
}
.rc-login-art{
  min-height:0;
  height:100vh;
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
.rc-login-access{
  min-height:0;
  height:100vh;
  padding:3vh 1.6vw;
}
.rc-access-card{
  width:100%;
  max-width:none;
  min-height:0;
  height:94vh;
  padding:5.2vh 4.2vw 4vh;
  border-radius:16px;
}
.rc-login-logo{
  width:92%;
  max-width:none;
  margin:0 auto 5.2vh;
}
.rc-login-heading h1{font-size:clamp(24px,2.35vh,32px)}
.rc-login-heading p{font-size:clamp(13px,1.45vh,16px);margin-bottom:3.8vh}
.rc-login-form>label:not(.rc-remember){font-size:clamp(11px,1.15vh,13px);margin-bottom:1vh}
.rc-field{height:5.8vh;min-height:48px;margin-bottom:2.5vh}
.rc-field input{font-size:clamp(13px,1.45vh,16px)}
.rc-remember{font-size:clamp(12px,1.25vh,14px)!important;margin:0 0 2.5vh!important}
.rc-login-button{height:6vh;min-height:52px;font-size:clamp(15px,1.65vh,18px)}
.rc-or{margin:2.4vh 0}
.rc-2fa{height:5.8vh;min-height:50px;font-size:clamp(14px,1.55vh,17px)}
.rc-forgot{margin-top:1.5vh}
.rc-security{margin-top:5vh;font-size:clamp(12px,1.35vh,15px)}
@media(max-aspect-ratio:1.15/1){
  .rc-login{width:100%;height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}
  .rc-login-art{height:auto;min-height:70vh;background-size:cover}
  .rc-login-access{height:auto;min-height:auto;padding:24px}
  .rc-access-card{height:auto;min-height:auto;padding:48px 44px}
}

/* ===== LOGIN v1.5 — ajuste real al viewport ===== */
body.login-approved{width:100%;min-height:100vh;overflow:hidden;background:#f4f4f3}
.rc-login{width:100vw;max-width:none;height:100vh;min-height:100vh;margin:0;display:grid;grid-template-columns:52% 48%;overflow:hidden}
.rc-login-art{width:100%;height:100vh;min-height:0;background-image:url('login-packaging.jpg');background-size:cover;background-position:center center;background-repeat:no-repeat}
.rc-login-access{width:100%;height:100vh;min-height:0;padding:clamp(18px,2.2vh,30px) clamp(18px,2vw,38px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.rc-access-card{width:min(100%,680px);height:min(94vh,980px);min-height:0;max-height:94vh;padding:clamp(28px,4.4vh,56px) clamp(34px,4vw,66px) clamp(24px,3.5vh,44px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.rc-login-logo{width:min(100%,500px);max-height:20vh;object-fit:contain;margin:0 auto clamp(24px,4.2vh,50px)}
.rc-login-heading h1{font-size:clamp(25px,2.8vh,34px)}
.rc-login-heading p{font-size:clamp(13px,1.55vh,17px);margin-bottom:clamp(22px,3.2vh,38px)}
.rc-login-form>label:not(.rc-remember){font-size:clamp(11px,1.2vh,13px);margin-bottom:8px}
.rc-field{height:clamp(48px,5.6vh,60px);min-height:0;margin-bottom:clamp(16px,2.2vh,26px)}
.rc-field input{font-size:clamp(13px,1.5vh,16px)}
.rc-remember{font-size:clamp(12px,1.3vh,14px)!important;margin:0 0 clamp(16px,2.2vh,25px)!important}
.rc-login-button{height:clamp(50px,5.8vh,62px);min-height:0;font-size:clamp(15px,1.7vh,18px)}
.rc-or{margin:clamp(15px,2.1vh,24px) 0}
.rc-2fa{height:clamp(48px,5.5vh,58px);min-height:0;font-size:clamp(14px,1.6vh,17px)}
.rc-forgot{margin-top:clamp(10px,1.3vh,16px)}
.rc-security{margin-top:clamp(24px,3.8vh,48px);font-size:clamp(12px,1.35vh,15px)}
@media (max-width:1100px){body.login-approved{overflow:auto}.rc-login{width:100%;height:auto;min-height:100vh;grid-template-columns:1fr}.rc-login-art{height:58vh;min-height:420px;background-size:cover;background-position:center}.rc-login-access{height:auto;min-height:auto;padding:24px}.rc-access-card{width:min(100%,680px);height:auto;max-height:none;padding:42px 44px}.rc-login-logo{max-height:none;width:min(100%,470px)}}
@media (max-width:620px){.rc-login-art{height:44vh;min-height:300px}.rc-login-access{padding:12px}.rc-access-card{padding:30px 22px}.rc-login-logo{width:92%;margin-bottom:28px}.rc-security{margin-top:30px}}
/* v1.6 internal product polish */
.header-brand .logo-img{height:58px;max-width:150px;object-fit:contain}.header-brand h1{font-size:21px}.header-brand .sub{font-size:12.5px}.admin-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.55fr);gap:20px}.actions-cell{display:flex;gap:6px;flex-wrap:wrap}.actions-cell form,.doc-actions form{margin:0}.mini-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.mini-btn.danger{color:#a72b38;border-color:#f1c8cd;background:#fff7f8}.chip-list{display:flex;gap:7px;flex-wrap:wrap}.chip-list label{border:1px solid var(--line);border-radius:18px;padding:7px 10px;font-size:10px!important;font-weight:700!important;margin:0!important}.chip-list input{width:auto;margin-right:5px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.doc-card{margin-bottom:0}.doc-card h3{font-size:18px}.doc-card p{font-size:12px;line-height:1.6;color:#59606a}.doc-meta{font-size:10px;color:var(--muted);margin-top:14px}.doc-actions{display:flex;gap:8px;margin-top:14px}.empty-state{text-align:center;padding:38px 20px;color:var(--muted)}.empty-state.small{padding:28px 10px}.empty-state b,.empty-state span{display:block}.empty-state span{font-size:11px;margin-top:6px}.empty-icon{font-size:34px;color:var(--cyan);margin-bottom:8px}.kpis.five{grid-template-columns:repeat(5,minmax(150px,1fr))}.config-subnav{overflow:auto;padding-bottom:2px}.auth-logo .logo-img{height:72px;max-width:210px;object-fit:contain}.auth-card{max-width:540px;padding:42px}.auth-card h2{font-size:28px}.auth-card .hint{font-size:13px;line-height:1.5}
@media(max-width:1100px){.admin-grid{grid-template-columns:1fr}.kpis.five{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.header-brand .logo-img{height:44px}.kpis.five{grid-template-columns:1fr}.auth-card{padding:28px 22px}}

/* === v1.9 RC Packing official-logo proportions ===
   The official JPEG has a 473x387 white canvas; visible artwork is centered
   at approximately x=63..404 / y=113..257. object-fit:cover crops only the
   canvas at render time; the source logo file is never modified. */
.rc-login-logo,.header-brand .logo-img,.auth-logo .logo-img{
  display:block;object-fit:cover;object-position:center 48%;background:#fff;
}
.rc-login-logo{
  width:min(100%,300px)!important;height:127px!important;max-height:none!important;
  margin:0 auto clamp(20px,3vh,34px)!important;
}
.header-brand .logo-img{
  width:150px!important;height:63px!important;max-width:none!important;flex:0 0 auto;
}
.auth-logo{display:flex;justify-content:flex-start;align-items:center;margin:0 0 18px;height:auto;}
.auth-logo .logo-img{width:240px!important;height:101px!important;max-width:100%!important;}
@media(max-width:650px){
  .rc-login-logo{width:min(90%,260px)!important;height:110px!important;}
  .header-brand .logo-img{width:125px!important;height:53px!important;}
  .auth-logo .logo-img{width:205px!important;height:87px!important;}
}

/* === v1.10 Typography + responsive polish (no backend/config changes) === */
:root{
  --font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--font-ui)}
body{font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input,select,textarea{letter-spacing:0}
header{padding:11px 26px}
.header-brand{gap:16px;min-width:0}
.header-brand h1{font-size:20px;line-height:1.15;font-weight:750;letter-spacing:-.015em}
.header-brand .sub{font-size:12px;line-height:1.3}
.userbox{font-size:13px}
.userbox button{font:700 12px/1 var(--font-ui)}
.rolpill{font-size:10px;font-weight:800}
nav .tab{font-size:13px;font-weight:700;letter-spacing:-.005em}
.page-head h2{font-size:28px;line-height:1.12;font-weight:780;letter-spacing:-.025em}
.page-head p{font-size:13px;line-height:1.5}
.eyebrow{font-size:10px;letter-spacing:.11em}
.panel h3,.panel-title h3{font-size:16px;line-height:1.25;font-weight:760;letter-spacing:-.01em}
.panel-title a,.panel-title span{font-size:11.5px}
.btn-primary,.btn-secondary,.btn-link,.mini-btn,.primario,.secundario{font-family:var(--font-ui);font-weight:750;letter-spacing:-.005em}
.btn-primary,.btn-secondary,.btn-link{font-size:13px}
.kpi .num{font-size:30px;font-weight:800;letter-spacing:-.025em}
.kpi .lbl{font-size:11.5px;line-height:1.3}
table{font-size:12.5px;line-height:1.35}
th{font-size:10.5px;font-weight:800;letter-spacing:.045em}
td{font-size:12.5px}
.badge{font-size:10.5px}
.quality-form label,.follow-form label,.filters label,.auth-card label{font-size:11.5px;line-height:1.25}
input,select,textarea{font-size:13.5px;line-height:1.35}
.choice{font-size:12px}
.detail-grid b{font-size:12.5px}
.description-box p,.timeline-card{font-size:13px}
.side-card p,.quality-strip span{font-size:11.5px}
.auth-wrap{padding:clamp(18px,3vw,42px)}
.auth-card{width:min(100%,560px);max-width:560px;padding:clamp(30px,4vw,48px);border-radius:16px}
.auth-card h2{font-size:clamp(25px,2.2vw,30px);line-height:1.15;font-weight:780;letter-spacing:-.02em;margin:10px 0 8px}
.auth-card .hint{font-size:13.5px;line-height:1.55;margin-bottom:20px}
.auth-card input{min-height:46px;font-size:14px}
.auth-card button.primario,.auth-card button.secundario{min-height:44px;font-size:13px;font-weight:750}
.auth-logo{margin-bottom:12px}
/* login typography: keep approved proportions, just normalize rendering */
.rc-login-heading h1{font-family:var(--font-ui);font-weight:780;letter-spacing:-.025em}
.rc-login-heading p,.rc-login-form,.rc-login-button,.rc-2fa,.rc-forgot,.rc-security{font-family:var(--font-ui)}
.rc-login-form>label:not(.rc-remember){letter-spacing:.015em}
.rc-login-button strong,.rc-2fa strong{font-weight:750}
@media(max-width:900px){
  main{padding:22px 18px}.site-footer{padding:0 18px}.page-head h2{font-size:24px}
  header{padding:10px 18px}nav{padding:0 18px}
}
@media(max-width:650px){
  body{font-size:13.5px}.header-brand h1{font-size:18px}.header-brand .sub{font-size:11px}
  .userbox{font-size:12px}.page-head{flex-direction:column;align-items:stretch}.page-head h2{font-size:23px}
  .panel{padding:16px}.panel h3,.panel-title h3{font-size:15px}
  table,td{font-size:12px}th{font-size:10px}.auth-card{padding:28px 22px}
}

/* === v1.11 VISUAL SCALE FIX: official logos + typography === */
/* Official logo files remain untouched. We crop only their built-in white canvas at render time. */
.header-brand{gap:18px}
.header-brand .logo-img{
  width:190px!important;
  height:76px!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  border-radius:0!important;
  background:#fff!important;
}
.header-brand h1{
  font-size:25px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
.header-brand .sub{
  font-size:14px!important;
  line-height:1.35!important;
  margin-top:4px!important;
}
header{padding:13px 34px!important;min-height:90px}
.userbox{font-size:14px!important;gap:12px!important}
.userbox button{font-size:13px!important;padding:10px 14px!important}
.rolpill{font-size:11px!important;padding:6px 10px!important}
nav{padding:0 34px!important;gap:7px!important}
nav .tab{font-size:14.5px!important;padding:15px 17px!important}
main{max-width:1480px!important;padding:30px 34px!important}
.site-footer{max-width:1480px!important;padding:0 34px!important;font-size:12px!important}
.page-head{margin-bottom:22px!important}
.page-head h2{font-size:32px!important;line-height:1.08!important}
.page-head p{font-size:14.5px!important}
.panel{padding:22px!important}
.panel h3,.panel-title h3{font-size:17px!important}
.panel-title a,.panel-title span{font-size:12.5px!important}
.btn-primary,.btn-secondary,.btn-link{font-size:14px!important;padding:11px 16px!important}
.kpis{gap:16px!important}
.kpi{padding:19px 20px!important}
.kpi .num{font-size:34px!important}
.kpi .lbl{font-size:12.5px!important}
table{font-size:13.5px!important}
th{font-size:11px!important;padding:11px 10px!important}
td{font-size:13.5px!important;padding:12px 10px!important}
.quality-strip b{font-size:13px!important}.quality-strip span{font-size:12px!important}
.empty{font-size:13px!important}

/* Login official logo: visible artwork, not the JPEG's white margins */
.rc-login-logo{
  width:340px!important;
  height:144px!important;
  max-width:90%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  margin:0 auto clamp(22px,3vh,34px)!important;
}
.rc-login-heading h1{font-size:clamp(30px,3vh,38px)!important}
.rc-login-heading p{font-size:clamp(15px,1.65vh,18px)!important}
.rc-login-form>label:not(.rc-remember){font-size:clamp(12px,1.3vh,14px)!important}
.rc-field input{font-size:clamp(14px,1.55vh,17px)!important}
.rc-remember{font-size:clamp(13px,1.4vh,15px)!important}
.rc-login-button{font-size:clamp(16px,1.8vh,19px)!important}
.rc-2fa{font-size:clamp(15px,1.7vh,18px)!important}
.rc-forgot,.rc-security{font-size:clamp(13px,1.4vh,15px)!important}

/* Password / 2FA screens */
.auth-logo{
  height:118px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0 0 22px!important;
}
.auth-logo .logo-img{
  width:280px!important;
  height:118px!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  background:#fff!important;
}
.auth-card{width:min(100%,620px)!important;max-width:620px!important;padding:44px 48px!important}
.auth-card h2{font-size:32px!important}
.auth-card .hint{font-size:14.5px!important}
.auth-card label{font-size:12.5px!important}
.auth-card input{font-size:14.5px!important;min-height:48px!important}
.auth-card button.primario,.auth-card button.secundario{font-size:14px!important;min-height:46px!important}

@media(max-width:900px){
  header{padding:11px 20px!important;min-height:78px}
  .header-brand .logo-img{width:160px!important;height:65px!important}
  .header-brand h1{font-size:22px!important}.header-brand .sub{font-size:12.5px!important}
  nav{padding:0 20px!important}nav .tab{font-size:13.5px!important;padding:13px 14px!important}
  main{padding:24px 20px!important}.page-head h2{font-size:28px!important}
}
@media(max-width:650px){
  .header-brand .logo-img{width:132px!important;height:56px!important}
  .header-brand h1{font-size:19px!important}.header-brand .sub{font-size:11px!important}
  .userbox>span:first-child{display:none}
  .rolpill{display:none}
  .rc-login-logo{width:280px!important;height:118px!important}
  .auth-logo{height:96px!important}.auth-logo .logo-img{width:228px!important;height:96px!important}
  .auth-card{padding:30px 24px!important}.auth-card h2{font-size:27px!important}
  .page-head h2{font-size:25px!important}
}


/* === v1.12 — escala visual + reportes + base documental === */
body{font-size:15.5px!important}
header{min-height:118px!important;padding:14px 38px!important}
.header-brand{gap:22px!important}
.header-brand .logo-img{width:290px!important;height:116px!important;max-width:none!important;object-fit:cover!important;object-position:center 48%!important}
.header-brand h1{font-size:30px!important;line-height:1.05!important}
.header-brand .sub{font-size:16px!important;line-height:1.3!important;margin-top:5px!important}
.userbox{font-size:15.5px!important}.userbox button{font-size:14px!important}.rolpill{font-size:12px!important}
nav{padding:0 38px!important}nav .tab{font-size:16px!important;padding:16px 18px!important}
main{max-width:1540px!important;padding:34px 38px!important}
.page-head h2{font-size:36px!important}.page-head p{font-size:16px!important}.eyebrow{font-size:11.5px!important}
.panel{padding:24px!important}.panel h3,.panel-title h3{font-size:19px!important}.panel-title a,.panel-title span{font-size:13px!important}
.btn-primary,.btn-secondary,.btn-link{font-size:15px!important;padding:12px 17px!important}
.kpi .num{font-size:38px!important}.kpi .lbl{font-size:14px!important}
table{font-size:14.5px!important}th{font-size:12px!important}td{font-size:14.5px!important}
.quality-form label,.follow-form label,.filters label,.auth-card label{font-size:13px!important}input,select,textarea{font-size:15px!important}
.empty-state p{font-size:14px;line-height:1.55}.doc-card p{font-size:14px!important}.doc-meta{font-size:12px!important}.mini-btn{font-size:12px!important}
.report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.download-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.download-panel h3{margin:0 0 6px}.download-panel p{margin:0;color:var(--muted);font-size:14px;max-width:820px}.error-notice{border-left:4px solid var(--red);background:#fff5f6;color:#8d2530}
.auth-logo .logo-img{width:320px!important;height:128px!important}.auth-logo{min-height:120px!important}
.rc-login-logo{width:390px!important;height:156px!important}
@media(max-width:900px){header{min-height:88px!important;padding:12px 18px!important}.header-brand .logo-img{width:210px!important;height:84px!important}.header-brand h1{font-size:24px!important}.header-brand .sub{font-size:13.5px!important}nav{padding:0 18px!important}.download-panel{align-items:flex-start;flex-direction:column}.page-head h2{font-size:30px!important}}
@media(max-width:650px){body{font-size:14px!important}.header-brand .logo-img{width:170px!important;height:68px!important}.header-brand h1{font-size:20px!important}.header-brand .sub{font-size:11.5px!important}nav .tab{font-size:14px!important}.page-head h2{font-size:27px!important}.auth-logo .logo-img{width:250px!important;height:100px!important}.rc-login-logo{width:min(90vw,330px)!important;height:132px!important}}
