:root{
  --navy:#061a38;--navy2:#082b59;--panel:#0b3265;--line:#184c7f;
  --blue:#2f8cff;--cyan:#2ec5ff;--green:#28d69b;--violet:#8167ff;
  --amber:#f5ad1b;--danger:#ff5572;--text:#f7fbff;--muted:#91acd1;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif}
body{background:linear-gradient(135deg,#031329,#082951);color:var(--text)}
a{color:inherit;text-decoration:none}.app-shell{padding-left:286px;padding-top:74px}
.sidebar{position:fixed;z-index:40;left:0;top:0;bottom:0;width:286px;background:linear-gradient(180deg,#031731,#061f42);border-right:1px solid #173d68;padding:18px 16px;overflow:auto}
.brand img{width:145px;display:block;margin:2px auto 28px}.brand span{font-size:11px;font-weight:800;color:#b9c9df}
.sidebar nav>a,.sidebar summary{display:block;padding:15px 14px;border:1px solid #16436f;border-radius:10px;background:#082950;margin:9px 0;font-size:13px;cursor:pointer}
.sidebar details>a{display:block;padding:10px 24px;color:#bfd0e8;font-size:12px}.sidebar details>a:hover{color:white;background:#0a315d;border-radius:8px}
.sidebar-foot{margin-top:18px;border:1px solid #184b7e;border-radius:12px;padding:15px;color:#d7e5f7}.topbar{position:fixed;z-index:35;left:286px;right:0;top:0;height:74px;background:#041b3b;border-bottom:1px solid #173d68;display:flex;align-items:center;padding:0 18px}
.hamb{border:1px solid #1b4b80;background:#082b59;color:white;border-radius:50%;width:44px;height:44px;font-size:18px}.top-logo{width:78px;margin:auto}.top-pills{display:flex;gap:8px;align-items:center}.top-pills span{display:grid;grid-template-columns:auto auto;column-gap:8px;border:1px solid #1762a7;border-radius:24px;padding:8px 13px;font-size:11px}.top-pills small{color:#7899be;font-size:8px}.top-pills b{grid-column:2}.top-pills>a{border:1px solid #1762a7;padding:10px 16px;border-radius:50%}
.main{padding:18px 22px 40px;min-height:calc(100vh - 74px)}.eyebrow{font-size:11px;letter-spacing:.17em;color:#49a7ff;font-weight:900}.page-title{font-size:32px;margin:3px 0 4px}.sub{color:#9eb5d5;font-size:13px}
.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px}.card{background:linear-gradient(145deg,#0a2c5b,#09274e);border:1px solid #194d81;border-radius:14px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.kpi{display:flex;gap:12px;align-items:center;min-height:105px}.kpi .icon{width:48px;height:48px;border:1px solid #2c8fff;border-radius:50%;display:grid;place-items:center;font-size:20px}.kpi strong{font-size:28px}.kpi small{display:block;color:#8eabd0}
.cols-2{grid-template-columns:2fr 1fr;margin-top:12px}.cols-3{grid-template-columns:repeat(3,1fr);margin-top:12px}
.progress-row{display:grid;grid-template-columns:190px 1fr 60px;align-items:center;gap:12px;margin:16px 0}.bar{height:8px;background:#163d68;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#268cff,#35c8ff);border-radius:999px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{color:#8fb5e6;text-align:left;padding:10px;border-bottom:1px solid #205183}.table td{padding:10px;border-bottom:1px solid #17436f;vertical-align:middle}.badge{display:inline-block;border:1px solid #246298;background:#092d56;color:#5bb2ff;padding:5px 8px;border-radius:999px;font-size:10px}.badge.warn{color:#ffc342;border-color:#7d5d19}.badge.danger{color:#ff7189;border-color:#7e2e49}.badge.ok{color:#42e0ad;border-color:#187258}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:9px;border:1px solid #2b8deb;background:#1170cf;color:#fff;font-weight:750;font-size:12px;cursor:pointer}.btn.secondary{background:#0b2a50;border-color:#31527b}.btn.green{background:#22b979;border-color:#36df9d}.btn.red{background:#9c2c42;border-color:#ff5977}
.filters{display:flex;gap:8px;margin:14px 0}.input,.select,.textarea{width:100%;background:#071a35;border:1px solid #365270;border-radius:8px;color:#f8fbff;padding:10px 11px}.textarea{min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-group label{display:block;font-size:12px;font-weight:800;margin:0 0 6px}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:15px}
.missing{display:flex;gap:5px;flex-wrap:wrap}.missing span{padding:4px 7px;border:1px solid #87671d;color:#ffc44d;border-radius:999px;font-size:9px}.priority{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px}.priority.critical{background:#4b1830;color:#ff728f;border:1px solid #9a3454}
.alert{margin:10px 0 15px;padding:11px 14px;border-radius:9px}.alert.ok{background:#0d513f;border:1px solid #20ad7e}.alert.err{background:#5a1f31;border:1px solid #b94462}
.public-shell{background:#edf5fb;color:#06162c;min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:58% 42%}.login-hero{background:linear-gradient(145deg,#1c2e59,#344d84);color:white;padding:80px;display:flex;flex-direction:column;justify-content:center}.login-hero img{width:120px;margin-bottom:25px}.login-hero h1{font-size:50px;line-height:.95;max-width:650px;margin:18px 0}.pill{display:inline-block;border:1px solid #7182a6;border-radius:30px;padding:9px 15px;font-size:13px;font-weight:900;letter-spacing:.07em;width:max-content}.login-side{display:grid;place-items:center;padding:35px}.login-card{width:min(460px,95%);background:white;border:1px solid #cfddeb;border-radius:25px;box-shadow:0 25px 55px rgba(10,35,65,.12);padding:32px}.login-card img{display:block;width:86px;margin:0 auto}.login-card h2{text-align:center;font-size:36px;margin:12px 0 4px}.login-card p{text-align:center;color:#637a97}.login-card label{display:block;font-weight:800;font-size:13px;margin:15px 0 6px}.login-card .input{background:#d7e0eb;color:#112844;border:0;padding:14px}.login-card .btn{width:100%;margin-top:18px;padding:14px}
.company-card{max-width:700px;margin:40px auto}.company-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #cbd9ea;border-radius:12px;margin:8px 0;background:#f8fbff}.company-row img{width:42px;height:42px;object-fit:contain}.company-row button{margin-left:auto}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.cols-2,.cols-3{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-hero{display:none}}
@media(max-width:760px){.app-shell{padding-left:0}.sidebar{transform:translateX(-100%)}.topbar{left:0}.sidebar-collapsed .sidebar{transform:translateX(0)}.form-grid,.kpis{grid-template-columns:1fr}.top-pills span{display:none}.main{padding:12px}.page-title{font-size:26px}}

/* ===== Login KPI: campo de contraseña con monito ===== */
.password-field{position:relative;display:flex;align-items:center}.password-field .input{padding-right:58px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:42px;height:38px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;cursor:pointer;font-size:23px;line-height:1;transition:background .18s ease,transform .18s ease}.password-toggle:hover{background:#c6d6ea}.password-toggle:active{transform:translateY(-50%) scale(.94)}.password-toggle:focus-visible{outline:3px solid rgba(17,112,207,.25);outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.login-submit{font-size:13px!important}.login-features{line-height:1.45}.login-card .input:focus{outline:3px solid rgba(17,112,207,.15);background:#e2eaf4}.login-card .input::placeholder{color:#7890ad}

/* ===== FASE 2.2: login y selector SIN SCROLL en escritorio ===== */
@media (min-width:1101px){
  html,body{height:100%;overflow:hidden}
  body.public-shell{height:100vh;min-height:0;overflow:hidden}
  .login-layout{height:100vh;min-height:0;overflow:hidden}
  .login-hero{height:100vh;min-height:0;padding:clamp(44px,5.6vw,80px)}
  .login-side{height:100vh;min-height:0;padding:clamp(22px,2.55vw,35px);overflow:hidden}
  .login-card{max-height:calc(100vh - 44px)}
}

/* ===== Selector de empresa inspirado en la tercera referencia ===== */
.company-select-layout{
  height:100vh;
  min-height:0;
  display:grid;
  grid-template-columns:58% 42%;
  background:#edf5fb;
  overflow:hidden;
}
.company-select-hero{
  position:relative;
  height:100vh;
  min-height:0;
  overflow:hidden;
  background:linear-gradient(145deg,#1a2850 0%,#354f87 100%);
  color:#fff;
  padding:clamp(46px,5.8vw,80px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.company-select-hero::before,
.company-select-hero::after{
  content:"";
  position:absolute;
  bottom:-120px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(93,132,205,.22);
  pointer-events:none;
}
.company-select-hero::before{left:-105px}
.company-select-hero::after{right:-105px}
.company-hero-logo{
  width:116px;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:22px;
  filter:brightness(0) invert(1);
  opacity:.98;
}
.company-pill{margin-bottom:18px;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.03)}
.company-select-hero h1{
  margin:0 0 18px;
  max-width:620px;
  font-size:clamp(44px,4.1vw,58px);
  line-height:.94;
  letter-spacing:-.035em;
}
.company-select-hero>p{
  max-width:700px;
  margin:0 0 18px;
  font-size:14px;
  line-height:1.58;
}
.company-benefits{display:grid;gap:10px;margin-top:4px;font-size:13px}
.company-benefits span{display:flex;align-items:center;gap:12px}
.company-benefits i{
  width:9px;height:9px;border-radius:50%;background:#74aaff;
  box-shadow:0 0 0 5px rgba(103,158,245,.12);flex:0 0 auto
}
.company-select-side{
  height:100vh;
  min-height:0;
  display:grid;
  place-items:center;
  padding:22px 34px;
  overflow:hidden;
}
.company-selector-card{
  width:min(462px,100%);
  max-height:calc(100vh - 34px);
  background:#fff;
  color:#06162c;
  border:1px solid #cedceb;
  border-radius:25px;
  box-shadow:0 25px 55px rgba(10,35,65,.12);
  padding:20px 34px 18px;
  overflow:hidden;
}
.company-card-logo{
  display:block;
  width:88px;
  height:56px;
  object-fit:contain;
  margin:0 auto 4px;
}
.company-selector-card h2{
  margin:2px 0 2px;
  font-size:32px;
  line-height:1.06;
  letter-spacing:-.025em;
}
.company-intro{margin:0 0 14px;color:#607898;font-size:13px;line-height:1.4}
.company-user-box{
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  background:#eaf4ff;
  border:1px solid #bcd7f6;
  border-radius:12px;
  margin-bottom:11px;
}
.company-avatar{
  width:39px;height:39px;border-radius:50%;display:grid;place-items:center;
  flex:0 0 auto;background:#347ed8;color:#fff;font-size:13px;font-weight:900
}
.company-user-copy{display:flex;flex-direction:column;min-width:0}
.company-user-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-user-copy small{color:#567294;font-size:10px;margin-top:2px}
.company-label{display:block;font-size:13px;font-weight:850;margin:0 0 6px}

/* Campo informativo bloqueado: muestra la empresa elegida sin ser editable */
.company-selection-hint{
  min-height:40px;
  margin:0 0 9px;
  padding:0 12px;
  display:flex;
  align-items:center;
  border:1px solid #cddbea;
  border-radius:10px;
  background:#fff;
  color:#607898;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.01em;
  user-select:none;
  cursor:default;
  transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
.company-selection-hint.is-selected{
  color:#0b203a;
  font-weight:800;
  border-color:#b7d1ee;
  background:#fbfdff;
  box-shadow:0 0 0 2px rgba(69,143,229,.04);
}
.company-options{display:grid;gap:7px;margin-bottom:10px}
.company-option{
  position:relative;
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border:1px solid #cddbea;
  border-radius:12px;
  background:#fff;
  color:#0b203a;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.company-option:hover{border-color:#83b4eb;background:#f9fcff;transform:translateY(-1px)}
.company-option.is-selected{
  border-color:#6eaaf0;
  background:#f4f9ff;
  box-shadow:0 0 0 2px rgba(69,143,229,.07)
}
.company-option-logo{
  width:37px;height:37px;border-radius:10px;background:#eef3f9;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-size:20px
}
.company-option-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.company-option-copy{display:flex;flex-direction:column;min-width:0;padding-right:20px}
.company-option-copy strong{font-size:12.5px;line-height:1.2;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-option-copy small{font-size:9px;color:#6a82a0;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-check{position:absolute;right:12px;opacity:0;color:#2f7ed7;font-weight:900;transition:opacity .15s ease}
.company-option.is-selected .company-check{opacity:1}
.company-empty{margin:4px 0 10px;padding:9px 11px;border-radius:9px;background:#f2f6fa;color:#6b8098;font-size:11px;text-align:center}
.company-enter{width:100%;height:47px;margin:0!important;border-radius:11px;font-size:13px}
.company-enter:disabled{background:#9fbee2;border-color:#9fbee2;color:#fff;cursor:not-allowed;opacity:1}
.company-logout{
  width:100%;height:44px;margin-top:8px;border:1px solid #cbd9e7;border-radius:10px;
  display:flex;align-items:center;justify-content:center;color:#071a35;font-weight:800;font-size:13px;background:#fff
}
.company-logout:hover{background:#f7fafc}

@media(max-height:680px) and (min-width:1101px){
  .company-select-hero{padding-top:34px;padding-bottom:34px}
  .company-hero-logo{width:105px;margin-bottom:17px}
  .company-select-hero h1{font-size:49px;margin-bottom:15px}
  .company-select-hero>p{font-size:13px;margin-bottom:14px}
  .company-benefits{gap:8px;font-size:12px}
  .company-selector-card{padding:14px 30px 12px;max-height:calc(100vh - 22px)}
  .company-card-logo{height:46px;width:78px;margin-bottom:2px}
  .company-selector-card h2{font-size:29px}
  .company-intro{margin-bottom:10px;font-size:12px}
  .company-user-box{padding:7px 10px;margin-bottom:8px}
  .company-avatar{width:36px;height:36px}
  .company-options{gap:6px;margin-bottom:7px}
  .company-option{min-height:50px;padding:6px 10px}
  .company-option-logo{width:34px;height:34px}
  .company-enter{height:43px}
  .company-logout{height:40px;margin-top:7px}
}

@media(max-width:1100px){
  html,body{height:auto;overflow:auto}
  body.public-shell{overflow:auto}
  .company-select-layout{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}
  .company-select-hero{display:none}
  .company-select-side{height:auto;min-height:100vh;padding:24px;overflow:visible}
  .company-selector-card{max-height:none;overflow:visible}
}
@media(max-width:560px){
  .company-select-side{padding:14px}
  .company-selector-card{padding:19px 18px 16px;border-radius:20px}
  .company-selector-card h2{font-size:28px}
  .company-option-copy strong{font-size:11.5px}
}

/* ===== FASE 2.4: HOME corporativo separado del Dashboard ===== */
body.app-shell{
  --sidebar-w:250px;
  --topbar-h:86px;
  padding-left:var(--sidebar-w);
  padding-top:var(--topbar-h);
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 64% 28%,rgba(35,101,194,.13),transparent 31%),
    linear-gradient(135deg,#020d21 0%,#06162f 48%,#071b39 100%);
}
body.app-shell .sidebar{
  width:var(--sidebar-w);
  padding:25px 18px 18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,#03132c 0%,#031836 55%,#041b3b 100%);
  border-right:1px solid rgba(131,170,224,.18);
  box-shadow:18px 0 42px rgba(0,0,0,.11);
}
body.app-shell .brand{padding:0 9px}
body.app-shell .brand img{width:126px;height:85px;object-fit:contain;object-position:left center;margin:0 0 29px}
body.app-shell .brand span{display:block;margin:0 0 17px;font-size:13px;color:#fff;letter-spacing:.02em}
body.app-shell .sidebar nav{display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;scrollbar-width:none}
body.app-shell .sidebar nav::-webkit-scrollbar{display:none}
body.app-shell .sidebar nav>a,
body.app-shell .sidebar summary{
  min-height:49px;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  margin:0;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#e9f1ff;
  font-size:14px;
  font-weight:500;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
body.app-shell .sidebar nav>a{grid-template-columns:26px minmax(0,1fr)}
body.app-shell .sidebar nav>a svg,
body.app-shell .sidebar summary svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.app-shell .sidebar summary svg:last-child{width:17px;height:17px;justify-self:end;transition:transform .18s ease}
body.app-shell .sidebar details[open] summary svg:last-child{transform:rotate(90deg)}
body.app-shell .sidebar summary::-webkit-details-marker{display:none}
body.app-shell .sidebar summary{list-style:none}
body.app-shell .sidebar nav>a:hover,
body.app-shell .sidebar summary:hover{background:rgba(51,102,180,.13);border-color:rgba(98,157,240,.13)}
body.app-shell .sidebar nav>a.active{
  position:relative;
  background:linear-gradient(90deg,rgba(44,105,206,.27),rgba(24,53,99,.37));
  border-color:rgba(98,157,240,.08);
  color:#dff1ff;
  box-shadow:inset 0 0 32px rgba(69,127,217,.08);
}
body.app-shell .sidebar nav>a.active::before{
  content:"";position:absolute;left:-1px;top:11px;bottom:11px;width:3px;border-radius:4px;background:#4594ff;box-shadow:0 0 12px rgba(69,148,255,.75)
}
body.app-shell .sidebar nav>a.active svg{color:#43a0ff}
body.app-shell .sidebar details>a{
  margin:2px 0 1px 36px;
  padding:8px 12px;
  border-radius:8px;
  color:#9fb5d4;
  font-size:12px;
}
body.app-shell .sidebar details>a:hover,
body.app-shell .sidebar details>a.active-sub{background:rgba(51,105,185,.14);color:#fff}
body.app-shell .sidebar-foot{
  margin-top:auto;
  padding:16px 4px 0;
  border:0;
  color:#9daec6;
  font-size:11px;
  line-height:1.5;
}
body.app-shell .sidebar-foot b{display:block;font-weight:500}
body.app-shell .sidebar-foot small{display:block;margin-top:3px;color:#768ba9}
body.app-shell .topbar{
  left:var(--sidebar-w);
  height:var(--topbar-h);
  padding:0 30px 0 34px;
  background:rgba(3,17,41,.93);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(132,171,223,.12);
  box-shadow:0 8px 28px rgba(0,0,0,.09);
}
body.app-shell .hamb{
  width:46px;height:46px;border:0;background:transparent;color:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer
}
body.app-shell .hamb:hover{background:rgba(255,255,255,.05)}
body.app-shell .hamb svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
body.app-shell .top-logo{display:none}
body.app-shell .top-spacer{flex:1}
body.app-shell .top-pills{display:flex;align-items:center;gap:13px}
body.app-shell .top-pill{
  min-width:180px;height:56px;display:flex;align-items:center;gap:12px;padding:7px 17px 7px 11px;
  border:1px solid rgba(130,169,222,.22);border-radius:30px;background:rgba(26,47,82,.4);color:#fff
}
body.app-shell a.top-pill:hover{border-color:rgba(76,150,255,.55);background:rgba(31,62,111,.55)}
body.app-shell .top-pill-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(47,124,229,.18);color:#74b8ff}
body.app-shell .top-pill-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.app-shell .top-pill-copy{display:flex;flex-direction:column;min-width:0}
body.app-shell .top-pill-copy small{font-size:10px;color:#9cacbe;line-height:1.1}
body.app-shell .top-pill-copy b{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
body.app-shell .top-icon-btn,
body.app-shell .top-user{
  width:46px;height:46px;border:0;background:transparent;color:#fff;border-radius:50%;display:grid;place-items:center;position:relative
}
body.app-shell .top-icon-btn{cursor:pointer}
body.app-shell .top-icon-btn:hover,body.app-shell .top-user:hover{background:rgba(255,255,255,.05)}
body.app-shell .top-icon-btn svg,body.app-shell .top-user svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.app-shell .top-user{border:1px solid rgba(255,255,255,.07)}
body.app-shell .top-user-initials{position:absolute;right:-2px;bottom:-2px;min-width:19px;height:19px;padding:0 4px;border-radius:10px;display:grid;place-items:center;background:#2f7ddd;border:2px solid #03152f;color:#fff;font-size:7px;font-weight:900}
body.app-shell .main{
  height:calc(100vh - var(--topbar-h));
  min-height:0;
  padding:0;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#274c7e transparent;
}
body.app-shell.home-route .main{overflow:hidden}

/* HOME */
.home-welcome{
  height:calc(100vh - var(--topbar-h) - 315px);
  min-height:390px;
  display:grid;
  grid-template-columns:55% 45%;
  align-items:center;
  position:relative;
  padding:42px 58px 8px 78px;
  overflow:hidden;
}
.home-copy{position:relative;z-index:3;max-width:660px}
.home-eyebrow{font-size:13px;letter-spacing:.16em;font-weight:800;color:#438ce8;margin-bottom:19px}
.home-copy h1{margin:0;color:#fff;font-size:clamp(48px,4.45vw,70px);line-height:1.02;letter-spacing:-.035em;font-weight:760}
.home-copy h1 span{display:inline-block;margin-top:4px;background:linear-gradient(90deg,#3185ff 0%,#4f97ff 52%,#2a70e5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-accent{width:220px;height:4px;margin:24px 0 22px;border-radius:99px;background:linear-gradient(90deg,#ff7439 0%,#ffcf27 28%,#32bf6a 63%,#14ba8c 100%)}
.home-lead{max-width:540px;margin:0;color:#b5c1d4;font-size:17px;line-height:1.5}
.home-actions{display:flex;align-items:center;gap:18px;margin-top:27px}
.home-primary,.home-secondary{height:60px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 30px;font-weight:780;font-size:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-primary{min-width:250px;background:linear-gradient(135deg,#1560e5,#2f82ff);box-shadow:0 14px 27px rgba(25,101,230,.25)}
.home-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(25,101,230,.35)}
.home-secondary{min-width:180px;border:1px solid rgba(169,192,225,.36);background:rgba(15,31,58,.55)}
.home-secondary:hover{transform:translateY(-2px);border-color:rgba(110,166,244,.65)}
.home-primary svg,.home-secondary svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-brand-stage{height:100%;position:relative;display:grid;place-items:center;z-index:1}
.home-brand-big{width:min(540px,96%);max-height:360px;object-fit:contain;opacity:.29;filter:saturate(.75) brightness(.9) contrast(1.15);transform:translateY(12px)}
.home-brand-glow{position:absolute;width:78%;height:42px;left:11%;bottom:16%;background:radial-gradient(ellipse at center,rgba(42,118,247,.45),rgba(42,118,247,.09) 48%,transparent 72%);filter:blur(7px);border-radius:50%}
.home-brand-stage::after{content:"";position:absolute;width:75%;height:2px;bottom:18%;left:12.5%;background:linear-gradient(90deg,transparent,rgba(52,126,255,.22),rgba(58,153,255,.6),rgba(52,126,255,.22),transparent);box-shadow:0 0 22px rgba(46,127,255,.4)}

.home-shortcuts{
  height:290px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px;
  padding:0 58px 28px 74px;
  position:relative;
  z-index:3;
}
.home-tile{
  --tile:#4090ff;
  position:relative;
  min-width:0;
  padding:29px 28px 25px;
  border-radius:20px;
  border:1px solid color-mix(in srgb,var(--tile) 56%,#273b5d 44%);
  background:linear-gradient(145deg,rgba(22,42,74,.9),rgba(9,29,59,.95));
  box-shadow:inset 0 0 42px rgba(76,133,219,.035),0 20px 38px rgba(0,0,0,.10);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  overflow:hidden;
}
.home-tile:hover{transform:translateY(-5px);box-shadow:inset 0 0 44px rgba(76,133,219,.06),0 24px 44px rgba(0,0,0,.18)}
.home-tile::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;left:-42px;top:-62px;background:radial-gradient(circle,color-mix(in srgb,var(--tile) 18%,transparent),transparent 70%)}
.home-tile-blue{--tile:#3f8fff}.home-tile-green{--tile:#39b866}.home-tile-orange{--tile:#ef8c28}.home-tile-purple{--tile:#9650e8}
.home-tile-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;background:radial-gradient(circle at 45% 35%,color-mix(in srgb,var(--tile) 85%,white 15%),color-mix(in srgb,var(--tile) 42%,#122544 58%));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile) 55%,white 45%),0 0 24px color-mix(in srgb,var(--tile) 20%,transparent)}
.home-tile-icon svg{width:34px;height:34px;fill:none;stroke:#e9f4ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-tile h2{margin:0 0 10px;font-size:19px;color:#fff}
.home-tile p{margin:0;max-width:220px;color:#aab8cc;font-size:14px;line-height:1.45}
.home-tile-arrow{position:absolute;right:23px;bottom:23px;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--tile) 38%,#294d73 62%);border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--tile) 17%,#10233f 83%);color:#dff1ff;font-size:26px;font-weight:300}

@media(max-height:780px) and (min-width:1101px){
  body.app-shell{--topbar-h:76px}
  body.app-shell .topbar{padding-left:26px;padding-right:24px}
  body.app-shell .top-pill{height:50px;min-width:165px}
  .home-welcome{height:calc(100vh - var(--topbar-h) - 250px);min-height:350px;padding:24px 48px 0 62px}
  .home-eyebrow{margin-bottom:12px}.home-copy h1{font-size:53px}.home-accent{margin:15px 0 14px}.home-lead{font-size:15px}.home-actions{margin-top:18px}.home-primary,.home-secondary{height:50px;border-radius:14px}
  .home-brand-big{max-height:295px}
  .home-shortcuts{height:235px;gap:20px;padding:0 46px 18px 60px}
  .home-tile{padding:20px 20px 18px;border-radius:17px}.home-tile-icon{width:58px;height:58px;margin-bottom:11px}.home-tile-icon svg{width:28px;height:28px}.home-tile h2{font-size:17px;margin-bottom:6px}.home-tile p{font-size:12px}.home-tile-arrow{width:39px;height:39px;right:16px;bottom:16px;font-size:21px}
}

@media(max-width:1200px){
  body.app-shell{--sidebar-w:230px}.home-welcome{padding-left:50px;padding-right:34px}.home-shortcuts{padding-left:46px;padding-right:36px;gap:18px}.home-tile{padding:23px 21px}.home-tile p{font-size:13px}
  body.app-shell .top-pill{min-width:160px}.home-brand-big{width:95%}
}

@media(max-width:1100px){
  body.app-shell{padding-left:0;overflow:auto}
  body.app-shell .sidebar{width:270px;transform:translateX(-100%);transition:transform .22s ease;z-index:70}
  body.app-shell.sidebar-collapsed .sidebar{transform:translateX(0)}
  body.app-shell .topbar{left:0;z-index:65}
  body.app-shell .main,body.app-shell.home-route .main{height:auto;min-height:calc(100vh - var(--topbar-h));overflow:visible}
  .home-welcome{height:auto;min-height:520px;grid-template-columns:1fr;padding:70px 48px 35px}.home-brand-stage{position:absolute;right:0;top:0;width:55%;opacity:.38}.home-copy{max-width:620px}.home-shortcuts{height:auto;grid-template-columns:repeat(2,1fr);padding:0 44px 40px}.home-tile{min-height:230px}
}

@media(max-width:760px){
  body.app-shell{--topbar-h:70px}
  body.app-shell .topbar{padding:0 14px}.top-pills .top-pill{display:none}body.app-shell .top-icon-btn{display:none}
  .home-welcome{min-height:480px;padding:50px 24px 28px}.home-copy h1{font-size:44px}.home-lead{font-size:15px}.home-actions{flex-direction:column;align-items:stretch}.home-primary,.home-secondary{width:100%;min-width:0}.home-brand-stage{display:none}.home-shortcuts{grid-template-columns:1fr;padding:0 20px 32px}.home-tile{min-height:210px}
}


/* =====================================================================
   FASE 3.0 - HOME PRO + TOPBAR DE USUARIO + MENÚ COMPLETO
   ===================================================================== */
body.app-shell{
  --sidebar-w:248px;
  --topbar-h:74px;
  transition:padding-left .22s ease,background .22s ease;
}
body.app-shell .sidebar{transition:width .22s ease,transform .22s ease,padding .22s ease}
body.app-shell .topbar{transition:left .22s ease,background .22s ease}

/* Sidebar más limpio y con iconos también en los submenús */
body.app-shell .brand img{width:122px;height:72px;margin:0 0 24px}
body.app-shell .brand span{font-size:13px;margin-bottom:14px}
body.app-shell .sidebar{padding:22px 17px 16px}
body.app-shell .sidebar nav{gap:3px}
body.app-shell .sidebar nav>a,
body.app-shell .sidebar summary{min-height:48px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:650}
body.app-shell .sidebar details>a{
  min-height:35px;
  margin:1px 0 1px 28px;
  padding:7px 10px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:9px;
  border:1px solid transparent;
  color:#a9bdd8;
  font-size:12px;
}
body.app-shell .sidebar details>a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.app-shell .sidebar details>a.active-sub{
  background:linear-gradient(90deg,rgba(45,111,212,.26),rgba(27,66,126,.18));
  border-color:rgba(78,148,244,.20);
  color:#fff;
}
body.app-shell .sidebar details>a.active-sub svg{color:#66adff}
body.app-shell .sidebar details[open]>summary{
  background:rgba(25,58,111,.26);
  border-color:rgba(80,145,235,.15);
}

/* Topbar más compacta y elegante */
body.app-shell .topbar{
  padding:0 20px 0 24px;
  background:linear-gradient(180deg,rgba(3,16,39,.97),rgba(3,20,47,.95));
}
body.app-shell .hamb{width:42px;height:42px}
body.app-shell .hamb svg{width:25px;height:25px}
body.app-shell .topbar-brand{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  width:82px;height:50px;
  opacity:.68;
  transition:opacity .18s ease,transform .18s ease;
}
body.app-shell .topbar-brand:hover{opacity:1;transform:translate(-50%,-50%) scale(1.04)}
body.app-shell .topbar-brand img{max-width:74px;max-height:42px;object-fit:contain}
body.app-shell .top-pills{gap:10px}
body.app-shell .top-pill{min-width:178px;height:50px;padding:6px 15px 6px 9px;border-radius:28px}
body.app-shell .top-pill-icon{width:36px;height:36px}
body.app-shell .top-pill-copy b{font-size:12.5px;max-width:165px}
body.app-shell .top-icon-btn{width:42px;height:42px}
body.app-shell .top-icon-btn svg{width:23px;height:23px}

/* Tres puntos + dropdown de usuario */
.user-menu-wrap{position:relative;display:flex;align-items:center}
.user-menu-trigger{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(95,158,244,.24);
  background:linear-gradient(145deg,rgba(20,65,122,.72),rgba(13,45,91,.68));
  color:#eaf4ff;display:grid;place-items:center;cursor:pointer;
  box-shadow:inset 0 0 20px rgba(69,133,230,.08);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.user-menu-trigger:hover,.user-menu-trigger[aria-expanded="true"]{background:rgba(36,97,174,.75);border-color:rgba(101,171,255,.55);transform:translateY(-1px)}
.user-menu-trigger svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.user-dropdown{
  position:absolute;right:0;top:calc(100% + 11px);z-index:500;
  width:268px;padding:12px;
  background:linear-gradient(180deg,#071a3a,#06152f);
  border:1px solid rgba(113,163,230,.28);
  border-radius:15px;
  box-shadow:0 22px 55px rgba(0,0,0,.38),inset 0 0 40px rgba(34,91,168,.05);
  opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);
  transform-origin:top right;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.user-dropdown.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.user-dropdown::before{content:"";position:absolute;right:17px;top:-7px;width:12px;height:12px;background:#071a3a;border-left:1px solid rgba(113,163,230,.28);border-top:1px solid rgba(113,163,230,.28);transform:rotate(45deg)}
.user-dropdown-head{display:grid;grid-template-columns:52px 1fr;gap:11px;align-items:center;padding:7px 6px 13px;border-bottom:1px solid rgba(132,170,220,.12);margin-bottom:7px}
.user-dropdown-avatar{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#3d8cf1,#1a5db9);color:#fff;font-size:15px;font-weight:900;box-shadow:0 8px 22px rgba(33,105,199,.25)}
.user-dropdown-copy{display:flex;flex-direction:column;min-width:0}
.user-dropdown-copy strong{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-dropdown-copy span{font-size:10px;color:#8fa9ca;margin-top:4px;text-transform:uppercase;letter-spacing:.05em}
.user-dropdown-action{width:100%;min-height:50px;border:0;background:transparent;color:#eaf2ff;border-radius:10px;padding:8px 9px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;text-align:left;cursor:pointer;font:inherit;text-decoration:none;transition:background .16s ease,color .16s ease}
.user-dropdown-action:hover{background:rgba(64,120,198,.14)}
.user-dropdown-action-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(48,112,202,.13);color:#85beff}
.user-dropdown-action-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.user-dropdown-action-copy{display:flex;flex-direction:column}
.user-dropdown-action-copy b{font-size:12.5px;font-weight:750}
.user-dropdown-action-copy small{font-size:9.5px;color:#829abc;margin-top:2px}
.user-dropdown-logout{margin-top:3px;border-top:1px solid rgba(132,170,220,.09);border-radius:0 0 10px 10px}
.user-dropdown-logout:hover{background:rgba(190,62,88,.12);color:#ffd8df}
.user-dropdown-logout .user-dropdown-action-icon{background:rgba(190,62,88,.11);color:#ff8da3}

/* HOME ajustado a la pantalla: no corta las tarjetas en resoluciones de portátil */
body.app-shell.home-route .main{
  display:grid;
  grid-template-rows:minmax(285px,1.28fr) minmax(205px,.92fr);
  overflow:hidden;
}
.home-welcome{
  height:auto;min-height:0;
  grid-template-columns:minmax(0,56%) minmax(0,44%);
  padding:28px 46px 8px 60px;
}
.home-copy{max-width:620px}
.home-eyebrow{font-size:12px;margin-bottom:13px}
.home-copy h1{font-size:clamp(46px,4.2vw,64px);line-height:.98}
.home-accent{width:220px;height:4px;margin:16px 0 15px}
.home-lead{font-size:15px;line-height:1.46;max-width:560px}
.home-actions{gap:14px;margin-top:19px}
.home-primary,.home-secondary{height:50px;border-radius:14px;font-size:14px;padding:0 24px}
.home-primary{min-width:230px}.home-secondary{min-width:170px}
.home-primary svg,.home-secondary svg{width:22px;height:22px}
.home-brand-big{width:min(470px,92%);max-height:300px;opacity:.25}
.home-shortcuts{
  height:auto;min-height:0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:8px 42px 22px 58px;
}
.home-tile{min-height:0;padding:20px 19px 18px;border-radius:18px}
.home-tile-icon{width:55px;height:55px;margin-bottom:10px}
.home-tile-icon svg{width:27px;height:27px}
.home-tile h2{font-size:16.5px;margin:0 0 6px}
.home-tile p{font-size:11.5px;line-height:1.38;max-width:200px;padding-right:20px}
.home-tile-arrow{width:38px;height:38px;right:14px;bottom:14px;font-size:20px}

/* Tarjetas para módulos que todavía se integrarán en siguientes fases */
.module-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.module-launch-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.module-launch-card{position:relative;min-height:190px;padding:22px;border-radius:17px;background:linear-gradient(145deg,#0a2c5b,#09274e);border:1px solid #194d81;display:grid;grid-template-columns:54px 1fr;gap:15px;align-content:start;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.module-launch-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#287ee0,#164e9e);font-size:19px;font-weight:900;color:#fff}
.module-launch-card h2{margin:2px 0 7px;font-size:18px}.module-launch-card p{margin:0;color:#9eb5d5;font-size:12px;line-height:1.5}
.module-status{grid-column:1/-1;margin-top:10px;width:max-content;padding:6px 9px;border-radius:999px;border:1px solid #2c669d;color:#7fbbf3;font-size:10px}

/* Sidebar contraído en escritorio */
@media(min-width:1101px){
  body.app-shell.sidebar-collapsed{--sidebar-w:78px}
  body.app-shell.sidebar-collapsed .sidebar{padding-left:11px;padding-right:11px}
  body.app-shell.sidebar-collapsed .brand{padding:0}
  body.app-shell.sidebar-collapsed .brand img{width:52px;height:60px;margin:0 auto 18px;object-fit:contain}
  body.app-shell.sidebar-collapsed .brand span,
  body.app-shell.sidebar-collapsed .sidebar-foot,
  body.app-shell.sidebar-collapsed .sidebar nav>a b,
  body.app-shell.sidebar-collapsed .sidebar summary span,
  body.app-shell.sidebar-collapsed .sidebar summary svg:last-child,
  body.app-shell.sidebar-collapsed .sidebar details>a{display:none}
  body.app-shell.sidebar-collapsed .sidebar nav>a,
  body.app-shell.sidebar-collapsed .sidebar summary{grid-template-columns:1fr;padding:10px;place-items:center}
  body.app-shell.sidebar-collapsed .sidebar nav>a::before{display:none}
  body.app-shell.sidebar-collapsed .sidebar nav>a svg,
  body.app-shell.sidebar-collapsed .sidebar summary svg:first-child{width:24px;height:24px}
}

/* Resoluciones de portátil: todo el HOME entra completo */
@media(max-height:720px) and (min-width:1101px){
  body.app-shell{--topbar-h:68px}
  body.app-shell .topbar{padding-left:18px;padding-right:16px}
  body.app-shell .top-pill{height:46px;min-width:165px}
  body.app-shell .top-pill-icon{width:32px;height:32px}
  body.app-shell .topbar-brand img{max-height:35px}
  body.app-shell.home-route .main{grid-template-rows:minmax(270px,1.18fr) minmax(205px,.82fr)}
  .home-welcome{padding:20px 36px 2px 50px}
  .home-eyebrow{margin-bottom:8px}.home-copy h1{font-size:50px}.home-accent{margin:10px 0 10px}.home-lead{font-size:13px}.home-actions{margin-top:13px}.home-primary,.home-secondary{height:45px}
  .home-brand-big{max-height:245px}
  .home-shortcuts{gap:14px;padding:5px 32px 14px 48px}
  .home-tile{padding:15px 15px 13px}.home-tile-icon{width:48px;height:48px;margin-bottom:7px}.home-tile-icon svg{width:23px;height:23px}.home-tile h2{font-size:15px;margin-bottom:4px}.home-tile p{font-size:10.5px}.home-tile-arrow{width:34px;height:34px;right:11px;bottom:11px}
  body.app-shell .brand img{height:58px;margin-bottom:14px}.sidebar-foot{font-size:9px!important}
  body.app-shell .sidebar nav>a,body.app-shell .sidebar summary{min-height:43px;padding:8px 10px;font-size:12.5px}
  body.app-shell .sidebar details>a{min-height:31px;padding:5px 8px;font-size:11px}
}

/* Tema claro para el sistema interno */
html[data-theme="light"] body.app-shell{
  --text:#102443;--muted:#667d9e;
  background:linear-gradient(135deg,#eef5fb,#e6f0fa 55%,#f5f9fd);
  color:#102443;
}
html[data-theme="light"] body.app-shell .sidebar{background:linear-gradient(180deg,#f8fbff,#eef5fc);border-right-color:#d5e2ef;box-shadow:14px 0 35px rgba(31,67,109,.08)}
html[data-theme="light"] body.app-shell .brand span{color:#203956}
html[data-theme="light"] body.app-shell .sidebar nav>a,
html[data-theme="light"] body.app-shell .sidebar summary{color:#284361}
html[data-theme="light"] body.app-shell .sidebar nav>a.active{background:linear-gradient(90deg,#dbeaff,#eef5ff);color:#0f3768;border-color:#c3ddfb}
html[data-theme="light"] body.app-shell .sidebar details>a{color:#587391}
html[data-theme="light"] body.app-shell .sidebar details>a.active-sub{background:#e1eeff;color:#123d72;border-color:#c6def8}
html[data-theme="light"] body.app-shell .sidebar details[open]>summary{background:#edf5ff;border-color:#d1e3f5}
html[data-theme="light"] body.app-shell .sidebar-foot{color:#526d8c}
html[data-theme="light"] body.app-shell .sidebar-foot small{color:#7b91ab}
html[data-theme="light"] body.app-shell .topbar{background:rgba(249,252,255,.96);border-bottom-color:#d5e1ed;box-shadow:0 8px 26px rgba(45,74,108,.07)}
html[data-theme="light"] body.app-shell .hamb{color:#183553}
html[data-theme="light"] body.app-shell .top-pill{background:#f2f7fd;border-color:#cfdeee;color:#17334f}
html[data-theme="light"] body.app-shell .top-pill-copy small{color:#71859c}
html[data-theme="light"] body.app-shell .top-icon-btn{color:#17334f}
html[data-theme="light"] .user-menu-trigger{background:#e8f2ff;color:#1a548f;border-color:#c6dcf3}
html[data-theme="light"] .user-dropdown{background:#fff;border-color:#d3e0ee;box-shadow:0 22px 55px rgba(31,60,95,.18)}
html[data-theme="light"] .user-dropdown::before{background:#fff;border-color:#d3e0ee}
html[data-theme="light"] .user-dropdown-head{border-bottom-color:#e5edf5}
html[data-theme="light"] .user-dropdown-copy strong{color:#17334f}
html[data-theme="light"] .user-dropdown-copy span{color:#70849c}
html[data-theme="light"] .user-dropdown-action{color:#203b5b}
html[data-theme="light"] .user-dropdown-action:hover{background:#eef5fc}
html[data-theme="light"] .user-dropdown-action-copy small{color:#7c90a6}
html[data-theme="light"] body.app-shell .card,
html[data-theme="light"] .module-launch-card{background:#fff;border-color:#d5e2ef;box-shadow:0 12px 30px rgba(40,72,109,.08)}
html[data-theme="light"] body.app-shell .page-title,
html[data-theme="light"] body.app-shell .card h1,
html[data-theme="light"] body.app-shell .card h2,
html[data-theme="light"] body.app-shell .card h3,
html[data-theme="light"] .module-launch-card h2{color:#152e4c}
html[data-theme="light"] body.app-shell .sub,
html[data-theme="light"] .module-launch-card p{color:#6f829b}
html[data-theme="light"] body.app-shell .table th{color:#456888;border-bottom-color:#d6e3ef}
html[data-theme="light"] body.app-shell .table td{border-bottom-color:#e2eaf2;color:#29445f}
html[data-theme="light"] body.app-shell .input,
html[data-theme="light"] body.app-shell .select,
html[data-theme="light"] body.app-shell .textarea{background:#fff;border-color:#ccdceb;color:#183450}
html[data-theme="light"] .home-copy h1{color:#17314f}
html[data-theme="light"] .home-lead{color:#60758e}
html[data-theme="light"] .home-secondary{color:#17334f;background:#fff;border-color:#c9d8e7}
html[data-theme="light"] .home-tile{background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 14px 30px rgba(40,72,109,.08)}
html[data-theme="light"] .home-tile h2{color:#17314f}
html[data-theme="light"] .home-tile p{color:#6c8098}
html[data-theme="light"] .home-brand-big{opacity:.18}

@media(max-width:1100px){
  body.app-shell .topbar-brand{display:none}
  body.app-shell .top-pills{gap:7px}
  .module-launch-grid,.module-launch-grid-3{grid-template-columns:1fr}
  body.app-shell.home-route .main{display:block;overflow:visible}
}
@media(max-width:760px){
  .user-dropdown{right:-3px;width:min(270px,calc(100vw - 24px))}
  body.app-shell .top-pills .top-pill{display:none}
  .home-shortcuts{padding-left:18px;padding-right:18px}
}


/* =========================================================
   FASE 3.8 - MENÚ DE USUARIO BELLO Y EQUILIBRADO
   Corrige el disparador superior y deja el dropdown elegante.
   ========================================================= */
.user-menu-wrap{position:relative}
.user-menu-trigger{
  width:168px;
  min-height:48px;
  padding:6px 10px 6px 8px;
  border-radius:999px;
  border:1px solid rgba(95,158,240,.30);
  background:linear-gradient(180deg,rgba(18,46,94,.96),rgba(11,32,69,.98));
  box-shadow:0 10px 22px rgba(0,9,34,.24), inset 0 1px 0 rgba(255,255,255,.035);
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 14px;
  gap:8px;
  align-items:center;
  color:#eef5ff;
}
.user-menu-trigger:hover,.user-menu-trigger[aria-expanded="true"]{
  background:linear-gradient(180deg,rgba(22,56,112,.98),rgba(12,36,76,.99));
  border-color:rgba(121,183,255,.46);
  transform:translateY(-1px);
}
.user-menu-trigger-avatar{
  width:34px;height:34px;
  border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#3f95ff,#1f68cc);
  box-shadow:0 6px 14px rgba(23,99,207,.22), inset 0 1px 0 rgba(255,255,255,.16);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.user-menu-trigger-copy{display:flex;flex-direction:column;min-width:0;align-items:flex-start;gap:1px}
.user-menu-trigger-copy b{display:block;max-width:100%;color:#fff;font-size:11.5px;line-height:1.1;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-menu-trigger-copy small{display:block;max-width:100%;color:#99afcd;font-size:9.2px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none}
.user-menu-trigger-caret{display:flex;align-items:center;justify-content:center;color:#88add8;transition:transform .18s ease,color .18s ease}
.user-menu-trigger-caret svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg)}
.user-menu-trigger[aria-expanded="true"] .user-menu-trigger-caret{color:#d2e7ff}
.user-menu-trigger[aria-expanded="true"] .user-menu-trigger-caret svg{transform:rotate(-90deg)}

.user-dropdown{
  width:252px;
  padding:12px;
  border-radius:18px;
  overflow:visible;
  background:
    radial-gradient(circle at 88% 0%,rgba(64,149,255,.11),transparent 34%),
    linear-gradient(180deg,rgba(8,28,63,.995),rgba(5,21,47,.998));
  border:1px solid rgba(84,148,233,.24);
  box-shadow:0 22px 55px rgba(0,8,28,.46),0 6px 18px rgba(16,82,174,.08),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.user-dropdown::before{
  content:"";
  position:absolute;
  right:20px;top:-6px;
  width:11px;height:11px;
  transform:rotate(45deg);
  background:#081e44;
  border-left:1px solid rgba(84,148,233,.24);
  border-top:1px solid rgba(84,148,233,.24);
}
.user-dropdown::after{
  content:"";
  position:absolute;
  left:14px;right:14px;top:0;
  height:2px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,#3a9ff0,#50d0c5,transparent);
  opacity:.86;
  pointer-events:none;
}
.user-dropdown-head{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:6px 6px 12px;
  margin:0 0 8px;
  border-bottom:1px solid rgba(137,176,228,.10);
}
.user-dropdown-avatar{
  width:50px;height:50px;
  border-radius:50%;
  display:grid;place-items:center;
  color:#fff;font-size:17px;font-weight:900;
  background:linear-gradient(145deg,#3d94ff,#1b63c9);
  box-shadow:0 8px 18px rgba(23,99,207,.22), inset 0 1px 0 rgba(255,255,255,.16);
}
.user-dropdown-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}
.user-dropdown-copy strong{display:block;max-width:100%;color:#fff;font-size:13px;line-height:1.15;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-dropdown-role{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#8fa8c8!important;font-size:9.5px!important;font-weight:700;letter-spacing:0!important;text-transform:none!important}
.user-dropdown-role i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#48d59f;box-shadow:0 0 8px rgba(72,213,159,.45)}

.user-dropdown-list{padding:2px 0 0}
.user-dropdown-link{
  box-sizing:border-box;
  width:100%;
  min-height:40px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#eaf2ff;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  text-decoration:none;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.user-dropdown-link:hover{background:rgba(58,115,193,.12);border-color:rgba(86,147,226,.08);color:#fff}
.user-dropdown-link:focus-visible{outline:none;border-color:rgba(82,158,255,.55);box-shadow:0 0 0 3px rgba(45,127,238,.08)}
.user-dropdown-static{cursor:default}
.user-dropdown-static:hover{background:rgba(58,115,193,.06)}
.user-dropdown-link-icon{
  width:28px;height:28px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#b9d8ff;
  background:rgba(30,85,160,.18);
  border:1px solid rgba(92,151,230,.14);
  line-height:0;
}
.user-dropdown-link-icon svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.user-dropdown-link>span:nth-child(2){min-width:0;font-size:12px;line-height:1.2;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-dropdown-link small{display:inline-flex;align-items:center;color:#8da3c1;font-size:9px;line-height:1;white-space:nowrap;background:transparent;border:0;padding:0}
.user-dropdown-divider{height:1px;margin:8px 6px;background:linear-gradient(90deg,transparent,rgba(137,176,228,.12),transparent)}
.user-dropdown-logout{color:#ff7a93}
.user-dropdown-logout .user-dropdown-link-icon{color:#ff7590;background:rgba(163,39,67,.14);border-color:rgba(255,101,129,.18)}
.user-dropdown-logout:hover{background:rgba(190,62,88,.10);border-color:rgba(232,92,119,.08);color:#ff9bad}

html[data-theme="light"] .user-menu-trigger{background:linear-gradient(180deg,#ffffff,#f6faff);color:#17334f;border-color:#d4e1ef;box-shadow:0 8px 20px rgba(31,60,95,.12)}
html[data-theme="light"] .user-menu-trigger-copy b{color:#17334f}
html[data-theme="light"] .user-menu-trigger-copy small{color:#6e849c}
html[data-theme="light"] .user-menu-trigger-caret{color:#6f86a2}
html[data-theme="light"] .user-dropdown{background:linear-gradient(180deg,#ffffff,#f7faff);border-color:#d3e0ee;box-shadow:0 16px 34px rgba(31,60,95,.16)}
html[data-theme="light"] .user-dropdown::before{background:#fff;border-color:#d3e0ee}
html[data-theme="light"] .user-dropdown-head{border-bottom-color:#e4edf6}
html[data-theme="light"] .user-dropdown-copy strong{color:#17334f}
html[data-theme="light"] .user-dropdown-role{color:#72859b!important}
html[data-theme="light"] .user-dropdown-link{color:#24425f}
html[data-theme="light"] .user-dropdown-link:hover{background:#eef5fc;border-color:#e0ebf5}
html[data-theme="light"] .user-dropdown-link-icon{color:#4777aa;background:#edf5fd;border-color:#cfe1f3}
html[data-theme="light"] .user-dropdown-link small{color:#70859e}
html[data-theme="light"] .user-dropdown-divider{background:linear-gradient(90deg,transparent,#e2ebf4,transparent)}
html[data-theme="light"] .user-dropdown-logout{color:#d94e67}
html[data-theme="light"] .user-dropdown-logout .user-dropdown-link-icon{color:#d94e67;background:#fff0f3;border-color:#f1cfd7}
html[data-theme="light"] .user-dropdown-logout:hover{background:#fff0f3;color:#c93d58}

@media(max-width:760px){
  .user-menu-trigger{width:152px;min-height:44px;padding:6px 9px 6px 7px;grid-template-columns:32px minmax(0,1fr) 12px;gap:7px}
  .user-menu-trigger-avatar{width:32px;height:32px;font-size:11px}
  .user-dropdown{width:min(252px,calc(100vw - 16px));padding:10px;border-radius:16px}
  .user-dropdown-head{grid-template-columns:46px minmax(0,1fr);gap:10px}
  .user-dropdown-avatar{width:46px;height:46px;font-size:15px}
}


/* =========================================================
   FASE 3.9 - TOPBAR CLEAN EXECUTIVE
   Corrige solapamientos y deja un encabezado limpio.
   ========================================================= */
body.app-shell .topbar{
  padding:0 24px 0 22px;
  background:linear-gradient(180deg,rgba(3,16,39,.985),rgba(3,20,47,.975));
  border-bottom:1px solid rgba(128,168,222,.11);
  box-shadow:0 8px 26px rgba(0,0,0,.10);
}
body.app-shell .topbar-brand{display:none!important}
body.app-shell .top-pills{gap:9px}
body.app-shell .top-pill{
  min-width:168px;
  height:48px;
  padding:5px 14px 5px 8px;
  gap:9px;
  border-radius:25px;
  border-color:rgba(108,163,235,.24);
  background:linear-gradient(180deg,rgba(18,45,86,.72),rgba(12,34,68,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.app-shell .top-pill:hover{background:linear-gradient(180deg,rgba(24,57,105,.78),rgba(15,41,79,.84))}
body.app-shell .top-pill-icon{width:34px;height:34px;background:rgba(48,123,225,.14)}
body.app-shell .top-pill-icon svg{width:18px;height:18px}
body.app-shell .top-pill-copy small{font-size:8.5px;letter-spacing:.04em;color:#8fa5c2}
body.app-shell .top-pill-copy b{font-size:12px;max-width:150px;line-height:1.15}
body.app-shell .top-icon-btn{width:40px;height:40px}
body.app-shell .top-icon-btn svg{width:20px;height:20px}

.user-menu-wrap{margin-left:2px}
.user-menu-trigger{
  position:relative;
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  background:linear-gradient(145deg,rgba(42,112,211,.95),rgba(24,76,157,.98))!important;
  border:1px solid rgba(118,180,255,.45)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.16)!important;
  overflow:visible;
}
.user-menu-trigger:hover,.user-menu-trigger[aria-expanded="true"]{
  transform:translateY(-1px) scale(1.02)!important;
  background:linear-gradient(145deg,rgba(52,128,231,.98),rgba(28,85,174,.99))!important;
  border-color:rgba(145,199,255,.65)!important;
}
.user-menu-trigger-avatar{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:12px!important;
  display:grid!important;
  place-items:center!important;
}
.user-menu-trigger-status{
  position:absolute;
  right:1px;
  bottom:1px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#42d69c;
  border:2px solid #061936;
  box-shadow:0 0 8px rgba(66,214,156,.5);
}
.user-menu-trigger-copy,.user-menu-trigger-caret{display:none!important}

.user-dropdown{right:0!important;top:calc(100% + 12px)!important;width:246px!important}
.user-dropdown::before{right:16px!important}

@media(max-width:1180px){
  body.app-shell .top-pill{min-width:148px;padding-right:11px}
  body.app-shell .top-pill-copy b{max-width:125px}
}
@media(max-width:900px){
  body.app-shell .top-pills .top-pill{display:none}
  body.app-shell .topbar{padding:0 14px}
}

html[data-theme="light"] body.app-shell .top-pill{
  background:linear-gradient(180deg,#f7fbff,#eef5fc);
  border-color:#d2e1ef;
}
html[data-theme="light"] .user-menu-trigger{
  background:linear-gradient(145deg,#4b98ef,#2d72c8)!important;
  border-color:#c8e2ff!important;
}
html[data-theme="light"] .user-menu-trigger-status{border-color:#f6faff}


/* =========================================================
   FASE 4.0 - TOPBAR ESTILO SISTEMA KPI
   Réplica limpia del encabezado de referencia.
   ========================================================= */
body.app-shell .topbar{
  height:70px;
  padding:0 28px 0 28px;
  background:#03122d;
  border-bottom:1px solid rgba(113,153,207,.08);
  box-shadow:none;
}
body.app-shell .hamb{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#f3f6fb;
  border-radius:10px;
}
body.app-shell .hamb:hover{background:rgba(255,255,255,.045)}
body.app-shell .hamb svg{width:25px;height:25px;stroke-width:2}

body.app-shell .topbar-brand{
  display:flex!important;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  align-items:center;
  justify-content:center;
  opacity:.9;
  z-index:1;
}
body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.03)}
body.app-shell .topbar-brand img{width:auto;max-width:62px;max-height:38px;object-fit:contain}
body.app-shell .top-spacer{flex:1}
body.app-shell .topbar-context{display:flex;align-items:center;gap:18px;z-index:2}

.top-context-card{
  min-height:48px;
  display:flex;
  align-items:center;
  border:1px solid rgba(83,145,227,.34);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(16,40,79,.92),rgba(11,31,64,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
.top-context-item{
  min-width:0;
  height:46px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:5px 15px 5px 10px;
  color:#f3f7ff;
  text-decoration:none;
}
a.top-context-item:hover{background:rgba(50,112,194,.12)}
.top-context-company{min-width:196px}
.top-context-item:not(.top-context-company){min-width:188px}
.top-context-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#6eb8ff;
  background:rgba(36,103,190,.20);
}
.top-context-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.top-context-copy{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.top-context-copy small{color:#91a6c2;font-size:9px;letter-spacing:.05em;margin-bottom:2px}
.top-context-copy b{display:block;max-width:155px;color:#fff;font-size:12px;line-height:1.1;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-context-divider{width:1px;height:26px;flex:0 0 1px;background:rgba(132,169,219,.18)}

body.app-shell .topbar-bell{
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:#f3f6fb;
}
body.app-shell .topbar-bell:hover{background:rgba(255,255,255,.045)}
body.app-shell .topbar-bell svg{width:20px;height:20px}

.user-menu-wrap{margin-left:0}
.user-menu-trigger.topbar-dots{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  background:transparent!important;
  border:3px solid rgba(51,89,145,.55)!important;
  box-shadow:none!important;
  color:#a8b8cf!important;
}
.user-menu-trigger.topbar-dots:hover,
.user-menu-trigger.topbar-dots[aria-expanded="true"]{
  transform:none!important;
  background:rgba(32,71,132,.18)!important;
  border-color:rgba(79,134,211,.68)!important;
  color:#eef5ff!important;
}
.user-menu-trigger.topbar-dots svg{width:22px!important;height:22px!important;fill:none;stroke:currentColor;stroke-width:1.9}
.user-dropdown{right:0!important;top:calc(100% + 12px)!important}
.user-dropdown::before{right:17px!important}

@media(max-width:1280px){
  body.app-shell .topbar{padding-left:20px;padding-right:20px}
  .top-context-company{min-width:170px}
  .top-context-item:not(.top-context-company){min-width:160px}
  .top-context-copy b{max-width:130px}
  body.app-shell .topbar-context{gap:12px}
}
@media(max-width:1040px){
  .top-context-card{display:none}
  body.app-shell .topbar-brand{display:flex!important}
}
@media(max-width:760px){
  body.app-shell .topbar{height:64px;padding:0 12px}
  body.app-shell .topbar-brand img{max-width:54px;max-height:32px}
  body.app-shell .topbar-context{gap:8px}
  body.app-shell .topbar-bell{width:36px;height:36px}
  .user-menu-trigger.topbar-dots{width:42px!important;height:42px!important;min-height:42px!important;border-width:2px!important}
}

html[data-theme="light"] body.app-shell .topbar{background:#f8fbff;border-bottom-color:#dfe8f2}
html[data-theme="light"] .top-context-card{background:linear-gradient(180deg,#fff,#f3f8fd);border-color:#cbdceb}
html[data-theme="light"] .top-context-item{color:#17334f}
html[data-theme="light"] .top-context-copy small{color:#72869d}
html[data-theme="light"] .top-context-copy b{color:#17334f}
html[data-theme="light"] .top-context-icon{background:#eaf4ff;color:#2e74ba}
html[data-theme="light"] .top-context-divider{background:#d9e4ef}
html[data-theme="light"] body.app-shell .topbar-bell{color:#254866}
html[data-theme="light"] .user-menu-trigger.topbar-dots{color:#55718d!important;border-color:#c8d8e8!important}


/* =========================================================
   FASE 4.1 - TOPBAR ELEGANT GLASS
   Nuevo diseño: limpio, ejecutivo y sin campana.
   ========================================================= */
body.app-shell .topbar{
  height:72px;
  padding:0 26px;
  background:
    linear-gradient(180deg,rgba(3,17,42,.995),rgba(4,24,54,.99));
  border-bottom:1px solid rgba(112,157,220,.10);
  box-shadow:0 10px 28px rgba(0,8,28,.10);
}
body.app-shell .hamb{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#dbe8fb;
}
body.app-shell .hamb:hover{
  background:rgba(63,119,196,.10);
  border-color:rgba(92,151,230,.12);
}
body.app-shell .hamb svg{width:23px;height:23px;stroke-width:2}

body.app-shell .topbar-brand{
  display:flex!important;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  align-items:center;
  justify-content:center;
  z-index:1;
  opacity:.96;
}
body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.03)}
body.app-shell .topbar-brand img{
  width:auto;
  max-width:76px;
  max-height:46px;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(31,106,197,.14));
}
body.app-shell .top-spacer{flex:1}
body.app-shell .topbar-context{
  display:flex;
  align-items:center;
  gap:10px;
  z-index:3;
}

/* Contenedor sin cápsula gigante: dos tarjetas independientes */
.top-context-card{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.top-context-divider{display:none!important}
.top-context-item{
  height:44px;
  min-width:0!important;
  padding:5px 13px 5px 7px;
  gap:9px;
  border:1px solid rgba(99,158,239,.22);
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(17,44,87,.82),rgba(11,34,69,.88));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 5px 14px rgba(0,7,26,.08);
  color:#f3f7ff;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
a.top-context-item:hover{
  background:linear-gradient(180deg,rgba(22,55,105,.90),rgba(14,40,79,.94));
  border-color:rgba(114,178,255,.34);
  transform:translateY(-1px);
}
.top-context-company{width:196px}
.top-context-item:not(.top-context-company){width:176px}
.top-context-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#76bcff;
  background:linear-gradient(145deg,rgba(43,112,210,.26),rgba(31,82,160,.18));
  box-shadow:inset 0 0 0 1px rgba(103,168,248,.09);
}
.top-context-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.top-context-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.04;
}
.top-context-copy small{
  color:#879dbb;
  font-size:8px;
  font-weight:650;
  letter-spacing:.08em;
  margin-bottom:3px;
}
.top-context-copy b{
  display:block;
  max-width:140px;
  color:#f6f9ff;
  font-size:11.5px;
  line-height:1.08;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-context-company .top-context-copy b{max-width:145px}

/* Sin campana */
body.app-shell .topbar-bell{display:none!important}

/* Tres puntos: pequeño, limpio y con acento azul */
.user-menu-wrap{margin-left:2px}
.user-menu-trigger.topbar-dots{
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:13px!important;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  background:linear-gradient(180deg,rgba(19,49,96,.86),rgba(12,35,72,.92))!important;
  border:1px solid rgba(103,166,246,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  color:#a9bdd8!important;
}
.user-menu-trigger.topbar-dots:hover,
.user-menu-trigger.topbar-dots[aria-expanded="true"]{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,rgba(28,66,125,.94),rgba(17,44,88,.96))!important;
  border-color:rgba(119,184,255,.42)!important;
  color:#f0f6ff!important;
}
.user-menu-trigger.topbar-dots svg{
  width:20px!important;
  height:20px!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
}
.user-dropdown{right:0!important;top:calc(100% + 10px)!important}
.user-dropdown::before{right:15px!important}

@media(max-width:1280px){
  body.app-shell .topbar{padding:0 18px}
  .top-context-company{width:174px}
  .top-context-item:not(.top-context-company){width:158px}
  .top-context-copy b{max-width:122px}
  .top-context-company .top-context-copy b{max-width:128px}
}
@media(max-width:1060px){
  body.app-shell .topbar-brand{display:none!important}
  .top-context-company{width:164px}
  .top-context-item:not(.top-context-company){width:150px}
}
@media(max-width:860px){
  .top-context-card{display:none}
  body.app-shell .topbar-brand{display:flex!important}
}
@media(max-width:620px){
  body.app-shell .topbar{height:64px;padding:0 12px}
  body.app-shell .topbar-brand img{max-width:60px;max-height:36px}
  .user-menu-trigger.topbar-dots{width:38px!important;height:38px!important;min-height:38px!important;border-radius:12px!important}
}

html[data-theme="light"] body.app-shell .topbar{
  background:linear-gradient(180deg,#fbfdff,#f4f8fc);
  border-bottom-color:#dfe8f2;
}
html[data-theme="light"] .top-context-item{
  background:linear-gradient(180deg,#ffffff,#f5f9fd);
  border-color:#d5e2ef;
  box-shadow:0 4px 12px rgba(31,60,95,.06),inset 0 1px 0 #fff;
}
html[data-theme="light"] .top-context-copy small{color:#71869f}
html[data-theme="light"] .top-context-copy b{color:#17334f}
html[data-theme="light"] .top-context-icon{background:#eaf4ff;color:#2e74ba}
html[data-theme="light"] .user-menu-trigger.topbar-dots{
  background:linear-gradient(180deg,#ffffff,#f1f6fb)!important;
  border-color:#d1dfed!important;
  color:#5f7893!important;
}


/* =========================================================
   FASE 4.2 - TOPBAR CONTEXTO COMPLETO
   Muestra empresa y rol completos, sin cortes ni puntos suspensivos.
   ========================================================= */
body.app-shell .topbar{
  height:72px;
  padding:0 24px;
}
body.app-shell .topbar-brand img{
  max-width:68px;
  max-height:40px;
}
body.app-shell .topbar-context{
  gap:12px;
  margin-left:auto;
}
.top-context-card{
  display:flex;
  align-items:center;
  gap:0;
  min-height:54px;
  padding:4px 10px;
  border:1px solid rgba(99,158,239,.24);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(19,46,89,.88),rgba(11,34,69,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 18px rgba(0,8,28,.12);
  overflow:visible;
}
.top-context-divider{
  display:block !important;
  width:1px;
  height:30px;
  margin:0 10px;
  background:rgba(127,168,220,.30);
  flex:0 0 1px;
}
.top-context-item,
a.top-context-item,
.top-context-item:not(.top-context-company),
.top-context-company{
  width:auto !important;
  min-width:unset !important;
  height:44px;
  padding:5px 10px 5px 7px;
  border:0 !important;
  border-radius:18px;
  background:transparent !important;
  box-shadow:none !important;
  gap:10px;
}
a.top-context-item:hover{
  transform:none;
  background:rgba(255,255,255,.04) !important;
}
.top-context-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
}
.top-context-copy{
  min-width:0;
}
.top-context-copy small{
  font-size:9px;
  letter-spacing:.12em;
  color:#8fa5c2;
  margin-bottom:2px;
}
.top-context-copy b,
.top-context-company .top-context-copy b{
  max-width:none !important;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-size:13px;
  line-height:1.1;
}
.top-context-company .top-context-copy b{
  min-width:170px;
}
.top-context-item:last-child .top-context-copy b{
  min-width:155px;
}
.user-menu-wrap{margin-left:2px}
.user-menu-trigger.topbar-dots{
  width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:13px !important;
}
@media (max-width:1280px){
  body.app-shell .topbar{padding:0 18px;}
  .top-context-card{padding:4px 8px;}
  .top-context-divider{margin:0 8px;}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:12.2px;}
  .top-context-company .top-context-copy b{min-width:145px;}
  .top-context-item:last-child .top-context-copy b{min-width:132px;}
}
@media (max-width:1120px){
  body.app-shell .topbar-brand{display:none !important;}
}
@media (max-width:980px){
  .top-context-card{
    min-height:48px;
    padding:3px 7px;
  }
  .top-context-item,.top-context-company,.top-context-item:not(.top-context-company){height:40px;padding:4px 8px 4px 6px;gap:8px;}
  .top-context-icon{width:28px;height:28px;flex-basis:28px;}
  .top-context-copy small{font-size:8px;}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:11.4px;}
  .top-context-company .top-context-copy b{min-width:126px;}
  .top-context-item:last-child .top-context-copy b{min-width:116px;}
}
@media (max-width:860px){
  .top-context-card{display:none;}
  body.app-shell .topbar-brand{display:flex !important;}
}
html[data-theme="light"] .top-context-card{
  background:linear-gradient(180deg,#ffffff,#f5f9fd);
  border-color:#d4e1ef;
  box-shadow:0 6px 14px rgba(31,60,95,.07), inset 0 1px 0 #fff;
}
html[data-theme="light"] .top-context-divider{background:#d6e3ef;}
html[data-theme="light"] a.top-context-item:hover{background:#eef5fc !important;}


/* =========================================================
   FASE 4.3 - TOPBAR ESTILO SISTEMA ANTERIOR
   Barra superior limpia, cápsula a la derecha y textos completos.
   ========================================================= */
body.app-shell .topbar{
  height:72px;
  padding:0 22px;
  background:linear-gradient(180deg,rgba(3,18,45,.995),rgba(4,23,53,.99));
  border-bottom:1px solid rgba(76,118,170,.16);
}
body.app-shell .hamb{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#dbe8fb;
}
body.app-shell .hamb:hover{background:rgba(63,119,196,.10);border-color:rgba(92,151,230,.12)}
body.app-shell .hamb svg{width:22px;height:22px;stroke-width:2}

body.app-shell .topbar-brand{
  display:flex !important;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  align-items:center;
  justify-content:center;
  z-index:1;
  opacity:.98;
  pointer-events:auto;
}
body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.03)}
body.app-shell .topbar-brand img{
  width:auto;
  max-width:72px;
  max-height:42px;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(30,104,197,.12));
}
body.app-shell .top-spacer{flex:1}
body.app-shell .topbar-context{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex:0 0 auto;
  position:relative;
  z-index:3;
}
.top-context-card{
  display:flex;
  align-items:center;
  gap:0;
  min-height:56px;
  padding:4px 10px;
  border:1px solid rgba(96,156,236,.28);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(18,46,90,.92),rgba(11,33,68,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 22px rgba(0,8,28,.12);
  overflow:hidden;
}
.top-context-item,
a.top-context-item,
.top-context-company,
.top-context-item:not(.top-context-company){
  min-width:0 !important;
  width:auto !important;
  height:46px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:5px 12px 5px 9px;
  color:#f3f7ff;
  text-decoration:none;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:20px;
}
a.top-context-item:hover{background:rgba(255,255,255,.04) !important;transform:none !important}
.top-context-company{padding-right:14px}
.top-context-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#72b9ff;
  background:rgba(39,105,191,.18);
  box-shadow:inset 0 0 0 1px rgba(104,169,248,.10);
}
.top-context-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.top-context-copy{display:flex;flex-direction:column;min-width:0;line-height:1.04}
.top-context-copy small{
  color:#92a8c3;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  margin-bottom:2px;
}
.top-context-copy b,
.top-context-company .top-context-copy b{
  display:block;
  max-width:none !important;
  color:#fff;
  font-size:12.5px;
  line-height:1.08;
  font-weight:800;
  white-space:nowrap;
  overflow:visible !important;
  text-overflow:clip !important;
}
.top-context-divider{
  display:block !important;
  width:1px !important;
  min-width:1px !important;
  height:28px !important;
  flex:0 0 1px !important;
  margin:0 8px !important;
  background:rgba(132,169,219,.24) !important;
  border-radius:0 !important;
}
body.app-shell .topbar-bell{display:none !important}
.user-menu-wrap{margin-left:2px}
.user-menu-trigger.topbar-dots{
  width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border-radius:15px !important;
  display:grid !important;
  place-items:center !important;
  grid-template-columns:1fr !important;
  background:linear-gradient(180deg,rgba(20,50,99,.90),rgba(12,35,72,.96)) !important;
  border:1px solid rgba(103,166,246,.25) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  color:#adbfda !important;
}
.user-menu-trigger.topbar-dots:hover,
.user-menu-trigger.topbar-dots[aria-expanded="true"]{
  transform:translateY(-1px) !important;
  background:linear-gradient(180deg,rgba(28,66,125,.96),rgba(17,44,88,.98)) !important;
  border-color:rgba(119,184,255,.42) !important;
  color:#f2f7ff !important;
}
.user-menu-trigger.topbar-dots svg{width:20px !important;height:20px !important;fill:none;stroke:currentColor;stroke-width:1.9}
.user-dropdown{right:0 !important;top:calc(100% + 10px) !important}
.user-dropdown::before{right:17px !important}

@media (max-width:1360px){
  body.app-shell .topbar{padding:0 18px}
  .top-context-card{padding:4px 8px}
  .top-context-item,.top-context-company,.top-context-item:not(.top-context-company){padding:5px 10px 5px 8px;gap:8px}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:11.8px}
}
@media (max-width:1180px){
  body.app-shell .topbar-brand{display:none !important}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:11.2px}
}
@media (max-width:960px){
  .top-context-card{min-height:50px;padding:3px 7px}
  .top-context-item,.top-context-company,.top-context-item:not(.top-context-company){height:40px;padding:4px 8px 4px 6px;gap:7px}
  .top-context-icon{width:30px;height:30px;flex-basis:30px}
  .top-context-copy small{font-size:8px}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:10.8px}
}
@media (max-width:860px){
  .top-context-card{display:none}
  body.app-shell .topbar-brand{display:flex !important}
}
@media (max-width:620px){
  body.app-shell .topbar{height:64px;padding:0 12px}
  body.app-shell .topbar-brand img{max-width:58px;max-height:34px}
  .user-menu-trigger.topbar-dots{width:40px !important;height:40px !important;min-height:40px !important;border-radius:12px !important}
}
html[data-theme="light"] body.app-shell .topbar{background:linear-gradient(180deg,#fbfdff,#f4f8fc);border-bottom-color:#dfe8f2}
html[data-theme="light"] .top-context-card{background:linear-gradient(180deg,#ffffff,#f5f9fd);border-color:#d5e2ef;box-shadow:0 5px 14px rgba(31,60,95,.06),inset 0 1px 0 #fff}
html[data-theme="light"] .top-context-copy small{color:#71869f}
html[data-theme="light"] .top-context-copy b{color:#17334f}
html[data-theme="light"] .top-context-icon{background:#eaf4ff;color:#2e74ba}
html[data-theme="light"] .top-context-divider{background:#d7e3ef !important}
html[data-theme="light"] .user-menu-trigger.topbar-dots{background:linear-gradient(180deg,#ffffff,#f1f6fb) !important;border-color:#d1dfed !important;color:#5f7893 !important}


/* =========================================================
   FASE 4.4 - TOPBAR GLASS CARDS
   Diseño nuevo: limpio, separado y sin divisores extraños.
   ========================================================= */
body.app-shell .topbar{
  height:72px;
  padding:0 24px;
  background:linear-gradient(180deg,rgba(3,18,45,.995),rgba(4,23,53,.99));
  border-bottom:1px solid rgba(76,118,170,.14);
  box-shadow:0 8px 22px rgba(0,7,25,.08);
}
body.app-shell .hamb{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#dbe8fb;
}
body.app-shell .hamb:hover{background:rgba(63,119,196,.10);border-color:rgba(92,151,230,.12)}
body.app-shell .hamb svg{width:22px;height:22px;stroke-width:2}

body.app-shell .topbar-brand{
  display:flex !important;
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  align-items:center;justify-content:center;
  z-index:1;
  opacity:.98;
}
body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.03)}
body.app-shell .topbar-brand img{max-width:70px;max-height:40px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(30,104,197,.12))}
body.app-shell .top-spacer{flex:1}
body.app-shell .topbar-context{display:flex;align-items:center;gap:10px;margin-left:auto;z-index:3}

/* Rompemos la cápsula única: cada elemento es una tarjeta glass independiente */
.top-context-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.top-context-divider{display:none !important}
.top-context-item,
a.top-context-item,
.top-context-company,
.top-context-item:not(.top-context-company){
  width:auto !important;
  min-width:0 !important;
  height:48px;
  padding:6px 14px 6px 8px;
  border:1px solid rgba(104,166,244,.22) !important;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(17,45,89,.78),rgba(10,32,67,.88)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 7px 16px rgba(0,7,26,.07) !important;
  display:flex;
  align-items:center;
  gap:10px;
  color:#f5f8ff;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
a.top-context-item:hover{
  background:linear-gradient(180deg,rgba(24,58,111,.88),rgba(14,40,79,.94)) !important;
  border-color:rgba(120,185,255,.36) !important;
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 20px rgba(0,7,26,.10) !important;
}
.top-context-company{min-width:218px !important}
.top-context-item:not(.top-context-company){min-width:192px !important}
.top-context-icon{
  width:34px;height:34px;flex:0 0 34px;
  border-radius:11px;
  display:grid;place-items:center;
  color:#75bbff;
  background:linear-gradient(145deg,rgba(45,115,215,.24),rgba(29,78,151,.15));
  box-shadow:inset 0 0 0 1px rgba(104,169,248,.08);
}
.top-context-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.top-context-copy{display:flex;flex-direction:column;min-width:0;line-height:1.02}
.top-context-copy small{color:#8ea4c2;font-size:8.5px;font-weight:700;letter-spacing:.10em;margin-bottom:3px}
.top-context-copy b,
.top-context-company .top-context-copy b{
  display:block;
  max-width:none !important;
  color:#fff;
  font-size:12.5px;
  line-height:1.08;
  font-weight:800;
  white-space:nowrap;
  overflow:visible !important;
  text-overflow:clip !important;
}

body.app-shell .topbar-bell{display:none !important}
.user-menu-wrap{margin-left:2px}
.user-menu-trigger.topbar-dots{
  width:44px !important;height:44px !important;min-height:44px !important;
  padding:0 !important;border-radius:14px !important;
  display:grid !important;place-items:center !important;grid-template-columns:1fr !important;
  background:linear-gradient(180deg,rgba(18,47,94,.84),rgba(11,34,70,.92)) !important;
  border:1px solid rgba(103,166,246,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
  color:#aebfda !important;
}
.user-menu-trigger.topbar-dots:hover,
.user-menu-trigger.topbar-dots[aria-expanded="true"]{
  transform:translateY(-1px) !important;
  background:linear-gradient(180deg,rgba(28,66,125,.94),rgba(17,44,88,.96)) !important;
  border-color:rgba(119,184,255,.40) !important;
  color:#f1f6ff !important;
}
.user-menu-trigger.topbar-dots svg{width:20px !important;height:20px !important;fill:none;stroke:currentColor;stroke-width:1.9}
.user-dropdown{right:0 !important;top:calc(100% + 10px) !important}
.user-dropdown::before{right:16px !important}

@media(max-width:1360px){
  body.app-shell .topbar{padding:0 18px}
  .top-context-company{min-width:196px !important}
  .top-context-item:not(.top-context-company){min-width:176px !important}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:11.9px}
}
@media(max-width:1180px){
  body.app-shell .topbar-brand{display:none !important}
  .top-context-company{min-width:184px !important}
  .top-context-item:not(.top-context-company){min-width:165px !important}
}
@media(max-width:980px){
  .top-context-item,.top-context-company,.top-context-item:not(.top-context-company){height:44px;padding:5px 10px 5px 7px;gap:8px;border-radius:14px}
  .top-context-company{min-width:170px !important}
  .top-context-item:not(.top-context-company){min-width:152px !important}
  .top-context-icon{width:30px;height:30px;flex-basis:30px;border-radius:9px}
  .top-context-copy small{font-size:7.8px}
  .top-context-copy b,.top-context-company .top-context-copy b{font-size:10.8px}
}
@media(max-width:860px){
  .top-context-card{display:none}
  body.app-shell .topbar-brand{display:flex !important}
}
@media(max-width:620px){
  body.app-shell .topbar{height:64px;padding:0 12px}
  body.app-shell .topbar-brand img{max-width:58px;max-height:34px}
  .user-menu-trigger.topbar-dots{width:40px !important;height:40px !important;min-height:40px !important;border-radius:12px !important}
}
html[data-theme="light"] body.app-shell .topbar{background:linear-gradient(180deg,#fbfdff,#f4f8fc);border-bottom-color:#dfe8f2}
html[data-theme="light"] .top-context-item{background:linear-gradient(180deg,#ffffff,#f6f9fd) !important;border-color:#d5e2ef !important;box-shadow:0 5px 14px rgba(31,60,95,.06),inset 0 1px 0 #fff !important}
html[data-theme="light"] .top-context-copy small{color:#71869f}
html[data-theme="light"] .top-context-copy b{color:#17334f}
html[data-theme="light"] .top-context-icon{background:#eaf4ff;color:#2e74ba}
html[data-theme="light"] .user-menu-trigger.topbar-dots{background:linear-gradient(180deg,#ffffff,#f1f6fb) !important;border-color:#d1dfed !important;color:#5f7893 !important}


/* =========================================================
   FASE 4.5 - TOPBAR SIGNATURE KPI
   Diseño nuevo y aislado: elegante, limpio y sin conflictos.
   ========================================================= */
body.app-shell .topbar{
  height:74px;
  padding:0 24px;
  background:
    radial-gradient(circle at 52% -120%, rgba(33,112,224,.14), transparent 46%),
    linear-gradient(180deg,#031631 0%,#051c3b 100%);
  border-bottom:1px solid rgba(92,139,200,.14);
  box-shadow:0 8px 26px rgba(0,8,28,.12);
}
body.app-shell .hamb{
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#d8e7fb;
}
body.app-shell .hamb:hover{
  background:rgba(68,126,205,.10);
  border-color:rgba(105,166,240,.12);
}
body.app-shell .hamb svg{width:22px;height:22px;stroke-width:2}

body.app-shell .topbar-brand{
  display:flex!important;
  position:absolute;
  left:96px;
  top:50%;
  transform:translateY(-50%);
  align-items:center;
  justify-content:center;
  z-index:1;
  opacity:.96;
}
body.app-shell .topbar-brand:hover{transform:translateY(-50%) scale(1.035)}
body.app-shell .topbar-brand img{
  width:auto;
  max-width:70px;
  max-height:42px;
  object-fit:contain;
  filter:drop-shadow(0 4px 11px rgba(38,112,210,.12));
}
body.app-shell .top-spacer{flex:1}

.kpi-topbar-zone{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  position:relative;
  z-index:4;
}
.kpi-status-chip{
  position:relative;
  height:50px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 16px 6px 8px;
  border-radius:16px;
  border:1px solid rgba(104,166,244,.22);
  background:
    linear-gradient(180deg,rgba(18,47,94,.82),rgba(11,34,70,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 8px 20px rgba(0,8,28,.10);
  color:#f7faff;
  text-decoration:none;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.kpi-status-company{min-width:224px}
.kpi-status-role{min-width:194px}
.kpi-status-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(126,191,255,.38);
  background:linear-gradient(180deg,rgba(24,59,112,.90),rgba(14,40,81,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 11px 24px rgba(0,8,28,.14);
}
.kpi-status-icon{
  width:36px;height:36px;
  flex:0 0 36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#7fc2ff;
  background:linear-gradient(145deg,rgba(47,122,224,.27),rgba(27,78,154,.18));
  box-shadow:inset 0 0 0 1px rgba(111,176,255,.10);
}
.kpi-status-icon svg{
  width:18px;height:18px;
  fill:none;stroke:currentColor;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round;
}
.kpi-status-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.03;
}
.kpi-status-copy small{
  color:#8fa6c4;
  font-size:8px;
  font-weight:750;
  letter-spacing:.13em;
  margin-bottom:4px;
}
.kpi-status-copy strong{
  color:#fff;
  font-size:12.5px;
  font-weight:850;
  line-height:1.08;
  white-space:nowrap;
}
.kpi-status-accent{
  position:absolute;
  left:0;top:9px;bottom:9px;
  width:2px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,#58b3ff,#4fd6bf);
  box-shadow:0 0 12px rgba(77,188,255,.28);
}

.kpi-user-menu-wrap{margin-left:1px}
.kpi-user-trigger{
  width:46px;height:46px;
  min-width:46px;min-height:46px;
  padding:0;
  border-radius:15px;
  border:1px solid rgba(105,168,248,.24);
  background:linear-gradient(180deg,rgba(19,49,96,.88),rgba(12,35,72,.95));
  display:grid;
  place-items:center;
  color:#aebfda;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 7px 16px rgba(0,8,28,.08);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.kpi-user-trigger:hover,
.kpi-user-trigger[aria-expanded="true"]{
  transform:translateY(-1px);
  border-color:rgba(129,192,255,.42);
  background:linear-gradient(180deg,rgba(29,69,130,.96),rgba(17,45,89,.98));
  color:#f3f7ff;
}
.kpi-user-trigger svg{
  width:20px;height:20px;
  fill:none;stroke:currentColor;stroke-width:1.9;
}
.kpi-user-menu-wrap .user-dropdown{
  right:0!important;
  top:calc(100% + 10px)!important;
}
.kpi-user-menu-wrap .user-dropdown::before{right:17px!important}

@media(max-width:1360px){
  body.app-shell .topbar{padding:0 18px}
  .kpi-status-company{min-width:205px}
  .kpi-status-role{min-width:180px}
  .kpi-status-copy strong{font-size:12px}
}
@media(max-width:1180px){
  body.app-shell .topbar-brand{display:none!important}
  .kpi-status-company{min-width:190px}
  .kpi-status-role{min-width:165px}
}
@media(max-width:980px){
  .kpi-status-chip{height:46px;padding:5px 11px 5px 7px;gap:8px;border-radius:14px}
  .kpi-status-icon{width:32px;height:32px;flex-basis:32px;border-radius:10px}
  .kpi-status-copy small{font-size:7.5px;margin-bottom:3px}
  .kpi-status-copy strong{font-size:11px}
  .kpi-status-company{min-width:174px}
  .kpi-status-role{min-width:150px}
}
@media(max-width:860px){
  .kpi-topbar-zone .kpi-status-chip{display:none}
  body.app-shell .topbar-brand{display:flex!important;left:50%;transform:translate(-50%,-50%)}
  body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.035)}
}
@media(max-width:620px){
  body.app-shell .topbar{height:64px;padding:0 12px}
  body.app-shell .topbar-brand img{max-width:58px;max-height:34px}
  .kpi-user-trigger{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:12px}
}
html[data-theme="light"] body.app-shell .topbar{
  background:linear-gradient(180deg,#fbfdff,#f4f8fc);
  border-bottom-color:#dfe8f2;
}
html[data-theme="light"] .kpi-status-chip{
  background:linear-gradient(180deg,#ffffff,#f6f9fd);
  border-color:#d5e2ef;
  box-shadow:0 5px 14px rgba(31,60,95,.06),inset 0 1px 0 #fff;
}
html[data-theme="light"] .kpi-status-chip:hover{background:#eef5fc}
html[data-theme="light"] .kpi-status-copy small{color:#71869f}
html[data-theme="light"] .kpi-status-copy strong{color:#17334f}
html[data-theme="light"] .kpi-status-icon{background:#eaf4ff;color:#2e74ba}
html[data-theme="light"] .kpi-user-trigger{
  background:linear-gradient(180deg,#ffffff,#f1f6fb);
  border-color:#d1dfed;
  color:#5f7893;
}


/* =========================================================
   FASE 5.0 - REDISEÑO MÓDULO EMPRESAS
   Estilo ejecutivo basado en el sistema anterior del usuario.
   ========================================================= */
.companies-page{display:flex;flex-direction:column;gap:14px}
.companies-strip{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:10px 16px;border-radius:16px;
  background:linear-gradient(180deg,rgba(26,42,80,.98),rgba(24,37,74,.96));
  border:1px solid rgba(102,144,202,.16);
  box-shadow:0 10px 24px rgba(0,12,36,.14), inset 0 1px 0 rgba(255,255,255,.03);
}
.companies-strip-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:800;letter-spacing:-.01em}
.companies-strip-title span{display:inline-flex;align-items:center;justify-content:center;color:#d6e7ff;font-size:22px;line-height:1}
.companies-new-btn{
  display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;
  background:linear-gradient(135deg,#54e174,#3acb81);color:#04162f;text-decoration:none;font-weight:800;
  box-shadow:0 10px 24px rgba(63,219,127,.22);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.companies-new-btn:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 14px 28px rgba(63,219,127,.27)}
.companies-new-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}

.companies-panel{
  padding:18px;border-radius:18px;
  background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(28,42,82,.96));
  border:1px solid rgba(95,130,190,.18);
  box-shadow:0 18px 40px rgba(0,10,32,.17), inset 0 1px 0 rgba(255,255,255,.025);
}
.companies-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.companies-pager{display:flex;align-items:center;gap:12px}
.companies-pager-btn{
  width:52px;height:44px;display:grid;place-items:center;border-radius:10px;
  background:linear-gradient(180deg,#274874,#213f69);border:1px solid rgba(92,139,205,.14);
  color:#7ca9d9;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease;
}
.companies-pager-btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,#2e96dd,#36b6ff);color:#fff}
.companies-pager-btn.disabled{pointer-events:none;opacity:.42}
.companies-pager-btn svg,.companies-search-fab svg,.companies-mini-btn svg,.companies-action-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.companies-toolbar-meta{display:flex;align-items:center;gap:14px;margin-left:auto}
.companies-results{color:#9fb3d4;font-size:12px;white-space:nowrap}
.companies-results b{color:#fff}
.companies-search-fab{
  width:54px;height:54px;border:none;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;color:#06233d;background:linear-gradient(135deg,#33b6ff,#46d2ff);
  box-shadow:0 12px 26px rgba(67,190,255,.24);transition:transform .18s ease,filter .18s ease;
}
.companies-search-fab:hover{transform:translateY(-1px);filter:brightness(1.03)}

.companies-table-wrap{overflow:auto;border-radius:16px;border:1px solid rgba(91,121,175,.2);background:rgba(13,25,52,.28)}
.companies-table{width:100%;min-width:1240px;border-collapse:separate;border-spacing:0}
.companies-table thead th{
  position:sticky;top:0;z-index:2;padding:12px 10px;text-align:left;
  background:#202d56;color:#f6f9ff;font-size:14px;font-weight:800;border-right:1px solid rgba(108,129,165,.35);border-bottom:1px solid rgba(108,129,165,.45)
}
.companies-table thead th:last-child,.companies-table tbody td:last-child{border-right:none}
.companies-filters-row th{padding:8px 6px 10px;background:#202d56;top:47px}
.companies-filters-row input,.companies-filters-row select{
  width:100%;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(92,128,186,.45);
  background:#111d3a;color:#edf4ff;font-size:12px;outline:none;
}
.companies-filters-row input::placeholder{color:#6f84a8}
.companies-filters-row input:focus,.companies-filters-row select:focus{border-color:#52b7ff;box-shadow:0 0 0 3px rgba(57,153,255,.12)}
.companies-filter-actions{display:flex;align-items:center;justify-content:center;gap:8px}
.companies-mini-btn{
  width:34px;height:30px;border-radius:8px;border:1px solid rgba(89,134,201,.22);display:grid;place-items:center;
  text-decoration:none;background:linear-gradient(180deg,#233f67,#1a3257);color:#cbe4ff;cursor:pointer;
}
.companies-mini-btn.ghost{font-size:22px;line-height:1;color:#94b2d5;background:#13284c}
.companies-table tbody td{
  padding:14px 10px;vertical-align:middle;border-right:1px solid rgba(93,109,145,.38);border-bottom:1px solid rgba(93,109,145,.38);
  color:#fff;font-size:13px;background:rgba(31,43,77,.74)
}
.companies-table tbody tr:nth-child(even) td{background:rgba(36,48,83,.78)}
.companies-table tbody tr:hover td{background:rgba(41,61,103,.92)}
.companies-code-cell{font-weight:800;color:#dce8fb;white-space:nowrap}
.companies-name-cell{display:flex;align-items:center;gap:12px;min-width:0}
.companies-name-cell strong{display:block;color:#fff;font-size:13px;line-height:1.25}
.companies-logo-thumb{width:54px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eff4fb;overflow:hidden;flex:0 0 54px}
.companies-logo-thumb img{width:100%;height:100%;object-fit:contain}
.companies-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.companies-status.is-active{background:#46dd74;color:#062912}
.companies-status.is-inactive{background:#ff7171;color:#3e0c0c}
.companies-status.is-neutral{background:#8aa1bf;color:#0f223f}
.companies-actions{display:flex;align-items:center;justify-content:center;gap:10px}
.companies-action-btn{
  width:38px;height:38px;border:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  transition:transform .16s ease,filter .16s ease; color:#0d1c38;
}
.companies-action-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}
.companies-action-btn.edit{background:#5ca7ff;color:#0a2240}
.companies-action-btn.remove{background:#ff6c6c;color:#3c0d11}
.companies-action-btn.approve{background:#55de73;color:#082611}
.companies-empty-state{padding:28px 14px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#b9c9df;text-align:center}
.companies-empty-state b{color:#fff}

@media (max-width:1100px){
  .companies-toolbar{flex-wrap:wrap}
  .companies-toolbar-meta{width:100%;justify-content:space-between}
}
@media (max-width:760px){
  .companies-strip{padding:10px 12px;flex-wrap:wrap}
  .companies-strip-title{font-size:16px}
  .companies-new-btn{width:100%;justify-content:center}
  .companies-panel{padding:12px}
  .companies-pager-btn{width:46px;height:40px}
  .companies-search-fab{width:46px;height:46px}
  .companies-results{font-size:11px}
}

html[data-theme="light"] .companies-strip{background:linear-gradient(180deg,#f6f9fd,#edf3fa);border-color:#dbe6f1;box-shadow:0 10px 22px rgba(25,61,103,.08)}
html[data-theme="light"] .companies-strip-title{color:#17334f}
html[data-theme="light"] .companies-strip-title span{color:#295888}
html[data-theme="light"] .companies-panel{background:linear-gradient(180deg,#ffffff,#f7fafd);border-color:#dde7f1;box-shadow:0 16px 36px rgba(25,61,103,.08)}
html[data-theme="light"] .companies-results{color:#617790}
html[data-theme="light"] .companies-pager-btn{background:linear-gradient(180deg,#eef4fa,#e2edf7);border-color:#d8e4ef;color:#4775a9}
html[data-theme="light"] .companies-table-wrap{border-color:#dbe6f0;background:#fff}
html[data-theme="light"] .companies-table thead th,html[data-theme="light"] .companies-filters-row th{background:#253760;color:#fff}
html[data-theme="light"] .companies-filters-row input,html[data-theme="light"] .companies-filters-row select{background:#f8fbff;color:#1e3b5c;border-color:#cfdceb}
html[data-theme="light"] .companies-filters-row input::placeholder{color:#7f92aa}
html[data-theme="light"] .companies-mini-btn{background:linear-gradient(180deg,#eef4fa,#e2edf7);border-color:#d6e2ef;color:#366899}
html[data-theme="light"] .companies-mini-btn.ghost{background:#edf3f9;color:#59718d}
html[data-theme="light"] .companies-table tbody td{background:#fdfefe;color:#17324f;border-right-color:#dde7f2;border-bottom-color:#dde7f2}
html[data-theme="light"] .companies-table tbody tr:nth-child(even) td{background:#f7fbff}
html[data-theme="light"] .companies-table tbody tr:hover td{background:#eef5fc}
html[data-theme="light"] .companies-code-cell,html[data-theme="light"] .companies-name-cell strong{color:#17334f}
html[data-theme="light"] .companies-empty-state{color:#677e97}


/* =========================================================
   FASE 5.1 - NUEVA EMPRESA + FIREBASE
   ========================================================= */
.company-create-page{max-width:1180px;margin:0 auto;padding-bottom:24px}
.company-create-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.company-create-kicker{display:block;color:#4fa1ff;font-size:11px;font-weight:850;letter-spacing:.16em;margin-bottom:6px}
.company-create-titlebar h1{margin:0;color:#fff;font-size:30px;line-height:1.1;letter-spacing:-.025em}
.company-create-titlebar p{margin:8px 0 0;color:#9db1ce;font-size:13px;line-height:1.5;max-width:720px}
.company-create-back,.company-cancel-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid rgba(99,145,207,.22);background:rgba(13,35,72,.58);color:#dbe8fb;text-decoration:none;font-weight:750}
.company-create-back:hover,.company-cancel-btn:hover{background:rgba(32,68,118,.65)}
.company-create-errors{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,107,126,.24);background:rgba(163,40,65,.12);color:#ffdce2;font-size:12px}
.company-create-errors b{color:#fff;font-size:13px;margin-bottom:2px}
.company-create-card{padding:20px;border-radius:20px;border:1px solid rgba(96,137,198,.18);background:linear-gradient(180deg,rgba(27,43,81,.98),rgba(23,38,73,.98));box-shadow:0 18px 42px rgba(0,9,31,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.company-logo-section{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:stretch;padding:16px;border-radius:16px;background:rgba(11,27,55,.38);border:1px solid rgba(90,130,190,.15);margin-bottom:20px}
.company-logo-preview{min-height:150px;border-radius:14px;border:1px dashed rgba(88,151,235,.38);background:linear-gradient(145deg,rgba(18,52,100,.52),rgba(8,29,63,.72));display:grid;place-items:center;overflow:hidden;position:relative}
.company-logo-preview img{width:100%;height:100%;min-height:150px;object-fit:contain;background:#fff;padding:10px}
.company-logo-placeholder{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;color:#79baff;background:rgba(45,117,215,.18);box-shadow:inset 0 0 0 1px rgba(91,157,244,.12)}
.company-logo-placeholder svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.company-logo-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.company-logo-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.company-logo-heading label{display:block;color:#fff;font-size:15px;font-weight:800;margin-bottom:4px}
.company-logo-heading small{display:block;color:#8da4c4;font-size:11px}
.firebase-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;border:1px solid rgba(108,144,196,.16);background:rgba(13,32,64,.58);color:#8da4c4}
.firebase-badge i{width:7px;height:7px;border-radius:50%}
.firebase-badge.ready{color:#9be8bb;border-color:rgba(58,213,120,.18);background:rgba(28,112,71,.12)}
.firebase-badge.ready i{background:#45de82;box-shadow:0 0 9px rgba(69,222,130,.5)}
.firebase-badge.pending i{background:#f0b84c;box-shadow:0 0 9px rgba(240,184,76,.35)}
.company-logo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.company-file-btn,.company-file-clear{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border-radius:11px;font-size:12px;font-weight:800;cursor:pointer}
.company-file-btn{background:linear-gradient(135deg,#58a8ff,#3f8ce9);color:#061c3b;box-shadow:0 8px 18px rgba(62,145,238,.16)}
.company-file-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.company-file-clear{border:1px solid rgba(98,137,193,.18);background:#18355d;color:#a9bedb}
.company-file-clear:disabled{opacity:.38;cursor:not-allowed}
.company-logo-status{margin-top:12px;color:#8fa7c8;font-size:11px;line-height:1.4}
.company-logo-status b{color:#dceaff}
.company-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.company-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.company-field.span-2{grid-column:span 2}
.company-field label{color:#dce8f9;font-size:12px;font-weight:750}
.company-field label em{color:#ff8295;font-style:normal}
.company-field input,.company-field textarea{width:100%;border-radius:10px;border:1px solid rgba(103,136,185,.32);background:#0e1b31;color:#f2f7ff;outline:none;font:inherit;font-size:13px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.company-field input{height:44px;padding:0 12px}
.company-field textarea{min-height:108px;padding:11px 12px;resize:vertical}
.company-field input::placeholder,.company-field textarea::placeholder{color:#5f7698}
.company-field input:focus,.company-field textarea:focus{border-color:#4ba8ff;box-shadow:0 0 0 3px rgba(57,153,255,.11);background:#101f38}
.company-status-toggle{display:flex;align-items:center;gap:9px;height:44px}
.company-status-toggle label{cursor:pointer}
.company-status-toggle input{position:absolute;opacity:0;pointer-events:none}
.company-status-toggle span{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(103,138,190,.22);background:#102544;color:#8ea6c6;font-size:11px;font-weight:800}
.company-status-toggle input:checked+span{background:rgba(48,200,109,.16);border-color:rgba(62,222,128,.32);color:#84efad}
.company-status-toggle label:last-child input:checked+span{background:rgba(228,76,97,.14);border-color:rgba(255,103,124,.28);color:#ff9baa}
.company-create-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(112,145,192,.12)}
.company-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border:0;border-radius:12px;background:linear-gradient(135deg,#42dc73,#2ec97d);color:#052717;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(47,207,118,.18)}
.company-save-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.company-save-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.company-logo-section{grid-template-columns:1fr}.company-logo-preview{min-height:130px}.company-form-grid{grid-template-columns:1fr}.company-field.span-2{grid-column:span 1}.company-logo-heading{flex-direction:column}.company-create-titlebar{flex-direction:column}.company-create-back{width:100%}}
html[data-theme="light"] .company-create-titlebar h1{color:#17334f}
html[data-theme="light"] .company-create-titlebar p{color:#667d96}
html[data-theme="light"] .company-create-card{background:linear-gradient(180deg,#ffffff,#f7fafd);border-color:#dce7f1;box-shadow:0 16px 36px rgba(25,61,103,.08)}
html[data-theme="light"] .company-logo-section{background:#f6faff;border-color:#dce8f4}
html[data-theme="light"] .company-logo-preview{background:#eef6ff;border-color:#cbdff4}
html[data-theme="light"] .company-logo-heading label,html[data-theme="light"] .company-field label{color:#24415e}
html[data-theme="light"] .company-logo-heading small,html[data-theme="light"] .company-logo-status{color:#6f849d}
html[data-theme="light"] .company-field input,html[data-theme="light"] .company-field textarea{background:#fff;color:#17334f;border-color:#cfdceb}
html[data-theme="light"] .company-field input:focus,html[data-theme="light"] .company-field textarea:focus{background:#fff}
html[data-theme="light"] .company-create-back,html[data-theme="light"] .company-cancel-btn{background:#edf4fb;color:#315676;border-color:#d6e3ef}


/* =========================================================
   FASE 5.2 - EDICIÓN DE EMPRESA
   Formulario ejecutivo con logo actual + reemplazo en Firebase.
   ========================================================= */
.company-edit-page{max-width:1220px}
.company-edit-card{padding:22px}
.company-edit-hero{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  margin-bottom:20px;
}
.company-edit-current-logo{
  padding:16px;
  border-radius:17px;
  border:1px solid rgba(95,143,207,.18);
  background:linear-gradient(180deg,rgba(15,34,68,.72),rgba(11,28,59,.68));
}
.company-edit-logo-preview{
  min-height:148px;
  height:148px;
  border-radius:13px;
  background:#f7f9fc;
  border:1px solid rgba(123,153,196,.18);
}
.company-edit-logo-preview img{max-width:94%;max-height:132px;object-fit:contain}
.company-edit-logo-caption{display:flex;flex-direction:column;gap:4px;padding:11px 4px 0}
.company-edit-logo-caption strong{color:#fff;font-size:13px}
.company-edit-logo-caption a{color:#59b5ff;font-size:11px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-edit-logo-caption a:hover{text-decoration:underline}
.company-edit-logo-caption span{color:#8399b8;font-size:11px}
.company-edit-logo-copy{
  padding:18px;
  border-radius:17px;
  border:1px solid rgba(95,143,207,.18);
  background:linear-gradient(180deg,rgba(15,34,68,.58),rgba(11,28,59,.48));
}
.company-remove-current{color:#ff8da1!important;border-color:rgba(239,96,120,.22)!important}
.company-edit-section-title{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:4px 0 14px;padding:0 2px 10px;border-bottom:1px solid rgba(110,146,196,.12)
}
.company-edit-section-title span{color:#fff;font-size:15px;font-weight:800}
.company-edit-section-title small{color:#7994b7;font-size:10px;letter-spacing:.06em}
.company-readonly{opacity:.72;cursor:not-allowed;background:#101d36!important;color:#91a5c0!important}
.company-field-help{display:block;margin-top:5px;color:#6f87a7;font-size:9.5px;line-height:1.3}
.company-year-control{display:grid;grid-template-columns:48px minmax(120px,1fr) 48px;max-width:360px;height:44px}
.company-year-control button{
  border:0;cursor:pointer;font-size:24px;line-height:1;color:#0b1c34;transition:filter .16s ease,transform .16s ease
}
.company-year-control button:first-child{border-radius:10px 0 0 10px;background:#ff7278}
.company-year-control button:last-child{border-radius:0 10px 10px 0;background:#4bdd7e}
.company-year-control button:hover{filter:brightness(1.05);transform:translateY(-1px)}
.company-year-control input{border-radius:0!important;border-left:0!important;border-right:0!important;text-align:center;font-weight:800}
.company-edit-footer{position:sticky;bottom:0;margin-left:-22px;margin-right:-22px;margin-bottom:-22px;padding:15px 22px;background:linear-gradient(180deg,rgba(27,43,81,.94),rgba(23,38,73,.995));backdrop-filter:blur(10px);z-index:3;border-radius:0 0 20px 20px}
.companies-action-btn{display:grid;text-decoration:none}

@media(max-width:820px){
  .company-edit-hero{grid-template-columns:1fr}
  .company-edit-current-logo{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center}
  .company-edit-logo-preview{height:110px;min-height:110px}
  .company-edit-logo-caption{padding-top:0}
  .company-year-control{max-width:none}
}
@media(max-width:540px){
  .company-edit-current-logo{grid-template-columns:1fr}
  .company-edit-footer{flex-direction:column-reverse;align-items:stretch}
  .company-edit-footer .company-cancel-btn,.company-edit-footer .company-save-btn{width:100%}
}

html[data-theme="light"] .company-edit-current-logo,html[data-theme="light"] .company-edit-logo-copy{background:linear-gradient(180deg,#f8fbff,#f1f6fb);border-color:#dbe7f2}
html[data-theme="light"] .company-edit-logo-caption strong,html[data-theme="light"] .company-edit-section-title span{color:#17334f}
html[data-theme="light"] .company-edit-logo-caption span,html[data-theme="light"] .company-field-help{color:#71869f}
html[data-theme="light"] .company-readonly{background:#eef3f8!important;color:#6f8298!important}
html[data-theme="light"] .company-edit-footer{background:linear-gradient(180deg,rgba(248,251,255,.95),rgba(244,248,252,.99));border-top-color:#dce7f1}


/* =========================================================
   FASE 6.0 - ROLES Y PERMISOS
   Diseño ejecutivo + CRUD de rol + árbol de opciones.
   ========================================================= */
.roles-page{display:flex;flex-direction:column;gap:14px}
.roles-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(26,42,80,.98),rgba(24,37,74,.96));border:1px solid rgba(102,144,202,.16);box-shadow:0 10px 24px rgba(0,12,36,.14),inset 0 1px 0 rgba(255,255,255,.03)}
.roles-strip-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:800}.roles-strip-title span{font-size:22px;color:#d6e7ff}
.roles-new-btn{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#54e174,#3acb81);color:#04162f;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(63,219,127,.22)}
.roles-new-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.roles-new-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.roles-panel{padding:14px;border-radius:18px;background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(28,42,82,.96));border:1px solid rgba(95,130,190,.18);box-shadow:0 18px 40px rgba(0,10,32,.17)}
.roles-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.roles-search{height:42px;min-width:320px;max-width:520px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid rgba(92,128,186,.40);border-radius:12px;background:#111d3a;overflow:hidden}.roles-search>span{display:grid;place-items:center;color:#79aee8}.roles-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.roles-search input{height:100%;border:0;background:transparent;color:#fff;outline:none;font-size:13px}.roles-search input::placeholder{color:#7087a9}.roles-search a{padding:0 13px;color:#9fb4cf;text-decoration:none;font-size:22px}
.roles-count{color:#9fb3d4;font-size:12px}.roles-count b{color:#fff;font-size:14px}
.roles-table-shell{border:1px solid rgba(91,121,175,.22);border-radius:15px;overflow:hidden;background:rgba(12,25,52,.26)}
.roles-table-head,.role-row-main{display:grid;grid-template-columns:72px minmax(220px,1fr) 130px 110px;align-items:center}
.roles-table-head{min-height:42px;background:#202d56;border-bottom:1px solid rgba(108,129,165,.42);color:#f4f8ff;font-size:13px;font-weight:800}.roles-table-head span{padding:0 14px}
.role-row{border-bottom:1px solid rgba(92,111,150,.36)}.role-row:last-child{border-bottom:0}.role-row-main{min-height:64px;background:rgba(31,43,77,.76);transition:background .16s ease}.role-row:nth-child(even) .role-row-main{background:rgba(34,47,82,.78)}.role-row:hover .role-row-main{background:rgba(41,61,103,.92)}
.role-expand{width:42px;height:42px;margin-left:14px;border-radius:50%;display:grid;place-items:center;border:2px solid #3c8bd7;background:#192a47;color:#d7e8ff;cursor:pointer;box-shadow:0 0 0 3px rgba(49,130,213,.08)}.role-expand svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.role-row.is-open .role-expand svg{transform:rotate(90deg)}
.role-name-wrap{padding:10px 14px;min-width:0}.role-name-wrap strong{display:block;color:#fff;font-size:14px}.role-name-wrap small{display:block;margin-top:4px;color:#8199bb;font-size:10px}
.role-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}.role-status.is-active{background:rgba(63,221,116,.15);border:1px solid rgba(63,221,116,.30);color:#65e991}.role-status.is-inactive{background:rgba(255,99,113,.13);border:1px solid rgba(255,99,113,.28);color:#ff8996}
.role-actions{display:flex;justify-content:center}.role-edit-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#5aa7ff;color:#082646;text-decoration:none}.role-edit-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.role-edit-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.role-row-detail{display:none;padding:14px;background:#1d2a3d;border-top:1px solid rgba(98,120,151,.24)}.role-row.is-open .role-row-detail{display:block}.role-options-title{padding:0 6px 10px;color:#fff;font-size:13px;font-weight:800;border-bottom:1px solid rgba(116,138,170,.28)}
.role-option-groups{display:flex;flex-direction:column}.role-option-group{border-bottom:1px solid rgba(116,138,170,.24)}.role-option-group:last-child{border-bottom:0}.role-option-parent{width:100%;min-height:48px;padding:8px 16px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;border:0;background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer}.role-option-parent:disabled{cursor:default}.role-option-parent small{padding:3px 7px;border-radius:999px;background:rgba(62,129,212,.12);color:#86a8ce;font-size:9px}.role-option-chevron{display:grid;place-items:center;color:#9cb0c8}.role-option-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.role-option-group.is-open .role-option-chevron svg{transform:rotate(90deg)}.role-option-children{display:none;padding:0 16px 10px 48px;gap:8px;flex-wrap:wrap}.role-option-group.is-open .role-option-children{display:flex}.role-option-children span{padding:7px 10px;border-radius:9px;background:rgba(12,26,48,.46);border:1px solid rgba(93,128,176,.18);color:#c8d8ed;font-size:11px}.role-no-options,.role-empty{padding:24px;color:#9fb3cf}.role-empty{display:flex;flex-direction:column;align-items:center;gap:5px}.role-empty b{color:#fff}

.role-form-page{max-width:1120px;margin:0 auto}.role-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.role-form-heading h1{margin:5px 0 5px;color:#fff;font-size:30px}.role-form-heading p{margin:0;color:#9db2d0;font-size:13px}.role-form-back{color:#8fc5ff;text-decoration:none;font-size:12px}.role-form-errors{display:grid;gap:6px;margin-bottom:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,105,122,.25);background:rgba(165,42,65,.13);color:#ffb5c0;font-size:12px}
.role-form-card{border:1px solid rgba(91,131,190,.22);border-radius:18px;background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(27,40,77,.98));box-shadow:0 18px 42px rgba(0,10,32,.18);overflow:hidden}.role-form-top{display:grid;grid-template-columns:1fr 280px;gap:18px;padding:20px;border-bottom:1px solid rgba(104,131,176,.20)}.role-field{display:flex;flex-direction:column;gap:7px}.role-field>span{font-size:12px;font-weight:750;color:#e8f1ff}.role-field input{height:44px;border-radius:11px;border:1px solid rgba(100,135,190,.42);background:#111c36;color:#fff;padding:0 13px;outline:none;font-size:13px}.role-field input:focus{border-color:#50aaff;box-shadow:0 0 0 3px rgba(61,150,255,.12)}
.role-active-switch{height:64px;padding:10px 13px;border-radius:13px;border:1px solid rgba(95,133,190,.26);background:rgba(13,29,57,.42);display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;cursor:pointer}.role-active-switch>input{position:absolute;opacity:0;pointer-events:none}.role-switch-copy{display:flex;flex-direction:column;gap:3px}.role-switch-copy b{font-size:12px;color:#fff}.role-switch-copy small{font-size:9px;color:#8097b8}.role-switch-ui{width:46px;height:25px;border-radius:999px;background:#30445f;position:relative;transition:background .18s ease}.role-switch-ui:before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#d9e6f4;transition:transform .18s ease}.role-active-switch input[type="checkbox"]:checked + .role-switch-ui{background:#35c976}.role-active-switch input[type="checkbox"]:checked + .role-switch-ui:before{transform:translateX(21px);background:#fff}
.role-permissions-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 12px}.role-permissions-head h2{margin:0 0 4px;color:#fff;font-size:17px}.role-permissions-head p{margin:0;color:#8fa5c4;font-size:11px}.role-permissions-actions{display:flex;gap:8px}.role-permissions-actions button{height:34px;padding:0 12px;border-radius:9px;border:1px solid rgba(92,142,211,.25);background:#17345a;color:#a9cdef;font-size:10px;font-weight:750;cursor:pointer}.role-permissions-actions button:hover{background:#205083;color:#fff}
.role-permission-tree{margin:0 20px 18px;border:1px solid rgba(88,124,177,.24);border-radius:14px;overflow:auto;max-height:480px;background:#1d2a3d}.permission-group{border-bottom:1px solid rgba(113,135,166,.24)}.permission-group:last-child{border-bottom:0}.permission-group.has-selection{background:rgba(31,81,139,.075)}.permission-parent-row{min-height:54px;display:grid;grid-template-columns:36px 1fr;align-items:center;padding:0 12px}.permission-expander{width:30px;height:30px;border:0;background:transparent;color:#9db0c8;display:grid;place-items:center;cursor:pointer}.permission-expander svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.permission-group.is-open .permission-expander svg{transform:rotate(90deg)}.permission-expander-placeholder{width:30px}.permission-check,.permission-child{display:flex;align-items:center;gap:10px;cursor:pointer}.permission-check input,.permission-child input{position:absolute;opacity:0}.permission-check-ui{width:22px;height:22px;flex:0 0 22px;border-radius:6px;border:2px solid #4c6079;background:#111b2e;position:relative;transition:.15s ease}.permission-check input:checked + .permission-check-ui,.permission-child input:checked + .permission-check-ui{background:#43a5ff;border-color:#43a5ff}.permission-check input:checked + .permission-check-ui:after,.permission-child input:checked + .permission-check-ui:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.permission-check input:indeterminate + .permission-check-ui{background:#2f78b9;border-color:#4598dd}.permission-check input:indeterminate + .permission-check-ui:after{content:"";position:absolute;left:4px;right:4px;top:8px;height:2px;background:#fff;border-radius:2px}.permission-title{color:#fff;font-size:13px}.permission-check small{margin-left:auto;padding:3px 7px;border-radius:999px;background:rgba(62,129,212,.10);color:#7fa1c7;font-size:9px}.permission-children{display:none;padding:0 16px 12px 58px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-group.is-open .permission-children{display:grid}.permission-child{min-height:50px;padding:8px 10px;border-radius:10px;border:1px solid rgba(91,128,179,.17);background:rgba(12,26,48,.38)}.permission-child:hover{border-color:rgba(78,161,246,.30);background:rgba(22,49,83,.62)}.permission-child>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.permission-child b{color:#eaf3ff;font-size:11.5px}.permission-child small{color:#68809f;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.role-form-footer{min-height:76px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(104,131,176,.20);background:rgba(11,24,48,.25)}.role-selected-count{display:flex;align-items:baseline;gap:7px;color:#859bbc}.role-selected-count b{font-size:22px;color:#59b4ff}.role-selected-count span{font-size:10px}.role-form-buttons{display:flex;gap:10px}.role-cancel-btn,.role-save-btn{min-width:130px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-decoration:none;font-size:12px}.role-cancel-btn{border:1px solid rgba(95,130,182,.26);background:transparent;color:#d7e5f8}.role-save-btn{border:0;background:linear-gradient(135deg,#35cd74,#20bd6d);color:#fff;cursor:pointer;box-shadow:0 10px 22px rgba(28,190,104,.18)}
@media(max-width:900px){.roles-table-head,.role-row-main{grid-template-columns:60px minmax(180px,1fr) 100px 76px}.role-form-top{grid-template-columns:1fr}.permission-children{grid-template-columns:1fr}.role-form-heading{align-items:flex-start;flex-direction:column}.role-permissions-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.roles-strip{flex-wrap:wrap}.roles-new-btn{width:100%;justify-content:center}.roles-toolbar{align-items:stretch;flex-direction:column}.roles-search{min-width:0;max-width:none;width:100%}.roles-table-head{display:none}.role-row-main{grid-template-columns:54px minmax(0,1fr) 72px}.role-row-main>div:nth-child(3){display:none}.role-actions{grid-column:3}.role-expand{margin-left:7px;width:38px;height:38px}.role-form-card{border-radius:14px}.role-form-top,.role-permissions-head,.role-form-footer{padding-left:13px;padding-right:13px}.role-permission-tree{margin-left:13px;margin-right:13px}.role-form-footer{align-items:stretch;flex-direction:column}.role-form-buttons{width:100%}.role-cancel-btn,.role-save-btn{flex:1;min-width:0}}

html[data-theme="light"] .roles-strip{background:linear-gradient(180deg,#f6f9fd,#edf3fa);border-color:#dbe6f1}.roles-strip-title{}
html[data-theme="light"] .roles-strip-title{color:#17334f}html[data-theme="light"] .roles-strip-title span{color:#2b5b8b}
html[data-theme="light"] .roles-panel,html[data-theme="light"] .role-form-card{background:linear-gradient(180deg,#ffffff,#f7fafd);border-color:#dde7f1;box-shadow:0 16px 36px rgba(25,61,103,.08)}
html[data-theme="light"] .roles-search{background:#f7fbff;border-color:#d2deeb}html[data-theme="light"] .roles-search input{color:#17334f}html[data-theme="light"] .roles-count{color:#617790}html[data-theme="light"] .roles-count b{color:#17334f}
html[data-theme="light"] .roles-table-head{background:#253760}html[data-theme="light"] .role-row-main,html[data-theme="light"] .role-row:nth-child(even) .role-row-main{background:#fff}html[data-theme="light"] .role-row:hover .role-row-main{background:#eef5fc}html[data-theme="light"] .role-name-wrap strong{color:#17334f}html[data-theme="light"] .role-row-detail,html[data-theme="light"] .role-permission-tree{background:#f4f8fc}html[data-theme="light"] .role-options-title,html[data-theme="light"] .role-option-parent,html[data-theme="light"] .permission-title,html[data-theme="light"] .role-form-heading h1,html[data-theme="light"] .role-permissions-head h2,html[data-theme="light"] .role-switch-copy b{color:#17334f}
html[data-theme="light"] .role-option-children span,html[data-theme="light"] .permission-child{background:#fff;border-color:#dae5ef;color:#32506d}html[data-theme="light"] .permission-child b{color:#203f5f}html[data-theme="light"] .role-field>span{color:#264562}html[data-theme="light"] .role-field input{background:#fff;color:#17334f;border-color:#ccdae9}html[data-theme="light"] .role-active-switch{background:#f4f8fc;border-color:#d7e3ef}html[data-theme="light"] .role-form-footer{background:#f7fafc;border-color:#e0e9f2}


/* =========================================================
   FASE 7.0 - USUARIOS PRO
   Listado, asociaciones, edición, contraseña y activación.
   ========================================================= */
.users-page{display:flex;flex-direction:column;gap:14px}.users-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(26,42,80,.98),rgba(24,37,74,.96));border:1px solid rgba(102,144,202,.16);box-shadow:0 10px 24px rgba(0,12,36,.14),inset 0 1px 0 rgba(255,255,255,.03)}.users-strip-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:800}.users-strip-title span{font-size:22px}.users-new-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;background:linear-gradient(135deg,#54e174,#3acb81);color:#04162f;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(63,219,127,.20)}.users-new-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.users-panel{padding:14px;border-radius:18px;background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(28,42,82,.96));border:1px solid rgba(95,130,190,.18);box-shadow:0 18px 40px rgba(0,10,32,.17)}.users-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.users-pager{display:flex;gap:12px}.users-pager-btn{width:52px;height:44px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(180deg,#274874,#213f69);border:1px solid rgba(92,139,205,.14);color:#7ca9d9;text-decoration:none}.users-pager-btn:hover{background:linear-gradient(180deg,#2e96dd,#36b6ff);color:#fff}.users-pager-btn.disabled{pointer-events:none;opacity:.42}.users-pager-btn svg,.users-search-fab svg,.users-filter-actions svg,.user-action-btn svg,.user-save-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.users-toolbar-meta{display:flex;align-items:center;gap:14px;color:#9fb3d4;font-size:12px}.users-toolbar-meta b{color:#fff}.users-search-fab{width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#33b6ff,#46d2ff);color:#06233d;cursor:pointer;box-shadow:0 12px 26px rgba(67,190,255,.20)}
.users-table-shell{border:1px solid rgba(91,121,175,.22);border-radius:15px;overflow:hidden;background:rgba(12,25,52,.26)}.users-table-head,.users-filter-row,.user-row-main{display:grid;grid-template-columns:64px minmax(180px,1fr) minmax(160px,1fr) minmax(250px,1.2fr) 125px 128px;align-items:center}.users-table-head{min-height:42px;background:#202d56;border-bottom:1px solid rgba(108,129,165,.42);color:#f4f8ff;font-size:13px;font-weight:800}.users-table-head span{padding:0 10px}.users-filter-row{min-height:46px;background:#202d56;border-bottom:1px solid rgba(108,129,165,.42);padding-bottom:8px}.users-filter-row>input,.users-filter-row>select{height:30px;margin:0 5px;border-radius:7px;border:1px solid rgba(92,128,186,.45);background:#111d3a;color:#edf4ff;padding:0 9px;outline:none;font-size:11px}.users-filter-row>input:focus,.users-filter-row>select:focus{border-color:#52b7ff;box-shadow:0 0 0 3px rgba(57,153,255,.10)}.users-filter-actions{display:flex;justify-content:center;gap:6px}.users-filter-actions button,.users-filter-actions a{width:30px;height:30px;border-radius:8px;border:1px solid rgba(89,134,201,.20);display:grid;place-items:center;background:#17345a;color:#b7d7f7;text-decoration:none;cursor:pointer}.users-filter-actions a{font-size:21px;line-height:1}.user-row{border-bottom:1px solid rgba(92,111,150,.36)}.user-row:last-child{border-bottom:0}.user-row-main{min-height:64px;background:rgba(31,43,77,.76)}.user-row:nth-child(even) .user-row-main{background:rgba(34,47,82,.78)}.user-row:hover .user-row-main{background:rgba(41,61,103,.92)}.user-expand{width:40px;height:40px;margin-left:12px;border-radius:50%;display:grid;place-items:center;border:2px solid #3c8bd7;background:#192a47;color:#d7e8ff;cursor:pointer;box-shadow:0 0 0 3px rgba(49,130,213,.07)}.user-expand svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.user-row.is-open .user-expand svg{transform:rotate(90deg)}.user-cell{padding:10px;color:#fff;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}.user-surname{font-weight:700}.user-email{white-space:nowrap}.user-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}.user-status.is-active{background:#4cdf78;color:#062912}.user-status.is-inactive{background:#ff7078;color:#410b11}.user-actions{display:flex;align-items:center;justify-content:center;gap:7px}.user-actions form{margin:0}.user-action-btn{width:35px;height:35px;border:0;border-radius:50%;display:grid;place-items:center;text-decoration:none;cursor:pointer}.user-action-btn.edit{background:#5aa7ff;color:#082646}.user-action-btn.password{background:#a7bacf;color:#17324d}.user-action-btn.activate{background:#4de17b;color:#082c16}.user-action-btn.block{background:#ff6d78;color:#3d0c12}.user-action-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.user-row-detail{display:none;padding:14px 18px 18px;background:#1d2a3d;border-top:1px solid rgba(98,120,151,.24)}.user-row.is-open .user-row-detail{display:block}.user-associations-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:16px}.user-assoc-card{border:1px solid rgba(105,130,166,.20);border-radius:12px;background:rgba(10,24,44,.25);overflow:hidden}.user-assoc-card h3{margin:0;padding:12px 14px;border-bottom:1px solid rgba(105,130,166,.20);color:#fff;font-size:13px;text-align:center}.user-assoc-card h3 span{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:rgba(59,131,219,.13);color:#7fb9ef;font-size:9px}.user-assoc-table{display:grid}.user-assoc-head,.user-assoc-line{display:grid;grid-template-columns:220px 1fr}.user-assoc-head{background:rgba(32,45,86,.72)}.user-assoc-head b,.user-assoc-line span{padding:8px 10px;border-right:1px solid rgba(105,130,166,.20);border-bottom:1px solid rgba(105,130,166,.20);font-size:11px;color:#fff}.user-assoc-head b:last-child,.user-assoc-line span:last-child{border-right:0}.user-assoc-line:last-child span{border-bottom:0}.user-role-chips{padding:14px;display:flex;flex-wrap:wrap;gap:8px}.user-role-chips span{padding:8px 10px;border-radius:9px;border:1px solid rgba(92,139,202,.18);background:#182b4b;color:#eaf3ff;font-size:11px}.user-assoc-empty{margin:0;padding:20px;text-align:center;color:#8298b6;font-size:11px}.users-empty{padding:28px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#9fb3cf}.users-empty b{color:#fff}
.user-form-page{max-width:1120px;margin:0 auto}.user-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.user-form-heading h1{margin:5px 0 5px;color:#fff;font-size:30px}.user-form-heading p{margin:0;color:#9db2d0;font-size:13px}.user-form-heading>a{color:#8fc5ff;text-decoration:none;font-size:12px}.user-form-errors{display:grid;gap:6px;margin-bottom:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,105,122,.25);background:rgba(165,42,65,.13);color:#ffb5c0;font-size:12px}.user-form-card{border:1px solid rgba(91,131,190,.22);border-radius:18px;background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(27,40,77,.98));box-shadow:0 18px 42px rgba(0,10,32,.18);overflow:visible}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:22px}.user-field{display:flex;flex-direction:column;gap:7px;min-width:0}.user-field.full{grid-column:1/-1}.user-field>span{font-size:12px;font-weight:750;color:#e8f1ff}.user-field>input,.user-password-input input{height:44px;border-radius:11px;border:1px solid rgba(100,135,190,.42);background:#111c36;color:#fff;padding:0 13px;outline:none;font-size:13px}.user-field>input:focus,.user-password-input input:focus{border-color:#50aaff;box-shadow:0 0 0 3px rgba(61,150,255,.12)}.user-field>input:disabled{opacity:.65}.user-multi{position:relative}.user-multi summary{height:44px;border-radius:11px;border:1px solid rgba(100,135,190,.42);background:#111c36;color:#cbd8ea;padding:0 12px;display:grid;grid-template-columns:1fr 20px;align-items:center;cursor:pointer;list-style:none;font-size:12px}.user-multi summary::-webkit-details-marker{display:none}.user-multi-chevron{display:grid;place-items:center}.user-multi-chevron svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.user-multi[open] .user-multi-chevron svg{transform:rotate(90deg)}.user-multi-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;padding:8px;border-radius:12px;border:1px solid rgba(88,132,192,.35);background:#18263d;box-shadow:0 16px 38px rgba(0,8,28,.42)}.user-multi-menu.compact{max-height:260px}.user-multi-tools{display:flex;gap:7px;padding:2px 2px 8px}.user-multi-tools button{height:28px;padding:0 9px;border-radius:7px;border:1px solid rgba(91,139,201,.20);background:#203b62;color:#acd0f5;font-size:9px;cursor:pointer}.user-multi-option{min-height:48px;padding:7px 8px;border-radius:9px;display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;cursor:pointer}.user-multi-option:hover{background:rgba(67,126,201,.10)}.user-multi-option input{position:absolute;opacity:0}.user-multi-check{width:21px;height:21px;border-radius:6px;border:2px solid #4d6079;background:#111b2e;position:relative}.user-multi-option input:checked + .user-multi-check{background:#43a5ff;border-color:#43a5ff}.user-multi-option input:checked + .user-multi-check:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.user-multi-option>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.user-multi-option b{color:#fff;font-size:11px}.user-multi-option small{color:#7f97b7;font-size:9px}.user-password-input{position:relative}.user-password-input input{width:100%;padding-right:48px}.user-password-input button{position:absolute;right:6px;top:5px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#90a8c8;display:grid;place-items:center;cursor:pointer}.user-password-input button:hover{background:rgba(74,139,222,.10);color:#cfe6ff}.user-password-input button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.user-strength{height:34px;padding:7px 9px 0;border-radius:8px;background:rgba(11,23,43,.28)}.user-strength:before{content:"";display:block;height:5px;border-radius:999px;background:#34445c}.user-strength i{display:block;height:5px;width:0;margin-top:-5px;border-radius:999px;background:#ff6c75;transition:width .2s ease,background .2s ease}.user-strength small{display:block;margin-top:5px;color:#8196b4;font-size:9px}.user-form-footer{min-height:76px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(104,131,176,.20);background:rgba(11,24,48,.25);border-radius:0 0 18px 18px}.user-form-note{color:#8198b7;font-size:10px}.user-form-footer>div{display:flex;gap:10px}.user-cancel-btn,.user-save-btn{min-width:132px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;text-decoration:none;font-size:12px}.user-cancel-btn{border:1px solid rgba(95,130,182,.26);background:transparent;color:#d7e5f8}.user-save-btn{border:0;background:linear-gradient(135deg,#35cd74,#20bd6d);color:#fff;cursor:pointer;box-shadow:0 10px 22px rgba(28,190,104,.18)}
@media(max-width:980px){.users-table-head,.users-filter-row,.user-row-main{grid-template-columns:56px minmax(150px,1fr) minmax(130px,1fr) minmax(190px,1.2fr) 92px 112px}.user-associations-grid{grid-template-columns:1fr}.user-form-grid{grid-template-columns:1fr}.user-field.full{grid-column:auto}}@media(max-width:720px){.users-strip{flex-wrap:wrap}.users-new-btn{width:100%;justify-content:center}.users-toolbar{flex-wrap:wrap}.users-toolbar-meta{width:100%;justify-content:space-between}.users-table-head,.users-filter-row{display:none}.user-row-main{grid-template-columns:52px minmax(0,1fr) 88px 104px}.user-row-main .user-cell:nth-child(3),.user-row-main .user-cell:nth-child(4){display:none}.user-row-main .user-cell:nth-child(2):after{content:" · " attr(data-nombres)}.user-actions{grid-column:4}.user-expand{margin-left:7px}.user-assoc-head,.user-assoc-line{grid-template-columns:130px 1fr}.user-form-heading{align-items:flex-start;flex-direction:column}.user-form-footer{align-items:stretch;flex-direction:column}.user-form-footer>div{width:100%}.user-cancel-btn,.user-save-btn{flex:1;min-width:0}}
html[data-theme="light"] .users-strip{background:linear-gradient(180deg,#f6f9fd,#edf3fa);border-color:#dbe6f1}html[data-theme="light"] .users-strip-title{color:#17334f}html[data-theme="light"] .users-panel,html[data-theme="light"] .user-form-card{background:linear-gradient(180deg,#fff,#f7fafd);border-color:#dde7f1;box-shadow:0 16px 36px rgba(25,61,103,.08)}html[data-theme="light"] .users-toolbar-meta{color:#617790}html[data-theme="light"] .users-toolbar-meta b{color:#17334f}html[data-theme="light"] .users-table-head,html[data-theme="light"] .users-filter-row{background:#253760}html[data-theme="light"] .user-row-main,html[data-theme="light"] .user-row:nth-child(even) .user-row-main{background:#fff}html[data-theme="light"] .user-row:hover .user-row-main{background:#eef5fc}html[data-theme="light"] .user-cell{color:#17334f}html[data-theme="light"] .user-row-detail{background:#f4f8fc}html[data-theme="light"] .user-assoc-card{background:#fff;border-color:#dbe5ef}html[data-theme="light"] .user-assoc-card h3,html[data-theme="light"] .user-assoc-head b,html[data-theme="light"] .user-assoc-line span{color:#17334f}html[data-theme="light"] .user-assoc-head{background:#edf4fb}html[data-theme="light"] .user-role-chips span{background:#edf5fd;color:#244766;border-color:#d7e4f0}html[data-theme="light"] .user-form-heading h1,html[data-theme="light"] .user-field>span{color:#17334f}html[data-theme="light"] .user-field>input,html[data-theme="light"] .user-password-input input,html[data-theme="light"] .user-multi summary{background:#fff;color:#17334f;border-color:#ccdae9}html[data-theme="light"] .user-multi-menu{background:#fff;border-color:#d0dfed}html[data-theme="light"] .user-multi-option b{color:#17334f}html[data-theme="light"] .user-multi-check{background:#f5f8fb;border-color:#a8bbce}html[data-theme="light"] .user-form-footer{background:#f7fafc;border-color:#e0e9f2}


/* =========================================================
   FASE 7.0 - BÚSQUEDA PREDICTIVA GLOBAL
   ========================================================= */
[data-predictive-root]{position:relative;transition:opacity .16s ease,filter .16s ease}
[data-predictive-root].predictive-loading{opacity:.72;filter:saturate(.88)}
[data-predictive-root].predictive-loading::after{
  content:"";position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(103,181,255,.24);border-top-color:#55b8ff;animation:kpiPredictSpin .7s linear infinite;z-index:20
}
@keyframes kpiPredictSpin{to{transform:rotate(360deg)}}
.predictive-toolbar{
  display:grid;grid-template-columns:22px minmax(220px,520px) auto 30px;gap:10px;align-items:center;
  margin:14px 0;padding:10px 12px;border-radius:14px;background:rgba(20,43,81,.62);
  border:1px solid rgba(82,139,213,.18);max-width:780px
}
.predictive-search-icon{display:grid;place-items:center;color:#70baff}
.predictive-search-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.predictive-search-input{
  width:100%;height:38px;border-radius:10px;border:1px solid rgba(92,142,210,.34);background:#0e1c35;color:#f5f8ff;
  padding:0 12px;outline:none;font:inherit
}
.predictive-search-input:focus{border-color:#55b8ff;box-shadow:0 0 0 3px rgba(57,153,255,.12)}
.predictive-search-input::placeholder{color:#7189aa}
.predictive-search-state{font-size:10px;color:#7f98ba;white-space:nowrap}
.predictive-clear{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;text-decoration:none;color:#a8bedb;background:rgba(255,255,255,.035);font-size:20px;line-height:1}
.predictive-clear:hover{background:rgba(255,255,255,.08);color:#fff}
@media(max-width:760px){.predictive-toolbar{grid-template-columns:20px 1fr 28px}.predictive-search-state{display:none}}
html[data-theme="light"] .predictive-toolbar{background:#f4f8fd;border-color:#d7e4f0}
html[data-theme="light"] .predictive-search-input{background:#fff;color:#17334f;border-color:#d1deeb}
html[data-theme="light"] .predictive-search-input::placeholder{color:#8295aa}
html[data-theme="light"] .predictive-search-state{color:#70869f}
html[data-theme="light"] .predictive-clear{background:#edf3f9;color:#607a96}


/* =========================================================
   FASE 8.0 - MÓDULO OPCIONES PRO
   ========================================================= */
.options-admin-page{display:flex;flex-direction:column;gap:14px}
.options-admin-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(26,42,80,.98),rgba(24,37,74,.96));border:1px solid rgba(102,144,202,.16);box-shadow:0 10px 24px rgba(0,12,36,.14),inset 0 1px 0 rgba(255,255,255,.03)}
.options-admin-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:800}.options-admin-title>span{font-size:22px;color:#d6e7ff}
.options-new-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border-radius:999px;background:linear-gradient(135deg,#54e174,#3acb81);color:#04162f;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(63,219,127,.20);transition:.18s ease}
.options-new-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.options-new-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.options-admin-panel{padding:14px;border-radius:18px;background:linear-gradient(180deg,rgba(24,41,80,.98),rgba(28,42,82,.96));border:1px solid rgba(95,130,190,.18);box-shadow:0 18px 40px rgba(0,10,32,.17)}
.options-table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(91,121,175,.24);background:rgba(13,25,52,.28)}
.options-admin-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0}.options-admin-table th{padding:12px 9px;text-align:left;background:#202d56;color:#f7f9ff;border-right:1px solid rgba(108,129,165,.34);border-bottom:1px solid rgba(108,129,165,.42);font-size:13px}.options-admin-table td{padding:13px 9px;color:#fff;border-right:1px solid rgba(93,109,145,.34);border-bottom:1px solid rgba(93,109,145,.34);background:rgba(31,43,77,.74);font-size:13px}.options-admin-table tbody tr.option-parent-row:nth-of-type(4n+1) td{background:rgba(36,48,83,.78)}.options-admin-table tr:hover>td{background:rgba(41,61,103,.92)}
.options-toggle-col,.options-toggle-cell{width:60px;text-align:center!important}.sort-mark{font-weight:400;color:#8fa4c3;margin-left:4px}.options-filter-row th{padding:7px 5px 10px}.options-filter-row input{width:100%;height:31px;border-radius:7px;border:1px solid rgba(92,128,186,.45);background:#111d3a;color:#edf4ff;padding:0 9px;outline:none;font-size:12px}.options-filter-row input:focus{border-color:#52b7ff;box-shadow:0 0 0 3px rgba(57,153,255,.12)}
.options-filter-actions{display:flex;justify-content:center;gap:6px}.options-filter-search,.options-filter-clear{width:32px;height:31px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(92,128,186,.28);background:#18335c;color:#cbe4ff;text-decoration:none;cursor:pointer}.options-filter-search svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.options-filter-clear{font-size:20px}
.option-expand-btn{width:46px;height:46px;border-radius:50%;border:2px solid #319ef0;background:#183159;color:#dbe9fb;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 0 3px rgba(0,0,0,.12)}.option-expand-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.option-expand-btn[aria-expanded="true"] svg{transform:rotate(90deg)}
.option-inactive-tag{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:rgba(255,102,114,.14);color:#ff8993;font-size:10px;font-weight:800}.option-position-pill{display:inline-flex;min-width:26px;height:26px;padding:0 8px;align-items:center;justify-content:center;border-radius:8px;background:#122b50;color:#9dd0ff;font-weight:800}
.option-edit-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#5ba7ff;color:#092442;text-decoration:none;margin:auto}.option-edit-btn.small{width:32px;height:32px;margin:0}.option-edit-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.option-children-row[hidden]{display:none!important}.option-children-row>td{padding:0!important;background:#17263f!important}.option-children-panel{padding:16px 18px;background:#1b2a3f}.option-children-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(157,181,214,.18)}.option-children-head>div{display:flex;align-items:baseline;gap:7px}.option-children-head span{color:#8fa4c1;font-size:11px}.option-children-head strong{color:#fff;font-size:14px}.option-child-new{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;background:#183a63;color:#d5eaff;text-decoration:none;border:1px solid rgba(76,157,232,.22);font-size:12px;font-weight:700}.option-child-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.option-child-list{display:flex;flex-direction:column}.option-child-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 8px;border-bottom:1px solid rgba(157,181,214,.14)}.option-child-item:last-child{border-bottom:0}.option-child-main{display:flex;align-items:center;gap:10px;min-width:0}.option-child-dot{width:7px;height:7px;border-radius:50%;background:#56b3ff;box-shadow:0 0 0 4px rgba(86,179,255,.08)}.option-child-main>div{display:flex;flex-direction:column;gap:2px;min-width:0}.option-child-main strong{font-size:12px;color:#fff}.option-child-main small{font-size:10px;color:#87a0c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.option-child-meta{display:flex;align-items:center;gap:10px;color:#9eb2ce;font-size:10px;white-space:nowrap}.option-status-mini{padding:4px 8px;border-radius:999px;font-weight:800}.option-status-mini.active{background:rgba(69,222,117,.14);color:#5dea89}.option-status-mini.inactive{background:rgba(255,105,118,.14);color:#ff8692}.option-empty-children{padding:18px 8px;color:#91a7c5;text-align:center}.options-empty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:28px;color:#9db2cf}.options-empty b{color:#fff}

.option-form-page{max-width:980px;margin:0 auto;padding:4px 0 30px}.option-form-card{border-radius:20px;background:linear-gradient(180deg,#1b2b50,#1b2949);border:1px solid rgba(107,145,202,.22);box-shadow:0 24px 60px rgba(0,9,30,.24);padding:22px}.option-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid rgba(126,158,204,.14);margin-bottom:20px}.option-form-heading span{display:block;color:#58a8ff;font-size:9px;font-weight:900;letter-spacing:.16em}.option-form-heading h1{margin:5px 0 4px;color:#fff;font-size:24px}.option-form-heading p{margin:0;color:#9db0ca;font-size:12px}.option-form-back{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#142542;border:1px solid rgba(95,142,207,.18);color:#b8c9df;text-decoration:none;font-size:22px}.option-form-errors{margin-bottom:16px;padding:12px 15px;border-radius:12px;background:rgba(188,51,72,.13);border:1px solid rgba(245,93,115,.20);color:#ffc1ca;font-size:12px}.option-form-errors ul{margin:7px 0 0;padding-left:18px}.option-form{display:flex;flex-direction:column;gap:16px}.option-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.option-form-grid.compact{grid-template-columns:minmax(260px,.7fr) 1fr;align-items:end}.option-field{display:flex;flex-direction:column;gap:7px}.option-field>span{color:#edf4ff;font-size:13px;font-weight:700}.option-field input{height:42px;border-radius:9px;border:1px solid #40516e;background:#0f1a2e;color:#fff;padding:0 12px;outline:none;font-size:13px}.option-field input:focus{border-color:#58a9ff;box-shadow:0 0 0 3px rgba(55,148,255,.12)}.option-field small{color:#8097b6;font-size:10px}.number-stepper{display:grid;grid-template-columns:48px 1fr 48px;height:44px}.number-stepper button{border:0;font-size:22px;cursor:pointer}.number-stepper .stepper-minus{border-radius:9px 0 0 9px;background:#ff7478;color:#2f1114}.number-stepper .stepper-plus{border-radius:0 9px 9px 0;background:#49db83;color:#082817}.number-stepper input{border-radius:0!important;text-align:left}.number-stepper input::-webkit-inner-spin-button{appearance:none}.option-active-box{height:76px;border:1px solid rgba(95,142,207,.18);border-radius:12px;background:#142540;padding:12px 14px;display:flex;align-items:center;gap:14px;cursor:pointer}.option-active-copy{display:flex;flex-direction:column;gap:3px;flex:1}.option-active-copy b{color:#fff;font-size:13px}.option-active-copy small{color:#8ea4c1;font-size:10px}.option-switch-input{position:absolute;opacity:0;pointer-events:none}.option-switch{width:46px;height:25px;border-radius:999px;background:#43536c;position:relative;transition:.18s ease}.option-switch:after{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#dbe6f4;transition:.18s ease}.option-switch-input:checked + .option-switch{background:#29c873}.option-switch-input:checked + .option-switch:after{transform:translateX(21px);background:#fff}.option-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:10px}.option-cancel-btn,.option-save-btn{min-width:150px;height:48px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;text-decoration:none}.option-cancel-btn{border:1px solid rgba(102,139,195,.24);color:#fff;background:#182746}.option-cancel-btn>span{font-size:24px;font-weight:300}.option-save-btn{border:0;background:linear-gradient(135deg,#26c96c,#20b966);color:#fff;cursor:pointer}.option-save-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}

@media(max-width:760px){.options-admin-strip{flex-wrap:wrap}.options-new-btn{width:100%;justify-content:center}.option-form-grid,.option-form-grid.compact{grid-template-columns:1fr}.option-form-card{padding:16px}.option-form-actions{flex-direction:column-reverse}.option-cancel-btn,.option-save-btn{width:100%}.option-child-item{align-items:flex-start;flex-direction:column}.option-child-meta{width:100%;flex-wrap:wrap}}

/* =========================================================
   FASE 9.0 - EMPLEADOS / CUSTODIOS PRO
   Listado, CRUD, carga masiva y eliminación definitiva.
   ========================================================= */
.employees-page{display:flex;flex-direction:column;gap:12px}.employees-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:15px;background:linear-gradient(180deg,rgba(27,43,81,.98),rgba(24,38,73,.98));border:1px solid rgba(98,139,200,.15);box-shadow:0 9px 24px rgba(0,10,34,.13),inset 0 1px 0 rgba(255,255,255,.025)}.employees-strip-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:850}.employees-strip-title>span{font-size:22px}.employees-new-btn{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#55e67d,#3bd489);color:#05253a;text-decoration:none;font-weight:850;box-shadow:0 9px 22px rgba(59,212,137,.18)}.employees-new-btn svg,.employees-download-btn svg,.employees-select-file svg,.employees-upload-btn svg,.employees-cancel-file svg,.employee-form-save svg,.employee-form-cancel svg,.employee-modal-cancel svg,.employee-modal-delete svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.employees-bulk{border:1px solid rgba(90,134,201,.28);border-radius:10px;background:rgba(25,38,66,.72);overflow:hidden}.employees-bulk>summary{min-height:42px;padding:0 14px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#55a8ff;list-style:none;font-size:14px;font-weight:800}.employees-bulk>summary::-webkit-details-marker{display:none}.employees-bulk-chevron{display:flex;transition:transform .18s ease}.employees-bulk-chevron svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.employees-bulk[open] .employees-bulk-chevron{transform:rotate(90deg)}.employees-bulk-body{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:18px 20px 20px;border-top:1px solid rgba(91,133,194,.22);background:rgba(31,43,62,.78)}.employees-template-card h3,.employees-upload-card h3{margin:0 0 9px;color:#f4f7ff;font-size:14px}.employees-template-card p,.employees-upload-card small{color:#9cb0cc;font-size:11px;line-height:1.4}.employees-download-btn{display:inline-flex;align-items:center;gap:8px;margin-top:7px;padding:10px 14px;border-radius:8px;background:linear-gradient(135deg,#55e67d,#40d786);color:#052737;text-decoration:none;font-size:12px;font-weight:850}.employees-template-columns{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.employees-template-columns span{padding:4px 7px;border-radius:999px;background:#142a4c;border:1px solid rgba(95,146,218,.18);color:#8eadcf;font-size:9px}.employees-upload-card form{border:1px solid rgba(100,131,174,.30);border-radius:9px;background:rgba(13,27,45,.44);overflow:hidden}.employees-file-picker{display:flex;align-items:center;gap:8px;padding:14px;border-bottom:1px solid rgba(100,131,174,.25)}.employees-select-file,.employees-upload-btn,.employees-cancel-file{height:42px;padding:0 16px;border:0;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.employees-select-file{background:#58a7ff;color:#041d37}.employees-select-file input{display:none}.employees-upload-btn{background:#2b4e78;color:#9bb1cb}.employees-upload-btn:not(:disabled){background:#4ca4ff;color:#061f38}.employees-cancel-file{background:#2b4e78;color:#94a8c1}.employees-upload-btn:disabled,.employees-cancel-file:disabled{opacity:.5;cursor:not-allowed}.employees-file-status{min-height:54px;padding:14px;color:#8fa7c7;font-size:11px;display:flex;align-items:center}.employees-upload-card small{display:block;padding:0 14px 13px}.employees-import-summary{padding:12px 15px;border-radius:11px;border:1px solid rgba(70,220,130,.28);background:rgba(38,127,86,.13);display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#a9cdbd;font-size:12px}.employees-import-summary>b{color:#62e59a}.employees-import-summary details{width:100%}.employees-import-summary summary{cursor:pointer;color:#9bc0e8}.employees-import-summary ul{margin:6px 0 0 18px;color:#d8e5f6}
.employees-panel{padding:13px;border-radius:16px;background:linear-gradient(180deg,rgba(26,42,80,.98),rgba(26,41,75,.98));border:1px solid rgba(92,130,188,.18);box-shadow:0 14px 34px rgba(0,9,30,.15)}.employees-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.employees-pager{display:flex;gap:12px}.employees-pager-btn{width:48px;height:42px;border-radius:8px;display:grid;place-items:center;background:#23466f;color:#79a6d7;text-decoration:none}.employees-pager-btn:hover{background:#37b8fb;color:#052036}.employees-pager-btn.disabled{pointer-events:none;opacity:.4}.employees-pager-btn svg,.employees-search-fab svg,.employees-filter-actions svg,.employee-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.employees-toolbar-meta{display:flex;align-items:center;gap:14px;color:#9eb3d1;font-size:11px}.employees-toolbar-meta b{color:#fff}.employees-search-fab{width:49px;height:49px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#36baff,#49d0ff);color:#06233d;cursor:pointer}.employees-table-wrap{overflow:auto;max-height:calc(100vh - 300px);border:1px solid rgba(91,121,175,.22);border-radius:10px}.employees-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0}.employees-table th{position:sticky;top:0;z-index:3;padding:9px 8px;text-align:left;background:#1f2d55;color:#fff;font-size:12px;font-weight:850;border-right:1px solid rgba(102,120,158,.38);border-bottom:1px solid rgba(102,120,158,.40)}.employees-filter-row th{top:36px;padding:5px 5px 7px}.employees-filter-row input,.employees-filter-row select{width:100%;height:29px;padding:0 8px;border:1px solid rgba(93,126,179,.45);border-radius:7px;background:#101c35;color:#eef5ff;font-size:11px;outline:none}.employees-filter-row input:focus,.employees-filter-row select:focus{border-color:#55b7ff;box-shadow:0 0 0 3px rgba(58,158,255,.10)}.employees-filter-actions{display:flex;align-items:center;justify-content:center;gap:5px}.employees-filter-actions button,.employees-filter-actions a{width:30px;height:29px;border-radius:7px;border:1px solid rgba(87,132,202,.25);background:#17335a;color:#9cc4f0;display:grid;place-items:center;text-decoration:none;cursor:pointer}.employees-filter-actions a{font-size:19px}.employees-table td{padding:10px 8px;border-right:1px solid rgba(87,106,144,.42);border-bottom:1px solid rgba(87,106,144,.42);background:rgba(30,43,79,.85);color:#fff;font-size:12px}.employees-table tbody tr:nth-child(even) td{background:rgba(27,39,61,.93)}.employees-table tbody tr:hover td{background:rgba(37,57,98,.96)}.employee-company,.employee-name{font-weight:650}.employee-name{max-width:240px}.employee-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850}.employee-status.is-active{background:#4dde83;color:#062b17}.employee-status.is-inactive{background:#ff6f74;color:#431112}.employee-actions{display:flex;align-items:center;justify-content:center;gap:8px}.employee-action{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;text-decoration:none}.employee-action.edit{background:#5aa9ff;color:#08243f}.employee-action.delete{background:#ff6c72;color:#481013}.employees-empty{padding:28px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#9bb0ca}.employees-empty b{color:#fff}
.employee-form-page{display:flex;justify-content:center;padding:4px 0}.employee-form-card{width:min(960px,100%);border:1px solid rgba(101,131,180,.36);border-radius:14px;background:linear-gradient(180deg,#1e2b50,#1b294a);box-shadow:0 20px 50px rgba(0,7,27,.30);overflow:hidden}.employee-form-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 12px}.employee-form-head span{color:#58aaff;font-size:9px;font-weight:850;letter-spacing:.16em}.employee-form-head h1{margin:4px 0 0;color:#fff;font-size:21px}.employee-form-close{width:34px;height:34px;display:grid;place-items:center;color:#9eb3cc;text-decoration:none;font-size:25px}.employee-form-errors{margin:0 22px 12px;padding:10px 12px;border-radius:8px;background:rgba(180,55,73,.15);border:1px solid rgba(255,102,120,.25);color:#ffd5da;font-size:12px}.employee-form-errors ul{margin:6px 0 0 18px}.employee-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 14px;padding:10px 22px 18px}.employee-field{display:flex;flex-direction:column;gap:5px}.employee-field label{color:#eff4ff;font-size:12px}.employee-field input,.employee-field select,.employee-field textarea{width:100%;border:1px solid rgba(98,126,171,.48);border-radius:7px;background:#0e192c;color:#eef5ff;padding:9px 10px;font:inherit;font-size:12px;outline:none}.employee-field input,.employee-field select{height:39px}.employee-field textarea{resize:vertical;min-height:92px}.employee-field input:focus,.employee-field textarea:focus{border-color:#59b5ff;box-shadow:0 0 0 3px rgba(52,151,255,.10)}.employee-field small{color:#7f96b5;font-size:9px}.company-field{grid-column:1/2}.name-field{grid-column:2/4}.cedula-field{grid-column:1/2}.department-field{grid-column:2/3}.position-field{grid-column:3/4}.mail-field{grid-column:1/2}.phone-field{grid-column:2/4}.address-field{grid-column:1/4}.employee-form-actions{grid-column:1/4;display:flex;justify-content:flex-end;gap:12px;padding-top:14px}.employee-form-cancel,.employee-form-save{min-width:150px;height:46px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:850;font-size:13px}.employee-form-cancel{border:1px solid rgba(98,126,171,.34);color:#f0f4fa;background:transparent}.employee-form-save{border:0;background:linear-gradient(135deg,#31c76e,#23b95f);color:#fff;cursor:pointer}
.employee-delete-modal[hidden]{display:none}.employee-delete-modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px}.employee-delete-backdrop{position:absolute;inset:0;background:rgba(0,7,22,.76);backdrop-filter:blur(4px)}.employee-delete-dialog{position:relative;width:min(430px,100%);padding:26px 24px 22px;border-radius:18px;background:linear-gradient(180deg,#1e2d50,#182642);border:1px solid rgba(113,145,193,.35);box-shadow:0 28px 70px rgba(0,0,0,.45);text-align:center}.employee-delete-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;background:rgba(255,89,100,.14);color:#ff717b}.employee-delete-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2}.employee-delete-dialog h2{margin:0 0 8px;color:#fff;font-size:20px}.employee-delete-dialog p{margin:5px 0;color:#9eb2ce;font-size:12px}.employee-delete-dialog>strong{display:block;margin:9px 0 12px;color:#fff;font-size:15px}.employee-delete-warning{padding:9px 11px;border-radius:9px;background:rgba(255,190,77,.10);border:1px solid rgba(255,190,77,.20);color:#f4c775;font-size:11px;line-height:1.4}.employee-delete-note{color:#ff8891!important}.employee-delete-buttons{display:flex;justify-content:center;gap:10px;margin-top:18px}.employee-delete-buttons form{margin:0}.employee-modal-cancel,.employee-modal-delete{height:43px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.employee-modal-cancel{border:1px solid rgba(104,135,180,.35);background:transparent;color:#e8eef7}.employee-modal-delete{border:0;background:linear-gradient(135deg,#ff646d,#e84654);color:#fff}
@media(max-width:900px){.employees-bulk-body{grid-template-columns:1fr}.employee-form{grid-template-columns:1fr 1fr}.company-field,.cedula-field,.department-field,.position-field,.mail-field,.phone-field{grid-column:auto}.name-field,.address-field,.employee-form-actions{grid-column:1/3}}@media(max-width:620px){.employees-strip{flex-wrap:wrap}.employees-new-btn{width:100%;justify-content:center}.employees-toolbar{flex-wrap:wrap}.employees-toolbar-meta{width:100%;justify-content:space-between}.employees-file-picker{flex-wrap:wrap}.employee-form{grid-template-columns:1fr}.employee-form .employee-field,.employee-form-actions{grid-column:1}.employee-form-actions{flex-direction:column}.employee-form-cancel,.employee-form-save{width:100%}.employee-delete-buttons{flex-direction:column}.employee-delete-buttons form,.employee-modal-cancel,.employee-modal-delete{width:100%}.employee-modal-delete{justify-content:center}}
html[data-theme="light"] .employees-strip,html[data-theme="light"] .employees-panel,html[data-theme="light"] .employee-form-card{background:linear-gradient(180deg,#fff,#f5f9fd);border-color:#d8e4ef;box-shadow:0 12px 28px rgba(29,62,102,.08)}html[data-theme="light"] .employees-strip-title,html[data-theme="light"] .employee-form-head h1{color:#17334f}html[data-theme="light"] .employees-bulk{background:#f8fbfe;border-color:#d4e1ed}html[data-theme="light"] .employees-bulk-body{background:#f2f7fb;border-color:#dbe6ef}html[data-theme="light"] .employees-template-card h3,html[data-theme="light"] .employees-upload-card h3{color:#17334f}html[data-theme="light"] .employees-upload-card form{background:#fff;border-color:#d7e2ed}html[data-theme="light"] .employees-table-wrap{border-color:#d9e4ef}html[data-theme="light"] .employees-table td{background:#fff;color:#17334f;border-color:#dce6ef}html[data-theme="light"] .employees-table tbody tr:nth-child(even) td{background:#f7fbff}html[data-theme="light"] .employees-table tbody tr:hover td{background:#eef5fc}html[data-theme="light"] .employee-form-card{background:#fff}html[data-theme="light"] .employee-field label{color:#17334f}html[data-theme="light"] .employee-field input,html[data-theme="light"] .employee-field select,html[data-theme="light"] .employee-field textarea{background:#f9fbfe;color:#17334f;border-color:#d2dfeb}html[data-theme="light"] .employee-delete-dialog{background:linear-gradient(180deg,#fff,#f4f8fc);border-color:#d3e0eb}html[data-theme="light"] .employee-delete-dialog h2,html[data-theme="light"] .employee-delete-dialog>strong{color:#17334f}html[data-theme="light"] .employee-modal-cancel{color:#304a66;border-color:#d0dde9}

.employees-zip-warning{margin:0 0 9px;padding:8px 10px;border-radius:8px;background:rgba(255,190,77,.10);border:1px solid rgba(255,190,77,.22);color:#f3c875;font-size:10px}html[data-theme="light"] .employees-zip-warning{background:#fff7e7;border-color:#f1d79c;color:#765518}


/* =========================================================
   FASE 6.0 · ACTIVOS PRO / FIREBASE
   ========================================================= */
.assets-page{display:flex;flex-direction:column;gap:14px}.assets-strip{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:15px;background:linear-gradient(180deg,rgba(27,43,82,.98),rgba(22,36,72,.97));border:1px solid rgba(91,139,207,.16)}.assets-strip-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:17px;font-weight:850}.assets-strip-title>span{font-size:22px}.assets-new-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 19px;border-radius:999px;background:linear-gradient(135deg,#55e475,#38cc80);color:#04172c;text-decoration:none;font-weight:850;box-shadow:0 10px 24px rgba(55,220,124,.18)}.assets-new-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.assets-panel{padding:14px;border-radius:17px;background:linear-gradient(180deg,rgba(25,41,78,.98),rgba(24,39,75,.97));border:1px solid rgba(95,130,190,.18)}.assets-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.assets-pager{display:flex;gap:12px}.assets-pager-btn{width:48px;height:42px;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:#25456f;color:#76a7d8}.assets-pager-btn:not(.disabled):hover{background:#39b8f4;color:#06213d}.assets-pager-btn.disabled{opacity:.38;pointer-events:none}.assets-pager-btn svg,.assets-search-fab svg,.assets-action-edit svg,.assets-clear-filter svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.assets-toolbar-right{display:flex;align-items:center;gap:14px}.assets-results{color:#9cb2d1;font-size:12px}.assets-results b{color:#fff}.assets-search-fab{width:50px;height:50px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#37b8f4,#45d0ff);color:#06223b;cursor:pointer}.assets-table-wrap{overflow:auto;max-height:calc(100vh - 235px);border:1px solid rgba(91,121,175,.2);border-radius:14px}.assets-table{width:100%;min-width:1420px;border-collapse:separate;border-spacing:0}.assets-table th{position:sticky;top:0;z-index:3;padding:10px 8px;background:#202d56;color:#fff;text-align:left;font-size:13px;border-right:1px solid rgba(109,130,164,.34);border-bottom:1px solid rgba(109,130,164,.44)}.assets-filters-row th{top:39px;padding:6px 4px;background:#202d56}.assets-filters-row input{width:100%;height:29px;border-radius:7px;border:1px solid rgba(93,131,190,.38);background:#111d38;color:#fff;padding:0 8px;outline:none}.assets-filters-row input:focus{border-color:#42b8ff;box-shadow:0 0 0 3px rgba(66,184,255,.1)}.assets-clear-filter{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;text-decoration:none;background:#183154;color:#9ab6d4;font-size:20px}.assets-table td{padding:10px 8px;vertical-align:middle;color:#fff;font-size:12px;line-height:1.15;border-right:1px solid rgba(95,110,145,.38);border-bottom:1px solid rgba(95,110,145,.38);background:rgba(31,43,78,.76)}.assets-table tbody tr:nth-child(even) td{background:rgba(31,45,78,.58)}.assets-table tbody tr:hover td{background:rgba(42,61,101,.9)}.assets-label-cell{font-weight:850;font-size:13px}.assets-thumb{position:relative;width:104px;height:76px;border-radius:8px;overflow:hidden;background:#0d1830;display:grid;place-items:center}.assets-thumb img{width:100%;height:100%;object-fit:cover}.assets-thumb>span{color:#5e789b}.assets-thumb>span svg{width:28px;height:28px;fill:none;stroke:currentColor}.assets-thumb small{position:absolute;right:5px;bottom:5px;padding:2px 6px;border-radius:999px;background:rgba(3,15,34,.82);color:#fff;font-size:9px}.assets-action-edit{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#5caaff;color:#08223e;text-decoration:none}.assets-empty{padding:32px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#9fb3cd}.assets-empty b{color:#fff}

.asset-form-page{margin:-12px -4px 0;min-height:calc(100vh - 84px);background:linear-gradient(180deg,#142445,#111f3d);border:1px solid rgba(87,128,184,.22);border-radius:15px;overflow:hidden}.asset-form-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#202d53;border-bottom:1px solid rgba(107,142,193,.18)}.asset-form-header h1{margin:2px 0 0;color:#fff;font-size:24px}.asset-form-header small{display:block;margin-top:4px;color:#9ab0cf}.asset-form-kicker{font-size:9px;font-weight:850;letter-spacing:.15em;color:#62b4ff}.asset-form-close{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#9fb5d1;text-decoration:none;font-size:26px}.asset-form-error{margin:14px 22px 0;padding:12px 14px;border-radius:11px;background:rgba(194,52,78,.14);border:1px solid rgba(255,100,128,.22);color:#ffdce4}.asset-form-page form{padding:18px 24px 86px;max-height:calc(100vh - 148px);overflow-y:auto}.asset-block{margin:0 0 25px}.asset-block-title{width:100%;display:flex;align-items:center;gap:8px;height:40px;padding:0 11px;border:2px solid rgba(68,126,187,.35);background:#1e2e45;color:#64b2ff;text-align:left;cursor:pointer}.asset-block-title svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transform:rotate(90deg)}.asset-block-title small{margin-left:auto;color:#8198b8;font-size:10px}.asset-block.collapsed .asset-block-title svg{transform:rotate(0)}.asset-block.collapsed .asset-block-body{display:none}.asset-block-body{padding:24px 20px;background:#1e2b3d;border:1px solid rgba(94,121,160,.28);border-top:0}.asset-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;min-height:190px;align-items:center}.asset-photo-card{position:relative;margin:0;height:185px;border-radius:12px;overflow:hidden;background:#162239;border:1px solid rgba(103,132,173,.25);display:grid;place-items:center}.asset-photo-card img{width:100%;height:100%;object-fit:contain;background:#17243b}.asset-photo-card.removed{display:none}.asset-photo-card.pending{height:115px}.asset-photo-card figcaption{position:absolute;bottom:5px;left:7px;padding:2px 7px;border-radius:999px;background:rgba(4,18,39,.78);font-size:9px;color:#b9d9ff}.asset-photo-remove{position:absolute;right:8px;top:8px;width:34px;height:34px;border-radius:50%;border:0;background:#ff6d73;color:#3b0b10;display:grid;place-items:center;cursor:pointer}.asset-photo-remove svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.asset-gallery-empty{grid-column:1/-1;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#738aa9;gap:6px}.asset-gallery-empty.is-hidden{display:none}.asset-gallery-empty svg{width:36px;height:36px;fill:none;stroke:currentColor}.asset-gallery-empty b{color:#b9cbe3}.asset-upload-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding:16px;border:1px solid rgba(98,124,164,.3);border-radius:10px}.asset-upload-btn{height:42px;padding:0 15px;border:0;border-radius:8px;background:#2b4569;color:#c5d6eb;font-weight:750;display:flex;align-items:center;gap:8px;cursor:pointer}.asset-upload-btn.primary{background:#5ba9ff;color:#071b35}.asset-upload-btn.muted{background:#294260;color:#93a8c2}.asset-upload-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.asset-upload-note{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;color:#8096b4;font-size:10px}.asset-upload-note b{color:#d4e5fb;font-size:12px}.asset-new-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}
.asset-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#62b0fb;font-size:11px;font-weight:900;letter-spacing:.14em}.asset-section-heading:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#4383c5,transparent)}.asset-form-grid{display:grid;gap:16px}.asset-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.asset-form-grid label>b{font-size:11px;color:#d8e2f1}.asset-form-grid label>b i{font-style:normal;color:#ff7487}.asset-form-grid input,.asset-form-grid textarea,.asset-form-grid select{width:100%;box-sizing:border-box;border:1px solid #40526f;background:#0e192c;color:#f2f6fc;border-radius:10px;min-height:43px;padding:9px 11px;outline:none;font:inherit;font-size:12px}.asset-form-grid textarea{resize:vertical}.asset-form-grid input:focus,.asset-form-grid textarea:focus,.asset-form-grid select:focus{border-color:#53b7ff;box-shadow:0 0 0 3px rgba(61,164,241,.1)}.asset-form-grid input[readonly]{color:#aebdd1;background:#152238}.asset-input-search{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.asset-input-search button{border:0;border-radius:50%;background:#39b8f4;color:#07203b;display:grid;place-items:center;cursor:pointer}.asset-input-search button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.asset-smart-field{position:relative}.asset-suggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 5px);max-height:260px;overflow:auto;background:#0d1a30;border:1px solid #3c6ea4;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.35);display:none}.asset-suggestions.open{display:block}.asset-suggestion{width:100%;padding:10px 12px;border:0;border-bottom:1px solid rgba(83,110,148,.18);background:transparent;color:#fff;text-align:left;display:flex;flex-direction:column;gap:2px;cursor:pointer}.asset-suggestion:hover{background:#17365f}.asset-suggestion small{color:#7fa2ca}.asset-suggestion-empty{padding:14px;color:#8da4c1}.asset-dimensions{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto;gap:6px;align-items:center}.asset-dimensions span{color:#cbd8e9;font-size:11px}.asset-switch{display:inline-flex!important;width:max-content;flex-direction:row!important;align-items:center;gap:8px;background:#5caaff;color:#071b35;border-radius:9px;padding:0 13px;height:43px;font-weight:800}.asset-switch input{width:auto!important;min-height:0!important;accent-color:#0f3056}.asset-form-footer{position:fixed;z-index:25;right:18px;bottom:12px;display:flex;gap:12px;padding:8px 10px;border-radius:14px;background:rgba(10,23,46,.86);backdrop-filter:blur(8px)}.asset-cancel-btn,.asset-save-btn{height:45px;padding:0 22px;border-radius:12px;display:flex;align-items:center;gap:10px;font-weight:850;text-decoration:none}.asset-cancel-btn{border:1px solid #344866;color:#fff}.asset-save-btn{border:0;background:#28c66b;color:#fff;cursor:pointer}.asset-save-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:900px){.asset-form-grid.two{grid-template-columns:1fr}.asset-form-page form{padding:14px 14px 90px}.asset-gallery{grid-template-columns:1fr}.asset-upload-note{width:100%;align-items:flex-start;margin-left:0}.asset-form-footer{left:12px;right:12px;justify-content:flex-end}}

/* =========================================================
   FASE 7.0 · ACTAS PRO
   Flujo por custodio + PDF/Excel + transferencia/desvinculación
   ========================================================= */
.actas-page{display:flex;flex-direction:column;gap:12px;min-width:0}
.actas-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-radius:14px;background:linear-gradient(180deg,rgba(27,43,82,.98),rgba(23,38,73,.98));border:1px solid rgba(88,132,193,.16);box-shadow:0 10px 24px rgba(0,10,34,.13),inset 0 1px 0 rgba(255,255,255,.03)}
.actas-strip-title{display:flex;align-items:center;gap:9px;color:#fff;font-size:17px;font-weight:850}.actas-strip-title>span{font-size:23px;line-height:1;color:#d5e7ff}
.actas-strip-actions{display:flex;align-items:center;gap:9px}.actas-summary-btn,.actas-new-btn{height:42px;padding:0 17px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font-weight:850;text-decoration:none;cursor:pointer;transition:.17s ease}
.actas-summary-btn,.actas-new-btn{background:linear-gradient(135deg,#55e374,#3dd486);color:#031f19;box-shadow:0 9px 21px rgba(63,219,127,.17)}
.actas-summary-btn:hover,.actas-new-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.actas-summary-btn svg,.actas-new-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.actas-panel{padding:14px;border-radius:16px;background:linear-gradient(180deg,rgba(24,41,78,.96),rgba(22,37,73,.97));border:1px solid rgba(91,128,185,.20);box-shadow:0 16px 36px rgba(0,10,34,.13)}
.actas-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.actas-pager{display:flex;gap:10px}.actas-pager-btn{width:50px;height:40px;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:#23466e;color:#80aad7;border:1px solid rgba(91,145,211,.12)}.actas-pager-btn.next{background:linear-gradient(180deg,#2ab5f2,#3ac8ff);color:#052845}.actas-pager-btn.disabled{opacity:.42;pointer-events:none}.actas-pager-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.actas-pager.mini .actas-pager-btn{width:42px;height:34px}
.actas-results{margin-left:auto;color:#9ab1d1;font-size:12px}.actas-results b{color:#fff}.actas-search-fab{width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#28b6f6,#41d0ff);color:#06233c;box-shadow:0 10px 24px rgba(50,186,255,.20);cursor:pointer}.actas-search-fab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.actas-table-wrap{overflow:auto;max-height:calc(100vh - 235px);border:1px solid rgba(92,120,171,.24);border-radius:12px;background:#18284b}.actas-table{width:100%;min-width:1160px;border-collapse:separate;border-spacing:0}.actas-table th,.actas-table td{border-right:1px solid rgba(104,124,159,.35);border-bottom:1px solid rgba(104,124,159,.35)}.actas-table th:last-child,.actas-table td:last-child{border-right:0}
.actas-table thead th{position:sticky;top:0;z-index:5;padding:11px 9px;background:#1d2b50;color:#f7faff;text-align:left;font-size:13px;font-weight:850}.actas-filter-row th{top:41px;padding:6px;background:#1d2b50}.actas-filter-row input,.actas-filter-row select{width:100%;height:30px;border-radius:7px;border:1px solid rgba(95,126,177,.42);background:#101b35;color:#f0f5ff;padding:0 8px;font-size:12px;outline:0}.actas-filter-row input:focus,.actas-filter-row select:focus{border-color:#49b8ff;box-shadow:0 0 0 3px rgba(55,158,255,.10)}.actas-filter-clear{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;text-decoration:none;background:#142845;color:#8eafd4;font-size:22px;margin:auto}
.actas-toggle-col{width:62px}.acta-main-row td{padding:10px 9px;background:rgba(31,46,83,.89);color:#fff;font-size:13px;vertical-align:middle}.acta-main-row:nth-child(4n+3) td{background:rgba(27,39,66,.88)}.acta-main-row:hover td,.acta-main-row.is-open td{background:rgba(35,56,96,.98)}.acta-row-toggle{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#59a8ff,#67b9ff);color:#092542;text-decoration:none;margin:auto;box-shadow:0 0 0 2px rgba(58,158,255,.18)}.acta-row-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.acta-state{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.acta-state.generated{background:rgba(58,222,114,.16);color:#61f08f;border:1px solid rgba(72,222,127,.30)}.acta-state.process{background:rgba(66,170,255,.14);color:#83c7ff;border:1px solid rgba(86,168,241,.24)}
.acta-actions{display:flex;align-items:center;gap:7px}.acta-actions form{display:inline-flex;margin:0}.acta-action-btn{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:#5ba8ff;color:#082442;text-decoration:none;cursor:pointer;transition:.16s ease}.acta-action-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.acta-action-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}.acta-action-btn.excel{background:#62b1ff}.acta-action-btn.history{background:#5d9fe2}.acta-action-btn.disabled{opacity:.38;cursor:not-allowed;transform:none}
.acta-detail-row>td{padding:0!important;background:#1b2a3c!important}.acta-detail-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:16px;padding:14px}.acta-upload-box,.acta-person-card{min-height:190px}.acta-detail-label{color:#fff;font-weight:750;margin-bottom:9px}.acta-upload-box form{border:1px solid rgba(115,138,178,.30);border-radius:10px;background:rgba(19,31,51,.45);overflow:hidden;min-height:130px}.acta-file-buttons{display:flex;gap:8px;padding:14px;border-bottom:1px solid rgba(111,137,177,.24)}.acta-select-file,.acta-upload-file,.acta-cancel-file{height:40px;border:0;border-radius:8px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-weight:750;cursor:pointer}.acta-select-file{background:#64adff;color:#071f38}.acta-upload-file,.acta-cancel-file{background:#274364;color:#73859d}.acta-upload-file:not(:disabled){background:#44d483;color:#06281a}.acta-cancel-file:not(:disabled){background:#314b6e;color:#d9e8fb}.acta-select-file svg,.acta-upload-file svg,.acta-cancel-file svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.acta-file-status{padding:13px 15px;color:#8fa4c2;font-size:12px}.acta-signed-link{display:inline-flex;align-items:center;gap:8px;margin-top:9px;color:#72b9ff;text-decoration:none;font-size:12px}.acta-signed-link svg{width:16px;height:16px;fill:none;stroke:currentColor}
.acta-person-card{display:flex;flex-direction:column;gap:7px;padding-top:24px}.acta-person-card>div:not(.acta-total){display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:8px}.acta-person-card span{color:#fff;font-size:12px}.acta-person-card b{height:31px;padding:7px 10px;border-radius:6px;background:#162344;border:1px solid rgba(89,113,158,.18);color:#8796ae;font-size:11px;font-weight:600}.acta-total{color:#fff;font-size:12px;margin-top:2px}.acta-total strong{display:inline-grid;place-items:center;min-width:27px;height:27px;border-radius:50%;margin-left:5px;background:#55a9ff;color:#071f38}
.acta-assets-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid rgba(105,130,171,.28);border-bottom:1px solid rgba(105,130,171,.28);background:#1a2b4e}.acta-assets-search{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:#3ec4fa;color:#07223d;cursor:pointer}.acta-assets-search svg{width:18px;height:18px;fill:none;stroke:currentColor}.acta-unlink-btn,.acta-transfer-btn{height:36px;padding:0 15px;border:0;border-radius:7px;display:flex;align-items:center;gap:8px;font-weight:750;cursor:pointer}.acta-unlink-btn{background:#ff7078;color:#3a0b13}.acta-transfer-btn{background:#39bdf0;color:#08253b}.acta-unlink-btn svg,.acta-transfer-btn svg{width:16px;height:16px;fill:none;stroke:currentColor}
.acta-assets-wrap{overflow:auto;max-height:360px}.acta-assets-table{width:100%;min-width:1250px;border-collapse:separate;border-spacing:0}.acta-assets-table th,.acta-assets-table td{padding:8px;border-right:1px solid rgba(107,126,159,.35);border-bottom:1px solid rgba(107,126,159,.35);font-size:12px;color:#fff;vertical-align:middle}.acta-assets-table thead th{position:sticky;top:0;z-index:2;background:#1e2d50;text-align:left}.acta-assets-filter th{top:35px;padding:4px}.acta-assets-filter input{width:100%;height:27px;border-radius:6px;border:1px solid rgba(96,125,174,.43);background:#111c35;color:#fff;padding:0 7px}.acta-assets-table tbody tr:nth-child(even) td{background:rgba(29,43,69,.92)}.acta-assets-table tbody tr:nth-child(odd) td{background:rgba(31,47,83,.91)}.acta-asset-thumb{width:86px;height:76px;object-fit:contain;background:#f2f4f7;border-radius:4px;display:block;margin:auto}.acta-no-image{color:#8396b3;font-size:10px}.acta-edit-asset{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#5caaff;color:#082542;text-decoration:none;margin:auto}.acta-edit-asset svg{width:16px;height:16px;fill:none;stroke:currentColor}.acta-empty-assets,.actas-empty{padding:25px!important;text-align:center;color:#9db1ce}.actas-empty{display:flex;flex-direction:column;gap:4px}.actas-empty b{color:#fff}

.acta-modal[hidden]{display:none!important}.acta-modal{position:fixed;inset:0;z-index:3000;background:rgba(0,7,20,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:14px}.acta-modal-card{position:relative;width:min(96vw,1020px);max-height:92vh;overflow:auto;border-radius:13px;background:#1d2b50;border:1px solid rgba(104,135,190,.30);box-shadow:0 30px 90px rgba(0,0,0,.50);padding:20px;color:#fff}.acta-modal-card.compact{width:min(94vw,780px)}.acta-modal-card.wide{width:min(98vw,1500px)}.acta-modal-card h2{margin:0 0 22px;font-size:18px}.acta-modal-card label{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.acta-modal-x{position:absolute;right:13px;top:10px;width:34px;height:34px;border:0;background:transparent;color:#92a6c4;font-size:26px;cursor:pointer}.acta-modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.acta-cancel,.acta-save,.acta-transfer-confirm,.acta-unlink-confirm{min-width:128px;height:42px;border-radius:9px;border:1px solid rgba(99,129,180,.28);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.acta-cancel{background:transparent;color:#f0f5ff}.acta-save{background:#28c86f;color:#fff;border:0}.acta-transfer-confirm{background:#35bce9;color:#07243a;border:0}.acta-unlink-confirm{background:#ff7078;color:#3a0b13;border:0}.acta-transfer-confirm:disabled,.acta-unlink-confirm:disabled{opacity:.38;cursor:not-allowed}.acta-cancel svg,.acta-save svg,.acta-transfer-confirm svg,.acta-unlink-confirm svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.acta-picker{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.acta-picker>input[type=text]{height:42px;border-radius:8px;border:1px solid rgba(93,125,180,.40);background:#111d38;color:#fff;padding:0 12px;outline:none}.acta-picker>input[type=text]:focus{border-color:#45bafc;box-shadow:0 0 0 3px rgba(59,164,255,.12)}.acta-picker-search{width:42px;height:42px;border-radius:50%;border:2px solid #37c7ff;background:#58b7ff;color:#06233f;display:grid;place-items:center;cursor:pointer}.acta-picker-search svg{width:18px;height:18px;fill:none;stroke:currentColor}.acta-picker-suggestions{position:absolute;left:0;right:50px;top:46px;z-index:15;max-height:250px;overflow:auto;border-radius:9px;background:#101d38;border:1px solid rgba(91,144,209,.34);box-shadow:0 15px 35px rgba(0,0,0,.38);display:none}.acta-picker-suggestions.open{display:block}.acta-picker-option{width:100%;border:0;border-bottom:1px solid rgba(98,122,164,.18);background:transparent;color:#fff;padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.acta-picker-option:hover{background:#203b67}.acta-picker-option strong{font-size:12px}.acta-picker-option small{font-size:10px;color:#89a2c4}.acta-picker-empty{padding:13px;color:#8ca4c4;font-size:11px}
.acta-modal-note{color:#a9bad2;margin:-10px 0 15px;font-size:12px}.acta-selection-head{display:flex;justify-content:space-between;align-items:center;padding:9px 7px;margin-top:14px;border:1px solid rgba(100,130,178,.30);border-bottom:0;background:#1d2b50;color:#b6c7df;font-size:11px}.acta-modal-table-wrap{max-height:510px;overflow:auto;border:1px solid rgba(100,130,178,.30)}.acta-modal-table{width:100%;min-width:1060px;border-collapse:separate;border-spacing:0}.acta-modal-table th,.acta-modal-table td{padding:9px;border-right:1px solid rgba(102,124,161,.35);border-bottom:1px solid rgba(102,124,161,.35);vertical-align:middle;font-size:11px}.acta-modal-table th{position:sticky;top:0;background:#1d2b50;text-align:left;z-index:2}.acta-modal-table td{background:#1e3055}.acta-modal-table tbody tr:nth-child(even) td{background:#1a293c}.acta-modal-thumb{width:76px;height:66px;object-fit:contain;background:#fff;display:block;margin:auto}

@media(max-width:980px){.acta-detail-grid{grid-template-columns:1fr}.actas-results{display:none}.actas-table-wrap{max-height:none}.acta-person-card{padding-top:0}.acta-modal{padding:6px}.acta-modal-card{max-height:97vh}.actas-strip{align-items:flex-start}.actas-strip-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:680px){.actas-strip{flex-direction:column}.actas-strip-actions{width:100%}.actas-summary-btn,.actas-new-btn{flex:1;justify-content:center}.actas-panel{padding:8px}.acta-file-buttons{flex-wrap:wrap}.acta-person-card>div:not(.acta-total){grid-template-columns:1fr}.acta-assets-toolbar{flex-wrap:wrap}.acta-unlink-btn,.acta-transfer-btn{flex:1;justify-content:center}.acta-modal-footer{flex-direction:column}.acta-cancel,.acta-save,.acta-transfer-confirm,.acta-unlink-confirm{width:100%}}

html[data-theme="light"] .actas-strip,html[data-theme="light"] .actas-panel{background:linear-gradient(180deg,#fff,#f5f9fd);border-color:#dae6f1;box-shadow:0 12px 28px rgba(30,65,105,.08)}html[data-theme="light"] .actas-strip-title{color:#17334f}html[data-theme="light"] .actas-table-wrap{background:#fff;border-color:#d9e5f0}html[data-theme="light"] .actas-table thead th,html[data-theme="light"] .actas-filter-row th{background:#24375e;color:#fff}html[data-theme="light"] .acta-main-row td{background:#fff;color:#17334f;border-color:#dfe8f2}html[data-theme="light"] .acta-main-row:nth-child(4n+3) td{background:#f7fbff}html[data-theme="light"] .acta-main-row:hover td,html[data-theme="light"] .acta-main-row.is-open td{background:#edf5fd}html[data-theme="light"] .acta-detail-row>td{background:#eff5fb!important}html[data-theme="light"] .acta-person-card span,html[data-theme="light"] .acta-detail-label{color:#17334f}html[data-theme="light"] .acta-person-card b{background:#fff;color:#5f738b;border-color:#d9e5f0}html[data-theme="light"] .acta-upload-box form{background:#fff;border-color:#d7e3ef}html[data-theme="light"] .acta-assets-toolbar{background:#edf4fb}html[data-theme="light"] .acta-modal-card{background:#f8fbff;color:#17334f}html[data-theme="light"] .acta-picker>input[type=text]{background:#fff;color:#17334f;border-color:#cad9e9}html[data-theme="light"] .acta-picker-suggestions{background:#fff;border-color:#cfdeed}html[data-theme="light"] .acta-picker-option{color:#17334f;border-color:#e3ebf3}html[data-theme="light"] .acta-picker-option:hover{background:#edf5fd}html[data-theme="light"] .acta-selection-head,html[data-theme="light"] .acta-modal-table th{background:#24375e;color:#fff}html[data-theme="light"] .acta-modal-table td{background:#fff;color:#17334f}html[data-theme="light"] .acta-modal-table tbody tr:nth-child(even) td{background:#f6faff}

/* =========================================================
   CONSTATA EXCEL · CARGA MASIVA PRO
   ========================================================= */
.bulk-data-page{display:flex;flex-direction:column;gap:14px;min-height:100%}
.bulk-data-titlebar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-radius:12px;background:linear-gradient(180deg,rgba(30,44,83,.98),rgba(28,40,75,.98));border:1px solid rgba(103,139,197,.18);box-shadow:0 12px 28px rgba(0,11,36,.13)}
.bulk-data-title{display:flex;align-items:center;gap:9px;color:#fff;font-size:17px;font-weight:800}.bulk-data-title span{font-size:24px;color:#dceaff;line-height:1}.bulk-data-company{font-size:12px;color:#99afd0}.bulk-data-company b{color:#fff}
.bulk-accordion{border:1px solid rgba(97,132,188,.25);border-radius:10px;overflow:hidden;background:rgba(28,42,69,.78)}
.bulk-accordion>summary{list-style:none;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;min-height:42px;padding:0 14px;cursor:pointer;background:linear-gradient(180deg,rgba(31,47,76,.98),rgba(29,43,70,.98));color:#63adff;border-bottom:1px solid transparent;user-select:none}.bulk-accordion>summary::-webkit-details-marker{display:none}.bulk-accordion[open]>summary{border-bottom-color:rgba(119,143,180,.2)}
.bulk-accordion>summary strong{font-size:16px;letter-spacing:.02em}.bulk-accordion>summary small{justify-self:end;color:#8ea7c8;font-size:11px;font-weight:600}.bulk-chevron{font-size:26px;line-height:1;color:#66b3ff;transform:rotate(0);transition:transform .18s ease}.bulk-accordion[open] .bulk-chevron{transform:rotate(90deg)}
.bulk-accordion-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;padding:20px 22px 24px;background:#202e3f}
.bulk-column{min-width:0}.bulk-section-label{font-size:16px;color:#fff;margin-bottom:8px}.bulk-help{margin:0 0 16px;color:#9eb2cb;font-size:12px;line-height:1.5;max-width:650px}.bulk-download-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 19px;border-radius:8px;background:linear-gradient(135deg,#49df7c,#3ad57c);color:#09251a;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(55,215,116,.14);transition:transform .17s ease,filter .17s ease}.bulk-download-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.bulk-download-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bulk-upload-form{border:1px solid rgba(104,129,165,.28);border-radius:9px;overflow:hidden;background:#202d3d}.bulk-upload-actions{display:flex;align-items:center;gap:8px;padding:20px 22px 16px;border-bottom:1px solid rgba(109,133,166,.22)}.bulk-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.bulk-choose,.bulk-upload,.bulk-cancel{min-height:48px;border:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;font-size:14px;font-weight:850;cursor:pointer;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.bulk-choose{background:linear-gradient(135deg,#62a9ff,#58a0f2);color:#041a33}.bulk-upload{background:#29496e;color:#142336}.bulk-cancel{background:#2a496c;color:#12243a}.bulk-upload:not(:disabled){background:linear-gradient(135deg,#33b7ff,#3ec8ff);color:#06253a}.bulk-cancel:not(:disabled){background:#345b82;color:#e7f2ff}.bulk-choose:hover,.bulk-upload:not(:disabled):hover,.bulk-cancel:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.03)}.bulk-upload:disabled,.bulk-cancel:disabled{cursor:not-allowed;opacity:.55}.bulk-choose svg,.bulk-upload svg,.bulk-cancel svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bulk-drop-zone{min-height:92px;padding:18px 22px;display:flex;align-items:center;gap:14px;color:#99adc5}.bulk-drop-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#182537;color:#50d889;opacity:.75}.bulk-drop-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.bulk-drop-zone div{display:flex;flex-direction:column;gap:4px;min-width:0}.bulk-drop-zone b{color:#dce8f6;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-drop-zone small{font-size:11px;color:#718aa9}
.bulk-test-box{margin-top:28px;padding-top:18px;border-top:1px solid rgba(116,139,170,.24)}.bulk-test-box>div{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.bulk-test-box>div b{color:#d9e7f7;font-size:13px}.bulk-test-box>div span{color:#849bb7;font-size:11px}.bulk-upload-form.compact{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:7px;padding:9px;border-radius:8px}.bulk-upload-form.compact .bulk-choose,.bulk-upload-form.compact .bulk-upload,.bulk-upload-form.compact .bulk-cancel{min-height:38px;padding:0 12px;font-size:12px}.bulk-upload-form.compact .bulk-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#91a7c0;font-size:11px;padding-left:4px}
.bulk-note{margin-top:24px;padding:13px 14px;border:1px solid rgba(67,176,255,.22);border-radius:9px;background:rgba(24,68,107,.3);display:flex;flex-direction:column;gap:5px}.bulk-note b{color:#6cc5ff;font-size:12px}.bulk-note span{color:#a8bdd4;font-size:11px;line-height:1.5}.bulk-note strong{color:#e7f3ff}
.bulk-result-card{padding:16px 18px;border-radius:12px;background:linear-gradient(180deg,rgba(20,56,70,.92),rgba(18,44,59,.94));border:1px solid rgba(63,208,139,.28)}.bulk-result-card.has-warnings{background:linear-gradient(180deg,rgba(73,54,27,.94),rgba(54,41,25,.96));border-color:rgba(255,177,76,.28)}.bulk-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.bulk-result-head small{display:block;color:#77ddb1;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:4px}.bulk-result-card.has-warnings .bulk-result-head small{color:#ffc36d}.bulk-result-head h3{margin:0;color:#fff;font-size:16px}.bulk-result-head p{margin:5px 0 0;color:#9ebbb4;font-size:12px}.bulk-result-card.has-warnings .bulk-result-head p{color:#c7b18f}.bulk-result-badge{padding:6px 10px;border-radius:999px;background:rgba(80,214,148,.12);color:#8ae1b8;font-size:11px;font-weight:850;white-space:nowrap}.bulk-result-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.bulk-result-stats>div{min-width:92px;padding:8px 12px;border-radius:9px;background:rgba(6,23,38,.35);display:flex;align-items:baseline;gap:7px}.bulk-result-stats b{font-size:18px;color:#fff}.bulk-result-stats span{font-size:10px;color:#93acb9;text-transform:uppercase;letter-spacing:.05em}.bulk-result-stats .stat-errors b{color:#ff8d8d}.bulk-result-details{margin-top:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:9px}.bulk-result-details summary{cursor:pointer;color:#d9e8e4;font-size:11px;font-weight:800}.bulk-result-scroll{max-height:150px;overflow:auto;margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(4,17,30,.32)}.bulk-result-scroll p{margin:0;padding:5px 0;color:#b7c7cf;font-size:11px;border-bottom:1px solid rgba(255,255,255,.05)}.bulk-result-scroll p:last-child{border-bottom:0}
.bulk-confirm-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.bulk-confirm-modal.is-open{display:flex}.bulk-confirm-backdrop{position:absolute;inset:0;background:rgba(0,8,24,.78);backdrop-filter:blur(3px)}.bulk-confirm-dialog{position:relative;width:min(470px,100%);padding:26px;border-radius:18px;background:linear-gradient(180deg,#182b4b,#10223d);border:1px solid rgba(73,166,255,.35);box-shadow:0 28px 80px rgba(0,0,0,.42);text-align:center}.bulk-confirm-icon{width:58px;height:58px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#238dff,#37c6ff);color:#fff}.bulk-confirm-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2}.bulk-confirm-dialog h3{margin:0;color:#fff;font-size:19px}.bulk-confirm-dialog>p{margin:8px auto 15px;color:#9eb3cc;font-size:12px;line-height:1.55;max-width:390px}.bulk-confirm-file{padding:10px 12px;border-radius:9px;background:#0b1b31;display:flex;flex-direction:column;gap:3px;text-align:left}.bulk-confirm-file small{color:#7893b2;font-size:10px}.bulk-confirm-file b{color:#d8eaff;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.bulk-confirm-actions button{border:0;border-radius:9px;padding:11px 15px;font-weight:850;cursor:pointer}.bulk-confirm-cancel{background:#243a58;color:#c8d8ec}.bulk-confirm-submit{background:linear-gradient(135deg,#42db77,#2fc875);color:#062719;display:inline-flex;align-items:center;gap:8px}.bulk-confirm-submit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:900px){.bulk-accordion-body{grid-template-columns:1fr;gap:24px}.bulk-data-company{display:none}.bulk-upload-actions{flex-wrap:wrap}.bulk-accordion>summary small{display:none}.bulk-upload-form.compact{grid-template-columns:1fr 1fr}.bulk-upload-form.compact .bulk-file-name{grid-column:1/-1}.bulk-result-head{flex-direction:column}.bulk-confirm-actions{flex-direction:column-reverse}.bulk-confirm-actions button{width:100%}}
html[data-theme="light"] .bulk-data-titlebar{background:linear-gradient(180deg,#f7faff,#edf3fa);border-color:#d9e6f2}.bulk-data-titlebar{}html[data-theme="light"] .bulk-data-title{color:#193653}html[data-theme="light"] .bulk-data-company{color:#6e8197}html[data-theme="light"] .bulk-data-company b{color:#173653}html[data-theme="light"] .bulk-accordion{background:#fff;border-color:#d9e4ef}html[data-theme="light"] .bulk-accordion>summary{background:linear-gradient(180deg,#f4f8fc,#edf3f8);color:#2777c7}html[data-theme="light"] .bulk-accordion-body{background:#f8fbfe}html[data-theme="light"] .bulk-section-label{color:#1c3856}html[data-theme="light"] .bulk-help{color:#62788f}html[data-theme="light"] .bulk-upload-form{background:#fff;border-color:#d6e1ec}html[data-theme="light"] .bulk-drop-zone b{color:#294761}html[data-theme="light"] .bulk-drop-zone{color:#6b839a}html[data-theme="light"] .bulk-test-box>div b{color:#264763}html[data-theme="light"] .bulk-note{background:#eef7ff;border-color:#cee7fb}html[data-theme="light"] .bulk-note span{color:#58738b}html[data-theme="light"] .bulk-note strong{color:#204b70}

/* =========================================================
   MÓDULO VEHÍCULOS · AVALÚO VEHICULAR KPI
   Integración multiempresa + Firebase
   ========================================================= */
.vehicle-page{display:flex;flex-direction:column;gap:14px;min-width:0}
.vehicle-module-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid rgba(94,143,214,.18);border-radius:15px;background:linear-gradient(180deg,rgba(29,49,91,.98),rgba(25,41,79,.97));box-shadow:0 10px 26px rgba(0,13,42,.13)}
.vehicle-module-title,.vehicle-module-bar>div:first-child{display:flex;align-items:center;gap:9px;color:#fff;font-size:17px;font-weight:850}
.vehicle-module-title>span,.vehicle-module-bar>div:first-child>span{font-size:22px;color:#d6e7ff}
.vehicle-new-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;text-decoration:none;background:linear-gradient(135deg,#54e37a,#36ca80);color:#062416;font-weight:850;box-shadow:0 10px 24px rgba(54,210,125,.2)}
.vehicle-new-btn svg,.vehicle-btn svg,.vehicle-actions svg,.vehicle-search svg,.vehicle-pager svg,.vehicle-file-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vehicle-stats article{display:flex;align-items:center;gap:13px;min-height:85px;padding:16px;border:1px solid rgba(86,132,200,.22);border-radius:16px;background:linear-gradient(150deg,rgba(22,47,87,.96),rgba(18,38,72,.96));box-shadow:0 12px 28px rgba(0,12,38,.12)}
.vehicle-stats article>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(50,139,255,.13);font-size:22px}
.vehicle-stats small{display:block;color:#89a4cc;font-weight:750;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.vehicle-stats strong{display:block;color:#fff;font-size:24px;margin-top:3px}.vehicle-stat-action a{display:inline-block;margin-top:5px;color:#56c7ff;font-weight:800;text-decoration:none}
.vehicle-list-card{padding:16px;border:1px solid rgba(92,129,188,.2);border-radius:18px;background:linear-gradient(180deg,rgba(24,42,82,.98),rgba(24,39,74,.98));box-shadow:0 18px 40px rgba(0,10,32,.15)}
.vehicle-list-toolbar{display:grid;grid-template-columns:auto minmax(260px,520px) 1fr;align-items:center;gap:14px;margin-bottom:14px}
.vehicle-pager{display:flex;gap:8px}.vehicle-pager a{width:44px;height:40px;display:grid;place-items:center;border-radius:10px;background:#244875;color:#90b5df;text-decoration:none}.vehicle-pager a:not(.disabled):hover{background:#35baff;color:#04203a}.vehicle-pager a.disabled{opacity:.38;pointer-events:none}
.vehicle-search{height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid rgba(83,134,205,.42);border-radius:11px;background:#101d39;color:#6ea8df}.vehicle-search input{flex:1;border:0!important;outline:0!important;background:transparent!important;color:#eef6ff!important;padding:0!important;box-shadow:none!important}.vehicle-search a{color:#8aa4c8;text-decoration:none;font-size:20px}.vehicle-result-count{justify-self:end;color:#9bb0cf;font-size:12px}.vehicle-result-count b{color:#fff}
.vehicle-table-wrap{overflow:auto;border:1px solid rgba(89,117,166,.25);border-radius:14px}.vehicle-table{width:100%;min-width:1180px;border-collapse:collapse}.vehicle-table th{padding:12px 10px;background:#202f59;color:#fff;text-align:left;font-size:13px;border-right:1px solid rgba(111,133,175,.28);border-bottom:1px solid rgba(111,133,175,.38)}.vehicle-table td{padding:11px 10px;background:rgba(31,46,82,.76);color:#eef5ff;border-right:1px solid rgba(93,112,148,.3);border-bottom:1px solid rgba(93,112,148,.32);vertical-align:middle;font-size:13px}.vehicle-table tr:nth-child(even) td{background:rgba(27,42,74,.86)}.vehicle-table tbody tr:hover td{background:rgba(39,62,103,.92)}.vehicle-table td strong{display:block}.vehicle-table td small{display:block;margin-top:3px;color:#91a8c8}.vehicle-thumb{width:76px;height:54px;display:grid;place-items:center;border-radius:9px;overflow:hidden;background:#0d1b35;font-size:24px}.vehicle-thumb img{width:100%;height:100%;object-fit:cover}.vehicle-code,.vehicle-plate{display:inline-flex;padding:6px 9px;border-radius:9px;background:rgba(63,151,255,.12);border:1px solid rgba(68,157,255,.3);font-weight:800}.vehicle-plate{background:rgba(58,221,128,.1);border-color:rgba(58,221,128,.24)}.vehicle-money{font-weight:850;color:#72e6a6!important;white-space:nowrap}.vehicle-actions{display:flex;gap:7px;align-items:center}.vehicle-actions a,.vehicle-actions button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;text-decoration:none}.vehicle-actions .view{background:#5b9ff5;color:#062344}.vehicle-actions .edit{background:#42c9ff;color:#05203a}.vehicle-actions .pdf{background:#8e72f4;color:#fff}.vehicle-actions .delete{background:#ff6a74;color:#3d0911}.vehicle-empty{padding:38px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#91a8c8}.vehicle-empty>span{font-size:34px}.vehicle-empty b{color:#fff;font-size:16px}
.vehicle-delete-modal{display:none;position:fixed;inset:0;z-index:1200;align-items:center;justify-content:center;padding:20px}.vehicle-delete-modal.is-open{display:flex}.vehicle-delete-backdrop{position:absolute;inset:0;background:rgba(1,8,24,.72);backdrop-filter:blur(3px)}.vehicle-delete-dialog{position:relative;width:min(470px,96vw);padding:25px;border:1px solid rgba(107,145,200,.32);border-radius:20px;background:linear-gradient(180deg,#132a52,#0c1f40);color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.38);text-align:center}.vehicle-delete-icon{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:#ff6873;color:#3f0910;font-size:28px;font-weight:900}.vehicle-delete-dialog h3{font-size:20px;margin:0 0 8px}.vehicle-delete-dialog p{color:#b8c9e2;line-height:1.5}.vehicle-delete-dialog form{display:flex;justify-content:center;gap:10px;margin-top:18px}
.vehicle-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid rgba(107,145,200,.28);border-radius:12px;text-decoration:none;cursor:pointer;font-weight:800;background:#173b70;color:#fff}.vehicle-btn.primary{background:linear-gradient(135deg,#348cff,#2a70de)}.vehicle-btn.success{background:linear-gradient(135deg,#3edb76,#1fbd68);color:#052615;border-color:transparent}.vehicle-btn.secondary{background:#0e203e;color:#dceaff}.vehicle-btn.danger{background:#ff6670;color:#3c0810;border-color:transparent}
.vehicle-form-page{padding-bottom:84px}.vehicle-form-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 4px 8px}.vehicle-form-head h1{margin:4px 0;font-size:28px;color:#fff}.vehicle-form-head p{margin:0;color:#9ab0d2}.vehicle-eyebrow{display:block;color:#51adff;font-size:11px;font-weight:900;letter-spacing:.16em}.vehicle-close{color:#82a8d8;text-decoration:none;font-size:34px;line-height:1}.vehicle-form{display:flex;flex-direction:column;gap:14px}.vehicle-section{padding:18px;border:1px solid rgba(91,129,188,.22);border-radius:18px;background:linear-gradient(180deg,rgba(24,43,82,.96),rgba(21,37,70,.96));box-shadow:0 12px 30px rgba(0,13,42,.12)}.vehicle-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-bottom:1px solid rgba(92,143,211,.24);padding-bottom:10px}.vehicle-section-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#36a4ff,#2768d2);color:#fff;font-weight:900}.vehicle-section-title small{display:block;color:#77baff;font-size:10px;font-weight:900;letter-spacing:.16em}.vehicle-section-title h2{margin:2px 0 0;color:#fff;font-size:18px}.vehicle-section-title em{margin-left:auto;color:#8aa5ca;font-size:11px;font-style:normal}.vehicle-grid{display:grid;gap:13px}.vehicle-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.vehicle-grid .span-2{grid-column:span 2}.vehicle-form label{display:flex;flex-direction:column;gap:6px;color:#eaf3ff;font-weight:750;font-size:12px}.vehicle-form input,.vehicle-form select,.vehicle-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgba(105,134,179,.48);border-radius:10px;background:#0d1a31;color:#fff;outline:0;font:inherit}.vehicle-form textarea{min-height:92px;resize:vertical}.vehicle-form input:focus,.vehicle-form select:focus,.vehicle-form textarea:focus{border-color:#43b4ff;box-shadow:0 0 0 3px rgba(50,166,255,.12)}
.vehicle-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vehicle-check-row{display:grid;grid-template-columns:1fr 52px 52px 52px;align-items:center;gap:5px;padding:9px 10px;border:1px solid rgba(92,123,172,.25);border-radius:10px;background:rgba(10,25,49,.42);color:#e9f3ff}.vehicle-check-row label{display:grid;place-items:center;min-height:34px;border-radius:8px;background:#10284d;cursor:pointer}.vehicle-check-row input{width:auto!important;min-height:0!important}.vehicle-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vehicle-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-value-grid label{padding:14px;border:1px solid rgba(85,126,185,.25);border-radius:14px;background:#0e203e}.vehicle-value-grid label.highlight{border-color:rgba(64,221,131,.45);box-shadow:inset 0 0 0 1px rgba(64,221,131,.08)}.vehicle-value-grid label>div{display:flex;align-items:center;gap:8px}.vehicle-value-grid label b{font-size:20px;color:#65d99a}.vehicle-value-grid label input{font-size:18px;font-weight:850}.vehicle-damage-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:14px}.vehicle-damage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vehicle-damage-grid article{overflow:hidden;border:1px solid rgba(102,140,196,.32);border-radius:16px;background:#fff}.vehicle-damage-grid header{padding:9px 12px;background:linear-gradient(135deg,#225699,#183d75);color:#fff;font-weight:850}.vehicle-damage-canvas{position:relative;height:260px;background:#fff}.vehicle-damage-canvas img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none}.vehicle-damage-layer{position:absolute;inset:0;cursor:crosshair}.vehicle-damage-mark{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(179,26,40,.72);border-radius:50%;background:rgba(255,255,255,.86);color:#c51d2b;font-size:24px;font-weight:900;cursor:pointer;box-shadow:0 3px 10px rgba(94,17,26,.18)}.vehicle-help{margin:10px 0 0;color:#a8bad4;font-size:12px}.vehicle-help b{color:#ff6572}
.vehicle-upload-box{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed rgba(88,154,224,.46);border-radius:14px;background:rgba(11,29,55,.45)}.vehicle-file-btn{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:11px 15px;border-radius:11px;background:#59a5ff;color:#06213d!important;cursor:pointer}.vehicle-file-btn input{display:none}.vehicle-upload-box>span{color:#98afd1}.vehicle-photo-subtitle{margin:16px 0 8px;color:#fff;font-size:14px}.vehicle-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vehicle-photo-item{padding:8px;border:1px solid rgba(96,131,185,.3);border-radius:13px;background:#0e203e}.vehicle-photo-item>div:first-child{position:relative;height:150px;overflow:hidden;border-radius:9px;background:#07162c}.vehicle-photo-item img{width:100%;height:100%;object-fit:cover}.vehicle-photo-item>div:first-child span{position:absolute;right:7px;top:7px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#2c85ec;color:#fff;font-weight:900}.vehicle-photo-item small{display:block;margin:6px 0;color:#8da6ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-photo-item>div:last-child{display:flex;gap:5px}.vehicle-photo-item button{flex:1;border:0;border-radius:8px;padding:6px;background:#193963;color:#ddecff;cursor:pointer}.vehicle-photo-item button.danger{background:#5a1c2b;color:#ffb8c0}.vehicle-signature-preview{margin-top:16px;padding:22px;border:1px solid rgba(92,126,179,.25);border-radius:16px;background:#fff;color:#1a3156;text-align:center}.vehicle-signature-preview strong{display:block;font-family:cursive;font-size:28px;color:#0a4b98}.vehicle-signature-preview span,.vehicle-signature-preview b,.vehicle-signature-preview small{display:block;margin-top:4px}.vehicle-form-actions{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:10px;padding:12px 0;background:linear-gradient(180deg,transparent,rgba(3,18,42,.95) 32%)}
.vehicle-setup-card{padding:46px 24px;border:1px solid rgba(94,132,191,.22);border-radius:18px;background:linear-gradient(180deg,rgba(24,43,82,.96),rgba(20,36,69,.96));text-align:center;color:#b6c8e2}.vehicle-setup-card h1{color:#fff}.vehicle-setup-icon{font-size:48px}.vehicle-setup-path{display:inline-block;margin:10px 0;padding:10px 14px;border-radius:10px;background:#0b1d39;color:#65c8ff;font-family:monospace}
.vehicle-head-actions{display:flex;gap:8px;flex-wrap:wrap}.vehicle-view-hero{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:22px;padding:20px;border:1px solid rgba(89,132,196,.24);border-radius:18px;background:linear-gradient(150deg,#173a70,#10284d);color:#fff}.vehicle-view-photo{width:190px;height:132px;display:grid;place-items:center;border-radius:14px;overflow:hidden;background:#091a33;font-size:50px}.vehicle-view-photo img{width:100%;height:100%;object-fit:cover}.vehicle-view-hero h1{margin:4px 0;font-size:30px}.vehicle-view-hero p{margin:0;color:#a8bbd7}.vehicle-hero-badges{display:flex;gap:8px;margin-top:10px}.vehicle-hero-badges>*{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}.vehicle-big-value{text-align:right}.vehicle-big-value small{display:block;color:#85a4ce;font-weight:850}.vehicle-big-value strong{display:block;margin-top:5px;color:#67e49d;font-size:30px}.vehicle-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vehicle-view-grid>section,.vehicle-detail-section{padding:18px;border:1px solid rgba(92,129,188,.22);border-radius:17px;background:rgba(21,39,74,.92);color:#fff}.vehicle-view-grid h2,.vehicle-detail-section h2{margin:0 0 13px;font-size:17px}.vehicle-view-grid dl{display:grid;grid-template-columns:160px 1fr;margin:0}.vehicle-view-grid dt,.vehicle-view-grid dd{padding:8px;border-bottom:1px solid rgba(105,133,176,.18)}.vehicle-view-grid dt{color:#8fa8cb;font-weight:750}.vehicle-view-grid dd{margin:0}.vehicle-value-grid.view article{padding:18px;border:1px solid rgba(91,129,188,.25);border-radius:14px;background:#0d203e;text-align:center}.vehicle-value-grid.view small{display:block;color:#90a8c9}.vehicle-value-grid.view strong{display:block;margin-top:6px;font-size:24px;color:#fff}.vehicle-value-grid.view .highlight strong{color:#66e09a}.vehicle-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vehicle-note-grid article{padding:13px;border-radius:12px;background:#0d203e}.vehicle-note-grid p{color:#b8c9df;line-height:1.45}.vehicle-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vehicle-gallery a{display:block;height:180px;border-radius:12px;overflow:hidden;background:#07162d}.vehicle-gallery img{width:100%;height:100%;object-fit:cover}.vehicle-state-read{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vehicle-state-read>div{padding:10px;border-radius:10px;background:#0d203e}.vehicle-state-read span,.vehicle-state-read b,.vehicle-state-read small{display:block}.vehicle-state-read span{color:#9fb1cb}.vehicle-state-read b{margin-top:4px;color:#fff}.vehicle-state-read small{margin-top:3px;color:#64c9ff}
@media(max-width:1250px){.vehicle-grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-photo-grid,.vehicle-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-state-read{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.vehicle-stats,.vehicle-grid.cols-3,.vehicle-grid.cols-4,.vehicle-grid.cols-5,.vehicle-grid.cols-2,.vehicle-value-grid,.vehicle-view-grid,.vehicle-note-grid{grid-template-columns:1fr 1fr}.vehicle-grid .span-2{grid-column:span 2}.vehicle-equipment-grid,.vehicle-damage-grid{grid-template-columns:1fr}.vehicle-state-grid,.vehicle-state-read{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-list-toolbar{grid-template-columns:auto 1fr}.vehicle-result-count{grid-column:1/-1;justify-self:start}.vehicle-view-hero{grid-template-columns:130px 1fr}.vehicle-view-photo{width:130px;height:100px}.vehicle-big-value{grid-column:1/-1;text-align:left}}
@media(max-width:620px){.vehicle-stats,.vehicle-grid.cols-3,.vehicle-grid.cols-4,.vehicle-grid.cols-5,.vehicle-grid.cols-2,.vehicle-value-grid{grid-template-columns:1fr}.vehicle-grid .span-2{grid-column:span 1}.vehicle-state-grid,.vehicle-photo-grid,.vehicle-gallery,.vehicle-state-read{grid-template-columns:1fr}.vehicle-damage-controls{grid-template-columns:1fr}.vehicle-view-hero{grid-template-columns:1fr}.vehicle-view-photo{width:100%;height:180px}.vehicle-head-actions{width:100%}.vehicle-module-bar{flex-wrap:wrap}.vehicle-new-btn{width:100%;justify-content:center}.vehicle-list-toolbar{grid-template-columns:1fr}.vehicle-pager{order:2}.vehicle-search{order:1}.vehicle-result-count{order:3}.vehicle-view-grid dl{grid-template-columns:1fr}.vehicle-view-grid dt{border-bottom:0;padding-bottom:2px}.vehicle-view-grid dd{padding-top:2px}}


/* =========================================================
   VEHÍCULOS 9.1 · LISTADO CLÁSICO DEL SISTEMA ORIGINAL
   Recupera el diseño compacto del módulo de avalúo vehicular.
   ========================================================= */
.vehicle-page-classic{gap:16px}
.vehicle-page-classic .vehicle-module-bar{
  min-height:58px;padding:10px 18px;border-radius:12px;
  background:#1d2b51;border-color:rgba(107,132,181,.18);box-shadow:none
}
.vehicle-page-classic .vehicle-new-btn{
  min-height:42px;padding:0 19px;border-radius:999px;background:#49dc7e;color:#041e12;
  box-shadow:none;font-size:14px
}
.vehicle-classic-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vehicle-classic-stat{
  min-height:88px;padding:18px 16px;border:1px solid rgba(104,130,182,.22);border-radius:12px;
  background:#273c72;color:#fff;box-shadow:none
}
.vehicle-classic-stat>span{display:block;margin-bottom:9px;color:#f7fbff;font-size:12px;font-weight:700}
.vehicle-classic-stat>strong{display:block;color:#fff;font-size:25px;line-height:1;font-weight:900;letter-spacing:.01em}
.vehicle-classic-stat-report{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.vehicle-classic-export{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:1px;padding:0 15px;
  border:1px solid rgba(139,164,214,.35);border-radius:10px;background:#24386b;color:#fff;text-decoration:none;
  font-size:12px;font-weight:800;transition:.16s ease
}
.vehicle-classic-export:hover{border-color:#59b6ff;background:#2a477e;transform:translateY(-1px)}
.vehicle-classic-card{
  overflow:hidden;border:1px solid rgba(103,129,180,.2);border-radius:12px;background:#1d2e58;box-shadow:none
}
.vehicle-classic-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 14px 14px;
  border-bottom:1px solid rgba(103,130,181,.16)
}
.vehicle-classic-card-head h2{margin:0;color:#fff;font-size:16px;line-height:1.2}
.vehicle-classic-card-head p{margin:8px 0 0;color:#fff;font-size:12px}
.vehicle-classic-search{
  width:min(440px,46vw);height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;
  border:1px solid rgba(100,133,191,.42);border-radius:10px;background:#101c36;color:#70a6d9
}
.vehicle-classic-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.vehicle-classic-search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;box-shadow:none!important;font-size:12px}
.vehicle-classic-search input::placeholder{color:#8397b8}
.vehicle-classic-search a{color:#a9bbd6;text-decoration:none;font-size:20px;line-height:1}
.vehicle-classic-table-wrap{overflow:auto;padding:0 14px 14px}
.vehicle-classic-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;background:#233665;border-radius:12px;overflow:hidden}
.vehicle-classic-table thead th{
  padding:11px 12px;background:#12244b;color:#fff;text-align:left;font-size:12px;font-weight:850;
  border-bottom:1px solid rgba(109,134,181,.25)
}
.vehicle-classic-table tbody td{
  padding:11px 12px;background:#233665;color:#fff;font-size:12px;line-height:1.3;
  border-bottom:1px solid rgba(103,127,170,.2);vertical-align:middle
}
.vehicle-classic-table tbody tr:last-child td{border-bottom:0}
.vehicle-classic-table tbody tr:nth-child(even) td{background:#20325e}
.vehicle-classic-table tbody tr:hover td{background:#294274}
.vehicle-classic-code{
  display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:6px 9px;border-radius:999px;
  border:1px solid rgba(61,157,255,.36);background:#1f4d83;color:#e8f5ff;font-size:11px;font-weight:850
}
.vehicle-classic-name{font-weight:600}
.vehicle-classic-money{color:#fff!important;font-size:13px!important;font-weight:900;white-space:nowrap}
.vehicle-classic-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.vehicle-classic-actions a,.vehicle-classic-actions button{
  width:29px;height:29px;display:grid;place-items:center;padding:0;border-radius:8px;border:1px solid rgba(127,153,200,.32);
  background:#1d315e;color:#fff;text-decoration:none;cursor:pointer;transition:.15s ease
}
.vehicle-classic-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-classic-actions .is-view{background:#1d315e;color:#fff}
.vehicle-classic-actions .is-edit{background:#243b6d;color:#ff9c4a}
.vehicle-classic-actions .is-pdf{width:44px;background:#557fc7;color:#fff;border-color:#557fc7;font-size:10px;font-weight:900}
.vehicle-classic-actions .is-delete{background:#b93558;color:#fff;border-color:#b93558}
.vehicle-classic-actions a:hover,.vehicle-classic-actions button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.vehicle-classic-empty{padding:34px 18px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#9fb2d1;text-align:center}
.vehicle-classic-empty strong{color:#fff}
.vehicle-classic-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 14px;color:#9fb2d1;font-size:11px}
.vehicle-classic-pager{display:flex;align-items:center;gap:8px}
.vehicle-classic-pager a{width:34px;height:32px;display:grid;place-items:center;border-radius:8px;background:#244a79;color:#b9d5f2;text-decoration:none}
.vehicle-classic-pager a.disabled{opacity:.35;pointer-events:none}
.vehicle-classic-pager svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-classic-pager b{color:#fff}

html[data-theme="light"] .vehicle-page-classic .vehicle-module-bar{background:#f7f9fc;border-color:#d8e2ee}
html[data-theme="light"] .vehicle-page-classic .vehicle-module-title{color:#173652}
html[data-theme="light"] .vehicle-page-classic .vehicle-module-title>span{color:#315f8d}
html[data-theme="light"] .vehicle-classic-stat{background:#fff;border-color:#d6e2ee;color:#173652}
html[data-theme="light"] .vehicle-classic-stat>span,html[data-theme="light"] .vehicle-classic-stat>strong{color:#173652}
html[data-theme="light"] .vehicle-classic-card{background:#fff;border-color:#d8e3ee}
html[data-theme="light"] .vehicle-classic-card-head h2,html[data-theme="light"] .vehicle-classic-card-head p{color:#173652}
html[data-theme="light"] .vehicle-classic-search{background:#f7faff;border-color:#ccdbe9}
html[data-theme="light"] .vehicle-classic-search input{color:#173652!important}
html[data-theme="light"] .vehicle-classic-table{background:#fff}
html[data-theme="light"] .vehicle-classic-table thead th{background:#22355e}
html[data-theme="light"] .vehicle-classic-table tbody td{background:#fff;color:#173652;border-bottom-color:#dfe7ef}
html[data-theme="light"] .vehicle-classic-table tbody tr:nth-child(even) td{background:#f7faff}
html[data-theme="light"] .vehicle-classic-table tbody tr:hover td{background:#eef6fd}
html[data-theme="light"] .vehicle-classic-money{color:#173652!important}

@media(max-width:900px){
  .vehicle-classic-summary{grid-template-columns:1fr 1fr}.vehicle-classic-stat-report{grid-column:1/-1}
  .vehicle-classic-card-head{align-items:flex-start;flex-direction:column}.vehicle-classic-search{width:100%}
}
@media(max-width:620px){
  .vehicle-classic-summary{grid-template-columns:1fr}.vehicle-classic-stat-report{grid-column:auto}
  .vehicle-classic-table-wrap{padding:0 10px 10px}.vehicle-classic-card-head{padding:13px 10px}
  .vehicle-classic-footer{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   VEHÍCULOS 10.0 · CREATE / VIEW DEL SISTEMA ORIGINAL
   Mantiene la lógica del sistema nuevo y recupera la presentación
   del proyecto avaluo_vehicular_4.
   ========================================================= */
.vehicle-legacy{display:flex;flex-direction:column;gap:14px;color:#fff}
.vehicle-legacy-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(114,145,202,.25);background:linear-gradient(180deg,#1d2d57,#1c2a50);border-radius:14px 14px 0 0}
.vehicle-legacy-titlebar h1{margin:3px 0 0;color:#fff;font-size:27px;line-height:1.15}.vehicle-legacy-kicker{display:block;color:#58aeff;font-size:10px;font-weight:900;letter-spacing:.16em}.vehicle-legacy-close{font-size:32px;line-height:1;color:#9dc8f4;text-decoration:none;font-weight:300}
.vehicle-legacy-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:16px 18px 22px;background:#12254a;border-radius:0 0 14px 14px}.vehicle-legacy-form-grid>.span-12{grid-column:1/-1}
.vehicle-legacy-card{padding:18px;border:1px solid rgba(101,133,190,.24);border-radius:14px;background:linear-gradient(180deg,#1b2d58,#17294f);box-shadow:0 10px 26px rgba(0,12,38,.08)}
.vehicle-legacy-card h2,.vehicle-legacy-card h3{margin:0 0 13px;color:#fff}.vehicle-legacy-card h2{font-size:18px}.vehicle-legacy-card h3{font-size:15px}.vehicle-legacy-hint{margin:-5px 0 14px;color:#a8bad4;font-size:11px;line-height:1.5}
.vehicle-legacy-grid{display:grid;gap:11px 14px}.vehicle-legacy-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-legacy-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-legacy-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-legacy-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.vehicle-legacy-grid .span-2{grid-column:span 2}
.vehicle-legacy label{display:flex;flex-direction:column;gap:6px;color:#fff;font-size:12px;font-weight:800}.vehicle-legacy input[type=text],.vehicle-legacy input[type=email],.vehicle-legacy input[type=number],.vehicle-legacy input[type=date],.vehicle-legacy input[type=time],.vehicle-legacy select,.vehicle-legacy textarea{width:100%;min-height:42px;border:1px solid rgba(126,153,198,.38);border-radius:8px;background:#0e1a31;color:#fff;padding:9px 11px;font:inherit;outline:none}.vehicle-legacy textarea{min-height:96px;resize:vertical}.vehicle-legacy input:focus,.vehicle-legacy select:focus,.vehicle-legacy textarea:focus{border-color:#55a9ff;box-shadow:0 0 0 3px rgba(67,157,255,.12)}
.vehicle-legacy-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(111,141,192,.24);border-radius:11px;overflow:hidden}.vehicle-legacy-check-row{display:grid;grid-template-columns:1fr 45px 45px 45px;align-items:center;min-height:46px;padding:0 8px 0 12px;border-bottom:1px solid rgba(111,141,192,.2);background:#17294d}.vehicle-legacy-check-row:nth-child(odd){border-right:1px solid rgba(111,141,192,.2)}.vehicle-legacy-check-row>span{font-size:11px;color:#e7eef9;font-weight:650}.vehicle-legacy-mark{display:grid!important;place-items:center!important;position:relative;gap:0!important}.vehicle-legacy-mark input{position:absolute;opacity:0}.vehicle-legacy-mark b{width:29px;height:29px;display:grid;place-items:center;border:1px solid #56739b;border-radius:50%;color:#89a6c9;background:#10203d}.vehicle-legacy-mark input:checked+b{background:#eaf3ff;color:#173c73;border-color:#9ebde4}
.vehicle-legacy-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.vehicle-legacy-value-grid label{padding:12px;border:1px solid rgba(99,134,192,.26);border-radius:10px;background:#142746}.vehicle-legacy-value-grid input{text-align:right;font-size:16px;font-weight:900;color:#62e3a1!important}
.vehicle-legacy-damage{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin-bottom:14px}.vehicle-legacy-damage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-legacy-damage-grid article{overflow:hidden;border:1px solid rgba(105,137,189,.26);border-radius:12px;background:#f7f9fc}.vehicle-legacy-damage-grid article header{padding:7px;text-align:center;color:#224c86;font-size:11px;font-weight:900;letter-spacing:.04em}.vehicle-damage-canvas{position:relative;height:220px;background:#fff;overflow:hidden}.vehicle-damage-canvas>img{display:block;width:100%;height:100%;object-fit:contain}.vehicle-damage-layer{position:absolute;inset:0}.vehicle-damage-layer .damage-mark,.vehicle-damage-layer button{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:#cf2636;font-size:27px;font-weight:900;line-height:1;cursor:pointer}
.vehicle-legacy-upload{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px dashed rgba(98,160,224,.48);border-radius:12px;background:#112440}.vehicle-legacy-upload-label{flex:1;position:relative;cursor:pointer;padding:12px 14px;border-radius:9px;background:#1d4d82}.vehicle-legacy-upload-title{display:block;font-size:13px}.vehicle-legacy-upload-subtitle{display:block;margin-top:3px;color:#a8c6e9;font-size:10px;font-weight:500}.vehicle-legacy-upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.vehicle-legacy-photo-status{padding:9px 12px;border-radius:999px;background:#0e1d35;color:#74d7a7;font-size:11px;font-weight:800}.vehicle-legacy-photo-heading{margin:16px 0 8px!important;color:#abc7e9!important;font-size:12px!important}.vehicle-legacy-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vehicle-photo-item{padding:8px;border:1px solid rgba(104,135,188,.25);border-radius:10px;background:#11233f}.vehicle-legacy-photo-frame{position:relative;height:150px;border-radius:8px;overflow:hidden;background:#fff}.vehicle-legacy-photo-frame img{width:100%;height:100%;object-fit:contain}.vehicle-legacy-photo-frame span{position:absolute;left:7px;top:7px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#1f5b9f;color:#fff;font-size:11px;font-weight:900}.vehicle-legacy-photo-actions{display:flex;gap:6px;margin-top:7px}.vehicle-legacy-photo-actions button{border:0;border-radius:7px;background:#28476f;color:#fff;padding:6px 9px;cursor:pointer}.vehicle-legacy-photo-actions button.danger{margin-left:auto;background:#b43c52}
.vehicle-legacy-submit-row{display:flex;justify-content:flex-end;gap:10px;padding:10px 0 0}.vehicle-legacy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid rgba(101,139,195,.35);border-radius:9px;background:#2d72c7;color:#fff;text-decoration:none;font-weight:850;cursor:pointer}.vehicle-legacy-btn.secondary{background:#152743;color:#dfe9f7}.vehicle-legacy-btn.danger{background:#b63e54}.vehicle-legacy-btn.save{background:linear-gradient(135deg,#29ce73,#22be68);color:#062819;border-color:#29ce73}.vehicle-legacy-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.vehicle-legacy-btn.large{min-width:142px;min-height:48px}

/* Firma - réplica del create.php anterior */
.vehicle-legacy .responsible-header-editor{margin:14px 0 18px;padding:20px;border:1px solid rgba(137,166,224,.36);border-radius:18px;background:linear-gradient(145deg,rgba(34,69,133,.34),rgba(17,42,94,.30))}.vehicle-legacy .responsible-header-editor h3{margin:0 0 4px;color:#fff;font-size:18px}.vehicle-legacy .signature-editor-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.vehicle-legacy .signature-editor-group{padding:14px;border:1px solid rgba(156,181,229,.28);border-radius:14px;background:rgba(8,31,78,.22)}.vehicle-legacy .signature-editor-group h4{margin:0 0 11px;color:#fff;font-size:15px}.vehicle-legacy .responsible-header-sample{margin-top:14px;border-radius:14px;background:#fff;color:#0b244d;font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.35}.vehicle-legacy .signature-letterhead-preview{min-height:190px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:28px;padding:24px 30px;text-align:left;border:none;box-shadow:none}.vehicle-legacy .signature-preview-person{align-self:end;color:#111827;font-family:Cambria,'Liberation Serif','DejaVu Serif',serif;line-height:1.08}.vehicle-legacy .signature-preview-person-name,.vehicle-legacy .signature-preview-person-role{display:block;margin:0;padding:0}.vehicle-legacy .signature-preview-person-name{font-size:17px;font-weight:500}.vehicle-legacy .signature-preview-person-role{margin-top:1px;font-size:16px;font-weight:700}.vehicle-legacy .signature-preview-company-block{align-self:start;color:#000;text-align:center;font-family:Cambria,'Times New Roman','Liberation Serif','DejaVu Serif',serif;font-size:12px;font-style:italic;font-weight:700;line-height:1.05}.vehicle-legacy .signature-preview-company-block .responsible-header-company{margin:0;padding:0;font-family:'Freestyle Script','Brush Script MT','Segoe Script','URW Chancery L',cursive;font-size:32px!important;font-style:normal;font-weight:400;line-height:.95!important;color:#061f52}.vehicle-legacy .signature-preview-company-block #vehicleSignatureSbPreview{margin-top:0;color:#000;font-size:13px;line-height:1}.vehicle-legacy .signature-final-note{margin:14px 0 0!important}

/* Vista clásica tomada de view.php anterior */
.vehicle-legacy-view{gap:14px}.vehicle-legacy-view .vehicle-legacy-card{background:#f6f9fe;color:#12213f;border-color:#d1ddeb;box-shadow:none}.vehicle-legacy-view .vehicle-legacy-card h3{color:#173f7e}.vehicle-legacy-detail-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.vehicle-legacy-detail-header h2{margin:0;color:#10224b;font-size:24px}.vehicle-legacy-detail-header p{margin:5px 0 0;color:#50688d}.vehicle-legacy-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vehicle-legacy-actions form{margin:0}.vehicle-legacy-view .vehicle-legacy-btn{min-height:37px;padding:0 13px;font-size:12px}.vehicle-legacy-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #cbd8e8;border-radius:10px;overflow:hidden}.vehicle-legacy-summary-grid>div{padding:10px 12px;background:#fff;border-right:1px solid #d9e3ee;border-bottom:1px solid #d9e3ee;color:#243a5c;font-size:12px}.vehicle-legacy-summary-grid strong{color:#173f7e}.vehicle-legacy-table-wrap{overflow:auto;border:1px solid #cbd8e8;border-radius:10px}.vehicle-legacy-info-table{width:100%;border-collapse:collapse;background:#fff}.vehicle-legacy-info-table th,.vehicle-legacy-info-table td{padding:8px 10px;border-right:1px solid #d7e1ed;border-bottom:1px solid #d7e1ed;font-size:12px;text-align:left;color:#263d60}.vehicle-legacy-info-table th{background:#edf3fa;color:#173f7e;font-weight:850}.vehicle-legacy-info-table tr td:nth-child(odd){background:#f3f7fc;color:#173f7e;font-weight:800}.vehicle-legacy-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px;border:1px solid #c5d4e7;border-radius:999px;background:#f9fbfe;color:#204f8d;font-size:10px;font-weight:850}.vehicle-legacy-damage-counts{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ced9e8;border-radius:9px;overflow:hidden}.vehicle-legacy-damage-counts>div{padding:10px;background:#edf3fa;color:#173f7e;font-size:12px}.vehicle-legacy-damage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.vehicle-legacy-damage-view{padding:8px;border:1px solid #d6e1ee;border-radius:10px;background:#fff}.vehicle-legacy-damage-view h4{margin:0 0 6px;text-align:center;color:#244f8f;font-size:11px}.vehicle-legacy-damage-picture{position:relative;height:210px;overflow:hidden}.vehicle-legacy-damage-picture>img{width:100%;height:100%;object-fit:contain}.vehicle-legacy-damage-picture .damage-x{position:absolute;transform:translate(-50%,-50%);color:#c51d2b;font-size:27px;font-weight:900}.vehicle-legacy-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vehicle-legacy-gallery img{width:100%;height:210px;object-fit:contain;border:1px solid #d6e1ee;border-radius:10px;background:#fff}.vehicle-legacy-view .responsible-identity-view.signature-identity-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:170px;gap:28px;padding:24px 30px;border:0;border-radius:12px;background:#fff;color:#111}.vehicle-legacy-view .responsible-identity-column:first-child{align-self:end;text-align:left;font-family:Cambria,'Times New Roman',serif}.vehicle-legacy-view .responsible-identity-column:first-child span{font-size:16px}.vehicle-legacy-view .responsible-identity-column:first-child strong{font-size:16px;color:#111!important}.vehicle-legacy-view .responsible-identity-column:last-child{align-self:start;text-align:center}.vehicle-legacy-view .responsible-identity-column:last-child strong{display:block;font-family:'Freestyle Script','Brush Script MT','Segoe Script',cursive;font-size:31px;font-weight:400;color:#061f52!important}.vehicle-legacy-view .responsible-identity-column:last-child span{color:#000!important;font-size:12px;font-weight:800}

@media(max-width:1100px){.vehicle-legacy-grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-legacy-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-legacy-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-legacy-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.vehicle-legacy-form-grid{padding:10px}.vehicle-legacy-card{padding:14px}.vehicle-legacy-grid.cols-2,.vehicle-legacy-grid.cols-3,.vehicle-legacy-grid.cols-4,.vehicle-legacy-grid.cols-5,.vehicle-legacy-check-grid,.vehicle-legacy-value-grid,.vehicle-legacy-damage-grid,.vehicle-legacy-damage,.vehicle-legacy-photo-grid,.vehicle-legacy-summary-grid,.vehicle-legacy-damage-summary,.vehicle-legacy .signature-editor-groups,.vehicle-legacy .signature-letterhead-preview,.vehicle-legacy-view .responsible-identity-view.signature-identity-grid{grid-template-columns:1fr}.vehicle-legacy-grid .span-2{grid-column:auto}.vehicle-legacy-detail-header{flex-direction:column}.vehicle-legacy-actions{width:100%}.vehicle-legacy-submit-row{flex-direction:column-reverse}.vehicle-legacy-btn.large{width:100%}}

/* =========================================================
   VEHÍCULOS - VIEW EXACTO DEL SISTEMA VEHICULAR ANTERIOR
   Portado del assets/css/style.css original, aislado para no
   modificar visualmente los demás módulos del sistema KPI.
   ========================================================= */
.vehicle-exact-view{
    padding-bottom:10px;
    color:#10233f;
}
.vehicle-exact-view .card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(215,228,248,.92) 0%,rgba(201,217,241,.90) 100%)!important;
    border:1px solid rgba(151,173,214,.45)!important;
    border-radius:20px!important;
    box-shadow:0 14px 30px rgba(4,20,58,.18)!important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:#10233f!important;
    padding:22px 22px 20px!important;
    margin-bottom:18px!important;
}
.vehicle-exact-view .card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:6px;
    background:linear-gradient(90deg,#081f54 0%,#18458f 55%,#6d93d4 100%);
}
.vehicle-exact-view .card h2,
.vehicle-exact-view .card h3{
    color:#0d2f67!important;
    font-weight:800!important;
    letter-spacing:.01em;
    margin-top:0!important;
}
.vehicle-exact-view .card h3{
    font-size:21px!important;
    margin-bottom:14px!important;
}
.vehicle-exact-view .card p,
.vehicle-exact-view .card td,
.vehicle-exact-view .card th,
.vehicle-exact-view .card strong,
.vehicle-exact-view .card div,
.vehicle-exact-view .card span,
.vehicle-exact-view .detail-header p,
.vehicle-exact-view .summary-grid>div{
    color:#10233f!important;
}
.vehicle-exact-view .detail-header{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
}
.vehicle-exact-view .detail-header h2{
    font-size:34px!important;
    margin:0 0 6px!important;
    color:#0b2a5d!important;
}
.vehicle-exact-view .detail-header p{
    color:#435772!important;
    font-size:15px!important;
    margin:0!important;
}
.vehicle-exact-view .actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
.vehicle-exact-view .actions form{margin:0}
.vehicle-exact-view .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#4f7dd0 0%,#6e98dd 100%);
    color:#fff!important;
    border:none;
    border-radius:12px;
    padding:10px 18px;
    text-decoration:none;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.vehicle-exact-view .btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.vehicle-exact-view .btn.secondary{
    background:rgba(255,255,255,.10);
    color:#0b2a5d!important;
    border:1px solid rgba(17,56,116,.22);
    box-shadow:none;
}
.vehicle-exact-view .vehicle-exact-danger{background:#be4057!important;color:#fff!important}
.vehicle-exact-view .summary-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px 16px!important;
}
.vehicle-exact-view .summary-grid>div{
    background:linear-gradient(180deg,rgba(248,251,255,.82) 0%,rgba(233,240,251,.72) 100%);
    border:1px solid rgba(161,182,219,.55);
    border-radius:14px;
    padding:12px 14px;
    font-size:14px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.vehicle-exact-view .summary-grid strong{color:#123b78!important;font-weight:800!important}
.vehicle-exact-view .table-wrap{
    width:100%;
    overflow-x:auto;
    border-radius:16px;
    border:1px solid rgba(166,185,219,.45);
    background:rgba(239,245,253,.78);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.60);
}
.vehicle-exact-view table{
    width:100%!important;
    table-layout:auto!important;
    background:transparent!important;
    border-collapse:collapse!important;
    color:#10233f!important;
}
.vehicle-exact-view table th{
    background:linear-gradient(180deg,rgba(209,221,241,.95) 0%,rgba(199,213,235,.95) 100%)!important;
    color:#11376e!important;
    font-weight:800!important;
    border-bottom:1px solid rgba(173,191,220,.85)!important;
    padding:13px 12px!important;
    text-align:left!important;
    vertical-align:middle!important;
}
.vehicle-exact-view table td{
    color:#10233f!important;
    border-bottom:1px solid rgba(183,198,221,.65)!important;
    padding:12px!important;
    text-align:left!important;
    vertical-align:middle!important;
}
.vehicle-exact-view table tr:nth-child(even) td{background:rgba(255,255,255,.14)!important}
.vehicle-exact-view .info-table td:first-child{
    width:22%;
    font-weight:800!important;
    color:#14396f!important;
    background:rgba(255,255,255,.12)!important;
}
.vehicle-exact-view .badge{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:42px!important;
    padding:5px 10px!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,rgba(248,251,255,.95) 0%,rgba(235,243,255,.92) 100%)!important;
    border:1px solid #aec6ec!important;
    color:#174aa1!important;
    font-weight:800!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.vehicle-exact-view .gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px!important;
}
.vehicle-exact-view .gallery a{display:block}
.vehicle-exact-view .gallery img{
    width:100%;
    height:210px;
    object-fit:contain;
    background:rgba(255,255,255,.55)!important;
    border:1px solid rgba(170,190,223,.65)!important;
    border-radius:16px!important;
    box-shadow:0 10px 22px rgba(16,48,108,.10);
    padding:6px;
}
.vehicle-exact-view .responsible-identity-view{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    margin-bottom:14px;
    padding:14px;
    border:1px solid rgba(159,181,218,.58);
    border-radius:14px;
    background:rgba(245,249,255,.78);
    color:#153b78!important;
    text-align:center;
}
.vehicle-exact-view .responsible-identity-view strong{
    font-family:Georgia,'Times New Roman',serif;
    font-size:18px;
    font-style:italic;
    color:#153b78!important;
}
.vehicle-exact-view .responsible-identity-view span{color:#153b78!important;font-weight:700}
.vehicle-exact-view .responsible-identity-view.signature-identity-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    align-items:stretch;
}
.vehicle-exact-view .responsible-identity-column{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding:12px;
    border-radius:12px;
    background:rgba(255,255,255,.58);
}
.vehicle-exact-view .damage-summary-table{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid #d5e0ef;
    border-radius:14px 14px 0 0;
    overflow:hidden;
    background:#eef4fb;
    margin-top:6px;
}
.vehicle-exact-view .damage-summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 16px;
    border-right:1px solid #d5e0ef;
}
.vehicle-exact-view .damage-summary-row:last-child{border-right:none}
.vehicle-exact-view .damage-summary-label{
    color:#173f7e!important;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
}
.vehicle-exact-view .damage-summary-value{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:48px;
    min-height:30px;
    padding:0 12px;
    border:1px solid #b8cbe7;
    border-radius:999px;
    background:#fff;
    color:#18447f!important;
    font-weight:800;
    box-shadow:0 2px 8px rgba(9,36,84,.08);
}
.vehicle-exact-view .damage-summary-kind{
    padding:10px 14px;
    border:1px solid #d5e0ef;
    border-top:none;
    border-radius:0 0 14px 14px;
    background:#fbfdff;
    color:#355887!important;
    font-weight:700;
    margin-bottom:12px;
}
.vehicle-exact-view .damage-view-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px;
    border:1px solid #d5e0ef;
    border-radius:14px;
    background:#fff;
}
.vehicle-exact-view .damage-view-summary-card{
    min-height:215px;
    padding:6px;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    border:1px solid #dbe4f0;
    border-radius:12px;
    box-shadow:0 6px 16px rgba(14,43,94,.07);
}
.vehicle-exact-view .damage-view-summary-card h4{
    margin:0 0 6px;
    text-align:center;
    color:#244f8f;
    font-size:12px;
}
.vehicle-exact-view .vehicle-exact-damage-picture{position:relative;height:202px;overflow:hidden}
.vehicle-exact-view .vehicle-exact-damage-picture img{display:block;width:100%;height:100%;object-fit:contain}
.vehicle-exact-view .vehicle-exact-damage-x{position:absolute;transform:translate(-50%,-50%);color:#c51d2b!important;font-size:27px;font-weight:900;line-height:1}

@media(max-width:1100px){
    .vehicle-exact-view .gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
    .vehicle-exact-view .summary-grid,
    .vehicle-exact-view .responsible-identity-view.signature-identity-grid,
    .vehicle-exact-view .damage-summary-table,
    .vehicle-exact-view .damage-view-summary{grid-template-columns:1fr}
    .vehicle-exact-view .detail-header{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
    .vehicle-exact-view .gallery{grid-template-columns:1fr}
    .vehicle-exact-view .card{padding:16px!important;border-radius:14px!important}
    .vehicle-exact-view .detail-header h2{font-size:26px!important}
}

/* =========================================================
   VEHÍCULOS 11.0 · CREATE / EDIT EXACTO DEL ZIP ORIGINAL
   Portado de avaluo_vehicular_4/assets/css/style.css.
   Todo está aislado dentro de .vehicle-create-exact para no
   alterar ningún otro módulo del sistema KPI.
   ========================================================= */
.vehicle-create-exact{display:flex;flex-direction:column;color:#fff;padding-bottom:18px}
.vehicle-create-exact__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,rgba(26,40,83,.98),rgba(34,52,101,.98));border:1px solid rgba(255,255,255,.10);border-radius:18px 18px 0 0;box-shadow:0 18px 45px rgba(0,0,0,.22)}
.vehicle-create-exact__head span{display:block;color:#67b5ff;font-size:10px;font-weight:900;letter-spacing:.15em;margin-bottom:5px}.vehicle-create-exact__head h1{margin:0;color:#fff;font-size:28px;line-height:1.15}.vehicle-create-exact__head>a{color:#a8ccf4;text-decoration:none;font-size:30px;line-height:1;font-weight:300}
.vehicle-create-exact>.alert{margin:12px 0 0}
.vehicle-create-exact .form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;padding:18px 4px 26px;background:transparent}.vehicle-create-exact .span-12{grid-column:span 12}.vehicle-create-exact .span-2{grid-column:span 2}
.vehicle-create-exact .card{background:rgba(26,40,83,.98)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(0,0,0,.20)!important;padding:14px 16px!important;margin:0!important;color:#fff!important}
.vehicle-create-exact .card h2,.vehicle-create-exact .card h3,.vehicle-create-exact .card h4{color:#fff!important}.vehicle-create-exact .card h2{margin:0 0 13px;font-size:18px}.vehicle-create-exact .card h3{margin:0 0 10px;font-size:15px}
.vehicle-create-exact .grid{display:grid;gap:14px}.vehicle-create-exact .cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.vehicle-create-exact .cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-create-exact .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-create-exact .cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-create-exact .compact-grid label{font-size:14px}
.vehicle-create-exact label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#fff!important;min-width:0}.vehicle-create-exact input[type=text],.vehicle-create-exact input[type=email],.vehicle-create-exact input[type=number],.vehicle-create-exact input[type=date],.vehicle-create-exact select,.vehicle-create-exact textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);font:inherit;background:#0b1738;color:#fff;outline:none}.vehicle-create-exact textarea{resize:vertical}.vehicle-create-exact input:focus,.vehicle-create-exact select:focus,.vehicle-create-exact textarea:focus{border-color:#5a7fc0;box-shadow:0 0 0 4px rgba(90,127,192,.15)}.vehicle-create-exact select option{color:#111;background:#fff}
.vehicle-create-exact .hint{color:#cfdcff!important;font-size:13px;margin:-4px 0 12px}.vehicle-create-exact .hint strong{color:#fff!important}

/* Sección 4: réplica exacta del create.php anterior */
.vehicle-create-exact .quick-check-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:10px 12px}
.vehicle-create-exact .quick-check-row{display:grid;grid-template-columns:1fr 50px 50px;align-items:center;gap:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 10px}
.vehicle-create-exact .quick-check-label{color:#fff!important;font-weight:600;font-size:13px;line-height:1.3}.vehicle-create-exact .mark-option{display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.vehicle-create-exact .mark-option input[type=radio]{display:none}.vehicle-create-exact .mark-option span{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff!important;font-weight:700;font-size:16px;background:rgba(255,255,255,.04);transition:.2s ease}.vehicle-create-exact .mark-option input[type=radio]:checked+span{background:#5b7fc0;border-color:#5b7fc0;color:#fff!important;box-shadow:0 0 0 3px rgba(91,127,192,.18)}.vehicle-create-exact .mark-option:hover span{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}

/* Resumen de avalúo */
.vehicle-create-exact .valuation-summary-editor{overflow:hidden}.vehicle-create-exact .valuation-summary-grid{margin-top:14px}.vehicle-create-exact .money-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid rgba(159,181,218,.58);border-radius:11px;background:#fff}.vehicle-create-exact .money-input-wrap>span{display:flex;align-items:center;justify-content:center;min-width:54px;padding:0 12px;background:#dfeafb;color:#153d78;font-weight:800;border-right:1px solid #c7d6ed}.vehicle-create-exact .money-input-wrap input{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111827!important}

/* Choques y golpes */
.vehicle-create-exact .damage-assessment-section{overflow:hidden}.vehicle-create-exact .damage-control-grid{display:grid;grid-template-columns:minmax(230px,.78fr) repeat(2,minmax(280px,1fr));gap:14px;align-items:start}.vehicle-create-exact .damage-count-box{padding:10px 12px 12px;border:1px solid rgba(183,203,232,.48);border-radius:16px;background:linear-gradient(180deg,rgba(235,243,255,.14),rgba(7,30,77,.20))}.vehicle-create-exact .damage-count-input-label{display:block;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;line-height:1.2;margin-bottom:8px}.vehicle-create-exact .damage-diagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.vehicle-create-exact .damage-view-card{overflow:hidden;border:1px solid #d5e0ef;border-radius:14px;background:#fff}.vehicle-create-exact .damage-view-card>header{padding:9px;text-align:center;color:#173f7e;background:#eef4fb;font-size:11px;font-weight:900;letter-spacing:.04em}.vehicle-create-exact .damage-map-canvas{position:relative;min-height:220px;background:#fff;overflow:hidden}.vehicle-create-exact .damage-vehicle-diagram{display:block;width:100%;height:220px;object-fit:contain}.vehicle-create-exact .damage-click-layer{position:absolute;inset:0;cursor:crosshair}.vehicle-create-exact .vehicle-damage-mark-exact{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:#d0263b;font-size:31px;font-weight:900;line-height:1;cursor:pointer;text-shadow:0 1px 2px #fff}.vehicle-create-exact .damage-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px;color:#dbe6ff;font-size:11px}.vehicle-create-exact .damage-legend b{color:#ff6b7f;font-size:18px}

/* Fotografías: misma presencia del create.php anterior, compatible con Firebase */
.vehicle-create-exact .photo-upload-status{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px;border:1px solid rgba(91,127,192,.35);border-radius:14px;background:rgba(10,28,63,.55)}.vehicle-create-exact .photo-upload-status-icon{flex:0 0 38px;width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#5f8fd9;color:#fff;font-size:19px;font-weight:900}.vehicle-create-exact .photo-upload-status.has-files .photo-upload-status-icon{background:#45a276}.vehicle-create-exact .photo-upload-status-copy{display:flex;flex-direction:column;gap:4px}.vehicle-create-exact .photo-upload-status-copy strong{color:#fff;font-size:14px}.vehicle-create-exact .photo-upload-status-copy>span{color:#dbe6ff;font-size:12px}.vehicle-create-exact .upload-box{padding:12px;border:1px dashed rgba(98,160,224,.48);border-radius:12px;background:#112440}.vehicle-create-exact .upload-input{width:100%;color:#dce8fa}.vehicle-create-exact .photo-order-help{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0;color:#b8c9df;font-size:11px}.vehicle-create-exact .photo-order-help strong{display:grid;place-items:center;min-width:28px;height:28px;border-radius:7px;background:#28476f;color:#fff}.vehicle-create-exact .photo-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vehicle-create-exact .photo-preview-item{padding:8px;border:1px solid rgba(104,135,188,.25);border-radius:10px;background:#11233f}.vehicle-create-exact .photo-preview-frame{position:relative;height:150px;border-radius:8px;overflow:hidden;background:#fff}.vehicle-create-exact .photo-preview-frame img{width:100%;height:100%;object-fit:contain}.vehicle-create-exact .photo-order-badge{position:absolute;left:7px;top:7px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#1f5b9f;color:#fff;font-size:11px;font-weight:900}.vehicle-create-exact .photo-file-name{display:block;margin:7px 0;color:#bdd0e8;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-create-exact .photo-item-actions{display:flex;gap:6px}.vehicle-create-exact .photo-item-actions .btn{min-width:auto;padding:6px 9px;border-radius:7px}.vehicle-create-exact .photo-item-actions .btn-danger{margin-left:auto;background:#b43c52;border-color:#b43c52}.vehicle-create-exact #photo-preview:empty{display:none}.vehicle-create-exact .photo-empty-state{grid-column:1/-1;padding:16px;text-align:center;color:#a8bad4}

/* Firma: réplica del ZIP original */
.vehicle-create-exact .responsible-header-editor{margin:14px 0 18px;padding:20px;border:1px solid rgba(137,166,224,.36);border-radius:18px;background:linear-gradient(145deg,rgba(34,69,133,.34),rgba(17,42,94,.30))}.vehicle-create-exact .responsible-header-editor h3{margin:0 0 4px;color:#fff;font-size:18px}.vehicle-create-exact .signature-editor-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.vehicle-create-exact .signature-editor-group{padding:14px;border:1px solid rgba(156,181,229,.28);border-radius:14px;background:rgba(8,31,78,.22)}.vehicle-create-exact .signature-editor-group h4{margin:0 0 11px;color:#fff;font-size:15px}.vehicle-create-exact .responsible-header-sample{margin-top:14px;border-radius:14px;background:#fff;color:#0b244d;font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.35}.vehicle-create-exact .signature-letterhead-preview{min-height:190px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:28px;padding:24px 30px;text-align:left;border:none;box-shadow:none}.vehicle-create-exact .signature-preview-person{align-self:end;color:#111827;font-family:Cambria,'Liberation Serif','DejaVu Serif',serif;line-height:1.08}.vehicle-create-exact .signature-preview-person-name,.vehicle-create-exact .signature-preview-person-role{display:block;margin:0;padding:0}.vehicle-create-exact .signature-preview-person-name{font-size:17px;font-weight:500}.vehicle-create-exact .signature-preview-person-role{margin-top:1px;font-size:16px;font-weight:700}.vehicle-create-exact .signature-preview-company-block{align-self:start;color:#000;text-align:center;font-family:Cambria,'Times New Roman','Liberation Serif','DejaVu Serif',serif;font-size:12px;font-style:italic;font-weight:700;line-height:1.05}.vehicle-create-exact .signature-preview-company-block .responsible-header-company{margin:0;padding:0;font-family:'Freestyle Script','Brush Script MT','Segoe Script','URW Chancery L',cursive;font-size:32px;font-style:normal;font-weight:400;line-height:.95;color:#061f52}.vehicle-create-exact .signature-preview-company-block #signature-preview-sb{margin-top:0;color:#000;font-size:13px;line-height:1}.vehicle-create-exact .signature-final-note{margin:14px 0 0!important}

.vehicle-create-exact .submit-row{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap}.vehicle-create-exact .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:10px 18px;text-decoration:none;font-weight:700;cursor:pointer}.vehicle-create-exact .btn.secondary{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18)}.vehicle-create-exact .btn.large{padding:14px 22px;font-size:16px}.vehicle-create-exact .btn-save{background:linear-gradient(135deg,#28cf73,#1fba66);color:#fff;box-shadow:0 10px 22px rgba(28,190,104,.18)}.vehicle-create-exact .btn-save-icon{width:18px;height:18px}

@media(max-width:1100px){.vehicle-create-exact .cols-5,.vehicle-create-exact .cols-4,.vehicle-create-exact .cols-3,.vehicle-create-exact .cols-2,.vehicle-create-exact .quick-check-grid{grid-template-columns:1fr 1fr}.vehicle-create-exact .damage-control-grid{grid-template-columns:1fr}.vehicle-create-exact .photo-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.vehicle-create-exact__head{border-radius:12px 12px 0 0}.vehicle-create-exact__head h1{font-size:23px}.vehicle-create-exact .form-grid{padding:12px 0}.vehicle-create-exact .card{padding:14px!important}.vehicle-create-exact .cols-5,.vehicle-create-exact .cols-4,.vehicle-create-exact .cols-3,.vehicle-create-exact .cols-2,.vehicle-create-exact .quick-check-grid,.vehicle-create-exact .damage-diagram-grid,.vehicle-create-exact .photo-preview-grid,.vehicle-create-exact .signature-editor-groups,.vehicle-create-exact .signature-letterhead-preview{grid-template-columns:1fr}.vehicle-create-exact .span-2{grid-column:span 1}.vehicle-create-exact .submit-row{flex-direction:column-reverse}.vehicle-create-exact .submit-row .btn{width:100%}}

/* =========================================================
   VALORACIÓN · CUENTAS CONTABLES PRO
   ========================================================= */
.accounts-page{display:flex;flex-direction:column;gap:12px}.accounts-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:13px;background:#1d2b50;border:1px solid rgba(91,128,182,.22);box-shadow:0 10px 30px rgba(0,0,0,.12)}.accounts-strip-title{display:flex;align-items:center;gap:9px;color:#fff;font-size:17px}.accounts-strip-title>span{font-size:25px;font-weight:900}.accounts-strip-actions{display:flex;align-items:center;gap:10px}.accounts-new-btn,.accounts-sync-btn{height:44px;border:0;border-radius:24px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none;cursor:pointer}.accounts-new-btn{background:#42dd7d;color:#041b12}.accounts-sync-btn{background:#2e8fe9;color:#fff}.accounts-new-btn svg,.accounts-sync-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.accounts-sync-form{margin:0}.accounts-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.accounts-info-grid article{min-height:86px;padding:15px 18px;border-radius:16px;background:linear-gradient(135deg,#142d56,#183966);border:1px solid rgba(79,138,214,.24);display:flex;align-items:center;gap:13px}.accounts-kpi-icon{width:45px;height:45px;border-radius:13px;background:#1b4f8e;color:#5da9ff;display:grid;place-items:center}.accounts-kpi-icon.is-green{color:#48e18a;background:#174f4b}.accounts-kpi-icon.is-cyan{color:#51d2ff;background:#12466b}.accounts-kpi-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.accounts-info-grid small{display:block;color:#86a7d1;font-size:10px;font-weight:900;letter-spacing:.08em}.accounts-info-grid b{display:block;color:#fff;font-size:24px;margin-top:3px}.accounts-detected-note{padding:12px 15px;border-radius:12px;background:rgba(42,148,236,.10);border:1px solid rgba(64,158,241,.30);display:flex;gap:11px;align-items:center}.accounts-detected-note>span{width:34px;height:34px;border-radius:50%;background:#1e68ae;color:#8bd0ff;display:grid;place-items:center}.accounts-detected-note svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.accounts-detected-note b,.accounts-detected-note small{display:block}.accounts-detected-note b{color:#dcecff;font-size:12px}.accounts-detected-note small{color:#91aac9;margin-top:3px}.accounts-panel{padding:14px;border-radius:14px;background:#1d2b50;border:1px solid rgba(89,123,171,.28);min-height:420px}.accounts-help{display:flex;align-items:center;gap:12px;margin-bottom:13px;padding:12px 14px;border-radius:11px;background:#14233d;border:1px solid rgba(96,132,180,.22)}.accounts-help-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#2c91f2,#31c5ef);font-size:21px;font-weight:950;color:#061a2a}.accounts-help b,.accounts-help span{display:block}.accounts-help b{color:#fff;font-size:12px}.accounts-help span{color:#9db2ce;font-size:11px;margin-top:2px;line-height:1.45}.accounts-filters{display:grid;grid-template-columns:42px 220px minmax(320px,1fr) 170px 170px;gap:8px;align-items:end;padding:10px 0}.accounts-filters label>span{display:block;color:#8fa8c9;font-size:10px;font-weight:800;margin:0 0 5px 3px}.accounts-filters input,.accounts-filters select{width:100%;height:38px;border:1px solid #385270;background:#0e1a2d;color:#fff;border-radius:7px;padding:0 10px;outline:none}.accounts-filters input:focus,.accounts-filters select:focus{border-color:#46b9ff;box-shadow:0 0 0 2px rgba(59,174,255,.14)}.accounts-filter-actions{height:38px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.accounts-filter-actions span{font-size:10px;color:#7892b2}.accounts-filter-actions a{width:32px;height:32px;border-radius:9px;border:1px solid #31547a;color:#83bdec;text-decoration:none;display:grid;place-items:center;font-size:20px}.accounts-table-wrap{overflow:auto;border:1px solid rgba(100,127,166,.28);border-radius:10px}.accounts-table{width:100%;border-collapse:collapse;min-width:820px}.accounts-table th{padding:12px 10px;background:#1f3055;color:#fff;text-align:left;font-size:12px;border-right:1px solid rgba(118,143,181,.28)}.accounts-table th span{color:#8e9fb9;margin-left:4px}.accounts-table td{padding:13px 10px;background:#1e3055;color:#fff;border-top:1px solid rgba(118,143,181,.28);border-right:1px solid rgba(118,143,181,.24);vertical-align:middle}.accounts-table tbody tr:nth-child(even) td{background:#1b293b}.accounts-code{font-size:13px;color:#fff}.accounts-description b{display:block;font-size:12px}.accounts-description small{display:block;color:#86a2c6;font-size:10px;margin-top:4px}.accounts-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900}.accounts-status.is-active{background:#42df7e;color:#072616}.accounts-status.is-inactive{background:#ff6d75;color:#3a0d12}.accounts-actions{display:flex;align-items:center;gap:8px}.accounts-actions form{margin:0}.accounts-edit,.accounts-toggle{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer}.accounts-edit{background:#52a9ff;color:#052040}.accounts-toggle.will-disable{background:#ff6d75;color:#431017}.accounts-toggle.will-enable{background:#43df7f;color:#082719}.accounts-edit svg,.accounts-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.accounts-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ab0cc}.accounts-empty b{color:#fff;margin-bottom:5px}.account-form-page{min-height:calc(100vh - 130px);display:flex;align-items:flex-start;justify-content:center;padding:12px}.account-form-card{width:min(960px,100%);border-radius:14px;background:#1d2b50;border:1px solid rgba(96,130,178,.30);box-shadow:0 28px 90px rgba(0,0,0,.28);overflow:hidden}.account-form-head{display:flex;justify-content:space-between;gap:20px;padding:20px 24px 16px;border-bottom:1px solid rgba(98,130,176,.25)}.account-form-head h1{margin:4px 0 3px;color:#fff;font-size:24px}.account-form-head p{margin:0;color:#9cb1cc;font-size:12px}.account-form-head>a{font-size:28px;color:#9eb5d3;text-decoration:none;line-height:1}.account-form-errors{margin:15px 24px 0;padding:10px 13px;border-radius:9px;background:#571d2b;border:1px solid #a64156;color:#ffdce2;display:flex;flex-direction:column;gap:4px;font-size:11px}.account-form-body{padding:20px 24px 22px;display:grid;grid-template-columns:1fr;gap:13px}.account-form-body label>span{display:block;color:#fff;font-weight:700;font-size:12px;margin-bottom:6px}.account-form-body label i{color:#ff6472;font-style:normal}.account-form-body input{width:100%;height:44px;border-radius:8px;background:#0d1829;border:1px solid #40516d;color:#fff;padding:0 12px;font-size:14px;outline:none}.account-form-body input:focus{border-color:#54b6ff;box-shadow:0 0 0 3px rgba(67,165,245,.13)}.account-form-explainer{display:flex;gap:12px;padding:13px 14px;border-radius:10px;background:#14233b;border:1px solid rgba(75,120,173,.25);margin-top:4px}.account-form-explainer>span{width:38px;height:38px;border-radius:10px;background:#183e6b;color:#58c9ff;display:grid;place-items:center}.account-form-explainer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.account-form-explainer b{color:#fff}.account-form-explainer p{margin:4px 0 0;color:#9eb3cf;font-size:11px;line-height:1.5}.account-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.account-cancel,.account-save{height:46px;border-radius:11px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none}.account-cancel{border:1px solid #3a4a68;color:#fff;background:transparent}.account-save{border:0;background:#27c66c;color:#fff;cursor:pointer}.account-save svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}@media(max-width:920px){.accounts-info-grid{grid-template-columns:1fr}.accounts-filters{grid-template-columns:1fr}.accounts-filters>div:first-child{display:none}.accounts-filter-actions{justify-content:flex-start}.accounts-strip{align-items:flex-start}.accounts-strip-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:620px){.accounts-strip{flex-direction:column}.accounts-strip-actions{width:100%}.accounts-new-btn,.accounts-sync-form,.accounts-sync-btn{width:100%}.account-form-actions{flex-direction:column}.account-cancel,.account-save{width:100%}}
html[data-theme="light"] .accounts-strip,html[data-theme="light"] .accounts-panel,html[data-theme="light"] .account-form-card{background:#fff;border-color:#d8e4ef}html[data-theme="light"] .accounts-strip-title,html[data-theme="light"] .account-form-head h1{color:#17334f}html[data-theme="light"] .accounts-info-grid article{background:#f6faff;border-color:#d6e4f1}html[data-theme="light"] .accounts-info-grid b{color:#17334f}html[data-theme="light"] .accounts-help,html[data-theme="light"] .account-form-explainer{background:#f3f7fb;border-color:#d9e5ef}html[data-theme="light"] .accounts-help b,html[data-theme="light"] .account-form-explainer b{color:#17334f}html[data-theme="light"] .accounts-filters input,html[data-theme="light"] .accounts-filters select,html[data-theme="light"] .account-form-body input{background:#fff;color:#17334f;border-color:#ccd9e6}html[data-theme="light"] .accounts-table td{background:#fff;color:#17334f;border-color:#dbe5ef}html[data-theme="light"] .accounts-table tbody tr:nth-child(even) td{background:#f7fbff}html[data-theme="light"] .accounts-code,html[data-theme="light"] .accounts-description b{color:#17334f}html[data-theme="light"] .accounts-empty b{color:#17334f}html[data-theme="light"] .account-form-body label>span{color:#17334f}

/* =========================================================
   VALORACIÓN · FACTORES PRO
   account_detail + tipo_revaluation
   ========================================================= */
.factors-page{display:flex;flex-direction:column;gap:12px}.factors-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:13px;background:#1d2b50;border:1px solid rgba(91,128,182,.22);box-shadow:0 10px 30px rgba(0,0,0,.12)}.factors-strip-title{display:flex;align-items:center;gap:9px;color:#fff;font-size:17px}.factors-strip-title>span{font-size:25px;font-weight:900}.factors-strip-actions{display:flex;align-items:center;gap:10px}.factors-new-btn,.factors-prepare-btn{height:44px;border:0;border-radius:24px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none;cursor:pointer}.factors-new-btn{background:#42dd7d;color:#041b12}.factors-prepare-btn{background:#2e8fe9;color:#fff}.factors-new-btn svg,.factors-prepare-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.factors-bootstrap-form{margin:0}.factors-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.factors-kpis article{min-height:82px;padding:14px 16px;border-radius:15px;background:linear-gradient(135deg,#142d56,#183966);border:1px solid rgba(79,138,214,.24);display:flex;align-items:center;gap:12px}.factors-kpi-icon{width:43px;height:43px;border-radius:12px;background:#1b4f8e;color:#5da9ff;display:grid;place-items:center}.factors-kpi-icon.is-green{color:#48e18a;background:#174f4b}.factors-kpi-icon.is-cyan{color:#51d2ff;background:#12466b}.factors-kpi-icon.is-orange{color:#ffbd65;background:#5b3a1c}.factors-kpi-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}.factors-kpis small{display:block;color:#86a7d1;font-size:9px;font-weight:900;letter-spacing:.08em}.factors-kpis b{display:block;color:#fff;font-size:22px;margin-top:3px}.factors-explainer{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:12px;background:#14233d;border:1px solid rgba(83,132,186,.28)}.factors-explainer-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#2e8fe9,#36c2ee);color:#06192b;font-size:22px;font-weight:950}.factors-explainer b{color:#fff;font-size:12px}.factors-explainer p{margin:4px 0 0;color:#9db2ce;font-size:11px;line-height:1.5}.factors-empty-setup{min-height:330px;border-radius:15px;background:#1d2b50;border:1px solid rgba(89,123,171,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#9fb5d1}.factors-empty-setup h2{margin:12px 0 6px;color:#fff;font-size:20px}.factors-empty-setup p{max-width:650px;margin:0;line-height:1.6;font-size:12px}.factors-empty-symbol{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:#173f71;color:#56c7ff;font-size:38px;font-weight:900}.factors-panel{padding:14px;border-radius:14px;background:#1d2b50;border:1px solid rgba(89,123,171,.28);min-height:420px}.factor-types-ribbon{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}.factor-types-ribbon span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#13223a;border:1px solid #31506f;color:#cfe1f6;font-size:10px;font-weight:800}.factor-types-ribbon span.is-inactive{opacity:.45}.factor-types-ribbon i{width:20px;height:20px;border-radius:50%;background:#1e5d98;color:#a8ddff;display:grid;place-items:center;font-style:normal;font-size:9px}.factors-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) 150px 170px;gap:8px;align-items:end;padding:8px 0 12px}.factors-filters label>span{display:block;color:#8fa8c9;font-size:10px;font-weight:800;margin:0 0 5px 3px}.factors-filters input,.factors-filters select{width:100%;height:38px;border:1px solid #385270;background:#0e1a2d;color:#fff;border-radius:7px;padding:0 10px;outline:none}.factors-filters input:focus,.factors-filters select:focus{border-color:#46b9ff;box-shadow:0 0 0 2px rgba(59,174,255,.14)}.factors-filter-actions{height:38px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.factors-filter-actions span{font-size:10px;color:#7892b2}.factors-filter-actions a{width:32px;height:32px;border-radius:9px;border:1px solid #31547a;color:#83bdec;text-decoration:none;display:grid;place-items:center;font-size:20px}.factors-table-wrap{overflow:auto;border:1px solid rgba(100,127,166,.28);border-radius:10px}.factors-table{width:100%;border-collapse:collapse;min-width:1120px}.factors-table th{padding:11px 9px;background:#1f3055;color:#fff;text-align:left;font-size:11px;border-right:1px solid rgba(118,143,181,.28);white-space:nowrap}.factors-table td{padding:12px 9px;background:#1e3055;color:#fff;border-top:1px solid rgba(118,143,181,.28);border-right:1px solid rgba(118,143,181,.24);vertical-align:middle;font-size:11px}.factors-table tbody tr:nth-child(even) td{background:#1b293b}.factor-account b,.factor-account span,.factor-account small{display:block}.factor-account b{font-size:12px}.factor-account span{margin-top:2px;font-size:10px;color:#d9e6f7;max-width:360px}.factor-account small{margin-top:4px;color:#7f9fc6;font-size:9px}.factor-name{display:flex;align-items:center;gap:8px}.factor-name b{font-size:11px}.factor-order{width:27px;height:27px;flex:0 0 27px;border-radius:9px;background:#174e84;color:#75c8ff;display:grid;place-items:center;font-weight:950}.factor-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:9px;font-weight:900}.factor-status.is-active{background:#42df7e;color:#072616}.factor-status.is-inactive{background:#ff6d75;color:#3a0d12}.factor-actions{display:flex;align-items:center;gap:7px}.factor-actions form{margin:0}.factor-edit,.factor-toggle{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer}.factor-edit{background:#52a9ff;color:#052040}.factor-toggle.will-disable{background:#ff6d75;color:#431017}.factor-toggle.will-enable{background:#43df7f;color:#082719}.factor-edit svg,.factor-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.factors-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ab0cc}.factors-empty b{color:#fff;margin-bottom:5px}.factor-form-page{min-height:calc(100vh - 130px);display:flex;align-items:flex-start;justify-content:center;padding:12px}.factor-form-card{width:min(1040px,100%);border-radius:14px;background:#1d2b50;border:1px solid rgba(96,130,178,.30);box-shadow:0 28px 90px rgba(0,0,0,.28);overflow:hidden}.factor-form-head{display:flex;justify-content:space-between;gap:20px;padding:19px 23px 15px;border-bottom:1px solid rgba(98,130,176,.25)}.factor-form-head small{color:#58aaff;font-weight:900;letter-spacing:.12em}.factor-form-head h1{margin:4px 0 3px;color:#fff;font-size:24px}.factor-form-head p{margin:0;color:#9cb1cc;font-size:11px}.factor-form-head>a{font-size:28px;color:#9eb5d3;text-decoration:none;line-height:1}.factor-form-errors{margin:15px 23px 0;padding:10px 13px;border-radius:9px;background:#571d2b;border:1px solid #a64156;color:#ffdce2;display:flex;flex-direction:column;gap:4px;font-size:11px}.factor-form-body{padding:20px 23px 22px}.factor-form-grid{display:grid;gap:13px}.factor-form-grid-main{grid-template-columns:1.4fr 1fr}.factor-form-grid-values{grid-template-columns:repeat(4,1fr)}.factor-form-body label>span{display:block;color:#fff;font-weight:800;font-size:11px;margin-bottom:6px}.factor-form-body label i{color:#ff6472;font-style:normal}.factor-form-body input,.factor-form-body select{width:100%;height:44px;border-radius:8px;background:#0d1829;border:1px solid #40516d;color:#fff;padding:0 12px;font-size:13px;outline:none}.factor-form-body input:focus,.factor-form-body select:focus{border-color:#54b6ff;box-shadow:0 0 0 3px rgba(67,165,245,.13)}.factor-values-title{display:flex;align-items:center;gap:10px;margin:22px 0 12px}.factor-values-title span{font-size:11px;font-weight:950;letter-spacing:.12em;color:#58aaff}.factor-values-title i{height:1px;flex:1;background:#315b8d}.factor-form-note{display:flex;gap:12px;padding:13px 14px;border-radius:10px;background:#14233b;border:1px solid rgba(75,120,173,.25);margin-top:18px}.factor-form-note-icon{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#183e6b;color:#58c9ff;display:grid;place-items:center;font-size:20px;font-weight:950}.factor-form-note b{color:#fff}.factor-form-note p{margin:4px 0 0;color:#9eb3cf;font-size:10px;line-height:1.5}.factor-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.factor-cancel,.factor-save{height:46px;border-radius:11px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none}.factor-cancel{border:1px solid #3a4a68;color:#fff;background:transparent}.factor-save{border:0;background:#27c66c;color:#fff;cursor:pointer}.factor-save svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}@media(max-width:1050px){.factors-kpis{grid-template-columns:repeat(2,1fr)}.factors-filters{grid-template-columns:1fr 1fr}.factors-filter-actions{justify-content:flex-start}.factor-form-grid-values{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.factors-strip{flex-direction:column;align-items:flex-start}.factors-strip-actions,.factors-new-btn,.factors-bootstrap-form,.factors-prepare-btn{width:100%}.factors-kpis,.factors-filters,.factor-form-grid-main,.factor-form-grid-values{grid-template-columns:1fr}.factor-form-actions{flex-direction:column}.factor-cancel,.factor-save{width:100%}}
html[data-theme="light"] .factors-strip,html[data-theme="light"] .factors-panel,html[data-theme="light"] .factors-empty-setup,html[data-theme="light"] .factor-form-card{background:#fff;border-color:#d8e4ef}html[data-theme="light"] .factors-strip-title,html[data-theme="light"] .factors-kpis b,html[data-theme="light"] .factors-explainer b,html[data-theme="light"] .factors-empty-setup h2,html[data-theme="light"] .factor-form-head h1,html[data-theme="light"] .factor-form-body label>span,html[data-theme="light"] .factor-form-note b{color:#17334f}html[data-theme="light"] .factors-kpis article{background:#f6faff;border-color:#d6e4f1}html[data-theme="light"] .factors-explainer,html[data-theme="light"] .factor-form-note{background:#f3f7fb;border-color:#d9e5ef}html[data-theme="light"] .factor-types-ribbon span{background:#f3f7fb;color:#17334f;border-color:#d6e3ef}html[data-theme="light"] .factors-filters input,html[data-theme="light"] .factors-filters select,html[data-theme="light"] .factor-form-body input,html[data-theme="light"] .factor-form-body select{background:#fff;color:#17334f;border-color:#ccd9e6}html[data-theme="light"] .factors-table td{background:#fff;color:#17334f;border-color:#dbe5ef}html[data-theme="light"] .factors-table tbody tr:nth-child(even) td{background:#f7fbff}html[data-theme="light"] .factor-account span{color:#385775}html[data-theme="light"] .factors-empty b{color:#17334f}

/* ================= VALORACION DE ACTIVOS PRO ================= */
.valuation-pro-page{display:flex;flex-direction:column;gap:12px;padding-bottom:18px}.valuation-pro-strip{min-height:70px;border-radius:15px;background:linear-gradient(135deg,#1e315a,#19365f);border:1px solid rgba(83,137,204,.28);display:flex;align-items:center;justify-content:space-between;padding:13px 18px;box-shadow:0 18px 40px rgba(0,0,0,.15)}.valuation-pro-title{display:flex;align-items:center;gap:10px;color:#fff}.valuation-pro-title>span{color:#61b9ff;font-size:24px;font-weight:950}.valuation-pro-title strong{display:block;font-size:18px}.valuation-pro-title small{display:block;color:#8ea9cb;font-size:10px;margin-top:2px}.valuation-pro-actions{display:flex;gap:9px}.valuation-export-btn,.valuation-auto-open{height:42px;border-radius:11px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;font-weight:900;text-decoration:none;border:1px solid transparent;cursor:pointer}.valuation-export-btn{background:#1d4d87;color:#7fd2ff;border-color:#2c639e}.valuation-auto-open{background:#3edd7d;color:#072817}.valuation-export-btn svg,.valuation-auto-open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.valuation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.valuation-kpis article{min-height:92px;padding:14px 15px;border-radius:14px;background:linear-gradient(135deg,#142e57,#1b3b68);border:1px solid rgba(76,133,203,.25);display:flex;align-items:center;gap:12px}.vk-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center;background:#173f72}.vk-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.vk-icon.is-blue{color:#64b7ff}.vk-icon.is-green{color:#45e18a;background:#175044}.vk-icon.is-orange{color:#ffbd5a;background:#61411b}.vk-icon.is-purple{color:#c58aff;background:#50306f}.valuation-kpis small{display:block;color:#88a6ca;font-size:9px;font-weight:900;letter-spacing:.07em}.valuation-kpis b{display:block;color:#fff;font-size:22px;margin:2px 0}.valuation-kpis b.is-money{font-size:18px}.valuation-kpis em{display:block;color:#7997bb;font-style:normal;font-size:9px}.valuation-kpis .positive{color:#55e693}.valuation-kpis .negative{color:#ff7785}.valuation-formula-band{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;padding:13px 15px;border-radius:13px;background:#13233e;border:1px solid rgba(74,121,177,.28)}.valuation-formula-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#2583df,#3bcaf1);display:grid;place-items:center;color:#071a2d;font-size:24px;font-weight:950}.valuation-formula-copy b{color:#fff;font-size:12px}.valuation-formula-copy p{margin:4px 0 0;color:#9fb3cf;font-size:10px;line-height:1.55}.valuation-formula-pending{min-width:150px;padding-left:14px;border-left:1px solid #314762}.valuation-formula-pending small{display:block;color:#d6a85f;font-size:8px;font-weight:900}.valuation-formula-pending b{display:block;color:#ffbd5e;font-size:23px}.valuation-bulk-panel{border-radius:13px;background:#162b4d;border:1px solid #2f6197;padding:12px}.valuation-bulk-panel[hidden]{display:none}.valuation-bulk-panel form{display:grid;grid-template-columns:1fr 185px minmax(230px,.65fr) auto;align-items:end;gap:10px}.valuation-bulk-panel form>div small{display:block;color:#5db7ff;font-size:8px;font-weight:950;letter-spacing:.1em}.valuation-bulk-panel form>div strong{display:block;color:#fff;font-size:14px;margin:2px 0}.valuation-bulk-panel form>div span{color:#91a9c8;font-size:9px}.valuation-bulk-panel label>span{display:block;color:#a9bfd8;font-size:9px;font-weight:800;margin-bottom:5px}.valuation-bulk-panel input,.valuation-bulk-panel select{width:100%;height:39px;background:#0d1b30;color:#fff;border:1px solid #3b5577;border-radius:8px;padding:0 9px}.valuation-bulk-panel button{height:39px;border:0;border-radius:9px;padding:0 15px;background:#42df7e;color:#072918;font-weight:900;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.valuation-bulk-panel button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.valuation-panel{padding:13px;border-radius:14px;background:#1d2b50;border:1px solid rgba(85,120,170,.28)}.valuation-filters{display:grid;grid-template-columns:minmax(290px,1.4fr) minmax(230px,.85fr) 190px 135px;gap:9px;align-items:end}.valuation-filters label>span{display:block;color:#8ea7c8;font-size:9px;font-weight:850;margin:0 0 5px 2px}.valuation-filters input,.valuation-filters select{width:100%;height:40px;border-radius:8px;border:1px solid #3a5271;background:#0d192c;color:#fff;padding:0 10px;outline:none}.valuation-search>div{position:relative}.valuation-search>div svg{position:absolute;left:11px;top:11px;width:17px;height:17px;fill:none;stroke:#67b9f6;stroke-width:2}.valuation-search input{padding-left:36px}.valuation-filters input:focus,.valuation-filters select:focus{border-color:#48b8ff;box-shadow:0 0 0 2px rgba(69,177,255,.13)}.valuation-filter-side{height:40px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.valuation-filter-side>span{font-size:9px;color:#7992b1}.valuation-filter-side>a{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;text-decoration:none;border:1px solid #36577e;color:#87c7f6;font-size:19px}.valuation-list-head{display:flex;justify-content:space-between;align-items:center;padding:11px 2px 8px;color:#90a9c9;font-size:9px}.valuation-list-head b{color:#fff}.valuation-mini-legend{display:flex;align-items:center;gap:7px}.valuation-mini-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.valuation-mini-legend i.is-ready{background:#42df7e}.valuation-mini-legend i.is-pending{background:#ffbd5c}.valuation-table-wrap{border:1px solid rgba(104,132,171,.3);border-radius:11px;overflow:auto}.valuation-table{width:100%;border-collapse:collapse;min-width:1420px}.valuation-table th{padding:10px 9px;background:#21355f;color:#fff;text-align:left;font-size:10px;border-right:1px solid rgba(122,150,190,.25);white-space:nowrap}.valuation-table td{padding:11px 9px;background:#1e3157;border-top:1px solid rgba(115,145,185,.24);border-right:1px solid rgba(115,145,185,.2);color:#fff;font-size:10px;vertical-align:middle}.valuation-table tbody tr:nth-child(even) td{background:#1c293d}.valuation-table tbody tr:hover td{background:#213a63}.valuation-asset-id{display:flex;gap:9px;align-items:flex-start}.valuation-label{min-width:48px;height:29px;padding:0 8px;border-radius:9px;background:#1c5695;border:1px solid #397ac0;display:inline-grid;place-items:center;color:#d9edff;font-weight:900}.valuation-asset-id b{display:block;max-width:280px;font-size:10px}.valuation-asset-id small,.valuation-account-cell small{display:block;color:#7f9dc1;margin-top:3px;font-size:8px}.valuation-account-cell b{display:block;max-width:270px;color:#ddecff;font-size:9px}.valuation-account-cell span{display:block;color:#70cfff;font-size:9px;margin-top:4px}.valuation-life{min-width:115px}.valuation-life strong{font-size:13px}.valuation-life span{color:#9fb4cf;margin-left:3px}.valuation-life>div{height:5px;background:#10213a;border-radius:999px;overflow:hidden;margin:6px 0 4px}.valuation-life>div i{display:block;height:100%;background:linear-gradient(90deg,#3da8ff,#44df85);border-radius:999px}.valuation-life small{color:#82a1c6;font-size:8px}.valuation-money-cell{display:grid;gap:5px}.valuation-money-cell span{display:flex;justify-content:space-between;gap:10px;color:#8fa9ca}.valuation-money-cell b{color:#fff}.valuation-money-cell b.warn{color:#ffbd5b}.valuation-factor-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-width:175px}.valuation-factor-stack span{background:#142641;border:1px solid #315274;border-radius:7px;padding:5px;text-align:center;color:#7fa7ce;font-size:8px}.valuation-factor-stack span b{display:block;color:#fff;font-size:9px}.valuation-factor-stack>strong{grid-column:1/-1;border-radius:7px;background:#153b67;color:#61c6ff;text-align:center;padding:5px}.valuation-vam b{display:block;color:#4ce391;font-size:14px}.valuation-vam span{display:block;font-weight:900;margin-top:3px}.valuation-vam span.positive{color:#55e694}.valuation-vam span.negative{color:#ff7180}.valuation-vam small{display:block;color:#7896ba;font-size:8px;margin-top:2px}.valuation-conclusion{display:inline-flex;max-width:150px;padding:6px 9px;border-radius:999px;background:#214b75;color:#a7d8ff;font-size:8px;font-weight:950;text-align:center}.valuation-conclusion.revalorizar,.valuation-conclusion.valoracion-inicial{background:#174d3f;color:#67eba2}.valuation-conclusion.deterioro{background:#5d2530;color:#ff9ba7}.valuation-conclusion.pendiente-valor-nuevo{background:#5a401e;color:#ffc56e}.valuation-conclusion.sin-ajuste-material{background:#343b59;color:#c1cbea}.valuation-saved-state{display:block;margin-top:5px;font-size:8px}.valuation-saved-state.saved{color:#4ce18c}.valuation-saved-state.preview{color:#8ea6c4}.valuation-row-actions a{width:34px;height:34px;border-radius:50%;background:#52aaff;color:#05213e;display:grid;place-items:center}.valuation-row-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.valuation-empty{height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8fa8c8}.valuation-empty>span svg{width:38px;height:38px;fill:none;stroke:#56b6ff;stroke-width:1.5}.valuation-empty b{color:#fff;margin:8px 0 3px}.valuation-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:11px}.valuation-pagination a{width:36px;height:36px;border-radius:9px;background:#173c68;color:#72c9ff;display:grid;place-items:center}.valuation-pagination a.disabled{opacity:.35;pointer-events:none}.valuation-pagination a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.valuation-pagination span{color:#92a9c8;font-size:10px}.valuation-pagination b{color:#fff}
/* detail */
.valuation-detail-page{border-radius:14px;background:#101f38;border:1px solid rgba(77,125,183,.3);overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.22)}.valuation-detail-head{padding:18px 22px;background:linear-gradient(135deg,#1e315a,#213c6f);display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #36527a}.valuation-detail-head small{color:#5fb9ff;font-size:9px;font-weight:950;letter-spacing:.12em}.valuation-detail-head h1{margin:4px 0;color:#fff;font-size:25px}.valuation-detail-head h1 span{color:#54a9ff}.valuation-detail-head p{margin:0;color:#a9bad0;font-size:11px}.valuation-detail-head>a{color:#8bb6e3;font-size:28px;text-decoration:none}.valuation-detail-statusbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;background:#132846;border-bottom:1px solid #294768}.valuation-detail-statusbar>span{padding:6px 9px;border-radius:999px;background:#172f51;color:#a8c0dc;font-size:8px;font-weight:800}.vd-status{display:inline-flex;align-items:center;gap:5px!important}.vd-status i{width:7px;height:7px;border-radius:50%;background:#ffbd5c}.vd-status.saved i{background:#43df7f}.valuation-detail-grid{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.vd-card{border-radius:13px;background:#1b2d50;border:1px solid rgba(86,127,180,.3);padding:15px}.vd-inputs,.vd-result-card{grid-column:1/-1}.vd-card-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.vd-card-title>span{width:31px;height:31px;border-radius:9px;background:#1a5794;color:#7ed0ff;display:grid;place-items:center;font-weight:950}.vd-card-title b{display:block;color:#fff;font-size:13px}.vd-card-title small{display:block;color:#809dbc;font-size:8px;margin-top:2px}.vd-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vd-form-grid label.important{grid-column:span 2}.vd-form-grid label>span,.vd-factor-grid label>span{display:block;color:#eaf3ff;font-size:9px;font-weight:850;margin-bottom:5px}.vd-form-grid input,.vd-factor-input input{width:100%;height:40px;background:#0d192b;border:1px solid #3b5374;border-radius:8px;color:#fff;padding:0 10px;outline:none}.vd-form-grid input:focus,.vd-factor-input input:focus{border-color:#4cb7ff;box-shadow:0 0 0 2px rgba(61,175,255,.13)}.vd-form-grid label>small,.vd-factor-grid label>small{display:block;color:#6f8fae;font-size:7.5px;margin-top:4px}.money-input{position:relative}.money-input i{position:absolute;left:11px;top:11px;color:#52df91;font-style:normal;font-weight:900}.money-input input{padding-left:27px}.vd-factor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.vd-factor-input{display:grid;grid-template-columns:1fr 74px;gap:6px}.vd-factor-input b{height:40px;border-radius:8px;background:#153c67;border:1px solid #28629a;display:grid;place-items:center;color:#6fd0ff;font-size:10px}.vd-factor-result{border-radius:10px;background:linear-gradient(135deg,#173f70,#184f7d);border:1px solid #2e75aa;padding:11px 12px}.vd-factor-result small{display:block;color:#81b6dd;font-size:8px;font-weight:900}.vd-factor-result b{display:block;color:#fff;font-size:24px;margin-top:3px}.vd-factor-result span{color:#59df9b;font-size:10px}.vd-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vd-analysis-grid article{min-height:74px;border-radius:10px;background:#142642;border:1px solid #31506f;padding:10px}.vd-analysis-grid small,.vd-result-grid small{display:block;color:#829fbe;font-size:7.5px;font-weight:900}.vd-analysis-grid b{display:inline-block;color:#fff;font-size:18px;margin-top:4px}.vd-analysis-grid b.date{font-size:13px}.vd-analysis-grid span{color:#7896b7;font-size:8px;margin-left:3px}.vd-meter{height:5px;border-radius:999px;background:#0d1b2d;margin-top:8px;overflow:hidden}.vd-meter i{height:100%;display:block;background:linear-gradient(90deg,#3da7ff,#46df83)}.vd-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.vd-result-grid article{border-radius:10px;padding:12px;background:#142642;border:1px solid #31506f}.vd-result-grid b{display:block;color:#fff;font-size:18px;margin-top:4px}.vd-result-grid article.primary{background:linear-gradient(135deg,#174b66,#175442);border-color:#2e9471}.vd-result-grid article.primary b{color:#56e69a}.vd-result-grid article.positive b{color:#56e69a}.vd-result-grid article.negative b{color:#ff7985}.vd-result-grid span{color:#829ebe;font-size:8px}.vd-conclusion{margin-top:11px;border-radius:10px;background:#101e34;border:1px solid #314b69;padding:11px 13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.vd-conclusion>span{color:#8fa7c4;font-size:8px;font-weight:900}.vd-conclusion>b{color:#59c8ff;font-size:15px}.vd-conclusion>small{color:#6f8baa;font-size:8px}.vd-warnings{grid-column:1/-1;padding:11px 13px;border-radius:10px;background:#4d391d;border:1px solid #876329;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vd-warnings b{color:#ffd184}.vd-warnings span{color:#e8c799;font-size:9px}.vd-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;padding:10px;border-radius:12px;background:rgba(8,18,33,.94);backdrop-filter:blur(8px);border:1px solid rgba(68,103,148,.3)}.vd-actions a,.vd-actions button{height:44px;border-radius:10px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none}.vd-actions a{border:1px solid #3a4d69;color:#fff}.vd-actions button{border:0;background:#2ad06f;color:#fff;cursor:pointer}.vd-actions button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:1200px){.valuation-kpis{grid-template-columns:repeat(2,1fr)}.valuation-filters{grid-template-columns:1fr 1fr}.valuation-filter-side{justify-content:flex-start}.valuation-bulk-panel form{grid-template-columns:1fr 1fr}.valuation-bulk-panel form>div{grid-column:1/-1}.vd-form-grid{grid-template-columns:repeat(2,1fr)}.vd-result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.valuation-pro-strip{align-items:flex-start;flex-direction:column}.valuation-pro-actions,.valuation-export-btn,.valuation-auto-open{width:100%}.valuation-kpis,.valuation-filters,.valuation-bulk-panel form,.valuation-detail-grid,.vd-form-grid,.vd-factor-grid,.vd-analysis-grid,.vd-result-grid{grid-template-columns:1fr}.valuation-formula-band{grid-template-columns:44px 1fr}.valuation-formula-pending{grid-column:1/-1;border-left:0;border-top:1px solid #314762;padding:8px 0 0}.vd-inputs,.vd-result-card{grid-column:auto}.vd-form-grid label.important{grid-column:auto}.vd-conclusion{grid-template-columns:1fr}.vd-actions{flex-direction:column}.vd-actions a,.vd-actions button{width:100%}}
html[data-theme="light"] .valuation-pro-strip,html[data-theme="light"] .valuation-panel,html[data-theme="light"] .vd-card{background:#fff;border-color:#d7e3ef}html[data-theme="light"] .valuation-kpis article{background:#f6faff;border-color:#d6e3ef}html[data-theme="light"] .valuation-kpis b,html[data-theme="light"] .valuation-pro-title strong,html[data-theme="light"] .valuation-formula-copy b,html[data-theme="light"] .vd-card-title b,html[data-theme="light"] .valuation-detail-head h1{color:#17334f}html[data-theme="light"] .valuation-formula-band,html[data-theme="light"] .valuation-bulk-panel{background:#f3f8fc;border-color:#d4e4ef}html[data-theme="light"] .valuation-formula-copy p,html[data-theme="light"] .valuation-bulk-panel form>div span{color:#5c7691}html[data-theme="light"] .valuation-filters input,html[data-theme="light"] .valuation-filters select,html[data-theme="light"] .valuation-bulk-panel input,html[data-theme="light"] .valuation-bulk-panel select,html[data-theme="light"] .vd-form-grid input,html[data-theme="light"] .vd-factor-input input{background:#fff;color:#18334e;border-color:#cbd9e6}html[data-theme="light"] .valuation-table th{background:#1c3c69}html[data-theme="light"] .valuation-table td{background:#fff;color:#17334f;border-color:#d8e4ee}html[data-theme="light"] .valuation-table tbody tr:nth-child(even) td{background:#f6faff}html[data-theme="light"] .valuation-table tbody tr:hover td{background:#edf6ff}html[data-theme="light"] .valuation-asset-id b,html[data-theme="light"] .valuation-money-cell b{color:#17334f}html[data-theme="light"] .valuation-detail-page{background:#f3f7fb;border-color:#d6e4ee}html[data-theme="light"] .valuation-detail-head{background:#fff;border-color:#d8e4ef}html[data-theme="light"] .valuation-detail-statusbar{background:#edf5fb;border-color:#d8e4ef}html[data-theme="light"] .valuation-detail-statusbar>span{background:#fff;color:#45617d}html[data-theme="light"] .vd-factor-result,html[data-theme="light"] .vd-analysis-grid article,html[data-theme="light"] .vd-result-grid article,html[data-theme="light"] .vd-conclusion{background:#f4f8fc;border-color:#d5e2ed}html[data-theme="light"] .vd-factor-result b,html[data-theme="light"] .vd-analysis-grid b,html[data-theme="light"] .vd-result-grid b{color:#17334f}html[data-theme="light"] .vd-actions{background:rgba(255,255,255,.94);border-color:#d6e3ee}

/* =========================================================
   VALORACION DE ACTIVOS - AJUSTE COMPACTO 100% (31-08-2026)
   Mantiene legibilidad y evita que la tabla se desborde en escritorio.
   ========================================================= */
@media (min-width: 1000px){
  .valuation-pro-page{gap:8px;padding-bottom:10px}
  .valuation-pro-strip{min-height:54px;padding:8px 12px;border-radius:12px}
  .valuation-pro-title{gap:7px}
  .valuation-pro-title>span{font-size:20px}
  .valuation-pro-title strong{font-size:16px}
  .valuation-pro-title small{font-size:8px}
  .valuation-pro-actions{gap:7px}
  .valuation-export-btn,.valuation-auto-open{height:36px;padding:0 11px;border-radius:9px;font-size:12px;gap:6px}
  .valuation-export-btn svg,.valuation-auto-open svg{width:15px;height:15px}

  .valuation-kpis{gap:8px}
  .valuation-kpis article{min-height:72px;padding:9px 11px;border-radius:12px;gap:9px}
  .vk-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px}
  .vk-icon svg{width:18px;height:18px}
  .valuation-kpis small{font-size:7.5px}
  .valuation-kpis b{font-size:18px;margin:1px 0}
  .valuation-kpis b.is-money{font-size:16px}
  .valuation-kpis em{font-size:7.5px}

  .valuation-formula-band{grid-template-columns:38px 1fr auto;gap:9px;padding:8px 11px;border-radius:11px}
  .valuation-formula-icon{width:38px;height:38px;border-radius:10px;font-size:20px}
  .valuation-formula-copy b{font-size:10.5px}
  .valuation-formula-copy p{font-size:8.5px;line-height:1.35;margin-top:2px}
  .valuation-formula-pending{min-width:130px;padding-left:10px}
  .valuation-formula-pending small{font-size:7px}
  .valuation-formula-pending b{font-size:19px}

  .valuation-panel{padding:9px;border-radius:12px}
  .valuation-filters{grid-template-columns:minmax(240px,1.45fr) minmax(180px,.82fr) 170px 105px;gap:7px}
  .valuation-filters label>span{font-size:7.5px;margin-bottom:4px}
  .valuation-filters input,.valuation-filters select{height:35px;border-radius:7px;padding:0 8px;font-size:11px}
  .valuation-search>div svg{left:9px;top:9px;width:15px;height:15px}
  .valuation-search input{padding-left:31px}
  .valuation-filter-side{height:35px}
  .valuation-filter-side>span{font-size:7.5px}
  .valuation-list-head{padding:7px 1px 6px;font-size:8px}
  .valuation-mini-legend{gap:5px}

  .valuation-table-wrap{border-radius:9px;overflow:auto}
  .valuation-table{width:100%;min-width:0;table-layout:fixed}
  .valuation-table th{padding:7px 6px;font-size:8.5px;white-space:normal;line-height:1.15}
  .valuation-table td{padding:7px 6px;font-size:8.5px;line-height:1.18;overflow-wrap:anywhere}
  .valuation-table th:nth-child(1){width:22%}
  .valuation-table th:nth-child(2){width:14%}
  .valuation-table th:nth-child(3){width:13%}
  .valuation-table th:nth-child(4){width:12%}
  .valuation-table th:nth-child(5){width:16%}
  .valuation-table th:nth-child(6){width:11%}
  .valuation-table th:nth-child(7){width:8%}
  .valuation-table th:nth-child(8){width:4%}

  .valuation-asset-id{gap:6px;align-items:center}
  .valuation-label{min-width:40px;height:26px;padding:0 6px;border-radius:8px;font-size:9px;white-space:nowrap}
  .valuation-asset-id b{max-width:none;font-size:8.7px;line-height:1.2}
  .valuation-asset-id small,.valuation-account-cell small{font-size:6.8px;margin-top:2px}
  .valuation-account-cell b{max-width:none;font-size:7.7px;line-height:1.2}
  .valuation-account-cell span{font-size:7.3px;margin-top:2px}
  .valuation-life{min-width:0}
  .valuation-life strong{font-size:11px}
  .valuation-life span{font-size:7px;margin-left:1px}
  .valuation-life>div{height:4px;margin:4px 0 3px}
  .valuation-life small{font-size:6.7px}
  .valuation-money-cell{gap:3px}
  .valuation-money-cell span{gap:4px;font-size:7px}
  .valuation-money-cell b{font-size:8px;white-space:nowrap}

  .valuation-factor-stack{min-width:0;gap:3px}
  .valuation-factor-stack span{padding:3px 2px;border-radius:6px;font-size:6.5px}
  .valuation-factor-stack span b{font-size:7.5px}
  .valuation-factor-stack>strong{padding:4px 3px;border-radius:6px;font-size:7.5px}
  .valuation-vam b{font-size:10.5px;white-space:nowrap}
  .valuation-vam span{font-size:7.5px;margin-top:2px;white-space:nowrap}
  .valuation-vam small{font-size:6.4px}
  .valuation-conclusion{max-width:100%;padding:4px 5px;font-size:6.5px;line-height:1.15;white-space:normal}
  .valuation-saved-state{margin-top:3px;font-size:6.5px}
  .valuation-row-actions a{width:28px;height:28px}
  .valuation-row-actions svg{width:13px;height:13px}
  .valuation-pagination{padding-top:8px;gap:7px}
  .valuation-pagination a{width:31px;height:31px}
  .valuation-pagination span{font-size:8px}
}

@media (min-width:1000px) and (max-width:1366px){
  .valuation-pro-strip{min-height:50px}
  .valuation-kpis article{min-height:66px;padding:8px 9px}
  .vk-icon{width:34px;height:34px;flex-basis:34px}
  .valuation-kpis b{font-size:16px}
  .valuation-kpis b.is-money{font-size:14px}
  .valuation-formula-copy p{font-size:7.8px}
  .valuation-table th{padding:6px 4px;font-size:7.7px}
  .valuation-table td{padding:6px 4px;font-size:7.7px}
  .valuation-label{min-width:36px;height:24px;font-size:8px}
  .valuation-asset-id b{font-size:8px}
  .valuation-account-cell b{font-size:7px}
  .valuation-factor-stack span b,.valuation-factor-stack>strong{font-size:7px}
}



/* ==========================================================================
   CATEGORÍAS · MENÚ + HUB DE CATÁLOGOS V1
   ========================================================================== */
.sidebar details.category-menu > a{
  min-height:35px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 13px 8px 28px;
  margin:1px 0;
  border-radius:9px;
  color:#b7c9e2;
  font-size:11.5px;
  line-height:1.2;
  transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease;
}
.sidebar details.category-menu > a svg{
  width:15px;
  height:15px;
  flex:0 0 15px;
  stroke:#87a5c9;
}
.sidebar details.category-menu > a:hover{
  background:rgba(43,134,226,.10);
  color:#fff;
  transform:translateX(2px);
}
.sidebar details.category-menu > a.active-sub{
  color:#fff;
  background:linear-gradient(90deg,rgba(42,139,238,.24),rgba(35,113,192,.10));
  border:1px solid rgba(67,155,244,.34);
  box-shadow:inset 3px 0 0 #3b9cff;
}
.sidebar details.category-menu > a.active-sub svg{stroke:#58adff}
.sidebar details.category-menu[open] > summary{
  margin-bottom:3px;
}

.catalog-hub{max-width:1280px;margin:0 auto}
.catalog-hub-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:17px;
}
.catalog-hub-heading .page-title{margin-bottom:5px}
.catalog-hub-heading .sub{margin:0;max-width:720px}
.catalog-hub-count{
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid #245d96;
  border-radius:999px;
  background:#0a2d58;
  color:#8ab9eb;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.catalog-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.catalog-card{
  position:relative;
  min-height:142px;
  display:grid;
  grid-template-columns:48px 1fr 28px;
  align-items:center;
  gap:13px;
  overflow:hidden;
  padding:18px;
  border:1px solid #1b538a;
  border-radius:15px;
  background:
    radial-gradient(circle at 92% 4%,rgba(52,142,239,.15),transparent 35%),
    linear-gradient(145deg,#0a2d5b,#0a315f);
  box-shadow:0 12px 26px rgba(0,0,0,.10);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.catalog-card::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,#3b9cff,#2cd3c4);
  opacity:.75;
}
.catalog-card:hover{
  transform:translateY(-3px);
  border-color:#3588d8;
  box-shadow:0 16px 34px rgba(0,0,0,.17),0 0 0 1px rgba(70,155,244,.08);
}
.catalog-card-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #2268a9;
  border-radius:13px;
  background:#0b3e74;
  color:#59b7ff;
  box-shadow:inset 0 0 22px rgba(63,166,255,.08);
}
.catalog-card-icon svg{width:21px;height:21px;stroke:currentColor}
.catalog-card-copy{min-width:0;display:flex;flex-direction:column}
.catalog-card-copy small{
  color:#55aaff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.25;
}
.catalog-card-copy strong{
  display:block;
  margin:6px 0 4px;
  color:#fff;
  font-size:25px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.catalog-card-copy span{
  color:#8faed1;
  font-size:10.5px;
  line-height:1.3;
}
.catalog-card-go{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #24659e;
  border-radius:50%;
  color:#78baff;
  font-size:20px;
  line-height:1;
  transition:transform .18s ease,background .18s ease;
}
.catalog-card:hover .catalog-card-go{
  transform:translateX(2px);
  background:#0f4b85;
}
.catalog-card-material .catalog-card-icon{color:#59d7ad}
.catalog-card-color .catalog-card-icon{color:#9db7ff}
.catalog-card-marca .catalog-card-icon{color:#c291ff}
.catalog-card-factormaintenance .catalog-card-icon{color:#ffbd61}
.catalog-card-stateconservation .catalog-card-icon{color:#68d7ef}
.catalog-card-process .catalog-card-icon{color:#86e4b8}
.catalog-card-locations .catalog-card-icon,
.catalog-card-areas .catalog-card-icon{color:#69b8ff}

.catalog-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.catalog-page-head .page-title{margin-bottom:3px}
.catalog-back-link{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #245b91;
  border-radius:9px;
  background:#092a52;
  color:#a9c7e9;
  font-size:11px;
  font-weight:750;
}
.catalog-back-link:hover{color:#fff;border-color:#347fc7}
.catalog-search{margin:0 0 12px}
.catalog-readonly-card{padding:0;overflow:auto}
.catalog-readonly-note{
  position:sticky;
  left:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-bottom:1px solid #1f507d;
  background:rgba(8,39,77,.94);
}
.catalog-readonly-note>span{
  width:34px;height:34px;display:grid;place-items:center;
  border:1px solid #2464a0;border-radius:10px;color:#58b0ff;background:#0b3768
}
.catalog-readonly-note>span svg{width:17px;height:17px;stroke:currentColor}
.catalog-readonly-note>div{display:flex;flex-direction:column;gap:2px}
.catalog-readonly-note strong{font-size:11px}
.catalog-readonly-note small{font-size:9.5px;color:#86a5c9}
.catalog-table strong{font-weight:750;color:#f7fbff}

@media(max-width:1180px){
  .catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .catalog-hub-heading,.catalog-page-head{align-items:flex-start;flex-direction:column}
  .catalog-card-grid{grid-template-columns:1fr}
  .catalog-card{min-height:122px}
}

/* Light theme */
html[data-theme="light"] .catalog-card{
  border-color:#cadced;
  background:
    radial-gradient(circle at 92% 4%,rgba(49,139,230,.10),transparent 35%),
    linear-gradient(145deg,#ffffff,#f3f8fd);
  box-shadow:0 10px 24px rgba(31,72,115,.08);
}
html[data-theme="light"] .catalog-card-copy strong{color:#0b2441}
html[data-theme="light"] .catalog-card-copy span{color:#607d9d}
html[data-theme="light"] .catalog-hub-count,
html[data-theme="light"] .catalog-back-link{background:#f6faff;color:#456b91;border-color:#c9dceb}
html[data-theme="light"] .catalog-readonly-note{background:#f4f9fd}
html[data-theme="light"] .catalog-table strong{color:#163653}


/* ==========================================================================
   CATEGORÍAS · CENTRO MAESTRO EXCEL V1
   ========================================================================== */
.catalog-bulk-center{
  margin:0 0 16px;
  padding:15px;
  border:1px solid #1e5b94;
  border-radius:15px;
  background:
    radial-gradient(circle at 92% 0%,rgba(53,151,246,.12),transparent 32%),
    linear-gradient(145deg,rgba(8,43,82,.97),rgba(7,35,70,.98));
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.catalog-bulk-copy{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.catalog-bulk-icon{
  width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;
  border:1px solid #2f79bc;border-radius:12px;background:#0d4277;color:#59b8ff
}
.catalog-bulk-icon svg{width:21px;height:21px;stroke:currentColor}
.catalog-bulk-copy h2{margin:2px 0 4px;color:#fff;font-size:16px}
.catalog-bulk-copy p{margin:0;color:#91afd0;font-size:10.5px;line-height:1.45;max-width:880px}
.catalog-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 10px}
.catalog-bulk-actions .btn,.catalog-upload-box .btn,.catalog-preview-actions .btn{
  min-height:38px;border-radius:9px;font-size:10.5px;font-weight:850;gap:7px
}
.catalog-bulk-actions .btn svg,.catalog-upload-box .btn svg,.catalog-preview-actions .btn svg{width:15px;height:15px}
.catalog-btn-export{background:#1678d1;border-color:#2f91e9;color:#fff}
.catalog-btn-export:hover{background:#2187e4}
.catalog-btn-template{background:#0e345f;border-color:#326d9f;color:#c6def6}
.catalog-btn-template:hover{color:#fff;border-color:#4b93ce}
.catalog-upload-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:stretch;
}
.catalog-file-picker{
  min-height:56px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  padding:9px 11px;
  border:1px dashed #3678b5;
  border-radius:11px;
  background:#081f3e;
  transition:border-color .16s ease,background .16s ease
}
.catalog-file-picker:hover{border-color:#54a7ef;background:#0a294f}
.catalog-file-picker-icon{
  width:36px;height:36px;display:grid;place-items:center;
  border:1px solid #2c6eab;border-radius:10px;background:#0b3767;color:#65b8ff
}
.catalog-file-picker-icon svg{width:17px;height:17px;stroke:currentColor}
.catalog-file-picker>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}
.catalog-file-picker strong{font-size:10.5px;color:#eff7ff}
.catalog-file-picker small{font-size:9px;color:#7f9fbe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.catalog-btn-validate{
  min-width:138px;
  background:linear-gradient(135deg,#39d887,#23c671);
  border-color:#48e79a;color:#062217
}
.catalog-btn-validate:hover{filter:brightness(1.06)}
.catalog-bulk-rules{
  display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(54,113,171,.35)
}
.catalog-bulk-rules span{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 8px;border:1px solid #234f7d;border-radius:999px;background:#0a274b;
  color:#86a8cb;font-size:8.8px
}
.catalog-bulk-rules i{
  width:17px;height:17px;display:grid;place-items:center;border-radius:50%;font-style:normal;
  background:#144d83;color:#8fcdff;font-size:8px;font-weight:900
}

.catalog-import-preview{
  margin:0 0 16px;padding:14px;border:1px solid #286aa8;border-radius:15px;background:#081f3f
}
.catalog-import-preview.is-valid{border-color:#248d68;box-shadow:0 0 0 1px rgba(44,207,139,.05)}
.catalog-import-preview.has-errors{border-color:#a24756}
.catalog-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}
.catalog-preview-head h2{font-size:14px;margin:2px 0;color:#fff}
.catalog-preview-head p{font-size:9.5px;color:#8ba8c7;margin:0}
.catalog-preview-status{
  flex:0 0 auto;padding:6px 9px;border-radius:999px;border:1px solid #2b9871;background:#0d4937;
  color:#72efbd;font-size:8px;font-weight:900;letter-spacing:.08em
}
.has-errors .catalog-preview-status{border-color:#a74e5d;background:#562531;color:#ff9aa8}
.catalog-preview-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px}
.catalog-preview-kpis>div{
  min-height:58px;padding:9px 10px;border:1px solid #244f7c;border-radius:10px;background:#0a2a51
}
.catalog-preview-kpis small{display:block;color:#77a1cd;font-size:7.5px;font-weight:900;letter-spacing:.08em}
.catalog-preview-kpis strong{display:block;margin-top:4px;color:#fff;font-size:18px}
.catalog-preview-kpis .new strong{color:#59e5ab}
.catalog-preview-kpis .update strong{color:#5db8ff}
.catalog-preview-kpis .same strong{color:#c5d4e5}
.catalog-preview-kpis .error strong{color:#ff7d8e}
.catalog-preview-table-wrap{overflow:auto;border:1px solid #214e7b;border-radius:10px}
.catalog-preview-table{min-width:720px;margin:0}
.catalog-preview-table th{font-size:8px}
.catalog-preview-table td{font-size:9px}
.catalog-cell-error{color:#ff7c8e!important;font-weight:900}
.catalog-error-details,.catalog-warning-details{margin-top:9px;border:1px solid #6e3442;border-radius:9px;background:#351927}
.catalog-warning-details{border-color:#675826;background:#312d18}
.catalog-error-details summary,.catalog-warning-details summary{cursor:pointer;padding:9px 11px;font-size:9.5px;font-weight:850}
.catalog-error-list,.catalog-warning-details>div{max-height:180px;overflow:auto;padding:0 11px 10px}
.catalog-error-list p,.catalog-warning-details p{margin:4px 0;font-size:9px;line-height:1.4}
.catalog-error-list p{color:#ffacb7}
.catalog-warning-details p{color:#e5d790}
.catalog-preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}
.catalog-preview-actions form{margin:0}
.catalog-btn-process{background:linear-gradient(135deg,#39d887,#1fc676);border-color:#4be19b;color:#062519}
.catalog-btn-process:hover{filter:brightness(1.06)}

@media(max-width:900px){
  .catalog-upload-box{grid-template-columns:1fr}
  .catalog-btn-validate{width:100%}
  .catalog-preview-kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .catalog-bulk-copy{align-items:center}
  .catalog-bulk-actions{display:grid;grid-template-columns:1fr}
  .catalog-bulk-actions .btn{justify-content:center}
  .catalog-preview-head{flex-direction:column}
  .catalog-preview-kpis{grid-template-columns:1fr 1fr}
  .catalog-preview-actions{flex-direction:column}
  .catalog-preview-actions form,.catalog-preview-actions .btn{width:100%}
}

html[data-theme="light"] .catalog-bulk-center,
html[data-theme="light"] .catalog-import-preview{
  background:linear-gradient(145deg,#fff,#f4f9fd);border-color:#c8dcec;box-shadow:0 10px 24px rgba(31,72,115,.07)
}
html[data-theme="light"] .catalog-bulk-copy h2,
html[data-theme="light"] .catalog-preview-head h2{color:#143653}
html[data-theme="light"] .catalog-bulk-copy p,
html[data-theme="light"] .catalog-preview-head p{color:#607f9f}
html[data-theme="light"] .catalog-file-picker{background:#f5f9fd;border-color:#b9d2e7}
html[data-theme="light"] .catalog-file-picker strong{color:#173a5b}
html[data-theme="light"] .catalog-file-picker small{color:#708da9}
html[data-theme="light"] .catalog-bulk-rules span{background:#f4f9fd;color:#567999;border-color:#c6dbea}
html[data-theme="light"] .catalog-preview-kpis>div{background:#f6fafd;border-color:#cbddeb}
html[data-theme="light"] .catalog-preview-kpis strong{color:#193d5f}

/* ==========================================================================
   CATEGORÍAS · MATERIALES PRO
   ========================================================================== */
.materials-pro{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}
.materials-pro-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid #1d507f;border-radius:14px;background:linear-gradient(135deg,#102d59,#0a2347);box-shadow:0 9px 22px rgba(0,0,0,.12)}
.materials-title-copy{display:flex;align-items:center;gap:12px;min-width:0}.materials-title-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #2d78bb;border-radius:11px;background:#0d3d70;color:#62b8ff}.materials-title-icon svg{width:20px;height:20px;stroke:currentColor}.materials-title-copy .eyebrow{font-size:8px;letter-spacing:.14em;color:#58adfb;font-weight:900}.materials-title-copy h1{margin:1px 0 1px;color:#fff;font-size:20px;line-height:1.1}.materials-title-copy p{margin:0;color:#89a7c7;font-size:9.5px}.materials-new-btn{height:40px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #4ce59a;border-radius:999px;background:linear-gradient(135deg,#43df8c,#31cf7e);color:#052418;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(35,204,119,.16)}.materials-new-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.materials-new-btn svg{width:16px;height:16px;stroke:currentColor}
.materials-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.materials-kpis>div{min-height:64px;padding:10px 13px;border:1px solid #1e4f7e;border-radius:12px;background:linear-gradient(145deg,#0c2e58,#0a274b)}.materials-kpis small{display:block;color:#69aaf0;font-size:7.5px;font-weight:900;letter-spacing:.12em}.materials-kpis strong{display:inline-block;margin-top:4px;color:#fff;font-size:18px;line-height:1}.materials-kpis span{display:block;margin-top:4px;color:#7696b8;font-size:8.5px}
.materials-card{overflow:hidden;border:1px solid #1d4c79;border-radius:14px;background:#0b2549}.materials-card-toolbar{min-height:48px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #1c4771;background:#0d2b52}.materials-pagination-top{display:flex;gap:7px}.materials-page-btn{width:36px;height:34px;display:grid;place-items:center;border:1px solid #245e95;border-radius:8px;background:#123c68;color:#80c7ff}.materials-page-btn.materials-page-next{background:#26a9ed;border-color:#3fc1ff;color:#052a46}.materials-page-btn svg{width:15px;height:15px;stroke:currentColor}.materials-page-btn.is-disabled{opacity:.32;pointer-events:none}.materials-showing{color:#88a6c8;font-size:9px}.materials-showing b{color:#fff}
.materials-filter-grid{display:grid;grid-template-columns:150px 180px minmax(300px,1fr) 160px auto;gap:7px;align-items:end;padding:9px 12px;border-bottom:1px solid #1c4771;background:#0b2548}.materials-filter-grid label{display:flex;flex-direction:column;gap:4px}.materials-filter-grid label>span{color:#a9c3df;font-size:8px;font-weight:850}.materials-filter-grid input,.materials-filter-grid select{width:100%;height:34px;padding:0 10px;border:1px solid #315271;border-radius:7px;background:#07192f;color:#fff;font-size:9.5px;outline:none}.materials-filter-grid input:focus,.materials-filter-grid select:focus{border-color:#3f9be3;box-shadow:0 0 0 2px rgba(48,151,235,.12)}.materials-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;height:34px}.materials-search-state{max-width:110px;color:#7697b9;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-search-btn,.materials-clear-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid #42b7ef;border-radius:50%;background:#27b5f2;color:#062c49;cursor:pointer}.materials-search-btn svg{width:15px;height:15px;stroke:currentColor}.materials-clear-btn{border-color:#31597e;background:#112f54;color:#9fc4e9;font-size:18px;text-decoration:none}
.materials-table-wrap{overflow-x:auto}.materials-table{width:100%;border-collapse:collapse;table-layout:fixed}.materials-table th{height:38px;padding:0 12px;text-align:left;border-right:1px solid #274668;border-bottom:1px solid #35577a;background:#142f58;color:#f5f9ff;font-size:9.5px;font-weight:900}.materials-table th:nth-child(1){width:15%}.materials-table th:nth-child(2){width:16%}.materials-table th:nth-child(3){width:43%}.materials-table th:nth-child(4){width:14%}.materials-table th:nth-child(5){width:12%;text-align:center}.materials-table td{height:49px;padding:7px 12px;border-right:1px solid #294767;border-bottom:1px solid #294767;color:#e7f1fb;font-size:9.8px;vertical-align:middle}.materials-table tbody tr:nth-child(odd){background:#132d55}.materials-table tbody tr:nth-child(even){background:#101f34}.materials-table tbody tr:hover{background:#173961}.materials-type-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #2a5a88;border-radius:7px;background:#0b284a;color:#a9cff2;font-weight:800}.materials-code{font-variant-numeric:tabular-nums;color:#fff}.materials-name-cell strong{display:block;color:#fff;font-size:10px;font-weight:750}.materials-name-cell small{display:block;margin-top:3px;color:#6fa2d0;font-size:8px}.materials-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900}.materials-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.materials-status.is-active{border:1px solid #218968;background:#0d513c;color:#59eca9}.materials-status.is-inactive{border:1px solid #8b4654;background:#4b2530;color:#ff8796}.materials-actions{display:flex;justify-content:center;gap:7px}.materials-action{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.materials-action svg{width:14px;height:14px;stroke:currentColor}.materials-action.edit{border:1px solid #5db5ff;background:#52a9f7;color:#062b48}.materials-action.delete{border:1px solid #ff7d86;background:#ff6974;color:#4c0911}.materials-action:hover{filter:brightness(1.08);transform:translateY(-1px)}.materials-empty{text-align:center!important;padding:36px!important}.materials-empty b,.materials-empty span{display:block}.materials-empty span{margin-top:4px;color:#7898b9;font-size:9px}.materials-footer{min-height:40px;padding:7px 12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #1c4771;background:#0a213f;color:#7e9dbd;font-size:8.5px}.materials-footer b{color:#fff}.materials-footer div{display:flex;gap:8px}.materials-footer a{padding:5px 8px;border:1px solid #285780;border-radius:7px;color:#9ccaf1;background:#0d2d50;text-decoration:none}
.materials-dialog{width:min(600px,calc(100vw - 32px));padding:0;border:1px solid #2b6294;border-radius:16px;background:transparent;color:#fff;box-shadow:0 30px 70px rgba(0,0,0,.42)}.materials-dialog::backdrop{background:rgba(1,11,25,.72);backdrop-filter:blur(3px)}.materials-dialog-card{margin:0;padding:0;border-radius:15px;background:linear-gradient(145deg,#132e59,#0b2345);overflow:hidden}.materials-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #26537e}.materials-dialog-head small{display:block;color:#57b3ff;font-size:7.5px;font-weight:900;letter-spacing:.14em}.materials-dialog-head h2{margin:3px 0 0;font-size:17px}.materials-dialog-head button{width:30px;height:30px;border:0;background:transparent;color:#9ebcdf;font-size:23px;cursor:pointer}.materials-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:17px}.materials-form-grid label{display:flex;flex-direction:column;gap:5px}.materials-form-grid .wide{grid-column:1/-1}.materials-form-grid span{font-size:9px;font-weight:850}.materials-form-grid input,.materials-form-grid select{height:40px;padding:0 11px;border:1px solid #385877;border-radius:8px;background:#07172c;color:#fff;font-size:10.5px;outline:none}.materials-form-grid input:focus,.materials-form-grid select:focus{border-color:#4cacfa;box-shadow:0 0 0 2px rgba(68,168,248,.12)}.materials-form-grid small{color:#7896b7;font-size:8px}.materials-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 17px 16px;border-top:1px solid #234b74}.materials-save-btn,.materials-danger-btn{min-width:145px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-size:10px;font-weight:900;cursor:pointer}.materials-save-btn{border:1px solid #3de194;background:linear-gradient(135deg,#35d987,#20c573);color:#062419}.materials-save-btn svg{width:15px;height:15px;stroke:currentColor}.materials-delete-dialog{width:min(480px,calc(100vw - 32px))}.materials-delete-dialog .materials-dialog-card{text-align:center;padding-top:18px}.materials-delete-icon{width:50px;height:50px;margin:0 auto 9px;display:grid;place-items:center;border:1px solid #a74c5a;border-radius:50%;background:#512330;color:#ff7686}.materials-delete-icon svg{width:22px;height:22px;stroke:currentColor}.materials-delete-dialog h2{margin:0 16px 6px;font-size:18px}.materials-delete-dialog p{margin:0 16px;color:#fff;font-size:11px;font-weight:800}.materials-delete-warning{margin:13px 16px;padding:11px;border:1px solid #4e6680;border-radius:10px;background:#0a1e38;color:#9fb9d3;font-size:9px;line-height:1.5;text-align:left}.materials-danger-btn{border:1px solid #ff7c88;background:#ff6773;color:#450910}
@media(max-width:1050px){.materials-filter-grid{grid-template-columns:1fr 1fr}.materials-filter-actions{grid-column:1/-1;justify-content:flex-start}.materials-kpis{grid-template-columns:1fr 1fr}}@media(max-width:650px){.materials-pro-head{align-items:flex-start;flex-direction:column}.materials-new-btn{width:100%}.materials-kpis{grid-template-columns:1fr}.materials-filter-grid{grid-template-columns:1fr}.materials-form-grid{grid-template-columns:1fr}.materials-form-grid .wide{grid-column:auto}.materials-table{min-width:760px}.materials-showing{display:none}}
html[data-theme="light"] .materials-pro-head,html[data-theme="light"] .materials-card,html[data-theme="light"] .materials-kpis>div{background:linear-gradient(145deg,#fff,#f3f8fd);border-color:#c5d9eb}.materials-pro html[data-theme="light"]{color:#173653}html[data-theme="light"] .materials-title-copy h1,html[data-theme="light"] .materials-kpis strong{color:#173653}html[data-theme="light"] .materials-title-copy p,html[data-theme="light"] .materials-kpis span{color:#6785a3}html[data-theme="light"] .materials-card-toolbar,html[data-theme="light"] .materials-filter-grid,html[data-theme="light"] .materials-footer{background:#f4f9fd;border-color:#c8dbe9}html[data-theme="light"] .materials-filter-grid input,html[data-theme="light"] .materials-filter-grid select{background:#fff;color:#173653;border-color:#c4d7e7}html[data-theme="light"] .materials-table th{background:#eaf3fb;color:#173653;border-color:#c4d7e7}html[data-theme="light"] .materials-table td{color:#214261;border-color:#d4e2ee}html[data-theme="light"] .materials-table tbody tr:nth-child(odd){background:#fff}html[data-theme="light"] .materials-table tbody tr:nth-child(even){background:#f7fafc}html[data-theme="light"] .materials-table tbody tr:hover{background:#edf6fd}html[data-theme="light"] .materials-name-cell strong,html[data-theme="light"] .materials-code{color:#173653}html[data-theme="light"] .materials-dialog-card{background:linear-gradient(145deg,#fff,#f2f7fc);color:#173653}html[data-theme="light"] .materials-form-grid input,html[data-theme="light"] .materials-form-grid select{background:#fff;color:#173653;border-color:#c4d7e7}html[data-theme="light"] .materials-delete-dialog p{color:#173653}


/* ==========================================================
   KPI · CLASES Y TIPOS PRO
   ========================================================== */
.types-pro{padding:0 0 28px;color:#f7fbff}.types-headbar{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,rgba(31,59,105,.96),rgba(20,48,91,.94));border:1px solid rgba(93,168,255,.20);border-radius:18px;padding:18px 22px;margin-bottom:14px;box-shadow:0 14px 34px rgba(0,0,0,.14)}.types-eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;color:#57a8ff;margin-bottom:5px}.types-headbar h1{font-size:27px;line-height:1;margin:0 0 7px}.types-headbar p{margin:0;color:#a9c2e3;font-size:13px}.types-new-btn{border:0;border-radius:999px;padding:13px 21px;background:linear-gradient(135deg,#38dc86,#47e49c);color:#052313;font-weight:900;display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 8px 25px rgba(49,219,133,.18)}.types-new-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.types-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.types-kpis article{min-height:86px;background:linear-gradient(145deg,rgba(32,65,116,.97),rgba(23,52,95,.97));border:1px solid rgba(92,163,255,.20);border-radius:15px;padding:13px 14px;position:relative;overflow:hidden}.types-kpis article small{display:block;color:#8eb5e7;font-size:10px;font-weight:900;letter-spacing:1.2px;margin-left:43px}.types-kpis article b{display:block;font-size:23px;margin:4px 0 0 43px}.types-kpis article em{font-style:normal;color:#8da9cc;font-size:9px;margin-left:43px}.types-kpi-icon{position:absolute;left:13px;top:14px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:950;background:#164981;color:#77c2ff;border:1px solid rgba(94,181,255,.28)}.types-kpi-icon.l1{background:#173f78;color:#5db2ff}.types-kpi-icon.l2{background:#164b62;color:#5bdbdf}.types-kpi-icon.l3{background:#3d435e;color:#c5b6ff}.types-kpi-icon.l4{background:#305d47;color:#7df0ad}.types-kpi-icon.all svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.types-workspace{background:rgba(24,48,88,.90);border:1px solid rgba(100,160,235,.18);border-radius:18px;padding:14px;box-shadow:0 18px 42px rgba(0,0,0,.10)}.types-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.types-filter-form{display:grid;grid-template-columns:minmax(320px,1fr) 190px 160px 44px 40px;gap:9px;align-items:end;flex:1}.types-filter-form>label:not(.types-search)>span{display:block;color:#91acd0;font-size:10px;font-weight:800;margin:0 0 5px 4px}.types-filter-form select,.types-search{height:44px;border:1px solid #315a8b;border-radius:11px;background:#0d1c32;color:#fff}.types-filter-form select{width:100%;padding:0 12px}.types-search{display:grid;grid-template-columns:38px 1fr auto;align-items:center;overflow:hidden}.types-search i{display:grid;place-items:center;color:#62b6ff}.types-search i svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.types-search input{min-width:0;border:0!important;background:transparent!important;color:#fff!important;outline:none!important;height:42px!important;padding:0 5px!important}.types-search>span{font-size:9px;color:#708bab;padding-right:10px;white-space:nowrap}.types-filter-btn,.types-clear-btn{height:44px;width:44px;border:0;border-radius:11px;display:grid;place-items:center;text-decoration:none}.types-filter-btn{background:#36bdf1;color:#03243b;cursor:pointer}.types-filter-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.types-clear-btn{background:#213d63;color:#b9d8ff;font-size:20px}.types-tree-tools{display:flex;gap:7px}.types-tree-tools button{height:38px;border:1px solid #315a8b;border-radius:10px;padding:0 12px;background:#10284a;color:#a8c7ed;font-weight:800;font-size:11px;cursor:pointer}.types-guide{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;margin:0 0 12px;background:rgba(5,24,48,.42);border:1px solid rgba(74,139,217,.18);border-radius:11px;color:#99b2d2;font-size:10px}.types-guide span{padding:6px 10px;border-radius:999px;background:#132f55;border:1px solid #28598b}.types-guide .final{background:#163f35;border-color:#2b7f64;color:#9cf3c7;display:flex;gap:6px;align-items:center}.types-guide small{font-size:8px;opacity:.75}.types-table-wrap{overflow:auto;border:1px solid rgba(83,139,207,.22);border-radius:12px;background:#111f36;max-height:calc(100vh - 370px);min-height:280px}.types-table{width:100%;border-collapse:collapse;min-width:1040px}.types-table th{position:sticky;top:0;z-index:3;background:#1b3157;color:#eaf4ff;font-size:11px;text-align:left;padding:11px 12px;border-bottom:1px solid #3a5375}.types-table td{padding:9px 12px;border-bottom:1px solid rgba(111,144,187,.18);vertical-align:middle;font-size:12px}.types-node-row:nth-child(even){background:rgba(255,255,255,.018)}.types-node-row.tree-hidden{display:none}.types-node-row.is-inactive{opacity:.62}.types-classification-cell{min-width:430px}.types-node{--tree-depth:0;display:flex;align-items:center;gap:8px;padding-left:calc(var(--tree-depth) * 24px);position:relative}.types-node:before{content:"";position:absolute;left:calc(var(--tree-depth) * 24px + 10px);top:-18px;bottom:50%;width:1px;background:rgba(85,143,210,.20)}.types-toggle,.types-toggle-spacer{width:27px;height:27px;flex:0 0 27px}.types-toggle{display:grid;place-items:center;border:1px solid #3975b6;border-radius:8px;background:#102c51;color:#77bcff;cursor:pointer}.types-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:.18s transform}.types-node-row.is-open .types-toggle svg{transform:rotate(90deg)}.types-node-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:#6f9bc9;box-shadow:0 0 0 4px rgba(91,146,204,.08)}.types-node-dot.l1{background:#4da6ff}.types-node-dot.l2{background:#3fd2d8}.types-node-dot.l3{background:#a78dff}.types-node-dot.l4{background:#55dc8f}.types-node strong{display:block;color:#f8fbff;font-size:12px}.types-node small{display:block;margin-top:2px;color:#7e9bbf;font-size:9px}.types-level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:6px 9px;border-radius:999px;background:#173459;border:1px solid #2d5d91;color:#a9d0ff;font-size:9px;font-weight:900;text-transform:uppercase}.types-level-badge.l2{background:#173b47;border-color:#2a6c70;color:#86e4e5}.types-level-badge.l3{background:#322d50;border-color:#5d5388;color:#d1c4ff}.types-level-badge.l4{background:#183f33;border-color:#2b795d;color:#88edb5}.types-life{color:#dbeaff;font-size:11px}.types-muted{color:#617b9d}.types-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900}.types-status i{width:6px;height:6px;border-radius:50%}.types-status.is-active{background:#134b3a;color:#67eaa5}.types-status.is-active i{background:#3fea91}.types-status.is-inactive{background:#502d39;color:#ff9aaf}.types-status.is-inactive i{background:#ff667f}.types-usage{display:flex;align-items:center;gap:5px;color:#afc6e5}.types-usage b{font-size:12px}.types-usage small{font-size:9px}.types-usage span{font-size:8px;padding:4px 7px;border-radius:999px;background:#143b64;color:#73c4ff}.types-actions{display:flex;gap:7px}.types-action{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}.types-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9}.types-action.edit{background:#4ba9ff;color:#071b2e}.types-action.delete{background:#ff6872;color:#3c0710}.types-empty{text-align:center;padding:45px!important;color:#98b4d9}.types-empty b,.types-empty span{display:block}.types-footer{display:flex;justify-content:space-between;gap:20px;color:#829ec3;font-size:9px;padding:10px 4px 0}.types-dialog{width:min(920px,94vw);border:1px solid #385b86;border-radius:16px;background:#172a4b;color:#fff;padding:0;box-shadow:0 28px 85px rgba(0,0,0,.55)}.types-dialog::backdrop{background:rgba(0,8,23,.78);backdrop-filter:blur(3px)}.types-dialog-card{padding:0}.types-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 16px;border-bottom:1px solid rgba(108,157,215,.18);background:linear-gradient(135deg,#203962,#1a3155)}.types-dialog-head small{color:#5db1ff;font-size:9px;font-weight:900;letter-spacing:1.5px}.types-dialog-head h2{margin:4px 0;font-size:22px}.types-dialog-head p{margin:0;color:#91add0;font-size:11px}.types-dialog-head>button{border:0;background:transparent;color:#9ec8fa;font-size:27px;cursor:pointer}.types-form-grid,.types-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 22px}.types-form-grid label,.types-advanced-grid label{display:block}.types-form-grid label.wide,.types-advanced-grid label.wide{grid-column:1/-1}.types-form-grid label>span,.types-advanced-grid label>span{display:block;font-size:10px;font-weight:900;margin:0 0 6px 2px;color:#dceaff}.types-form-grid input,.types-form-grid select,.types-advanced-grid input{width:100%;height:42px;border:1px solid #3c5e87;border-radius:10px;background:#0c1a2e;color:#fff;padding:0 11px;box-sizing:border-box}.types-form-grid label>small{display:block;color:#7794b8;font-size:8px;margin:4px 2px}.types-advanced{margin:0 22px 4px;border:1px solid rgba(84,141,207,.24);border-radius:12px;background:rgba(8,25,48,.42)}.types-advanced summary{cursor:pointer;padding:12px 14px;font-size:11px;font-weight:900;color:#a8cfff}.types-advanced summary span{font-size:8px;font-weight:700;color:#6e8bad;margin-left:7px}.types-advanced-grid{padding-top:8px}.types-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px 20px}.types-save-btn,.types-danger-btn{height:43px;border:0;border-radius:11px;padding:0 20px;font-weight:900;display:flex;align-items:center;gap:8px;cursor:pointer}.types-save-btn{background:#2ed47b;color:#062317}.types-save-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.types-danger-btn{background:#ff6872;color:#3b0710}.types-delete-dialog{width:min(560px,92vw);text-align:center}.types-delete-dialog .types-dialog-card{padding:22px}.types-delete-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#4a2632;color:#ff7182}.types-delete-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.types-delete-dialog h2{margin:0 0 5px}.types-delete-dialog p{margin:0 0 13px;color:#dbe8f8;font-weight:800}.types-delete-warning{background:#10243e;border:1px solid #31547b;border-radius:11px;padding:12px;color:#91afd3;font-size:10px;line-height:1.5;text-align:left}.types-delete-dialog .types-dialog-actions{padding:18px 0 0}
@media(max-width:1180px){.types-kpis{grid-template-columns:repeat(3,1fr)}.types-toolbar{align-items:stretch;flex-direction:column}.types-filter-form{grid-template-columns:minmax(260px,1fr) 160px 145px 44px 40px}.types-tree-tools{justify-content:flex-end}.types-table-wrap{max-height:none}}
@media(max-width:760px){.types-headbar{align-items:flex-start;flex-direction:column}.types-new-btn{width:100%;justify-content:center}.types-kpis{grid-template-columns:repeat(2,1fr)}.types-filter-form{grid-template-columns:1fr 1fr}.types-search{grid-column:1/-1}.types-filter-btn,.types-clear-btn{width:100%}.types-guide{justify-content:flex-start;overflow:auto}.types-form-grid,.types-advanced-grid{grid-template-columns:1fr}.types-form-grid label.wide,.types-advanced-grid label.wide{grid-column:auto}.types-footer{flex-direction:column}.types-node{padding-left:calc(var(--tree-depth) * 13px)}}


/* =========================================================
   KPI · CLASES Y TIPOS ULTRARÁPIDO · LAZY EXPLORER V2
   ========================================================= */
.typex-page{padding:0 0 24px;color:#f5f9ff}.typex-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}.typex-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.typex-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.typex-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}.typex-hero-actions{display:flex;align-items:center;gap:10px}.typex-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.typex-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}.typex-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.typex-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.typex-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.typex-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}.typex-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.typex-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.typex-stat-icon.blue{background:#154d85;color:#64b8ff}.typex-stat-icon.green{background:#15533d;color:#54e89c}.typex-stat-icon.violet{background:#47336a;color:#c1a5ff}.typex-stat-icon.cyan{background:#124a5a;color:#5cdae6}.typex-stat-icon.amber{background:#644617;color:#ffc35c}.typex-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.typex-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.typex-stats em{font-style:normal;color:#6f8eb5;font-size:8px}.typex-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}.typex-toolbar{display:grid;grid-template-columns:minmax(330px,1fr) 165px 145px 40px 38px;gap:8px;align-items:end}.typex-search{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.typex-search>span{display:grid;place-items:center;color:#58b9f2}.typex-search svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.typex-search input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.typex-search small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}.typex-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.typex-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}.typex-search-btn,.typex-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.typex-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.typex-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.typex-reset{background:#233e62;color:#c7ddf7;text-decoration:none;font-size:19px}.typex-path-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.typex-path-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.typex-path-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.typex-path-guide .final small{opacity:.75}.typex-path-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}.typex-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.typex-result-note b{color:#d8eaff}.typex-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}.typex-footer-paged{align-items:center}.typex-footer-paged .kpi-num-pager-wrap{margin-left:auto;flex:0 0 auto}.typex-footer-paged .kpi-num-pager{display:flex;align-items:center;gap:6px}.typex-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.typex-table{width:100%;min-width:930px;border-collapse:collapse}.typex-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.typex-table td{padding:6px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.typex-row{height:45px}.typex-row:nth-child(even){background:rgba(255,255,255,.012)}.typex-row:hover{background:rgba(54,127,213,.08)}.typex-row.is-inactive{opacity:.58}.typex-node{display:flex;align-items:center;gap:7px;padding-left:calc(min(var(--depth),10) * 17px);min-width:390px;position:relative}.typex-toggle,.typex-leaf{width:25px;height:25px;flex:0 0 25px}.typex-toggle{border:1px solid #3372ae;border-radius:7px;background:#0e2a4c;color:#78bfff;display:grid;place-items:center;cursor:pointer;transition:.16s}.typex-toggle:hover{background:#174273}.typex-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;transition:.16s transform}.typex-row.is-open>.typex-node .typex-toggle svg,.typex-row.is-open .typex-toggle svg{transform:rotate(90deg)}.typex-toggle.loading{opacity:.45;pointer-events:none;animation:typexPulse .65s infinite alternate}@keyframes typexPulse{to{transform:scale(.9)}}.typex-dot{width:8px;height:8px;border-radius:50%;background:#7f9fc5;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.typex-dot.l1{background:#4da9ff}.typex-dot.l2{background:#43d2d5}.typex-dot.l3{background:#a48bff}.typex-dot.l4{background:#4ee194}.typex-node-copy{min-width:0}.typex-node-copy strong{display:block;max-width:520px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.typex-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.typex-level{display:inline-flex;min-width:62px;justify-content:center;padding:5px 7px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.5px;font-weight:950;text-transform:uppercase}.typex-level.l2{background:#153e48;border-color:#2c7275;color:#81e3e7}.typex-level.l3{background:#352e52;border-color:#635893;color:#d2c5ff}.typex-level.l4{background:#164335;border-color:#2b7d5d;color:#83edb2}.typex-life{font-size:9px;color:#cfe4ff}.typex-muted{color:#506d91}.typex-status{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;font-size:7.5px;font-weight:950}.typex-status i{width:5px;height:5px;border-radius:50%}.typex-status.on{background:#124c39;color:#68eaa6}.typex-status.on i{background:#42eb96}.typex-status.off{background:#4d2935;color:#ff9bb0}.typex-status.off i{background:#ff647d}.typex-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.typex-use span{font-size:8px}.typex-use span b{color:#d8eaff}.typex-use em{font-style:normal;padding:3px 6px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}.typex-actions{display:flex;gap:5px}.typex-actions button{width:29px;height:29px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.typex-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.typex-actions .edit{background:#47a8f7;color:#06233b}.typex-actions .delete{background:#ff6874;color:#3a0710}.typex-more td{text-align:center!important;padding:8px!important;background:#0c1a2e}.typex-more button{border:1px dashed #3c6f9e;border-radius:9px;background:#102947;color:#83bff0;padding:7px 16px;font-size:8px;font-weight:900;cursor:pointer}.typex-empty td{text-align:center!important;padding:42px!important;color:#7d9dc4}.typex-empty b,.typex-empty span{display:block}.typex-footer{display:flex;justify-content:space-between;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.typex-footer span:first-child{display:flex;align-items:center;gap:6px}.typex-footer i{width:6px;height:6px;border-radius:50%;background:#38dc8d}.typex-dialog{width:min(860px,94vw);max-height:92vh;border:1px solid #365d89;border-radius:16px;background:#172b4c;color:#fff;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.58);overflow:visible}.typex-dialog::backdrop{background:rgba(0,7,20,.78);backdrop-filter:blur(3px)}.typex-dialog-card{margin:0}.typex-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 20px 13px;border-bottom:1px solid rgba(91,148,211,.18);background:linear-gradient(135deg,#203a63,#193257);border-radius:16px 16px 0 0}.typex-dialog-head small{font-size:8px;font-weight:950;letter-spacing:1.5px;color:#59adff}.typex-dialog-head h2{font-size:20px;margin:3px 0}.typex-dialog-head p{font-size:9px;color:#8eacd0;margin:0}.typex-dialog-head>button{border:0;background:transparent;color:#9ac8fa;font-size:24px;cursor:pointer}.typex-form-grid,.typex-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:15px 20px}.typex-form-grid label.wide,.typex-advanced-grid label.wide{grid-column:1/-1}.typex-form-grid label>span,.typex-advanced-grid label>span{display:block;margin:0 0 5px 2px;color:#d7e8fb;font-size:9px;font-weight:900}.typex-form-grid input,.typex-form-grid select,.typex-advanced-grid input{width:100%;height:39px;box-sizing:border-box;border:1px solid #3a608a;border-radius:9px;background:#0a192d;color:#fff;padding:0 10px;font-size:10px}.typex-form-grid label>small{display:block;margin:3px 2px;color:#6f8eaf;font-size:7.5px}.typex-parent-field.disabled{opacity:.5}.typex-parent-picker{position:relative;display:grid;grid-template-columns:1fr 34px}.typex-parent-picker>input{border-radius:9px 0 0 9px!important}.typex-parent-picker>button{border:1px solid #3a608a;border-left:0;border-radius:0 9px 9px 0;background:#142e51;color:#8db6df;cursor:pointer}.typex-parent-results{position:absolute;z-index:50;top:43px;left:0;right:0;max-height:230px;overflow:auto;border:1px solid #3a628e;border-radius:10px;background:#0b1a2e;box-shadow:0 15px 35px rgba(0,0,0,.42)}.typex-parent-results button{width:100%;border:0;border-bottom:1px solid rgba(90,137,190,.14);background:transparent;color:#fff;text-align:left;padding:8px 10px;cursor:pointer}.typex-parent-results button:hover{background:#173a63}.typex-parent-results b,.typex-parent-results small{display:block}.typex-parent-results b{font-size:9px}.typex-parent-results small{font-size:7px;color:#7698bd;margin-top:2px}.typex-no-parent{padding:14px;text-align:center;color:#6f8faf;font-size:8px}.typex-advanced{margin:0 20px;border:1px solid rgba(82,139,203,.22);border-radius:11px;background:rgba(7,22,42,.35)}.typex-advanced summary{padding:10px 12px;cursor:pointer;color:#a3cbf3;font-size:9px;font-weight:900}.typex-advanced summary span{margin-left:5px;color:#6889ad;font-size:7px}.typex-advanced-grid{padding-top:6px}.typex-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px 17px}.typex-save,.typex-danger{height:39px;border:0;border-radius:10px;padding:0 17px;font-weight:950;font-size:10px;display:flex;align-items:center;gap:7px;cursor:pointer}.typex-save{background:#2bd479;color:#052818}.typex-save svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.typex-danger{background:#ff6873;color:#37080f}.typex-delete-dialog{width:min(530px,92vw);text-align:center}.typex-delete-dialog .typex-dialog-card{padding:19px}.typex-delete-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:#4b2934;color:#ff7385}.typex-delete-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}.typex-delete-dialog h2{margin:0 0 4px;font-size:19px}.typex-delete-dialog p{margin:0 0 10px;font-size:10px;font-weight:900}.typex-delete-warning{text-align:left;padding:10px;border:1px solid #31577f;border-radius:9px;background:#0f233e;color:#88a9cf;font-size:8.5px;line-height:1.45}
@media(max-width:1200px){.typex-stats{grid-template-columns:repeat(3,1fr)}.typex-toolbar{grid-template-columns:minmax(260px,1fr) 150px 135px 40px 38px}.typex-table-shell{max-height:none}}
@media(max-width:760px){.typex-hero{align-items:flex-start;flex-direction:column}.typex-hero-actions{width:100%;justify-content:space-between}.typex-stats{grid-template-columns:repeat(2,1fr)}.typex-toolbar{grid-template-columns:1fr 1fr}.typex-search{grid-column:1/-1}.typex-search-btn,.typex-reset{width:100%}.typex-path-guide{overflow:auto}.typex-form-grid,.typex-advanced-grid{grid-template-columns:1fr}.typex-form-grid label.wide,.typex-advanced-grid label.wide{grid-column:auto}.typex-footer{flex-direction:column}.typex-node{padding-left:calc(min(var(--depth),10) * 10px)}}


/* =========================================================
   COLORES PRO KPI · catálogo compacto, rápido y visual
   ========================================================= */
.colors-pro{padding:0 8px 18px;color:#f8fbff}.colors-pro-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid #234b78;border-radius:15px;background:linear-gradient(135deg,#112b51 0%,#0d2445 100%);box-shadow:0 10px 26px #001d3d2e}.colors-title-copy{display:flex;align-items:center;gap:14px}.colors-title-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:27px;background:linear-gradient(135deg,#47b7ff,#7467ff);box-shadow:0 8px 20px #299cff36}.colors-title-copy .eyebrow{font-size:10px;letter-spacing:.16em;color:#59baff;font-weight:900}.colors-title-copy h1{margin:2px 0 2px;font-size:24px;line-height:1}.colors-title-copy p{margin:0;color:#9fb8d8;font-size:12px}.colors-new-btn{border:0;border-radius:13px;background:#42df88;color:#042c1a;height:42px;padding:0 18px;display:flex;align-items:center;gap:8px;font-weight:900;cursor:pointer;box-shadow:0 9px 22px #26c87926}.colors-new-btn svg{width:17px;height:17px}.colors-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.colors-kpis>div{position:relative;min-height:83px;padding:13px 14px 12px 58px;border:1px solid #244a76;border-radius:14px;background:linear-gradient(145deg,#122f59,#10294c)}.colors-kpis small{display:block;color:#75b8ff;letter-spacing:.12em;font-size:9px;font-weight:900}.colors-kpis strong{display:block;font-size:22px;line-height:1.2;margin:3px 0;color:#fff}.colors-kpis em{font-style:normal;font-size:10px;color:#8facce}.colors-kpi-icon{position:absolute;left:13px;top:16px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:17px}.colors-kpi-icon.total{background:#174c83;color:#66c3ff}.colors-kpi-icon.active{background:#145f49;color:#59efa9}.colors-kpi-icon.inactive{background:#5c3040;color:#ff8798}.colors-kpi-icon.used{background:#493b78;color:#c2a8ff}.colors-card{overflow:hidden;border:1px solid #254b77;border-radius:15px;background:#112a4e}.colors-toolbar{min-height:52px;display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid #27486e}.colors-pagination-top{display:flex;gap:8px}.colors-page-btn{width:39px;height:35px;border:1px solid #285382;border-radius:9px;display:grid;place-items:center;color:#8fcaff;background:#173c68;text-decoration:none}.colors-page-btn.next{background:#34b9f1;color:#072a42}.colors-page-btn.is-disabled{opacity:.35;pointer-events:none}.colors-showing{font-size:11px;color:#a9c2df}.colors-filter-grid{display:grid;grid-template-columns:110px 150px minmax(260px,1fr) 160px auto;gap:8px;padding:10px 14px;border-bottom:1px solid #294a71;align-items:end}.colors-filter-grid label>span{display:block;margin:0 0 4px;font-size:10px;font-weight:800;color:#c8d9ec}.colors-filter-grid input,.colors-filter-grid select{width:100%;height:35px;border:1px solid #355b84;border-radius:8px;background:#091a31;color:#eff7ff;padding:0 10px;outline:none}.colors-filter-grid input:focus,.colors-filter-grid select:focus{border-color:#42baff;box-shadow:0 0 0 2px #42baff1f}.colors-filter-actions{display:flex;align-items:center;gap:7px;min-height:35px}.colors-filter-actions>span{font-size:9px;color:#7993b2;white-space:nowrap}.colors-filter-actions button,.colors-filter-actions a{width:35px;height:35px;border:1px solid #2d5c89;border-radius:9px;display:grid;place-items:center;background:#12375f;color:#88cfff;text-decoration:none;cursor:pointer}.colors-filter-actions button{background:#31baf3;color:#082a40}.colors-table-wrap{max-height:56vh;overflow:auto}.colors-table{width:100%;border-collapse:separate;border-spacing:0}.colors-table th{position:sticky;top:0;z-index:2;background:#1b3964;color:#e8f2ff;text-align:left;font-size:11px;padding:10px;border-bottom:1px solid #3a5a7f}.colors-table td{padding:9px 10px;border-bottom:1px solid #2b4669;font-size:11px;color:#f5f9ff;vertical-align:middle}.colors-table tbody tr:nth-child(even){background:#102640}.colors-table tbody tr:hover{background:#17395f}.colors-table th:first-child,.colors-table td:first-child{width:64px;text-align:center}.colors-table th:nth-child(2),.colors-table td:nth-child(2){width:90px}.colors-table th:nth-child(3),.colors-table td:nth-child(3){width:120px}.colors-table th:nth-child(5),.colors-table td:nth-child(5){width:110px}.colors-table th:nth-child(6),.colors-table td:nth-child(6){width:140px}.colors-table th:last-child,.colors-table td:last-child{width:115px}.colors-swatch{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:3px solid #ffffff24;box-shadow:0 0 0 1px #6fa9df55,0 5px 15px #0004}.colors-swatch i{width:7px;height:7px;border-radius:50%;background:#ffffffb3;box-shadow:0 0 8px #fff}.colors-type-pill,.colors-code{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:8px;background:#183c66;border:1px solid #2c5b8d;color:#a9d5ff;font-weight:800}.colors-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#e5effb;background:#0b203a}.colors-name-cell strong{display:block;font-size:12px}.colors-name-cell small{display:block;margin-top:2px;font-size:9px;color:#6f8aaa}.colors-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.colors-status i{width:6px;height:6px;border-radius:50%}.colors-status.is-active{background:#0e5b43;color:#62f0ad}.colors-status.is-active i{background:#45ee9b}.colors-status.is-inactive{background:#5a2838;color:#ff91a0}.colors-status.is-inactive i{background:#ff667c}.colors-usage{display:inline-flex;gap:4px;align-items:center;padding:5px 8px;border:1px solid #285887;border-radius:999px;background:#173e69;color:#a7d6ff;font-size:9px}.colors-unused{color:#66809e;font-size:10px}.colors-actions{display:flex;gap:7px;justify-content:flex-start}.colors-action{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}.colors-action.edit{background:#48aefb;color:#062744}.colors-action.delete{background:#ff6573;color:#4b0610}.colors-action svg{width:15px;height:15px}.colors-empty{text-align:center!important;padding:44px!important;color:#8ba8c8!important}.colors-empty b,.colors-empty span{display:block}.colors-footer{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:8px 14px;color:#8ba7c8;font-size:10px}.colors-footer div{display:flex;gap:12px}.colors-footer a{color:#67c4ff;text-decoration:none;font-weight:800}.colors-dialog{border:0;padding:0;background:transparent;width:min(720px,94vw);max-width:94vw;color:#fff}.colors-dialog::backdrop{background:#020b18c9;backdrop-filter:blur(3px)}.colors-dialog-card{background:#142c50;border:1px solid #345980;border-radius:17px;box-shadow:0 24px 70px #0009;overflow:hidden}.colors-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #2a4d75;background:#18365f}.colors-dialog-head small{color:#62baff;font-size:9px;letter-spacing:.14em;font-weight:900}.colors-dialog-head h2{margin:3px 0 0;font-size:21px}.colors-dialog-head>button{border:0;background:transparent;color:#a8caec;font-size:27px;cursor:pointer}.colors-form-preview{display:flex;align-items:center;gap:12px;margin:16px 20px 0;padding:10px 12px;border:1px solid #2c527c;border-radius:13px;background:#0c2340}.colors-form-preview>span{width:42px;height:42px;border-radius:50%;background:#2f80ed;border:3px solid #fff2;box-shadow:0 4px 14px #0005}.colors-form-preview small{display:block;color:#7697bb;font-size:8px;font-weight:900;letter-spacing:.14em}.colors-form-preview strong{display:block;margin-top:2px}.colors-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px 20px}.colors-form-grid label.wide{grid-column:1/-1}.colors-form-grid label>span{display:block;margin-bottom:5px;font-size:11px;font-weight:800}.colors-form-grid input,.colors-form-grid select{width:100%;height:42px;border:1px solid #3a5c82;border-radius:9px;background:#091a31;color:#fff;padding:0 11px}.colors-form-grid label small{display:block;color:#7895b7;font-size:9px;margin-top:4px}.colors-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid #29496f}.colors-save-btn,.colors-danger-btn{border:0;border-radius:11px;height:42px;padding:0 18px;display:flex;align-items:center;gap:8px;font-weight:900;cursor:pointer}.colors-save-btn{background:#35d67d;color:#032d19}.colors-danger-btn{background:#ff6675;color:#420811}.colors-delete-dialog{width:min(520px,94vw)}.colors-delete-dialog .colors-dialog-card{padding:24px;text-align:center}.colors-delete-icon{width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#5b2938;color:#ff7080}.colors-delete-icon svg{width:23px}.colors-delete-dialog h2{margin:4px 0 6px}.colors-delete-dialog p{font-weight:900;font-size:15px}.colors-delete-warning{margin:14px 0 2px;padding:12px;border:1px solid #3d5777;border-radius:11px;background:#0c213d;color:#afc4de;font-size:11px;line-height:1.5;text-align:left}.colors-delete-dialog .colors-dialog-actions{padding:16px 0 0;border:0}
@media(max-width:1100px){.colors-kpis{grid-template-columns:repeat(2,1fr)}.colors-filter-grid{grid-template-columns:1fr 1fr}.colors-name-filter{grid-column:1/-1}.colors-filter-actions{grid-column:1/-1;justify-content:flex-end}.colors-table{min-width:900px}}
@media(max-width:650px){.colors-pro-head{align-items:flex-start}.colors-title-copy p{display:none}.colors-kpis{grid-template-columns:1fr 1fr}.colors-kpis>div{padding-left:50px}.colors-filter-grid{grid-template-columns:1fr}.colors-name-filter,.colors-filter-actions{grid-column:auto}.colors-form-grid{grid-template-columns:1fr}.colors-form-grid label.wide{grid-column:auto}}

/* KPI · Colores sin vista previa automática.
   El catálogo histórico no almacena un HEX/RGB confiable por registro,
   por eso se elimina la muestra visual para evitar representar colores incorrectos. */
.colors-table th:first-child,.colors-table td:first-child{width:90px;text-align:left}
.colors-table th:nth-child(2),.colors-table td:nth-child(2){width:120px}
.colors-table th:nth-child(4),.colors-table td:nth-child(4){width:110px}
.colors-table th:nth-child(5),.colors-table td:nth-child(5){width:140px}
.colors-table th:last-child,.colors-table td:last-child{width:115px}
.colors-form-grid{padding-top:18px}


/* ========================================================================== 
   CATEGORÍAS · DISEÑO UNIFICADO KPI (basado en Materiales)
   ========================================================================== */
.catalog-material-theme{display:flex!important;flex-direction:column!important;gap:12px!important;padding-bottom:20px!important;color:#f7fbff}
.catalog-material-theme :is(.kcp-hero,.brands-head,.maint-head,.cons6-head,.proc-head,.loc-head,.area-head,.typex-hero){min-height:64px!important;padding:12px 16px!important;margin:0!important;border:1px solid #1d507f!important;border-radius:14px!important;background:linear-gradient(135deg,#102d59,#0a2347)!important;box-shadow:0 9px 22px rgba(0,0,0,.12)!important}
.catalog-material-theme :is(.kcp-title,.brands-title,.maint-title,.cons6-title,.proc-title,.loc-title,.area-title){gap:12px!important}
.catalog-material-theme :is(.kcp-title-icon,.brands-icon,.maint-logo,.cons6-logo,.proc-logo,.loc-logo,.area-logo){width:38px!important;height:38px!important;border-radius:11px!important;font-size:14px!important;box-shadow:none!important}
.catalog-material-theme :is(.kcp-title small,.brands-title small,.maint-title small,.cons6-title small,.proc-title small,.loc-title small,.area-title small,.typex-overline){font-size:8px!important;letter-spacing:.14em!important;color:#58adfb!important}
.catalog-material-theme :is(.kcp-title h1,.brands-title h1,.maint-title h1,.cons6-title h1,.proc-title h1,.loc-title h1,.area-title h1,.typex-hero-copy h1){margin:1px 0!important;font-size:20px!important;line-height:1.1!important;color:#fff!important}
.catalog-material-theme :is(.kcp-title p,.brands-title p,.maint-title p,.cons6-title p,.proc-title p,.loc-title p,.area-title p,.typex-hero-copy p){margin:0!important;font-size:9.5px!important;color:#89a7c7!important}
.catalog-material-theme :is(.kcp-new,.brands-new,.maint-new,.proc-new,.loc-new,.area-new,.typex-new){height:40px!important;padding:0 18px!important;border:1px solid #4ce59a!important;border-radius:999px!important;background:linear-gradient(135deg,#43df8c,#31cf7e)!important;color:#052418!important;font-size:11px!important;font-weight:900!important;box-shadow:0 8px 18px rgba(35,204,119,.16)!important}
.catalog-material-theme :is(.kcp-kpis,.brands-kpis,.maint-kpis,.cons6-kpis,.proc-kpis,.loc-kpis,.area-kpis,.typex-stats){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
.catalog-material-theme :is(.kcp-kpis>article,.brands-kpi,.maint-kpi,.cons6-kpi,.proc-kpi,.loc-kpi,.area-kpi,.typex-stats>article){min-height:64px!important;padding:10px 13px!important;border:1px solid #1e4f7e!important;border-radius:12px!important;background:linear-gradient(145deg,#0c2e58,#0a274b)!important}
.catalog-material-theme :is(.kcp-kpis span,.brands-kpi small,.maint-kpi small,.cons6-kpi small,.proc-kpi small,.loc-kpi small,.area-kpi small,.typex-stats small){font-size:7.5px!important;letter-spacing:.12em!important;color:#69aaf0!important}
.catalog-material-theme :is(.kcp-kpis b,.brands-kpi b,.maint-kpi b,.cons6-kpi b,.proc-kpi b,.loc-kpi b,.area-kpi b,.typex-stats strong){font-size:18px!important;line-height:1!important;margin-top:4px!important;color:#fff!important}
.catalog-material-theme :is(.kcp-card,.brands-panel,.maint-panel,.cons6-panel,.proc-panel,.loc-panel,.area-panel,.typex-panel){overflow:hidden!important;border:1px solid #1d4c79!important;border-radius:14px!important;background:#0b2549!important}
.catalog-material-theme :is(.kcp-toolbar,.brands-toolbar,.maint-toolbar,.cons6-toolbar,.proc-toolbar,.loc-toolbar,.area-toolbar,.typex-toolbar){padding:9px 12px!important;border-bottom:1px solid #1c4771!important;background:#0b2548!important}
.catalog-material-theme :is(.brands-filter-row input,.brands-filter-row select,.maint-toolbar input,.maint-toolbar select,.cons6-toolbar input,.proc-toolbar input,.proc-toolbar select,.loc-toolbar input,.loc-toolbar select,.area-toolbar input,.area-toolbar select,.typex-toolbar input,.typex-toolbar select,.kcp-filters input,.kcp-filters select){height:34px!important;border-radius:7px!important;border:1px solid #315271!important;background:#07192f!important;color:#fff!important;font-size:9.5px!important;padding:0 10px!important}
.catalog-material-theme :is(.kcp-filters,.brands-filter-row,.maint-toolbar,.cons6-toolbar,.proc-toolbar,.loc-toolbar,.area-toolbar,.typex-toolbar){gap:7px!important}
.catalog-material-theme :is(.brands-live,.maint-speed,.cons6-speed,.proc-speed,.loc-speed,.area-speed,.kcp-instant,.typex-speed){height:34px!important;font-size:8px!important}
.catalog-material-theme :is(.kcp-table,.brands-table,.maint-table,.cons6-table,.proc-table,.loc-table,.area-table,.typex-table){font-size:9.8px!important}
.catalog-material-theme :is(.kcp-table th,.brands-table th,.maint-table th,.cons6-table th,.proc-table th,.loc-table th,.area-table th,.typex-table th){height:38px!important;padding:0 12px!important;background:#142f58!important;color:#f5f9ff!important;font-size:9.5px!important;border-bottom:1px solid #35577a!important}
.catalog-material-theme :is(.kcp-table td,.brands-table td,.maint-table td,.cons6-table td,.proc-table td,.loc-table td,.area-table td,.typex-table td){height:49px!important;padding:7px 12px!important;border-bottom:1px solid #294767!important;color:#e7f1fb!important;font-size:9.8px!important;vertical-align:middle!important}
.catalog-material-theme :is(.kcp-table tbody tr:nth-child(odd) td,.brands-table tbody tr:nth-child(odd) td,.maint-table tbody tr:nth-child(odd) td,.cons6-table tbody tr:nth-child(odd) td,.proc-table tbody tr:nth-child(odd) td,.loc-table tbody tr:nth-child(odd) td,.area-table tbody tr:nth-child(odd) td,.typex-table tbody tr:nth-child(odd) td){background:#132d55!important}
.catalog-material-theme :is(.kcp-table tbody tr:nth-child(even) td,.brands-table tbody tr:nth-child(even) td,.maint-table tbody tr:nth-child(even) td,.cons6-table tbody tr:nth-child(even) td,.proc-table tbody tr:nth-child(even) td,.loc-table tbody tr:nth-child(even) td,.area-table tbody tr:nth-child(even) td,.typex-table tbody tr:nth-child(even) td){background:#101f34!important}
.catalog-material-theme :is(.kcp-actions button,.brand-act,.maint-act,.proc-act,.loc-act,.area-act,.typex-actions button){width:31px!important;height:31px!important}
.catalog-material-theme :is(.kcp-footer,.brands-footer,.maint-foot,.cons6-foot,.proc-foot,.loc-foot,.area-foot,.typex-footer){min-height:40px!important;padding:7px 12px!important;border-top:1px solid #1c4771!important;background:#0a213f!important;color:#7e9dbd!important;font-size:8.5px!important}
.catalog-alpha{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:4px!important;margin:0!important;padding:7px 12px!important;border-bottom:1px solid #1c4771!important;background:#0b2548!important}
.catalog-alpha-btn{min-width:27px!important;height:25px!important;padding:0 7px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #285780!important;border-radius:7px!important;background:#0d2d50!important;color:#9ccaf1!important;text-decoration:none!important;font-size:8.5px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;transition:.12s ease!important}
.catalog-alpha-btn:hover,.catalog-alpha-btn.is-active,.catalog-alpha-btn.active{border-color:#49b8ff!important;background:#1976d2!important;color:#fff!important;box-shadow:0 0 0 2px rgba(73,184,255,.08)!important;transform:translateY(-1px)}
.brands-letters.catalog-alpha{margin-top:8px!important;padding:7px 0 0!important;border:0!important;background:transparent!important}
.catalog-material-theme :is(.cons6-scale,.cons6-note,.proc-info,.loc-info,.area-link,.typex-path-guide,.typex-result-note){margin:0!important;border-radius:10px!important;font-size:9px!important}
.catalog-material-theme .typex-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:1000px){.catalog-material-theme :is(.kcp-kpis,.brands-kpis,.maint-kpis,.cons6-kpis,.proc-kpis,.loc-kpis,.area-kpis,.typex-stats){grid-template-columns:1fr 1fr!important}}
@media(max-width:650px){.catalog-material-theme :is(.kcp-kpis,.brands-kpis,.maint-kpis,.cons6-kpis,.proc-kpis,.loc-kpis,.area-kpis,.typex-stats){grid-template-columns:1fr!important}.catalog-alpha{overflow-x:auto!important;flex-wrap:nowrap!important}.catalog-alpha-btn{flex:0 0 auto!important}}

/* =========================================================
   KPI 2026 · DISEÑO ÚNICO PARA TODAS LAS SUBCATEGORÍAS
   Referencia: buscador + estado + A-Z/Ñ/# + 40 por página
   ========================================================= */
.catalog-material-theme{--cat-bg:#0c294d;--cat-deep:#071c35;--cat-line:#275a88;--cat-blue:#1fa7f2;--cat-text:#f5fbff;--cat-muted:#8fb4d9}
.catalog-material-theme :is(.brands-panel,.materials-card,.colors-card,.typex-panel,.maint-panel,.cons6-panel,.proc-panel,.loc-panel,.area-panel){border:1px solid var(--cat-line)!important;border-radius:17px!important;background:#0e2b50!important;box-shadow:0 10px 28px rgba(0,0,0,.12)!important}
.catalog-material-theme :is(.brands-toolbar,.materials-filter-grid,.colors-filter-grid,.typex-toolbar,.maint-toolbar,.cons6-toolbar,.proc-toolbar,.loc-toolbar,.area-toolbar){min-height:68px!important;padding:12px!important;background:#0e2b50!important;border-bottom:0!important;align-items:end!important}
.catalog-material-theme :is(.brands-filter-row input,.brands-filter-row select,.materials-filter-grid input,.materials-filter-grid select,.colors-filter-grid input,.colors-filter-grid select,.typex-toolbar input,.typex-toolbar select,.maint-toolbar input,.maint-toolbar select,.cons6-toolbar input,.cons6-toolbar select,.proc-toolbar input,.proc-toolbar select,.loc-toolbar input,.loc-toolbar select,.area-toolbar input,.area-toolbar select){height:42px!important;border:1px solid #2f6698!important;border-radius:11px!important;background:#071c35!important;color:#fff!important;font-size:11px!important;padding:0 13px!important;outline:none!important}
.catalog-material-theme :is(.brands-filter-row label span,.materials-filter-grid label span,.colors-filter-grid label span,.maint-toolbar label span,.cons6-toolbar label span,.proc-toolbar label span,.loc-toolbar label span,.area-toolbar label span,.typex-select small){display:block!important;margin:0 0 5px!important;color:#a9c5e1!important;font-size:9px!important;font-weight:900!important}
.catalog-material-theme :is(.brands-live,.materials-search-state,.colors-instant-badge,.maint-speed,.cons6-speed,.proc-speed,.loc-speed,.area-speed,.typex-speed){font-size:9px!important;color:#72bdf5!important}
.catalog-material-theme .catalog-alpha{gap:5px!important;padding:9px 12px!important;border-top:1px solid #214c76!important;border-bottom:1px solid #214c76!important;background:#0d294d!important}
.catalog-material-theme .catalog-alpha-btn{min-width:29px!important;height:28px!important;padding:0 8px!important;border:1px solid #2a5c89!important;border-radius:8px!important;background:#0a2342!important;color:#b9d8f4!important;font-size:9px!important;font-weight:900!important}
.catalog-material-theme .catalog-alpha-btn:first-child{min-width:53px!important}
.catalog-material-theme .catalog-alpha-btn:is(:hover,.active,.is-active){background:linear-gradient(135deg,#168cde,#1fa7f2)!important;border-color:#43bcff!important;color:#fff!important}
.catalog-material-theme :is(.brands-meta,.materials-card-toolbar,.colors-toolbar,.colors-meta,.area-meta,.typex-result-note){min-height:36px!important;padding:8px 12px!important;background:#0b2749!important;color:#8fb4d9!important;font-size:9px!important;border-bottom:1px solid #214c76!important}
.catalog-material-theme :is(.brands-footer,.materials-footer,.colors-footer,.typex-footer,.maint-foot,.cons6-foot,.proc-foot,.loc-foot,.area-foot){min-height:48px!important;padding:7px 12px!important;background:#0b2749!important;border-top:1px solid #214c76!important}
.catalog-material-theme .kpi-num-pager-wrap{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important}
.catalog-material-theme .kpi-num-pager{margin-left:auto!important}
.catalog-material-theme .kpi-num-page{min-width:36px!important;height:36px!important;border-radius:10px!important;background:#0a2748!important;border-color:#2d6292!important;color:#cbe6ff!important;font-size:11px!important}
.catalog-material-theme .kpi-num-page.is-active{background:linear-gradient(135deg,#28b8f4,#3997f2)!important;color:#061d31!important}
.catalog-material-theme .kpi-num-caption{font-size:9px!important;color:#9bc1e5!important}
@media(max-width:800px){.catalog-material-theme .catalog-alpha{overflow-x:auto!important;flex-wrap:nowrap!important}.catalog-material-theme .catalog-alpha-btn{flex:0 0 auto!important}}

/* Ajuste final · Clases y tipos · nota inferior junto a paginación */
.typex-footer.typex-footer-paged{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}
.typex-footer.typex-footer-paged .typex-foot-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.typex-footer.typex-footer-paged .typex-foot-copy{
  display:block;
  min-width:0;
  color:#7f9fc6;
  font-size:8px;
  line-height:1.45;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.typex-footer.typex-footer-paged .typex-foot-note i{
  flex:0 0 6px;
  margin-top:3px;
}
.typex-footer.typex-footer-paged .kpi-num-pager-wrap{
  margin-left:0;
  flex:0 0 auto;
}
@media (max-width: 960px){
  .typex-footer.typex-footer-paged{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
}


/* Materiales · versión visual mejorada estilo catálogo principal */
.materials-filter-grid-pretty{display:flex!important;flex-direction:column!important;gap:10px!important;padding:12px!important;background:#0e2b50!important;border-bottom:0!important}
.materials-filter-mainrow{display:grid!important;grid-template-columns:minmax(420px,1fr) 180px auto!important;gap:8px!important;align-items:end!important}
.materials-filter-subrow{display:grid!important;grid-template-columns:150px 180px minmax(280px,1fr)!important;gap:8px!important;align-items:end!important}
.materials-search-hero{display:flex!important;flex-direction:column!important;gap:5px!important}
.materials-search-shell{height:42px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;border:1px solid #2f6698;border-radius:11px;background:#071c35;overflow:hidden}
.materials-search-icon{display:grid;place-items:center;color:#58b9f2}.materials-search-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}
.materials-search-shell input{height:40px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0 4px 0 0!important;font-size:11px!important;box-shadow:none!important}
.materials-search-shell small{padding:0 10px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.materials-filter-actions-main{display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;gap:7px!important;height:auto!important}
.materials-filter-actions-main .materials-search-btn,.materials-filter-actions-main .materials-clear-btn{width:42px!important;height:42px!important;border-radius:12px!important;border:1px solid #42b7ef!important}
.materials-filter-actions-main .materials-search-btn{background:#38bcec!important;color:#06263a!important}.materials-filter-actions-main .materials-clear-btn{background:#17355b!important;border-color:#2f6698!important;color:#c8def4!important;font-size:20px!important}
.materials-field-status select{height:42px!important;border-radius:11px!important}
.materials-inline-note{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(72,134,206,.15);border-radius:11px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8.2px;line-height:1.45}
.materials-inline-note i{width:8px;height:8px;border-radius:50%;background:#40df97;box-shadow:0 0 0 4px rgba(64,223,151,.09);flex:0 0 8px}
.materials-card-toolbar-meta{min-height:38px!important}
.materials-card-toolbar-meta .materials-showing{font-size:8.7px!important}.materials-card-toolbar-meta .kpi-num-caption{font-size:8.7px!important}
@media(max-width:1050px){.materials-filter-mainrow{grid-template-columns:1fr 170px auto!important}.materials-filter-subrow{grid-template-columns:1fr 1fr!important}.materials-inline-note{grid-column:1/-1}}
@media(max-width:700px){.materials-filter-mainrow,.materials-filter-subrow{grid-template-columns:1fr!important}.materials-search-shell{grid-template-columns:34px 1fr}.materials-search-shell small{display:none}.materials-filter-actions-main{justify-content:flex-start!important}}


/* Materiales · estilo colorido como Clases y tipos */
.materialsx-page{padding:0 0 24px;color:#f5f9ff}
.materialsx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.materialsx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}
.materialsx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}
.materialsx-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.materialsx-hero-actions{display:flex;align-items:center;gap:10px}
.materialsx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.materialsx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.materialsx-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.materialsx-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.materialsx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.materialsx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.materialsx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.materialsx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.materialsx-stat-icon.blue{background:#154d85;color:#64b8ff}.materialsx-stat-icon.green{background:#15533d;color:#54e89c}.materialsx-stat-icon.violet{background:#47336a;color:#c1a5ff}.materialsx-stat-icon.cyan{background:#124a5a;color:#5cdae6}.materialsx-stat-icon.amber{background:#644617;color:#ffc35c}
.materialsx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.materialsx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.materialsx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.materialsx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.materialsx-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) 125px 140px 150px 40px 38px;gap:8px;align-items:end}.materialsx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.materialsx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.materialsx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.materialsx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.materialsx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.materialsx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.materialsx-select input,.materialsx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}
.materialsx-search-btn,.materialsx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.materialsx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.materialsx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.materialsx-reset{background:#233e62;color:#c7ddf7;text-decoration:none;font-size:19px}.materialsx-reset-disabled{opacity:.35;pointer-events:none}
.materialsx-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.materialsx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.materialsx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.materialsx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.materialsx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.materialsx-result-note b{color:#d8eaff}.materialsx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.materialsx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.materialsx-table{width:100%;min-width:980px;border-collapse:collapse}.materialsx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.materialsx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.materialsx-row{height:49px}.materialsx-row:nth-child(even){background:rgba(255,255,255,.012)}.materialsx-row:hover{background:rgba(54,127,213,.08)}.materialsx-row.is-inactive{opacity:.58}
.materialsx-node{display:flex;align-items:center;gap:8px;min-width:340px}.materialsx-dot{width:9px;height:9px;border-radius:50%;background:#4ee194;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.materialsx-node-copy strong{display:block;max-width:470px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.materialsx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.materialsx-type-pill{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.materialsx-code{color:#d8eaff;font-weight:900;letter-spacing:.3px}.materialsx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.materialsx-status i{width:5px;height:5px;border-radius:50%}.materialsx-status.on{background:#124c39;color:#68eaa6}.materialsx-status.on i{background:#42eb96}.materialsx-status.off{background:#4d2935;color:#ff9bb0}.materialsx-status.off i{background:#ff647d}
.materialsx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.materialsx-use span{font-size:8px}.materialsx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}
.materialsx-actions{display:flex;gap:5px}.materialsx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.materialsx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.materialsx-actions .edit{background:#47a8f7;color:#06233b}.materialsx-actions .delete{background:#ff6874;color:#3a0710}
.materialsx-empty td{text-align:center!important;padding:42px!important;color:#7d9dc4}.materialsx-empty b,.materialsx-empty span{display:block}
.materialsx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.materialsx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.materialsx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.materialsx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1120px){.materialsx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.materialsx-toolbar{grid-template-columns:1fr 1fr 1fr}.materialsx-search-wrap{grid-column:1/-1}.materialsx-search-btn,.materialsx-reset{width:42px;height:42px}.materialsx-toolbar>.materialsx-search-btn,.materialsx-toolbar>.materialsx-reset{align-self:end}.materialsx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.materialsx-hero{flex-direction:column;align-items:flex-start}.materialsx-hero-actions{width:100%;justify-content:space-between}.materialsx-stats{grid-template-columns:1fr}.materialsx-toolbar{grid-template-columns:1fr}.materialsx-guide{flex-wrap:wrap}.materialsx-guide>button{width:100%;margin-left:0}.materialsx-footer{grid-template-columns:1fr}.materialsx-table{min-width:760px}}


/* Colores · estilo colorido como Materiales / Clases y tipos */
.colorsx-page{padding:0 0 24px;color:#f5f9ff}
.colorsx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.colorsx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}
.colorsx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.colorsx-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.colorsx-hero-actions{display:flex;align-items:center;gap:10px}.colorsx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.colorsx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.colorsx-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.colorsx-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.colorsx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.colorsx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.colorsx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.colorsx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.colorsx-stat-icon.blue{background:#154d85;color:#64b8ff}.colorsx-stat-icon.green{background:#15533d;color:#54e89c}.colorsx-stat-icon.violet{background:#47336a;color:#c1a5ff}.colorsx-stat-icon.amber{background:#644617;color:#ffc35c}
.colorsx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.colorsx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.colorsx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.colorsx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.colorsx-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) 125px 140px 150px 40px 38px;gap:8px;align-items:end}.colorsx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.colorsx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.colorsx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.colorsx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.colorsx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.colorsx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.colorsx-select input,.colorsx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}
.colorsx-search-btn,.colorsx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.colorsx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.colorsx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.colorsx-reset{background:#233e62;color:#c7ddf7;text-decoration:none;font-size:19px;cursor:pointer}
.colorsx-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.colorsx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.colorsx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.colorsx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.colorsx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.colorsx-result-note b{color:#d8eaff}.colorsx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.colorsx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.colorsx-table{width:100%;min-width:980px;border-collapse:collapse}.colorsx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.colorsx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.colorsx-row{height:49px}.colorsx-row:nth-child(even){background:rgba(255,255,255,.012)}.colorsx-row:hover{background:rgba(54,127,213,.08)}.colorsx-row.is-inactive{opacity:.58}
.colorsx-node{display:flex;align-items:center;gap:8px;min-width:340px}.colorsx-dot{width:9px;height:9px;border-radius:50%;background:#4ec2ff;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.colorsx-node-copy strong{display:block;max-width:470px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.colorsx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.colorsx-type-pill{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.colorsx-code{color:#d8eaff;font-weight:900;letter-spacing:.3px}.colorsx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.colorsx-status i{width:5px;height:5px;border-radius:50%}.colorsx-status.on{background:#124c39;color:#68eaa6}.colorsx-status.on i{background:#42eb96}.colorsx-status.off{background:#4d2935;color:#ff9bb0}.colorsx-status.off i{background:#ff647d}
.colorsx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.colorsx-use span{font-size:8px}.colorsx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}
.colorsx-actions{display:flex;gap:5px}.colorsx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.colorsx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.colorsx-actions .edit{background:#47a8f7;color:#06233b}.colorsx-actions .delete{background:#ff6874;color:#3a0710}
.colorsx-empty td{text-align:center!important;padding:42px!important;color:#7d9dc4}.colorsx-empty b,.colorsx-empty span{display:block}
.colorsx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.colorsx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.colorsx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.colorsx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1120px){.colorsx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.colorsx-toolbar{grid-template-columns:1fr 1fr 1fr}.colorsx-search-wrap{grid-column:1/-1}.colorsx-search-btn,.colorsx-reset{width:42px;height:42px}.colorsx-toolbar>.colorsx-search-btn,.colorsx-toolbar>.colorsx-reset{align-self:end}.colorsx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.colorsx-hero{flex-direction:column;align-items:flex-start}.colorsx-hero-actions{width:100%;justify-content:space-between}.colorsx-stats{grid-template-columns:1fr}.colorsx-toolbar{grid-template-columns:1fr}.colorsx-guide{flex-wrap:wrap}.colorsx-guide>button{width:100%;margin-left:0}.colorsx-footer{grid-template-columns:1fr}.colorsx-table{min-width:760px}}


/* Marcas · estilo colorido como Materiales y Colores */
.brandsx-page{padding:0 0 24px;color:#f5f9ff}
.brandsx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.brandsx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.brandsx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.brandsx-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.brandsx-hero-actions{display:flex;align-items:center;gap:10px}.brandsx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.brandsx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.brandsx-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.brandsx-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.brandsx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.brandsx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.brandsx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.brandsx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.brandsx-stat-icon.blue{background:#154d85;color:#64b8ff}.brandsx-stat-icon.green{background:#15533d;color:#54e89c}.brandsx-stat-icon.violet{background:#47336a;color:#c1a5ff}.brandsx-stat-icon.cyan{background:#124a5a;color:#5cdae6}.brandsx-stat-icon.amber{background:#644617;color:#ffc35c}
.brandsx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.brandsx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.brandsx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.brandsx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.brandsx-toolbar{display:grid;grid-template-columns:minmax(420px,1fr) 170px 40px 38px;gap:8px;align-items:end}.brandsx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.brandsx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.brandsx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.brandsx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.brandsx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.brandsx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.brandsx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}.brandsx-search-btn,.brandsx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.brandsx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.brandsx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.brandsx-reset{background:#233e62;color:#c7ddf7;font-size:19px;cursor:pointer}
.brandsx-letters.catalog-alpha{margin-top:9px!important;padding:9px 0!important;border-top:1px solid rgba(72,134,206,.15)!important;border-bottom:1px solid rgba(72,134,206,.15)!important;background:transparent!important}
.brandsx-guide{margin-top:0;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.brandsx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.brandsx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.brandsx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.brandsx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.brandsx-result-note b{color:#d8eaff}.brandsx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brandsx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.brandsx-table{width:100%;min-width:980px;border-collapse:collapse}.brandsx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.brandsx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.brandsx-row{height:49px}.brandsx-row:nth-child(even){background:rgba(255,255,255,.012)}.brandsx-row:hover{background:rgba(54,127,213,.08)}.brandsx-row.is-inactive{opacity:.58}
.brandsx-node{display:flex;align-items:center;gap:8px;min-width:340px}.brandsx-dot{width:9px;height:9px;border-radius:50%;background:#4ee194;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.brandsx-node-copy strong{display:block;max-width:470px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brandsx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.brandsx-type-pill{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.brandsx-code{color:#d8eaff;font-weight:900;letter-spacing:.3px}.brandsx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.brandsx-status i{width:5px;height:5px;border-radius:50%}.brandsx-status.on{background:#124c39;color:#68eaa6}.brandsx-status.on i{background:#42eb96}.brandsx-status.off{background:#4d2935;color:#ff9bb0}.brandsx-status.off i{background:#ff647d}
.brandsx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.brandsx-use span{font-size:8px}.brandsx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}
.brandsx-actions{display:flex;gap:5px}.brandsx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.brandsx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.brandsx-actions .edit{background:#47a8f7;color:#06233b}.brandsx-actions .delete{background:#ff6874;color:#3a0710}
.brandsx-empty td{text-align:center!important;padding:42px!important;color:#7d9dc4}.brandsx-empty b,.brandsx-empty span{display:block}
.brandsx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.brandsx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.brandsx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.brandsx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1120px){.brandsx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.brandsx-toolbar{grid-template-columns:1fr 170px 40px 38px}.brandsx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.brandsx-hero{flex-direction:column;align-items:flex-start}.brandsx-hero-actions{width:100%;justify-content:space-between}.brandsx-stats{grid-template-columns:1fr}.brandsx-toolbar{grid-template-columns:1fr}.brandsx-guide{flex-wrap:wrap}.brandsx-guide>button{width:100%;margin-left:0}.brandsx-footer{grid-template-columns:1fr}.brandsx-table{min-width:760px}.brandsx-search-wrap{grid-template-columns:34px 1fr}.brandsx-search-wrap small{display:none}}


/* Factor de mantenimiento · estilo colorido como Materiales / Colores / Marcas */
.maintx-page{padding:0 0 24px;color:#f5f9ff}
.maintx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.maintx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.maintx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.maintx-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.maintx-hero-actions{display:flex;align-items:center;gap:10px}.maintx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.maintx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.maintx-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.maintx-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.maintx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.maintx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.maintx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.maintx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.maintx-stat-icon.blue{background:#154d85;color:#64b8ff}.maintx-stat-icon.green{background:#15533d;color:#54e89c}.maintx-stat-icon.violet{background:#47336a;color:#c1a5ff}.maintx-stat-icon.cyan{background:#124a5a;color:#5cdae6}.maintx-stat-icon.amber{background:#644617;color:#ffc35c}
.maintx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.maintx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.maintx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.maintx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.maintx-toolbar{display:grid;grid-template-columns:minmax(430px,1fr) 170px 40px 38px;gap:8px;align-items:end}.maintx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.maintx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.maintx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.maintx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.maintx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.maintx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.maintx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}.maintx-search-btn,.maintx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.maintx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.maintx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.maintx-reset{background:#233e62;color:#c7ddf7;font-size:19px;cursor:pointer}
.maintx-letters.catalog-alpha{margin-top:9px!important;padding:9px 0!important;border-top:1px solid rgba(72,134,206,.15)!important;border-bottom:1px solid rgba(72,134,206,.15)!important;background:transparent!important}
.maintx-guide{display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.maintx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.maintx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.maintx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.maintx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.maintx-result-note b{color:#d8eaff}.maintx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.maintx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.maintx-table{width:100%;min-width:1060px;border-collapse:collapse}.maintx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.maintx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.maintx-row{height:52px}.maintx-row:nth-child(even){background:rgba(255,255,255,.012)}.maintx-row:hover{background:rgba(54,127,213,.08)}.maintx-row.is-inactive{opacity:.58}
.maintx-node{display:flex;align-items:center;gap:8px;min-width:240px}.maintx-dot{width:9px;height:9px;border-radius:50%;background:#4ee194;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.maintx-node-copy strong{display:block;max-width:300px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.maintx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.maintx-type-pill{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.maintx-code{color:#d8eaff;font-weight:900;letter-spacing:.3px}.maintx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.maintx-status i{width:5px;height:5px;border-radius:50%}.maintx-status.on{background:#124c39;color:#68eaa6}.maintx-status.on i{background:#42eb96}.maintx-status.off{background:#4d2935;color:#ff9bb0}.maintx-status.off i{background:#ff647d}
.maintx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.maintx-use span{font-size:8px}.maintx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}
.maintx-range{min-width:270px}.maintx-range-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.maintx-range-top b{font-size:9px;color:#d7e9fb}.maintx-range-top span{color:#85a9d0;font-size:7.5px}.maintx-track{position:relative;height:7px;border-radius:999px;background:#06172b;overflow:hidden;margin-top:6px}.maintx-fill{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#32b8ff,#42df8c)}.maintx-range.none .maintx-track{opacity:.25}.maintx-range.none .maintx-range-top b{color:#8aa8c9;font-weight:700}
.maintx-actions{display:flex;gap:5px}.maintx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.maintx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.maintx-actions .edit{background:#47a8f7;color:#06233b}.maintx-actions .delete{background:#ff6874;color:#3a0710}
.maintx-empty{text-align:center!important;padding:42px!important;color:#7d9dc4}.maintx-empty b,.maintx-empty span{display:block}
.maintx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.maintx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.maintx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.maintx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1120px){.maintx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.maintx-toolbar{grid-template-columns:1fr 170px 40px 38px}.maintx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.maintx-hero{flex-direction:column;align-items:flex-start}.maintx-hero-actions{width:100%;justify-content:space-between}.maintx-stats{grid-template-columns:1fr}.maintx-toolbar{grid-template-columns:1fr}.maintx-search-wrap{grid-template-columns:34px 1fr}.maintx-search-wrap small{display:none}.maintx-guide{flex-wrap:wrap}.maintx-guide>button{width:100%;margin-left:0}.maintx-footer{grid-template-columns:1fr}.maintx-table{min-width:820px}}


/* Conservación del estado · estilo colorido como Materiales / Colores / Marcas / Factor */
.consx-page{padding:0 0 24px;color:#f5f9ff}
.consx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.consx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.consx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.consx-hero p{margin:0;color:#98b5d9;font-size:11px;line-height:1.45}.consx-hero-actions{display:flex;align-items:center;gap:10px}.consx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.consx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}.consx-official{height:38px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #2b755c;border-radius:999px;background:#164435;color:#8cf0bf;font-size:9px;text-transform:uppercase}.consx-official svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.consx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.consx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}.consx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.consx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.consx-stat-icon.blue{background:#154d85;color:#64b8ff}.consx-stat-icon.green{background:#15533d;color:#54e89c}.consx-stat-icon.violet{background:#47336a;color:#c1a5ff}.consx-stat-icon.cyan{background:#124a5a;color:#5cdae6}.consx-stat-icon.amber{background:#644617;color:#ffc35c}.consx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.consx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.consx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.consx-protect{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;border:1px solid rgba(66,219,156,.22);border-radius:12px;background:linear-gradient(90deg,rgba(20,76,57,.72),rgba(13,42,75,.72));color:#d7f6e8}.consx-protect.is-error{border-color:#80465a;background:#3b2232}.consx-protect-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#15533d;color:#62efaa;flex:0 0 28px}.consx-protect-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.consx-protect b{display:block;font-size:9px}.consx-protect small{display:block;margin-top:2px;color:#8fb8ab;font-size:7.8px}.consx-protect.is-error small{color:#e0a8bb}
.consx-scale{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.consx-scale-item{min-width:0;display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #2c527b;border-radius:12px;background:#102d50;color:#fff;text-align:left;cursor:pointer}.consx-scale-item:hover{transform:translateY(-1px);border-color:#4689c5}.consx-scale-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.consx-scale-item.excellent .consx-scale-dot{background:#39e58d}.consx-scale-item.verygood .consx-scale-dot{background:#42d9c8}.consx-scale-item.good .consx-scale-dot{background:#48b8ff}.consx-scale-item.regular .consx-scale-dot{background:#ffc04f}.consx-scale-item.bad .consx-scale-dot{background:#ff8b54}.consx-scale-item.critical .consx-scale-dot{background:#ff6174}.consx-scale-item b{display:block;font-size:8px}.consx-scale-item small{display:block;margin-top:2px;color:#7f9fc4;font-size:7px}
.consx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}.consx-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) 150px 40px 38px;gap:8px;align-items:end}.consx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.consx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.consx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.consx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.consx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}.consx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.consx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}.consx-search-btn,.consx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.consx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.consx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.consx-reset{background:#233e62;color:#c7ddf7;font-size:19px;cursor:pointer}
.consx-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.consx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.consx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.consx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}.consx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.consx-result-note b{color:#d8eaff}.consx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.consx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.consx-table{width:100%;min-width:940px;border-collapse:collapse}.consx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.consx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.consx-row{height:49px}.consx-row:nth-child(even){background:rgba(255,255,255,.012)}.consx-row:hover{background:rgba(54,127,213,.08)}.consx-node{display:flex;align-items:center;gap:8px;min-width:270px}.consx-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.consx-node.excellent .consx-dot{background:#39e58d}.consx-node.verygood .consx-dot{background:#42d9c8}.consx-node.good .consx-dot{background:#48b8ff}.consx-node.regular .consx-dot{background:#ffc04f}.consx-node.bad .consx-dot{background:#ff8b54}.consx-node.critical .consx-dot{background:#ff6174}.consx-node-copy strong{display:block;color:#f4f9ff;font-size:10px}.consx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px}.consx-code{color:#d8eaff;font-weight:900}.consx-level{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950}.consx-level.excellent{border-color:#2d7f59;background:#164335;color:#83edb2}.consx-level.verygood{border-color:#2e7877;background:#143f48;color:#83e7e0}.consx-level.good{border-color:#2d6798;background:#15365e;color:#8bcfff}.consx-level.regular{border-color:#87641d;background:#4a3918;color:#ffd77d}.consx-level.bad{border-color:#8b5433;background:#4e2f20;color:#ffb181}.consx-level.critical{border-color:#8c3e4d;background:#4f2631;color:#ff98a6}.consx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.consx-status i{width:5px;height:5px;border-radius:50%}.consx-status.on{background:#124c39;color:#68eaa6}.consx-status.on i{background:#42eb96}.consx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.consx-use span{font-size:8px}.consx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}.consx-lock{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid #316a55;background:#163a31;color:#77eeb1;font-size:7.5px;text-transform:uppercase}.consx-lock svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2}.consx-empty{text-align:center!important;padding:42px!important;color:#7d9dc4}.consx-empty b,.consx-empty span{display:block}
.consx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.consx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.consx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.consx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1120px){.consx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.consx-scale{grid-template-columns:repeat(3,minmax(0,1fr))}.consx-toolbar{grid-template-columns:1fr 150px 40px 38px}.consx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.consx-hero{flex-direction:column;align-items:flex-start}.consx-hero-actions{width:100%;justify-content:space-between}.consx-stats{grid-template-columns:1fr}.consx-scale{grid-template-columns:1fr 1fr}.consx-toolbar{grid-template-columns:1fr}.consx-guide{flex-wrap:wrap}.consx-guide>button{width:100%;margin-left:0}.consx-footer{grid-template-columns:1fr}.consx-table{min-width:760px}}


/* Conservación · acciones editar / inactivar / eliminar */
.consx-row.is-inactive{opacity:.62}.consx-status.off{background:#4d2935!important;color:#ff9bb0!important}.consx-status.off i{background:#ff647d!important}
.consx-actions{display:flex;align-items:center;gap:6px}.consx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.consx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.consx-actions .edit{background:#47a8f7;color:#06233b}.consx-actions .delete{background:#ff6874;color:#3a0710}
.consx-dialog{width:min(650px,94vw);border:0;padding:0;background:transparent;color:#fff}.consx-dialog::backdrop{background:rgba(1,9,22,.78);backdrop-filter:blur(3px)}.consx-dialog-card{margin:0;border:1px solid #365f8d;border-radius:17px;background:linear-gradient(145deg,#172f54,#0d2340);box-shadow:0 28px 80px rgba(0,0,0,.48);overflow:hidden}.consx-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 20px;border-bottom:1px solid #294d74}.consx-dialog-head small{color:#60bdff;font-size:8px;font-weight:900;letter-spacing:.14em}.consx-dialog-head h2{margin:3px 0 2px;font-size:20px}.consx-dialog-head p{margin:0;color:#86a7ca;font-size:9px}.consx-dialog-head>button{border:0;background:transparent;color:#9bc5ec;font-size:25px;cursor:pointer}.consx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 20px}.consx-form-grid .wide{grid-column:1/-1}.consx-form-grid label span{display:block;margin-bottom:6px;font-size:10px;font-weight:900}.consx-form-grid input,.consx-form-grid select{width:100%;height:42px;box-sizing:border-box;border:1px solid #345f8b;border-radius:10px;background:#071a30;color:#fff;padding:0 12px}.consx-form-grid input[readonly]{opacity:.72;background:#102642}.consx-form-grid small{display:block;margin-top:5px;color:#7d9fc4;font-size:8px}.consx-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px 17px}.consx-save,.consx-danger{height:39px;border:0;border-radius:10px;padding:0 16px;font-weight:900;display:flex;align-items:center;gap:7px;cursor:pointer}.consx-save{background:#39da84;color:#052819}.consx-save svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.consx-danger{background:#ff6874;color:#37080f}.consx-delete-dialog{width:min(520px,92vw);text-align:center}.consx-delete-dialog .consx-dialog-card{padding:20px}.consx-delete-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:#4b2934;color:#ff7385}.consx-delete-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}.consx-delete-dialog h2{margin:0 0 5px}.consx-delete-dialog p{margin:0 0 12px;font-weight:900}.consx-delete-warning{text-align:left;padding:11px;border:1px solid #31577f;border-radius:10px;background:#0f233e;color:#9ab9d9;font-size:9px;line-height:1.45}
@media(max-width:650px){.consx-form-grid{grid-template-columns:1fr}.consx-form-grid .wide{grid-column:auto}}


/* Procesos · estilo colorido como Materiales / Colores / Marcas */
.processx-page{padding:0 0 24px;color:#f5f9ff}
.processx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.processx-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.processx-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.processx-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.processx-hero-actions{display:flex;align-items:center;gap:10px}.processx-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.processx-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.processx-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.processx-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.processx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.processx-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.processx-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.processx-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.processx-stat-icon.blue{background:#154d85;color:#64b8ff}.processx-stat-icon.green{background:#15533d;color:#54e89c}.processx-stat-icon.violet{background:#47336a;color:#c1a5ff}.processx-stat-icon.cyan{background:#124a5a;color:#5cdae6}.processx-stat-icon.amber{background:#644617;color:#ffc35c}
.processx-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.processx-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.processx-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.processx-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.processx-toolbar{display:grid;grid-template-columns:minmax(400px,1fr) 165px 40px 38px;gap:8px;align-items:end}.processx-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.processx-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.processx-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.processx-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.processx-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.processx-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.processx-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}
.processx-search-btn,.processx-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.processx-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.processx-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.processx-reset{background:#233e62;color:#c7ddf7;font-size:19px;cursor:pointer}
.processx-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.processx-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.processx-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.processx-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.processx-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.processx-result-note b{color:#d8eaff}.processx-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.processx-info{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;padding:9px 10px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.3);color:#86a4c9;font-size:8.2px;line-height:1.45}.processx-info b{color:#d9eaff}.processx-info-icon{width:23px;height:23px;flex:0 0 23px;border-radius:8px;display:grid;place-items:center;background:#154d85;color:#64b8ff;font-size:11px;font-weight:950}
.processx-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.processx-table{width:100%;min-width:980px;border-collapse:collapse}.processx-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.processx-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.processx-row{height:49px}.processx-row:nth-child(even){background:rgba(255,255,255,.012)}.processx-row:hover{background:rgba(54,127,213,.08)}.processx-row.is-inactive{opacity:.58}
.processx-node{display:flex;align-items:center;gap:8px;min-width:350px}.processx-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.processx-node-copy strong{display:flex;align-items:center;gap:6px;max-width:500px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.processx-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.processx-official{display:inline-flex;padding:2px 6px;border-radius:999px;border:1px solid #336d9f;background:#123f68;color:#8dd2ff;font-size:7px;font-weight:950;letter-spacing:.04em}
.processx-type-pill{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.processx-code{color:#d8eaff;font-weight:900;letter-spacing:.3px}.processx-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.processx-status i{width:5px;height:5px;border-radius:50%}.processx-status.on{background:#124c39;color:#68eaa6}.processx-status.on i{background:#42eb96}.processx-status.off{background:#4d2935;color:#ff9bb0}.processx-status.off i{background:#ff647d}
.processx-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.processx-use span{font-size:8px}.processx-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}.processx-actions{display:flex;gap:5px}.processx-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.processx-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.processx-actions .edit{background:#47a8f7;color:#06233b}.processx-actions .delete{background:#ff6874;color:#3a0710}
.processx-empty{text-align:center!important;padding:42px!important;color:#7d9dc4}.processx-empty b,.processx-empty span{display:block}.processx-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.processx-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.processx-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.processx-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
.processx-dot.vk-ok{background:#45df8b}.processx-dot.vk-danger{background:#ff6674}.processx-dot.vk-warn{background:#ffb94b}.processx-dot.vk-dark{background:#93a0b3}.processx-dot.vk-pending{background:#ffd45a}.processx-dot.vk-blue{background:#4fb7ff}.processx-dot.vk-cyan{background:#35d2d8}.processx-dot.vk-purple{background:#9a7cff}.processx-dot.vk-teal{background:#39d5ad}.processx-dot.vk-green{background:#4df49a}.processx-dot.vk-custom{background:#7d8cff}
@media(max-width:1050px){.processx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.processx-toolbar{grid-template-columns:1fr 165px 40px 38px}.processx-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.processx-hero{flex-direction:column;align-items:flex-start}.processx-hero-actions{width:100%;justify-content:space-between}.processx-stats{grid-template-columns:1fr}.processx-toolbar{grid-template-columns:1fr}.processx-guide{flex-wrap:wrap}.processx-guide>button{width:100%;margin-left:0}.processx-footer{grid-template-columns:1fr}.processx-table{min-width:760px}}


/* Ubicaciones y Áreas · estilo unificado con Materiales / Colores / Marcas / Procesos */
.locx-page,.areax-page{padding:0 0 24px;color:#f5f9ff}
.locx-hero,.areax-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:10px;border:1px solid rgba(90,161,242,.18);border-radius:16px;background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.locx-overline,.areax-overline{display:block;color:#57aaff;font-size:9px;font-weight:950;letter-spacing:1.8px;margin-bottom:3px}.locx-hero h1,.areax-hero h1{margin:0 0 4px;font-size:25px;line-height:1.05}.locx-hero p,.areax-hero p{margin:0;max-width:760px;color:#98b5d9;font-size:11px;line-height:1.45}
.locx-hero-actions,.areax-hero-actions{display:flex;align-items:center;gap:10px}.locx-speed,.areax-speed{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(66,219,156,.25);border-radius:999px;padding:8px 11px;background:#123b36;color:#8af0c0;font-size:9px;font-weight:900;white-space:nowrap}.locx-speed i,.areax-speed i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.locx-new,.areax-new{height:38px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(135deg,#3fe28b,#4be6a1);color:#062b19;font-size:11px;font-weight:950;display:flex;align-items:center;gap:7px;cursor:pointer}.locx-new svg,.areax-new svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.locx-stats,.areax-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.locx-stats article,.areax-stats article{min-height:70px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)}
.locx-stat-icon,.areax-stat-icon{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;font-weight:950}.locx-stat-icon svg,.areax-stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.locx-stat-icon.blue,.areax-stat-icon.blue{background:#154d85;color:#64b8ff}.locx-stat-icon.green,.areax-stat-icon.green{background:#15533d;color:#54e89c}.locx-stat-icon.violet,.areax-stat-icon.violet{background:#47336a;color:#c1a5ff}.locx-stat-icon.cyan,.areax-stat-icon.cyan{background:#124a5a;color:#5cdae6}.locx-stat-icon.amber,.areax-stat-icon.amber{background:#644617;color:#ffc35c}
.locx-stats small,.areax-stats small{display:block;color:#83a4cc;font-size:8px;font-weight:900;letter-spacing:1.1px}.locx-stats strong,.areax-stats strong{display:inline-block;margin:1px 6px 0 0;font-size:18px}.locx-stats em,.areax-stats em{font-style:normal;color:#6f8eb5;font-size:8px}
.locx-panel,.areax-panel{padding:11px;border:1px solid rgba(90,153,231,.17);border-radius:16px;background:rgba(22,45,81,.9)}
.locx-toolbar{display:grid;grid-template-columns:minmax(420px,1fr) 165px 40px 38px;gap:8px;align-items:end}.areax-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) 230px 150px 40px 38px;gap:8px;align-items:end}
.locx-search-wrap,.areax-search-wrap{height:40px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid #315f94;border-radius:11px;background:#0b1b31;overflow:hidden}.locx-search-wrap>span,.areax-search-wrap>span{display:grid;place-items:center;color:#58b9f2}.locx-search-wrap svg,.areax-search-wrap svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.locx-search-wrap input,.areax-search-wrap input{height:38px!important;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;padding:0!important;font-size:11px!important}.locx-search-wrap small,.areax-search-wrap small{padding:0 9px;color:#5f7fa5;font-size:8px;white-space:nowrap}
.locx-select small,.areax-select small{display:block;margin:0 0 4px 3px;color:#7799c2;font-size:8px;font-weight:900}.locx-select select,.areax-select select{width:100%;height:40px;border:1px solid #315f94;border-radius:10px;background:#0b1b31;color:#fff;padding:0 10px;font-size:10px}
.locx-search-btn,.locx-reset,.areax-search-btn,.areax-reset{width:40px;height:40px;border:0;border-radius:10px;display:grid;place-items:center}.locx-search-btn,.areax-search-btn{background:#38bcec;color:#06263a;cursor:pointer}.locx-search-btn svg,.areax-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.locx-reset,.areax-reset{background:#233e62;color:#c7ddf7;font-size:19px;cursor:pointer}
.locx-guide,.areax-guide{margin-top:9px;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.28);color:#86a4c9;font-size:8px}.locx-guide span,.areax-guide span{padding:4px 8px;border-radius:999px;background:#102a4b;border:1px solid #28527f}.locx-guide .final,.areax-guide .final{color:#82efb5;border-color:#277557;background:#133a31}.locx-guide>button,.areax-guide>button{margin-left:auto;height:27px;border:1px solid #2f5988;border-radius:8px;background:#102746;color:#9abbe2;font-size:8px;font-weight:900;padding:0 9px;cursor:pointer}
.locx-info,.areax-info{display:flex;align-items:flex-start;gap:10px;margin:8px 0;padding:9px 10px;border:1px solid rgba(72,134,206,.15);border-radius:10px;background:rgba(5,20,39,.3);color:#86a4c9;font-size:8.2px;line-height:1.45}.locx-info b,.areax-info b{color:#d9eaff}.locx-info-icon,.areax-info-icon{width:23px;height:23px;flex:0 0 23px;border-radius:8px;display:grid;place-items:center;background:#154d85;color:#64b8ff;font-size:11px;font-weight:950}
.locx-result-note,.areax-result-note{padding:7px 5px;color:#7f9fc6;font-size:8.5px}.locx-result-note b,.areax-result-note b{color:#d8eaff}.locx-result-paged,.areax-result-paged{display:flex;align-items:center;justify-content:space-between;gap:16px}
.locx-table-shell,.areax-table-shell{border:1px solid rgba(80,139,207,.22);border-radius:11px;overflow-x:auto;overflow-y:visible;background:#0e1d32;max-height:none;min-height:0}.locx-table,.areax-table{width:100%;min-width:980px;border-collapse:collapse}.locx-table th,.areax-table th{position:sticky;top:0;z-index:5;padding:8px 10px;background:#19345c;color:#dfeeff;text-align:left;font-size:9px;border-bottom:1px solid #345577}.locx-table td,.areax-table td{padding:8px 10px;border-bottom:1px solid rgba(101,142,192,.16);font-size:10px;vertical-align:middle}.locx-row,.areax-row{height:49px}.locx-row:nth-child(even),.areax-row:nth-child(even){background:rgba(255,255,255,.012)}.locx-row:hover,.areax-row:hover{background:rgba(54,127,213,.08)}.locx-row.is-inactive,.areax-row.is-inactive{opacity:.58}
.locx-node,.areax-node{display:flex;align-items:center;gap:8px;min-width:340px}.locx-dot,.areax-dot{width:9px;height:9px;border-radius:50%;background:#4fb7ff;box-shadow:0 0 0 3px rgba(111,164,222,.08)}.locx-node-copy strong,.areax-node-copy strong{display:block;max-width:470px;color:#f4f9ff;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.locx-node-copy small,.areax-node-copy small{display:block;margin-top:1px;color:#6486ad;font-size:7.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.locx-dot.vk-block{background:#4fb7ff}.locx-dot.vk-building{background:#7d8cff}.locx-dot.vk-site{background:#39d5ad}.locx-dot.vk-warehouse{background:#ffb94b}.locx-dot.vk-outside{background:#72df75}.locx-dot.vk-floor{background:#a48bff}.locx-dot.vk-place{background:#5cdae6}
.areax-dot.vk-office{background:#4fb7ff}.areax-dot.vk-classroom{background:#4ee194}.areax-dot.vk-lab{background:#a48bff}.areax-dot.vk-warehouse{background:#ffb94b}.areax-dot.vk-service{background:#5cdae6}.areax-dot.vk-outside{background:#39d5ad}.areax-dot.vk-area{background:#7d8cff}
.locx-type-pill{display:inline-flex;min-width:62px;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #2d5f93;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:950;text-transform:uppercase}.locx-status,.areax-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:7.5px;font-weight:950}.locx-status i,.areax-status i{width:5px;height:5px;border-radius:50%}.locx-status.on,.areax-status.on{background:#124c39;color:#68eaa6}.locx-status.on i,.areax-status.on i{background:#42eb96}.locx-status.off,.areax-status.off{background:#4d2935;color:#ff9bb0}.locx-status.off i,.areax-status.off i{background:#ff647d}
.locx-use,.areax-use{display:flex;align-items:center;gap:5px;color:#8eabd0;white-space:nowrap}.locx-use span,.areax-use span{font-size:8px}.locx-use em,.areax-use em{font-style:normal;padding:3px 7px;border-radius:999px;background:#123e68;color:#67c2ff;font-size:7px}.areax-use small{color:#b49cff;font-size:7px}.areax-route{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #2d5f93;border-radius:999px;background:#15365e;color:#9acaff;font-size:7.8px;font-weight:900}.areax-route i{font-style:normal;color:#5cdae6}
.locx-actions,.areax-actions{display:flex;gap:5px}.locx-actions button,.areax-actions button{width:31px;height:31px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer}.locx-actions svg,.areax-actions svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}.locx-actions .edit,.areax-actions .edit{background:#47a8f7;color:#06233b}.locx-actions .delete,.areax-actions .delete{background:#ff6874;color:#3a0710}
.locx-empty,.areax-empty{text-align:center!important;padding:42px!important;color:#7d9dc4}.locx-empty b,.locx-empty span,.areax-empty b,.areax-empty span{display:block}.locx-footer,.areax-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 3px 0;color:#718fb5;font-size:8px}.locx-footer-note,.areax-footer-note{display:flex;align-items:flex-start;gap:8px;min-width:0}.locx-footer-note span,.areax-footer-note span{display:block;min-width:0;color:#7f9fc6;font-size:8px;line-height:1.45}.locx-footer-note i,.areax-footer-note i{width:6px;height:6px;border-radius:50%;background:#38dc8d;flex:0 0 6px;margin-top:3px}
@media(max-width:1100px){.locx-stats,.areax-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.locx-toolbar{grid-template-columns:1fr 165px 40px 38px}.areax-toolbar{grid-template-columns:1fr 1fr 150px 40px 38px}.locx-result-paged,.areax-result-paged{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.locx-hero,.areax-hero{flex-direction:column;align-items:flex-start}.locx-hero-actions,.areax-hero-actions{width:100%;justify-content:space-between}.locx-stats,.areax-stats{grid-template-columns:1fr}.locx-toolbar,.areax-toolbar{grid-template-columns:1fr}.locx-guide,.areax-guide{flex-wrap:wrap}.locx-guide>button,.areax-guide>button{width:100%;margin-left:0}.locx-footer,.areax-footer{grid-template-columns:1fr}.locx-table,.areax-table{min-width:760px}}

/* ==========================================================================
   CATEGORÍAS · RESUMEN MAESTRO V2 · solo presentación
   ========================================================================== */
.catalog-hub-v2{max-width:none!important;padding:0 0 26px;color:#f5f9ff}
.catalog-summary-hero{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:15px 18px;margin:0 0 10px;border:1px solid rgba(90,161,242,.20);border-radius:16px;
  background:linear-gradient(135deg,#1b3762,#142c4f);box-shadow:0 14px 30px rgba(0,0,0,.12)
}
.catalog-summary-title{display:flex;align-items:center;gap:13px;min-width:0}
.catalog-summary-logo{
  width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;
  border:1px solid #2b75b6;background:linear-gradient(145deg,#15528d,#173f73);color:#69c0ff;
  box-shadow:0 9px 22px rgba(28,128,220,.18)
}
.catalog-summary-logo svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8}
.catalog-summary-overline{color:#57aaff;font-size:8.5px;font-weight:950;letter-spacing:1.6px;margin-bottom:2px}
.catalog-summary-title h1{margin:0 0 4px;color:#fff;font-size:25px;line-height:1.05}
.catalog-summary-title p{margin:0;max-width:760px;color:#98b5d9;font-size:10px;line-height:1.45}
.catalog-summary-badges{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.catalog-summary-live{
  display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(66,219,156,.25);
  border-radius:999px;background:#123b36;color:#8af0c0;font-size:8.5px;font-weight:900;white-space:nowrap
}
.catalog-summary-live i{width:7px;height:7px;border-radius:50%;background:#3ee493;box-shadow:0 0 0 4px rgba(62,228,147,.1)}
.catalog-hub-v2 .catalog-hub-count{
  padding:8px 11px;border:1px solid #315f94;border-radius:999px;background:#102d52;color:#9dccf3;
  font-size:8.5px;font-weight:900;letter-spacing:.08em
}

.catalog-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}
.catalog-summary-kpis article{
  min-height:68px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(86,151,229,.18);
  border-radius:14px;background:linear-gradient(145deg,#18345d,#142d50)
}
.catalog-summary-kpi-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center}
.catalog-summary-kpi-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.catalog-summary-kpi-icon.blue{background:#154d85;color:#64b8ff}.catalog-summary-kpi-icon.green{background:#15533d;color:#54e89c}
.catalog-summary-kpi-icon.violet{background:#47336a;color:#c1a5ff}.catalog-summary-kpi-icon.amber{background:#644617;color:#ffc35c}
.catalog-summary-kpis small{display:block;color:#83a4cc;font-size:7.5px;font-weight:900;letter-spacing:1.05px}
.catalog-summary-kpis strong{display:block;margin-top:2px;color:#fff;font-size:18px;line-height:1}
.catalog-summary-kpis em{display:block;margin-top:3px;color:#6f8eb5;font-size:7.5px;font-style:normal}

.catalog-bulk-center-v2{
  margin:0 0 12px!important;padding:14px!important;border:1px solid rgba(90,153,231,.20)!important;border-radius:16px!important;
  background:linear-gradient(145deg,rgba(15,47,86,.98),rgba(10,34,66,.98))!important;box-shadow:0 12px 26px rgba(0,0,0,.10)!important
}
.catalog-bulk-center-v2 .catalog-bulk-copy{align-items:center;gap:12px}
.catalog-bulk-center-v2 .catalog-bulk-icon{
  width:42px;height:42px;flex:0 0 42px;border-radius:12px;border:1px solid #2b6fa8;
  background:linear-gradient(145deg,#12477b,#113761);color:#68bfff;box-shadow:none
}
.catalog-bulk-center-v2 .catalog-bulk-copy-main{min-width:0;flex:1}
.catalog-bulk-center-v2 .catalog-bulk-copy .eyebrow{color:#60b3ff;font-size:8px;letter-spacing:1.4px}
.catalog-bulk-center-v2 .catalog-bulk-copy h2{font-size:15px;margin:2px 0 3px}
.catalog-bulk-center-v2 .catalog-bulk-copy p{font-size:9.5px;color:#8eaccb}
.catalog-bulk-status{
  display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 10px;border:1px solid #276f57;
  border-radius:999px;background:#123e34;color:#70e7b1;font-size:8px;font-weight:900;white-space:nowrap
}
.catalog-bulk-status i{width:6px;height:6px;border-radius:50%;background:#48e697}
.catalog-bulk-center-v2 .catalog-bulk-actions{margin:11px 0 9px}
.catalog-bulk-center-v2 .catalog-bulk-actions .btn{min-height:36px;padding:0 13px;border-radius:9px;font-size:9px}
.catalog-bulk-center-v2 .catalog-btn-export{background:linear-gradient(135deg,#1789de,#1e75ca);border-color:#3ca7f1}
.catalog-bulk-center-v2 .catalog-btn-template{background:#102e52;border-color:#32638f;color:#b9d7f2}
.catalog-bulk-center-v2 .catalog-upload-box{gap:8px}
.catalog-bulk-center-v2 .catalog-file-picker{
  min-height:52px;border-color:#3471a7;border-radius:11px;background:#0a2341;padding:8px 10px
}
.catalog-bulk-center-v2 .catalog-file-picker-icon{width:34px;height:34px;border-radius:9px;background:#113e6b;color:#5dbaff}
.catalog-bulk-center-v2 .catalog-file-picker strong{font-size:9.5px}.catalog-bulk-center-v2 .catalog-file-picker small{font-size:8px}
.catalog-bulk-center-v2 .catalog-btn-validate{min-width:150px;border-radius:10px;background:linear-gradient(135deg,#3fe28b,#31cf7e);color:#052418;font-size:9.5px}
.catalog-bulk-center-v2 .catalog-bulk-rules{gap:6px;margin-top:9px;padding-top:9px}
.catalog-bulk-center-v2 .catalog-bulk-rules span{padding:4px 7px;background:#0c2949;border-color:#2a5277;color:#89aacb;font-size:7.8px}
.catalog-bulk-center-v2 .catalog-bulk-rules i{width:16px;height:16px;background:#174d7c;color:#8cc8f8;font-size:7px}

.catalog-card-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
.catalog-hub-v2 .catalog-card{
  --cat-accent:#48aef5;--cat-soft:#154879;position:relative;min-height:126px;grid-template-columns:46px 1fr 30px;
  gap:12px;padding:15px 16px;border:1px solid rgba(80,139,207,.25);border-radius:15px;
  background:linear-gradient(145deg,#15345e,#112b4f);box-shadow:0 10px 24px rgba(0,0,0,.09)
}
.catalog-hub-v2 .catalog-card::before{top:14px;bottom:14px;width:3px;background:var(--cat-accent);opacity:1}
.catalog-hub-v2 .catalog-card::after{
  content:"";position:absolute;width:90px;height:90px;right:-28px;top:-34px;border-radius:50%;
  background:var(--cat-accent);filter:blur(28px);opacity:.08;pointer-events:none
}
.catalog-hub-v2 .catalog-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cat-accent) 60%,#315f94);box-shadow:0 15px 32px rgba(0,0,0,.16)}
.catalog-hub-v2 .catalog-card-icon{
  width:44px;height:44px;border-radius:12px;border:1px solid color-mix(in srgb,var(--cat-accent) 55%,#28527f);
  background:var(--cat-soft);color:var(--cat-accent);box-shadow:none
}
.catalog-hub-v2 .catalog-card-icon svg{width:20px;height:20px}
.catalog-hub-v2 .catalog-card-copy small{color:var(--cat-accent);font-size:8px;letter-spacing:.12em}
.catalog-hub-v2 .catalog-card-copy strong{margin:4px 0 3px;font-size:22px}
.catalog-hub-v2 .catalog-card-copy>span{color:#8eaccd;font-size:9px;line-height:1.25}
.catalog-hub-v2 .catalog-card-copy em{display:block;margin-top:7px;color:#6f91b7;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.10em}
.catalog-hub-v2 .catalog-card-go{width:29px;height:29px;border-color:color-mix(in srgb,var(--cat-accent) 48%,#28527f);color:var(--cat-accent);background:#0e294a;z-index:1}
.catalog-hub-v2 .catalog-card:hover .catalog-card-go{background:var(--cat-soft);transform:translateX(2px)}
.catalog-hub-v2 .catalog-card-material{--cat-accent:#50e1aa;--cat-soft:#124837}
.catalog-hub-v2 .catalog-card-types{--cat-accent:#57adff;--cat-soft:#153e6a}
.catalog-hub-v2 .catalog-card-color{--cat-accent:#67c8ff;--cat-soft:#164660}
.catalog-hub-v2 .catalog-card-marca{--cat-accent:#9b8cff;--cat-soft:#3a315c}
.catalog-hub-v2 .catalog-card-factormaintenance{--cat-accent:#ffbd61;--cat-soft:#5c431c}
.catalog-hub-v2 .catalog-card-stateconservation{--cat-accent:#59dfd2;--cat-soft:#164c4d}
.catalog-hub-v2 .catalog-card-process{--cat-accent:#62e5a8;--cat-soft:#174a39}
.catalog-hub-v2 .catalog-card-locations{--cat-accent:#5bb8ff;--cat-soft:#153f68}
.catalog-hub-v2 .catalog-card-areas{--cat-accent:#c490ff;--cat-soft:#43315d}

.catalog-hub-v2 .catalog-import-preview{border-radius:15px;margin-bottom:12px}

@media(max-width:1100px){
  .catalog-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-card-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-summary-badges{flex-direction:column;align-items:flex-end}
}
@media(max-width:760px){
  .catalog-summary-hero{flex-direction:column;align-items:flex-start}
  .catalog-summary-badges{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
  .catalog-summary-kpis{grid-template-columns:1fr}
  .catalog-bulk-center-v2 .catalog-bulk-copy{align-items:flex-start}
  .catalog-bulk-status{display:none}
  .catalog-card-grid-v2{grid-template-columns:1fr}
}
@media(max-width:520px){
  .catalog-summary-title{align-items:flex-start}.catalog-summary-title h1{font-size:21px}
  .catalog-summary-badges{flex-direction:column;align-items:flex-start}
  .catalog-hub-v2 .catalog-card{min-height:112px}
}

html[data-theme="light"] .catalog-summary-hero,
html[data-theme="light"] .catalog-summary-kpis article,
html[data-theme="light"] .catalog-bulk-center-v2,
html[data-theme="light"] .catalog-hub-v2 .catalog-card{background:linear-gradient(145deg,#fff,#f3f8fd)!important;border-color:#c7dcec!important}
html[data-theme="light"] .catalog-summary-title h1,html[data-theme="light"] .catalog-summary-kpis strong,html[data-theme="light"] .catalog-hub-v2 .catalog-card-copy strong{color:#173653}
html[data-theme="light"] .catalog-summary-title p,html[data-theme="light"] .catalog-summary-kpis em,html[data-theme="light"] .catalog-hub-v2 .catalog-card-copy>span{color:#6886a3}


/* Refinado visual · Centro maestro de Excel */
.catalog-bulk-center-v2{
  position:relative;
  padding:16px 16px 14px!important;
  border:1px solid rgba(101,154,214,.18)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(14,46,84,.98),rgba(11,36,67,.98))!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
}
.catalog-bulk-center-v2::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  pointer-events:none;
}
.catalog-bulk-center-v2 .catalog-bulk-copy{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}
.catalog-bulk-center-v2 .catalog-bulk-icon{
  width:46px;height:46px;flex:0 0 46px;border-radius:14px;
  border:1px solid rgba(93,147,208,.36);
  background:linear-gradient(180deg,#143f70,#0f3158);
  color:#77c2ff;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.catalog-bulk-center-v2 .catalog-bulk-icon svg{width:20px;height:20px;stroke-width:1.8}
.catalog-bulk-center-v2 .catalog-bulk-copy .eyebrow{
  color:#75bbff;
  font-size:8px;
  letter-spacing:1.55px;
  font-weight:900;
}
.catalog-bulk-center-v2 .catalog-bulk-copy h2{
  margin:3px 0 4px;
  font-size:15px;
  line-height:1.15;
}
.catalog-bulk-center-v2 .catalog-bulk-copy p{
  color:#97b3d0;
  font-size:9.3px;
  line-height:1.52;
  max-width:860px;
}
.catalog-bulk-status{
  padding:7px 11px;
  border:1px solid rgba(83,180,126,.28);
  border-radius:999px;
  background:rgba(26,82,53,.55);
  color:#9ae0b7;
  font-size:8px;
  font-weight:900;
  box-shadow:none;
}
.catalog-bulk-status i{width:7px;height:7px;background:#5fdb95;box-shadow:0 0 0 4px rgba(95,219,149,.08)}
.catalog-bulk-center-v2 .catalog-bulk-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 10px;
}
.catalog-bulk-center-v2 .catalog-bulk-actions .btn,
.catalog-bulk-center-v2 .catalog-upload-box .btn{
  min-height:38px;
  border-radius:11px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1px;
  box-shadow:none;
}
.catalog-bulk-center-v2 .catalog-bulk-actions .btn svg,
.catalog-bulk-center-v2 .catalog-upload-box .btn svg{width:15px;height:15px;stroke-width:1.9}
.catalog-bulk-center-v2 .catalog-btn-export{
  background:linear-gradient(180deg,#2f8fe0,#287fca);
  border-color:#489ee7;
  color:#fff;
}
.catalog-bulk-center-v2 .catalog-btn-template{
  background:linear-gradient(180deg,#173a63,#123154);
  border-color:#365e86;
  color:#d6e8fb;
}
.catalog-bulk-center-v2 .catalog-upload-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:10px;
}
.catalog-bulk-center-v2 .catalog-file-picker{
  min-height:54px;
  padding:9px 12px;
  border:1px dashed #4278a9;
  border-radius:13px;
  background:linear-gradient(180deg,#0b2442,#0a203a);
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.catalog-bulk-center-v2 .catalog-file-picker:hover{
  border-color:#61a4de;
  background:linear-gradient(180deg,#0c2849,#0a2340);
}
.catalog-bulk-center-v2 .catalog-file-picker-icon{
  width:36px;height:36px;border-radius:11px;
  background:linear-gradient(180deg,#153e68,#113459);
  color:#79c4ff;
  border:1px solid rgba(96,159,219,.24);
}
.catalog-bulk-center-v2 .catalog-file-picker strong{font-size:9.6px;color:#f1f7ff}
.catalog-bulk-center-v2 .catalog-file-picker small{font-size:8px;color:#80a4ca}
.catalog-bulk-center-v2 .catalog-btn-validate{
  min-width:158px;
  padding:0 16px;
  border-radius:13px;
  background:linear-gradient(180deg,#49d38d,#3bc17d);
  border-color:#5bdd9c;
  color:#06281a;
}
.catalog-bulk-center-v2 .catalog-btn-validate:hover{filter:brightness(1.03)}
.catalog-bulk-center-v2 .catalog-bulk-rules{
  gap:7px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(75,121,170,.24);
}
.catalog-bulk-center-v2 .catalog-bulk-rules span{
  min-height:28px;
  padding:4px 9px 4px 6px;
  background:rgba(12,41,73,.85);
  border:1px solid rgba(60,103,145,.72);
  color:#91b0cf;
  font-size:7.7px;
}
.catalog-bulk-center-v2 .catalog-bulk-rules i{
  width:17px;height:17px;
  background:#194a76;
  color:#9fd2ff;
  font-size:7px;
  box-shadow:none;
}
@media(max-width:920px){
  .catalog-bulk-center-v2 .catalog-bulk-copy{grid-template-columns:auto 1fr;align-items:flex-start}
  .catalog-bulk-status{grid-column:1/-1;justify-self:flex-start}
  .catalog-bulk-center-v2 .catalog-upload-box{grid-template-columns:1fr}
  .catalog-bulk-center-v2 .catalog-btn-validate{min-width:0;width:100%}
}

/* Centro maestro de Excel · versión premium inspirada en referencia */
.catalog-bulk-center-v3{
  padding:18px 20px 16px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at left top, rgba(0,181,255,.10), transparent 28%),
    linear-gradient(135deg, #071a33 0%, #0a2345 46%, #071a33 100%)!important;
  border:1px solid rgba(72,132,196,.16)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 300px;
  align-items:center;
  gap:18px;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl{
  width:86px;
  height:86px;
  border-radius:50%;
  border:1px solid rgba(60,201,229,.42);
  background:
    radial-gradient(circle at 30% 30%, rgba(48,255,198,.16), transparent 34%),
    linear-gradient(180deg, #082c49, #0b1833);
  color:#78f2cb;
  box-shadow:0 0 0 4px rgba(24,187,216,.08), 0 12px 30px rgba(0,0,0,.18);
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl svg{width:40px;height:40px;stroke-width:1.65}
.catalog-bulk-center-v3 .catalog-bulk-copy-main .eyebrow{
  color:#28d4dd;
  font-size:9px;
  letter-spacing:1.4px;
}
.catalog-bulk-center-v3 .catalog-bulk-copy h2{
  margin:4px 0 7px;
  font-size:25px;
  line-height:1.08;
  font-weight:900;
}
.catalog-bulk-center-v3 .catalog-bulk-copy p{
  font-size:11px;
  line-height:1.5;
  color:#c3d2e8;
  max-width:860px;
}
.catalog-bulk-status-card{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border-radius:16px;
  border:1px solid rgba(100,137,193,.12);
  background:linear-gradient(180deg, rgba(26,43,77,.92), rgba(21,36,66,.92));
  justify-self:end;
}
.catalog-bulk-status-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#173f53,#113746);
  color:#51df8f;
  border:1px solid rgba(89,220,154,.18);
}
.catalog-bulk-status-icon svg{width:21px;height:21px;stroke-width:1.9}
.catalog-bulk-status-card strong{
  display:block;
  color:#bdf2d0;
  font-size:10px;
  margin-bottom:3px;
}
.catalog-bulk-status-card small{
  display:block;
  color:#c9d5e7;
  font-size:9px;
  line-height:1.35;
}
.catalog-bulk-center-v3 .catalog-bulk-actions{
  margin:16px 0 12px;
  gap:16px;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn{
  min-height:54px;
  padding:0 24px;
  border-radius:12px;
  font-size:11px;
  font-weight:850;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn svg{width:18px;height:18px;stroke-width:1.9}
.catalog-bulk-center-v3 .catalog-btn-export{
  background:linear-gradient(90deg, #30d0dc 0%, #3654f2 100%);
  border-color:rgba(122,197,255,.35);
}
.catalog-bulk-center-v3 .catalog-btn-template{
  background:linear-gradient(180deg, rgba(5,27,50,.94), rgba(5,22,42,.94));
  border:1px solid rgba(29,205,233,.45);
  color:#24d6e2;
}
.catalog-bulk-center-v3 .catalog-upload-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:18px;
  align-items:stretch;
}
.catalog-bulk-center-v3 .catalog-file-picker{
  position:relative;
  min-height:96px;
  padding:16px 18px;
  border:2px dashed rgba(74,145,208,.36);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(5,23,42,.74), rgba(6,24,43,.58));
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  cursor:pointer;
}
.catalog-bulk-center-v3 .catalog-file-picker:hover{
  border-color:rgba(82,178,232,.55);
  background:linear-gradient(180deg, rgba(6,27,49,.84), rgba(6,24,43,.72));
}
.catalog-bulk-center-v3 .catalog-file-picker-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background:linear-gradient(180deg,#143566,#11264c);
  border:1px solid rgba(74,127,190,.18);
  color:#dce9fb;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon svg{width:28px;height:28px;stroke-width:1.7}
.catalog-bulk-center-v3 .catalog-file-picker-copy strong{
  display:block;
  color:#fff;
  font-size:12px;
  margin-bottom:4px;
}
.catalog-bulk-center-v3 .catalog-file-picker-copy small{
  display:block;
  color:#d7e2f1;
  font-size:10px;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse{
  min-width:178px;
  height:50px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid rgba(31,118,231,.55);
  background:linear-gradient(180deg, rgba(10,36,78,.92), rgba(8,31,68,.92));
  color:#eaf2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse svg{width:18px;height:18px;stroke-width:1.85}
.catalog-bulk-center-v3 .catalog-file-picker-browse em{font-style:normal;font-size:10px;font-weight:800}
.catalog-bulk-center-v3 .catalog-file-picker input[type=file]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.catalog-upload-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  gap:12px;
}
.catalog-bulk-center-v3 .catalog-btn-validate{
  min-height:84px;
  border-radius:16px;
  background:linear-gradient(135deg,#40cf72 0%, #29b9dd 100%);
  border-color:rgba(126,233,199,.28);
  color:#f6fffb;
  font-size:13px;
  font-weight:900;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.catalog-bulk-center-v3 .catalog-btn-validate svg{width:20px;height:20px;stroke-width:2.2}
.catalog-upload-side small{
  display:block;
  text-align:center;
  color:#d4deeb;
  font-size:9px;
  line-height:1.5;
  padding:0 14px;
}
.catalog-bulk-rules-v3{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:12px;
  padding-top:10px;
  border-top:0!important;
}
.catalog-bulk-rules-v3 span{
  position:relative;
  min-height:64px;
  padding:0;
  background:transparent!important;
  border:0!important;
  display:grid;
  grid-template-columns:40px 40px 1fr;
  align-items:center;
  gap:12px;
}
.catalog-bulk-rules-v3 span:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-10px;
  top:50%;
  width:56px;
  height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, rgba(54,218,208,.55), rgba(54,218,208,0));
}
.catalog-bulk-rules-v3 i,
.catalog-bulk-rules-v3 b{
  margin:0;
  display:grid;
  place-items:center;
}
.catalog-bulk-rules-v3 i{
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(180deg, #17386c, #0f2550)!important;
  border:2px solid #2eb0ff;
  color:#f2f7ff!important;
  font-size:18px!important;
  font-style:normal;
  font-weight:900;
}
.catalog-bulk-rules-v3 b{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(43,213,221,.35);
  background:linear-gradient(180deg, rgba(7,31,53,.95), rgba(9,22,44,.95));
  color:#ebf4ff;
}
.catalog-bulk-rules-v3 b svg{width:17px;height:17px;stroke-width:1.85}
.catalog-bulk-rules-v3 strong,
.catalog-bulk-rules-v3 em{display:block}
.catalog-bulk-rules-v3 strong{
  color:#f5f7fd;
  font-size:10px;
  font-weight:900;
  margin-bottom:3px;
}
.catalog-bulk-rules-v3 em{
  color:#d4deeb;
  font-size:8px;
  font-style:normal;
  line-height:1.4;
}
@media(max-width:1250px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:100px 1fr;}
  .catalog-bulk-status-card{grid-column:1/-1;justify-self:flex-start}
  .catalog-bulk-rules-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-bulk-rules-v3 span:nth-child(2)::after{display:none}
}
@media(max-width:920px){
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:1fr}
  .catalog-bulk-center-v3 .catalog-file-picker{grid-template-columns:58px 1fr;}
  .catalog-bulk-center-v3 .catalog-file-picker-browse{grid-column:1/-1;width:100%}
  .catalog-upload-side small{padding:0}
}
@media(max-width:700px){
  .catalog-bulk-center-v3{padding:14px!important}
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:1fr}
  .catalog-bulk-center-v3 .catalog-bulk-icon-xl{width:72px;height:72px}
  .catalog-bulk-center-v3 .catalog-bulk-copy h2{font-size:21px}
  .catalog-bulk-center-v3 .catalog-bulk-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .catalog-bulk-center-v3 .catalog-bulk-actions .btn{width:100%}
  .catalog-bulk-rules-v3{grid-template-columns:1fr}
  .catalog-bulk-rules-v3 span::after{display:none!important}
}


/* Centro maestro Excel · ajuste compacto final */
.catalog-bulk-center-v3{
  padding:13px 15px 12px!important;
  border-radius:16px!important;
  margin-bottom:10px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy{
  grid-template-columns:64px minmax(0,1fr) 220px!important;
  gap:12px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl{
  width:58px!important;height:58px!important;
  border-radius:15px!important;
  box-shadow:0 7px 18px rgba(0,0,0,.13)!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl svg{width:27px!important;height:27px!important}
.catalog-bulk-center-v3 .catalog-bulk-copy-main .eyebrow{font-size:7.6px!important;letter-spacing:1.2px!important}
.catalog-bulk-center-v3 .catalog-bulk-copy h2{margin:2px 0 4px!important;font-size:17px!important;line-height:1.1!important}
.catalog-bulk-center-v3 .catalog-bulk-copy p{font-size:8.4px!important;line-height:1.4!important;color:#a9bfd8!important}
.catalog-bulk-status-card{
  min-height:54px!important;
  padding:9px 11px!important;
  border-radius:12px!important;
  gap:9px!important;
}
.catalog-bulk-status-icon{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:9px!important}
.catalog-bulk-status-icon svg{width:17px!important;height:17px!important}
.catalog-bulk-status-card strong{font-size:8.4px!important;margin-bottom:2px!important}
.catalog-bulk-status-card small{font-size:7.5px!important}
.catalog-bulk-center-v3 .catalog-bulk-actions{margin:10px 0 9px!important;gap:9px!important}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn{
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  font-size:8.7px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn svg{width:14px!important;height:14px!important}
.catalog-bulk-center-v3 .catalog-upload-box{
  grid-template-columns:minmax(0,1fr) 220px!important;
  gap:10px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker{
  min-height:66px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  grid-template-columns:38px minmax(0,1fr) 145px!important;
  gap:9px!important;
  border-width:1px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon{
  width:36px!important;height:36px!important;border-radius:10px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon svg{width:18px!important;height:18px!important}
.catalog-bulk-center-v3 .catalog-file-picker-copy strong{font-size:8.8px!important;margin-bottom:2px!important}
.catalog-bulk-center-v3 .catalog-file-picker-copy small{font-size:7.4px!important}
.catalog-bulk-center-v3 .catalog-file-picker-browse{
  min-width:0!important;width:145px!important;height:36px!important;
  padding:0 10px!important;border-radius:9px!important;gap:6px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse svg{width:14px!important;height:14px!important}
.catalog-bulk-center-v3 .catalog-file-picker-browse em{font-size:7.8px!important}
.catalog-upload-side{gap:6px!important}
.catalog-bulk-center-v3 .catalog-btn-validate{
  min-height:46px!important;
  border-radius:11px!important;
  font-size:9px!important;
}
.catalog-bulk-center-v3 .catalog-btn-validate svg{width:15px!important;height:15px!important}
.catalog-upload-side small{font-size:7.2px!important;line-height:1.35!important;padding:0 8px!important}
.catalog-bulk-rules-v3{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px!important;
  padding-top:7px!important;
}
.catalog-bulk-rules-v3>span{
  min-height:40px!important;
  grid-template-columns:26px 28px minmax(0,1fr)!important;
  gap:6px!important;
  padding:4px 6px!important;
  border:1px solid rgba(55,103,148,.38)!important;
  border-radius:10px!important;
  background:rgba(8,31,57,.46)!important;
}
.catalog-bulk-rules-v3>span::after{display:none!important}
.catalog-bulk-rules-v3>span>i{
  width:26px!important;height:26px!important;
  border-width:1px!important;font-size:9px!important;
}
.catalog-bulk-rules-v3>span>b{
  width:28px!important;height:28px!important;
}
.catalog-bulk-rules-v3>span>b svg{width:13px!important;height:13px!important}
.catalog-rule-copy{display:block!important;min-width:0!important}
.catalog-rule-copy strong{display:block!important;margin:0 0 2px!important;font-size:7.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.catalog-rule-copy em{display:block!important;font-size:6.8px!important;line-height:1.25!important;color:#9bb2cb!important;white-space:normal!important}
@media(max-width:1050px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:54px minmax(0,1fr) 190px!important}
  .catalog-bulk-center-v3 .catalog-bulk-icon-xl{width:50px!important;height:50px!important}
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:minmax(0,1fr) 190px!important}
  .catalog-bulk-rules-v3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:48px 1fr!important}
  .catalog-bulk-status-card{grid-column:1/-1!important;justify-self:stretch!important}
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:1fr!important}
  .catalog-bulk-center-v3 .catalog-file-picker{grid-template-columns:36px 1fr!important}
  .catalog-bulk-center-v3 .catalog-file-picker-browse{grid-column:1/-1!important;width:100%!important}
  .catalog-bulk-rules-v3{grid-template-columns:1fr!important}
}

/* Centro maestro Excel · ajuste visual para parecerse a la referencia bonita */
.catalog-bulk-center-v3{
  padding:18px 18px 15px!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at left top, rgba(0,194,255,.08), transparent 25%),
    linear-gradient(135deg,#071a33 0%, #0a2345 48%, #071a33 100%)!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy{
  grid-template-columns:120px minmax(0,1fr) 270px!important;
  gap:16px!important;
  align-items:center!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl{
  width:88px!important;
  height:88px!important;
  border-radius:50%!important;
  box-shadow:0 0 0 4px rgba(24,187,216,.07), 0 14px 30px rgba(0,0,0,.17)!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl svg{width:40px!important;height:40px!important}
.catalog-bulk-center-v3 .catalog-bulk-copy-main .eyebrow{
  font-size:9px!important;
  letter-spacing:1.5px!important;
  color:#2ad4de!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy h2{
  margin:4px 0 6px!important;
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy p{
  font-size:10.6px!important;
  line-height:1.48!important;
  color:#d3deed!important;
  max-width:900px!important;
}
.catalog-bulk-status-card{
  min-height:76px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  gap:12px!important;
  background:linear-gradient(180deg,rgba(30,46,81,.94),rgba(22,38,70,.94))!important;
}
.catalog-bulk-status-icon{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
  border-radius:11px!important;
}
.catalog-bulk-status-icon svg{width:20px!important;height:20px!important}
.catalog-bulk-status-card strong{font-size:10px!important;margin-bottom:3px!important}
.catalog-bulk-status-card small{font-size:9.2px!important;color:#d4e0ed!important}
.catalog-bulk-center-v3 .catalog-bulk-actions{
  margin:16px 0 13px!important;
  gap:14px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn{
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:12px!important;
  font-size:10.8px!important;
  font-weight:850!important;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn svg{width:17px!important;height:17px!important}
.catalog-bulk-center-v3 .catalog-upload-box{
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:16px!important;
  align-items:stretch!important;
}
.catalog-bulk-center-v3 .catalog-file-picker{
  min-height:92px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  border:2px dashed rgba(74,145,208,.34)!important;
  grid-template-columns:58px minmax(0,1fr) 194px!important;
  gap:14px!important;
  background:linear-gradient(180deg, rgba(5,23,42,.76), rgba(6,24,43,.62))!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon{
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon svg{width:28px!important;height:28px!important}
.catalog-bulk-center-v3 .catalog-file-picker-copy strong{font-size:12px!important;margin-bottom:4px!important}
.catalog-bulk-center-v3 .catalog-file-picker-copy small{font-size:10px!important;color:#d7e2f1!important}
.catalog-bulk-center-v3 .catalog-file-picker-browse{
  width:194px!important;
  height:46px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  gap:8px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse svg{width:18px!important;height:18px!important}
.catalog-bulk-center-v3 .catalog-file-picker-browse em{font-size:10px!important}
.catalog-upload-side{gap:10px!important;justify-content:center!important}
.catalog-bulk-center-v3 .catalog-btn-validate{
  min-height:84px!important;
  border-radius:16px!important;
  font-size:11px!important;
}
.catalog-bulk-center-v3 .catalog-btn-validate svg{width:18px!important;height:18px!important}
.catalog-upload-side small{
  font-size:9px!important;
  line-height:1.45!important;
  color:#d4deeb!important;
  text-align:center!important;
  padding:0 10px!important;
}
.catalog-bulk-rules-v3{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:14px!important;
  padding-top:4px!important;
}
.catalog-bulk-rules-v3>span{
  min-height:68px!important;
  grid-template-columns:42px 40px minmax(0,1fr)!important;
  gap:11px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.catalog-bulk-rules-v3>span::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  right:-12px!important;
  top:50%!important;
  width:72px!important;
  height:2px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg, rgba(54,218,208,.65), rgba(54,218,208,0))!important;
}
.catalog-bulk-rules-v3>span:last-child::after{display:none!important}
.catalog-bulk-rules-v3>span>i{
  width:42px!important;
  height:42px!important;
  border-width:2px!important;
  font-size:18px!important;
}
.catalog-bulk-rules-v3>span>b{
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
}
.catalog-bulk-rules-v3>span>b svg{width:17px!important;height:17px!important}
.catalog-rule-copy strong{
  margin:0 0 3px!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalog-rule-copy em{
  font-size:8.5px!important;
  line-height:1.38!important;
  color:#d4deeb!important;
}
@media(max-width:1200px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:92px minmax(0,1fr) 230px!important}
  .catalog-bulk-center-v3 .catalog-bulk-icon-xl{width:76px!important;height:76px!important}
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:minmax(0,1fr) 230px!important}
}
@media(max-width:980px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:82px 1fr!important}
  .catalog-bulk-status-card{grid-column:1/-1!important;justify-self:flex-start!important;max-width:320px}
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:1fr!important}
  .catalog-bulk-rules-v3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-bulk-rules-v3>span:nth-child(2)::after{display:none!important}
}
@media(max-width:720px){
  .catalog-bulk-center-v3{padding:14px!important}
  .catalog-bulk-center-v3 .catalog-bulk-copy{grid-template-columns:1fr!important}
  .catalog-bulk-center-v3 .catalog-bulk-icon-xl{width:72px!important;height:72px!important}
  .catalog-bulk-center-v3 .catalog-bulk-copy h2{font-size:20px!important}
  .catalog-bulk-center-v3 .catalog-bulk-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .catalog-bulk-center-v3 .catalog-bulk-actions .btn{width:100%!important}
  .catalog-bulk-center-v3 .catalog-file-picker{grid-template-columns:58px 1fr!important}
  .catalog-bulk-center-v3 .catalog-file-picker-browse{grid-column:1/-1!important;width:100%!important}
  .catalog-bulk-rules-v3{grid-template-columns:1fr!important}
  .catalog-bulk-rules-v3>span::after{display:none!important}
}


/* =========================================================
   Centro Maestro de Excel · versión compacta fiel a referencia
   Solo diseño: no cambia rutas, formularios ni lógica.
   ========================================================= */
.catalog-bulk-center-v3{
  padding:12px 16px 11px!important;
  margin:0 0 10px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 3% 5%,rgba(17,193,222,.08),transparent 20%),
    linear-gradient(135deg,#06182f 0%,#09213f 52%,#06182f 100%)!important;
  border:1px solid rgba(75,132,191,.16)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14)!important;
}

/* fila superior */
.catalog-bulk-center-v3 .catalog-bulk-copy{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr) 208px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:64px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl{
  width:62px!important;
  height:62px!important;
  border-radius:50%!important;
  border:1px solid rgba(39,201,216,.38)!important;
  background:
    radial-gradient(circle at 32% 28%,rgba(60,255,189,.12),transparent 35%),
    linear-gradient(180deg,#082942,#09172e)!important;
  color:#72f0c2!important;
  box-shadow:0 0 0 3px rgba(25,184,207,.06),0 8px 20px rgba(0,0,0,.18)!important;
}
.catalog-bulk-center-v3 .catalog-bulk-icon-xl svg{
  width:30px!important;
  height:30px!important;
  stroke-width:1.75!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy-main .eyebrow{
  margin:0 0 2px!important;
  color:#25d2d8!important;
  font-size:7.8px!important;
  line-height:1.1!important;
  letter-spacing:1.3px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy h2{
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.catalog-bulk-center-v3 .catalog-bulk-copy p{
  margin:0!important;
  max-width:720px!important;
  color:#b9c9dc!important;
  font-size:8.6px!important;
  line-height:1.38!important;
}
.catalog-bulk-status-card{
  min-height:50px!important;
  padding:8px 11px!important;
  gap:9px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(29,44,78,.90),rgba(21,36,65,.92))!important;
  border:1px solid rgba(89,128,184,.12)!important;
  box-shadow:none!important;
}
.catalog-bulk-status-icon{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:9px!important;
  background:#10384a!important;
  color:#46d98a!important;
}
.catalog-bulk-status-icon svg{width:16px!important;height:16px!important}
.catalog-bulk-status-card strong{
  margin:0 0 2px!important;
  color:#8ee9b3!important;
  font-size:8.1px!important;
}
.catalog-bulk-status-card small{
  color:#d3deeb!important;
  font-size:7.3px!important;
  line-height:1.25!important;
}

/* botones superiores */
.catalog-bulk-center-v3 .catalog-bulk-actions{
  margin:8px 0 8px!important;
  gap:10px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn{
  min-height:36px!important;
  padding:0 16px!important;
  border-radius:9px!important;
  font-size:8.8px!important;
}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn svg{
  width:14px!important;
  height:14px!important;
}
.catalog-bulk-center-v3 .catalog-btn-export{
  background:linear-gradient(90deg,#2cc7d5 0%,#3857f0 100%)!important;
}
.catalog-bulk-center-v3 .catalog-btn-template{
  background:#061c35!important;
  border:1px solid rgba(31,202,219,.50)!important;
  color:#25d6df!important;
}

/* selector + validación */
.catalog-bulk-center-v3 .catalog-upload-box{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 200px!important;
  gap:12px!important;
  align-items:stretch!important;
}
.catalog-bulk-center-v3 .catalog-file-picker{
  min-height:60px!important;
  padding:8px 10px!important;
  grid-template-columns:40px minmax(0,1fr) 142px!important;
  gap:9px!important;
  border:1px dashed rgba(80,146,205,.40)!important;
  border-radius:12px!important;
  background:rgba(5,21,40,.68)!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#15345f,#11274a)!important;
  color:#dce9fa!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-icon svg{
  width:19px!important;
  height:19px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-copy strong{
  margin:0 0 2px!important;
  color:#fff!important;
  font-size:8.7px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-copy small{
  color:#cbd8e8!important;
  font-size:7.4px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse{
  width:142px!important;
  height:34px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  gap:6px!important;
  border:1px solid rgba(31,118,231,.50)!important;
  background:#092753!important;
  color:#eef5ff!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse svg{
  width:13px!important;
  height:13px!important;
}
.catalog-bulk-center-v3 .catalog-file-picker-browse em{
  font-size:7.6px!important;
}
.catalog-upload-side{
  gap:4px!important;
  justify-content:center!important;
}
.catalog-bulk-center-v3 .catalog-btn-validate{
  min-height:48px!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,#38cf72 0%,#2aafcf 100%)!important;
  color:#fff!important;
  font-size:8.9px!important;
}
.catalog-bulk-center-v3 .catalog-btn-validate svg{
  width:14px!important;
  height:14px!important;
}
.catalog-upload-side small{
  padding:0 6px!important;
  color:#c9d6e6!important;
  font-size:6.9px!important;
  line-height:1.28!important;
  text-align:center!important;
}

/* pasos inferiores */
.catalog-bulk-rules-v3{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:7px 0 0!important;
  padding:3px 0 0!important;
}
.catalog-bulk-rules-v3>span{
  position:relative!important;
  display:grid!important;
  grid-template-columns:30px 28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.catalog-bulk-rules-v3>span::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  right:-7px!important;
  top:50%!important;
  width:38px!important;
  height:1px!important;
  transform:translateY(-50%)!important;
  background:linear-gradient(90deg,rgba(38,203,197,.58),rgba(38,203,197,0))!important;
}
.catalog-bulk-rules-v3>span:last-child::after{display:none!important}
.catalog-bulk-rules-v3>span>i{
  width:30px!important;
  height:30px!important;
  border:1.5px solid #20b8ff!important;
  border-radius:50%!important;
  background:#0c244a!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
}
.catalog-bulk-rules-v3>span>b{
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#071b31!important;
  border:1px solid rgba(37,211,211,.36)!important;
  color:#e6f2ff!important;
}
.catalog-bulk-rules-v3>span>b svg{
  width:12px!important;
  height:12px!important;
}
.catalog-rule-copy strong{
  margin:0 0 1px!important;
  color:#f5f8ff!important;
  font-size:7.2px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalog-rule-copy em{
  color:#cbd7e7!important;
  font-size:6.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* responsive sin agrandar el módulo */
@media(max-width:980px){
  .catalog-bulk-center-v3 .catalog-bulk-copy{
    grid-template-columns:66px minmax(0,1fr)!important;
  }
  .catalog-bulk-status-card{
    grid-column:1/-1!important;
    justify-self:start!important;
    max-width:230px!important;
  }
  .catalog-bulk-center-v3 .catalog-upload-box{
    grid-template-columns:1fr 170px!important;
  }
  .catalog-bulk-rules-v3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .catalog-bulk-rules-v3>span:nth-child(2)::after{display:none!important}
}
@media(max-width:700px){
  .catalog-bulk-center-v3{padding:10px!important}
  .catalog-bulk-center-v3 .catalog-upload-box{grid-template-columns:1fr!important}
  .catalog-bulk-center-v3 .catalog-file-picker{grid-template-columns:38px 1fr!important}
  .catalog-bulk-center-v3 .catalog-file-picker-browse{
    grid-column:1/-1!important;
    width:100%!important;
  }
  .catalog-bulk-rules-v3{grid-template-columns:1fr!important}
  .catalog-bulk-rules-v3>span::after{display:none!important}
}


/* Iconos premium · Centro Maestro de Excel */
.catalog-bulk-center-v3 .catalog-bulk-icon-xl svg{width:36px!important;height:36px!important}
.catalog-bulk-status-icon svg{width:18px!important;height:18px!important}
.catalog-bulk-center-v3 .catalog-bulk-actions .btn svg{width:16px!important;height:16px!important}
.catalog-bulk-center-v3 .catalog-file-picker-icon svg{width:20px!important;height:20px!important}
.catalog-bulk-center-v3 .catalog-file-picker-browse svg{width:14px!important;height:14px!important}
.catalog-bulk-center-v3 .catalog-btn-validate svg{width:16px!important;height:16px!important}
.catalog-bulk-rules-v3>span>b svg{width:14px!important;height:14px!important}

/* =========================
   Dashboard operativo premium
   ========================= */
.ops-dashboard{display:grid;gap:14px}
.ops-dashboard .card{background:linear-gradient(180deg,#102d55,#0b2241);border:1px solid rgba(76,145,206,.22);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.ops-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px;border-radius:20px;background:radial-gradient(circle at 78% 15%,rgba(18,194,223,.08),transparent 22%),linear-gradient(135deg,#081a33 0%,#0a2343 52%,#071930 100%)}
.ops-hero .eyebrow{color:#7dd9ff;letter-spacing:1.5px;font-size:11px;font-weight:800}
.ops-hero h1{margin:4px 0 8px;font-size:24px;line-height:1.05;color:#fff}
.ops-hero p{margin:0;color:#c3d8ea;font-size:12px;max-width:620px}
.ops-dot-status{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:#9fdcff;font-weight:700}
.ops-dot-status i{width:9px;height:9px;border-radius:50%;background:#14cfff;box-shadow:0 0 0 4px rgba(20,207,255,.12)}
.ops-hero-actions{display:grid;gap:12px;min-width:320px;justify-items:end}
.ops-hero-status{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;background:rgba(21,37,68,.85);border:1px solid rgba(92,120,170,.22)}
.ops-hero-status-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,#14394d,#123141);color:#75ec9a}
.ops-hero-status-icon svg{width:19px;height:19px}
.ops-hero-status strong{display:block;color:#fff;font-size:13px}
.ops-hero-status small{color:#c6d6e5;font-size:11px}
.ops-hero-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ops-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#102848;border:1px solid rgba(72,123,181,.24);color:#d8e9fa;font-size:12px;font-weight:700}
.ops-chip svg{width:14px;height:14px}
.ops-export-btn{min-height:42px;padding:0 16px;border-radius:12px;background:linear-gradient(90deg,#28c8dd,#3790ff);font-weight:800;font-size:12px}
.ops-export-btn svg{width:15px;height:15px}
.ops-top-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.ops-card{padding:14px;border-radius:18px;min-height:100%}
.ops-progress-card{grid-column:span 2}
.ops-card-head span,.ops-section-head small{color:#9ec6e6;font-size:12px;font-weight:700}
.ops-progress-wrap{display:flex;align-items:center;gap:16px;margin-top:8px}
.ops-ring{--pct:0;display:grid;place-items:center;width:115px;height:115px;border-radius:50%;background:conic-gradient(#22d0ff calc(var(--pct)*1%),rgba(255,255,255,.08) 0);position:relative;box-shadow:inset 0 0 18px rgba(0,0,0,.26)}
.ops-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#0a2344;border:1px solid rgba(86,135,192,.22)}
.ops-ring b{position:relative;z-index:1;color:#fff;font-size:26px}
.ops-progress-copy small{display:block;color:#9dc3e7;font-size:12px}
.ops-progress-copy strong{display:block;color:#fff;font-size:14px;line-height:1.3;margin:3px 0 8px}
.ops-progress-copy p{margin:0;color:#56cbff;font-size:24px;font-weight:900;line-height:1}
.ops-progress-copy em{display:block;margin-top:6px;color:#9dc3e7;font-size:12px;font-style:normal}
.ops-mini-card{display:grid;gap:10px;align-content:space-between}
.ops-mini-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#173251;color:#fff}
.ops-mini-icon svg{width:18px;height:18px}
.ops-mini-icon.sky{color:#acdfff;background:rgba(78,141,209,.14)}
.ops-mini-icon.amber{color:#ffc34d;background:rgba(232,171,25,.14)}
.ops-mini-icon.coral{color:#ff6f6f;background:rgba(235,88,88,.14)}
.ops-mini-icon.mint{color:#62f7c6;background:rgba(31,198,149,.14)}
.ops-mini-icon.violet{color:#d4a7ff;background:rgba(155,104,224,.14)}
.ops-mini-icon.soft{color:#d9ecff;background:rgba(127,170,220,.14)}
.ops-mini-card small{color:#9ec6e6;font-size:12px}
.ops-mini-card strong{display:block;color:#fff;font-size:28px;line-height:1;margin:2px 0 4px}
.ops-mini-card em{display:block;color:#7ee07c;font-size:12px;font-style:normal}
.ops-mini-card a{color:#73bcff;font-size:12px;font-weight:700}
.ops-middle-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr .72fr;gap:12px;align-items:stretch}
.ops-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}
.ops-section-head h3{margin:3px 0 0;color:#fff;font-size:18px;line-height:1.1}
.ops-map-stage{position:relative;min-height:290px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 15% 25%,rgba(58,118,185,.18),transparent 18%),linear-gradient(135deg,#0c284b,#092039)}
.ops-map-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:34px 34px;opacity:.65}
.ops-map-stage::before{content:"";position:absolute;inset:18px;border-radius:18px;background:radial-gradient(circle at 25% 35%,rgba(255,255,255,.03),transparent 16%),radial-gradient(circle at 66% 52%,rgba(255,255,255,.025),transparent 15%),linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01));filter:blur(.2px)}
.ops-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(8,25,46,.88);border:1px solid rgba(102,160,222,.28);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.ops-pin i{width:10px;height:10px;border-radius:50%;background:#59ff8f;box-shadow:0 0 0 4px rgba(89,255,143,.12)}
.ops-pin b{font-size:11px;color:#fff}
.ops-map-legend{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:8px;flex-wrap:wrap}
.ops-map-legend span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(12,34,62,.84);border:1px solid rgba(91,125,173,.2);color:#d6e9fb;font-size:11px}
.ops-map-legend i{width:8px;height:8px;border-radius:50%;background:#41c7ff}
.ops-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:210px;padding:8px 4px 2px}
.ops-bar-item{display:grid;justify-items:center;gap:8px;flex:1}
.ops-bar-track{position:relative;width:34px;height:150px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.08));overflow:hidden;border:1px solid rgba(70,123,175,.18)}
.ops-bar-track i{position:absolute;left:0;right:0;bottom:0;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#34d4ff 0%,#1a84ff 100%)}
.ops-bar-item strong{color:#fff;font-size:12px}
.ops-bar-item span{color:#a7cae8;font-size:11px;text-align:center;line-height:1.2}
.ops-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.ops-gauge{position:relative;padding:12px 10px 10px;border-radius:14px;background:rgba(6,23,44,.42);border:1px solid rgba(73,115,164,.16);text-align:center}
.ops-gauge-ring{--pct:0;width:76px;height:76px;border-radius:50%;margin:0 auto 8px;background:conic-gradient(#6cf25f calc(var(--pct)*1%),rgba(255,255,255,.08) 0);position:relative}
.ops-gauge-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#0b2241}.ops-gauge b{position:absolute;left:0;right:0;top:34px;color:#fff;font-size:18px}.ops-gauge span{display:block;color:#b7cee5;font-size:11px;line-height:1.25}
.ops-gauge{--pct:0}.ops-gauge .ops-gauge-ring{background:conic-gradient(#8dfb76 calc(var(--pct)*1%),rgba(255,255,255,.08) 0)}
.ops-line-chart{margin-top:8px}.ops-line-chart svg{width:100%;height:190px;display:block}.ops-line-chart .grid line{stroke:rgba(255,255,255,.08);stroke-dasharray:4 4}.ops-line-chart .goal{fill:none;stroke:#ff6161;stroke-width:1.5;stroke-dasharray:5 4;opacity:.8}.ops-line-chart .path{fill:none;stroke:#20c9ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ops-line-chart circle{fill:#2dd1ff;stroke:#dff7ff;stroke-width:2}.ops-line-labels{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.ops-line-labels span{flex:1;color:#a9cae6;font-size:10px;text-align:center;line-height:1.2}
.ops-flow-list{display:grid;gap:12px}.ops-flow-step{position:relative;display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:12px 10px;border-radius:14px;background:rgba(8,25,47,.44);border:1px solid rgba(73,115,164,.16)}
.ops-flow-step:not(:last-child)::after{content:"";position:absolute;left:22px;bottom:-12px;width:2px;height:12px;background:linear-gradient(180deg,#4bbcff,rgba(75,188,255,0))}
.ops-flow-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0b2442;color:#dff5ff;border:1px solid rgba(60,126,196,.24)}
.ops-flow-icon svg{width:18px;height:18px}.ops-flow-step.done .ops-flow-icon{background:#103b33;color:#71ec95}.ops-flow-step.active .ops-flow-icon{background:#0d3357;color:#59d5ff}.ops-flow-step.pending .ops-flow-icon{background:#3a2a14;color:#ffcb66}
.ops-flow-step strong{display:block;color:#fff;font-size:14px}.ops-flow-step small{display:block;color:#b9d0e6;font-size:11px;line-height:1.3}
.ops-bottom-grid{display:grid;grid-template-columns:1.15fr .7fr 1fr;gap:12px}
.ops-table-wrap{overflow:auto}.ops-table{width:100%;border-collapse:collapse}.ops-table th,.ops-table td{padding:10px 8px;border-bottom:1px solid rgba(92,132,182,.16);font-size:12px;text-align:left}.ops-table th{color:#a6c8e7;font-weight:800}.ops-table td{color:#e7f3ff}.ops-table strong{color:#fff}.ops-status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.ops-status-pill.ok{background:rgba(39,178,97,.18);color:#69ea90}.ops-status-pill.warn{background:rgba(230,170,29,.18);color:#ffce62}
.ops-footer-link{display:inline-block;margin-top:12px;color:#67bfff;font-size:12px;font-weight:800}
.ops-alert-list{display:grid;gap:10px}.ops-alert-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 10px;border-radius:14px;background:rgba(11,29,52,.56);border:1px solid rgba(92,132,182,.16)}
.ops-alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.04)}
.ops-alert-icon svg{width:15px;height:15px}.ops-alert-item strong{display:block;color:#fff;font-size:13px}.ops-alert-item small{display:block;color:#b8cee2;font-size:11px;line-height:1.3}.ops-alert-item em{font-style:normal;font-size:11px;font-weight:800}
.ops-alert-item.critical{background:rgba(88,24,35,.34);border-color:rgba(243,96,96,.18)}.ops-alert-item.critical .ops-alert-icon,.ops-alert-item.critical em{color:#ff8080}
.ops-alert-item.warning{background:rgba(88,61,22,.28);border-color:rgba(255,195,61,.14)}.ops-alert-item.warning .ops-alert-icon,.ops-alert-item.warning em{color:#ffcf63}
.ops-alert-item.info{background:rgba(11,29,52,.56)}.ops-alert-item.info .ops-alert-icon,.ops-alert-item.info em{color:#67caff}
.ops-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ops-evidence-item{overflow:hidden;border-radius:14px;background:rgba(9,27,49,.52);border:1px solid rgba(92,132,182,.14)}.ops-evidence-thumb{aspect-ratio:16/9;background:#091c35;overflow:hidden}.ops-evidence-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ops-evidence-copy{padding:8px 9px}.ops-evidence-copy strong{display:block;color:#fff;font-size:12px;line-height:1.25;min-height:30px}.ops-evidence-copy small{display:block;color:#98c2e5;font-size:10px;margin-top:4px}
.ops-evidence-empty{padding:24px 12px;border-radius:14px;background:rgba(9,27,49,.4);color:#bcd4e9;font-size:12px;text-align:center}
@media (max-width:1400px){.ops-top-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-progress-card{grid-column:span 2}.ops-middle-grid{grid-template-columns:1fr 1fr}.ops-flow-card{grid-column:2}.ops-bottom-grid{grid-template-columns:1fr 1fr}.ops-evidence-card{grid-column:1/-1}}
@media (max-width:1024px){.ops-hero{flex-direction:column}.ops-hero-actions{width:100%;min-width:0;justify-items:start}.ops-hero-buttons{justify-content:flex-start}.ops-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-progress-card{grid-column:span 2}.ops-middle-grid,.ops-bottom-grid{grid-template-columns:1fr}.ops-flow-card,.ops-evidence-card{grid-column:auto}.ops-gauges{grid-template-columns:1fr}}
@media (max-width:720px){.ops-hero h1{font-size:21px}.ops-progress-wrap{flex-direction:column;align-items:flex-start}.ops-top-grid{grid-template-columns:1fr}.ops-progress-card{grid-column:auto}.ops-bars{min-height:170px}.ops-bar-track{height:120px}.ops-evidence-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ops-evidence-grid{grid-template-columns:1fr}.ops-hero-status,.ops-hero-buttons{width:100%}.ops-export-btn,.ops-chip{width:100%;justify-content:center}}

/* Dashboard top compacto estilo referencia del cliente */
.ops-top-shell{
  display:grid;
  gap:10px;
  padding:12px 12px 10px;
  border-radius:20px;
  background:
    radial-gradient(circle at 8% 8%, rgba(31,197,255,.07), transparent 18%),
    linear-gradient(180deg,#081a33 0%, #081d37 100%);
  border:1px solid rgba(76,145,206,.18);
  box-shadow:0 14px 32px rgba(0,0,0,.15);
}
.ops-top-shell .card{
  box-shadow:none;
}
.ops-top-shell .ops-hero,
.ops-top-shell .ops-top-grid article{
  background:linear-gradient(180deg,rgba(12,35,64,.96),rgba(9,28,53,.96));
}
.ops-top-shell .ops-hero{
  padding:10px 12px;
  border-radius:16px;
  min-height:auto;
  gap:14px;
  align-items:center;
}
.ops-top-shell .ops-hero .eyebrow{
  font-size:10px;
  letter-spacing:1.2px;
}
.ops-top-shell .ops-hero h1{
  margin:2px 0 4px;
  font-size:16px;
  line-height:1.08;
}
.ops-top-shell .ops-hero p{
  font-size:10px;
  line-height:1.4;
  max-width:560px;
}
.ops-top-shell .ops-dot-status{
  margin-top:6px;
  font-size:10px;
  gap:6px;
}
.ops-top-shell .ops-dot-status i{
  width:8px;
  height:8px;
}
.ops-top-shell .ops-hero-actions{
  gap:8px;
  min-width:260px;
}
.ops-top-shell .ops-hero-status{
  padding:8px 10px;
  border-radius:12px;
  gap:9px;
}
.ops-top-shell .ops-hero-status-icon{
  width:30px;
  height:30px;
  border-radius:10px;
}
.ops-top-shell .ops-hero-status-icon svg{
  width:15px;
  height:15px;
}
.ops-top-shell .ops-hero-status strong{
  font-size:10px;
}
.ops-top-shell .ops-hero-status small{
  font-size:8px;
}
.ops-top-shell .ops-hero-buttons{
  gap:8px;
}
.ops-top-shell .ops-chip,
.ops-top-shell .ops-export-btn{
  min-height:34px;
  padding:0 12px;
  border-radius:10px;
  font-size:10px;
}
.ops-top-shell .ops-chip svg,
.ops-top-shell .ops-export-btn svg{
  width:13px;
  height:13px;
}
.ops-top-shell .ops-top-grid{
  display:grid;
  grid-template-columns:1.25fr repeat(6, minmax(0,1fr));
  gap:10px;
}
.ops-top-shell .ops-card{
  padding:12px 12px 10px;
  border-radius:16px;
}
.ops-top-shell .ops-progress-card{
  grid-column:span 1;
}
.ops-top-shell .ops-card-head span,
.ops-top-shell .ops-section-head small,
.ops-top-shell .ops-mini-card small,
.ops-top-shell .ops-progress-copy small{
  font-size:10px;
}
.ops-top-shell .ops-progress-wrap{
  gap:12px;
  margin-top:6px;
  align-items:center;
}
.ops-top-shell .ops-ring{
  width:78px;
  height:78px;
}
.ops-top-shell .ops-ring::before{
  inset:8px;
}
.ops-top-shell .ops-ring b{
  font-size:20px;
}
.ops-top-shell .ops-progress-copy strong{
  font-size:11px;
  margin:2px 0 6px;
}
.ops-top-shell .ops-progress-copy p{
  font-size:17px;
}
.ops-top-shell .ops-progress-copy em{
  margin-top:3px;
  font-size:10px;
}
.ops-top-shell .ops-mini-card{
  gap:8px;
}
.ops-top-shell .ops-mini-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.ops-top-shell .ops-mini-icon svg{
  width:15px;
  height:15px;
}
.ops-top-shell .ops-mini-card strong{
  font-size:22px;
  margin:1px 0 2px;
}
.ops-top-shell .ops-mini-card em,
.ops-top-shell .ops-mini-card a{
  font-size:10px;
}
.ops-top-shell .ops-mini-card a{
  opacity:.9;
}
@media (max-width:1520px){
  .ops-top-shell .ops-top-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 2;}
}
@media (max-width:1024px){
  .ops-top-shell{padding:10px;}
  .ops-top-shell .ops-hero{flex-direction:column;align-items:flex-start;}
  .ops-top-shell .ops-hero-actions{justify-items:start;min-width:0;width:100%;}
  .ops-top-shell .ops-hero-buttons{justify-content:flex-start;}
  .ops-top-shell .ops-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 2;}
}
@media (max-width:720px){
  .ops-top-shell .ops-top-grid{grid-template-columns:1fr;}
  .ops-top-shell .ops-progress-card{grid-column:auto;}
  .ops-top-shell .ops-progress-wrap{flex-direction:row;}
}


/* Ajuste KPI superior: tarjetitas compactas como referencia */
.ops-top-shell{
  gap:8px;
  padding:10px;
}
.ops-top-shell .ops-hero{
  padding:10px 12px;
  border-radius:14px;
}
.ops-top-shell .ops-hero .eyebrow{font-size:9px;letter-spacing:1.1px}
.ops-top-shell .ops-hero h1{font-size:14px;margin:2px 0 3px}
.ops-top-shell .ops-hero p{font-size:9px;line-height:1.35;max-width:540px}
.ops-top-shell .ops-dot-status{margin-top:4px;font-size:9px}
.ops-top-shell .ops-hero-actions{min-width:250px;gap:8px}
.ops-top-shell .ops-hero-status{padding:7px 10px;border-radius:11px}
.ops-top-shell .ops-hero-status-icon{width:28px;height:28px}
.ops-top-shell .ops-hero-status-icon svg{width:14px;height:14px}
.ops-top-shell .ops-hero-status strong{font-size:9px}
.ops-top-shell .ops-hero-status small{font-size:7px}
.ops-top-shell .ops-chip,
.ops-top-shell .ops-export-btn{min-height:32px;padding:0 10px;border-radius:9px;font-size:9px}
.ops-top-shell .ops-chip svg,
.ops-top-shell .ops-export-btn svg{width:12px;height:12px}

.ops-top-shell .ops-top-grid{
  grid-template-columns:1.45fr repeat(6,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
.ops-top-shell .ops-card{
  padding:10px 12px 9px;
  border-radius:14px;
  min-height:168px;
}
.ops-top-shell .ops-progress-card{
  grid-column:span 1;
}
.ops-top-shell .ops-card-head span,
.ops-top-shell .ops-mini-card small,
.ops-top-shell .ops-progress-copy small{font-size:10px;line-height:1.2}
.ops-top-shell .ops-progress-wrap{
  gap:10px;
  align-items:center;
  margin-top:8px;
}
.ops-top-shell .ops-ring{
  width:96px;
  height:96px;
  flex:0 0 96px;
}
.ops-top-shell .ops-ring::before{inset:9px}
.ops-top-shell .ops-ring b{font-size:18px}
.ops-top-shell .ops-progress-copy strong{
  font-size:12px;
  line-height:1.25;
  margin:1px 0 6px;
}
.ops-top-shell .ops-progress-copy p{font-size:14px;line-height:1.05;margin-bottom:2px}
.ops-top-shell .ops-progress-copy em{font-size:10px;margin-top:2px}

.ops-top-shell .ops-mini-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:168px;
  gap:10px;
}
.ops-top-shell .ops-mini-icon{
  width:36px;
  height:36px;
  border-radius:12px;
}
.ops-top-shell .ops-mini-icon svg{width:16px;height:16px}
.ops-top-shell .ops-mini-card strong{
  font-size:16px;
  line-height:1;
  margin:2px 0 4px;
}
.ops-top-shell .ops-mini-card em{
  font-size:10px;
  line-height:1.2;
}
.ops-top-shell .ops-mini-card a{
  margin-top:auto;
  padding-top:8px;
  border-top:1px solid rgba(86,130,186,.16);
  font-size:10px;
  line-height:1.2;
}

/* Ajuste de 6-7 tarjetas antes de caer a dos filas */
@media (max-width:1280px){
  .ops-top-shell .ops-top-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 2;}
}
@media (max-width:1024px){
  .ops-top-shell .ops-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 2;}
  .ops-top-shell .ops-card,
  .ops-top-shell .ops-mini-card{min-height:150px;}
}
@media (max-width:640px){
  .ops-top-shell .ops-top-grid{grid-template-columns:1fr;}
  .ops-top-shell .ops-progress-card{grid-column:auto;}
  .ops-top-shell .ops-progress-wrap{flex-direction:row;}
  .ops-top-shell .ops-card,
  .ops-top-shell .ops-mini-card{min-height:auto;}
}

/* Dashboard bloque medio estilo referencia */
.ops-middle-grid{
  grid-template-columns:1.15fr 1.02fr .9fr .48fr;
  gap:10px;
  align-items:stretch;
}
.ops-middle-grid .ops-card{
  padding:10px;
  border-radius:16px;
  min-height:100%;
}
.ops-middle-grid .ops-section-head{margin-bottom:8px}
.ops-middle-grid .ops-section-head small{font-size:10px;color:#c7ddf1}
.ops-middle-grid .ops-section-head h3{font-size:14px;line-height:1.1;margin-top:2px}
.ops-middle-grid .ops-chip{
  min-height:30px;
  padding:0 10px;
  font-size:9px;
  border-radius:9px;
}

/* mapa */
.ops-map-stage{
  min-height:310px;
  border-radius:14px;
  background:linear-gradient(135deg,#0e2748,#0a1d36);
}
.ops-map-surface{
  position:absolute;
  inset:0;
  background:
    linear-gradient(150deg, transparent 0 13%, rgba(182,199,221,.08) 13.5% 16%, transparent 16.5% 100%),
    linear-gradient(56deg, transparent 0 23%, rgba(182,199,221,.09) 23.5% 25.5%, transparent 26% 100%),
    linear-gradient(114deg, transparent 0 33%, rgba(182,199,221,.08) 33.5% 35%, transparent 35.5% 100%),
    linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  opacity:.95;
}
.ops-map-stage::before{
  inset:12px;
  border-radius:12px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.12), transparent 9%),
    radial-gradient(circle at 26% 28%, rgba(255,255,255,.08), transparent 8%),
    radial-gradient(circle at 38% 52%, rgba(255,255,255,.06), transparent 8%),
    linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.0));
}
.ops-map-controls{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:7px;
}
.ops-map-controls button{
  width:34px;
  height:34px;
  border:0;
  border-radius:6px;
  background:rgba(255,255,255,.92);
  color:#374457;
  font-weight:900;
  font-size:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.ops-pin{padding:4px 7px;gap:5px}
.ops-pin b{font-size:10px}
.ops-pin i{width:9px;height:9px}
.ops-pin.ok i{background:#38b7ff;box-shadow:0 0 0 4px rgba(56,183,255,.12)}
.ops-pin.warn i{background:#ffbb21;box-shadow:0 0 0 4px rgba(255,187,33,.12)}
.ops-pin.danger i{background:#ff5b68;box-shadow:0 0 0 4px rgba(255,91,104,.12)}
.ops-pin.transit i{background:#6bff7b;box-shadow:0 0 0 4px rgba(107,255,123,.12)}
.ops-map-legend.fixed{
  left:10px;
  right:10px;
  bottom:10px;
  gap:14px;
  justify-content:flex-start;
}
.ops-map-legend.fixed span{
  padding:0;
  border:0;
  background:transparent;
  color:#c9def3;
  font-size:10px;
}
.ops-map-legend.fixed span i{width:9px;height:9px}
.ops-map-legend.fixed .ok i{background:#38b7ff}
.ops-map-legend.fixed .warn i{background:#ffbb21}
.ops-map-legend.fixed .danger i{background:#ff5b68}
.ops-map-legend.fixed .transit i{background:#6bff7b}

/* barras y gauges */
.ops-bars{min-height:185px;gap:8px;padding:6px 2px 0}
.ops-bar-item{gap:6px}
.ops-bar-track{width:28px;height:132px;border-radius:12px}
.ops-bar-item strong{font-size:10px}
.ops-bar-item span{font-size:9px}
.ops-gauges{
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:8px;
}
.ops-gauge{padding:10px 8px 8px;border-radius:12px}
.ops-gauge-ring{width:66px;height:66px;margin:0 auto 6px}
.ops-gauge-ring::before{inset:8px}
.ops-gauge b{top:28px;font-size:16px}
.ops-gauge span{font-size:9px}

/* tendencia */
.ops-line-chart{margin-top:4px}
.ops-line-chart svg{height:206px}
.ops-line-labels{margin-top:4px;gap:4px}
.ops-line-labels span{font-size:8.5px}

/* flujo */
.ops-flow-list{gap:10px;margin-top:6px}
.ops-flow-step{
  grid-template-columns:38px 1fr;
  gap:10px;
  padding:10px 8px;
  border-radius:12px;
}
.ops-flow-step:not(:last-child)::after{left:18px;height:10px;bottom:-10px}
.ops-flow-icon{width:38px;height:38px}
.ops-flow-icon svg{width:16px;height:16px}
.ops-flow-step strong{font-size:12px}
.ops-flow-step small{font-size:9px}

@media (max-width:1400px){
  .ops-middle-grid{grid-template-columns:1fr 1fr;}
  .ops-flow-card{grid-column:auto;}
}
@media (max-width:1024px){
  .ops-middle-grid{grid-template-columns:1fr;}
  .ops-gauges{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .ops-gauges{grid-template-columns:1fr}
  .ops-map-controls{right:8px}
  .ops-map-legend.fixed{gap:10px;flex-wrap:wrap}
}

/* Ajuste solicitado: bloque medio unido en 3 tarjetitas */
.ops-middle-grid{
  grid-template-columns:1.18fr 1fr .86fr !important;
  gap:10px !important;
  align-items:stretch;
}
.ops-middle-grid .ops-map-card,
.ops-middle-grid .ops-bars-card,
.ops-middle-grid .ops-trend-card{
  min-height:390px;
}
.ops-middle-grid .ops-trend-card{
  display:flex;
  flex-direction:column;
}
.ops-middle-grid .ops-trend-card .ops-line-chart{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.ops-middle-grid .ops-line-chart svg{
  height:215px;
}
.ops-middle-grid .ops-line-labels{
  margin-top:8px;
}
.ops-middle-grid .ops-bars-card .ops-bars{
  min-height:170px;
}
.ops-middle-grid .ops-bars-card .ops-gauges{
  margin-top:10px;
}
.ops-middle-grid .ops-gauge{
  min-height:106px;
}

.ops-flow-row{
  margin-top:10px;
}
.ops-flow-row .ops-card{
  padding:12px;
  border-radius:16px;
}
.ops-flow-row .ops-section-head{
  margin-bottom:10px;
}
.ops-flow-row .ops-section-head small{font-size:10px;color:#c7ddf1}
.ops-flow-row .ops-section-head h3{font-size:14px;line-height:1.1;margin-top:2px}
.ops-flow-list.horizontal{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.ops-flow-list.horizontal .ops-flow-step{
  min-height:78px;
}
.ops-flow-list.horizontal .ops-flow-step:not(:last-child)::after{
  display:none;
}

@media (max-width:1400px){
  .ops-middle-grid{
    grid-template-columns:1fr 1fr 1fr !important;
  }
  .ops-flow-list.horizontal{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:1100px){
  .ops-middle-grid{
    grid-template-columns:1fr !important;
  }
  .ops-middle-grid .ops-map-card,
  .ops-middle-grid .ops-bars-card,
  .ops-middle-grid .ops-trend-card{
    min-height:auto;
  }
  .ops-flow-list.horizontal{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .ops-flow-list.horizontal{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   Dashboard · bloque inferior en 3 tarjetitas como referencia
   ========================================================= */
.ops-bottom-reference{
  display:grid!important;
  grid-template-columns:1.18fr .72fr 1.12fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.ops-bottom-reference>.ops-card{
  padding:10px!important;
  border-radius:16px!important;
  min-height:286px!important;
  background:linear-gradient(180deg,#0e294d,#0a203d)!important;
  border:1px solid rgba(76,145,206,.20)!important;
  box-shadow:none!important;
}
.ops-bottom-reference .ops-section-head{
  margin-bottom:8px!important;
}
.ops-bottom-reference .ops-section-head small{
  color:#c8def2!important;
  font-size:9.5px!important;
  font-weight:800!important;
}
.ops-bottom-reference .ops-section-head h3{
  margin:2px 0 0!important;
  font-size:13px!important;
  line-height:1.1!important;
  color:#fff!important;
}

/* Tarjeta 1 · Activos recientes */
.ops-bottom-reference .ops-table-card{
  display:flex!important;
  flex-direction:column!important;
}
.ops-bottom-reference .ops-table-wrap{
  flex:1!important;
  overflow:hidden!important;
  border-top:1px solid rgba(81,132,184,.14)!important;
}
.ops-bottom-reference .ops-table{
  table-layout:fixed!important;
}
.ops-bottom-reference .ops-table th,
.ops-bottom-reference .ops-table td{
  padding:7px 6px!important;
  border-bottom:1px solid rgba(91,132,183,.12)!important;
  font-size:8.3px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ops-bottom-reference .ops-table th{
  color:#9fc3e0!important;
  font-weight:800!important;
}
.ops-bottom-reference .ops-table td{
  color:#e5f1fc!important;
}
.ops-bottom-reference .ops-table td:nth-child(1){width:18%!important}
.ops-bottom-reference .ops-table td:nth-child(2){width:25%!important}
.ops-bottom-reference .ops-table td:nth-child(3){width:19%!important}
.ops-bottom-reference .ops-table td:nth-child(4){width:23%!important}
.ops-bottom-reference .ops-table td:nth-child(5){width:15%!important}
.ops-bottom-reference .ops-status-pill{
  padding:4px 7px!important;
  font-size:7.5px!important;
}
.ops-bottom-reference .ops-footer-link{
  margin-top:8px!important;
  text-align:center!important;
  font-size:8.5px!important;
  padding-top:7px!important;
  border-top:1px solid rgba(80,127,177,.14)!important;
}

/* Tarjeta 2 · Alertas */
.ops-bottom-reference .ops-alerts-card{
  display:flex!important;
  flex-direction:column!important;
}
.ops-bottom-reference .ops-alert-list{
  display:grid!important;
  gap:7px!important;
  flex:1!important;
}
.ops-bottom-reference .ops-alert-item{
  grid-template-columns:30px 1fr auto!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:10px!important;
}
.ops-bottom-reference .ops-alert-icon{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
}
.ops-bottom-reference .ops-alert-icon svg{
  width:14px!important;
  height:14px!important;
}
.ops-bottom-reference .ops-alert-item strong{
  font-size:8.8px!important;
  line-height:1.2!important;
}
.ops-bottom-reference .ops-alert-item small{
  margin-top:2px!important;
  font-size:7.4px!important;
  line-height:1.25!important;
}
.ops-bottom-reference .ops-alert-item em{
  font-size:7px!important;
  white-space:nowrap!important;
}

/* Tarjeta 3 · Evidencia fotográfica */
.ops-bottom-reference .ops-evidence-card{
  display:flex!important;
  flex-direction:column!important;
}
.ops-bottom-reference .ops-evidence-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  flex:1!important;
}
.ops-bottom-reference .ops-evidence-item{
  border-radius:10px!important;
  min-width:0!important;
}
.ops-bottom-reference .ops-evidence-thumb{
  aspect-ratio:16/9!important;
}
.ops-bottom-reference .ops-evidence-copy{
  padding:6px 7px!important;
}
.ops-bottom-reference .ops-evidence-copy strong{
  min-height:0!important;
  font-size:8px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ops-bottom-reference .ops-evidence-copy small{
  margin-top:2px!important;
  font-size:6.8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ops-bottom-reference .ops-evidence-empty{
  grid-column:1/-1!important;
  padding:22px 10px!important;
  font-size:9px!important;
}

/* Que las tres tarjetas se mantengan unidas en escritorio */
@media(max-width:1280px){
  .ops-bottom-reference{
    grid-template-columns:1fr 1fr!important;
  }
  .ops-bottom-reference .ops-evidence-card{
    grid-column:1/-1!important;
  }
}
@media(max-width:900px){
  .ops-bottom-reference{
    grid-template-columns:1fr!important;
  }
  .ops-bottom-reference .ops-evidence-card{
    grid-column:auto!important;
  }
}
@media(max-width:560px){
  .ops-bottom-reference .ops-evidence-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Dashboard inferior FINAL · siempre 3 tarjetas en escritorio */
.ops-bottom-grid.ops-bottom-reference{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.72fr) minmax(0,1.12fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
.ops-bottom-grid.ops-bottom-reference>.ops-card{
  grid-column:auto!important;
  min-width:0!important;
  min-height:276px!important;
  padding:10px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#0d294d,#0a203d)!important;
  border:1px solid rgba(76,145,206,.22)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.10)!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-section-head{
  margin-bottom:7px!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-section-head small{
  font-size:8.8px!important;
  color:#9ec6e6!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-section-head h3{
  font-size:12.5px!important;
  margin:1px 0 0!important;
}
/* tabla compacta */
.ops-bottom-grid.ops-bottom-reference .ops-table-wrap{overflow:hidden!important;flex:1!important}
.ops-bottom-grid.ops-bottom-reference .ops-table{table-layout:fixed!important;width:100%!important}
.ops-bottom-grid.ops-bottom-reference .ops-table th,
.ops-bottom-grid.ops-bottom-reference .ops-table td{
  padding:6px 5px!important;
  font-size:7.8px!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-status-pill{padding:3px 6px!important;font-size:7px!important}
.ops-bottom-grid.ops-bottom-reference .ops-footer-link{margin-top:7px!important;padding-top:6px!important;font-size:8px!important}
/* alertas compactas */
.ops-bottom-grid.ops-bottom-reference .ops-alert-list{gap:6px!important}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item{
  grid-template-columns:27px minmax(0,1fr) auto!important;
  padding:7px!important;
  gap:7px!important;
  border-radius:9px!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-alert-icon{width:27px!important;height:27px!important;border-radius:8px!important}
.ops-bottom-grid.ops-bottom-reference .ops-alert-icon svg{width:13px!important;height:13px!important}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item strong{font-size:8px!important}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item small{font-size:6.9px!important}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item em{font-size:6.8px!important}
/* fotos 3x2 compactas */
.ops-bottom-grid.ops-bottom-reference .ops-evidence-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  align-content:start!important;
}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-item{border-radius:9px!important;overflow:hidden!important;min-width:0!important}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-thumb{aspect-ratio:16/8.4!important;max-height:82px!important}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-copy{padding:5px 6px!important}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-copy strong{font-size:7.4px!important;line-height:1.1!important;min-height:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-copy small{font-size:6.3px!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* No pasar a dos filas mientras haya espacio de escritorio */
@media(max-width:980px){
  .ops-bottom-grid.ops-bottom-reference{
    grid-template-columns:1fr 1fr!important;
  }
  .ops-bottom-grid.ops-bottom-reference .ops-evidence-card{
    grid-column:1/-1!important;
  }
}
@media(max-width:700px){
  .ops-bottom-grid.ops-bottom-reference{
    grid-template-columns:1fr!important;
  }
  .ops-bottom-grid.ops-bottom-reference .ops-evidence-card{
    grid-column:auto!important;
  }
}

/* Refinado final dashboard para acercarlo más a la referencia del cliente */
.ops-dashboard{
  gap:10px;
}
.ops-dashboard .card,
.ops-dashboard .ops-card{
  border:1px solid rgba(76,145,206,.18);
  box-shadow:0 10px 24px rgba(1,8,20,.16);
}
.ops-head-dot{
  display:inline-block;
  width:8px;
  height:8px;
  margin-left:6px;
  border-radius:999px;
  background:#ff4b5d;
  box-shadow:0 0 0 4px rgba(255,75,93,.10);
  vertical-align:middle;
}
.ops-head-link{
  color:#95d4ff;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

/* Cabecera superior */
.ops-top-shell{
  border-radius:20px;
  overflow:hidden;
}
.ops-top-shell .ops-hero{
  background:linear-gradient(180deg,rgba(11,34,62,.96),rgba(8,25,47,.96));
}
.ops-top-shell .ops-hero h1{
  font-size:15px;
}
.ops-top-shell .ops-hero p{
  opacity:.92;
}
.ops-top-shell .ops-hero-buttons{
  align-items:center;
}
.ops-top-shell .ops-date{
  min-width:122px;
  justify-content:center;
}
.ops-top-shell .ops-export-btn{
  background:linear-gradient(135deg,#35b7ff,#3f78ff);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 22px rgba(63,120,255,.18);
}
.ops-top-shell .ops-progress-card,
.ops-top-shell .ops-mini-card{
  background:linear-gradient(180deg,rgba(11,34,62,.97),rgba(8,25,47,.97));
}
.ops-top-shell .ops-mini-icon,
.ops-top-shell .ops-hero-status-icon,
.ops-bottom-grid .ops-alert-icon{
  color:#f4fbff;
}
.ops-top-shell .ops-mini-icon svg,
.ops-top-shell .ops-hero-status-icon svg,
.ops-bottom-grid .ops-alert-icon svg,
.ops-evidence-card .ops-section-head svg{
  width:16px;
  height:16px;
}
.ops-top-shell .ops-mini-icon svg path,
.ops-top-shell .ops-mini-icon svg circle,
.ops-top-shell .ops-mini-icon svg rect,
.ops-top-shell .ops-hero-status-icon svg path,
.ops-top-shell .ops-hero-status-icon svg circle,
.ops-top-shell .ops-hero-status-icon svg rect,
.ops-bottom-grid .ops-alert-icon svg path,
.ops-bottom-grid .ops-alert-icon svg circle,
.ops-bottom-grid .ops-alert-icon svg rect{
  stroke:currentColor;
}
.ops-top-shell .ops-mini-card strong{
  font-size:18px;
}
.ops-top-shell .ops-mini-card small{
  color:#d6e8f8;
}
.ops-top-shell .ops-mini-card em{
  color:#6fff8b;
}
.ops-top-shell .ops-mini-card:nth-child(4) em{
  color:#ff7474;
}
.ops-top-shell .ops-progress-copy p{
  color:#2ebdff;
}

/* Bloque medio */
.ops-middle-grid .ops-card,
.ops-bottom-grid.ops-bottom-reference>.ops-card{
  background:linear-gradient(180deg,#0c2748,#091f3b) !important;
}
.ops-middle-grid .ops-section-head,
.ops-bottom-grid .ops-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.ops-middle-grid .ops-section-head small,
.ops-bottom-grid .ops-section-head small{
  letter-spacing:.15px;
}
.ops-map-stage{
  min-height:300px;
}
.ops-map-stage::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 30%, rgba(124,178,255,.10), transparent 18%), radial-gradient(circle at 76% 24%, rgba(124,178,255,.08), transparent 14%);
  pointer-events:none;
}
.ops-map-controls button{
  width:32px;
  height:32px;
}
.ops-bar-track{
  background:linear-gradient(180deg,rgba(52,90,141,.35),rgba(16,42,78,.75));
}
.ops-bar-track i{
  background:linear-gradient(180deg,#4fe1ff,#2a8dff);
  box-shadow:0 0 12px rgba(50,180,255,.18);
}
.ops-gauge{
  background:linear-gradient(180deg,rgba(11,33,61,.9),rgba(8,25,46,.95));
}
.ops-gauge-ring{
  filter:drop-shadow(0 0 6px rgba(50,180,255,.15));
}
.ops-line-chart svg .goal{
  stroke:#ff6677;
  stroke-dasharray:4 4;
}
.ops-line-chart svg .path{
  stroke:#32c1ff;
}
.ops-line-chart svg circle{
  fill:#6ed8ff;
  stroke:#d9f5ff;
  stroke-width:2;
}

/* Bloque inferior */
.ops-bottom-grid.ops-bottom-reference{
  gap:10px;
}
.ops-bottom-grid.ops-bottom-reference>.ops-card{
  min-height:302px !important;
}
.ops-bottom-grid.ops-bottom-reference .ops-table-card,
.ops-bottom-grid.ops-bottom-reference .ops-alerts-card,
.ops-bottom-grid.ops-bottom-reference .ops-evidence-card{
  position:relative;
}
.ops-bottom-grid.ops-bottom-reference .ops-table th,
.ops-bottom-grid.ops-bottom-reference .ops-table td{
  font-size:8px !important;
}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item.critical{
  background:linear-gradient(180deg,rgba(62,22,45,.95),rgba(47,19,41,.94));
  border-color:rgba(220,75,93,.42);
}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item.warning{
  background:linear-gradient(180deg,rgba(44,37,21,.94),rgba(38,31,19,.92));
  border-color:rgba(232,171,47,.32);
}
.ops-bottom-grid.ops-bottom-reference .ops-alert-item.info{
  background:linear-gradient(180deg,rgba(10,35,64,.95),rgba(9,28,53,.94));
}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-grid{
  grid-auto-rows:1fr;
}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-thumb{
  max-height:88px !important;
}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-item{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.ops-bottom-grid.ops-bottom-reference .ops-evidence-item:hover{
  transform:translateY(-1px);
}

@media (max-width:1380px){
  .ops-top-shell .ops-top-grid{grid-template-columns:1.3fr repeat(3,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 1;}
}
@media (max-width:1100px){
  .ops-top-shell .ops-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ops-top-shell .ops-progress-card{grid-column:span 2;}
}

/* =========================================================
   DASHBOARD LUMINOSO · diseño elegido por el usuario
   ========================================================= */
.neo-dashboard{display:grid;gap:10px;color:#eef9ff;font-family:inherit}
.neo-dashboard *{box-sizing:border-box}
.neo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 6px 0}
.neo-title h1{margin:0;color:#fff;font-size:23px;line-height:1.05;font-weight:850;letter-spacing:-.35px}.neo-title>span{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:#a9cfe9;font-size:10px}.neo-title>span i{width:8px;height:8px;border-radius:50%;background:#24bfff;box-shadow:0 0 10px #24bfff}
.neo-head-actions{display:grid;grid-template-columns:auto 38px 38px;grid-template-areas:'secure bell full' 'date export export';gap:7px;justify-items:end}.neo-secure{grid-area:secure;display:flex;align-items:center;gap:8px;min-width:208px;min-height:42px;padding:7px 12px;border-radius:9px;background:linear-gradient(180deg,rgba(9,29,54,.96),rgba(6,20,39,.98));border:1px solid rgba(91,172,234,.22);box-shadow:0 0 14px rgba(24,178,255,.07)}.neo-secure svg{width:16px;height:16px;stroke:#eef9ff}.neo-secure strong,.neo-secure small{display:block}.neo-secure strong{font-size:9px;color:#fff}.neo-secure small{font-size:7px;color:#a6c0d6;margin-top:1px}.neo-notify,.neo-fullscreen{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#081a31;border:1px solid rgba(86,146,201,.18);position:relative}.neo-notify{grid-area:bell}.neo-fullscreen{grid-area:full;font-size:18px;color:#d6eaff}.neo-notify svg{width:16px;height:16px;stroke:#cce8ff}.neo-notify b{position:absolute;right:-2px;top:-5px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#ff4b55;color:#fff;font-size:8px}.neo-date{grid-area:date;display:flex;align-items:center;gap:7px;min-width:176px;height:36px;padding:0 11px;border-radius:8px;background:#081a31;border:1px solid rgba(86,146,201,.2);color:#cce0f1;font-size:9px}.neo-date svg{width:14px;height:14px;stroke:#a6cbe6}.neo-export{grid-area:export;display:flex;align-items:center;justify-content:center;gap:8px;min-width:178px;height:36px;border-radius:8px;background:linear-gradient(90deg,#23bfff,#2f78ff);border:1px solid rgba(131,219,255,.34);box-shadow:0 0 18px rgba(29,173,255,.22);color:#fff!important;font-size:9px;font-weight:850;text-decoration:none}.neo-export svg{width:13px;height:13px;stroke:#fff}.neo-export span{margin-left:auto;padding:0 8px;border-left:1px solid rgba(255,255,255,.16)}
.neo-card{background:linear-gradient(180deg,rgba(12,36,65,.97),rgba(8,27,51,.985));border:1px solid rgba(70,157,219,.38);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(62,195,255,.04),0 0 13px rgba(31,168,255,.08);overflow:hidden}.neo-card:hover{border-color:rgba(59,192,255,.55)}
.neo-kpis{display:grid;grid-template-columns:1.5fr repeat(6,minmax(0,1fr));gap:8px}.neo-progress{padding:10px 12px}.neo-progress>small{display:block;color:#d8eafb;font-size:9px;font-weight:800}.neo-progress-body{display:flex;align-items:center;gap:13px;margin-top:5px}.neo-ring{--p:0;display:grid;place-items:center;width:86px;height:86px;flex:0 0 86px;border-radius:50%;background:conic-gradient(#4df3ff 0 calc(var(--p)*1%),#178eff calc(var(--p)*1%) calc(var(--p)*1% + 3%),rgba(86,121,165,.26) 0);position:relative;filter:drop-shadow(0 0 8px rgba(52,219,255,.38))}.neo-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#09213f;border:1px solid rgba(95,191,255,.15);box-shadow:inset 0 0 13px rgba(22,152,255,.18)}.neo-ring b{position:relative;z-index:1;font-size:22px;color:#fff}.neo-progress-body p{margin:0 0 5px;color:#acc7db;font-size:8.5px;line-height:1.3}.neo-progress-body strong{display:block;color:#3bcfff;font-size:12px}.neo-progress-body em{display:block;color:#b7cde0;font-size:8px;font-style:normal;margin-top:2px}.neo-kpi{display:flex;flex-direction:column;padding:11px 11px 8px;min-height:130px}.neo-kpi-top{display:flex;align-items:flex-start;gap:8px}.neo-kpi-top small{color:#c8dcec;font-size:8.5px;line-height:1.2}.neo-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:rgba(30,80,121,.17)}.neo-icon svg{width:17px;height:17px;stroke:currentColor}.neo-icon.cyan{color:#8bd8ff}.neo-icon.yellow{color:#ffc73c}.neo-icon.red{color:#ff5663}.neo-icon.aqua{color:#39e5de}.neo-icon.blue{color:#72aaff}.neo-icon.sky{color:#50c9ff}.neo-kpi>strong{display:block;margin:7px 0 3px;color:#fff;font-size:20px;line-height:1}.neo-kpi>em{font-style:normal;font-size:8px;font-weight:750}.neo-kpi>em.ok{color:#65e969}.neo-kpi>em.warn{color:#ffc12b}.neo-kpi>em.danger{color:#ff5b62}.neo-kpi>a{margin-top:auto;padding-top:8px;border-top:1px solid rgba(90,143,190,.15);color:#54c3ff!important;font-size:8px;font-weight:800;text-decoration:none}
.neo-main-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr .48fr;gap:8px;align-items:stretch}.neo-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 6px}.neo-card-head>strong{font-size:9px;color:#fff}.neo-card-head button{height:24px;padding:0 8px;border-radius:6px;border:1px solid rgba(77,133,183,.25);background:#0a1e38;color:#bcd1e2;font-size:7px}.neo-map-card,.neo-category-card,.neo-trend-card,.neo-flow-card{min-height:308px}.neo-map{position:relative;height:276px;margin:0 7px 7px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#102d50,#0b223e)}.neo-map:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 14%,rgba(164,196,224,.12) 14.5% 17%,transparent 17.5% 100%),linear-gradient(54deg,transparent 0 29%,rgba(164,196,224,.11) 29.5% 31%,transparent 31.5% 100%),linear-gradient(112deg,transparent 0 42%,rgba(164,196,224,.08) 42.5% 44%,transparent 44.5% 100%),linear-gradient(35deg,transparent 0 63%,rgba(164,196,224,.09) 63.5% 65%,transparent 65.5% 100%),radial-gradient(circle at 20% 30%,rgba(22,96,152,.22),transparent 22%),radial-gradient(circle at 74% 55%,rgba(14,75,131,.18),transparent 18%)}.neo-map-lines{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:22px 22px}.neo-map-pin{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;background:#082844;border:2px solid #fff;box-shadow:0 0 0 3px rgba(37,188,255,.12),0 0 10px currentColor;z-index:3}.neo-map-pin i{position:absolute;inset:3px;border-radius:50%;background:currentColor}.neo-map-pin.blue{color:#36baff}.neo-map-pin.green{color:#63e580}.neo-map-pin.red{color:#ff5a63}.neo-map-tools{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:grid;gap:5px;z-index:4}.neo-map-tools button{width:30px;height:30px;border:0;border-radius:5px;background:#f8fbff;color:#324153;font-size:14px;font-weight:900}.neo-map-legend{position:absolute;left:8px;right:8px;bottom:5px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;z-index:4}.neo-map-legend span{display:flex;align-items:center;gap:5px;color:#c4d8e8;font-size:7px}.neo-map-legend i{width:8px;height:8px;border-radius:50%}.neo-map-legend .blue i{background:#28b9ff}.neo-map-legend .yellow i{background:#ffc432}.neo-map-legend .red i{background:#ff5b64}.neo-map-legend .green i{background:#65e779}
.neo-category-card{padding-bottom:6px}.neo-bars{display:flex;align-items:flex-end;gap:8px;height:166px;padding:5px 12px 0}.neo-bar-item{flex:1;display:grid;justify-items:center;gap:4px}.neo-bar-item>b{font-size:7.5px;color:#fff}.neo-bar{width:23px;height:114px;border-radius:7px 7px 2px 2px;background:#112b4a;border:1px solid rgba(64,131,190,.19);position:relative;overflow:hidden}.neo-bar i{position:absolute;left:0;right:0;bottom:0;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#3be6ff,#2789ff);box-shadow:0 0 10px rgba(45,177,255,.22)}.neo-bar-item>span{max-width:50px;color:#a9c5db;font-size:6.6px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:5px 6px 0}.neo-gauge{padding:6px 5px 5px;border:1px solid rgba(64,123,179,.18);border-radius:8px;background:#0a203b;text-align:center}.neo-gauge>span{display:block;color:#b6cfe2;font-size:6.7px;white-space:nowrap}.neo-gauge>small{display:block;color:#b8cad9;font-size:6.3px;margin-top:1px}.neo-half{--p:0;position:relative;width:66px;height:36px;margin:4px auto 0;overflow:hidden}.neo-half:before{content:"";position:absolute;left:0;top:0;width:66px;height:66px;border-radius:50%;background:conic-gradient(from 270deg,#35d9ff 0 calc(var(--p)*1.8deg),#ffbf37 calc(var(--p)*1.8deg) calc(var(--p)*1.8deg + 26deg),#ff5d61 calc(var(--p)*1.8deg + 26deg) 180deg,rgba(80,116,154,.28) 180deg 360deg);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0)}.neo-half.green:before{background:conic-gradient(from 270deg,#69ef68 0 calc(var(--p)*1.8deg),rgba(80,116,154,.28) 0 180deg,transparent 180deg)}.neo-half.amber:before{background:conic-gradient(from 270deg,#ffbd32 0 calc(var(--p)*1.8deg),#ff5e62 calc(var(--p)*1.8deg) 180deg,rgba(80,116,154,.28) 180deg 360deg)}.neo-half b{position:absolute;left:0;right:0;bottom:0;color:#fff;font-size:14px;z-index:2}
.neo-trend{padding:1px 8px 6px}.neo-trend svg{display:block;width:100%;height:190px}.neo-trend .grid line{stroke:rgba(123,169,207,.16);stroke-width:1}.neo-trend .goal{fill:none;stroke:#ff6574;stroke-width:1.4;stroke-dasharray:4 4}.neo-trend .trend{fill:none;stroke:#31cfff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.neo-trend circle{fill:#3ad5ff;stroke:#d9f8ff;stroke-width:1.4}.neo-trend-labels{display:flex;justify-content:space-between;gap:3px;margin-top:-8px}.neo-trend-labels span{flex:1;color:#9ab9d0;font-size:6px;text-align:center}.neo-trend-legend{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:9px;color:#9eb9ce;font-size:6.5px}.neo-trend-legend .line{width:16px;height:2px;background:#31cfff}.neo-trend-legend .dash{width:16px;border-top:1px dashed #ff6574;margin-left:7px}
.neo-flow{display:grid;justify-items:center;padding:3px 7px 7px}.neo-flow-step{width:100%;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;padding:4px 0}.neo-flow-step>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#09213d;border:1px solid rgba(79,166,220,.45);color:#d8f3ff;box-shadow:0 0 9px rgba(49,197,255,.08)}.neo-flow-step>span svg{width:17px;height:17px;stroke:currentColor}.neo-flow-step.active>span,.neo-flow-step.done>span{color:#50e6ff;box-shadow:0 0 12px rgba(49,215,255,.25)}.neo-flow-step.done:nth-of-type(5)>span{color:#76ee81}.neo-flow-step b{display:block;color:#fff;font-size:8px}.neo-flow-step small{display:block;color:#9db8ce;font-size:6.5px;margin-top:1px}.neo-flow-arrow{font-style:normal;color:#e7f4ff;font-size:13px;line-height:1;margin:-1px 0}
.neo-bottom-grid{display:grid;grid-template-columns:1.05fr .65fr 1.05fr;gap:8px}.neo-table-card,.neo-alert-card,.neo-evidence-card{min-height:227px}.neo-table-wrap{overflow:hidden;padding:0 8px}.neo-table-wrap table{width:100%;border-collapse:collapse;table-layout:fixed}.neo-table-wrap th,.neo-table-wrap td{padding:5px 4px;border-bottom:1px solid rgba(86,135,178,.14);font-size:6.8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-table-wrap th{color:#a9c8de;font-weight:800}.neo-table-wrap td{color:#dcecf8}.neo-table-wrap td svg{width:11px;height:11px;stroke:#b8d7ed}.neo-status{font-size:6.3px;font-weight:800}.neo-status.ok{color:#62e978}.neo-status.warn{color:#ffc335}.neo-footer-link{display:block;margin:6px 8px 0;padding-top:6px;border-top:1px solid rgba(80,128,171,.12);color:#49c0ff!important;font-size:7px;text-align:center;text-decoration:none}.neo-badge{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#ff4c56;color:#fff;font-size:7px;margin-left:4px}.neo-alerts{display:grid;gap:6px;padding:0 7px}.neo-alert{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px;padding:7px;border-radius:8px;background:#241c2b;border:1px solid rgba(219,73,86,.3)}.neo-alert>span{display:grid;place-items:center;color:#ff666d}.neo-alert>span svg{width:16px;height:16px;stroke:currentColor}.neo-alert b{display:block;color:#ff7277;font-size:7.5px}.neo-alert small{display:block;color:#b8c9d8;font-size:6.4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-alert.info{background:#0b243f;border-color:rgba(62,134,193,.2)}.neo-alert.info b{color:#ffd45a}.neo-evidence-card .neo-card-head>a{color:#49c0ff!important;font-size:7px;text-decoration:none}.neo-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 7px 7px}.neo-photo{border:1px solid rgba(75,139,193,.17);border-radius:7px;background:#0a203b;overflow:hidden}.neo-photo-img{height:72px;position:relative;overflow:hidden;background:#07192f}.neo-photo-img img{width:100%;height:100%;object-fit:cover;display:block}.neo-photo-img>span{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:16px;height:16px;border-radius:5px;background:rgba(10,27,48,.75);color:#eef9ff}.neo-photo-img svg{width:10px;height:10px;stroke:currentColor}.neo-photo>div:last-child{padding:4px 5px}.neo-photo b{display:block;color:#f5fbff;font-size:6.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-photo small{display:block;color:#91b6d0;font-size:5.8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1380px){.neo-kpis{grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}.neo-main-grid{grid-template-columns:1.15fr 1fr 1fr .52fr}.neo-photo-img{height:64px}}
@media(max-width:1180px){.neo-head{flex-direction:column}.neo-head-actions{align-self:stretch;grid-template-columns:auto 38px 38px;justify-items:start}.neo-kpis{grid-template-columns:repeat(3,1fr)}.neo-progress{grid-column:span 2}.neo-main-grid{grid-template-columns:1fr 1fr}.neo-flow-card{grid-column:2}.neo-bottom-grid{grid-template-columns:1fr 1fr}.neo-evidence-card{grid-column:1/-1}.neo-evidence-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.neo-head-actions{grid-template-columns:1fr 38px 38px;grid-template-areas:'secure bell full' 'date date date' 'export export export'}.neo-secure,.neo-date,.neo-export{width:100%;min-width:0}.neo-kpis{grid-template-columns:1fr 1fr}.neo-progress{grid-column:span 2}.neo-main-grid,.neo-bottom-grid{grid-template-columns:1fr}.neo-flow-card,.neo-evidence-card{grid-column:auto}.neo-evidence-grid{grid-template-columns:repeat(2,1fr)}}

/* Dashboard luminoso: cabecera limpia como referencia del usuario */
.neo-head.neo-head-clean{
  align-items:flex-start;
  padding:2px 6px 0;
  gap:14px;
}
.neo-head-clean .neo-title{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.neo-head-clean .neo-title h1{
  margin:0;
}
.neo-head-clean .neo-title span{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  color:#dff4ff;
}
.neo-head-clean .neo-title span i{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#2bc4ff;
  box-shadow:0 0 12px rgba(43,196,255,.8);
}
.neo-head-actions-clean{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  grid-template:none !important;
  grid-template-areas:none !important;
}
.neo-head-actions-clean .neo-date,
.neo-head-actions-clean .neo-export{
  margin:0;
}
.neo-head-actions-clean .neo-date{
  min-width:170px;
  height:38px;
  padding:0 12px;
  border-radius:9px;
  background:linear-gradient(180deg,rgba(9,29,54,.96),rgba(6,20,39,.98));
  box-shadow:0 0 16px rgba(20,155,255,.08);
}
.neo-head-actions-clean .neo-export{
  min-width:198px;
  height:38px;
  border-radius:9px;
  background:linear-gradient(90deg,#42ccff 0%, #338fff 46%, #2b7bff 100%);
  box-shadow:0 0 20px rgba(29,173,255,.25);
}
.neo-head-actions-clean .neo-export span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:20px;
  padding:0 0 0 8px;
}
/* Ocultar restos antiguos si siguieran renderizados por caché */
.neo-head .neo-secure,
.neo-head .neo-notify,
.neo-head .neo-fullscreen{
  display:none !important;
}

@media(max-width:900px){
  .neo-head.neo-head-clean{
    flex-direction:column;
    align-items:stretch;
  }
  .neo-head-actions-clean{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:560px){
  .neo-head-actions-clean{
    flex-direction:column;
    align-items:stretch;
  }
  .neo-head-actions-clean .neo-date,
  .neo-head-actions-clean .neo-export{
    width:100%;
    min-width:0;
  }
}


/* Dashboard luminoso · cabecera y botones fieles a la referencia */
.neo-head.neo-head-clean{
  min-height:92px!important;
  padding:8px 10px 6px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  background:transparent!important;
}
.neo-head-clean .neo-title{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding-top:1px!important;
}
.neo-head-clean .neo-title h1{
  margin:0!important;
  font-size:25px!important;
  line-height:1.08!important;
  font-weight:500!important;
  letter-spacing:-.25px!important;
  color:#f5f8fc!important;
  text-shadow:none!important;
}
.neo-head-clean .neo-title span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  color:#a9d7f5!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1!important;
}
.neo-head-clean .neo-title span i{
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#21bfff!important;
  box-shadow:0 0 10px rgba(33,191,255,.92)!important;
}
.neo-head-actions-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:flex-end!important;
  gap:12px!important;
  padding-bottom:1px!important;
}
.neo-head-actions-clean .neo-date{
  position:relative!important;
  display:grid!important;
  grid-template-columns:18px 1fr 18px!important;
  align-items:center!important;
  gap:8px!important;
  width:215px!important;
  min-width:215px!important;
  height:40px!important;
  padding:0 11px!important;
  border-radius:9px!important;
  border:1px solid rgba(94,155,214,.28)!important;
  background:linear-gradient(180deg,rgba(20,47,79,.88),rgba(11,31,57,.96))!important;
  color:#bdcfe2!important;
  font-size:10.5px!important;
  font-weight:500!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 0 18px rgba(24,134,224,.07)!important;
}
.neo-head-actions-clean .neo-date svg{
  width:15px!important;
  height:15px!important;
  stroke:#8da7bd!important;
  stroke-width:1.7!important;
}
.neo-date-cal,.neo-date-refresh{
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
}
.neo-date-text{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.neo-date-refresh svg{
  width:13px!important;
  height:13px!important;
  opacity:.8!important;
}
.neo-head-actions-clean .neo-export{
  display:grid!important;
  grid-template-columns:1fr 28px 26px!important;
  align-items:center!important;
  width:205px!important;
  min-width:205px!important;
  height:40px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:9px!important;
  border:1px solid rgba(119,220,255,.52)!important;
  background:linear-gradient(90deg,#39c7f4 0%,#3299ef 48%,#2e75e9 100%)!important;
  color:#fff!important;
  box-shadow:0 0 18px rgba(39,180,255,.34),inset 0 1px 0 rgba(255,255,255,.18)!important;
  text-decoration:none!important;
  font-size:10.5px!important;
  font-weight:600!important;
}
.neo-export-label{
  display:block!important;
  padding-left:14px!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.neo-export-download,
.neo-export-drop{
  display:grid!important;
  place-items:center!important;
  height:100%!important;
}
.neo-export-download svg{
  width:14px!important;
  height:14px!important;
  stroke:#eaf9ff!important;
  stroke-width:1.8!important;
}
.neo-export-drop{
  margin:0!important;
  padding:0!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  color:#eaf5ff!important;
  font-size:13px!important;
}
.neo-head-actions-clean .neo-export:hover{
  filter:brightness(1.05)!important;
  box-shadow:0 0 24px rgba(39,180,255,.44),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
@media(max-width:900px){
  .neo-head.neo-head-clean{min-height:auto!important;flex-direction:column!important;align-items:stretch!important}
  .neo-head-actions-clean{align-self:auto!important;justify-content:flex-start!important;flex-wrap:wrap!important}
}
@media(max-width:560px){
  .neo-head-clean .neo-title h1{font-size:21px!important}
  .neo-head-actions-clean{flex-direction:column!important;align-items:stretch!important}
  .neo-head-actions-clean .neo-date,
  .neo-head-actions-clean .neo-export{width:100%!important;min-width:0!important}
}

/* =============================================================
   DASHBOARD X · operativo, compacto y accionable
   Mantiene intacto el menú general del sistema.
   ============================================================= */
.dashx-dashboard{display:grid;gap:10px;color:#edf7ff;font-family:inherit}.dashx-dashboard *{box-sizing:border-box}.dashx-card{background:linear-gradient(180deg,#0d294d 0%,#091f3c 100%);border:1px solid rgba(74,138,201,.28);border-radius:13px;box-shadow:0 10px 26px rgba(0,0,0,.12);overflow:hidden}.dashx-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 3px 4px}.dashx-title h1{margin:0;color:#fff;font-size:22px;line-height:1.08;font-weight:900}.dashx-title span{display:flex;align-items:center;gap:7px;margin-top:6px;color:#8edbff;font-size:10px;font-weight:700}.dashx-title span i{width:8px;height:8px;border-radius:50%;background:#1ab8ff;box-shadow:0 0 10px rgba(26,184,255,.8)}.dashx-header-tools{display:flex;align-items:center;gap:8px;justify-content:flex-end}.dashx-global-search{display:flex;align-items:center;gap:7px;width:335px;height:36px;padding:0 10px;border-radius:9px;background:#071a32;border:1px solid rgba(71,126,181,.28)}.dashx-global-search svg{width:14px;height:14px;color:#91b4d4}.dashx-global-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e9f5ff;font-size:9px}.dashx-global-search input::placeholder{color:#7c9ab8}.dashx-global-search kbd{padding:2px 5px;border-radius:5px;background:#0e3159;color:#65c6ff;font-size:7px;font-family:inherit}.dashx-date,.dashx-export{display:flex;align-items:center;gap:7px;height:36px;border-radius:9px;font-size:9px;font-weight:800;white-space:nowrap}.dashx-date{padding:0 11px;background:#0a203d;border:1px solid rgba(76,134,190,.27);color:#cfe2f4}.dashx-date svg,.dashx-export svg{width:14px;height:14px}.dashx-date b,.dashx-export b{font-size:10px;font-weight:800}.dashx-export{padding:0 11px;background:linear-gradient(90deg,#28afff,#2d78ff);border:1px solid rgba(110,204,255,.35);color:#fff!important;text-decoration:none;box-shadow:0 0 18px rgba(40,158,255,.16)}.dashx-export b{padding-left:8px;border-left:1px solid rgba(255,255,255,.18)}

.dashx-quick-form{display:grid;grid-template-columns:280px minmax(260px,1fr) 152px;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border-radius:12px;background:linear-gradient(180deg,#0e294d,#0a213f);border:1px solid rgba(74,139,202,.26);box-shadow:0 8px 20px rgba(0,0,0,.09)}.dashx-quick-label{display:flex;align-items:center;gap:14px}.dashx-quick-label strong{color:#fff;font-size:11px;white-space:nowrap}.dashx-quick-label span{color:#9fb9d2;font-size:8px;line-height:1.25}.dashx-quick-input input{width:100%;height:38px;border-radius:8px;border:1px solid rgba(76,137,196,.34);background:#081b35;color:#fff;padding:0 12px;outline:0;font-size:10px}.dashx-quick-input input:focus{border-color:#33aaff;box-shadow:0 0 0 3px rgba(51,170,255,.08)}.dashx-quick-form button{height:38px;border:0;border-radius:8px;background:linear-gradient(90deg,#268eff,#1776f7);color:#fff;font-size:9px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.dashx-quick-form button svg{width:15px;height:15px}

.dashx-kpis{display:grid;grid-template-columns:1.35fr repeat(6,minmax(0,1fr));gap:8px}.dashx-kpis>.dashx-card{min-height:138px}.dashx-progress-card{padding:11px 12px;display:flex;flex-direction:column}.dashx-progress-card>small{color:#fff;font-size:9px;font-weight:800}.dashx-progress-body{display:flex;align-items:center;gap:11px;flex:1}.dashx-ring{--p:0;position:relative;width:78px;height:78px;flex:0 0 78px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#28d9ff calc(var(--p)*1%),#1b3655 0);filter:drop-shadow(0 0 8px rgba(40,198,255,.18))}.dashx-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#0a2548;border:1px solid rgba(87,150,210,.18)}.dashx-ring b{position:relative;z-index:1;font-size:18px;color:#fff}.dashx-progress-body span{display:block;color:#a9c4dd;font-size:8px;line-height:1.35}.dashx-progress-body strong{display:block;margin-top:4px;color:#33c7ff;font-size:12px}.dashx-progress-body em{display:block;color:#9dbad5;font-size:8px;font-style:normal}.dashx-progress-card>a,.dashx-kpi>a{display:block;padding-top:7px;border-top:1px solid rgba(83,126,172,.18);color:#45b7ff!important;font-size:8px;font-weight:800;text-decoration:none}.dashx-kpi{padding:10px 10px 9px;display:flex;flex-direction:column}.dashx-kpi-head{display:flex;align-items:center;gap:8px;min-height:34px}.dashx-kpi-head small{color:#dbeafd;font-size:8px;line-height:1.2}.dashx-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.dashx-icon svg{width:15px;height:15px}.dashx-icon.green{background:rgba(31,174,112,.23);color:#61f1a5}.dashx-icon.amber{background:rgba(227,155,21,.20);color:#ffbd2f}.dashx-icon.red{background:rgba(224,70,70,.22);color:#ff6868}.dashx-icon.cyan{background:rgba(17,186,184,.20);color:#46e8db}.dashx-icon.violet{background:rgba(121,76,223,.22);color:#b995ff}.dashx-icon.sky{background:rgba(35,145,217,.20);color:#5cc7ff}.dashx-kpi>strong{display:block;margin:7px 0 4px;color:#fff;font-size:18px;line-height:1}.dashx-kpi em{display:block;margin-bottom:auto;font-size:8px;font-style:normal}.green-text{color:#63ed87}.amber-text{color:#ffc449}.red-text{color:#ff6464}

.dashx-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 7px}.dashx-card-head strong{color:#fff;font-size:9px}.dashx-card-head button{height:25px;padding:0 8px;border-radius:7px;border:1px solid rgba(78,127,178,.25);background:#0a203c;color:#c9ddf0;font-size:7px}.dashx-card-head a{color:#45b7ff!important;font-size:8px;font-weight:800;text-decoration:none}.dashx-main-grid{display:grid;grid-template-columns:1.05fr 1.03fr 1.22fr;gap:8px}.dashx-main-grid>.dashx-card{min-height:270px}.dashx-map{position:relative;height:235px;margin:0 8px 8px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#102c50,#0a1f3b)}.dashx-map-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;opacity:.55}.dashx-map-roads{position:absolute;inset:0;background:linear-gradient(42deg,transparent 0 26%,rgba(179,202,227,.10) 27% 29%,transparent 30% 100%),linear-gradient(121deg,transparent 0 38%,rgba(179,202,227,.09) 39% 41%,transparent 42% 100%),linear-gradient(160deg,transparent 0 50%,rgba(179,202,227,.07) 51% 53%,transparent 54% 100%)}.dashx-map-pin{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#0a213d;border:1px solid rgba(255,255,255,.28);box-shadow:0 0 12px rgba(0,0,0,.25)}.dashx-map-pin i{width:8px;height:8px;border-radius:50%}.dashx-map-pin.blue i{background:#34b9ff;box-shadow:0 0 8px #34b9ff}.dashx-map-pin.green i{background:#64f58d;box-shadow:0 0 8px #64f58d}.dashx-map-pin.red i{background:#ff5d65;box-shadow:0 0 8px #ff5d65}.dashx-map-tools{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;gap:5px}.dashx-map-tools button{width:28px;height:28px;border:0;border-radius:5px;background:#fff;color:#24394e;font-weight:900}.dashx-map-legend{position:absolute;left:8px;right:8px;bottom:7px;display:flex;gap:10px;flex-wrap:wrap}.dashx-map-legend span{display:flex;align-items:center;gap:4px;color:#cfe2f4;font-size:7px}.dashx-map-legend i{width:7px;height:7px;border-radius:50%}.dashx-map-legend .blue i{background:#37b9ff}.dashx-map-legend .amber i{background:#ffb72f}.dashx-map-legend .red i{background:#ff595f}.dashx-map-legend .green i{background:#5eea82}

.dashx-category-card{padding-bottom:8px}.dashx-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:5px;height:148px;padding:3px 8px 0}.dashx-bar-item{flex:1;display:grid;justify-items:center;gap:4px;min-width:0}.dashx-bar-item>b{color:#fff;font-size:8px}.dashx-bar{position:relative;width:24px;height:106px;border-radius:8px 8px 5px 5px;background:#163451;border:1px solid rgba(81,133,184,.22);overflow:hidden}.dashx-bar i{position:absolute;left:0;right:0;bottom:0;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#39d6ff,#208cff);box-shadow:0 0 10px rgba(45,176,255,.16)}.dashx-bar-item span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#bcd2e7;font-size:6.5px}.dashx-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px 8px 0}.dashx-gauge{padding:6px 4px;border-radius:8px;background:#0a223f;border:1px solid rgba(77,127,178,.20);text-align:center}.dashx-gauge>span{display:block;color:#b9cfe4;font-size:6.5px}.dashx-half{--p:0;position:relative;width:64px;height:32px;margin:5px auto 2px;overflow:hidden}.dashx-half::before{content:"";position:absolute;width:64px;height:64px;border-radius:50%;background:conic-gradient(from 270deg,#42cfff calc(var(--p)*.5%),#21405e 0 50%,transparent 0)}.dashx-half.green::before{background:conic-gradient(from 270deg,#64e77f calc(var(--p)*.5%),#21405e 0 50%,transparent 0)}.dashx-half.amber::before{background:conic-gradient(from 270deg,#ffbf3c calc(var(--p)*.5%),#21405e 0 50%,transparent 0)}.dashx-half b{position:absolute;left:0;right:0;bottom:0;color:#fff;font-size:13px}.dashx-gauge small{display:block;color:#8fabca;font-size:6px}

.dashx-trend{padding:0 8px 8px}.dashx-trend svg{width:100%;height:185px;display:block}.dashx-trend .grid line{stroke:rgba(255,255,255,.09);stroke-dasharray:4 4}.dashx-trend .goal{fill:none;stroke:#ff5f63;stroke-width:1.2;stroke-dasharray:4 4}.dashx-trend .trend{fill:none;stroke:#29c7ff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.dashx-trend circle{fill:#4cd3ff;stroke:#dff8ff;stroke-width:1.2}.dashx-trend-labels{display:flex;justify-content:space-between;gap:3px;margin-top:-12px}.dashx-trend-labels span{flex:1;color:#8ca8c2;font-size:5.8px;text-align:center}.dashx-trend-legend{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:7px;color:#a9c1d8;font-size:6.5px}.dashx-trend-legend i{width:20px;height:2px;background:#28c8ff}.dashx-trend-legend b{width:20px;border-top:1px dashed #d1d7df}

.dashx-flow-card{padding-bottom:8px}.dashx-flow{display:flex;align-items:center;padding:5px 12px 8px}.dashx-flow-step{display:grid;grid-template-columns:33px 1fr;align-items:center;gap:7px;min-width:118px}.dashx-flow-step>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;border:1px solid #32b5ff;background:#0b2747;color:#fff;font-size:11px;box-shadow:0 0 11px rgba(50,181,255,.18)}.dashx-flow-step b{display:block;color:#fff;font-size:7.5px}.dashx-flow-step small{display:block;margin-top:2px;color:#96afc8;font-size:6px}.dashx-flow-line{height:1px;flex:1;min-width:16px;background:linear-gradient(90deg,#2fb7ff,#64c9ff);position:relative}.dashx-flow-line::after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:5px;border-radius:50%;background:#35c2ff}

.dashx-bottom-grid{display:grid;grid-template-columns:.92fr 1.05fr 1.08fr;gap:8px}.dashx-bottom-grid>.dashx-card{min-height:236px}.dashx-table-card,.dashx-pending-card,.dashx-evidence-card{display:flex;flex-direction:column}.dashx-table-wrap{overflow:hidden;padding:0 8px;flex:1}.dashx-table-wrap table{width:100%;border-collapse:collapse;table-layout:fixed}.dashx-table-wrap th,.dashx-table-wrap td{padding:6px 4px;border-bottom:1px solid rgba(77,122,168,.17);text-align:left;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashx-table-wrap th{color:#9fb9d3;font-weight:800}.dashx-table-wrap td{color:#e1edf8}.dashx-status{display:inline-flex;padding:3px 5px;border-radius:999px;font-size:5.8px;font-weight:800}.dashx-status.ok{background:rgba(34,180,91,.18);color:#67e78d}.dashx-status.warn{background:rgba(221,161,32,.18);color:#ffcc5b}.dashx-footer-link{display:block;margin:0 8px 7px;padding-top:7px;border-top:1px solid rgba(77,122,168,.16);color:#43b9ff!important;text-align:center;font-size:7px;font-weight:800;text-decoration:none}.dashx-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#f0444d;color:#fff;font-size:7px}.dashx-pending-list{display:grid;gap:6px;padding:0 8px;flex:1}.dashx-pending-item{display:grid;grid-template-columns:28px minmax(0,1fr) 82px;align-items:center;gap:7px;padding:7px;border-radius:8px;background:linear-gradient(180deg,rgba(61,25,39,.84),rgba(48,20,35,.78));border:1px solid rgba(222,76,86,.28)}.dashx-pending-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(235,76,81,.11);color:#ff676e}.dashx-pending-icon svg{width:14px;height:14px}.dashx-pending-copy{min-width:0}.dashx-pending-copy b{display:block;color:#fff;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashx-pending-copy b i{color:#607d99;font-style:normal}.dashx-pending-copy small{display:block;margin-top:2px;color:#c7aab3;font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashx-pending-item>a{display:flex;align-items:center;justify-content:center;height:28px;border-radius:6px;background:#165eaa;border:1px solid rgba(62,161,255,.48);color:#fff!important;text-decoration:none;font-size:6.3px;font-weight:800}.dashx-pending-empty{display:grid;justify-items:center;gap:4px;padding:28px;color:#80e8a0;text-align:center}.dashx-pending-empty svg{width:24px;height:24px}.dashx-pending-empty b{font-size:9px}.dashx-pending-empty span{color:#9db7ce;font-size:7px}.dashx-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 8px 8px;flex:1}.dashx-photo{min-width:0;border-radius:8px;overflow:hidden;background:#0a213e;border:1px solid rgba(75,124,174,.20)}.dashx-photo-img{position:relative;aspect-ratio:16/8.7;overflow:hidden;background:#071a32}.dashx-photo-img img{width:100%;height:100%;object-fit:cover;display:block}.dashx-photo-img span{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:rgba(11,35,64,.78);color:#e8f7ff}.dashx-photo-img svg{width:10px;height:10px}.dashx-photo>div:last-child{padding:5px 6px}.dashx-photo b{display:block;color:#fff;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashx-photo small{display:block;margin-top:2px;color:#8eb4d5;font-size:5.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1450px){.dashx-kpis{grid-template-columns:1.25fr repeat(3,1fr)}.dashx-progress-card{grid-row:span 2}.dashx-main-grid{grid-template-columns:1fr 1fr}.dashx-trend-card{grid-column:1/-1}.dashx-bottom-grid{grid-template-columns:1fr 1fr}.dashx-evidence-card{grid-column:1/-1}.dashx-header{flex-direction:column}.dashx-header-tools{width:100%;justify-content:flex-start}.dashx-global-search{flex:1}}
@media(max-width:1000px){.dashx-quick-form{grid-template-columns:1fr}.dashx-quick-label{justify-content:flex-start}.dashx-kpis{grid-template-columns:repeat(2,1fr)}.dashx-progress-card{grid-row:auto;grid-column:span 2}.dashx-main-grid,.dashx-bottom-grid{grid-template-columns:1fr}.dashx-trend-card,.dashx-evidence-card{grid-column:auto}.dashx-flow{overflow-x:auto}.dashx-flow-step{min-width:145px}.dashx-flow-line{min-width:24px}.dashx-header-tools{flex-wrap:wrap}.dashx-global-search{width:100%;flex-basis:100%}}
@media(max-width:620px){.dashx-title h1{font-size:18px}.dashx-kpis{grid-template-columns:1fr}.dashx-progress-card{grid-column:auto}.dashx-date,.dashx-export{flex:1;justify-content:center}.dashx-evidence-grid{grid-template-columns:repeat(2,1fr)}.dashx-pending-item{grid-template-columns:28px 1fr}.dashx-pending-item>a{grid-column:1/-1}.dashx-gauges{grid-template-columns:1fr}}

/* =========================================================
   Reporte de activos · tabla maestra 44 columnas
   ========================================================= */
.asset-report-page{display:grid;gap:12px;min-width:0}.asset-report-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(72,145,207,.25);border-radius:18px;background:linear-gradient(135deg,#0d315d,#102b50);box-shadow:0 12px 28px rgba(0,0,0,.12)}.asset-report-title-wrap{display:flex;align-items:center;gap:13px;min-width:0}.asset-report-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#174b7c,#123861);border:1px solid rgba(91,180,245,.3);color:#7cd8ff}.asset-report-icon svg{width:22px;height:22px}.asset-report-hero .eyebrow{font-size:9px;letter-spacing:1.35px;color:#6ecaff;font-weight:900}.asset-report-hero h1{margin:2px 0 3px;color:#fff;font-size:21px;line-height:1}.asset-report-hero p{margin:0;color:#a9cae7;font-size:10px}.asset-report-download{display:flex;align-items:center;gap:10px;min-width:200px;padding:10px 13px;border-radius:13px;background:linear-gradient(90deg,#39d282,#36b8dc);border:1px solid rgba(124,239,187,.28);color:#051f1a!important;text-decoration:none;font-weight:900}.asset-report-download>svg{width:18px;height:18px}.asset-report-download span{display:grid;gap:1px;flex:1}.asset-report-download b{font-size:10px}.asset-report-download small{font-size:7.5px;font-weight:700;opacity:.75}
.asset-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.asset-report-kpis article{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:15px;background:linear-gradient(180deg,#113663,#0e2c50);border:1px solid rgba(74,148,210,.23);min-height:76px}.asset-report-kpis .kpi-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;flex:0 0 38px}.asset-report-kpis .kpi-icon svg{width:18px;height:18px}.asset-report-kpis .blue{background:#174d7b;color:#79cfff}.asset-report-kpis .green{background:#155d47;color:#6cf2a0}.asset-report-kpis .violet{background:#4d3b79;color:#d6a9ff}.asset-report-kpis .amber{background:#725318;color:#ffd66e}.asset-report-kpis small{display:block;color:#79bdf1;font-size:8px;font-weight:900;letter-spacing:.55px}.asset-report-kpis strong{display:block;color:#fff;font-size:20px;line-height:1.05;margin:2px 0}.asset-report-kpis em{display:block;color:#8baed0;font-style:normal;font-size:7.5px}
.asset-report-filter{display:grid;grid-template-columns:minmax(300px,1.8fr) repeat(5,minmax(115px,.72fr)) auto;gap:8px;align-items:end;padding:10px;border-radius:16px;background:#0e2c51;border:1px solid rgba(73,142,199,.24)}.asset-report-filter label{display:grid;gap:4px;min-width:0}.asset-report-filter label>small{color:#91b9dc;font-size:7.6px;font-weight:800}.asset-report-filter select,.asset-report-filter input{height:37px;border:1px solid #2a5b87;border-radius:10px;background:#071d36;color:#e8f5ff;font-size:9px;padding:0 10px;outline:none}.asset-report-filter select:focus,.asset-report-filter input:focus{border-color:#40bfff;box-shadow:0 0 0 3px rgba(64,191,255,.08)}.asset-report-search{display:flex!important;align-items:center;gap:9px;height:52px;padding:6px 10px;border-radius:12px;background:#0a2442;border:1px solid rgba(66,128,183,.32)}.asset-report-search>svg{width:18px;height:18px;color:#60c8ff}.asset-report-search span{display:grid;gap:2px;min-width:0;flex:1}.asset-report-search span small{color:#8eb6d8;font-size:7px}.asset-report-search input{height:25px!important;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;width:100%;font-size:9.5px}.asset-report-filter-actions{display:flex;gap:6px}.asset-report-search-btn,.asset-report-clear{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:0;text-decoration:none}.asset-report-search-btn{background:#37bff2;color:#052239}.asset-report-clear{background:#183c67;color:#a7d9ff;border:1px solid rgba(67,124,180,.28)}.asset-report-search-btn svg,.asset-report-clear svg{width:16px;height:16px}
.asset-report-guide{display:flex;flex-wrap:wrap;gap:7px;padding:8px 10px;border-radius:13px;background:#0b2749;border:1px solid rgba(72,137,190,.19)}.asset-report-guide div{display:flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:rgba(9,34,62,.78);border:1px solid rgba(67,121,169,.28);font-size:7.3px}.asset-report-guide i{width:7px;height:7px;border-radius:50%;background:#43e291;box-shadow:0 0 0 4px rgba(67,226,145,.08)}.asset-report-guide strong{color:#dff2ff}.asset-report-guide span{color:#7fa8cc}
.asset-report-table-card{overflow:hidden;border-radius:16px;background:#0d294c;border:1px solid rgba(72,144,204,.25);box-shadow:0 12px 30px rgba(0,0,0,.12)}.asset-report-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid rgba(70,127,177,.22)}.asset-report-pager{display:flex;align-items:center;gap:8px}.asset-report-pager span{font-size:8px;color:#9dc1df}.asset-report-pager b{color:#fff}.page-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#173e68;border:1px solid rgba(70,130,186,.24);color:#aee1ff!important;text-decoration:none;font-size:17px}.page-arrow:not(.disabled):last-child{background:#36bff2;color:#052238!important}.page-arrow.disabled{opacity:.35;pointer-events:none}.asset-report-range{text-align:center;color:#80a9cb;font-size:8px}.asset-report-range b{color:#e7f4ff}.asset-report-local-search{display:flex;align-items:center;gap:7px;width:220px;height:32px;padding:0 9px;border-radius:9px;background:#071e37;border:1px solid #28577f}.asset-report-local-search svg{width:14px;height:14px;color:#55c6ff}.asset-report-local-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:8px}
.asset-report-scroll{max-height:520px;overflow:auto;scrollbar-color:#4e7dac #081b30;scrollbar-width:thin}.asset-report-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:max-content;font-size:8.5px}.asset-report-table th,.asset-report-table td{border-right:1px solid rgba(82,120,163,.26);border-bottom:1px solid rgba(82,120,163,.22);vertical-align:middle}.asset-report-table thead th{position:sticky;top:0;z-index:8;min-width:118px;max-width:240px;padding:8px 8px;background:#173b68;color:#fff;text-align:left;cursor:pointer}.asset-report-table thead tr:first-child th{height:45px}.asset-report-table thead th span{display:inline-block;max-width:190px;white-space:normal;line-height:1.15;font-weight:900}.asset-report-table thead th b{float:right;color:#82aed5;font-size:8px}.asset-report-table thead tr.asset-report-column-filters th{top:45px;padding:4px 5px;background:#0f2b4e;cursor:default;height:33px}.asset-report-column-filters input{width:100%;height:24px;border-radius:6px;border:1px solid #2b5378;background:#071a30;color:#dff3ff;padding:0 6px;font-size:7.5px;outline:none}.asset-report-table tbody tr:nth-child(odd){background:#102f56}.asset-report-table tbody tr:nth-child(even){background:#0b213d}.asset-report-table tbody tr:hover{background:#153e6e}.asset-report-table td{min-width:118px;max-width:260px;padding:8px;color:#e8f4ff;line-height:1.3;white-space:normal;word-break:break-word}.asset-report-table th:nth-child(1),.asset-report-table td:nth-child(1){position:sticky;left:0;z-index:5;min-width:145px}.asset-report-table th:nth-child(2),.asset-report-table td:nth-child(2){position:sticky;left:145px;z-index:5;min-width:155px}.asset-report-table tbody tr:nth-child(odd) td:nth-child(-n+2){background:#102f56}.asset-report-table tbody tr:nth-child(even) td:nth-child(-n+2){background:#0b213d}.asset-report-table tbody tr:hover td:nth-child(-n+2){background:#153e6e}.asset-report-table thead th:nth-child(-n+2){z-index:12}.asset-report-table thead tr.asset-report-column-filters th:nth-child(-n+2){z-index:11}.asset-report-empty{color:#52789a}.asset-report-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 7px;border-radius:999px;font-size:7px;font-weight:900;white-space:nowrap}.asset-report-pill.ok{background:#126343;color:#65f0a1}.asset-report-pill.muted{background:#23405e;color:#96b5d0}.asset-report-pill.process{background:#124f6f;color:#64d7ff}.asset-report-pill.conservation{background:#155b42;color:#6aefa0}.asset-report-image-link{display:inline-flex;align-items:center;gap:5px;color:#61d4ff!important;font-weight:900;text-decoration:none}.asset-report-image-link svg{width:13px;height:13px}.report-money{text-align:right;font-variant-numeric:tabular-nums}.asset-report-no-data{height:100px;text-align:center!important;color:#8eb2cf!important}.asset-report-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-top:1px solid rgba(70,127,177,.22)}.asset-report-footer>span{display:flex;align-items:center;gap:7px;color:#7da7c8;font-size:7.5px}.asset-report-footer>span i{width:7px;height:7px;border-radius:50%;background:#44e295}.asset-report-footer nav{display:flex;align-items:center;gap:5px}.asset-report-footer nav a{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:8px;background:#12365d;border:1px solid rgba(72,129,183,.23);color:#b5dcf8!important;text-decoration:none;font-size:8px;font-weight:800}.asset-report-footer nav a.active{background:#39bff1;color:#06243b!important}.asset-report-footer nav em{color:#638cac;font-style:normal}
@media(max-width:1300px){.asset-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-report-filter{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(120px,1fr));}.asset-report-filter-actions{grid-column:auto}.asset-report-filter label:nth-of-type(5),.asset-report-filter label:nth-of-type(6){grid-column:span 1}}
@media(max-width:900px){.asset-report-hero{align-items:flex-start;flex-direction:column}.asset-report-download{width:100%}.asset-report-kpis{grid-template-columns:1fr 1fr}.asset-report-filter{grid-template-columns:1fr 1fr}.asset-report-search{grid-column:1/-1}.asset-report-toolbar{grid-template-columns:1fr}.asset-report-range{text-align:left}.asset-report-local-search{width:100%}.asset-report-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.asset-report-kpis,.asset-report-filter{grid-template-columns:1fr}.asset-report-search{grid-column:auto}.asset-report-filter-actions{width:100%}.asset-report-search-btn,.asset-report-clear{width:50%}}

/* Reporte de activos · búsqueda global real en todas las páginas */
.asset-report-filter-actions{
  display:flex;
  align-items:stretch;
  gap:7px;
}
.asset-report-search-btn,
.asset-report-clear{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:auto!important;
  min-width:88px;
  height:38px;
  padding:0 12px;
  border-radius:10px;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.asset-report-search-btn{
  background:linear-gradient(180deg,#39c5f5,#2eaee1)!important;
  color:#041d31!important;
  border:1px solid rgba(100,215,255,.35)!important;
  box-shadow:0 6px 16px rgba(31,174,229,.12);
}
.asset-report-clear{
  background:#153a63!important;
  color:#b9ddf8!important;
  border:1px solid rgba(74,132,185,.34)!important;
}
.asset-report-search-btn svg,
.asset-report-clear svg,
.asset-report-global-hint svg{
  width:14px!important;
  height:14px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  flex:0 0 auto;
}
.asset-report-search-btn:hover{filter:brightness(1.05)}
.asset-report-clear:hover{background:#1b466f!important}

.asset-report-global-hint{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:230px;
  height:32px;
  padding:0 10px;
  border-radius:9px;
  background:#071e37;
  border:1px solid #28577f;
  color:#8fc5e8;
  font-size:7.8px;
  font-weight:800;
}
.asset-report-global-hint svg{color:#47c8ff!important}

.asset-report-column-filters input[type="search"]{
  width:100%;
  height:24px;
  border-radius:6px;
  border:1px solid #2b5378;
  background:#071a30;
  color:#dff3ff;
  padding:0 6px;
  font-size:7.5px;
  outline:none;
  appearance:none;
  -webkit-appearance:none;
}
.asset-report-column-filters input[type="search"]:focus{
  border-color:#42c7ff;
  box-shadow:0 0 0 2px rgba(66,199,255,.08);
}
.asset-report-column-filters input[type="search"]::-webkit-search-cancel-button{
  opacity:.6;
  filter:invert(1);
}

@media(max-width:1300px){
  .asset-report-filter-actions{grid-column:auto;}
  .asset-report-search-btn,.asset-report-clear{min-width:82px;}
}
@media(max-width:900px){
  .asset-report-global-hint{width:100%;min-width:0;}
}
@media(max-width:560px){
  .asset-report-filter-actions{width:100%;}
  .asset-report-search-btn,.asset-report-clear{flex:1;min-width:0;width:auto!important;}
}
.asset-report-search>.asset-report-search-icon{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:#60c8ff!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  flex:0 0 auto;
}

/* =========================================================
   REPORTE DE ACTIVOS · AJUSTE A PANTALLA COMPLETA
   Mantiene la tabla horizontal de 44 campos dentro de su panel.
   ========================================================= */
.asset-report-page{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  padding:10px!important;
  gap:9px!important;
  overflow:hidden!important;
  grid-template-rows:auto auto auto auto minmax(0,1fr)!important;
}
.asset-report-hero,
.asset-report-kpis,
.asset-report-filter,
.asset-report-guide,
.asset-report-table-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.asset-report-hero{
  padding:11px 13px!important;
  border-radius:15px!important;
}
.asset-report-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}
.asset-report-hero h1{font-size:19px!important}
.asset-report-hero p{font-size:9px!important}
.asset-report-download{
  min-width:180px!important;
  padding:9px 11px!important;
}
.asset-report-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.asset-report-kpis article{
  min-width:0!important;
  min-height:66px!important;
  padding:9px 10px!important;
}
.asset-report-kpis strong{font-size:18px!important}
.asset-report-kpis .kpi-icon{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
}
.asset-report-filter{
  grid-template-columns:minmax(220px,1.55fr) repeat(5,minmax(92px,.72fr)) minmax(168px,auto)!important;
  gap:7px!important;
  padding:8px!important;
  align-items:end!important;
}
.asset-report-search{
  height:48px!important;
  min-width:0!important;
}
.asset-report-filter select,
.asset-report-filter input{
  min-width:0!important;
}
.asset-report-filter-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  min-width:168px!important;
  gap:6px!important;
}
.asset-report-search-btn,
.asset-report-clear{
  width:auto!important;
  min-width:0!important;
  height:37px!important;
  padding:0 9px!important;
}
.asset-report-guide{
  padding:6px 8px!important;
  gap:6px!important;
  overflow:hidden!important;
}
.asset-report-guide div{
  min-width:0!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
}
.asset-report-guide span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.asset-report-table-card{
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.asset-report-toolbar{
  flex:0 0 auto!important;
  min-width:0!important;
  padding:7px 9px!important;
}
.asset-report-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.asset-report-footer{
  flex:0 0 auto!important;
}
.asset-report-table{
  min-height:100%!important;
}
/* El desplazamiento horizontal queda SOLO dentro de la tabla. */
body.app-shell .main:has(.asset-report-page){
  overflow:hidden!important;
}

@media(max-width:1180px){
  .asset-report-page{padding:8px!important;gap:8px!important}
  .asset-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .asset-report-kpis article{padding:8px!important;gap:8px!important}
  .asset-report-kpis strong{font-size:16px!important}
  .asset-report-kpis em{font-size:7px!important}
  .asset-report-filter{
    grid-template-columns:minmax(210px,1.45fr) repeat(3,minmax(95px,1fr))!important;
  }
  .asset-report-filter label:nth-of-type(5),
  .asset-report-filter label:nth-of-type(6){grid-column:auto!important}
  .asset-report-filter-actions{min-width:0!important}
  .asset-report-guide div{font-size:7px!important}
}
@media(max-width:900px){
  body.app-shell .main:has(.asset-report-page){overflow:auto!important}
  .asset-report-page{height:auto!important;overflow:visible!important}
  .asset-report-kpis{grid-template-columns:1fr 1fr!important}
  .asset-report-filter{grid-template-columns:1fr 1fr!important}
  .asset-report-search{grid-column:1/-1!important}
  .asset-report-filter-actions{grid-column:1/-1!important}
  .asset-report-guide{overflow:visible!important}
  .asset-report-guide div{white-space:normal!important}
  .asset-report-table-card{height:auto!important;min-height:520px!important}
  .asset-report-scroll{max-height:520px!important}
}

/* =========================================================
   REPORTE DE ACTIVOS · SCROLL VERTICAL GENERAL
   Muestra los 40 registros completos y luego la paginación.
   Solo la tabla conserva desplazamiento horizontal por sus 44 campos.
   ========================================================= */
.asset-report-page{
  height:auto!important;
  min-height:100%!important;
  overflow:visible!important;
  grid-template-rows:auto!important;
  align-content:start!important;
}
.asset-report-table-card{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.asset-report-scroll{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  scrollbar-width:thin!important;
}
.asset-report-table{
  min-height:0!important;
  height:auto!important;
}
.asset-report-footer{
  position:relative!important;
  display:flex!important;
  flex:0 0 auto!important;
}
/* El scroll para subir y bajar pertenece a toda la pantalla, no a la tabla. */
body.app-shell .main:has(.asset-report-page){
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
/* Evita que el contenedor principal fuerce una altura de panel. */
body.app-shell .main:has(.asset-report-page) .content,
body.app-shell .main:has(.asset-report-page) .page-content{
  min-height:auto!important;
  height:auto!important;
  overflow:visible!important;
}
@media(max-width:900px){
  .asset-report-table-card{min-height:0!important}
  .asset-report-scroll{max-height:none!important;overflow-y:visible!important}
}

/* =========================================================
   Productividad por usuario · Centro de control del jefe
   ========================================================= */
.prod-page{display:grid;gap:12px;padding-bottom:14px}.prod-page *{box-sizing:border-box}
.prod-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid rgba(58,141,214,.28);border-radius:18px;background:linear-gradient(135deg,#102f59,#0b2343);box-shadow:0 12px 28px rgba(0,0,0,.14)}
.prod-hero .eyebrow{font-size:9px;letter-spacing:1.4px;color:#58c4ff;font-weight:900}.prod-hero h1{margin:3px 0 4px;font-size:22px;color:#fff;line-height:1.05}.prod-hero p{margin:0;font-size:10px;color:#abc7df}
.prod-live{display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:13px;background:rgba(7,35,61,.82);border:1px solid rgba(53,184,127,.25)}.prod-live>i{width:10px;height:10px;border-radius:50%;background:#41e68e;box-shadow:0 0 0 5px rgba(65,230,142,.1)}.prod-live strong,.prod-live small{display:block}.prod-live strong{font-size:10px;color:#e8fff2}.prod-live small{font-size:8px;color:#87b9a0;margin-top:2px}
.prod-filters{display:grid;grid-template-columns:145px 145px minmax(180px,1fr) 110px 170px auto auto;gap:8px;align-items:end;padding:11px;border-radius:16px;background:#0e2c52;border:1px solid rgba(61,137,202,.24)}.prod-filters label{display:grid;gap:4px}.prod-filters label>span{font-size:8px;color:#9cc8e8;font-weight:800}.prod-filters input,.prod-filters select{height:38px;border-radius:10px;border:1px solid #32618d;background:#081f39;color:#f4fbff;padding:0 10px;font-size:9px;outline:none}.prod-filters input:focus,.prod-filters select:focus{border-color:#40bdff;box-shadow:0 0 0 3px rgba(64,189,255,.08)}.prod-filter-btn,.prod-reset-btn{height:38px;border-radius:10px!important;font-size:9px!important;font-weight:900!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}.prod-filter-btn{background:linear-gradient(90deg,#2cc9df,#3292ff)!important;color:#fff!important}.prod-reset-btn{background:#12375f!important;border:1px solid #35658f!important;color:#cce8ff!important}.prod-filter-btn svg,.prod-reset-btn svg{width:14px;height:14px}
.prod-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.prod-kpi{position:relative;display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;padding:11px 12px;border-radius:15px;background:linear-gradient(180deg,#12345f,#0d294d);border:1px solid rgba(68,139,199,.24);overflow:hidden}.prod-kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;opacity:.8}.prod-kpi>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#12365c}.prod-kpi>span svg{width:17px;height:17px}.prod-kpi small,.prod-kpi strong,.prod-kpi em{display:block}.prod-kpi small{font-size:7.4px;letter-spacing:.45px;color:#9ac5e6;font-weight:900}.prod-kpi strong{font-size:20px;line-height:1.05;color:#fff;margin:2px 0}.prod-kpi em{font-size:7.4px;font-style:normal;color:#8fb3d1}.prod-kpi.cyan>span{color:#52dfff;background:rgba(44,185,225,.15)}.prod-kpi.cyan:after{background:#33cfff}.prod-kpi.green>span{color:#65eb9b;background:rgba(48,187,108,.16)}.prod-kpi.green:after{background:#49e188}.prod-kpi.blue>span{color:#7cb9ff;background:rgba(62,128,222,.16)}.prod-kpi.blue:after{background:#4e9aff}.prod-kpi.lime>span{color:#8aff73;background:rgba(95,201,63,.14)}.prod-kpi.lime:after{background:#7be75c}.prod-kpi.amber>span{color:#ffd15a;background:rgba(232,171,41,.15)}.prod-kpi.amber:after{background:#ffbf34}.prod-kpi.violet>span{color:#d3a2ff;background:rgba(164,99,219,.16)}.prod-kpi.violet:after{background:#b778ef}
.prod-card{border-radius:16px;background:linear-gradient(180deg,#102f57,#0b2445);border:1px solid rgba(67,137,197,.24);box-shadow:0 10px 22px rgba(0,0,0,.12)}.prod-intel-row{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:9px}.prod-intel-row>.prod-card{padding:12px}.prod-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.prod-card-head small{display:block;font-size:7.5px;letter-spacing:.7px;color:#6fcaff;font-weight:900}.prod-card-head h2{margin:2px 0 0;font-size:14px;color:#fff}.prod-card-head>span{padding:6px 9px;border-radius:9px;background:#12385f;border:1px solid rgba(68,135,191,.24);color:#a8cae5;font-size:7.5px;white-space:nowrap}
.prod-top-user{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:9px;border-radius:12px;background:linear-gradient(90deg,rgba(29,91,153,.36),rgba(13,49,87,.16));border:1px solid rgba(71,153,219,.2);margin-bottom:9px}.prod-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2bcaff,#3c69ff);color:#fff;font-size:13px;font-weight:900;box-shadow:0 0 0 4px rgba(52,168,255,.08)}.prod-top-user small,.prod-top-user strong,.prod-top-user em{display:block}.prod-top-user small{font-size:7px;color:#8ab7d8}.prod-top-user strong{font-size:10px;color:#fff;margin:1px 0}.prod-top-user em{font-style:normal;font-size:7px;color:#73e49a}.prod-top-user a{font-size:7.5px;color:#63c6ff;font-weight:900}
.prod-ranking{display:grid;gap:6px}.prod-rank-row{display:grid;grid-template-columns:20px 28px minmax(0,1fr) 36px;gap:7px;align-items:center}.prod-rank-row>b{font-size:8px;color:#6e9abb;text-align:center}.prod-mini-avatar{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#153c65;color:#9fdcff;font-size:7px;font-weight:900}.prod-rank-main strong{display:block;font-size:8px;color:#eaf6ff;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prod-rank-track{height:6px;border-radius:999px;background:#091c34;overflow:hidden}.prod-rank-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#37d7ff,#377cff)}.prod-rank-total{font-size:9px;color:#fff;text-align:right;font-weight:900}
.prod-trend-chart svg{width:100%;height:165px;display:block}.prod-trend-chart .grid line{stroke:rgba(131,176,215,.13);stroke-dasharray:3 4}.prod-trend-chart .goal{fill:none;stroke:#ffae3f;stroke-width:1.5;stroke-dasharray:5 4}.prod-trend-chart .line{fill:none;stroke:#2fd1ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.prod-trend-chart circle{fill:#8ce9ff;stroke:#0e3159;stroke-width:2}.prod-trend-labels{display:flex;justify-content:space-between;gap:3px;margin-top:-4px}.prod-trend-labels span{min-width:0;flex:1;text-align:center;font-size:6.5px;color:#87aac7}.prod-trend-labels b{display:block;color:#dff6ff;margin-top:2px;font-size:7px}.prod-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.prod-targets>div{padding:7px;border-radius:10px;background:#0a2342;border:1px solid rgba(64,121,175,.18);text-align:center}.prod-targets small,.prod-targets strong,.prod-targets span{display:block}.prod-targets small{font-size:6.5px;color:#79a9cb}.prod-targets strong{font-size:15px;color:#fff;margin:2px 0}.prod-targets span{font-size:6.5px;color:#8fc5e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-alert-list{display:grid;gap:6px;max-height:306px;overflow:auto;padding-right:2px}.prod-alert{display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:center;padding:7px;border-radius:10px;background:#0b2545;border:1px solid rgba(75,127,178,.18)}.prod-alert>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px}.prod-alert>span svg{width:13px;height:13px}.prod-alert strong,.prod-alert small{display:block}.prod-alert strong{font-size:7.8px;color:#fff}.prod-alert small{font-size:6.7px;color:#99bad4;margin-top:2px}.prod-alert a{padding:5px 7px;border-radius:7px;background:#153e69;color:#8bd6ff;font-size:6.8px;font-weight:900}.prod-alert.critical{border-color:rgba(255,85,100,.28);background:rgba(72,26,43,.5)}.prod-alert.critical>span{background:rgba(255,72,91,.14);color:#ff6876}.prod-alert.warning{border-color:rgba(255,191,61,.24)}.prod-alert.warning>span{background:rgba(255,185,55,.13);color:#ffc454}.prod-alert.info>span{background:rgba(58,174,231,.13);color:#67cfff}
.prod-team-card{padding:12px}.prod-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.prod-user-card{padding:10px;border-radius:13px;background:#0b2748;border:1px solid rgba(65,130,187,.2);position:relative;overflow:hidden}.prod-user-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#4da4dd}.prod-user-card.status-working:before,.prod-user-card.status-good:before{background:#42dd82}.prod-user-card.status-attention:before{background:#ffc345}.prod-user-card.status-low:before,.prod-user-card.status-inactive:before{background:#ff596a}.prod-user-head{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center}.prod-user-head strong,.prod-user-head small{display:block}.prod-user-head strong{font-size:9px;color:#fff}.prod-user-head small{font-size:6.7px;color:#7ca5c4;margin-top:2px}.prod-user-head em{font-size:6.8px;font-style:normal;padding:5px 7px;border-radius:999px;background:#163d65;color:#a7cee9;white-space:nowrap}.status-working .prod-user-head em,.status-good .prod-user-head em{background:rgba(50,185,102,.15);color:#72e89a}.status-attention .prod-user-head em{background:rgba(232,171,38,.15);color:#ffd05e}.status-low .prod-user-head em,.status-inactive .prod-user-head em{background:rgba(230,75,91,.14);color:#ff8591}.prod-user-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0}.prod-user-numbers>div{padding:6px 4px;border-radius:8px;background:#091f3a;text-align:center}.prod-user-numbers strong,.prod-user-numbers small{display:block}.prod-user-numbers strong{font-size:12px;color:#fff}.prod-user-numbers small{font-size:6px;color:#78a2c2;margin-top:2px}.prod-user-progress>div{height:7px;border-radius:999px;background:#071a31;overflow:hidden}.prod-user-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#27cfff,#38d87d)}.status-attention .prod-user-progress i{background:linear-gradient(90deg,#ffbe39,#f19a32)}.status-low .prod-user-progress i,.status-inactive .prod-user-progress i{background:linear-gradient(90deg,#ff6473,#df4153)}.prod-user-progress span{display:block;margin-top:3px;font-size:6.5px;color:#81a8c7}.prod-user-meta{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0;color:#8eb2ce;font-size:6.5px}.prod-user-meta span{display:inline-flex;align-items:center;gap:4px}.prod-user-meta i{width:6px;height:6px;border-radius:50%;background:#42df84}.status-inactive .prod-user-meta i,.status-low .prod-user-meta i{background:#ff5c6e}.prod-user-actions{display:flex;gap:6px}.prod-user-actions a{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;min-height:27px;border-radius:8px;background:#12385f;border:1px solid rgba(65,133,190,.25);color:#9dd9ff;font-size:6.8px;font-weight:900}.prod-user-actions svg{width:11px;height:11px}
.prod-bottom-grid{display:grid;grid-template-columns:1fr;gap:8px}.prod-recent{padding:12px}.prod-table-wrap{overflow-x:auto}.prod-recent table{width:100%;border-collapse:collapse}.prod-recent th,.prod-recent td{padding:7px 7px;border-bottom:1px solid rgba(71,124,172,.16);font-size:7.4px;text-align:left;white-space:nowrap}.prod-recent th{color:#8fb8d8;font-weight:900}.prod-recent td{color:#e4f3ff}.prod-recent td:nth-child(4),.prod-recent td:nth-child(6){max-width:220px;overflow:hidden;text-overflow:ellipsis}.prod-photo-pill{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:6.5px}.prod-photo-pill.yes{background:rgba(49,189,105,.15);color:#6fe293}.prod-photo-pill.no{background:rgba(227,82,92,.14);color:#ff7f89}.prod-edit{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;background:#17456f;color:#8dd8ff;font-size:6.8px;font-weight:900}.prod-edit svg{width:10px;height:10px}.prod-empty{padding:18px;border-radius:11px;background:#0a2341;color:#86a9c6;text-align:center;font-size:8px}.prod-empty.success{color:#7fe9a2;background:rgba(29,110,65,.17)}
@media(max-width:1500px){.prod-kpis{grid-template-columns:repeat(3,1fr)}.prod-intel-row{grid-template-columns:1fr 1fr}.prod-alert-card{grid-column:1/-1}.prod-alert-list{grid-template-columns:repeat(2,1fr);max-height:none}.prod-team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.prod-filters{grid-template-columns:repeat(3,1fr)}.prod-intel-row{grid-template-columns:1fr}.prod-alert-card{grid-column:auto}.prod-alert-list{grid-template-columns:1fr}.prod-team-grid{grid-template-columns:1fr}.prod-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.prod-hero{align-items:flex-start;flex-direction:column}.prod-filters{grid-template-columns:1fr 1fr}.prod-filters .wide{grid-column:1/-1}.prod-kpis{grid-template-columns:1fr}.prod-targets{grid-template-columns:1fr}.prod-user-head{grid-template-columns:42px 1fr}.prod-user-head em{grid-column:1/-1;justify-self:start}.prod-user-numbers{grid-template-columns:repeat(2,1fr)}}


/* Activos · ajuste a pantalla completa sin scroll horizontal */
.assets-page{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:hidden;
}
.assets-strip,
.assets-panel{
  width:100%;
  min-width:0;
  max-width:100%;
}
.assets-panel{
  padding:12px;
}
.assets-toolbar{
  margin-bottom:10px;
}
.assets-table-wrap{
  width:100%;
  min-width:0;
  max-width:100%;
  max-height:calc(100vh - 250px);
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-gutter:stable;
}
.assets-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
  border-collapse:separate;
  border-spacing:0;
}
.assets-table col.assets-col-label{width:10%}
.assets-table col.assets-col-group{width:14%}
.assets-table col.assets-col-class{width:14%}
.assets-table col.assets-col-description{width:16%}
.assets-table col.assets-col-brand{width:9%}
.assets-table col.assets-col-model{width:9%}
.assets-table col.assets-col-serial{width:8%}
.assets-table col.assets-col-image{width:8%}
.assets-table col.assets-col-process{width:8%}
.assets-table col.assets-col-actions{width:4%}
.assets-table th,
.assets-table td{
  min-width:0 !important;
  max-width:none !important;
  padding:8px 6px;
  font-size:11px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.assets-table th{
  font-size:11px;
  line-height:1.15;
}
.assets-filters-row th{
  padding:5px 4px;
}
.assets-filters-row input{
  min-width:0;
  width:100%;
  height:28px;
  padding:0 6px;
  font-size:10px;
}
.assets-thumb{
  width:100%;
  max-width:74px;
  height:56px;
  margin:0 auto;
}
.assets-thumb small{
  right:3px;
  bottom:3px;
  padding:1px 4px;
  font-size:8px;
}
.assets-label-cell{
  font-size:11px !important;
}
.assets-action-edit{
  width:30px;
  height:30px;
  margin:0 auto;
}
.assets-action-edit svg{
  width:14px;
  height:14px;
}
.assets-results{
  white-space:nowrap;
}
@media(max-width:1250px){
  .assets-table th,.assets-table td{font-size:10px;padding:7px 4px}
  .assets-filters-row input{font-size:9px;padding:0 4px}
  .assets-thumb{max-width:64px;height:50px}
}
@media(max-width:900px){
  .assets-table col.assets-col-label{width:11%}
  .assets-table col.assets-col-group{width:13%}
  .assets-table col.assets-col-class{width:13%}
  .assets-table col.assets-col-description{width:16%}
  .assets-table col.assets-col-brand{width:9%}
  .assets-table col.assets-col-model{width:9%}
  .assets-table col.assets-col-serial{width:8%}
  .assets-table col.assets-col-image{width:8%}
  .assets-table col.assets-col-process{width:8%}
  .assets-table col.assets-col-actions{width:5%}
  .assets-toolbar{align-items:flex-start}
  .assets-toolbar-right{gap:8px}
}

/* =========================================================
   ACTIVOS · paleta azul maestro igual a Catálogos
   Solo presentación: elimina tonos morados sin cambiar lógica.
   ========================================================= */
.assets-page{
  color:#f5f9ff;
}
.assets-strip{
  background:linear-gradient(135deg,#1b3762,#142c4f)!important;
  border:1px solid rgba(90,161,242,.20)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}
.assets-strip-title{color:#fff!important}
.assets-strip-title>span{color:#67c8ff!important}
.assets-new-btn{
  background:linear-gradient(135deg,#4be18a,#36cf7d)!important;
  color:#062719!important;
  box-shadow:0 9px 20px rgba(55,220,124,.16)!important;
}
.assets-panel{
  background:linear-gradient(145deg,#15345e,#112b4f)!important;
  border:1px solid rgba(80,139,207,.25)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}
.assets-pager-btn{
  background:#153e6a!important;
  border:1px solid #285f91!important;
  color:#77bfff!important;
}
.assets-pager-btn:not(.disabled):hover{
  background:#1a78b8!important;
  border-color:#42b8ff!important;
  color:#fff!important;
}
.assets-results{color:#8eaccd!important}
.assets-results b{color:#fff!important}
.assets-search-fab{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
  box-shadow:0 8px 20px rgba(46,184,241,.18)!important;
}
.assets-table-wrap{
  background:#0b2442!important;
  border:1px solid rgba(70,126,185,.30)!important;
}
.assets-table th{
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#fff!important;
  border-right:1px solid rgba(92,151,207,.26)!important;
  border-bottom:1px solid rgba(92,151,207,.34)!important;
}
.assets-filters-row th{
  background:#12345b!important;
}
.assets-filters-row input{
  background:#081d35!important;
  border:1px solid #315f8b!important;
  color:#eaf6ff!important;
}
.assets-filters-row input::placeholder{color:#7193b6!important}
.assets-filters-row input:focus{
  border-color:#47bfff!important;
  box-shadow:0 0 0 3px rgba(71,191,255,.10)!important;
}
.assets-clear-filter{
  background:#123e66!important;
  border:1px solid #285d88!important;
  color:#9fd6ff!important;
}
.assets-table td{
  color:#f5f9ff!important;
  background:#12345d!important;
  border-right:1px solid rgba(79,126,174,.28)!important;
  border-bottom:1px solid rgba(79,126,174,.30)!important;
}
.assets-table tbody tr:nth-child(even) td{
  background:#0d294a!important;
}
.assets-table tbody tr:hover td{
  background:#17436f!important;
}
.assets-label-cell{color:#fff!important}
.assets-thumb{
  background:#081c34!important;
  border:1px solid rgba(78,141,199,.28)!important;
}
.assets-thumb>span{color:#67b9ef!important}
.assets-thumb small{
  background:rgba(6,24,44,.90)!important;
  border:1px solid rgba(93,171,224,.30)!important;
}
.assets-action-edit{
  background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;
  color:#08223e!important;
  box-shadow:0 7px 16px rgba(47,157,234,.16)!important;
}
.assets-action-edit:hover{
  background:linear-gradient(145deg,#69c4ff,#52b4f6)!important;
}
.assets-empty{color:#8eaccd!important}
.assets-empty b{color:#fff!important}

/* Scroll vertical discreto en la misma paleta */
.assets-table-wrap::-webkit-scrollbar{width:9px}
.assets-table-wrap::-webkit-scrollbar-track{background:#0a2341}
.assets-table-wrap::-webkit-scrollbar-thumb{background:#285f91;border-radius:999px;border:2px solid #0a2341}
.assets-table-wrap::-webkit-scrollbar-thumb:hover{background:#3579b5}

/* =========================================================
   ACTAS · ajuste a pantalla + paleta azul maestro de Catálogos
   Solo presentación. Mantiene lógica, filtros, PDF, Excel y modales.
   ========================================================= */
.actas-page{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  color:#f5f9ff;
}
.actas-strip,
.actas-panel{
  width:100%;
  max-width:100%;
  min-width:0;
}
.actas-strip{
  background:linear-gradient(135deg,#1b3762,#142c4f)!important;
  border:1px solid rgba(90,161,242,.20)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}
.actas-strip-title{color:#fff!important}
.actas-strip-title>span{color:#67c8ff!important}
.actas-summary-btn,
.actas-new-btn{
  background:linear-gradient(135deg,#4be18a,#36cf7d)!important;
  color:#062719!important;
  box-shadow:0 9px 20px rgba(55,220,124,.16)!important;
}
.actas-summary-btn:hover,
.actas-new-btn:hover{filter:brightness(1.04)}
.actas-panel{
  padding:12px!important;
  background:linear-gradient(145deg,#15345e,#112b4f)!important;
  border:1px solid rgba(80,139,207,.25)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
  overflow:hidden;
}
.actas-toolbar{
  margin-bottom:10px;
  min-width:0;
}
.actas-pager-btn{
  background:#153e6a!important;
  border:1px solid #285f91!important;
  color:#77bfff!important;
}
.actas-pager-btn.next:not(.disabled),
.actas-pager-btn:not(.disabled):hover{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  border-color:#42b8ff!important;
  color:#06223b!important;
}
.actas-results{color:#8eaccd!important}
.actas-results b{color:#fff!important}
.actas-search-fab{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
  box-shadow:0 8px 20px rgba(46,184,241,.18)!important;
}
.actas-table-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  max-height:calc(100vh - 250px);
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  background:#0b2442!important;
  border:1px solid rgba(70,126,185,.30)!important;
  border-radius:12px;
}
.actas-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate;
  border-spacing:0;
}
.actas-table col.actas-col-toggle{width:6%}
.actas-table col.actas-col-number{width:8%}
.actas-table col.actas-col-id{width:15%}
.actas-table col.actas-col-custodian{width:23%}
.actas-table col.actas-col-user{width:20%}
.actas-table col.actas-col-state{width:14%}
.actas-table col.actas-col-actions{width:14%}
.actas-table th,
.actas-table td{
  min-width:0!important;
  max-width:none!important;
  padding:8px 7px!important;
  font-size:11px!important;
  line-height:1.25;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.actas-table thead th{
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#fff!important;
  border-right:1px solid rgba(92,151,207,.26)!important;
  border-bottom:1px solid rgba(92,151,207,.34)!important;
  font-size:11px!important;
  line-height:1.15;
}
.actas-filter-row th{
  background:#12345b!important;
  padding:5px 4px!important;
}
.actas-filter-row input,
.actas-filter-row select{
  min-width:0;
  width:100%!important;
  height:29px!important;
  padding:0 6px!important;
  font-size:10px!important;
  background:#081d35!important;
  border:1px solid #315f8b!important;
  color:#eaf6ff!important;
}
.actas-filter-row input:focus,
.actas-filter-row select:focus{
  border-color:#47bfff!important;
  box-shadow:0 0 0 3px rgba(71,191,255,.10)!important;
}
.actas-filter-clear{
  background:#123e66!important;
  border:1px solid #285d88!important;
  color:#9fd6ff!important;
}
.acta-main-row td{
  color:#f5f9ff!important;
  background:#12345d!important;
  border-right:1px solid rgba(79,126,174,.28)!important;
  border-bottom:1px solid rgba(79,126,174,.30)!important;
}
.acta-main-row:nth-of-type(even) td{
  background:#0d294a!important;
}
.acta-main-row:hover td,
.acta-main-row.is-open td{
  background:#17436f!important;
}
.acta-row-toggle,
.acta-action-btn{
  background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;
  color:#08223e!important;
  border-color:rgba(80,174,238,.35)!important;
  box-shadow:0 7px 16px rgba(47,157,234,.14)!important;
}
.acta-row-toggle:hover,
.acta-action-btn:hover{
  background:linear-gradient(145deg,#69c4ff,#52b4f6)!important;
}
.acta-action-btn.history.disabled,
.acta-action-btn:disabled{opacity:.38!important;box-shadow:none!important}
.acta-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.acta-actions form{margin:0!important}
.acta-action-btn{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
.acta-action-btn svg{width:14px!important;height:14px!important}
.acta-row-toggle{
  width:34px!important;
  height:34px!important;
  margin:auto!important;
}
.acta-state{
  max-width:100%;
  padding:6px 9px!important;
  white-space:normal!important;
  text-align:center;
  line-height:1.15;
}
.acta-state.generated{
  background:rgba(39,190,111,.18)!important;
  color:#6df0a0!important;
  border:1px solid rgba(69,223,131,.28)!important;
}
.acta-state.process{
  background:rgba(54,152,231,.18)!important;
  color:#8ad0ff!important;
  border:1px solid rgba(80,168,238,.28)!important;
}

/* Detalle expandido del acta en la misma paleta */
.acta-detail-row>td{
  background:#0b2442!important;
  border-color:rgba(79,126,174,.28)!important;
}
.acta-upload-box form,
.acta-person-card b,
.acta-assets-toolbar{
  background:#0d294a!important;
  border-color:rgba(70,126,185,.28)!important;
}
.acta-detail-label,
.acta-person-card span,
.acta-total{color:#f2f8ff!important}
.acta-person-card b{color:#9ebbd8!important}
.acta-total strong{background:#49baf5!important;color:#06223b!important}
.acta-assets-toolbar{border-color:rgba(70,126,185,.30)!important}
.acta-assets-search,
.acta-transfer-btn{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
}
.acta-unlink-btn{background:#ff717c!important;color:#3a0b13!important}
.acta-assets-wrap{
  background:#0b2442!important;
  scrollbar-color:#285f91 #0a2341;
}
.acta-assets-table thead th{background:#14375e!important}
.acta-assets-table tbody tr:nth-child(odd) td{background:#12345d!important}
.acta-assets-table tbody tr:nth-child(even) td{background:#0d294a!important}
.acta-assets-filter input{background:#081d35!important;border-color:#315f8b!important}
.acta-edit-asset{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}

/* Modales de actas también azules, sin tonos morados */
.acta-modal-card{
  background:linear-gradient(145deg,#15345e,#112b4f)!important;
  border-color:rgba(80,139,207,.30)!important;
}
.acta-picker>input[type=text]{background:#081d35!important;border-color:#315f8b!important;color:#eaf6ff!important}
.acta-picker-suggestions{background:#0b2442!important;border-color:#315f8b!important}
.acta-picker-option:hover{background:#17436f!important}
.acta-selection-head,
.acta-modal-table th{background:#14375e!important}
.acta-modal-table td{background:#12345d!important}
.acta-modal-table tbody tr:nth-child(even) td{background:#0d294a!important}

/* Scroll vertical discreto del listado principal */
.actas-table-wrap::-webkit-scrollbar{width:9px}
.actas-table-wrap::-webkit-scrollbar-track{background:#0a2341}
.actas-table-wrap::-webkit-scrollbar-thumb{background:#285f91;border-radius:999px;border:2px solid #0a2341}
.actas-table-wrap::-webkit-scrollbar-thumb:hover{background:#3579b5}

@media(max-width:1250px){
  .actas-table th,.actas-table td{font-size:10px!important;padding:7px 5px!important}
  .actas-filter-row input,.actas-filter-row select{font-size:9px!important;padding:0 4px!important}
  .acta-action-btn{width:28px!important;height:28px!important;flex-basis:28px!important}
  .acta-row-toggle{width:31px!important;height:31px!important}
}
@media(max-width:900px){
  .actas-table col.actas-col-toggle{width:6%}
  .actas-table col.actas-col-number{width:8%}
  .actas-table col.actas-col-id{width:15%}
  .actas-table col.actas-col-custodian{width:22%}
  .actas-table col.actas-col-user{width:19%}
  .actas-table col.actas-col-state{width:15%}
  .actas-table col.actas-col-actions{width:15%}
}


/* Ajuste fino listado de actas: como referencia compacta */
.actas-table col.actas-col-toggle{width:5%!important}
.actas-table col.actas-col-number{width:8%!important}
.actas-table col.actas-col-id{width:15%!important}
.actas-table col.actas-col-custodian{width:23%!important}
.actas-table col.actas-col-user{width:19%!important}
.actas-table col.actas-col-state{width:14%!important}
.actas-table col.actas-col-actions{width:16%!important}

.actas-table thead th,.actas-table td{vertical-align:middle!important}
.actas-table td:nth-child(3),
.actas-table td:nth-child(4),
.actas-table td:nth-child(5){font-size:10.8px!important}

.actas-table td:nth-child(4),
.actas-table td:nth-child(5){
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.acta-main-row td{padding:7px 7px!important}
.acta-actions{
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:126px;
}
.acta-actions form{display:inline-flex!important;align-items:center!important}
.acta-action-btn{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
}
.acta-action-btn svg{width:13px!important;height:13px!important}
.actas-table td:last-child,
.actas-table th:last-child{
  min-width:150px!important;
}

@media(max-width:1300px){
  .actas-table col.actas-col-custodian{width:22%!important}
  .actas-table col.actas-col-user{width:18%!important}
  .actas-table col.actas-col-state{width:14%!important}
  .actas-table col.actas-col-actions{width:18%!important}
  .acta-actions{gap:4px!important;min-width:120px}
  .acta-action-btn{width:27px!important;height:27px!important;flex-basis:27px!important}
}

/* =========================================================
   ACTIVOS · formulario modal grande + galería tipo riel
   ========================================================= */
/* Cabecera/listado más compacto */
.assets-strip{
  min-height:54px!important;
  padding:8px 14px!important;
  border-radius:14px!important;
}
.assets-strip-title{gap:8px!important}
.assets-strip-title strong{font-size:18px!important}
.assets-strip-title>span{font-size:18px!important}
.assets-new-btn{
  min-width:108px!important;
  height:38px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  gap:8px!important;
  font-size:13px!important;
  font-weight:900!important;
}
.assets-new-btn svg{width:16px!important;height:16px!important}
.assets-panel{margin-top:10px!important}
.assets-toolbar{padding:10px 12px!important;min-height:58px!important}
.assets-search-fab{width:44px!important;height:44px!important}

/* Modal real sobre el listado de activos */
.asset-modal-shell[hidden]{display:none!important}
.asset-modal-shell{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:24px;
}
.asset-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(1,8,20,.72);
  backdrop-filter:blur(2px);
  cursor:default;
}
.asset-modal-window{
  position:relative;
  z-index:1;
  width:min(1080px,calc(100vw - 72px));
  height:min(88vh,780px);
  min-height:560px;
  overflow:hidden;
  border-radius:10px;
  background:#0d1f3b;
  border:1px solid rgba(93,145,204,.35);
  box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.025) inset;
}
.asset-modal-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#0d1f3b;
}
.asset-modal-loading{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#0d1f3b;
  color:#bcd6ee;
  font-size:12px;
}
.asset-modal-loading.is-hidden{display:none!important}
.asset-modal-loading span{
  width:22px;
  height:22px;
  border-radius:50%;
  border:3px solid rgba(70,190,255,.18);
  border-top-color:#42c2ff;
  animation:assetModalSpin .75s linear infinite;
}
@keyframes assetModalSpin{to{transform:rotate(360deg)}}
body.asset-modal-open{overflow:hidden!important}

/* Documento que vive dentro del iframe del modal */
body.asset-modal-document{
  margin:0!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#0d1f3b!important;
}
body.asset-modal-document .sidebar,
body.asset-modal-document .topbar{display:none!important}
body.asset-modal-document .main{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
}
body.asset-modal-document>.alert{display:none!important}

.asset-form-page.is-modal-form{
  margin:0!important;
  width:100%!important;
  height:100vh!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#132442 0%,#10203b 100%)!important;
  overflow:hidden!important;
}
.asset-form-page.is-modal-form .asset-form-header{
  position:relative!important;
  top:auto!important;
  height:56px!important;
  min-height:56px!important;
  padding:9px 14px!important;
  background:#1c2b4c!important;
  box-sizing:border-box!important;
}
.asset-form-page.is-modal-form .asset-form-kicker{display:none!important}
.asset-form-page.is-modal-form .asset-form-header h1{
  margin:0!important;
  font-size:21px!important;
  line-height:1!important;
}
.asset-form-page.is-modal-form .asset-form-header small{
  margin-top:4px!important;
  font-size:10px!important;
}
.asset-form-page.is-modal-form .asset-form-close{
  width:32px!important;
  height:32px!important;
  border:0!important;
  background:transparent!important;
  color:#a8bfd7!important;
  font-size:24px!important;
  cursor:pointer!important;
}
.asset-form-page.is-modal-form .asset-form-error{
  margin:8px 16px 0!important;
  padding:8px 10px!important;
  font-size:11px!important;
}
.asset-form-page.is-modal-form form{
  height:calc(100vh - 56px)!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:14px 18px 74px!important;
  box-sizing:border-box!important;
  scrollbar-color:#356895 #0b203a;
}
.asset-form-page.is-modal-form form::-webkit-scrollbar{width:9px}
.asset-form-page.is-modal-form form::-webkit-scrollbar-track{background:#0b203a}
.asset-form-page.is-modal-form form::-webkit-scrollbar-thumb{background:#356895;border-radius:999px;border:2px solid #0b203a}
.asset-form-page.is-modal-form .asset-block{margin-bottom:18px!important}
.asset-form-page.is-modal-form .asset-block-title{
  height:34px!important;
  border-width:1px!important;
  padding:0 10px!important;
  font-size:11px!important;
}
.asset-form-page.is-modal-form .asset-block-body{
  padding:14px 16px!important;
  background:#1a2a3f!important;
}

/* Galería: fotos en un riel horizontal, nunca una foto gigante */
.asset-form-page.is-modal-form .asset-gallery{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:170px!important;
  max-height:190px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 2px 7px!important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:#4ca9ef #16243a;
}
.asset-form-page.is-modal-form .asset-gallery::-webkit-scrollbar{height:6px}
.asset-form-page.is-modal-form .asset-gallery::-webkit-scrollbar-track{background:#16243a;border-radius:999px}
.asset-form-page.is-modal-form .asset-gallery::-webkit-scrollbar-thumb{background:#4ca9ef;border-radius:999px}
.asset-form-page.is-modal-form .asset-photo-card{
  flex:0 0 280px!important;
  width:280px!important;
  height:160px!important;
  min-height:160px!important;
  margin:0!important;
  border-radius:9px!important;
  scroll-snap-align:start;
  background:#14233a!important;
}
.asset-form-page.is-modal-form .asset-photo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#17243a!important;
}
.asset-form-page.is-modal-form .asset-photo-remove{
  width:28px!important;
  height:28px!important;
  right:6px!important;
  top:6px!important;
}
.asset-form-page.is-modal-form .asset-gallery-empty{
  flex:1 0 100%!important;
  min-width:100%!important;
  min-height:150px!important;
  height:150px!important;
  padding:16px!important;
  box-sizing:border-box!important;
}
.asset-form-page.is-modal-form .asset-gallery-empty svg{width:30px!important;height:30px!important}
.asset-form-page.is-modal-form .asset-gallery-empty b{font-size:13px!important}
.asset-form-page.is-modal-form .asset-gallery-empty small{font-size:10px!important}
.asset-form-page.is-modal-form .asset-upload-box{
  min-height:54px!important;
  margin-top:10px!important;
  padding:9px 12px!important;
  border-radius:9px!important;
}
.asset-form-page.is-modal-form .asset-upload-btn{
  height:36px!important;
  padding:0 13px!important;
  font-size:11px!important;
}
.asset-form-page.is-modal-form .asset-upload-note{font-size:9px!important}
.asset-form-page.is-modal-form .asset-upload-note b{font-size:11px!important}
.asset-form-page.is-modal-form .asset-new-preview{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  margin-top:8px!important;
}
.asset-form-page.is-modal-form .asset-new-preview .asset-photo-card{
  flex:0 0 140px!important;
  width:140px!important;
  height:92px!important;
  min-height:92px!important;
}

/* Formulario más compacto dentro del modal */
.asset-form-page.is-modal-form .asset-section-heading{
  margin-bottom:9px!important;
  font-size:9px!important;
}
.asset-form-page.is-modal-form .asset-form-grid{gap:10px 12px!important}
.asset-form-page.is-modal-form .asset-form-grid label{gap:5px!important}
.asset-form-page.is-modal-form .asset-form-grid label>b{font-size:10px!important}
.asset-form-page.is-modal-form .asset-form-grid input,
.asset-form-page.is-modal-form .asset-form-grid textarea,
.asset-form-page.is-modal-form .asset-form-grid select{
  min-height:36px!important;
  padding:7px 9px!important;
  border-radius:8px!important;
  font-size:11px!important;
}
.asset-form-page.is-modal-form .asset-input-search{grid-template-columns:minmax(0,1fr) 36px!important}
.asset-form-page.is-modal-form .asset-switch{height:36px!important}
.asset-form-page.is-modal-form .asset-form-footer{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:80!important;
  min-height:58px!important;
  padding:8px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  border-radius:0!important;
  border-top:1px solid rgba(78,122,172,.22)!important;
  background:#0c1931!important;
  backdrop-filter:none!important;
  box-sizing:border-box!important;
}
.asset-form-page.is-modal-form .asset-cancel-btn,
.asset-form-page.is-modal-form .asset-save-btn{
  height:38px!important;
  padding:0 18px!important;
  border-radius:9px!important;
  font-size:11px!important;
  cursor:pointer!important;
}
.asset-form-page.is-modal-form .asset-cancel-btn{background:#0c1931!important}

@media(max-width:900px){
  .asset-modal-shell{padding:10px!important}
  .asset-modal-window{width:calc(100vw - 20px)!important;height:94vh!important;min-height:0!important}
  .asset-form-page.is-modal-form .asset-photo-card{flex-basis:230px!important;width:230px!important}
  .asset-form-page.is-modal-form .asset-form-grid.two{grid-template-columns:1fr!important}
}


/* Activos modal: elimina el scrollbar blanco externo del iframe.
   Se conserva únicamente el scrollbar azul interno del formulario. */
html.asset-modal-document,
body.asset-modal-document{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
html.asset-modal-document::-webkit-scrollbar,
body.asset-modal-document::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.asset-modal-frame{
  overflow:hidden!important;
  scrollbar-width:none!important;
}
.asset-modal-frame::-webkit-scrollbar{
  display:none!important;
}


/* =========================================================
   ACTIVOS · modal arriba + visor de imágenes
   ========================================================= */
html.asset-modal-document,
body.asset-modal-document{
  --sidebar-w:0px!important;
  --topbar-h:0px!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.asset-modal-document .main{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.asset-form-page.is-modal-form{
  margin:0!important;
  transform:none!important;
}

/* Ojo sobre miniatura */
.assets-thumb{cursor:pointer}
.assets-thumb-view{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  place-items:center;
  border:0;
  border-radius:inherit;
  background:rgba(3,14,29,.48);
  color:#fff;
  opacity:0;
  cursor:pointer;
  transition:opacity .16s ease,background .16s ease;
}
.assets-thumb:hover .assets-thumb-view,
.assets-thumb:focus-within .assets-thumb-view{opacity:1}
.assets-thumb-view:hover{background:rgba(2,13,28,.64)}
.assets-thumb-view svg{
  width:28px!important;
  height:28px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.42));
}
.assets-thumb small{z-index:4;pointer-events:none}

/* Lightbox */
.asset-image-lightbox[hidden]{display:none!important}
.asset-image-lightbox{
  position:fixed;
  inset:0;
  z-index:9000;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.asset-image-lightbox-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,5,14,.92);
  backdrop-filter:blur(2px);
}
.asset-image-lightbox-stage{
  position:relative;
  z-index:2;
  width:calc(100vw - 120px);
  height:calc(100vh - 110px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
}
.asset-image-lightbox-stage img{
  max-width:92%;
  max-height:90%;
  width:auto;
  height:auto;
  object-fit:contain;
  transform-origin:center center;
  transition:transform .12s ease;
  box-shadow:0 18px 70px rgba(0,0,0,.55);
  pointer-events:auto;
  user-select:none;
}
.asset-image-lightbox-toolbar{
  position:absolute;
  z-index:4;
  top:16px;
  right:18px;
  display:flex;
  align-items:center;
  gap:8px;
}
.asset-image-lightbox-toolbar button{
  width:40px;
  height:40px;
  border:1px solid rgba(128,180,235,.18);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(8,25,46,.56);
  color:#f5fbff;
  font-size:23px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(6px);
  transition:.15s ease;
}
.asset-image-lightbox-toolbar button:hover{
  background:#123b68;
  border-color:#49baff;
}
.asset-image-lightbox-toolbar button.close{
  width:48px;
  height:48px;
  margin-left:4px;
  font-size:35px;
  border-color:#385a7e;
}
.asset-image-lightbox-caption{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  max-width:min(720px,80vw);
  padding:7px 13px;
  border-radius:999px;
  background:rgba(6,23,43,.78);
  color:#dceeff;
  font-size:11px;
  text-align:center;
}
body.asset-lightbox-open{overflow:hidden!important}

/* Fotos del formulario también ampliables */
.asset-form-page.is-modal-form .asset-photo-card img{cursor:zoom-in!important}

@media(max-width:700px){
  .asset-image-lightbox-stage{
    width:100vw;
    height:calc(100vh - 90px);
  }
  .asset-image-lightbox-toolbar{
    top:10px;
    right:10px;
    gap:5px;
  }
  .asset-image-lightbox-toolbar button{
    width:36px;
    height:36px;
  }
}

/* =========================================================
   ACTAS · ajuste compacto + tabla de activos completa + visor
   ========================================================= */

/* Cabecera y botones superiores más compactos */
.actas-strip{
  padding:7px 11px!important;
  min-height:52px;
}
.actas-strip-title{
  font-size:15px!important;
  gap:7px!important;
}
.actas-strip-title>span{font-size:19px!important}
.actas-strip-actions{gap:7px!important}
.actas-summary-btn,
.actas-new-btn{
  height:35px!important;
  padding:0 13px!important;
  gap:6px!important;
  font-size:11px!important;
  box-shadow:0 6px 15px rgba(55,220,124,.13)!important;
}
.actas-summary-btn svg,
.actas-new-btn svg{
  width:14px!important;
  height:14px!important;
}

/* Navegación superior un poco más pequeña */
.actas-panel{padding:10px!important}
.actas-toolbar{margin-bottom:7px!important;gap:8px!important}
.actas-pager{gap:7px!important}
.actas-pager-btn{
  width:40px!important;
  height:34px!important;
  border-radius:8px!important;
}
.actas-pager-btn svg{width:15px!important;height:15px!important}
.actas-search-fab{
  width:40px!important;
  height:40px!important;
}
.actas-search-fab svg{width:17px!important;height:17px!important}

/* Detalle expandido: ocupa menos alto */
.acta-detail-grid{
  grid-template-columns:.92fr 1.08fr!important;
  gap:12px!important;
  padding:10px 12px!important;
  align-items:start!important;
}
.acta-upload-box,
.acta-person-card{
  min-height:0!important;
}
.acta-detail-label{
  margin-bottom:6px!important;
  font-size:11px!important;
}
.acta-upload-box form{
  min-height:92px!important;
  border-radius:9px!important;
}
.acta-file-buttons{
  gap:6px!important;
  padding:9px 10px!important;
}
.acta-select-file,
.acta-upload-file,
.acta-cancel-file{
  height:34px!important;
  padding:0 12px!important;
  border-radius:7px!important;
  gap:6px!important;
  font-size:10px!important;
}
.acta-select-file svg,
.acta-upload-file svg,
.acta-cancel-file svg{
  width:14px!important;
  height:14px!important;
}
.acta-file-status{
  padding:8px 11px!important;
  font-size:10px!important;
}
.acta-signed-link{
  margin-top:6px!important;
  font-size:10px!important;
}
.acta-person-card{
  padding-top:1px!important;
  gap:5px!important;
}
.acta-person-card>div:not(.acta-total){
  grid-template-columns:145px minmax(0,1fr)!important;
  gap:7px!important;
}
.acta-person-card span{font-size:10px!important}
.acta-person-card b{
  height:28px!important;
  padding:6px 9px!important;
  font-size:10px!important;
}
.acta-total{
  margin-top:0!important;
  font-size:10px!important;
}
.acta-total strong{
  min-width:24px!important;
  height:24px!important;
  font-size:10px!important;
}

/* Barra de acciones de los activos del acta */
.acta-assets-toolbar{
  gap:7px!important;
  padding:6px 10px!important;
}
.actas-pager.mini .actas-pager-btn{
  width:34px!important;
  height:30px!important;
}
.acta-assets-search{
  width:34px!important;
  height:34px!important;
}
.acta-assets-search svg{width:15px!important;height:15px!important}
.acta-unlink-btn,
.acta-transfer-btn{
  height:32px!important;
  padding:0 12px!important;
  font-size:10px!important;
  gap:6px!important;
}
.acta-unlink-btn svg,
.acta-transfer-btn svg{width:14px!important;height:14px!important}

/* Tabla interna: sin scroll horizontal y con todas las columnas visibles */
.acta-assets-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  max-height:390px!important;
  scrollbar-gutter:stable;
}
.acta-assets-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.acta-assets-table col.acta-asset-col-label{width:7%!important}
.acta-assets-table col.acta-asset-col-type{width:16%!important}
.acta-assets-table col.acta-asset-col-class{width:15%!important}
.acta-assets-table col.acta-asset-col-desc{width:15%!important}
.acta-assets-table col.acta-asset-col-extra{width:17%!important}
.acta-assets-table col.acta-asset-col-image{width:12%!important}
.acta-assets-table col.acta-asset-col-process{width:10%!important}
.acta-assets-table col.acta-asset-col-actions{width:8%!important}
.acta-assets-table th,
.acta-assets-table td{
  min-width:0!important;
  padding:7px 6px!important;
  font-size:10.5px!important;
  line-height:1.18!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  vertical-align:middle!important;
}
.acta-assets-table thead th{
  font-size:10px!important;
  line-height:1.1!important;
}
.acta-assets-filter th{padding:4px!important}
.acta-assets-filter input{
  min-width:0!important;
  width:100%!important;
  height:25px!important;
  padding:0 5px!important;
  font-size:9px!important;
}
.acta-assets-table td:first-child b{
  font-size:11px!important;
}
.acta-assets-table td:nth-child(7){
  font-size:10px!important;
}
.acta-edit-asset{
  width:30px!important;
  height:30px!important;
}
.acta-edit-asset svg{width:14px!important;height:14px!important}

/* Imagen con ojo al pasar el mouse */
.acta-asset-thumb-shell{
  position:relative;
  width:82px;
  height:76px;
  margin:auto;
  overflow:hidden;
  border-radius:7px;
  background:#e9eef4;
}
.acta-asset-thumb{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  margin:0!important;
  border-radius:0!important;
}
.acta-asset-thumb-view{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  border:0;
  background:rgba(3,15,31,.48);
  color:#fff;
  opacity:0;
  cursor:pointer;
  transition:opacity .15s ease,background .15s ease;
}
.acta-asset-thumb-shell:hover .acta-asset-thumb-view,
.acta-asset-thumb-shell:focus-within .acta-asset-thumb-view{
  opacity:1;
}
.acta-asset-thumb-view:hover{background:rgba(3,15,31,.62)}
.acta-asset-thumb-view svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.42));
}

/* Scroll vertical azul de la tabla de activos del acta */
.acta-assets-wrap::-webkit-scrollbar{width:8px;height:0}
.acta-assets-wrap::-webkit-scrollbar-track{background:#0a2341}
.acta-assets-wrap::-webkit-scrollbar-thumb{background:#285f91;border-radius:999px;border:2px solid #0a2341}
.acta-assets-wrap{scrollbar-color:#285f91 #0a2341;scrollbar-width:thin}

@media(max-width:1150px){
  .acta-assets-table th,
  .acta-assets-table td{font-size:9.5px!important;padding:6px 4px!important}
  .acta-asset-thumb-shell{width:70px;height:66px}
  .acta-person-card>div:not(.acta-total){grid-template-columns:118px minmax(0,1fr)!important}
}
@media(max-width:900px){
  .acta-detail-grid{grid-template-columns:1fr!important}
  .acta-person-card{padding-top:0!important}
  .acta-assets-wrap{overflow-x:auto!important}
  .acta-assets-table{min-width:900px!important}
}

/* =========================================================
   ACTAS · ocupa toda la altura útil de la pantalla
   Mantiene el scroll vertical dentro del listado/detalle.
   ========================================================= */
body.app-shell .main:has(.actas-page){
  overflow:hidden!important;
}
.actas-page{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:8px 0 8px!important;
  overflow:hidden!important;
}
.actas-strip{
  flex:0 0 auto!important;
}
.actas-panel{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.actas-toolbar,
.actas-filter-form{
  flex:0 0 auto!important;
}
.actas-table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* En pantallas más bajas, aprovecha todavía más el alto. */
@media(max-height:760px){
  .actas-page{gap:7px!important;padding-top:5px!important;padding-bottom:5px!important}
  .actas-strip{min-height:46px!important;padding-top:5px!important;padding-bottom:5px!important}
  .actas-panel{padding:8px!important}
  .actas-toolbar{margin-bottom:5px!important}
}

/* Actas · modo enfoque: al abrir una acta se muestra únicamente esa acta */
.actas-page.actas-focus-mode .actas-panel{
  min-height:calc(100vh - 120px);
}
.actas-page.actas-focus-mode .actas-toolbar.focus{
  min-height:48px;
  padding:8px 12px;
  justify-content:flex-start;
  background:linear-gradient(180deg,#123b66,#0f3156);
  border-bottom:1px solid rgba(74,145,205,.26);
}
.actas-focus-hint{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.actas-focus-dot{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:#49d6ff;
  box-shadow:0 0 0 4px rgba(73,214,255,.10),0 0 16px rgba(73,214,255,.25);
}
.actas-focus-hint strong{
  display:block;
  color:#fff;
  font-size:12px;
  line-height:1.2;
}
.actas-focus-hint small{
  display:block;
  margin-top:2px;
  color:#9dc5e5;
  font-size:9px;
  line-height:1.25;
}
.actas-page.actas-focus-mode .actas-table-wrap{
  max-height:calc(100vh - 178px)!important;
}
.actas-page.actas-focus-mode .acta-main-row.is-open td{
  background:#17436f!important;
}
.actas-page.actas-focus-mode .acta-row-toggle{
  box-shadow:0 0 0 3px rgba(73,190,255,.10),0 7px 18px rgba(47,157,234,.18)!important;
}
@media(max-width:720px){
  .actas-focus-hint small{display:none}
  .actas-page.actas-focus-mode .actas-table-wrap{max-height:calc(100vh - 160px)!important}
}


/* =========================================================
   ACTAS · modo enfoque sin doble scroll en activos
   Al abrir una acta, la tabla interna de activos crece completa
   y el único scroll vertical queda en el contenedor general.
   ========================================================= */
.actas-page.actas-focus-mode .acta-assets-wrap{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  max-height:none!important;
  height:auto!important;
}
.actas-page.actas-focus-mode .acta-assets-table{
  min-width:0!important;
}
.actas-page.actas-focus-mode .acta-detail-row > td{
  overflow:visible!important;
}
.actas-page.actas-focus-mode .actas-table-wrap{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:calc(100vh - 178px)!important;
}
@media(max-width:900px){
  .actas-page.actas-focus-mode .acta-assets-wrap{
    overflow-x:auto!important;
  }
}


/* =========================================================
   CONSTATACIÓN EXCEL · compacto + paleta Activos / Actas
   ========================================================= */
.bulk-data-page{
  gap:9px!important;
  padding:2px 0 8px!important;
}
.bulk-data-titlebar{
  min-height:46px!important;
  padding:7px 14px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#1b4778,#153b66)!important;
  border:1px solid rgba(70,139,199,.30)!important;
  box-shadow:none!important;
}
.bulk-data-title{
  gap:7px!important;
  font-size:14px!important;
  color:#fff!important;
}
.bulk-data-title span{
  font-size:18px!important;
  color:#51c5ff!important;
}
.bulk-data-company{
  font-size:10px!important;
  color:#9fc2df!important;
}
.bulk-data-company b{color:#fff!important}

/* Los dos módulos cerrados quedan pequeños y limpios */
.bulk-accordion{
  border-radius:10px!important;
  border:1px solid rgba(70,126,185,.30)!important;
  background:#0b2442!important;
  box-shadow:none!important;
}
.bulk-accordion>summary{
  min-height:43px!important;
  padding:0 12px!important;
  gap:8px!important;
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#62c7ff!important;
  border-bottom-color:transparent!important;
}
.bulk-accordion[open]>summary{
  border-bottom-color:rgba(82,157,216,.28)!important;
}
.bulk-accordion>summary strong{
  font-size:13px!important;
  letter-spacing:.02em!important;
}
.bulk-accordion>summary small{
  font-size:9px!important;
  color:#a8c4df!important;
}
.bulk-chevron{
  font-size:20px!important;
  color:#53c5ff!important;
}

/* Interior más compacto */
.bulk-accordion-body{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:13px 16px 15px!important;
  background:#0d294a!important;
}
.bulk-section-label{
  margin-bottom:5px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#fff!important;
}
.bulk-help{
  margin:0 0 10px!important;
  max-width:none!important;
  font-size:10px!important;
  line-height:1.42!important;
  color:#a9c1d9!important;
}
.bulk-download-btn{
  min-height:36px!important;
  padding:0 13px!important;
  gap:7px!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;
  color:#05281a!important;
  font-size:10.5px!important;
  box-shadow:0 7px 16px rgba(51,207,119,.10)!important;
}
.bulk-download-btn svg{
  width:14px!important;
  height:14px!important;
}

/* Caja de selección / carga */
.bulk-upload-form{
  border-radius:9px!important;
  border:1px solid rgba(70,126,185,.30)!important;
  background:#0b2442!important;
}
.bulk-upload-actions{
  gap:7px!important;
  padding:10px 12px!important;
  border-bottom:1px solid rgba(70,126,185,.24)!important;
}
.bulk-choose,.bulk-upload,.bulk-cancel{
  min-height:36px!important;
  padding:0 13px!important;
  gap:7px!important;
  border-radius:7px!important;
  font-size:10.5px!important;
}
.bulk-choose{
  background:linear-gradient(135deg,#50b7ff,#42a8ef)!important;
  color:#06223b!important;
}
.bulk-upload{
  background:#173b62!important;
  color:#6f8dab!important;
}
.bulk-cancel{
  background:#173b62!important;
  color:#6f8dab!important;
}
.bulk-upload:not(:disabled){
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
}
.bulk-cancel:not(:disabled){
  background:#23517b!important;
  color:#e9f6ff!important;
}
.bulk-choose svg,.bulk-upload svg,.bulk-cancel svg{
  width:14px!important;
  height:14px!important;
}
.bulk-drop-zone{
  min-height:64px!important;
  padding:10px 12px!important;
  gap:10px!important;
  color:#9db8d2!important;
}
.bulk-drop-icon{
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
  background:#102f50!important;
  color:#43dc8b!important;
}
.bulk-drop-icon svg{
  width:17px!important;
  height:17px!important;
}
.bulk-drop-zone div{gap:2px!important}
.bulk-drop-zone b{
  font-size:10.5px!important;
  color:#edf7ff!important;
}
.bulk-drop-zone small{
  font-size:8.5px!important;
  color:#84a6c5!important;
}

/* Prueba de códigos también compacta */
.bulk-test-box{
  margin-top:15px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(70,126,185,.24)!important;
}
.bulk-test-box>div{
  gap:2px!important;
  margin-bottom:7px!important;
}
.bulk-test-box>div b{
  font-size:10.5px!important;
  color:#eaf6ff!important;
}
.bulk-test-box>div span{
  font-size:8.7px!important;
  color:#8eacc8!important;
}
.bulk-upload-form.compact{
  grid-template-columns:auto auto auto minmax(0,1fr)!important;
  gap:6px!important;
  padding:7px!important;
  background:#0b2442!important;
}
.bulk-upload-form.compact .bulk-choose,
.bulk-upload-form.compact .bulk-upload,
.bulk-upload-form.compact .bulk-cancel{
  min-height:33px!important;
  padding:0 10px!important;
  font-size:9.5px!important;
}
.bulk-upload-form.compact .bulk-file-name{
  font-size:8.8px!important;
  color:#91afca!important;
}

/* Nota de constatación */
.bulk-note{
  margin-top:14px!important;
  padding:9px 10px!important;
  gap:3px!important;
  border-radius:8px!important;
  background:#12385d!important;
  border:1px solid rgba(72,165,226,.28)!important;
}
.bulk-note b{
  font-size:10px!important;
  color:#5bcbff!important;
}
.bulk-note span{
  font-size:9px!important;
  line-height:1.42!important;
  color:#afc9df!important;
}
.bulk-note strong{color:#fff!important}

/* Resultado de carga armonizado */
.bulk-result-card{
  padding:11px 13px!important;
  border-radius:10px!important;
}
.bulk-result-head h3{font-size:13px!important}
.bulk-result-head p{font-size:9.5px!important}
.bulk-result-head small{font-size:8px!important}
.bulk-result-badge{font-size:9px!important;padding:5px 8px!important}
.bulk-result-stats{margin-top:9px!important}
.bulk-result-stats>div{
  min-width:76px!important;
  padding:6px 9px!important;
}
.bulk-result-stats b{font-size:15px!important}
.bulk-result-stats span{font-size:8px!important}

@media(max-width:900px){
  .bulk-accordion-body{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .bulk-upload-actions{flex-wrap:wrap!important}
}

/* =========================================================
   VEHÍCULOS · misma paleta visual de Activos / Actas
   ========================================================= */
.vehicle-page.vehicle-page-classic{gap:11px!important}
.vehicle-page-classic .vehicle-module-bar{
  min-height:54px!important;padding:8px 14px!important;border-radius:12px!important;
  background:linear-gradient(180deg,#1b4778,#153b66)!important;
  border:1px solid rgba(70,139,199,.30)!important;box-shadow:none!important
}
.vehicle-page-classic .vehicle-module-title{color:#fff!important;font-size:15px!important}
.vehicle-page-classic .vehicle-module-title>span{color:#51c5ff!important;font-size:19px!important}
.vehicle-page-classic .vehicle-new-btn{
  min-height:38px!important;padding:0 15px!important;border-radius:999px!important;
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;color:#05281a!important;
  font-size:11px!important;box-shadow:0 8px 18px rgba(51,207,119,.12)!important
}
.vehicle-classic-summary{gap:10px!important}
.vehicle-classic-stat{
  position:relative;overflow:hidden;min-height:84px!important;padding:14px 15px!important;border-radius:12px!important;
  background:linear-gradient(180deg,#123b66,#103458)!important;border:1px solid rgba(70,139,199,.30)!important;box-shadow:none!important
}
.vehicle-classic-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#40bfff}
.vehicle-classic-stat:nth-child(2)::before{background:#42dd8a}
.vehicle-classic-stat:nth-child(3)::before{background:#51c5ff}
.vehicle-classic-stat>span{margin-bottom:7px!important;color:#a9cae7!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em}
.vehicle-classic-stat>strong{color:#fff!important;font-size:24px!important}
.vehicle-classic-stat:nth-child(2)>strong{color:#dfffee!important}
.vehicle-classic-export{
  min-height:35px!important;padding:0 13px!important;margin-top:0!important;border-radius:8px!important;
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;border:1px solid rgba(73,208,255,.35)!important;
  color:#06223b!important;font-size:10.5px!important;font-weight:850!important
}
.vehicle-classic-export:hover{background:linear-gradient(135deg,#4bc5fa,#5bd7ff)!important;border-color:#67d9ff!important}
.vehicle-classic-card{border-radius:12px!important;background:#0b2442!important;border:1px solid rgba(70,126,185,.30)!important}
.vehicle-classic-card-head{padding:13px 13px 11px!important;background:linear-gradient(180deg,#123b66,#103458)!important;border-bottom:1px solid rgba(72,143,201,.28)!important}
.vehicle-classic-card-head h2{color:#fff!important;font-size:14px!important}
.vehicle-classic-card-head p{margin-top:5px!important;color:#a9c6e0!important;font-size:10px!important}
.vehicle-classic-search{height:36px!important;border-radius:9px!important;background:#081d35!important;border:1px solid #315f8b!important;color:#4fc7ff!important}
.vehicle-classic-search input{color:#edf8ff!important;font-size:10.5px!important}
.vehicle-classic-search input::placeholder{color:#83a7c5!important}.vehicle-classic-search a{color:#7ecbff!important}
.vehicle-classic-table-wrap{padding:0 12px 12px!important;overflow-x:auto!important;scrollbar-color:#285f91 #0a2341}
.vehicle-classic-table{background:#0d294a!important;border-radius:10px!important}
.vehicle-classic-table thead th{padding:10px 11px!important;background:linear-gradient(180deg,#17406c,#14375e)!important;color:#fff!important;font-size:10.5px!important;border-bottom:1px solid rgba(92,151,207,.34)!important}
.vehicle-classic-table tbody td{padding:10px 11px!important;background:#12345d!important;color:#f4f9ff!important;font-size:10.5px!important;border-bottom:1px solid rgba(79,126,174,.30)!important}
.vehicle-classic-table tbody tr:nth-child(even) td{background:#0d294a!important}.vehicle-classic-table tbody tr:hover td{background:#17436f!important}
.vehicle-classic-code{min-width:45px!important;padding:5px 8px!important;border-radius:8px!important;background:#174f80!important;border:1px solid rgba(72,178,243,.38)!important;color:#eaf8ff!important;font-size:10px!important}
.vehicle-classic-name{color:#fff!important;font-weight:700!important}.vehicle-classic-money{color:#dfffee!important;font-size:11px!important}
.vehicle-classic-actions{gap:6px!important}
.vehicle-classic-actions a,.vehicle-classic-actions button{width:30px!important;height:30px!important;border-radius:8px!important;border:1px solid rgba(79,158,218,.30)!important;color:#06223b!important}
.vehicle-classic-actions .is-view{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#06223b!important}
.vehicle-classic-actions .is-edit{background:#1b4d7b!important;color:#72d0ff!important;border-color:#2c6ea3!important}
.vehicle-classic-actions .is-pdf{width:44px!important;background:linear-gradient(135deg,#38baf4,#49d0ff)!important;border-color:#49caff!important;color:#06223b!important}
.vehicle-classic-actions .is-delete{background:#ff6676!important;color:#3b0b12!important;border-color:#ff7583!important}
.vehicle-classic-footer{padding:9px 12px 11px!important;color:#91afca!important;font-size:9.5px!important}
.vehicle-classic-pager a{width:32px!important;height:30px!important;border-radius:8px!important;background:#153e6a!important;color:#77bfff!important;border:1px solid #285f91!important}
.vehicle-classic-pager a:not(.disabled):hover{background:linear-gradient(135deg,#38baf4,#49d0ff)!important;color:#06223b!important}
.vehicle-classic-pager b{color:#fff!important}
.vehicle-classic-table-wrap::-webkit-scrollbar{height:8px}.vehicle-classic-table-wrap::-webkit-scrollbar-track{background:#0a2341}
.vehicle-classic-table-wrap::-webkit-scrollbar-thumb{background:#285f91;border-radius:999px;border:2px solid #0a2341}
.vehicle-delete-dialog{background:linear-gradient(145deg,#15345e,#112b4f)!important;border:1px solid rgba(80,139,207,.30)!important;color:#eef8ff!important}
.vehicle-delete-dialog h3{color:#fff!important}.vehicle-delete-dialog p{color:#a9c3db!important}
@media(max-width:760px){.vehicle-classic-summary{grid-template-columns:1fr!important}.vehicle-classic-card-head{gap:10px!important}}

/* =========================================================
   VEHÍCULOS · Nueva / Editar / Visualizar en modal grande
   ========================================================= */
.vehicle-modal-shell[hidden]{display:none!important}
.vehicle-modal-shell{
  position:fixed;
  inset:0;
  z-index:6200;
  display:grid;
  place-items:center;
  padding:20px;
}
.vehicle-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(1,8,20,.76);
  backdrop-filter:blur(3px);
  cursor:default;
}
.vehicle-modal-window{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100vw - 64px));
  height:min(91vh,860px);
  min-height:600px;
  overflow:hidden;
  border-radius:14px;
  background:#0b1e39;
  border:1px solid rgba(79,151,218,.38);
  box-shadow:0 34px 105px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025) inset;
}
.vehicle-modal-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#0b1e39;
  overflow:hidden;
}
.vehicle-modal-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#0b1e39;
  color:#bcd8ef;
  font-size:11px;
}
.vehicle-modal-loading.is-hidden{display:none!important}
.vehicle-modal-loading span{
  width:23px;
  height:23px;
  border-radius:50%;
  border:3px solid rgba(70,190,255,.18);
  border-top-color:#42c2ff;
  animation:vehicleModalSpin .75s linear infinite;
}
@keyframes vehicleModalSpin{to{transform:rotate(360deg)}}
body.vehicle-modal-open{overflow:hidden!important}

/* Documento interno del iframe: sin menú, topbar ni scrollbar blanco */
html:has(body.vehicle-modal-document),
body.vehicle-modal-document{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0b1e39!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
html:has(body.vehicle-modal-document)::-webkit-scrollbar,
body.vehicle-modal-document::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
body.vehicle-modal-document .sidebar,
body.vehicle-modal-document .topbar{display:none!important}
body.vehicle-modal-document .main{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#0b1e39!important;
}
body.vehicle-modal-document>.alert{display:none!important}

/* Formulario Nuevo / Editar */
.vehicle-create-exact.is-modal-form{
  width:100%!important;
  height:100vh!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#102744 0%,#0c203b 100%)!important;
}
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  min-height:72px!important;
  padding:13px 20px!important;
  margin:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#183d69,#14345b)!important;
  border-bottom:1px solid rgba(82,154,215,.28)!important;
}
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head span{
  color:#57c7ff!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
}
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head h1{
  margin-top:3px!important;
  font-size:22px!important;
  line-height:1.08!important;
}
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head>a{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  text-decoration:none!important;
  color:#9ed9ff!important;
  font-size:24px!important;
}
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head>a:hover{
  background:#173e68!important;
  color:#fff!important;
}
.vehicle-create-exact.is-modal-form>.alert{
  margin:10px 18px 0!important;
}
.vehicle-create-exact.is-modal-form .form-grid{
  height:calc(100vh - 72px)!important;
  max-height:calc(100vh - 72px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:14px 18px 84px!important;
  gap:12px!important;
  scrollbar-color:#2d6e9f #0a2341!important;
  scrollbar-width:thin!important;
}
.vehicle-create-exact.is-modal-form .form-grid::-webkit-scrollbar{width:9px}
.vehicle-create-exact.is-modal-form .form-grid::-webkit-scrollbar-track{background:#0a2341}
.vehicle-create-exact.is-modal-form .form-grid::-webkit-scrollbar-thumb{background:#2d6e9f;border-radius:999px;border:2px solid #0a2341}
.vehicle-create-exact.is-modal-form .card{
  padding:14px 15px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#123b66,#103458)!important;
  border:1px solid rgba(72,143,201,.28)!important;
  box-shadow:none!important;
}
.vehicle-create-exact.is-modal-form .card h2{
  font-size:15px!important;
  margin-bottom:9px!important;
}
.vehicle-create-exact.is-modal-form .hint{font-size:9.5px!important;margin-bottom:10px!important;color:#a8c4df!important}
.vehicle-create-exact.is-modal-form label{font-size:10px!important;gap:5px!important}
.vehicle-create-exact.is-modal-form input,
.vehicle-create-exact.is-modal-form select,
.vehicle-create-exact.is-modal-form textarea{
  min-height:34px!important;
  border-radius:7px!important;
  background:#081d35!important;
  border-color:#315f8b!important;
  color:#f0f8ff!important;
  font-size:10.5px!important;
}
.vehicle-create-exact.is-modal-form textarea{min-height:74px!important}
.vehicle-create-exact.is-modal-form .compact-grid{gap:9px 10px!important}
.vehicle-create-exact.is-modal-form .submit-row{
  position:sticky!important;
  bottom:-84px!important;
  z-index:40!important;
  margin:0 -18px -84px!important;
  min-height:66px!important;
  padding:11px 18px!important;
  background:rgba(8,29,54,.97)!important;
  border-top:1px solid rgba(72,143,201,.28)!important;
  backdrop-filter:blur(8px)!important;
}
.vehicle-create-exact.is-modal-form .submit-row .btn{
  min-height:38px!important;
  padding:0 15px!important;
  border-radius:9px!important;
  font-size:10.5px!important;
}
.vehicle-create-exact.is-modal-form .submit-row .btn-save{
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;
  color:#062719!important;
}
.vehicle-create-exact.is-modal-form .submit-row .secondary{
  background:#0b2747!important;
  border:1px solid #315f8b!important;
  color:#e8f6ff!important;
}

/* Visualización dentro del modal */
.vehicle-exact-view.is-modal-view{
  position:relative!important;
  width:100%!important;
  height:100vh!important;
  margin:0!important;
  padding:16px 18px 28px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,#0d2544,#091d36)!important;
  color:#eef8ff!important;
  scrollbar-color:#2d6e9f #0a2341!important;
  scrollbar-width:thin!important;
}
.vehicle-exact-view.is-modal-view::-webkit-scrollbar{width:9px}
.vehicle-exact-view.is-modal-view::-webkit-scrollbar-track{background:#0a2341}
.vehicle-exact-view.is-modal-view::-webkit-scrollbar-thumb{background:#2d6e9f;border-radius:999px;border:2px solid #0a2341}
.vehicle-modal-view-close{
  position:sticky;
  top:4px;
  z-index:55;
  float:right;
  width:36px;
  height:36px;
  margin:0 2px -38px 0;
  display:grid;
  place-items:center;
  border:1px solid rgba(91,169,226,.28);
  border-radius:50%;
  background:#12385f;
  color:#a9dcff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.vehicle-modal-view-close:hover{background:#1b4c79;color:#fff}
.vehicle-exact-view.is-modal-view .card{
  margin:0 0 11px!important;
  padding:14px 15px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#123b66,#103458)!important;
  border:1px solid rgba(72,143,201,.28)!important;
  box-shadow:none!important;
  color:#eef8ff!important;
}
.vehicle-exact-view.is-modal-view .card::before{display:none!important}
.vehicle-exact-view.is-modal-view .card h2,
.vehicle-exact-view.is-modal-view .card h3,
.vehicle-exact-view.is-modal-view .card h4,
.vehicle-exact-view.is-modal-view .card p,
.vehicle-exact-view.is-modal-view .card td,
.vehicle-exact-view.is-modal-view .card th,
.vehicle-exact-view.is-modal-view .card strong,
.vehicle-exact-view.is-modal-view .card div,
.vehicle-exact-view.is-modal-view .card span{
  color:#eef8ff!important;
}
.vehicle-exact-view.is-modal-view .detail-header{
  gap:12px!important;
  padding-right:38px!important;
}
.vehicle-exact-view.is-modal-view .detail-header h2{
  font-size:25px!important;
  color:#fff!important;
}
.vehicle-exact-view.is-modal-view .detail-header p{
  color:#9fc1de!important;
  font-size:10.5px!important;
}
.vehicle-exact-view.is-modal-view .actions{gap:6px!important}
.vehicle-exact-view.is-modal-view .btn{
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:8px!important;
  font-size:9.5px!important;
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
}
.vehicle-exact-view.is-modal-view .btn.secondary{
  background:#0b2747!important;
  border:1px solid #315f8b!important;
  color:#e8f6ff!important;
}
.vehicle-exact-view.is-modal-view .vehicle-exact-danger{
  background:#ff6575!important;
  color:#3d0a12!important;
}
.vehicle-exact-view.is-modal-view .summary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.vehicle-exact-view.is-modal-view .summary-grid>div{
  min-height:44px!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  background:#0b2949!important;
  border:1px solid rgba(70,126,185,.26)!important;
  color:#dfefff!important;
  font-size:10.5px!important;
}
.vehicle-exact-view.is-modal-view .summary-grid strong{color:#61caff!important}
.vehicle-exact-view.is-modal-view .table-wrap{
  background:#0b2949!important;
  border:1px solid rgba(70,126,185,.26)!important;
  border-radius:8px!important;
}
.vehicle-exact-view.is-modal-view table{background:transparent!important}
.vehicle-exact-view.is-modal-view table th{background:#14375e!important;color:#fff!important}
.vehicle-exact-view.is-modal-view table td{background:#0d294a!important;color:#e9f6ff!important;border-color:rgba(79,126,174,.25)!important}
.vehicle-exact-view.is-modal-view table tr:nth-child(even) td{background:#12345d!important}
.vehicle-exact-view.is-modal-view .badge{background:#174f80!important;color:#aee2ff!important;border-color:#2b79ae!important}
.vehicle-exact-view.is-modal-view .gallery{gap:9px!important}
.vehicle-exact-view.is-modal-view .gallery img{border-radius:8px!important;background:#071b31!important;border:1px solid #315f8b!important}
.vehicle-exact-view.is-modal-view .responsible-identity-view{background:#0b2949!important;border-color:rgba(70,126,185,.26)!important}
.vehicle-exact-view.is-modal-view .responsible-identity-view strong,
.vehicle-exact-view.is-modal-view .responsible-identity-view span{color:#eaf7ff!important}

@media(max-width:900px){
  .vehicle-modal-shell{padding:8px!important}
  .vehicle-modal-window{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;min-height:0!important}
  .vehicle-create-exact.is-modal-form .form-grid{padding-left:12px!important;padding-right:12px!important}
  .vehicle-exact-view.is-modal-view .summary-grid{grid-template-columns:1fr!important}
}

/* Footer fijo del formulario vehicular dentro del modal */
.vehicle-create-exact.is-modal-form .submit-row{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  margin:0!important;
  min-height:64px!important;
  padding:10px 18px!important;
}

/* =========================================================
   VEHÍCULOS · FIX SECCIONES 8 Y 9 EN MODAL
   Evita que Resumen de avalúo y Choques/golpes se colapsen.
   ========================================================= */
.vehicle-create-exact.is-modal-form .valuation-summary-editor,
.vehicle-create-exact.is-modal-form .damage-assessment-section{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  contain:none!important;
  align-self:stretch!important;
  visibility:visible!important;
  opacity:1!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor > *,
.vehicle-create-exact.is-modal-form .damage-assessment-section > *{
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .valuation-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
  height:auto!important;
  overflow:visible!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .money-input-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  min-height:36px!important;
  overflow:hidden!important;
  border:1px solid #315f8b!important;
  background:#081d35!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .money-input-wrap>span{
  min-width:48px!important;
  padding:0 9px!important;
  background:#153e68!important;
  color:#70ccff!important;
  border-right:1px solid #315f8b!important;
  font-size:9px!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .money-input-wrap input{
  min-height:36px!important;
  background:#081d35!important;
  color:#f4f9ff!important;
}

.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-control-grid{
  display:grid!important;
  grid-template-columns:minmax(200px,.8fr) repeat(2,minmax(220px,1fr))!important;
  gap:10px!important;
  height:auto!important;
  overflow:visible!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-count-box{
  display:flex!important;
  flex-direction:column!important;
  min-height:82px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  background:#0b2949!important;
  border:1px solid rgba(70,126,185,.30)!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-count-input-label{
  margin-bottom:6px!important;
  color:#b8d5ee!important;
  font-size:9px!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-diagram-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
  height:auto!important;
  overflow:visible!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-view-card{
  display:block!important;
  min-height:210px!important;
  overflow:hidden!important;
  border-radius:10px!important;
  border:1px solid #315f8b!important;
  background:#eef4fa!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-map-canvas{
  display:block!important;
  min-height:190px!important;
  height:190px!important;
  overflow:hidden!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-vehicle-diagram{
  display:block!important;
  width:100%!important;
  height:190px!important;
  object-fit:contain!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-legend{
  display:flex!important;
  margin-top:8px!important;
  color:#b6d0e6!important;
  font-size:9px!important;
}

@media(max-width:1000px){
  .vehicle-create-exact.is-modal-form .valuation-summary-editor .valuation-summary-grid{
    grid-template-columns:1fr!important;
  }
  .vehicle-create-exact.is-modal-form .damage-assessment-section .damage-control-grid,
  .vehicle-create-exact.is-modal-form .damage-assessment-section .damage-diagram-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   VEHÍCULOS · AJUSTE FINAL MODAL 8/9/10/11 + VISTA LEGIBLE
   02-09-2026
   ========================================================= */

/* Modal más alto y ancho: aprovecha casi toda la pantalla */
.vehicle-modal-shell{
  padding:12px!important;
}
.vehicle-modal-window{
  width:min(1500px,calc(100vw - 24px))!important;
  height:calc(100vh - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  min-height:0!important;
  border-radius:13px!important;
}

/* Nuevo / editar: un scroll azul continuo hasta las secciones finales */
.vehicle-create-exact.is-modal-form .vehicle-create-exact__head{
  min-height:66px!important;
  height:66px!important;
  padding:10px 20px!important;
}
.vehicle-create-exact.is-modal-form .form-grid{
  height:calc(100vh - 66px)!important;
  max-height:calc(100vh - 66px)!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:12px 18px 112px!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
}

/* Ninguna sección final puede colapsarse */
.vehicle-create-exact.is-modal-form .valuation-summary-editor,
.vehicle-create-exact.is-modal-form .damage-assessment-section,
.vehicle-create-exact.is-modal-form .vehicle-photo-section,
.vehicle-create-exact.is-modal-form .vehicle-signature-section{
  display:block!important;
  grid-column:1 / -1!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  contain:none!important;
}

/* 8. Resumen de avalúo: siempre visible */
.vehicle-create-exact.is-modal-form .valuation-summary-editor{
  min-height:142px!important;
  padding-bottom:16px!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .valuation-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  min-height:67px!important;
  height:auto!important;
  margin-top:8px!important;
  overflow:visible!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .valuation-summary-grid>label{
  display:flex!important;
  flex-direction:column!important;
  min-height:62px!important;
  visibility:visible!important;
}
.vehicle-create-exact.is-modal-form .valuation-summary-editor .money-input-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  width:100%!important;
  min-height:36px!important;
  height:36px!important;
}

/* 9. Choques: conserva todo el esquema y permite crecer */
.vehicle-create-exact.is-modal-form .damage-assessment-section{
  min-height:560px!important;
}
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-diagram-grid,
.vehicle-create-exact.is-modal-form .damage-assessment-section .damage-control-grid{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* 10. Fotografías: no queda debajo del footer ni se corta */
.vehicle-create-exact.is-modal-form .vehicle-photo-section{
  min-height:210px!important;
  padding-bottom:18px!important;
}
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-upload-status,
.vehicle-create-exact.is-modal-form .vehicle-photo-section .upload-box,
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-order-help,
.vehicle-create-exact.is-modal-form .vehicle-photo-section .existing-photos-block,
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-preview-grid{
  display:flex;
  visibility:visible!important;
  opacity:1!important;
}
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-preview-grid{
  display:grid!important;
}
.vehicle-create-exact.is-modal-form .vehicle-photo-section .upload-box{
  display:block!important;
}
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-order-help{
  display:flex!important;
}

/* 11. Firma: visible completa al final del scroll */
.vehicle-create-exact.is-modal-form .vehicle-signature-section{
  min-height:360px!important;
  margin-bottom:24px!important;
  padding-bottom:18px!important;
}
.vehicle-create-exact.is-modal-form .vehicle-signature-section .responsible-header-editor,
.vehicle-create-exact.is-modal-form .vehicle-signature-section .signature-editor-groups,
.vehicle-create-exact.is-modal-form .vehicle-signature-section .responsible-header-sample,
.vehicle-create-exact.is-modal-form .vehicle-signature-section .signature-final-note{
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
}

/* Footer fijo pero con espacio real al final del contenido */
.vehicle-create-exact.is-modal-form .submit-row{
  min-height:62px!important;
  height:62px!important;
  padding:9px 18px!important;
}

/* VISTA: el bloque blanco de choques usa texto oscuro y legible */
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-summary-table{
  background:#f5f9fe!important;
  border-color:#cbd9e9!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-summary-row{
  background:#eef4fb!important;
  border-color:#cbd9e9!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-summary-label{
  color:#173f7e!important;
  font-weight:850!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-summary-value{
  background:#fff!important;
  border-color:#b8cbe7!important;
  color:#18447f!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-summary-kind{
  background:#fbfdff!important;
  border-color:#d5e0ef!important;
  color:#355887!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-view-summary{
  background:#fff!important;
  border-color:#d5e0ef!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-view-summary-card{
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  border-color:#dbe4f0!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .damage-view-summary-card h4{
  color:#244f8f!important;
}
.vehicle-exact-view.is-modal-view .damage-view-card-wrap .vehicle-exact-damage-x{
  color:#c51d2b!important;
}

/* También deja legibles tablas blancas dentro de la vista si aparecen */
.vehicle-exact-view.is-modal-view .card .info-table td:first-child{
  color:#b9d8ef!important;
}
.vehicle-exact-view.is-modal-view .card .info-table td:last-child{
  color:#ffffff!important;
}

@media(max-width:1000px){
  .vehicle-create-exact.is-modal-form .valuation-summary-editor .valuation-summary-grid{
    grid-template-columns:1fr!important;
  }
  .vehicle-create-exact.is-modal-form .valuation-summary-editor{
    min-height:290px!important;
  }
  .vehicle-create-exact.is-modal-form .vehicle-signature-section{
    min-height:520px!important;
  }
}
/* Ajuste de layout interno de fotografías */
.vehicle-create-exact.is-modal-form .vehicle-photo-section .existing-photos-block{display:block!important}
.vehicle-create-exact.is-modal-form .vehicle-photo-section .photo-upload-status{display:flex!important}

/* =========================================================
   AJUSTE FINAL · MÓVIL Y TABLET
   02-09-2026
   - Hace visibles los botones Cancelar / Guardar
   - Usa alturas dinámicas (dvh) para evitar recortes
   - Optimiza modales y formularios en tabletas y teléfonos
   ========================================================= */

:root{
  --kpi-safe-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
}

@media (max-width: 1024px){
  html,
  body{
    min-height:100dvh;
  }

  /* Viewport dinámico para iframes/modales */
  html.asset-modal-document,
  body.asset-modal-document,
  html.vehicle-modal-document,
  body.vehicle-modal-document{
    height:100dvh!important;
    min-height:100dvh!important;
  }

  body.asset-modal-document .main,
  body.vehicle-modal-document .main{
    height:100dvh!important;
    min-height:100dvh!important;
  }

  /* Los modales usan prácticamente toda la pantalla útil */
  .asset-modal-shell,
  .vehicle-modal-shell{
    padding:0!important;
  }

  .asset-modal-window,
  .vehicle-modal-window{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:100dvh!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }

  /* ==================== ACTIVOS ==================== */
  .asset-form-page,
  .asset-form-page.is-modal-form{
    min-height:100dvh!important;
  }

  .asset-form-page.is-modal-form{
    height:100dvh!important;
  }

  .asset-form-header,
  .asset-form-page.is-modal-form .asset-form-header{
    min-height:60px!important;
    padding:10px 14px!important;
  }

  .asset-form-header h1,
  .asset-form-page.is-modal-form .asset-form-header h1{
    font-size:20px!important;
    line-height:1.08!important;
  }

  .asset-form-header small,
  .asset-form-page.is-modal-form .asset-form-header small{
    font-size:10px!important;
  }

  .asset-form-page form,
  .asset-form-page.is-modal-form form{
    max-height:none!important;
    height:calc(100dvh - 60px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:12px 12px 112px!important;
  }

  .asset-form-grid,
  .asset-form-page.is-modal-form .asset-form-grid{
    gap:12px!important;
  }

  .asset-form-grid input,
  .asset-form-grid textarea,
  .asset-form-grid select,
  .asset-form-page.is-modal-form .asset-form-grid input,
  .asset-form-page.is-modal-form .asset-form-grid textarea,
  .asset-form-page.is-modal-form .asset-form-grid select{
    min-height:40px!important;
    font-size:12px!important;
  }

  .asset-input-search,
  .asset-form-page.is-modal-form .asset-input-search{
    grid-template-columns:minmax(0,1fr) 40px!important;
  }

  .asset-input-search button,
  .asset-form-page.is-modal-form .asset-input-search button{
    width:40px!important;
    height:40px!important;
  }

  .asset-form-footer,
  .asset-form-page.is-modal-form .asset-form-footer{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:var(--kpi-safe-bottom)!important;
    z-index:9999!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    border-radius:14px!important;
    background:rgba(8,24,46,.96)!important;
    border:1px solid rgba(79,132,191,.28)!important;
    backdrop-filter:blur(10px)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.28)!important;
  }

  .asset-cancel-btn,
  .asset-save-btn,
  .asset-form-page.is-modal-form .asset-cancel-btn,
  .asset-form-page.is-modal-form .asset-save-btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    justify-content:center!important;
    border-radius:10px!important;
    font-size:12px!important;
  }

  .asset-gallery{
    grid-template-columns:1fr!important;
  }

  .assets-toolbar,
  .assets-strip{
    flex-wrap:wrap!important;
    gap:10px!important;
  }

  .assets-toolbar-right{
    width:100%!important;
    justify-content:space-between!important;
  }

  /* ==================== VEHÍCULOS ==================== */
  .vehicle-create-exact,
  .vehicle-create-exact.is-modal-form{
    min-height:100dvh!important;
  }

  .vehicle-create-exact.is-modal-form{
    height:100dvh!important;
  }

  .vehicle-create-exact.is-modal-form .vehicle-create-exact__head{
    min-height:60px!important;
    height:60px!important;
    padding:10px 14px!important;
  }

  .vehicle-create-exact.is-modal-form .vehicle-create-exact__head h1{
    font-size:18px!important;
  }

  .vehicle-create-exact.is-modal-form .vehicle-create-exact__head span{
    font-size:9px!important;
  }

  .vehicle-create-exact.is-modal-form .form-grid{
    height:calc(100dvh - 60px)!important;
    max-height:calc(100dvh - 60px)!important;
    min-height:0!important;
    padding:10px 12px 116px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .vehicle-create-exact .card,
  .vehicle-create-exact.is-modal-form .card{
    padding:13px!important;
  }

  .vehicle-create-exact label,
  .vehicle-create-exact.is-modal-form label{
    font-size:11px!important;
  }

  .vehicle-create-exact input,
  .vehicle-create-exact select,
  .vehicle-create-exact textarea,
  .vehicle-create-exact.is-modal-form input,
  .vehicle-create-exact.is-modal-form select,
  .vehicle-create-exact.is-modal-form textarea{
    min-height:40px!important;
    font-size:12px!important;
  }

  .vehicle-create-exact.is-modal-form .submit-row,
  .vehicle-create-exact .submit-row{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:var(--kpi-safe-bottom)!important;
    z-index:9999!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    align-items:stretch!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
    background:rgba(8,24,46,.96)!important;
    border:1px solid rgba(79,132,191,.28)!important;
    backdrop-filter:blur(10px)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.28)!important;
  }

  .vehicle-create-exact.is-modal-form .submit-row .btn,
  .vehicle-create-exact .submit-row .btn{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 12px!important;
    justify-content:center!important;
    border-radius:10px!important;
    font-size:12px!important;
  }

  .vehicle-create-exact.is-modal-form .submit-row .btn span,
  .vehicle-create-exact .submit-row .btn span{
    white-space:nowrap!important;
  }

  .vehicle-create-exact .damage-control-grid,
  .vehicle-create-exact .damage-diagram-grid,
  .vehicle-create-exact .valuation-summary-grid,
  .vehicle-create-exact .signature-editor-groups,
  .vehicle-create-exact .signature-letterhead-preview{
    grid-template-columns:1fr!important;
  }

  .vehicle-create-exact .damage-view-card,
  .vehicle-create-exact.is-modal-form .damage-view-card{
    min-height:200px!important;
  }

  .vehicle-create-exact .damage-map-canvas,
  .vehicle-create-exact .damage-vehicle-diagram,
  .vehicle-create-exact.is-modal-form .damage-map-canvas,
  .vehicle-create-exact.is-modal-form .damage-vehicle-diagram{
    height:200px!important;
    min-height:200px!important;
  }

  .vehicle-exact-view,
  .vehicle-exact-view.is-modal-view{
    min-height:100dvh!important;
    padding:14px 12px 20px!important;
  }

  .vehicle-exact-view .detail-header,
  .vehicle-exact-view.is-modal-view .detail-header{
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .vehicle-exact-view .actions,
  .vehicle-exact-view.is-modal-view .actions{
    width:100%!important;
    flex-wrap:wrap!important;
  }

  .vehicle-exact-view .actions .btn,
  .vehicle-exact-view.is-modal-view .actions .btn{
    flex:1 1 180px!important;
    justify-content:center!important;
  }

  /* ==================== ACTAS ==================== */
  .actas-strip,
  .actas-toolbar,
  .acta-assets-toolbar{
    flex-wrap:wrap!important;
  }

  .acta-modal{
    padding:8px!important;
  }

  .acta-modal-card,
  .acta-modal-card.compact,
  .acta-modal-card.wide{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 16px)!important;
    padding:14px 14px 92px!important;
    border-radius:12px!important;
  }

  .acta-modal-footer{
    position:sticky!important;
    bottom:-14px!important;
    z-index:20!important;
    margin:18px -14px -14px!important;
    padding:10px 14px!important;
    background:rgba(15,35,64,.98)!important;
    border-top:1px solid rgba(88,130,190,.22)!important;
  }

  .acta-cancel,
  .acta-save,
  .acta-transfer-confirm,
  .acta-unlink-confirm{
    min-height:42px!important;
    height:42px!important;
  }
}

@media (max-width: 700px){
  .asset-form-footer,
  .asset-form-page.is-modal-form .asset-form-footer,
  .vehicle-create-exact.is-modal-form .submit-row,
  .vehicle-create-exact .submit-row{
    grid-template-columns:1fr!important;
  }

  .asset-form-page form,
  .asset-form-page.is-modal-form form,
  .vehicle-create-exact.is-modal-form .form-grid{
    padding-bottom:156px!important;
  }

  .asset-form-header h1,
  .asset-form-page.is-modal-form .asset-form-header h1,
  .vehicle-create-exact.is-modal-form .vehicle-create-exact__head h1{
    font-size:17px!important;
  }

  .assets-strip-title,
  .actas-strip-title{
    font-size:14px!important;
  }

  .assets-new-btn,
  .actas-summary-btn,
  .actas-new-btn{
    width:100%!important;
    justify-content:center!important;
  }

  .assets-toolbar-right,
  .actas-strip-actions{
    width:100%!important;
  }
}

/* =========================================================
   RESPONSIVE 2.0 · TABLAS DESLIZABLES EN MÓVIL / TABLET
   02-09-2026
   Objetivo: no comprimir la información. En pantallas pequeñas
   las tablas conservan un ancho cómodo y se desplazan a derecha/
   izquierda con el dedo, como el módulo Empleados.
   ========================================================= */

@media (max-width:1024px){
  /* El contenido principal debe usar el scroll general de la página. */
  body.app-shell .main{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }

  /* Contenedores de tablas: desplazamiento horizontal táctil. */
  .table-wrap,
  .employees-table-wrap,
  .companies-table-wrap,
  .options-table-wrap,
  .assets-table-wrap,
  .actas-table-wrap,
  .vehicle-table-wrap,
  .vehicle-classic-table-wrap,
  .processx-table-shell,
  .locx-table-shell,
  .areax-table-shell,
  .ops-table-wrap,
  .prod-table-wrap,
  .asset-report-scroll{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    max-height:none!important;
    scrollbar-gutter:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
    scrollbar-width:thin;
    scrollbar-color:#2f78b4 #081d35;
  }

  .table-wrap::-webkit-scrollbar,
  .employees-table-wrap::-webkit-scrollbar,
  .companies-table-wrap::-webkit-scrollbar,
  .options-table-wrap::-webkit-scrollbar,
  .assets-table-wrap::-webkit-scrollbar,
  .actas-table-wrap::-webkit-scrollbar,
  .vehicle-table-wrap::-webkit-scrollbar,
  .vehicle-classic-table-wrap::-webkit-scrollbar,
  .processx-table-shell::-webkit-scrollbar,
  .locx-table-shell::-webkit-scrollbar,
  .areax-table-shell::-webkit-scrollbar,
  .ops-table-wrap::-webkit-scrollbar,
  .prod-table-wrap::-webkit-scrollbar,
  .asset-report-scroll::-webkit-scrollbar{
    height:9px!important;
    width:8px!important;
  }
  .table-wrap::-webkit-scrollbar-track,
  .employees-table-wrap::-webkit-scrollbar-track,
  .companies-table-wrap::-webkit-scrollbar-track,
  .options-table-wrap::-webkit-scrollbar-track,
  .assets-table-wrap::-webkit-scrollbar-track,
  .actas-table-wrap::-webkit-scrollbar-track,
  .vehicle-table-wrap::-webkit-scrollbar-track,
  .vehicle-classic-table-wrap::-webkit-scrollbar-track,
  .processx-table-shell::-webkit-scrollbar-track,
  .locx-table-shell::-webkit-scrollbar-track,
  .areax-table-shell::-webkit-scrollbar-track,
  .ops-table-wrap::-webkit-scrollbar-track,
  .prod-table-wrap::-webkit-scrollbar-track,
  .asset-report-scroll::-webkit-scrollbar-track{
    background:#081d35!important;
  }
  .table-wrap::-webkit-scrollbar-thumb,
  .employees-table-wrap::-webkit-scrollbar-thumb,
  .companies-table-wrap::-webkit-scrollbar-thumb,
  .options-table-wrap::-webkit-scrollbar-thumb,
  .assets-table-wrap::-webkit-scrollbar-thumb,
  .actas-table-wrap::-webkit-scrollbar-thumb,
  .vehicle-table-wrap::-webkit-scrollbar-thumb,
  .vehicle-classic-table-wrap::-webkit-scrollbar-thumb,
  .processx-table-shell::-webkit-scrollbar-thumb,
  .locx-table-shell::-webkit-scrollbar-thumb,
  .areax-table-shell::-webkit-scrollbar-thumb,
  .ops-table-wrap::-webkit-scrollbar-thumb,
  .prod-table-wrap::-webkit-scrollbar-thumb,
  .asset-report-scroll::-webkit-scrollbar-thumb{
    background:#2f78b4!important;
    border-radius:999px!important;
    border:2px solid #081d35!important;
  }

  /* ACTIVOS: recuperar ancho real en tablet/móvil. */
  .assets-table{
    width:1120px!important;
    min-width:1120px!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  .assets-table th,
  .assets-table td{
    font-size:11px!important;
    padding:8px 7px!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .assets-table col.assets-col-label{width:105px!important}
  .assets-table col.assets-col-group{width:155px!important}
  .assets-table col.assets-col-class{width:155px!important}
  .assets-table col.assets-col-description{width:170px!important}
  .assets-table col.assets-col-brand{width:100px!important}
  .assets-table col.assets-col-model{width:100px!important}
  .assets-table col.assets-col-serial{width:90px!important}
  .assets-table col.assets-col-image{width:90px!important}
  .assets-table col.assets-col-process{width:95px!important}
  .assets-table col.assets-col-actions{width:60px!important}
  .assets-thumb{width:72px!important;max-width:72px!important;height:58px!important}

  /* ACTAS: listado principal desplazable sin cortar nombres/acciones. */
  body.app-shell .main:has(.actas-page){
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .actas-page{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .actas-panel{
    overflow:visible!important;
    min-height:0!important;
  }
  .actas-table-wrap{
    flex:none!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
  }
  .actas-table{
    width:1030px!important;
    min-width:1030px!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  .actas-table col.actas-col-toggle{width:52px!important}
  .actas-table col.actas-col-number{width:75px!important}
  .actas-table col.actas-col-id{width:155px!important}
  .actas-table col.actas-col-custodian{width:245px!important}
  .actas-table col.actas-col-user{width:210px!important}
  .actas-table col.actas-col-state{width:140px!important}
  .actas-table col.actas-col-actions{width:153px!important}
  .actas-table th,
  .actas-table td{
    font-size:10.5px!important;
    padding:8px 7px!important;
  }
  .actas-table td:nth-child(4),
  .actas-table td:nth-child(5){
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Cuando se abre un acta: un solo scroll vertical general,
     pero la tabla de activos sí puede moverse a derecha/izquierda. */
  .actas-page.actas-focus-mode .actas-table-wrap{
    max-height:none!important;
    overflow-y:visible!important;
    overflow-x:auto!important;
  }
  .actas-page.actas-focus-mode .acta-assets-wrap,
  .acta-assets-wrap{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y;
    scrollbar-width:thin;
    scrollbar-color:#2f78b4 #081d35;
  }
  .acta-assets-table,
  .actas-page.actas-focus-mode .acta-assets-table{
    width:1040px!important;
    min-width:1040px!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  .acta-assets-table col.acta-asset-col-label{width:80px!important}
  .acta-assets-table col.acta-asset-col-type{width:170px!important}
  .acta-assets-table col.acta-asset-col-class{width:170px!important}
  .acta-assets-table col.acta-asset-col-desc{width:175px!important}
  .acta-assets-table col.acta-asset-col-extra{width:175px!important}
  .acta-assets-table col.acta-asset-col-image{width:105px!important}
  .acta-assets-table col.acta-asset-col-process{width:100px!important}
  .acta-assets-table col.acta-asset-col-actions{width:65px!important}
  .acta-assets-table th,
  .acta-assets-table td{
    font-size:10px!important;
    padding:7px 6px!important;
  }

  /* VEHÍCULOS: tabla completa y desplazable. */
  .vehicle-classic-table{
    width:920px!important;
    min-width:920px!important;
    max-width:none!important;
  }
  .vehicle-classic-table th,
  .vehicle-classic-table td{
    white-space:normal!important;
  }

  /* Encabezados y tarjetas menos altos en tablet. */
  .assets-strip,
  .actas-strip,
  .vehicle-page-classic .vehicle-module-bar{
    min-height:50px!important;
    padding:7px 11px!important;
  }
  .assets-new-btn,
  .actas-summary-btn,
  .actas-new-btn,
  .vehicle-page-classic .vehicle-new-btn{
    min-height:35px!important;
    height:35px!important;
    padding:0 13px!important;
    font-size:10.5px!important;
    width:auto!important;
  }
  .assets-search-fab,
  .actas-search-fab{
    width:42px!important;
    height:42px!important;
  }

  /* Paneles generales con menos aire en tablets. */
  .assets-panel,
  .actas-panel,
  .vehicle-classic-card{
    border-radius:12px!important;
  }
  .assets-panel,
  .actas-panel{
    padding:9px!important;
  }
}

/* Tablet vertical pequeña: mantener vehículos compactos. */
@media (min-width:521px) and (max-width:700px){
  .vehicle-classic-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .vehicle-classic-stat{
    min-height:68px!important;
    padding:10px 12px!important;
  }
  .vehicle-classic-stat>strong{font-size:20px!important}
  .vehicle-classic-stat-report{
    grid-column:1/-1!important;
    min-height:60px!important;
  }
  .vehicle-classic-card-head{
    gap:8px!important;
    padding:10px!important;
  }
}

/* Teléfonos: botones superiores compactos y no gigantes. */
@media (max-width:520px){
  .assets-strip,
  .vehicle-page-classic .vehicle-module-bar{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  .assets-new-btn,
  .vehicle-page-classic .vehicle-new-btn{
    width:auto!important;
    min-width:104px!important;
    max-width:150px!important;
    margin-left:auto!important;
    justify-content:center!important;
  }
  .actas-strip{
    align-items:center!important;
    gap:7px!important;
  }
  .actas-strip-actions{
    width:auto!important;
    margin-left:auto!important;
    display:flex!important;
    gap:6px!important;
  }
  .actas-summary-btn,
  .actas-new-btn{
    flex:0 0 auto!important;
    min-width:88px!important;
    padding:0 10px!important;
    justify-content:center!important;
  }

  .vehicle-classic-summary{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .vehicle-classic-stat{
    min-height:66px!important;
    padding:9px 10px!important;
  }
  .vehicle-classic-stat>span{font-size:8.5px!important;margin-bottom:4px!important}
  .vehicle-classic-stat>strong{font-size:18px!important}
  .vehicle-classic-stat-report{
    grid-column:1/-1!important;
    min-height:54px!important;
  }
  .vehicle-classic-export{min-height:31px!important;font-size:9.5px!important}

  .assets-toolbar,
  .actas-toolbar{
    gap:7px!important;
  }
  .assets-pager-btn,
  .actas-pager-btn{
    width:38px!important;
    height:36px!important;
  }
  .assets-results,
  .actas-results{
    font-size:9.5px!important;
  }
}

/* =========================================================
   ADMINISTRACIÓN · PALETA MAESTRA KPI
   Empresas · Roles · Usuarios · Opciones · Empleados
   Misma línea visual de Activos / Actas / Catálogos.
   ========================================================= */
html:not([data-theme="light"]) .companies-strip,
html:not([data-theme="light"]) .roles-strip,
html:not([data-theme="light"]) .users-strip,
html:not([data-theme="light"]) .options-admin-strip,
html:not([data-theme="light"]) .employees-strip{
  background:linear-gradient(135deg,#1b3762,#142c4f)!important;
  border:1px solid rgba(90,161,242,.20)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}
html:not([data-theme="light"]) .companies-strip-title,
html:not([data-theme="light"]) .roles-strip-title,
html:not([data-theme="light"]) .users-strip-title,
html:not([data-theme="light"]) .options-admin-title,
html:not([data-theme="light"]) .employees-strip-title{color:#fff!important}
html:not([data-theme="light"]) .companies-strip-title>span,
html:not([data-theme="light"]) .roles-strip-title>span,
html:not([data-theme="light"]) .users-strip-title>span,
html:not([data-theme="light"]) .options-admin-title>span,
html:not([data-theme="light"]) .employees-strip-title>span{color:#67c8ff!important}

/* Botones Nuevo */
html:not([data-theme="light"]) .companies-new-btn,
html:not([data-theme="light"]) .roles-new-btn,
html:not([data-theme="light"]) .users-new-btn,
html:not([data-theme="light"]) .options-new-btn,
html:not([data-theme="light"]) .employees-new-btn{
  background:linear-gradient(135deg,#4be18a,#36cf7d)!important;
  color:#062719!important;
  box-shadow:0 9px 20px rgba(55,220,124,.16)!important;
}

/* Paneles principales */
html:not([data-theme="light"]) .companies-panel,
html:not([data-theme="light"]) .roles-panel,
html:not([data-theme="light"]) .users-panel,
html:not([data-theme="light"]) .options-admin-panel,
html:not([data-theme="light"]) .employees-panel{
  background:linear-gradient(145deg,#15345e,#112b4f)!important;
  border:1px solid rgba(80,139,207,.25)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}

/* Paginación y buscadores redondos */
html:not([data-theme="light"]) .companies-pager-btn,
html:not([data-theme="light"]) .users-pager-btn,
html:not([data-theme="light"]) .employees-pager-btn{
  background:#153e6a!important;
  border:1px solid #285f91!important;
  color:#77bfff!important;
}
html:not([data-theme="light"]) .companies-pager-btn:not(.disabled):hover,
html:not([data-theme="light"]) .users-pager-btn:not(.disabled):hover,
html:not([data-theme="light"]) .employees-pager-btn:not(.disabled):hover{
  background:#1a78b8!important;
  border-color:#42b8ff!important;
  color:#fff!important;
}
html:not([data-theme="light"]) .companies-search-fab,
html:not([data-theme="light"]) .users-search-fab,
html:not([data-theme="light"]) .employees-search-fab{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
  box-shadow:0 8px 20px rgba(46,184,241,.18)!important;
}

/* ==================== EMPRESAS ==================== */
html:not([data-theme="light"]) .companies-table-wrap{
  background:#0b2442!important;
  border-color:rgba(70,126,185,.30)!important;
}
html:not([data-theme="light"]) .companies-table thead th{
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#fff!important;
  border-color:rgba(92,151,207,.30)!important;
}
html:not([data-theme="light"]) .companies-filters-row th{background:#12345b!important}
html:not([data-theme="light"]) .companies-filters-row input,
html:not([data-theme="light"]) .companies-filters-row select{
  background:#081d35!important;
  border-color:#315f8b!important;
  color:#eaf6ff!important;
}
html:not([data-theme="light"]) .companies-mini-btn{background:#123e66!important;border-color:#285d88!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .companies-mini-btn.ghost{background:#123e66!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .companies-table tbody td{
  background:#12345d!important;
  color:#f5f9ff!important;
  border-color:rgba(79,126,174,.30)!important;
}
html:not([data-theme="light"]) .companies-table tbody tr:nth-child(even) td{background:#0d294a!important}
html:not([data-theme="light"]) .companies-table tbody tr:hover td{background:#17436f!important}
html:not([data-theme="light"]) .companies-action-btn.edit{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}

/* ==================== ROLES ==================== */
html:not([data-theme="light"]) .roles-search{
  background:#081d35!important;
  border-color:#315f8b!important;
}
html:not([data-theme="light"]) .roles-search input{color:#eaf6ff!important}
html:not([data-theme="light"]) .roles-table-shell{background:#0b2442!important;border-color:rgba(70,126,185,.30)!important}
html:not([data-theme="light"]) .roles-table-head{background:linear-gradient(180deg,#17406c,#14375e)!important;border-color:rgba(92,151,207,.34)!important}
html:not([data-theme="light"]) .role-row-main{background:#12345d!important}
html:not([data-theme="light"]) .role-row:nth-child(even) .role-row-main{background:#0d294a!important}
html:not([data-theme="light"]) .role-row:hover .role-row-main{background:#17436f!important}
html:not([data-theme="light"]) .role-expand{background:#123e66!important;border-color:#42b8ff!important;color:#dff2ff!important}
html:not([data-theme="light"]) .role-edit-btn{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}
html:not([data-theme="light"]) .role-row-detail{background:#0b2442!important;border-color:rgba(79,126,174,.28)!important}
html:not([data-theme="light"]) .role-option-children span{background:#0d294a!important;border-color:rgba(79,126,174,.28)!important;color:#d9edff!important}
html:not([data-theme="light"]) .role-option-parent small{background:#123e66!important;color:#9fd6ff!important}

/* ==================== USUARIOS ==================== */
html:not([data-theme="light"]) .users-table-shell{background:#0b2442!important;border-color:rgba(70,126,185,.30)!important}
html:not([data-theme="light"]) .users-table-head,
html:not([data-theme="light"]) .users-filter-row{
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  border-color:rgba(92,151,207,.34)!important;
}
html:not([data-theme="light"]) .users-filter-row input,
html:not([data-theme="light"]) .users-filter-row select{
  background:#081d35!important;
  border-color:#315f8b!important;
  color:#eaf6ff!important;
}
html:not([data-theme="light"]) .users-filter-actions button,
html:not([data-theme="light"]) .users-filter-actions a{background:#123e66!important;border-color:#285d88!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .user-row-main{background:#12345d!important}
html:not([data-theme="light"]) .user-row:nth-child(even) .user-row-main{background:#0d294a!important}
html:not([data-theme="light"]) .user-row:hover .user-row-main{background:#17436f!important}
html:not([data-theme="light"]) .user-expand{background:#123e66!important;border-color:#42b8ff!important;color:#dff2ff!important}
html:not([data-theme="light"]) .user-action-btn.edit{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}
html:not([data-theme="light"]) .user-action-btn.password{background:#18466f!important;color:#9fd6ff!important;border-color:#285f91!important}
html:not([data-theme="light"]) .user-row-detail{background:#0b2442!important}
html:not([data-theme="light"]) .user-assoc-card{background:#0d294a!important;border-color:rgba(79,126,174,.30)!important}
html:not([data-theme="light"]) .user-assoc-head{background:#12345b!important}
html:not([data-theme="light"]) .user-role-chips span{background:#123e66!important;color:#9fd6ff!important;border-color:#285f91!important}

/* ==================== OPCIONES ==================== */
html:not([data-theme="light"]) .options-table-wrap{background:#0b2442!important;border-color:rgba(70,126,185,.30)!important}
html:not([data-theme="light"]) .options-admin-table th{background:linear-gradient(180deg,#17406c,#14375e)!important;border-color:rgba(92,151,207,.30)!important}
html:not([data-theme="light"]) .options-filter-row th{background:#12345b!important}
html:not([data-theme="light"]) .options-filter-row input{background:#081d35!important;border-color:#315f8b!important;color:#eaf6ff!important}
html:not([data-theme="light"]) .options-filter-search,
html:not([data-theme="light"]) .options-filter-clear{background:#123e66!important;border-color:#285d88!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .options-admin-table td{background:#12345d!important;border-color:rgba(79,126,174,.30)!important;color:#f5f9ff!important}
html:not([data-theme="light"]) .options-admin-table tbody tr.option-parent-row:nth-of-type(4n+1) td{background:#0d294a!important}
html:not([data-theme="light"]) .options-admin-table tr:hover>td{background:#17436f!important}
html:not([data-theme="light"]) .option-expand-btn{background:#123e66!important;border-color:#42b8ff!important;color:#dff2ff!important}
html:not([data-theme="light"]) .option-edit-btn{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}
html:not([data-theme="light"]) .option-position-pill{background:#123e66!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .option-children-row>td,
html:not([data-theme="light"]) .option-children-panel{background:#0b2442!important}
html:not([data-theme="light"]) .option-child-new{background:#123e66!important;border-color:#285f91!important;color:#dff2ff!important}

/* ==================== EMPLEADOS ==================== */
html:not([data-theme="light"]) .employees-bulk{background:#0b2442!important;border-color:rgba(70,126,185,.30)!important}
html:not([data-theme="light"]) .employees-bulk>summary{background:linear-gradient(180deg,#17406c,#14375e)!important;color:#67c8ff!important}
html:not([data-theme="light"]) .employees-bulk-body{background:#0d294a!important;border-color:rgba(79,126,174,.30)!important}
html:not([data-theme="light"]) .employees-upload-card form{background:#081d35!important;border-color:#315f8b!important}
html:not([data-theme="light"]) .employees-template-columns span{background:#123e66!important;border-color:#285f91!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .employees-table-wrap{background:#0b2442!important;border-color:rgba(70,126,185,.30)!important}
html:not([data-theme="light"]) .employees-table th{background:linear-gradient(180deg,#17406c,#14375e)!important;border-color:rgba(92,151,207,.30)!important}
html:not([data-theme="light"]) .employees-filter-row th{background:#12345b!important}
html:not([data-theme="light"]) .employees-filter-row input,
html:not([data-theme="light"]) .employees-filter-row select{background:#081d35!important;border-color:#315f8b!important;color:#eaf6ff!important}
html:not([data-theme="light"]) .employees-filter-actions button,
html:not([data-theme="light"]) .employees-filter-actions a{background:#123e66!important;border-color:#285d88!important;color:#9fd6ff!important}
html:not([data-theme="light"]) .employees-table td{background:#12345d!important;border-color:rgba(79,126,174,.30)!important;color:#f5f9ff!important}
html:not([data-theme="light"]) .employees-table tbody tr:nth-child(even) td{background:#0d294a!important}
html:not([data-theme="light"]) .employees-table tbody tr:hover td{background:#17436f!important}
html:not([data-theme="light"]) .employee-action.edit{background:linear-gradient(145deg,#55b7ff,#45a6f0)!important;color:#08223e!important}

/* ==================== FORMULARIOS DE LOS 5 MÓDULOS ==================== */
html:not([data-theme="light"]) .company-create-card,
html:not([data-theme="light"]) .role-form-card,
html:not([data-theme="light"]) .user-form-card,
html:not([data-theme="light"]) .option-form-card,
html:not([data-theme="light"]) .employee-form-card{
  background:linear-gradient(145deg,#15345e,#112b4f)!important;
  border-color:rgba(80,139,207,.25)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
}
html:not([data-theme="light"]) .company-form-grid input,
html:not([data-theme="light"]) .company-form-grid select,
html:not([data-theme="light"]) .company-form-grid textarea,
html:not([data-theme="light"]) .role-field input,
html:not([data-theme="light"]) .user-field>input,
html:not([data-theme="light"]) .user-password-input input,
html:not([data-theme="light"]) .user-multi summary,
html:not([data-theme="light"]) .option-field input,
html:not([data-theme="light"]) .employee-field input,
html:not([data-theme="light"]) .employee-field select,
html:not([data-theme="light"]) .employee-field textarea{
  background:#081d35!important;
  border-color:#315f8b!important;
  color:#eaf6ff!important;
}
html:not([data-theme="light"]) .user-multi-menu{background:#0b2442!important;border-color:#315f8b!important}
html:not([data-theme="light"]) .option-active-box{background:#0d294a!important;border-color:rgba(79,126,174,.30)!important}
html:not([data-theme="light"]) .employee-delete-dialog{background:linear-gradient(145deg,#15345e,#112b4f)!important;border-color:rgba(80,139,207,.30)!important}

/* Scrollbars en la misma gama azul */
html:not([data-theme="light"]) .companies-table-wrap::-webkit-scrollbar,
html:not([data-theme="light"]) .roles-table-shell::-webkit-scrollbar,
html:not([data-theme="light"]) .users-table-shell::-webkit-scrollbar,
html:not([data-theme="light"]) .options-table-wrap::-webkit-scrollbar,
html:not([data-theme="light"]) .employees-table-wrap::-webkit-scrollbar{width:9px;height:9px}
html:not([data-theme="light"]) .companies-table-wrap::-webkit-scrollbar-track,
html:not([data-theme="light"]) .roles-table-shell::-webkit-scrollbar-track,
html:not([data-theme="light"]) .users-table-shell::-webkit-scrollbar-track,
html:not([data-theme="light"]) .options-table-wrap::-webkit-scrollbar-track,
html:not([data-theme="light"]) .employees-table-wrap::-webkit-scrollbar-track{background:#0a2341}
html:not([data-theme="light"]) .companies-table-wrap::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .roles-table-shell::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .users-table-shell::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .options-table-wrap::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .employees-table-wrap::-webkit-scrollbar-thumb{background:#285f91;border-radius:999px;border:2px solid #0a2341}

/* Tablet/teléfono: botones superiores compactos, igual que Activos. */
@media(max-width:700px){
  .companies-strip,.roles-strip,.users-strip,.options-admin-strip,.employees-strip{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:8px!important;
  }
  .companies-new-btn,.roles-new-btn,.users-new-btn,.options-new-btn,.employees-new-btn{
    width:auto!important;
    min-width:98px!important;
    max-width:160px!important;
    margin-left:auto!important;
    padding:9px 12px!important;
    justify-content:center!important;
    font-size:11px!important;
  }
  .companies-strip-title,.roles-strip-title,.users-strip-title,.options-admin-title,.employees-strip-title{
    font-size:14px!important;
  }
}


/* =========================================================
   ADMINISTRACIÓN · EMPRESAS / EMPLEADOS AJUSTADOS A PANTALLA
   02-09-2026 · CSS 16.6
   ========================================================= */

/* Escritorio: evita el scroll horizontal y aprovecha todo el ancho útil. */
@media (min-width:1101px){
  .companies-page,
  .employees-page{
    width:100%!important;
    min-width:0!important;
  }

  .companies-panel,
  .employees-panel{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* EMPRESAS */
  .companies-table-wrap{
    width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    max-height:none!important;
  }
  .companies-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .companies-table th,
  .companies-table td{
    box-sizing:border-box!important;
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .companies-table thead th{
    font-size:10.5px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
  .companies-filters-row th{
    padding:6px 5px 8px!important;
  }
  .companies-filters-row input,
  .companies-filters-row select{
    min-width:0!important;
    height:29px!important;
    padding:0 7px!important;
    font-size:9.5px!important;
  }
  .companies-table th:nth-child(1),.companies-table td:nth-child(1){width:10%!important}
  .companies-table th:nth-child(2),.companies-table td:nth-child(2){width:17%!important}
  .companies-table th:nth-child(3),.companies-table td:nth-child(3){width:10%!important}
  .companies-table th:nth-child(4),.companies-table td:nth-child(4){width:11%!important}
  .companies-table th:nth-child(5),.companies-table td:nth-child(5){width:19%!important}
  .companies-table th:nth-child(6),.companies-table td:nth-child(6){width:10%!important}
  .companies-table th:nth-child(7),.companies-table td:nth-child(7){width:8%!important}
  .companies-table th:nth-child(8),.companies-table td:nth-child(8){width:7%!important}
  .companies-table th:nth-child(9),.companies-table td:nth-child(9){width:8%!important}
  .companies-name-cell{
    gap:7px!important;
    align-items:center!important;
  }
  .companies-name-cell strong{
    font-size:10.5px!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
  }
  .companies-logo-thumb{
    width:42px!important;
    height:30px!important;
    flex:0 0 42px!important;
  }
  .companies-status{
    max-width:100%!important;
    padding:5px 7px!important;
    font-size:9px!important;
  }
  .companies-actions{
    gap:5px!important;
    flex-wrap:nowrap!important;
  }
  .companies-action-btn{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }
  .companies-action-btn svg{
    width:14px!important;
    height:14px!important;
  }

  /* EMPLEADOS */
  .employees-table-wrap{
    width:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  .employees-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .employees-table th,
  .employees-table td{
    box-sizing:border-box!important;
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:10.5px!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .employees-table th:nth-child(1),.employees-table td:nth-child(1){width:10%!important}
  .employees-table th:nth-child(2),.employees-table td:nth-child(2){width:22%!important}
  .employees-table th:nth-child(3),.employees-table td:nth-child(3){width:13%!important}
  .employees-table th:nth-child(4),.employees-table td:nth-child(4){width:27%!important}
  .employees-table th:nth-child(5),.employees-table td:nth-child(5){width:13%!important}
  .employees-table th:nth-child(6),.employees-table td:nth-child(6){width:8%!important}
  .employees-table th:nth-child(7),.employees-table td:nth-child(7){width:7%!important}
  .employee-name{
    max-width:none!important;
  }
  .employees-filter-row input,
  .employees-filter-row select{
    min-width:0!important;
    font-size:9.5px!important;
  }
  .employee-status{
    padding:5px 7px!important;
    font-size:9px!important;
  }
  .employee-actions{
    gap:5px!important;
  }
  .employee-action{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }
  .employee-action svg{
    width:14px!important;
    height:14px!important;
  }
}

/* Tablet / teléfono: conservar desplazamiento horizontal táctil para leer todo. */
@media (max-width:1100px){
  .companies-table-wrap,
  .employees-table-wrap{
    overflow-x:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:thin!important;
  }
  .companies-table{
    min-width:1120px!important;
  }
  .employees-table{
    min-width:980px!important;
  }
}

/* =========================================================
   ADMINISTRACIÓN · VISTA COMPACTA 16.7
   Empresas · Roles · Usuarios · Opciones · Empleados
   Reduce alturas, espacios y botones sin cambiar la lógica.
   ========================================================= */

/* Encabezados de los 5 submódulos */
.companies-page,
.roles-page,
.users-page,
.options-admin-page,
.employees-page{
  gap:9px!important;
}

.companies-strip,
.roles-strip,
.users-strip,
.options-admin-strip,
.employees-strip{
  min-height:48px!important;
  padding:6px 12px!important;
  border-radius:12px!important;
}

.companies-strip-title,
.roles-strip-title,
.users-strip-title,
.options-admin-title,
.employees-strip-title{
  gap:7px!important;
  font-size:14px!important;
}

.companies-strip-title>span,
.roles-strip-title>span,
.users-strip-title>span,
.options-admin-title>span,
.employees-strip-title>span{
  font-size:18px!important;
}

.companies-new-btn,
.roles-new-btn,
.users-new-btn,
.options-new-btn,
.employees-new-btn{
  min-height:36px!important;
  padding:0 14px!important;
  gap:7px!important;
  font-size:11px!important;
  box-shadow:none!important;
}

.companies-new-btn svg,
.roles-new-btn svg,
.users-new-btn svg,
.options-new-btn svg,
.employees-new-btn svg{
  width:15px!important;
  height:15px!important;
}

/* Paneles */
.companies-panel,
.roles-panel,
.users-panel,
.options-admin-panel,
.employees-panel{
  padding:10px!important;
  border-radius:13px!important;
  box-shadow:none!important;
}

/* ================= ROLES ================= */
.roles-toolbar{
  gap:10px!important;
  margin-bottom:8px!important;
}
.roles-search{
  height:35px!important;
  min-width:280px!important;
  max-width:460px!important;
  grid-template-columns:30px 1fr auto!important;
  border-radius:9px!important;
}
.roles-search input{font-size:11px!important}
.roles-search svg{width:14px!important;height:14px!important}
.roles-search a{padding:0 10px!important;font-size:18px!important}
.roles-count{font-size:10px!important}
.roles-count b{font-size:12px!important}
.roles-table-shell{border-radius:11px!important}
.roles-table-head,.role-row-main{
  grid-template-columns:58px minmax(200px,1fr) 110px 86px!important;
}
.roles-table-head{
  min-height:34px!important;
  font-size:11px!important;
}
.roles-table-head span{padding:0 10px!important}
.role-row-main{min-height:49px!important}
.role-expand{
  width:32px!important;
  height:32px!important;
  margin-left:11px!important;
  border-width:1.5px!important;
}
.role-expand svg{width:14px!important;height:14px!important}
.role-name-wrap{padding:7px 10px!important}
.role-name-wrap strong{font-size:11.5px!important}
.role-name-wrap small{margin-top:2px!important;font-size:8.5px!important}
.role-status{padding:4px 8px!important;font-size:8.5px!important}
.role-edit-btn{width:30px!important;height:30px!important}
.role-edit-btn svg{width:14px!important;height:14px!important}
.role-row-detail{padding:10px!important}
.role-options-title{padding:0 4px 7px!important;font-size:11px!important}
.role-option-parent{min-height:38px!important;padding:5px 11px!important;font-size:10.5px!important}
.role-option-children{padding:0 11px 7px 38px!important;gap:5px!important}
.role-option-children span{padding:5px 8px!important;font-size:9.5px!important}

/* ================= USUARIOS ================= */
.users-toolbar{
  gap:9px!important;
  margin-bottom:8px!important;
}
.users-pager{gap:8px!important}
.users-pager-btn{
  width:40px!important;
  height:36px!important;
  border-radius:8px!important;
}
.users-pager-btn svg{width:15px!important;height:15px!important}
.users-toolbar-meta{gap:9px!important;font-size:10px!important}
.users-search-fab{
  width:42px!important;
  height:42px!important;
  box-shadow:none!important;
}
.users-search-fab svg{width:15px!important;height:15px!important}
.users-table-shell{border-radius:11px!important}
.users-table-head,.users-filter-row,.user-row-main{
  grid-template-columns:54px minmax(150px,1fr) minmax(150px,1fr) minmax(210px,1.15fr) 105px 112px!important;
}
.users-table-head{
  min-height:34px!important;
  font-size:11px!important;
}
.users-table-head span{padding:0 8px!important}
.users-filter-row{
  min-height:39px!important;
  padding-bottom:5px!important;
}
.users-filter-row>input,.users-filter-row>select{
  height:27px!important;
  margin:0 4px!important;
  padding:0 7px!important;
  font-size:9.5px!important;
}
.users-filter-actions{gap:4px!important}
.users-filter-actions button,.users-filter-actions a{
  width:27px!important;
  height:27px!important;
  font-size:17px!important;
}
.user-row-main{min-height:49px!important}
.user-expand{
  width:32px!important;
  height:32px!important;
  margin-left:10px!important;
  border-width:1.5px!important;
}
.user-expand svg{width:14px!important;height:14px!important}
.user-cell{padding:7px 8px!important;font-size:10.5px!important}
.user-status{padding:4px 8px!important;font-size:8.5px!important}
.user-actions{gap:5px!important}
.user-action-btn{width:29px!important;height:29px!important}
.user-action-btn svg{width:13px!important;height:13px!important}
.user-row-detail{padding:10px 12px 12px!important}

/* ================= OPCIONES ================= */
.options-toolbar{
  margin-bottom:8px!important;
}
.options-table-wrap{border-radius:10px!important}
.options-admin-table th{
  padding:8px 7px!important;
  font-size:10.5px!important;
}
.options-admin-table td{
  padding:8px 7px!important;
  font-size:10.5px!important;
}
.options-admin-table input,
.options-admin-table select{
  height:28px!important;
  padding:0 7px!important;
  font-size:9.5px!important;
  border-radius:6px!important;
}
.option-expand-btn,
.option-edit-btn{
  width:30px!important;
  height:30px!important;
}
.option-expand-btn svg,
.option-edit-btn svg{width:14px!important;height:14px!important}
.option-position-badge{font-size:9px!important;padding:4px 7px!important}
.option-child-panel{padding:8px 10px!important}

/* ================= EMPLEADOS ================= */
.employees-bulk>summary{
  min-height:35px!important;
  padding:0 11px!important;
  font-size:11.5px!important;
}
.employees-bulk-chevron svg{width:14px!important;height:14px!important}
.employees-bulk-body{
  gap:16px!important;
  padding:12px 15px 14px!important;
}
.employees-template-card h3,.employees-upload-card h3{
  margin-bottom:5px!important;
  font-size:11.5px!important;
}
.employees-template-card p,.employees-upload-card small{
  font-size:9.5px!important;
  line-height:1.35!important;
}
.employees-download-btn{
  margin-top:4px!important;
  padding:7px 11px!important;
  font-size:10px!important;
}
.employees-download-btn svg{width:14px!important;height:14px!important}
.employees-template-columns{margin-top:8px!important;gap:4px!important}
.employees-template-columns span{padding:3px 6px!important;font-size:8px!important}
.employees-file-picker{gap:6px!important;padding:10px!important}
.employees-select-file,.employees-upload-btn,.employees-cancel-file{
  height:34px!important;
  padding:0 11px!important;
  gap:6px!important;
  font-size:10px!important;
}
.employees-select-file svg,.employees-upload-btn svg,.employees-cancel-file svg{width:14px!important;height:14px!important}
.employees-file-status{min-height:38px!important;padding:9px 11px!important;font-size:9.5px!important}
.employees-upload-card small{padding:0 11px 9px!important}
.employees-panel{padding:9px!important}
.employees-toolbar{margin-bottom:7px!important;gap:8px!important}
.employees-pager{gap:8px!important}
.employees-pager-btn{width:40px!important;height:35px!important}
.employees-pager-btn svg{width:14px!important;height:14px!important}
.employees-toolbar-meta{gap:9px!important;font-size:9.5px!important}
.employees-search-fab{width:42px!important;height:42px!important}
.employees-search-fab svg{width:14px!important;height:14px!important}
.employees-table th{
  padding:7px 6px!important;
  font-size:10px!important;
}
.employees-filter-row th{top:31px!important;padding:4px 4px 5px!important}
.employees-filter-row input,.employees-filter-row select{
  height:26px!important;
  padding:0 6px!important;
  font-size:9px!important;
}
.employees-filter-actions button,.employees-filter-actions a{
  width:27px!important;
  height:26px!important;
  font-size:16px!important;
}
.employees-table td{
  padding:7px 6px!important;
  font-size:10px!important;
  line-height:1.18!important;
}
.employee-status{padding:4px 7px!important;font-size:8.5px!important}
.employee-actions{gap:5px!important}
.employee-action{width:29px!important;height:29px!important}
.employee-action svg{width:13px!important;height:13px!important}

/* ================= EMPRESAS (misma escala compacta) ================= */
.companies-toolbar{margin-bottom:8px!important;gap:8px!important}
.companies-pager{gap:8px!important}
.companies-pager-btn{width:40px!important;height:35px!important}
.companies-search-fab{width:42px!important;height:42px!important}
.companies-toolbar-meta{font-size:9.5px!important;gap:9px!important}
.companies-table th{padding-top:7px!important;padding-bottom:7px!important;font-size:10px!important}
.companies-table td{padding-top:7px!important;padding-bottom:7px!important;font-size:10px!important}
.companies-filters-row input,.companies-filters-row select{height:26px!important;font-size:9px!important}
.companies-status{padding:4px 7px!important;font-size:8.5px!important}
.companies-action-btn{width:28px!important;height:28px!important}

/* Tablet y móvil: compacto, pero manteniendo tactilidad y desplazamiento. */
@media(max-width:1100px){
  .roles-panel,.users-panel,.options-admin-panel,.employees-panel,.companies-panel{padding:8px!important}
  .roles-strip,.users-strip,.options-admin-strip,.employees-strip,.companies-strip{padding:6px 10px!important}
  .roles-search{min-width:0!important;width:min(100%,420px)!important}
  .employees-bulk-body{gap:10px!important;padding:10px!important}
}

@media(max-width:700px){
  .companies-new-btn,.roles-new-btn,.users-new-btn,.options-new-btn,.employees-new-btn{
    min-width:86px!important;
    max-width:135px!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:10px!important;
  }
}
/* Nombres reales del módulo Opciones */
.option-position-pill{min-width:22px!important;height:22px!important;padding:0 6px!important;font-size:9px!important;border-radius:7px!important}
.option-children-panel{padding:10px 12px!important}
.option-children-head{padding-bottom:8px!important}
.option-children-head strong{font-size:11.5px!important}
.option-children-head span{font-size:9.5px!important}
.option-child-new{padding:6px 9px!important;font-size:10px!important;border-radius:8px!important}

/* =========================================================
   VALORACIÓN · PALETA MAESTRA + ESCALA COMPACTA 16.8
   Cuentas contables · Factores · Valoración de activos
   Misma línea visual de Administración / Activos / Actas
   ========================================================= */

/* ---------- Base general de los tres submódulos ---------- */
.accounts-page,
.factors-page,
.valuation-pro-page{
  gap:9px!important;
}

.accounts-strip,
.factors-strip,
.valuation-pro-strip{
  min-height:48px!important;
  padding:6px 12px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#1b4778,#153b66)!important;
  border:1px solid rgba(70,139,199,.30)!important;
  box-shadow:none!important;
}

.accounts-strip-title,
.factors-strip-title,
.valuation-pro-title{
  gap:7px!important;
  color:#fff!important;
}
.accounts-strip-title,
.factors-strip-title{
  font-size:14px!important;
}
.accounts-strip-title>span,
.factors-strip-title>span,
.valuation-pro-title>span{
  font-size:18px!important;
  color:#52c8ff!important;
}
.valuation-pro-title strong{
  font-size:14px!important;
  color:#fff!important;
}
.valuation-pro-title small{
  font-size:8px!important;
  color:#a8c7e2!important;
}

.accounts-new-btn,
.accounts-sync-btn,
.factors-new-btn,
.factors-prepare-btn,
.valuation-export-btn,
.valuation-auto-open{
  min-height:36px!important;
  height:36px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  gap:7px!important;
  font-size:10.5px!important;
  box-shadow:none!important;
}
.accounts-new-btn,
.factors-new-btn,
.valuation-auto-open{
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;
  color:#05281a!important;
}
.accounts-sync-btn,
.factors-prepare-btn,
.valuation-export-btn{
  background:linear-gradient(135deg,#38baf4,#49d0ff)!important;
  color:#06223b!important;
}
.accounts-new-btn svg,
.accounts-sync-btn svg,
.factors-new-btn svg,
.factors-prepare-btn svg,
.valuation-export-btn svg,
.valuation-auto-open svg{
  width:14px!important;
  height:14px!important;
}

/* ---------- KPIs ---------- */
.accounts-info-grid,
.factors-kpis,
.valuation-kpis{
  gap:8px!important;
}
.accounts-info-grid article,
.factors-kpis article,
.valuation-kpis article{
  min-height:66px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#123b66,#103458)!important;
  border:1px solid rgba(70,139,199,.30)!important;
  box-shadow:none!important;
}
.accounts-kpi-icon,
.factors-kpi-icon,
.vk-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:10px!important;
}
.accounts-kpi-icon,
.factors-kpi-icon,
.vk-icon.is-blue{
  background:#155188!important;
  color:#55c8ff!important;
}
.accounts-kpi-icon.is-green,
.factors-kpi-icon.is-green,
.vk-icon.is-green{
  background:#145d4b!important;
  color:#51e394!important;
}
.accounts-kpi-icon.is-cyan,
.factors-kpi-icon.is-cyan{
  background:#124f6a!important;
  color:#56d8ff!important;
}
.factors-kpi-icon.is-orange,
.vk-icon.is-orange{
  background:#6a4916!important;
  color:#ffc35e!important;
}
.vk-icon.is-purple{
  background:#174b72!important;
  color:#65cfff!important;
}
.accounts-kpi-icon svg,
.factors-kpi-icon svg,
.vk-icon svg{
  width:16px!important;
  height:16px!important;
}
.accounts-info-grid small,
.factors-kpis small,
.valuation-kpis small{
  font-size:7.5px!important;
  color:#8fb6d8!important;
}
.accounts-info-grid b,
.factors-kpis b,
.valuation-kpis b{
  font-size:16px!important;
  color:#fff!important;
}
.valuation-kpis b.is-money{
  font-size:14px!important;
}
.valuation-kpis em{
  font-size:7px!important;
  color:#8fb0ce!important;
}

/* ---------- Paneles / ayudas ---------- */
.accounts-panel,
.factors-panel,
.valuation-panel{
  padding:9px!important;
  border-radius:13px!important;
  background:#0b2442!important;
  border:1px solid rgba(70,126,185,.30)!important;
  box-shadow:none!important;
}
.accounts-help,
.factors-explainer,
.valuation-formula-band,
.accounts-detected-note,
.valuation-bulk-panel{
  border-radius:10px!important;
  background:#102f50!important;
  border:1px solid rgba(72,143,201,.28)!important;
  box-shadow:none!important;
}
.accounts-help{
  padding:8px 10px!important;
  margin-bottom:8px!important;
  gap:9px!important;
}
.accounts-help-icon,
.factors-explainer-icon,
.valuation-formula-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  border-radius:9px!important;
  background:#155188!important;
  color:#61d2ff!important;
  font-size:17px!important;
}
.accounts-help b,
.factors-explainer b,
.valuation-formula-copy b{
  color:#fff!important;
  font-size:10px!important;
}
.accounts-help span,
.factors-explainer p,
.valuation-formula-copy p{
  color:#9dbbd4!important;
  font-size:8.5px!important;
  line-height:1.35!important;
}
.factors-explainer{
  padding:8px 10px!important;
  gap:9px!important;
}
.factors-explainer p{margin-top:2px!important}
.valuation-formula-band{
  grid-template-columns:32px 1fr auto!important;
  gap:8px!important;
  padding:8px 10px!important;
}
.valuation-formula-pending{
  min-width:115px!important;
  padding-left:9px!important;
}
.valuation-formula-pending small{font-size:6.8px!important}
.valuation-formula-pending b{font-size:17px!important}
.accounts-detected-note{
  padding:8px 10px!important;
}
.accounts-detected-note>span{
  width:30px!important;
  height:30px!important;
}
.accounts-detected-note b{font-size:9.5px!important}
.accounts-detected-note small{font-size:8px!important}

/* ---------- Filtros ---------- */
.accounts-filters,
.factors-filters,
.valuation-filters{
  gap:7px!important;
}
.accounts-filters{
  grid-template-columns:30px 190px minmax(260px,1fr) 145px 130px!important;
  padding:7px 0!important;
}
.factors-filters{
  grid-template-columns:minmax(190px,1fr) minmax(190px,.85fr) 140px 130px!important;
  padding:7px 0 9px!important;
}
.valuation-filters{
  grid-template-columns:minmax(240px,1.45fr) minmax(180px,.82fr) 170px 105px!important;
}
.accounts-filters label>span,
.factors-filters label>span,
.valuation-filters label>span{
  margin-bottom:4px!important;
  font-size:7.5px!important;
  color:#8fb0ce!important;
}
.accounts-filters input,
.accounts-filters select,
.factors-filters input,
.factors-filters select,
.valuation-filters input,
.valuation-filters select{
  height:32px!important;
  min-height:32px!important;
  padding:0 8px!important;
  border-radius:7px!important;
  background:#081d35!important;
  border:1px solid #315f8b!important;
  color:#edf8ff!important;
  font-size:9.5px!important;
}
.accounts-filter-actions,
.factors-filter-actions,
.valuation-filter-side{
  height:32px!important;
}
.accounts-filter-actions span,
.factors-filter-actions span,
.valuation-filter-side>span{
  font-size:7.5px!important;
  color:#7899b7!important;
}
.accounts-filter-actions a,
.factors-filter-actions a,
.valuation-filter-side>a{
  width:27px!important;
  height:27px!important;
  border-radius:7px!important;
}

/* ---------- Cuentas contables ---------- */
.accounts-table-wrap{
  border-radius:10px!important;
  border-color:rgba(70,126,185,.30)!important;
}
.accounts-table{
  min-width:0!important;
}
.accounts-table th{
  padding:7px 8px!important;
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#fff!important;
  font-size:9.5px!important;
}
.accounts-table td{
  padding:7px 8px!important;
  background:#12345d!important;
  color:#fff!important;
  font-size:9.5px!important;
}
.accounts-table tbody tr:nth-child(even) td{
  background:#0d294a!important;
}
.accounts-code{font-size:10px!important}
.accounts-description b{font-size:9.5px!important}
.accounts-description small{font-size:7.5px!important;margin-top:2px!important}
.accounts-status{
  padding:4px 7px!important;
  font-size:8px!important;
}
.accounts-actions{gap:5px!important}
.accounts-edit,
.accounts-toggle{
  width:29px!important;
  height:29px!important;
}
.accounts-edit svg,
.accounts-toggle svg{
  width:13px!important;
  height:13px!important;
}

/* ---------- Factores ---------- */
.factor-types-ribbon{
  gap:5px!important;
  margin-bottom:7px!important;
}
.factor-types-ribbon span{
  padding:4px 7px!important;
  gap:5px!important;
  background:#102f50!important;
  border-color:#315f8b!important;
  font-size:8px!important;
}
.factor-types-ribbon i{
  width:17px!important;
  height:17px!important;
  font-size:7px!important;
}
.factors-table-wrap{
  border-radius:10px!important;
  border-color:rgba(70,126,185,.30)!important;
}
.factors-table{
  min-width:1000px!important;
}
.factors-table th{
  padding:7px 6px!important;
  background:linear-gradient(180deg,#17406c,#14375e)!important;
  color:#fff!important;
  font-size:8.5px!important;
}
.factors-table td{
  padding:7px 6px!important;
  background:#12345d!important;
  color:#fff!important;
  font-size:8.5px!important;
}
.factors-table tbody tr:nth-child(even) td{
  background:#0d294a!important;
}
.factor-account b{font-size:9px!important}
.factor-account span{font-size:7.5px!important}
.factor-account small{font-size:7px!important;margin-top:2px!important}
.factor-name{gap:5px!important}
.factor-name b{font-size:8.5px!important}
.factor-order{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  font-size:8px!important;
}
.factor-status{
  padding:4px 7px!important;
  font-size:7.5px!important;
}
.factor-actions{gap:5px!important}
.factor-edit,
.factor-toggle{
  width:29px!important;
  height:29px!important;
}
.factor-edit svg,
.factor-toggle svg{
  width:13px!important;
  height:13px!important;
}

/* ---------- Valoración de activos ---------- */
.valuation-table-wrap{
  border-radius:10px!important;
  border-color:rgba(70,126,185,.30)!important;
}
.valuation-table th{
  background:linear-gradient(180deg,#17406c,#14375e)!important;
}
.valuation-table td{
  background:#12345d!important;
}
.valuation-table tbody tr:nth-child(even) td{
  background:#0d294a!important;
}
.valuation-table tbody tr:hover td{
  background:#17436f!important;
}
.valuation-label,
.valuation-factor-stack>strong{
  background:#155188!important;
  border-color:#2e78b1!important;
  color:#70d1ff!important;
}
.valuation-factor-stack span{
  background:#102f50!important;
  border-color:#315f8b!important;
}
.valuation-row-actions a{
  background:#50b7ff!important;
  color:#06223b!important;
}
.valuation-pagination a{
  background:#153e6a!important;
  border:1px solid #285f91!important;
  color:#77cfff!important;
}

/* ---------- Formularios de Cuentas / Factores ---------- */
.account-form-page,
.factor-form-page{
  padding:8px!important;
}
.account-form-card,
.factor-form-card{
  border-radius:13px!important;
  background:#0b2442!important;
  border:1px solid rgba(70,126,185,.30)!important;
  box-shadow:none!important;
}
.account-form-head,
.factor-form-head{
  padding:12px 15px 10px!important;
  background:linear-gradient(180deg,#1b4778,#153b66)!important;
  border-bottom:1px solid rgba(70,139,199,.30)!important;
}
.account-form-head h1,
.factor-form-head h1{
  margin:2px 0!important;
  font-size:18px!important;
}
.account-form-head p,
.factor-form-head p{
  font-size:9px!important;
}
.account-form-head>a,
.factor-form-head>a{
  font-size:23px!important;
}
.account-form-body,
.factor-form-body{
  padding:13px 15px 15px!important;
}
.account-form-body label>span,
.factor-form-body label>span{
  margin-bottom:4px!important;
  font-size:9.5px!important;
}
.account-form-body input,
.factor-form-body input,
.factor-form-body select{
  height:36px!important;
  font-size:10px!important;
  border-radius:7px!important;
  background:#081d35!important;
  border-color:#315f8b!important;
}
.account-form-explainer,
.factor-form-note{
  padding:9px 10px!important;
  margin-top:8px!important;
  background:#102f50!important;
  border-color:rgba(72,143,201,.28)!important;
}
.account-form-actions,
.factor-form-actions{
  gap:8px!important;
  margin-top:10px!important;
}
.account-cancel,
.account-save,
.factor-cancel,
.factor-save{
  height:38px!important;
  padding:0 15px!important;
  border-radius:9px!important;
  font-size:10px!important;
}
.account-save,
.factor-save{
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;
  color:#05281a!important;
}
.factor-values-title{
  margin:13px 0 8px!important;
}
.factor-values-title span{font-size:9px!important}

/* ---------- Detalle de valoración ---------- */
.valuation-detail-page{
  border-radius:13px!important;
  background:#0b2442!important;
  border-color:rgba(70,126,185,.30)!important;
  box-shadow:none!important;
}
.valuation-detail-head{
  padding:12px 15px!important;
  background:linear-gradient(180deg,#1b4778,#153b66)!important;
}
.valuation-detail-head h1{
  margin:2px 0!important;
  font-size:18px!important;
}
.valuation-detail-head p{font-size:9px!important}
.valuation-detail-statusbar{
  padding:7px 12px!important;
  background:#102f50!important;
}
.valuation-detail-statusbar>span{
  padding:4px 7px!important;
  font-size:7px!important;
}
.valuation-detail-grid{
  padding:10px!important;
  gap:8px!important;
}
.vd-card{
  padding:10px!important;
  border-radius:11px!important;
  background:#12345d!important;
  border-color:rgba(70,126,185,.30)!important;
}
.vd-card-title{
  gap:7px!important;
  margin-bottom:9px!important;
}
.vd-card-title>span{
  width:27px!important;
  height:27px!important;
  border-radius:8px!important;
}
.vd-card-title b{font-size:10px!important}
.vd-form-grid,.vd-factor-grid{gap:7px!important}
.vd-form-grid label>span,.vd-factor-grid label>span{font-size:7.5px!important}
.vd-form-grid input,.vd-factor-input input{
  height:34px!important;
  background:#081d35!important;
  border-color:#315f8b!important;
  font-size:9px!important;
}
.vd-factor-input b{height:34px!important;font-size:8px!important}
.vd-actions{
  gap:7px!important;
  padding:7px!important;
}
.vd-actions a,.vd-actions button{
  height:36px!important;
  padding:0 13px!important;
  font-size:9.5px!important;
}
.vd-actions button{
  background:linear-gradient(135deg,#38d47e,#42e08d)!important;
  color:#05281a!important;
}

/* ---------- Tablet / móvil ---------- */
@media(max-width:1100px){
  .accounts-panel,.factors-panel,.valuation-panel{padding:8px!important}
  .accounts-strip,.factors-strip,.valuation-pro-strip{padding:6px 10px!important}
  .accounts-table-wrap,.factors-table-wrap,.valuation-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:thin!important;
  }
  .accounts-table{min-width:760px!important}
  .factors-table{min-width:1000px!important}
  .valuation-table{min-width:1180px!important;table-layout:auto!important}
}

@media(max-width:760px){
  .accounts-new-btn,.accounts-sync-btn,
  .factors-new-btn,.factors-prepare-btn,
  .valuation-export-btn,.valuation-auto-open{
    min-height:34px!important;
    height:34px!important;
    padding:0 10px!important;
    font-size:9.5px!important;
  }
  .accounts-strip-actions,.factors-strip-actions,.valuation-pro-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .accounts-info-grid,.factors-kpis,.valuation-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .accounts-info-grid article,.factors-kpis article,.valuation-kpis article{
    min-height:60px!important;
  }
}

@media(max-width:520px){
  .accounts-info-grid,.factors-kpis,.valuation-kpis{
    grid-template-columns:1fr!important;
  }
  .accounts-strip-actions,.factors-strip-actions,.valuation-pro-actions{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   CATEGORÍAS · RESUMEN MAESTRO COMPACTO 16.9
   Mismo ritmo visual de Administración / Valoración
   Solo presentación: no altera importación ni catálogos.
   ========================================================= */
.catalog-hub-v2{
  padding-bottom:16px!important;
}

.catalog-summary-hero{
  min-height:56px!important;
  padding:9px 13px!important;
  margin-bottom:8px!important;
  border-radius:12px!important;
  gap:12px!important;
}
.catalog-summary-title{
  gap:9px!important;
}
.catalog-summary-logo{
  width:36px!important;
  height:36px!important;
  flex-basis:36px!important;
  border-radius:10px!important;
}
.catalog-summary-logo svg{
  width:17px!important;
  height:17px!important;
}
.catalog-summary-overline{
  font-size:7px!important;
  letter-spacing:1.2px!important;
  margin-bottom:1px!important;
}
.catalog-summary-title h1{
  margin-bottom:2px!important;
  font-size:20px!important;
}
.catalog-summary-title p{
  font-size:8px!important;
  line-height:1.3!important;
}
.catalog-summary-badges{
  gap:6px!important;
}
.catalog-summary-live,
.catalog-hub-v2 .catalog-hub-count{
  padding:6px 9px!important;
  font-size:7px!important;
}
.catalog-summary-live i{
  width:5px!important;
  height:5px!important;
}

.catalog-summary-kpis{
  gap:7px!important;
  margin-bottom:8px!important;
}
.catalog-summary-kpis article{
  min-height:52px!important;
  gap:8px!important;
  padding:7px 9px!important;
  border-radius:11px!important;
}
.catalog-summary-kpi-icon{
  width:30px!important;
  height:30px!important;
  flex-basis:30px!important;
  border-radius:9px!important;
}
.catalog-summary-kpi-icon svg{
  width:14px!important;
  height:14px!important;
}
.catalog-summary-kpis small{
  font-size:6.5px!important;
  letter-spacing:.8px!important;
}
.catalog-summary-kpis strong{
  margin-top:1px!important;
  font-size:15px!important;
}
.catalog-summary-kpis em{
  margin-top:2px!important;
  font-size:6.5px!important;
}

/* Centro maestro de Excel más corto, sin perder controles */
.catalog-bulk-center-v2{
  margin-bottom:9px!important;
  padding:10px 11px!important;
  border-radius:12px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-copy{
  gap:9px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-icon{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
  border-radius:9px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-icon svg{
  width:17px!important;
  height:17px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-copy .eyebrow{
  font-size:6.5px!important;
  letter-spacing:1.1px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-copy h2{
  margin:1px 0 2px!important;
  font-size:13px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-copy p{
  font-size:7.5px!important;
  line-height:1.3!important;
}
.catalog-bulk-status{
  padding:5px 8px!important;
  font-size:6.8px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-actions{
  margin:7px 0 6px!important;
  gap:7px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-actions .btn{
  min-height:30px!important;
  height:30px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  font-size:7.8px!important;
}
.catalog-bulk-center-v2 .catalog-upload-box{
  gap:7px!important;
}
.catalog-bulk-center-v2 .catalog-file-picker{
  min-height:42px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
}
.catalog-bulk-center-v2 .catalog-file-picker-icon{
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
}
.catalog-bulk-center-v2 .catalog-file-picker-icon svg{
  width:13px!important;
  height:13px!important;
}
.catalog-bulk-center-v2 .catalog-file-picker strong{
  font-size:8px!important;
}
.catalog-bulk-center-v2 .catalog-file-picker small{
  font-size:6.7px!important;
}
.catalog-bulk-center-v2 .catalog-btn-validate{
  min-width:130px!important;
  min-height:42px!important;
  height:42px!important;
  border-radius:9px!important;
  font-size:8px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-rules{
  gap:5px!important;
  margin-top:6px!important;
  padding-top:6px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-rules span{
  padding:3px 6px!important;
  font-size:6.5px!important;
}
.catalog-bulk-center-v2 .catalog-bulk-rules i{
  width:14px!important;
  height:14px!important;
  font-size:6px!important;
}

/* Tarjetas inferiores también compactas */
.catalog-card-grid-v2{
  gap:8px!important;
}
.catalog-hub-v2 .catalog-card{
  min-height:92px!important;
  grid-template-columns:36px 1fr 26px!important;
  gap:9px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
.catalog-hub-v2 .catalog-card::before{
  top:10px!important;
  bottom:10px!important;
}
.catalog-hub-v2 .catalog-card-icon{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
}
.catalog-hub-v2 .catalog-card-icon svg{
  width:16px!important;
  height:16px!important;
}
.catalog-hub-v2 .catalog-card-copy small{
  font-size:6.5px!important;
}
.catalog-hub-v2 .catalog-card-copy strong{
  margin:2px 0!important;
  font-size:18px!important;
}
.catalog-hub-v2 .catalog-card-copy>span{
  font-size:7.5px!important;
}
.catalog-hub-v2 .catalog-card-copy em{
  margin-top:4px!important;
  font-size:6px!important;
}
.catalog-hub-v2 .catalog-card-go{
  width:25px!important;
  height:25px!important;
}

@media(max-width:1100px){
  .catalog-summary-hero{
    min-height:52px!important;
  }
  .catalog-summary-title h1{
    font-size:18px!important;
  }
}

@media(max-width:760px){
  .catalog-summary-hero{
    padding:9px 10px!important;
  }
  .catalog-summary-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .catalog-bulk-center-v2 .catalog-upload-box{
    grid-template-columns:1fr!important;
  }
  .catalog-bulk-center-v2 .catalog-btn-validate{
    width:100%!important;
  }
}

@media(max-width:520px){
  .catalog-summary-kpis{
    grid-template-columns:1fr!important;
  }
  .catalog-hub-v2 .catalog-card{
    min-height:86px!important;
  }
}


/* =========================================================
   ACTIVOS · etiquetas KPI automáticas + carga masiva
   ========================================================= */
.assets-strip-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.assets-bulk-btn{
  min-height:36px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #2d86bd;
  border-radius:999px;
  background:#154d7b;
  color:#aee8ff;
  font-size:10.5px;
  font-weight:850;
  text-decoration:none;
  transition:.16s ease;
}
.assets-bulk-btn:hover{
  background:#1c659d;
  border-color:#46bdf1;
  color:#fff;
  transform:translateY(-1px);
}
.assets-bulk-btn svg{width:14px;height:14px}
.asset-auto-label-field>b{
  display:flex;
  align-items:center;
  gap:6px;
}
.asset-auto-label-field>b svg{
  width:13px;
  height:13px;
  color:#48dc8c;
}
.asset-auto-label-box{
  position:relative;
}
.asset-auto-label-box input{
  padding-right:42px!important;
  background:#0a213b!important;
  border-color:#2e678f!important;
  color:#75ddff!important;
  font-weight:900!important;
  letter-spacing:.07em;
  cursor:not-allowed;
}
.asset-auto-label-lock{
  position:absolute;
  top:50%;
  right:12px;
  width:25px;
  height:25px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#123e61;
  color:#49df8c;
  pointer-events:none;
}
.asset-auto-label-lock svg{width:13px;height:13px}
.asset-auto-label-field>small{
  display:block;
  margin-top:5px;
  color:#74a8ca;
  font-size:8.7px;
  line-height:1.35;
}
.bulk-auto-label-note{
  margin-top:10px!important;
}
.bulk-auto-label-note b{
  display:flex;
  align-items:center;
  gap:5px;
}
.bulk-auto-label-note b svg{
  width:13px;
  height:13px;
}
@media(max-width:700px){
  .assets-strip-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .assets-bulk-btn,
  .assets-new-btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   HOME · accesos directos interactivos 02-09-2026
   ========================================================= */
.home-welcome-clean .home-copy{
  padding-bottom:8px;
}
.home-shortcuts-interactive .home-tile{
  isolation:isolate;
  overflow:hidden;
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.home-shortcuts-interactive .home-tile::after{
  content:"";
  position:absolute;
  inset:auto -35% -70% 15%;
  height:145px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--tile) 22%,transparent),transparent 68%);
  opacity:.38;
  transform:translateY(18px) scale(.9);
  transition:transform .28s ease,opacity .28s ease;
  pointer-events:none;
  z-index:-1;
}
.home-shortcuts-interactive .home-tile:hover,
.home-shortcuts-interactive .home-tile:focus-visible{
  transform:translateY(-6px) scale(1.012);
  border-color:color-mix(in srgb,var(--tile) 72%,#5b7ca8 28%);
  box-shadow:inset 0 0 52px color-mix(in srgb,var(--tile) 8%,transparent),0 24px 46px rgba(0,0,0,.24),0 0 28px color-mix(in srgb,var(--tile) 12%,transparent);
  outline:none;
}
.home-shortcuts-interactive .home-tile:hover::after,
.home-shortcuts-interactive .home-tile:focus-visible::after{
  opacity:.72;
  transform:translateY(0) scale(1.08);
}
.home-shortcuts-interactive .home-tile-icon{
  transition:transform .24s ease,box-shadow .24s ease;
}
.home-shortcuts-interactive .home-tile:hover .home-tile-icon,
.home-shortcuts-interactive .home-tile:focus-visible .home-tile-icon{
  transform:translateY(-3px) scale(1.06);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile) 60%,white 40%),0 0 32px color-mix(in srgb,var(--tile) 34%,transparent);
}
.home-tile-topline{
  position:absolute;
  top:16px;
  right:17px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--tile) 30%,#38526f 70%);
  border-radius:999px;
  background:color-mix(in srgb,var(--tile) 8%,#0d2543 92%);
  color:color-mix(in srgb,var(--tile) 72%,#d9ebff 28%);
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  white-space:nowrap;
}
.home-tile-cta{
  position:absolute;
  left:19px;
  bottom:21px;
  color:color-mix(in srgb,var(--tile) 72%,#c9e6ff 28%);
  font-size:10px;
  font-weight:800;
  opacity:.86;
  transition:transform .2s ease,color .2s ease;
}
.home-shortcuts-interactive .home-tile:hover .home-tile-cta{
  transform:translateX(3px);
  color:#fff;
}
.home-shortcuts-interactive .home-tile-arrow{
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.home-shortcuts-interactive .home-tile:hover .home-tile-arrow{
  transform:translateX(4px);
  background:color-mix(in srgb,var(--tile) 35%,#10233f 65%);
  color:#fff;
}
.home-shortcuts-interactive .home-tile-download:hover .home-tile-arrow-download{
  transform:translateY(4px);
}
.home-tile-download.is-downloading{
  pointer-events:none;
  animation:homeReportPulse .85s ease both;
}
.home-tile-download.is-downloading .home-download-label::after{
  content:" · preparando...";
  color:#d8efff;
}
@keyframes homeReportPulse{
  0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--tile) 0%,transparent)}
  45%{box-shadow:0 0 0 5px color-mix(in srgb,var(--tile) 14%,transparent),0 22px 44px rgba(0,0,0,.22)}
}

@media(max-width:1100px){
  .home-tile-topline{top:12px;right:12px;font-size:7px;padding:3px 6px}
  .home-tile-cta{left:15px;bottom:16px}
}
@media(max-width:700px){
  .home-tile-topline{font-size:7.5px}
  .home-tile-cta{bottom:17px}
}

/* =========================================================
   HOME · FRAISSL BLUE GLASS 02-09-2026
   SOLO HOME: no modifica sidebar ni topbar
   ========================================================= */
body.app-shell.home-route .main{
  position:relative;
  background:
    radial-gradient(circle at 72% 18%,rgba(43,117,224,.16),transparent 30%),
    radial-gradient(circle at 18% 86%,rgba(31,118,206,.10),transparent 32%),
    linear-gradient(135deg,#06192f 0%,#081f3d 46%,#071a31 100%);
}
body.app-shell.home-route .main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.018) 48%,rgba(97,172,255,.035) 51%,transparent 55%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.009) 0 1px,transparent 1px 84px);
  opacity:.85;
}

.home-welcome-clean{
  position:relative;
  z-index:1;
}
.home-welcome-clean .home-copy{
  padding-bottom:8px;
}
.home-welcome-clean .home-eyebrow{
  color:#48a9ff!important;
  text-shadow:0 0 18px rgba(62,163,255,.20);
}
.home-welcome-clean .home-copy h1 span{
  background:linear-gradient(90deg,#42a8ff 0%,#2b78eb 72%,#66baff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 7px 20px rgba(29,108,226,.16));
}
.home-welcome-clean .home-accent{
  width:235px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#31b9ff,#247cff 58%,rgba(65,166,255,.08))!important;
  box-shadow:0 0 18px rgba(48,157,255,.36)!important;
}
.home-welcome-clean .home-lead{
  color:#b9cce1!important;
}
.home-brand-stage{
  opacity:.92;
}
.home-brand-big{
  opacity:.14!important;
  filter:grayscale(.25) saturate(.7) brightness(.95) contrast(1.15) drop-shadow(0 0 36px rgba(51,132,224,.16))!important;
}
.home-brand-glow{
  background:radial-gradient(ellipse at center,rgba(52,132,232,.25),rgba(29,81,155,.07) 48%,transparent 72%)!important;
  filter:blur(13px)!important;
}
.home-brand-stage::after{
  background:linear-gradient(90deg,transparent,rgba(72,147,242,.10),rgba(66,164,255,.52),rgba(72,147,242,.10),transparent)!important;
  box-shadow:0 0 24px rgba(48,139,241,.28)!important;
}

/* Las cuatro tarjetas usan la gama corporativa azul */
.home-shortcuts-interactive{
  position:relative;
  z-index:2;
  perspective:1100px;
}
.home-shortcuts-interactive .home-tile,
.home-shortcuts-interactive .home-tile-blue,
.home-shortcuts-interactive .home-tile-green,
.home-shortcuts-interactive .home-tile-orange,
.home-shortcuts-interactive .home-tile-purple{
  --tile:#49aaff!important;
  --tile2:#2278d8!important;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer;
  border:1px solid rgba(92,168,238,.40)!important;
  background:
    linear-gradient(145deg,rgba(31,74,119,.58) 0%,rgba(13,42,75,.70) 46%,rgba(8,31,58,.82) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(54,144,233,.08),
    0 16px 34px rgba(0,8,21,.18)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease,background .24s ease!important;
}
/* reflejo de vidrio superior */
.home-shortcuts-interactive .home-tile::before{
  content:""!important;
  position:absolute!important;
  left:-18%!important;
  top:-64%!important;
  width:138%!important;
  height:118%!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.13) 0%,rgba(89,175,255,.07) 35%,transparent 70%)!important;
  pointer-events:none!important;
  z-index:-1!important;
  opacity:.78!important;
  transform:none!important;
}
/* destello que cruza al hover */
.home-shortcuts-interactive .home-tile::after{
  content:""!important;
  position:absolute!important;
  top:-24%!important;
  left:-58%!important;
  width:34%!important;
  height:150%!important;
  border-radius:0!important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.15),rgba(87,174,255,.10),transparent)!important;
  opacity:0!important;
  transform:skewX(-14deg)!important;
  transition:left .48s ease,opacity .22s ease!important;
  pointer-events:none!important;
  z-index:2!important;
}
.home-shortcuts-interactive .home-tile:hover,
.home-shortcuts-interactive .home-tile:focus-visible{
  transform:translateY(-7px) scale(1.012)!important;
  border-color:rgba(91,188,255,.80)!important;
  background:
    linear-gradient(145deg,rgba(37,89,143,.66) 0%,rgba(13,48,87,.78) 50%,rgba(8,34,64,.88) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 42px rgba(62,145,226,.08),
    0 22px 42px rgba(0,8,22,.26),
    0 0 26px rgba(45,141,233,.13)!important;
  outline:none!important;
}
.home-shortcuts-interactive .home-tile:hover::after,
.home-shortcuts-interactive .home-tile:focus-visible::after{
  left:128%!important;
  opacity:1!important;
  transform:skewX(-14deg)!important;
}

.home-shortcuts-interactive .home-tile-icon{
  position:relative;
  z-index:3;
  color:#dcefff!important;
  background:
    radial-gradient(circle at 35% 28%,rgba(112,192,255,.32),rgba(27,91,153,.24) 46%,rgba(8,34,63,.82) 100%)!important;
  border:1px solid rgba(87,184,255,.72)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 25px rgba(50,153,241,.12)!important;
}
.home-shortcuts-interactive .home-tile-icon svg{
  stroke:#dff2ff!important;
  filter:drop-shadow(0 0 6px rgba(86,184,255,.24));
}
.home-shortcuts-interactive .home-tile:hover .home-tile-icon,
.home-shortcuts-interactive .home-tile:focus-visible .home-tile-icon{
  transform:translateY(-3px) scale(1.055)!important;
  border-color:#66c6ff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 0 30px rgba(55,164,250,.24)!important;
}
.home-shortcuts-interactive .home-tile h2{
  position:relative;
  z-index:3;
  color:#f7fbff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}
.home-shortcuts-interactive .home-tile p{
  position:relative;
  z-index:3;
  color:#b7cbe0!important;
}
.home-tile-topline{
  z-index:4!important;
  border:1px solid rgba(100,180,245,.32)!important;
  background:rgba(10,35,65,.56)!important;
  color:#9fd6ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(8px)!important;
}
.home-tile-cta{
  z-index:4!important;
  color:#66baff!important;
}
.home-shortcuts-interactive .home-tile:hover .home-tile-cta{
  color:#bde8ff!important;
}
.home-shortcuts-interactive .home-tile-arrow{
  z-index:4!important;
  border:1px solid rgba(84,168,238,.45)!important;
  background:rgba(16,52,88,.68)!important;
  color:#dff2ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(8px)!important;
}
.home-shortcuts-interactive .home-tile:hover .home-tile-arrow{
  transform:translateX(4px) scale(1.05)!important;
  background:rgba(28,91,148,.78)!important;
  border-color:#62bcf8!important;
  box-shadow:0 0 20px rgba(62,162,240,.18)!important;
}
.home-shortcuts-interactive .home-tile-download:hover .home-tile-arrow-download{
  transform:translateY(4px) scale(1.05)!important;
}

/* línea de vidrio inferior: refuerza el efecto espejo */
.home-shortcuts-interactive .home-tile > *{
  position:relative;
}

@media(max-width:1100px){
  .home-shortcuts-interactive .home-tile{
    backdrop-filter:blur(12px) saturate(115%);
    -webkit-backdrop-filter:blur(12px) saturate(115%);
  }
}
@media(max-width:700px){
  body.app-shell.home-route .main{
    background:linear-gradient(180deg,#06192f,#08213f 55%,#071a31)!important;
  }
  .home-shortcuts-interactive .home-tile{
    background:linear-gradient(145deg,rgba(29,73,117,.68),rgba(8,32,60,.88))!important;
  }
}

/* =========================================================
   HOME · FRAISSL BLUE MIRROR GLASS 02-09-2026
   Ajuste exclusivo del Home. No modifica sidebar ni topbar.
   ========================================================= */
body.app-shell.home-route .main{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 4%,rgba(72,144,230,.20),transparent 32%),
    radial-gradient(circle at 20% 75%,rgba(31,108,195,.10),transparent 34%),
    linear-gradient(135deg,#041426 0%,#082341 46%,#06192e 100%)!important;
}
body.app-shell.home-route .main::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 44%,rgba(255,255,255,.025) 48%,rgba(103,184,255,.055) 50%,transparent 55%),
    radial-gradient(ellipse at 78% 85%,rgba(44,131,224,.12),transparent 42%);
}
body.app-shell.home-route .main::after{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  bottom:0;
  height:40%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(3,15,29,.22));
  mask-image:linear-gradient(to bottom,transparent,#000 48%,#000);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 48%,#000);
}

.home-welcome-mirror{
  position:relative;
  z-index:1;
}
.home-welcome-mirror .home-eyebrow{
  color:#55b5ff!important;
  text-shadow:0 0 22px rgba(69,171,255,.24);
}
.home-welcome-mirror .home-copy h1 span{
  background:linear-gradient(90deg,#46a8ff 0%,#2e7cf2 58%,#65bfff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 8px 24px rgba(30,101,220,.18));
}
.home-welcome-mirror .home-accent{
  width:270px!important;
  height:3px!important;
  margin-top:20px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#53c7ff 0%,#1d7cff 58%,rgba(39,125,231,.05) 100%)!important;
  box-shadow:0 0 22px rgba(45,151,255,.42)!important;
}
.home-welcome-mirror .home-lead{
  color:#c4d4e6!important;
}

.home-brand-stage-mirror{
  position:relative;
  overflow:visible;
  display:grid;
  place-items:center;
}
.home-brand-stage-mirror::before{
  content:"";
  position:absolute;
  width:88%;
  height:68%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(72,145,229,.18),rgba(25,68,119,.06) 46%,transparent 72%);
  filter:blur(18px);
  transform:translateY(-6%);
}
.home-brand-white{
  position:relative;
  z-index:2;
  width:min(535px,95%)!important;
  max-height:330px!important;
  object-fit:contain!important;
  opacity:.24!important;
  filter:brightness(1.18) drop-shadow(0 0 38px rgba(116,186,255,.18))!important;
  transform:translateY(-8px)!important;
}
.home-brand-reflection{
  position:absolute;
  z-index:1;
  width:min(535px,95%);
  max-height:330px;
  object-fit:contain;
  left:50%;
  top:68%;
  opacity:.07;
  filter:blur(.5px) brightness(1.08);
  transform:translateX(-50%) scaleY(-1);
  transform-origin:center top;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.70),transparent 62%);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.70),transparent 62%);
}
.home-brand-glow{
  width:82%!important;
  height:35px!important;
  bottom:17%!important;
  background:radial-gradient(ellipse at center,rgba(70,158,247,.42),rgba(47,118,211,.10) 46%,transparent 73%)!important;
  filter:blur(10px)!important;
}
.home-brand-stage-mirror::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:17%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(89,175,255,.18),rgba(94,190,255,.72),rgba(89,175,255,.18),transparent);
  box-shadow:0 0 24px rgba(55,157,246,.38);
}

.home-shortcuts-glass{
  position:relative;
  z-index:3;
  perspective:1200px;
}
.home-shortcuts-glass::before{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:-10px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(83,168,245,.18),rgba(255,255,255,.08),rgba(83,168,245,.18),transparent);
}
.home-shortcuts-glass .home-tile,
.home-shortcuts-glass .home-tile-blue,
.home-shortcuts-glass .home-tile-green,
.home-shortcuts-glass .home-tile-orange,
.home-shortcuts-glass .home-tile-purple{
  --tile:#4db7ff!important;
  position:relative!important;
  min-height:230px!important;
  padding:24px 24px 20px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border:1px solid rgba(98,174,239,.44)!important;
  border-radius:19px!important;
  background:
    linear-gradient(145deg,rgba(45,91,136,.58) 0%,rgba(20,57,94,.66) 34%,rgba(7,31,58,.84) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(72,154,228,.10),
    0 17px 34px rgba(0,8,20,.20),
    0 1px 0 rgba(255,255,255,.03)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
  transition:transform .26s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease,background .24s ease!important;
}
/* reflejo suave superior, tipo vidrio */
.home-shortcuts-glass .home-tile::before{
  content:""!important;
  position:absolute!important;
  left:-14%!important;
  top:-60%!important;
  width:128%!important;
  height:112%!important;
  border-radius:50%!important;
  z-index:0!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.16) 0%,rgba(100,185,255,.07) 36%,transparent 70%)!important;
  opacity:.80!important;
  transform:none!important;
}
/* brillo que recorre la tarjeta */
.home-shortcuts-glass .home-tile::after{
  content:""!important;
  position:absolute!important;
  top:-28%!important;
  left:-62%!important;
  width:32%!important;
  height:158%!important;
  z-index:4!important;
  pointer-events:none!important;
  border-radius:0!important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),rgba(101,190,255,.10),transparent)!important;
  opacity:0!important;
  transform:skewX(-15deg)!important;
  transition:left .52s ease,opacity .18s ease!important;
}
.home-shortcuts-glass .home-tile:hover,
.home-shortcuts-glass .home-tile:focus-visible{
  transform:translateY(-8px) scale(1.014)!important;
  border-color:rgba(104,196,255,.88)!important;
  background:
    linear-gradient(145deg,rgba(56,106,155,.66) 0%,rgba(23,66,109,.76) 36%,rgba(8,35,65,.90) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 50px rgba(79,162,235,.08),
    0 25px 48px rgba(0,7,20,.30),
    0 0 30px rgba(55,154,242,.14)!important;
  outline:none!important;
}
.home-shortcuts-glass .home-tile:hover::after,
.home-shortcuts-glass .home-tile:focus-visible::after{
  left:132%!important;
  opacity:1!important;
}
.home-shortcuts-glass .home-tile > *{
  position:relative;
  z-index:2;
}
.home-shortcuts-glass .home-tile-icon{
  width:66px!important;
  height:66px!important;
  margin:0 0 16px!important;
  flex:0 0 auto;
  border-radius:50%!important;
  border:1px solid rgba(90,192,255,.80)!important;
  color:#e9f7ff!important;
  background:
    radial-gradient(circle at 34% 26%,rgba(118,204,255,.28),rgba(26,88,147,.25) 48%,rgba(7,32,61,.86) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 0 27px rgba(56,163,246,.15)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.home-shortcuts-glass .home-tile-icon svg{
  width:31px!important;
  height:31px!important;
  fill:none!important;
  stroke:#edf8ff!important;
  stroke-width:1.75!important;
  filter:drop-shadow(0 0 7px rgba(76,179,255,.28));
}
.home-shortcuts-glass .home-tile:hover .home-tile-icon,
.home-shortcuts-glass .home-tile:focus-visible .home-tile-icon{
  transform:translateY(-3px) scale(1.07) rotate(-1deg)!important;
  border-color:#79d4ff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 0 34px rgba(61,173,255,.27)!important;
}
.home-shortcuts-glass .home-tile h2{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.1!important;
  text-shadow:0 2px 14px rgba(0,0,0,.20)!important;
}
.home-shortcuts-glass .home-tile p{
  margin:0!important;
  max-width:245px!important;
  padding:0!important;
  color:#c1d2e3!important;
  font-size:12.5px!important;
  line-height:1.48!important;
}
.home-shortcuts-glass .home-tile-footer{
  position:relative!important;
  z-index:3!important;
  margin-top:auto!important;
  padding-top:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.home-shortcuts-glass .home-tile-cta{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  color:#67bdff!important;
  font-size:11.5px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  opacity:1!important;
  transition:transform .22s ease,color .22s ease!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-cta{
  transform:translateX(4px)!important;
  color:#dff4ff!important;
}
.home-shortcuts-glass .home-tile-arrow{
  position:static!important;
  flex:0 0 auto!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(86,179,248,.52)!important;
  background:rgba(15,55,94,.74)!important;
  color:#e8f8ff!important;
  font-size:22px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-arrow{
  transform:translateX(4px) scale(1.06)!important;
  background:rgba(29,98,158,.86)!important;
  border-color:#73ccff!important;
  box-shadow:0 0 23px rgba(67,175,255,.20)!important;
}
.home-shortcuts-glass .home-tile-download:hover .home-tile-arrow-download{
  transform:translateY(4px) scale(1.06)!important;
}
.home-shortcuts-glass .home-tile-download.is-downloading .home-download-label::after{
  content:" · preparando...";
  color:#d8efff;
}

/* Se eliminan definitivamente las etiquetas superiores de las tarjetas */
.home-shortcuts-glass .home-tile-topline{
  display:none!important;
}

@media(max-width:1250px){
  .home-shortcuts-glass .home-tile{
    min-height:220px!important;
    padding:20px 19px 17px!important;
  }
  .home-shortcuts-glass .home-tile-icon{width:58px!important;height:58px!important;margin-bottom:12px!important}
  .home-shortcuts-glass .home-tile-icon svg{width:27px!important;height:27px!important}
  .home-shortcuts-glass .home-tile h2{font-size:18px!important}
  .home-shortcuts-glass .home-tile p{font-size:11.5px!important}
}
@media(max-width:1100px){
  .home-brand-reflection{display:none}
  .home-shortcuts-glass .home-tile{
    backdrop-filter:blur(13px) saturate(115%)!important;
    -webkit-backdrop-filter:blur(13px) saturate(115%)!important;
  }
}
@media(max-width:700px){
  body.app-shell.home-route .main{
    background:linear-gradient(180deg,#041426,#08213f 56%,#06182d)!important;
  }
  .home-welcome-mirror .home-accent{width:190px!important}
  .home-shortcuts-glass .home-tile{
    min-height:205px!important;
    padding:20px!important;
    background:linear-gradient(145deg,rgba(44,92,139,.65),rgba(7,31,58,.90))!important;
  }
  .home-shortcuts-glass .home-tile-footer{padding-top:14px!important}
}

/* =========================================================
   HOME FINAL · FRAISSL MIRROR EXECUTIVE 02-09-2026
   Solo Home: fondo espejo + tarjetas glass premium + un solo logo.
   Sidebar y topbar NO se modifican.
   ========================================================= */
body.app-shell.home-route .main{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 74% 16%,rgba(80,158,245,.20),transparent 28%),
    radial-gradient(circle at 38% 58%,rgba(33,112,202,.13),transparent 34%),
    linear-gradient(132deg,#031326 0%,#061c35 38%,#0a2a4d 70%,#06192e 100%)!important;
}
/* Láminas de cristal del fondo */
body.app-shell.home-route .main::before{
  content:""!important;
  position:absolute!important;
  inset:-8% -5% 0 35%!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:
    linear-gradient(116deg,transparent 0 35%,rgba(156,211,255,.04) 35.2% 35.5%,transparent 35.7% 61%,rgba(145,208,255,.055) 61.2% 61.5%,transparent 61.8%),
    linear-gradient(116deg,transparent 0 44%,rgba(255,255,255,.035) 44.2% 49%,transparent 49.3%),
    radial-gradient(ellipse at 72% 48%,rgba(88,170,255,.13),transparent 46%)!important;
  filter:drop-shadow(-12px 0 30px rgba(40,137,230,.08))!important;
}
/* Piso espejo: solamente refleja luz, NO duplica el logo */
body.app-shell.home-route .main::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:38%!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(8,33,60,0) 0%,rgba(7,31,58,.18) 22%,rgba(2,15,29,.76) 100%),
    repeating-linear-gradient(90deg,transparent 0 12%,rgba(87,169,245,.025) 12.1% 12.2%,transparent 12.3% 24%),
    linear-gradient(90deg,transparent 7%,rgba(96,190,255,.10) 49%,transparent 93%)!important;
  border-top:1px solid rgba(81,172,249,.10)!important;
  box-shadow:inset 0 1px 30px rgba(54,150,241,.06)!important;
}

.home-welcome-mirror{
  position:relative!important;
  z-index:2!important;
}
.home-welcome-mirror::after{
  content:"";
  position:absolute;
  left:2%;
  right:2%;
  bottom:-7px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(86,179,255,.14),rgba(178,226,255,.18),rgba(86,179,255,.14),transparent);
  box-shadow:0 10px 35px rgba(47,149,244,.10);
}
.home-welcome-mirror .home-copy{
  position:relative!important;
  z-index:3!important;
}
.home-welcome-mirror .home-copy::before{
  content:"";
  position:absolute;
  left:-70px;
  top:-90px;
  width:430px;
  height:300px;
  pointer-events:none;
  background:radial-gradient(circle,rgba(57,151,244,.075),transparent 69%);
  filter:blur(5px);
  z-index:-1;
}
.home-welcome-mirror .home-copy h1{
  text-shadow:0 8px 28px rgba(0,0,0,.24)!important;
}
.home-welcome-mirror .home-copy h1 span{
  background:linear-gradient(92deg,#58b8ff 0%,#3084f5 50%,#56b7ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  filter:drop-shadow(0 12px 26px rgba(36,111,224,.17))!important;
}
.home-welcome-mirror .home-accent{
  background:linear-gradient(90deg,#64d2ff 0%,#2585ff 57%,rgba(37,133,255,0) 100%)!important;
  box-shadow:0 0 26px rgba(56,163,255,.33)!important;
}

/* UN SOLO LOGO, sin imagen duplicada detrás */
.home-brand-stage-mirror{
  position:relative!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.home-brand-stage-mirror::before{
  width:92%!important;
  height:80%!important;
  background:
    radial-gradient(ellipse at center,rgba(101,181,255,.20) 0%,rgba(47,116,190,.08) 46%,transparent 72%)!important;
  filter:blur(24px)!important;
}
.home-brand-white{
  position:relative!important;
  z-index:3!important;
  width:min(535px,94%)!important;
  max-height:330px!important;
  opacity:.40!important;
  filter:brightness(1.17) drop-shadow(0 18px 36px rgba(62,139,222,.18))!important;
  transform:translateY(-5px)!important;
}
.home-brand-reflection{display:none!important}
.home-brand-stage-mirror::after{
  content:""!important;
  position:absolute!important;
  left:8%!important;
  right:8%!important;
  bottom:12%!important;
  height:34%!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at center top,rgba(109,195,255,.15),rgba(53,134,218,.04) 35%,transparent 69%),
    linear-gradient(180deg,rgba(101,190,255,.07),transparent 68%)!important;
  border-top:1px solid rgba(124,205,255,.21)!important;
  transform:perspective(320px) rotateX(68deg)!important;
  transform-origin:center top!important;
  filter:blur(.2px)!important;
  box-shadow:0 -10px 38px rgba(62,159,244,.08)!important;
}
.home-brand-glow{
  bottom:13%!important;
  opacity:.70!important;
}

/* Contenedor de tarjetas sobre piso espejo */
.home-shortcuts-glass{
  position:relative!important;
  z-index:5!important;
  perspective:1400px!important;
}
.home-shortcuts-glass::before{
  top:-14px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent 2%,rgba(90,185,255,.15) 18%,rgba(215,241,255,.24) 50%,rgba(90,185,255,.15) 82%,transparent 98%)!important;
  box-shadow:0 0 28px rgba(74,174,255,.11)!important;
}
.home-shortcuts-glass::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:1%;
  right:1%;
  bottom:-22px;
  height:46px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(73,165,245,.12),transparent 68%);
  filter:blur(13px);
}

.home-shortcuts-glass .home-tile,
.home-shortcuts-glass .home-tile-blue,
.home-shortcuts-glass .home-tile-green,
.home-shortcuts-glass .home-tile-orange,
.home-shortcuts-glass .home-tile-purple{
  --mx:50%;
  --my:18%;
  min-height:238px!important;
  padding:23px 22px 19px!important;
  border-radius:20px!important;
  border:1px solid rgba(102,190,255,.50)!important;
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(119,201,255,.16),transparent 35%),
    linear-gradient(145deg,rgba(43,91,137,.60) 0%,rgba(15,52,88,.78) 45%,rgba(5,27,52,.94) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(79,164,238,.10),
    inset 0 0 50px rgba(84,166,235,.035),
    0 18px 42px rgba(0,8,22,.29),
    0 0 0 1px rgba(22,93,151,.10)!important;
  backdrop-filter:blur(20px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(125%)!important;
  transform-style:preserve-3d!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease,background .24s ease!important;
}
/* Brillo de cristal diagonal fijo */
.home-shortcuts-glass .home-tile::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  background:
    linear-gradient(127deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.035) 19%,transparent 19.5% 62%,rgba(94,184,255,.035) 62.5%,transparent 80%),
    linear-gradient(180deg,rgba(113,203,255,.09),transparent 28%)!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
  transform:none!important;
}
/* Línea luminosa superior */
.home-shortcuts-glass .home-tile .home-tile-icon::before{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  top:-24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(105,201,255,.58),#d8f4ff,rgba(105,201,255,.58),transparent);
  box-shadow:0 0 17px rgba(75,181,255,.48);
  opacity:.62;
  transition:opacity .24s ease,transform .24s ease;
}
.home-shortcuts-glass .home-tile::after{
  top:-38%!important;
  left:-70%!important;
  width:28%!important;
  height:178%!important;
  background:linear-gradient(102deg,transparent,rgba(255,255,255,.22),rgba(114,204,255,.10),transparent)!important;
  opacity:0!important;
}
.home-shortcuts-glass .home-tile:hover,
.home-shortcuts-glass .home-tile:focus-visible{
  transform:translateY(-9px) rotateX(1deg) scale(1.018)!important;
  border-color:rgba(126,211,255,.92)!important;
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(137,212,255,.25),transparent 38%),
    linear-gradient(145deg,rgba(52,108,160,.68) 0%,rgba(19,64,106,.83) 45%,rgba(6,31,58,.97) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 0 60px rgba(87,176,249,.065),
    0 27px 54px rgba(0,7,21,.36),
    0 0 34px rgba(70,170,251,.16)!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-icon::before,
.home-shortcuts-glass .home-tile:focus-visible .home-tile-icon::before{
  opacity:1;
  transform:scaleX(1.08);
}
.home-shortcuts-glass .home-tile-icon{
  position:relative!important;
  width:68px!important;
  height:68px!important;
  border:1px solid rgba(102,204,255,.82)!important;
  background:
    radial-gradient(circle at 34% 27%,rgba(153,224,255,.27),rgba(35,104,163,.28) 44%,rgba(5,30,59,.91) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -8px 20px rgba(3,25,50,.22),
    0 0 27px rgba(59,168,249,.18)!important;
}
.home-shortcuts-glass .home-tile h2{
  margin-top:1px!important;
  font-size:21px!important;
  letter-spacing:-.015em!important;
}
.home-shortcuts-glass .home-tile p{
  max-width:260px!important;
  color:#c9d9e8!important;
  font-size:12.5px!important;
  line-height:1.50!important;
}
.home-shortcuts-glass .home-tile-footer{
  padding-top:17px!important;
  border-top:1px solid rgba(89,166,229,.075)!important;
}
.home-shortcuts-glass .home-tile-cta{
  color:#70c7ff!important;
  font-weight:900!important;
}
.home-shortcuts-glass .home-tile-arrow{
  width:44px!important;
  height:44px!important;
  border-color:rgba(103,198,255,.60)!important;
  background:linear-gradient(145deg,rgba(26,86,137,.80),rgba(9,42,77,.90))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 18px rgba(66,166,247,.10)!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-arrow{
  background:linear-gradient(145deg,rgba(41,119,178,.92),rgba(16,64,108,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 25px rgba(74,180,255,.24)!important;
}

/* reflejo inferior de cada tarjeta: sin duplicar contenido */
.home-shortcuts-glass .home-tile-action{
  isolation:isolate!important;
}
.home-shortcuts-glass .home-tile-action:hover{
  text-decoration:none!important;
}

@media(max-width:1250px){
  .home-shortcuts-glass .home-tile{min-height:220px!important;padding:20px 19px 17px!important}
  .home-shortcuts-glass .home-tile-icon{width:60px!important;height:60px!important}
  .home-shortcuts-glass .home-tile h2{font-size:19px!important}
}
@media(max-width:1100px){
  body.app-shell.home-route .main{overflow:visible!important}
  .home-brand-white{opacity:.28!important}
}
@media(max-width:700px){
  body.app-shell.home-route .main{
    background:
      radial-gradient(circle at 72% 8%,rgba(75,151,237,.16),transparent 30%),
      linear-gradient(145deg,#031326,#082541 62%,#05182d)!important;
  }
  body.app-shell.home-route .main::before{inset:0!important;opacity:.62!important}
  .home-shortcuts-glass .home-tile{min-height:205px!important}
  .home-brand-stage-mirror::after{display:none!important}
}

/* =========================================================
   HOME ESPEJO · AJUSTE FINAL IGUAL REFERENCIA 02-09-2026
   Objetivo: dejar el home visualmente igual al diseño brillante
   de referencia con fondo espejo, logo único iluminado y
   tarjetas glass premium más intensas.
   ========================================================= */
body.app-shell.home-route .main{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 70% 16%, rgba(127,190,255,.20) 0%, rgba(62,133,218,.12) 18%, transparent 36%),
    radial-gradient(circle at 50% 52%, rgba(36,98,182,.10) 0%, transparent 34%),
    linear-gradient(135deg,#021021 0%,#041a34 34%,#0a2b4e 69%,#071829 100%)!important;
}
body.app-shell.home-route .main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:
    linear-gradient(112deg, transparent 0 50%, rgba(201,232,255,.04) 50.4% 50.7%, transparent 51% 100%),
    linear-gradient(110deg, transparent 0 61%, rgba(220,239,255,.06) 61.2% 61.55%, transparent 61.9% 100%),
    linear-gradient(110deg, transparent 0 79%, rgba(184,223,255,.06) 79.15% 79.45%, transparent 79.8% 100%),
    radial-gradient(circle at 67% 19%, rgba(169,214,255,.16), transparent 30%);
  filter:drop-shadow(-16px 0 34px rgba(56,154,245,.08));
}
body.app-shell.home-route .main::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:42%!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg, rgba(5,23,43,0) 0%, rgba(4,22,41,.22) 18%, rgba(2,15,29,.84) 100%),
    linear-gradient(90deg, transparent 0%, rgba(110,195,255,.05) 49%, transparent 100%),
    repeating-linear-gradient(90deg, transparent 0 11.9%, rgba(95,183,248,.030) 12% 12.18%, transparent 12.22% 24%),
    repeating-linear-gradient(180deg, transparent 0 18px, rgba(107,187,247,.018) 18px 19px, transparent 19px 38px)!important;
  border-top:1px solid rgba(122,206,255,.14)!important;
  box-shadow:inset 0 1px 32px rgba(72,168,245,.08), 0 -12px 80px rgba(41,123,214,.08)!important;
}

.home-welcome-mirror{
  position:relative!important;
  z-index:2!important;
}
.home-welcome-mirror::after{
  content:"";
  position:absolute;
  left:2%;
  right:2%;
  bottom:-8px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(95,189,255,.16), rgba(208,237,255,.26), rgba(95,189,255,.16), transparent)!important;
  box-shadow:0 8px 32px rgba(74,173,255,.12)!important;
}
.home-welcome-mirror .home-copy{
  position:relative!important;
  z-index:3!important;
  max-width:700px!important;
}
.home-welcome-mirror .home-copy::before{
  content:"";
  position:absolute;
  left:-85px;
  top:-90px;
  width:460px;
  height:320px;
  pointer-events:none;
  background:radial-gradient(circle, rgba(75,165,245,.10), transparent 68%);
  filter:blur(6px);
  z-index:-1;
}
.home-welcome-mirror .home-eyebrow{
  color:#49aaff!important;
  letter-spacing:.16em!important;
}
.home-welcome-mirror .home-copy h1{
  text-shadow:0 10px 30px rgba(0,0,0,.26)!important;
}
.home-welcome-mirror .home-copy h1 span{
  background:linear-gradient(92deg,#59b9ff 0%, #2d84f4 52%, #61c0ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  filter:drop-shadow(0 13px 30px rgba(44,118,224,.20))!important;
}
.home-welcome-mirror .home-accent{
  width:305px!important;
  height:4px!important;
  background:linear-gradient(90deg,#68d4ff 0%, #2f8cff 56%, rgba(47,140,255,0) 100%)!important;
  box-shadow:0 0 30px rgba(90,183,255,.32)!important;
}
.home-welcome-mirror .home-lead{
  color:#d4e0ee!important;
  max-width:760px!important;
}

.home-brand-stage-mirror{
  position:relative!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.home-brand-stage-mirror::before{
  content:""!important;
  position:absolute!important;
  inset:10% 6% 14% 6%!important;
  border-radius:999px!important;
  background:radial-gradient(ellipse at center, rgba(135,203,255,.26) 0%, rgba(64,134,208,.10) 42%, transparent 72%)!important;
  filter:blur(22px)!important;
  z-index:1!important;
}
.home-brand-white{
  position:relative!important;
  z-index:3!important;
  width:min(560px,96%)!important;
  max-height:350px!important;
  opacity:.58!important;
  filter:brightness(1.28) contrast(1.06) drop-shadow(0 24px 48px rgba(76,159,243,.16))!important;
  transform:translateY(-2px)!important;
}
.home-brand-reflection{display:none!important}
.home-brand-stage-mirror::after{
  content:""!important;
  position:absolute!important;
  left:9%!important;
  right:9%!important;
  bottom:11%!important;
  height:34%!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at center top, rgba(145,219,255,.15), rgba(64,137,217,.05) 34%, transparent 70%),
    linear-gradient(180deg, rgba(120,199,255,.08), transparent 68%)!important;
  border-top:1px solid rgba(148,216,255,.25)!important;
  transform:perspective(340px) rotateX(69deg)!important;
  transform-origin:center top!important;
  box-shadow:0 -14px 42px rgba(71,166,246,.08)!important;
}
.home-brand-glow{
  bottom:13%!important;
  opacity:.85!important;
  background:radial-gradient(ellipse at center, rgba(85,179,249,.58), rgba(72,160,235,.12) 44%, transparent 72%)!important;
  filter:blur(9px)!important;
}

.home-shortcuts-glass{
  position:relative!important;
  z-index:5!important;
  perspective:1400px!important;
}
.home-shortcuts-glass::before{
  content:""!important;
  position:absolute!important;
  top:-12px!important;
  left:1.5%!important;
  right:1.5%!important;
  height:1px!important;
  background:linear-gradient(90deg, transparent 0%, rgba(100,196,255,.18) 17%, rgba(222,242,255,.26) 50%, rgba(100,196,255,.18) 83%, transparent 100%)!important;
  box-shadow:0 0 30px rgba(74,174,255,.12)!important;
}
.home-shortcuts-glass::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:1%!important;
  right:1%!important;
  bottom:-24px!important;
  height:54px!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center, rgba(83,171,243,.16), transparent 68%)!important;
  filter:blur(14px)!important;
}

.home-shortcuts-glass .home-tile,
.home-shortcuts-glass .home-tile-blue,
.home-shortcuts-glass .home-tile-green,
.home-shortcuts-glass .home-tile-orange,
.home-shortcuts-glass .home-tile-purple{
  min-height:290px!important;
  padding:24px 22px 19px!important;
  border-radius:22px!important;
  border:1px solid rgba(114,200,255,.58)!important;
  background:
    radial-gradient(circle at 52% 18%, rgba(143,213,255,.16), transparent 36%),
    linear-gradient(145deg, rgba(49,98,145,.62) 0%, rgba(14,50,85,.82) 45%, rgba(4,25,50,.96) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(94,177,242,.10),
    inset 0 0 54px rgba(82,164,235,.040),
    0 18px 44px rgba(0,8,22,.30),
    0 0 0 1px rgba(29,101,161,.10)!important;
  backdrop-filter:blur(22px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(128%)!important;
  transform-style:preserve-3d!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease, background .24s ease!important;
  overflow:hidden!important;
}
.home-shortcuts-glass .home-tile::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:
    linear-gradient(129deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.04) 18%, transparent 18.5% 62%, rgba(106,191,255,.040) 62.5%, transparent 81%),
    linear-gradient(180deg, rgba(137,216,255,.08), transparent 28%)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.home-shortcuts-glass .home-tile::after{
  content:""!important;
  position:absolute!important;
  top:-42%!important;
  left:-70%!important;
  width:28%!important;
  height:184%!important;
  background:linear-gradient(102deg, transparent, rgba(255,255,255,.24), rgba(121,208,255,.12), transparent)!important;
  opacity:0!important;
  z-index:1!important;
  transition:opacity .25s ease, transform .55s ease!important;
}
.home-shortcuts-glass .home-tile > *{position:relative!important;z-index:2!important}
.home-shortcuts-glass .home-tile-icon{
  position:relative!important;
  width:78px!important;
  height:78px!important;
  margin-bottom:20px!important;
  border:1px solid rgba(109,205,255,.88)!important;
  background:radial-gradient(circle at 34% 27%, rgba(164,231,255,.28), rgba(38,109,170,.28) 44%, rgba(5,30,59,.92) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 -8px 20px rgba(3,25,50,.22), 0 0 28px rgba(59,168,249,.18)!important;
}
.home-shortcuts-glass .home-tile-icon::before{
  content:""!important;
  position:absolute!important;
  left:-26px!important;
  right:-26px!important;
  top:-24px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg, transparent, rgba(110,200,255,.58), #d9f4ff, rgba(110,200,255,.58), transparent)!important;
  box-shadow:0 0 18px rgba(85,186,255,.46)!important;
  opacity:.72!important;
}
.home-shortcuts-glass .home-tile-icon svg{
  width:38px!important;
  height:38px!important;
}
.home-shortcuts-glass .home-tile h2{
  margin:0 0 12px!important;
  font-size:22px!important;
  letter-spacing:-.015em!important;
  color:#ffffff!important;
}
.home-shortcuts-glass .home-tile p{
  max-width:300px!important;
  color:#d1dfed!important;
  font-size:13px!important;
  line-height:1.52!important;
}
.home-shortcuts-glass .home-tile-footer{
  padding-top:18px!important;
  border-top:1px solid rgba(98,175,239,.09)!important;
  margin-top:16px!important;
}
.home-shortcuts-glass .home-tile-cta{
  color:#69c3ff!important;
  font-weight:900!important;
}
.home-shortcuts-glass .home-tile-arrow{
  width:50px!important;
  height:50px!important;
  right:24px!important;
  bottom:22px!important;
  border-color:rgba(109,201,255,.64)!important;
  background:linear-gradient(145deg, rgba(28,91,145,.84), rgba(8,40,73,.94))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 0 22px rgba(76,173,246,.12)!important;
}
.home-shortcuts-glass .home-tile:hover,
.home-shortcuts-glass .home-tile:focus-visible{
  transform:translateY(-9px) rotateX(1deg) scale(1.02)!important;
  border-color:rgba(141,219,255,.95)!important;
  background:
    radial-gradient(circle at 52% 18%, rgba(155,221,255,.24), transparent 38%),
    linear-gradient(145deg, rgba(59,115,167,.72) 0%, rgba(18,64,107,.86) 45%, rgba(6,30,57,.98) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 0 62px rgba(86,177,249,.075),
    0 28px 56px rgba(0,8,22,.38),
    0 0 34px rgba(76,176,252,.18)!important;
}
.home-shortcuts-glass .home-tile:hover::after,
.home-shortcuts-glass .home-tile:focus-visible::after{
  opacity:1!important;
  transform:translateX(430%)!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-arrow,
.home-shortcuts-glass .home-tile:focus-visible .home-tile-arrow{
  background:linear-gradient(145deg, rgba(44,123,183,.96), rgba(13,62,105,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 0 26px rgba(81,186,255,.24)!important;
}

@media(max-width:1250px){
  .home-shortcuts-glass .home-tile{min-height:252px!important;padding:21px 19px 17px!important}
  .home-shortcuts-glass .home-tile-icon{width:64px!important;height:64px!important;margin-bottom:14px!important}
  .home-shortcuts-glass .home-tile h2{font-size:19px!important}
  .home-shortcuts-glass .home-tile p{font-size:12px!important}
}
@media(max-width:1100px){
  .home-brand-white{opacity:.42!important}
}
@media(max-width:700px){
  body.app-shell.home-route .main{background:radial-gradient(circle at 70% 10%, rgba(89,169,245,.18), transparent 26%), linear-gradient(145deg,#031326,#082541 62%,#05182d)!important}
  body.app-shell.home-route .main::before{opacity:.65!important;inset:0!important}
  body.app-shell.home-route .main::after{height:26%!important}
  .home-shortcuts-glass .home-tile{min-height:210px!important}
  .home-brand-stage-mirror::after{display:none!important}
}

/* =========================================================
   HOME FINAL · PRESENTACIÓN CHEVERE Y AJUSTADA A PANTALLA
   02-09-2026
   - Fondo corporativo azul espejo
   - Un solo logo Fraissl, brillante, sin duplicado raro
   - Tarjetas glass premium, más compactas y elegantes
   - Ajustado a pantalla, sin verse grandote
   ========================================================= */
body.app-shell.home-route .main{
  position:relative!important;
  isolation:isolate!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 73% 18%, rgba(107,183,255,.18) 0%, rgba(64,137,221,.12) 18%, transparent 36%),
    radial-gradient(circle at 34% 22%, rgba(35,114,211,.10) 0%, transparent 30%),
    linear-gradient(128deg,#021121 0%,#041a34 30%,#08284a 66%,#06182d 100%)!important;
}
body.app-shell.home-route .main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-2!important;
  background:
    linear-gradient(112deg, transparent 0 53%, rgba(229,244,255,.05) 53.15% 53.4%, transparent 53.6% 100%),
    linear-gradient(112deg, transparent 0 69%, rgba(207,236,255,.05) 69.12% 69.38%, transparent 69.6% 100%),
    linear-gradient(112deg, transparent 0 84%, rgba(210,239,255,.045) 84.15% 84.38%, transparent 84.6% 100%);
  filter:drop-shadow(-8px 0 28px rgba(66,159,247,.10));
}
body.app-shell.home-route .main::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:34%!important;
  pointer-events:none!important;
  z-index:-1!important;
  background:
    linear-gradient(180deg, rgba(6,24,44,0) 0%, rgba(5,22,42,.16) 16%, rgba(2,14,28,.84) 100%),
    linear-gradient(90deg, transparent 0%, rgba(118,198,255,.06) 50%, transparent 100%),
    repeating-linear-gradient(180deg, transparent 0 17px, rgba(97,186,250,.018) 17px 18px, transparent 18px 36px),
    repeating-linear-gradient(90deg, transparent 0 11%, rgba(97,186,250,.018) 11.05% 11.14%, transparent 11.2% 22%);
  border-top:1px solid rgba(124,205,255,.12)!important;
  box-shadow:inset 0 1px 28px rgba(78,173,248,.06), 0 -14px 48px rgba(45,128,219,.08)!important;
}

.home-welcome,
.home-welcome.home-welcome-clean,
.home-welcome.home-welcome-mirror{
  height:calc(100vh - var(--topbar-h) - 300px)!important;
  min-height:350px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr)!important;
  align-items:center!important;
  gap:22px!important;
  padding:42px 64px 12px 64px!important;
  overflow:visible!important;
}
.home-welcome-mirror::after{
  content:""!important;
  position:absolute!important;
  left:1.5%!important;
  right:1.5%!important;
  bottom:-10px!important;
  height:1px!important;
  pointer-events:none!important;
  background:linear-gradient(90deg, transparent, rgba(91,185,255,.14), rgba(224,243,255,.24), rgba(91,185,255,.14), transparent)!important;
  box-shadow:0 0 24px rgba(72,169,250,.11)!important;
}
.home-copy,
.home-welcome-clean .home-copy,
.home-welcome-mirror .home-copy{
  position:relative!important;
  z-index:3!important;
  max-width:720px!important;
}
.home-welcome-mirror .home-copy::before{
  content:""!important;
  position:absolute!important;
  left:-78px!important;
  top:-86px!important;
  width:440px!important;
  height:300px!important;
  pointer-events:none!important;
  background:radial-gradient(circle, rgba(74,165,245,.085), transparent 68%)!important;
  filter:blur(6px)!important;
  z-index:-1!important;
}
.home-welcome-mirror .home-eyebrow{
  margin:0 0 18px!important;
  font-size:12px!important;
  letter-spacing:.19em!important;
  color:#4eb0ff!important;
  text-shadow:0 0 16px rgba(67,166,245,.22)!important;
}
.home-copy h1,
.home-welcome-mirror .home-copy h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(52px,4.8vw,80px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  text-shadow:0 10px 28px rgba(0,0,0,.26)!important;
}
.home-copy h1 span,
.home-welcome-mirror .home-copy h1 span{
  display:inline-block!important;
  margin-top:6px!important;
  background:linear-gradient(92deg,#61bdff 0%, #3086f5 54%, #5fc2ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 12px 28px rgba(38,116,225,.18))!important;
}
.home-accent,
.home-welcome-mirror .home-accent{
  width:286px!important;
  height:4px!important;
  margin:18px 0 20px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#66d4ff 0%, #2b8cff 58%, rgba(43,140,255,0) 100%)!important;
  box-shadow:0 0 26px rgba(80,178,255,.34)!important;
}
.home-lead,
.home-welcome-mirror .home-lead{
  max-width:780px!important;
  margin:0!important;
  color:#d0ddeb!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.home-brand-stage,
.home-brand-stage-mirror{
  position:relative!important;
  min-height:300px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.home-brand-stage-mirror::before{
  content:""!important;
  position:absolute!important;
  inset:7% 8% 18% 8%!important;
  border-radius:999px!important;
  background:radial-gradient(ellipse at center, rgba(140,210,255,.23) 0%, rgba(62,133,215,.10) 42%, transparent 72%)!important;
  filter:blur(22px)!important;
  z-index:1!important;
}
.home-brand-white,
.home-brand-big{
  position:relative!important;
  z-index:3!important;
  width:min(500px,90%)!important;
  max-height:285px!important;
  object-fit:contain!important;
  opacity:.55!important;
  filter:brightness(1.24) contrast(1.05) drop-shadow(0 22px 42px rgba(73,162,247,.17))!important;
  transform:translateY(-4px)!important;
}
.home-brand-reflection{display:none!important}
.home-brand-glow{
  position:absolute!important;
  left:14%!important;
  right:14%!important;
  width:auto!important;
  height:36px!important;
  bottom:14%!important;
  border-radius:999px!important;
  background:radial-gradient(ellipse at center, rgba(89,180,247,.60), rgba(76,162,233,.12) 44%, transparent 72%)!important;
  filter:blur(10px)!important;
  opacity:.88!important;
}
.home-brand-stage-mirror::after{
  content:""!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  bottom:10%!important;
  height:32%!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at center top, rgba(152,222,255,.18), rgba(64,137,217,.04) 38%, transparent 72%),
    linear-gradient(180deg, rgba(123,201,255,.09), transparent 68%)!important;
  border-top:1px solid rgba(145,217,255,.24)!important;
  transform:perspective(340px) rotateX(69deg)!important;
  transform-origin:center top!important;
  box-shadow:0 -10px 34px rgba(67,164,246,.08)!important;
}

.home-shortcuts,
.home-shortcuts.home-shortcuts-interactive,
.home-shortcuts.home-shortcuts-glass{
  position:relative!important;
  z-index:5!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  padding:16px 64px 28px 64px!important;
  perspective:1400px!important;
}
.home-shortcuts-glass::before{
  content:""!important;
  position:absolute!important;
  left:1.5%!important;
  right:1.5%!important;
  top:-12px!important;
  height:1px!important;
  background:linear-gradient(90deg, transparent 0%, rgba(100,195,255,.16) 18%, rgba(228,245,255,.24) 50%, rgba(100,195,255,.16) 82%, transparent 100%)!important;
  box-shadow:0 0 28px rgba(74,174,255,.12)!important;
}
.home-shortcuts-glass::after{
  content:""!important;
  position:absolute!important;
  left:1%!important;
  right:1%!important;
  bottom:-16px!important;
  height:42px!important;
  pointer-events:none!important;
  z-index:-1!important;
  background:radial-gradient(ellipse at center, rgba(79,170,243,.13), transparent 68%)!important;
  filter:blur(12px)!important;
}
.home-shortcuts-glass .home-tile,
.home-shortcuts-glass .home-tile-blue,
.home-shortcuts-glass .home-tile-green,
.home-shortcuts-glass .home-tile-orange,
.home-shortcuts-glass .home-tile-purple{
  --tile:#52b8ff!important;
  min-height:220px!important;
  padding:22px 20px 18px!important;
  border-radius:20px!important;
  border:1px solid rgba(106,192,255,.52)!important;
  background:
    radial-gradient(circle at 50% 14%, rgba(146,214,255,.14), transparent 34%),
    linear-gradient(145deg, rgba(49,98,145,.58) 0%, rgba(14,50,85,.80) 44%, rgba(4,25,50,.96) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(94,177,242,.10),
    inset 0 0 52px rgba(82,164,235,.03),
    0 16px 34px rgba(0,8,22,.28),
    0 0 0 1px rgba(29,101,161,.09)!important;
  backdrop-filter:blur(20px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(125%)!important;
  overflow:hidden!important;
  transition:transform .26s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease, background .24s ease!important;
}
.home-shortcuts-glass .home-tile::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:
    linear-gradient(129deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.04) 18%, transparent 18.5% 62%, rgba(106,191,255,.03) 62.5%, transparent 81%),
    linear-gradient(180deg, rgba(137,216,255,.08), transparent 28%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.home-shortcuts-glass .home-tile::after{
  content:""!important;
  position:absolute!important;
  top:-40%!important;
  left:-72%!important;
  width:28%!important;
  height:184%!important;
  background:linear-gradient(102deg, transparent, rgba(255,255,255,.24), rgba(121,208,255,.11), transparent)!important;
  opacity:0!important;
  z-index:1!important;
  transition:opacity .22s ease, transform .56s ease!important;
}
.home-shortcuts-glass .home-tile > *{position:relative!important;z-index:2!important}
.home-shortcuts-glass .home-tile:hover,
.home-shortcuts-glass .home-tile:focus-visible{
  transform:translateY(-7px) scale(1.015)!important;
  border-color:rgba(139,218,255,.92)!important;
  background:
    radial-gradient(circle at 50% 14%, rgba(155,221,255,.23), transparent 36%),
    linear-gradient(145deg, rgba(60,116,168,.70) 0%, rgba(18,64,107,.86) 45%, rgba(6,30,57,.98) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 0 60px rgba(86,177,249,.07),
    0 22px 46px rgba(0,8,22,.34),
    0 0 30px rgba(76,176,252,.15)!important;
}
.home-shortcuts-glass .home-tile:hover::after,
.home-shortcuts-glass .home-tile:focus-visible::after{
  opacity:1!important;
  transform:translateX(430%)!important;
}
.home-shortcuts-glass .home-tile-icon{
  position:relative!important;
  width:66px!important;
  height:66px!important;
  margin:0 0 16px!important;
  border-radius:50%!important;
  border:1px solid rgba(108,205,255,.84)!important;
  background:radial-gradient(circle at 34% 27%, rgba(164,231,255,.26), rgba(38,109,170,.28) 44%, rgba(5,30,59,.92) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -8px 20px rgba(3,25,50,.22), 0 0 24px rgba(59,168,249,.16)!important;
}
.home-shortcuts-glass .home-tile-icon::before{
  content:""!important;
  position:absolute!important;
  left:-22px!important;
  right:-22px!important;
  top:-22px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg, transparent, rgba(110,200,255,.52), #d9f4ff, rgba(110,200,255,.52), transparent)!important;
  box-shadow:0 0 16px rgba(85,186,255,.40)!important;
  opacity:.68!important;
}
.home-shortcuts-glass .home-tile-icon svg{
  width:32px!important;
  height:32px!important;
  fill:none!important;
  stroke:#edf8ff!important;
  stroke-width:1.8!important;
}
.home-shortcuts-glass .home-tile h2{
  margin:0 0 10px!important;
  font-size:18px!important;
  line-height:1.1!important;
  letter-spacing:-.015em!important;
  color:#fff!important;
}
.home-shortcuts-glass .home-tile p{
  margin:0!important;
  max-width:100%!important;
  color:#d1deeb!important;
  font-size:12.5px!important;
  line-height:1.52!important;
}
.home-shortcuts-glass .home-tile-footer{
  margin-top:auto!important;
  padding-top:15px!important;
  border-top:1px solid rgba(98,175,239,.09)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.home-shortcuts-glass .home-tile-cta{
  color:#74c8ff!important;
  font-size:12px!important;
  font-weight:900!important;
}
.home-shortcuts-glass .home-tile-arrow{
  position:static!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(109,201,255,.60)!important;
  background:linear-gradient(145deg, rgba(28,91,145,.84), rgba(8,40,73,.94))!important;
  color:#eef9ff!important;
  font-size:21px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 0 18px rgba(76,173,246,.10)!important;
}
.home-shortcuts-glass .home-tile:hover .home-tile-arrow,
.home-shortcuts-glass .home-tile:focus-visible .home-tile-arrow{
  background:linear-gradient(145deg, rgba(44,123,183,.96), rgba(13,62,105,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 0 24px rgba(81,186,255,.22)!important;
}
.home-shortcuts-glass .home-tile-download:hover .home-tile-arrow-download{
  transform:translateY(4px) scale(1.05)!important;
}
.home-shortcuts-glass .home-tile-topline{display:none!important}

@media(max-width:1380px){
  .home-welcome,.home-welcome.home-welcome-clean,.home-welcome.home-welcome-mirror{padding:38px 40px 10px 42px!important}
  .home-shortcuts,.home-shortcuts.home-shortcuts-interactive,.home-shortcuts.home-shortcuts-glass{padding:14px 40px 26px 42px!important;gap:16px!important}
}
@media(max-width:1200px){
  .home-welcome,.home-welcome.home-welcome-clean,.home-welcome.home-welcome-mirror{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)!important;gap:18px!important}
  .home-copy h1,.home-welcome-mirror .home-copy h1{font-size:clamp(46px,4.5vw,68px)!important}
  .home-brand-white,.home-brand-big{width:min(420px,92%)!important;max-height:240px!important}
  .home-shortcuts,.home-shortcuts.home-shortcuts-interactive,.home-shortcuts.home-shortcuts-glass{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.app-shell.home-route .main{overflow:auto!important}
  .home-welcome,.home-welcome.home-welcome-clean,.home-welcome.home-welcome-mirror{
    height:auto!important;
    min-height:460px!important;
    grid-template-columns:1fr!important;
    padding:32px 22px 18px 22px!important;
  }
  .home-brand-stage,.home-brand-stage-mirror{display:none!important}
  .home-copy h1,.home-welcome-mirror .home-copy h1{font-size:44px!important}
  .home-accent,.home-welcome-mirror .home-accent{width:210px!important}
  .home-shortcuts,.home-shortcuts.home-shortcuts-interactive,.home-shortcuts.home-shortcuts-glass{
    grid-template-columns:1fr!important;
    padding:14px 20px 26px 20px!important;
  }
  .home-shortcuts-glass .home-tile{min-height:205px!important}
}


/* =====================================================================
   HOME PREMIUM 03-09-2026 · versión corregida y más elegante
   - Fondo espejo con profundidad real
   - Hero glass más premium
   - Logo con reflejo pulido
   - Tarjetas con hover 3D y brillo al mouse
   ===================================================================== */
body.app-shell.home-route .main{
  position:relative!important;
  isolation:isolate!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 78% 18%, rgba(113,190,255,.20), transparent 0 20%, rgba(113,190,255,.11) 20%, transparent 42%),
    radial-gradient(circle at 18% 12%, rgba(33,121,235,.14), transparent 30%),
    linear-gradient(130deg, #010b18 0%, #04172f 27%, #07284c 59%, #06182d 100%)!important;
}
body.app-shell.home-route .main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 56%, rgba(215,241,255,.06) 56.15% 56.45%, transparent 56.7% 100%),
    linear-gradient(115deg, transparent 0 70%, rgba(215,241,255,.055) 70.15% 70.40%, transparent 70.65% 100%),
    linear-gradient(180deg, transparent 0 46%, rgba(104,188,255,.06) 46.15%, rgba(104,188,255,.03) 57%, rgba(1,10,24,.55) 100%),
    repeating-linear-gradient(90deg, transparent 0 12%, rgba(142,213,255,.045) 12.04% 12.12%, transparent 12.16% 24%),
    repeating-linear-gradient(180deg, transparent 0 20px, rgba(142,213,255,.025) 20px 21px, transparent 21px 40px);
  opacity:.95;
  z-index:-2;
}
body.app-shell.home-route .main::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38%;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(7,23,44,0) 0%, rgba(6,21,40,.20) 16%, rgba(2,10,22,.92) 100%),
    linear-gradient(90deg, transparent 0%, rgba(160,224,255,.10) 50%, transparent 100%);
  border-top:1px solid rgba(114,201,255,.16);
  box-shadow:inset 0 1px 22px rgba(115,196,255,.06), 0 -22px 60px rgba(44,133,225,.08);
}

body.app-shell.home-route .home-pro{
  position:relative;
  padding:34px 34px 40px;
  min-height:calc(100vh - var(--topbar-h));
}
body.app-shell.home-route .home-pro::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:10px;
  bottom:14px;
  pointer-events:none;
  border-radius:32px;
  background:radial-gradient(circle at 75% 20%, rgba(90,176,249,.10), transparent 22%);
  filter:blur(18px);
}

body.app-shell.home-route .home-pro__hero{
  --hero-x:72%;
  --hero-y:26%;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr);
  gap:34px;
  align-items:center;
  min-height:390px;
  padding:38px 42px 30px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(124,205,255,.23);
  background:
    radial-gradient(circle at var(--hero-x) var(--hero-y), rgba(161,226,255,.17), transparent 22%),
    linear-gradient(145deg, rgba(17,47,80,.63) 0%, rgba(10,34,58,.76) 38%, rgba(4,18,36,.86) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(146,219,255,.08),
    inset 0 0 80px rgba(77,165,234,.04),
    0 26px 60px rgba(0,7,18,.34),
    0 0 0 1px rgba(79,161,228,.05);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
body.app-shell.home-route .home-pro__hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg, transparent 0 57%, rgba(255,255,255,.06) 57.15% 57.35%, transparent 57.55% 100%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%);
}
body.app-shell.home-route .home-pro__hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:74px;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0), rgba(2,12,24,.22)),
    linear-gradient(90deg, transparent, rgba(120,206,255,.28), transparent);
}

body.app-shell.home-route .home-pro__copy{
  position:relative;
  z-index:2;
  max-width:760px;
}
body.app-shell.home-route .home-pro__copy::before{
  content:"";
  position:absolute;
  left:-76px;
  top:-70px;
  width:360px;
  height:260px;
  pointer-events:none;
  background:radial-gradient(circle, rgba(82,174,246,.11), transparent 70%);
  filter:blur(10px);
}
body.app-shell.home-route .home-pro__eyebrow{
  margin-bottom:18px;
  color:#5ec3ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.24em;
}
body.app-shell.home-route .home-pro__copy h1{
  margin:0;
  font-size:clamp(42px, 5vw, 78px);
  line-height:.98;
  color:#f7fbff;
  letter-spacing:-.04em;
  text-shadow:0 12px 28px rgba(0,0,0,.28);
}
body.app-shell.home-route .home-pro__copy h1 span{
  display:inline-block;
  margin-top:10px;
  background:linear-gradient(90deg, #75d6ff 0%, #47a9ff 38%, #2f79ff 68%, #8ae1ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 10px 30px rgba(57,141,240,.18));
}
body.app-shell.home-route .home-pro__accent{
  width:min(100%, 520px);
  height:4px;
  margin:26px 0 20px;
  border-radius:999px;
  background:linear-gradient(90deg, #8fe5ff 0%, #38a9ff 45%, rgba(56,169,255,0) 100%);
  box-shadow:0 0 28px rgba(90,193,255,.42);
}
body.app-shell.home-route .home-pro__lead{
  margin:0;
  max-width:760px;
  color:#d9e8f4;
  font-size:clamp(17px, 1.2vw, 21px);
  line-height:1.65;
}

body.app-shell.home-route .home-pro__brand{
  position:relative;
  min-height:290px;
  display:grid;
  place-items:center;
  transform-style:preserve-3d;
  transition:transform .28s ease;
}
body.app-shell.home-route .home-pro__brand-halo{
  position:absolute;
  inset:14% 8% 24% 8%;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(150,220,255,.34) 0%, rgba(80,158,229,.15) 38%, transparent 74%);
  filter:blur(24px);
}
body.app-shell.home-route .home-pro__logo{
  position:relative;
  z-index:2;
  width:min(520px, 96%);
  max-height:320px;
  object-fit:contain;
  opacity:.92;
  filter:brightness(1.24) contrast(1.04) drop-shadow(0 12px 42px rgba(98,184,255,.22));
}
body.app-shell.home-route .home-pro__logo--reflection{
  position:absolute;
  top:64%;
  left:50%;
  width:min(470px, 88%);
  transform:translateX(-50%) scaleY(-1);
  opacity:.20;
  filter:blur(1.4px) brightness(.95);
  mask-image:linear-gradient(to bottom, rgba(255,255,255,.62), rgba(255,255,255,.12), transparent 75%);
  -webkit-mask-image:linear-gradient(to bottom, rgba(255,255,255,.62), rgba(255,255,255,.12), transparent 75%);
}
body.app-shell.home-route .home-pro__brand-floor{
  position:absolute;
  left:7%;
  right:7%;
  bottom:7%;
  height:34%;
  border-top:1px solid rgba(160,225,255,.28);
  background:
    radial-gradient(ellipse at center top, rgba(164,227,255,.18), rgba(73,151,222,.06) 34%, transparent 72%),
    linear-gradient(180deg, rgba(148,220,255,.11), transparent 66%);
  transform:perspective(380px) rotateX(70deg);
  transform-origin:center top;
  box-shadow:0 -12px 40px rgba(88,176,245,.08);
}

body.app-shell.home-route .home-pro__cards{
  position:relative;
  z-index:2;
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
}
body.app-shell.home-route .home-pro__cards::before{
  content:"";
  position:absolute;
  left:.5%;
  right:.5%;
  top:-12px;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(113,206,255,.15) 18%, rgba(234,245,255,.26) 50%, rgba(113,206,255,.15) 82%, transparent 100%);
  box-shadow:0 0 22px rgba(82,177,246,.12);
}

body.app-shell.home-route .home-pro-card{
  --mx:50%;
  --my:50%;
  --rx:0deg;
  --ry:0deg;
  --card-glow:rgba(108,204,255,.20);
  --card-border:rgba(113,201,255,.40);
  --card-top:rgba(98,196,255,.18);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:266px;
  padding:24px 22px 20px;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  border:1px solid var(--card-border);
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(187,238,255,.14), transparent 32%),
    linear-gradient(150deg, rgba(58,110,158,.62) 0%, rgba(18,58,98,.82) 42%, rgba(4,22,45,.95) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(134,218,255,.08),
    inset 0 0 56px rgba(73,162,230,.04),
    0 18px 38px rgba(0,8,24,.30),
    0 0 0 1px rgba(76,165,235,.05);
  backdrop-filter:blur(18px) saturate(132%);
  -webkit-backdrop-filter:blur(18px) saturate(132%);
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  will-change:transform;
}
body.app-shell.home-route .home-pro-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(132deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.05) 18%, transparent 18.5% 63%, rgba(126,209,255,.06) 63.4%, transparent 81%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 28%);
  pointer-events:none;
}
body.app-shell.home-route .home-pro-card::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-72%;
  width:28%;
  height:188%;
  background:linear-gradient(104deg, transparent, rgba(255,255,255,.34), rgba(147,224,255,.14), transparent);
  opacity:0;
  transition:transform .72s ease, opacity .28s ease;
  pointer-events:none;
}
body.app-shell.home-route .home-pro-card > *{
  position:relative;
  z-index:2;
}
body.app-shell.home-route .home-pro-card:hover,
body.app-shell.home-route .home-pro-card:focus-visible{
  border-color:rgba(165,226,255,.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 0 74px rgba(94,179,245,.08),
    0 30px 60px rgba(0,8,24,.42),
    0 0 34px var(--card-glow);
}
body.app-shell.home-route .home-pro-card:hover::after,
body.app-shell.home-route .home-pro-card:focus-visible::after{
  opacity:1;
  transform:translateX(470%);
}
body.app-shell.home-route .home-pro-card__icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:50%;
  border:1px solid rgba(122,213,255,.76);
  background:radial-gradient(circle at 34% 27%, rgba(183,234,255,.28), rgba(55,123,185,.22) 44%, rgba(4,30,58,.94) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 -10px 24px rgba(4,21,42,.18), 0 0 30px rgba(79,181,247,.16);
}
body.app-shell.home-route .home-pro-card__icon svg{
  width:37px;
  height:37px;
  fill:none;
  stroke:#eef8ff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.app-shell.home-route .home-pro-card h2{
  margin:0 0 10px;
  color:#fff;
  font-size:34px;
  line-height:1;
  letter-spacing:-.03em;
}
body.app-shell.home-route .home-pro-card p{
  margin:0;
  color:#d9e6f1;
  font-size:15px;
  line-height:1.58;
  max-width:310px;
}
body.app-shell.home-route .home-pro-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(118,197,255,.10);
}
body.app-shell.home-route .home-pro-card__cta{
  font-size:17px;
  font-weight:900;
  color:#79d2ff;
}
body.app-shell.home-route .home-pro-card__arrow{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(129,214,255,.65);
  background:linear-gradient(145deg, rgba(31,95,148,.82), rgba(7,39,70,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 0 22px rgba(76,174,246,.12);
  color:#f1fbff;
  font-size:28px;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
body.app-shell.home-route .home-pro-card:hover .home-pro-card__arrow,
body.app-shell.home-route .home-pro-card:focus-visible .home-pro-card__arrow{
  transform:translateX(3px) scale(1.04);
  background:linear-gradient(145deg, rgba(54,133,191,.96), rgba(15,61,102,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 0 24px rgba(92,193,255,.26);
}
body.app-shell.home-route .home-pro-card.is-downloading .home-download-label::after{
  content:" · descargando...";
  font-size:13px;
  font-weight:700;
  color:#d8f2ff;
}

body.app-shell.home-route .home-pro-card--cyan{
  --card-glow:rgba(94,190,255,.22);
  --card-border:rgba(117,204,255,.46);
}
body.app-shell.home-route .home-pro-card--teal{
  --card-glow:rgba(69,240,212,.18);
  --card-border:rgba(103,235,220,.40);
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(184,255,243,.12), transparent 32%),
    linear-gradient(150deg, rgba(44,110,126,.64) 0%, rgba(8,72,86,.82) 42%, rgba(3,30,43,.95) 100%);
}
body.app-shell.home-route .home-pro-card--blue{
  --card-glow:rgba(111,160,255,.18);
  --card-border:rgba(149,187,255,.42);
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(214,225,255,.12), transparent 34%),
    linear-gradient(150deg, rgba(55,85,162,.66) 0%, rgba(20,54,122,.82) 42%, rgba(6,24,66,.96) 100%);
}
body.app-shell.home-route .home-pro-card--violet{
  --card-glow:rgba(188,120,255,.16);
  --card-border:rgba(210,149,255,.42);
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,219,255,.11), transparent 34%),
    linear-gradient(150deg, rgba(95,72,152,.64) 0%, rgba(49,37,110,.84) 42%, rgba(18,16,61,.96) 100%);
}

@media (max-width: 1500px){
  body.app-shell.home-route .home-pro__hero{min-height:360px;padding:34px 34px 26px}
  body.app-shell.home-route .home-pro__cards{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 1180px){
  body.app-shell.home-route .home-pro{padding:26px 24px 34px}
  body.app-shell.home-route .home-pro__hero{grid-template-columns:1fr;min-height:auto;gap:14px}
  body.app-shell.home-route .home-pro__brand{min-height:250px}
}
@media (max-width: 860px){
  body.app-shell.home-route .home-pro__cards{grid-template-columns:1fr}
  body.app-shell.home-route .home-pro-card h2{font-size:30px}
}
@media (max-width: 640px){
  body.app-shell.home-route .home-pro{padding:18px 14px 26px}
  body.app-shell.home-route .home-pro__hero{padding:24px 18px 22px;border-radius:24px}
  body.app-shell.home-route .home-pro__eyebrow{font-size:12px;letter-spacing:.16em}
  body.app-shell.home-route .home-pro__accent{margin:18px 0 16px;height:3px}
  body.app-shell.home-route .home-pro__lead{font-size:15px;line-height:1.55}
  body.app-shell.home-route .home-pro__brand{min-height:210px}
  body.app-shell.home-route .home-pro__logo--reflection{display:none}
  body.app-shell.home-route .home-pro__brand-floor{display:none}
  body.app-shell.home-route .home-pro-card{min-height:230px;padding:20px 18px 18px}
  body.app-shell.home-route .home-pro-card__icon{width:62px;height:62px;margin-bottom:14px}
  body.app-shell.home-route .home-pro-card__icon svg{width:30px;height:30px}
  body.app-shell.home-route .home-pro-card h2{font-size:28px}
  body.app-shell.home-route .home-pro-card p{font-size:14px}
  body.app-shell.home-route .home-pro-card__cta{font-size:16px}
  body.app-shell.home-route .home-pro-card__arrow{width:46px;height:46px;font-size:24px}
}


/* =====================================================================
   HOME COMPACT 03-09-2026 · nuevo diseño alternativo
   - Más compacto y proporcionado
   - Hero corporativo elegante con reflejo limpio
   - Tarjetas premium más bajas y modernas
   ===================================================================== */
body.app-shell.home-route .home-pro.home-pro-compact{
  padding:24px 28px 28px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact::before{
  left:8px!important;
  right:8px!important;
  top:0!important;
  bottom:0!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 82% 12%, rgba(108,187,255,.11), transparent 22%),
    radial-gradient(circle at 14% 18%, rgba(28,123,241,.10), transparent 20%)!important;
  filter:blur(20px)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__hero{
  min-height:290px!important;
  grid-template-columns:minmax(0,1.02fr) minmax(290px,.88fr)!important;
  gap:18px!important;
  padding:28px 30px 22px!important;
  border-radius:26px!important;
  border:1px solid rgba(120,203,255,.22)!important;
  background:
    radial-gradient(circle at var(--hero-x,72%) var(--hero-y,26%), rgba(167,229,255,.14), transparent 18%),
    linear-gradient(145deg, rgba(11,42,73,.74) 0%, rgba(8,31,56,.84) 34%, rgba(3,18,35,.92) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 0 50px rgba(77,165,234,.03),
    0 18px 42px rgba(0,7,18,.28),
    0 0 0 1px rgba(77,161,228,.04)!important;
  backdrop-filter:blur(15px) saturate(122%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(122%)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__hero::before{
  background:
    linear-gradient(112deg, transparent 0 61%, rgba(255,255,255,.05) 61.15% 61.32%, transparent 61.5% 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 24%)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__hero::after{
  height:62px!important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0), rgba(2,12,24,.16)),
    linear-gradient(90deg, transparent, rgba(120,206,255,.18), transparent)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__copy{
  max-width:690px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__copy::before{
  left:-54px!important;
  top:-42px!important;
  width:250px!important;
  height:180px!important;
  background:radial-gradient(circle, rgba(82,174,246,.10), transparent 72%)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__eyebrow{
  margin-bottom:12px!important;
  font-size:12px!important;
  letter-spacing:.26em!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__copy h1{
  font-size:clamp(34px, 4vw, 62px)!important;
  line-height:.97!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__copy h1 span{
  margin-top:8px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__accent{
  width:min(100%, 360px)!important;
  height:3px!important;
  margin:18px 0 14px!important;
  box-shadow:0 0 20px rgba(90,193,255,.34)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__lead{
  max-width:620px!important;
  font-size:clamp(14px, 1vw, 18px)!important;
  line-height:1.58!important;
  color:#d6e5f2!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__brand{
  min-height:220px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__brand-halo{
  inset:12% 12% 24% 12%!important;
  filter:blur(20px)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__logo{
  width:min(430px, 90%)!important;
  max-height:230px!important;
  opacity:.88!important;
  filter:brightness(1.18) contrast(1.03) drop-shadow(0 10px 30px rgba(98,184,255,.18))!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__logo--reflection{
  top:67%!important;
  width:min(380px, 82%)!important;
  opacity:.13!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__brand-floor{
  left:11%!important;
  right:11%!important;
  bottom:8%!important;
  height:26%!important;
  opacity:.86!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__cards{
  margin-top:18px!important;
  gap:16px!important;
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro__cards::before{
  top:-8px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card{
  min-height:220px!important;
  padding:18px 18px 16px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(187,238,255,.12), transparent 29%),
    linear-gradient(152deg, rgba(54,101,149,.60) 0%, rgba(14,48,83,.80) 42%, rgba(4,22,45,.95) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(134,218,255,.06),
    inset 0 0 46px rgba(73,162,230,.035),
    0 12px 28px rgba(0,8,24,.26),
    0 0 0 1px rgba(76,165,235,.04)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card:hover,
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card:focus-visible{
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-7px) scale(1.015)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 60px rgba(94,179,245,.06),
    0 22px 42px rgba(0,8,24,.36),
    0 0 28px var(--card-glow)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card__icon{
  width:62px!important;
  height:62px!important;
  margin-bottom:14px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card__icon svg{
  width:29px!important;
  height:29px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card h2{
  font-size:23px!important;
  margin:0 0 8px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card p{
  font-size:13px!important;
  line-height:1.46!important;
  max-width:100%!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card__footer{
  padding-top:14px!important;
  margin-top:auto!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card__cta{
  font-size:15px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card__arrow{
  width:44px!important;
  height:44px!important;
  font-size:23px!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card--teal{
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(184,255,243,.11), transparent 30%),
    linear-gradient(152deg, rgba(40,103,121,.64) 0%, rgba(7,67,80,.81) 42%, rgba(3,29,42,.95) 100%)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card--blue{
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(214,225,255,.11), transparent 30%),
    linear-gradient(152deg, rgba(53,81,152,.64) 0%, rgba(17,48,114,.82) 42%, rgba(6,24,65,.96) 100%)!important;
}
body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card--violet{
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,219,255,.10), transparent 31%),
    linear-gradient(152deg, rgba(88,67,145,.63) 0%, rgba(47,35,103,.84) 42%, rgba(18,16,61,.96) 100%)!important;
}

@media (max-width: 1350px){
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__hero{
    grid-template-columns:1fr!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__brand{
    min-height:190px!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__cards{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
}
@media (max-width: 860px){
  body.app-shell.home-route .home-pro.home-pro-compact{
    padding:18px 16px 24px!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__hero{
    padding:22px 18px 18px!important;
    border-radius:22px!important;
    min-height:auto!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__logo--reflection,
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__brand-floor{
    display:none!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__cards{
    grid-template-columns:1fr!important;
  }
}
@media (max-width: 560px){
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__copy h1{
    font-size:clamp(30px, 10vw, 44px)!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro__lead{
    font-size:14px!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card{
    min-height:200px!important;
  }
  body.app-shell.home-route .home-pro.home-pro-compact .home-pro-card h2{
    font-size:22px!important;
  }
}


/* =====================================================================
   HOME FUTURE UI · 03-09-2026
   Diseño moderno/futurista compacto, corporativo y responsive.
   ===================================================================== */
body.app-shell.home-route .main{
  position:relative!important;
  isolation:isolate!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 74% 12%, rgba(64,166,255,.18), transparent 25%),
    radial-gradient(circle at 10% 12%, rgba(27,91,181,.12), transparent 24%),
    linear-gradient(135deg,#020a15 0%,#041629 34%,#06233e 67%,#031222 100%)!important;
}
body.app-shell.home-route .main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-2!important;
  opacity:.82!important;
  background:
    linear-gradient(110deg, transparent 0 58%, rgba(123,207,255,.055) 58.08% 58.18%, transparent 58.3% 100%),
    linear-gradient(110deg, transparent 0 75%, rgba(123,207,255,.05) 75.08% 75.18%, transparent 75.3% 100%),
    repeating-linear-gradient(90deg, transparent 0 74px, rgba(115,196,255,.025) 74px 75px),
    repeating-linear-gradient(180deg, transparent 0 74px, rgba(115,196,255,.022) 74px 75px)!important;
}
body.app-shell.home-route .main::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:34%!important;
  pointer-events:none!important;
  z-index:-1!important;
  background:
    linear-gradient(180deg, transparent 0%, rgba(2,12,24,.18) 20%, rgba(1,8,18,.88) 100%),
    linear-gradient(90deg, transparent, rgba(72,179,255,.08), transparent)!important;
  border-top:1px solid rgba(110,201,255,.11)!important;
}

body.app-shell.home-route .future-home{
  position:relative;
  min-height:calc(100vh - var(--topbar-h));
  padding:22px 28px 30px;
  overflow:hidden;
}
body.app-shell.home-route .future-home__ambient{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
body.app-shell.home-route .future-home__orb{
  position:absolute;
  border-radius:50%;
  filter:blur(12px);
  opacity:.6;
}
body.app-shell.home-route .future-home__orb--one{
  width:360px;height:360px;right:-130px;top:90px;
  background:radial-gradient(circle,rgba(50,167,255,.12),transparent 68%);
  animation:futureFloat 8s ease-in-out infinite;
}
body.app-shell.home-route .future-home__orb--two{
  width:280px;height:280px;left:-120px;bottom:20px;
  background:radial-gradient(circle,rgba(34,110,230,.10),transparent 68%);
  animation:futureFloat 9s ease-in-out infinite reverse;
}
body.app-shell.home-route .future-home__beam{
  position:absolute;
  left:8%;right:8%;bottom:22%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(103,207,255,.12),rgba(208,244,255,.22),rgba(103,207,255,.12),transparent);
  box-shadow:0 0 30px rgba(71,176,255,.16);
}

body.app-shell.home-route .future-hero{
  --hx:72%;--hy:24%;
  position:relative;
  z-index:2;
  min-height:270px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr);
  align-items:center;
  gap:20px;
  padding:26px 32px 22px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(111,200,255,.25);
  background:
    radial-gradient(circle at var(--hx) var(--hy), rgba(137,218,255,.15), transparent 20%),
    linear-gradient(140deg,rgba(16,47,79,.72),rgba(5,26,48,.86) 52%,rgba(3,16,32,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 70px rgba(68,157,230,.04),
    0 20px 48px rgba(0,7,18,.30),
    0 0 0 1px rgba(58,148,221,.04);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
body.app-shell.home-route .future-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 62%,rgba(233,249,255,.055) 62.1% 62.24%,transparent 62.4% 100%),
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 24%);
}
body.app-shell.home-route .future-hero::after{
  content:"";
  position:absolute;
  left:-26%;top:-20%;
  width:22%;height:150%;
  transform:rotate(12deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
  animation:futureHeroSweep 8s linear infinite;
  pointer-events:none;
}
body.app-shell.home-route .future-hero__copy{
  position:relative;
  z-index:3;
  max-width:850px;
}
body.app-shell.home-route .future-hero__meta{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
  color:#7bbce6;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
body.app-shell.home-route .future-hero__status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  border:1px solid rgba(82,207,255,.20);
  border-radius:999px;
  background:rgba(26,94,133,.16);
}
body.app-shell.home-route .future-hero__status i{
  width:7px;height:7px;border-radius:50%;
  background:#57d8ff;
  box-shadow:0 0 12px #57d8ff;
  animation:futurePulse 1.9s ease-in-out infinite;
}
body.app-shell.home-route .future-hero__code{opacity:.66}
body.app-shell.home-route .future-hero__eyebrow{
  color:#63c9ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.24em;
  margin-bottom:11px;
}
body.app-shell.home-route .future-hero h1{
  margin:0;
  color:#f7fbff;
  font-size:clamp(34px,3.7vw,58px);
  line-height:1.03;
  letter-spacing:-.045em;
  text-shadow:0 12px 28px rgba(0,0,0,.26);
}
body.app-shell.home-route .future-hero h1 span{
  background:linear-gradient(90deg,#83ddff 0%,#47b6ff 28%,#397eff 63%,#7cdcff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 24px rgba(55,139,237,.18));
}
body.app-shell.home-route .future-hero__line{
  position:relative;
  width:min(500px,78%);
  height:2px;
  margin:17px 0 13px;
  border-radius:999px;
  background:linear-gradient(90deg,#6ed9ff 0%,#329cff 48%,rgba(50,156,255,0) 100%);
  box-shadow:0 0 22px rgba(77,185,255,.30);
}
body.app-shell.home-route .future-hero__line i{
  position:absolute;left:0;top:-2px;width:52px;height:6px;border-radius:999px;
  background:linear-gradient(90deg,#d8f8ff,#59c9ff,transparent);
  filter:blur(.2px);
  animation:futureLine 3.4s ease-in-out infinite;
}
body.app-shell.home-route .future-hero p{
  margin:0;
  max-width:720px;
  color:#cfdfec;
  font-size:15px;
  line-height:1.55;
}

body.app-shell.home-route .future-brand{
  position:relative;
  z-index:3;
  min-height:210px;
  display:grid;
  place-items:center;
  perspective:900px;
}
body.app-shell.home-route .future-brand__halo{
  position:absolute;
  inset:12% 8% 22%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(134,219,255,.20),rgba(65,151,232,.07) 42%,transparent 70%);
  filter:blur(20px);
}
body.app-shell.home-route .future-brand__ring{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(111,205,255,.17);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:inset 0 0 18px rgba(89,181,248,.04),0 0 16px rgba(89,181,248,.04);
}
body.app-shell.home-route .future-brand__ring--outer{
  width:250px;height:250px;
  border-left-color:rgba(127,220,255,.55);
  border-right-color:rgba(73,137,245,.35);
  animation:futureSpin 14s linear infinite;
}
body.app-shell.home-route .future-brand__ring--inner{
  width:205px;height:205px;
  border-top-color:rgba(153,230,255,.50);
  border-bottom-color:rgba(66,115,236,.38);
  animation:futureSpin 9s linear infinite reverse;
}
body.app-shell.home-route .future-brand__scan{
  position:absolute;
  width:270px;height:2px;
  top:25%;left:50%;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#67d4ff,transparent);
  box-shadow:0 0 18px rgba(86,201,255,.5);
  opacity:.55;
  animation:futureScan 3.8s ease-in-out infinite;
}
body.app-shell.home-route .future-brand__logo{
  position:relative;
  z-index:4;
  width:min(360px,86%);
  max-height:175px;
  object-fit:contain;
  opacity:.94;
  filter:brightness(1.25) contrast(1.02) drop-shadow(0 12px 28px rgba(95,183,255,.20));
}
body.app-shell.home-route .future-brand__reflection{
  position:absolute;
  left:50%;top:65%;
  width:min(330px,78%);
  height:78px;
  transform:translateX(-50%) perspective(260px) rotateX(62deg);
  transform-origin:center top;
  overflow:hidden;
  opacity:.16;
  mask-image:linear-gradient(to bottom,rgba(255,255,255,.72),transparent 78%);
  -webkit-mask-image:linear-gradient(to bottom,rgba(255,255,255,.72),transparent 78%);
}
body.app-shell.home-route .future-brand__reflection img{
  width:100%;transform:scaleY(-1);filter:blur(1px) brightness(1.1);
}
body.app-shell.home-route .future-brand__base{
  position:absolute;left:12%;right:12%;bottom:8%;height:28%;
  border-top:1px solid rgba(132,217,255,.23);
  background:radial-gradient(ellipse at center top,rgba(112,202,255,.12),transparent 65%);
  transform:perspective(330px) rotateX(70deg);
  transform-origin:center top;
}

body.app-shell.home-route .future-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:17px;
}
body.app-shell.home-route .future-card{
  --mx:50%;--my:20%;--rx:0deg;--ry:0deg;--accent:#63cfff;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:205px;
  padding:17px 17px 15px;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(113,201,255,.28);
  text-decoration:none;
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(178,232,255,.12),transparent 31%),
    linear-gradient(148deg,rgba(32,79,119,.64),rgba(9,40,70,.84) 48%,rgba(3,21,42,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 45px rgba(74,165,232,.035),
    0 12px 28px rgba(0,7,20,.25);
  backdrop-filter:blur(15px) saturate(125%);
  -webkit-backdrop-filter:blur(15px) saturate(125%);
  transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
body.app-shell.home-route .future-card::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(132deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.035) 17%,transparent 17.5% 71%,rgba(95,198,255,.05) 71.5%,transparent 83%),
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 25%);
}
body.app-shell.home-route .future-card::after{
  content:"";
  position:absolute;top:-40%;left:-75%;width:25%;height:190%;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.30),rgba(127,218,255,.10),transparent);
  opacity:0;
  transition:transform .68s ease,opacity .25s ease;
}
body.app-shell.home-route .future-card:hover,
body.app-shell.home-route .future-card:focus-visible{
  transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-7px) scale(1.012);
  border-color:color-mix(in srgb,var(--accent) 72%,white 28%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 58px rgba(91,183,248,.06),
    0 24px 42px rgba(0,7,20,.34),
    0 0 24px color-mix(in srgb,var(--accent) 20%,transparent);
}
body.app-shell.home-route .future-card:hover::after,
body.app-shell.home-route .future-card:focus-visible::after{opacity:1;transform:translateX(500%)}
body.app-shell.home-route .future-card > *{position:relative;z-index:2}
body.app-shell.home-route .future-card__index{
  position:absolute;right:14px;top:11px;
  color:rgba(178,222,247,.30);
  font-size:11px;font-weight:900;letter-spacing:.18em;
}
body.app-shell.home-route .future-card__corner{
  position:absolute;right:0;bottom:0;width:52px;height:52px;
  border-right:1px solid color-mix(in srgb,var(--accent) 46%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--accent) 46%,transparent);
  border-radius:0 0 20px 0;
  opacity:.6;
}
body.app-shell.home-route .future-card__top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
body.app-shell.home-route .future-card__icon{
  width:56px;height:56px;display:grid;place-items:center;border-radius:16px;
  border:1px solid color-mix(in srgb,var(--accent) 62%,rgba(255,255,255,.1));
  background:linear-gradient(145deg,rgba(76,159,211,.18),rgba(5,31,58,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 0 18px color-mix(in srgb,var(--accent) 12%,transparent);
}
body.app-shell.home-route .future-card__icon svg{
  width:27px;height:27px;fill:none;stroke:#eefaff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
body.app-shell.home-route .future-card__pulse{
  width:26px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent);
  box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent);
  animation:futurePulseBar 2.6s ease-in-out infinite;
}
body.app-shell.home-route .future-card h2{
  margin:0 0 6px;color:#fff;font-size:22px;line-height:1.08;letter-spacing:-.025em;
}
body.app-shell.home-route .future-card p{
  margin:0;color:#cbdce9;font-size:12.6px;line-height:1.45;max-width:270px;
}
body.app-shell.home-route .future-card__footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:12px;border-top:1px solid rgba(104,194,255,.09);
  color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em;
}
body.app-shell.home-route .future-card__footer b{
  width:36px;height:36px;display:grid;place-items:center;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--accent) 48%,rgba(255,255,255,.06));
  background:rgba(17,70,112,.35);color:#effbff;font-size:19px;font-weight:500;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
body.app-shell.home-route .future-card:hover .future-card__footer b,
body.app-shell.home-route .future-card:focus-visible .future-card__footer b{
  transform:translateX(2px);
  background:color-mix(in srgb,var(--accent) 18%,rgba(10,45,78,.76));
  box-shadow:0 0 15px color-mix(in srgb,var(--accent) 14%,transparent);
}
body.app-shell.home-route .future-card--01{--accent:#63cfff}
body.app-shell.home-route .future-card--02{--accent:#55e4dc}
body.app-shell.home-route .future-card--03{--accent:#6f9cff}
body.app-shell.home-route .future-card--04{--accent:#b98cff}
body.app-shell.home-route .future-card.is-downloading .home-download-label::after{
  content:" · PROCESANDO";font-size:9px;color:#d9f6ff;
}

@keyframes futurePulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}
@keyframes futurePulseBar{0%,100%{opacity:.35;transform:scaleX(.7);transform-origin:left}50%{opacity:1;transform:scaleX(1);transform-origin:left}}
@keyframes futureSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes futureScan{0%,100%{top:24%;opacity:.2}50%{top:76%;opacity:.75}}
@keyframes futureLine{0%,100%{left:0;opacity:.55}50%{left:78%;opacity:1}}
@keyframes futureFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.04)}}
@keyframes futureHeroSweep{0%{left:-28%;opacity:0}8%{opacity:1}28%{left:120%;opacity:0}100%{left:120%;opacity:0}}

@media(max-width:1450px){
  body.app-shell.home-route .future-home{padding:18px 22px 26px}
  body.app-shell.home-route .future-hero{min-height:250px;padding:22px 26px 19px}
  body.app-shell.home-route .future-brand__ring--outer{width:220px;height:220px}
  body.app-shell.home-route .future-brand__ring--inner{width:180px;height:180px}
  body.app-shell.home-route .future-brand__logo{width:min(330px,84%);max-height:160px}
  body.app-shell.home-route .future-card{min-height:195px;padding:15px 15px 14px}
  body.app-shell.home-route .future-card__icon{width:50px;height:50px}
  body.app-shell.home-route .future-card h2{font-size:20px}
  body.app-shell.home-route .future-card p{font-size:12px}
}
@media(max-width:1180px){
  body.app-shell.home-route .future-hero{grid-template-columns:1fr;gap:8px}
  body.app-shell.home-route .future-brand{min-height:180px}
  body.app-shell.home-route .future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.app-shell.home-route .future-home{padding:14px 12px 22px}
  body.app-shell.home-route .future-hero{padding:20px 17px 17px;border-radius:22px}
  body.app-shell.home-route .future-hero__meta{flex-wrap:wrap;gap:8px}
  body.app-shell.home-route .future-hero__code{display:none}
  body.app-shell.home-route .future-hero p{font-size:14px}
  body.app-shell.home-route .future-brand{min-height:155px}
  body.app-shell.home-route .future-brand__ring--outer{width:178px;height:178px}
  body.app-shell.home-route .future-brand__ring--inner{width:145px;height:145px}
  body.app-shell.home-route .future-brand__logo{max-height:125px}
  body.app-shell.home-route .future-brand__reflection,.future-brand__base{display:none!important}
  body.app-shell.home-route .future-grid{grid-template-columns:1fr;gap:12px}
  body.app-shell.home-route .future-card{min-height:184px}
}
@media(prefers-reduced-motion:reduce){
  body.app-shell.home-route .future-home *,body.app-shell.home-route .future-home *::before,body.app-shell.home-route .future-home *::after{animation:none!important;transition-duration:.01ms!important}
}


/* ================================================================
   SUSCRIPCIONES FRAISSL KPI · 03-09-2026
   ================================================================ */
.kpi-license-chip{min-width:118px!important}.kpi-license-chip .kpi-status-icon{color:#68d5ff!important}.kpi-license-expiring{border-color:rgba(255,183,71,.34)!important}.kpi-license-expiring .kpi-status-icon{color:#ffc46b!important}.kpi-license-grace,.kpi-license-expired,.kpi-license-suspended{border-color:rgba(255,91,118,.38)!important}.kpi-license-grace .kpi-status-icon,.kpi-license-expired .kpi-status-icon,.kpi-license-suspended .kpi-status-icon{color:#ff8297!important}
.sub-page{padding:22px 26px 38px;color:#eef8ff}.sub-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid #285d88;border-radius:22px;background:radial-gradient(circle at 84% 12%,rgba(53,202,255,.12),transparent 28%),linear-gradient(145deg,#103a64,#0a2d50 54%,#09243f);box-shadow:inset 0 1px rgba(255,255,255,.07),0 18px 36px rgba(0,12,30,.19);overflow:hidden}.sub-hero:after{content:"";position:absolute;right:-80px;top:-140px;width:300px;height:300px;border:1px solid rgba(82,193,255,.10);border-radius:50%;box-shadow:0 0 0 38px rgba(82,193,255,.025),0 0 0 76px rgba(82,193,255,.018)}.sub-kicker,.sub-card-title>span,.sub-section-title span,.sub-manage-title>div>span{display:block;color:#63cfff;font-size:10px;font-weight:900;letter-spacing:.18em}.sub-hero h1,.sub-manage-title h1,.sub-plan-form-page h1{margin:5px 0 4px;font-size:32px;letter-spacing:-.03em}.sub-hero p,.sub-manage-title p{margin:0;color:#a8c3dd;font-size:13px}.sub-primary,.sub-renew,.sub-success,.sub-danger,.sub-secondary{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:11px 16px;text-decoration:none;font-weight:900;font-size:12px;cursor:pointer}.sub-primary{background:linear-gradient(135deg,#45d7a0,#30c879);color:#05291e;box-shadow:0 9px 22px rgba(39,205,134,.18)}.sub-primary svg{width:17px}.sub-renew{background:#39adff;color:#062741}.sub-success{background:#42d18c;color:#05271c}.sub-danger{background:#ff6a80;color:#3f0710}.sub-secondary{border:1px solid #315f89;background:#12385d;color:#cbe7ff}
.sub-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.sub-stats article{position:relative;min-height:94px;padding:15px 15px 13px;border:1px solid #24547e;border-radius:17px;background:linear-gradient(145deg,#123b63,#0b2f52);box-shadow:inset 0 1px rgba(255,255,255,.055);overflow:hidden}.sub-stats article:after{content:"";position:absolute;right:-28px;top:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,currentColor 0,transparent 70%);opacity:.06}.sub-stats i{display:block;width:8px;height:8px;border-radius:50%;margin-bottom:12px;box-shadow:0 0 12px currentColor}.sub-stats i.green{color:#43db91;background:currentColor}.sub-stats i.amber{color:#ffc15f;background:currentColor}.sub-stats i.red{color:#ff6c82;background:currentColor}.sub-stats i.purple{color:#bd8cff;background:currentColor}.sub-stats i.blue{color:#68a5ff;background:currentColor}.sub-stats i.cyan{color:#5bdcff;background:currentColor}.sub-stats span{display:block;color:#8fb3d2;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.sub-stats strong{display:block;margin-top:6px;font-size:23px;color:#fff}.sub-stats .money strong{font-size:18px}
.sub-panel,.sub-plans-panel,.sub-history-panel{border:1px solid #24537c;border-radius:20px;background:#0a2a49;box-shadow:inset 0 1px rgba(255,255,255,.04),0 14px 30px rgba(0,10,25,.14);overflow:hidden}.sub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #204b71;background:#0d3154}.sub-search{display:flex;align-items:center;gap:8px;flex:1}.sub-search>span{color:#61caff}.sub-search svg{width:17px}.sub-search input,.sub-search select,.sub-search button,.sub-form input,.sub-form select,.sub-form textarea{border:1px solid #2b638e;border-radius:11px;background:#071f38;color:#e8f6ff;outline:0}.sub-search input{width:min(440px,45vw);padding:10px 12px}.sub-search select{padding:10px 11px}.sub-search button{padding:10px 14px;background:#164b76;color:#ccecff;font-weight:800;cursor:pointer}.sub-count{color:#89add0;font-size:11px}.sub-count b{color:#fff}.sub-table-wrap{overflow:auto}.sub-table{width:100%;border-collapse:collapse;min-width:980px}.sub-table th{padding:11px 13px;background:#123d65;color:#a9cbe9;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.sub-table td{padding:12px 13px;border-bottom:1px solid #174267;color:#d9eaf7;font-size:11px;vertical-align:middle}.sub-table tr:hover td{background:rgba(34,91,137,.17)}.sub-company{display:flex;align-items:center;gap:10px;min-width:190px}.sub-company>span,.sub-company-badge{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#2070a9,#123f69);border:1px solid #3b86b8;color:#8bdaff;font-weight:900}.sub-company strong{display:block;color:#fff;font-size:11px}.sub-company small,.sub-muted{display:block;margin-top:3px;color:#729bbd;font-size:9px}.sub-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap;border:1px solid transparent}.sub-status i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.sub-status.active{background:#0e523e;color:#64f0aa;border-color:#17765a}.sub-status.expiring,.sub-status.grace{background:#644716;color:#ffd071;border-color:#846126}.sub-status.expired,.sub-status.cancelled,.sub-status.suspended{background:#632537;color:#ff8fa2;border-color:#84344a}.sub-status.unmanaged{background:#233f5b;color:#9bc0df;border-color:#315a7d}.sub-manage{display:inline-flex;align-items:center;gap:8px;color:#66caff;text-decoration:none;font-weight:900;white-space:nowrap}.sub-manage b{font-size:18px}.sub-empty{padding:34px;text-align:center;color:#7fa3c4}
.sub-plans-panel{margin-top:16px;padding:16px}.sub-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:13px}.sub-section-title h2{margin:3px 0 0;font-size:18px}.sub-section-title>a{color:#5dccff;text-decoration:none;font-size:11px;font-weight:900}.sub-section-title small{color:#789fc3}.sub-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sub-plan-card{position:relative;padding:15px;border:1px solid #2b628e;border-radius:16px;background:linear-gradient(150deg,#123c64,#0b2d4d);overflow:hidden}.sub-plan-card:before{content:"";position:absolute;right:-35px;top:-45px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(71,199,255,.13),transparent 70%)}.sub-plan-card.off{opacity:.48}.sub-plan-code{display:inline-block;color:#5ecfff;font-size:8px;font-weight:900;letter-spacing:.14em}.sub-plan-card h3{margin:7px 0 4px;font-size:15px}.sub-plan-price{font-size:21px;font-weight:900;color:#fff}.sub-plan-meta{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.sub-plan-meta span{padding:5px 7px;border-radius:999px;background:#133f66;color:#91bade;font-size:8px}.sub-plan-card p{min-height:34px;margin:8px 0;color:#83a9ca;font-size:9px;line-height:1.4}.sub-plan-card>a{color:#66ceff;text-decoration:none;font-size:9px;font-weight:900}
.sub-manage-head{margin-bottom:16px}.sub-back{display:inline-block;margin-bottom:12px;color:#72bfe9;text-decoration:none;font-size:10px;font-weight:800}.sub-manage-title{display:flex;align-items:center;gap:13px;padding:18px 20px;border:1px solid #285d88;border-radius:19px;background:linear-gradient(145deg,#10385f,#0a2b4c)}.sub-manage-title .sub-company-badge{width:48px;height:48px;font-size:18px}.sub-manage-title>div:nth-child(2){flex:1}.sub-manage-title h1{font-size:23px}.sub-manage-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:16px}.sub-license-card,.sub-renew-card{padding:18px;border:1px solid #285d88;border-radius:20px;background:linear-gradient(145deg,#0e3458,#092744);box-shadow:inset 0 1px rgba(255,255,255,.05)}.sub-card-title h2{margin:4px 0 15px;font-size:18px}.sub-license-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#08223c;border:1px solid #23527a}.sub-license-dates>div:last-child{text-align:right}.sub-license-dates small,.sub-license-info small{display:block;color:#739fc3;font-size:8px;letter-spacing:.08em}.sub-license-dates strong{display:block;margin-top:4px;font-size:15px}.sub-license-dates>b{color:#4ebfff}.sub-license-progress{height:5px;margin:12px 2px;border-radius:999px;background:#061a2f;overflow:hidden}.sub-license-progress span{display:block;height:100%;background:linear-gradient(90deg,#44d69c,#48bcff);box-shadow:0 0 10px #4bcaff}.sub-license-info{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sub-license-info>div{padding:10px;border:1px solid #234f75;border-radius:12px;background:#0b2a49}.sub-license-info strong{display:block;margin-top:4px;font-size:12px}.sub-license-actions{margin-top:13px;display:flex;justify-content:flex-end}.sub-no-license{padding:24px;border:1px dashed #32698f;border-radius:14px;background:#08223c;text-align:center}.sub-no-license b{color:#f3fbff}.sub-no-license p{margin:7px 0 0;color:#80a9ca;font-size:11px}.sub-form{display:grid;gap:11px}.sub-form label{display:grid;gap:5px;color:#9ec2df;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sub-form input,.sub-form select,.sub-form textarea{width:100%;padding:10px 11px;box-sizing:border-box;font:inherit;text-transform:none;letter-spacing:normal}.sub-form textarea{resize:vertical}.sub-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sub-form-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:3px}.sub-check{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:9px!important;text-transform:none!important;letter-spacing:0!important}.sub-check input{width:16px!important;height:16px}.sub-history-panel{margin-top:16px;padding:15px}.sub-history-action{display:inline-block;padding:5px 7px;border-radius:7px;background:#174c74;color:#74d0ff;font-size:8px;font-weight:900}.sub-plan-form-card{max-width:760px}.sub-plan-form-page .sub-manage-head>div{padding:5px 0}
.license-lock-screen{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 25%,#0d3d6d 0,#061e38 33%,#020b17 76%);color:#edf8ff}.license-lock-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 80px,rgba(86,180,255,.035) 80px 81px),repeating-linear-gradient(180deg,transparent 0 80px,rgba(86,180,255,.035) 80px 81px);transform:perspective(600px) rotateX(65deg) translateY(44%);transform-origin:center bottom}.license-lock-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(49,175,255,.11),transparent 68%);filter:blur(12px)}.license-lock-card{position:relative;z-index:2;width:min(590px,92vw);padding:30px;border:1px solid rgba(102,195,255,.30);border-radius:26px;background:linear-gradient(145deg,rgba(15,55,91,.92),rgba(4,22,41,.96));box-shadow:inset 0 1px rgba(255,255,255,.10),0 30px 80px rgba(0,0,0,.36);backdrop-filter:blur(18px);text-align:center}.license-lock-logo{height:48px;max-width:210px;object-fit:contain;filter:brightness(1.2)}.license-lock-code{display:block;margin:18px 0 12px;color:#65cfff;font-size:9px;font-weight:900;letter-spacing:.18em}.license-lock-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;border:1px solid #ff7388;background:#5b2131;color:#ff9cad;font-size:25px;font-weight:900;box-shadow:0 0 28px rgba(255,93,120,.15)}.license-lock-card h1{margin:0 0 9px;font-size:30px}.license-lock-card>p{margin:0 auto;color:#a7c3da;line-height:1.55;max-width:480px}.license-lock-card>p strong{color:#fff}.license-lock-data{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.license-lock-data span{padding:11px;border:1px solid #28577d;border-radius:12px;background:#08233e;color:#7fa6c7;font-size:10px}.license-lock-data b{display:block;margin-top:3px;color:#fff;font-size:12px}.license-lock-note{padding:13px;border-radius:12px;background:#0b2c4c;border:1px solid #285a83;color:#9fc0da;font-size:10px;line-height:1.5}.license-lock-contact{margin-top:13px!important;font-size:10px!important}.license-lock-actions{display:flex;justify-content:center;gap:9px;margin-top:18px}.license-lock-actions a{padding:10px 15px;border-radius:11px;background:#43d593;color:#05291d;text-decoration:none;font-size:10px;font-weight:900}.license-lock-actions a.ghost{background:#123b61;color:#bfe0f7;border:1px solid #2c658f}
@media(max-width:1400px){.sub-stats{grid-template-columns:repeat(3,1fr)}.sub-plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.sub-page{padding:16px}.sub-manage-grid{grid-template-columns:1fr}.sub-plan-grid{grid-template-columns:repeat(2,1fr)}.sub-hero{align-items:flex-start}.sub-search{flex-wrap:wrap}}
@media(max-width:650px){.sub-stats{grid-template-columns:repeat(2,1fr)}.sub-plan-grid{grid-template-columns:1fr}.sub-hero{flex-direction:column}.sub-form-row,.sub-license-info{grid-template-columns:1fr 1fr}.sub-manage-title{align-items:flex-start;flex-wrap:wrap}.sub-search input{width:100%}.license-lock-data{grid-template-columns:1fr}}

.license-warning-banner{margin:14px 22px 0;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid #815f27;border-radius:13px;background:linear-gradient(135deg,#5b421a,#3c2b13);color:#ffe1a1;box-shadow:0 8px 20px rgba(0,0,0,.13)}.license-warning-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#7b571d;color:#ffd071}.license-warning-icon svg{width:17px}.license-warning-banner>div{flex:1}.license-warning-banner b{display:block;font-size:11px}.license-warning-banner small{display:block;margin-top:2px;color:#d8b975;font-size:9px}.license-warning-banner>a{padding:7px 10px;border-radius:9px;background:#ffc35c;color:#3c2707;text-decoration:none;font-size:9px;font-weight:900}@media(max-width:720px){.license-warning-banner{margin:10px 12px 0;align-items:flex-start;flex-wrap:wrap}.license-warning-banner>a{margin-left:41px}}


/* SUSCRIPCIONES PRO · alertas 30/15/7 + gerente de empresa */
.sub-renew-alert{display:block;margin-top:5px;width:max-content;padding:4px 7px;border-radius:7px;font-size:7px;font-weight:1000;letter-spacing:.08em;background:#5c471c;color:#ffd56e;border:1px solid #7f6329}.sub-renew-alert.tier-15{background:#633d1e;color:#ffc071;border-color:#8a5328}.sub-renew-alert.tier-7{background:#642b36;color:#ff9eaa;border-color:#91404f;box-shadow:0 0 12px rgba(255,105,127,.10)}
.sub-manager-panel{margin-top:16px;padding:16px;border:1px solid #24537c;border-radius:20px;background:linear-gradient(145deg,#0b2d4d,#08243f);box-shadow:inset 0 1px rgba(255,255,255,.04),0 14px 30px rgba(0,10,25,.14)}.sub-manager-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}.sub-manager-info,.sub-manager-list{border:1px solid #23557e;border-radius:16px;background:#082642;padding:14px}.sub-manager-info{display:flex;gap:13px;align-items:flex-start}.sub-manager-icon{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1a75ac,#104766);color:#9be7ff;font-size:19px;font-weight:1000;border:1px solid #3d8ab8;box-shadow:0 0 22px rgba(77,196,255,.12)}.sub-manager-info h3{margin:1px 0 6px;color:#fff;font-size:15px}.sub-manager-info p{margin:0;color:#8fb4d1;font-size:10px;line-height:1.5}.sub-manager-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sub-manager-badges span{padding:5px 7px;border-radius:999px;background:#103e62;color:#83d6ff;font-size:8px}.sub-manager-list{display:grid;gap:8px;align-content:start}.sub-manager-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:9px;border:1px solid #204d73;border-radius:12px;background:#0b2d4c}.sub-manager-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#15577e;color:#8edfff;font-weight:1000}.sub-manager-row strong{display:block;color:#fff;font-size:10px}.sub-manager-row small{display:block;margin-top:2px;color:#7ba4c4;font-size:8px}.sub-manager-row>span{padding:5px 7px;border-radius:999px;background:#154b3c;color:#61e9a6;border:1px solid #1e7358;font-size:7px;font-weight:900}.sub-manager-row button{border:1px solid #754052;border-radius:8px;background:#502232;color:#ff99aa;padding:6px 8px;font-size:8px;font-weight:900;cursor:pointer}.sub-manager-empty{padding:18px;text-align:center;color:#83a9ca;border:1px dashed #2a5f85;border-radius:12px;font-size:10px}.sub-manager-form{margin-top:12px;padding:13px;border:1px solid #24577f;border-radius:15px;background:#092845}.sub-manager-form>div:not(.sub-manager-form-footer){display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sub-manager-form label{display:grid;gap:5px;color:#8fb8d5;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.sub-manager-form input{width:100%;box-sizing:border-box;border:1px solid #2b638e;border-radius:10px;background:#071f38;color:#e8f6ff;padding:10px 11px;outline:0}.sub-manager-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.sub-manager-form-footer p{margin:0;max-width:700px;color:#779fbe;font-size:9px;line-height:1.45}.company-manager-quota{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin:12px 0;padding:13px 15px;border:1px solid #28618c;border-radius:16px;background:linear-gradient(145deg,#0f385d,#0a2947)}.company-manager-quota>div:first-child span{display:block;color:#5bceff;font-size:8px;font-weight:1000;letter-spacing:.15em}.company-manager-quota strong{display:block;color:#fff;font-size:13px}.company-manager-quota small{display:block;margin-top:3px;color:#82a9c8;font-size:9px}.company-manager-quota>div:not(:first-child){min-width:110px;padding:8px 11px;border-left:1px solid #24557c}.company-manager-quota>div:not(:first-child) strong{font-size:15px}.user-manager-lock{display:inline-flex;align-items:center;padding:7px 9px;border-radius:9px;background:#164a3d;color:#60e9a5;border:1px solid #1d7156;font-size:8px;font-weight:1000}.manager-form-note{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;padding:11px 13px;border:1px solid #28618c;border-radius:13px;background:#0d3152}.manager-form-note b{color:#fff;font-size:11px}.manager-form-note span{color:#85aecb;font-size:9px;text-align:right}.manager-company-fixed{min-height:43px;display:flex;flex-direction:column;justify-content:center;padding:0 12px;border:1px solid #2b638e;border-radius:11px;background:#071f38}.manager-company-fixed b{color:#e9f7ff;font-size:10px}.manager-company-fixed small{color:#6fa4ca;font-size:8px}.license-warning-banner{position:relative}.license-warning-banner:before{content:'RENOVACIÓN';display:inline-flex;align-items:center;align-self:center;padding:4px 7px;border-radius:999px;background:rgba(255,193,95,.12);color:#ffd174;border:1px solid rgba(255,193,95,.25);font-size:7px;font-weight:1000;letter-spacing:.08em}
@media(max-width:980px){.sub-manager-grid{grid-template-columns:1fr}.company-manager-quota{grid-template-columns:1fr 1fr}.company-manager-quota>div:first-child{grid-column:1/-1}.sub-manager-form>div:not(.sub-manager-form-footer){grid-template-columns:1fr}.sub-manager-form-footer{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.sub-manager-row{grid-template-columns:auto 1fr}.sub-manager-row>span,.sub-manager-row>form{grid-column:2}.company-manager-quota{grid-template-columns:1fr}.company-manager-quota>div:first-child{grid-column:auto}.company-manager-quota>div:not(:first-child){border-left:0;border-top:1px solid #24557c}.manager-form-note{align-items:flex-start;flex-direction:column}.manager-form-note span{text-align:left}}

.sub-alert-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-2px 0 16px}.sub-alert-summary>div{position:relative;padding:12px 14px;border-radius:15px;border:1px solid #2a5a82;background:linear-gradient(145deg,#103756,#0a2946);overflow:hidden}.sub-alert-summary>div:after{content:"";position:absolute;right:-20px;top:-30px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,currentColor,transparent 68%);opacity:.08}.sub-alert-summary span{display:block;font-size:8px;font-weight:1000;letter-spacing:.12em}.sub-alert-summary strong{display:block;margin:3px 0 2px;color:#fff;font-size:22px}.sub-alert-summary small{color:#82a8c6;font-size:8px}.sub-alert-summary .tier30{color:#ffd171;border-color:#6f5729}.sub-alert-summary .tier15{color:#ffad70;border-color:#75452b}.sub-alert-summary .tier7{color:#ff8da0;border-color:#783445}@media(max-width:760px){.sub-alert-summary{grid-template-columns:1fr}}

/* =========================================================
   SUSCRIPCIONES · CUPOS CLIENTE vs EQUIPO FRAISSL · 03-09-2026
   ========================================================= */
.sub-user-license-cell small{display:block;margin-top:5px;color:#70b7e9;font-size:10px;font-weight:700;line-height:1.35}
.sub-license-audience{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 4px}
.sub-license-audience>div{padding:14px 15px;border:1px solid rgba(76,177,239,.25);border-radius:15px;background:linear-gradient(145deg,rgba(16,67,105,.65),rgba(5,37,68,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.sub-license-audience small{display:block;color:#64c4ff;font-size:9px;font-weight:900;letter-spacing:.11em}
.sub-license-audience strong{display:block;margin-top:5px;color:#fff;font-size:22px;line-height:1.05}
.sub-license-audience span{display:block;margin-top:5px;color:#9fc9e7;font-size:10px;line-height:1.35}
.sub-plan-seat-note{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;margin:2px 0 12px;border:1px solid rgba(65,209,166,.25);border-radius:13px;background:rgba(35,168,130,.08)}
.sub-plan-seat-note b{white-space:nowrap;color:#4fe0ae;font-size:12px}.sub-plan-seat-note span{color:#a8cde5;font-size:11px;line-height:1.5}
.manager-quota-pro em{display:block;margin-top:4px;color:#68bce9;font-size:10px;font-style:normal;font-weight:700}
.users-new-btn.is-disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2);pointer-events:none}
@media(max-width:980px){.sub-license-audience{grid-template-columns:1fr}}


/* =========================================================
   ALERTA DE LICENCIA · rediseño slim premium · 03-09-2026
   ========================================================= */
.license-warning-banner{
  --warn-bg-1: rgba(255,193,95,.14);
  --warn-bg-2: rgba(134,85,24,.14);
  --warn-border: rgba(255,193,95,.28);
  --warn-text: #ffe7b0;
  --warn-sub: #f4ca7c;
  --warn-chip-bg: rgba(255,193,95,.12);
  --warn-chip-border: rgba(255,193,95,.24);
  --warn-chip-text: #ffd98a;
  --warn-icon-bg: linear-gradient(145deg, rgba(255,195,96,.22), rgba(124,81,24,.20));
  --warn-btn-bg: linear-gradient(135deg, #ffd173, #ffbc4b);
  --warn-btn-text: #3d2406;
  position: relative;
  width: calc(100% - 44px);
  margin: 12px 22px 4px;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto;
  align-self: start;
  display: grid !important;
  grid-template-columns: auto auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--warn-border);
  border-radius: 16px;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.08), transparent 22%),
    linear-gradient(135deg, var(--warn-bg-1), var(--warn-bg-2)),
    rgba(12,32,54,.92);
  color: var(--warn-text);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 24px rgba(0,9,22,.14);
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
  overflow: hidden;
}
.license-warning-banner::before,
.license-warning-banner::after{
  content: "";
  position: absolute;
  pointer-events: none;
}
.license-warning-banner::before{
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0 72%, rgba(255,255,255,.06) 72.2% 72.5%, transparent 72.8% 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 45%);
}
.license-warning-banner::after{
  left: 14px;
  right: 14px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.license-warning-tag,
.license-warning-icon,
.license-warning-copy,
.license-warning-banner > a{
  position: relative;
  z-index: 1;
}
.license-warning-tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--warn-chip-border);
  background: var(--warn-chip-bg);
  color: var(--warn-chip-text);
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .08em;
  white-space: nowrap;
}
.license-warning-icon{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--warn-icon-bg);
  color: var(--warn-chip-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.license-warning-icon svg{width:18px;height:18px}
.license-warning-copy{min-width:0;display:grid;gap:2px}
.license-warning-copy b{
  display:block;
  color: var(--warn-text);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.license-warning-copy small{
  display:block;
  color: var(--warn-sub);
  font-size: 11px;
  line-height: 1.35;
}
.license-warning-banner > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 10px;
  background: var(--warn-btn-bg);
  color: var(--warn-btn-text);
  text-decoration:none;
  font-size: 11px;
  font-weight: 1000;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(255,188,75,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.license-warning-banner > a:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(255,188,75,.24);
  filter: brightness(1.03);
}
.license-warning-banner.tier-15{
  --warn-bg-1: rgba(255,154,95,.14);
  --warn-bg-2: rgba(145,61,23,.15);
  --warn-border: rgba(255,164,95,.28);
  --warn-text: #ffe1c0;
  --warn-sub: #ffc78e;
  --warn-chip-bg: rgba(255,154,95,.12);
  --warn-chip-border: rgba(255,154,95,.24);
  --warn-chip-text: #ffbf82;
  --warn-icon-bg: linear-gradient(145deg, rgba(255,154,95,.22), rgba(122,60,21,.22));
  --warn-btn-bg: linear-gradient(135deg, #ffb17a, #ff8f4b);
}
.license-warning-banner.tier-7{
  --warn-bg-1: rgba(255,111,128,.13);
  --warn-bg-2: rgba(120,30,52,.18);
  --warn-border: rgba(255,122,143,.30);
  --warn-text: #ffd6de;
  --warn-sub: #ffb0bf;
  --warn-chip-bg: rgba(255,111,128,.12);
  --warn-chip-border: rgba(255,111,128,.24);
  --warn-chip-text: #ffb2c0;
  --warn-icon-bg: linear-gradient(145deg, rgba(255,111,128,.22), rgba(118,28,49,.24));
  --warn-btn-bg: linear-gradient(135deg, #ff99ae, #ff6d86);
}
body.app-shell.home-route .license-warning-banner{
  margin-top: 16px;
  margin-bottom: 6px;
}
@media (max-width: 900px){
  .license-warning-banner{
    grid-template-columns: auto auto minmax(0,1fr);
  }
  .license-warning-banner > a{
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: calc(84px + 34px + 10px);
  }
}
@media (max-width: 640px){
  .license-warning-banner{
    width: calc(100% - 24px);
    margin: 10px 12px 4px;
    grid-template-columns: auto 1fr;
    gap: 8px 10px;
    padding: 10px 12px;
    border-radius: 14px;
  }
  .license-warning-tag{grid-column:1 / -1;justify-self:start;min-width:auto;height:22px;font-size:9px}
  .license-warning-banner > a{grid-column:1 / -1; margin-left:0}
  .license-warning-copy b{font-size: 12px; white-space: normal}
  .license-warning-copy small{font-size: 10px}
}


/* =========================================================
   HOME FUTURISTA COMPACTO + AJUSTE DE PANTALLA · 03-09-2026
   Ajuste para que banner + hero + tarjetas se acomoden mejor
   dentro del home sin dejar espacios vacíos grandes.
   ========================================================= */
body.app-shell.home-route .main{
  display:block!important;
  overflow:auto!important;
}
body.app-shell.home-route .future-home{
  min-height:auto!important;
  padding:14px 24px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:14px!important;
  overflow:visible!important;
}
body.app-shell.home-route .future-hero{
  min-height:220px!important;
  padding:22px 26px 20px!important;
  gap:18px!important;
  border-radius:24px!important;
}
body.app-shell.home-route .future-hero__meta{margin-bottom:10px!important}
body.app-shell.home-route .future-hero__eyebrow{font-size:11px!important;margin-bottom:9px!important}
body.app-shell.home-route .future-hero h1{
  font-size:clamp(32px,3.2vw,52px)!important;
}
body.app-shell.home-route .future-hero__line{
  width:min(420px,72%)!important;
  margin:14px 0 11px!important;
}
body.app-shell.home-route .future-hero p{
  max-width:640px!important;
  font-size:14px!important;
}
body.app-shell.home-route .future-brand{
  min-height:185px!important;
}
body.app-shell.home-route .future-brand__ring--outer{width:220px!important;height:220px!important}
body.app-shell.home-route .future-brand__ring--inner{width:180px!important;height:180px!important}
body.app-shell.home-route .future-brand__logo{width:min(320px,82%)!important;max-height:152px!important}
body.app-shell.home-route .future-brand__reflection{width:min(290px,72%)!important;height:64px!important}
body.app-shell.home-route .future-grid{
  margin-top:0!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.app-shell.home-route .future-card{
  min-height:182px!important;
  padding:15px 15px 13px!important;
  border-radius:18px!important;
}
body.app-shell.home-route .future-card__icon{width:50px!important;height:50px!important;border-radius:14px!important}
body.app-shell.home-route .future-card__icon svg{width:24px!important;height:24px!important}
body.app-shell.home-route .future-card__top{margin-bottom:10px!important}
body.app-shell.home-route .future-card h2{font-size:20px!important;margin:0 0 5px!important}
body.app-shell.home-route .future-card p{font-size:12px!important;line-height:1.4!important}
body.app-shell.home-route .future-card__footer{padding-top:10px!important;font-size:10px!important}
body.app-shell.home-route .future-card__footer b{width:34px!important;height:34px!important}
body.app-shell.home-route .license-warning-banner{
  margin:12px 24px 0!important;
}
@media (max-width:1450px){
  body.app-shell.home-route .future-home{padding:14px 20px 20px!important}
  body.app-shell.home-route .license-warning-banner{margin:12px 20px 0!important}
}
@media (max-width:1180px){
  body.app-shell.home-route .future-hero{grid-template-columns:1fr!important;min-height:auto!important}
  body.app-shell.home-route .future-brand{min-height:160px!important}
  body.app-shell.home-route .future-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  body.app-shell.home-route .future-home{padding:12px 12px 20px!important;gap:12px!important}
  body.app-shell.home-route .future-hero{padding:18px 16px 16px!important;border-radius:20px!important}
  body.app-shell.home-route .future-hero h1{font-size:clamp(28px,9vw,40px)!important}
  body.app-shell.home-route .future-hero__line{width:180px!important}
  body.app-shell.home-route .future-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.app-shell.home-route .future-card{min-height:172px!important}
  body.app-shell.home-route .license-warning-banner{margin:10px 12px 0!important}
}


/* =========================================================
   AJUSTE FINAL · sin scroll horizontal + banner limpio
   03-09-2026
   ========================================================= */
html, body{
  overflow-x:hidden!important;
}
body.app-shell.home-route,
body.app-shell.home-route .app-shell,
body.app-shell.home-route .layout,
body.app-shell.home-route .main{
  overflow-x:hidden!important;
}
body.app-shell.home-route .main{
  overflow-y:auto!important;
}
body.app-shell.home-route .future-home{
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
body.app-shell.home-route .future-home__ambient,
body.app-shell.home-route .future-hero,
body.app-shell.home-route .future-grid{
  max-width:100%!important;
}
body.app-shell.home-route .future-grid{
  width:100%!important;
}
body.app-shell.home-route .future-card{
  min-width:0!important;
}
.license-warning-banner{
  max-width:calc(100% - 44px)!important;
}
.license-warning-banner::after{
  display:none!important;
  content:none!important;
}
.license-warning-banner::before{
  background:
    linear-gradient(115deg, transparent 0 72%, rgba(255,255,255,.045) 72.2% 72.45%, transparent 72.7% 100%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%)!important;
}
@media (max-width:640px){
  .license-warning-banner{
    max-width:calc(100% - 24px)!important;
  }
}


/* =========================================================
   AJUSTE FINAL DEL BANNER · quitar línea central
   03-09-2026
   ========================================================= */
.license-warning-banner,
body.app-shell.home-route .license-warning-banner{
  background:
    linear-gradient(135deg, rgba(90,66,27,.82), rgba(49,38,22,.82)),
    rgba(12,32,54,.92)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 8px 18px rgba(0,9,22,.12)!important;
}
.license-warning-banner:before,
.license-warning-banner::before,
.license-warning-banner:after,
.license-warning-banner::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}
.license-warning-banner .license-warning-copy{
  gap:3px!important;
}
.license-warning-banner .license-warning-copy b,
.license-warning-banner .license-warning-copy small{
  text-shadow:none!important;
}


/* =========================================================
   GPS DE EVIDENCIA + MAPA REAL DE ACTIVOS · 03-09-2026
   ========================================================= */
.asset-geo-capture{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid rgba(70,164,225,.24);border-radius:12px;background:linear-gradient(145deg,rgba(9,49,82,.72),rgba(5,31,58,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.asset-geo-capture-dot{width:9px;height:9px;border-radius:50%;background:#7391aa;box-shadow:0 0 0 5px rgba(115,145,170,.08)}
.asset-geo-capture b{display:block;color:#eaf7ff;font-size:10px}.asset-geo-capture small{display:block;margin-top:2px;color:#7fa9c8;font-size:8.5px;line-height:1.4}.asset-geo-capture strong{padding:6px 9px;border-radius:999px;background:#113b5e;color:#8fc9ef;border:1px solid rgba(79,158,211,.25);font-size:8px;white-space:nowrap}
.asset-geo-capture[data-state="loading"] .asset-geo-capture-dot{background:#ffc15d;box-shadow:0 0 12px rgba(255,193,93,.65);animation:futurePulse 1.2s ease-in-out infinite}.asset-geo-capture[data-state="loading"] strong{color:#ffd587;border-color:rgba(255,193,93,.28);background:rgba(122,83,23,.20)}
.asset-geo-capture[data-state="ready"] .asset-geo-capture-dot{background:#48e39d;box-shadow:0 0 12px rgba(72,227,157,.60)}.asset-geo-capture[data-state="ready"] strong{color:#6df0b5;border-color:rgba(72,227,157,.26);background:rgba(22,112,77,.18)}
.asset-geo-capture[data-state="unavailable"] .asset-geo-capture-dot{background:#ffad63;box-shadow:0 0 10px rgba(255,173,99,.40)}.asset-geo-capture[data-state="unavailable"] strong{color:#ffc68e;border-color:rgba(255,173,99,.25);background:rgba(122,67,26,.17)}

.dashx-live-map-card{overflow:visible!important}.dashx-map-card-head>div{display:grid;gap:2px}.dashx-map-card-head small{color:#6f9dbf;font-size:6.8px}.dashx-map-live{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;border:1px solid rgba(68,210,176,.22);background:rgba(35,162,129,.08);color:#6beab9;font-size:6.5px;font-weight:900;letter-spacing:.05em;white-space:nowrap}.dashx-map-live i{width:6px;height:6px;border-radius:50%;background:#50e5aa;box-shadow:0 0 9px #50e5aa}
.dashx-real-map-wrap{position:relative!important;height:285px!important;margin:0 8px 8px!important;background:#071a2f!important;overflow:hidden!important}.dashx-real-map{position:absolute;inset:0;z-index:1}.dashx-real-map .leaflet-control-zoom a{background:#0b2c4b;color:#eaf8ff;border-color:#24547b}.dashx-real-map .leaflet-control-zoom a:hover{background:#12436c}.dashx-real-map .leaflet-control-attribution{background:rgba(3,19,36,.72);color:#8fb1cb;font-size:6px}.dashx-real-map .leaflet-control-attribution a{color:#65c8ff}
.dashx-map-status{position:absolute;z-index:500;left:8px;bottom:8px;display:flex;gap:6px;pointer-events:none}.dashx-map-status span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(4,29,51,.88);border:1px solid rgba(95,182,236,.25);color:#b9d6ea;font-size:6.5px;box-shadow:0 6px 15px rgba(0,0,0,.16);backdrop-filter:blur(8px)}.dashx-map-status i{width:6px;height:6px;border-radius:50%;background:#4be1a1;box-shadow:0 0 8px #4be1a1}
.dashx-map-empty{position:absolute;z-index:450;left:50%;top:50%;transform:translate(-50%,-50%);width:min(300px,82%);display:grid;justify-items:center;gap:4px;padding:14px;text-align:center;border:1px solid rgba(75,168,226,.25);border-radius:13px;background:rgba(4,31,55,.90);backdrop-filter:blur(10px);box-shadow:0 12px 26px rgba(0,0,0,.24);pointer-events:none}.dashx-map-empty.is-hidden{display:none}.dashx-map-empty>span{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#103e62;color:#70d4ff;font-size:19px}.dashx-map-empty b{color:#fff;font-size:9px}.dashx-map-empty small{color:#8eb2cc;font-size:7px;line-height:1.45}
.dashx-map-load-error{height:100%;display:grid;place-content:center;justify-items:center;gap:5px;padding:20px;text-align:center;color:#dceaf5}.dashx-map-load-error b{font-size:10px}.dashx-map-load-error span{font-size:7px;color:#87a9c4}

.dashx-photo-marker-shell,.dashx-photo-cluster-shell{background:transparent!important;border:0!important}.dashx-photo-marker{position:relative;width:46px;height:46px;border:3px solid #f4fbff;border-radius:13px;background:#0b2947;box-shadow:0 7px 20px rgba(0,0,0,.38),0 0 0 2px rgba(51,183,255,.42);overflow:visible}.dashx-photo-marker img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}.dashx-photo-marker>span{width:100%;height:100%;display:grid;place-items:center;color:#70d7ff;font-size:20px}.dashx-photo-marker:after{content:"";position:absolute;left:50%;bottom:-9px;width:13px;height:13px;transform:translateX(-50%) rotate(45deg);background:#f4fbff;border-radius:0 0 3px 0;z-index:-1}.dashx-photo-marker i{position:absolute;right:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:#4ce3a4;border:2px solid #061b31;box-shadow:0 0 8px #4ce3a4}
.dashx-photo-cluster{position:relative;width:62px;height:62px;border:4px solid #fff;border-radius:17px;background:#0b2947;box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 0 2px rgba(65,195,255,.45);overflow:visible}.dashx-photo-cluster img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}.dashx-photo-cluster>span{width:100%;height:100%;display:grid;place-items:center;color:#6bd7ff;font-size:22px}.dashx-photo-cluster b{position:absolute;right:-10px;bottom:-8px;min-width:28px;height:28px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#087ac7;color:#fff;border:3px solid #fff;font-size:10px;line-height:1;box-shadow:0 5px 12px rgba(0,0,0,.28)}
.dashx-map-leaflet-popup .leaflet-popup-content-wrapper{padding:0;border-radius:14px;background:#072643;color:#eaf7ff;box-shadow:0 15px 35px rgba(0,0,0,.38);overflow:hidden;border:1px solid rgba(87,172,226,.25)}.dashx-map-leaflet-popup .leaflet-popup-content{margin:0;width:auto!important}.dashx-map-leaflet-popup .leaflet-popup-tip{background:#072643}.dashx-map-leaflet-popup .leaflet-popup-close-button{color:#fff!important;z-index:4;background:rgba(2,19,35,.64)!important;border-radius:50%;width:24px!important;height:24px!important;line-height:22px!important;right:6px!important;top:6px!important}
.dashx-map-popup{width:290px;overflow:hidden}.dashx-map-popup-photo{height:125px;background:#041a31;overflow:hidden}.dashx-map-popup-photo img{width:100%;height:100%;object-fit:cover;display:block}.dashx-map-popup-photo>span{height:100%;display:grid;place-items:center;color:#7198b6;font-size:10px}.dashx-map-popup-copy{padding:10px 11px 11px}.dashx-map-popup-copy>small{display:block;color:#5fd3ff;font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.dashx-map-popup-copy>b{display:block;margin-top:3px;color:#fff;font-size:11px;line-height:1.25}.dashx-map-popup-copy>span{display:block;margin-top:3px;color:#9cb9d0;font-size:7px}.dashx-map-popup-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.dashx-map-popup-meta em{padding:4px 6px;border-radius:7px;background:#0c3557;color:#91c4e5;font-size:6px;font-style:normal}.dashx-map-popup-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:6px;margin-top:9px}.dashx-map-popup-actions a{display:flex;align-items:center;justify-content:center;min-height:29px;border-radius:8px;background:#12558b;color:#fff!important;text-decoration:none;font-size:7px;font-weight:900}.dashx-map-popup-actions a:last-child{background:#1676b9}

@media(max-width:1000px){.dashx-real-map-wrap{height:330px!important}}@media(max-width:620px){.asset-geo-capture{grid-template-columns:auto 1fr}.asset-geo-capture strong{grid-column:2;justify-self:start}.dashx-map-card-head{align-items:flex-start!important}.dashx-map-live{display:none}.dashx-real-map-wrap{height:360px!important}.dashx-map-status{flex-wrap:wrap;right:8px}.dashx-map-popup{width:250px}}

.dashx-map-head-actions{display:flex;align-items:center;gap:6px}.dashx-map-backfill-form{margin:0}.dashx-map-backfill-form button{height:24px;padding:0 8px;border:1px solid rgba(90,183,240,.22);border-radius:8px;background:#0c3457;color:#7dcfff;font-size:6.5px;font-weight:900;cursor:pointer}.dashx-map-backfill-form button:hover{background:#12466f;color:#dff6ff}@media(max-width:620px){.dashx-map-backfill-form{display:none}}


/* =========================================================
   ACTIVO · ETIQUETA KPI RESERVADA VISIBLE · 03-09-2026
   ========================================================= */
.asset-auto-label-field--reserved{
  position:relative;
  padding:13px 14px 12px!important;
  border:1px solid rgba(77,203,255,.42)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(17,68,108,.44),rgba(5,35,65,.64))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 22px rgba(52,177,244,.07)!important;
}
.asset-auto-label-field--reserved>b{
  color:#78d9ff!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
}
.asset-auto-label-field--reserved .asset-auto-label-box{margin-top:7px!important}
.asset-auto-label-field--reserved .asset-auto-label-box input{
  height:58px!important;
  padding:0 52px 0 16px!important;
  border:1px solid #52cfff!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#071e38,#0b2e4f)!important;
  color:#eafaff!important;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace!important;
  font-size:clamp(24px,3vw,34px)!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
  text-align:center!important;
  text-shadow:0 0 18px rgba(91,210,255,.22)!important;
  box-shadow:inset 0 0 20px rgba(65,185,241,.06),0 0 0 3px rgba(65,185,241,.05)!important;
}
.asset-auto-label-field--reserved .asset-auto-label-lock{
  width:34px!important;
  height:34px!important;
  right:10px!important;
  border:1px solid rgba(86,225,167,.35)!important;
  background:#0d543e!important;
  color:#62efa9!important;
}
.asset-auto-label-field--reserved .asset-auto-label-lock svg{width:17px!important;height:17px!important}
.asset-auto-label-field--reserved>small{
  margin-top:8px!important;
  color:#9ac9e5!important;
  font-size:10px!important;
  line-height:1.42!important;
}
.asset-auto-label-field--reserved>small strong{color:#5de3ae!important;font-weight:900!important}
@media(max-width:640px){
  .asset-auto-label-field--reserved{padding:11px!important}
  .asset-auto-label-field--reserved .asset-auto-label-box input{height:54px!important;font-size:25px!important;letter-spacing:.08em!important}
}

/* =========================================================
   ACTIVOS · vista previa grande + carrusel + dimensiones
   ========================================================= */
.asset-dimensions + small{
  display:block;
  margin-top:6px;
  color:#8fb3da;
  font-size:11px;
}
.asset-dimensions [data-dimension-input]{text-align:center;font-weight:800}
.asset-new-preview[hidden]{display:none!important}
.asset-preview-stage{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 54px;
  align-items:center;
  gap:14px;
  min-height:330px;
  padding:16px;
  margin-bottom:16px;
  border:1px solid rgba(101,146,197,.26);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(11,24,44,.96),rgba(18,36,61,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(4,10,22,.16);
  overflow:hidden;
}
.asset-preview-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(78,170,255,.14),transparent 34%),radial-gradient(circle at bottom left,rgba(37,224,153,.10),transparent 28%);
  pointer-events:none;
}
.asset-preview-empty{
  grid-column:1/-1;
  min-height:260px;
  border:1px dashed rgba(108,150,201,.3);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#8ca7c5;
  text-align:center;
  padding:20px;
  background:rgba(10,21,39,.42);
}
.asset-preview-empty.is-hidden{display:none!important}
.asset-preview-empty svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.8}
.asset-preview-empty b{color:#edf6ff;font-size:18px}
.asset-preview-empty small{max-width:520px;line-height:1.5}
.asset-preview-figure{
  position:relative;
  z-index:1;
  margin:0;
  min-height:290px;
  height:100%;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(98,144,196,.34);
  background:linear-gradient(180deg,rgba(9,19,34,.98),rgba(19,37,60,.98));
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:zoom-in;
}
.asset-preview-figure.is-hidden{display:none!important}
.asset-preview-figure img{
  width:100%;
  height:100%;
  max-height:360px;
  object-fit:contain;
  background:transparent;
}
.asset-preview-figure figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:14px;
  padding:11px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(5,17,32,.38),rgba(5,17,32,.82));
  backdrop-filter:blur(7px);
  color:#d9ecff;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.asset-preview-figure figcaption b{font-size:13px;color:#fff}
.asset-preview-figure figcaption small{font-size:11px;color:#b6d0ee;line-height:1.35}
.asset-preview-nav,
.asset-preview-expand{
  position:relative;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(112,161,214,.34);
  background:rgba(11,28,50,.9);
  color:#f2f9ff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
  box-shadow:0 12px 22px rgba(2,8,18,.24);
}
.asset-preview-nav{font-size:28px;line-height:1}
.asset-preview-nav:hover,
.asset-preview-expand:hover{
  transform:translateY(-1px);
  background:#123b68;
  border-color:#55b9ff;
  box-shadow:0 16px 26px rgba(3,11,23,.28);
}
.asset-preview-nav[hidden]{display:none!important}
.asset-preview-expand{
  position:absolute;
  top:14px;
  right:14px;
}
.asset-preview-expand svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.asset-gallery{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:14px;
  min-height:128px;
}
.asset-photo-card{
  position:relative;
  flex:0 0 168px;
  width:168px;
  height:124px;
  border-radius:14px;
  overflow:hidden;
  background:#13223a;
  border:1px solid rgba(103,132,173,.25);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.asset-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  background:#17243b;
}
.asset-photo-card:hover{transform:translateY(-2px);border-color:#59b7ff;box-shadow:0 14px 26px rgba(3,10,19,.18)}
.asset-photo-card.is-active{border-color:#61c8ff;box-shadow:0 0 0 2px rgba(97,200,255,.18),0 18px 32px rgba(8,18,32,.22)}
.asset-photo-card.pending{height:124px}
.asset-photo-card figcaption{z-index:2}
.asset-gallery-empty{
  width:100%;
  min-height:128px;
  border:1px dashed rgba(103,132,173,.24);
  border-radius:14px;
  background:rgba(11,23,40,.35);
}
.asset-form-page.is-modal-form .asset-preview-stage{
  min-height:280px!important;
  grid-template-columns:46px minmax(0,1fr) 46px!important;
  padding:12px!important;
  margin-bottom:12px!important;
}
.asset-form-page.is-modal-form .asset-preview-figure{min-height:230px!important}
.asset-form-page.is-modal-form .asset-preview-figure img{max-height:260px!important}
.asset-form-page.is-modal-form .asset-preview-empty{min-height:210px!important}
.asset-form-page.is-modal-form .asset-gallery{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 8px!important;
  scroll-snap-type:x proximity;
}
.asset-form-page.is-modal-form .asset-photo-card{
  flex:0 0 160px!important;
  width:160px!important;
  height:118px!important;
  scroll-snap-align:start;
}
.asset-form-page.is-modal-form .asset-photo-card.pending{height:118px!important}
@media(max-width:920px){
  .asset-preview-stage{
    grid-template-columns:1fr!important;
    padding:12px!important;
    gap:10px!important;
    min-height:0!important;
  }
  .asset-preview-figure{min-height:220px!important}
  .asset-preview-figure img{max-height:260px!important}
  .asset-preview-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
  }
  .asset-preview-nav--prev{left:14px}
  .asset-preview-nav--next{right:14px}
  .asset-gallery{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:8px;scroll-snap-type:x proximity}
  .asset-photo-card{flex:0 0 150px;width:150px;height:112px;scroll-snap-align:start}
}
@media(max-width:640px){
  .asset-preview-empty b{font-size:16px}
  .asset-preview-figure{min-height:190px!important}
  .asset-preview-figure figcaption{left:10px;right:10px;bottom:10px;padding:9px 11px}
  .asset-preview-figure figcaption b{font-size:12px}
  .asset-preview-figure figcaption small{font-size:10px}
  .asset-preview-nav,
  .asset-preview-expand{width:40px;height:40px}
}

/* =========================================================
   ACTIVOS · preview premium v2 · principal + zoom + navegación
   ========================================================= */
.asset-preview-nav svg,
.asset-lightbox-nav svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.asset-preview-primary{
  position:absolute;
  z-index:3;
  top:14px;
  left:14px;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(81,232,167,.34);
  background:linear-gradient(135deg,rgba(15,104,76,.90),rgba(9,67,52,.90));
  color:#8ff7c6;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.11em;
  box-shadow:0 10px 24px rgba(0,20,15,.20),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}
.asset-preview-primary::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#65f2ae;
  box-shadow:0 0 12px rgba(101,242,174,.75);
}
.asset-preview-primary[hidden]{display:none!important}
.asset-photo-primary-badge{
  position:absolute;
  z-index:4;
  left:8px;
  top:8px;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(81,232,167,.36);
  background:rgba(8,74,54,.90);
  color:#8df2c0;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.07em;
  box-shadow:0 5px 12px rgba(0,15,12,.22);
}
.asset-photo-card.is-primary{
  border-color:rgba(86,232,170,.58);
}
.asset-photo-card.is-primary::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(103,245,188,.10);
}
.asset-preview-nav{
  background:linear-gradient(145deg,rgba(20,58,96,.96),rgba(7,27,52,.96));
  color:#dff5ff;
}
.asset-preview-nav:hover{
  color:#fff;
  background:linear-gradient(145deg,#1d6fa8,#0b385f);
}
.asset-preview-expand{
  border-radius:13px;
  background:rgba(6,24,44,.82);
}
.asset-preview-expand svg{width:20px;height:20px}

/* Lightbox premium */
.asset-image-lightbox.asset-image-lightbox--premium{
  background:rgba(0,5,14,.18);
}
.asset-image-lightbox--premium .asset-image-lightbox-backdrop{
  background:linear-gradient(180deg,rgba(0,5,14,.95),rgba(2,10,20,.97));
  backdrop-filter:blur(8px);
}
.asset-image-lightbox-topbar{
  position:absolute;
  z-index:5;
  top:16px;
  left:20px;
  right:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  pointer-events:none;
}
.asset-image-lightbox-info{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 15px;
  border:1px solid rgba(116,180,235,.16);
  border-radius:14px;
  background:rgba(8,25,46,.56);
  color:#f2f9ff;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  pointer-events:auto;
}
.asset-image-lightbox-info strong{font-size:12px;letter-spacing:.04em}
.asset-image-lightbox-info span{
  min-width:44px;
  height:25px;
  padding:0 8px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(71,169,238,.14);
  color:#8edaff;
  font-size:10px;
  font-weight:900;
}
.asset-image-lightbox--premium .asset-image-lightbox-toolbar{
  position:static;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:46px;
  padding:5px 7px;
  border:1px solid rgba(116,180,235,.16);
  border-radius:14px;
  background:rgba(8,25,46,.62);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  pointer-events:auto;
}
.asset-image-lightbox--premium .asset-image-lightbox-toolbar button{
  width:36px;
  height:36px;
  border-radius:10px;
  font-size:20px;
}
.asset-image-lightbox--premium .asset-image-lightbox-toolbar button.close{
  width:38px;
  height:38px;
  margin-left:3px;
  border-radius:11px;
  color:#ffd7dc;
  background:rgba(106,35,49,.34);
}
.asset-lightbox-zoom-value{
  min-width:56px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(5,18,34,.55);
  color:#bfe8ff;
  font-size:10px;
  font-weight:900;
  border:1px solid rgba(111,180,233,.10);
}
.asset-image-lightbox--premium .asset-image-lightbox-stage{
  width:calc(100vw - 170px);
  height:calc(100vh - 130px);
  margin-top:34px;
  border-radius:20px;
  background:
    radial-gradient(circle at center,rgba(21,64,101,.18),transparent 58%),
    rgba(2,10,19,.28);
  border:1px solid rgba(116,180,235,.10);
}
.asset-image-lightbox--premium .asset-image-lightbox-stage img{
  max-width:94%;
  max-height:92%;
  border-radius:10px;
  box-shadow:0 28px 90px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.04);
}
.asset-lightbox-nav{
  position:absolute;
  z-index:6;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(117,185,238,.22);
  background:linear-gradient(145deg,rgba(16,52,87,.86),rgba(5,22,43,.90));
  color:#e9f8ff;
  cursor:pointer;
  box-shadow:0 18px 34px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.asset-lightbox-nav--prev{left:24px}
.asset-lightbox-nav--next{right:24px}
.asset-lightbox-nav:hover{
  transform:translateY(-50%) scale(1.05);
  background:linear-gradient(145deg,#1c6ca6,#0a345b);
  border-color:#55bfff;
}
.asset-lightbox-nav[hidden]{display:none!important}
.asset-image-lightbox--premium .asset-image-lightbox-caption{
  bottom:20px;
  min-width:220px;
  max-width:min(720px,72vw);
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid rgba(117,185,238,.12);
  background:rgba(5,20,38,.78);
  color:#dcefff;
  font-size:11px;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
}
@media(max-width:760px){
  .asset-preview-primary{top:10px;left:10px;min-height:26px;padding:0 9px;font-size:8px}
  .asset-photo-primary-badge{font-size:7px}
  .asset-image-lightbox-topbar{top:10px;left:10px;right:10px;align-items:flex-start}
  .asset-image-lightbox-info{display:none}
  .asset-image-lightbox--premium .asset-image-lightbox-toolbar{margin-left:auto}
  .asset-image-lightbox--premium .asset-image-lightbox-stage{width:100vw;height:calc(100vh - 94px);margin-top:28px;border-radius:0;border-left:0;border-right:0}
  .asset-lightbox-nav{width:44px;height:44px}
  .asset-lightbox-nav--prev{left:10px}
  .asset-lightbox-nav--next{right:10px}
  .asset-lightbox-zoom-value{min-width:48px}
}


/* =========================================================
   ACTIVOS · corrección final carrusel 1 foto + nuevo limpio
   03-09-2026
   ========================================================= */
/* Fija cada elemento en su columna. Así una sola foto nunca cae
   en la columna angosta de la flecha izquierda. */
.asset-preview-stage > .asset-preview-nav--prev{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:center!important;
}
.asset-preview-stage > .asset-preview-figure{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}
.asset-preview-stage > .asset-preview-nav--next{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:center!important;
}
.asset-preview-stage > .asset-preview-empty{
  grid-column:1 / -1!important;
  grid-row:1!important;
}
/* Una sola fotografía: centrada, amplia y limpia. */
.asset-preview-stage.is-single{
  grid-template-columns:54px minmax(0,1fr) 54px!important;
}
.asset-preview-stage.is-single .asset-preview-figure{
  max-width:1060px!important;
  margin-inline:auto!important;
}
.asset-preview-stage.is-single .asset-preview-figure img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
/* En Nuevo activo ya existe la vista previa superior. No dejamos
   una segunda caja vacía de "Agrega evidencia fotográfica". */
.asset-gallery.is-empty{
  display:none!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
.asset-gallery [data-gallery-empty]{display:none!important}
/* Miniaturas cuando sí existen fotos. */
.asset-gallery:not(.is-empty){
  margin-top:2px!important;
}
.asset-form-page.is-modal-form .asset-gallery.is-empty{
  display:none!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
}
/* Modal: una foto ocupa siempre el escenario central completo. */
.asset-form-page.is-modal-form .asset-preview-stage > .asset-preview-figure{
  grid-column:2!important;
  width:100%!important;
  max-width:none!important;
}
.asset-form-page.is-modal-form .asset-preview-stage.is-single .asset-preview-figure{
  min-height:250px!important;
}
.asset-form-page.is-modal-form .asset-preview-stage.is-single .asset-preview-figure img{
  max-height:290px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:920px){
  .asset-preview-stage > .asset-preview-figure,
  .asset-form-page.is-modal-form .asset-preview-stage > .asset-preview-figure{
    grid-column:1!important;
    grid-row:1!important;
  }
  .asset-preview-stage > .asset-preview-nav--prev,
  .asset-preview-stage > .asset-preview-nav--next{
    grid-column:1!important;
    grid-row:1!important;
  }
  .asset-preview-stage.is-single .asset-preview-figure{
    max-width:100%!important;
  }
}


/* =========================================================
   ACTAS · editar activo sin abandonar el acta
   ========================================================= */
.acta-asset-modal-shell .asset-modal-window{
  width:min(1380px,calc(100vw - 54px))!important;
  height:min(92vh,900px)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:0 30px 80px rgba(0,8,22,.55)!important;
}
.acta-asset-modal-shell .asset-modal-backdrop{
  background:rgba(0,8,20,.76)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
@media(max-width:820px){
  .acta-asset-modal-shell .asset-modal-window{
    width:calc(100vw - 18px)!important;
    height:94vh!important;
    border-radius:16px!important;
  }
}

/* =========================================================
   GPS DE EVIDENCIA · detección directa + EXIF + reintento
   ========================================================= */
.asset-geo-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.asset-geo-retry{
  height:30px;
  padding:0 10px;
  border:1px solid rgba(88,174,229,.24);
  border-radius:999px;
  background:#0d3555;
  color:#9ed7fb;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
  transition:.16s ease;
}
.asset-geo-retry:hover{
  background:#124a73;
  border-color:rgba(96,197,255,.42);
  color:#e9f8ff;
}
.asset-geo-capture[data-state="unavailable"] .asset-geo-retry{
  color:#ffd39d;
  border-color:rgba(255,173,99,.28);
  background:rgba(122,67,26,.18);
}
.asset-geo-capture[data-state="ready"] .asset-geo-retry{
  color:#80f4c2;
  border-color:rgba(72,227,157,.28);
  background:rgba(22,112,77,.16);
}
@media(max-width:620px){
  .asset-geo-actions{
    grid-column:2;
    justify-content:flex-start;
  }
}


/* =========================================================
   SELECTOR DE EMPRESA · listado con scroll + acciones fijas
   04-09-2026
   ========================================================= */
.company-selector-card{
  display:flex!important;
  flex-direction:column!important;
  height:min(780px,calc(100vh - 34px))!important;
  max-height:calc(100vh - 34px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.company-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 6px;
  flex:0 0 auto;
}
.company-list-head .company-label{margin:0!important}
.company-count{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#edf5ff;
  border:1px solid #cee2f8;
  color:#47719c;
  font-size:9px;
  font-weight:850;
  white-space:nowrap;
}
.company-selection-hint{
  flex:0 0 auto;
}
.company-options{
  flex:1 1 auto!important;
  min-height:120px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  padding:2px 5px 4px 1px!important;
  margin:0 0 10px!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#66a8e9 #edf4fb;
}
.company-options::-webkit-scrollbar{width:8px}
.company-options::-webkit-scrollbar-track{background:#edf4fb;border-radius:999px}
.company-options::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#7bb9f4,#4c91dc);
  border-radius:999px;
  border:2px solid #edf4fb;
}
.company-options::-webkit-scrollbar-thumb:hover{background:#3d83d0}
.company-option{
  flex:0 0 auto!important;
}
.company-enter,
.company-logout{
  flex:0 0 auto!important;
}
.company-enter{
  box-shadow:0 8px 20px rgba(46,126,217,.16);
}
.company-enter:not(:disabled){
  background:linear-gradient(135deg,#2385ea,#176fd1)!important;
  border-color:#176fd1!important;
}
.company-enter:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(46,126,217,.24);
}

@media(max-height:760px) and (min-width:1101px){
  .company-selector-card{
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
    padding:12px 26px 10px!important;
  }
  .company-card-logo{height:40px!important;width:72px!important;margin-bottom:0!important}
  .company-selector-card h2{font-size:27px!important}
  .company-intro{margin-bottom:7px!important}
  .company-user-box{padding:6px 9px!important;margin-bottom:7px!important}
  .company-selection-hint{min-height:36px!important;margin-bottom:7px!important}
  .company-options{min-height:100px!important;margin-bottom:7px!important;gap:5px!important}
  .company-option{min-height:47px!important;padding:5px 9px!important}
  .company-enter{height:40px!important}
  .company-logout{height:36px!important;margin-top:6px!important}
}

@media(max-width:1100px){
  .company-select-side{
    height:100vh!important;
    min-height:100vh!important;
    overflow:hidden!important;
  }
  .company-selector-card{
    width:min(620px,100%)!important;
    height:calc(100vh - 48px)!important;
    max-height:calc(100vh - 48px)!important;
    overflow:hidden!important;
  }
  .company-options{
    min-height:160px!important;
  }
}
@media(max-width:560px){
  .company-select-side{padding:10px!important}
  .company-selector-card{
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
    padding:14px 14px 12px!important;
  }
  .company-card-logo{height:44px!important;margin-bottom:0!important}
  .company-selector-card h2{font-size:25px!important}
  .company-intro{font-size:11px!important;margin-bottom:8px!important}
  .company-user-box{margin-bottom:8px!important}
  .company-option{min-height:51px!important}
  .company-option-copy strong{font-size:10.8px!important}
  .company-enter{height:43px!important}
  .company-logout{height:39px!important;margin-top:6px!important}
}

/* =========================================================
   EMPRESAS · estado Activo/Inactivo sin redirecciones
   ========================================================= */
.company-status-toggle{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  height:auto!important;
}
.company-status-choice{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(103,138,190,.24);
  background:#102544;
  color:#93a9c6;
  min-width:118px;
  height:40px;
  padding:0 16px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.company-status-choice i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#6f86a6;
  box-shadow:0 0 0 4px rgba(111,134,166,.08);
}
.company-status-choice:hover{transform:translateY(-1px);border-color:#4b88c7}
.company-status-choice.is-selected{
  background:rgba(45,198,108,.16);
  border-color:rgba(70,229,137,.42);
  color:#7ff0ad;
  box-shadow:0 0 0 3px rgba(55,211,122,.06);
}
.company-status-choice.is-selected i{background:#48e58f;box-shadow:0 0 12px rgba(72,229,143,.55)}
.company-status-choice.is-inactive.is-selected{
  background:rgba(225,74,98,.15);
  border-color:rgba(255,104,126,.40);
  color:#ff9daf;
  box-shadow:0 0 0 3px rgba(237,80,105,.05);
}
.company-status-choice.is-inactive.is-selected i{background:#ff7189;box-shadow:0 0 12px rgba(255,113,137,.45)}
.company-save-btn.is-saving,
.company-save-btn:disabled{
  opacity:.72;
  cursor:wait;
  pointer-events:none;
}
@media(max-width:560px){
  .company-status-toggle{flex-wrap:wrap!important}
  .company-status-choice{flex:1 1 130px;min-width:0}
}


/* =========================================================
   LOGIN EJECUTIVO / SOBRIO · 04-09-2026
   ========================================================= */
.public-shell{
  background:#edf4fa!important;
}
.login-layout.login-layout--executive{
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,58%) minmax(420px,42%)!important;
  overflow:hidden!important;
  background:#edf4fa!important;
}
.login-hero.login-hero--executive{
  position:relative!important;
  min-height:100vh!important;
  padding:clamp(58px,6vw,92px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
  color:#fff!important;
  background-image:
    linear-gradient(90deg,rgba(5,28,65,.88) 0%,rgba(5,31,70,.78) 48%,rgba(5,39,82,.60) 72%,rgba(5,43,87,.48) 100%),
    linear-gradient(180deg,rgba(6,34,73,.08) 0%,rgba(5,31,69,.18) 64%,rgba(3,24,55,.40) 100%),
    url('../img/login-revalue-hero.jpg')!important;
  background-size:cover!important;
  background-position:center 58%!important;
  background-repeat:no-repeat!important;
}
.login-hero.login-hero--executive::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 58%,rgba(54,184,255,.19),transparent 28%),
    radial-gradient(circle at 16% 14%,rgba(77,150,255,.15),transparent 24%),
    linear-gradient(120deg,transparent 0 66%,rgba(117,216,255,.06) 66.2% 66.6%,transparent 67%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%);
  mix-blend-mode:screen;
}
.login-hero-logo{
  display:block!important;
  width:148px!important;
  max-width:28%!important;
  height:auto!important;
  margin:0 0 24px!important;
  filter:brightness(0) invert(1) drop-shadow(0 8px 22px rgba(0,18,46,.34));
  opacity:.98;
}
.login-hero-copy{
  position:relative;
  z-index:2;
  width:min(690px,100%);
  text-shadow:0 2px 20px rgba(0,21,54,.26);
}
.login-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  margin-bottom:22px;
  border:1px solid rgba(210,225,248,.38);
  border-radius:999px;
  background:rgba(8,48,94,.26);
  color:#f4f8ff;
  backdrop-filter:blur(6px);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.login-hero.login-hero--executive h1{
  max-width:620px!important;
  margin:0 0 24px!important;
  color:#fff!important;
  font-size:clamp(34px,3.8vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
  text-wrap:balance;
}
.login-hero-lead{
  max-width:640px!important;
  margin:0 0 28px!important;
  color:#e6edf8!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.login-feature-list{
  display:grid;
  gap:11px;
  margin-top:8px;
}
.login-feature-list>div{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.login-feature-list>div>span{
  flex:0 0 7px;
  width:7px;
  height:7px;
  margin-top:7px;
  border-radius:50%;
  background:#8db8ff;
  box-shadow:0 0 0 4px rgba(141,184,255,.10);
}
.login-feature-list p{
  margin:0!important;
  color:#f1f5fb!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.login-hero-signature{
  position:absolute;
  left:clamp(58px,6vw,92px);
  bottom:34px;
  z-index:2;
  color:rgba(229,238,250,.56);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.login-side.login-side--executive{
  min-height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:36px!important;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.85),rgba(239,246,252,.92) 42%,rgba(231,240,248,.98) 100%)!important;
  overflow:auto!important;
}
.login-card.login-card--executive{
  width:min(430px,94%)!important;
  padding:34px 32px 28px!important;
  border:1px solid #d1deea!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 24px 58px rgba(20,48,78,.13)!important;
}
.login-card-logo{
  display:block!important;
  width:84px!important;
  margin:0 auto 12px!important;
}
.login-system-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:28px;
  margin:0 auto 14px;
  padding:0 11px;
  border:1px solid #c9d9e8;
  border-radius:999px;
  background:#f5f9fd;
  color:#436183;
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
}
.login-card.login-card--executive h2{
  margin:0!important;
  text-align:center!important;
  color:#07162a!important;
  font-size:34px!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
}
.login-card-subtitle{
  max-width:340px!important;
  margin:12px auto 22px!important;
  color:#6c8099!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.login-card.login-card--executive label{
  margin:13px 0 6px!important;
  color:#12263f!important;
  font-size:12px!important;
  font-weight:850!important;
}
.login-card.login-card--executive .input{
  min-height:46px!important;
  padding:0 14px!important;
  border:1px solid #d7e2ee!important;
  border-radius:10px!important;
  background:#eef4fb!important;
  color:#132b46!important;
  box-shadow:inset 0 1px 2px rgba(14,37,62,.02)!important;
}
.login-card.login-card--executive .input:focus{
  outline:none!important;
  border-color:#7bb2ee!important;
  background:#f6faff!important;
  box-shadow:0 0 0 3px rgba(69,137,213,.12)!important;
}
.login-card.login-card--executive .password-toggle{
  right:7px!important;
  width:40px!important;
  height:36px!important;
}
.login-card.login-card--executive .login-submit{
  min-height:46px!important;
  margin-top:18px!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#1d79d4,#216fc0)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 10px 20px rgba(29,121,212,.18)!important;
}
.login-card.login-card--executive .login-submit:hover{
  filter:brightness(1.03);
  transform:translateY(-1px);
}
.login-security-note{
  display:block;
  margin-top:14px;
  text-align:center;
  color:#8a9cb0;
  font-size:10px;
  letter-spacing:.02em;
}
@media(max-width:1350px) and (min-width:1101px){
  .login-hero.login-hero--executive{
    padding:clamp(42px,4.4vw,66px)!important;
    background-position:58% 58%!important;
  }
  .login-hero.login-hero--executive h1{font-size:clamp(32px,3.45vw,47px)!important}
  .login-hero-logo{width:128px!important;margin-bottom:20px!important}
}
@media(max-width:1100px){
  .login-layout.login-layout--executive{grid-template-columns:1fr!important}
  .login-hero.login-hero--executive{display:none!important}
  .login-side.login-side--executive{min-height:100vh!important;padding:24px!important}
}
@media(max-width:560px){
  .login-side.login-side--executive{padding:14px!important}
  .login-card.login-card--executive{width:100%!important;padding:28px 20px 24px!important;border-radius:20px!important}
  .login-card.login-card--executive h2{font-size:30px!important}
  .login-card-logo{width:74px!important}
}

/* =========================================================
   LOGIN EJECUTIVO · logo FRAISSL con mayor presencia
   04-09-2026
   ========================================================= */
.login-card.login-card--executive .login-card-logo{
  width:132px!important;
  max-width:38%!important;
  height:auto!important;
  margin:0 auto 14px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(26,75,120,.10));
}
@media(max-width:560px){
  .login-card.login-card--executive .login-card-logo{
    width:112px!important;
    max-width:42%!important;
    margin-bottom:12px!important;
  }
}

/* =========================================================
   SELECTOR DE EMPRESA · diseño sobrio adaptable
   04-09-2026
   ========================================================= */
body.public-shell{
  background:linear-gradient(135deg,#eef3f8 0%,#e9eff6 100%)!important;
}
.company-select-layout--executive{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,64%) minmax(390px,36%)!important;
  background:#edf3f8!important;
  overflow:hidden!important;
}
.company-select-hero--executive{
  min-height:100vh!important;
  padding:clamp(54px,6vw,92px) clamp(46px,5.5vw,86px)!important;
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:
    linear-gradient(90deg,rgba(2,42,93,.94) 0%,rgba(3,49,104,.84) 34%,rgba(5,64,125,.58) 67%,rgba(7,77,138,.26) 100%),
    linear-gradient(180deg,rgba(0,35,79,.08) 0%,rgba(0,37,85,.22) 100%),
    url('../img/company-select-left-bg.png') center center / cover no-repeat!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.12)!important;
}
.company-select-hero--executive > *{
  position:relative!important;
  z-index:3!important;
}
.company-select-hero--executive::before,
.company-select-hero--executive::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  width:210px!important;
  height:190px!important;
  pointer-events:none!important;
  z-index:2!important;
  opacity:.92!important;
  background-image:radial-gradient(circle,#27b5ff 0 2px,transparent 2.4px)!important;
  background-size:11px 11px!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 46%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 46%,transparent 100%)!important;
}
.company-select-hero--executive::before{top:0!important;}
.company-select-hero--executive::after{bottom:0!important;transform:scaleY(-1)!important;}
.company-hero-visual{display:none!important;}
.company-select-hero--executive .company-pill{
  min-height:32px!important;
  margin:0 0 22px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  border:1px solid rgba(112,201,255,.32)!important;
  border-radius:999px!important;
  background:rgba(10,80,145,.34)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(6px)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
}
.company-select-hero--executive h1{
  width:min(430px,100%)!important;
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:clamp(43px,4.1vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
  text-shadow:0 6px 28px rgba(0,26,67,.28)!important;
}
.company-select-hero--executive > p{
  width:min(650px,92%)!important;
  max-width:650px!important;
  margin:0 0 24px!important;
  color:rgba(255,255,255,.96)!important;
  font-size:14px!important;
  line-height:1.62!important;
  text-shadow:0 2px 16px rgba(0,30,70,.25)!important;
}
.company-select-hero--executive .company-benefits{
  display:grid!important;
  gap:10px!important;
  margin-top:0!important;
  color:#fff!important;
  font-size:12.5px!important;
}
.company-select-hero--executive .company-benefits span{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  color:rgba(255,255,255,.96)!important;
}
.company-select-hero--executive .company-benefits i{
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:#55c3ff!important;
  box-shadow:0 0 0 4px rgba(80,189,255,.12),0 0 16px rgba(80,189,255,.30)!important;
}
.company-select-side--executive{
  min-height:100vh!important;
  height:100vh!important;
  padding:12px 18px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#f2f7fb 0%,#e8f0f7 100%)!important;
  overflow:hidden!important;
}
.company-selector-card--adaptive{
  width:min(455px,100%)!important;
  height:calc(100vh - 24px)!important;
  min-height:600px!important;
  max-height:900px!important;
  padding:20px 24px 18px!important;
  border:1px solid #d6e2ed!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.98)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  overflow:hidden!important;
  box-shadow:0 18px 44px rgba(14,49,81,.14)!important;
}
.company-card-logo--executive{
  width:92px!important;
  height:52px!important;
  object-fit:contain!important;
  margin:0 auto 4px!important;
}
.company-selector-card--adaptive h2{
  margin:0 0 2px!important;
  text-align:left!important;
  color:#06192f!important;
  font-size:27px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}
.company-selector-card--adaptive .company-intro{
  margin:0 0 12px!important;
  text-align:left!important;
  color:#6b8098!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:58px!important;
  margin:0 0 12px!important;
  padding:7px 10px!important;
  border:1px solid #c6dcf3!important;
  border-radius:12px!important;
  background:#edf6ff!important;
}
.company-selector-card--adaptive .company-avatar{
  width:42px!important;
  height:42px!important;
  font-size:14px!important;
}
.company-selector-card--adaptive .company-user-copy strong{font-size:12.5px!important;}
.company-selector-card--adaptive .company-user-copy small{font-size:9px!important;}
.company-selector-card--adaptive .company-list-head{
  margin:0 0 6px!important;
}
.company-selector-card--adaptive .company-label{font-size:11px!important;}
.company-selector-card--adaptive .company-count{
  min-height:24px!important;
  padding:0 9px!important;
  font-size:9px!important;
}
.company-selector-card--adaptive .company-selection-hint{
  min-height:38px!important;
  margin-bottom:8px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
}
.company-selector-card--adaptive .company-options{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 10px!important;
  padding:2px 4px 2px 2px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  scrollbar-width:thin!important;
  scrollbar-color:#67adf1 #edf4fb!important;
}
.company-selector-card--adaptive .company-option{
  min-height:49px!important;
  padding:6px 9px!important;
  border-radius:10px!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:35px!important;
  height:35px!important;
  border-radius:9px!important;
}
.company-selector-card--adaptive .company-option-copy strong{
  font-size:10.8px!important;
  line-height:1.15!important;
}
.company-selector-card--adaptive .company-option-copy small{
  font-size:8.8px!important;
  margin-top:2px!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  display:grid!important;
  gap:7px!important;
  flex:0 0 auto!important;
}
.company-selector-card--adaptive .company-enter,
.company-selector-card--adaptive .company-logout{
  width:100%!important;
  border-radius:10px!important;
}
.company-selector-card--adaptive .company-enter{
  height:42px!important;
  font-size:12px!important;
}
.company-selector-card--adaptive .company-logout{
  height:38px!important;
  font-size:11px!important;
}
@media (min-width:1101px){
  body.public-shell{overflow:hidden!important}
}
@media (max-width:1300px){
  .company-select-layout--executive{
    grid-template-columns:minmax(360px,52%) minmax(380px,48%)!important;
  }
  .company-select-hero--executive h1{
    font-size:clamp(36px,3.8vw,54px)!important;
  }
}
@media (max-width:1100px){
  .company-select-layout--executive{
    grid-template-columns:1fr!important;
    min-height:100vh!important;
    height:auto!important;
  }
  .company-select-hero--executive{
    display:none!important;
  }
  .company-select-side--executive{
    min-height:100vh!important;
    height:auto!important;
    padding:20px!important;
    overflow:auto!important;
  }
  .company-selector-card--adaptive{
    width:min(620px,100%)!important;
    min-height:auto!important;
    max-height:min(calc(100dvh - 26px),900px)!important;
  }
}
@media (max-width:640px){
  .company-select-side--executive{
    padding:12px!important;
  }
  .company-selector-card--adaptive{
    width:100%!important;
    min-height:calc(100dvh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    padding:18px 16px 14px!important;
    border-radius:22px!important;
  }
  .company-card-logo--executive{
    width:96px!important;
    height:58px!important;
    margin-bottom:6px!important;
  }
  .company-selector-card--adaptive h2{
    font-size:24px!important;
  }
  .company-selector-card--adaptive .company-intro{
    font-size:12px!important;
    margin-bottom:12px!important;
  }
  .company-selector-card--adaptive .company-user-box{
    margin-bottom:12px!important;
    padding:8px 10px!important;
  }
  .company-selector-card--adaptive .company-options{
    max-height:min(calc(var(--company-count) * 62px + 12px), 44dvh)!important;
    margin-bottom:12px!important;
  }
  .company-selector-card--adaptive .company-option{
    min-height:56px!important;
    padding:8px 10px!important;
  }
  .company-selector-card--adaptive .company-option-copy strong{
    font-size:11.6px!important;
  }
  .company-selector-card--adaptive .company-option-copy small{
    font-size:9.5px!important;
  }
  .company-selector-card--adaptive .company-enter{
    height:46px!important;
  }
  .company-selector-card--adaptive .company-logout{
    height:42px!important;
  }
}


/* =========================================================
   PARCHE 29-09-2026 · FOTOS ADITIVAS + PRINCIPAL + ORDEN
   ========================================================= */
.asset-photo-card{padding-bottom:34px!important;background:#10233b!important}
.asset-photo-card img{height:calc(100% - 34px)!important;align-self:start!important}
.asset-photo-card figcaption{bottom:39px!important}
.asset-photo-orderbar{
  position:absolute;z-index:6;left:5px;right:5px;bottom:5px;height:27px;
  display:grid;grid-template-columns:minmax(0,1fr) 25px 24px 25px;gap:3px;align-items:center;
  padding:3px;border-radius:8px;background:rgba(4,18,35,.92);border:1px solid rgba(100,173,231,.18);
  backdrop-filter:blur(8px)
}
.asset-photo-orderbar button{
  height:21px;min-width:0;border:0;border-radius:6px;background:#173d62;color:#d8efff;
  font-size:13px;font-weight:900;cursor:pointer;display:grid;place-items:center;padding:0
}
.asset-photo-orderbar button:hover:not(:disabled){background:#22689e;color:#fff}
.asset-photo-orderbar button:disabled{opacity:.38;cursor:default}
.asset-photo-orderbar .asset-photo-primary-btn{font-size:7.5px;letter-spacing:.02em;padding:0 5px;white-space:nowrap}
.asset-photo-orderbar .asset-photo-primary-btn.is-selected{background:#0c6648;color:#9af4ca;opacity:1}
.asset-photo-orderbar span{
  height:21px;border-radius:6px;background:#081a2e;color:#82d8ff;display:grid;place-items:center;
  font-size:8px;font-weight:1000
}
.asset-photo-order-help{
  margin-top:8px;padding:8px 10px;border-radius:9px;border:1px solid rgba(82,157,215,.16);
  background:rgba(8,28,49,.42);display:flex;align-items:center;gap:10px;color:#93b6d3;font-size:9px
}
.asset-photo-order-help b{color:#d9f2ff;white-space:nowrap}
.asset-photo-order-help strong{color:#8ff3c4}
.asset-photo-card .asset-photo-remove{z-index:8}
.asset-photo-primary-badge{z-index:7!important}
.user-company-admin-help{display:block;margin-top:6px;color:#7f9fbd;font-size:9px;line-height:1.35}
@media(max-width:640px){
  .asset-photo-order-help{align-items:flex-start;flex-direction:column;gap:3px}
  .asset-photo-orderbar .asset-photo-primary-btn{font-size:7px}
}

/* =========================================================
   PARCHE 29-09-2026 · ACTAS/ACTIVOS · OTRO CÓDIGO + RESUMEN
   ========================================================= */
/* ACTivos: nueva columna OTRO CÓDIGO sin perder el ajuste a pantalla. */
.assets-table col.assets-col-label{width:8%!important}
.assets-table col.assets-col-other{width:9%!important}
.assets-table col.assets-col-group{width:12%!important}
.assets-table col.assets-col-class{width:12%!important}
.assets-table col.assets-col-description{width:15%!important}
.assets-table col.assets-col-brand{width:8%!important}
.assets-table col.assets-col-model{width:8%!important}
.assets-table col.assets-col-serial{width:8%!important}
.assets-table col.assets-col-image{width:8%!important}
.assets-table col.assets-col-process{width:8%!important}
.assets-table col.assets-col-actions{width:4%!important}
.assets-other-code-cell{font-weight:750;color:#b9dcff!important}

/* Actas: columna OTRO CÓDIGO dentro del detalle de activos. */
.acta-assets-table col.acta-asset-col-label{width:7%!important}
.acta-assets-table col.acta-asset-col-other{width:9%!important}
.acta-assets-table col.acta-asset-col-type{width:14%!important}
.acta-assets-table col.acta-asset-col-class{width:13%!important}
.acta-assets-table col.acta-asset-col-desc{width:14%!important}
.acta-assets-table col.acta-asset-col-extra{width:15%!important}
.acta-assets-table col.acta-asset-col-image{width:11%!important}
.acta-assets-table col.acta-asset-col-process{width:9%!important}
.acta-assets-table col.acta-asset-col-actions{width:8%!important}
.acta-assets-table td:nth-child(8){font-size:10px!important}

/* Resumen dinámico por proceso: muestra únicamente los procesos presentes en el acta. */
.acta-person-card>.acta-process-totals{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin-top:3px!important;
  padding:7px!important;
  border:1px solid rgba(73,186,245,.16)!important;
  border-radius:8px!important;
  background:rgba(6,28,51,.42)!important;
}
.acta-process-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  padding:4px 6px!important;
  border-radius:7px!important;
  background:#0b2948!important;
  border:1px solid rgba(82,164,224,.14)!important;
}
.acta-process-chip span{
  color:#b8d8f1!important;
  font-size:8.5px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.acta-process-chip strong{
  width:auto!important;
  min-width:22px!important;
  height:20px!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:999px!important;
  background:#49baf5!important;
  color:#06223b!important;
  font-size:9px!important;
  font-weight:950!important;
  display:inline-grid!important;
  place-items:center!important;
}

/* Buscador de custodios/usuarios: modal y lista más amplios para nombres largos. */
@media(min-width:901px){
  .acta-modal-card.compact{
    width:min(96vw,1040px)!important;
    min-height:350px!important;
    overflow:visible!important;
  }
  .acta-modal-card.compact form{
    min-height:270px!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .acta-modal-card.compact .acta-modal-footer{margin-top:auto!important}
}
.acta-picker-suggestions{
  right:0!important;
  max-height:310px!important;
  z-index:80!important;
}
.acta-picker-option{
  padding:11px 13px!important;
  gap:4px!important;
}
.acta-picker-option strong{
  font-size:12.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.acta-picker-option small{
  font-size:10.5px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:900px){
  .assets-table{
    width:1230px!important;
    min-width:1230px!important;
  }
  .assets-table col.assets-col-label{width:105px!important}
  .assets-table col.assets-col-other{width:120px!important}
  .assets-table col.assets-col-group{width:145px!important}
  .assets-table col.assets-col-class{width:145px!important}
  .assets-table col.assets-col-description{width:170px!important}
  .assets-table col.assets-col-brand{width:100px!important}
  .assets-table col.assets-col-model{width:100px!important}
  .assets-table col.assets-col-serial{width:90px!important}
  .assets-table col.assets-col-image{width:90px!important}
  .assets-table col.assets-col-process{width:105px!important}
  .assets-table col.assets-col-actions{width:60px!important}
  .acta-assets-table{min-width:1040px!important}
  .acta-picker-suggestions{max-height:250px!important}
}
.acta-modal-table{min-width:1180px!important}

/* ================================================================
   PARCHE 29-09-2026 · ACTAS · TRANSFERIR / DESVINCULAR
   Un solo scroll vertical: se usa únicamente el scroll general del modal.
   ================================================================ */
.acta-modal[data-acta-modal="transfer"] .acta-modal-card.wide,
.acta-modal[data-acta-modal="unlink"] .acta-modal-card.wide{
  overflow-y:auto!important;
  overflow-x:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.acta-modal[data-acta-modal="transfer"] .acta-modal-table-wrap,
.acta-modal[data-acta-modal="unlink"] .acta-modal-table-wrap{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}

/* El encabezado continúa visible al recorrer la lista usando el scroll general. */
.acta-modal[data-acta-modal="transfer"] .acta-modal-table th,
.acta-modal[data-acta-modal="unlink"] .acta-modal-table th{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
}

/* KPI 2026-10 · desactivación segura de activos */
.asset-danger-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 24px;padding:12px 16px;border:1px solid rgba(215,78,78,.28);border-radius:12px;background:rgba(155,35,35,.07)}
.asset-danger-form small{color:#8fa1b7;font-size:11px;line-height:1.45;flex:1;min-width:220px}
.asset-deactivate-btn{height:38px;padding:0 14px;border-radius:10px;border:1px solid rgba(225,82,82,.4);background:rgba(170,39,39,.16);color:#ef8b8b;font-weight:750;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.asset-deactivate-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.asset-deactivate-btn:hover{background:rgba(195,45,45,.24);color:#ffb2b2}
html[data-theme="light"] .asset-danger-form{background:#fff7f7;border-color:#edcccc}html[data-theme="light"] .asset-danger-form small{color:#687b8f}
@media(max-width:640px){.asset-danger-form{align-items:stretch}.asset-deactivate-btn{justify-content:center;width:100%}}

/* ==========================================================
   VEHÍCULOS · CARGA MASIVA EXCEL + FOTOS POR PLACA · 2026-10
   ========================================================== */
.vehicle-module-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.vehicle-bulk-btn,.vehicle-bulk-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid rgba(76,190,255,.55);border-radius:999px;background:linear-gradient(135deg,rgba(25,109,178,.88),rgba(19,80,139,.96));color:#effaff;text-decoration:none;font-size:12px;font-weight:850;box-shadow:0 9px 22px rgba(0,30,75,.18)}
.vehicle-bulk-btn svg,.vehicle-bulk-back svg,.vehicle-bulk-template svg,.vehicle-bulk-submit svg,.vehicle-bulk-drop>svg,.vehicle-bulk-result-head>svg,.vehicle-bulk-safety>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-bulk-page{display:grid;gap:14px}
.vehicle-bulk-intro{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 22px;border:1px solid rgba(74,148,220,.34);border-radius:17px;background:linear-gradient(135deg,rgba(19,61,105,.94),rgba(18,48,87,.96));box-shadow:0 16px 34px rgba(0,16,46,.16)}
.vehicle-bulk-intro h2{margin:3px 0 6px;color:#fff;font-size:22px}.vehicle-bulk-intro p{max-width:840px;margin:0;color:#bcd2ea;font-size:13px;line-height:1.55}
.vehicle-bulk-kicker,.vehicle-bulk-step{display:block;color:#55d2ff;font-size:10px;font-weight:900;letter-spacing:.12em}
.vehicle-bulk-rule{display:grid;gap:4px;min-width:310px;padding:14px 16px;border:1px solid rgba(84,211,255,.3);border-radius:13px;background:rgba(3,24,51,.28)}
.vehicle-bulk-rule strong{color:#fff;font-size:12px}.vehicle-bulk-rule span{color:#78ddff;font-size:11px;font-weight:750}
.vehicle-bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vehicle-bulk-card{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid rgba(79,147,218,.32);border-radius:17px;background:linear-gradient(155deg,rgba(26,73,119,.92),rgba(15,45,82,.96));box-shadow:0 14px 32px rgba(0,18,52,.15);overflow:hidden}
.vehicle-bulk-card.is-excel{border-top:3px solid #3fd59d}.vehicle-bulk-card.is-photos{border-top:3px solid #43c9ff}
.vehicle-bulk-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(37,181,225,.14);color:#66dbff;border:1px solid rgba(90,207,255,.25)}
.vehicle-bulk-card-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.vehicle-bulk-card-copy h3{margin:4px 0 6px;color:#fff;font-size:18px}.vehicle-bulk-card-copy p{margin:0;color:#b7cce2;font-size:12px;line-height:1.55}
.vehicle-bulk-template{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(66,230,166,.38);border-radius:13px;background:rgba(22,160,111,.15);color:#eafff6;text-decoration:none}
.vehicle-bulk-template>span{display:grid;gap:2px}.vehicle-bulk-template b{font-size:12px}.vehicle-bulk-template small{color:#8be3bd;font-size:10px}
.vehicle-bulk-note{padding:12px 13px;border-radius:11px;background:rgba(7,27,55,.42);color:#bdd0e4;font-size:11px;line-height:1.5}.vehicle-bulk-note b{color:#fff}
.vehicle-bulk-tree{display:grid;gap:3px;padding:13px 15px;border:1px dashed rgba(102,204,255,.42);border-radius:12px;background:rgba(4,24,48,.42);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c7e8fa;font-size:11px;line-height:1.45}.vehicle-bulk-tree b{margin-bottom:4px;color:#6fd9ff}
.vehicle-bulk-upload-form{display:grid;gap:10px;margin-top:auto}.vehicle-bulk-drop{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;padding:13px 14px;border:1px dashed rgba(115,190,247,.48);border-radius:13px;background:rgba(6,30,59,.32);color:#eef8ff;cursor:pointer}.vehicle-bulk-drop:hover{border-color:#55cdfd;background:rgba(22,78,123,.3)}
.vehicle-bulk-drop>span{display:grid;gap:3px}.vehicle-bulk-drop b{font-size:12px}.vehicle-bulk-drop small{color:#91b7d4;font-size:10px}.vehicle-bulk-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.vehicle-bulk-submit{min-height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,#39d893,#2fc77f);color:#052719;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.vehicle-bulk-submit:hover{filter:brightness(1.05);transform:translateY(-1px)}
.vehicle-bulk-result{padding:18px;border:1px solid rgba(78,179,231,.32);border-radius:17px;background:linear-gradient(145deg,rgba(18,56,96,.94),rgba(13,42,77,.96))}
.vehicle-bulk-result-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:#4bddad}.vehicle-bulk-result-head>svg{width:28px;height:28px}.vehicle-bulk-result-head span{display:block;color:#79b6d5;font-size:9px;font-weight:900;letter-spacing:.12em}.vehicle-bulk-result-head h3{margin:2px 0 0;color:#fff;font-size:16px}
.vehicle-bulk-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.vehicle-bulk-metrics>div{padding:12px;border:1px solid rgba(111,167,218,.22);border-radius:11px;background:rgba(5,27,55,.3)}.vehicle-bulk-metrics span{display:block;color:#9eb9d2;font-size:9px;text-transform:uppercase;font-weight:800}.vehicle-bulk-metrics strong{display:block;margin-top:4px;color:#fff;font-size:20px}
.vehicle-bulk-errors{margin-top:13px;border-radius:11px;background:rgba(68,31,37,.36);border:1px solid rgba(235,106,124,.3);overflow:hidden}.vehicle-bulk-errors summary{padding:11px 13px;color:#ffd9de;font-size:11px;font-weight:850;cursor:pointer}.vehicle-bulk-errors>div{max-height:250px;overflow:auto;padding:0 13px 10px}.vehicle-bulk-errors p{margin:5px 0;color:#f4c4cb;font-size:10px}.vehicle-bulk-clean{margin:10px 0 0;color:#8ee2bc;font-size:11px;font-weight:800}
.vehicle-bulk-safety{display:flex;align-items:center;gap:11px;padding:13px 16px;border:1px solid rgba(83,151,213,.23);border-radius:13px;background:rgba(13,43,77,.78);color:#76cbef}.vehicle-bulk-safety>div{display:grid;gap:2px}.vehicle-bulk-safety b{color:#fff;font-size:11px}.vehicle-bulk-safety span{color:#a9c3dc;font-size:10px}.vehicle-bulk-safety strong{color:#def5ff}
@media(max-width:980px){.vehicle-bulk-grid{grid-template-columns:1fr}.vehicle-bulk-intro{align-items:flex-start;flex-direction:column}.vehicle-bulk-rule{min-width:0;width:100%}.vehicle-bulk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vehicle-module-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.vehicle-bulk-btn,.vehicle-new-btn,.vehicle-bulk-back{width:100%;padding-left:10px;padding-right:10px}.vehicle-bulk-metrics{grid-template-columns:1fr}.vehicle-bulk-card{padding:15px}}
.vehicle-photo-col{min-width:138px!important}.vehicle-list-photo-link{display:inline-block;text-decoration:none}.vehicle-list-photo{position:relative;width:122px;height:82px;border-radius:10px;overflow:hidden;border:1px solid rgba(122,178,221,.42);background:#071c33;box-shadow:0 5px 16px rgba(0,17,42,.26);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.vehicle-list-photo-link:hover .vehicle-list-photo{transform:scale(1.045);border-color:#55cdfd;box-shadow:0 9px 22px rgba(0,20,55,.38)}.vehicle-list-photo img{width:100%;height:100%;object-fit:cover;display:block}.vehicle-list-photo>small{position:absolute;left:5px;top:5px;padding:3px 6px;border-radius:999px;background:rgba(3,25,49,.82);color:#8fe4ff;font-size:7px;font-weight:900;letter-spacing:.05em}.vehicle-list-photo span{position:absolute;right:5px;bottom:5px;min-width:22px;height:19px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:rgba(5,28,56,.9);color:#fff;font-size:8px;font-weight:900}.vehicle-list-no-photo{width:122px;height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px dashed rgba(122,178,221,.32);border-radius:10px;background:rgba(6,28,52,.38);color:#7ea0bc;font-size:10px;text-align:center}.vehicle-list-no-photo b{color:#a7bfd2;font-size:10px}.vehicle-list-no-photo small{color:#6f90aa;font-size:8px}@media(max-width:700px){.vehicle-list-photo,.vehicle-list-no-photo{width:96px;height:66px}.vehicle-photo-col{min-width:108px!important}}

/* =========================================================
   LOGIN MOCKUP APROBADO · 23-10-2026
   Replica visualmente el diseño aprobado por el usuario.
   ========================================================= */
.login-layout.login-layout--executive{
  grid-template-columns:minmax(0,60%) minmax(430px,40%)!important;
  background:#f4f8fc!important;
}
.login-hero.login-hero--executive{
  padding:0!important;
  background-image:url('../img/login-mockup-hero-final.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.login-hero.login-hero--executive::before{display:none!important}
.login-hero.login-hero--executive .login-hero-copy,
.login-hero.login-hero--executive .login-hero-signature{display:none!important}
.login-side.login-side--executive{
  padding:34px 46px!important;
  background:linear-gradient(135deg,#f8fbfe 0%,#edf4fa 100%)!important;
}
.login-card.login-card--executive{
  width:min(500px,94%)!important;
  padding:38px 38px 30px!important;
  border:1px solid #d6e1ec!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 60px rgba(31,65,101,.13)!important;
}
.login-card.login-card--executive .login-card-logo{
  width:108px!important;
  max-width:35%!important;
  margin:0 auto 18px!important;
}
.login-card.login-card--executive h2{
  font-size:40px!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  margin:0!important;
}
.login-card-subtitle{
  margin:12px auto 28px!important;
  max-width:360px!important;
  font-size:15px!important;
  line-height:1.45!important;
}
.login-card.login-card--executive label{
  font-size:13px!important;
  margin:15px 0 7px!important;
}
.login-card.login-card--executive .input{
  min-height:56px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  border:1px solid #c9d5e2!important;
  background:#b8c3d2!important;
  color:#fff!important;
  font-size:15px!important;
  box-shadow:inset 0 1px 2px rgba(4,28,55,.05)!important;
}
.login-card.login-card--executive .input::placeholder{color:rgba(255,255,255,.78)!important}
.login-card.login-card--executive .input:focus{
  border-color:#7eaee0!important;
  background:#afbdce!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(72,139,211,.12)!important;
}
.login-card.login-card--executive .password-toggle{
  right:10px!important;
  width:38px!important;
  height:38px!important;
  border:0!important;
  background:transparent!important;
  color:#6f2037!important;
}
.login-card.login-card--executive .password-toggle svg{
  width:21px!important;height:21px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important;
}
.login-card.login-card--executive .login-submit{
  min-height:55px!important;
  margin-top:24px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#91b9e6,#8fb7e4)!important;
  font-size:17px!important;
  box-shadow:none!important;
}
.login-card.login-card--executive .login-submit:hover{
  background:linear-gradient(135deg,#82afe1,#79a9de)!important;
  transform:translateY(-1px)!important;
}
.login-security-note{
  max-width:380px!important;
  margin:17px auto 0!important;
  color:#7b8da2!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.login-security-note strong{color:#203d63!important;font-weight:850!important}
@media(max-width:1350px) and (min-width:1101px){
  .login-layout.login-layout--executive{grid-template-columns:minmax(0,59%) minmax(420px,41%)!important}
  .login-side.login-side--executive{padding:28px!important}
  .login-card.login-card--executive{width:min(470px,95%)!important;padding:32px 31px 27px!important}
  .login-card.login-card--executive h2{font-size:36px!important}
}
@media(max-width:1100px){
  .login-layout.login-layout--executive{grid-template-columns:1fr!important}
  .login-hero.login-hero--executive{display:none!important}
  .login-side.login-side--executive{padding:22px!important}
}
.login-card.login-card--executive .password-toggle [data-password-icon]{display:grid;place-items:center;transition:opacity .16s ease}
.login-card.login-card--executive .password-toggle [data-password-icon].is-visible{opacity:.5}

/* =========================================================
   SELECTOR DE EMPRESA · RÉPLICA VISUAL REFERENCIA 23-10-2026
   ========================================================= */
body.public-shell:has(.company-select-layout--executive){
  background:#eef3f8!important;
}
.company-select-layout--executive{
  min-height:100vh!important;
  height:100vh!important;
  grid-template-columns:minmax(0,62.2%) minmax(430px,37.8%)!important;
  background:#eef3f8!important;
  overflow:hidden!important;
}
.company-select-hero--executive{
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  background:url('../img/company-selector-reference-left.jpg') center center / cover no-repeat!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.company-select-hero--executive > *{display:none!important}
.company-select-hero--executive::before,
.company-select-hero--executive::after{display:none!important}

.company-select-side--executive{
  min-height:100vh!important;
  height:100vh!important;
  padding:14px 18px!important;
  background:linear-gradient(135deg,#f7fbff 0%,#edf3f8 100%)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.company-selector-card--adaptive{
  width:min(560px,calc(100% - 4px))!important;
  height:min(94vh,860px)!important;
  min-height:0!important;
  max-height:94vh!important;
  padding:20px 24px 18px!important;
  border:1px solid #d7e3ef!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 20px 50px rgba(27,57,94,.14)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.company-card-logo--executive{
  width:98px!important;
  height:auto!important;
  max-height:58px!important;
  margin:0 auto 5px!important;
  object-fit:contain!important;
}
.company-selector-card--adaptive h2{
  margin:0!important;
  text-align:left!important;
  font-size:27px!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  color:#07172b!important;
}
.company-selector-card--adaptive .company-intro{
  margin:5px 0 12px!important;
  text-align:left!important;
  color:#6f849e!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:58px!important;
  margin:0 0 12px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#e9f2ff!important;
  border:1px solid #bed7f4!important;
}
.company-selector-card--adaptive .company-avatar{
  width:43px!important;
  height:43px!important;
  font-size:14px!important;
  background:#347edc!important;
}
.company-selector-card--adaptive .company-user-copy strong{font-size:13px!important}
.company-selector-card--adaptive .company-user-copy small{font-size:9.5px!important;color:#5f7691!important}
.company-selector-card--adaptive .company-list-head{
  margin:0 0 6px!important;
  align-items:center!important;
}
.company-selector-card--adaptive .company-label{font-size:11px!important}
.company-selector-card--adaptive .company-count{
  min-height:25px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:9px!important;
}
.company-selector-card--adaptive .company-selection-hint{
  min-height:41px!important;
  height:41px!important;
  margin:0 0 8px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:11px!important;
}
.company-selector-card--adaptive .company-options{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 10px!important;
  padding:2px 5px 2px 2px!important;
  border-radius:11px!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#5da9f6 #e9f2fb!important;
}
.company-selector-card--adaptive .company-options::-webkit-scrollbar{width:7px!important}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-track{background:#e9f2fb!important;border-radius:99px!important}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-thumb{background:#5da9f6!important;border-radius:99px!important}
.company-selector-card--adaptive .company-option{
  min-height:52px!important;
  padding:6px 9px!important;
  border-radius:9px!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
}
.company-selector-card--adaptive .company-option-copy strong{
  font-size:11.4px!important;
  line-height:1.12!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-selector-card--adaptive .company-option-copy small{
  margin-top:2px!important;
  font-size:9px!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  gap:7px!important;
}
.company-selector-card--adaptive .company-enter{
  min-height:43px!important;
  height:43px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  background:linear-gradient(135deg,#a8c8e9,#9dbfe3)!important;
}
.company-selector-card--adaptive .company-logout{
  min-height:39px!important;
  height:39px!important;
  border-radius:9px!important;
  font-size:11px!important;
}
@media(max-width:1300px) and (min-width:1101px){
  .company-select-layout--executive{grid-template-columns:minmax(0,60%) minmax(430px,40%)!important}
  .company-selector-card--adaptive{width:min(520px,calc(100% - 4px))!important;height:min(95vh,830px)!important}
}
@media(max-width:1100px){
  .company-select-layout--executive{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important}
  .company-select-hero--executive{display:none!important}
  .company-select-side--executive{height:auto!important;min-height:100vh!important;padding:18px!important;overflow:auto!important}
  .company-selector-card--adaptive{width:min(600px,100%)!important;height:auto!important;min-height:min(760px,calc(100dvh - 36px))!important;max-height:none!important}
}


/* =========================================================
   SELECTOR DE EMPRESA · DISEÑO APROBADO EXACTO 23-10-2026
   Mantiene selector real y usa la composición visual aprobada
   en el panel izquierdo para conservar proporciones exactas.
   ========================================================= */
.company-select-layout--executive{
  min-height:100vh!important;
  height:100vh!important;
  grid-template-columns:minmax(0,64%) minmax(430px,36%)!important;
  background:#eef5fb!important;
  overflow:hidden!important;
}
.company-select-hero--executive{
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  background:#062f70 url('../img/company-select-approved-left.jpg') center center / cover no-repeat!important;
  box-shadow:none!important;
}
.company-select-hero--executive::before,
.company-select-hero--executive::after{display:none!important;content:none!important;}
.company-select-hero--executive .company-hero-accessibility{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.company-select-side--executive{
  min-height:100vh!important;
  height:100vh!important;
  padding:24px 24px!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 35% 12%,rgba(255,255,255,.95),rgba(246,250,254,.90) 36%,rgba(233,242,249,.98) 100%)!important;
  overflow:hidden!important;
}
.company-selector-card--adaptive{
  width:min(560px,100%)!important;
  height:min(900px,calc(100vh - 48px))!important;
  min-height:650px!important;
  max-height:900px!important;
  padding:22px 28px 20px!important;
  border:1px solid rgba(205,220,234,.95)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(18,52,88,.16)!important;
  overflow:hidden!important;
}
.company-card-logo--executive{
  width:132px!important;
  height:82px!important;
  object-fit:contain!important;
  margin:0 auto 8px!important;
}
.company-selector-card--adaptive h2{
  margin:0 0 4px!important;
  text-align:left!important;
  color:#071a38!important;
  font-size:31px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-intro{
  margin:0 0 18px!important;
  text-align:left!important;
  color:#67809e!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:68px!important;
  margin:0 0 17px!important;
  padding:8px 12px!important;
  border:1px solid #b9d6f3!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#eef7ff 0%,#e5f2ff 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.company-selector-card--adaptive .company-avatar{
  width:50px!important;
  height:50px!important;
  flex:0 0 50px!important;
  background:linear-gradient(145deg,#2788ed,#136acb)!important;
  box-shadow:0 8px 18px rgba(33,121,215,.20)!important;
  font-size:16px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-user-copy strong{
  color:#071a38!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-user-copy small{
  color:#6580a0!important;
  font-size:10.5px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-list-head{
  margin:0 0 8px!important;
  min-height:28px!important;
}
.company-selector-card--adaptive .company-label{
  color:#071a38!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-count{
  min-height:28px!important;
  padding:0 12px!important;
  border:1px solid #c5dff7!important;
  border-radius:999px!important;
  background:#edf7ff!important;
  color:#1c70bd!important;
  font-size:10.5px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-selection-hint{
  position:relative!important;
  min-height:48px!important;
  margin-bottom:10px!important;
  padding:0 40px 0 14px!important;
  border:1px solid #c8ddef!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#607996!important;
  font-size:12px!important;
  line-height:48px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.8)!important;
}
.company-selector-card--adaptive .company-selection-hint::after{
  content:'⌄'!important;
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  transform:translateY(-56%)!important;
  color:#2276c9!important;
  font-size:18px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-options{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 12px!important;
  padding:2px 5px 2px 2px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  scrollbar-width:thin!important;
  scrollbar-color:#398fe5 #eaf4fc!important;
}
.company-selector-card--adaptive .company-options::-webkit-scrollbar{width:7px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-track{background:#eaf4fc!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-thumb{background:#398fe5!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-option{
  min-height:58px!important;
  margin-bottom:5px!important;
  padding:7px 11px!important;
  border:1px solid #c8def1!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 1px 2px rgba(15,47,78,.03)!important;
  transition:.15s ease!important;
}
.company-selector-card--adaptive .company-option:hover{
  border-color:#82b9eb!important;
  background:#f4faff!important;
  transform:translateY(-1px)!important;
}
.company-selector-card--adaptive .company-option[aria-pressed="true"]{
  border-color:#2f91e8!important;
  background:#eef8ff!important;
  box-shadow:0 0 0 2px rgba(47,145,232,.10)!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  border-radius:10px!important;
  background:#f1f6fb!important;
}
.company-selector-card--adaptive .company-option-copy strong{
  color:#071a38!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-selector-card--adaptive .company-option-copy small{
  color:#5f7ea0!important;
  font-size:10px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  display:grid!important;
  gap:9px!important;
  flex:0 0 auto!important;
}
.company-selector-card--adaptive .company-enter{
  width:100%!important;
  height:52px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(100deg,#2f94ef,#2385df)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:0 10px 24px rgba(41,137,226,.18)!important;
}
.company-selector-card--adaptive .company-enter:disabled{
  background:#9bbfe4!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-logout{
  width:100%!important;
  height:46px!important;
  border:1px solid #c8dced!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#071a38!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
@media(max-width:1450px) and (min-width:1101px){
  .company-select-layout--executive{grid-template-columns:minmax(0,62%) minmax(430px,38%)!important;}
  .company-selector-card--adaptive{width:min(520px,100%)!important;padding:20px 24px 18px!important;}
  .company-card-logo--executive{width:116px!important;height:70px!important;}
  .company-selector-card--adaptive h2{font-size:28px!important;}
  .company-selector-card--adaptive .company-option{min-height:54px!important;}
}
@media(max-width:1100px){
  .company-select-layout--executive{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important;}
  .company-select-hero--executive{display:none!important;}
  .company-select-side--executive{height:auto!important;min-height:100vh!important;padding:18px!important;overflow:auto!important;}
  .company-selector-card--adaptive{width:min(600px,100%)!important;height:min(900px,calc(100dvh - 36px))!important;min-height:620px!important;}
}
@media(max-width:640px){
  .company-select-side--executive{padding:10px!important;}
  .company-selector-card--adaptive{width:100%!important;height:calc(100dvh - 20px)!important;min-height:0!important;padding:18px 16px 14px!important;border-radius:22px!important;}
  .company-card-logo--executive{width:105px!important;height:62px!important;}
  .company-selector-card--adaptive h2{font-size:25px!important;}
  .company-selector-card--adaptive .company-intro{font-size:12px!important;margin-bottom:12px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:58px!important;margin-bottom:12px!important;}
  .company-selector-card--adaptive .company-option{min-height:52px!important;}
  .company-selector-card--adaptive .company-enter{height:47px!important;}
  .company-selector-card--adaptive .company-logout{height:42px!important;}
}

/* =========================================================
   SELECTOR DE EMPRESA · RÉPLICA CON TEXTO REAL 23-10-2026
   Fondo real + texto HTML (sin quemar texto en imagen)
   ========================================================= */
body.public-shell:has(.company-select-layout--executive){
  background:#edf4fa!important;
}
.company-select-layout--executive{
  display:grid!important;
  grid-template-columns:minmax(0,63%) minmax(470px,37%)!important;
  min-height:100vh!important;
  height:100vh!important;
  background:#edf4fa!important;
  overflow:hidden!important;
}
.company-select-hero--executive{
  position:relative!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  background:#0a5aa9 url('../img/company-select-html-bg.jpg') center center / cover no-repeat!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.company-select-hero--executive::before{
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(3,46,103,.96) 0%,rgba(3,65,133,.92) 18%,rgba(4,77,150,.84) 34%,rgba(5,90,169,.62) 50%,rgba(5,96,178,.30) 66%,rgba(5,96,178,.08) 79%,rgba(5,96,178,0) 100%)!important;
  z-index:1!important;
}
.company-select-hero--executive::after{
  display:none!important;
  content:none!important;
}
.company-select-hero--executive .company-hero-accessibility{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:min(620px,76%)!important;
  height:100%!important;
  margin-left:clamp(58px,5.8vw,96px)!important;
  padding-top:clamp(8px,3vh,28px)!important;
  color:#fff!important;
  z-index:3!important;
  clip:auto!important;
  white-space:normal!important;
  overflow:visible!important;
  border:0!important;
}
.company-select-hero--executive .company-hero-accessibility::before,
.company-select-hero--executive .company-hero-accessibility::after{
  content:''!important;
  position:absolute!important;
  pointer-events:none!important;
  background-image:radial-gradient(circle,rgba(65,211,255,.95) 0 3px,transparent 3.7px)!important;
  background-size:20px 20px!important;
  background-repeat:repeat!important;
  opacity:.95!important;
  z-index:-1!important;
}
.company-select-hero--executive .company-hero-accessibility::before{
  width:210px!important;
  height:210px!important;
  left:-88px!important;
  top:8px!important;
  border-radius:50%!important;
  mask-image:radial-gradient(circle at center,#000 0 72%,transparent 76%)!important;
  -webkit-mask-image:radial-gradient(circle at center,#000 0 72%,transparent 76%)!important;
}
.company-select-hero--executive .company-hero-accessibility::after{
  width:200px!important;
  height:200px!important;
  left:-96px!important;
  bottom:-88px!important;
  border-radius:50%!important;
  mask-image:radial-gradient(circle at center,#000 0 72%,transparent 76%)!important;
  -webkit-mask-image:radial-gradient(circle at center,#000 0 72%,transparent 76%)!important;
}
.company-access-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:0 26px!important;
  margin:0 0 26px!important;
  border:1.5px solid rgba(90,197,255,.62)!important;
  border-radius:999px!important;
  background:rgba(6,48,103,.30)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  box-shadow:0 8px 22px rgba(9,68,134,.20)!important;
}
.company-select-hero--executive h1{
  margin:0 0 26px!important;
  max-width:560px!important;
  color:#fff!important;
  font-size:clamp(58px,5.2vw,84px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  font-weight:900!important;
  text-shadow:0 2px 10px rgba(0,18,48,.08)!important;
}
.company-select-hero--executive p{
  margin:0 0 28px!important;
  max-width:780px!important;
  color:rgba(255,255,255,.97)!important;
  font-size:17px!important;
  line-height:1.55!important;
  font-weight:500!important;
}
.company-access-benefits{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:15px!important;
}
.company-access-benefits li{
  position:relative!important;
  padding-left:44px!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.company-access-benefits li::before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#45d1ff!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(69,209,255,.22)!important;
}
.company-select-side--executive{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:22px 24px!important;
  background:linear-gradient(180deg,#edf4fa 0%,#ebf1f6 100%)!important;
  overflow:hidden!important;
}
.company-selector-card--adaptive{
  width:min(560px,100%)!important;
  height:min(860px,calc(100vh - 44px))!important;
  min-height:640px!important;
  max-height:860px!important;
  padding:26px 30px 22px!important;
  background:#fff!important;
  border:1px solid #cfdfed!important;
  border-radius:34px!important;
  box-shadow:0 22px 55px rgba(21,61,103,.12)!important;
  overflow:hidden!important;
}
.company-card-logo--executive{
  width:170px!important;
  height:102px!important;
  margin:0 auto 8px!important;
  object-fit:contain!important;
}
.company-selector-card--adaptive h2{
  margin:0 0 6px!important;
  color:#081a3a!important;
  font-size:36px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
  text-align:left!important;
}
.company-selector-card--adaptive .company-intro{
  margin:0 0 18px!important;
  color:#6d84a1!important;
  font-size:14px!important;
  line-height:1.45!important;
  text-align:left!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:72px!important;
  margin:0 0 18px!important;
  padding:10px 14px!important;
  gap:14px!important;
  border:1px solid #bbd7f3!important;
  border-radius:16px!important;
  background:#eef7ff!important;
}
.company-selector-card--adaptive .company-avatar{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  background:linear-gradient(145deg,#2d8df0,#1b71d3)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:900!important;
  box-shadow:0 10px 20px rgba(39,125,220,.18)!important;
}
.company-selector-card--adaptive .company-user-copy strong{
  color:#081a3a!important;
  font-size:15px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-user-copy small{
  color:#6b84a0!important;
  font-size:11px!important;
  margin-top:4px!important;
}
.company-selector-card--adaptive .company-list-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:32px!important;
  margin:0 0 8px!important;
}
.company-selector-card--adaptive .company-label{
  color:#081a3a!important;
  font-size:14px!important;
  font-weight:900!important;
  margin:0!important;
}
.company-selector-card--adaptive .company-count{
  min-height:32px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  border:1px solid #c4dcf3!important;
  border-radius:999px!important;
  background:#edf7ff!important;
  color:#2873bf!important;
  font-size:11px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-selection-hint{
  position:relative!important;
  min-height:56px!important;
  padding:0 44px 0 16px!important;
  margin:0 0 12px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid #cbdeef!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#6d84a1!important;
  font-size:13px!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-selection-hint::after{
  content:'⌄'!important;
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  color:#2b7ac7!important;
  font-size:22px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-options{
  display:grid!important;
  gap:8px!important;
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0 0 14px!important;
  padding:0 7px 0 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:#3b91e6 #e9f3fc!important;
}
.company-selector-card--adaptive .company-options::-webkit-scrollbar{width:8px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-track{background:#e9f3fc!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-thumb{background:#3b91e6!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-option{
  position:relative!important;
  min-height:68px!important;
  margin:0!important;
  padding:9px 14px!important;
  gap:12px!important;
  border:1px solid #cadff0!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-option:hover{
  transform:none!important;
  border-color:#84bced!important;
  background:#f9fcff!important;
}
.company-selector-card--adaptive .company-option[aria-pressed='true'],
.company-selector-card--adaptive .company-option.is-selected{
  border-color:#2f92e9!important;
  background:#eef8ff!important;
  box-shadow:0 0 0 2px rgba(47,146,233,.10)!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  border-radius:12px!important;
  background:#f1f6fb!important;
}
.company-selector-card--adaptive .company-option-copy{padding-right:24px!important;}
.company-selector-card--adaptive .company-option-copy strong{
  color:#081a3a!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-selector-card--adaptive .company-option-copy small{
  color:#6b84a0!important;
  font-size:10.5px!important;
  margin-top:4px!important;
}
.company-selector-card--adaptive .company-check{
  position:absolute!important;
  right:14px!important;
  color:#2f7ed7!important;
  font-size:16px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  display:grid!important;
  gap:11px!important;
}
.company-selector-card--adaptive .company-enter{
  width:100%!important;
  height:58px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(100deg,#328fe9,#277fe0)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 12px 24px rgba(45,130,224,.16)!important;
}
.company-selector-card--adaptive .company-enter:disabled{
  background:#9ebfe3!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-logout{
  width:100%!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #cbdeef!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#081a3a!important;
  font-size:14px!important;
  font-weight:900!important;
}
@media(max-width:1500px) and (min-width:1101px){
  .company-select-layout--executive{grid-template-columns:minmax(0,61%) minmax(440px,39%)!important;}
  .company-select-hero--executive .company-hero-accessibility{width:min(570px,80%)!important;}
  .company-select-hero--executive h1{font-size:clamp(52px,4.5vw,76px)!important;}
  .company-select-hero--executive p{font-size:16px!important;}
  .company-access-benefits li{font-size:15px!important;}
  .company-selector-card--adaptive{width:min(520px,100%)!important;height:min(820px,calc(100vh - 40px))!important;padding:24px 24px 20px!important;}
  .company-card-logo--executive{width:152px!important;height:92px!important;}
  .company-selector-card--adaptive h2{font-size:33px!important;}
}
@media(max-width:1100px){
  .company-select-layout--executive{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important;}
  .company-select-hero--executive{display:none!important;}
  .company-select-side--executive{height:auto!important;min-height:100vh!important;padding:18px!important;overflow:auto!important;}
  .company-selector-card--adaptive{width:min(620px,100%)!important;height:auto!important;max-height:none!important;min-height:min(760px,calc(100dvh - 36px))!important;}
}
@media(max-width:640px){
  .company-select-side--executive{padding:10px!important;}
  .company-selector-card--adaptive{width:100%!important;height:calc(100dvh - 20px)!important;min-height:0!important;padding:20px 16px 16px!important;border-radius:22px!important;}
  .company-card-logo--executive{width:122px!important;height:76px!important;}
  .company-selector-card--adaptive h2{font-size:28px!important;}
  .company-selector-card--adaptive .company-intro{font-size:12px!important;margin-bottom:14px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:62px!important;}
  .company-selector-card--adaptive .company-enter{height:50px!important;}
  .company-selector-card--adaptive .company-logout{height:46px!important;}
}

/* =========================================================
   SELECTOR DE EMPRESA · AJUSTE VISUAL FINAL 23-10-2026
   Referencia: skyline panorámico, texto compacto, panel angosto.
   ========================================================= */
@media (min-width:1101px){
  .company-select-layout--executive{
    grid-template-columns:minmax(0,66%) minmax(430px,34%)!important;
  }
  .company-select-hero--executive{
    background-size:auto 100%!important;
    background-position:56% center!important;
    background-color:#0754a0!important;
  }
  .company-select-hero--executive::before{
    background:
      linear-gradient(90deg,rgba(3,47,104,.90) 0%,rgba(4,63,130,.78) 20%,rgba(5,78,149,.56) 39%,rgba(5,91,168,.30) 58%,rgba(5,96,178,.10) 75%,rgba(5,96,178,0) 100%)!important;
  }
  .company-select-hero--executive .company-hero-accessibility{
    width:min(560px,72%)!important;
    margin-left:clamp(64px,5vw,92px)!important;
    padding-top:0!important;
  }
  .company-select-hero--executive .company-hero-accessibility::before,
  .company-select-hero--executive .company-hero-accessibility::after{
    background-size:16px 16px!important;
    background-image:radial-gradient(circle,rgba(69,210,255,.92) 0 2.2px,transparent 2.8px)!important;
    opacity:.88!important;
  }
  .company-select-hero--executive .company-hero-accessibility::before{
    width:175px!important;
    height:175px!important;
    left:-72px!important;
    top:10px!important;
  }
  .company-select-hero--executive .company-hero-accessibility::after{
    width:175px!important;
    height:175px!important;
    left:-78px!important;
    bottom:-72px!important;
  }
  .company-access-pill{
    min-height:42px!important;
    padding:0 20px!important;
    margin-bottom:24px!important;
    font-size:12px!important;
    letter-spacing:.12em!important;
  }
  .company-select-hero--executive h1{
    max-width:480px!important;
    margin-bottom:24px!important;
    font-size:clamp(44px,4.15vw,62px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  .company-select-hero--executive p{
    max-width:690px!important;
    margin-bottom:24px!important;
    font-size:14.5px!important;
    line-height:1.58!important;
    font-weight:500!important;
  }
  .company-access-benefits{gap:11px!important;}
  .company-access-benefits li{
    padding-left:35px!important;
    font-size:13.5px!important;
    font-weight:600!important;
  }
  .company-access-benefits li::before{
    width:23px!important;
    height:23px!important;
    font-size:14px!important;
  }
  .company-select-side--executive{
    padding:22px 26px!important;
  }
  .company-selector-card--adaptive{
    width:min(500px,100%)!important;
    height:min(820px,calc(100vh - 44px))!important;
    min-height:610px!important;
    max-height:820px!important;
    padding:22px 24px 18px!important;
    border-radius:29px!important;
  }
  .company-card-logo--executive{
    width:128px!important;
    height:78px!important;
    margin-bottom:5px!important;
  }
  .company-selector-card--adaptive h2{
    font-size:29px!important;
    margin-bottom:3px!important;
  }
  .company-selector-card--adaptive .company-intro{
    font-size:12px!important;
    margin-bottom:14px!important;
  }
  .company-selector-card--adaptive .company-user-box{
    min-height:62px!important;
    margin-bottom:14px!important;
    padding:8px 12px!important;
    border-radius:14px!important;
  }
  .company-selector-card--adaptive .company-avatar{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
    font-size:15px!important;
  }
  .company-selector-card--adaptive .company-user-copy strong{font-size:13px!important;}
  .company-selector-card--adaptive .company-user-copy small{font-size:9.5px!important;}
  .company-selector-card--adaptive .company-list-head{min-height:28px!important;margin-bottom:6px!important;}
  .company-selector-card--adaptive .company-label{font-size:12px!important;}
  .company-selector-card--adaptive .company-count{min-height:28px!important;padding:0 11px!important;font-size:10px!important;}
  .company-selector-card--adaptive .company-selection-hint{
    min-height:48px!important;
    padding-left:14px!important;
    margin-bottom:10px!important;
    font-size:11.5px!important;
    border-radius:12px!important;
  }
  .company-selector-card--adaptive .company-options{
    gap:6px!important;
    margin-bottom:11px!important;
  }
  .company-selector-card--adaptive .company-option{
    min-height:55px!important;
    padding:7px 11px!important;
    gap:10px!important;
    border-radius:12px!important;
  }
  .company-selector-card--adaptive .company-option-logo{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  .company-selector-card--adaptive .company-option-copy strong{font-size:11.5px!important;}
  .company-selector-card--adaptive .company-option-copy small{font-size:9.3px!important;margin-top:2px!important;}
  .company-selector-card--adaptive .company-enter{height:50px!important;font-size:13px!important;border-radius:12px!important;}
  .company-selector-card--adaptive .company-logout{height:44px!important;font-size:12px!important;border-radius:12px!important;}
}

@media (min-width:1101px) and (max-height:760px){
  .company-select-hero--executive .company-hero-accessibility{transform:translateY(-4px)!important;}
  .company-select-hero--executive h1{font-size:clamp(40px,3.8vw,54px)!important;margin-bottom:18px!important;}
  .company-select-hero--executive p{font-size:13.5px!important;margin-bottom:18px!important;}
  .company-access-pill{min-height:38px!important;margin-bottom:18px!important;font-size:11px!important;}
  .company-access-benefits{gap:8px!important;}
  .company-access-benefits li{font-size:12.5px!important;}
  .company-selector-card--adaptive{height:calc(100vh - 30px)!important;min-height:0!important;max-height:none!important;padding:18px 22px 16px!important;}
  .company-card-logo--executive{width:112px!important;height:64px!important;}
  .company-selector-card--adaptive h2{font-size:26px!important;}
  .company-selector-card--adaptive .company-intro{margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:56px!important;margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-option{min-height:50px!important;}
  .company-selector-card--adaptive .company-enter{height:46px!important;}
  .company-selector-card--adaptive .company-logout{height:40px!important;}
}

/* =========================================================
   SELECTOR EMPRESA · AJUSTE FINAL CON FONDO LIMPIO + TEXTO REAL
   Referencia visual aprobada por usuario · 23-10-2026
   ========================================================= */
body.public-shell:has(.company-select-layout--executive){
  background:#edf4fa!important;
}
.company-select-layout--executive{
  display:grid!important;
  grid-template-columns:minmax(0,64%) minmax(455px,36%)!important;
  width:100%!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  background:#edf4fa!important;
}
.company-select-hero--executive{
  position:relative!important;
  display:block!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0a4d97 url('../img/company-select-clean-buildings-final.jpg') 64% center / cover no-repeat!important;
  box-shadow:none!important;
}
.company-select-hero--executive::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(3,49,108,.97) 0%,
      rgba(3,56,120,.94) 18%,
      rgba(3,64,132,.88) 31%,
      rgba(4,72,143,.71) 44%,
      rgba(5,83,157,.40) 57%,
      rgba(7,97,174,.12) 70%,
      rgba(7,97,174,0) 82%)!important;
}
.company-select-hero--executive::after{display:none!important;content:none!important;}
.company-select-hero--executive .company-hero-accessibility{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:min(610px,72%)!important;
  height:100%!important;
  margin:0!important;
  padding:0 0 0 clamp(70px,6.0vw,104px)!important;
  color:#fff!important;
  clip:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  border:0!important;
}
.company-select-hero--executive .company-hero-accessibility::before,
.company-select-hero--executive .company-hero-accessibility::after{
  content:''!important;
  position:absolute!important;
  left:0!important;
  width:180px!important;
  height:210px!important;
  pointer-events:none!important;
  z-index:-1!important;
  opacity:.92!important;
  background-image:radial-gradient(circle,rgba(65,210,255,.95) 0 3px,transparent 3.8px)!important;
  background-size:20px 20px!important;
}
.company-select-hero--executive .company-hero-accessibility::before{
  top:0!important;
  transform:translate(-50px,-18px)!important;
  mask-image:linear-gradient(to right,#000 0 72%,transparent 98%)!important;
  -webkit-mask-image:linear-gradient(to right,#000 0 72%,transparent 98%)!important;
}
.company-select-hero--executive .company-hero-accessibility::after{
  bottom:0!important;
  transform:translate(-52px,58px)!important;
  mask-image:linear-gradient(to right,#000 0 72%,transparent 98%)!important;
  -webkit-mask-image:linear-gradient(to right,#000 0 72%,transparent 98%)!important;
}
.company-access-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 22px!important;
  margin:0 0 28px!important;
  border:1.3px solid rgba(62,194,255,.72)!important;
  border-radius:999px!important;
  background:rgba(2,47,103,.25)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.company-select-hero--executive h1{
  max-width:470px!important;
  margin:0 0 26px!important;
  color:#fff!important;
  font-size:clamp(48px,4.15vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:900!important;
  text-shadow:0 2px 8px rgba(0,20,52,.08)!important;
}
.company-select-hero--executive p{
  max-width:680px!important;
  margin:0 0 25px!important;
  color:rgba(255,255,255,.97)!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  font-weight:500!important;
}
.company-access-benefits{
  list-style:none!important;
  display:grid!important;
  gap:13px!important;
  padding:0!important;
  margin:0!important;
}
.company-access-benefits li{
  position:relative!important;
  padding-left:38px!important;
  color:#fff!important;
  font-size:14.5px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.company-access-benefits li::before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#40c9f3!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 7px 17px rgba(64,201,243,.18)!important;
}
.company-select-side--executive{
  display:grid!important;
  place-items:center!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:24px 28px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#eef4f9 0%,#e9f0f6 100%)!important;
}
.company-selector-card--adaptive{
  width:min(520px,100%)!important;
  height:min(830px,calc(100vh - 48px))!important;
  min-height:620px!important;
  max-height:830px!important;
  padding:24px 26px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid #cfdeeb!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 22px 52px rgba(18,50,85,.12)!important;
}
.company-card-logo--executive{
  width:132px!important;
  height:78px!important;
  margin:0 auto 5px!important;
  object-fit:contain!important;
}
.company-selector-card--adaptive h2{
  margin:0 0 4px!important;
  text-align:left!important;
  color:#081a3a!important;
  font-size:30px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-intro{
  margin:0 0 14px!important;
  text-align:left!important;
  color:#6b82a0!important;
  font-size:12.5px!important;
  line-height:1.4!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:62px!important;
  margin:0 0 14px!important;
  padding:8px 11px!important;
  gap:12px!important;
  border:1px solid #bdd7f2!important;
  border-radius:14px!important;
  background:#edf6ff!important;
}
.company-selector-card--adaptive .company-avatar{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  font-size:15px!important;
  font-weight:900!important;
  background:linear-gradient(145deg,#2f8ded,#1c72d3)!important;
  box-shadow:0 8px 16px rgba(37,121,214,.15)!important;
}
.company-selector-card--adaptive .company-user-copy strong{
  color:#081a3a!important;
  font-size:13.5px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-user-copy small{
  color:#6b84a0!important;
  font-size:10px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-list-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:28px!important;
  margin:0 0 7px!important;
}
.company-selector-card--adaptive .company-label{
  margin:0!important;
  color:#081a3a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-count{
  min-height:28px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  border:1px solid #c5ddf4!important;
  border-radius:999px!important;
  background:#eef7ff!important;
  color:#2873bd!important;
  font-size:10px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-selection-hint{
  position:relative!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:0 40px 0 14px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid #caddec!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#6b82a0!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-selection-hint::after{
  content:'⌄'!important;
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  color:#2878c7!important;
  font-size:19px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-options{
  display:grid!important;
  gap:6px!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 11px!important;
  padding:0 6px 0 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  scrollbar-width:thin!important;
  scrollbar-color:#438fdb #e8f2fb!important;
}
.company-selector-card--adaptive .company-options::-webkit-scrollbar{width:7px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-track{background:#e8f2fb!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-thumb{background:#438fdb!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-option{
  min-height:54px!important;
  margin:0!important;
  padding:7px 11px!important;
  gap:10px!important;
  border:1px solid #cbdfee!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-option:hover{
  transform:none!important;
  border-color:#85b8e8!important;
  background:#f9fcff!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:10px!important;
  background:#f1f6fb!important;
}
.company-selector-card--adaptive .company-option-copy{padding-right:22px!important;}
.company-selector-card--adaptive .company-option-copy strong{
  color:#081a3a!important;
  font-size:12px!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-selector-card--adaptive .company-option-copy small{
  color:#6b82a0!important;
  font-size:9.5px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  display:grid!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.company-selector-card--adaptive .company-enter{
  width:100%!important;
  height:48px!important;
  margin:0!important;
  border:0!important;
  border-radius:11px!important;
  background:linear-gradient(100deg,#2f8fe8,#277fdc)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(45,130,224,.14)!important;
}
.company-selector-card--adaptive .company-enter:disabled{
  background:#9ebfe1!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-logout{
  width:100%!important;
  height:44px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #cbdeec!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#081a3a!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
@media(max-height:760px) and (min-width:1101px){
  .company-selector-card--adaptive{height:calc(100vh - 32px)!important;min-height:0!important;padding:18px 22px 16px!important;}
  .company-card-logo--executive{width:112px!important;height:64px!important;margin-bottom:2px!important;}
  .company-selector-card--adaptive h2{font-size:27px!important;}
  .company-selector-card--adaptive .company-intro{margin-bottom:10px!important;font-size:11.5px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:54px!important;margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-option{min-height:48px!important;}
  .company-selector-card--adaptive .company-enter{height:43px!important;}
  .company-selector-card--adaptive .company-logout{height:40px!important;}
}
@media(max-width:1450px) and (min-width:1101px){
  .company-select-layout--executive{grid-template-columns:minmax(0,62%) minmax(440px,38%)!important;}
  .company-select-hero--executive .company-hero-accessibility{width:min(560px,76%)!important;padding-left:clamp(56px,4.8vw,76px)!important;}
  .company-select-hero--executive h1{font-size:clamp(44px,3.8vw,58px)!important;max-width:440px!important;}
  .company-select-hero--executive p{font-size:14px!important;}
  .company-access-benefits li{font-size:13.5px!important;}
  .company-selector-card--adaptive{width:min(500px,100%)!important;}
}
@media(max-width:1100px){
  .company-select-layout--executive{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important;}
  .company-select-hero--executive{display:none!important;}
  .company-select-side--executive{height:auto!important;min-height:100vh!important;padding:18px!important;overflow:auto!important;}
  .company-selector-card--adaptive{width:min(600px,100%)!important;height:auto!important;min-height:min(720px,calc(100dvh - 36px))!important;max-height:none!important;}
}
@media(max-width:640px){
  .company-select-side--executive{padding:10px!important;}
  .company-selector-card--adaptive{width:100%!important;height:calc(100dvh - 20px)!important;min-height:0!important;padding:18px 16px 14px!important;border-radius:22px!important;}
  .company-card-logo--executive{width:104px!important;height:62px!important;}
  .company-selector-card--adaptive h2{font-size:25px!important;}
  .company-selector-card--adaptive .company-intro{font-size:11.5px!important;margin-bottom:11px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:56px!important;margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-enter{height:44px!important;}
  .company-selector-card--adaptive .company-logout{height:40px!important;}
}

/* =========================================================
   SELECTOR DE EMPRESA · FONDO FINAL ENTREGADO POR USUARIO
   23-10-2026 · Fondo completo + texto HTML real + tarjeta flotante
   ========================================================= */
body.public-shell:has(.company-select-layout--executive){
  background:#0a4a91!important;
  overflow:hidden!important;
}
.company-select-layout--executive{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,64%) minmax(430px,36%)!important;
  width:100%!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(3,47,103,.06) 0%,rgba(3,47,103,.02) 56%,rgba(239,246,252,.16) 77%,rgba(239,246,252,.26) 100%),
    url('../img/company-select-full-bg-final.png') center center / cover no-repeat!important;
}
.company-select-hero--executive{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.company-select-hero--executive::before,
.company-select-hero--executive::after{
  display:none!important;
  content:none!important;
}
.company-select-hero--executive .company-hero-accessibility{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:min(620px,74%)!important;
  height:100%!important;
  margin:0!important;
  padding:0 0 0 clamp(76px,6vw,112px)!important;
  color:#fff!important;
  clip:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  border:0!important;
}
.company-select-hero--executive .company-hero-accessibility::before,
.company-select-hero--executive .company-hero-accessibility::after{
  display:none!important;
  content:none!important;
}
.company-access-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  margin:0 0 26px!important;
  border:1.25px solid rgba(77,196,255,.78)!important;
  border-radius:999px!important;
  background:rgba(3,51,108,.34)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  backdrop-filter:blur(3px)!important;
  box-shadow:0 6px 18px rgba(2,34,79,.12)!important;
}
.company-select-hero--executive h1{
  max-width:500px!important;
  margin:0 0 24px!important;
  color:#fff!important;
  font-size:clamp(48px,4.1vw,66px)!important;
  line-height:.97!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  text-shadow:0 2px 10px rgba(0,21,55,.16)!important;
}
.company-select-hero--executive p{
  max-width:700px!important;
  margin:0 0 26px!important;
  color:rgba(255,255,255,.97)!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  font-weight:500!important;
  text-shadow:0 1px 4px rgba(0,24,60,.15)!important;
}
.company-access-benefits{
  list-style:none!important;
  display:grid!important;
  gap:13px!important;
  padding:0!important;
  margin:0!important;
}
.company-access-benefits li{
  position:relative!important;
  padding-left:38px!important;
  color:#fff!important;
  font-size:14.5px!important;
  line-height:1.35!important;
  font-weight:600!important;
  text-shadow:0 1px 4px rgba(0,24,60,.12)!important;
}
.company-access-benefits li::before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#43cdf6!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 7px 17px rgba(67,205,246,.22)!important;
}
.company-select-side--executive{
  position:relative!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:24px 28px!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,rgba(239,246,252,.30),rgba(239,246,252,.84) 28%,rgba(239,246,252,.96) 100%)!important;
  backdrop-filter:blur(1.2px)!important;
}
.company-selector-card--adaptive{
  width:min(520px,100%)!important;
  height:min(830px,calc(100vh - 48px))!important;
  min-height:620px!important;
  max-height:830px!important;
  padding:24px 26px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid rgba(207,222,235,.98)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 22px 54px rgba(18,50,85,.16)!important;
}
.company-card-logo--executive{
  width:132px!important;
  height:78px!important;
  margin:0 auto 5px!important;
  object-fit:contain!important;
}
.company-selector-card--adaptive h2{
  margin:0 0 4px!important;
  text-align:left!important;
  color:#081a3a!important;
  font-size:30px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-intro{
  margin:0 0 14px!important;
  text-align:left!important;
  color:#6b82a0!important;
  font-size:12.5px!important;
  line-height:1.4!important;
}
.company-selector-card--adaptive .company-user-box{
  min-height:62px!important;
  margin:0 0 14px!important;
  padding:8px 11px!important;
  gap:12px!important;
  border:1px solid #bdd7f2!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#eef7ff 0%,#e9f4ff 100%)!important;
}
.company-selector-card--adaptive .company-avatar{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  font-size:15px!important;
  font-weight:900!important;
  background:linear-gradient(145deg,#2f8ded,#1c72d3)!important;
  box-shadow:0 8px 16px rgba(37,121,214,.15)!important;
}
.company-selector-card--adaptive .company-user-copy strong{
  color:#081a3a!important;
  font-size:13.5px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-user-copy small{
  color:#6b84a0!important;
  font-size:10px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-list-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:28px!important;
  margin:0 0 7px!important;
}
.company-selector-card--adaptive .company-label{
  margin:0!important;
  color:#081a3a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-count{
  min-height:28px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  border:1px solid #c5ddf4!important;
  border-radius:999px!important;
  background:#eef7ff!important;
  color:#2873bd!important;
  font-size:10px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-selection-hint{
  position:relative!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:0 40px 0 14px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid #caddec!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#6b82a0!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.company-selector-card--adaptive .company-selection-hint::after{
  content:'⌄'!important;
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  color:#2878c7!important;
  font-size:19px!important;
  font-weight:900!important;
}
.company-selector-card--adaptive .company-options{
  display:grid!important;
  gap:6px!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 11px!important;
  padding:0 6px 0 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  scrollbar-width:thin!important;
  scrollbar-color:#438fdb #e8f2fb!important;
}
.company-selector-card--adaptive .company-options::-webkit-scrollbar{width:7px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-track{background:#e8f2fb!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-options::-webkit-scrollbar-thumb{background:#438fdb!important;border-radius:999px!important;}
.company-selector-card--adaptive .company-option{
  min-height:54px!important;
  margin:0!important;
  padding:7px 11px!important;
  gap:10px!important;
  border:1px solid #cbdfee!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-option:hover{
  transform:none!important;
  border-color:#85b8e8!important;
  background:#f9fcff!important;
}
.company-selector-card--adaptive .company-option-logo{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:10px!important;
  background:#f1f6fb!important;
}
.company-selector-card--adaptive .company-option-copy{padding-right:22px!important;}
.company-selector-card--adaptive .company-option-copy strong{
  color:#081a3a!important;
  font-size:12px!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-selector-card--adaptive .company-option-copy small{
  color:#6b82a0!important;
  font-size:9.5px!important;
  margin-top:3px!important;
}
.company-selector-card--adaptive .company-actions{
  margin-top:auto!important;
  display:grid!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.company-selector-card--adaptive .company-enter{
  width:100%!important;
  height:48px!important;
  margin:0!important;
  border:0!important;
  border-radius:11px!important;
  background:linear-gradient(100deg,#2f8fe8,#277fdc)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(45,130,224,.14)!important;
}
.company-selector-card--adaptive .company-enter:disabled{
  background:#9ebfe1!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
}
.company-selector-card--adaptive .company-logout{
  width:100%!important;
  height:44px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #cbdeec!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#081a3a!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
@media(max-height:760px) and (min-width:1101px){
  .company-selector-card--adaptive{height:calc(100vh - 32px)!important;min-height:0!important;padding:18px 22px 16px!important;}
  .company-card-logo--executive{width:112px!important;height:64px!important;margin-bottom:2px!important;}
  .company-selector-card--adaptive h2{font-size:27px!important;}
  .company-selector-card--adaptive .company-intro{margin-bottom:10px!important;font-size:11.5px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:54px!important;margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-option{min-height:48px!important;}
  .company-selector-card--adaptive .company-enter{height:43px!important;}
  .company-selector-card--adaptive .company-logout{height:40px!important;}
}
@media(max-width:1450px) and (min-width:1101px){
  .company-select-layout--executive{grid-template-columns:minmax(0,62%) minmax(440px,38%)!important;}
  .company-select-hero--executive .company-hero-accessibility{width:min(560px,76%)!important;padding-left:clamp(56px,4.8vw,76px)!important;}
  .company-select-hero--executive h1{font-size:clamp(44px,3.8vw,58px)!important;max-width:440px!important;}
  .company-select-hero--executive p{font-size:14px!important;}
  .company-access-benefits li{font-size:13.5px!important;}
  .company-selector-card--adaptive{width:min(500px,100%)!important;}
}
@media(max-width:1100px){
  body.public-shell:has(.company-select-layout--executive){overflow:auto!important;}
  .company-select-layout--executive{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important;background:#edf4fa!important;}
  .company-select-hero--executive{display:none!important;}
  .company-select-side--executive{height:auto!important;min-height:100vh!important;padding:18px!important;overflow:auto!important;background:#edf4fa!important;}
  .company-selector-card--adaptive{width:min(600px,100%)!important;height:auto!important;min-height:min(720px,calc(100dvh - 36px))!important;max-height:none!important;}
}
@media(max-width:640px){
  .company-select-side--executive{padding:10px!important;}
  .company-selector-card--adaptive{width:100%!important;height:calc(100dvh - 20px)!important;min-height:0!important;padding:18px 16px 14px!important;border-radius:22px!important;}
  .company-card-logo--executive{width:104px!important;height:62px!important;}
  .company-selector-card--adaptive h2{font-size:25px!important;}
  .company-selector-card--adaptive .company-intro{font-size:11.5px!important;margin-bottom:11px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:56px!important;margin-bottom:10px!important;}
  .company-selector-card--adaptive .company-enter{height:44px!important;}
  .company-selector-card--adaptive .company-logout{height:40px!important;}
}

/* =========================================================
   LOGIN FINAL · FONDO CORPORATIVO REAL + TEXTO HTML
   23-10-2026
   ========================================================= */
body.public-shell:has(.login-layout--executive){
  background:#082f67!important;
}
.login-layout.login-layout--executive{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,63%) minmax(440px,37%)!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(3,37,84,.08) 0%,rgba(3,37,84,.02) 56%,rgba(230,239,248,.14) 72%,rgba(239,246,252,.36) 100%),
    url('../img/login-financial-district-bg.png') center center / cover no-repeat!important;
}
.login-hero.login-hero--executive{
  position:relative!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:clamp(54px,5.8vw,92px)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex-direction:column!important;
  background:transparent!important;
  overflow:hidden!important;
  color:#fff!important;
}
.login-hero.login-hero--executive::before{
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(1,31,74,.34) 0%,rgba(1,45,96,.19) 42%,rgba(1,55,110,.04) 76%,transparent 100%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.login-hero.login-hero--executive .login-hero-copy{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  width:min(650px,82%)!important;
  margin:0!important;
  text-shadow:0 2px 14px rgba(1,18,43,.16)!important;
}
.login-hero-logo{
  display:block!important;
  width:142px!important;
  max-width:28%!important;
  height:auto!important;
  margin:0 0 22px!important;
  filter:brightness(0) invert(1) drop-shadow(0 8px 18px rgba(0,22,55,.25))!important;
  opacity:.98!important;
}
.login-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 19px!important;
  margin:0 0 22px!important;
  border:1px solid rgba(81,196,255,.58)!important;
  border-radius:999px!important;
  background:rgba(5,50,105,.28)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  backdrop-filter:blur(4px)!important;
}
.login-hero.login-hero--executive h1{
  max-width:620px!important;
  margin:0 0 24px!important;
  color:#fff!important;
  font-size:clamp(44px,4.25vw,68px)!important;
  line-height:.96!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  text-wrap:balance!important;
}
.login-hero-lead{
  max-width:620px!important;
  margin:0 0 25px!important;
  color:rgba(255,255,255,.96)!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:500!important;
}
.login-feature-list{
  display:grid!important;
  gap:13px!important;
  margin:0!important;
}
.login-feature-list>div{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.login-feature-list>div>span{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#42cfff!important;
  box-shadow:0 7px 16px rgba(66,207,255,.22)!important;
}
.login-feature-list>div>span::before{
  content:'✓'!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
}
.login-feature-list p{
  margin:0!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.42!important;
  font-weight:600!important;
}
.login-side.login-side--executive{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:30px 34px!important;
  background:linear-gradient(90deg,rgba(243,248,252,.14),rgba(242,248,253,.60) 35%,rgba(242,248,253,.88) 100%)!important;
  overflow:hidden!important;
}
.login-card.login-card--executive{
  width:min(500px,100%)!important;
  padding:34px 34px 28px!important;
  border:1px solid rgba(211,224,236,.96)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 24px 60px rgba(17,51,89,.17)!important;
  backdrop-filter:blur(10px)!important;
}
.login-card.login-card--executive .login-card-logo{
  width:132px!important;
  max-width:36%!important;
  height:auto!important;
  margin:0 auto 14px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(26,75,120,.09))!important;
}
.login-card.login-card--executive h2{
  margin:0!important;
  text-align:center!important;
  color:#081a38!important;
  font-size:38px!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
}
.login-card-subtitle{
  max-width:360px!important;
  margin:11px auto 23px!important;
  color:#6d819c!important;
  text-align:center!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}
.login-card.login-card--executive label{
  display:block!important;
  margin:14px 0 7px!important;
  color:#102640!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.login-card.login-card--executive .input{
  min-height:54px!important;
  padding:0 15px!important;
  border:1px solid #cbd8e6!important;
  border-radius:13px!important;
  background:#eef4fb!important;
  color:#17324f!important;
  font-size:14px!important;
  box-shadow:inset 0 1px 2px rgba(12,35,62,.02)!important;
}
.login-card.login-card--executive .input:focus{
  outline:none!important;
  border-color:#75ade4!important;
  background:#f8fbff!important;
  color:#17324f!important;
  box-shadow:0 0 0 3px rgba(70,139,211,.12)!important;
}
.login-card.login-card--executive .input::placeholder{color:#7e92aa!important;}
.login-card.login-card--executive .password-toggle{
  right:8px!important;
  width:42px!important;
  height:40px!important;
  border:0!important;
  background:transparent!important;
  font-size:22px!important;
}
.login-card.login-card--executive .login-submit{
  min-height:54px!important;
  margin-top:22px!important;
  border:0!important;
  border-radius:13px!important;
  background:linear-gradient(105deg,#2e8ce7,#287fd9)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 12px 24px rgba(42,132,221,.18)!important;
}
.login-card.login-card--executive .login-submit:hover{
  background:linear-gradient(105deg,#267fda,#1f74cc)!important;
  transform:translateY(-1px)!important;
}
.login-security-note{
  display:block!important;
  max-width:390px!important;
  margin:16px auto 0!important;
  text-align:center!important;
  color:#8193a8!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}
.login-security-note strong{color:#24476e!important;}
@media(max-width:1450px) and (min-width:1101px){
  .login-layout.login-layout--executive{grid-template-columns:minmax(0,61%) minmax(420px,39%)!important;}
  .login-hero.login-hero--executive{padding:44px 54px!important;}
  .login-hero.login-hero--executive .login-hero-copy{width:min(590px,84%)!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(38px,3.8vw,58px)!important;}
  .login-hero-lead{font-size:14.5px!important;}
  .login-feature-list p{font-size:13px!important;}
  .login-card.login-card--executive{width:min(465px,100%)!important;padding:30px 30px 25px!important;}
  .login-card.login-card--executive h2{font-size:34px!important;}
}
@media(max-width:1100px){
  .login-layout.login-layout--executive{
    grid-template-columns:1fr!important;
    min-height:100vh!important;
    height:auto!important;
    background:
      linear-gradient(180deg,rgba(5,43,91,.55),rgba(239,246,252,.82)),
      url('../img/login-financial-district-bg.png') 62% center / cover no-repeat!important;
  }
  .login-hero.login-hero--executive{display:none!important;}
  .login-side.login-side--executive{min-height:100vh!important;height:auto!important;padding:20px!important;background:rgba(237,245,251,.70)!important;overflow:auto!important;}
  .login-card.login-card--executive{width:min(520px,100%)!important;}
}
@media(max-width:560px){
  .login-side.login-side--executive{padding:12px!important;}
  .login-card.login-card--executive{padding:26px 18px 22px!important;border-radius:22px!important;}
  .login-card.login-card--executive h2{font-size:30px!important;}
  .login-card.login-card--executive .login-card-logo{width:112px!important;}
  .login-card.login-card--executive .input{min-height:50px!important;}
  .login-card.login-card--executive .login-submit{min-height:50px!important;}
}

/* =========================================================
   LOGIN · FONDO CON LAPTOP VISIBLE 23-10-2026
   Ajuste final sobre fondo aportado por usuario.
   ========================================================= */
.login-layout.login-layout--executive{
  grid-template-columns:minmax(0,62%) minmax(430px,38%)!important;
  background:
    linear-gradient(90deg,rgba(3,42,94,.04) 0%,rgba(3,42,94,.01) 54%,rgba(3,42,94,0) 100%),
    url('../img/login-financial-district-bg.png') center center / cover no-repeat!important;
}
.login-hero.login-hero--executive{
  padding:clamp(50px,5vw,82px)!important;
  background:transparent!important;
}
.login-hero.login-hero--executive::before{
  background:linear-gradient(90deg,rgba(2,36,82,.18) 0%,rgba(3,48,99,.08) 40%,rgba(3,55,110,0) 72%)!important;
}
.login-hero.login-hero--executive .login-hero-copy{
  width:min(575px,82%)!important;
  margin-top:-8px!important;
}
.login-hero-logo{
  width:132px!important;
  margin-bottom:18px!important;
}
.login-eyebrow{
  min-height:40px!important;
  margin-bottom:20px!important;
}
.login-hero.login-hero--executive h1{
  max-width:555px!important;
  font-size:clamp(42px,3.75vw,61px)!important;
  line-height:.98!important;
  margin-bottom:20px!important;
}
.login-hero-lead{
  max-width:540px!important;
  font-size:14.5px!important;
  line-height:1.5!important;
  margin-bottom:21px!important;
}
.login-feature-list{gap:10px!important;}
.login-feature-list>div>span{
  width:21px!important;height:21px!important;flex-basis:21px!important;
}
.login-feature-list p{font-size:13px!important;}
.login-side.login-side--executive{
  padding:28px 38px 28px 10px!important;
  background:transparent!important;
  backdrop-filter:none!important;
}
.login-card.login-card--executive{
  width:min(490px,100%)!important;
  padding:31px 32px 26px!important;
  border-radius:29px!important;
  background:rgba(255,255,255,.975)!important;
  box-shadow:0 26px 64px rgba(8,38,73,.22)!important;
  backdrop-filter:blur(6px)!important;
}
.login-card.login-card--executive .login-card-logo{
  width:122px!important;
  margin-bottom:11px!important;
}
.login-card.login-card--executive h2{font-size:36px!important;}
.login-card-subtitle{margin-bottom:20px!important;}
.login-card.login-card--executive .input{min-height:52px!important;}
.login-card.login-card--executive .login-submit{
  min-height:52px!important;
  margin-top:20px!important;
}
@media(max-height:780px) and (min-width:1101px){
  .login-hero.login-hero--executive{padding-top:34px!important;padding-bottom:34px!important;}
  .login-hero.login-hero--executive .login-hero-copy{width:min(550px,82%)!important;}
  .login-hero-logo{width:112px!important;margin-bottom:14px!important;}
  .login-eyebrow{min-height:35px!important;margin-bottom:15px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(36px,3.3vw,52px)!important;margin-bottom:16px!important;}
  .login-hero-lead{font-size:13px!important;margin-bottom:17px!important;}
  .login-feature-list{gap:8px!important;}
  .login-feature-list p{font-size:12px!important;}
  .login-side.login-side--executive{padding-top:18px!important;padding-bottom:18px!important;}
  .login-card.login-card--executive{padding:25px 28px 22px!important;}
  .login-card.login-card--executive .login-card-logo{width:105px!important;margin-bottom:7px!important;}
  .login-card.login-card--executive h2{font-size:32px!important;}
  .login-card-subtitle{font-size:12.5px!important;margin-bottom:16px!important;}
  .login-card.login-card--executive label{margin-top:11px!important;}
  .login-card.login-card--executive .input{min-height:48px!important;}
  .login-card.login-card--executive .login-submit{min-height:48px!important;margin-top:17px!important;}
  .login-security-note{margin-top:12px!important;}
}
@media(max-width:1100px){
  .login-layout.login-layout--executive{
    background:
      linear-gradient(180deg,rgba(4,48,101,.38),rgba(235,244,251,.72)),
      url('../img/login-financial-district-bg.png') 48% center / cover no-repeat!important;
  }
  .login-side.login-side--executive{padding:20px!important;background:rgba(237,245,251,.38)!important;}
}

/* =========================================================
   LOGIN · TIPOGRAFÍA IZQUIERDA REFINADA 23-10-2026
   Mejor lectura sobre el fondo sin ocultar la laptop.
   ========================================================= */
.login-hero.login-hero--executive .login-hero-copy{
  width:min(610px,86%)!important;
  margin-left:2px!important;
  margin-top:-4px!important;
}
.login-hero-logo{
  width:128px!important;
  margin-bottom:17px!important;
  filter:drop-shadow(0 3px 8px rgba(0,22,55,.18))!important;
}
.login-eyebrow{
  min-height:40px!important;
  padding:0 20px!important;
  margin-bottom:22px!important;
  border-color:rgba(76,190,255,.66)!important;
  background:rgba(4,45,98,.34)!important;
  color:#fff!important;
  font-size:12.5px!important;
  letter-spacing:.13em!important;
  box-shadow:0 10px 24px rgba(0,30,70,.12)!important;
}
.login-hero.login-hero--executive h1{
  max-width:590px!important;
  margin:0 0 23px!important;
  color:#fff!important;
  font-size:clamp(40px,3.45vw,56px)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
  text-wrap:balance!important;
  text-shadow:0 3px 16px rgba(0,23,58,.34)!important;
}
.login-hero-lead{
  max-width:565px!important;
  margin:0 0 23px!important;
  color:rgba(255,255,255,.96)!important;
  font-size:14.5px!important;
  line-height:1.62!important;
  font-weight:500!important;
  text-shadow:0 2px 8px rgba(0,24,58,.30)!important;
}
.login-feature-list{
  gap:11px!important;
  max-width:580px!important;
}
.login-feature-list>div{
  gap:12px!important;
}
.login-feature-list>div>span{
  width:23px!important;
  height:23px!important;
  flex:0 0 23px!important;
  box-shadow:0 6px 14px rgba(31,189,242,.20)!important;
}
.login-feature-list p{
  color:rgba(255,255,255,.98)!important;
  font-size:13.5px!important;
  line-height:1.42!important;
  font-weight:600!important;
  text-shadow:0 2px 8px rgba(0,24,58,.28)!important;
}
@media(max-height:780px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{width:min(565px,84%)!important;}
  .login-hero-logo{width:108px!important;margin-bottom:13px!important;}
  .login-eyebrow{min-height:34px!important;margin-bottom:15px!important;font-size:11.5px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(34px,3vw,47px)!important;line-height:1.03!important;margin-bottom:16px!important;}
  .login-hero-lead{font-size:12.8px!important;line-height:1.5!important;margin-bottom:16px!important;}
  .login-feature-list{gap:7px!important;}
  .login-feature-list>div>span{width:19px!important;height:19px!important;flex-basis:19px!important;}
  .login-feature-list p{font-size:11.8px!important;line-height:1.35!important;}
}

/* =========================================================
   LOGIN · LAPTOP UN POCO MÁS A LA DERECHA + TEXTO MÁS LEGIBLE
   23-10-2026
   ========================================================= */
@media (min-width:1101px){
  .login-layout.login-layout--executive{
    background:
      linear-gradient(90deg,rgba(3,42,94,.035) 0%,rgba(3,42,94,.012) 52%,rgba(3,42,94,0) 100%),
      url('../img/login-financial-district-bg.png') 34% center / 112% auto no-repeat!important;
    background-color:#063c78!important;
  }
  .login-hero.login-hero--executive::before{
    display:block!important;
    content:''!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,
      rgba(1,31,73,.58) 0%,
      rgba(2,42,92,.48) 34%,
      rgba(3,53,108,.31) 58%,
      rgba(3,60,116,.10) 80%,
      rgba(3,60,116,0) 100%)!important;
    pointer-events:none!important;
    z-index:0!important;
  }
  .login-hero.login-hero--executive .login-hero-copy{
    position:relative!important;
    z-index:2!important;
  }
  .login-hero.login-hero--executive h1,
  .login-hero-lead,
  .login-feature-list p{
    text-shadow:0 3px 14px rgba(0,20,52,.48)!important;
  }
}

/* =========================================================
   LOGIN · BLOQUE IZQUIERDO LEGIBLE + LAPTOP DESPEJADA
   23-10-2026
   ========================================================= */
@media (min-width:1101px){
  .login-layout.login-layout--executive{
    background:
      linear-gradient(90deg,rgba(2,36,82,.02) 0%,rgba(2,36,82,0) 48%,rgba(2,36,82,0) 100%),
      url('../img/login-financial-district-bg.png') 8% center / 108% auto no-repeat!important;
    background-color:#073d78!important;
  }
  .login-hero.login-hero--executive{
    padding-left:clamp(56px,5vw,84px)!important;
    padding-right:18px!important;
  }
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(1,28,67,.72) 0%,
      rgba(2,39,86,.60) 30%,
      rgba(3,50,101,.38) 55%,
      rgba(3,58,111,.12) 78%,
      rgba(3,58,111,0) 100%)!important;
  }
  .login-hero.login-hero--executive .login-hero-copy{
    width:min(520px,76%)!important;
    margin:0!important;
    padding:24px 28px 25px!important;
    border:1px solid rgba(101,190,240,.16)!important;
    border-radius:26px!important;
    background:linear-gradient(135deg,rgba(2,38,83,.44),rgba(3,58,116,.22))!important;
    box-shadow:0 22px 48px rgba(0,20,54,.18)!important;
    backdrop-filter:blur(2.5px)!important;
    -webkit-backdrop-filter:blur(2.5px)!important;
  }
  .login-hero-logo{
    width:112px!important;
    margin:0 0 15px!important;
    filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,18,48,.28))!important;
  }
  .login-eyebrow{
    min-height:36px!important;
    padding:0 18px!important;
    margin:0 0 17px!important;
    font-size:11px!important;
    letter-spacing:.14em!important;
    background:rgba(4,48,103,.46)!important;
    border-color:rgba(87,199,255,.68)!important;
  }
  .login-hero.login-hero--executive h1{
    max-width:470px!important;
    margin:0 0 17px!important;
    font-size:clamp(38px,3.15vw,50px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
    text-shadow:0 4px 16px rgba(0,17,48,.58)!important;
  }
  .login-hero-lead{
    max-width:465px!important;
    margin:0 0 18px!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    color:rgba(255,255,255,.98)!important;
    text-shadow:0 2px 10px rgba(0,17,48,.52)!important;
  }
  .login-feature-list{
    max-width:470px!important;
    gap:9px!important;
  }
  .login-feature-list>div>span{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
  }
  .login-feature-list>div>span::before{
    font-size:12px!important;
  }
  .login-feature-list p{
    font-size:12.4px!important;
    line-height:1.35!important;
    font-weight:700!important;
    text-shadow:0 2px 10px rgba(0,17,48,.52)!important;
  }
}
@media (max-height:780px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{
    width:min(500px,75%)!important;
    padding:18px 23px 19px!important;
  }
  .login-hero-logo{width:96px!important;margin-bottom:10px!important;}
  .login-eyebrow{min-height:31px!important;margin-bottom:12px!important;font-size:10px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(32px,2.8vw,43px)!important;margin-bottom:13px!important;}
  .login-hero-lead{font-size:12.2px!important;margin-bottom:13px!important;}
  .login-feature-list{gap:6px!important;}
  .login-feature-list p{font-size:11.2px!important;}
  .login-feature-list>div>span{width:18px!important;height:18px!important;flex-basis:18px!important;}
}

/* =========================================================
   LOGIN · AJUSTE FINAL PEDIDO POR USUARIO 23-10-2026
   Sin tarjeta izquierda; solo opacidad de fondo para el texto,
   con la laptop más despejada hacia la derecha.
   ========================================================= */
@media (min-width:1101px){
  .login-layout.login-layout--executive{
    background:
      linear-gradient(90deg,rgba(3,42,94,.02) 0%,rgba(3,42,94,0) 44%,rgba(3,42,94,0) 100%),
      url('../img/login-financial-district-bg.png') 18% center / 108% auto no-repeat!important;
    background-color:#063c78!important;
  }

  .login-hero.login-hero--executive{
    padding-left:clamp(56px,5vw,84px)!important;
    padding-right:20px!important;
  }

  .login-hero.login-hero--executive::before{
    display:block!important;
    content:''!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,
      rgba(1,28,67,.84) 0%,
      rgba(2,39,86,.74) 24%,
      rgba(3,50,101,.56) 45%,
      rgba(3,58,111,.26) 67%,
      rgba(3,58,111,.08) 80%,
      rgba(3,58,111,0) 92%)!important;
    pointer-events:none!important;
    z-index:0!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    position:relative!important;
    z-index:2!important;
    width:min(515px,74%)!important;
    margin:0!important;
    padding:0!important;
    border:none!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .login-hero-logo{
    width:112px!important;
    margin:0 0 15px!important;
    filter:drop-shadow(0 4px 10px rgba(0,18,48,.30))!important;
  }

  .login-eyebrow{
    min-height:36px!important;
    padding:0 18px!important;
    margin:0 0 18px!important;
    font-size:11px!important;
    letter-spacing:.14em!important;
    background:rgba(4,48,103,.36)!important;
    border-color:rgba(87,199,255,.72)!important;
    box-shadow:0 8px 20px rgba(0,25,70,.14)!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:500px!important;
    margin:0 0 18px!important;
    font-size:clamp(40px,3.2vw,54px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
    color:#ffffff!important;
    text-shadow:0 4px 18px rgba(0,17,48,.62)!important;
  }

  .login-hero-lead{
    max-width:490px!important;
    margin:0 0 20px!important;
    font-size:13.8px!important;
    line-height:1.58!important;
    color:rgba(255,255,255,.97)!important;
    font-weight:500!important;
    text-shadow:0 2px 10px rgba(0,17,48,.54)!important;
  }

  .login-feature-list{
    max-width:495px!important;
    gap:9px!important;
  }

  .login-feature-list>div{
    gap:12px!important;
  }

  .login-feature-list>div>span{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    box-shadow:0 6px 14px rgba(31,189,242,.18)!important;
  }

  .login-feature-list p{
    font-size:12.8px!important;
    line-height:1.38!important;
    font-weight:700!important;
    color:#ffffff!important;
    text-shadow:0 2px 10px rgba(0,17,48,.54)!important;
  }
}

@media (max-height:780px) and (min-width:1101px){
  .login-layout.login-layout--executive{
    background:
      linear-gradient(90deg,rgba(3,42,94,.02) 0%,rgba(3,42,94,0) 44%,rgba(3,42,94,0) 100%),
      url('../img/login-financial-district-bg.png') 19% center / 108% auto no-repeat!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(490px,73%)!important;
  }

  .login-hero-logo{width:98px!important;margin-bottom:10px!important;}
  .login-eyebrow{min-height:31px!important;margin-bottom:12px!important;font-size:10px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(33px,2.8vw,45px)!important;margin-bottom:13px!important;}
  .login-hero-lead{font-size:12.4px!important;margin-bottom:14px!important;}
  .login-feature-list{gap:6px!important;}
  .login-feature-list p{font-size:11.4px!important;}
  .login-feature-list>div>span{width:18px!important;height:18px!important;flex-basis:18px!important;}
}

/* =========================================================
   LOGIN · TEXTO IZQUIERDO MÁS GRANDE Y LEGIBLE 23-10-2026
   Sin tarjeta: solo degradado azul sobre el fondo.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(1,26,64,.91) 0%,
      rgba(2,36,82,.82) 24%,
      rgba(3,48,99,.64) 45%,
      rgba(3,58,111,.34) 66%,
      rgba(3,58,111,.12) 80%,
      rgba(3,58,111,0) 93%)!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(570px,79%)!important;
  }

  .login-hero-logo{
    width:128px!important;
    margin-bottom:17px!important;
  }

  .login-eyebrow{
    min-height:40px!important;
    padding:0 20px!important;
    margin-bottom:20px!important;
    font-size:12px!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:555px!important;
    margin-bottom:20px!important;
    font-size:clamp(46px,3.7vw,62px)!important;
    line-height:1.01!important;
    letter-spacing:-.04em!important;
    text-shadow:0 4px 20px rgba(0,14,43,.70)!important;
  }

  .login-hero-lead{
    max-width:540px!important;
    margin-bottom:22px!important;
    font-size:15.5px!important;
    line-height:1.58!important;
    font-weight:600!important;
    text-shadow:0 3px 12px rgba(0,15,45,.68)!important;
  }

  .login-feature-list{
    max-width:545px!important;
    gap:11px!important;
  }

  .login-feature-list>div>span{
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
  }

  .login-feature-list p{
    font-size:14px!important;
    line-height:1.4!important;
    font-weight:750!important;
    text-shadow:0 3px 12px rgba(0,15,45,.68)!important;
  }
}

@media (max-height:780px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{width:min(530px,77%)!important;}
  .login-hero-logo{width:108px!important;margin-bottom:11px!important;}
  .login-eyebrow{min-height:33px!important;margin-bottom:13px!important;font-size:10.5px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(37px,3.05vw,50px)!important;margin-bottom:14px!important;}
  .login-hero-lead{font-size:13.2px!important;line-height:1.48!important;margin-bottom:15px!important;}
  .login-feature-list{gap:7px!important;}
  .login-feature-list p{font-size:12px!important;line-height:1.34!important;}
  .login-feature-list>div>span{width:19px!important;height:19px!important;flex-basis:19px!important;}
}

/* =========================================================
   LOGIN · TEXTO XL + OPACIDAD IZQUIERDA REFORZADA 23-10-2026
   Pedido final: texto más grande sin tarjeta y mejor contraste.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(1,24,60,.96) 0%,
      rgba(2,34,78,.91) 22%,
      rgba(3,45,94,.78) 42%,
      rgba(3,55,108,.55) 58%,
      rgba(3,60,116,.29) 72%,
      rgba(3,60,116,.10) 84%,
      rgba(3,60,116,0) 95%)!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(600px,82%)!important;
  }

  .login-hero-logo{
    width:138px!important;
    margin-bottom:19px!important;
  }

  .login-eyebrow{
    min-height:44px!important;
    padding:0 22px!important;
    margin-bottom:22px!important;
    font-size:13px!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:590px!important;
    margin-bottom:23px!important;
    font-size:clamp(52px,4.15vw,70px)!important;
    line-height:.99!important;
    letter-spacing:-.042em!important;
    font-weight:900!important;
    color:#fff!important;
    text-shadow:0 5px 22px rgba(0,12,40,.78)!important;
  }

  .login-hero-lead{
    max-width:570px!important;
    margin-bottom:24px!important;
    font-size:17px!important;
    line-height:1.58!important;
    font-weight:600!important;
    color:#fff!important;
    text-shadow:0 3px 14px rgba(0,13,42,.74)!important;
  }

  .login-feature-list{
    max-width:575px!important;
    gap:13px!important;
  }

  .login-feature-list>div{gap:13px!important;}

  .login-feature-list>div>span{
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
  }

  .login-feature-list p{
    font-size:15.5px!important;
    line-height:1.42!important;
    font-weight:750!important;
    color:#fff!important;
    text-shadow:0 3px 14px rgba(0,13,42,.74)!important;
  }
}

@media (max-height:780px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{width:min(560px,80%)!important;}
  .login-hero-logo{width:116px!important;margin-bottom:12px!important;}
  .login-eyebrow{min-height:35px!important;margin-bottom:14px!important;font-size:11px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(41px,3.35vw,54px)!important;margin-bottom:15px!important;}
  .login-hero-lead{font-size:14px!important;line-height:1.48!important;margin-bottom:16px!important;}
  .login-feature-list{gap:8px!important;}
  .login-feature-list p{font-size:12.8px!important;line-height:1.35!important;}
  .login-feature-list>div>span{width:20px!important;height:20px!important;flex-basis:20px!important;}
}

/* =========================================================
   LOGIN · TEXTO XXL + OPACIDAD ALTA IZQUIERDA 23-10-2026
   Último ajuste solicitado: máxima legibilidad sin tarjeta.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(0,20,54,.985) 0%,
      rgba(1,29,70,.965) 23%,
      rgba(2,40,87,.90) 42%,
      rgba(3,52,103,.76) 58%,
      rgba(3,60,116,.46) 70%,
      rgba(3,60,116,.18) 81%,
      rgba(3,60,116,0) 94%)!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(650px,86%)!important;
  }

  .login-hero-logo{
    width:150px!important;
    margin-bottom:20px!important;
  }

  .login-eyebrow{
    min-height:48px!important;
    padding:0 24px!important;
    margin-bottom:24px!important;
    font-size:14px!important;
    letter-spacing:.14em!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:640px!important;
    margin-bottom:25px!important;
    font-size:clamp(62px,4.9vw,84px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    font-weight:900!important;
    color:#fff!important;
    text-shadow:0 6px 26px rgba(0,10,36,.86)!important;
  }

  .login-hero-lead{
    max-width:620px!important;
    margin-bottom:26px!important;
    font-size:19px!important;
    line-height:1.5!important;
    font-weight:650!important;
    color:#fff!important;
    text-shadow:0 4px 16px rgba(0,11,38,.82)!important;
  }

  .login-feature-list{
    max-width:625px!important;
    gap:14px!important;
  }

  .login-feature-list>div{gap:14px!important;}

  .login-feature-list>div>span{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }

  .login-feature-list p{
    font-size:17px!important;
    line-height:1.4!important;
    font-weight:800!important;
    color:#fff!important;
    text-shadow:0 4px 16px rgba(0,11,38,.82)!important;
  }
}

@media (max-height:820px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{width:min(610px,84%)!important;}
  .login-hero-logo{width:130px!important;margin-bottom:14px!important;}
  .login-eyebrow{min-height:39px!important;margin-bottom:16px!important;font-size:12px!important;}
  .login-hero.login-hero--executive h1{font-size:clamp(48px,3.8vw,63px)!important;margin-bottom:17px!important;}
  .login-hero-lead{font-size:15.2px!important;line-height:1.47!important;margin-bottom:18px!important;}
  .login-feature-list{gap:9px!important;}
  .login-feature-list p{font-size:13.8px!important;line-height:1.35!important;}
  .login-feature-list>div>span{width:22px!important;height:22px!important;flex-basis:22px!important;}
}

/* =========================================================
   LOGIN · TEXTO XXXL + FONDO MÁS OPACO 23-10-2026
   Corrección definitiva para pantallas desktop de altura media.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(0,17,48,.995) 0%,
      rgba(0,24,61,.985) 22%,
      rgba(1,34,76,.955) 40%,
      rgba(2,45,94,.88) 56%,
      rgba(3,55,108,.68) 68%,
      rgba(3,60,116,.34) 80%,
      rgba(3,60,116,.08) 90%,
      rgba(3,60,116,0) 97%)!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(735px,91%)!important;
  }

  .login-hero-logo{
    width:168px!important;
    margin-bottom:22px!important;
  }

  .login-eyebrow{
    min-height:54px!important;
    padding:0 28px!important;
    margin-bottom:27px!important;
    font-size:16px!important;
    letter-spacing:.14em!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:720px!important;
    margin-bottom:27px!important;
    font-size:clamp(76px,5.7vw,104px)!important;
    line-height:.93!important;
    letter-spacing:-.05em!important;
    font-weight:900!important;
    color:#fff!important;
    text-shadow:0 7px 30px rgba(0,8,32,.92)!important;
  }

  .login-hero-lead{
    max-width:690px!important;
    margin-bottom:28px!important;
    font-size:22px!important;
    line-height:1.5!important;
    font-weight:650!important;
    color:#fff!important;
    text-shadow:0 4px 18px rgba(0,8,32,.9)!important;
  }

  .login-feature-list{
    max-width:700px!important;
    gap:16px!important;
  }

  .login-feature-list>div{gap:16px!important;}

  .login-feature-list>div>span{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }

  .login-feature-list p{
    font-size:19px!important;
    line-height:1.38!important;
    font-weight:800!important;
    color:#fff!important;
    text-shadow:0 4px 18px rgba(0,8,32,.9)!important;
  }
}

/* Mantiene letras grandes también en laptops de 768-900 px de alto */
@media (max-height:900px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{
    width:min(690px,89%)!important;
  }
  .login-hero-logo{
    width:145px!important;
    margin-bottom:16px!important;
  }
  .login-eyebrow{
    min-height:45px!important;
    margin-bottom:19px!important;
    font-size:14px!important;
  }
  .login-hero.login-hero--executive h1{
    max-width:675px!important;
    font-size:clamp(62px,4.8vw,82px)!important;
    line-height:.95!important;
    margin-bottom:19px!important;
  }
  .login-hero-lead{
    max-width:650px!important;
    font-size:18px!important;
    line-height:1.48!important;
    margin-bottom:20px!important;
  }
  .login-feature-list{
    max-width:660px!important;
    gap:11px!important;
  }
  .login-feature-list>div>span{
    width:27px!important;
    height:27px!important;
    flex-basis:27px!important;
  }
  .login-feature-list p{
    font-size:16px!important;
    line-height:1.36!important;
  }
}

/* =========================================================
   LOGIN · AJUSTE EQUILIBRADO FINAL 23-10-2026
   Texto grande legible + fondo más opaco, sin tapar la laptop.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive::before{
    background:linear-gradient(90deg,
      rgba(0,18,50,.995) 0%,
      rgba(0,26,64,.985) 24%,
      rgba(1,37,80,.96) 43%,
      rgba(2,49,98,.88) 58%,
      rgba(3,58,112,.70) 70%,
      rgba(3,63,120,.42) 80%,
      rgba(3,63,120,.17) 89%,
      rgba(3,63,120,0) 98%)!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    width:min(650px,86%)!important;
  }

  .login-hero-logo{
    width:146px!important;
    margin-bottom:18px!important;
  }

  .login-eyebrow{
    min-height:46px!important;
    padding:0 24px!important;
    margin-bottom:22px!important;
    font-size:14px!important;
    letter-spacing:.14em!important;
  }

  .login-hero.login-hero--executive h1{
    max-width:620px!important;
    margin-bottom:22px!important;
    font-size:clamp(58px,4.45vw,76px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    font-weight:900!important;
    color:#fff!important;
    text-shadow:0 6px 24px rgba(0,8,30,.94)!important;
  }

  .login-hero-lead{
    max-width:610px!important;
    margin-bottom:23px!important;
    font-size:18px!important;
    line-height:1.5!important;
    font-weight:650!important;
    color:#fff!important;
    text-shadow:0 4px 16px rgba(0,8,30,.92)!important;
  }

  .login-feature-list{
    max-width:620px!important;
    gap:12px!important;
  }

  .login-feature-list>div{gap:14px!important;}

  .login-feature-list>div>span{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
  }

  .login-feature-list p{
    font-size:16px!important;
    line-height:1.38!important;
    font-weight:800!important;
    color:#fff!important;
    text-shadow:0 4px 16px rgba(0,8,30,.92)!important;
  }
}

@media (max-height:900px) and (min-width:1101px){
  .login-hero.login-hero--executive .login-hero-copy{
    width:min(620px,84%)!important;
  }
  .login-hero-logo{
    width:130px!important;
    margin-bottom:14px!important;
  }
  .login-eyebrow{
    min-height:40px!important;
    margin-bottom:16px!important;
    font-size:12.5px!important;
  }
  .login-hero.login-hero--executive h1{
    max-width:600px!important;
    font-size:clamp(52px,4vw,67px)!important;
    line-height:.97!important;
    margin-bottom:16px!important;
  }
  .login-hero-lead{
    max-width:585px!important;
    font-size:16px!important;
    line-height:1.47!important;
    margin-bottom:18px!important;
  }
  .login-feature-list{
    max-width:600px!important;
    gap:9px!important;
  }
  .login-feature-list>div>span{
    width:24px!important;
    height:24px!important;
    flex-basis:24px!important;
  }
  .login-feature-list p{
    font-size:14.2px!important;
    line-height:1.34!important;
  }
}

/* =========================================================
   LOGIN · CAPA AZUL TIPO AGUA / CRISTAL 23-10-2026
   Mantiene la laptop visible y mejora la lectura sin tarjetas.
   ========================================================= */
@media (min-width:1101px){
  .login-hero.login-hero--executive{
    position:relative!important;
    isolation:isolate!important;
  }

  .login-hero.login-hero--executive::before{
    content:''!important;
    position:absolute!important;
    inset:0!important;
    display:block!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse at 18% 44%, rgba(16,112,196,.34) 0%, rgba(7,72,150,.22) 32%, rgba(4,49,108,0) 66%),
      linear-gradient(100deg,
        rgba(0,24,63,.96) 0%,
        rgba(0,34,82,.94) 20%,
        rgba(2,48,103,.90) 40%,
        rgba(3,66,130,.78) 57%,
        rgba(9,91,161,.55) 70%,
        rgba(23,116,188,.30) 82%,
        rgba(41,145,210,.10) 92%,
        rgba(41,145,210,0) 100%)!important;
  }

  .login-hero.login-hero--executive::after{
    content:''!important;
    position:absolute!important;
    inset:0!important;
    display:block!important;
    z-index:1!important;
    pointer-events:none!important;
    background:
      linear-gradient(165deg, rgba(77,194,255,.10) 0%, rgba(77,194,255,0) 34%),
      radial-gradient(ellipse at 8% 78%, rgba(58,186,246,.16) 0%, rgba(58,186,246,0) 50%)!important;
    mix-blend-mode:screen!important;
    opacity:.72!important;
  }

  .login-hero.login-hero--executive .login-hero-copy{
    position:relative!important;
    z-index:3!important;
  }

  .login-hero.login-hero--executive h1,
  .login-hero-lead,
  .login-feature-list p{
    color:#fff!important;
    text-shadow:
      0 2px 2px rgba(0,10,32,.35),
      0 5px 18px rgba(0,8,28,.82)!important;
  }

  .login-eyebrow{
    background:rgba(3,52,112,.46)!important;
    border-color:rgba(74,194,255,.80)!important;
    box-shadow:0 10px 26px rgba(0,26,67,.20)!important;
  }
}

/* =========================================================
   UNIFICACIÓN DE COLOR · SIDEBAR + TOPBAR CON TONO DEL HOME
   23-10-2026
   ========================================================= */
body.app-shell .sidebar{
  background:#041629!important;
  border-right:1px solid rgba(105,167,224,.16)!important;
  box-shadow:12px 0 34px rgba(0,7,18,.14)!important;
}
body.app-shell .topbar{
  background:#041629!important;
  border-bottom:1px solid rgba(105,167,224,.16)!important;
  box-shadow:0 8px 26px rgba(0,7,18,.14)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
/* Mantener profundidad sin introducir otro color de fondo */
body.app-shell .sidebar nav>a:hover,
body.app-shell .sidebar summary:hover{
  background:rgba(55,126,205,.13)!important;
}
body.app-shell .sidebar details[open]>summary{
  background:rgba(55,126,205,.14)!important;
}
body.app-shell .top-pill,
body.app-shell .user-menu-trigger{
  background:rgba(24,64,106,.42)!important;
}

/* =====================================================================
   RESPONSIVE FINAL iOS / ANDROID / TABLET · 23-10-2026
   Capa final de prioridad alta: elimina desbordes de escritorio y adapta
   login, selector de empresa, shell interno, formularios y tablas.
   ===================================================================== */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%}

@media (max-width:1100px){
  html,body{width:100%;min-height:100%;}

  /* ---------- LOGIN / PUBLIC ---------- */
  body.public-shell:has(.login-layout--executive){
    width:100%!important;
    min-height:100dvh!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#062f61!important;
    -webkit-text-size-adjust:100%;
  }
  .login-layout.login-layout--executive{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    overflow:hidden!important;
    background:
      linear-gradient(180deg,rgba(4,39,84,.48),rgba(4,39,84,.70)),
      url('../img/login-financial-district-bg.png') 58% center / cover no-repeat!important;
    background-color:#062f61!important;
  }
  .login-hero.login-hero--executive{
    display:none!important;
  }
  .login-side.login-side--executive{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    padding:
      max(22px,env(safe-area-inset-top))
      max(16px,env(safe-area-inset-right))
      max(24px,env(safe-area-inset-bottom))
      max(16px,env(safe-area-inset-left))!important;
    background:linear-gradient(180deg,rgba(4,37,78,.18),rgba(4,37,78,.34))!important;
    overflow:visible!important;
  }
  .login-card.login-card--executive{
    box-sizing:border-box!important;
    width:min(100%,520px)!important;
    min-width:0!important;
    max-width:520px!important;
    min-height:0!important;
    max-height:none!important;
    margin:auto!important;
    padding:28px 26px 24px!important;
    border-radius:28px!important;
    overflow:visible!important;
    background:rgba(255,255,255,.975)!important;
    box-shadow:0 24px 60px rgba(0,22,58,.30)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    backdrop-filter:blur(12px)!important;
  }
  .login-card.login-card--executive .login-card-logo{
    width:118px!important;
    height:auto!important;
    margin:0 auto 8px!important;
  }
  .login-card.login-card--executive h2{
    font-size:34px!important;
    line-height:1.08!important;
    margin:8px 0 6px!important;
  }
  .login-card-subtitle{
    font-size:14px!important;
    line-height:1.45!important;
    margin:0 0 18px!important;
  }
  .login-card.login-card--executive label{
    font-size:13px!important;
    margin:13px 0 6px!important;
  }
  .login-card.login-card--executive .input,
  .login-card.login-card--executive input,
  .login-card.login-card--executive select,
  .login-card.login-card--executive textarea{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    font-size:16px!important; /* evita zoom automático de Safari iOS */
  }
  .login-card.login-card--executive .password-field{width:100%!important;min-width:0!important;}
  .login-card.login-card--executive .password-toggle{min-width:44px!important;min-height:44px!important;}
  .login-card.login-card--executive .login-submit{
    width:100%!important;
    min-height:54px!important;
    margin-top:18px!important;
    font-size:16px!important;
  }
  .login-security-note{font-size:11.5px!important;line-height:1.45!important;margin-top:13px!important;}

  /* ---------- SELECTOR DE EMPRESA ---------- */
  body.public-shell:has(.company-select-layout--executive){
    width:100%!important;
    min-height:100dvh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#edf4fa!important;
  }
  .company-select-layout--executive{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    overflow:visible!important;
    background:#edf4fa!important;
  }
  .company-select-hero--executive{display:none!important;}
  .company-select-side--executive{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    padding:
      max(18px,env(safe-area-inset-top))
      max(14px,env(safe-area-inset-right))
      max(20px,env(safe-area-inset-bottom))
      max(14px,env(safe-area-inset-left))!important;
    overflow:visible!important;
  }
  .company-selector-card--adaptive{
    box-sizing:border-box!important;
    width:min(100%,560px)!important;
    min-width:0!important;
    max-width:560px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:auto!important;
    padding:24px 22px 20px!important;
    border-radius:26px!important;
    overflow:visible!important;
  }
  .company-card-logo--executive{width:120px!important;height:74px!important;margin-bottom:4px!important;}
  .company-selector-card--adaptive h2{font-size:30px!important;line-height:1.08!important;}
  .company-selector-card--adaptive .company-intro{font-size:13px!important;margin-bottom:14px!important;}
  .company-selector-card--adaptive .company-user-box{min-height:64px!important;margin-bottom:14px!important;}
  .company-selector-card--adaptive .company-selection-hint{min-height:52px!important;font-size:16px!important;}
  .company-selector-card--adaptive .company-options{
    max-height:min(46dvh,430px)!important;
    min-height:150px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .company-selector-card--adaptive .company-option{min-height:64px!important;}
  .company-selector-card--adaptive .company-enter,
  .company-selector-card--adaptive .company-logout{min-height:50px!important;}

  /* ---------- SHELL INTERNO / MENÚ ---------- */
  body.app-shell{
    --topbar-h:64px!important;
    --sidebar-w:0px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:0!important;
    padding-top:var(--topbar-h)!important;
    overflow-x:hidden!important;
  }
  body.app-shell .sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(86vw,320px)!important;
    max-width:320px!important;
    height:100dvh!important;
    padding:
      max(18px,env(safe-area-inset-top))
      14px
      max(18px,env(safe-area-inset-bottom))!important;
    transform:translateX(-104%)!important;
    transition:transform .24s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:1000!important;
    box-shadow:18px 0 48px rgba(0,8,25,.38)!important;
  }
  body.app-shell.sidebar-collapsed .sidebar{transform:translateX(0)!important;}
  body.app-shell .sidebar .brand img{max-width:112px!important;height:auto!important;}
  body.app-shell .sidebar nav>a,
  body.app-shell .sidebar summary{min-height:48px!important;font-size:14px!important;}
  body.app-shell .sidebar details>a{min-height:40px!important;font-size:12px!important;}

  body.app-shell .topbar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:0!important;
    width:100%!important;
    height:var(--topbar-h)!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:
      env(safe-area-inset-top)
      max(10px,env(safe-area-inset-right))
      0
      max(10px,env(safe-area-inset-left))!important;
    z-index:900!important;
  }
  body.app-shell .hamb{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    flex:0 0 44px!important;
  }
  body.app-shell .topbar-brand{
    display:flex!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    max-width:64px!important;
  }
  body.app-shell .topbar-brand:hover{transform:translate(-50%,-50%) scale(1.03)!important;}
  body.app-shell .topbar-brand img{max-width:54px!important;max-height:34px!important;}
  .kpi-topbar-zone{margin-left:auto!important;gap:6px!important;min-width:0!important;}
  .kpi-status-chip{display:none!important;}
  .kpi-user-trigger{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:13px!important;
  }
  .kpi-user-menu-wrap .user-dropdown{
    position:fixed!important;
    right:max(10px,env(safe-area-inset-right))!important;
    top:calc(var(--topbar-h) + 6px)!important;
    width:min(330px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
  }

  body.app-shell .main,
  body.app-shell.home-route .main{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:calc(100dvh - var(--topbar-h))!important;
    padding:12px!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* ---------- HOME ---------- */
  .home-welcome{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    grid-template-columns:1fr!important;
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .home-copy{max-width:100%!important;}
  .home-copy h1{font-size:clamp(34px,7vw,48px)!important;line-height:1.04!important;}
  .home-lead{max-width:100%!important;font-size:14px!important;}
  .home-brand-stage{display:none!important;}
  .home-shortcuts{
    width:100%!important;
    height:auto!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:12px 0 24px!important;
  }
  .home-tile{min-height:190px!important;padding:20px 18px!important;}

  /* ---------- CONTENEDORES / FORMULARIOS ---------- */
  .card,.panel,.page-card,.detail-card,.asset-card,.admin-card{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .form-grid,.form-row,.form-columns,.detail-grid,.kpis,
  .asset-form-grid,.vehicle-form-grid,.semoviente-grid{
    min-width:0!important;
  }
  input,select,textarea,button{max-width:100%;}
  body.app-shell input,
  body.app-shell select,
  body.app-shell textarea{
    font-size:16px; /* iOS: evita zoom al enfocar */
  }
  body.app-shell button,
  body.app-shell .btn,
  body.app-shell a.btn{min-height:44px;}

  /* ---------- TABLAS ---------- */
  .table-wrap,.employees-table-wrap,.companies-table-wrap,.options-table-wrap,
  .assets-table-wrap,.actas-table-wrap,.vehicle-table-wrap,.vehicle-classic-table-wrap,
  .processx-table-shell,.locx-table-shell,.areax-table-shell,.ops-table-wrap,.prod-table-wrap,
  .asset-report-scroll,.pp-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
  }
  table{max-width:none;}
}

@media (max-width:767px){
  /* iPhone/Android vertical */
  .login-layout.login-layout--executive{
    background:
      linear-gradient(180deg,rgba(3,31,68,.52),rgba(3,31,68,.72)),
      url('../img/login-financial-district-bg.png') 57% center / cover no-repeat!important;
  }
  .login-side.login-side--executive{align-items:center!important;padding-left:14px!important;padding-right:14px!important;}
  .login-card.login-card--executive{
    width:100%!important;
    max-width:440px!important;
    padding:24px 18px 20px!important;
    border-radius:24px!important;
  }
  .login-card.login-card--executive .login-card-logo{width:104px!important;}
  .login-card.login-card--executive h2{font-size:30px!important;}
  .login-card-subtitle{font-size:13px!important;}

  .company-selector-card--adaptive{padding:20px 15px 16px!important;border-radius:22px!important;}
  .company-selector-card--adaptive h2{font-size:27px!important;}
  .company-selector-card--adaptive .company-options{max-height:42dvh!important;}
  .company-option-copy strong{font-size:12px!important;}

  body.app-shell .main,body.app-shell.home-route .main{padding:10px!important;}
  .home-welcome{padding:18px 15px!important;}
  .home-copy h1{font-size:34px!important;}
  .home-eyebrow{font-size:10px!important;margin-bottom:12px!important;}
  .home-accent{width:130px!important;margin:15px 0!important;}
  .home-shortcuts{grid-template-columns:1fr!important;gap:10px!important;padding-bottom:18px!important;}
  .home-tile{min-height:160px!important;padding:18px 16px!important;}
  .home-tile-icon{width:52px!important;height:52px!important;margin-bottom:10px!important;}
  .home-tile h2{font-size:18px!important;}
  .home-tile p{font-size:12px!important;max-width:calc(100% - 54px)!important;}

  .page-header,.page-title-row,.toolbar,.actions-row,.detail-header,.strip-header,
  .assets-strip,.actas-strip,.vehicle-classic-head,.semovientes-head{
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .form-grid,.kpis,.asset-report-kpis,.prod-kpis,.pp-kpis{
    grid-template-columns:1fr!important;
  }
}

@media (min-width:768px) and (max-width:1100px){
  /* Tablet / iPad */
  .login-card.login-card--executive{max-width:560px!important;padding:34px 34px 30px!important;}
  .login-card.login-card--executive h2{font-size:38px!important;}
  .company-selector-card--adaptive{max-width:620px!important;padding:30px 30px 24px!important;}
  .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media (max-width:900px) and (orientation:landscape){
  /* iPhone/Android horizontal: permitir scroll vertical, sin cortar tarjeta */
  body.public-shell:has(.login-layout--executive),
  .login-layout.login-layout--executive,
  .login-side.login-side--executive{min-height:100dvh!important;height:auto!important;overflow-y:auto!important;}
  .login-side.login-side--executive{align-items:flex-start!important;padding-top:max(12px,env(safe-area-inset-top))!important;}
  .login-card.login-card--executive{margin:0 auto!important;padding-top:18px!important;padding-bottom:18px!important;}
  .login-card.login-card--executive .login-card-logo{width:86px!important;margin-bottom:2px!important;}
  .login-card.login-card--executive h2{font-size:27px!important;margin:4px 0!important;}
  .login-card-subtitle{margin-bottom:10px!important;}
  .login-card.login-card--executive label{margin-top:8px!important;}
  .login-card.login-card--executive .input{min-height:48px!important;}
  .login-card.login-card--executive .login-submit{min-height:48px!important;margin-top:12px!important;}
}

/* =====================================================================
   ADMINISTRACIÓN · COLOR ÚNICO DEL HOME / MENÚ · 23-10-2026
   Empresas · Roles · Usuarios · Opciones · Empleados · Suscripciones
   Base: #041629. Separación mediante transparencias del mismo tono.
   ===================================================================== */
:root{
  --kpi-admin-base:#041629;
  --kpi-admin-line:rgba(95,159,220,.22);
  --kpi-admin-soft:rgba(255,255,255,.025);
  --kpi-admin-soft-2:rgba(72,135,199,.075);
  --kpi-admin-input:#061d33;
}

/* ---------- CONTENEDORES PRINCIPALES ---------- */
html:not([data-theme="light"]) .companies-strip,
html:not([data-theme="light"]) .companies-panel,
html:not([data-theme="light"]) .roles-strip,
html:not([data-theme="light"]) .roles-panel,
html:not([data-theme="light"]) .users-strip,
html:not([data-theme="light"]) .users-panel,
html:not([data-theme="light"]) .options-admin-strip,
html:not([data-theme="light"]) .options-admin-panel,
html:not([data-theme="light"]) .employees-strip,
html:not([data-theme="light"]) .employees-panel,
html:not([data-theme="light"]) .sub-hero,
html:not([data-theme="light"]) .sub-panel,
html:not([data-theme="light"]) .sub-plans-panel,
html:not([data-theme="light"]) .sub-history-panel{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
  box-shadow:0 10px 28px rgba(0,7,18,.14)!important;
}

/* ---------- EMPRESAS ---------- */
html:not([data-theme="light"]) .companies-toolbar,
html:not([data-theme="light"]) .companies-table thead tr:first-child th,
html:not([data-theme="light"]) .companies-filters-row th{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .companies-table tbody td{
  background:transparent!important;
  border-color:var(--kpi-admin-line)!important;
  color:#eef7ff!important;
}
html:not([data-theme="light"]) .companies-table tbody tr:nth-child(even) td{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .companies-table tbody tr:hover td{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .companies-table input,
html:not([data-theme="light"]) .companies-table select{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
  color:#e9f5ff!important;
}

/* ---------- ROLES ---------- */
html:not([data-theme="light"]) .roles-toolbar,
html:not([data-theme="light"]) .roles-table-shell,
html:not([data-theme="light"]) .roles-table-head,
html:not([data-theme="light"]) .role-row-main,
html:not([data-theme="light"]) .role-row:nth-child(even) .role-row-main,
html:not([data-theme="light"]) .role-row-detail,
html:not([data-theme="light"]) .role-option-group,
html:not([data-theme="light"]) .role-option-parent,
html:not([data-theme="light"]) .role-option-children{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .role-row:nth-child(even) .role-row-main{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .role-row:hover .role-row-main{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .roles-search{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
}
html:not([data-theme="light"]) .roles-search input{background:transparent!important;color:#e9f5ff!important}

/* ---------- USUARIOS ---------- */
html:not([data-theme="light"]) .users-toolbar,
html:not([data-theme="light"]) .users-table-shell,
html:not([data-theme="light"]) .users-table-head,
html:not([data-theme="light"]) .users-filter-row,
html:not([data-theme="light"]) .user-row-main,
html:not([data-theme="light"]) .user-row:nth-child(even) .user-row-main,
html:not([data-theme="light"]) .user-row-detail,
html:not([data-theme="light"]) .user-assoc-card,
html:not([data-theme="light"]) .user-assoc-head{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .user-row:nth-child(even) .user-row-main{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .user-row:hover .user-row-main{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .users-filter-row input,
html:not([data-theme="light"]) .users-filter-row select{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
  color:#e9f5ff!important;
}
html:not([data-theme="light"]) .user-cell,
html:not([data-theme="light"]) .user-assoc-card h3,
html:not([data-theme="light"]) .user-assoc-head b,
html:not([data-theme="light"]) .user-assoc-line span{color:#eef7ff!important}

/* ---------- OPCIONES ---------- */
html:not([data-theme="light"]) .options-table-wrap,
html:not([data-theme="light"]) .options-admin-table thead th,
html:not([data-theme="light"]) .options-filter-row th,
html:not([data-theme="light"]) .options-admin-table tbody td,
html:not([data-theme="light"]) .option-children-panel,
html:not([data-theme="light"]) .option-child-item{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .options-admin-table tbody tr:nth-child(even)>td{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .options-admin-table tbody tr:hover>td{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .options-filter-row input{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
  color:#e9f5ff!important;
}

/* ---------- EMPLEADOS ---------- */
html:not([data-theme="light"]) .employees-toolbar,
html:not([data-theme="light"]) .employees-table-wrap,
html:not([data-theme="light"]) .employees-table th,
html:not([data-theme="light"]) .employees-table td,
html:not([data-theme="light"]) .employees-bulk,
html:not([data-theme="light"]) .employees-bulk-body,
html:not([data-theme="light"]) .employees-template-card,
html:not([data-theme="light"]) .employees-upload-card,
html:not([data-theme="light"]) .employees-upload-card form{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .employees-table tbody tr:nth-child(even) td{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .employees-table tbody tr:hover td{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .employees-table input,
html:not([data-theme="light"]) .employees-table select{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
  color:#e9f5ff!important;
}

/* ---------- SUSCRIPCIONES ---------- */
html:not([data-theme="light"]) .sub-page{color:#eef8ff!important}
html:not([data-theme="light"]) .sub-hero{
  background:var(--kpi-admin-base)!important;
}
html:not([data-theme="light"]) .sub-stats article,
html:not([data-theme="light"]) .sub-alert-summary>div,
html:not([data-theme="light"]) .sub-plan-card{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
html:not([data-theme="light"]) .sub-toolbar,
html:not([data-theme="light"]) .sub-table th,
html:not([data-theme="light"]) .sub-table td{
  background:var(--kpi-admin-base)!important;
  border-color:var(--kpi-admin-line)!important;
}
html:not([data-theme="light"]) .sub-table tbody tr:nth-child(even) td{
  background:var(--kpi-admin-soft)!important;
}
html:not([data-theme="light"]) .sub-table tbody tr:hover td{
  background:var(--kpi-admin-soft-2)!important;
}
html:not([data-theme="light"]) .sub-search input,
html:not([data-theme="light"]) .sub-search select,
html:not([data-theme="light"]) .sub-search button{
  background:var(--kpi-admin-input)!important;
  border-color:rgba(91,158,221,.35)!important;
  color:#e9f5ff!important;
}
html:not([data-theme="light"]) .sub-search button{background:rgba(46,117,177,.25)!important;color:#cfeaff!important}

/* Titulares y barras se mantienen limpios y con acentos de estado. */
html:not([data-theme="light"]) .companies-strip-title,
html:not([data-theme="light"]) .roles-strip-title,
html:not([data-theme="light"]) .users-strip-title,
html:not([data-theme="light"]) .options-admin-title,
html:not([data-theme="light"]) .employees-strip-title,
html:not([data-theme="light"]) .sub-hero h1,
html:not([data-theme="light"]) .sub-section-title h2{color:#fff!important}

/* No cambiar colores funcionales: Nuevo, Activo/Inactivo, editar/eliminar, alertas. */

/* =====================================================================
   EMPRESAS · CORRECCIÓN FINAL DE COLOR HOME · 23-10-2026
   Fuerza toda la pantalla al azul base del Home, incluidas las filas <tr>.
   ===================================================================== */
html:not([data-theme="light"]) body.app-shell .companies-page,
html:not([data-theme="light"]) body.app-shell .companies-strip,
html:not([data-theme="light"]) body.app-shell .companies-panel,
html:not([data-theme="light"]) body.app-shell .companies-toolbar,
html:not([data-theme="light"]) body.app-shell .companies-table-wrap,
html:not([data-theme="light"]) body.app-shell .companies-table,
html:not([data-theme="light"]) body.app-shell .companies-table thead,
html:not([data-theme="light"]) body.app-shell .companies-table tbody,
html:not([data-theme="light"]) body.app-shell .companies-table tbody tr{
  background:#041629!important;
  background-color:#041629!important;
}

html:not([data-theme="light"]) body.app-shell .companies-table thead tr:first-child th,
html:not([data-theme="light"]) body.app-shell .companies-table .companies-filters-row th,
html:not([data-theme="light"]) body.app-shell .companies-table tbody tr td,
html:not([data-theme="light"]) body.app-shell .companies-table tbody tr:nth-child(odd) td,
html:not([data-theme="light"]) body.app-shell .companies-table tbody tr:nth-child(even) td{
  background:#041629!important;
  background-color:#041629!important;
  border-color:rgba(95,159,220,.20)!important;
}

html:not([data-theme="light"]) body.app-shell .companies-table tbody tr:hover td{
  background:#07203a!important;
  background-color:#07203a!important;
}

html:not([data-theme="light"]) body.app-shell .companies-filters-row input,
html:not([data-theme="light"]) body.app-shell .companies-filters-row select{
  background:#061d33!important;
  background-color:#061d33!important;
  color:#eef7ff!important;
  border-color:rgba(91,158,221,.32)!important;
  box-shadow:none!important;
}

html:not([data-theme="light"]) body.app-shell .companies-pager-btn,
html:not([data-theme="light"]) body.app-shell .companies-mini-btn{
  background:#08213a!important;
  border-color:rgba(91,158,221,.30)!important;
}

html:not([data-theme="light"]) body.app-shell .companies-pager-btn:not(.disabled):hover,
html:not([data-theme="light"]) body.app-shell .companies-mini-btn:hover{
  background:#0b2c4d!important;
}

/* =====================================================================
   CONSTATACIÓN DE ACTIVOS · COLOR ÚNICO HOME/MENÚ · 23-10-2026
   Activos · Actas · Constatación Excel · Vehículos · Semovientes
   ===================================================================== */
:root{
  --kpi-module-base:#041629;
  --kpi-module-base-2:#061d33;
  --kpi-module-hover:#08233e;
  --kpi-module-line:rgba(95,159,220,.20);
  --kpi-module-soft:rgba(255,255,255,.025);
}

/* ---------- ACTIVOS ---------- */
html:not([data-theme="light"]) body.app-shell .assets-page,
html:not([data-theme="light"]) body.app-shell .assets-strip,
html:not([data-theme="light"]) body.app-shell .assets-panel,
html:not([data-theme="light"]) body.app-shell .assets-toolbar,
html:not([data-theme="light"]) body.app-shell .assets-table-wrap,
html:not([data-theme="light"]) body.app-shell .assets-table,
html:not([data-theme="light"]) body.app-shell .assets-table thead,
html:not([data-theme="light"]) body.app-shell .assets-table tbody,
html:not([data-theme="light"]) body.app-shell .assets-table tbody tr{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .assets-table thead th,
html:not([data-theme="light"]) body.app-shell .assets-filters-row th,
html:not([data-theme="light"]) body.app-shell .assets-table tbody td,
html:not([data-theme="light"]) body.app-shell .assets-table tbody tr:nth-child(even) td{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .assets-table tbody tr:hover td{
  background:var(--kpi-module-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .assets-filters-row input{
  background:var(--kpi-module-base-2)!important;
  color:#eef7ff!important;
  border-color:rgba(91,158,221,.34)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .assets-pager-btn,
html:not([data-theme="light"]) body.app-shell .assets-clear-filter{
  background:#08213a!important;
  border-color:rgba(91,158,221,.28)!important;
}
html:not([data-theme="light"]) body.app-shell .assets-thumb{
  background:#061d33!important;
  border:1px solid rgba(91,158,221,.18)!important;
}

/* ---------- ACTAS ---------- */
html:not([data-theme="light"]) body.app-shell .actas-page,
html:not([data-theme="light"]) body.app-shell .actas-strip,
html:not([data-theme="light"]) body.app-shell .actas-panel,
html:not([data-theme="light"]) body.app-shell .actas-toolbar,
html:not([data-theme="light"]) body.app-shell .actas-table-wrap,
html:not([data-theme="light"]) body.app-shell .actas-table,
html:not([data-theme="light"]) body.app-shell .actas-table tbody,
html:not([data-theme="light"]) body.app-shell .actas-table tbody tr{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .actas-table thead th,
html:not([data-theme="light"]) body.app-shell .actas-filter-row th,
html:not([data-theme="light"]) body.app-shell .acta-main-row td,
html:not([data-theme="light"]) body.app-shell .acta-main-row:nth-child(4n+3) td{
  background:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .acta-main-row:hover td,
html:not([data-theme="light"]) body.app-shell .acta-main-row.is-open td{
  background:var(--kpi-module-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .actas-filter-row input,
html:not([data-theme="light"]) body.app-shell .actas-filter-row select,
html:not([data-theme="light"]) body.app-shell .acta-assets-filter input{
  background:var(--kpi-module-base-2)!important;
  color:#eef7ff!important;
  border-color:rgba(91,158,221,.34)!important;
}
html:not([data-theme="light"]) body.app-shell .acta-detail-row>td,
html:not([data-theme="light"]) body.app-shell .acta-detail-grid,
html:not([data-theme="light"]) body.app-shell .acta-upload-box form,
html:not([data-theme="light"]) body.app-shell .acta-person-card b,
html:not([data-theme="light"]) body.app-shell .acta-assets-toolbar,
html:not([data-theme="light"]) body.app-shell .acta-assets-table thead th,
html:not([data-theme="light"]) body.app-shell .acta-assets-table tbody td,
html:not([data-theme="light"]) body.app-shell .acta-assets-table tbody tr:nth-child(even) td,
html:not([data-theme="light"]) body.app-shell .acta-assets-table tbody tr:nth-child(odd) td{
  background:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .actas-pager-btn,
html:not([data-theme="light"]) body.app-shell .actas-filter-clear{
  background:#08213a!important;
  border-color:rgba(91,158,221,.28)!important;
}

/* ---------- CONSTATACIÓN EXCEL / CARGA DE DATOS ---------- */
html:not([data-theme="light"]) body.app-shell .bulk-data-page,
html:not([data-theme="light"]) body.app-shell .bulk-data-titlebar,
html:not([data-theme="light"]) body.app-shell .bulk-accordion,
html:not([data-theme="light"]) body.app-shell .bulk-accordion>summary,
html:not([data-theme="light"]) body.app-shell .bulk-accordion-body,
html:not([data-theme="light"]) body.app-shell .bulk-column,
html:not([data-theme="light"]) body.app-shell .bulk-upload-form,
html:not([data-theme="light"]) body.app-shell .bulk-upload-form.compact,
html:not([data-theme="light"]) body.app-shell .bulk-drop-zone,
html:not([data-theme="light"]) body.app-shell .bulk-test-box,
html:not([data-theme="light"]) body.app-shell .bulk-note,
html:not([data-theme="light"]) body.app-shell .bulk-result-card{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .bulk-accordion[open]>summary{
  background:var(--kpi-module-base)!important;
  border-bottom-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .bulk-upload-form,
html:not([data-theme="light"]) body.app-shell .bulk-drop-zone,
html:not([data-theme="light"]) body.app-shell .bulk-note,
html:not([data-theme="light"]) body.app-shell .bulk-test-box{
  background:rgba(255,255,255,.018)!important;
}
html:not([data-theme="light"]) body.app-shell .bulk-file-name,
html:not([data-theme="light"]) body.app-shell .bulk-section-label,
html:not([data-theme="light"]) body.app-shell .bulk-data-title strong{
  color:#eef7ff!important;
}
html:not([data-theme="light"]) body.app-shell .bulk-help,
html:not([data-theme="light"]) body.app-shell .bulk-drop-zone small,
html:not([data-theme="light"]) body.app-shell .bulk-data-company,
html:not([data-theme="light"]) body.app-shell .bulk-accordion>summary small{
  color:#9bbbd5!important;
}

/* ---------- VEHÍCULOS ---------- */
html:not([data-theme="light"]) body.app-shell .vehicle-page-classic,
html:not([data-theme="light"]) body.app-shell .vehicle-page-classic .vehicle-module-bar,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-summary,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-stat,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-card,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-card-head,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table-wrap,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table tbody,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table tbody tr{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table thead th,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table tbody td,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table tbody tr:nth-child(even) td{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-table tbody tr:hover td{
  background:var(--kpi-module-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-search{
  background:var(--kpi-module-base-2)!important;
  border-color:rgba(91,158,221,.34)!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-stat::before{
  opacity:.9!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-stat>span,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-card-head p{
  color:#9bbbd5!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-card-head h2,
html:not([data-theme="light"]) body.app-shell .vehicle-classic-stat>strong{
  color:#fff!important;
}
html:not([data-theme="light"]) body.app-shell .vehicle-classic-pager a{
  background:#08213a!important;
  border-color:rgba(91,158,221,.28)!important;
}

/* ---------- SEMOVIENTES PORTAL ---------- */
html:not([data-theme="light"]) body.app-shell .sem-portal{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .sem-portal::before,
html:not([data-theme="light"]) body.app-shell .sem-portal::after{
  opacity:.30!important;
}
html:not([data-theme="light"]) body.app-shell .sem-species-portal-card,
html:not([data-theme="light"]) body.app-shell .sem-species-portal-card.is-disabled{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .sem-species-portal-card.is-active:hover{
  background:var(--kpi-module-hover)!important;
  border-color:rgba(76,190,255,.45)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .sem-animal-ring{
  background:#061d33!important;
  border-color:rgba(76,190,255,.34)!important;
  box-shadow:0 0 0 8px rgba(31,100,155,.10)!important;
}
html:not([data-theme="light"]) body.app-shell .sem-card-action{
  background:#08213a!important;
  border-color:rgba(91,158,221,.34)!important;
}
html:not([data-theme="light"]) body.app-shell .sem-portal-hero p,
html:not([data-theme="light"]) body.app-shell .sem-species-portal-card p,
html:not([data-theme="light"]) body.app-shell .sem-portal-foot{
  color:#9bbbd5!important;
}

/* ---------- SEMOVIENTES BOVINOS (usa estructura de Vehículos) ---------- */
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-module-bar,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-stat,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-card,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-card-head,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-table,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-table tbody td,
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-table tbody tr:nth-child(even) td{
  background:var(--kpi-module-base)!important;
  background-color:var(--kpi-module-base)!important;
  border-color:var(--kpi-module-line)!important;
}
html:not([data-theme="light"]) body.app-shell .semoviente-page-classic .vehicle-classic-table tbody tr:hover td{
  background:var(--kpi-module-hover)!important;
}

/* Mantener colores funcionales: Nuevo, Carga masiva, búsqueda, estados, editar, PDF y alertas. */

/* =========================================================
   VALORACIÓN · COLOR HOME UNIFICADO 23-10-2026
   Cuentas contables · Factores · Valoración de activos
   Base visual: #041629
   ========================================================= */

/* Encabezados principales */
.accounts-strip,
.factors-strip,
.valuation-pro-strip{
  background:#041629!important;
  border-color:#173d61!important;
  box-shadow:none!important;
}

/* KPIs */
.accounts-info-grid article,
.factors-kpis article,
.valuation-kpis article{
  background:#08233f!important;
  border-color:#1b456c!important;
  box-shadow:none!important;
}

/* Paneles principales */
.accounts-panel,
.factors-panel,
.valuation-panel,
.factors-empty-setup{
  background:#041629!important;
  border-color:#173d61!important;
  box-shadow:none!important;
}

/* Bandas informativas */
.accounts-help,
.accounts-detected-note,
.factors-explainer,
.valuation-formula-band,
.valuation-bulk-panel{
  background:#071d34!important;
  border-color:#1b456c!important;
  box-shadow:none!important;
}

/* Filtros */
.accounts-filters input,
.accounts-filters select,
.factors-filters input,
.factors-filters select,
.valuation-filters input,
.valuation-filters select,
.valuation-bulk-panel input,
.valuation-bulk-panel select{
  background:#031323!important;
  border-color:#24517c!important;
  color:#f4f9ff!important;
}

/* Cuentas contables */
.accounts-table-wrap{
  background:#041629!important;
  border-color:#173d61!important;
}
.accounts-table th{
  background:#071d34!important;
  border-color:#1b456c!important;
}
.accounts-table td,
.accounts-table tbody tr td{
  background:#0a2745!important;
  border-color:#1a4269!important;
}
.accounts-table tbody tr:nth-child(even) td{
  background:#071f38!important;
}
.accounts-table tbody tr:hover td{
  background:#0d3154!important;
}

/* Factores */
.factor-types-ribbon span{
  background:#071d34!important;
  border-color:#24517c!important;
}
.factors-table-wrap{
  background:#041629!important;
  border-color:#173d61!important;
}
.factors-table th{
  background:#071d34!important;
  border-color:#1b456c!important;
}
.factors-table td,
.factors-table tbody tr td{
  background:#0a2745!important;
  border-color:#1a4269!important;
}
.factors-table tbody tr:nth-child(even) td{
  background:#071f38!important;
}
.factors-table tbody tr:hover td{
  background:#0d3154!important;
}
.factors-empty-setup{
  color:#9db6cf!important;
}
.factors-empty-symbol{
  background:#0d3154!important;
}

/* Valoración de activos */
.valuation-table-wrap{
  background:#041629!important;
  border-color:#173d61!important;
}
.valuation-table th{
  background:#071d34!important;
  border-color:#1b456c!important;
}
.valuation-table td,
.valuation-table tbody tr td{
  background:#0a2745!important;
  border-color:#1a4269!important;
}
.valuation-table tbody tr:nth-child(even) td{
  background:#071f38!important;
}
.valuation-table tbody tr:hover td{
  background:#0d3154!important;
}
.valuation-factor-stack span{
  background:#071d34!important;
  border-color:#24517c!important;
}
.valuation-factor-stack>strong,
.valuation-label{
  background:#0d3154!important;
  border-color:#2c689f!important;
}
.valuation-life>div{
  background:#031323!important;
}
.valuation-pagination a{
  background:#0a2745!important;
  border-color:#24517c!important;
}

/* Formularios: Cuentas y Factores */
.account-form-card,
.factor-form-card{
  background:#041629!important;
  border-color:#173d61!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
}
.account-form-head,
.factor-form-head{
  background:#041629!important;
  border-color:#173d61!important;
}
.account-form-body input,
.factor-form-body input,
.factor-form-body select{
  background:#031323!important;
  border-color:#24517c!important;
  color:#f4f9ff!important;
}
.account-form-explainer,
.factor-form-note{
  background:#071d34!important;
  border-color:#1b456c!important;
}

/* Detalle de valoración */
.valuation-detail-page{
  background:#041629!important;
  border-color:#173d61!important;
  box-shadow:none!important;
}
.valuation-detail-head{
  background:#071d34!important;
  border-color:#1b456c!important;
}
.valuation-detail-statusbar{
  background:#051a30!important;
  border-color:#173d61!important;
}
.valuation-detail-statusbar>span{
  background:#0a2745!important;
}
.vd-card{
  background:#08233f!important;
  border-color:#1b456c!important;
}
.vd-form-grid input,
.vd-factor-input input{
  background:#031323!important;
  border-color:#24517c!important;
}
.vd-factor-input b,
.vd-factor-result,
.vd-analysis-grid article,
.vd-result-grid article,
.vd-conclusion{
  background:#071d34!important;
  border-color:#24517c!important;
}
.vd-actions{
  background:rgba(4,22,41,.96)!important;
  border-color:#173d61!important;
}

/* =========================================================
   CATEGORÍAS · COLOR HOME UNIFICADO 23-10-2026
   Resumen · Materiales · Clases y tipos · Colores · Marcas
   Factor de mantenimiento · Conservación · Procesos
   Ubicaciones · Áreas
   Base visual: #041629
   ========================================================= */
html:not([data-theme="light"]) body.app-shell{
  --cat-home:#041629;
  --cat-home-2:#071d34;
  --cat-home-3:#08233f;
  --cat-row:#0a2745;
  --cat-row-alt:#071f38;
  --cat-hover:#0d3154;
  --cat-line:#1b456c;
  --cat-input:#031323;
  --cat-muted:#9bbbd5;
}

/* Raíz de todas las páginas de categorías */
html:not([data-theme="light"]) body.app-shell :where(
  .catalog-hub,
  .materialsx-page,.typex-page,.colorsx-page,.brandsx-page,.maintx-page,
  .consx-page,.processx-page,.locx-page,.areax-page
){
  background:var(--cat-home)!important;
  background-color:var(--cat-home)!important;
  color:#f5f9ff!important;
}

/* Hero / cabeceras */
html:not([data-theme="light"]) body.app-shell :where(
  .catalog-summary-hero,
  .materialsx-hero,.typex-hero,.colorsx-hero,.brandsx-hero,.maintx-hero,
  .consx-hero,.processx-hero,.locx-hero,.areax-hero
){
  background:var(--cat-home)!important;
  background-color:var(--cat-home)!important;
  border-color:var(--cat-line)!important;
  box-shadow:none!important;
}

/* KPIs y tarjetas resumen */
html:not([data-theme="light"]) body.app-shell :where(
  .catalog-summary-kpis>*,
  .materialsx-stats>*,.typex-stats>*,.colorsx-stats>*,.brandsx-stats>*,.maintx-stats>*,
  .consx-stats>*,.processx-stats>*,.locx-stats>*,.areax-stats>*
){
  background:var(--cat-home-3)!important;
  background-color:var(--cat-home-3)!important;
  border-color:var(--cat-line)!important;
  box-shadow:none!important;
}

/* Paneles principales */
html:not([data-theme="light"]) body.app-shell :where(
  .catalog-bulk-center,.catalog-import-preview,.catalog-bulk-rules,.catalog-bulk-status-card,
  .materialsx-panel,.typex-panel,.colorsx-panel,.brandsx-panel,.maintx-panel,
  .consx-panel,.processx-panel,.locx-panel,.areax-panel
){
  background:var(--cat-home)!important;
  background-color:var(--cat-home)!important;
  border-color:var(--cat-line)!important;
  box-shadow:none!important;
}

/* Toolbars, guías e informativos */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-toolbar,.typex-toolbar,.colorsx-toolbar,.brandsx-toolbar,.maintx-toolbar,
  .consx-toolbar,.processx-toolbar,.locx-toolbar,.areax-toolbar,
  .materialsx-guide,.typex-path-guide,.colorsx-guide,.brandsx-guide,.maintx-guide,
  .consx-guide,.processx-guide,.locx-guide,.areax-guide,
  .processx-info,.locx-info,.areax-info,.consx-protect,
  .catalog-upload-box,.catalog-file-picker,.catalog-bulk-copy,.catalog-bulk-rules-v3
){
  background:var(--cat-home-2)!important;
  background-color:var(--cat-home-2)!important;
  border-color:var(--cat-line)!important;
  box-shadow:none!important;
}

/* Inputs y selects */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-page,.typex-page,.colorsx-page,.brandsx-page,.maintx-page,
  .consx-page,.processx-page,.locx-page,.areax-page,.catalog-hub
) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:var(--cat-input)!important;
  background-color:var(--cat-input)!important;
  border-color:#24517c!important;
  color:#f4f9ff!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-page,.typex-page,.colorsx-page,.brandsx-page,.maintx-page,
  .consx-page,.processx-page,.locx-page,.areax-page,.catalog-hub
) :where(input,textarea)::placeholder{color:#7895b1!important;opacity:1!important;}

/* Shell de tablas */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table-shell,.typex-table-shell,.colorsx-table-shell,.brandsx-table-shell,.maintx-table-shell,
  .consx-table-shell,.processx-table-shell,.locx-table-shell,.areax-table-shell
){
  background:var(--cat-home)!important;
  background-color:var(--cat-home)!important;
  border-color:var(--cat-line)!important;
  box-shadow:none!important;
}

/* Encabezados de tablas */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table,.typex-table,.colorsx-table,.brandsx-table,.maintx-table,
  .consx-table,.processx-table,.locx-table,.areax-table
) thead th{
  background:var(--cat-home-2)!important;
  background-color:var(--cat-home-2)!important;
  border-color:var(--cat-line)!important;
  color:#f5f9ff!important;
}

/* Filas de tablas */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table,.typex-table,.colorsx-table,.brandsx-table,.maintx-table,
  .consx-table,.processx-table,.locx-table,.areax-table
) tbody tr,
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table,.typex-table,.colorsx-table,.brandsx-table,.maintx-table,
  .consx-table,.processx-table,.locx-table,.areax-table
) tbody td{
  background:var(--cat-row)!important;
  background-color:var(--cat-row)!important;
  border-color:#1a4269!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table,.typex-table,.colorsx-table,.brandsx-table,.maintx-table,
  .consx-table,.processx-table,.locx-table,.areax-table
) tbody tr:nth-child(even) td{
  background:var(--cat-row-alt)!important;
  background-color:var(--cat-row-alt)!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-table,.typex-table,.colorsx-table,.brandsx-table,.maintx-table,
  .consx-table,.processx-table,.locx-table,.areax-table
) tbody tr:hover td{
  background:var(--cat-hover)!important;
  background-color:var(--cat-hover)!important;
}

/* Filas implementadas como grid/div */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-row,.typex-row,.colorsx-row,.brandsx-row,.maintx-row,
  .consx-row,.processx-row,.locx-row,.areax-row
){
  background:var(--cat-row)!important;
  background-color:var(--cat-row)!important;
  border-color:#1a4269!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-row,.typex-row,.colorsx-row,.brandsx-row,.maintx-row,
  .consx-row,.processx-row,.locx-row,.areax-row
):hover{
  background:var(--cat-hover)!important;
  background-color:var(--cat-hover)!important;
}

/* Paginación / pie */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-footer,.typex-footer,.colorsx-footer,.brandsx-footer,.maintx-footer,
  .consx-footer,.processx-footer,.locx-footer,.areax-footer,.kpi-num-pager-wrap
){
  background:var(--cat-home)!important;
  border-color:var(--cat-line)!important;
}
html:not([data-theme="light"]) body.app-shell .kpi-num-pager a,
html:not([data-theme="light"]) body.app-shell .kpi-num-pager button{
  background:var(--cat-home-3)!important;
  border-color:#24517c!important;
  color:#dff2ff!important;
}

/* Ventanas Nuevo / Editar / Eliminar */
html:not([data-theme="light"]) body.app-shell :where(
  .materials-dialog-card,.typex-dialog-card,.colors-dialog-card,.brands-dialog-card,.maint-dialog-card,
  .consx-dialog-card,.proc-dialog-card,.loc-dialog-card,.area-dialog-card,
  .maint-actions-modal,.proc-actions-modal,.loc-actions-modal,.area-actions-modal
){
  background:var(--cat-home)!important;
  background-color:var(--cat-home)!important;
  border-color:var(--cat-line)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materials-dialog-head,.typex-dialog-head,.colors-dialog-head,.brands-dialog-head,.maint-dialog-head,
  .consx-dialog-head,.proc-dialog-head,.loc-dialog-head,.area-dialog-head
){
  background:var(--cat-home-2)!important;
  border-color:var(--cat-line)!important;
}
html:not([data-theme="light"]) body.app-shell :where(
  .materials-form-grid,.typex-form-grid,.colors-form-grid,.brands-form,.maint-form,
  .consx-form-grid,.proc-form,.loc-form,.area-form
) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:var(--cat-input)!important;
  border-color:#24517c!important;
  color:#f4f9ff!important;
}

/* Resumen de categorías */
html:not([data-theme="light"]) body.app-shell .catalog-summary-badges>*{
  background:var(--cat-home-2)!important;
  border-color:#24517c!important;
}
html:not([data-theme="light"]) body.app-shell .catalog-bulk-status-card,
html:not([data-theme="light"]) body.app-shell .catalog-preview-kpis>*{
  background:var(--cat-home-3)!important;
  border-color:var(--cat-line)!important;
}

/* Textos secundarios */
html:not([data-theme="light"]) body.app-shell :where(
  .materialsx-page,.typex-page,.colorsx-page,.brandsx-page,.maintx-page,
  .consx-page,.processx-page,.locx-page,.areax-page,.catalog-hub
) :where(.muted,small,.materialsx-result-note,.typex-result-note,.colorsx-result-note,
  .brandsx-result-note,.maintx-result-note,.consx-result-note,.processx-result-note,
  .locx-result-note,.areax-result-note){
  color:var(--cat-muted)!important;
}

/* Mantener intactos los colores funcionales: Nuevo, Editar, Eliminar, estados,
   escala de conservación, acentos de nivel, botones de importar/exportar. */

/* =========================================================
   VALORACIÓN · UNIFICACIÓN TOTAL CON HOME 23-10-2026
   Cuentas contables · Factores · Valoración de activos
   Todo el módulo usa #041629 como superficie principal.
   ========================================================= */
html:not([data-theme="light"]) body.app-shell{
  --valuation-home:#041629;
  --valuation-home-soft:#061b31;
  --valuation-home-hover:#08243f;
  --valuation-home-line:rgba(57,116,171,.38);
}

/* ===== CUENTAS CONTABLES ===== */
html:not([data-theme="light"]) body.app-shell .accounts-page,
html:not([data-theme="light"]) body.app-shell .accounts-strip,
html:not([data-theme="light"]) body.app-shell .accounts-panel,
html:not([data-theme="light"]) body.app-shell .accounts-info-grid article,
html:not([data-theme="light"]) body.app-shell .accounts-help,
html:not([data-theme="light"]) body.app-shell .accounts-detected-note,
html:not([data-theme="light"]) body.app-shell .accounts-table-wrap,
html:not([data-theme="light"]) body.app-shell .accounts-table,
html:not([data-theme="light"]) body.app-shell .accounts-table th,
html:not([data-theme="light"]) body.app-shell .accounts-table td,
html:not([data-theme="light"]) body.app-shell .accounts-table tbody tr td,
html:not([data-theme="light"]) body.app-shell .accounts-table tbody tr:nth-child(even) td,
html:not([data-theme="light"]) body.app-shell .account-form-card,
html:not([data-theme="light"]) body.app-shell .account-form-head,
html:not([data-theme="light"]) body.app-shell .account-form-explainer{
  background:var(--valuation-home)!important;
  background-color:var(--valuation-home)!important;
  border-color:var(--valuation-home-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .accounts-table tbody tr:hover td{
  background:var(--valuation-home-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .accounts-filters input,
html:not([data-theme="light"]) body.app-shell .accounts-filters select,
html:not([data-theme="light"]) body.app-shell .account-form-body input{
  background:#03111f!important;
  border-color:rgba(57,116,171,.48)!important;
  color:#f6fbff!important;
}

/* ===== FACTORES ===== */
html:not([data-theme="light"]) body.app-shell .factors-page,
html:not([data-theme="light"]) body.app-shell .factors-strip,
html:not([data-theme="light"]) body.app-shell .factors-kpis article,
html:not([data-theme="light"]) body.app-shell .factors-explainer,
html:not([data-theme="light"]) body.app-shell .factors-panel,
html:not([data-theme="light"]) body.app-shell .factors-empty-setup,
html:not([data-theme="light"]) body.app-shell .factor-types-ribbon span,
html:not([data-theme="light"]) body.app-shell .factors-table-wrap,
html:not([data-theme="light"]) body.app-shell .factors-table,
html:not([data-theme="light"]) body.app-shell .factors-table th,
html:not([data-theme="light"]) body.app-shell .factors-table td,
html:not([data-theme="light"]) body.app-shell .factors-table tbody tr td,
html:not([data-theme="light"]) body.app-shell .factors-table tbody tr:nth-child(even) td,
html:not([data-theme="light"]) body.app-shell .factor-form-card,
html:not([data-theme="light"]) body.app-shell .factor-form-head,
html:not([data-theme="light"]) body.app-shell .factor-form-note{
  background:var(--valuation-home)!important;
  background-color:var(--valuation-home)!important;
  border-color:var(--valuation-home-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .factors-table tbody tr:hover td{
  background:var(--valuation-home-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .factors-filters input,
html:not([data-theme="light"]) body.app-shell .factors-filters select,
html:not([data-theme="light"]) body.app-shell .factor-form-body input,
html:not([data-theme="light"]) body.app-shell .factor-form-body select{
  background:#03111f!important;
  border-color:rgba(57,116,171,.48)!important;
  color:#f6fbff!important;
}
html:not([data-theme="light"]) body.app-shell .factors-empty-symbol{
  background:var(--valuation-home-hover)!important;
}

/* ===== VALORACIÓN DE ACTIVOS ===== */
html:not([data-theme="light"]) body.app-shell .valuation-pro-page,
html:not([data-theme="light"]) body.app-shell .valuation-pro-strip,
html:not([data-theme="light"]) body.app-shell .valuation-kpis article,
html:not([data-theme="light"]) body.app-shell .valuation-formula-band,
html:not([data-theme="light"]) body.app-shell .valuation-bulk-panel,
html:not([data-theme="light"]) body.app-shell .valuation-panel,
html:not([data-theme="light"]) body.app-shell .valuation-table-wrap,
html:not([data-theme="light"]) body.app-shell .valuation-table,
html:not([data-theme="light"]) body.app-shell .valuation-table th,
html:not([data-theme="light"]) body.app-shell .valuation-table td,
html:not([data-theme="light"]) body.app-shell .valuation-table tbody tr td,
html:not([data-theme="light"]) body.app-shell .valuation-table tbody tr:nth-child(even) td{
  background:var(--valuation-home)!important;
  background-color:var(--valuation-home)!important;
  border-color:var(--valuation-home-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .valuation-table tbody tr:hover td{
  background:var(--valuation-home-hover)!important;
}
html:not([data-theme="light"]) body.app-shell .valuation-filters input,
html:not([data-theme="light"]) body.app-shell .valuation-filters select,
html:not([data-theme="light"]) body.app-shell .valuation-bulk-panel input,
html:not([data-theme="light"]) body.app-shell .valuation-bulk-panel select{
  background:#03111f!important;
  border-color:rgba(57,116,171,.48)!important;
  color:#f6fbff!important;
}
html:not([data-theme="light"]) body.app-shell .valuation-factor-stack span,
html:not([data-theme="light"]) body.app-shell .valuation-factor-stack>strong,
html:not([data-theme="light"]) body.app-shell .valuation-label,
html:not([data-theme="light"]) body.app-shell .valuation-pagination a{
  background:var(--valuation-home-soft)!important;
  border-color:rgba(57,116,171,.48)!important;
}

/* Detalle / edición de valoración */
html:not([data-theme="light"]) body.app-shell .valuation-detail-page,
html:not([data-theme="light"]) body.app-shell .valuation-detail-head,
html:not([data-theme="light"]) body.app-shell .valuation-detail-statusbar,
html:not([data-theme="light"]) body.app-shell .vd-card,
html:not([data-theme="light"]) body.app-shell .vd-factor-result,
html:not([data-theme="light"]) body.app-shell .vd-analysis-grid article,
html:not([data-theme="light"]) body.app-shell .vd-result-grid article,
html:not([data-theme="light"]) body.app-shell .vd-conclusion,
html:not([data-theme="light"]) body.app-shell .vd-actions{
  background:var(--valuation-home)!important;
  background-color:var(--valuation-home)!important;
  border-color:var(--valuation-home-line)!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) body.app-shell .vd-form-grid input,
html:not([data-theme="light"]) body.app-shell .vd-form-grid select,
html:not([data-theme="light"]) body.app-shell .vd-factor-input input{
  background:#03111f!important;
  border-color:rgba(57,116,171,.48)!important;
  color:#f6fbff!important;
}

/* Colores funcionales se mantienen: verde=positivo, dorado=valor/alerta,
   celeste=acción y rojo=riesgo/inactivo. */

/* =========================================================
   REPORTES · PALETA UNIFICADA HOME 23-10-2026
   Base #041629 en Dashboard, Reporte de activos,
   Productividad y Productividad por proceso.
   ========================================================= */
body.app-shell .asset-report-page,
body.app-shell .pp-page,
body.app-shell .prod-page,
body.app-shell .dashx-dashboard,
body.app-shell .report-simple-page{
  --report-home:#041629;
  --report-panel:#061b31;
  --report-panel-2:#08223d;
  --report-hover:#0b2b4a;
  --report-line:rgba(72,137,195,.24);
}

/* Reporte de activos */
body.app-shell .asset-report-page,
body.app-shell .asset-report-hero,
body.app-shell .asset-report-kpis article,
body.app-shell .asset-report-filter,
body.app-shell .asset-report-guide,
body.app-shell .asset-report-table-card,
body.app-shell .asset-report-toolbar,
body.app-shell .asset-report-footer{
  background:var(--report-home)!important;
  background-image:none!important;
  border-color:var(--report-line)!important;
}
body.app-shell .asset-report-search,
body.app-shell .asset-report-global-hint,
body.app-shell .asset-report-guide div,
body.app-shell .asset-report-local-search{
  background:var(--report-panel)!important;
  border-color:var(--report-line)!important;
}
body.app-shell .asset-report-table thead th{
  background:var(--report-panel-2)!important;
  border-color:var(--report-line)!important;
}
body.app-shell .asset-report-table thead tr.asset-report-column-filters th{
  background:var(--report-panel)!important;
}
body.app-shell .asset-report-column-filters input,
body.app-shell .asset-report-filter input,
body.app-shell .asset-report-filter select{
  background:#031326!important;
  border-color:rgba(72,137,195,.34)!important;
}
body.app-shell .asset-report-table tbody tr:nth-child(odd),
body.app-shell .asset-report-table tbody tr:nth-child(even),
body.app-shell .asset-report-table tbody tr:nth-child(odd) td:nth-child(-n+2),
body.app-shell .asset-report-table tbody tr:nth-child(even) td:nth-child(-n+2){
  background:var(--report-home)!important;
}
body.app-shell .asset-report-table tbody tr:hover,
body.app-shell .asset-report-table tbody tr:hover td:nth-child(-n+2){
  background:var(--report-hover)!important;
}

/* Productividad por proceso */
body.app-shell .pp-page,
body.app-shell .pp-hero,
body.app-shell .pp-card,
body.app-shell .pp-toolbar,
body.app-shell .pp-kpi,
body.app-shell .pp-process-item,
body.app-shell .pp-alert,
body.app-shell .pp-note,
body.app-shell .pp-process-metrics>div,
body.app-shell .pp-live,
body.app-shell .pp-filter-live,
body.app-shell .pp-track,
body.app-shell .pp-process-progress,
body.app-shell .pp-ring:before{
  background:var(--report-home)!important;
  background-image:none!important;
  border-color:var(--report-line)!important;
}
body.app-shell .pp-toolbar input,
body.app-shell .pp-toolbar select,
body.app-shell .pp-filter-field select{
  background:#031326!important;
  border-color:rgba(72,137,195,.34)!important;
}
body.app-shell .pp-process-icon,
body.app-shell .pp-alert-icon,
body.app-shell .pp-kind,
body.app-shell .pp-card-head>span,
body.app-shell .pp-open{
  background:var(--report-panel)!important;
  border-color:var(--report-line)!important;
}
body.app-shell .pp-table-wrap th{background:var(--report-panel-2)!important}
body.app-shell .pp-table-wrap td{background:var(--report-home)!important}

/* Dashboard de reportes */
body.app-shell .dashx-card,
body.app-shell .dashx-quick-form,
body.app-shell .dashx-global-search,
body.app-shell .dashx-date,
body.app-shell .dashx-map,
body.app-shell .dashx-card-head button,
body.app-shell .dashx-kpi,
body.app-shell .dashx-progress-card,
body.app-shell .dashx-ring::before{
  background:var(--report-home)!important;
  background-image:none!important;
  border-color:var(--report-line)!important;
}
body.app-shell .dashx-quick-input input{
  background:#031326!important;
  border-color:rgba(72,137,195,.34)!important;
}

/* Productividad simplificada */
body.app-shell .report-simple-card,
body.app-shell .simple-accordion,
body.app-shell .simple-accordion-content{
  background:#041629!important;
  border-color:var(--report-line)!important;
}
body.app-shell .simple-table th{background:#08223d!important}
body.app-shell .simple-table td,
body.app-shell .simple-table tbody tr:nth-child(even) td{background:#041629!important}
body.app-shell .simple-table tbody tr:hover td{background:#0b2b4a!important}
