:root {
  --ax-blue: #2563EB;
  --ax-violet: #7C3AED;
  --ax-ink: #0F172A;
  --ax-steel: #334155;
  --ax-white: #F8FAFC;
  --ax-border: rgba(148, 163, 184, .22);
  --ax-glow: rgba(37, 99, 235, .36);
  --company-primary: #D71920;
  --company-secondary: #101114;
  --company-accent: #ffffff;
  --company-bg: #f5f6f8;
  --company-surface: #ffffff;
  --success: #16A34A;
  --warning: #F59E0B;
  --danger: #EF4444;
  --info: #2563EB;
  --text: #111827;
  --muted: #6B7280;
  --border: #E5E7EB;
}
* { box-sizing: border-box; }
html, body, #app { min-height: 100%; }
body {
  margin: 0;
  font-family: Poppins, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--company-bg);
  color: var(--text);
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

/* AXORA login identity only */
.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  background:
    radial-gradient(circle at 18% 14%, rgba(37,99,235,.38), transparent 24%),
    radial-gradient(circle at 72% 72%, rgba(124,58,237,.32), transparent 30%),
    linear-gradient(135deg, #030712 0%, #08111f 46%, #0F172A 100%);
  color: var(--ax-white);
  overflow: hidden;
}
.login-hero { padding: 72px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.login-hero:after {
  content: "";
  position: absolute; inset: auto -12% 8% 8%; height: 190px;
  background: linear-gradient(90deg, transparent, rgba(37,99,235,.28), rgba(124,58,237,.32), transparent);
  filter: blur(22px); transform: skewY(-8deg);
}
.axora-logo-large { display: flex; align-items: center; gap: 22px; position: relative; z-index: 1; }
.axora-symbol {
  width: 112px; height: 112px; border-radius: 28px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--ax-blue), var(--ax-violet));
  box-shadow: 0 30px 80px rgba(37,99,235,.30), inset 0 0 18px rgba(255,255,255,.18);
  font-size: 58px; font-weight: 900; letter-spacing: -7px;
  color: white;
}
.axora-word { font-size: 58px; font-weight: 800; letter-spacing: 14px; line-height: 1; }
.axora-platform { color: #9BA9FF; letter-spacing: 14px; margin-top: 12px; font-weight: 600; }
.login-tagline { margin-top: 46px; font-size: 25px; letter-spacing: 1px; color: rgba(248,250,252,.94); position: relative; z-index: 1; }
.login-philosophy { margin-top: 44px; max-width: 560px; display: grid; gap: 14px; position: relative; z-index: 1; }
.philosophy-row { display: grid; grid-template-columns: 36px 1fr; align-items: start; gap: 14px; color: rgba(248,250,252,.82); }
.philosophy-letter { width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; background: rgba(37,99,235,.16); border: 1px solid rgba(124,58,237,.55); color: #9BB8FF; font-weight: 900; }
.login-panel { display: grid; place-items: center; padding: 32px; position: relative; z-index: 2; }
.login-card {
  width: min(430px, 100%);
  background: rgba(15,23,42,.72);
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 28px;
  padding: 32px;
  box-shadow: 0 28px 100px rgba(0,0,0,.42);
  backdrop-filter: blur(18px);
}
.login-card h2 { margin: 22px 0 8px; font-size: 26px; }
.login-card p { color: rgba(248,250,252,.68); font-size: 13px; line-height: 1.6; }
.login-card label { display: block; margin: 18px 0 8px; color: rgba(248,250,252,.86); font-weight: 700; font-size: 13px; }
.login-card input {
  width: 100%; border: 1px solid rgba(148,163,184,.28); background: rgba(2,6,23,.38);
  color: white; border-radius: 16px; padding: 14px 15px; outline: none;
}
.login-card input:focus { border-color: var(--ax-blue); box-shadow: 0 0 0 4px rgba(37,99,235,.16); }
.axora-login-logo { display: flex; align-items: center; gap: 13px; }
.axora-login-logo .mini-symbol { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: linear-gradient(135deg, var(--ax-blue), var(--ax-violet)); color: white; font-weight: 900; font-size: 25px; letter-spacing: -3px; }
.axora-login-logo strong { font-size: 27px; letter-spacing: 7px; }
.axora-login-logo span { color: #9BA9FF; font-size: 11px; letter-spacing: 6px; }
.btn-primary { border: 0; border-radius: 16px; padding: 14px 18px; font-weight: 800; color: white; background: linear-gradient(135deg, var(--ax-blue), var(--ax-violet)); box-shadow: 0 16px 40px rgba(37,99,235,.22); }
.btn-full { width: 100%; margin-top: 22px; }

/* Company workspace theme (after login) */
.company-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; background: var(--company-bg); }
.sidebar { background: linear-gradient(180deg, #121317, #050607); color: white; padding: 22px 18px; display: flex; flex-direction: column; gap: 18px; min-height: 100vh; position: sticky; top: 0; }
.company-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.company-logo { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, var(--company-primary), #7f1015); color: white; font-weight: 900; }
.company-title { font-weight: 900; letter-spacing: .5px; }
.company-subtitle { font-size: 11px; color: rgba(255,255,255,.58); }
.nav-section-title { margin: 16px 6px 6px; font-size: 11px; color: rgba(255,255,255,.42); text-transform: uppercase; letter-spacing: .08em; }
.nav-list { display: grid; gap: 8px; }
.nav-item { border: 0; width: 100%; text-align: left; padding: 12px 12px; border-radius: 14px; color: rgba(255,255,255,.76); background: transparent; display: flex; align-items: center; gap: 10px; font-weight: 700; }
.nav-item:hover { background: rgba(255,255,255,.08); color: white; }
.nav-item.active { background: linear-gradient(135deg, var(--company-primary), #9b1118); color: white; box-shadow: 0 12px 30px rgba(215,25,32,.22); }
.sidebar-spacer { flex: 1; }
.powered { font-size: 11px; color: rgba(255,255,255,.5); line-height: 1.6; border-top: 1px solid rgba(255,255,255,.1); padding-top: 14px; }
.workspace { min-width: 0; display: flex; flex-direction: column; }
.topbar { height: 70px; background: var(--company-surface); border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; padding: 0 26px; position: sticky; top: 0; z-index: 3; }
.topbar h1 { margin: 0; font-size: 20px; }
.breadcrumb { color: var(--muted); font-size: 12px; font-weight: 700; margin-top: 4px; }
.user-area { display: flex; align-items: center; gap: 12px; font-weight: 700; color: var(--muted); }
.user-pill { padding: 9px 12px; border-radius: 999px; background: var(--company-bg); border: 1px solid var(--border); color: var(--text); }
.logout-btn { border: 1px solid var(--border); background: white; color: var(--text); border-radius: 999px; padding: 8px 12px; font-weight: 800; }
.content { padding: 26px; display: grid; gap: 18px; }
.card { background: var(--company-surface); border: 1px solid var(--border); border-radius: 22px; padding: 20px; box-shadow: 0 12px 35px rgba(17,24,39,.05); }
.card.soft { background: linear-gradient(135deg, #ffffff, #f8fafc); }
.card h2, .card h3 { margin-top: 0; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.status.good { color: #166534; background: #DCFCE7; }
.status.warn { color: #92400E; background: #FEF3C7; }
.status.danger { color: #991B1B; background: #FEE2E2; }
.status.info { color: #1D4ED8; background: #DBEAFE; }
.hero { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.hero h2 { font-size: 28px; margin: 14px 0 6px; }
.kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.kpi { min-height: 124px; }
.kpi small { color: var(--muted); font-weight: 800; }
.kpi .metric { font-size: 32px; font-weight: 900; margin: 8px 0 6px; }
.kpi a { color: var(--company-primary); font-size: 12px; font-weight: 800; text-decoration: none; }
.actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.company-btn { border: 0; border-radius: 14px; padding: 13px 16px; font-weight: 900; color: white; background: linear-gradient(135deg, var(--company-primary), #980f16); }
.company-btn.dark { background: #101114; }
.company-btn.light { background: white; color: #101114; border: 1px solid var(--border); }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.module-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.module-card { min-height: 140px; display: flex; flex-direction: column; justify-content: space-between; }
.module-card .module-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: white; background: linear-gradient(135deg, var(--company-primary), #911); font-weight: 900; }
.progress { height: 8px; border-radius: 999px; background: #e5e7eb; overflow: hidden; }
.progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--company-primary), #111); }
.table { width: 100%; border-collapse: collapse; font-size: 13px; }
.table th, .table td { padding: 12px 10px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.table th { color: var(--muted); text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
.toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.toolbar input, .toolbar select, .field input, .field select, .field textarea { border: 1px solid var(--border); border-radius: 13px; padding: 11px 12px; outline: none; background: white; min-height: 42px; }
.toolbar input:focus, .toolbar select:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--company-primary); box-shadow: 0 0 0 4px rgba(215,25,32,.10); }
.wizard-steps { display: flex; gap: 8px; margin: 14px 0 18px; }
.step { flex: 1; height: 6px; background: #e5e7eb; border-radius: 999px; }
.step.active { background: var(--company-primary); }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.field label { display: block; font-size: 12px; color: var(--muted); font-weight: 800; margin-bottom: 7px; }
.timeline { display: grid; gap: 10px; }
.timeline-item { display: grid; grid-template-columns: 100px 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); align-items: center; }
.timeline-type { font-size: 11px; font-weight: 900; color: var(--company-primary); }
.right-panel { display: grid; gap: 18px; }
.philosophy-mini { display: grid; gap: 7px; font-size: 13px; }
.philosophy-mini strong { color: var(--company-primary); font-size: 18px; margin-right: 8px; }
.footer { padding: 13px 26px; color: var(--muted); font-size: 12px; display: flex; justify-content: space-between; border-top: 1px solid var(--border); }

@media (max-width: 1180px) {
  .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-col { grid-template-columns: 1fr; }
  .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .login-page { grid-template-columns: 1fr; }
  .login-hero { padding: 32px; }
  .axora-word { font-size: 42px; letter-spacing: 8px; }
  .company-shell { grid-template-columns: 1fr; }
  .sidebar { position: relative; min-height: auto; }
  .nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi-grid, .form-grid, .module-grid, .actions { grid-template-columns: 1fr; }
  .topbar { height: auto; padding: 18px; flex-direction: column; align-items: flex-start; }
  .content { padding: 16px; }
  .hero { grid-template-columns: 1fr; }
}

/* === AXORA v0.8.0 Brand Recovery + Enterprise Theme Engine === */
:root{
  --ax-blue:#2563EB;
  --ax-cyan:#20B8FF;
  --ax-violet:#7C3AED;
  --ax-night:#0F172A;
  --ax-ink:#081329;
  --ax-steel:#334155;
  --ax-white:#F8FAFC;
  --company-bg:#f4f6fa;
  --company-surface:#ffffff;
  --company-soft:#f9fafb;
  --border:#e5e7eb;
  --text:#111827;
  --muted:#667085;
}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6fa;}
.login-page{
  background:
    radial-gradient(circle at 18% 22%,rgba(32,184,255,.30),transparent 34%),
    radial-gradient(circle at 52% 88%,rgba(124,58,237,.22),transparent 36%),
    linear-gradient(135deg,#030814 0%,#071225 40%,#0F172A 100%);
  color:#F8FAFC;
}
.login-hero:before{background:linear-gradient(90deg,transparent,rgba(37,99,235,.6),transparent);height:1px;top:46%;}
.login-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:260px;background:linear-gradient(0deg,rgba(37,99,235,.22),transparent);pointer-events:none;}
.brand-lockup{align-items:center;gap:26px;}
.axora-mark-large{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(37,99,235,.35));}
.axora-word{font-weight:700;letter-spacing:16px;font-size:68px;}
.axora-platform{letter-spacing:22px;color:#8193FF;font-weight:600;}
.login-tagline{font-weight:500;letter-spacing:1px;font-size:28px;}
.login-philosophy strong{margin-top:8px;color:#F8FAFC;}
.login-card{background:rgba(15,23,42,.66);border-color:rgba(129,147,255,.26);box-shadow:0 30px 120px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06);}
.axora-mark-mini{width:56px;height:56px;border-radius:18px;filter:drop-shadow(0 8px 20px rgba(37,99,235,.35));}
.axora-login-logo strong{font-weight:700;letter-spacing:8px;}
.btn-primary{background:linear-gradient(135deg,#20B8FF 0%,#2563EB 45%,#7C3AED 100%);box-shadow:0 16px 50px rgba(37,99,235,.34);}

.company-shell{background:linear-gradient(135deg,#f5f7fb 0%,#eef2f7 100%);}
.sidebar{background:linear-gradient(180deg,#121317 0%,#0a0b0e 62%,#050607 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 60px rgba(15,23,42,.10);}
.company-brand{align-items:center;gap:14px;padding-bottom:18px;}
.company-logo{background:transparent;box-shadow:none;overflow:visible;width:54px;height:54px;border-radius:999px;}
.company-logo-image img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(215,25,32,.25));}
.company-title{font-size:13px;line-height:1.2;letter-spacing:.3px;}
.company-subtitle{font-size:10px;line-height:1.5;}
.nav-section-title{color:rgba(255,255,255,.46);font-size:10px;letter-spacing:.12em;}
.nav-item{border-radius:12px;transition:all .18s ease;color:rgba(255,255,255,.72);}
.nav-item.active{background:linear-gradient(135deg,#D71920 0%,#9d1117 100%);box-shadow:0 14px 35px rgba(215,25,32,.28);}
.nav-item:hover{transform:translateX(2px);background:rgba(255,255,255,.075);}
.company-switch-card{padding:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-radius:18px;display:grid;gap:5px;color:white;}
.company-switch-card span,.company-switch-label{font-size:11px;color:rgba(255,255,255,.58);}
.powered{color:rgba(255,255,255,.48);}
.topbar{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);height:76px;box-shadow:0 10px 30px rgba(15,23,42,.04);}
.content{gap:20px;}
.card{border-radius:24px;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 55px rgba(15,23,42,.07);}
.card.soft{background:linear-gradient(135deg,#ffffff 0%,#fbfcff 100%);}
.elevated{box-shadow:0 24px 70px rgba(15,23,42,.09);}
.hero-premium{position:relative;overflow:hidden;border:1px solid rgba(215,25,32,.08);}
.hero-premium:after{content:"";position:absolute;right:-80px;top:-110px;width:280px;height:280px;background:radial-gradient(circle,rgba(215,25,32,.12),transparent 65%);}
.date-card{padding:14px 18px;border-radius:18px;background:#f8fafc;border:1px solid var(--border);}
.kpi{position:relative;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease;}
.kpi:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(15,23,42,.10);}
.kpi:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(180deg,#D71920,#111);}
.company-btn{background:linear-gradient(135deg,#D71920 0%,#991117 100%);box-shadow:0 16px 36px rgba(215,25,32,.24);letter-spacing:.01em;}
.company-btn.dark{background:linear-gradient(135deg,#17191f 0%,#050607 100%);box-shadow:0 14px 32px rgba(17,24,39,.18);}
.company-btn.light{background:#fff;color:#111827;border:1px solid var(--border);box-shadow:0 12px 25px rgba(15,23,42,.04);}
.module-card{transition:transform .18s ease, box-shadow .18s ease;}
.module-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(15,23,42,.10);}
.module-card .module-icon{background:linear-gradient(135deg,#D71920 0%,#111827 100%);}
.progress span{background:linear-gradient(90deg,#D71920,#111827);}
.status.good{background:#dcfce7;color:#15803d;}
.table th{font-weight:900;}
.footer{background:rgba(255,255,255,.68);}
@media(max-width:820px){.axora-mark-large{width:110px;height:110px}.axora-word{font-size:42px;letter-spacing:8px}.axora-platform{letter-spacing:12px}.login-tagline{font-size:22px}.company-brand{justify-content:flex-start}}

/* === AXORA v0.9.0 Recepciones operativas + Cadaya Enterprise Refinement === */
.company-shell{grid-template-columns:260px 1fr;background:#f7f8fb;}
.sidebar{background:linear-gradient(180deg,#030303 0%,#070707 58%,#0f0f10 100%);padding:18px 14px;}
.company-brand{flex-direction:column;text-align:center;gap:8px;border-bottom:0;padding-bottom:8px;}
.company-logo,.company-logo-image img{width:96px!important;height:96px!important;}
.company-title{font-size:20px;font-weight:900;color:#fff;line-height:1.05;max-width:160px;text-align:center;}
html[data-active-broker='nestle'] .company-title::after{content:' · Broker Nestlé';display:block;color:#ff1e1e;font-size:13px;margin-top:4px;font-weight:900;}
html[data-active-broker='cadaya'] .company-title::after{content:' · Broker Cadaya';display:block;color:#ff1e1e;font-size:13px;margin-top:4px;font-weight:900;}
.company-subtitle{display:none;}
.nav-section-title{margin-top:18px;color:rgba(255,255,255,.38)}
.nav-item{border-radius:12px;color:#f6f6f6;font-size:14px;padding:13px 12px;}
.nav-item.active{background:linear-gradient(135deg,#ef0000,#b30000);box-shadow:0 14px 30px rgba(215,25,32,.28);}
.company-switch-card{display:none;}
.topbar{height:72px;background:#ffffff;border-bottom:1px solid #edf0f4;box-shadow:0 6px 26px rgba(15,23,42,.04);}
.topbar h1{display:inline-flex;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:8px 16px;font-size:22px;background:#fff;}
.breadcrumb{font-weight:800;color:#111827;}
.content{padding:24px;background:#f7f8fb;}
.card{border-radius:18px;border:1px solid #e9edf3;box-shadow:0 10px 26px rgba(17,24,39,.045);}
.hero-premium{background:linear-gradient(135deg,#ffffff 0%,#fff 55%,#fff5f5 100%);border-color:#eef1f6;}
.hero-premium:after{content:'';height:36px;width:180px;background:linear-gradient(90deg,transparent,#ef4444,transparent);opacity:.35;border-radius:99px;align-self:center;}
.kpi{position:relative;overflow:hidden;}
.kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#ef0000,#111);opacity:.85;}
.kpi .metric{font-size:34px;}
.company-btn{background:linear-gradient(135deg,#ef0000,#c40000);border-radius:12px;box-shadow:0 12px 28px rgba(215,25,32,.14);}
.company-btn.dark{background:linear-gradient(135deg,#151515,#000);}
.company-btn.light{background:#fff;color:#0a0a0a;border:1px solid #e5e7eb;}
.module-icon{background:linear-gradient(135deg,#ef0000,#991b1b)!important;}
.progress span{background:linear-gradient(90deg,#ef0000,#111)!important;}
.footer{background:#fff;}
.page-grid{display:grid;gap:18px;}
.page-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#fff7f7);}
.receipt-summary{min-width:210px;border:1px solid #e5e7eb;border-radius:18px;padding:16px;background:#fff;text-align:center;box-shadow:0 12px 24px rgba(17,24,39,.04)}
.receipt-summary b{display:block;font-size:36px;line-height:1;color:#d71920}.receipt-summary span{display:block;font-weight:900;margin-top:4px}.receipt-summary small{display:block;color:#667085;margin-top:8px;font-weight:700}
.wizard-steps.named{display:grid;grid-template-columns:repeat(5,1fr);height:auto;gap:10px;margin:0 0 16px;}
.step-block{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;color:#667085;font-size:13px}.step-block span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#e5e7eb;font-weight:900}.step-block.done,.step-block.current{border-color:#ffd3d3;background:#fff5f5;color:#111}.step-block.done span,.step-block.current span{background:#d71920;color:#fff}.step-block.current{box-shadow:0 0 0 4px rgba(215,25,32,.08)}
.receipt-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.rules-list{margin:0;padding-left:18px;display:grid;gap:10px;color:#344054;font-weight:700}.rules-list li::marker{color:#d71920}
@media(max-width:980px){.receipt-actions,.wizard-steps.named{grid-template-columns:1fr}.page-hero{flex-direction:column;align-items:stretch}.company-logo,.company-logo-image img{width:74px!important;height:74px!important}.company-title{font-size:17px}.company-shell{grid-template-columns:1fr}}

/* === AXORA v0.10.0 Picking Inteligente operativo === */
.route-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:14px 0 18px;}
.route-node{border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 12px 30px rgba(15,23,42,.05);display:grid;gap:4px;position:relative;overflow:hidden;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;}
.route-node:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(180deg,var(--company-primary),#111);}
.route-node b{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#111;color:#fff;font-size:12px;}
.route-node span{font-weight:900;font-size:18px;}
.route-node small{color:var(--muted);font-weight:700;}
.route-node.done{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#bbf7d0;}
.route-node.done b{background:#16A34A;}
.route-node.active{border-color:#111827;box-shadow:0 18px 36px rgba(15,23,42,.12);transform:translateY(-1px);}
.route-node.active:before{background:linear-gradient(180deg,#111827,var(--company-primary));}
.route-node:focus-visible{outline:3px solid rgba(17,24,39,.18);outline-offset:2px;}

.rules-list{display:grid;gap:10px;padding-left:18px;line-height:1.45;color:#374151;}
.receipt-summary{min-width:190px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#111827,#050607);color:white;text-align:center;box-shadow:0 18px 50px rgba(17,24,39,.18);}
.receipt-summary b{display:block;font-size:34px;line-height:1;}
.receipt-summary span{display:block;font-weight:900;margin-top:6px;}
.receipt-summary small{display:block;color:rgba(255,255,255,.7);margin-top:6px;}

/* === AXORA v0.13.0 Dashboard Ejecutivo + Pilot Zero === */
.executive-hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.92)),
    radial-gradient(circle at 92% 0%, rgba(215,25,32,.18), transparent 35%);
}
.executive-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.executive-kpi { min-height: 138px; border-top: 4px solid var(--company-primary); }
.executive-kpi span { color: var(--muted); font-size: 12px; font-weight: 700; }
.bar-report { display: grid; gap: 16px; }
.bar-report div { display: grid; grid-template-columns: 120px 64px 1fr; align-items: center; gap: 12px; }
.bar-report span { font-weight: 800; color: var(--text); }
.bar-report b { color: var(--company-primary); }
.bar-report i { height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--company-primary), #111827); display: block; min-width: 18px; }
.alert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.alert-card { border-radius: 20px; padding: 18px; display: grid; gap: 10px; border: 1px solid var(--border); background: #fff; }
.alert-card b { font-size: 16px; }
.alert-card span { color: var(--muted); line-height: 1.5; }
.alert-card.critical { border-left: 5px solid var(--danger); }
.alert-card.warning { border-left: 5px solid var(--warning); }
.alert-card.info { border-left: 5px solid var(--info); }
.report-card { min-height: 154px; }
.pilot-steps { display: grid; gap: 12px; margin-bottom: 18px; }
.pilot-steps div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 12px; border-radius: 16px; background: #f8fafc; border: 1px solid var(--border); }
.pilot-steps b { width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; color: white; background: linear-gradient(135deg, var(--company-primary), #111827); }
.rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rules-grid div { padding: 14px; border-radius: 16px; background: #f8fafc; border: 1px solid var(--border); font-weight: 800; color: var(--text); }
@media(max-width:1100px){.executive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.alert-grid,.rules-grid{grid-template-columns:1fr;}}

/* === AXORA v0.14.0 Missing Modules Polish === */
.form-grid.single{grid-template-columns:1fr;}
.muted-note{color:var(--muted);font-size:12px;line-height:1.6;margin-top:12px;}
.rules-grid div{border-left:4px solid var(--company-primary);}

/* === AXORA v0.15.0 Broker Nestlé integration layer === */
.integration-flow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; margin: 14px 0 18px; }
.integration-flow div { border: 1px solid var(--border); background: linear-gradient(180deg,#fff,#f8fafc); border-radius: 16px; padding: 14px 10px; font-weight: 900; color: #111827; text-align: center; box-shadow: 0 10px 25px rgba(17,24,39,.05); }
.rules-list { margin: 0; padding-left: 18px; line-height: 1.9; color: var(--text); }
.muted-note { color: var(--muted); font-size: 13px; line-height: 1.6; }
@media (max-width: 1180px) { .integration-flow { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 720px) { .integration-flow { grid-template-columns: 1fr; } }

/* v0.17.0 - Modo móvil y Escáner Universal */
.mobile-workspace .scanner-phone {
  max-width: 430px;
  margin: 0 auto;
  background: linear-gradient(160deg, #111318, #1b1c22 48%, #2a0f13);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 80px rgba(0,0,0,.32);
}
.phone-top { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:#f3f4f6; margin-bottom:16px; }
.scan-frame {
  min-height: 220px;
  border: 2px solid rgba(215,25,32,.74);
  border-radius: 28px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background: radial-gradient(circle at 50% 40%, rgba(215,25,32,.24), transparent 60%), rgba(255,255,255,.04);
}
.scan-frame span { color:#fff; font-weight:900; letter-spacing:.06em; text-transform:uppercase; font-size:12px; }
.scan-line { position:absolute; left:16px; right:16px; height:3px; background:linear-gradient(90deg, transparent, #D71920, transparent); animation: scanline 2.4s ease-in-out infinite; box-shadow:0 0 20px rgba(215,25,32,.9); }
@keyframes scanline { 0%{ top:24px; opacity:.4 } 50%{ top:180px; opacity:1 } 100%{ top:24px; opacity:.4 } }
.scan-targets { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.scan-targets div { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:12px; }
.scan-targets small { display:block; color:#d1d5db; font-size:11px; margin-bottom:4px; }
.scan-targets b { font-size:17px; }
.actions.stacked { grid-template-columns:1fr; }
.status.info { background:#dbeafe; color:#1d4ed8; }


/* === AXORA v0.21.0 Security & Audit Engine === */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-head h3{margin:0}.section-head p{margin:5px 0 0;color:var(--muted)}
.security-matrix{overflow:auto;border:1px solid var(--border);border-radius:18px}.security-matrix-head,.security-matrix-row{display:grid;grid-template-columns:180px repeat(12,minmax(82px,1fr));gap:8px;align-items:center;min-width:1260px;padding:10px 12px}.security-matrix-head{background:#111;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.security-matrix-row{border-top:1px solid var(--border);background:#fff}.security-matrix-row>div{display:grid}.security-matrix-row small{color:var(--muted);margin-top:3px}.permission-pill{height:34px;border:1px solid var(--border);border-radius:10px;font-weight:900;cursor:pointer}.permission-pill.enabled{background:#ecfdf5;color:#15803d;border-color:#bbf7d0}.permission-pill.disabled{background:#f8fafc;color:#94a3b8}.permission-pill:hover{transform:translateY(-1px)}
@media(max-width:820px){.section-head{align-items:stretch;flex-direction:column}.section-head .company-btn{width:100%}}

/* === AXORA v0.22.0 Incidencias y Aprobaciones === */
.company-btn.mini{padding:7px 10px;border-radius:10px;font-size:11px;margin:2px;white-space:nowrap}
@media(max-width:820px){.company-btn.mini{width:100%;margin:3px 0}.table{min-width:900px}}


/* v0.23.0 — Centro de Tareas y Notificaciones */
.notification-button{position:relative;border:1px solid #dedfe3;background:#fff;border-radius:12px;width:42px;height:42px;font-size:18px;cursor:pointer;color:var(--company-secondary)}
.notification-button span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--company-primary);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.task-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.task-card{border:1px solid #e5e7eb;border-left:5px solid #9ca3af;border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,#fafafa);box-shadow:0 8px 24px rgba(16,17,20,.06)}
.task-card.alta{border-left-color:#d71920}.task-card.media{border-left-color:#e59b22}.task-card.baja{border-left-color:#2b78d0}
.task-top,.task-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-meta{justify-content:flex-start;flex-wrap:wrap;color:#62646b;font-size:12px;margin:14px 0}.task-meta span{padding:6px 9px;border-radius:9px;background:#f1f2f4}
.notification-list{display:grid;gap:12px}.notification-card{display:flex;gap:14px;border:1px solid #e3e4e8;border-radius:16px;padding:17px;background:#fff;transition:.2s}.notification-card.unread{box-shadow:0 10px 28px rgba(16,17,20,.08);border-color:#cfd1d7}.notification-card.read{opacity:.72}.notification-card.critical{border-left:5px solid #d71920}.notification-card.warn{border-left:5px solid #e59b22}.notification-card.info{border-left:5px solid #2b78d0}.notification-dot{width:10px;height:10px;border-radius:50%;margin-top:8px;background:#9ca3af}.notification-card.unread .notification-dot{background:var(--company-primary);box-shadow:0 0 0 4px rgba(215,25,32,.1)}.notification-content{flex:1}.notification-content h3{margin:0}.notification-content p{margin:7px 0 14px}
@media(max-width:800px){.task-board{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.notification-button{width:38px;height:38px}.task-card .actions,.notification-card .actions{flex-wrap:wrap}}


/* AXORA v0.36.0 · Centro de Decisiones */
.decision-list{display:grid;gap:12px;margin-top:16px}.decision-item{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(16,17,20,.05)}.decision-item.reviewed{opacity:.62;background:#f8fafc}.decision-priority{display:grid;gap:7px}.decision-priority small{font-weight:700;color:#667085}.decision-content p{margin:6px 0;color:#667085}.decision-content small{color:#98a2b3}.decision-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:820px){.decision-item{grid-template-columns:1fr}.decision-actions{justify-content:flex-start}}


/* AXORA v0.37.0 · PWA y experiencia multidispositivo */
.mobile-menu-button,.install-button,.mobile-bottom-nav,.mobile-scrim{display:none}
.connectivity-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:11px;font-weight:900;color:#475467}
.connectivity-chip::before{content:'';width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.connectivity-chip.offline::before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.install-button{border:1px solid #d9dce2;background:#fff;color:#111827;border-radius:12px;padding:9px 12px;font-weight:900}
.mobile-scrim{position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:20;backdrop-filter:blur(2px)}
@media(max-width:980px){
  body{padding-bottom:76px}
  .company-shell{display:block;min-height:100vh}
  .sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:min(86vw,330px);transform:translateX(-105%);transition:transform .24s ease;overflow-y:auto;min-height:100vh;padding-bottom:100px}
  .company-shell.mobile-nav-open .sidebar{transform:translateX(0)}
  .company-shell.mobile-nav-open .mobile-scrim{display:block}
  .workspace{min-height:100vh}
  .topbar{height:auto;min-height:68px;padding:10px 14px;gap:10px;position:sticky;top:0}
  .topbar>div:first-of-type{min-width:0;flex:1}
  .topbar h1{font-size:16px;padding:7px 10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
  .user-area{gap:7px}
  .user-pill{display:none}
  .logout-btn{display:none}
  .mobile-menu-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:21px;font-weight:900}
  .install-button{display:inline-flex;align-items:center;justify-content:center}
  .install-button[hidden]{display:none}
  .connectivity-chip{padding:7px 9px;font-size:0}
  .connectivity-chip::after{content:'En línea';font-size:10px}
  .connectivity-chip.offline::after{content:'Sin conexión'}
  .content{padding:14px;gap:14px}
  .footer{padding:14px 14px 86px;display:grid;gap:6px}
  .kpi-grid,.actions,.module-grid,.two-col,.executive-grid{grid-template-columns:1fr!important}
  .table{display:block;overflow-x:auto;max-width:100%}
  .company-btn,.btn-primary,button{min-height:44px}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:18;background:rgba(12,13,17,.94);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:7px;box-shadow:0 20px 60px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
  .mobile-bottom-nav button{border:0;background:transparent;color:rgba(255,255,255,.68);border-radius:14px;padding:7px 4px;display:grid;gap:2px;place-items:center;font-size:18px;min-width:0}
  .mobile-bottom-nav button small{font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobile-bottom-nav button.active{background:linear-gradient(135deg,#ef0000,#9d1117);color:#fff}
  .login-page{grid-template-columns:1fr;min-height:100dvh}
  .login-hero{display:none}
  .login-panel{padding:18px;min-height:100dvh}
  .login-card{border-radius:24px;padding:24px}
}
@media(display-mode:standalone){
  .install-button{display:none!important}
  .topbar{padding-top:max(10px,env(safe-area-inset-top))}
}

.health-score{min-width:150px;text-align:center;border-radius:22px;padding:18px;background:rgba(255,255,255,.08)}.health-score b{font-size:48px;line-height:1}.health-score span{font-size:18px}.health-score small{display:block;margin-top:8px}.health-score.good{box-shadow:inset 0 0 0 1px rgba(22,163,74,.45)}.health-score.warn{box-shadow:inset 0 0 0 1px rgba(245,158,11,.55)}.health-score.danger{box-shadow:inset 0 0 0 1px rgba(220,38,38,.55)}.health-components{display:grid;gap:16px}.health-row>div:first-child{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px}.health-bar{height:10px;border-radius:999px;background:rgba(127,127,127,.18);overflow:hidden}.health-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--company-primary),#7c3aed)}@media(max-width:700px){.health-score{width:100%}}


/* AXORA v0.38.4 — navegación agrupada por propósito */
.nav-groups{display:grid;gap:8px;min-height:0}
.nav-group{border:1px solid transparent;border-radius:14px;overflow:hidden;transition:background .18s ease,border-color .18s ease}
.nav-group.current{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07)}
.nav-group-toggle{width:100%;border:0;background:transparent;color:rgba(255,255,255,.88);display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:8px;padding:12px 11px;text-align:left;font-weight:800;cursor:pointer;border-radius:12px}
.nav-group-toggle:hover{background:rgba(255,255,255,.07)}
.nav-group-icon{display:grid;place-items:center;font-size:15px;color:#fff}
.nav-group-chevron{justify-self:end;transition:transform .18s ease;color:rgba(255,255,255,.48)}
.nav-group.open .nav-group-chevron{transform:rotate(180deg)}
.nav-submenu{padding:0 6px 8px 14px;gap:5px}
.nav-submenu[hidden]{display:none!important}
.nav-submenu .nav-item{font-size:13px;padding:10px 10px;border-radius:10px;color:rgba(255,255,255,.67)}
.nav-submenu .nav-item span{width:18px;text-align:center}
.nav-submenu .nav-item.active{color:#fff}
@media (max-width: 900px){.nav-groups{display:grid;grid-template-columns:1fr}.nav-group-toggle{min-height:46px}.nav-submenu{grid-template-columns:1fr!important}}

/* AXORA v0.38.5 — UX Enterprise: sidebar compacta y navegación simplificada */
.company-shell{transition:grid-template-columns .22s ease}
.company-brand{position:relative}
.company-brand-copy{min-width:0}
.sidebar-collapse-button{margin-left:auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;font-size:20px;cursor:pointer;flex:0 0 auto}
.sidebar-collapse-button:hover{background:rgba(255,255,255,.12)}
.nav-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width: 901px){
  .company-shell.sidebar-compact{grid-template-columns:88px minmax(0,1fr)}
  .sidebar-compact .sidebar{padding-left:10px;padding-right:10px;align-items:stretch}
  .sidebar-compact .company-brand{justify-content:center;padding:4px 0 10px}
  .sidebar-compact .company-logo{width:44px;height:44px;margin:0}
  .sidebar-compact .company-brand-copy,.sidebar-compact .nav-section-title,.sidebar-compact .company-switch-card,.sidebar-compact .powered{display:none}
  .sidebar-compact .sidebar-collapse-button{position:absolute;right:-24px;top:8px;background:#111318;box-shadow:0 8px 24px rgba(0,0,0,.28);z-index:3}
  .sidebar-compact .nav-groups{gap:6px;margin-top:8px}
  .sidebar-compact .nav-group{overflow:visible;border-color:transparent;background:transparent}
  .sidebar-compact .nav-group-toggle{grid-template-columns:1fr;padding:12px 8px;min-height:48px;position:relative}
  .sidebar-compact .nav-group-icon{font-size:19px}
  .sidebar-compact .nav-group-label,.sidebar-compact .nav-group-chevron,.sidebar-compact .nav-submenu{display:none!important}
  .sidebar-compact .nav-group.current .nav-group-toggle{background:linear-gradient(135deg,var(--company-primary),#9d1117);box-shadow:0 8px 22px rgba(215,25,32,.24)}
  .sidebar-compact .nav-group-toggle::after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);padding:8px 10px;border-radius:9px;background:#101114;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:.16s ease;box-shadow:0 10px 28px rgba(0,0,0,.28);z-index:50}
  .sidebar-compact .nav-group-toggle:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
}
@media (max-width:900px){.sidebar-collapse-button{display:none}}

/* === AXORA v0.38.6 Inicio Inteligente y Resumen Diario === */
.daily-home{gap:20px}
.daily-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:24px;padding:28px;background:linear-gradient(135deg,#fff 0%,#fff 58%,#fff4f4 100%);overflow:hidden;position:relative}
.daily-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-170px;top:-190px;background:radial-gradient(circle,rgba(215,25,32,.15),transparent 68%)}
.daily-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.daily-hero-copy h2{font-size:34px;margin:14px 0 8px;letter-spacing:-.03em}
.daily-hero-copy p{max-width:760px;color:#475467;font-weight:650;line-height:1.65;margin:0}
.daily-date{margin-top:18px;font-size:12px;color:#667085;font-weight:850;text-transform:capitalize}
.daily-focus{position:relative;z-index:1;border:1px solid #eadfe0;border-radius:20px;background:rgba(255,255,255,.94);padding:20px;box-shadow:0 20px 50px rgba(15,23,42,.08);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.daily-focus>small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:900}
.daily-focus>b{font-size:18px;line-height:1.3}
.daily-focus>p{margin:0;color:#667085;line-height:1.5;font-size:13px}
.daily-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.daily-metric{border:1px solid #e9edf3;text-align:left;padding:18px;cursor:pointer;background:#fff;color:#111827;display:flex;flex-direction:column;align-items:flex-start;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.daily-metric:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(15,23,42,.09);border-color:#f3b7ba}
.daily-metric small{color:#667085;font-weight:850}
.daily-metric b{font-size:34px;line-height:1;margin:12px 0 8px}
.daily-metric span{font-size:12px;color:#667085;font-weight:700}
.daily-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.daily-agenda-list{display:grid;gap:10px;margin-top:14px}
.daily-agenda-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #edf0f4;border-radius:16px;background:#fbfcfd}
.daily-agenda-item p{margin:5px 0;color:#667085;font-size:13px}
.daily-agenda-item small{color:#667085;font-weight:700}
.daily-order{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:#111827;color:#fff;font-weight:900}
.daily-shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.daily-shortcut-grid button{border:1px solid #e8ebf0;border-radius:16px;background:#fff;text-align:left;padding:16px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:#111827;min-height:134px;transition:all .18s ease}
.daily-shortcut-grid button:hover{border-color:#efb2b5;background:#fff8f8;transform:translateY(-2px)}
.daily-shortcut-grid button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#111827;color:#fff;font-size:18px}
.daily-shortcut-grid button>b{font-size:14px}
.daily-shortcut-grid button>small{color:#667085;line-height:1.4}
.empty-state{padding:26px;text-align:center;border:1px dashed #d0d5dd;border-radius:16px;color:#667085}
@media(max-width:1180px){.daily-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-columns,.daily-hero{grid-template-columns:1fr}}
@media(max-width:720px){.daily-metrics,.daily-shortcut-grid{grid-template-columns:1fr}.daily-agenda-item{grid-template-columns:34px minmax(0,1fr)}.daily-agenda-item>.company-btn{grid-column:2}.daily-hero-copy h2{font-size:28px}}


/* === AXORA v0.38.7 Centro de Entradas unificado === */
.input-center{gap:18px}.input-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.input-type{border:1px solid #e6e9ee;background:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:18px;cursor:pointer;min-height:154px;transition:.18s ease;color:#111827}.input-type:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.08);border-color:#efb3b6}.input-type.active{border-color:var(--company-primary);box-shadow:inset 0 0 0 1px var(--company-primary),0 16px 38px rgba(215,25,32,.10);background:#fff8f8}.input-type>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#111827;color:#fff;font-size:19px}.input-type.active>span{background:var(--company-primary)}.input-type>b{font-size:15px}.input-type>small{color:#667085;line-height:1.45}.input-upload-card{display:grid;gap:16px}.input-drop-zone{border:2px dashed #d0d5dd;border-radius:20px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;cursor:pointer;background:#fbfcfd;transition:.18s ease}.input-drop-zone:hover,.input-drop-zone.dragging{border-color:var(--company-primary);background:#fff6f6}.input-drop-zone>span{font-size:38px;color:var(--company-primary);margin-bottom:8px}.input-drop-zone>b{font-size:17px}.input-drop-zone>small{color:#667085;margin-top:8px}.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}.input-empty{text-align:center;padding:38px;color:#667085;display:grid;justify-items:center;gap:8px}.input-empty>span{font-size:34px}.input-empty>b{color:#344054}.input-alert{border-radius:14px;padding:14px 16px;margin:12px 0}.input-alert p{margin:5px 0 0}.input-alert.bad{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.input-draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:14px 0}.input-draft-head h3{margin:10px 0 4px}.input-draft-head p{margin:0;color:#667085}.input-validation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.input-validation-grid>div{padding:14px;border:1px solid #e8ebf0;border-radius:14px;background:#fbfcfd;display:grid;gap:5px}.input-validation-grid small{color:#667085;font-weight:750}.input-validation-grid b{font-size:16px}.table-scroll{overflow:auto}.input-preview{min-width:850px}.input-preview .row-error{background:#fff7f7}.company-btn:disabled{opacity:.45;cursor:not-allowed}.input-center .section-heading{align-items:flex-start}.input-center .section-heading .actions{flex-wrap:wrap}.company-btn.small{padding:8px 10px;font-size:11px}@media(max-width:1100px){.input-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input-validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.input-type-grid,.input-validation-grid{grid-template-columns:1fr}.input-draft-head{flex-direction:column}.input-draft-head .actions{width:100%;flex-wrap:wrap}.input-draft-head .actions button{flex:1}.input-drop-zone{min-height:160px}}

.login-error{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-weight:700}.user-permission-list{display:grid;gap:18px}.user-permission-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff}.user-permission-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}.user-permission-head h3{margin:0 0 4px}.user-permission-head p{margin:0 0 4px;color:var(--muted)}.permission-group{margin-top:16px}.permission-group h4{margin:0 0 9px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.permission-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.permission-check{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#f8fafc;cursor:pointer}.permission-check.enabled{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.permission-check input{width:17px;height:17px;accent-color:var(--company-primary)}.founder-lock{padding:14px;border-radius:12px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-weight:800}@media(max-width:760px){.user-permission-head{flex-direction:column}.permission-check-grid{grid-template-columns:1fr}}

/* =====================================================================
   AXORA v1.2.0 — Modernización UX/UI sobre la base existente
   No altera lógica, permisos, rutas ni persistencia.
   ===================================================================== */
:root{
  --ui-bg:#f4f6f9;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fafc;
  --ui-text:#162033;
  --ui-muted:#667085;
  --ui-line:#e7ebf0;
  --ui-primary:#c9151b;
  --ui-primary-dark:#9f1116;
  --ui-primary-soft:#fff1f2;
  --ui-sidebar:#101318;
  --ui-sidebar-soft:#171b22;
  --ui-shadow-sm:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.05);
  --ui-shadow-md:0 12px 36px rgba(16,24,40,.08);
  --ui-radius-sm:10px;
  --ui-radius-md:16px;
  --ui-radius-lg:22px;
}
body{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--ui-bg);
  color:var(--ui-text);
  letter-spacing:-.005em;
}

/* Login: más sobrio, profesional y con mejor jerarquía */
.login-page{
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
  background:
    radial-gradient(circle at 16% 10%,rgba(49,90,214,.22),transparent 26%),
    radial-gradient(circle at 78% 82%,rgba(124,58,237,.16),transparent 30%),
    linear-gradient(140deg,#07101f 0%,#0b1423 52%,#111827 100%);
}
.login-hero{padding:clamp(44px,6vw,86px);}
.axora-symbol{width:92px;height:92px;border-radius:24px;font-size:48px;box-shadow:0 24px 70px rgba(37,99,235,.26)}
.axora-word{font-size:clamp(44px,5vw,64px);letter-spacing:10px}
.axora-platform{letter-spacing:9px;color:#aab8ff}
.login-tagline{font-size:clamp(20px,2vw,27px);font-weight:600;max-width:720px}
.login-philosophy{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px;gap:12px 22px}
.philosophy-row{padding:10px 0}
.login-panel{padding:clamp(24px,4vw,56px)}
.login-card{
  padding:34px;
  border-radius:24px;
  background:rgba(12,20,35,.82);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 36px 90px rgba(0,0,0,.36);
}
.login-card h2{font-size:28px;letter-spacing:-.03em;margin-top:26px}
.login-card input{border-radius:12px;padding:14px 15px;background:rgba(255,255,255,.055)}
.btn-primary{border-radius:12px;background:linear-gradient(135deg,#2f66e9,#7358df);box-shadow:0 12px 30px rgba(47,102,233,.24)}

/* Estructura principal */
.company-shell{grid-template-columns:248px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{
  background:linear-gradient(180deg,var(--ui-sidebar) 0%,#0c0f14 100%);
  padding:18px 14px;
  gap:12px;
  border-right:1px solid rgba(255,255,255,.045);
  box-shadow:10px 0 34px rgba(12,16,24,.08);
}
.company-brand{padding:6px 8px 18px;gap:11px;border-bottom:1px solid rgba(255,255,255,.075)}
.company-logo{border-radius:12px;width:42px;height:42px;box-shadow:none}
.company-title{font-size:14px;letter-spacing:.01em}
.company-subtitle{font-size:10px;letter-spacing:.03em}
.nav-groups{gap:5px!important}
.nav-group{
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  overflow:hidden;
}
.nav-group-toggle{
  min-height:44px!important;
  border-radius:11px!important;
  padding:10px 11px!important;
  color:rgba(255,255,255,.72)!important;
  transition:background .15s ease,color .15s ease;
}
.nav-group-toggle:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.nav-group.current .nav-group-toggle{
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--ui-primary);
}
.nav-submenu{padding:4px 4px 8px 12px!important;gap:3px!important}
.nav-item{
  min-height:39px;
  padding:9px 10px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  font-weight:650!important;
  color:rgba(255,255,255,.68)!important;
}
.nav-item:hover{background:rgba(255,255,255,.05)!important;color:#fff!important}
.nav-item.active{
  background:linear-gradient(135deg,rgba(201,21,27,.96),rgba(159,17,22,.96))!important;
  box-shadow:0 8px 22px rgba(201,21,27,.19)!important;
  color:#fff!important;
}
.powered{opacity:.72;padding:12px 8px 0}

/* Encabezado y contenido */
.topbar{
  height:68px;
  padding:0 28px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--ui-line);
  box-shadow:none;
}
.topbar h1{
  border:0;
  padding:0;
  background:transparent;
  font-size:20px;
  font-weight:760;
  letter-spacing:-.025em;
}
.breadcrumb{font-size:11px;color:var(--ui-muted);font-weight:650;margin-top:3px}
.user-area{font-size:12px;gap:9px}
.user-pill{background:var(--ui-surface-soft);border-color:var(--ui-line);padding:8px 11px}
.logout-btn{border-color:var(--ui-line);padding:8px 11px;background:#fff}
.content{padding:26px clamp(18px,2.4vw,34px) 38px;gap:20px;background:var(--ui-bg)}

/* Superficies y tarjetas */
.card{
  border:1px solid var(--ui-line);
  border-radius:var(--ui-radius-md);
  box-shadow:var(--ui-shadow-sm);
  padding:20px;
  background:var(--ui-surface);
}
.card:hover{border-color:#dfe4ea}
.card h2,.card h3{letter-spacing:-.02em;color:var(--ui-text)}
.page-grid{gap:20px}
.page-hero,.executive-hero,.daily-hero{
  border-radius:var(--ui-radius-lg);
  padding:26px;
  background:
    radial-gradient(circle at 96% 4%,rgba(201,21,27,.095),transparent 30%),
    linear-gradient(145deg,#fff,#fbfcfd);
  border:1px solid var(--ui-line);
  box-shadow:var(--ui-shadow-sm);
}
.page-hero h2,.executive-hero h2{font-size:clamp(25px,2.4vw,34px);margin:11px 0 7px;letter-spacing:-.04em}
.page-hero p,.executive-hero p{color:var(--ui-muted);line-height:1.62;max-width:780px}
.receipt-summary{
  min-width:190px;
  border-radius:16px;
  padding:18px;
  background:linear-gradient(150deg,#171b22,#0c0f14);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 34px rgba(16,24,40,.15);
}
.receipt-summary b{color:#fff;font-size:34px}
.receipt-summary span{font-size:12px}
.receipt-summary small{font-size:10px}

/* KPIs con menor ruido visual */
.kpi-grid,.executive-grid,.daily-metrics{gap:12px}
.kpi,.executive-kpi,.daily-metric{
  min-height:118px;
  border:1px solid var(--ui-line)!important;
  border-top:1px solid var(--ui-line)!important;
  border-radius:15px;
  box-shadow:var(--ui-shadow-sm);
  position:relative;
  overflow:hidden;
}
.kpi:before,.executive-kpi:before,.daily-metric:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--ui-primary),#ef6a6f);
}
.kpi .metric,.executive-kpi .metric,.daily-metric b{font-size:30px;letter-spacing:-.045em}
.kpi small,.executive-kpi span,.daily-metric small{font-size:11px;color:var(--ui-muted)}

/* Botones */
.company-btn{
  border-radius:10px;
  padding:11px 15px;
  min-height:40px;
  font-weight:750;
  font-size:12.5px;
  background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-dark));
  box-shadow:0 7px 18px rgba(201,21,27,.14);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.company-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 24px rgba(201,21,27,.19);filter:saturate(1.04)}
.company-btn.dark{background:linear-gradient(135deg,#20242b,#101318)}
.company-btn.light{background:#fff;color:var(--ui-text);border:1px solid var(--ui-line);box-shadow:none}
.company-btn.light:hover:not(:disabled){background:var(--ui-surface-soft);border-color:#d5dce5}
.company-btn.mini,.company-btn.small{min-height:32px;padding:7px 10px;border-radius:8px;font-size:11px}

/* Tablas */
.table-wrap,.table-scroll{border:1px solid var(--ui-line);border-radius:14px;overflow:auto;background:#fff}
.table{font-size:12.5px;border-collapse:separate;border-spacing:0}
.table th{
  position:sticky;top:0;z-index:1;
  padding:11px 12px;
  background:#f8fafc;
  color:#596579;
  font-size:10.5px;
  letter-spacing:.055em;
  border-bottom:1px solid var(--ui-line);
}
.table td{padding:12px;border-bottom:1px solid #edf0f3;color:#263247}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:#fbfcfe}
.table td b{font-weight:760;color:#172033}
.table td small{color:var(--ui-muted)}

/* Formularios y filtros */
.toolbar,.filter-row,.form-grid{gap:12px}
.toolbar input,.toolbar select,.field input,.field select,.field textarea,.filter-row input,.filter-row select,.form-grid input,.form-grid select,.form-grid textarea{
  border:1px solid #dfe4ea;
  border-radius:10px;
  min-height:42px;
  padding:10px 12px;
  background:#fff;
  color:var(--ui-text);
  box-shadow:0 1px 2px rgba(16,24,40,.02);
}
.toolbar input:focus,.toolbar select:focus,.field input:focus,.field select:focus,.field textarea:focus,.filter-row input:focus,.filter-row select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{
  border-color:#e08a8e;
  box-shadow:0 0 0 3px rgba(201,21,27,.09);
}
label{color:#344054;font-size:11.5px;font-weight:720}
.section-head{margin-bottom:18px;align-items:flex-start}
.section-head h3{font-size:17px}
.section-head p{font-size:12px;line-height:1.5}

/* Estados, reglas y alertas */
.status{padding:5px 9px;border-radius:999px;font-size:10.5px;font-weight:780}
.status.good{background:#ecfdf3;color:#027a48}
.status.warn{background:#fffaeb;color:#b54708}
.status.danger{background:#fff1f3;color:#c01048}
.status.info{background:#eff6ff;color:#175cd3}
.rules-grid{gap:10px}
.rules-grid div{
  border-left:0;
  border:1px solid var(--ui-line);
  border-radius:12px;
  padding:13px;
  background:#fafbfd;
  color:#344054;
  font-size:12px;
  font-weight:680;
}
.alert-card{border-radius:14px;box-shadow:none}
.empty-state{border-color:#d8dee7;background:#fbfcfe}

/* Acciones y módulos */
.actions{gap:10px}
.module-grid{gap:12px}
.module-card{min-height:132px;border-radius:15px}
.module-card .module-icon{width:38px;height:38px;border-radius:10px;box-shadow:none}
.daily-shortcut-grid button,.input-type{
  border-radius:14px;
  box-shadow:none;
}
.daily-shortcut-grid button:hover,.input-type:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}

/* Responsive web + futura app Android */
@media(max-width:1100px){
  .company-shell{grid-template-columns:220px minmax(0,1fr)}
  .content{padding:22px 18px 32px}
  .kpi-grid,.executive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .company-shell{grid-template-columns:1fr}
  .sidebar{position:relative;min-height:auto;box-shadow:none}
  .topbar{position:sticky;height:auto;min-height:64px;padding:12px 16px;gap:12px;flex-wrap:wrap}
  .content{padding:18px 14px 28px}
  .page-hero,.executive-hero,.daily-hero{padding:20px}
}
@media(max-width:720px){
  .login-page{grid-template-columns:1fr}
  .login-hero{display:none}
  .login-panel{min-height:100vh;padding:20px}
  .login-card{padding:26px 22px;border-radius:20px}
  .topbar h1{font-size:17px}
  .user-area{width:100%;justify-content:space-between}
  .page-hero,.executive-hero{align-items:stretch}
  .receipt-summary{min-width:0;width:100%}
  .kpi-grid,.executive-grid,.daily-metrics,.module-grid,.two-col{grid-template-columns:1fr}
  .card{padding:16px;border-radius:14px}
  .section-head{flex-direction:column}
  .section-head>.company-btn,.section-head>.actions{width:100%}
  .section-head>.company-btn{justify-content:center}
  .filter-row,.toolbar{display:grid;grid-template-columns:1fr;width:100%}
  .actions{grid-template-columns:1fr!important}
  .company-btn{width:100%}
  .table{min-width:760px}
}


/* === AXORA v1.2.2 · Login Experience Modernization === */
.login-page.login-v2{
  min-height:100dvh;
  grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);
  background:#070b13;
  overflow:hidden;
}
.login-v2 .login-hero{
  isolation:isolate;
  padding:clamp(48px,7vw,104px);
  background:
    linear-gradient(120deg,rgba(3,7,18,.15),rgba(3,7,18,.64)),
    radial-gradient(circle at 20% 20%,rgba(43,101,255,.22),transparent 34%),
    linear-gradient(145deg,#08101f 0%,#0c1729 52%,#111b2d 100%);
}
.login-v2 .login-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to right,#000,transparent 86%);
  pointer-events:none;
  z-index:-1;
}
.login-v2 .login-hero:after{display:none}
.login-ambient{position:absolute;border-radius:999px;filter:blur(12px);pointer-events:none;z-index:-1}
.login-ambient.ambient-one{width:430px;height:430px;right:-170px;top:-120px;background:radial-gradient(circle,rgba(49,99,255,.25),transparent 68%)}
.login-ambient.ambient-two{width:360px;height:360px;left:-170px;bottom:-120px;background:radial-gradient(circle,rgba(124,58,237,.18),transparent 68%)}
.login-hero-content{position:relative;z-index:1;max-width:760px}
.login-v2 .brand-lockup{gap:18px}
.login-v2 .axora-mark-large{width:82px;height:82px;filter:drop-shadow(0 20px 38px rgba(39,103,255,.32))}
.login-v2 .axora-word{font-size:clamp(42px,5vw,62px);font-weight:760;letter-spacing:12px}
.login-v2 .axora-platform{margin-top:7px;font-size:12px;letter-spacing:12px;color:#98a8d9}
.login-eyebrow{margin-top:68px;color:#86a6ff;font-size:11px;font-weight:800;letter-spacing:.18em}
.login-headline{margin:17px 0 0;font-size:clamp(42px,5.4vw,72px);line-height:1.04;letter-spacing:-.055em;font-weight:720;color:#fff}
.login-description{max-width:610px;margin:24px 0 0;color:rgba(226,232,240,.72);font-size:16px;line-height:1.75}
.login-principles{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.login-principles span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(148,163,184,.15);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(226,232,240,.74);font-size:11px;font-weight:650;backdrop-filter:blur(8px)}
.login-principles b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(58,113,255,.16);color:#a9c0ff;font-size:11px}
.login-identity-note{margin-top:30px;color:rgba(226,232,240,.42);font-size:12px;font-weight:650;letter-spacing:.03em}
.login-v2 .login-panel{padding:clamp(28px,5vw,76px);background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%)}
.login-card-v2{
  width:min(470px,100%);
  padding:38px;
  border-radius:26px;
  background:rgba(255,255,255,.94);
  color:#111827;
  border:1px solid rgba(15,23,42,.07);
  box-shadow:0 28px 80px rgba(15,23,42,.13),0 2px 8px rgba(15,23,42,.04);
  backdrop-filter:blur(20px);
}
.login-card-header{display:flex;justify-content:space-between;align-items:center;gap:18px}
.login-card-v2 .axora-login-logo{gap:11px}
.login-card-v2 .axora-mark-mini{width:46px;height:46px;border-radius:14px;filter:drop-shadow(0 7px 15px rgba(42,95,229,.22))}
.login-card-v2 .axora-login-logo strong{display:block;color:#0f172a;font-size:21px;line-height:1;letter-spacing:5px}
.login-card-v2 .axora-login-logo span{display:block;margin-top:5px;color:#718096;font-size:8px;line-height:1;letter-spacing:4px}
.login-secure-badge{padding:7px 10px;border-radius:999px;background:#eef4ff;color:#355db7;font-size:10px;font-weight:800;letter-spacing:.03em}
.login-copy{margin-top:38px}
.login-card-v2 h2{margin:0;color:#0f172a;font-size:34px;line-height:1.05;letter-spacing:-.045em}
.login-card-v2 .login-copy p{margin:12px 0 0;color:#667085;font-size:13px;line-height:1.65}
.login-field{margin-top:23px}
.login-card-v2 .login-field label{margin:0 0 8px;color:#344054;font-size:12px;font-weight:750}
.login-input-wrap{position:relative}
.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8592a6;font-size:8px;pointer-events:none}
.login-input-icon.lock{font-size:9px}
.login-card-v2 .login-input-wrap input{
  width:100%;
  height:52px;
  padding:0 16px 0 40px;
  border-radius:13px;
  border:1px solid #dfe4eb;
  background:#f9fafb;
  color:#172033;
  box-shadow:inset 0 1px 2px rgba(16,24,40,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.login-card-v2 .login-input-wrap input::placeholder{color:#9aa4b2}
.login-card-v2 .login-input-wrap input:hover{border-color:#c8d0dc;background:#fff}
.login-card-v2 .login-input-wrap input:focus{border-color:#4d72db;background:#fff;box-shadow:0 0 0 4px rgba(47,102,233,.11)}
.login-submit{height:52px;margin-top:28px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:13px;background:linear-gradient(135deg,#2458d8 0%,#315fda 48%,#6849d4 100%);box-shadow:0 15px 32px rgba(42,93,211,.22);transition:transform .16s ease,box-shadow .16s ease}
.login-submit:hover{transform:translateY(-1px);box-shadow:0 19px 38px rgba(42,93,211,.28)}
.login-submit:active{transform:translateY(0)}
.login-card-v2 .login-error{margin-top:15px;padding:12px 14px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2;color:#b42318;font-size:12px;font-weight:700}
.login-card-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;color:#8893a3;font-size:10.5px;font-weight:650}
.login-status-dot{width:7px;height:7px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.10)}
@media(max-width:900px){
  .login-page.login-v2{grid-template-columns:1fr}
  .login-v2 .login-hero{display:none}
  .login-v2 .login-panel{min-height:100dvh;padding:22px;background:radial-gradient(circle at 50% 0,rgba(47,102,233,.12),transparent 36%),#f4f6fa}
  .login-card-v2{padding:30px 24px;border-radius:22px}
  .login-card-v2 h2{font-size:30px}
}
@media(max-width:420px){
  .login-v2 .login-panel{padding:14px}
  .login-card-v2{padding:26px 20px}
  .login-secure-badge{display:none}
}

/* AXORA v1.2.3 — Actualización visual segura: menú lateral y encabezado */
:root{
  --ax-nav-bg:#0b0f17;
  --ax-nav-surface:#111827;
  --ax-nav-border:rgba(255,255,255,.08);
  --ax-nav-text:#eef2f7;
  --ax-nav-muted:#98a2b3;
  --ax-accent:#1677ff;
  --ax-accent-2:#00c2ff;
  --ax-topbar:#ffffff;
}

.company-shell{
  grid-template-columns:264px minmax(0,1fr)!important;
  background:#f4f7fb!important;
}

.sidebar{
  background:
    radial-gradient(circle at 18% 2%,rgba(22,119,255,.20),transparent 25%),
    linear-gradient(180deg,var(--ax-nav-bg) 0%,#070a10 100%)!important;
  border-right:1px solid var(--ax-nav-border)!important;
  box-shadow:18px 0 48px rgba(15,23,42,.10)!important;
  padding:18px 14px!important;
  gap:12px!important;
}

.company-brand{
  flex-direction:row!important;
  text-align:left!important;
  padding:8px 8px 17px!important;
  gap:11px!important;
  border-bottom:1px solid var(--ax-nav-border)!important;
}
.company-logo,.company-logo-image img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  border-radius:13px!important;
}
.company-title{
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-subtitle{
  color:var(--ax-nav-muted)!important;
  font-size:10px!important;
  line-height:1.35!important;
}
.nav-section-title{
  color:#667085!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  padding:5px 11px 2px!important;
}
.nav-groups{gap:6px!important}
.nav-group{
  border:1px solid transparent!important;
  border-radius:13px!important;
  background:transparent!important;
}
.nav-group.current{
  border-color:rgba(22,119,255,.20)!important;
  background:rgba(22,119,255,.07)!important;
}
.nav-group-toggle{
  min-height:44px!important;
  grid-template-columns:25px minmax(0,1fr) 16px!important;
  padding:10px 11px!important;
  border-radius:11px!important;
  color:#dbe4ef!important;
  font-size:12px!important;
  font-weight:800!important;
}
.nav-group-toggle:hover{
  background:rgba(255,255,255,.055)!important;
  transform:none!important;
}
.nav-group-icon{
  width:25px!important;
  height:25px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.055)!important;
  font-size:13px!important;
}
.nav-group.current .nav-group-icon{
  background:linear-gradient(135deg,var(--ax-accent),var(--ax-accent-2))!important;
  box-shadow:0 7px 18px rgba(22,119,255,.25)!important;
}
.nav-submenu{
  gap:3px!important;
  padding:2px 6px 8px 41px!important;
}
.nav-submenu .nav-item{
  min-height:34px!important;
  padding:8px 9px!important;
  border-radius:9px!important;
  color:#98a2b3!important;
  font-size:11px!important;
  font-weight:750!important;
}
.nav-submenu .nav-item:hover{
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  transform:none!important;
}
.nav-submenu .nav-item.active{
  background:linear-gradient(135deg,rgba(22,119,255,.96),rgba(0,194,255,.86))!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(22,119,255,.22)!important;
}
.sidebar-collapse-button{
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.055)!important;
  color:#d0d5dd!important;
}
.sidebar-collapse-button:hover{
  background:rgba(22,119,255,.18)!important;
  border-color:rgba(22,119,255,.35)!important;
  color:#fff!important;
}

.topbar{
  min-height:76px!important;
  height:76px!important;
  padding:0 24px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)!important;
  border-bottom:1px solid #e8edf4!important;
  box-shadow:0 7px 24px rgba(15,23,42,.045)!important;
}
.topbar h1{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#111827!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.breadcrumb{
  margin-top:4px!important;
  color:#98a2b3!important;
  font-size:11px!important;
  font-weight:650!important;
}
.user-area{gap:8px!important;color:#667085!important}
.user-pill{
  padding:8px 11px!important;
  border:1px solid #e5eaf1!important;
  border-radius:11px!important;
  background:#f8fafc!important;
  color:#344054!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.connectivity-chip{
  padding:7px 9px!important;
  border-radius:999px!important;
  background:#ecfdf3!important;
  color:#027a48!important;
  border:1px solid #abefc6!important;
  font-size:10px!important;
  font-weight:850!important;
}
.connectivity-chip.offline{
  background:#fff1f3!important;
  color:#c01048!important;
  border-color:#fecdd6!important;
}
.logout-btn,.install-button,.notification-button{
  min-height:36px!important;
  border-radius:10px!important;
  border:1px solid #e3e8ef!important;
  background:#fff!important;
  color:#344054!important;
  font-size:11px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.logout-btn:hover,.install-button:hover,.notification-button:hover{
  border-color:#b9c3d1!important;
  background:#f8fafc!important;
}

@media (min-width:901px){
  .company-shell.sidebar-compact{grid-template-columns:82px minmax(0,1fr)!important}
  .sidebar-compact .company-logo,.sidebar-compact .company-logo-image img{width:42px!important;height:42px!important}
  .sidebar-compact .nav-group.current .nav-group-toggle{
    background:linear-gradient(135deg,var(--ax-accent),var(--ax-accent-2))!important;
    box-shadow:0 8px 22px rgba(22,119,255,.24)!important;
  }
}

@media (max-width:900px){
  .company-shell{display:block!important}
  .sidebar{
    width:min(88vw,330px)!important;
    position:fixed!important;
    min-height:100vh!important;
    padding:16px 13px 96px!important;
  }
  .company-brand{padding-top:max(8px,env(safe-area-inset-top))!important}
  .topbar{
    min-height:66px!important;
    height:auto!important;
    padding:10px 12px!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  .topbar h1{font-size:16px!important}
  .breadcrumb{font-size:9px!important}
  .user-area{width:auto!important;margin-left:auto!important}
  .user-pill,.connectivity-chip,.install-button{display:none!important}
  .mobile-menu-button{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
    border:1px solid #e4e7ec!important;
    background:#fff!important;
    color:#1d2939!important;
  }
}


/* =====================================================================
   AXORA v1.2.6 — Picking Inteligente
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Encabezado principal de Picking */
.page-hero.executive-hero,
.page-hero:has(.receipt-summary){
  align-items:center;
}

.page-hero .receipt-summary{
  min-width:220px;
}

/* Selector y tabla de pickings */
.toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:end;
}

.toolbar label{
  flex:1 1 320px;
}

.toolbar select{
  width:100%;
  min-height:43px;
  padding:0 40px 0 13px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:750;
}

.selected-row td{
  background:#fff7f7!important;
}

.selected-row td:first-child{
  box-shadow:inset 3px 0 0 var(--ui-primary);
}

.link-button{
  border:0;
  padding:0;
  background:transparent;
  color:#b42318;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  text-decoration:none;
}

.link-button:hover{
  text-decoration:underline;
}

/* Ruta operativa */
.route-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:15px;
}

.route-strip>div{
  min-width:160px;
  flex:1 1 170px;
  padding:13px 14px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  box-shadow:0 6px 16px rgba(16,24,40,.035);
}

.route-strip>div:hover{
  border-color:#e0bfc1;
  background:#fffafa;
}

.route-strip b{
  display:block;
  margin-bottom:5px;
  color:#172033;
  font-size:12.5px;
}

.route-strip span,
.route-strip small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Progreso */
.progress{
  height:8px;
  min-width:90px;
  overflow:hidden;
  border-radius:999px;
  background:#edf0f4;
}

.progress>span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c9151b,#ef6d72);
  transition:width .25s ease;
}

/* Acciones */
.picking-actions,
.receipt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  margin-top:16px;
}

.picking-actions .company-btn,
.receipt-actions .company-btn{
  min-height:40px;
  padding:0 15px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

.company-btn:disabled{
  opacity:.42;
  cursor:not-allowed;
  box-shadow:none;
  transform:none!important;
}

/* Tabla principal de productos */
.table-wrap{
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
}

.table tbody td b{
  color:#172033;
}

.table tbody tr:hover td{
  background:#fcfcfd;
}

/* Consola de consolidación */
.two-col>.card{
  min-height:100%;
}

.two-col>.card h3{
  margin-bottom:12px;
}

.two-col>.card p{
  color:#667085;
  font-size:12px;
  line-height:1.55;
}

/* Mejoras móviles */
@media(max-width:900px){
  .page-hero .receipt-summary{
    min-width:0;
    width:100%;
  }

  .route-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .route-strip>div{
    min-width:0;
  }
}

@media(max-width:620px){
  .route-strip{
    grid-template-columns:1fr;
  }

  .toolbar label{
    flex-basis:100%;
  }

  .picking-actions,
  .receipt-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .picking-actions .company-btn,
  .receipt-actions .company-btn{
    width:100%;
  }

  .table-wrap{
    border-radius:12px;
  }
}


/* =====================================================================
   AXORA v1.2.7 — Inventario
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Indicadores principales de inventario */
.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.metric-card{
  position:relative;
  min-height:116px;
  overflow:hidden;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.metric-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.metric-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.metric-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.01em;
}

.metric-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:31px;
  line-height:1;
  letter-spacing:-.04em;
}

.metric-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Filtros de inventario */
.page-stack>.card>.toolbar{
  align-items:center;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.page-stack>.card>.toolbar input{
  flex:2 1 360px;
}

.page-stack>.card>.toolbar select{
  flex:1 1 190px;
}

.page-stack>.card>.toolbar .company-btn{
  flex:0 0 auto;
}

/* Tabla de existencias */
.page-stack .table-wrap{
  margin-top:14px;
  max-height:62vh;
  overflow:auto;
}

.page-stack .table thead th{
  backdrop-filter:blur(8px);
  background:rgba(248,250,252,.96);
}

.page-stack .table tbody td:nth-child(1),
.page-stack .table tbody td:nth-child(2),
.page-stack .table tbody td:nth-child(4){
  white-space:nowrap;
}

.page-stack .table tbody td:nth-child(5),
.page-stack .table tbody td:nth-child(6),
.page-stack .table tbody td:nth-child(7),
.page-stack .table tbody td:nth-child(8){
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-weight:750;
  color:#172033;
}

.page-stack .table tbody td:first-child b{
  display:inline-flex;
  min-width:56px;
  justify-content:center;
  padding:5px 8px;
  border-radius:8px;
  background:#f2f4f7;
  color:#344054;
  font-size:10.5px;
  letter-spacing:.02em;
}

.page-stack .table tbody tr:hover td:first-child b{
  background:#fff1f1;
  color:#b42318;
}

/* Estado vacío */
.page-stack .empty-state{
  padding:30px 18px;
  text-align:center;
}

.page-stack .empty-state b{
  display:block;
  margin-bottom:6px;
  color:#172033;
  font-size:13px;
}

.page-stack .empty-state span{
  color:#667085;
  font-size:11px;
}

/* Mejor adaptación */
@media(max-width:1100px){
  .metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .page-stack>.card>.toolbar{
    align-items:stretch;
  }

  .page-stack>.card>.toolbar input,
  .page-stack>.card>.toolbar select,
  .page-stack>.card>.toolbar .company-btn{
    width:100%;
    flex-basis:100%;
  }

  .page-stack .table-wrap{
    max-height:none;
  }
}

@media(max-width:520px){
  .metric-grid{
    grid-template-columns:1fr;
  }

  .metric-card{
    min-height:102px;
  }

  .metric-card>b{
    font-size:28px;
  }
}


/* =====================================================================
   AXORA v1.2.8 — Ubicaciones
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de ocupación */
.location-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.location-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.location-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.location-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.location-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.location-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Mapa visual de bodega */
.warehouse-map{
  display:grid;
  gap:18px;
}

.warehouse-zone{
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.warehouse-zone>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.warehouse-zone>header h3{
  margin:0;
  color:#172033;
  font-size:15px;
}

.warehouse-zone>header span{
  color:#667085;
  font-size:10.5px;
  font-weight:750;
}

.rack-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(82px,1fr));
  gap:8px;
}

.rack-slot{
  min-height:64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:10px;
  border:1px solid #e5e9ef;
  border-radius:11px;
  background:#f9fafb;
  color:#344054;
  text-align:center;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

.rack-slot:hover{
  transform:translateY(-2px);
  border-color:#d7b8ba;
  background:#fffafa;
  box-shadow:0 10px 22px rgba(16,24,40,.06);
}

.rack-slot>b{
  font-size:11px;
  letter-spacing:.02em;
}

.rack-slot>small{
  color:#667085;
  font-size:9.5px;
  line-height:1.3;
}

.rack-slot.available{
  border-color:#b7e4ca;
  background:#f1fbf5;
}

.rack-slot.occupied{
  border-color:#c9d6ff;
  background:#f4f7ff;
}

.rack-slot.warning{
  border-color:#fedf89;
  background:#fffaeb;
}

.rack-slot.blocked{
  border-color:#fecdd6;
  background:#fff1f3;
}

/* Filtros y búsqueda */
.location-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
}

.location-toolbar label{
  flex:1 1 210px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.location-toolbar input,
.location-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.location-toolbar input:focus,
.location-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

/* Panel de detalle */
.location-detail{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
  gap:18px;
  align-items:start;
}

.location-panel{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.location-panel h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.location-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.location-meta>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.location-meta small{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:9.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.location-meta b{
  color:#172033;
  font-size:12px;
}

/* Responsive */
@media(max-width:1100px){
  .location-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .location-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .warehouse-zone{
    padding:14px;
  }

  .rack-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .location-toolbar label{
    flex-basis:100%;
  }

  .location-meta{
    grid-template-columns:1fr;
  }
}

@media(max-width:500px){
  .location-summary-grid{
    grid-template-columns:1fr;
  }

  .rack-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rack-slot{
    min-height:58px;
  }
}


/* =====================================================================
   AXORA v1.2.9 — Traslados
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Encabezado y resumen */
.transfer-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.transfer-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.transfer-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.transfer-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.transfer-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.transfer-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.transfer-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Formulario guiado */
.transfer-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.transfer-form label{
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.transfer-form input,
.transfer-form select,
.transfer-form textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.transfer-form input,
.transfer-form select{
  min-height:42px;
}

.transfer-form textarea{
  min-height:96px;
  padding:12px;
  resize:vertical;
}

.transfer-form input:focus,
.transfer-form select:focus,
.transfer-form textarea:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.transfer-form .full{
  grid-column:1 / -1;
}

/* Flujo origen-destino */
.transfer-route{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:16px;
}

.transfer-point{
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbfc);
}

.transfer-point small{
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.transfer-point b{
  color:#172033;
  font-size:15px;
}

.transfer-point span{
  color:#667085;
  font-size:11px;
  line-height:1.45;
}

.transfer-arrow{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  justify-self:center;
  border-radius:50%;
  background:#111827;
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(16,24,40,.16);
}

/* Lista e historial */
.transfer-list{
  display:grid;
  gap:10px;
}

.transfer-item{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.transfer-item:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.transfer-item b{
  color:#172033;
  font-size:12.5px;
}

.transfer-item span,
.transfer-item small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.transfer-item .status{
  justify-self:end;
}

/* Acciones */
.transfer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  margin-top:16px;
}

.transfer-actions .company-btn{
  min-height:40px;
  padding:0 15px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .transfer-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .transfer-item{
    grid-template-columns:1fr 1fr;
  }

  .transfer-item .status{
    justify-self:start;
  }
}

@media(max-width:760px){
  .transfer-form{
    grid-template-columns:1fr;
  }

  .transfer-form .full{
    grid-column:auto;
  }

  .transfer-route{
    grid-template-columns:1fr;
  }

  .transfer-arrow{
    transform:rotate(90deg);
  }

  .transfer-item{
    grid-template-columns:1fr;
  }

  .transfer-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .transfer-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .transfer-summary-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.10 — Reportes
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen ejecutivo */
.report-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.report-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.report-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.report-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.report-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.report-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.report-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Selector de reportes */
.report-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.report-toolbar label{
  flex:1 1 180px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.report-toolbar input,
.report-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.report-toolbar input:focus,
.report-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.report-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Tarjetas de reportes disponibles */
.report-catalog{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.report-card{
  position:relative;
  min-height:155px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.report-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.report-card .report-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:17px;
}

.report-card h3{
  margin:13px 0 6px;
  color:#172033;
  font-size:14px;
}

.report-card p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.report-card .company-btn{
  align-self:flex-start;
  margin-top:15px;
  min-height:36px;
  padding:0 13px;
  border-radius:9px;
  font-size:10.5px;
  font-weight:850;
}

/* Visualización de resultados */
.report-result{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  gap:18px;
  align-items:start;
}

.report-chart{
  min-height:320px;
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.report-chart h3{
  margin:0 0 14px;
  color:#172033;
  font-size:15px;
}

.report-insights{
  display:grid;
  gap:10px;
}

.report-insight{
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fbfcfd;
}

.report-insight small{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.report-insight b{
  color:#172033;
  font-size:13px;
}

.report-insight p{
  margin:5px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Exportación */
.report-export-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.report-export-actions .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .report-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .report-catalog{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .report-result{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .report-toolbar label,
  .report-toolbar .company-btn{
    flex-basis:100%;
    width:100%;
  }

  .report-catalog{
    grid-template-columns:1fr;
  }

  .report-export-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .report-export-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .report-summary-grid{
    grid-template-columns:1fr;
  }

  .report-chart{
    min-height:240px;
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.11 — Kardex y Trazabilidad
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de movimientos */
.kardex-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.kardex-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.kardex-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.kardex-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.kardex-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.kardex-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.kardex-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Filtros */
.kardex-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.kardex-toolbar label{
  flex:1 1 180px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.kardex-toolbar input,
.kardex-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.kardex-toolbar input:focus,
.kardex-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.kardex-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Línea de tiempo */
.kardex-timeline{
  position:relative;
  display:grid;
  gap:12px;
  padding-left:26px;
}

.kardex-timeline:before{
  content:'';
  position:absolute;
  left:9px;
  top:8px;
  bottom:8px;
  width:2px;
  border-radius:999px;
  background:#e3e7ed;
}

.kardex-event{
  position:relative;
  padding:15px 16px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,24,40,.04);
}

.kardex-event:before{
  content:'';
  position:absolute;
  left:-23px;
  top:20px;
  width:12px;
  height:12px;
  border:3px solid #fff;
  border-radius:50%;
  background:#111827;
  box-shadow:0 0 0 1px #d8dde5;
}

.kardex-event.entry:before{
  background:#027a48;
}

.kardex-event.exit:before{
  background:#b42318;
}

.kardex-event.transfer:before{
  background:#175cd3;
}

.kardex-event.adjustment:before{
  background:#b54708;
}

.kardex-event header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}

.kardex-event header b{
  color:#172033;
  font-size:13px;
}

.kardex-event header time{
  color:#667085;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}

.kardex-event p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.kardex-event footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.kardex-chip{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid #e3e7ed;
  border-radius:999px;
  background:#f8fafc;
  color:#475467;
  font-size:9.5px;
  font-weight:800;
}

/* Tabla de trazabilidad */
.kardex-table .table-wrap{
  max-height:62vh;
  overflow:auto;
}

.kardex-table .table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.kardex-table .table tbody td{
  font-variant-numeric:tabular-nums;
}

.kardex-table .movement-in{
  color:#027a48;
  font-weight:850;
}

.kardex-table .movement-out{
  color:#b42318;
  font-weight:850;
}

.kardex-table .balance{
  color:#172033;
  font-weight:900;
}

/* Panel lateral de detalle */
.kardex-detail{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  gap:18px;
  align-items:start;
}

.kardex-detail-panel{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.kardex-detail-panel h3{
  margin:0 0 13px;
  color:#172033;
  font-size:15px;
}

.kardex-meta{
  display:grid;
  gap:9px;
}

.kardex-meta>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.kardex-meta small{
  display:block;
  margin-bottom:4px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.kardex-meta b{
  color:#172033;
  font-size:12px;
}

/* Responsive */
@media(max-width:1100px){
  .kardex-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .kardex-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .kardex-toolbar label,
  .kardex-toolbar .company-btn{
    flex-basis:100%;
    width:100%;
  }

  .kardex-event header{
    flex-direction:column;
  }

  .kardex-event header time{
    white-space:normal;
  }
}

@media(max-width:520px){
  .kardex-summary-grid{
    grid-template-columns:1fr;
  }

  .kardex-timeline{
    padding-left:22px;
  }
}


/* =====================================================================
   AXORA v1.2.12 — Auditoría
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de auditoría */
.audit-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.audit-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.audit-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.audit-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.audit-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.audit-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.audit-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Filtros */
.audit-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.audit-toolbar label{
  flex:1 1 180px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.audit-toolbar input,
.audit-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.audit-toolbar input:focus,
.audit-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.audit-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Registro de eventos */
.audit-log{
  display:grid;
  gap:10px;
}

.audit-entry{
  display:grid;
  grid-template-columns:44px minmax(0,1.25fr) minmax(160px,.55fr) minmax(150px,.5fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.audit-entry:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.audit-entry-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.audit-entry .action b{
  display:block;
  color:#172033;
  font-size:12.5px;
  line-height:1.4;
}

.audit-entry .action span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.audit-entry .meta small{
  display:block;
  margin-bottom:3px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.audit-entry .meta b{
  color:#344054;
  font-size:10.5px;
}

.audit-entry .status{
  justify-self:end;
}

/* Severidad */
.audit-entry.info .audit-entry-icon{
  background:#175cd3;
}

.audit-entry.success .audit-entry-icon{
  background:#027a48;
}

.audit-entry.warning .audit-entry-icon{
  background:#b54708;
}

.audit-entry.critical .audit-entry-icon{
  background:#b42318;
}

/* Panel de detalle */
.audit-detail{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:18px;
  align-items:start;
}

.audit-detail-panel{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.audit-detail-panel h3{
  margin:0 0 13px;
  color:#172033;
  font-size:15px;
}

.audit-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.audit-field{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.audit-field small{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.audit-field b{
  color:#172033;
  font-size:12px;
  overflow-wrap:anywhere;
}

.audit-json{
  max-height:360px;
  overflow:auto;
  padding:14px;
  border:1px solid #e3e7ed;
  border-radius:12px;
  background:#101828;
  color:#d0d5dd;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:10.5px;
  line-height:1.55;
  white-space:pre-wrap;
}

/* Exportación */
.audit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.audit-actions .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1150px){
  .audit-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .audit-entry{
    grid-template-columns:44px minmax(0,1fr) auto;
  }

  .audit-entry .meta{
    grid-column:2;
  }

  .audit-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .audit-toolbar label,
  .audit-toolbar .company-btn{
    flex-basis:100%;
    width:100%;
  }

  .audit-entry{
    grid-template-columns:40px minmax(0,1fr);
  }

  .audit-entry .status{
    grid-column:2;
    justify-self:start;
  }

  .audit-fields{
    grid-template-columns:1fr;
  }

  .audit-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .audit-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .audit-summary-grid{
    grid-template-columns:1fr;
  }

  .audit-detail-panel{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.13 — Usuarios, Roles y Configuración
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de administración */
.admin-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.admin-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.admin-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.admin-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.admin-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.admin-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.admin-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Navegación interna de configuración */
.settings-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:6px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#f8fafc;
}

.settings-tabs button{
  min-height:38px;
  padding:0 13px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}

.settings-tabs button:hover{
  background:#fff;
  color:#344054;
}

.settings-tabs button.active{
  background:#fff;
  color:#b42318;
  box-shadow:0 3px 10px rgba(16,24,40,.07);
}

/* Formularios de configuración */
.settings-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.settings-form label{
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.settings-form input,
.settings-form select,
.settings-form textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.settings-form input,
.settings-form select{
  min-height:42px;
}

.settings-form textarea{
  min-height:96px;
  padding:12px;
  resize:vertical;
}

.settings-form input:focus,
.settings-form select:focus,
.settings-form textarea:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.settings-form .full{
  grid-column:1 / -1;
}

/* Tabla de usuarios */
.user-list{
  display:grid;
  gap:10px;
}

.user-row{
  display:grid;
  grid-template-columns:48px minmax(0,1.3fr) minmax(150px,.55fr) minmax(150px,.55fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.user-row:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.user-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}

.user-row .identity b{
  display:block;
  color:#172033;
  font-size:12.5px;
}

.user-row .identity span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
}

.user-row .meta small{
  display:block;
  margin-bottom:3px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.user-row .meta b{
  color:#344054;
  font-size:10.5px;
}

.user-row .actions{
  display:flex;
  gap:7px;
  justify-content:flex-end;
}

/* Matriz de permisos */
.permission-matrix{
  overflow:auto;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
}

.permission-matrix table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0;
}

.permission-matrix th{
  position:sticky;
  top:0;
  z-index:1;
  padding:12px 13px;
  border-bottom:1px solid #e7ebf0;
  background:#f8fafc;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.permission-matrix td{
  padding:12px 13px;
  border-bottom:1px solid #eef1f4;
  color:#344054;
  font-size:11px;
  text-align:center;
}

.permission-matrix td:first-child,
.permission-matrix th:first-child{
  text-align:left;
  position:sticky;
  left:0;
  background:#fff;
}

.permission-matrix th:first-child{
  background:#f8fafc;
}

.permission-matrix tr:last-child td{
  border-bottom:0;
}

.permission-toggle{
  width:34px;
  height:20px;
  position:relative;
  display:inline-block;
  border-radius:999px;
  background:#d0d5dd;
  vertical-align:middle;
}

.permission-toggle:after{
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(16,24,40,.18);
  transition:left .15s ease;
}

.permission-toggle.on{
  background:#027a48;
}

.permission-toggle.on:after{
  left:17px;
}

/* Bloques de configuración */
.settings-section{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.settings-section h3{
  margin:0 0 6px;
  color:#172033;
  font-size:15px;
}

.settings-section>p{
  margin:0 0 15px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.settings-actions .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .admin-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .user-row{
    grid-template-columns:48px minmax(0,1fr) auto;
  }

  .user-row .meta{
    grid-column:2;
  }
}

@media(max-width:760px){
  .settings-form{
    grid-template-columns:1fr;
  }

  .settings-form .full{
    grid-column:auto;
  }

  .user-row{
    grid-template-columns:42px minmax(0,1fr);
  }

  .user-row .actions{
    grid-column:2;
    justify-content:flex-start;
  }

  .settings-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .settings-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .admin-summary-grid{
    grid-template-columns:1fr;
  }

  .settings-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .settings-tabs button{
    width:100%;
  }
}


/* =====================================================================
   AXORA v1.2.14 — Devoluciones
   Actualización visual segura y dirigida al módulo real.
   ===================================================================== */

.returns-page{
  gap:18px;
}

.returns-page>.card{
  border-color:#e6eaf0;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(16,24,40,.05);
}

.returns-page>.page-hero{
  padding:26px 28px;
  background:
    radial-gradient(circle at 94% 12%,rgba(201,21,27,.10),transparent 27%),
    linear-gradient(145deg,#fff 0%,#fff 62%,#fff8f8 100%);
}

.returns-page .toolbar{
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.returns-page .toolbar select{
  flex:1 1 420px;
  min-height:42px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:750;
}

.returns-page .toolbar .company-btn{
  min-height:42px;
  padding:0 15px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.returns-page .table{
  margin-top:14px;
}

.returns-page .table thead th{
  background:#f8fafc;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.returns-page .table tbody td{
  padding:13px;
  border-bottom:1px solid #eef1f4;
  color:#344054;
  font-size:11.5px;
  vertical-align:middle;
}

.returns-page .table tbody tr:hover td{
  background:#fcfcfd;
}

.returns-page .card.elevated{
  border-left:4px solid #c9151b;
  background:linear-gradient(180deg,#fff,#fffafa);
}

.returns-page .card.elevated h3{
  margin-bottom:6px;
  color:#172033;
  font-size:16px;
}

.returns-page .breadcrumb{
  color:#667085;
  font-size:11px;
  line-height:1.55;
}

.returns-page .receipt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  margin-top:16px;
}

.returns-page .receipt-actions .company-btn{
  min-height:40px;
  padding:0 15px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

.returns-page .rules-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.returns-page .rules-grid>div{
  position:relative;
  min-height:56px;
  display:flex;
  align-items:center;
  padding:11px 12px 11px 35px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
  color:#475467;
  font-size:10.5px;
  line-height:1.4;
}

.returns-page .rules-grid>div:before{
  content:'✓';
  position:absolute;
  left:12px;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ecfdf3;
  color:#027a48;
  font-size:10px;
  font-weight:900;
}

.returns-page .company-btn.mini{
  min-height:31px;
  padding:0 10px;
  border-radius:8px;
  font-size:9.5px;
  font-weight:850;
}

@media(max-width:900px){
  .returns-page .rules-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .returns-page>.page-hero{
    padding:18px;
  }

  .returns-page .toolbar select,
  .returns-page .toolbar .company-btn{
    width:100%;
    flex-basis:100%;
  }

  .returns-page .receipt-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .returns-page .receipt-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .returns-page .rules-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.15 — Despachos
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Encabezado principal */
.page-stack:has(h2:nth-child(1)) .page-hero.executive-hero{
  align-items:center;
}

.page-hero.executive-hero .receipt-summary{
  min-width:220px;
}

/* Cola de pickings listos */
.dispatch-ready-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.dispatch-ready-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:172px;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.dispatch-ready-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.dispatch-ready-card header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.dispatch-ready-card h3{
  margin:0;
  color:#172033;
  font-size:14px;
}

.dispatch-ready-card p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.dispatch-ready-card footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}

.dispatch-ready-card .company-btn{
  min-height:38px;
  padding:0 13px;
  border-radius:9px;
  font-size:10.5px;
  font-weight:850;
}

/* Estado de tránsito */
.dispatch-transit{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.dispatch-transit-card{
  position:relative;
  min-height:110px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
}

.dispatch-transit-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.dispatch-transit-card span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.dispatch-transit-card b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:29px;
  line-height:1;
  letter-spacing:-.04em;
}

.dispatch-transit-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Tabla de historial */
.page-stack .card:has(h3) .toolbar{
  gap:12px;
  align-items:center;
}

.page-stack .card:has(h3) .toolbar h3{
  margin:0;
  color:#172033;
  font-size:15px;
}

.page-stack .card:has(h3) .toolbar .company-btn{
  margin-left:auto;
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.page-stack .table tbody td{
  vertical-align:middle;
}

.page-stack .table tbody td:first-child b{
  color:#172033;
  font-size:11px;
}

.page-stack .table tbody tr:hover td{
  background:#fcfcfd;
}

/* Indicador de inventario en tránsito */
.two-col>.card .metric{
  margin:10px 0 6px;
  color:#172033;
  font-size:38px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.05em;
}

.two-col>.card>p{
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

/* Confirmación de salida */
.dispatch-confirmation{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:18px;
  align-items:start;
}

.dispatch-confirmation-panel{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.dispatch-confirmation-panel h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.dispatch-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.dispatch-meta>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.dispatch-meta small{
  display:block;
  margin-bottom:4px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.dispatch-meta b{
  color:#172033;
  font-size:12px;
}

/* Responsive */
@media(max-width:1100px){
  .dispatch-ready-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dispatch-transit{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dispatch-confirmation{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .dispatch-ready-grid{
    grid-template-columns:1fr;
  }

  .dispatch-confirmation-panel{
    padding:16px;
  }

  .dispatch-meta{
    grid-template-columns:1fr;
  }

  .page-stack .card:has(h3) .toolbar{
    align-items:stretch;
  }

  .page-stack .card:has(h3) .toolbar .company-btn{
    width:100%;
    margin-left:0;
  }
}

@media(max-width:520px){
  .dispatch-transit{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.16 — Conteo Físico y Ajustes
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen del conteo */
.count-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.count-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.count-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.count-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.count-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.count-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.count-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Barra de control */
.count-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.count-toolbar label{
  flex:1 1 190px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.count-toolbar input,
.count-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.count-toolbar input:focus,
.count-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.count-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Flujo de conteo */
.count-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.count-step{
  min-height:78px;
  padding:13px 14px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:#f9fafb;
}

.count-step.active{
  border-color:#b8c8ff;
  background:#f3f6ff;
}

.count-step.done{
  border-color:#b7e4ca;
  background:#f1fbf5;
}

.count-step small{
  display:block;
  margin-bottom:6px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.count-step b{
  color:#172033;
  font-size:12.5px;
}

.count-step p{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}

/* Tabla de conteo */
.count-table .table-wrap{
  max-height:62vh;
  overflow:auto;
}

.count-table .table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.count-table input[type="number"]{
  width:88px;
  min-height:36px;
  padding:0 10px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#172033;
  font-size:11px;
  font-weight:800;
  text-align:right;
}

.count-table input[type="number"]:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 3px rgba(47,91,234,.10);
}

.count-difference{
  font-variant-numeric:tabular-nums;
  font-weight:900;
}

.count-difference.positive{
  color:#027a48;
}

.count-difference.negative{
  color:#b42318;
}

.count-difference.zero{
  color:#475467;
}

/* Panel de ajuste */
.adjustment-panel{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.adjustment-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.adjustment-card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.adjustment-card p{
  margin:0 0 14px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.adjustment-form{
  display:grid;
  gap:12px;
}

.adjustment-form label{
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.adjustment-form input,
.adjustment-form select,
.adjustment-form textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.adjustment-form input,
.adjustment-form select{
  min-height:42px;
}

.adjustment-form textarea{
  min-height:100px;
  padding:12px;
  resize:vertical;
}

.adjustment-form input:focus,
.adjustment-form select:focus,
.adjustment-form textarea:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

/* Acciones */
.count-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.count-actions .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .count-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .count-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .adjustment-panel{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .count-toolbar label,
  .count-toolbar .company-btn{
    flex-basis:100%;
    width:100%;
  }

  .count-flow{
    grid-template-columns:1fr;
  }

  .count-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .count-actions .company-btn{
    width:100%;
  }

  .count-table input[type="number"]{
    width:76px;
  }
}

@media(max-width:520px){
  .count-summary-grid{
    grid-template-columns:1fr;
  }

  .adjustment-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.17 — Optimización global y accesibilidad
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Rendimiento de renderizado */
.card,
.page-hero,
.table-wrap,
.daily-metric,
.metric-card,
.location-summary-card,
.transfer-summary-card,
.report-summary-card,
.kardex-summary-card,
.audit-summary-card,
.admin-summary-card,
.count-summary-card,
.dispatch-transit-card{
  contain:layout paint;
}

img{
  max-width:100%;
  height:auto;
}

/* Enfoque accesible */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid rgba(47,91,234,.32);
  outline-offset:2px;
}

.company-btn:focus-visible{
  box-shadow:0 0 0 4px rgba(47,91,234,.14);
}

/* Áreas táctiles */
button,
.company-btn,
.sidebar a,
.nav-item{
  min-height:40px;
}

input,
select,
textarea{
  min-height:42px;
}

/* Tablas más legibles */
.table{
  font-variant-numeric:tabular-nums;
}

.table tbody tr:nth-child(even) td{
  background:rgba(248,250,252,.38);
}

.table tbody tr:hover td{
  background:#fffafa;
}

.table td,
.table th{
  overflow-wrap:anywhere;
}

/* Scrollbars discretas */
.table-wrap,
.audit-json,
.permission-matrix,
.kardex-table .table-wrap,
.count-table .table-wrap{
  scrollbar-width:thin;
  scrollbar-color:#c7cdd6 transparent;
}

.table-wrap::-webkit-scrollbar,
.audit-json::-webkit-scrollbar,
.permission-matrix::-webkit-scrollbar{
  width:8px;
  height:8px;
}

.table-wrap::-webkit-scrollbar-thumb,
.audit-json::-webkit-scrollbar-thumb,
.permission-matrix::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#c7cdd6;
}

/* Transiciones consistentes */
.company-btn,
.card,
.sidebar a,
.nav-item,
.table tbody tr,
input,
select,
textarea{
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}

/* Estados deshabilitados */
button:disabled,
input:disabled,
select:disabled,
textarea:disabled{
  opacity:.48;
  cursor:not-allowed;
}

/* Lectura de mensajes */
.inline-message,
.alert,
.notice{
  border-left-width:4px;
}

/* Ajustes de contraste */
small,
.muted,
.secondary-text{
  color:#667085;
}

label{
  color:#475467;
}

/* Impresión de reportes y tablas */
@media print{
  .sidebar,
  .topbar,
  .company-btn,
  button,
  .toolbar,
  .report-export-actions,
  .audit-actions,
  .count-actions,
  .settings-actions{
    display:none!important;
  }

  body,
  .app-shell,
  .main-content{
    background:#fff!important;
  }

  .card,
  .page-hero,
  .table-wrap{
    box-shadow:none!important;
    border-color:#d0d5dd!important;
    break-inside:avoid;
  }

  .table-wrap{
    overflow:visible!important;
    max-height:none!important;
  }

  .table thead th{
    position:static!important;
  }
}

/* Preferencia del usuario: reducir movimiento */
@media(prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Modo de alto contraste del sistema */
@media(forced-colors:active){
  .company-btn,
  .status,
  .card,
  .table-wrap,
  input,
  select,
  textarea{
    border:1px solid CanvasText;
  }
}

/* Ajustes finales para móvil */
@media(max-width:760px){
  body{
    -webkit-text-size-adjust:100%;
  }

  .main-content{
    overflow-x:hidden;
  }

  .table-wrap{
    -webkit-overflow-scrolling:touch;
  }

  .page-hero,
  .card{
    scroll-margin-top:72px;
  }
}


/* =====================================================================
   AXORA v1.2.18 — Experiencia móvil y escaneo
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Barra de acciones móvil */
.mobile-action-bar{
  display:none;
}

.scan-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 16px;
  border:0;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(16,24,40,.16);
}

.scan-action:hover{
  transform:translateY(-1px);
  background:#1f2937;
}

.scan-action .scan-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(255,255,255,.12);
  font-size:13px;
}

/* Campo de escaneo */
.scan-input-wrap{
  position:relative;
}

.scan-input-wrap input{
  width:100%;
  min-height:46px;
  padding-left:42px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#fff;
  color:#172033;
  font-size:13px;
  font-weight:750;
}

.scan-input-wrap:before{
  content:'⌁';
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:#667085;
  font-size:18px;
  pointer-events:none;
}

.scan-input-wrap input:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

/* Tarjetas operativas compactas */
.operation-card{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:78px;
  padding:14px 15px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(16,24,40,.04);
}

.operation-card .operation-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#111827;
  color:#fff;
  font-size:16px;
}

.operation-card .operation-copy{
  min-width:0;
  flex:1;
}

.operation-card .operation-copy b{
  display:block;
  color:#172033;
  font-size:12.5px;
}

.operation-card .operation-copy span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  line-height:1.4;
}

.operation-card .operation-value{
  color:#172033;
  font-size:18px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

/* Modales y paneles táctiles */
.modal,
.dialog,
.drawer{
  border-radius:18px;
}

.modal footer,
.dialog footer,
.drawer footer{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.modal footer .company-btn,
.dialog footer .company-btn,
.drawer footer .company-btn{
  min-height:42px;
}

/* Protección frente al teclado móvil */
@media(max-width:760px){
  .mobile-action-bar{
    position:sticky;
    left:0;
    right:0;
    bottom:0;
    z-index:50;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(208,213,221,.9);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 -10px 26px rgba(16,24,40,.08);
  }

  .mobile-action-bar .company-btn,
  .mobile-action-bar .scan-action{
    width:100%;
    min-height:46px;
    border-radius:12px;
  }

  .main-content{
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }

  .page-stack,
  .daily-home{
    gap:13px;
  }

  .page-hero{
    padding:17px!important;
  }

  .card{
    padding:16px;
  }

  .toolbar{
    gap:10px;
  }

  .toolbar input,
  .toolbar select,
  .toolbar .company-btn{
    min-height:44px;
  }

  .table{
    min-width:680px;
  }

  .table-wrap{
    position:relative;
    margin-left:-4px;
    margin-right:-4px;
  }

  .table-wrap:after{
    content:'Desliza horizontalmente';
    position:sticky;
    left:10px;
    bottom:8px;
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(17,24,39,.86);
    color:#fff;
    font-size:8.5px;
    font-weight:800;
    pointer-events:none;
  }

  .modal,
  .dialog,
  .drawer{
    width:min(100% - 20px,560px);
    max-height:calc(100dvh - 24px);
    overflow:auto;
    border-radius:16px;
  }

  .modal footer,
  .dialog footer,
  .drawer footer{
    position:sticky;
    bottom:0;
    padding-top:10px;
    background:#fff;
  }

  .modal footer .company-btn,
  .dialog footer .company-btn,
  .drawer footer .company-btn{
    flex:1 1 100%;
    width:100%;
  }

  input,
  select,
  textarea{
    font-size:16px;
  }
}

/* Dispositivos muy pequeños */
@media(max-width:390px){
  .mobile-action-bar{
    grid-template-columns:1fr;
  }

  .main-content{
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }

  .operation-card{
    align-items:flex-start;
  }

  .operation-card .operation-value{
    font-size:16px;
  }
}


/* =====================================================================
   AXORA v1.2.19 — Incidencias y Averiados
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de incidencias */
.incident-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.incident-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.incident-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.incident-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.incident-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.incident-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.incident-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Formulario de novedad */
.incident-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.incident-form label{
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.incident-form input,
.incident-form select,
.incident-form textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.incident-form input,
.incident-form select{
  min-height:42px;
}

.incident-form textarea{
  min-height:105px;
  padding:12px;
  resize:vertical;
}

.incident-form input:focus,
.incident-form select:focus,
.incident-form textarea:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.incident-form .full{
  grid-column:1 / -1;
}

/* Lista de incidencias */
.incident-list{
  display:grid;
  gap:10px;
}

.incident-item{
  display:grid;
  grid-template-columns:44px minmax(0,1.35fr) minmax(150px,.55fr) minmax(140px,.5fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.incident-item:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.incident-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.incident-item.low .incident-icon{
  background:#175cd3;
}

.incident-item.medium .incident-icon{
  background:#b54708;
}

.incident-item.high .incident-icon,
.incident-item.critical .incident-icon{
  background:#b42318;
}

.incident-item .title b{
  display:block;
  color:#172033;
  font-size:12.5px;
  line-height:1.4;
}

.incident-item .title span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.incident-item .meta small{
  display:block;
  margin-bottom:3px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.incident-item .meta b{
  color:#344054;
  font-size:10.5px;
}

.incident-item .status{
  justify-self:end;
}

/* Panel de averiados */
.damaged-panel{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.damaged-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.damaged-card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.damaged-card p{
  margin:0 0 14px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.damage-severity{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.damage-option{
  min-height:88px;
  padding:13px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fbfcfd;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}

.damage-option:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  background:#fffafa;
}

.damage-option.active{
  border-color:#fecdd6;
  background:#fff1f3;
}

.damage-option b{
  display:block;
  color:#172033;
  font-size:12px;
}

.damage-option span{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}

/* Evidencias */
.evidence-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.evidence-slot{
  min-height:112px;
  display:grid;
  place-items:center;
  padding:12px;
  border:1px dashed #cfd5dd;
  border-radius:12px;
  background:#fbfcfd;
  color:#667085;
  font-size:10.5px;
  text-align:center;
  cursor:pointer;
}

.evidence-slot:hover{
  border-color:#9eb8ff;
  background:#f5f7ff;
}

/* Acciones */
.incident-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.incident-actions .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .incident-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .incident-item{
    grid-template-columns:44px minmax(0,1fr) auto;
  }

  .incident-item .meta{
    grid-column:2;
  }

  .damaged-panel{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .incident-form{
    grid-template-columns:1fr;
  }

  .incident-form .full{
    grid-column:auto;
  }

  .incident-item{
    grid-template-columns:40px minmax(0,1fr);
  }

  .incident-item .status{
    grid-column:2;
    justify-self:start;
  }

  .damage-severity,
  .evidence-grid{
    grid-template-columns:1fr;
  }

  .incident-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .incident-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .incident-summary-grid{
    grid-template-columns:1fr;
  }

  .damaged-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.20 — Notificaciones y Alertas Operativas
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de alertas */
.notification-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.notification-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.notification-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.notification-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.notification-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.notification-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.notification-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Centro de notificaciones */
.notification-center{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
  gap:18px;
  align-items:start;
}

.notification-list{
  display:grid;
  gap:10px;
}

.notification-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.notification-item:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.notification-item.unread{
  border-left:4px solid #c9151b;
  background:#fffafa;
}

.notification-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.notification-item.info .notification-icon{
  background:#175cd3;
}

.notification-item.success .notification-icon{
  background:#027a48;
}

.notification-item.warning .notification-icon{
  background:#b54708;
}

.notification-item.critical .notification-icon{
  background:#b42318;
}

.notification-copy b{
  display:block;
  color:#172033;
  font-size:12.5px;
  line-height:1.4;
}

.notification-copy p{
  margin:5px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.notification-copy footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
}

.notification-copy footer small{
  color:#98a2b3;
  font-size:9.5px;
  font-weight:750;
}

.notification-actions{
  display:flex;
  gap:7px;
}

.notification-actions button{
  min-width:34px;
  min-height:34px;
  display:grid;
  place-items:center;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#475467;
  cursor:pointer;
}

.notification-actions button:hover{
  border-color:#d5b4b6;
  background:#fff5f5;
  color:#b42318;
}

/* Preferencias */
.notification-preferences{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.notification-preferences h3{
  margin:0 0 6px;
  color:#172033;
  font-size:15px;
}

.notification-preferences>p{
  margin:0 0 14px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.preference-list{
  display:grid;
  gap:9px;
}

.preference-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.preference-row b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.preference-row span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

/* Banner de alerta */
.operation-alert{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
  border:1px solid #fedf89;
  border-left:4px solid #b54708;
  border-radius:12px;
  background:#fffaeb;
}

.operation-alert.critical{
  border-color:#fecdd6;
  border-left-color:#b42318;
  background:#fff1f3;
}

.operation-alert.success{
  border-color:#abefc6;
  border-left-color:#027a48;
  background:#ecfdf3;
}

.operation-alert b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.operation-alert p{
  margin:4px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Responsive */
@media(max-width:1100px){
  .notification-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .notification-center{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .notification-item{
    grid-template-columns:40px minmax(0,1fr);
  }

  .notification-actions{
    grid-column:2;
  }

  .notification-preferences{
    padding:16px;
  }

  .preference-row{
    align-items:flex-start;
  }
}

@media(max-width:520px){
  .notification-summary-grid{
    grid-template-columns:1fr;
  }

  .preference-row{
    flex-direction:column;
  }
}


/* =====================================================================
   AXORA v1.2.21 — Respaldo y Estado del Sistema
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen técnico */
.system-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.system-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.system-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.system-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.system-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.system-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:27px;
  line-height:1;
  letter-spacing:-.04em;
}

.system-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Estado de servicios */
.service-status-list{
  display:grid;
  gap:10px;
}

.service-status-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) minmax(130px,.35fr) auto;
  gap:13px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.service-status-item:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.service-status-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.service-status-item.online .service-status-icon{
  background:#027a48;
}

.service-status-item.warning .service-status-icon{
  background:#b54708;
}

.service-status-item.offline .service-status-icon{
  background:#b42318;
}

.service-status-copy b{
  display:block;
  color:#172033;
  font-size:12.5px;
}

.service-status-copy span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.service-status-meta small{
  display:block;
  margin-bottom:3px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.service-status-meta b{
  color:#344054;
  font-size:10.5px;
}

/* Panel de respaldos */
.backup-panel{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:18px;
  align-items:start;
}

.backup-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.backup-card h3{
  margin:0 0 6px;
  color:#172033;
  font-size:15px;
}

.backup-card>p{
  margin:0 0 14px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.backup-history{
  display:grid;
  gap:9px;
}

.backup-history-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(120px,.35fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.backup-history-item b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.backup-history-item span,
.backup-history-item small{
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.backup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.backup-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Capacidad y almacenamiento */
.storage-meter{
  display:grid;
  gap:10px;
}

.storage-row{
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.storage-row header{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.storage-row header b{
  color:#172033;
  font-size:11.5px;
}

.storage-row header span{
  color:#667085;
  font-size:10px;
  font-weight:750;
}

.storage-bar{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e9edf2;
}

.storage-bar>span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.storage-bar.safe>span{
  background:linear-gradient(90deg,#027a48,#47b881);
}

.storage-bar.warning>span{
  background:linear-gradient(90deg,#b54708,#f4b740);
}

/* Responsive */
@media(max-width:1100px){
  .system-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .backup-panel{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .service-status-item{
    grid-template-columns:40px minmax(0,1fr);
  }

  .service-status-meta,
  .service-status-item .status{
    grid-column:2;
  }

  .service-status-item .status{
    justify-self:start;
  }

  .backup-history-item{
    grid-template-columns:1fr;
  }

  .backup-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .backup-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .system-summary-grid{
    grid-template-columns:1fr;
  }

  .backup-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.22 — Consolidación visual final
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Variables finales de consistencia */
:root{
  --axora-radius-sm:9px;
  --axora-radius-md:13px;
  --axora-radius-lg:18px;
  --axora-border:#e6eaf0;
  --axora-text:#172033;
  --axora-muted:#667085;
  --axora-surface:#ffffff;
  --axora-surface-soft:#f8fafc;
  --axora-shadow-sm:0 8px 22px rgba(16,24,40,.04);
  --axora-shadow-md:0 14px 34px rgba(16,24,40,.07);
}

/* Consistencia de superficies */
.card,
.page-hero,
.settings-section,
.location-panel,
.transfer-point,
.report-chart,
.kardex-detail-panel,
.audit-detail-panel,
.backup-card,
.damaged-card,
.adjustment-card,
.notification-preferences{
  border-color:var(--axora-border);
  background:var(--axora-surface);
}

/* Títulos y textos */
h1,h2,h3,h4{
  color:var(--axora-text);
}

p,
small,
.muted,
.secondary-text{
  color:var(--axora-muted);
}

/* Botones */
.company-btn{
  min-height:40px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.005em;
}

.company-btn.primary,
.company-btn.dark{
  background:#111827;
  border-color:#111827;
  color:#fff;
}

.company-btn.primary:hover,
.company-btn.dark:hover{
  background:#1f2937;
  border-color:#1f2937;
}

.company-btn.light,
.company-btn.secondary{
  background:#fff;
  border:1px solid #dfe5ec;
  color:#344054;
}

.company-btn.light:hover,
.company-btn.secondary:hover{
  border-color:#d5b4b6;
  background:#fffafa;
  color:#b42318;
}

/* Campos */
input,
select,
textarea{
  border-color:#dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
}

input::placeholder,
textarea::placeholder{
  color:#98a2b3;
}

input:hover,
select:hover,
textarea:hover{
  border-color:#cfd6df;
}

/* Etiquetas y estados */
.status,
.badge,
.tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
  line-height:1;
}

.status.success,
.badge.success,
.tag.success{
  background:#ecfdf3;
  color:#027a48;
  border:1px solid #abefc6;
}

.status.warning,
.badge.warning,
.tag.warning{
  background:#fffaeb;
  color:#b54708;
  border:1px solid #fedf89;
}

.status.error,
.status.critical,
.badge.error,
.tag.error{
  background:#fff1f3;
  color:#b42318;
  border:1px solid #fecdd6;
}

.status.info,
.badge.info,
.tag.info{
  background:#eff4ff;
  color:#175cd3;
  border:1px solid #c7d7fe;
}

/* Tablas */
.table-wrap{
  border-color:var(--axora-border);
  border-radius:14px;
  box-shadow:var(--axora-shadow-sm);
}

.table thead th{
  color:#667085;
  background:#f8fafc;
}

.table tbody td{
  color:#344054;
}

.table tbody tr:last-child td{
  border-bottom:0;
}

/* Espaciado vertical consistente */
.page-stack,
.daily-home{
  gap:16px;
}

.card{
  padding:20px;
}

.section-heading{
  margin-bottom:14px;
}

/* Estado vacío unificado */
.empty-state{
  display:grid;
  place-items:center;
  min-height:180px;
  padding:28px 18px;
  text-align:center;
  border:1px dashed #cfd5dd;
  border-radius:14px;
  background:#fbfcfd;
}

.empty-state b{
  display:block;
  margin-bottom:6px;
  color:#172033;
  font-size:13px;
}

.empty-state span{
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

/* Carga visual */
.skeleton{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:#eef1f4;
}

.skeleton:after{
  content:'';
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
  animation:axora-skeleton 1.35s infinite;
}

@keyframes axora-skeleton{
  to{transform:translateX(100%);}
}

/* Mensajes */
.toast,
.notification-toast{
  max-width:360px;
  padding:13px 14px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fff;
  color:#344054;
  box-shadow:0 16px 34px rgba(16,24,40,.12);
  font-size:11px;
  line-height:1.45;
}

/* Ajustes móviles finales */
@media(max-width:760px){
  .card{
    padding:16px;
    border-radius:15px;
  }

  .page-stack,
  .daily-home{
    gap:13px;
  }

  .section-heading{
    align-items:flex-start;
  }

  .section-heading .company-btn{
    width:100%;
  }

  .toast,
  .notification-toast{
    left:10px;
    right:10px;
    max-width:none;
  }
}

/* Impresión final */
@media print{
  .card,
  .page-hero,
  .table-wrap{
    border:1px solid #d0d5dd!important;
    box-shadow:none!important;
  }

  .status,
  .badge,
  .tag{
    color:#000!important;
    background:#fff!important;
    border:1px solid #777!important;
  }
}


/* =====================================================================
   AXORA v1.2.23 — Estabilización responsive y compatibilidad
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Evita desbordamientos horizontales globales */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

.app-shell,
.main-content,
.page-stack,
.daily-home{
  min-width:0;
}

/* Contenedores flex y grid seguros */
.toolbar>*,
.section-heading>*,
.daily-columns>*,
.two-col>*,
.location-detail>*,
.report-result>*,
.kardex-detail>*,
.audit-detail>*,
.backup-panel>*,
.damaged-panel>*,
.adjustment-panel>*,
.notification-center>*{
  min-width:0;
}

/* Textos largos */
h1,h2,h3,h4,
p,span,small,b,strong,
td,th,label{
  overflow-wrap:anywhere;
}

code,
pre{
  max-width:100%;
  overflow:auto;
}

/* Formularios robustos */
input,
select,
textarea,
button{
  max-width:100%;
}

textarea{
  resize:vertical;
}

select{
  text-overflow:ellipsis;
}

/* Tablas en escritorio y móvil */
.table-wrap{
  width:100%;
  overflow:auto;
  overscroll-behavior-inline:contain;
}

.table{
  width:100%;
}

.table th,
.table td{
  max-width:320px;
}

/* Encabezados pegajosos seguros */
.table thead th{
  z-index:2;
}

/* Tarjetas y paneles */
.card,
.page-hero,
.settings-section,
.location-panel,
.transfer-point,
.report-chart,
.kardex-detail-panel,
.audit-detail-panel,
.backup-card,
.damaged-card,
.adjustment-card,
.notification-preferences{
  max-width:100%;
}

/* Botones con texto largo */
.company-btn,
.settings-tabs button,
.notification-actions button{
  white-space:normal;
  text-align:center;
  line-height:1.25;
}

/* Modales */
.modal,
.dialog,
.drawer{
  max-width:calc(100vw - 24px);
}

/* Safe areas para iPhone/Android */
@supports(padding:max(0px)){
  .main-content{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
  }

  .mobile-action-bar{
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
  }
}

/* Pantallas medianas */
@media(max-width:1024px){
  .main-content{
    width:100%;
  }

  .page-hero{
    gap:18px;
  }

  .table th,
  .table td{
    max-width:260px;
  }
}

/* Tablets y móviles */
@media(max-width:760px){
  .main-content{
    width:100%;
    padding-left:12px;
    padding-right:12px;
  }

  .page-hero,
  .card{
    width:100%;
  }

  .section-heading,
  .toolbar{
    width:100%;
  }

  .section-heading{
    flex-direction:column;
    align-items:stretch;
  }

  .section-heading>*{
    width:100%;
  }

  .toolbar>*{
    flex:1 1 100%;
    width:100%;
  }

  .table{
    min-width:720px;
  }

  .table th,
  .table td{
    max-width:220px;
  }

  .status,
  .badge,
  .tag{
    white-space:nowrap;
  }
}

/* Teléfonos pequeños */
@media(max-width:420px){
  .main-content{
    padding-left:10px;
    padding-right:10px;
  }

  .card,
  .page-hero{
    padding:14px;
    border-radius:14px;
  }

  .table{
    min-width:680px;
  }

  .company-btn{
    width:100%;
  }

  .settings-tabs{
    grid-template-columns:1fr;
  }
}

/* Compatibilidad con navegadores que no soportan :has() */
@supports not selector(:has(*)){
  .page-stack .card,
  .page-stack .page-hero{
    border-color:var(--axora-border,#e6eaf0);
  }

  .toolbar .company-btn{
    min-height:40px;
  }
}

/* Evita saltos bruscos al cargar contenido */
img,
svg,
canvas,
video{
  display:block;
  max-width:100%;
}

/* Mejor selección de texto */
::selection{
  background:rgba(201,21,27,.16);
  color:#172033;
}


/* =====================================================================
   AXORA v1.2.24 — Confirmaciones y Reingresos
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen operativo */
.confirmation-summary-grid,
.reentry-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.confirmation-summary-card,
.reentry-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.confirmation-summary-card:before,
.reentry-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.confirmation-summary-card:hover,
.reentry-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.confirmation-summary-card>span,
.reentry-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.confirmation-summary-card>b,
.reentry-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.confirmation-summary-card>small,
.reentry-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Flujo de confirmación */
.confirmation-flow,
.reentry-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.confirmation-step,
.reentry-step{
  min-height:82px;
  padding:13px 14px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:#f9fafb;
}

.confirmation-step.active,
.reentry-step.active{
  border-color:#b8c8ff;
  background:#f3f6ff;
}

.confirmation-step.done,
.reentry-step.done{
  border-color:#b7e4ca;
  background:#f1fbf5;
}

.confirmation-step.warning,
.reentry-step.warning{
  border-color:#fedf89;
  background:#fffaeb;
}

.confirmation-step small,
.reentry-step small{
  display:block;
  margin-bottom:6px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.confirmation-step b,
.reentry-step b{
  color:#172033;
  font-size:12.5px;
}

.confirmation-step p,
.reentry-step p{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}

/* Tarjetas de entrega */
.delivery-card,
.reentry-card{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(150px,.5fr) minmax(150px,.5fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.delivery-card:hover,
.reentry-card:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.delivery-card b,
.reentry-card b{
  color:#172033;
  font-size:12.5px;
}

.delivery-card span,
.delivery-card small,
.reentry-card span,
.reentry-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.delivery-card .status,
.reentry-card .status{
  justify-self:end;
}

/* Panel de decisión */
.delivery-decision-panel,
.reentry-decision-panel{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.delivery-decision-card,
.reentry-decision-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.delivery-decision-card h3,
.reentry-decision-card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.delivery-decision-card p,
.reentry-decision-card p{
  margin:0 0 14px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.delivery-options,
.reentry-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.delivery-option,
.reentry-option{
  min-height:94px;
  padding:13px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fbfcfd;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}

.delivery-option:hover,
.reentry-option:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  background:#fffafa;
}

.delivery-option.active,
.reentry-option.active{
  border-color:#c7d7fe;
  background:#eff4ff;
}

.delivery-option b,
.reentry-option b{
  display:block;
  color:#172033;
  font-size:12px;
}

.delivery-option span,
.reentry-option span{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}

/* Acciones */
.confirmation-actions,
.reentry-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.confirmation-actions .company-btn,
.reentry-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .confirmation-summary-grid,
  .reentry-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .confirmation-flow,
  .reentry-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .delivery-card,
  .reentry-card{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .delivery-card .status,
  .reentry-card .status{
    justify-self:start;
  }

  .delivery-decision-panel,
  .reentry-decision-panel{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .confirmation-flow,
  .reentry-flow,
  .delivery-options,
  .reentry-options{
    grid-template-columns:1fr;
  }

  .delivery-card,
  .reentry-card{
    grid-template-columns:1fr;
  }

  .confirmation-actions,
  .reentry-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .confirmation-actions .company-btn,
  .reentry-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .confirmation-summary-grid,
  .reentry-summary-grid{
    grid-template-columns:1fr;
  }

  .delivery-decision-card,
  .reentry-decision-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.25 — Importación de Pedidos
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen del proceso */
.import-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.import-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.import-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.import-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.import-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.import-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.import-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Zona de carga */
.import-dropzone{
  min-height:220px;
  display:grid;
  place-items:center;
  padding:28px;
  border:2px dashed #cfd5dd;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
  text-align:center;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.import-dropzone:hover,
.import-dropzone.dragover{
  transform:translateY(-1px);
  border-color:#9eb8ff;
  background:#f5f7ff;
}

.import-dropzone .upload-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 13px;
  border-radius:15px;
  background:#111827;
  color:#fff;
  font-size:22px;
  box-shadow:0 10px 24px rgba(16,24,40,.14);
}

.import-dropzone b{
  display:block;
  color:#172033;
  font-size:14px;
}

.import-dropzone p{
  max-width:520px;
  margin:7px auto 0;
  color:#667085;
  font-size:11px;
  line-height:1.55;
}

.import-dropzone small{
  display:block;
  margin-top:10px;
  color:#98a2b3;
  font-size:9.5px;
}

/* Flujo de validación */
.import-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.import-step{
  min-height:82px;
  padding:13px 14px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:#f9fafb;
}

.import-step.active{
  border-color:#b8c8ff;
  background:#f3f6ff;
}

.import-step.done{
  border-color:#b7e4ca;
  background:#f1fbf5;
}

.import-step.error{
  border-color:#fecdd6;
  background:#fff1f3;
}

.import-step small{
  display:block;
  margin-bottom:6px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.import-step b{
  color:#172033;
  font-size:12.5px;
}

.import-step p{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}

/* Validación de columnas */
.column-map{
  display:grid;
  gap:10px;
}

.column-map-row{
  display:grid;
  grid-template-columns:minmax(160px,.7fr) 40px minmax(220px,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:12px;
  background:#fbfcfd;
}

.column-map-row>span{
  color:#344054;
  font-size:11px;
  font-weight:800;
}

.column-map-row>.arrow{
  color:#98a2b3;
  text-align:center;
  font-weight:900;
}

.column-map-row select{
  width:100%;
  min-height:40px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font-size:11px;
  font-weight:700;
}

/* Resultado de validación */
.validation-list{
  display:grid;
  gap:9px;
}

.validation-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fff;
}

.validation-item .validation-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eef2f6;
  color:#475467;
  font-size:12px;
  font-weight:900;
}

.validation-item.success .validation-icon{
  background:#ecfdf3;
  color:#027a48;
}

.validation-item.warning .validation-icon{
  background:#fffaeb;
  color:#b54708;
}

.validation-item.error .validation-icon{
  background:#fff1f3;
  color:#b42318;
}

.validation-item b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.validation-item span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

/* Vista previa */
.import-preview .table-wrap{
  max-height:55vh;
  overflow:auto;
}

.import-preview .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.import-preview .row-error td{
  background:#fff5f6!important;
}

.import-preview .row-warning td{
  background:#fffbf0!important;
}

/* Acciones */
.import-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.import-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .import-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .import-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .import-flow{
    grid-template-columns:1fr;
  }

  .column-map-row{
    grid-template-columns:1fr;
  }

  .column-map-row>.arrow{
    transform:rotate(90deg);
  }

  .import-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .import-actions .company-btn{
    width:100%;
  }

  .import-dropzone{
    min-height:190px;
    padding:20px;
  }
}

@media(max-width:520px){
  .import-summary-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.26 — Maestros de Materiales y Clientes
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Resumen de maestros */
.master-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.master-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.master-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.master-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.master-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.master-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.master-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Navegación interna */
.master-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:6px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#f8fafc;
}

.master-tabs button{
  min-height:38px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
  cursor:pointer;
}

.master-tabs button:hover{
  background:#fff;
  color:#344054;
}

.master-tabs button.active{
  background:#fff;
  color:#b42318;
  box-shadow:0 3px 10px rgba(16,24,40,.07);
}

/* Barra de búsqueda */
.master-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.master-toolbar label{
  flex:1 1 190px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.master-toolbar input,
.master-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.master-toolbar input:focus,
.master-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.master-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

/* Fichas de materiales/clientes */
.master-list{
  display:grid;
  gap:10px;
}

.master-row{
  display:grid;
  grid-template-columns:48px minmax(0,1.3fr) minmax(150px,.55fr) minmax(150px,.55fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.master-row:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  box-shadow:0 10px 24px rgba(16,24,40,.055);
}

.master-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.master-row .identity b{
  display:block;
  color:#172033;
  font-size:12.5px;
}

.master-row .identity span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.master-row .meta small{
  display:block;
  margin-bottom:3px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.master-row .meta b{
  color:#344054;
  font-size:10.5px;
}

.master-row .actions{
  display:flex;
  gap:7px;
  justify-content:flex-end;
}

/* Formulario de edición */
.master-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.master-form label{
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.master-form input,
.master-form select,
.master-form textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.master-form input,
.master-form select{
  min-height:42px;
}

.master-form textarea{
  min-height:96px;
  padding:12px;
  resize:vertical;
}

.master-form input:focus,
.master-form select:focus,
.master-form textarea:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.master-form .full{
  grid-column:1 / -1;
}

/* Panel de detalle */
.master-detail{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.master-detail-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.master-detail-card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.master-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.master-detail-grid>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.master-detail-grid small{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.master-detail-grid b{
  color:#172033;
  font-size:12px;
}

/* Acciones */
.master-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.master-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .master-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .master-row{
    grid-template-columns:48px minmax(0,1fr) auto;
  }

  .master-row .meta{
    grid-column:2;
  }

  .master-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .master-form{
    grid-template-columns:1fr;
  }

  .master-form .full{
    grid-column:auto;
  }

  .master-row{
    grid-template-columns:42px minmax(0,1fr);
  }

  .master-row .actions{
    grid-column:2;
    justify-content:flex-start;
  }

  .master-detail-grid{
    grid-template-columns:1fr;
  }

  .master-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .master-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .master-summary-grid{
    grid-template-columns:1fr;
  }

  .master-tabs{
    display:grid;
    grid-template-columns:1fr;
  }

  .master-tabs button{
    width:100%;
  }

  .master-detail-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.27 — Identidad, Filosofía y Ayuda
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Portada institucional */
.axora-identity-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:26px;
  align-items:center;
  min-height:280px;
  padding:30px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(201,21,27,.14),transparent 28%),
    linear-gradient(145deg,#111827 0%,#1f2937 58%,#2b1113 100%);
  box-shadow:0 18px 44px rgba(16,24,40,.14);
}

.axora-identity-hero:after{
  content:'AXORA';
  position:absolute;
  right:-18px;
  bottom:-34px;
  color:rgba(255,255,255,.04);
  font-size:110px;
  font-weight:950;
  letter-spacing:-.08em;
  pointer-events:none;
}

.axora-identity-copy{
  position:relative;
  z-index:1;
}

.axora-identity-copy .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f2f4f7;
  font-size:9.5px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.axora-identity-copy h2{
  margin:16px 0 10px;
  color:#fff;
  font-size:clamp(30px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.045em;
}

.axora-identity-copy p{
  max-width:760px;
  margin:0;
  color:#d0d5dd;
  font-size:13px;
  line-height:1.7;
}

.axora-identity-copy strong{
  color:#fff;
}

.axora-identity-mark{
  position:relative;
  z-index:1;
  min-height:190px;
  display:grid;
  place-items:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
}

.axora-identity-mark b{
  color:#fff;
  font-size:42px;
  line-height:1;
  letter-spacing:.12em;
}

.axora-identity-mark span{
  display:block;
  margin-top:12px;
  color:#fda4a8;
  font-size:11px;
  font-weight:850;
  text-align:center;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Filosofía AXORA */
.axora-values-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.axora-value-card{
  min-height:168px;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.axora-value-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.axora-value-letter{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-size:20px;
  font-weight:950;
}

.axora-value-card:nth-child(2) .axora-value-letter,
.axora-value-card:nth-child(5) .axora-value-letter{
  background:#c9151b;
}

.axora-value-card h3{
  margin:0 0 7px;
  color:#172033;
  font-size:13.5px;
}

.axora-value-card p{
  margin:0;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

/* Declaración principal */
.axora-manifesto{
  padding:24px;
  border:1px solid #eadfe0;
  border-left:4px solid #c9151b;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#fff8f8);
  box-shadow:0 10px 28px rgba(16,24,40,.05);
}

.axora-manifesto blockquote{
  margin:0;
  color:#172033;
  font-size:clamp(20px,2vw,28px);
  font-weight:850;
  line-height:1.35;
  letter-spacing:-.025em;
}

.axora-manifesto p{
  margin:12px 0 0;
  color:#667085;
  font-size:11px;
  line-height:1.55;
}

/* Ayuda y documentación */
.help-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.help-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.help-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.help-card .help-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:16px;
}

.help-card h3{
  margin:13px 0 6px;
  color:#172033;
  font-size:13.5px;
}

.help-card p{
  margin:0;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.help-card .company-btn{
  align-self:flex-start;
  margin-top:auto;
  padding-top:10px;
}

/* Preguntas frecuentes */
.faq-list{
  display:grid;
  gap:9px;
}

.faq-item{
  padding:14px 15px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
}

.faq-item summary{
  cursor:pointer;
  color:#172033;
  font-size:11.5px;
  font-weight:850;
  line-height:1.4;
}

.faq-item p{
  margin:10px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.55;
}

/* Información de versión */
.version-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fbfcfd;
}

.version-panel b{
  display:block;
  color:#172033;
  font-size:13px;
}

.version-panel span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
}

.version-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:10px;
  font-weight:850;
}

/* Responsive */
@media(max-width:1100px){
  .axora-values-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .help-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .axora-identity-hero{
    grid-template-columns:1fr;
    padding:22px;
  }

  .axora-identity-mark{
    min-height:150px;
  }

  .axora-values-grid,
  .help-grid{
    grid-template-columns:1fr;
  }

  .version-panel{
    grid-template-columns:1fr;
  }

  .version-badge{
    justify-self:start;
  }
}

@media(max-width:480px){
  .axora-identity-hero{
    padding:18px;
    border-radius:16px;
  }

  .axora-identity-copy h2{
    font-size:28px;
  }

  .axora-manifesto{
    padding:18px;
  }
}


/* =====================================================================
   AXORA v1.2.28 — Perfil, Sesión y Preferencias
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.profile-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:18px;
  align-items:start;
}

.profile-card,
.preferences-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.profile-identity{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid #edf0f3;
}

.profile-avatar{
  width:58px;
  height:58px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#111827,#2b1113);
  color:#fff;
  font-size:19px;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(16,24,40,.14);
}

.profile-identity h3{
  margin:0;
  color:#172033;
  font-size:15px;
}

.profile-identity p{
  margin:5px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.profile-meta{
  display:grid;
  gap:9px;
  margin-top:16px;
}

.profile-meta>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.profile-meta small{
  display:block;
  margin-bottom:4px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.profile-meta b{
  color:#172033;
  font-size:11.5px;
}

.session-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding:12px 13px;
  border:1px solid #abefc6;
  border-radius:12px;
  background:#ecfdf3;
}

.session-status .session-copy b{
  display:block;
  color:#027a48;
  font-size:11.5px;
}

.session-status .session-copy span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
}

.session-dot{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:50%;
  background:#12b76a;
  box-shadow:0 0 0 5px rgba(18,183,106,.12);
}

.preferences-card h3{
  margin:0 0 6px;
  color:#172033;
  font-size:15px;
}

.preferences-card>p{
  margin:0 0 16px;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.preference-section{
  display:grid;
  gap:10px;
  padding:15px 0;
  border-top:1px solid #edf0f3;
}

.preference-section:first-of-type{
  border-top:0;
  padding-top:0;
}

.preference-section-title{
  color:#344054;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
}

.preference-control{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.preference-control b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.preference-control span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.preference-select{
  min-width:150px;
  min-height:38px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#172033;
  font-size:10.5px;
  font-weight:750;
}

.session-history{
  display:grid;
  gap:9px;
}

.session-history-item{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fff;
}

.session-history-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:13px;
}

.session-history-item b{
  display:block;
  color:#172033;
  font-size:11px;
}

.session-history-item span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
}

.profile-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.profile-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

@media(max-width:980px){
  .profile-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .profile-card,
  .preferences-card{
    padding:16px;
  }

  .profile-identity{
    align-items:flex-start;
  }

  .preference-control{
    flex-direction:column;
    align-items:stretch;
  }

  .preference-select{
    width:100%;
  }

  .session-history-item{
    grid-template-columns:34px minmax(0,1fr);
  }

  .session-history-item>.status{
    grid-column:2;
    justify-self:start;
  }

  .profile-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .profile-actions .company-btn{
    width:100%;
  }
}

/* =====================================================================
   AXORA v1.2.29 — Gestión de Lotes
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.lot-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.lot-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.lot-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.lot-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.lot-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.lot-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.lot-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.lot-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.lot-toolbar label{
  flex:1 1 190px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.lot-toolbar input,
.lot-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.lot-toolbar input:focus,
.lot-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.lot-toolbar .company-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:11px;
  font-weight:850;
}

.lot-table .table-wrap{
  max-height:62vh;
  overflow:auto;
}

.lot-table .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.lot-table .table tbody td:first-child b{
  display:inline-flex;
  min-width:84px;
  justify-content:center;
  padding:5px 8px;
  border-radius:8px;
  background:#f2f4f7;
  color:#344054;
  font-size:10.5px;
  letter-spacing:.02em;
}

.lot-table .table tbody td:nth-child(4),
.lot-table .table tbody td:nth-child(5),
.lot-table .table tbody td:nth-child(6){
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-weight:800;
}

.lot-table .table tbody tr:hover td:first-child b{
  background:#fff1f1;
  color:#b42318;
}

.lot-detail{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:18px;
  align-items:start;
}

.lot-detail-card{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.lot-detail-card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.lot-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.lot-detail-grid>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.lot-detail-grid small{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.lot-detail-grid b{
  color:#172033;
  font-size:12px;
  overflow-wrap:anywhere;
}

.lot-distribution{
  display:grid;
  gap:9px;
}

.lot-location-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px 90px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.lot-location-row b{
  color:#172033;
  font-size:11.5px;
}

.lot-location-row span{
  color:#667085;
  font-size:10px;
}

.lot-location-row strong{
  text-align:right;
  color:#172033;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.lot-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.lot-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

@media(max-width:1100px){
  .lot-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lot-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .lot-toolbar label,
  .lot-toolbar .company-btn{
    flex-basis:100%;
    width:100%;
  }

  .lot-detail-grid{
    grid-template-columns:1fr;
  }

  .lot-location-row{
    grid-template-columns:1fr;
  }

  .lot-location-row strong{
    text-align:left;
  }

  .lot-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .lot-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .lot-summary-grid{
    grid-template-columns:1fr;
  }

  .lot-detail-card{
    padding:16px;
  }
}


/* =====================================================================
   AXORA v1.2.30 — Documentos y Evidencias
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

.page-grid{
  display:grid;
  gap:16px;
  min-width:0;
}

.page-grid .task-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.page-grid .task-top h3{
  margin:0 0 5px;
  color:#172033;
  font-size:15px;
}

.page-grid .task-top .breadcrumb{
  margin:0;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.page-grid .task-top .actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.page-grid .select-control{
  min-width:210px;
  min-height:40px;
  padding:0 38px 0 12px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font-size:11px;
  font-weight:750;
}

.page-grid .select-control:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

/* Repositorio documental */
.page-grid .card:has(.select-control) .table{
  min-width:980px;
}

.page-grid .card:has(.select-control){
  overflow:hidden;
}

.page-grid .card:has(.select-control) > .table,
.page-grid .card:has(.select-control) > .table-wrap{
  margin-top:14px;
}

.page-grid .card:has(.select-control) .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fafc;
}

.page-grid .card:has(.select-control) .table tbody td{
  vertical-align:middle;
}

.page-grid .card:has(.select-control) .table tbody td:nth-child(1),
.page-grid .card:has(.select-control) .table tbody td:nth-child(3),
.page-grid .card:has(.select-control) .table tbody td:nth-child(9),
.page-grid .card:has(.select-control) .table tbody td:nth-child(10){
  white-space:nowrap;
}

.page-grid .card:has(.select-control) .table tbody td:nth-child(4){
  max-width:240px;
  font-weight:750;
  color:#172033;
}

.page-grid .card:has(.select-control) .table tbody td:nth-child(6),
.page-grid .card:has(.select-control) .table tbody td:nth-child(7){
  max-width:180px;
}

/* Reglas y resumen */
.page-grid .two-col{
  align-items:stretch;
}

.page-grid .rules-list{
  display:grid;
  gap:8px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}

.page-grid .rules-list li{
  position:relative;
  padding:10px 12px 10px 34px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
  color:#475467;
  font-size:10.5px;
  line-height:1.45;
}

.page-grid .rules-list li:before{
  content:'✓';
  position:absolute;
  left:11px;
  top:10px;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ecfdf3;
  color:#027a48;
  font-size:10px;
  font-weight:900;
}

.page-grid .two-col .table{
  min-width:0;
}

.page-grid .two-col .table td{
  padding:11px 12px;
}

.page-grid .two-col .table td:last-child{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* Estado vacío */
.page-grid .card:has(.select-control) tbody:empty:after{
  content:'No hay documentos para el filtro seleccionado.';
  display:block;
  padding:28px 16px;
  color:#667085;
  font-size:11px;
  text-align:center;
}

/* Responsive */
@media(max-width:900px){
  .page-grid .task-top{
    flex-direction:column;
    align-items:stretch;
  }

  .page-grid .task-top .actions{
    width:100%;
  }

  .page-grid .task-top .actions .company-btn{
    flex:1 1 180px;
  }

  .page-grid .select-control{
    width:100%;
    min-width:0;
  }
}

@media(max-width:620px){
  .page-grid{
    gap:13px;
  }

  .page-grid .task-top .actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .page-grid .task-top .actions .company-btn{
    width:100%;
  }

  .page-grid .card:has(.select-control) .table{
    min-width:940px;
  }
}


/* =====================================================================
   AXORA v1.2.31 — Centro de Decisiones
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

/* KPI del Centro de Decisiones */
.page-grid .kpi-grid.compact{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.page-grid .kpi-grid.compact .card.kpi{
  position:relative;
  min-height:110px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
}

.page-grid .kpi-grid.compact .card.kpi:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.page-grid .kpi-grid.compact .card.kpi small{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.page-grid .kpi-grid.compact .card.kpi .metric{
  margin-top:12px;
  color:#172033;
  font-size:30px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.04em;
}

/* Bandeja priorizada */
.decision-list{
  display:grid;
  gap:10px;
  margin-top:15px;
}

.decision-item{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:15px 16px;
  border:1px solid #e7ebf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,24,40,.035);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.decision-item:hover{
  transform:translateY(-1px);
  border-color:#dfc7c9;
  background:#fffafa;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.decision-item.reviewed{
  opacity:.72;
  background:#f8fafc;
}

.decision-priority{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}

.decision-priority small{
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.decision-content{
  min-width:0;
}

.decision-content b{
  display:block;
  color:#172033;
  font-size:13px;
  line-height:1.4;
}

.decision-content p{
  margin:5px 0 6px;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.decision-content small{
  color:#98a2b3;
  font-size:9.5px;
  font-weight:750;
}

.decision-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.decision-actions .company-btn{
  min-height:36px;
  padding:0 12px;
  border-radius:9px;
  font-size:10px;
  font-weight:850;
}

/* Filtro */
.page-grid .card .task-top .select-control{
  min-width:180px;
  min-height:40px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font-size:11px;
  font-weight:750;
}

/* Distribución inferior */
.page-grid .two-col .card h3{
  margin:0 0 12px;
  color:#172033;
  font-size:15px;
}

.page-grid .two-col .table td{
  padding:11px 12px;
}

.page-grid .two-col .table td:last-child{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* Responsive */
@media(max-width:1100px){
  .page-grid .kpi-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .decision-item{
    grid-template-columns:110px minmax(0,1fr);
  }

  .decision-actions{
    grid-column:2;
    justify-content:flex-start;
  }
}

@media(max-width:700px){
  .decision-item{
    grid-template-columns:1fr;
  }

  .decision-priority,
  .decision-actions{
    grid-column:auto;
  }

  .decision-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .decision-actions .company-btn{
    width:100%;
  }

  .page-grid .card .task-top .select-control{
    width:100%;
    min-width:0;
  }
}

@media(max-width:520px){
  .page-grid .kpi-grid.compact{
    grid-template-columns:1fr;
  }
}

/* =====================================================================
   AXORA v1.2.32 — Conciliación AXORA vs Nestlé
   Clases reales integradas en reconciliationView.
   ===================================================================== */

.reconciliation-view{
  width:100%;
}

.reconciliation-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.reconciliation-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  overflow:hidden;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
}

.reconciliation-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.reconciliation-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.reconciliation-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.reconciliation-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.reconciliation-create{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.reconciliation-create h3{
  margin:0 0 6px;
  color:#172033;
  font-size:15px;
}

.reconciliation-create p{
  margin:0;
  max-width:760px;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.reconciliation-create .company-btn{
  flex:0 0 auto;
  min-height:42px;
  padding:0 16px;
}

.reconciliation-history .section-heading{
  margin-bottom:14px;
}

.reconciliation-history .table tbody td:nth-child(4),
.reconciliation-history .table tbody td:nth-child(5){
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-weight:800;
}

.reconciliation-history .empty-state{
  min-height:140px;
  border:0;
  background:transparent;
}

@media(max-width:1100px){
  .reconciliation-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .reconciliation-create{
    align-items:stretch;
    flex-direction:column;
  }

  .reconciliation-create .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .reconciliation-summary-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.33 — Rendimiento Operativo
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.performance-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.performance-summary-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.performance-summary-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.performance-summary-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.performance-summary-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.performance-summary-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.performance-summary-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.performance-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f3;
}

.performance-toolbar label{
  flex:1 1 180px;
  color:#475467;
  font-size:10.5px;
  font-weight:800;
}

.performance-toolbar input,
.performance-toolbar select{
  width:100%;
  min-height:42px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
}

.performance-toolbar input:focus,
.performance-toolbar select:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.performance-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:18px;
  align-items:start;
}

.performance-chart,
.performance-ranking{
  padding:20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.performance-chart{
  min-height:320px;
}

.performance-chart h3,
.performance-ranking h3{
  margin:0 0 13px;
  color:#172033;
  font-size:15px;
}

.performance-ranking-list{
  display:grid;
  gap:9px;
}

.performance-ranking-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.performance-position{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.performance-ranking-item b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.performance-ranking-item span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
}

.performance-score{
  color:#172033;
  font-size:13px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.performance-progress{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#edf0f4;
}

.performance-progress>span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.performance-table .table-wrap{
  max-height:62vh;
  overflow:auto;
}

.performance-table .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.performance-table .table tbody td{
  font-variant-numeric:tabular-nums;
}

.performance-table .positive{
  color:#027a48;
  font-weight:850;
}

.performance-table .negative{
  color:#b42318;
  font-weight:850;
}

@media(max-width:1100px){
  .performance-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .performance-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .performance-toolbar label{
    flex-basis:100%;
  }

  .performance-chart,
  .performance-ranking{
    padding:16px;
  }
}

@media(max-width:520px){
  .performance-summary-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.34 — Centro de Misiones
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

.module-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.module-card{
  position:relative;
  min-height:168px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.module-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  border-radius:15px 15px 0 0;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.module-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  background:#fffafa;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.module-card h3{
  margin:0;
  color:#172033;
  font-size:14px;
  line-height:1.35;
}

.module-card p{
  margin:7px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

.module-card .module-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:15px;
  font-weight:900;
}

.module-card .progress{
  margin-top:4px;
}

.module-card a{
  color:#b42318;
  font-size:10.5px;
  font-weight:850;
  text-decoration:none;
}

.module-card a:hover{
  text-decoration:underline;
}

.module-card .company-btn{
  align-self:flex-start;
  min-height:38px;
  padding:0 14px;
  border-radius:9px;
  font-size:10.5px;
  font-weight:850;
}

/* Misiones prioritarias: primera tarjeta más destacada */
.module-grid .module-card:first-child{
  border-color:#e4c8ca;
  background:linear-gradient(180deg,#fff,#fff7f7);
}

/* Estado visual para tarjetas completadas o bloqueadas */
.module-card.completed{
  border-color:#abefc6;
  background:#f3fbf6;
}

.module-card.blocked{
  border-color:#fecdd6;
  background:#fff5f6;
}

/* Cabecera del Centro de Misiones */
.card>h2:first-child{
  letter-spacing:-.025em;
}

.card>h2:first-child + p{
  max-width:760px;
  color:#667085;
  font-size:11.5px;
  line-height:1.6;
}

/* Responsive */
@media(max-width:1100px){
  .module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .module-grid{
    grid-template-columns:1fr;
  }

  .module-card{
    min-height:150px;
  }

  .module-card .company-btn{
    width:100%;
  }
}


/* =====================================================================
   AXORA v1.2.35 — Estados de carga, error y confirmación
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

/* Estados de página */
.system-state{
  display:grid;
  place-items:center;
  min-height:240px;
  padding:28px 20px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}

.system-state-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border-radius:15px;
  background:#111827;
  color:#fff;
  font-size:21px;
  font-weight:900;
}

.system-state.success .system-state-icon{
  background:#027a48;
}

.system-state.warning .system-state-icon{
  background:#b54708;
}

.system-state.error .system-state-icon{
  background:#b42318;
}

.system-state.info .system-state-icon{
  background:#175cd3;
}

.system-state h3{
  margin:0 0 7px;
  color:#172033;
  font-size:15px;
}

.system-state p{
  max-width:560px;
  margin:0;
  color:#667085;
  font-size:10.5px;
  line-height:1.55;
}

.system-state .state-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  margin-top:16px;
}

/* Carga */
.loading-block{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
}

.loading-line{
  position:relative;
  overflow:hidden;
  height:12px;
  border-radius:999px;
  background:#eef1f4;
}

.loading-line.short{
  width:42%;
}

.loading-line.medium{
  width:68%;
}

.loading-line:after{
  content:'';
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  animation:axora-loading 1.2s infinite;
}

@keyframes axora-loading{
  to{transform:translateX(100%);}
}

/* Confirmaciones */
.confirmation-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
  border:1px solid #abefc6;
  border-left:4px solid #027a48;
  border-radius:12px;
  background:#ecfdf3;
}

.confirmation-banner.warning{
  border-color:#fedf89;
  border-left-color:#b54708;
  background:#fffaeb;
}

.confirmation-banner.error{
  border-color:#fecdd6;
  border-left-color:#b42318;
  background:#fff1f3;
}

.confirmation-banner.info{
  border-color:#c7d7fe;
  border-left-color:#175cd3;
  background:#eff4ff;
}

.confirmation-banner b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.confirmation-banner p{
  margin:4px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

/* Toasts */
.toast-stack{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  display:grid;
  gap:10px;
  width:min(360px,calc(100vw - 36px));
}

.toast-message{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:12px 13px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 34px rgba(16,24,40,.14);
}

.toast-message .toast-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.toast-message.success .toast-icon{
  background:#027a48;
}

.toast-message.warning .toast-icon{
  background:#b54708;
}

.toast-message.error .toast-icon{
  background:#b42318;
}

.toast-message b{
  display:block;
  color:#172033;
  font-size:11px;
}

.toast-message p{
  margin:3px 0 0;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.toast-message button{
  min-width:28px;
  min-height:28px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#667085;
  cursor:pointer;
}

/* Confirmación de acción sensible */
.danger-zone{
  padding:18px;
  border:1px solid #fecdd6;
  border-radius:15px;
  background:#fff7f8;
}

.danger-zone h3{
  margin:0 0 6px;
  color:#b42318;
  font-size:14px;
}

.danger-zone p{
  margin:0 0 14px;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

/* Responsive */
@media(max-width:620px){
  .system-state{
    min-height:210px;
    padding:22px 16px;
  }

  .system-state .state-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .system-state .state-actions .company-btn{
    width:100%;
  }

  .toast-stack{
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;
  }

  .toast-message{
    grid-template-columns:30px minmax(0,1fr);
  }

  .toast-message button{
    grid-column:2;
    justify-self:start;
  }
}


/* =====================================================================
   AXORA v1.2.36 — Centro de Tareas
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

.task-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.task-card{
  position:relative;
  min-height:220px;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:17px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.task-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  border-radius:15px 15px 0 0;
  background:#98a2b3;
}

.task-card.alta:before{
  background:#b42318;
}

.task-card.media:before{
  background:#b54708;
}

.task-card.baja:before{
  background:#175cd3;
}

.task-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  background:#fffafa;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.task-card .task-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.task-card h3{
  margin:2px 0 0;
  color:#172033;
  font-size:14px;
  line-height:1.38;
}

.task-card>p{
  margin:0;
  color:#667085;
  font-size:10.5px;
  line-height:1.55;
}

.task-meta{
  display:grid;
  gap:7px;
  margin-top:2px;
}

.task-meta span{
  display:flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border:1px solid #e8ebf0;
  border-radius:9px;
  background:#fff;
  color:#475467;
  font-size:9.5px;
  font-weight:750;
  overflow-wrap:anywhere;
}

.task-card .actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
  padding-top:4px;
}

.task-card .actions .company-btn{
  flex:1 1 120px;
  min-height:38px;
  padding:0 12px;
  border-radius:9px;
  font-size:10px;
  font-weight:850;
}

.task-card .actions .status{
  align-self:center;
  min-height:30px;
  padding:0 11px;
}

/* KPI reales del módulo */
.page-grid .kpi-grid.compact{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.page-grid .kpi-grid.compact .card.kpi{
  min-height:108px;
  padding:17px 18px;
  border-radius:15px;
}

.page-grid .kpi-grid.compact .card.kpi small{
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.page-grid .kpi-grid.compact .card.kpi .metric{
  margin-top:12px;
  color:#172033;
  font-size:30px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.04em;
}

/* Cabecera del listado */
.page-grid .section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.page-grid .section-heading .breadcrumb{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
}

.page-grid .section-heading .company-btn{
  min-height:39px;
  padding:0 14px;
  border-radius:10px;
}

/* Responsive */
@media(max-width:1120px){
  .task-board{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .page-grid .kpi-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .task-board{
    grid-template-columns:1fr;
  }

  .task-card{
    min-height:0;
  }

  .task-card .actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .task-card .actions .company-btn{
    width:100%;
  }

  .page-grid .section-heading{
    flex-direction:column;
    align-items:stretch;
  }

  .page-grid .section-heading .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .page-grid .kpi-grid.compact{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.37 — Búsqueda global y filtros avanzados
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.global-search{
  position:relative;
  display:flex;
  align-items:center;
  width:min(100%,680px);
}

.global-search input{
  width:100%;
  min-height:46px;
  padding:0 44px 0 42px;
  border:1px solid #dfe5ec;
  border-radius:13px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:700;
  box-shadow:0 6px 18px rgba(16,24,40,.04);
}

.global-search input:focus{
  border-color:#9eb8ff;
  box-shadow:0 0 0 4px rgba(47,91,234,.10);
}

.global-search:before{
  content:'⌕';
  position:absolute;
  left:14px;
  z-index:1;
  color:#667085;
  font-size:20px;
  pointer-events:none;
}

.global-search kbd{
  position:absolute;
  right:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:24px;
  padding:0 7px;
  border:1px solid #d0d5dd;
  border-bottom-width:2px;
  border-radius:7px;
  background:#f8fafc;
  color:#667085;
  font-size:9px;
  font-weight:850;
}

.search-results-panel{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:120;
  max-height:420px;
  overflow:auto;
  padding:8px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 48px rgba(16,24,40,.16);
}

.search-result-group{
  padding:7px 6px 5px;
  color:#98a2b3;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.search-result-item{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  min-height:52px;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
}

.search-result-item:hover,
.search-result-item.active{
  background:#fff5f5;
}

.search-result-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:13px;
}

.search-result-copy b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.search-result-copy span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.35;
}

.search-result-meta{
  color:#98a2b3;
  font-size:9px;
  font-weight:800;
}

/* Filtros avanzados */
.advanced-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:#f8fafc;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:0 10px;
  border:1px solid #dfe5ec;
  border-radius:999px;
  background:#fff;
  color:#475467;
  font-size:9.5px;
  font-weight:800;
}

.filter-chip.active{
  border-color:#e4b8bb;
  background:#fff4f4;
  color:#b42318;
}

.filter-chip button{
  min-width:20px;
  min-height:20px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:#eef1f4;
  color:#667085;
  font-size:10px;
  cursor:pointer;
}

.filter-chip button:hover{
  background:#fee4e2;
  color:#b42318;
}

.saved-views{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-left:auto;
}

.saved-view{
  min-height:34px;
  padding:0 11px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#475467;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
}

.saved-view:hover,
.saved-view.active{
  border-color:#d5b4b6;
  background:#fffafa;
  color:#b42318;
}

/* Contador y ordenamiento */
.result-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.result-count{
  color:#667085;
  font-size:10.5px;
}

.result-count b{
  color:#172033;
}

.sort-control{
  display:flex;
  align-items:center;
  gap:8px;
}

.sort-control label{
  color:#667085;
  font-size:9.5px;
  font-weight:800;
}

.sort-control select{
  min-height:36px;
  padding:0 34px 0 10px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font-size:10px;
  font-weight:750;
}

@media(max-width:760px){
  .global-search{
    width:100%;
  }

  .global-search kbd{
    display:none;
  }

  .global-search input{
    padding-right:14px;
  }

  .advanced-filter-bar{
    align-items:stretch;
  }

  .saved-views{
    width:100%;
    margin-left:0;
  }

  .saved-view{
    flex:1 1 130px;
  }

  .result-toolbar{
    align-items:stretch;
  }

  .sort-control{
    width:100%;
    justify-content:space-between;
  }

  .sort-control select{
    flex:1;
  }
}


/* =====================================================================
   AXORA v1.2.38 — Paginación y densidad de datos
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.data-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:11px 12px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#f8fafc;
}

.data-toolbar-left,
.data-toolbar-right{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.data-toolbar label{
  color:#667085;
  font-size:9.5px;
  font-weight:850;
}

.density-control{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
}

.density-control button{
  min-width:34px;
  min-height:30px;
  padding:0 9px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
}

.density-control button:hover{
  background:#f2f4f7;
  color:#344054;
}

.density-control button.active{
  background:#111827;
  color:#fff;
}

.pagination{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.pagination button{
  min-width:34px;
  min-height:34px;
  display:grid;
  place-items:center;
  padding:0 9px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#475467;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}

.pagination button:hover{
  border-color:#d5b4b6;
  background:#fffafa;
  color:#b42318;
}

.pagination button.active{
  border-color:#111827;
  background:#111827;
  color:#fff;
}

.pagination button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.pagination-summary{
  color:#667085;
  font-size:10px;
  font-weight:750;
}

.rows-per-page{
  display:flex;
  align-items:center;
  gap:7px;
}

.rows-per-page select{
  min-height:34px;
  padding:0 32px 0 9px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font-size:10px;
  font-weight:750;
}

/* Variantes de densidad */
.table.compact thead th{
  padding:9px 10px;
}

.table.compact tbody td{
  padding:9px 10px;
}

.table.comfortable thead th{
  padding:12px 13px;
}

.table.comfortable tbody td{
  padding:13px;
}

.table.spacious thead th{
  padding:14px 15px;
}

.table.spacious tbody td{
  padding:16px 15px;
}

/* Selección masiva */
.bulk-action-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:11px 13px;
  border:1px solid #c7d7fe;
  border-radius:12px;
  background:#eff4ff;
}

.bulk-action-copy{
  color:#175cd3;
  font-size:10.5px;
  font-weight:850;
}

.bulk-action-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.bulk-action-buttons .company-btn{
  min-height:36px;
  padding:0 12px;
  font-size:10px;
}

/* Encabezados de columna interactivos */
.sortable-header{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  user-select:none;
}

.sortable-header:after{
  content:'↕';
  color:#98a2b3;
  font-size:9px;
}

.sortable-header.asc:after{
  content:'↑';
  color:#b42318;
}

.sortable-header.desc:after{
  content:'↓';
  color:#b42318;
}

@media(max-width:760px){
  .data-toolbar{
    align-items:stretch;
  }

  .data-toolbar-left,
  .data-toolbar-right{
    width:100%;
    justify-content:space-between;
  }

  .pagination{
    width:100%;
    justify-content:center;
  }

  .pagination-summary{
    width:100%;
    text-align:center;
  }

  .bulk-action-bar{
    align-items:stretch;
  }

  .bulk-action-buttons{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .bulk-action-buttons .company-btn{
    width:100%;
  }
}

@media(max-width:420px){
  .data-toolbar-left,
  .data-toolbar-right{
    display:grid;
    grid-template-columns:1fr;
  }

  .density-control{
    width:100%;
  }

  .density-control button{
    flex:1;
  }

  .rows-per-page{
    justify-content:space-between;
  }
}


/* =====================================================================
   AXORA v1.2.39 — Salud Operativa
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

.health-components{
  display:grid;
  gap:11px;
  margin-top:14px;
}

.health-row{
  display:grid;
  gap:7px;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:12px;
  background:#fbfcfd;
}

.health-row>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.health-row b{
  color:#172033;
  font-size:11.5px;
}

.health-row span{
  color:#667085;
  font-size:10px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.health-bar{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#e9edf2;
}

.health-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c9151b,#ef777b);
  transition:width .25s ease;
}

.health-row:nth-child(1) .health-bar i,
.health-row:nth-child(6) .health-bar i{
  background:linear-gradient(90deg,#175cd3,#6b8cff);
}

.health-row:nth-child(2) .health-bar i,
.health-row:nth-child(5) .health-bar i{
  background:linear-gradient(90deg,#027a48,#47b881);
}

.health-row:nth-child(3) .health-bar i,
.health-row:nth-child(4) .health-bar i{
  background:linear-gradient(90deg,#b54708,#f4b740);
}

/* Tarjeta ejecutiva de salud */
.health-score-card{
  position:relative;
  overflow:hidden;
  min-height:180px;
  display:grid;
  place-items:center;
  padding:22px;
  border:1px solid #e6eaf0;
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 15%,rgba(201,21,27,.10),transparent 28%),
    linear-gradient(145deg,#fff,#fff8f8);
  box-shadow:0 14px 34px rgba(16,24,40,.07);
  text-align:center;
}

.health-score{
  color:#172033;
  font-size:52px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.06em;
}

.health-score-label{
  margin-top:8px;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.health-score-note{
  max-width:440px;
  margin-top:10px;
  color:#667085;
  font-size:10.5px;
  line-height:1.5;
}

/* Hallazgos */
.health-findings{
  display:grid;
  gap:10px;
}

.health-finding{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:13px 14px;
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
}

.health-finding-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.health-finding.warning .health-finding-icon{
  background:#b54708;
}

.health-finding.critical .health-finding-icon{
  background:#b42318;
}

.health-finding.success .health-finding-icon{
  background:#027a48;
}

.health-finding b{
  display:block;
  color:#172033;
  font-size:11.5px;
  line-height:1.45;
}

.health-finding p{
  margin:4px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}

/* Lectura ejecutiva */
.rules-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.rules-grid>div{
  min-height:92px;
  padding:13px 14px;
  border:1px solid #e8ebf0;
  border-radius:12px;
  background:#fbfcfd;
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.rules-grid>div b{
  display:block;
  margin-bottom:5px;
  color:#172033;
  font-size:11.5px;
}

/* Acciones ejecutivas */
.health-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.health-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

@media(max-width:1100px){
  .rules-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .health-finding{
    grid-template-columns:36px minmax(0,1fr);
  }

  .health-finding>.status{
    grid-column:2;
    justify-self:start;
  }

  .rules-grid{
    grid-template-columns:1fr;
  }

  .health-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .health-actions .company-btn{
    width:100%;
  }
}

/* =====================================================================
   AXORA v1.2.40 — Seguridad y Auditoría
   Clases reales integradas en securityView.
   ===================================================================== */

.security-view{width:100%;}

.security-audit-score{
  min-width:220px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:20px;
  border:1px solid #abefc6;
  border-radius:18px;
  background:#f4fbf7;
  box-shadow:0 14px 34px rgba(16,24,40,.07);
}

.security-audit-score b{
  color:#172033;
  font-size:46px;
  line-height:.95;
  letter-spacing:-.06em;
}

.security-audit-score span{
  margin-top:6px;
  color:#344054;
  font-size:12px;
  font-weight:900;
}

.security-audit-score small{
  margin-top:8px;
  color:#667085;
  font-size:9.5px;
  text-align:center;
}

.security-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.security-kpi-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  overflow:hidden;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
}

.security-kpi-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#111827,#475467);
}

.security-kpi-card>span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.security-kpi-card>b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.security-kpi-card>small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.security-permissions-card .user-permission-list{
  display:grid;
  gap:13px;
}

.security-permissions-card .user-permission-card{
  padding:16px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fbfcfd;
}

.security-permissions-card .user-permission-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e8ebf0;
}

.security-permissions-card .user-permission-head h3{
  margin:0 0 5px;
  color:#172033;
  font-size:14px;
}

.security-permissions-card .user-permission-head p,
.security-permissions-card .user-permission-head small{
  margin:0;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}

.security-permissions-card .permission-group{
  margin-top:13px;
}

.security-permissions-card .permission-group h4{
  margin:0 0 8px;
  color:#344054;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.security-permissions-card .permission-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.security-permissions-card .permission-check{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid #e2e7ed;
  border-radius:10px;
  background:#fff;
  color:#475467;
  font-size:10px;
  font-weight:750;
}

.security-permissions-card .permission-check.enabled{
  border-color:#b7c8ff;
  background:#f5f7ff;
  color:#233876;
}

.security-permissions-card .founder-lock{
  margin-top:13px;
  padding:12px 13px;
  border:1px solid #abefc6;
  border-radius:11px;
  background:#f4fbf7;
  color:#027a48;
  font-size:10.5px;
  font-weight:850;
}

.security-audit-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.security-audit-head h3{
  margin:0 0 5px;
  color:#172033;
  font-size:15px;
}

.security-audit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.security-filter-grid{
  display:grid;
  grid-template-columns:2fr repeat(5,minmax(130px,1fr));
  gap:10px;
  margin-bottom:14px;
}

.security-filter-grid label{
  color:#475467;
  font-size:9.5px;
  font-weight:850;
}

.security-filter-grid input,
.security-filter-grid select{
  width:100%;
  min-height:40px;
  margin-top:6px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font-size:10.5px;
  font-weight:700;
}

.security-audit-card .table td small{
  color:#667085;
  font-size:9px;
  line-height:1.4;
}

.security-audit-card .empty-state{
  min-height:140px;
  border:0;
  background:transparent;
}

@media(max-width:1200px){
  .security-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .security-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .security-filter-grid label:first-child{
    grid-column:span 3;
  }

  .security-permissions-card .permission-check-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .security-audit-score{
    width:100%;
    min-width:0;
    min-height:130px;
  }

  .security-audit-head,
  .security-permissions-card .user-permission-head{
    align-items:stretch;
    flex-direction:column;
  }

  .security-audit-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .security-audit-actions .company-btn{
    width:100%;
  }

  .security-filter-grid,
  .security-permissions-card .permission-check-grid{
    grid-template-columns:1fr;
  }

  .security-filter-grid label:first-child{
    grid-column:auto;
  }
}

@media(max-width:520px){
  .security-kpi-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.41 — Integración MVP
   Actualización visual segura: basada en la estructura real del módulo.
   ===================================================================== */

.integration-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);
  gap:22px;
  align-items:center;
  padding:26px 28px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 12%,rgba(201,21,27,.12),transparent 28%),
    linear-gradient(145deg,#fff 0%,#fff 62%,#fff8f8 100%);
  box-shadow:0 14px 38px rgba(16,24,40,.055);
}

.integration-hero h2{
  margin:12px 0 7px;
  color:#172033;
  font-size:clamp(28px,2.4vw,36px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.integration-hero p{
  max-width:820px;
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.integration-score{
  min-height:148px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  padding:18px;
  border:1px solid #e6eaf0;
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.integration-score.good{
  border-color:#abefc6;
  background:#f3fbf6;
}

.integration-score.warn{
  border-color:#fedf89;
  background:#fffaeb;
}

.integration-score b{
  color:#172033;
  font-size:40px;
  line-height:1;
  letter-spacing:-.05em;
}

.integration-score span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.integration-score small{
  color:#667085;
  font-size:9.5px;
}

.integration-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.integration-kpi-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.integration-kpi-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.integration-kpi-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.integration-kpi-card span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.integration-kpi-card b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.integration-kpi-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.integration-test-card{
  padding:20px;
}

.integration-flow{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}

.integration-flow>div{
  min-height:78px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:11px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fbfcfd;
  text-align:center;
}

.integration-flow b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:11px;
}

.integration-flow span{
  color:#344054;
  font-size:10px;
  font-weight:800;
  line-height:1.35;
}

.integration-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.integration-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.integration-gates .table-wrap{
  margin-top:14px;
}

.integration-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}

.integration-bottom .timeline{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.integration-bottom .timeline-item{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.integration-bottom .timeline-type{
  color:#b42318;
  font-size:9px;
  font-weight:900;
  letter-spacing:.045em;
}

.integration-bottom .timeline-item b{
  color:#172033;
  font-size:11px;
}

.integration-bottom .timeline-item small{
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

@media(max-width:1100px){
  .integration-hero{
    grid-template-columns:1fr;
  }

  .integration-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .integration-flow{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .integration-bottom{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .integration-hero{
    padding:20px;
  }

  .integration-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .integration-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .integration-actions .company-btn{
    width:100%;
  }

  .integration-bottom .timeline-item{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .integration-kpi-grid{
    grid-template-columns:1fr;
  }

  .integration-flow{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.42 — Estabilización MVP
   Actualización visual segura basada en la estructura real del módulo.
   ===================================================================== */

.stabilization-view{
  display:grid;
  gap:16px;
}

.stabilization-score{
  min-width:220px;
  min-height:148px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  border:1px solid #fedf89;
  border-radius:16px;
  background:#fffaeb;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.stabilization-score.good{
  border-color:#abefc6;
  background:#ecfdf3;
}

.stabilization-score.danger{
  border-color:#fecdd6;
  background:#fff1f3;
}

.stabilization-score b{
  color:#172033;
  font-size:40px;
  line-height:1;
  letter-spacing:-.05em;
}

.stabilization-score span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.stabilization-score small{
  color:#667085;
  font-size:9.5px;
}

.stabilization-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.stabilization-kpi-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.stabilization-kpi-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.stabilization-kpi-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.stabilization-kpi-card span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.stabilization-kpi-card b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.stabilization-kpi-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.stabilization-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:18px;
  align-items:start;
}

.stabilization-checklist-card .table-wrap{
  margin-top:14px;
  max-height:520px;
  overflow:auto;
}

.stabilization-checklist-card .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.97);
  backdrop-filter:blur(8px);
}

.stabilization-checklist-card .table td:nth-child(1),
.stabilization-checklist-card .table td:nth-child(2),
.stabilization-checklist-card .table td:nth-child(3){
  white-space:nowrap;
}

.stabilization-checklist-card .table td:nth-child(4){
  min-width:320px;
}

.stabilization-recommendation{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border:1px solid #fedf89;
  border-left:4px solid #b54708;
  border-radius:12px;
  background:#fffaeb;
}

.stabilization-recommendation.good{
  border-color:#abefc6;
  border-left-color:#027a48;
  background:#ecfdf3;
}

.stabilization-recommendation.danger{
  border-color:#fecdd6;
  border-left-color:#b42318;
  background:#fff1f3;
}

.stabilization-recommendation span{
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.stabilization-recommendation b{
  color:#172033;
  font-size:12px;
  line-height:1.45;
}

.stabilization-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.stabilization-detail-grid>div{
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.stabilization-detail-grid span{
  display:block;
  margin-bottom:4px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.stabilization-detail-grid b{
  color:#172033;
  font-size:11.5px;
}

.stabilization-actions{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.stabilization-actions .company-btn{
  width:100%;
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.stabilization-flow-card{
  overflow:hidden;
}

.stabilization-flow{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.stabilization-flow>div{
  min-height:80px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px;
  border:1px solid #e6eaf0;
  border-radius:12px;
  background:#fbfcfd;
  text-align:center;
}

.stabilization-flow b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:11px;
}

.stabilization-flow span{
  color:#344054;
  font-size:9.5px;
  font-weight:800;
  line-height:1.35;
}

@media(max-width:1100px){
  .stabilization-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stabilization-layout{
    grid-template-columns:1fr;
  }

  .stabilization-flow{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .stabilization-score{
    width:100%;
    min-width:0;
  }

  .stabilization-detail-grid{
    grid-template-columns:1fr;
  }

  .stabilization-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stabilization-checklist-card .table{
    min-width:760px;
  }
}

@media(max-width:520px){
  .stabilization-kpi-grid{
    grid-template-columns:1fr;
  }

  .stabilization-flow{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.43 — Pilot Zero
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.pilot-zero-view{
  display:grid;
  gap:16px;
}

.pilot-zero-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(201,21,27,.12),transparent 28%),
    linear-gradient(145deg,#fff 0%,#fff 60%,#fff8f8 100%);
  box-shadow:0 14px 38px rgba(16,24,40,.055);
}

.pilot-zero-hero h2{
  margin:12px 0 8px;
  color:#172033;
  font-size:clamp(28px,2.5vw,37px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.pilot-zero-hero p{
  max-width:820px;
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.pilot-status-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  border:1px solid #fedf89;
  border-radius:16px;
  background:#fffaeb;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.pilot-status-card.ready{
  border-color:#abefc6;
  background:#ecfdf3;
}

.pilot-status-card.blocked{
  border-color:#fecdd6;
  background:#fff1f3;
}

.pilot-status-card b{
  color:#172033;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}

.pilot-status-card span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.pilot-status-card small{
  color:#667085;
  font-size:9.5px;
}

.pilot-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.pilot-kpi-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.pilot-kpi-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#c9151b,#ef777b);
}

.pilot-kpi-card:hover{
  transform:translateY(-2px);
  border-color:#dfc7c9;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.pilot-kpi-card span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.pilot-kpi-card b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.pilot-kpi-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.pilot-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:18px;
  align-items:start;
}

.pilot-checklist{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.pilot-check{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.pilot-check-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eef2f6;
  color:#475467;
  font-size:12px;
  font-weight:900;
}

.pilot-check.done .pilot-check-icon{
  background:#ecfdf3;
  color:#027a48;
}

.pilot-check.warning .pilot-check-icon{
  background:#fffaeb;
  color:#b54708;
}

.pilot-check.blocked .pilot-check-icon{
  background:#fff1f3;
  color:#b42318;
}

.pilot-check b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.pilot-check span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.pilot-runbook{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.pilot-runbook-step{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fff;
}

.pilot-runbook-step b:first-child{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:11px;
}

.pilot-runbook-step strong{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.pilot-runbook-step span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.pilot-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.pilot-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.pilot-log{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.pilot-log-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.pilot-log-item time{
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
}

.pilot-log-item b{
  color:#172033;
  font-size:11px;
}

.pilot-log-item span{
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

@media(max-width:1100px){
  .pilot-zero-hero{
    grid-template-columns:1fr;
  }

  .pilot-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pilot-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .pilot-zero-hero{
    padding:20px;
  }

  .pilot-check{
    grid-template-columns:30px minmax(0,1fr);
  }

  .pilot-check>.status{
    grid-column:2;
    justify-self:start;
  }

  .pilot-log-item{
    grid-template-columns:1fr;
  }

  .pilot-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .pilot-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .pilot-kpi-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.44 — Cierre Pilot Zero
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.pilot-close-view{
  display:grid;
  gap:16px;
}

.pilot-close-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(2,122,72,.11),transparent 28%),
    linear-gradient(145deg,#fff 0%,#fff 60%,#f4fbf7 100%);
  box-shadow:0 14px 38px rgba(16,24,40,.055);
}

.pilot-close-hero h2{
  margin:12px 0 8px;
  color:#172033;
  font-size:clamp(28px,2.5vw,37px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.pilot-close-hero p{
  max-width:820px;
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.pilot-close-status{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  border:1px solid #abefc6;
  border-radius:16px;
  background:#ecfdf3;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.pilot-close-status.pending{
  border-color:#fedf89;
  background:#fffaeb;
}

.pilot-close-status.blocked{
  border-color:#fecdd6;
  background:#fff1f3;
}

.pilot-close-status b{
  color:#172033;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}

.pilot-close-status span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.pilot-close-status small{
  color:#667085;
  font-size:9.5px;
}

.pilot-close-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.pilot-close-kpi{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.pilot-close-kpi:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#027a48,#47b881);
}

.pilot-close-kpi:hover{
  transform:translateY(-2px);
  border-color:#b9dfc8;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.pilot-close-kpi span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.pilot-close-kpi b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.pilot-close-kpi small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.pilot-close-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}

.pilot-close-checklist{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.pilot-close-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.pilot-close-item-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#ecfdf3;
  color:#027a48;
  font-size:12px;
  font-weight:900;
}

.pilot-close-item.pending .pilot-close-item-icon{
  background:#fffaeb;
  color:#b54708;
}

.pilot-close-item.blocked .pilot-close-item-icon{
  background:#fff1f3;
  color:#b42318;
}

.pilot-close-item b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.pilot-close-item span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.lesson-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.lesson-card{
  min-height:130px;
  padding:14px;
  border:1px solid #e8ebf0;
  border-radius:12px;
  background:#fff;
}

.lesson-card b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.lesson-card p{
  margin:6px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.5;
}

.lesson-card.success{
  border-color:#abefc6;
  background:#f3fbf6;
}

.lesson-card.warning{
  border-color:#fedf89;
  background:#fffaeb;
}

.lesson-card.danger{
  border-color:#fecdd6;
  background:#fff5f6;
}

.pilot-close-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.pilot-close-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.pilot-close-timeline{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.pilot-close-event{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.pilot-close-event time{
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
}

.pilot-close-event b{
  color:#172033;
  font-size:11px;
}

.pilot-close-event span{
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

@media(max-width:1100px){
  .pilot-close-hero{
    grid-template-columns:1fr;
  }

  .pilot-close-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pilot-close-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .pilot-close-hero{
    padding:20px;
  }

  .pilot-close-item{
    grid-template-columns:30px minmax(0,1fr);
  }

  .pilot-close-item>.status{
    grid-column:2;
    justify-self:start;
  }

  .lesson-grid{
    grid-template-columns:1fr;
  }

  .pilot-close-event{
    grid-template-columns:1fr;
  }

  .pilot-close-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .pilot-close-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .pilot-close-kpis{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.45 — Transición a Producción
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.production-transition-view{
  display:grid;
  gap:16px;
}

.production-transition-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(23,92,211,.11),transparent 28%),
    linear-gradient(145deg,#fff 0%,#fff 60%,#f5f8ff 100%);
  box-shadow:0 14px 38px rgba(16,24,40,.055);
}

.production-transition-hero h2{
  margin:12px 0 8px;
  color:#172033;
  font-size:clamp(28px,2.5vw,37px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.production-transition-hero p{
  max-width:820px;
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.production-readiness{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  border:1px solid #c7d7fe;
  border-radius:16px;
  background:#eff4ff;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.production-readiness.ready{
  border-color:#abefc6;
  background:#ecfdf3;
}

.production-readiness.blocked{
  border-color:#fecdd6;
  background:#fff1f3;
}

.production-readiness b{
  color:#172033;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}

.production-readiness span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.production-readiness small{
  color:#667085;
  font-size:9.5px;
}

.production-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.production-kpi-card{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.production-kpi-card:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#175cd3,#6b8cff);
}

.production-kpi-card:hover{
  transform:translateY(-2px);
  border-color:#bfd0ff;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.production-kpi-card span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.production-kpi-card b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.production-kpi-card small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.production-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}

.production-gates{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.production-gate{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.production-gate-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eff4ff;
  color:#175cd3;
  font-size:12px;
  font-weight:900;
}

.production-gate.done .production-gate-icon{
  background:#ecfdf3;
  color:#027a48;
}

.production-gate.warning .production-gate-icon{
  background:#fffaeb;
  color:#b54708;
}

.production-gate.blocked .production-gate-icon{
  background:#fff1f3;
  color:#b42318;
}

.production-gate b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.production-gate span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

.production-roadmap{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.production-roadmap-step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fff;
}

.production-roadmap-step b:first-child{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:11px;
}

.production-roadmap-step strong{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.production-roadmap-step span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:9.5px;
  line-height:1.45;
}

.production-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.production-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.production-window{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.production-window>div{
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.production-window span{
  display:block;
  margin-bottom:4px;
  color:#667085;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.production-window b{
  color:#172033;
  font-size:11.5px;
}

@media(max-width:1100px){
  .production-transition-hero{
    grid-template-columns:1fr;
  }

  .production-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .production-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .production-transition-hero{
    padding:20px;
  }

  .production-gate{
    grid-template-columns:30px minmax(0,1fr);
  }

  .production-gate>.status{
    grid-column:2;
    justify-self:start;
  }

  .production-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .production-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .production-kpi-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.2.46 — Monitoreo de Producción
   Actualización visual segura: conserva lógica, API, Docker y datos.
   ===================================================================== */

.production-monitor-view{
  display:grid;
  gap:16px;
}

.production-monitor-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #e6eaf0;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(2,122,72,.10),transparent 28%),
    linear-gradient(145deg,#fff 0%,#fff 60%,#f5fbf7 100%);
  box-shadow:0 14px 38px rgba(16,24,40,.055);
}

.production-monitor-hero h2{
  margin:12px 0 8px;
  color:#172033;
  font-size:clamp(28px,2.5vw,37px);
  line-height:1.12;
  letter-spacing:-.04em;
}

.production-monitor-hero p{
  max-width:820px;
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.production-live-status{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  border:1px solid #abefc6;
  border-radius:16px;
  background:#ecfdf3;
  text-align:center;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.production-live-status.warning{
  border-color:#fedf89;
  background:#fffaeb;
}

.production-live-status.critical{
  border-color:#fecdd6;
  background:#fff1f3;
}

.production-live-status b{
  color:#172033;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}

.production-live-status span{
  color:#344054;
  font-size:11px;
  font-weight:850;
}

.production-live-status small{
  color:#667085;
  font-size:9.5px;
}

.production-monitor-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.production-monitor-kpi{
  position:relative;
  min-height:112px;
  padding:17px 18px;
  border:1px solid #e6eaf0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.production-monitor-kpi:before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#027a48,#47b881);
}

.production-monitor-kpi:hover{
  transform:translateY(-2px);
  border-color:#b9dfc8;
  box-shadow:0 14px 30px rgba(16,24,40,.07);
}

.production-monitor-kpi span{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
}

.production-monitor-kpi b{
  display:block;
  margin:11px 0 7px;
  color:#172033;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
}

.production-monitor-kpi small{
  color:#667085;
  font-size:10.5px;
  line-height:1.45;
}

.production-monitor-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}

.service-health-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.service-health-item{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.service-health-item b{
  color:#172033;
  font-size:11.5px;
}

.service-health-bar{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#e9edf2;
}

.service-health-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#027a48,#47b881);
}

.service-health-item.warning .service-health-bar i{
  background:linear-gradient(90deg,#b54708,#f4b740);
}

.service-health-item.critical .service-health-bar i{
  background:linear-gradient(90deg,#b42318,#ef777b);
}

.incident-stream{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.incident-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:12px 13px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fff;
}

.incident-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eff4ff;
  color:#175cd3;
  font-size:12px;
  font-weight:900;
}

.incident-item.warning .incident-icon{
  background:#fffaeb;
  color:#b54708;
}

.incident-item.critical .incident-icon{
  background:#fff1f3;
  color:#b42318;
}

.incident-item b{
  display:block;
  color:#172033;
  font-size:11.5px;
}

.incident-item p{
  margin:4px 0 0;
  color:#667085;
  font-size:9.5px;
  line-height:1.45;
}

.production-monitor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.production-monitor-actions .company-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:850;
}

.monitor-log{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.monitor-log-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:11px;
  background:#fbfcfd;
}

.monitor-log-item time{
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
}

.monitor-log-item b{
  color:#172033;
  font-size:11px;
}

.monitor-log-item span{
  color:#667085;
  font-size:9.5px;
  line-height:1.4;
}

@media(max-width:1100px){
  .production-monitor-hero{
    grid-template-columns:1fr;
  }

  .production-monitor-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .production-monitor-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .production-monitor-hero{
    padding:20px;
  }

  .service-health-item{
    grid-template-columns:1fr;
  }

  .incident-item{
    grid-template-columns:34px minmax(0,1fr);
  }

  .incident-item>.status{
    grid-column:2;
    justify-self:start;
  }

  .monitor-log-item{
    grid-template-columns:1fr;
  }

  .production-monitor-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .production-monitor-actions .company-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .production-monitor-kpis{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA 0.40.2-mobile-menu — Reparación de submenús móviles
   ===================================================================== */
.nav-submenu{
  display:none!important;
}

.nav-group.open > .nav-submenu,
.nav-submenu.is-open{
  display:grid!important;
}

@media (max-width:900px){
  .company-shell.sidebar-compact .nav-group-label{
    display:block!important;
  }

  .company-shell.sidebar-compact .nav-group-chevron{
    display:block!important;
  }

  .company-shell.sidebar-compact .nav-submenu{
    display:none!important;
  }

  .company-shell.sidebar-compact .nav-group.open > .nav-submenu,
  .company-shell.sidebar-compact .nav-submenu.is-open{
    display:grid!important;
  }

  .nav-group{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .nav-group-toggle{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }

  .nav-submenu{
    position:static!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    grid-template-columns:1fr!important;
  }

  .nav-submenu .nav-item{
    display:flex!important;
    width:100%!important;
    min-height:42px!important;
    touch-action:manipulation;
  }
}


/* =====================================================================
   AXORA 0.40.4-mobile-live-sync — Inventario móvil en vivo + salida móvil
   ===================================================================== */
.mobile-session-card{
  display:none;
}

.inventory-cloud-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.inventory-cloud-actions small{
  color:#667085;
  font-weight:700;
}

.inventory-refresh-button{
  width:auto!important;
}

@media (max-width:900px){
  .mobile-session-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.055);
    color:#fff;
  }

  .mobile-session-card>div{
    min-width:0;
    display:grid;
    gap:3px;
  }

  .mobile-session-card small{
    color:rgba(255,255,255,.55);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
  }

  .mobile-session-card b,
  .mobile-session-card span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mobile-session-card b{
    font-size:13px;
  }

  .mobile-session-card span{
    color:rgba(255,255,255,.68);
    font-size:11px;
  }

  .mobile-sidebar-logout{
    min-height:42px!important;
    padding:9px 14px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#ef0000,#9d1117)!important;
    color:#fff!important;
    font-weight:900!important;
  }

  .inventory-cloud-actions{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .inventory-refresh-button{
    width:100%!important;
  }
}


/* =====================================================================
   AXORA 0.40.5-mobile-session-flow — Flujo correcto de sesión y salida en iPhone
   ===================================================================== */
@media (max-width:900px){
  .company-shell .sidebar{
    display:block!important;
    box-sizing:border-box!important;
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding-bottom:max(44px,calc(env(safe-area-inset-bottom) + 36px))!important;
  }

  .company-shell .company-brand,
  .company-shell .nav-section-title,
  .company-shell .nav-groups,
  .company-shell .mobile-session-card,
  .company-shell .powered{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
  }

  .company-shell .nav-groups{
    display:grid!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    flex:none!important;
  }

  .company-shell .nav-group{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .company-shell .sidebar-spacer{
    display:none!important;
    flex:none!important;
    height:0!important;
    min-height:0!important;
  }

  .company-shell .mobile-session-card{
    display:grid!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:22px 0 0!important;
    z-index:auto!important;
    clear:both!important;
  }

  .company-shell .mobile-session-card>div{
    min-width:0!important;
  }

  .company-shell .mobile-session-card b{
    max-width:100%!important;
    font-size:13px!important;
  }

  .company-shell .mobile-sidebar-logout{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    min-width:92px!important;
  }

  .company-shell .powered{
    display:block!important;
    margin:14px 0 0!important;
    padding:14px 8px 6px!important;
    z-index:auto!important;
  }
}

@supports (-webkit-touch-callout:none){
  @media (max-width:900px){
    .company-shell .sidebar{
      height:-webkit-fill-available!important;
      max-height:-webkit-fill-available!important;
    }
  }
}


/* =====================================================================
   AXORA 0.40.6 — Recepciones en dos etapas, nube y múltiples ubicaciones
   ===================================================================== */
.receipts-v2{gap:18px}
.receipt-top-toolbar,.receipt-search-row,.receipt-place-form,.receipt-stage-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.receipt-top-toolbar label,.receipt-search-row label,.receipt-place-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}
.receipt-top-toolbar select,.receipt-search-row select,.receipt-place-form input,.receipt-field input{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.receipt-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.receipt-kpi{border:0;text-align:left;cursor:pointer;display:grid;gap:6px}
.receipt-kpi small{color:#6b7280}.receipt-kpi b{font-size:28px}
.receipt-filter-card{position:sticky;top:8px;z-index:3}
.receipt-smart-search{flex:1;min-width:260px;position:relative}.receipt-smart-search span{position:absolute;left:13px;bottom:12px;font-size:20px}.receipt-smart-search input{padding-left:40px!important;width:100%}
.receipt-lines-list{display:grid;gap:16px}
.receipt-line-card{background:#fff;border:1px solid #e3e6ea;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.receipt-line-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #edf0f2;padding-bottom:14px;margin-bottom:14px}.receipt-line-heading h3{margin:8px 0 2px}.receipt-line-heading p{margin:0;color:#5b6470}.receipt-line-numbers{display:grid;grid-template-columns:auto auto;gap:3px 12px;text-align:right;white-space:nowrap}.receipt-line-numbers small{color:#6b7280}.receipt-line-numbers b{font-size:18px}
.receipt-validation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.receipt-field{background:#f8fafb;border:1px solid #edf0f2;border-radius:14px;padding:12px;display:grid;gap:7px;align-content:start;min-width:0}.receipt-field.wide{grid-column:span 2}.receipt-field small{font-weight:800;color:#68717c}.receipt-field b{overflow-wrap:anywhere}.receipt-field input{width:100%}.receipt-field input:disabled{background:#eef1f4;color:#737b84}
.receipt-checks{display:flex;gap:12px;flex-wrap:wrap}.receipt-checks label{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d9dee4;padding:8px 12px;border-radius:10px;font-weight:800}.receipt-checks input{width:18px;height:18px;min-height:auto;padding:0;accent-color:var(--company-primary)}
.receipt-stage-actions{margin-top:14px}.receipt-stage-actions small{color:#6b7280;max-width:620px}
.receipt-trace{margin-top:14px;padding:11px 13px;border-radius:12px;background:#f0f7ff;color:#25476a;font-size:13px}
.receipt-location-stage{margin-top:16px;padding:16px;border-radius:16px;background:#111827;color:#fff}.receipt-location-stage h4{margin:0 0 4px}.receipt-location-stage p{margin:0;color:#cad0d8}.receipt-location-stage .section-heading{align-items:flex-start}.receipt-location-stage .receipt-place-form{margin-top:14px}.receipt-location-stage .receipt-place-form label{color:#e5e7eb}.receipt-location-stage .receipt-place-form input{min-width:150px}.receipt-location-stage .inline-message{margin-top:12px}
.receipt-allocation-list{display:grid;gap:8px;margin-top:12px}.receipt-allocation-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:10px 12px}.receipt-allocation-list span{display:grid;gap:2px}.receipt-allocation-list small{color:#b9c0ca}.icon-btn.danger{border:0;border-radius:10px;background:#fee2e2;color:#991b1b;width:34px;height:34px;font-size:22px;cursor:pointer}
.receipt-close-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.receipt-close-summary>div{background:#f7f8fa;border-radius:14px;padding:13px;display:grid;gap:4px}.receipt-close-summary small{color:#6b7280}.receipt-close-summary b{font-size:22px}.good-text{color:#15803d}.danger-text{color:#b91c1c}
@media(max-width:1100px){.receipt-validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-close-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.receipt-filter-card{position:static}.receipt-kpi-grid{grid-template-columns:1fr 1fr}.receipt-validation-grid{grid-template-columns:1fr}.receipt-field.wide{grid-column:auto}.receipt-line-heading{display:grid}.receipt-line-numbers{text-align:left;grid-template-columns:auto auto;justify-content:start}.receipt-top-toolbar,.receipt-search-row,.receipt-place-form,.receipt-stage-actions{align-items:stretch}.receipt-top-toolbar>*{flex:1 1 100%}.receipt-search-row label,.receipt-place-form label{flex:1 1 100%}.receipt-smart-search{min-width:0}.receipt-place-form .company-btn{width:100%}.receipt-close-summary{grid-template-columns:1fr 1fr}.receipt-line-card{padding:14px;border-radius:16px}.receipt-location-stage{padding:14px}.receipt-allocation-list>div{align-items:flex-start}}


/* =====================================================================
   AXORA 0.40.8 — Partidas físicas por lote y condición en Recepciones
   ===================================================================== */
.receipt-batch-editor{margin-top:16px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
.receipt-batch-editor .section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.receipt-batch-editor h4{margin:0}
.receipt-part-draft-list{display:grid;gap:10px}
.receipt-part-draft{display:grid;grid-template-columns:38px minmax(130px,1fr) minmax(100px,.65fr) minmax(190px,1.25fr) minmax(190px,1.4fr) 38px;align-items:end;gap:10px;padding:12px;border:1px solid #e6e9ed;border-radius:14px;background:#f8fafb}
.receipt-part-number{width:32px;height:32px;border-radius:10px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:800;align-self:center}
.receipt-part-draft label,.receipt-general-observation{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}
.receipt-part-draft input,.receipt-part-draft select,.receipt-general-observation input{width:100%;min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.receipt-part-draft .wide{min-width:0}
.receipt-draft-summary,.receipt-result-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.receipt-draft-summary>div,.receipt-result-summary>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #e6e9ed;border-radius:12px;background:#f8fafb}
.receipt-draft-summary small,.receipt-result-summary small{font-weight:700;color:#6b7280}
.receipt-draft-summary b,.receipt-result-summary b{font-size:18px}
.receipt-general-observation{margin-top:12px}
.receipt-batch-history{display:grid;gap:9px;margin-top:14px}
.receipt-batch-record{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border:1px solid #e6e9ed;border-radius:13px;background:#f8fafb}
.receipt-batch-record>div{display:grid;gap:3px}
.receipt-batch-record small{color:#6b7280}
.receipt-location-stage .section-heading>div{display:grid;gap:3px}
.receipt-location-stage .section-heading>div>span{color:#cbd5e1;font-size:13px}
.receipt-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1180px){
  .receipt-part-draft{grid-template-columns:38px repeat(2,minmax(0,1fr)) 38px}
  .receipt-part-draft .wide{grid-column:2 / span 2}
  .receipt-draft-summary,.receipt-result-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .receipt-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .receipt-batch-editor{padding:13px}
  .receipt-part-draft{grid-template-columns:32px minmax(0,1fr) 34px;align-items:stretch}
  .receipt-part-draft label,.receipt-part-draft .wide{grid-column:2}
  .receipt-part-draft .icon-btn{grid-column:3;grid-row:1;align-self:start}
  .receipt-part-number{grid-column:1;grid-row:1}
  .receipt-draft-summary,.receipt-result-summary{grid-template-columns:1fr 1fr}
  .receipt-kpi-grid{grid-template-columns:1fr 1fr}
}

/* =====================================================================
   AXORA 0.40.9 — Resolución explícita de faltantes en Recepciones
   ===================================================================== */
.receipt-shortage-panel{
  display:grid;
  grid-template-columns:minmax(130px,.65fr) minmax(220px,1.6fr) auto;
  align-items:end;
  gap:12px;
  margin-top:12px;
  padding:13px;
  border:1px solid #f0c36a;
  border-radius:14px;
  background:#fff8e8;
}
.receipt-shortage-panel[hidden]{display:none!important}
.receipt-shortage-panel>div{display:grid;gap:4px}
.receipt-shortage-panel small{font-weight:700;color:#7a5a16}
.receipt-shortage-panel b{font-size:18px;color:#5f450f}
.receipt-shortage-panel label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}
.receipt-shortage-panel input{width:100%;min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.receipt-correction-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.receipt-draft-summary,.receipt-result-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
@media(max-width:700px){
  .receipt-shortage-panel{grid-template-columns:1fr;align-items:stretch}
  .receipt-shortage-panel .company-btn{width:100%}
}


/* AXORA 0.41.0 — Partidas múltiples por lote */
.receipt-pending-panel{
  grid-template-columns:minmax(210px,.8fr) minmax(320px,1.4fr);
  align-items:end;
}
.receipt-pending-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.receipt-pending-observation{
  grid-column:1/-1;
}
.receipt-pending-observation[hidden]{
  display:none!important;
}
@media (max-width:760px){
  .receipt-pending-panel{
    grid-template-columns:1fr;
  }
  .receipt-pending-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .receipt-pending-actions .company-btn{
    width:100%;
  }
}

/* =====================================================================
   AXORA 0.42.0 — Picking conectado al inventario y extracciones múltiples
   ===================================================================== */
.input-detection-only{
  display:flex;
  align-items:center;
  gap:16px;
}
.input-detection-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--company-primary);
  color:#fff;
  font-size:24px;
  flex:0 0 auto;
}
.input-detection-only h3,.input-detection-only p{margin:0}
.input-detection-only p{margin-top:5px;color:var(--muted)}
.picking-v2{align-items:start}
.picking-toolbar{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:end;
}
.picking-toolbar label{
  display:grid;
  gap:6px;
  color:#4b5563;
  font-size:12px;
  font-weight:800;
}
.picking-toolbar select,.picking-toolbar input,
.picking-extraction-form select,.picking-extraction-form input{
  min-height:44px;
  border:1px solid #d7dce2;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:#111827;
  font:inherit;
  box-sizing:border-box;
}
.picking-toolbar label:first-child{min-width:min(100%,430px);flex:1 1 340px}
.picking-selection-status{
  min-width:128px;
  min-height:20px;
  align-self:center;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.picking-toolbar select[aria-busy="true"]{cursor:progress;opacity:.78}
.picking-lines-list{display:grid;gap:16px}
.picking-line-card{
  border:1px solid var(--border);
  border-radius:22px;
  padding:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
  display:grid;
  gap:16px;
}
.picking-line-head{
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:18px;
}
.picking-line-head h3{margin:8px 0 2px;font-size:22px}
.picking-line-head p{margin:0;color:var(--muted);font-weight:700}
.picking-line-progress{
  min-width:150px;
  text-align:right;
  display:grid;
  gap:2px;
}
.picking-line-progress small,.picking-line-progress span{color:var(--muted);font-weight:700}
.picking-line-progress b{font-size:24px}
.picking-line-data{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.picking-line-data>div{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px 14px;
  display:grid;
  gap:4px;
  background:#f8fafc;
}
.picking-line-data small{color:var(--muted);font-weight:700}
.picking-allocation-list{display:grid;gap:10px}
.picking-allocation-list>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #dce4ed;
  border-radius:14px;
  background:#f8fafc;
}
.picking-allocation-list>div>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.picking-allocation-list b{font-size:17px}
.picking-allocation-list span{font-weight:900}
.picking-allocation-list small{color:var(--muted);font-weight:700}
.icon-danger{
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#fee2e2;
  color:#991b1b;
  font-size:22px;
  cursor:pointer;
  flex:0 0 auto;
}
.picking-extraction-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 110px minmax(140px,.7fr) auto;
  gap:12px;
  align-items:end;
  padding:16px;
  border-radius:18px;
  background:#111827;
  color:#fff;
}
.picking-extraction-form label{
  display:grid;
  gap:6px;
  color:#e5e7eb;
  font-size:12px;
  font-weight:800;
}
.picking-available{
  min-height:44px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  display:grid;
  align-content:center;
}
.picking-available small{color:#cbd5e1;font-weight:700}
.picking-available b{font-size:18px}
.picking-reason{grid-column:1/-2}
.picking-extraction-form .company-btn{min-height:44px}
@media(max-width:1050px){
  .picking-extraction-form{grid-template-columns:1fr 1fr 100px 1fr}
  .picking-extraction-form .company-btn{grid-column:4}
  .picking-reason{grid-column:1/4}
}
@media(max-width:760px){
  .input-detection-only{align-items:flex-start}
  .picking-toolbar{align-items:stretch}
  .picking-toolbar>*{width:100%;min-width:0!important;flex:1 1 100%!important}
  .picking-line-card{padding:14px;border-radius:16px}
  .picking-line-head{display:grid}
  .picking-line-progress{text-align:left;min-width:0}
  .picking-line-data{grid-template-columns:1fr}
  .picking-allocation-list>div{align-items:flex-start}
  .picking-allocation-list>div>div{display:grid;gap:3px}
  .picking-extraction-form{grid-template-columns:1fr;padding:14px}
  .picking-extraction-form .company-btn,.picking-reason{grid-column:auto;width:100%}
}

/* === AXORA v1.4.3 · Ruta de preparación agrupada por ubicación === */
.route-strip.route-location-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:16px;
  align-items:start;
  margin:18px 0;
}
.route-location-card{
  min-width:0;
  border:1px solid #e3e7ed;
  border-left:4px solid #e83a42;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.route-location-card.active{
  border-color:#ef9ca0;
  border-left-color:#d71920;
  box-shadow:0 16px 34px rgba(215,25,32,.12);
  transform:translateY(-1px);
}
.route-location-card.done{
  border-left-color:#35a566;
}
.route-location-head{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:15px 16px 13px;
  border-bottom:1px solid #edf0f4;
  background:linear-gradient(180deg,#fff,#fcfcfd);
}
.route-step-badge{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  padding:0;
  margin:0;
  line-height:1;
  text-align:center;
  font-size:16px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(145deg,#ee5158,#d71920);
  box-shadow:0 7px 16px rgba(215,25,32,.22);
}
.route-location-card.done .route-step-badge{
  background:linear-gradient(145deg,#4fbd7c,#258a51);
  box-shadow:0 7px 16px rgba(37,138,81,.2);
}
.route-location-head>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.route-location-head>div>b{
  margin:0;
  color:#172033;
  font-size:19px;
  line-height:1.1;
  font-weight:900;
}
.route-location-head>div>small{
  color:#8a93a2;
  font-size:10.5px;
  font-weight:750;
}
.route-product-count{
  align-self:center;
  padding:7px 10px;
  border-radius:999px;
  background:#fff0f1;
  color:#c9151b;
  font-size:10.5px;
  font-weight:850;
  white-space:nowrap;
}
.route-product-list{
  display:grid;
  gap:10px;
  padding:12px;
}
.route-product-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 20px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #e5e9ef;
  border-radius:13px;
  background:#fff;
  color:#172033;
  text-align:left;
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.route-product-row:hover{
  border-color:#efb0b3;
  background:#fffafa;
  box-shadow:0 7px 18px rgba(15,23,42,.055);
}
.route-product-row.active{
  border-color:#e74c53;
  background:#fff7f7;
  box-shadow:0 0 0 3px rgba(215,25,32,.08);
}
.route-product-row.done{
  border-color:#cdebd8;
  background:#f7fdf9;
}
.route-product-row:focus-visible{
  outline:3px solid rgba(215,25,32,.16);
  outline-offset:2px;
}
.route-product-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#d71920;
  background:#fff0f1;
  font-size:15px;
  line-height:1;
}
.route-product-row.done .route-product-icon{
  color:#258a51;
  background:#eaf8ef;
}
.route-product-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.route-product-copy>b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#344054;
  font-size:11.5px;
  line-height:1.35;
  font-weight:800;
}
.route-product-copy>strong{
  color:#d71920;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}
.route-product-row.done .route-product-copy>strong{
  color:#258a51;
}
.route-product-copy>small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#8a93a2;
  font-size:9.5px;
  font-weight:700;
}
.route-product-arrow{
  display:grid;
  place-items:center;
  color:#667085;
  font-size:25px;
  line-height:1;
  font-weight:500;
}
@media(max-width:900px){
  .route-strip.route-location-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .route-strip.route-location-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .route-location-head{
    grid-template-columns:42px minmax(0,1fr) auto;
    padding:13px;
  }
  .route-step-badge{
    width:36px;
    height:36px;
    min-width:36px;
    font-size:15px;
  }
  .route-product-count{
    padding:6px 8px;
    font-size:9.5px;
  }
}

/* =====================================================================
   AXORA v1.5.2 — Despachos responsive, tarjetas y anulación controlada
   ===================================================================== */
.dispatch-page{
  min-width:0;
  overflow-x:hidden;
  align-items:start;
}
.dispatch-page>.card,
.dispatch-page>.two-col{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.dispatch-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.dispatch-toolbar>div{
  min-width:0;
  flex:1 1 280px;
}
.dispatch-toolbar h3,
.dispatch-toolbar p{
  margin:0;
}
.dispatch-toolbar p{
  margin-top:5px;
}
.dispatch-toolbar>.company-btn{
  flex:0 0 auto;
  max-width:100%;
  white-space:normal;
}
.dispatch-ready-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:16px;
  align-items:stretch;
}
.dispatch-ready-card{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:15px;
  padding:18px;
  border:1px solid #e1e6ed;
  border-left:4px solid #d71920;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fcfcfd);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.dispatch-ready-card:hover{
  transform:translateY(-1px);
  border-color:#efb0b3;
  border-left-color:#d71920;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
.dispatch-ready-card header{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.dispatch-step-badge{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#ee5158,#d71920);
  box-shadow:0 7px 16px rgba(215,25,32,.2);
  font-size:15px;
  line-height:1;
  font-weight:900;
  text-align:center;
}
.dispatch-ready-title{
  min-width:0;
  display:grid;
  gap:5px;
}
.dispatch-ready-title .status{
  width:max-content;
  max-width:100%;
}
.dispatch-ready-title h3{
  margin:0;
  color:#172033;
  font-size:19px;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.dispatch-ready-title small{
  color:#8a93a2;
  font-size:11px;
  font-weight:800;
}
.dispatch-card-meta{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(70px,.6fr));
  gap:9px;
}
.dispatch-card-meta>div{
  min-width:0;
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid #e7ebf0;
  border-radius:12px;
  background:#f8fafc;
}
.dispatch-card-meta small{
  color:#7b8494;
  font-size:9px;
  line-height:1.2;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dispatch-card-meta b{
  min-width:0;
  color:#172033;
  font-size:12px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dispatch-ready-card footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-self:end;
  margin:0;
}
.dispatch-ready-card .company-btn{
  width:100%;
  min-width:0;
  min-height:44px;
  height:auto;
  padding:10px 12px;
  border-radius:12px;
  line-height:1.2;
  white-space:normal;
  text-align:center;
  justify-content:center;
  font-size:11px;
}
.dispatch-confirm-btn{
  background:linear-gradient(135deg,#d71920,#b9151a)!important;
  color:#fff!important;
  border-color:#b9151a!important;
}
.dispatch-cancel-btn{
  background:#fff!important;
  color:#b42318!important;
  border:1px solid #f0a6a0!important;
  box-shadow:none!important;
}
.dispatch-cancel-btn:hover{
  background:#fff5f4!important;
  border-color:#d92d20!important;
}
.dispatch-history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.dispatch-history-card{
  min-width:0;
  display:grid;
  gap:13px;
  padding:16px;
  border:1px solid #e4e8ee;
  border-top:3px solid #f0b2b5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 9px 24px rgba(15,23,42,.045);
}
.dispatch-history-card.cancelled{
  border-top-color:#d92d20;
  background:linear-gradient(180deg,#fff,#fffafa);
}
.dispatch-history-card header{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.dispatch-history-card header>div{
  min-width:0;
  display:grid;
  gap:7px;
}
.dispatch-history-card h3{
  margin:0;
  color:#172033;
  font-size:16px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.dispatch-history-card header>b{
  flex:0 0 auto;
  color:#667085;
  font-size:10px;
  text-align:right;
  overflow-wrap:anywhere;
}
.dispatch-history-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.dispatch-history-meta>div{
  min-width:0;
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:10px;
  background:#f8fafc;
}
.dispatch-history-meta small{
  color:#7b8494;
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
}
.dispatch-history-meta strong{
  min-width:0;
  color:#172033;
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dispatch-history-card footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#667085;
  font-size:9.5px;
  font-weight:750;
}
.dispatch-history-card footer time{
  text-align:right;
}
.dispatch-history-note{
  margin:0;
  padding:10px 11px;
  border-radius:10px;
  background:#fff3f2;
  color:#7a271a;
  font-size:10px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.dispatch-rules{
  min-width:0;
}
@media(max-width:760px){
  .dispatch-page{
    padding-bottom:calc(126px + env(safe-area-inset-bottom));
  }
  .dispatch-page .page-hero.executive-hero{
    min-width:0;
  }
  .dispatch-toolbar{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .dispatch-toolbar>.company-btn{
    width:100%;
    margin:0!important;
  }
  .dispatch-ready-grid,
  .dispatch-history-grid{
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .dispatch-ready-card{
    padding:15px;
    border-radius:16px;
  }
  .dispatch-card-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dispatch-card-meta>div:first-child{
    grid-column:1/-1;
  }
  .dispatch-ready-card footer{
    grid-template-columns:1fr;
  }
  .dispatch-ready-card .company-btn{
    min-height:46px;
    font-size:12px;
  }
  .dispatch-history-card header{
    display:grid;
    grid-template-columns:1fr;
  }
  .dispatch-history-card header>b{
    text-align:left;
  }
  .dispatch-history-card footer{
    display:grid;
    gap:4px;
  }
  .dispatch-history-card footer time{
    text-align:left;
  }
}
@media(max-width:390px){
  .dispatch-ready-card header{
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
  }
  .dispatch-step-badge{
    width:36px;
    height:36px;
    font-size:14px;
  }
  .dispatch-ready-title h3{
    font-size:17px;
  }
  .dispatch-history-meta{
    grid-template-columns:1fr;
  }
}

/* =====================================================================
   AXORA v1.6.0 — Confirmaciones Nestlé cloud, tarjetas y entrega parcial
   ===================================================================== */
.confirmation-page{
  min-width:0;
  overflow-x:hidden;
  align-items:start;
}
.confirmation-page>.card,
.confirmation-page>.two-col{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.confirmation-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.confirmation-toolbar>div{min-width:0;flex:1 1 280px}
.confirmation-toolbar h3,.confirmation-toolbar p{margin:0}
.confirmation-toolbar p{margin-top:5px}
.confirmation-toolbar>.company-btn{flex:0 0 auto;max-width:100%;white-space:normal}
.confirmation-pending-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:16px;
  align-items:start;
}
.confirmation-pending-card{
  min-width:0;
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #e1e6ed;
  border-left:4px solid #d71920;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fcfcfd);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.confirmation-pending-card.partial-open{
  border-color:#efb0b3;
  border-left-color:#d71920;
  box-shadow:0 17px 36px rgba(15,23,42,.085);
}
.confirmation-pending-card>header{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.confirmation-pending-card>header>div{min-width:0;display:grid;gap:5px}
.confirmation-pending-card>header h3{
  margin:0;
  color:#172033;
  font-size:19px;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.confirmation-pending-card>header small{color:#8a93a2;font-size:11px;font-weight:800}
.confirmation-step-badge{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#ee5158,#d71920);
  box-shadow:0 7px 16px rgba(215,25,32,.2);
  font-size:15px;
  line-height:1;
  font-weight:900;
  text-align:center;
}
.confirmation-card-meta{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(70px,.6fr));
  gap:9px;
}
.confirmation-card-meta>div{
  min-width:0;
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid #e7ebf0;
  border-radius:12px;
  background:#f8fafc;
}
.confirmation-card-meta small{
  color:#7b8494;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.confirmation-card-meta b{
  min-width:0;
  color:#172033;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.confirmation-product-list{display:grid;gap:8px}
.confirmation-product-row{
  min-width:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e7ebf0;
  border-radius:12px;
  background:#fff;
}
.confirmation-product-row>div{min-width:0;display:grid;gap:2px}
.confirmation-product-row b{color:#172033;font-size:12px}
.confirmation-product-row span{color:#4b5563;font-size:10.5px;font-weight:700;overflow-wrap:anywhere}
.confirmation-product-row small{color:#8a93a2;font-size:9.5px;font-weight:700}
.confirmation-product-row strong{flex:0 0 auto;color:#d71920;font-size:13px}
.confirmation-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.confirmation-actions .company-btn{
  width:100%;
  min-width:0;
  min-height:44px;
  height:auto;
  padding:10px 9px;
  border-radius:12px;
  white-space:normal;
  line-height:1.2;
  justify-content:center;
  font-size:10.5px;
}
.confirmation-total-btn{background:linear-gradient(135deg,#167c4c,#0f6540)!important;border-color:#0f6540!important;color:#fff!important}
.confirmation-partial-btn{background:#fffaf0!important;border-color:#f0c46a!important;color:#8a5a00!important;box-shadow:none!important}
.confirmation-none-btn{background:#fff!important;border:1px solid #f0a6a0!important;color:#b42318!important;box-shadow:none!important}
.confirmation-partial-panel{
  display:grid;
  gap:13px;
  padding:14px;
  border:1px solid #f0c9cb;
  border-radius:15px;
  background:#fffafa;
}
.confirmation-partial-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}
.confirmation-partial-heading h4,.confirmation-partial-heading p{margin:0}
.confirmation-partial-heading h4{color:#172033;font-size:14px}
.confirmation-partial-heading p{margin-top:4px;color:#667085;font-size:10px;line-height:1.4}
.confirmation-partial-lines{display:grid;gap:8px}
.confirmation-partial-lines label{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #ebeef2;
  border-radius:11px;
  background:#fff;
}
.confirmation-partial-lines label>span{min-width:0;display:grid;gap:2px}
.confirmation-partial-lines b{font-size:11px;color:#172033}
.confirmation-partial-lines small{font-size:9.5px;color:#7b8494;overflow-wrap:anywhere}
.confirmation-partial-lines input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:39px;
  border:1px solid #d8dee7;
  border-radius:10px;
  padding:8px;
  text-align:center;
  font:inherit;
  font-weight:850;
}
.confirmation-observation{display:grid;gap:6px;color:#4b5563;font-size:10px;font-weight:800}
.confirmation-observation textarea{
  width:100%;
  min-height:72px;
  box-sizing:border-box;
  resize:vertical;
  border:1px solid #d8dee7;
  border-radius:11px;
  padding:10px;
  font:inherit;
}
.confirmation-partial-actions{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:9px}
.confirmation-partial-actions .company-btn{width:100%;min-width:0;min-height:44px;white-space:normal;justify-content:center}
.confirmation-history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.confirmation-history-card{
  min-width:0;
  display:grid;
  gap:13px;
  padding:16px;
  border:1px solid #e4e8ee;
  border-top:3px solid #f0b2b5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 9px 24px rgba(15,23,42,.045);
}
.confirmation-history-card header{display:flex;justify-content:space-between;align-items:start;gap:12px;min-width:0}
.confirmation-history-card header>div{min-width:0;display:grid;gap:7px}
.confirmation-history-card h3{margin:0;color:#172033;font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.confirmation-history-card header>b{flex:0 0 auto;color:#667085;font-size:10px;text-align:right;overflow-wrap:anywhere}
.confirmation-history-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.confirmation-history-meta>div{min-width:0;display:grid;gap:3px;padding:9px 10px;border-radius:10px;background:#f8fafc}
.confirmation-history-meta small{color:#7b8494;font-size:8.5px;font-weight:850;text-transform:uppercase}
.confirmation-history-meta strong{min-width:0;color:#172033;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.confirmation-history-card footer{display:flex;justify-content:space-between;gap:12px;color:#667085;font-size:9.5px;font-weight:750}
.confirmation-history-card footer time{text-align:right}
.confirmation-history-card>p{margin:0;padding:10px 11px;border-radius:10px;background:#f8fafc;color:#4b5563;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.confirmation-rules{min-width:0}
@media(max-width:760px){
  .confirmation-page{padding-bottom:calc(126px + env(safe-area-inset-bottom))}
  .confirmation-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}
  .confirmation-toolbar>.company-btn{width:100%;margin:0!important}
  .confirmation-pending-grid,.confirmation-history-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .confirmation-pending-card{padding:15px;border-radius:16px}
  .confirmation-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .confirmation-card-meta>div:first-child{grid-column:1/-1}
  .confirmation-actions{grid-template-columns:1fr}
  .confirmation-actions .company-btn{min-height:46px;font-size:12px}
  .confirmation-history-card header{display:grid;grid-template-columns:1fr}
  .confirmation-history-card header>b{text-align:left}
  .confirmation-history-card footer{display:grid;gap:4px}
  .confirmation-history-card footer time{text-align:left}
}
@media(max-width:390px){
  .confirmation-pending-card>header{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .confirmation-step-badge{width:36px;height:36px;font-size:14px}
  .confirmation-pending-card>header h3{font-size:17px}
  .confirmation-product-row{align-items:flex-start}
  .confirmation-partial-lines label{grid-template-columns:1fr}
  .confirmation-partial-lines input{text-align:left}
  .confirmation-partial-actions{grid-template-columns:1fr}
  .confirmation-history-meta{grid-template-columns:1fr}
}

/* =====================================================================
   AXORA v1.7.0 — Reenvíos y Reingresos transaccionales
   ===================================================================== */
.reentry-page{
  overflow-x:hidden;
  padding-bottom:calc(126px + env(safe-area-inset-bottom));
}
.reentry-toolbar{
  align-items:center;
  gap:14px;
}
.reentry-toolbar>div:first-child{min-width:0;flex:1 1 auto}
.reentry-toolbar h3{margin:0 0 5px}
.reentry-pending-grid,
.reentry-authorized-grid,
.reentry-resend-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:16px;
  margin-top:18px;
}
.reentry-decision-item,
.reentry-authorized-card,
.reentry-resend-card{
  min-width:0;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  padding:18px;
  display:grid;
  gap:15px;
  position:relative;
  overflow:hidden;
}
.reentry-decision-item:before,
.reentry-authorized-card:before,
.reentry-resend-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--company-primary),#ef4444);
}
.reentry-authorized-card.closed:before{background:linear-gradient(180deg,#16a34a,#86efac)}
.reentry-decision-item>header,
.reentry-authorized-card>header,
.reentry-resend-card>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  min-width:0;
}
.reentry-decision-item>header>div,
.reentry-authorized-card>header>div,
.reentry-resend-card>header>div{min-width:0}
.reentry-decision-item h3,
.reentry-authorized-card h3,
.reentry-resend-card h3{
  margin:7px 0 2px;
  font-size:21px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.reentry-decision-item header small,
.reentry-authorized-card header small,
.reentry-resend-card header small{color:var(--muted);font-weight:750}
.reentry-step-badge{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  background:linear-gradient(145deg,var(--company-primary),#ef4444);
  color:#fff;
  font-size:18px;
  font-weight:950;
  line-height:1;
  box-shadow:0 10px 24px rgba(201,21,27,.22);
}
.reentry-decision-item>header{justify-content:flex-start}
.reentry-card-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.reentry-card-meta>div{
  border:1px solid #e5e7eb;
  background:#f8fafc;
  border-radius:14px;
  padding:11px 12px;
  min-width:0;
}
.reentry-card-meta small,
.reentry-line-numbers small,
.reentry-destination small{
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.reentry-card-meta b{display:block;margin-top:4px;overflow-wrap:anywhere}
.reentry-product-list,
.reentry-line-list{display:grid;gap:9px}
.reentry-product-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #e8ebef;
  border-radius:14px;
  padding:11px 13px;
  background:#fff;
}
.reentry-product-row>div{display:grid;gap:2px;min-width:0}
.reentry-product-row span,
.reentry-product-row small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.reentry-product-row strong{font-size:16px;white-space:nowrap;color:var(--company-primary)}
.reentry-line-row{
  display:grid;
  grid-template-columns:minmax(190px,1.2fr) minmax(125px,.55fr) minmax(330px,1.35fr);
  align-items:center;
  gap:12px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:13px;
  background:#fbfcfd;
}
.reentry-line-copy{display:grid;gap:3px;min-width:0}
.reentry-line-copy span,
.reentry-line-copy small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.reentry-line-numbers{display:grid;gap:3px}
.reentry-line-numbers b{font-size:20px}
.reentry-line-inputs{
  display:grid;
  grid-template-columns:minmax(110px,.8fr) minmax(130px,1fr) minmax(115px,.8fr);
  gap:9px;
  align-items:end;
}
.reentry-line-inputs label{
  display:grid;
  gap:5px;
  color:#64748b;
  font-size:10px;
  font-weight:850;
}
.reentry-line-inputs input,
.reentry-line-inputs select{
  width:100%;
  min-height:42px;
  border:1px solid #d7dce2;
  border-radius:11px;
  background:#fff;
  color:#111827;
  padding:8px 10px;
  box-sizing:border-box;
  font:inherit;
}
.reentry-destination{
  min-height:42px;
  border:1px solid #d7dce2;
  border-radius:11px;
  background:#fff;
  padding:7px 10px;
  display:grid;
  align-content:center;
}
.reentry-destination b{font-size:12px;overflow-wrap:anywhere}
.reentry-line-result{display:grid;gap:5px;justify-items:start}
.reentry-line-result small{color:var(--muted);font-weight:750}
.reentry-note{
  margin:0;
  border-radius:13px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  padding:10px 12px;
  color:#475569;
  font-size:12px;
}
.reentry-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:0;
}
.reentry-authorized-card>.reentry-actions,
.reentry-resend-card>.reentry-actions{grid-template-columns:1fr}
.reentry-actions .company-btn{width:100%;min-height:46px;font-size:13px}
.reentry-completed{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.reentry-completed small{color:var(--muted);font-weight:700}
@media(max-width:1100px){
  .reentry-line-row{grid-template-columns:1fr 150px}
  .reentry-line-inputs{grid-column:1/-1}
}
@media(max-width:760px){
  .reentry-page{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .reentry-toolbar{align-items:stretch}
  .reentry-toolbar>*{width:100%}
  .reentry-pending-grid,
  .reentry-authorized-grid,
  .reentry-resend-grid{grid-template-columns:1fr;gap:13px}
  .reentry-decision-item,
  .reentry-authorized-card,
  .reentry-resend-card{padding:15px;border-radius:17px}
  .reentry-decision-item h3,
  .reentry-authorized-card h3,
  .reentry-resend-card h3{font-size:19px}
  .reentry-card-meta{grid-template-columns:1fr 1fr}
  .reentry-card-meta>div:first-child{grid-column:1/-1}
  .reentry-line-row{grid-template-columns:1fr}
  .reentry-line-inputs{grid-column:auto;grid-template-columns:1fr}
  .reentry-actions{grid-template-columns:1fr}
  .reentry-product-row{align-items:flex-start}
  .reentry-authorized-card>header,
  .reentry-resend-card>header{display:grid}
}

/* =====================================================================
   AXORA v1.8.0 — Inventario Operativo y Kardex
   ===================================================================== */
.inventory-state-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.inventory-state-chips .status{
  white-space:nowrap;
}
.inventory-mobile-list{
  display:none;
}
.inventory-balance-card{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.inventory-balance-card header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.inventory-balance-card header>div{
  min-width:0;
}
.inventory-balance-card header small{
  display:inline-flex;
  margin-bottom:6px;
  color:var(--company-primary);
  font-size:11px;
  font-weight:900;
}
.inventory-balance-card header h3{
  margin:0 0 4px;
  font-size:18px;
}
.inventory-balance-card header p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.inventory-balance-card header>b{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-size:14px;
}
.inventory-balance-lot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f8fafc;
}
.inventory-balance-lot span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.inventory-balance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.inventory-balance-grid>div{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fbfcfd;
}
.inventory-balance-grid small{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
}
.inventory-balance-grid b{
  font-size:18px;
}
.kardex-event{
  cursor:pointer;
}
.kardex-event.active{
  border-color:rgba(201,21,27,.45);
  box-shadow:0 14px 30px rgba(201,21,27,.10);
}
.kardex-table tbody tr{
  cursor:pointer;
}
.kardex-table tbody tr:hover{
  background:#fff8f8;
}
.kardex-operational-view .kardex-detail-panel{
  position:sticky;
  top:18px;
}
@media(max-width:760px){
  .inventory-desktop-table{
    display:none!important;
  }
  .inventory-mobile-list{
    display:grid;
    gap:12px;
    margin-top:14px;
  }
  .inventory-filter-toolbar>*{
    width:100%;
    min-width:0!important;
    flex:1 1 100%!important;
  }
  .kardex-operational-view .kardex-detail-panel{
    position:static;
  }
  .kardex-table .table-wrap{
    max-height:none;
  }
}


/* =====================================================================
   AXORA v1.8.2 — Encabezado sticky y captura clara de reingresos
   ===================================================================== */
.workspace{
  position:relative;
  overflow:visible!important;
}
.topbar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  width:100%;
  box-sizing:border-box;
  flex:0 0 auto;
}

/* Los reingresos autorizados necesitan ancho operativo completo para
   mostrar material, cantidades, condición, destino y acción sin cruces. */
.reentry-authorized-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;
}
.reentry-authorized-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  overflow:visible;
  padding:20px 22px;
}
.reentry-authorized-card>header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}
.reentry-authorized-card>header>b{
  max-width:180px;
  text-align:right;
  white-space:normal;
  line-height:1.25;
}
.reentry-authorized-card .reentry-card-meta{
  grid-template-columns:minmax(170px,.8fr) minmax(220px,1fr) minmax(150px,.65fr);
}
.reentry-authorized-card .reentry-line-row{
  grid-template-columns:minmax(230px,1.15fr) minmax(145px,.5fr) minmax(390px,1.45fr);
  align-items:end;
  padding:16px;
  gap:16px;
}
.reentry-authorized-card .reentry-line-inputs{
  grid-template-columns:minmax(135px,.85fr) minmax(150px,1fr) minmax(145px,.9fr);
  gap:12px;
}
.reentry-authorized-card .reentry-line-inputs input,
.reentry-authorized-card .reentry-line-inputs select,
.reentry-authorized-card .reentry-destination{
  min-height:46px;
}
.reentry-authorized-card>.reentry-actions{
  margin-top:2px;
}
.reentry-authorized-card>.reentry-actions .company-btn{
  min-height:50px;
}

@media(max-width:1200px){
  .reentry-authorized-card .reentry-line-row{
    grid-template-columns:minmax(0,1fr) minmax(145px,.45fr);
    align-items:center;
  }
  .reentry-authorized-card .reentry-line-inputs{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .topbar{
    top:0!important;
    z-index:1400!important;
  }
  .reentry-authorized-card{
    padding:16px;
    overflow:hidden;
  }
  .reentry-authorized-card>header{
    grid-template-columns:1fr;
    gap:8px;
  }
  .reentry-authorized-card>header>b{
    max-width:none;
    text-align:left;
  }
  .reentry-authorized-card .reentry-card-meta{
    grid-template-columns:1fr;
  }
  .reentry-authorized-card .reentry-card-meta>div:first-child{
    grid-column:auto;
  }
  .reentry-authorized-card .reentry-line-row,
  .reentry-authorized-card .reentry-line-inputs{
    grid-template-columns:1fr;
  }
}

/* =====================================================================
   AXORA v1.8.3 — Sticky real y reingreso dividido Disponible/Averiado
   ===================================================================== */
.company-shell{
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.company-shell>.sidebar{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.workspace{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  scroll-behavior:smooth;
}
.topbar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  inset-block-start:0!important;
  align-self:stretch!important;
  flex-shrink:0!important;
  z-index:5000!important;
}

.reentry-authorized-card .reentry-line-row{
  grid-template-columns:minmax(220px,.9fr) minmax(145px,.42fr) minmax(460px,1.55fr)!important;
  align-items:center!important;
}
.reentry-line-split{
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(250px,1fr) minmax(120px,.42fr);
  gap:12px;
  align-items:end;
  min-width:0;
}
.reentry-split-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(110px,1fr));
  gap:10px;
  min-width:0;
}
.reentry-split-fields label{
  display:grid;
  gap:5px;
  color:#64748b;
  font-size:10px;
  font-weight:850;
}
.reentry-split-fields input{
  width:100%;
  min-height:46px;
  border:1px solid #d7dce2;
  border-radius:11px;
  background:#fff;
  color:#111827;
  padding:8px 10px;
  box-sizing:border-box;
  font:inherit;
}
.reentry-split-destinations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.reentry-split-destinations>div{
  min-height:46px;
  border:1px solid #d7dce2;
  border-radius:11px;
  background:#fff;
  padding:7px 10px;
  display:grid;
  align-content:center;
  min-width:0;
}
.reentry-split-destinations small,
.reentry-split-summary span,
.reentry-split-summary small{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.reentry-split-destinations b{
  margin-top:3px;
  font-size:12px;
  overflow-wrap:anywhere;
}
.reentry-split-summary{
  min-height:46px;
  border:1px solid #fecaca;
  border-radius:11px;
  background:#fff7f7;
  padding:7px 10px;
  display:grid;
  align-content:center;
  gap:1px;
}
.reentry-split-summary b{
  color:var(--company-primary);
  font-size:20px;
  line-height:1;
}
.reentry-split-summary small{
  text-transform:none;
  letter-spacing:0;
}

@media(max-width:1280px){
  .reentry-authorized-card .reentry-line-row{
    grid-template-columns:minmax(0,1fr) minmax(140px,.35fr)!important;
  }
  .reentry-line-split{
    grid-column:1/-1;
  }
}
@media(max-width:900px){
  .company-shell,
  .workspace{
    height:100vh!important;
    height:100dvh!important;
  }
  .company-shell>.sidebar{
    height:100dvh!important;
  }
  .reentry-line-split{
    grid-template-columns:1fr;
  }
  .reentry-split-summary{
    min-height:54px;
  }
}
@media(max-width:560px){
  .reentry-authorized-card .reentry-line-row{
    grid-template-columns:1fr!important;
  }
  .reentry-split-fields,
  .reentry-split-destinations{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   AXORA v1.8.4 — Submenús compatibles con sidebar sticky
   ===================================================================== */
.company-shell>.sidebar .nav-groups{
  flex:0 0 auto!important;
  min-height:auto!important;
  overflow:visible!important;
}
.company-shell>.sidebar .nav-group{
  flex:0 0 auto!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.company-shell>.sidebar .nav-group>.nav-submenu{
  display:none!important;
  position:static!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
.company-shell>.sidebar .nav-group.open>.nav-submenu,
.company-shell>.sidebar .nav-group>.nav-submenu.is-open{
  display:grid!important;
}
.company-shell>.sidebar .nav-group-toggle{
  position:relative;
  z-index:2;
  pointer-events:auto!important;
  touch-action:manipulation;
}
@media(max-width:900px){
  .company-shell>.sidebar .nav-group>.nav-submenu{
    grid-template-columns:1fr!important;
  }
}

/* AXORA v1.9.0 · Traslados certificados */
.transfers-v2{align-items:start}
.transfer-form-grid{display:grid;grid-template-columns:2fr 1fr minmax(120px,.6fr) 1.2fr;gap:14px;margin-top:16px}
.transfer-form-grid label{display:grid;gap:7px;color:#4b5563;font-size:12px;font-weight:850}
.transfer-form-grid select,.transfer-form-grid input{min-height:46px;border:1px solid #d7dce2;border-radius:13px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box;width:100%}
.transfer-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}
.transfer-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.06);display:grid;gap:15px;min-width:0}
.transfer-card.done{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0}
.transfer-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.transfer-card-head h3{margin:7px 0 2px;font-size:21px}
.transfer-card-head p{margin:0;color:var(--muted);font-weight:700}
.transfer-route{display:flex;align-items:center;gap:9px;white-space:nowrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px}
.transfer-route span{color:var(--company-primary);font-size:20px;font-weight:900}
.transfer-material{display:grid;grid-template-columns:2fr 1fr .7fr;gap:10px}
.transfer-material>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;display:grid;gap:3px;min-width:0}
.transfer-material small,.transfer-meta{color:var(--muted);font-weight:700}
.transfer-material b{overflow-wrap:anywhere}
.transfer-material span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.transfer-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}
.transfer-actions{display:flex;justify-content:flex-end;align-items:center}
@media(max-width:920px){
  .transfer-form-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .transfer-form-grid{grid-template-columns:1fr}
  .transfer-card-grid{grid-template-columns:1fr}
  .transfer-card{padding:14px;border-radius:17px}
  .transfer-card-head{display:grid}
  .transfer-route{justify-content:center;width:100%;box-sizing:border-box}
  .transfer-material{grid-template-columns:1fr}
  .transfer-actions .company-btn{width:100%}
}


.transfer-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:14px;margin-top:16px}
.transfer-toolbar label,.transfer-form-bulk label{display:grid;gap:7px;color:#4b5563;font-size:12px;font-weight:850}
.transfer-toolbar input,.transfer-toolbar select{min-height:46px;border:1px solid #d7dce2;border-radius:13px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box;width:100%}
.transfer-form-bulk{grid-template-columns:minmax(0,2fr) minmax(220px,1fr) minmax(220px,1fr)}
.transfer-batch-card{grid-column:span 1}
.transfer-batch-summary{display:grid;text-align:right;min-width:100px}
.transfer-batch-summary b{font-size:25px;line-height:1}
.transfer-batch-summary span,.transfer-batch-summary small{color:var(--muted);font-weight:750}
.transfer-batch-lines{display:grid;gap:9px;max-height:310px;overflow:auto;padding-right:2px}
.transfer-batch-line{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:13px;background:#fff}
.transfer-batch-line>div{display:grid;gap:2px;min-width:0}
.transfer-batch-line b,.transfer-batch-line span,.transfer-batch-line small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transfer-batch-line span,.transfer-batch-line small{color:var(--muted);font-weight:700}
.transfer-batch-line strong{white-space:nowrap;font-size:17px}
@media(max-width:760px){.transfer-toolbar,.transfer-form-bulk{grid-template-columns:1fr}.transfer-batch-summary{text-align:left}.transfer-batch-line{align-items:flex-start}.transfer-batch-line b,.transfer-batch-line span,.transfer-batch-line small{white-space:normal}}

/* AXORA v2.0.0 · Devoluciones certificadas */
.returns-v2{align-items:start}
.return-header-form,.return-line-builder,.return-process-form{
  display:grid;
  gap:12px;
  align-items:end;
}
.return-header-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
.return-line-builder{grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) 120px minmax(220px,1.2fr) auto;margin-top:14px}
.return-header-form label,.return-line-builder label,.return-process-form label{
  display:grid;
  gap:6px;
  color:#4b5563;
  font-size:12px;
  font-weight:800;
}
.return-header-form input,.return-line-builder input,.return-process-form input,.return-process-form select{
  min-height:44px;
  border:1px solid #d7dce2;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:#111827;
  font:inherit;
  box-sizing:border-box;
  width:100%;
}
.return-draft-list{display:grid;gap:8px;margin-top:14px}
.return-draft-list>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:10px 12px;
  background:#f8fafc;
}
.empty-state.compact{padding:16px;margin-top:14px}
.return-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}
.return-summary-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:14px;
  background:#fff;
  display:grid;
  gap:6px;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
  appearance:none;
  -webkit-appearance:none;
}
.return-summary-card:hover,.return-summary-card.active{border-color:var(--company-primary);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.return-summary-card b{font-size:18px}
.return-summary-card strong{font-size:15px}
.return-summary-card small{color:var(--muted);font-weight:700}
.return-active-card .section-head{align-items:center}
.return-line-grid{display:grid;gap:16px}
.return-line-card{display:grid;gap:16px}
.return-line-head{display:flex;justify-content:space-between;align-items:start;gap:16px}
.return-line-head h3{margin:8px 0 2px;font-size:21px}
.return-line-head p{margin:0;color:var(--muted);font-weight:700}
.return-line-quantity{display:grid;gap:2px;text-align:right;min-width:150px}
.return-line-quantity small,.return-line-quantity span{color:var(--muted);font-weight:700}
.return-line-quantity b{font-size:24px}
.return-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.return-balance-grid>div{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc;display:grid;gap:4px}
.return-balance-grid small{color:var(--muted);font-weight:700}
.return-balance-grid b{font-size:20px}
.return-allocation-list{display:grid;gap:8px}
.return-allocation-list>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #e5e7eb;border-radius:13px;padding:10px 12px;background:#fff}
.return-allocation-list small{color:var(--muted);font-weight:700}
.return-process-form{
  grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr) minmax(140px,.8fr) minmax(140px,.8fr) minmax(220px,1.2fr) auto;
  padding:16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
}
.return-process-form .company-btn{min-height:44px}
@media(max-width:1100px){
  .return-line-builder{grid-template-columns:1fr 1fr 120px 1fr}
  .return-line-builder .company-btn{grid-column:1/-1}
  .return-process-form{grid-template-columns:1fr 1fr 1fr}
  .return-process-form .return-notes{grid-column:1/3}
}
@media(max-width:760px){
  .return-header-form,.return-line-builder,.return-process-form{grid-template-columns:1fr}
  .return-line-builder .company-btn,.return-process-form .return-notes{grid-column:auto}
  .return-line-head{display:grid}
  .return-line-quantity{text-align:left;min-width:0}
  .return-balance-grid{grid-template-columns:1fr}
  .return-draft-list>div{align-items:flex-start}
  .return-summary-grid{grid-template-columns:1fr}
}

/* Avería interna desde inventario Disponible */
.internal-damage-card{border-left:4px solid #f59e0b;}
.internal-damage-form{grid-template-columns:minmax(280px,1.4fr) 130px minmax(260px,1.2fr) auto;}
.internal-damage-form .internal-damage-reason{min-width:0;}
@media(max-width:900px){.internal-damage-form{grid-template-columns:1fr 130px 1fr}.internal-damage-form .company-btn{grid-column:1/-1;}}
@media(max-width:620px){.internal-damage-form{grid-template-columns:1fr}.internal-damage-form .company-btn{grid-column:auto;width:100%;}}

/* AXORA v1.10.3 · Devolución definitiva de productos averiados */
.damaged-return-list{display:grid;gap:16px}
.damaged-return-card{border-left:4px solid var(--company-primary);display:grid;gap:16px}
.damaged-return-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.damaged-return-head h3{margin:8px 0 2px;font-size:22px}
.damaged-return-head p{margin:0;color:var(--muted);font-weight:700}
.damaged-return-balance{min-width:190px;text-align:right;display:grid;gap:2px}
.damaged-return-balance small,.damaged-return-balance span{color:var(--muted);font-weight:700}
.damaged-return-balance b{font-size:28px}
.damaged-return-form{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:12px;align-items:end}
.damaged-return-form label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:800}
.damaged-return-form input{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.damaged-return-form .company-btn{min-height:44px}
@media(max-width:760px){
  .damaged-return-head{display:grid}
  .damaged-return-balance{text-align:left;min-width:0}
  .damaged-return-form{grid-template-columns:1fr}
  .damaged-return-form .company-btn{width:100%}
}

/* Centro de Operaciones v1.11.0 */
.daily-sync-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.daily-sync-bar>div{display:grid;gap:4px;}
.daily-sync-bar span{color:var(--muted);font-weight:700;}
.operations-real-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1050px){.operations-real-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.daily-sync-bar{align-items:stretch;display:grid}.daily-sync-bar .company-btn{width:100%}.operations-real-metrics{grid-template-columns:1fr}}

/* AXORA v1.12.0 · Centro de Misiones real */
.missions-real{align-items:start}
.mission-sync-bar{position:relative;z-index:1}
.mission-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:stretch;background:linear-gradient(135deg,#fff 0%,#fbfcfe 60%,#fff6f6 100%);overflow:hidden}
.mission-hero>div:first-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:6px 0}
.mission-hero h2{margin:12px 0 8px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}
.mission-hero p{margin:0;color:var(--muted);max-width:720px;line-height:1.55}
.mission-next{border:1px solid #f2c7ca;border-radius:20px;padding:20px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.07);display:grid;gap:9px;align-content:start}
.mission-next.complete{border-color:#bbf7d0;background:linear-gradient(145deg,#f0fdf4,#fff)}
.mission-next small{font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.mission-next>b{font-size:20px;line-height:1.25}
.mission-next p{font-size:13px}
.mission-next .company-btn{margin-top:4px;justify-self:start}
.mission-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mission-metrics>.card{padding:18px;display:grid;gap:5px;position:relative;overflow:hidden}
.mission-metrics>.card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--company-primary)}
.mission-metrics small{font-weight:850;color:var(--muted)}
.mission-metrics b{font-size:34px;line-height:1;margin:7px 0 4px;letter-spacing:-.045em}
.mission-metrics span{font-size:12px;color:var(--muted);font-weight:700}
.mission-control{display:grid;gap:14px}
.mission-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.mission-filters label{display:grid;gap:6px;min-width:190px;color:var(--muted);font-size:12px;font-weight:850}
.mission-filters select{min-height:44px;border:1px solid var(--border);border-radius:12px;padding:9px 12px;background:#fff;font:inherit;color:var(--text)}
.mission-filter-result{margin-left:auto;align-self:center;padding:9px 12px;border-radius:999px;background:#f8fafc;border:1px solid var(--border);font-size:12px;color:var(--muted);font-weight:800}
.mission-list{display:grid;gap:14px}
.mission-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--border);border-radius:22px;padding:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.mission-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(15,23,42,.09);border-color:#e9b7ba}
.mission-card.primary{border-color:#efb5b8;background:linear-gradient(135deg,#fff,#fff8f8)}
.mission-card-order{align-self:stretch;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
.mission-card-order span{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#fff1f2;border:1px solid #fecdd3;color:#b4232b;font-size:14px;font-weight:950;line-height:1;text-align:center}
.mission-card.primary .mission-card-order span{background:var(--company-primary);border-color:var(--company-primary);color:#fff}
.mission-card-body{min-width:0}
.mission-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mission-source{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:900;color:#334155}
.mission-source i{width:28px;height:28px;border-radius:9px;background:#f1f5f9;display:grid;place-items:center;font-style:normal;color:#111827}
.mission-kind{font-size:11px;font-weight:850;color:var(--muted);background:#f8fafc;border:1px solid var(--border);border-radius:999px;padding:5px 9px}
.mission-card h3{margin:9px 0 4px;font-size:19px;line-height:1.25}
.mission-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.mission-card-foot{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}
.mission-card-foot b{color:#334155}
.mission-card>.company-btn{min-width:132px}
@media(max-width:1050px){
  .mission-hero{grid-template-columns:1fr}
  .mission-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .mission-hero{padding:16px}
  .mission-next{padding:16px}
  .mission-metrics{grid-template-columns:1fr 1fr;gap:10px}
  .mission-metrics>.card{padding:15px}
  .mission-metrics b{font-size:28px}
  .mission-filters{display:grid;grid-template-columns:1fr}
  .mission-filters label{min-width:0;width:100%}
  .mission-filter-result{margin-left:0;justify-self:start}
  .mission-card{grid-template-columns:38px minmax(0,1fr);padding:15px;gap:11px;border-radius:18px}
  .mission-card-order span{width:32px;height:32px}
  .mission-card>.company-btn{grid-column:2;width:100%;min-width:0;margin-top:2px}
  .mission-card-foot{display:grid;gap:4px}
}
@media(max-width:420px){
  .mission-metrics{grid-template-columns:1fr}
  .mission-hero h2{font-size:30px}
}


/* Centro de Tareas real v1.13.0 */
.tasks-real{align-items:start}
.task-sync-bar{position:relative}
.task-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:24px;align-items:stretch}
.task-hero h2{margin:10px 0 8px;font-size:clamp(28px,4vw,44px)}
.task-hero>div:first-child>p{max-width:760px;color:var(--muted);font-weight:650;line-height:1.6}
.task-next{border:1px solid #fecaca;background:linear-gradient(135deg,#fff1f2,#fff);border-radius:20px;padding:20px;display:grid;gap:9px;align-content:start}
.task-next.complete{border-color:#bbf7d0;background:linear-gradient(135deg,#ecfdf5,#fff)}
.task-next small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.task-next>b{font-size:20px}.task-next p{margin:0;color:var(--muted);line-height:1.5}
.task-next .company-btn{justify-self:start;margin-top:6px}
.task-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.task-metrics .card{display:grid;gap:6px;padding:18px}.task-metrics small{color:var(--muted);font-weight:800}.task-metrics b{font-size:30px}.task-metrics span{color:var(--muted);font-size:13px;font-weight:650}
.task-control{display:grid;gap:16px}
.task-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.task-filters label{display:grid;gap:6px;min-width:min(100%,240px);color:var(--muted);font-size:12px;font-weight:800}
.task-filters select{min-height:44px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff;font:inherit}
.task-filter-result{margin-left:auto;padding:11px 14px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-weight:800;font-size:13px}
.tasks-real .task-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.tasks-real .task-card{display:grid;gap:14px;min-width:0}
.tasks-real .task-card.primary{border-color:#fecaca;box-shadow:0 18px 42px rgba(215,25,32,.10)}
.tasks-real .task-card .task-top>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-source-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:850}
.tasks-real .task-meta.real{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tasks-real .task-meta.real>span{display:grid;gap:3px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;min-width:0}
.tasks-real .task-meta.real small{color:var(--muted);font-size:11px;font-weight:750}.tasks-real .task-meta.real b{overflow-wrap:anywhere}
.task-process-note{padding:10px 12px;border-left:4px solid var(--company-primary);border-radius:8px;background:#fff7ed;color:#7c2d12;font-size:12px;font-weight:750;line-height:1.45}
@media(max-width:980px){.task-hero{grid-template-columns:1fr}.task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.task-metrics,.tasks-real .task-board,.tasks-real .task-meta.real{grid-template-columns:1fr}.task-filters{display:grid;grid-template-columns:1fr}.task-filters label{min-width:0}.task-filter-result{margin-left:0;text-align:center}.task-next .company-btn{width:100%}.tasks-real .task-card .actions .company-btn{width:100%}}

/* AXORA v1.14.0 · Centro Operativo unificado */
.operations-unified .operational-work-metrics{grid-template-columns:repeat(6,minmax(0,1fr));}
.operations-unified .operational-center-filters label{min-width:170px;}
.operations-unified .operational-work-list{display:grid;gap:12px;}
@media(max-width:1250px){
  .operations-unified .operational-work-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .operations-unified .operational-work-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .operations-unified .operational-center-filters{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .operations-unified .operational-work-metrics{grid-template-columns:1fr;}
}


/* AXORA v1.15.0 · Notificaciones reales */
.notifications-real{align-items:start}
.notification-sync-bar{position:relative;z-index:2}
.notification-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.notification-metrics .card{display:grid;gap:5px;min-height:112px}
.notification-metrics small,.notification-metrics span{color:var(--muted);font-weight:700}
.notification-metrics b{font-size:30px}
.notification-control{display:grid;gap:16px}
.notification-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end}
.notification-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}
.notification-filters select{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit}
.notification-filters>span{min-height:44px;display:flex;align-items:center;justify-content:flex-end;color:var(--muted);font-weight:800}
.notification-card.good{border-left:5px solid #16a34a}
.notification-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.notification-heading>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.notification-source,.notification-kind{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:850}
.notification-kind{background:#fff1f2;color:#9f1239}
.notification-content>h3{margin:10px 0 0}
@media(max-width:900px){
  .notification-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notification-filters{grid-template-columns:1fr 1fr}
  .notification-filters>span{justify-content:flex-start}
}
@media(max-width:620px){
  .notification-metrics{grid-template-columns:1fr 1fr;gap:10px}
  .notification-metrics .card{min-height:96px;padding:14px}
  .notification-metrics b{font-size:25px}
  .notification-filters{grid-template-columns:1fr}
  .notification-heading{display:grid}
  .notification-card{padding:14px;gap:10px}
  .notification-card .actions{display:grid;grid-template-columns:1fr}
  .notification-card .actions>*{width:100%}
}

/* AXORA v1.16.0 · Inventario Físico certificado */
.physical-v2{align-items:start}
.physical-create-form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(200px,1fr) minmax(260px,1.4fr) auto;gap:12px;align-items:end}
.physical-create-form label,.physical-filters label,.physical-session-select label,.physical-entry label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#4b5563}
.physical-create-form input,.physical-create-form select,.physical-filters input,.physical-filters select,.physical-session-select select,.physical-entry input{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.physical-session-bar{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap}
.physical-session-select{display:flex;gap:18px;align-items:end;flex:1 1 600px;flex-wrap:wrap}
.physical-session-select label{min-width:min(100%,360px);flex:1 1 330px}
.physical-session-select>div{display:grid;gap:3px;min-width:145px}
.physical-session-select small{color:var(--muted);font-weight:700}
.physical-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.physical-metrics .card{display:grid;gap:4px;padding:17px}
.physical-metrics small,.physical-metrics span{color:var(--muted);font-weight:700}
.physical-metrics b{font-size:25px}
.physical-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.physical-filters label:first-child{flex:1 1 360px}
.physical-filters label:nth-child(2){flex:0 1 230px}
.physical-filters>span{margin-left:auto;color:var(--muted);font-weight:800;padding-bottom:12px}
.physical-line-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.physical-line-card{border:1px solid var(--border);border-radius:20px;padding:18px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.055);display:grid;gap:15px;min-width:0}
.physical-line-card.has-difference{border-color:#f3c98b;background:linear-gradient(135deg,#fffaf2,#fff)}
.physical-line-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.physical-line-head>div{display:grid;gap:5px;min-width:0}
.physical-line-head b{font-size:22px}
.physical-line-head small{color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.physical-line-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.physical-line-metrics>div{border:1px solid #e5e7eb;background:#f8fafc;border-radius:13px;padding:10px;display:grid;gap:3px;min-width:0}
.physical-line-metrics small{color:var(--muted);font-weight:700;font-size:11px}
.physical-line-metrics b{font-size:17px;overflow-wrap:anywhere}
.physical-line-metrics .difference-value{color:#b45309}
.physical-entry{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(220px,1.4fr) auto;gap:10px;align-items:end;padding:14px;background:#111827;border-radius:16px}
.physical-entry label{color:#e5e7eb}
.physical-entry .company-btn{min-height:44px}
.physical-trace{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:700}
.physical-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.physical-history-card{appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff;text-align:left;color:inherit;font:inherit;cursor:pointer;display:grid;gap:7px}
.physical-history-card.active{border-color:#111827;box-shadow:0 10px 25px rgba(15,23,42,.1)}
.physical-history-card>b{font-size:18px}.physical-history-card small{color:var(--muted);font-weight:700}
@media(max-width:1050px){.physical-create-form{grid-template-columns:1fr 1fr}.physical-create-form .company-btn{width:100%}.physical-line-list{grid-template-columns:1fr}.physical-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.physical-create-form,.physical-metrics,.physical-line-metrics,.physical-entry,.physical-history-grid{grid-template-columns:1fr}.physical-session-bar,.physical-session-select{display:grid;width:100%}.physical-session-select>*{width:100%;min-width:0!important}.physical-filters{display:grid}.physical-filters>*{width:100%;min-width:0}.physical-filters>span{margin:0;padding:0}.physical-line-card{padding:14px;border-radius:16px}.physical-line-head{display:grid}.physical-entry .company-btn{width:100%}}


/* AXORA v1.17.0 · Incidencias y Aprobaciones reales */
.incidents-v2{align-items:start}
.incident-toolbar{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(190px,.7fr) auto auto;gap:12px;align-items:end}
.incident-toolbar label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:800}
.incident-toolbar input,.incident-toolbar select{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.incident-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.incident-card{display:grid;gap:15px;min-width:0;border-left:5px solid #f59e0b}
.incident-card.resolved{border-left-color:#16a34a;background:linear-gradient(135deg,#f0fdf4,#fff)}
.incident-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.incident-card-head>div{display:grid;gap:5px;min-width:0}
.incident-card-head h3{margin:0;font-size:20px}.incident-card-head p{margin:0;color:var(--muted);font-weight:700}
.incident-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.incident-detail-grid>div{display:grid;gap:3px;padding:10px;border:1px solid #e5e7eb;border-radius:13px;background:#f8fafc;min-width:0}
.incident-detail-grid small{color:var(--muted);font-weight:700}.incident-detail-grid b{overflow-wrap:anywhere}
.incident-trace{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:700}
.incident-card .actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:1000px){.incident-toolbar{grid-template-columns:1fr 1fr}.incident-card-grid{grid-template-columns:1fr}}
@media(max-width:700px){.incident-toolbar,.incident-detail-grid{grid-template-columns:1fr}.incident-toolbar>*{width:100%}.incident-card{padding:14px}.incident-card-head{display:grid}.incident-card .actions{display:grid}.incident-card .actions>*{width:100%}}

/* AXORA v1.18.0 · Conciliación Nestlé */
.reconciliation-v2{align-items:start}
.reconciliation-upload-row,.reconciliation-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.reconciliation-upload-row .file-drop,.reconciliation-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#4b5563;flex:1 1 260px}
.reconciliation-upload-row input,.reconciliation-toolbar select,.reconciliation-action-form select,.reconciliation-action-form input{min-height:44px;border:1px solid #d7dce2;border-radius:12px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box}
.reconciliation-preview-summary,.reconciliation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.reconciliation-preview-summary>div,.reconciliation-kpis>div,.reconciliation-qty-grid>div{border:1px solid #e5e7eb;border-radius:15px;padding:13px;background:#f8fafc;display:grid;gap:4px}
.reconciliation-preview-summary small,.reconciliation-kpis small,.reconciliation-qty-grid small{color:var(--muted);font-weight:700}
.reconciliation-preview-summary b,.reconciliation-kpis b{font-size:22px}
.reconciliation-line-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.reconciliation-line-card{display:grid;gap:14px;border-left:5px solid #94a3b8}
.reconciliation-line-card.is-match{border-left-color:#16a34a}
.reconciliation-line-card.is-difference{border-left-color:var(--company-primary)}
.reconciliation-line-head{display:flex;justify-content:space-between;gap:18px;align-items:start}
.reconciliation-line-head h3{margin:8px 0 2px;font-size:21px}.reconciliation-line-head p{margin:0;color:var(--muted);font-weight:700}
.reconciliation-difference{min-width:150px;text-align:right;display:grid;gap:3px}.reconciliation-difference small{color:var(--muted);font-weight:700}.reconciliation-difference b{font-size:27px}.reconciliation-difference.positive b{color:#b91c1c}.reconciliation-difference.negative b{color:#0369a1}
.reconciliation-qty-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reconciliation-qty-grid b{font-size:20px}
.reconciliation-explanation{margin:0;color:#475569;line-height:1.55}
.reconciliation-action-form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:10px;align-items:end;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.reconciliation-action-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#475569}
.reconciliation-history{display:grid;gap:10px}.reconciliation-history-item{width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;cursor:pointer;font:inherit;color:inherit}.reconciliation-history-item:hover,.reconciliation-history-item.active{border-color:var(--company-primary);box-shadow:0 10px 28px rgba(15,23,42,.07)}.reconciliation-history-item>div{display:grid;gap:4px}.reconciliation-history-item>div:last-child{text-align:right}.reconciliation-history-item span,.reconciliation-history-item small{color:var(--muted)}
@media(max-width:980px){.reconciliation-line-list{grid-template-columns:1fr}.reconciliation-action-form{grid-template-columns:1fr 1fr}.reconciliation-action-form .company-btn{grid-column:1/-1}}
@media(max-width:700px){.reconciliation-preview-summary,.reconciliation-kpis{grid-template-columns:1fr 1fr}.reconciliation-toolbar>*{width:100%;flex:1 1 100%!important}.reconciliation-line-head{display:grid}.reconciliation-difference{text-align:left}.reconciliation-action-form{grid-template-columns:1fr}.reconciliation-action-form .company-btn{grid-column:auto;width:100%}.reconciliation-history-item{align-items:flex-start}.reconciliation-history-item>div:last-child{text-align:left}}

/* === AXORA v1.19.0 Informes y Reportes certificados === */
.reports-certified .report-sync-label{margin:14px 0 0;text-align:right;}
.report-process-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.report-process-card{
  min-height:138px;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  color:#111827;
  text-align:left;
  font:inherit;
  cursor:pointer;
  display:grid;
  gap:6px;
  align-content:start;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.report-process-card:hover,
.report-process-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(215,25,32,.45);
  box-shadow:0 16px 32px rgba(15,23,42,.09);
  outline:none;
}
.report-process-card>span{font-size:12px;font-weight:900;color:#475569;min-height:30px;}
.report-process-card>b{font-size:30px;line-height:1;color:var(--company-primary);}
.report-process-card>small{font-weight:800;color:#64748b;}
.report-process-card>div{margin-top:auto;padding-top:10px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:8px;font-size:10px;}
.report-process-card em{font-style:normal;color:#64748b;font-weight:800;}
.report-process-card strong{color:#111827;}
@media(max-width:1200px){.report-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){
  .reports-certified .executive-grid{grid-template-columns:1fr 1fr;}
  .report-process-grid{grid-template-columns:1fr 1fr;}
  .report-process-card{min-height:122px;padding:14px;}
  .reports-certified .bar-report div{grid-template-columns:minmax(120px,1fr) 46px;gap:8px;}
  .reports-certified .bar-report i{grid-column:1/-1;}
  .reports-certified .report-sync-label{text-align:left;}
}
@media(max-width:430px){
  .reports-certified .executive-grid,.report-process-grid{grid-template-columns:1fr;}
}

/* AXORA v1.20.0 - Maestro de Materiales */
.materials-mobile-grid{display:none}
.material-mobile-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06);display:grid;gap:14px}
.material-mobile-card h3,.material-mobile-card p{margin:0}
.material-mobile-card>small{color:var(--muted);font-weight:700}
.material-balance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.material-balance-grid>div{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#f8fafc;display:grid;gap:3px;text-align:center}
.material-balance-grid span{font-size:11px;color:var(--muted);font-weight:800}
.material-balance-grid b{font-size:18px}
@media(max-width:760px){
  .materials-table-wrap{display:none}
  .materials-mobile-grid{display:grid;gap:12px;margin-top:14px}
  .material-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .material-balance-grid>div:last-child{grid-column:1/-1}
  .materials-v2 .filter-row{grid-template-columns:1fr}
  .materials-v2 .form-grid{grid-template-columns:1fr}
}

/* AXORA v1.20.1 — Maestro de Materiales y descripciones oficiales */
.materials-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
.materials-table-wrap .table{min-width:1180px;width:100%;table-layout:auto}
.materials-table-wrap .table th{white-space:nowrap;word-break:normal;overflow-wrap:normal;vertical-align:middle;text-align:center;padding-inline:14px}
.materials-table-wrap .table td{vertical-align:middle;padding-inline:14px}
.materials-table-wrap .table th:nth-child(1),
.materials-table-wrap .table td:nth-child(1){min-width:118px;text-align:left}
.materials-table-wrap .table th:nth-child(2),
.materials-table-wrap .table td:nth-child(2){min-width:260px;text-align:left}
.materials-table-wrap .table th:nth-child(3),
.materials-table-wrap .table td:nth-child(3){min-width:165px;text-align:left}
.materials-table-wrap .table th:nth-child(4),
.materials-table-wrap .table td:nth-child(4){min-width:108px;text-align:center}
.materials-table-wrap .table th:nth-child(n+5),
.materials-table-wrap .table td:nth-child(n+5){min-width:105px;text-align:center;font-variant-numeric:tabular-nums}
.materials-table-wrap .table th:nth-child(8),
.materials-table-wrap .table td:nth-child(8){min-width:132px}
.materials-table-wrap .table th:last-child,
.materials-table-wrap .table td:last-child{min-width:105px}
.material-source-note{display:block;margin-top:8px;padding:9px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}
.material-description-warning{display:block;margin-top:6px;color:#9a3412;font-weight:750;line-height:1.35}
.pending-material-list{display:grid;gap:7px;margin:12px 0}
.pending-material-list>span{display:block;padding:8px 10px;border:1px solid rgba(153,27,27,.16);border-radius:10px;background:rgba(255,255,255,.62);line-height:1.35}
@media(max-width:900px){
  .materials-table-wrap{display:none}
}
.material-history-warning{display:block;margin-top:7px;color:#9a3412;line-height:1.4;font-weight:700}


/* AXORA v1.20.2 — Maestro completo y aprobación masiva */
.materials-v2,.materials-v2>.card,.materials-catalog-card{min-width:0;max-width:100%}
.material-bulk-card{overflow:hidden}
.material-bulk-controls{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(110px,.45fr) repeat(3,minmax(170px,.8fr));gap:12px;align-items:end}
.material-bulk-controls label{min-width:0}
.material-bulk-selection{min-height:48px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:8px 14px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center}
.material-bulk-selection b{font-size:22px;color:var(--company-primary)}
.material-bulk-selection span{font-size:12px;font-weight:800;color:var(--muted)}
.materials-table-wrap{max-width:100%;width:100%;overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable;border-radius:16px;position:relative}
.materials-table-wrap .materials-compact-table{width:100%;min-width:1035px;table-layout:fixed}
.materials-compact-table col.col-select{width:44px}
.materials-compact-table col.col-material{width:100px}
.materials-compact-table col.col-description{width:220px}
.materials-compact-table col.col-family{width:125px}
.materials-compact-table col.col-status{width:92px}
.materials-compact-table col.col-number{width:76px}
.materials-compact-table col.col-transit{width:96px}
.materials-compact-table col.col-action{width:92px}
.materials-table-wrap .materials-compact-table th{white-space:nowrap;word-break:normal;overflow-wrap:normal;text-align:center;padding:12px 8px;font-size:11px;letter-spacing:.02em}
.materials-table-wrap .materials-compact-table td{padding:12px 8px;text-align:center;overflow-wrap:anywhere}
.materials-table-wrap .materials-compact-table .material-code-cell,.materials-table-wrap .materials-compact-table .material-description-cell,.materials-table-wrap .materials-compact-table .material-family-cell{text-align:left}
.material-description-cell{line-height:1.35}
.material-select-col{position:sticky;left:0;z-index:3;background:#fff;text-align:center!important}
thead .material-select-col{z-index:6;background:#f8fafc}
.material-action-col{position:sticky;right:0;z-index:3;background:#fff;box-shadow:-8px 0 14px rgba(15,23,42,.05)}
thead .material-action-col{z-index:6;background:#f8fafc}
.material-pending-row td{background-color:#fffbeb}
.material-pending-row .material-select-col,.material-pending-row .material-action-col{background:#fffbeb}
.material-mobile-title{display:flex;align-items:flex-start;gap:10px;min-width:0}
.material-mobile-title input{margin-top:5px;flex:0 0 auto}
.material-mobile-title>div{min-width:0}
@media(max-width:1280px){
  .material-bulk-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .material-bulk-controls label{grid-column:1/-1}
}
@media(max-width:900px){
  .material-bulk-controls{grid-template-columns:1fr}
  .material-bulk-controls>*{width:100%}
  .material-bulk-controls label{grid-column:auto}
}


/* AXORA v1.20.4 · selección estable para pasar Disponible a Avería */
.internal-damage-search-block{display:grid;gap:12px;margin:18px 0;}
.internal-damage-search-block>label{display:grid;gap:7px;font-weight:800;color:var(--ink,#172033);}
.internal-damage-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:310px;overflow:auto;padding:3px;scrollbar-gutter:stable;}
.internal-damage-result{appearance:none;border:1px solid #dbe2ea;background:#fff;border-radius:16px;padding:14px;text-align:left;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;cursor:pointer;color:inherit;transition:.16s ease;}
.internal-damage-result:hover{border-color:#ef4444;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px);}
.internal-damage-result.active{border:2px solid #dc2626;background:#fff7f7;box-shadow:0 10px 28px rgba(220,38,38,.12);}
.internal-damage-result span{display:grid;gap:4px;min-width:0;}
.internal-damage-result b,.internal-damage-result small{overflow-wrap:anywhere;}
.internal-damage-result small{color:#667085;line-height:1.35;}
.internal-damage-empty{grid-column:1/-1;border:1px dashed #cbd5e1;border-radius:16px;padding:20px;display:grid;gap:5px;text-align:center;color:#667085;background:#f8fafc;}
.internal-damage-selected{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #fecaca;background:#fff7f7;border-radius:16px;padding:13px 16px;margin-bottom:14px;}
.internal-damage-selected b,.internal-damage-selected span{overflow-wrap:anywhere;}
.internal-damage-selected span{color:#667085;text-align:right;}
.internal-damage-form{grid-template-columns:150px minmax(300px,1fr) auto;align-items:end;}
.internal-damage-form input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;}
@media(max-width:900px){.internal-damage-results{grid-template-columns:1fr}.internal-damage-form{grid-template-columns:140px 1fr}.internal-damage-form .company-btn{grid-column:1/-1;width:100%}.internal-damage-selected{align-items:flex-start;flex-direction:column}.internal-damage-selected span{text-align:left}}
@media(max-width:620px){.internal-damage-form{grid-template-columns:1fr}.internal-damage-result{grid-template-columns:1fr}.internal-damage-results{max-height:360px}.internal-damage-selected{padding:12px}}


/* AXORA v1.21.0 · Ubicaciones certificadas */
.locations-v2 .locations-table-wrap{max-width:100%;overflow:auto;}
.locations-v2 .locations-table-wrap table{min-width:980px;}
.locations-mobile-grid{display:none;gap:12px;}
.location-mobile-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06);display:grid;gap:12px;min-width:0;}
.location-mobile-card h3,.location-mobile-card p{margin:0;}
.location-mobile-card small{overflow-wrap:anywhere;color:var(--muted);}
.location-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.location-balance-grid>div{border:1px solid #e5e7eb;border-radius:12px;padding:10px;display:grid;gap:3px;background:#f8fafc;text-align:center;}
.location-balance-grid span{font-size:11px;color:var(--muted);font-weight:800;}
.location-balance-grid b{font-size:18px;}
@media(max-width:760px){
  .locations-table-wrap{display:none;}
  .locations-mobile-grid{display:grid;}
  .locations-v2 .executive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .location-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* AXORA v1.22.0 · Administrador dinámico de ubicaciones */
.location-dynamic-form{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;align-items:end}
.location-dynamic-form label,.location-management-grid label{display:grid;gap:7px;font-weight:700}
.location-management-grid{align-items:start}
.location-structures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.location-structure-card{border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:16px;background:var(--surface,#fff);display:grid;gap:12px}
.location-structure-card h3{margin:0;font-size:1.35rem}
.location-structure-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.location-structure-metrics>div{background:rgba(15,23,42,.04);border-radius:14px;padding:10px;display:grid;gap:3px}
.location-structure-metrics span{font-size:.78rem;color:var(--muted,#64748b)}
.location-structure-metrics b{font-size:1.15rem}
.location-row-actions{display:flex;gap:8px;flex-wrap:wrap}
.company-btn.danger{background:#fff1f2;color:#b42318;border-color:#fecdd3}
.company-btn.danger:hover{background:#ffe4e6}
.locations-v3 .locations-table-wrap td:last-child{min-width:170px}
@media(max-width:1100px){.location-dynamic-form{grid-template-columns:repeat(2,minmax(0,1fr))}.location-dynamic-form button{grid-column:span 2}}
@media(max-width:680px){.location-dynamic-form{grid-template-columns:1fr}.location-dynamic-form button{grid-column:auto}.location-row-actions{display:grid;grid-template-columns:1fr 1fr}.location-row-actions .company-btn{width:100%}.location-structures-grid{grid-template-columns:1fr}}
.location-management-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
@media(max-width:1100px){.location-management-grid-3{grid-template-columns:1fr 1fr}.location-management-grid-3>.card:last-child{grid-column:1/-1}}
@media(max-width:680px){.location-management-grid-3{grid-template-columns:1fr}.location-management-grid-3>.card:last-child{grid-column:auto}}

/* =====================================================================
   AXORA v1.23.0 — Picking compacto + confirmación parcial protegida
   ===================================================================== */
.picking-route-overview{min-width:0}
.route-strip.route-location-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.route-location-card{
  width:100%;
  min-height:118px;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.route-location-card:hover{
  border-color:#efb0b3;
  box-shadow:0 13px 28px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.route-location-card:focus-visible{
  outline:3px solid rgba(215,25,32,.16);
  outline-offset:2px;
}
.route-location-head{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  min-height:58px;
  padding:12px 13px 10px;
  border-bottom:0;
}
.route-location-title{
  min-width:0;
  display:grid;
  gap:2px;
}
.route-location-title>b{
  color:#172033;
  font-size:17px;
  line-height:1.1;
  font-weight:900;
}
.route-location-title>small{
  color:#8a93a2;
  font-size:10px;
  font-weight:750;
}
.route-location-card .route-step-badge{
  width:34px;
  height:34px;
  min-width:34px;
  font-size:13px;
}
.route-location-summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 18px;
  gap:9px;
  align-items:center;
  padding:0 13px 12px;
}
.route-location-summary .status{
  justify-self:start;
  font-size:9px;
  padding:5px 8px;
}
.route-location-summary>strong{
  color:#667085;
  font-size:9.5px;
  font-weight:800;
  text-align:right;
}
.route-location-arrow{
  color:#667085;
  font-size:22px;
  line-height:1;
  text-align:right;
}
.picking-route-detail-panel{
  min-width:0;
  display:grid;
  gap:15px;
  border:1px solid #cfe7df;
  box-shadow:0 16px 35px rgba(12,121,88,.08);
}
.picking-route-detail-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.picking-route-detail-heading>div{
  min-width:0;
  display:grid;
  gap:5px;
}
.picking-route-detail-heading h3{
  margin:0;
  color:#172033;
  font-size:25px;
  line-height:1.1;
}
.picking-route-detail-heading p{
  margin:0;
  color:#667085;
  font-size:11px;
  font-weight:700;
}
.picking-route-collapse{
  flex:0 0 auto;
}
.picking-route-detail-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:9px;
}
.picking-route-detail-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto 18px;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #e3e8ee;
  border-radius:12px;
  background:#fff;
  color:#172033;
  text-align:left;
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.picking-route-detail-row:hover{
  border-color:#9dd7c4;
  background:#fbfffd;
}
.picking-route-detail-row.active{
  border-color:#168866;
  background:#f3fcf8;
  box-shadow:0 0 0 3px rgba(22,136,102,.08);
}
.picking-route-detail-row.done{
  border-color:#ccebdc;
  background:#f7fdf9;
}
.picking-route-detail-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.picking-route-detail-copy>b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.picking-route-detail-copy>small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7b8494;
  font-size:9px;
  font-weight:700;
}
.picking-route-detail-row>strong{
  color:#d71920;
  font-size:12px;
  white-space:nowrap;
}
.picking-route-detail-row.done>strong{color:#258a51}
.picking-route-active-line{min-width:0}
.picking-route-active-line>.picking-line-card{margin:0}
.picking-route-empty-detail{
  min-height:120px;
}

.confirmation-partial-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.confirmation-partial-summary>div{
  min-width:0;
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid #ebeef2;
  border-radius:11px;
  background:#fff;
}
.confirmation-partial-summary small{
  color:#7b8494;
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
}
.confirmation-partial-summary b{
  color:#172033;
  font-size:17px;
}
.confirmation-partial-lines{
  display:grid;
  gap:8px;
}
.confirmation-partial-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #e7ebf0;
  border-radius:12px;
  background:#fff;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.confirmation-partial-line.selected{
  border-color:#efb45c;
  background:#fffaf1;
  box-shadow:0 0 0 3px rgba(240,180,92,.09);
}
.confirmation-partial-selector{
  min-width:0;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center;
  gap:9px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  cursor:pointer;
}
.confirmation-partial-selector>input{
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  padding:0!important;
  margin:0;
  accent-color:#d71920;
}
.confirmation-partial-selector>span{
  min-width:0;
  display:grid;
  gap:2px;
}
.confirmation-partial-selector b{
  color:#172033;
  font-size:11px;
}
.confirmation-partial-selector small{
  color:#7b8494;
  font-size:9.5px;
  overflow-wrap:anywhere;
}
.confirmation-partial-quantity{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.confirmation-partial-quantity small{
  color:#667085;
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
}
.confirmation-partial-quantity input{
  width:100%;
  min-height:38px;
  box-sizing:border-box;
  border:1px solid #d8dee7;
  border-radius:9px;
  padding:7px 8px;
  text-align:center;
  font:inherit;
  font-weight:850;
}
.confirmation-partial-quantity input:disabled{
  color:#667085;
  background:#f4f6f8;
  border-color:#e6e9ee;
  opacity:1;
}
.confirmation-partial-assumption{
  justify-self:end;
  padding:5px 7px;
  border-radius:999px;
  background:#edf8f2;
  color:#227a52;
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.confirmation-partial-line.selected .confirmation-partial-assumption{
  background:#fff0d8;
  color:#8a5a00;
}

@media(max-width:760px){
  .route-strip.route-location-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .route-location-card{min-height:108px}
  .route-location-head{
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    padding:10px;
  }
  .route-location-card .route-step-badge{
    width:30px;
    height:30px;
    min-width:30px;
    font-size:12px;
  }
  .route-location-title>b{font-size:15px}
  .route-product-count{
    grid-column:1/-1;
    justify-self:start;
    margin-left:42px;
    padding:4px 7px;
    font-size:8.5px;
  }
  .route-location-summary{
    grid-template-columns:minmax(0,1fr) 16px;
    padding:0 10px 10px;
  }
  .route-location-summary .status{display:none}
  .route-location-summary>strong{text-align:left;font-size:8.5px}
  .picking-route-detail-panel{
    position:sticky;
    bottom:10px;
    z-index:12;
    max-height:78vh;
    overflow:auto;
    padding:14px;
    border-radius:17px;
    box-shadow:0 18px 42px rgba(15,23,42,.22);
  }
  .picking-route-detail-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .picking-route-detail-heading h3{font-size:21px}
  .picking-route-collapse{padding:8px 10px;min-height:38px}
  .picking-route-detail-list{grid-template-columns:1fr}
  .confirmation-partial-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .confirmation-partial-line{
    grid-template-columns:minmax(0,1fr) 92px;
  }
  .confirmation-partial-assumption{
    grid-column:1/-1;
    justify-self:start;
  }
}
@media(max-width:430px){
  .route-strip.route-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-product-count{margin-left:38px}
  .picking-route-detail-heading{grid-template-columns:1fr}
  .picking-route-collapse{width:100%}
  .confirmation-partial-summary{grid-template-columns:1fr}
  .confirmation-partial-line{grid-template-columns:1fr}
  .confirmation-partial-quantity input{text-align:left}
}


/* =====================================================================
   AXORA v1.23.1 — Recepciones compactas + ubicación recomendada
   ===================================================================== */
.receipt-lines-list{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:10px;
}
.receipt-compact-card{
  width:100%;
  min-width:0;
  min-height:148px;
  display:grid;
  align-content:start;
  gap:9px;
  padding:13px 14px;
  border:1px solid #e2e6eb;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,23,42,.045);
  color:#172033;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.receipt-compact-card:hover{
  transform:translateY(-1px);
  border-color:#cbd2da;
  box-shadow:0 9px 22px rgba(15,23,42,.075);
}
.receipt-compact-card.selected{
  border-color:var(--company-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--company-primary) 12%,transparent),0 10px 24px rgba(15,23,42,.08);
}
.receipt-compact-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.receipt-compact-action{
  color:#667085;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.receipt-compact-card.selected .receipt-compact-action{color:var(--company-primary)}
.receipt-compact-identity{
  min-width:0;
  display:grid;
  gap:2px;
}
.receipt-compact-identity>b{
  font-size:15px;
  line-height:1.15;
}
.receipt-compact-identity>span{
  color:#68717c;
  font-size:11px;
  line-height:1.25;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.receipt-compact-metrics{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(82px,.75fr) minmax(105px,.9fr);
  gap:7px;
}
.receipt-compact-metrics>span{
  min-width:0;
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid #edf0f3;
  border-radius:10px;
  background:#f8fafb;
}
.receipt-compact-metrics small{
  color:#7b8494;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
}
.receipt-compact-metrics b{
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.receipt-compact-reason{
  color:#536273;
  font-size:9.5px;
  font-weight:750;
}
.receipt-line-detail-card{
  scroll-margin-top:12px;
  border-color:#d9dee5;
  box-shadow:0 14px 34px rgba(15,23,42,.09);
}
.receipt-detail-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-4px -4px 15px;
  padding:10px 12px;
  border:1px solid #e5e9ee;
  border-radius:13px;
  background:#f8fafb;
}
.receipt-detail-toolbar>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.receipt-detail-toolbar small{
  color:#7b8494;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}
.receipt-detail-toolbar b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.receipt-location-recommendation{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:13px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  background:rgba(255,255,255,.09);
}
.receipt-location-recommendation>div{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:5px 9px;
}
.receipt-location-recommendation b{
  font-size:17px;
}
.receipt-location-recommendation small{
  grid-column:1/-1;
  color:#cbd5e1;
  line-height:1.35;
}
.receipt-recommendation-editable{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#e5e7eb;
  font-size:9px;
  font-weight:850;
  white-space:nowrap;
}
@media(max-width:760px){
  .receipt-lines-list{grid-template-columns:1fr 1fr;gap:8px}
  .receipt-compact-card{min-height:142px;padding:11px;border-radius:13px}
  .receipt-compact-top{align-items:flex-start}
  .receipt-compact-action{font-size:9px}
  .receipt-compact-metrics{grid-template-columns:1fr 1fr}
  .receipt-compact-metrics>span:first-child{grid-column:1/-1}
  .receipt-line-detail-card{
    position:sticky;
    bottom:10px;
    z-index:12;
    max-height:82vh;
    overflow:auto;
    padding:14px;
    border-radius:17px;
  }
  .receipt-detail-toolbar{position:sticky;top:-1px;z-index:2;margin:-2px -2px 12px}
  .receipt-location-recommendation{align-items:flex-start}
}
@media(max-width:430px){
  .receipt-lines-list{grid-template-columns:1fr}
  .receipt-compact-card{min-height:0}
  .receipt-detail-toolbar{align-items:stretch;display:grid}
  .receipt-detail-toolbar .company-btn{width:100%}
  .receipt-location-recommendation{display:grid}
  .receipt-recommendation-editable{justify-self:start}
}

/* =====================================================================
   AXORA v1.28.1 — Usuarios y Permisos
   Catálogo compacto, edición trazable y permisos por usuario.
   ===================================================================== */
.security-users-v128{width:100%;}
.security-users-hero{align-items:center;}
.security-users-card,.security-editor-card,.security-permissions-card,.security-audit-card{overflow:hidden;}
.security-user-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1.7fr) minmax(150px,.65fr) auto;
  align-items:end;
  gap:10px;
  margin:14px 0;
  padding:12px;
  border:1px solid #e6eaf0;
  border-radius:13px;
  background:#f8fafc;
}
.security-user-toolbar label,.security-editor-grid label{
  display:grid;
  gap:6px;
  color:#475467;
  font-size:10px;
  font-weight:850;
}
.security-user-toolbar input,.security-user-toolbar select,
.security-editor-grid input,.security-editor-grid select{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #dce2e9;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font:inherit;
  font-size:11px;
  font-weight:700;
  outline:none;
}
.security-user-toolbar input:focus,.security-user-toolbar select:focus,
.security-editor-grid input:focus,.security-editor-grid select:focus{
  border-color:color-mix(in srgb,var(--company-primary) 50%,#dce2e9);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--company-primary) 10%,transparent);
}
.security-user-toolbar>span{
  align-self:center;
  justify-self:end;
  color:#667085;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.security-user-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px;
}
.security-user-card{
  min-width:0;
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #e3e8ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(16,24,40,.045);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease;
}
.security-user-card:hover{
  transform:translateY(-1px);
  border-color:#cbd3dd;
  box-shadow:0 10px 24px rgba(16,24,40,.075);
}
.security-user-card.selected{
  border-color:var(--company-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--company-primary) 10%,transparent),0 10px 24px rgba(16,24,40,.075);
}
.security-user-card.inactive{opacity:.7;background:#f8fafc;}
.security-user-card-head{
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.security-user-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.security-user-card.selected .security-user-avatar{background:var(--company-primary);}
.security-user-card-head>div:nth-child(2){min-width:0;}
.security-user-card h3{
  margin:0 0 4px;
  overflow:hidden;
  color:#172033;
  font-size:13px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.security-user-card p{
  margin:0;
  overflow:hidden;
  color:#667085;
  font-size:9.8px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.security-user-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:10px;
  border-top:1px solid #edf0f4;
  color:#475467;
  font-size:9.5px;
  font-weight:800;
}
.security-user-card-meta span:last-child{color:#667085;font-weight:700;}
.security-editor-card{border-color:#d8dee7;box-shadow:0 14px 34px rgba(16,24,40,.08);}
.security-editor-card .section-head{align-items:flex-start;}
.security-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.security-editor-grid label small{color:#7b8494;font-size:9px;font-weight:650;}
.security-editor-grid input:disabled{background:#f2f4f7;color:#667085;cursor:not-allowed;}
.security-password-rule{
  grid-column:1/-1;
  padding:11px 12px;
  border:1px solid #d8e4ff;
  border-radius:11px;
  background:#f5f8ff;
  color:#344054;
  font-size:10px;
  line-height:1.45;
}
.security-editor-actions{grid-column:1/-1;justify-content:flex-end;}
.security-no-delete{
  margin-top:16px;
  padding:12px 13px;
  border:1px solid #fedf89;
  border-radius:11px;
  background:#fffaeb;
  color:#7a2e0e;
  font-size:10.5px;
  line-height:1.5;
}
.security-users-v128 .input-alert{margin:0;}
.security-users-v128 .input-alert p{margin:4px 0 0;}
.security-users-v128 .security-permissions-card>.user-permission-head{margin-bottom:0;}
.security-users-v128 .security-permissions-card .actions{justify-content:flex-end;}
.security-users-v128 .security-permissions-card .permission-check input:disabled{cursor:not-allowed;}
.security-users-v128 .security-audit-card{overflow:auto;}
.security-users-v128 .security-audit-card .table{min-width:900px;}

@media(max-width:980px){
  .security-user-toolbar{grid-template-columns:1fr 180px;}
  .security-user-toolbar>span{grid-column:1/-1;justify-self:start;}
  .security-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .security-users-card .section-head,.security-editor-card .section-head{align-items:stretch;flex-direction:column;}
  .security-users-card .section-head .actions,.security-editor-card .section-head .actions{display:grid;grid-template-columns:1fr;}
  .security-users-card .section-head .company-btn,.security-editor-card .section-head .company-btn{width:100%;}
  .security-user-toolbar,.security-editor-grid{grid-template-columns:1fr;}
  .security-user-toolbar>span,.security-password-rule,.security-editor-actions{grid-column:auto;}
  .security-user-grid{grid-template-columns:1fr;}
  .security-editor-actions{display:grid;grid-template-columns:1fr;}
  .security-editor-actions .company-btn{width:100%;}
  .security-users-v128 .security-permissions-card .actions{display:grid;grid-template-columns:1fr;width:100%;}
  .security-users-v128 .security-permissions-card .actions .company-btn{width:100%;}
}
@media(max-width:430px){
  .security-user-card{padding:12px;}
  .security-user-card-head{grid-template-columns:38px minmax(0,1fr);}
  .security-user-avatar{width:38px;height:38px;}
  .security-user-card-head>.status{grid-column:2;justify-self:start;}
  .security-user-card-meta{align-items:flex-start;flex-direction:column;}
}


/* AXORA v1.28.1 — edición segura de permisos y correo de identidad */
.security-permissions-card .permission-edit-state{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:14px 0;padding:12px 14px;border:1px solid var(--line,#d9dde5);border-radius:14px;background:rgba(15,23,42,.035)}
.security-permissions-card .permission-edit-state span{font-size:.86rem;color:var(--muted,#667085);text-align:right}
.security-permissions-card .permission-edit-state.active{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.08)}
.security-permissions-card.editing .permission-check.editable{cursor:pointer}
.security-permissions-card .permission-check.readonly{opacity:.78}
.security-user-card-head small{display:block;margin-top:3px;color:var(--muted,#667085);font-size:.76rem}
@media(max-width:760px){.security-permissions-card .permission-edit-state{align-items:flex-start;flex-direction:column}.security-permissions-card .permission-edit-state span{text-align:left}}


/* =====================================================================
   AXORA v1.29.2 — Reingresos visibles sin recorte horizontal
   ===================================================================== */
.reentry-authorized-card{
  overflow:hidden!important;
  container-type:inline-size;
}
.reentry-authorized-card .reentry-card-meta{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.reentry-authorized-card .reentry-line-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  align-items:stretch!important;
}
.reentry-line-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(125px,175px);
  gap:16px;
  align-items:center;
  min-width:0;
}
.reentry-line-head .reentry-line-numbers{
  min-width:0;
  text-align:left;
}
.reentry-authorized-card .reentry-line-split{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr));
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  gap:12px;
  align-items:stretch;
}
.reentry-authorized-card .reentry-split-fields,
.reentry-authorized-card .reentry-split-destinations,
.reentry-authorized-card .reentry-split-summary{
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.reentry-authorized-card .reentry-split-summary{
  min-height:62px;
}
.reentry-authorized-card .reentry-line-result{
  grid-column:1/-1;
  min-width:0;
}
@container (max-width:700px){
  .reentry-line-head{
    grid-template-columns:1fr;
    gap:10px;
  }
  .reentry-authorized-card .reentry-line-split{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .reentry-line-head,
  .reentry-authorized-card .reentry-line-split,
  .reentry-authorized-card .reentry-split-fields,
  .reentry-authorized-card .reentry-split-destinations{
    grid-template-columns:1fr!important;
  }
}
\n\n/* AXORA v1.29.3 · Reportes certificados: Excel, estados y lectura responsive */
.reports-v1293{min-width:0;max-width:100%}
.reports-v1293 .report-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}
.reports-v1293 .report-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.reports-v1293 .report-kpi-grid .executive-kpi{min-width:0}
.reports-v1293 .report-kpi-grid .executive-kpi small,.reports-v1293 .report-kpi-grid .executive-kpi span{overflow-wrap:anywhere}
.report-export-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.report-export-actions .company-btn{white-space:nowrap}
.report-movement-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.45}
.report-inventory-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.report-inventory-table{min-width:940px;width:100%;table-layout:auto}
.report-inventory-table th,.report-inventory-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.report-inventory-table th:nth-child(1),.report-inventory-table td:nth-child(1){min-width:116px}
.report-inventory-table th:nth-child(2),.report-inventory-table td:nth-child(2){min-width:132px}
.report-inventory-table th:nth-child(3),.report-inventory-table td:nth-child(3){min-width:100px}
.report-inventory-table th:nth-child(n+4),.report-inventory-table td:nth-child(n+4){min-width:94px;text-align:center}
.report-inventory-mobile-grid{display:none;gap:12px}
.report-inventory-mobile-card{display:grid;gap:12px;border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05);min-width:0}
.report-inventory-mobile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}
.report-inventory-mobile-head>div{display:grid;gap:4px;min-width:0}
.report-inventory-mobile-head b,.report-inventory-mobile-head small{overflow-wrap:anywhere}
.report-inventory-mobile-head span{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f1f5f9;font-weight:900;color:#334155}
.report-inventory-mobile-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.report-inventory-mobile-balances>div{display:grid;gap:3px;padding:9px;border:1px solid #e5e7eb;border-radius:11px;background:#f8fafc;text-align:center;min-width:0}
.report-inventory-mobile-balances small{font-size:10px;font-weight:800;color:#64748b;overflow-wrap:anywhere}
.report-inventory-mobile-balances b{font-size:18px;font-variant-numeric:tabular-nums}
.report-movements-table-wrap{overflow-x:auto;scrollbar-gutter:stable}
.report-movements-table-wrap .table{min-width:760px}
.report-integrity-table td:first-child{min-width:220px}
@media(max-width:1300px){.reports-v1293 .report-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.reports-v1293 .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-v1293 .report-detail-grid{grid-template-columns:1fr}.reports-v1293 .report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .reports-v1293 .report-filter-grid{grid-template-columns:1fr}
  .reports-v1293 .section-heading{align-items:flex-start}
  .reports-v1293 .section-heading>.actions,.reports-v1293 .report-export-actions{width:100%}
  .reports-v1293 .section-heading>.actions .company-btn,.reports-v1293 .report-export-actions .company-btn{flex:1 1 140px}
  .report-inventory-table-wrap{display:none}
  .report-inventory-mobile-grid{display:grid}
  .report-integrity-table td:first-child{min-width:0}
}
@media(max-width:480px){.reports-v1293 .report-kpi-grid{grid-template-columns:1fr}.report-inventory-mobile-balances{grid-template-columns:repeat(2,minmax(0,1fr))}.report-inventory-mobile-balances>div:last-child{grid-column:1/-1}}

/* =====================================================================
   AXORA v1.29.6 — iPhone safe area + cámara real del Escáner Móvil
   ===================================================================== */
.scanner-mobile-page{padding-bottom:18px}
.scanner-layout{align-items:start}
.scanner-phone{overflow:hidden}
.scan-frame{
  position:relative;
  isolation:isolate;
  aspect-ratio:4/3;
  min-height:280px;
  overflow:hidden;
  background:radial-gradient(circle at center,rgba(215,25,32,.22),rgba(10,12,18,.98) 68%);
}
.scan-frame video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#080a0f;
  opacity:0;
  transition:opacity .2s ease;
}
.scan-frame.camera-active video{opacity:1}
.scanner-video-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 28%,transparent 72%,rgba(0,0,0,.22));
}
.scan-frame::after{
  content:'';
  position:absolute;
  z-index:2;
  inset:8%;
  border:2px solid rgba(255,255,255,.78);
  border-radius:20px;
  box-shadow:0 0 0 999px rgba(0,0,0,.18);
  pointer-events:none;
}
.scan-frame .scan-line{z-index:3}
.scanner-frame-label{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:#fff;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.85);
  pointer-events:none;
}
.scan-frame.camera-active .scanner-frame-label{opacity:.72}
.scanner-live-badge{
  position:absolute;
  z-index:5;
  top:12px;
  left:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(17,24,39,.8);
  color:#fff;
  font-size:10px;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.scanner-live-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:#94a3b8}
.scanner-live-badge.active::before{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.scanner-camera-message{margin:10px 0 0;color:#667085;font-size:11px;line-height:1.55;text-align:center}
.scanner-camera-message.error{color:#b42318;font-weight:750}
.scanner-camera-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.scanner-camera-actions>*{flex:1 1 150px}
.scanner-camera-actions [hidden]{display:none!important}
.scan-targets>div{display:grid;gap:4px}
.scan-targets>div>span{font-size:10px;color:#98a2b3;font-weight:800}
.scanner-manual-entry{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.045)}
.scanner-manual-entry>label{color:rgba(255,255,255,.72);font-size:11px;font-weight:800}
.scanner-manual-entry>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.scanner-manual-entry input{width:100%;min-width:0;min-height:46px;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.08);color:#fff;outline:none}
.scanner-manual-entry input::placeholder{color:rgba(255,255,255,.42)}
.scanner-manual-entry input:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.15)}
.scanner-test-tools{margin-top:12px;color:rgba(255,255,255,.62);font-size:11px}
.scanner-test-tools summary{cursor:pointer;font-weight:800}
.scanner-test-tools>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.scanner-validation-card .table{min-width:0}

@supports(padding:max(0px)){
  @media(max-width:900px){
    .topbar{
      box-sizing:border-box!important;
      padding-top:calc(10px + env(safe-area-inset-top))!important;
      padding-left:max(12px,env(safe-area-inset-left))!important;
      padding-right:max(12px,env(safe-area-inset-right))!important;
      min-height:calc(66px + env(safe-area-inset-top))!important;
    }
    .mobile-menu-button{
      flex:0 0 44px!important;
      width:44px!important;
      height:44px!important;
      min-height:44px!important;
      align-self:center!important;
      touch-action:manipulation;
      position:relative;
      z-index:2;
    }
    .mobile-bottom-nav{
      left:max(10px,env(safe-area-inset-left))!important;
      right:max(10px,env(safe-area-inset-right))!important;
      bottom:calc(10px + env(safe-area-inset-bottom))!important;
    }
    body{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  }
}
@media(max-width:760px){
  .scanner-mobile-page{padding-bottom:calc(118px + env(safe-area-inset-bottom))}
  .scanner-layout{grid-template-columns:1fr!important}
  .scanner-phone{padding:14px!important;border-radius:20px!important}
  .scan-frame{min-height:0;aspect-ratio:3/4;max-height:58dvh}
  .scanner-camera-actions{display:grid;grid-template-columns:1fr 1fr}
  .scanner-camera-actions>*{width:100%}
  .scanner-manual-entry>div{grid-template-columns:1fr}
  .scanner-manual-entry button{width:100%}
  .scanner-test-tools>div{grid-template-columns:1fr}
  .scanner-validation-card .table{display:table;min-width:0;width:100%}
}
@media(max-width:390px){
  .topbar h1{font-size:15px!important}
  .breadcrumb{max-width:52vw!important}
  .scan-frame{aspect-ratio:1/1.18}
  .scanner-camera-actions{grid-template-columns:1fr}
}

/* AXORA v1.29.6 · Documentos y Evidencias reales */
.document-upload-panel{display:grid;gap:16px}
.document-file-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:2px dashed #cfd7e3;border-radius:18px;background:#fbfcfe;transition:.2s ease;scroll-margin-top:110px}
.document-file-picker.has-file,.document-file-picker.is-dragging{border-color:#d71920;background:#fff7f7}
.document-file-picker-copy{display:grid;gap:6px;min-width:0}
.document-file-picker-copy h4{margin:0;color:#172033;font-size:17px}
.document-file-picker-copy p{margin:0;color:#475467;line-height:1.45;overflow-wrap:anywhere}
.document-file-picker-copy small,.document-file-picker-help{color:#667085;font-size:11px;line-height:1.45}
.document-file-picker-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.document-file-picker-actions label{margin:0}
.document-file-button,.document-camera-button{position:relative;overflow:hidden;cursor:pointer;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.document-file-button input,.document-camera-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.document-upload-step-label{display:flex;align-items:center;gap:10px;color:#344054}
.document-upload-panel{scroll-margin-top:96px}

.document-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.document-upload-grid label{display:grid;gap:7px;color:#475467;font-size:11px;font-weight:800}
.document-upload-grid input,.document-upload-grid select,.document-upload-grid textarea{width:100%;min-width:0;border:1px solid #dfe5ec;border-radius:12px;background:#fff;color:#172033;padding:11px 12px;font:inherit;outline:none}
.document-upload-grid input,.document-upload-grid select{min-height:46px}
.document-upload-grid textarea{resize:vertical;min-height:92px}
.document-upload-grid input:focus,.document-upload-grid select:focus,.document-upload-grid textarea:focus{border-color:#9eb8ff;box-shadow:0 0 0 4px rgba(47,91,234,.10)}
.document-observation{grid-column:1/-1}
.document-file-drop{position:relative;display:grid;place-items:center;min-height:130px;padding:20px;border:2px dashed #cfd7e3;border-radius:18px;background:#fbfcfe;cursor:pointer;text-align:center;transition:.2s ease}
.document-file-drop:hover,.document-file-drop.has-file{border-color:#d71920;background:#fff7f7}
.document-file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.document-file-drop span{display:grid;gap:7px;pointer-events:none}
.document-file-drop b{color:#172033;font-size:14px}
.document-file-drop small{color:#667085;font-size:11px}
.document-upload-actions{justify-content:flex-end}
.document-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 230px 230px;gap:12px;align-items:end}
.document-toolbar>div h3{margin:0}
.document-toolbar>div p{margin:5px 0 0;color:#667085;font-size:11px}
.document-toolbar label{display:grid;gap:6px;color:#667085;font-size:10px;font-weight:800}
.document-table{min-width:1320px!important}
.document-table td:nth-child(4){min-width:250px}
.document-table td:nth-child(4) small{display:block;margin-top:5px;color:#667085;font-weight:500;white-space:normal}
.document-row-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:220px}
.document-row-actions button{border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#344054;padding:7px 9px;font-size:9px;font-weight:850;cursor:pointer}
.document-row-actions button:hover:not(:disabled){border-color:#d71920;color:#b42318}
.document-row-actions button:disabled{opacity:.4;cursor:not-allowed}
.document-mobile-list{display:none}
.document-mobile-card{display:grid;gap:14px;padding:16px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(16,24,40,.05)}
.document-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.document-card-head h3{margin:8px 0 4px;font-size:15px;overflow-wrap:anywhere}
.document-card-head p{margin:0;color:#667085;font-size:11px}
.document-card-head>b{color:#667085;font-size:10px;white-space:nowrap}
.document-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.document-card-meta>div{display:grid;gap:4px;padding:10px;border-radius:12px;background:#f8fafc}
.document-card-meta small{color:#98a2b3;font-size:9px;font-weight:800;text-transform:uppercase}
.document-card-meta b{color:#344054;font-size:11px;overflow-wrap:anywhere}
.document-card-observation{margin:0;padding:10px 12px;border-left:3px solid #d71920;background:#fff7f7;color:#475467;font-size:11px;line-height:1.5}
.document-legacy-note{color:#b54708;font-size:10px}
@media(max-width:900px){
  .document-upload-grid{grid-template-columns:1fr 1fr}
  .document-toolbar{grid-template-columns:1fr 1fr}
  .document-toolbar>div{grid-column:1/-1}
}
@media(max-width:760px){
  .document-upload-grid{grid-template-columns:1fr}
  .document-file-picker{grid-template-columns:1fr;padding:16px}
  .document-file-picker-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .document-file-picker-actions .company-btn,.document-file-picker-actions label{width:100%}
  .document-observation{grid-column:auto}
  .document-file-drop{min-height:112px}
  .document-upload-actions{display:grid;grid-template-columns:1fr}
  .document-toolbar{grid-template-columns:1fr}
  .document-toolbar>div{grid-column:auto}
  .document-table-wrap{display:none!important}
  .document-mobile-list{display:grid;gap:12px;margin-top:16px}
  .document-mobile-card .actions{display:grid;grid-template-columns:1fr 1fr}
  .document-mobile-card .actions>*{width:100%}
}
@media(max-width:390px){
  .document-card-meta{grid-template-columns:1fr}
  .document-mobile-card .actions{grid-template-columns:1fr}
}
.document-review-panel{display:grid;gap:16px}
.document-review-panel label{display:grid;gap:7px;color:#475467;font-size:11px;font-weight:800}
.document-review-panel textarea{width:100%;min-height:110px;border:1px solid #dfe5ec;border-radius:12px;padding:12px;background:#fff;color:#172033;font:inherit;resize:vertical;outline:none}
.document-review-panel textarea:focus{border-color:#9eb8ff;box-shadow:0 0 0 4px rgba(47,91,234,.10)}
.document-review-panel .actions{justify-content:flex-end}
@media(max-width:760px){.document-review-panel .actions{display:grid}.document-review-panel .actions>*{width:100%}}
.document-file-drop.is-dragging{border-color:#d71920;background:#fff0f1;transform:scale(1.005)}

/* =====================================================================
   AXORA v1.29.8 — Consistencia visual global de tablas y encabezados
   Conserva lógica, API, persistencia y datos. Solo normaliza lectura.
   ===================================================================== */

/* Las tablas con encabezado crecen según su contenido y se desplazan
   dentro de su contenedor en lugar de comprimir palabras por caracteres. */
.table-wrap,
.table-scroll,
.permission-matrix,
.kardex-table .table-wrap,
.count-table .table-wrap,
.document-table-wrap,
.locations-table-wrap,
.materials-table-wrap,
.report-inventory-table-wrap,
.report-movements-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

.table:has(thead){
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
}

/* Encabezados: siempre palabras completas, alineadas y legibles. */
.table thead th,
.table tfoot th,
.permission-matrix th{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  vertical-align:middle!important;
  line-height:1.25!important;
  text-wrap:nowrap;
}

/* Celdas: se permite envolver por palabras, nunca letra por letra. */
.table tbody td,
.permission-matrix td{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  line-height:1.4;
}

/* Identificadores, estados, cantidades y acciones conservan su unidad visual. */
.table td:first-child,
.table td .status,
.table td .badge,
.table td .tag,
.table td .document-row-actions,
.table td button,
.table td time{
  white-space:nowrap;
}

/* Documentos y Evidencias: anchos mínimos para evitar encabezados comprimidos. */
.document-table{min-width:1480px!important}
.document-table th:nth-child(1),.document-table td:nth-child(1){min-width:120px}
.document-table th:nth-child(2),.document-table td:nth-child(2){min-width:120px}
.document-table th:nth-child(3),.document-table td:nth-child(3){min-width:120px}
.document-table th:nth-child(4),.document-table td:nth-child(4){min-width:280px}
.document-table th:nth-child(5),.document-table td:nth-child(5){min-width:110px}
.document-table th:nth-child(6),.document-table td:nth-child(6){min-width:150px}
.document-table th:nth-child(7),.document-table td:nth-child(7){min-width:170px}
.document-table th:nth-child(8),.document-table td:nth-child(8){min-width:150px}
.document-table th:nth-child(9),.document-table td:nth-child(9){min-width:100px}
.document-table th:nth-child(10),.document-table td:nth-child(10){min-width:115px}
.document-table th:nth-child(11),.document-table td:nth-child(11){min-width:230px}

/* Encabezados extensos frecuentes en Inventario, Kardex y Ubicaciones. */
.inventory-desktop-table .table th,
.kardex-table .table th,
.locations-table-wrap .table th,
.materials-table-wrap .table th,
.report-inventory-table-wrap .table th,
.report-movements-table-wrap .table th{
  padding-left:14px!important;
  padding-right:14px!important;
}

/* Tablas resumen sin THEAD continúan ajustándose a la tarjeta. */
.table:not(:has(thead)){
  width:100%;
  max-width:100%;
  table-layout:auto;
}

@media(max-width:760px){
  /* Donde no existe vista de tarjetas, se conserva tabla completa con scroll. */
  .table:has(thead){
    display:table!important;
    width:max-content!important;
    min-width:max(720px,100%)!important;
  }
  .table thead th,.table tfoot th{font-size:10px!important}
  .document-table-wrap{display:none!important}
}

@media print{
  .table:has(thead){
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
  }
  .table thead th,.table tfoot th{white-space:normal!important}
}



/* =====================================================================
   AXORA v1.29.9 — Persistencia segura y verificable
   ===================================================================== */
.persistence-page .company-btn{
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  line-height:1.25;
  text-align:center;
  justify-content:center;
}
.persistence-status-grid{align-items:start}
.persistence-status-table-wrap{max-height:540px}
.persistence-status-table{min-width:620px!important}
.persistence-status-table td:first-child{min-width:190px;font-weight:800;color:#475467}
.persistence-status-table td:last-child{min-width:260px}
.persistence-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.persistence-rules>div{min-height:92px}
.persistence-local-tool{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:14px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#f8fafc;
}
.persistence-local-tool p{margin:0;color:#475467;line-height:1.5}
.persistence-local-tool p span{font-size:11px}
.persistence-backups-wrap{max-height:590px}
.persistence-backups-table{min-width:1460px!important}
.persistence-backups-table th,.persistence-backups-table td{vertical-align:middle}
.persistence-backups-table th:nth-child(1),.persistence-backups-table td:nth-child(1){min-width:180px}
.persistence-backups-table th:nth-child(2),.persistence-backups-table td:nth-child(2){min-width:190px}
.persistence-backups-table th:nth-child(3),.persistence-backups-table td:nth-child(3){min-width:110px;text-align:right}
.persistence-backups-table th:nth-child(4),.persistence-backups-table td:nth-child(4){min-width:110px;text-align:right}
.persistence-backups-table th:nth-child(5),.persistence-backups-table td:nth-child(5){min-width:210px}
.persistence-backups-table th:nth-child(6),.persistence-backups-table td:nth-child(6){min-width:130px}
.persistence-backups-table th:nth-child(7),.persistence-backups-table td:nth-child(7){min-width:180px}
.persistence-backups-table th:nth-child(8),.persistence-backups-table td:nth-child(8){min-width:190px}
.persistence-backups-table th:nth-child(9),.persistence-backups-table td:nth-child(9){min-width:180px}
.persistence-checksum{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;white-space:nowrap}
.persistence-production-lock{border-color:#d1fadf;background:linear-gradient(180deg,#fff,#f6fef9)}
.persistence-production-lock:has(.status.warn){border-color:#fedf89;background:linear-gradient(180deg,#fff,#fffaeb)}
.persistence-lock-notice{
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px;
  border:1px solid #abefc6;
  border-radius:14px;
  background:#ecfdf3;
  color:#05603a;
}
.persistence-lock-notice span{color:#344054;line-height:1.5}
.persistence-reset-form{align-items:end}
.good-message{border-color:#abefc6!important;background:#ecfdf3!important;color:#05603a!important}
@media(max-width:900px){
  .persistence-local-tool{grid-template-columns:1fr}
  .persistence-local-tool .company-btn{width:100%}
  .persistence-actions{display:grid;grid-template-columns:1fr}
  .persistence-actions .company-btn{width:100%}
}
@media(max-width:760px){
  .persistence-lock-notice{align-items:flex-start;flex-direction:column}
}


/* =====================================================================
   AXORA v1.29.10 — Persistencia responsive sin desbordamiento horizontal
   Mantiene intactas la API, PostgreSQL y las reglas operativas.
   ===================================================================== */
.persistence-page,
.persistence-page > *,
.persistence-status-grid,
.persistence-status-grid > *,
.persistence-page .card,
.persistence-page .page-hero,
.persistence-page .page-hero > *,
.persistence-page .section-heading,
.persistence-page .section-heading > *,
.persistence-page .table-wrap,
.persistence-page .table-scroll{
  min-width:0!important;
  max-width:100%!important;
}

.persistence-page{
  width:100%;
  overflow-x:hidden;
}

.persistence-page .page-hero{
  width:100%;
}

.persistence-page .page-hero h2,
.persistence-page .page-hero p,
.persistence-page .section-heading h3,
.persistence-page .section-heading p,
.persistence-lock-notice,
.persistence-lock-notice span{
  max-width:100%;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

.persistence-status-table-wrap,
.persistence-backups-wrap{
  width:100%;
  min-width:0!important;
  max-width:100%!important;
}

@media(max-width:760px){
  .persistence-page{
    gap:14px;
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }

  .persistence-page .page-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:18px!important;
    padding:18px!important;
    overflow:hidden;
  }

  .persistence-page .page-hero h2{
    font-size:clamp(25px,8vw,34px)!important;
    line-height:1.08!important;
    margin:12px 0 8px!important;
  }

  .persistence-page .page-hero p{
    font-size:15px;
    line-height:1.55;
    margin:0;
  }

  .persistence-page .receipt-summary{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:20px 16px!important;
  }

  .persistence-status-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }

  .persistence-page .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
  }

  .persistence-page .section-heading > .status,
  .persistence-page .section-heading > span{
    justify-self:start;
  }

  /* Estado de PostgreSQL: filas legibles sin scroll lateral. */
  .persistence-status-table-wrap{
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
    margin:0!important;
  }

  .persistence-status-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .persistence-status-table tbody{
    display:grid;
    width:100%;
    gap:0;
    border:1px solid #e4e7ec;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
  }

  .persistence-status-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    align-items:center;
    width:100%;
    min-width:0;
    border-bottom:1px solid #e9edf2;
  }

  .persistence-status-table tr:last-child{border-bottom:0}

  .persistence-status-table td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:13px 12px!important;
    border:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  .persistence-status-table td:first-child{
    color:#475467;
    font-size:12px;
  }

  .persistence-status-table td:last-child{
    text-align:right;
    font-size:12px;
  }

  /* Respaldos: tarjetas completas en móvil, sin tabla de 1320 px. */
  .persistence-backups-wrap{
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    margin:0!important;
  }

  .persistence-backups-wrap:after,
  .persistence-status-table-wrap:after{
    display:none!important;
    content:none!important;
  }

  .persistence-backups-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .persistence-backups-table thead{display:none!important}

  .persistence-backups-table tbody{
    display:grid!important;
    gap:12px;
    width:100%;
  }

  .persistence-backups-table tr{
    display:grid!important;
    width:100%;
    min-width:0;
    padding:14px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 18px rgba(16,24,40,.04);
  }

  .persistence-backups-table td{
    display:grid!important;
    grid-template-columns:minmax(92px,34%) minmax(0,1fr);
    align-items:start;
    gap:10px;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:7px 0!important;
    border:0!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  .persistence-backups-table td::before{
    color:#667085;
    font-size:10px;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
  }

  .persistence-backups-table td:nth-child(1)::before{content:'ID'}
  .persistence-backups-table td:nth-child(2)::before{content:'Fecha'}
  .persistence-backups-table td:nth-child(3)::before{content:'Registros'}
  .persistence-backups-table td:nth-child(4)::before{content:'Tamaño'}
  .persistence-backups-table td:nth-child(5)::before{content:'SHA-256'}
  .persistence-backups-table td:nth-child(6)::before{content:'Estado'}
  .persistence-backups-table td:nth-child(7)::before{content:'Responsable'}
  .persistence-backups-table td:nth-child(8)::before{content:'Verificado'}
  .persistence-backups-table td:nth-child(9)::before{content:'Acción'}

  .persistence-checksum{
    min-width:0;
    max-width:100%;
    white-space:normal!important;
    word-break:break-all!important;
    overflow-wrap:anywhere!important;
  }

  .persistence-backups-table .company-btn{
    width:100%!important;
  }

  .persistence-rules{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .persistence-rules > div{
    min-height:0!important;
    padding:16px!important;
  }

  .persistence-lock-notice{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
  }

  .persistence-page .pilot-steps div{
    grid-template-columns:42px minmax(0,1fr)!important;
    min-width:0;
  }

  .persistence-page .pilot-steps span{
    min-width:0;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
  }
}

@media(max-width:390px){
  .persistence-page .card{padding:14px!important}
  .persistence-page .page-hero{padding:16px!important}
  .persistence-status-table tr{grid-template-columns:minmax(0,42%) minmax(0,58%)}
  .persistence-status-table td{padding:12px 9px!important;font-size:11px!important}
  .persistence-backups-table td{grid-template-columns:82px minmax(0,1fr)}
}

/* ======================================================================
   AXORA v1.29.11 — Identidad visual oficial AXORA PLATFORM
   - Banner oficial en la pantalla de inicio/login.
   - Símbolo oficial en cada punto de marca AXORA.
   - Mantiene separada la identidad corporativa de cada broker/empresa.
   ====================================================================== */
.login-page.login-v2{
  background:#020817;
}

.login-v2 .login-hero{
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,4.5vw,76px)!important;
  background:
    radial-gradient(circle at 18% 24%,rgba(31,157,255,.13),transparent 34%),
    radial-gradient(circle at 78% 72%,rgba(119,55,239,.12),transparent 38%),
    #020817!important;
  overflow:hidden;
}

.login-v2 .login-hero:before,
.login-v2 .login-hero:after,
.login-v2 .login-ambient{
  display:none!important;
}

.login-v2 .axora-brand-stage{
  width:100%;
  max-width:1180px;
  display:grid;
  place-items:center;
}

.axora-brand-banner{
  display:block;
  width:min(100%,1120px);
  height:auto;
  max-height:min(78vh,760px);
  object-fit:contain;
  border-radius:24px;
  box-shadow:0 38px 110px rgba(0,0,0,.34),0 0 80px rgba(45,101,255,.08);
}

.login-card-v2 .axora-official-mark{
  width:52px;
  height:52px;
  padding:0;
  border-radius:0;
  object-fit:contain;
  filter:drop-shadow(0 9px 18px rgba(39,103,255,.24));
}

.login-card-v2 .axora-login-logo strong{
  color:#101828;
  font-weight:760;
  letter-spacing:5px;
}

.login-card-v2 .axora-login-logo span{
  color:#6f63dd;
  font-weight:700;
  letter-spacing:4.2px;
}

@media(max-width:900px){
  .login-page.login-v2{
    display:flex!important;
    flex-direction:column;
    min-height:100dvh;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .login-v2 .login-hero{
    display:flex!important;
    flex:0 0 auto;
    min-height:0;
    padding:max(18px,env(safe-area-inset-top)) 16px 12px!important;
  }

  .login-v2 .axora-brand-stage{
    max-width:620px;
  }

  .axora-brand-banner{
    width:100%;
    max-height:290px;
    border-radius:18px;
    box-shadow:0 20px 54px rgba(0,0,0,.28);
  }

  .login-v2 .login-panel{
    flex:1 0 auto;
    min-height:auto!important;
    padding:14px 18px max(26px,env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,#eef2f8 0%,#f7f8fb 100%)!important;
  }

  .login-card-v2{
    width:min(100%,500px);
    margin:0 auto;
  }
}

@media(max-width:480px){
  .login-v2 .login-hero{
    padding:max(12px,env(safe-area-inset-top)) 10px 8px!important;
  }

  .axora-brand-banner{
    max-height:220px;
    border-radius:14px;
  }

  .login-v2 .login-panel{
    padding:10px 14px max(22px,env(safe-area-inset-bottom))!important;
  }

  .login-card-v2{
    padding:26px 20px!important;
    border-radius:20px!important;
  }

  .login-card-v2 .axora-official-mark{
    width:46px;
    height:46px;
  }
}


/* =====================================================================
   AXORA v1.29.12 — Respaldos verificables como tarjetas móviles reales
   Evita por completo que la tabla de escritorio defina el ancho en iPhone.
   ===================================================================== */
.persistence-backup-mobile-list{display:none}

@media(max-width:760px){
  .persistence-backups-desktop{display:none!important}
  .persistence-backup-mobile-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .persistence-backup-mobile-card{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    box-sizing:border-box;
    padding:16px;
    border:1px solid #e4e7ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(16,24,40,.05);
  }
  .persistence-backup-mobile-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    padding-bottom:13px;
    border-bottom:1px solid #eef1f4;
  }
  .persistence-backup-mobile-head strong{
    min-width:0;
    max-width:100%;
    font-size:15px;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .persistence-backup-mobile-head .status{
    flex:0 0 auto;
    max-width:46%;
    white-space:normal!important;
    text-align:center;
  }
  .persistence-backup-mobile-data{
    display:grid;
    gap:0;
    min-width:0;
    margin:0;
  }
  .persistence-backup-mobile-data>div{
    display:grid;
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    gap:10px;
    align-items:start;
    min-width:0;
    padding:11px 0;
    border-bottom:1px solid #f0f2f5;
  }
  .persistence-backup-mobile-data>div:last-child{border-bottom:0}
  .persistence-backup-mobile-data dt{
    min-width:0;
    margin:0;
    color:#667085;
    font-size:11px;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .persistence-backup-mobile-data dd{
    min-width:0;
    max-width:100%;
    margin:0;
    color:#1d2939;
    font-size:13px;
    line-height:1.45;
    text-align:right;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .persistence-backup-checksum-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .persistence-backup-checksum-row dd{
    margin-top:6px;
    padding:10px;
    border-radius:10px;
    background:#f8fafc;
    text-align:left;
    font-size:11px;
    line-height:1.55;
    word-break:break-all!important;
    overflow-wrap:anywhere!important;
  }
  .persistence-backup-mobile-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
    margin-top:14px;
  }
  .persistence-backup-action{
    width:100%!important;
    min-height:46px;
  }
  .persistence-backups-card .section-heading{overflow:hidden}
  .persistence-backups-card .section-heading h3,
  .persistence-backups-card .section-heading p{
    max-width:100%;
    overflow-wrap:break-word!important;
  }
}


/* =====================================================================
   AXORA v1.29.21 — Entradas de Información responsive en iPhone
   Conserva importador, validaciones, historial y persistencia.
   ===================================================================== */

.input-drop-mobile,
.input-history-mobile{
  display:none;
}

@media (max-width:980px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  body{
    scroll-padding-bottom:calc(118px + env(safe-area-inset-bottom));
  }

  .company-shell,
  .workspace,
  .content,
  .page-grid,
  .input-center{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .topbar{
    top:0!important;
    min-height:calc(70px + env(safe-area-inset-top))!important;
    padding-top:calc(10px + env(safe-area-inset-top))!important;
    padding-bottom:10px!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }

  .topbar>div:first-of-type{
    min-width:0!important;
    overflow:hidden!important;
  }

  .topbar h1{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    max-width:calc(100vw - 150px)!important;
    font-size:clamp(15px,4.2vw,18px)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .topbar .breadcrumb{
    margin-top:4px!important;
    max-width:calc(100vw - 150px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .content{
    padding-top:16px!important;
    padding-bottom:calc(124px + env(safe-area-inset-bottom))!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
  }

  .input-center{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }

  .input-center>*,
  .input-center>section,
  .input-center .section-heading,
  .input-center .section-heading>div{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .input-center .input-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:20px!important;
    overflow:hidden!important;
  }

  .input-center .input-hero>div{
    min-width:0!important;
  }

  .input-center .input-hero h2{
    font-size:clamp(32px,10vw,46px)!important;
    line-height:1.06!important;
  }

  .input-center .input-hero p{
    max-width:100%!important;
    font-size:clamp(16px,4.8vw,22px)!important;
    line-height:1.5!important;
  }

  .input-center .receipt-summary{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:24px 18px!important;
    text-align:center!important;
    justify-items:center!important;
  }

  .input-center .receipt-summary b{
    font-size:clamp(42px,13vw,64px)!important;
  }

  .input-detection-only{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    align-items:start!important;
    gap:16px!important;
    overflow:hidden!important;
  }

  .input-detection-only>div:last-child{
    min-width:0!important;
  }

  .input-detection-only h3,
  .input-detection-only p{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  .input-upload-card,
  .input-preview-card,
  .input-history-card{
    overflow:hidden!important;
  }

  .input-upload-card .breadcrumb,
  .input-history-card .breadcrumb{
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .input-drop-zone{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:210px!important;
    padding:28px 18px!important;
    overflow:hidden!important;
  }

  .input-drop-zone>b,
  .input-drop-zone>small{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .input-drop-zone>b{
    font-size:18px!important;
    line-height:1.35!important;
  }

  .input-drop-zone>small{
    line-height:1.5!important;
  }

  .input-drop-desktop{
    display:none!important;
  }

  .input-drop-mobile{
    display:inline!important;
  }

  .input-empty{
    width:100%!important;
    min-width:0!important;
    padding:32px 14px!important;
  }

  .input-empty p{
    max-width:100%!important;
    margin:0!important;
  }

  .input-preview-card .table-scroll{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .input-history-desktop{
    display:none!important;
  }

  .input-history-mobile{
    display:grid!important;
    gap:12px!important;
  }

  .input-history-mobile-card{
    width:100%;
    min-width:0;
    display:grid;
    gap:15px;
    padding:18px;
    border:1px solid #e4e7ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(16,24,40,.05);
  }

  .input-history-mobile-card header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    min-width:0;
  }

  .input-history-mobile-card header>div,
  .input-history-file{
    min-width:0;
    display:grid;
    gap:4px;
  }

  .input-history-mobile-card small,
  .input-history-mobile-card dt{
    color:#667085;
    font-size:10px;
    font-weight:800;
  }

  .input-history-mobile-card b,
  .input-history-mobile-card dd{
    margin:0;
    color:#172033;
    overflow-wrap:anywhere;
  }

  .input-history-file b{
    font-size:15px;
  }

  .input-history-mobile-card dl{
    margin:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .input-history-mobile-card dl>div{
    min-width:0;
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid #eef1f5;
    border-radius:13px;
    background:#f8fafc;
  }

  .input-history-mobile-card footer{
    display:grid;
    gap:8px;
  }

  .input-history-mobile-card footer .company-btn{
    width:100%;
  }

  .input-history-warning{
    display:grid;
    gap:6px;
    padding:12px;
    border-radius:13px;
    background:#fff8e8;
    color:#7a4b00;
  }

  .input-history-warning span{
    font-size:10px;
    line-height:1.45;
  }

  .input-history-empty{
    min-height:230px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:8px;
    padding:26px 16px;
    text-align:center;
    color:#667085;
    border:2px dashed #d0d5dd;
    border-radius:18px;
    background:#fbfcfd;
  }

  .input-history-empty span{
    font-size:34px;
    color:var(--company-primary);
  }

  .input-history-empty b{
    color:#344054;
  }

  .input-history-empty p{
    margin:0;
    max-width:280px;
  }

  .footer{
    padding-bottom:calc(124px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:420px){
  .input-history-mobile-card dl{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .input-center .card,
  .input-center .page-hero{
    padding:16px!important;
  }

  .input-detection-only{
    grid-template-columns:48px minmax(0,1fr)!important;
  }

  .input-detection-icon{
    width:48px!important;
    height:48px!important;
    border-radius:14px!important;
  }
}

@media (min-width:981px){
  .input-drop-desktop{
    display:inline;
  }

  .input-drop-mobile,
  .input-history-mobile{
    display:none!important;
  }

  .input-history-desktop{
    display:block;
  }
}


/* =====================================================================
   AXORA v1.29.22 — Confirmaciones Nestlé visibles y resilientes en móvil
   Conserva reglas certificadas, API, inventario y Kardex.
   ===================================================================== */
.confirmation-pending-section,
.confirmation-history-section{
  display:block!important;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative;
  z-index:1;
}
.confirmation-pending-section>* ,
.confirmation-history-section>*{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.confirmation-loading{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid #dbe5f5;
  border-radius:14px;
  background:#f7faff;
  color:#344054;
}
.confirmation-loading>span{
  width:20px;
  height:20px;
  flex:0 0 auto;
  border:3px solid #d8e2f2;
  border-top-color:#175cd3;
  border-radius:50%;
  animation:confirmation-spin .8s linear infinite;
}
.confirmation-loading>div{min-width:0;display:grid;gap:2px}
.confirmation-loading b{font-size:12px;color:#172033}
.confirmation-loading small{font-size:10px;color:#667085;overflow-wrap:anywhere}
@keyframes confirmation-spin{to{transform:rotate(360deg)}}
.confirmation-load-fallback,
.confirmation-detail-missing{
  min-width:0;
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid #f0cf83;
  border-radius:14px;
  background:#fffaf0;
  color:#7a4b00;
}
.confirmation-load-fallback>b,
.confirmation-detail-missing>b{color:#5f3b00;font-size:13px}
.confirmation-load-fallback>p,
.confirmation-detail-missing>span{margin:0;font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
.confirmation-load-fallback .company-btn{width:100%;margin-top:2px}
.confirmation-empty-state{min-height:150px}

@media(max-width:980px){
  .confirmation-page{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    overflow:visible!important;
    padding-bottom:calc(132px + env(safe-area-inset-bottom))!important;
  }
  .confirmation-page>.card,
  .confirmation-page>.confirmation-rules,
  .confirmation-pending-section,
  .confirmation-history-section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  .confirmation-toolbar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .confirmation-toolbar>div,
  .confirmation-toolbar>.company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .confirmation-pending-grid,
  .confirmation-history-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .confirmation-pending-card,
  .confirmation-history-card,
  .confirmation-load-fallback{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .confirmation-product-row{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .confirmation-product-row>div,
  .confirmation-product-row span,
  .confirmation-product-row small{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere!important;
    word-break:break-word;
  }
}
@media(max-width:420px){
  .confirmation-pending-section,
  .confirmation-history-section{padding:16px!important}
  .confirmation-pending-card,
  .confirmation-history-card{padding:14px!important}
  .confirmation-card-meta{grid-template-columns:minmax(0,1fr)!important}
  .confirmation-card-meta>div:first-child{grid-column:auto!important}
}


/* =====================================================================
   AXORA v1.29.23 — Reenvíos y Reingresos visibles y resilientes en móvil
   Mantiene la lógica certificada, PostgreSQL, inventario y Kardex.
   ===================================================================== */
.reentry-pending-section,
.reentry-receive-section,
.reentry-resend-section{
  display:block!important;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative;
  z-index:1;
}
.reentry-pending-section>*,
.reentry-receive-section>*,
.reentry-resend-section>*{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.reentry-loading{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid #dbe5f5;
  border-radius:14px;
  background:#f7faff;
  color:#344054;
}
.reentry-loading>span{
  width:20px;
  height:20px;
  flex:0 0 auto;
  border:3px solid #d8e2f2;
  border-top-color:#175cd3;
  border-radius:50%;
  animation:reentry-spin .8s linear infinite;
}
.reentry-loading>div{min-width:0;display:grid;gap:2px}
.reentry-loading b{font-size:12px;color:#172033}
.reentry-loading small{font-size:10px;color:#667085;overflow-wrap:anywhere}
@keyframes reentry-spin{to{transform:rotate(360deg)}}
.reentry-load-fallback{
  min-width:0;
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid #f0cf83;
  border-radius:14px;
  background:#fffaf0;
  color:#7a4b00;
}
.reentry-load-fallback>b{color:#5f3b00;font-size:13px}
.reentry-load-fallback>p{margin:0;font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
.reentry-load-fallback .company-btn{width:100%;margin-top:2px}
.reentry-cloud-error .company-btn{width:100%;margin-top:8px}
.reentry-empty-state{min-height:140px}

@media(max-width:980px){
  .reentry-page{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }
  .reentry-page>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  .reentry-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .reentry-toolbar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .reentry-toolbar>div,
  .reentry-toolbar>.company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .reentry-pending-grid,
  .reentry-authorized-grid,
  .reentry-resend-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .reentry-decision-item,
  .reentry-authorized-card,
  .reentry-resend-card,
  .reentry-load-fallback{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .reentry-product-row,
  .reentry-line-row,
  .reentry-line-split{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .reentry-product-row>div,
  .reentry-product-row span,
  .reentry-product-row small,
  .reentry-card-meta b,
  .reentry-note{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere!important;
    word-break:break-word;
  }
}
@media(max-width:600px){
  .reentry-summary-grid{grid-template-columns:minmax(0,1fr)!important}
  .reentry-pending-section,
  .reentry-receive-section,
  .reentry-resend-section{padding:16px!important}
  .reentry-decision-item,
  .reentry-authorized-card,
  .reentry-resend-card{padding:14px!important}
  .reentry-card-meta{grid-template-columns:minmax(0,1fr)!important}
  .reentry-card-meta>div:first-child{grid-column:auto!important}
  .reentry-decision-item>header,
  .reentry-authorized-card>header,
  .reentry-resend-card>header{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:600px){
  .reentry-authorized-card .reentry-line-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* =====================================================================
   AXORA v1.29.24 — Inventario Físico completamente visible en iPhone
   Parche exclusivamente responsive. Conserva API, PostgreSQL, conteos,
   aprobaciones, inventario, Kardex y todas las reglas certificadas.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede calcular incorrectamente la altura intrínseca de
     tarjetas contenidas dentro de una grilla desplazable. Se elimina la
     contención de pintura únicamente en Inventario Físico. */
  .content-physical,
  .content-physical > .physical-v2,
  .physical-v2,
  .physical-v2 > *,
  .physical-v2 .card,
  .physical-v2 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-physical{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .physical-v2{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .physical-v2 > section,
  .physical-v2 > .physical-metrics,
  .physical-v2 > .physical-line-list{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .physical-v2 > .daily-sync-bar,
  .physical-v2 > .page-hero.executive-hero,
  .physical-v2 > .physical-session-bar,
  .physical-v2 > .physical-filters{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
  }

  .physical-v2 > .daily-sync-bar > *,
  .physical-v2 > .page-hero.executive-hero > *,
  .physical-v2 > .physical-session-bar > *,
  .physical-v2 > .physical-filters > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .physical-v2 > .page-hero.executive-hero{
    padding:18px!important;
  }

  .physical-v2 > .page-hero.executive-hero h2,
  .physical-v2 > .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .physical-v2 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .physical-v2 .physical-create-form,
  .physical-v2 .physical-session-select,
  .physical-v2 > .physical-metrics,
  .physical-v2 > .physical-line-list,
  .physical-v2 .physical-line-metrics,
  .physical-v2 .physical-entry,
  .physical-v2 .physical-history-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .physical-v2 .physical-line-card,
  .physical-v2 .physical-history-card,
  .physical-v2 .physical-metrics > .card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .physical-v2 .physical-session-bar .actions,
  .physical-v2 .physical-session-bar .actions .company-btn,
  .physical-v2 .physical-create-form .company-btn,
  .physical-v2 .physical-entry .company-btn,
  .physical-v2 > .daily-sync-bar .company-btn{
    width:100%!important;
    min-width:0!important;
  }

  .physical-v2 .physical-history{
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:420px){
  .physical-v2 > .page-hero.executive-hero,
  .physical-v2 > .card,
  .physical-v2 .physical-line-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* =====================================================================
   AXORA v1.29.25 — Documentos y Evidencias completamente visible en iPhone
   Parche exclusivamente responsive. Conserva API, PostgreSQL, binarios,
   SHA-256, permisos, auditoría y flujo documental certificado.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede calcular una altura incompleta cuando las tarjetas
     documentales usan contain:layout paint dentro de la grilla principal.
     Se elimina esa contención solo para este módulo. */
  .content-documents,
  .content-documents > .documents-page,
  .documents-page,
  .documents-page > *,
  .documents-page .card,
  .documents-page .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-documents{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .documents-page{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .documents-page > section,
  .documents-page > .two-col,
  .documents-page .document-upload-panel,
  .documents-page .document-review-panel,
  .documents-page .document-repository,
  .documents-page .document-toolbar,
  .documents-page .document-mobile-list,
  .documents-page .document-mobile-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .documents-page > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .documents-page > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .documents-page > .page-hero.executive-hero h2,
  .documents-page > .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .documents-page > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .documents-page > .card.elevated .task-top,
  .documents-page > .card.elevated .task-top > *,
  .documents-page > .card.elevated .task-top .actions,
  .documents-page .document-toolbar,
  .documents-page .document-upload-grid,
  .documents-page .document-file-picker,
  .documents-page .document-file-picker-actions,
  .documents-page .document-upload-actions,
  .documents-page .document-review-panel .actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:stretch!important;
  }

  .documents-page > .card.elevated .task-top .actions .company-btn,
  .documents-page .document-file-picker-actions .company-btn,
  .documents-page .document-file-picker-actions label,
  .documents-page .document-upload-actions .company-btn,
  .documents-page .document-review-panel .actions .company-btn,
  .documents-page .document-toolbar label,
  .documents-page .document-toolbar .select-control{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .documents-page .document-table-wrap{
    display:none!important;
  }

  .documents-page .document-mobile-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin-top:16px!important;
  }

  .documents-page .document-mobile-card .actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
  }

  .documents-page .document-mobile-card .actions > *{
    width:100%!important;
    min-width:0!important;
  }

  .documents-page > .two-col{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }

  .documents-page > .two-col > .card,
  .documents-page .rules-list,
  .documents-page .rules-list > li{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

@media (max-width:420px){
  .documents-page > .page-hero.executive-hero,
  .documents-page > .card,
  .documents-page > .two-col > .card,
  .documents-page .document-mobile-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .documents-page .document-mobile-card .actions,
  .documents-page .document-card-meta{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* =====================================================================
   AXORA v1.29.26 — Devoluciones completamente visible en iPhone
   Parche exclusivamente responsive. Conserva API, PostgreSQL, saldos,
   AVE-CALI, SALVAGE, permisos, idempotencia y Kardex certificados.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede calcular una altura incompleta cuando las tarjetas
     del módulo usan contain:layout paint dentro de la grilla principal.
     Se elimina esa contención únicamente en Devoluciones. */
  .content-returns,
  .content-returns > .returns-v2,
  .returns-v2,
  .returns-v2 > *,
  .returns-v2 .card,
  .returns-v2 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-returns{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .returns-v2{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .returns-v2 > section,
  .returns-v2 > .damaged-return-list,
  .returns-v2 .internal-damage-card,
  .returns-v2 .damaged-return-card,
  .returns-v2 .empty-state,
  .returns-v2 .input-alert{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .returns-v2 > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .returns-v2 > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .returns-v2 > .page-hero.executive-hero h2,
  .returns-v2 > .page-hero.executive-hero p,
  .returns-v2 .section-head h3,
  .returns-v2 .section-head p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .returns-v2 > .page-hero.executive-hero .inventory-cloud-actions,
  .returns-v2 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .returns-v2 > .page-hero.executive-hero .receipt-summary{
    padding:20px 16px!important;
  }

  .returns-v2 > .page-hero.executive-hero .inventory-cloud-actions .company-btn,
  .returns-v2 > .page-hero.executive-hero .inventory-cloud-actions small{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .returns-v2 .section-head,
  .returns-v2 .internal-damage-search-block,
  .returns-v2 .internal-damage-results,
  .returns-v2 .internal-damage-selected,
  .returns-v2 .return-line-builder,
  .returns-v2 .internal-damage-form,
  .returns-v2 .damaged-return-list,
  .returns-v2 .damaged-return-head,
  .returns-v2 .damaged-return-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    align-items:stretch!important;
  }

  .returns-v2 .section-head{
    gap:10px!important;
  }

  .returns-v2 .section-head > .status{
    justify-self:start!important;
  }

  .returns-v2 .internal-damage-search-block label,
  .returns-v2 .internal-damage-results > *,
  .returns-v2 .internal-damage-selected > *,
  .returns-v2 .internal-damage-form > *,
  .returns-v2 .damaged-return-head > *,
  .returns-v2 .damaged-return-form > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .returns-v2 .internal-damage-results{
    max-height:none!important;
  }

  .returns-v2 .damaged-return-list{
    gap:14px!important;
  }

  .returns-v2 .damaged-return-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }

  .returns-v2 .damaged-return-balance{
    min-width:0!important;
    width:100%!important;
    text-align:left!important;
  }

  .returns-v2 .internal-damage-form .company-btn,
  .returns-v2 .damaged-return-form .company-btn,
  .returns-v2 input,
  .returns-v2 select,
  .returns-v2 textarea{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .returns-v2 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:420px){
  .returns-v2 > .page-hero.executive-hero,
  .returns-v2 > .card,
  .returns-v2 .internal-damage-card,
  .returns-v2 .damaged-return-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* =====================================================================
   AXORA v1.29.27 — Conciliación Nestlé completamente visible en iPhone
   Parche exclusivamente responsive. Conserva API, PostgreSQL, permisos,
   comparación AXORA vs Nestlé, trazabilidad y regla de cero ajustes.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede calcular una altura intrínseca incompleta cuando
     las tarjetas con contain:layout paint viven dentro de la grilla de
     Conciliación. Se elimina la contención solo para este módulo. */
  .content-reconciliation,
  .content-reconciliation > .reconciliation-v2,
  .reconciliation-v2,
  .reconciliation-v2 > *,
  .reconciliation-v2 .card,
  .reconciliation-v2 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-reconciliation{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .reconciliation-v2{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .reconciliation-v2 > section,
  .reconciliation-v2 > .reconciliation-line-list,
  .reconciliation-v2 .reconciliation-line-card,
  .reconciliation-v2 .reconciliation-history,
  .reconciliation-v2 .reconciliation-history-item,
  .reconciliation-v2 .empty-state,
  .reconciliation-v2 .input-alert{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .reconciliation-v2 > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .reconciliation-v2 > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .reconciliation-v2 > .page-hero.executive-hero h2,
  .reconciliation-v2 > .page-hero.executive-hero p,
  .reconciliation-v2 .section-heading h3,
  .reconciliation-v2 .section-heading p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .reconciliation-v2 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .reconciliation-v2 .reconciliation-import,
  .reconciliation-v2 .section-heading,
  .reconciliation-v2 .reconciliation-upload-row,
  .reconciliation-v2 .reconciliation-toolbar,
  .reconciliation-v2 .reconciliation-line-list,
  .reconciliation-v2 .reconciliation-line-head,
  .reconciliation-v2 .reconciliation-action-form,
  .reconciliation-v2 .reconciliation-history{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    align-items:stretch!important;
  }

  .reconciliation-v2 .section-heading,
  .reconciliation-v2 .reconciliation-upload-row,
  .reconciliation-v2 .reconciliation-toolbar,
  .reconciliation-v2 .reconciliation-line-head{
    gap:12px!important;
  }

  .reconciliation-v2 .section-heading > .status{
    justify-self:start!important;
  }

  .reconciliation-v2 .reconciliation-upload-row > *,
  .reconciliation-v2 .reconciliation-toolbar > *,
  .reconciliation-v2 .reconciliation-action-form > *,
  .reconciliation-v2 .reconciliation-line-head > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .reconciliation-v2 .reconciliation-upload-row .actions,
  .reconciliation-v2 .receipt-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
  }

  .reconciliation-v2 .reconciliation-upload-row .company-btn,
  .reconciliation-v2 .reconciliation-toolbar .company-btn,
  .reconciliation-v2 .receipt-actions .company-btn,
  .reconciliation-v2 .reconciliation-action-form .company-btn,
  .reconciliation-v2 input,
  .reconciliation-v2 select,
  .reconciliation-v2 textarea{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .reconciliation-v2 .reconciliation-preview-summary,
  .reconciliation-v2 .reconciliation-kpis{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:10px!important;
  }

  .reconciliation-v2 .reconciliation-preview-summary > div,
  .reconciliation-v2 .reconciliation-kpis > div,
  .reconciliation-v2 .reconciliation-qty-grid > div{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .reconciliation-v2 .reconciliation-line-list{
    gap:14px!important;
  }

  .reconciliation-v2 .reconciliation-line-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }

  .reconciliation-v2 .reconciliation-difference{
    min-width:0!important;
    width:100%!important;
    text-align:left!important;
  }

  .reconciliation-v2 .reconciliation-history-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-content:stretch!important;
    align-items:start!important;
    gap:10px!important;
    text-align:left!important;
  }

  .reconciliation-v2 .reconciliation-history-item > div:last-child{
    text-align:left!important;
  }

  .reconciliation-v2 .table-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
    contain:none!important;
  }

  .reconciliation-v2 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:420px){
  .reconciliation-v2 > .page-hero.executive-hero,
  .reconciliation-v2 > .card,
  .reconciliation-v2 .reconciliation-line-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .reconciliation-v2 .reconciliation-preview-summary,
  .reconciliation-v2 .reconciliation-kpis,
  .reconciliation-v2 .reconciliation-qty-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* AXORA v1.29.28 · reversión controlada de averías */
.damage-reversal-card{border-left-color:#2563eb;}
.damage-reversal-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.damage-reversal-meta>span{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;}
.damage-reversal-meta small{color:#64748b;font-weight:800;}
.damage-reversal-meta b{overflow-wrap:anywhere;color:#172033;}
@media(max-width:900px){.damage-reversal-meta{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.damage-reversal-meta{grid-template-columns:1fr}.damage-reversal-card .damaged-return-form{grid-template-columns:1fr}.damage-reversal-card .damaged-return-form .company-btn{width:100%;}}


/* AXORA v1.29.29 · ingreso controlado a Salvage */
.salvage-entry-card{border-left-color:#d97706;}

/* AXORA v1.29.30 · Devoluciones compactas en tres procesos */
.returns-compact{gap:14px;align-items:start}
.returns-compact>*{min-width:0;contain:none!important;content-visibility:visible!important}
.returns-compact-hero{padding:22px!important;gap:18px!important}
.returns-compact-hero h2{margin:10px 0 6px;font-size:clamp(28px,4vw,42px)}
.returns-compact-hero p{margin:0;max-width:760px}
.return-process-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px!important;position:sticky;top:calc(var(--app-header-height,0px) + 8px);z-index:6}
.return-process-tab{appearance:none;border:1px solid #dbe2ea;background:#f8fafc;border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;color:#172033;font:inherit;cursor:pointer;min-width:0}
.return-process-tab>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e8edf4;font-weight:900}
.return-process-tab b{font-size:13px;line-height:1.2;min-width:0}
.return-process-tab small{min-width:28px;padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #dbe2ea;text-align:center;font-weight:900}
.return-process-tab.active{background:#121826;color:#fff;border-color:#121826;box-shadow:0 10px 24px rgba(15,23,42,.16)}
.return-process-tab.active>span,.return-process-tab.active small{background:#fff;color:#172033;border-color:#fff}
.compact-process-card{padding:18px!important;display:grid;gap:14px}
.compact-process-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.compact-process-head>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;min-width:0}
.compact-process-head h3{margin:0;font-size:21px;line-height:1.2}
.compact-process-head p{grid-column:2;margin:3px 0 0;color:var(--muted);font-weight:650;font-size:13px}
.process-number{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#121826;color:#fff;font-weight:900;grid-row:1/3}
.return-segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:13px;background:#eef2f7;max-width:460px}
.return-segmented button{border:0;border-radius:10px;background:transparent;padding:9px 12px;font:inherit;font-weight:850;cursor:pointer;color:#526079}
.return-segmented button.active{background:#fff;color:#172033;box-shadow:0 4px 12px rgba(15,23,42,.10)}
.return-segmented button.active.danger{color:#b42318}
.return-segmented button.active.warn{color:#a15c00}
.compact-return-search{display:grid;gap:8px}
.compact-return-search label,.return-filter-bar label,.compact-return-form label,.return-selected-fields label,.return-bulk-toolbar label{display:grid;gap:5px;color:#526079;font-size:12px;font-weight:850;min-width:0}
.compact-return-search input,.return-filter-bar input,.return-filter-bar select,.compact-return-form input,.return-selected-fields input,.return-bulk-toolbar input{width:100%;min-width:0;min-height:40px;border:1px solid #d7dfe8;border-radius:11px;background:#fff;padding:8px 10px;font:inherit;color:#172033;box-sizing:border-box}
.compact-results{max-height:230px;overflow:auto;border-radius:12px}
.compact-selection{padding:10px 12px!important;border-radius:12px!important;min-height:0!important}
.compact-return-form{display:grid;grid-template-columns:130px minmax(220px,1fr) auto;gap:10px;align-items:end}
.compact-return-form .grow{min-width:0}
.compact-return-form .company-btn{min-height:40px;white-space:nowrap}
.return-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:10px;align-items:end;padding:10px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}
.return-filter-bar>span{align-self:center;justify-self:end;color:#64748b;font-weight:850;font-size:13px}
.select-visible{display:flex!important;align-items:center;gap:7px;align-self:center!important;white-space:nowrap}
.select-visible input{width:18px!important;min-height:18px!important}
.compact-special-list{display:grid;gap:8px}
.compact-special-row{border:1px solid #e1e7ee;border-radius:13px;padding:11px 12px;background:#fff;display:grid;gap:9px;min-width:0}
.compact-special-row:hover{border-color:#bcc8d6}
.compact-special-row.selected{border-color:#2563eb;background:#f8fbff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.return-row-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}
.return-row-main>div{display:grid;gap:2px;min-width:0}
.return-row-main b,.return-row-main small{overflow-wrap:anywhere}
.return-row-main small{color:#64748b;font-weight:700}
.return-row-main strong{font-size:22px;color:#172033}
.return-row-meta{display:flex;gap:12px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:750;padding-left:2px}
.return-selected-fields{display:grid;grid-template-columns:130px minmax(180px,1fr);gap:8px;padding-left:38px}
.selectable-return-row{grid-template-columns:auto minmax(0,1fr);column-gap:9px}
.selectable-return-row>.return-row-main,.selectable-return-row>.return-selected-fields{grid-column:2}
.return-check{grid-row:1/3;align-self:center;cursor:pointer}
.return-check input{position:absolute;opacity:0;pointer-events:none}
.return-check span{display:block;width:22px;height:22px;border:2px solid #aeb9c7;border-radius:7px;background:#fff;position:relative}
.return-check input:checked+span{background:#2563eb;border-color:#2563eb}
.return-check input:checked+span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:900}
.return-bulk-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;padding:10px 12px;border-radius:13px;background:#121826}
.return-bulk-toolbar label{color:#d7deea}
.return-bulk-toolbar .company-btn{min-height:40px;background:#fff;color:#172033;border-color:#fff}
.compact-empty{padding:18px!important;border:1px dashed #cbd5e1!important;background:#f8fafc!important}
.compact-trace-note{display:flex;align-items:center;gap:12px;padding:13px 16px!important}
.compact-trace-note span{color:#64748b;font-weight:650}

@media(max-width:900px){
  .return-process-tabs{position:static;grid-template-columns:1fr}
  .return-process-tab{grid-template-columns:auto minmax(0,1fr) auto}
  .return-filter-bar{grid-template-columns:1fr 160px}
  .return-filter-bar>span,.return-filter-bar>.select-visible{grid-column:1/-1;justify-self:start}
}
@media(max-width:620px){
  .returns-compact{gap:10px!important}
  .returns-compact-hero{padding:16px!important}
  .returns-compact-hero h2{font-size:28px!important}
  .returns-compact-hero p{font-size:15px!important;line-height:1.45!important}
  .return-process-tabs{padding:6px!important;gap:5px}
  .return-process-tab{padding:8px 9px;border-radius:11px}
  .return-process-tab>span{width:25px;height:25px}
  .return-process-tab b{font-size:12px}
  .compact-process-card{padding:14px!important;gap:11px}
  .compact-process-head{display:grid;gap:8px}
  .compact-process-head>div:first-child{column-gap:8px}
  .compact-process-head h3{font-size:18px}
  .compact-process-head p{font-size:12px}
  .compact-return-form,.return-filter-bar,.return-bulk-toolbar,.return-selected-fields{grid-template-columns:1fr}
  .compact-return-form .company-btn,.return-bulk-toolbar .company-btn{width:100%}
  .return-filter-bar>span,.return-filter-bar>.select-visible{grid-column:auto}
  .selectable-return-row{grid-template-columns:auto minmax(0,1fr)}
  .return-selected-fields{padding-left:0}
  .compact-special-row{padding:10px}
  .return-row-main{grid-template-columns:auto minmax(0,1fr) auto;gap:7px}
  .return-row-main strong{font-size:19px}
  .return-row-meta{gap:7px;font-size:11px}
  .compact-trace-note{display:grid;padding:12px!important}
  .content-returns,.content-returns>.returns-v2,.returns-v2,.returns-v2>*{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;contain:none!important;content-visibility:visible!important}
}


/* =====================================================================
   AXORA v1.29.31 — Incidencias y Aprobaciones completamente visible en iPhone
   Parche exclusivamente responsive. Conserva API, PostgreSQL, conteos,
   decisiones gerenciales, inventario, Kardex y todas las reglas certificadas.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede calcular una altura incompleta cuando las tarjetas
     de Incidencias usan contención dentro de la grilla principal. Se elimina
     la contención de pintura únicamente en este módulo. */
  .content-incidents,
  .content-incidents > .incidents-v2,
  .incidents-v2,
  .incidents-v2 > *,
  .incidents-v2 .card,
  .incidents-v2 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-incidents{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .incidents-v2{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .incidents-v2 > section,
  .incidents-v2 > .executive-grid,
  .incidents-v2 > .incident-toolbar,
  .incidents-v2 > .incident-card-grid,
  .incidents-v2 .incident-card,
  .incidents-v2 .empty-state{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .incidents-v2 > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .incidents-v2 > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .incidents-v2 > .page-hero.executive-hero h2,
  .incidents-v2 > .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .incidents-v2 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .incidents-v2 > .executive-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .incidents-v2 > .executive-grid > .executive-kpi{
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .incidents-v2 > .incident-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:end!important;
    gap:12px!important;
  }

  .incidents-v2 > .incident-toolbar > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .incidents-v2 > .incident-toolbar .company-btn{
    min-height:44px!important;
  }

  .incidents-v2 > .incident-card-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .incidents-v2 .incident-card-head,
  .incidents-v2 .incident-detail-grid,
  .incidents-v2 .incident-trace,
  .incidents-v2 .incident-card .actions{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .incidents-v2 .incident-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .incidents-v2 .incident-card p,
  .incidents-v2 .incident-card h3,
  .incidents-v2 .incident-detail-grid b,
  .incidents-v2 .incident-trace span{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  .incidents-v2 .incident-card .actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }

  .incidents-v2 .incident-card .actions > *{
    width:100%!important;
    min-width:0!important;
  }

  .incidents-v2 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:620px){
  .incidents-v2 > .page-hero.executive-hero,
  .incidents-v2 > .card,
  .incidents-v2 .incident-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .incidents-v2 > .executive-grid,
  .incidents-v2 > .incident-toolbar,
  .incidents-v2 .incident-detail-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .incidents-v2 .incident-card-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  .incidents-v2 .incident-trace{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:6px!important;
  }
}


/* =====================================================================
   AXORA v1.29.32 — Reportes completamente visible en iPhone
   Parche exclusivamente responsive. Conserva cálculos, Inventario,
   Kardex, filtros, exportaciones y reglas operativas certificadas.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil puede comprimir el contenedor de Reportes cuando la
     página combina tarjetas, tablas y grillas extensas. La corrección
     devuelve únicamente este módulo al flujo vertical natural. */
  .content-reports,
  .content-reports > .reports-v1294,
  .reports-v1294,
  .reports-v1294 > *,
  .reports-v1294 .card,
  .reports-v1294 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-reports{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .reports-v1294{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .reports-v1294 > section,
  .reports-v1294 > .executive-grid,
  .reports-v1294 > .two-col,
  .reports-v1294 > .report-detail-grid,
  .reports-v1294 .report-process-grid,
  .reports-v1294 .report-inventory-mobile-grid,
  .reports-v1294 .module-grid,
  .reports-v1294 .report-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .reports-v1294 > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .reports-v1294 > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .reports-v1294 > .page-hero.executive-hero h2,
  .reports-v1294 > .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .reports-v1294 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .reports-v1294 .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
  }

  .reports-v1294 .section-heading > *,
  .reports-v1294 .section-heading .actions,
  .reports-v1294 .report-export-actions{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .reports-v1294 .section-heading .actions,
  .reports-v1294 .report-export-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .reports-v1294 .section-heading .actions .company-btn:first-child:last-child,
  .reports-v1294 .report-export-actions .company-btn:first-child:last-child{
    grid-column:1/-1!important;
  }

  .reports-v1294 .section-heading .actions > *,
  .reports-v1294 .report-export-actions > *{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }

  .reports-v1294 .report-filter-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .reports-v1294 .report-filter-grid > *,
  .reports-v1294 .report-filter-grid input,
  .reports-v1294 .report-filter-grid select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .reports-v1294 > .report-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .reports-v1294 > .report-kpi-grid > .executive-kpi{
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .reports-v1294 > .two-col,
  .reports-v1294 > .report-detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
  }

  .reports-v1294 .bar-report div{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  .reports-v1294 .bar-report i{
    grid-column:1/-1!important;
    max-width:100%!important;
  }

  .reports-v1294 .report-process-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
  }

  .reports-v1294 .report-process-card{
    width:100%!important;
    min-width:0!important;
    min-height:112px!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .reports-v1294 .report-inventory-mobile-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .reports-v1294 .report-inventory-mobile-card,
  .reports-v1294 .report-inventory-mobile-head,
  .reports-v1294 .report-inventory-mobile-balances{
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .reports-v1294 .table-wrap,
  .reports-v1294 .report-movements-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
  }

  .reports-v1294 .module-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .reports-v1294 p,
  .reports-v1294 h2,
  .reports-v1294 h3,
  .reports-v1294 small,
  .reports-v1294 span,
  .reports-v1294 b{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .reports-v1294 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:620px){
  .reports-v1294 > .page-hero.executive-hero,
  .reports-v1294 > .card,
  .reports-v1294 .report-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .reports-v1294 > .report-kpi-grid,
  .reports-v1294 .report-process-grid,
  .reports-v1294 .section-heading .actions,
  .reports-v1294 .report-export-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .reports-v1294 .report-inventory-mobile-balances{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .reports-v1294 .report-inventory-mobile-balances > div:last-child{
    grid-column:1/-1!important;
  }
}


/* =====================================================================
   AXORA v1.29.33 — Seguridad y Auditoría completamente visible en iPhone
   Parche exclusivamente responsive. Conserva usuarios, perfiles,
   permisos, contraseñas, auditoría, API y PostgreSQL certificados.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil podía comprimir la grilla de Seguridad al alto restante
     después del resumen. Este bloque devuelve solo este módulo al flujo
     vertical natural, sin alterar reglas ni acciones administrativas. */
  .content-security,
  .content-security > .security-users-v128,
  .security-users-v128,
  .security-users-v128 > *,
  .security-users-v128 .card,
  .security-users-v128 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-security{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .security-users-v128{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .security-users-v128 > section,
  .security-users-v128 > .security-kpi-grid,
  .security-users-v128 .security-users-card,
  .security-users-v128 .security-editor-card,
  .security-users-v128 .security-permissions-card,
  .security-users-v128 .security-audit-card,
  .security-users-v128 .security-user-grid,
  .security-users-v128 .security-user-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .security-users-v128 > section,
  .security-users-v128 > .security-kpi-grid,
  .security-users-v128 .security-users-card,
  .security-users-v128 .security-editor-card,
  .security-users-v128 .security-permissions-card{
    overflow:visible!important;
  }

  .security-users-v128 > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
  }

  .security-users-v128 > .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .security-users-v128 > .page-hero.executive-hero h2,
  .security-users-v128 > .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .security-users-v128 > .page-hero.executive-hero .receipt-summary{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .security-users-v128 > .security-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .security-users-v128 .security-kpi-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .security-users-v128 .section-head,
  .security-users-v128 .security-audit-head,
  .security-users-v128 .user-permission-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
  }

  .security-users-v128 .section-head > *,
  .security-users-v128 .section-head .actions,
  .security-users-v128 .security-audit-head > *,
  .security-users-v128 .security-audit-actions,
  .security-users-v128 .user-permission-head > *,
  .security-users-v128 .user-permission-head .actions{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .security-users-v128 .section-head .actions,
  .security-users-v128 .security-audit-actions,
  .security-users-v128 .user-permission-head .actions,
  .security-users-v128 .security-editor-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .security-users-v128 .section-head .actions > *,
  .security-users-v128 .security-audit-actions > *,
  .security-users-v128 .user-permission-head .actions > *,
  .security-users-v128 .security-editor-actions > *{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }

  .security-users-v128 .security-user-toolbar,
  .security-users-v128 .security-editor-grid,
  .security-users-v128 .security-filter-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .security-users-v128 .security-user-toolbar > *,
  .security-users-v128 .security-editor-grid > *,
  .security-users-v128 .security-filter-grid > *,
  .security-users-v128 .security-user-toolbar input,
  .security-users-v128 .security-user-toolbar select,
  .security-users-v128 .security-editor-grid input,
  .security-users-v128 .security-editor-grid select,
  .security-users-v128 .security-filter-grid input,
  .security-users-v128 .security-filter-grid select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-column:auto!important;
  }

  .security-users-v128 .security-user-toolbar > span{
    justify-self:start!important;
    white-space:normal!important;
  }

  .security-users-v128 .security-user-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .security-users-v128 .security-user-card-head,
  .security-users-v128 .security-user-card-meta,
  .security-users-v128 .permission-edit-state,
  .security-users-v128 .permission-group,
  .security-users-v128 .permission-check-grid{
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .security-users-v128 .permission-check-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:8px!important;
  }

  .security-users-v128 .permission-check{
    min-width:0!important;
    height:auto!important;
    min-height:42px!important;
    overflow:visible!important;
  }

  .security-users-v128 .security-audit-card{
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
  }

  .security-users-v128 .security-audit-card .table{
    width:max-content!important;
    min-width:900px!important;
    max-width:none!important;
  }

  .security-users-v128 p,
  .security-users-v128 h2,
  .security-users-v128 h3,
  .security-users-v128 h4,
  .security-users-v128 small,
  .security-users-v128 span,
  .security-users-v128 b{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .security-users-v128 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:620px){
  .security-users-v128 > .page-hero.executive-hero,
  .security-users-v128 > .card,
  .security-users-v128 .security-user-card,
  .security-users-v128 .security-kpi-card{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .security-users-v128 > .security-kpi-grid,
  .security-users-v128 .permission-check-grid,
  .security-users-v128 .section-head .actions,
  .security-users-v128 .security-audit-actions,
  .security-users-v128 .user-permission-head .actions,
  .security-users-v128 .security-editor-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .security-users-v128 .security-user-card-head{
    grid-template-columns:38px minmax(0,1fr)!important;
  }

  .security-users-v128 .security-user-card-head > .status{
    grid-column:2!important;
    justify-self:start!important;
  }

  .security-users-v128 .security-user-card-meta,
  .security-users-v128 .permission-edit-state{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
  }
}


/* =====================================================================
   AXORA v1.29.34 — Salud Operativa completamente visible en iPhone
   Parche exclusivamente responsive. Conserva cálculos, API, PostgreSQL,
   respaldos, inventario, Kardex y procesos operativos certificados.
   ===================================================================== */

@media (max-width:980px){
  /* Safari móvil podía comprimir la grilla genérica de Salud al alto
     restante después del índice. Este bloque devuelve únicamente este
     módulo al flujo vertical natural antes del pie de página. */
  .content-health,
  .content-health > .page-grid,
  .content-health .page-grid,
  .content-health .page-grid > *,
  .content-health .card,
  .content-health .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-health{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-health > .page-grid,
  .content-health .page-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-health .page-grid > section,
  .content-health .page-grid > .kpi-grid,
  .content-health .page-grid > .two-col,
  .content-health .health-components,
  .content-health .decision-list,
  .content-health .rules-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-health .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px!important;
    overflow:visible!important;
  }

  .content-health .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .content-health .page-hero.executive-hero h2,
  .content-health .page-hero.executive-hero p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-health .health-score{
    display:grid!important;
    grid-template-columns:auto auto!important;
    justify-content:center!important;
    align-items:end!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:22px 16px!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    text-align:center!important;
  }

  .content-health .health-score b{
    font-size:clamp(48px,18vw,76px)!important;
    line-height:.95!important;
  }

  .content-health .health-score span{
    align-self:end!important;
    padding-bottom:6px!important;
  }

  .content-health .health-score small{
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:10px!important;
    white-space:normal!important;
  }

  .content-health .kpi-grid.compact{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .content-health .kpi-grid.compact > .card,
  .content-health .kpi-grid.compact > .kpi{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .content-health .two-col{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
  }

  .content-health .two-col > .card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .content-health .health-row,
  .content-health .decision-item,
  .content-health .decision-priority,
  .content-health .decision-content,
  .content-health .rules-grid > div{
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .content-health .decision-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  .content-health .decision-priority{
    justify-items:start!important;
  }

  .content-health .two-col .actions,
  .content-health .health-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
  }

  .content-health .two-col .actions > *,
  .content-health .health-actions > *{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }

  .content-health p,
  .content-health h2,
  .content-health h3,
  .content-health small,
  .content-health span,
  .content-health b{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
}

@media (max-width:560px){
  .content-health .kpi-grid.compact{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* =====================================================================
   AXORA v1.29.35 — Configuración completamente visible en iPhone
   Parche exclusivamente responsive. Conserva parámetros, reglas,
   permisos Founder, respaldos, API y PostgreSQL certificados.
   ===================================================================== */

@media (max-width:980px){
  /* En Configuración, Safari podía conservar la posición de scroll del
     módulo anterior y ubicar el encabezado sticky debajo de la zona del
     sistema. La clase de vista permite aplicar un resguardo local sin
     alterar el encabezado certificado de los demás módulos. */
  .company-shell.view-settings .topbar{
    top:0!important;
    min-height:max(calc(70px + env(safe-area-inset-top)),112px)!important;
    padding-top:max(calc(10px + env(safe-area-inset-top)),48px)!important;
    padding-bottom:10px!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  .company-shell.view-settings .topbar>div:first-of-type{
    min-width:0!important;
    overflow:hidden!important;
  }

  .company-shell.view-settings .topbar h1,
  .company-shell.view-settings .topbar .breadcrumb{
    max-width:calc(100vw - 150px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Devuelve Configuración al flujo vertical natural. Safari no debe
     calcular la grilla con el alto restante después del resumen. */
  .content-settings,
  .content-settings > .settings-v12935,
  .content-settings .settings-v12935,
  .content-settings .settings-v12935 > *,
  .content-settings .settings-v12935 .card,
  .content-settings .settings-v12935 .page-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-settings{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-settings > .settings-v12935,
  .content-settings .settings-v12935{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-settings .settings-v12935 > section,
  .content-settings .settings-v12935 .two-col,
  .content-settings .settings-v12935 .form-grid,
  .content-settings .settings-v12935 .rules-grid,
  .content-settings .settings-v12935 .section-head,
  .content-settings .settings-v12935 .table-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-settings .settings-v12935 .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px!important;
    overflow:visible!important;
  }

  .content-settings .settings-v12935 .page-hero.executive-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .content-settings .settings-v12935 .receipt-summary{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:18px 14px!important;
    overflow:visible!important;
  }

  .content-settings .settings-v12935 .receipt-summary b{
    font-size:clamp(42px,14vw,64px)!important;
    line-height:1!important;
  }

  .content-settings .settings-v12935 .two-col{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
  }

  .content-settings .settings-v12935 .card{
    padding:16px!important;
    overflow:visible!important;
  }

  .content-settings .settings-v12935 .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .content-settings .settings-v12935 .section-head > *,
  .content-settings .settings-v12935 .section-head .actions,
  .content-settings .settings-v12935 .section-head button{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .content-settings .settings-v12935 .form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
  }

  .content-settings .settings-v12935 .form-grid label,
  .content-settings .settings-v12935 .form-grid input,
  .content-settings .settings-v12935 .form-grid select,
  .content-settings .settings-v12935 .form-grid .actions,
  .content-settings .settings-v12935 .form-grid .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-settings .settings-v12935 .check-label{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
  }

  .content-settings .settings-v12935 .check-label input{
    width:20px!important;
    height:20px!important;
  }

  .content-settings .settings-v12935 .rules-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:8px!important;
  }

  .content-settings .settings-v12935 .rules-grid > *{
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
  }

  .content-settings .settings-v12935 .table-wrap,
  .content-settings .settings-v12935 .card:has(> .table){
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
  }

  .content-settings .settings-v12935 .table{
    width:max-content!important;
    min-width:620px!important;
    max-width:none!important;
  }

  .content-settings .settings-v12935 h2,
  .content-settings .settings-v12935 h3,
  .content-settings .settings-v12935 p,
  .content-settings .settings-v12935 small,
  .content-settings .settings-v12935 span,
  .content-settings .settings-v12935 b,
  .content-settings .settings-v12935 td,
  .content-settings .settings-v12935 th{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-settings .settings-v12935 > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:620px){
  .company-shell.view-settings .topbar{
    min-height:max(calc(70px + env(safe-area-inset-top)),108px)!important;
    padding-top:max(calc(10px + env(safe-area-inset-top)),44px)!important;
  }

  .content-settings .settings-v12935 .rules-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .content-settings .settings-v12935 .page-hero.executive-hero,
  .content-settings .settings-v12935 .card{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* =====================================================================
   AXORA v1.29.36 — Integración MVP completamente visible en iPhone
   Parche exclusivamente responsive. Conserva validación E2E, modo de
   solo lectura, inventario, Kardex, idempotencia, API y PostgreSQL.
   ===================================================================== */

@media (max-width:980px){
  /* Safari podía usar el ancho mínimo del título y el alto restante de
     la grilla como dimensiones del módulo. Se devuelve Integración al
     flujo natural, sin desbordamiento horizontal ni recorte vertical. */
  .content-integration,
  .content-integration > .integration-view,
  .content-integration .integration-view,
  .content-integration .integration-view > *,
  .content-integration .integration-view .card,
  .content-integration .integration-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-integration{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-integration > .integration-view,
  .content-integration .integration-view{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-integration .integration-view > section,
  .content-integration .integration-kpi-grid,
  .content-integration .integration-path-grid,
  .content-integration .integration-gates-mobile,
  .content-integration .integration-issues-mobile,
  .content-integration .integration-bottom,
  .content-integration .integration-actions,
  .content-integration .section-heading{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-integration .integration-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px!important;
    overflow:visible!important;
  }

  .content-integration .integration-hero-copy,
  .content-integration .integration-hero-copy > *,
  .content-integration .integration-score{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-integration .integration-hero h2{
    margin:12px 0 10px!important;
    font-size:clamp(30px,10vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .content-integration .integration-hero p{
    font-size:clamp(14px,4.2vw,17px)!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .content-integration .integration-score{
    min-height:0!important;
    height:auto!important;
    padding:22px 16px!important;
    overflow:visible!important;
  }

  .content-integration .integration-score b{
    font-size:clamp(54px,18vw,76px)!important;
  }

  .content-integration .integration-score small{
    font-size:12px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }

  .content-integration .integration-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
  }

  .content-integration .integration-kpi-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:15px!important;
    overflow:visible!important;
  }

  .content-integration .integration-test-card,
  .content-integration .integration-gates,
  .content-integration .integration-diagnostics,
  .content-integration .integration-bottom > .card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:16px!important;
    overflow:visible!important;
  }

  .content-integration .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .content-integration .section-heading > *,
  .content-integration .section-heading .status{
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
  }

  .content-integration .integration-path-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
    margin-top:14px!important;
  }

  .content-integration .integration-path-grid > article{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    border:1px solid #e6eaf0!important;
    border-radius:12px!important;
    background:#fbfcfd!important;
    overflow:visible!important;
  }

  .content-integration .integration-path-grid > article > b{
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    background:#111827!important;
    color:#fff!important;
  }

  .content-integration .integration-path-grid strong,
  .content-integration .integration-path-grid small{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-integration .integration-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:14px!important;
  }

  .content-integration .integration-actions .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
  }

  .content-integration .integration-note{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-integration .integration-gates-table,
  .content-integration .integration-issues-table{
    display:none!important;
  }

  .content-integration .integration-gates-mobile,
  .content-integration .integration-issues-mobile{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
    margin-top:12px!important;
  }

  .content-integration .integration-gate-card,
  .content-integration .integration-issue-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
    padding:13px!important;
    border:1px solid #e6eaf0!important;
    border-radius:12px!important;
    background:#fbfcfd!important;
    overflow:visible!important;
  }

  .content-integration .integration-gate-card > .status,
  .content-integration .integration-issue-head .status{
    justify-self:start!important;
  }

  .content-integration .integration-gate-card b,
  .content-integration .integration-gate-card span,
  .content-integration .integration-issue-card b,
  .content-integration .integration-issue-card p,
  .content-integration .integration-issue-card dt,
  .content-integration .integration-issue-card dd{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-integration .integration-issue-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  .content-integration .integration-issue-card dl{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    min-width:0!important;
  }

  .content-integration .integration-bottom{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
  }

  .content-integration .integration-bottom .timeline-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .content-integration h2,
  .content-integration h3,
  .content-integration p,
  .content-integration small,
  .content-integration span,
  .content-integration strong,
  .content-integration b,
  .content-integration li{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-integration .integration-view > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:560px){
  .content-integration .integration-kpi-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .content-integration .integration-hero,
  .content-integration .integration-test-card,
  .content-integration .integration-gates,
  .content-integration .integration-diagnostics,
  .content-integration .integration-bottom > .card{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}

/* =====================================================================
   AXORA v1.29.37 — Estabilización MVP completamente visible en iPhone
   Corrige el ancho mínimo, el recorte vertical y la compresión de Safari.
   No modifica lógica, API, PostgreSQL, Inventario ni Kardex.
   ===================================================================== */

@media (max-width:980px){
  .content-stabilization,
  .content-stabilization > .stabilization-view,
  .content-stabilization .stabilization-view,
  .content-stabilization .stabilization-view > *,
  .content-stabilization .stabilization-view .card,
  .content-stabilization .stabilization-hero{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-stabilization{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-stabilization > .stabilization-view,
  .content-stabilization .stabilization-view{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-stabilization .stabilization-view > section,
  .content-stabilization .stabilization-kpi-grid,
  .content-stabilization .stabilization-flow-compact,
  .content-stabilization .stabilization-layout,
  .content-stabilization .stabilization-checks-mobile,
  .content-stabilization .stabilization-actions,
  .content-stabilization .stabilization-metrics,
  .content-stabilization .section-heading{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-stabilization .stabilization-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    padding:18px!important;
    border:1px solid #e6eaf0!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(16,24,40,.04)!important;
    overflow:visible!important;
  }

  .content-stabilization .stabilization-hero-copy,
  .content-stabilization .stabilization-hero-copy > *,
  .content-stabilization .stabilization-score{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-stabilization .stabilization-hero h2{
    margin:12px 0 10px!important;
    font-size:clamp(30px,9.6vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .content-stabilization .stabilization-hero p{
    margin:0!important;
    font-size:clamp(14px,4.2vw,17px)!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization .stabilization-score{
    min-height:0!important;
    height:auto!important;
    padding:22px 16px!important;
    align-items:center!important;
    text-align:center!important;
    overflow:visible!important;
  }

  .content-stabilization .stabilization-score b{
    font-size:clamp(54px,18vw,76px)!important;
    max-width:100%!important;
  }

  .content-stabilization .stabilization-score span,
  .content-stabilization .stabilization-score small{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .content-stabilization .stabilization-score small{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .content-stabilization .stabilization-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
  }

  .content-stabilization .stabilization-kpi-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:15px!important;
    overflow:visible!important;
  }

  .content-stabilization .stabilization-test-card,
  .content-stabilization .stabilization-checklist-card,
  .content-stabilization .stabilization-summary-card,
  .content-stabilization .stabilization-scope-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:16px!important;
    overflow:visible!important;
  }

  .content-stabilization .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .content-stabilization .section-heading > *,
  .content-stabilization .section-heading .status{
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
  }

  .content-stabilization .stabilization-flow-compact{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
    margin-top:14px!important;
  }

  .content-stabilization .stabilization-flow-compact > article{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    border:1px solid #e6eaf0!important;
    border-radius:12px!important;
    background:#fbfcfd!important;
    overflow:visible!important;
  }

  .content-stabilization .stabilization-flow-compact > article > b{
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    background:#111827!important;
    color:#fff!important;
  }

  .content-stabilization .stabilization-flow-compact strong,
  .content-stabilization .stabilization-flow-compact small{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization .stabilization-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:14px!important;
  }

  .content-stabilization .stabilization-actions .company-btn,
  .content-stabilization .stabilization-summary-card > .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
  }

  .content-stabilization .stabilization-note{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization .stabilization-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    align-items:start!important;
  }

  .content-stabilization .stabilization-checks-table{
    display:none!important;
  }

  .content-stabilization .stabilization-checks-mobile{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
    margin-top:12px!important;
  }

  .content-stabilization .stabilization-check-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:13px!important;
    border:1px solid #e6eaf0!important;
    border-radius:12px!important;
    background:#fbfcfd!important;
    overflow:visible!important;
  }

  .content-stabilization .stabilization-check-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    min-width:0!important;
  }

  .content-stabilization .stabilization-check-head .status{
    justify-self:start!important;
  }

  .content-stabilization .stabilization-check-card h4,
  .content-stabilization .stabilization-check-card p{
    margin:0!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization .stabilization-metrics{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    margin:14px 0!important;
  }

  .content-stabilization .stabilization-metrics > div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
    min-width:0!important;
    padding:10px 0!important;
    border-bottom:1px solid #eef1f5!important;
  }

  .content-stabilization .stabilization-metrics dt,
  .content-stabilization .stabilization-metrics dd{
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization h2,
  .content-stabilization h3,
  .content-stabilization h4,
  .content-stabilization p,
  .content-stabilization small,
  .content-stabilization span,
  .content-stabilization strong,
  .content-stabilization b,
  .content-stabilization li,
  .content-stabilization dt,
  .content-stabilization dd{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-stabilization .stabilization-view > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:560px){
  .content-stabilization .stabilization-kpi-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .content-stabilization .stabilization-hero,
  .content-stabilization .stabilization-test-card,
  .content-stabilization .stabilization-checklist-card,
  .content-stabilization .stabilization-summary-card,
  .content-stabilization .stabilization-scope-card{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}

/* =====================================================================
   AXORA v1.29.38 — Persistencia completamente visible en iPhone
   Corrige exclusivamente el flujo vertical y el recorte de Safari móvil.
   No modifica PostgreSQL, API, respaldos ni repositorios.
   ===================================================================== */
@media (max-width:980px){
  .content-persistence,
  .content-persistence > .persistence-page,
  .content-persistence .persistence-page,
  .content-persistence .persistence-page > *,
  .content-persistence .persistence-page .card,
  .content-persistence .persistence-page .page-hero,
  .content-persistence .persistence-status-grid,
  .content-persistence .persistence-status-grid > *,
  .content-persistence .persistence-backups-card,
  .content-persistence .persistence-production-lock{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-persistence{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-persistence > .persistence-page,
  .content-persistence .persistence-page{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-persistence .persistence-page > section,
  .content-persistence .persistence-page > .card,
  .content-persistence .persistence-status-grid,
  .content-persistence .persistence-status-grid > .card,
  .content-persistence .persistence-page .section-heading,
  .content-persistence .persistence-page .rules-grid,
  .content-persistence .persistence-page .pilot-steps,
  .content-persistence .persistence-page .actions,
  .content-persistence .persistence-page .table-wrap,
  .content-persistence .persistence-backup-mobile-list{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px!important;
    align-items:stretch!important;
    border:1px solid #e6eaf0!important;
    border-radius:18px!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero > *,
  .content-persistence .persistence-page > .page-hero.executive-hero .receipt-summary{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero h2{
    margin:12px 0 10px!important;
    font-size:clamp(29px,9vw,40px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero p{
    margin:0!important;
    font-size:clamp(14px,4.1vw,17px)!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero .receipt-summary{
    min-height:0!important;
    height:auto!important;
    padding:22px 16px!important;
    margin:0!important;
    text-align:center!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero .receipt-summary b{
    font-size:clamp(48px,16vw,72px)!important;
    line-height:1!important;
  }

  .content-persistence .persistence-page > .page-hero.executive-hero .receipt-summary span,
  .content-persistence .persistence-page > .page-hero.executive-hero .receipt-summary small{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .content-persistence .persistence-status-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    align-items:start!important;
  }

  .content-persistence .persistence-status-grid > .card,
  .content-persistence .persistence-backups-card,
  .content-persistence .persistence-production-lock,
  .content-persistence .persistence-page > section.card:last-child{
    padding:16px!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-page .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .content-persistence .persistence-page .section-heading > *,
  .content-persistence .persistence-page .section-heading .status{
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
  }

  .content-persistence .persistence-status-table-wrap{
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }

  .content-persistence .persistence-status-table,
  .content-persistence .persistence-status-table tbody{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .content-persistence .persistence-status-table tbody{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    border:1px solid #e4e7ec!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  .content-persistence .persistence-status-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
  }

  .content-persistence .persistence-status-table td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:12px 10px!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  .content-persistence .persistence-status-table td:last-child{
    text-align:right!important;
  }

  .content-persistence .persistence-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:14px!important;
  }

  .content-persistence .persistence-actions .company-btn,
  .content-persistence .persistence-local-tool .company-btn,
  .content-persistence .persistence-backup-action,
  .content-persistence .persistence-reset-form .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
  }

  .content-persistence .persistence-rules{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
  }

  .content-persistence .persistence-rules > div{
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:14px!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-local-tool{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-backups-desktop{
    display:none!important;
  }

  .content-persistence .persistence-backup-mobile-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    margin-top:12px!important;
  }

  .content-persistence .persistence-backup-mobile-card,
  .content-persistence .persistence-backup-mobile-head,
  .content-persistence .persistence-backup-mobile-data,
  .content-persistence .persistence-backup-mobile-data > div,
  .content-persistence .persistence-backup-mobile-actions{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-backup-mobile-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
  }

  .content-persistence .persistence-backup-mobile-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  .content-persistence .persistence-backup-mobile-head .status{
    justify-self:start!important;
  }

  .content-persistence .persistence-backup-mobile-data > div{
    display:grid!important;
    grid-template-columns:minmax(82px,34%) minmax(0,1fr)!important;
    gap:9px!important;
    align-items:start!important;
  }

  .content-persistence .persistence-backup-mobile-data dt,
  .content-persistence .persistence-backup-mobile-data dd,
  .content-persistence .persistence-checksum{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  .content-persistence .persistence-lock-notice,
  .content-persistence .persistence-reset-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .content-persistence .persistence-page .pilot-steps{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
  }

  .content-persistence .persistence-page .pilot-steps > div{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    overflow:visible!important;
  }

  .content-persistence h2,
  .content-persistence h3,
  .content-persistence h4,
  .content-persistence p,
  .content-persistence small,
  .content-persistence span,
  .content-persistence strong,
  .content-persistence b,
  .content-persistence label,
  .content-persistence dt,
  .content-persistence dd,
  .content-persistence td{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .content-persistence .persistence-page > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:560px){
  .content-persistence .persistence-page > .page-hero.executive-hero,
  .content-persistence .persistence-status-grid > .card,
  .content-persistence .persistence-backups-card,
  .content-persistence .persistence-production-lock,
  .content-persistence .persistence-page > section.card:last-child{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  .content-persistence .persistence-status-table tr{
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
  }

  .content-persistence .persistence-status-table td{
    padding:11px 8px!important;
    font-size:11px!important;
  }
}

/* =====================================================================
   AXORA v1.29.39 — Pilot Zero completamente visible en iPhone
   Corrige exclusivamente el flujo vertical y el cálculo de altura en Safari.
   No modifica preflight, datos reales, PostgreSQL, Inventario ni Kardex.
   ===================================================================== */
@media (max-width:980px){
  .content-pilot,
  .content-pilot > .pilot-zero-view,
  .content-pilot .pilot-zero-view,
  .content-pilot .pilot-zero-view > *,
  .content-pilot .pilot-zero-view .card,
  .content-pilot .pilot-zero-hero,
  .content-pilot .pilot-kpi-grid,
  .content-pilot .pilot-kpi-grid > *,
  .content-pilot .pilot-layout,
  .content-pilot .pilot-layout > *,
  .content-pilot .pilot-checklist,
  .content-pilot .pilot-runbook,
  .content-pilot .rules-grid{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-pilot{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-pilot > .pilot-zero-view,
  .content-pilot .pilot-zero-view{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
  }

  .content-pilot .pilot-zero-view > section,
  .content-pilot .pilot-zero-view > .card,
  .content-pilot .pilot-zero-hero,
  .content-pilot .pilot-kpi-grid,
  .content-pilot .pilot-kpi-card,
  .content-pilot .pilot-layout,
  .content-pilot .pilot-layout > .card,
  .content-pilot .pilot-checklist,
  .content-pilot .pilot-check,
  .content-pilot .pilot-runbook,
  .content-pilot .pilot-runbook-step,
  .content-pilot .pilot-actions,
  .content-pilot .rules-grid,
  .content-pilot .rules-grid > div,
  .content-pilot .section-heading{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-pilot .pilot-zero-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    padding:18px!important;
    align-items:stretch!important;
    border-radius:18px!important;
  }

  .content-pilot .pilot-zero-hero > *{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-pilot .pilot-zero-hero h2{
    margin:12px 0 10px!important;
    font-size:clamp(30px,9.4vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .content-pilot .pilot-zero-hero p{
    margin:0!important;
    font-size:clamp(14px,4.1vw,17px)!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .content-pilot .pilot-status-card{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:24px 16px!important;
    margin:0!important;
    overflow:visible!important;
  }

  .content-pilot .pilot-status-card b{
    font-size:clamp(50px,17vw,76px)!important;
    line-height:1!important;
  }

  .content-pilot .pilot-status-card span,
  .content-pilot .pilot-status-card small{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .content-pilot .pilot-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:12px!important;
    align-items:start!important;
  }

  .content-pilot .pilot-kpi-card{
    padding:16px!important;
    overflow:visible!important;
  }

  .content-pilot .pilot-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    align-items:start!important;
  }

  .content-pilot .pilot-layout > .card,
  .content-pilot .pilot-zero-view > section.card{
    padding:16px!important;
  }

  .content-pilot .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .content-pilot .section-heading > *,
  .content-pilot .section-heading .status{
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
  }

  .content-pilot .pilot-checklist,
  .content-pilot .pilot-runbook{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
  }

  .content-pilot .pilot-check{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    align-items:start!important;
    padding:13px!important;
  }

  .content-pilot .pilot-check > .status{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:2px!important;
  }

  .content-pilot .pilot-runbook-step{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    align-items:start!important;
    padding:13px!important;
  }

  .content-pilot .pilot-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }

  .content-pilot .pilot-actions .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
  }

  .content-pilot .rules-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
  }

  .content-pilot .rules-grid > div{
    padding:14px!important;
  }

  .content-pilot h2,
  .content-pilot h3,
  .content-pilot h4,
  .content-pilot p,
  .content-pilot small,
  .content-pilot span,
  .content-pilot strong,
  .content-pilot b,
  .content-pilot li{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  .content-pilot .pilot-zero-view > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:560px){
  .content-pilot .pilot-kpi-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .content-pilot .pilot-zero-hero,
  .content-pilot .pilot-layout > .card,
  .content-pilot .pilot-zero-view > section.card{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}



/* =====================================================================
   AXORA v1.29.40 — QA Piloto completamente visible en iPhone
   Corrige exclusivamente flujo vertical, encabezado y desbordamiento.
   No modifica escenarios, resultados, Inventario, Kardex, API o PostgreSQL.
   ===================================================================== */
@media (max-width:980px){
  .company-shell.view-qa .topbar{
    top:0!important;
    height:calc(70px + env(safe-area-inset-top))!important;
    min-height:calc(70px + env(safe-area-inset-top))!important;
    max-height:calc(70px + env(safe-area-inset-top))!important;
    padding-top:calc(10px + env(safe-area-inset-top))!important;
    padding-bottom:10px!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  .content-qa,
  .content-qa > .qa-pilot-view,
  .content-qa .qa-pilot-view,
  .content-qa .qa-pilot-view > *,
  .content-qa .qa-pilot-view .card,
  .content-qa .qa-hero,
  .content-qa .qa-overview,
  .content-qa .qa-plan-rules,
  .content-qa .qa-actions,
  .content-qa .qa-scenarios-table,
  .content-qa .qa-recommendation-table{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content-qa{
    width:100%!important;
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
  }

  .content-qa > .qa-pilot-view,
  .content-qa .qa-pilot-view{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    align-content:start!important;
    gap:14px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .content-qa .qa-pilot-view > section,
  .content-qa .qa-pilot-view > .card,
  .content-qa .qa-hero,
  .content-qa .qa-overview,
  .content-qa .qa-overview > .card,
  .content-qa .qa-plan-rules,
  .content-qa .qa-plan-rules > div,
  .content-qa .qa-actions,
  .content-qa .qa-scenarios-card,
  .content-qa .qa-go-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    inset:auto!important;
    clip:auto!important;
    clip-path:none!important;
    transform:none!important;
  }

  .content-qa .qa-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    padding:18px!important;
    align-items:stretch!important;
    border-radius:18px!important;
  }

  .content-qa .qa-hero-copy,
  .content-qa .qa-hero-copy > *,
  .content-qa .qa-progress{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .content-qa .qa-hero h2{
    margin:12px 0 10px!important;
    font-size:clamp(30px,9.2vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .content-qa .qa-hero p{
    margin:0!important;
    font-size:clamp(14px,4.1vw,17px)!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .content-qa .qa-progress{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:24px 16px!important;
    margin:0!important;
    overflow:visible!important;
    text-align:center!important;
  }

  .content-qa .qa-progress b{
    font-size:clamp(50px,17vw,76px)!important;
    line-height:1!important;
  }

  .content-qa .qa-progress span,
  .content-qa .qa-progress small{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .content-qa .qa-overview{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:14px!important;
    align-items:start!important;
  }

  .content-qa .qa-overview > .card,
  .content-qa .qa-scenarios-card,
  .content-qa .qa-go-card{
    padding:16px!important;
  }

  .content-qa .qa-plan-rules{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
  }

  .content-qa .qa-plan-rules > div{
    padding:13px!important;
    overflow-wrap:anywhere!important;
  }

  .content-qa .qa-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:9px!important;
  }

  .content-qa .qa-actions .company-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
  }

  .content-qa .qa-recommendation-table{
    display:table!important;
    width:100%!important;
    table-layout:fixed!important;
    overflow:visible!important;
  }

  .content-qa .qa-recommendation-table td{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  .content-qa .qa-scenarios-table{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
    border:0!important;
  }

  .content-qa .qa-scenarios-table thead{
    display:none!important;
  }

  .content-qa .qa-scenarios-table tbody{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    width:100%!important;
  }

  .content-qa .qa-scenarios-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    padding:10px 12px!important;
    border:1px solid var(--ui-line,#e5e7eb)!important;
    border-radius:14px!important;
    background:#fff!important;
    overflow:visible!important;
  }

  .content-qa .qa-scenarios-table td{
    display:grid!important;
    grid-template-columns:minmax(82px,34%) minmax(0,1fr)!important;
    align-items:start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid var(--ui-line,#e5e7eb)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  .content-qa .qa-scenarios-table td:last-child{
    border-bottom:0!important;
  }

  .content-qa .qa-scenarios-table td::before{
    color:var(--ui-muted,#667085)!important;
    font-size:11px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
  }

  .content-qa .qa-scenarios-table td:nth-child(1)::before{content:'ID'}
  .content-qa .qa-scenarios-table td:nth-child(2)::before{content:'Área'}
  .content-qa .qa-scenarios-table td:nth-child(3)::before{content:'Escenario'}
  .content-qa .qa-scenarios-table td:nth-child(4)::before{content:'Severidad'}
  .content-qa .qa-scenarios-table td:nth-child(5)::before{content:'Estado'}
  .content-qa .qa-scenarios-table td:nth-child(6)::before{content:'Resultado'}

  .content-qa h2,
  .content-qa h3,
  .content-qa h4,
  .content-qa p,
  .content-qa small,
  .content-qa span,
  .content-qa strong,
  .content-qa b,
  .content-qa td{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  .content-qa .qa-pilot-view > section:last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:560px){
  .company-shell.view-qa .topbar{
    height:calc(68px + env(safe-area-inset-top))!important;
    min-height:calc(68px + env(safe-area-inset-top))!important;
    max-height:calc(68px + env(safe-area-inset-top))!important;
  }

  .content-qa .qa-hero,
  .content-qa .qa-overview > .card,
  .content-qa .qa-scenarios-card,
  .content-qa .qa-go-card{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  .content-qa .qa-scenarios-table td{
    grid-template-columns:minmax(76px,31%) minmax(0,1fr)!important;
  }
}

/* =====================================================================
   AXORA v1.29.43 — Flujo vertical móvil único y sin recortes
   Corrige el encogimiento del área .content y los scrolls anidados
   creados por overflow-x:hidden en Safari/iPhone. La única superficie
   vertical desplazable del workspace es .workspace.
   ===================================================================== */
@media (max-width:980px){
  html,
  body,
  #app{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
  }

  body{
    padding-bottom:0!important;
  }

  .company-shell{
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }

  .workspace{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    scroll-behavior:smooth!important;
  }

  .topbar{
    flex:0 0 auto!important;
  }

  .content{
    display:grid!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    overflow:visible!important;
  }

  .content > *,
  .content > .page-grid,
  .content .page-grid,
  .content > .input-center,
  .content .input-center{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  .content > .page-grid,
  .content .page-grid,
  .content > .input-center,
  .content .input-center{
    display:grid!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
  }

  .footer{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin-top:0!important;
    padding-bottom:calc(124px + env(safe-area-inset-bottom))!important;
  }

  .mobile-bottom-nav{
    z-index:6000!important;
  }
}

/* AXORA v1.29.46 — Conteo físico progresivo, disponible y decisiones masivas */
.physical-line-card.selected{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.08),0 14px 34px rgba(15,23,42,.08)}
.physical-select-check{display:flex!important;align-items:center;gap:7px;color:#334155!important;font-size:12px!important;font-weight:800!important;grid-column:1/-1}
.physical-select-check input{width:18px;height:18px;accent-color:#111827}
.physical-finish-panel{display:grid;gap:16px;border-top:4px solid var(--accent)}
.physical-difference-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.physical-difference-summary>div{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}
.physical-difference-summary small{color:var(--muted);font-weight:800}
.physical-difference-summary b{font-size:25px}
.physical-bulk-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;padding:14px;border-radius:16px;background:#111827;color:#fff}
.physical-bulk-controls>span{text-align:center;font-weight:800;white-space:nowrap}
.physical-bulk-controls>.actions:last-child{justify-content:flex-end}
.physical-filters label{min-width:180px}
.physical-filters label:first-child{flex:1 1 300px}
.physical-filters label:nth-child(2),.physical-filters label:nth-child(3){flex:0 1 220px}
@media(max-width:900px){
  .physical-difference-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physical-bulk-controls{grid-template-columns:1fr}
  .physical-bulk-controls>span{text-align:left}
  .physical-bulk-controls>.actions:last-child{justify-content:flex-start}
}
@media(max-width:560px){
  .physical-difference-summary{grid-template-columns:1fr 1fr}
  .physical-finish-panel .section-heading{display:grid}
  .physical-finish-panel .section-heading>.actions{width:100%}
  .physical-finish-panel .section-heading>.actions .company-btn{width:100%}
}


/* AXORA v1.29.47 — Cambio manual de lote autorizado */
.inventory-lot-change-card{overflow:visible}
.inventory-lot-change-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}
.inventory-lot-change-card>summary::-webkit-details-marker{display:none}
.inventory-lot-change-card>summary span:first-child{display:grid;gap:4px}
.inventory-lot-change-card>summary small{color:var(--muted)}
.inventory-lot-change-body{display:grid;gap:16px;margin-top:18px}
.inventory-lot-change-body>label,.inventory-lot-change-form>label{display:grid;gap:7px;font-weight:700}
.inventory-lot-change-body input,.inventory-lot-change-body textarea{width:100%;min-width:0}
.inventory-lot-change-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:4px}
.inventory-lot-change-selected,.inventory-lot-change-help{grid-column:1/-1;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);display:grid;gap:4px}
.inventory-lot-change-selected span{display:grid;gap:4px}
.inventory-lot-change-selected small,.inventory-lot-change-help span{color:var(--muted)}
.inventory-lot-change-reason,.inventory-lot-change-form .actions{grid-column:1/-1}
.inventory-lot-change-reason textarea{min-height:90px;resize:vertical}
@media(max-width:700px){.inventory-lot-change-card>summary{align-items:flex-start}.inventory-lot-change-form{grid-template-columns:1fr}.inventory-lot-change-form>label,.inventory-lot-change-reason,.inventory-lot-change-form .actions{grid-column:1}.inventory-lot-change-form .actions{display:grid;grid-template-columns:1fr}.inventory-lot-change-form .actions button{width:100%}}


/* =====================================================================
   AXORA v1.29.50 — Protección transversal de barra inferior móvil
   Reserva una zona segura única para navegación, acciones y teclado.
   ===================================================================== */
@media (max-width:980px){
  :root{
    --ax-mobile-bottom-nav-height:76px;
    --ax-mobile-bottom-nav-gap:18px;
    --ax-mobile-bottom-clearance:calc(var(--ax-mobile-bottom-nav-height) + var(--ax-mobile-bottom-nav-gap) + env(safe-area-inset-bottom));
    --ax-mobile-sticky-actions-clearance:calc(var(--ax-mobile-bottom-clearance) + 68px);
  }

  .workspace{
    scroll-padding-top:calc(86px + env(safe-area-inset-top))!important;
    scroll-padding-bottom:var(--ax-mobile-bottom-clearance)!important;
  }

  .content{
    padding-bottom:var(--ax-mobile-bottom-clearance)!important;
  }

  .content > :last-child,
  .content form > :last-child,
  .content .card > :last-child{
    margin-bottom:0;
  }

  .content input,
  .content select,
  .content textarea,
  .content button,
  .content [tabindex]:not([tabindex="-1"]),
  .modal input,
  .modal select,
  .modal textarea,
  .dialog input,
  .dialog select,
  .dialog textarea,
  .drawer input,
  .drawer select,
  .drawer textarea{
    scroll-margin-top:calc(92px + env(safe-area-inset-top));
    scroll-margin-bottom:var(--ax-mobile-sticky-actions-clearance);
  }

  .mobile-action-bar{
    bottom:var(--ax-mobile-bottom-clearance)!important;
  }

  .content:has(.mobile-action-bar){
    padding-bottom:var(--ax-mobile-sticky-actions-clearance)!important;
  }

  .footer{
    padding-bottom:var(--ax-mobile-bottom-clearance)!important;
  }

  .mobile-bottom-nav{
    min-height:var(--ax-mobile-bottom-nav-height);
    box-sizing:border-box;
  }
}

@media (max-width:390px){
  :root{
    --ax-mobile-bottom-nav-height:78px;
    --ax-mobile-bottom-nav-gap:16px;
    --ax-mobile-sticky-actions-clearance:calc(var(--ax-mobile-bottom-clearance) + 122px);
  }
}

/* =====================================================================
   AXORA v1.29.51 — Reserva estructural real para navegación inferior
   La barra deja de superponerse al área útil: el workspace reserva su
   altura completa y los formularios terminan siempre por encima de ella.
   ===================================================================== */
@media (max-width:980px){
  :root{
    --ax-mobile-nav-visual-height:calc(82px + env(safe-area-inset-bottom));
    --ax-mobile-nav-reserved-zone:calc(var(--ax-mobile-nav-visual-height) + 22px);
  }

  .workspace{
    box-sizing:border-box!important;
    padding-bottom:var(--ax-mobile-nav-reserved-zone)!important;
    scroll-padding-bottom:24px!important;
  }

  .content{
    padding-bottom:24px!important;
  }

  .footer{
    padding-bottom:18px!important;
    margin-bottom:0!important;
  }

  .mobile-bottom-nav{
    box-sizing:border-box!important;
    min-height:72px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
  }

  .content input,
  .content select,
  .content textarea,
  .content button,
  .content [tabindex]:not([tabindex="-1"]){
    scroll-margin-bottom:32px!important;
  }

  .mobile-action-bar{
    bottom:var(--ax-mobile-nav-reserved-zone)!important;
  }
}


/* =====================================================================
   AXORA v1.29.52 — Retiro definitivo de barra flotante inferior móvil
   La navegación móvil queda exclusivamente en el menú lateral.
   ===================================================================== */
.mobile-bottom-nav{display:none!important}
@media (max-width:980px){
  :root{
    --ax-mobile-bottom-clearance:calc(18px + env(safe-area-inset-bottom));
    --ax-mobile-sticky-actions-clearance:calc(88px + env(safe-area-inset-bottom));
    --ax-mobile-nav-reserved-zone:0px;
  }
  .workspace{
    padding-bottom:0!important;
    scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }
  .content{
    padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }
  .footer{
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
  .mobile-action-bar{
    bottom:max(10px,env(safe-area-inset-bottom))!important;
  }
  .content:has(.mobile-action-bar){
    padding-bottom:var(--ax-mobile-sticky-actions-clearance)!important;
  }
  .content input,.content select,.content textarea,.content button,
  .content [tabindex]:not([tabindex="-1"]){
    scroll-margin-bottom:calc(32px + env(safe-area-inset-bottom))!important;
  }
}

/* =====================================================================
   AXORA v1.30.1 — Identidad multiempresa y selección segura de Broker
   ===================================================================== */
.login-field-help{
  display:block;
  margin-top:7px;
  color:#7b8798;
  font-size:10.5px;
  line-height:1.5;
}

.broker-gateway{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:clamp(24px,5vw,64px);
  background:
    radial-gradient(circle at 14% 18%,rgba(43,101,255,.18),transparent 32%),
    radial-gradient(circle at 88% 82%,rgba(124,58,237,.14),transparent 34%),
    linear-gradient(145deg,#070b13,#101a2d);
  color:#111827;
}
.broker-gateway-card{
  width:min(1040px,100%);
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:rgba(248,250,252,.98);
  box-shadow:0 36px 110px rgba(0,0,0,.34);
}
.broker-gateway-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.broker-gateway-header .axora-login-logo{
  display:flex;
  align-items:center;
  gap:12px;
}
.broker-gateway-header .axora-official-mark{width:48px;height:48px;object-fit:contain}
.broker-gateway-header .axora-login-logo strong{display:block;letter-spacing:5px;font-size:20px}
.broker-gateway-header .axora-login-logo span{display:block;margin-top:4px;color:#64748b;font-size:9px;letter-spacing:4px}
.broker-gateway-copy{max-width:720px;margin:42px 0 28px}
.broker-gateway-copy h1{margin:13px 0 10px;font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-.045em}
.broker-gateway-copy p{margin:0;color:#5f6b7a;line-height:1.7}
.broker-gateway .login-error{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #fecaca;
  border-radius:12px;
  background:#fef2f2;
  color:#b42318;
  font-size:12px;
  font-weight:750;
}
.broker-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.broker-option{
  display:grid;
  align-content:start;
  gap:14px;
  padding:26px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 44px rgba(15,23,42,.06);
}
.broker-option.is-active{border-color:#91a8e8;box-shadow:0 0 0 3px rgba(47,102,233,.09),0 16px 44px rgba(15,23,42,.07)}
.broker-option-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.broker-symbol{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  background:linear-gradient(135deg,#111827,#303846);
  color:#fff;
  font-size:20px;
  font-weight:900;
}
.broker-option:first-child .broker-symbol{background:linear-gradient(135deg,#d71920,#8f1015)}
.broker-option h2{margin:2px 0 0;font-size:25px}
.broker-option p{min-height:48px;margin:0;color:#64748b;line-height:1.6}
.broker-option dl{display:grid;gap:8px;margin:0;padding:14px;border-radius:14px;background:#f8fafc}
.broker-option dl div{display:flex;justify-content:space-between;gap:14px}
.broker-option dt{color:#64748b;font-size:11px;font-weight:700}
.broker-option dd{margin:0;text-align:right;font-size:11px;font-weight:850}
.broker-option .company-btn{width:100%;margin-top:3px}
.broker-return-link{
  display:block;
  margin:24px auto 0;
  border:0;
  background:transparent;
  color:#344b87;
  font-weight:800;
  cursor:pointer;
}
.broker-gateway-card>footer{margin-top:28px;color:#8490a0;text-align:center;font-size:10.5px;line-height:1.6}

.broker-topbar-button,.broker-switch-button,.mobile-sidebar-switch{
  border:1px solid #d9dee8;
  border-radius:10px;
  background:#fff;
  color:#111827;
  padding:9px 12px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.broker-switch-button{margin-top:8px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.mobile-session-actions{display:flex;gap:8px;align-items:center}
.mobile-sidebar-switch{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}

.cadaya-foundation-shell{
  min-height:100dvh;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:linear-gradient(145deg,#f7f8fb,#eef2f7);
  color:#111827;
}
.cadaya-foundation-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px clamp(22px,5vw,72px);
  border-bottom:1px solid #e5e7eb;
  background:#08090c;
  color:#fff;
}
.cadaya-foundation-topbar .company-brand{
  flex-direction:row;
  align-items:center;
  gap:14px;
  padding:0;
  text-align:left;
}
.cadaya-foundation-topbar .company-logo,
.cadaya-foundation-topbar .company-logo-image img{width:62px!important;height:62px!important}
.cadaya-foundation-topbar .company-title{max-width:none;text-align:left;font-size:17px}
.cadaya-foundation-topbar .company-title::after{display:none}
.cadaya-foundation-topbar .company-subtitle{display:block;color:rgba(255,255,255,.64)}
.cadaya-foundation-actions{display:flex;align-items:center;gap:10px}
.cadaya-foundation-main{
  width:min(1180px,100%);
  margin:0 auto;
  padding:clamp(34px,6vw,76px) clamp(20px,5vw,54px);
}
.cadaya-foundation-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,310px);
  gap:28px;
  align-items:end;
  padding:clamp(28px,5vw,54px);
  border-radius:26px;
  background:linear-gradient(135deg,#fff 0%,#fff 55%,#fff1f2 100%);
  border:1px solid #e6e9ef;
  box-shadow:0 24px 65px rgba(15,23,42,.08);
}
.cadaya-foundation-hero h1{margin:14px 0 12px;font-size:clamp(38px,6vw,66px);letter-spacing:-.055em}
.cadaya-foundation-hero p{max-width:690px;margin:0;color:#596579;line-height:1.75}
.cadaya-foundation-hero aside{
  display:grid;
  gap:5px;
  padding:20px;
  border-radius:18px;
  background:#111318;
  color:#fff;
}
.cadaya-foundation-hero aside small,.cadaya-foundation-hero aside span{color:rgba(255,255,255,.62)}
.cadaya-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.cadaya-foundation-card{
  padding:24px;
  border:1px solid #e2e7ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.05);
}
.cadaya-foundation-card h2{margin:16px 0 8px;font-size:20px}
.cadaya-foundation-card p{margin:0;color:#64748b;line-height:1.65}
.cadaya-isolation-note{
  margin-top:22px;
  padding:20px 24px;
  border:1px solid #bbf7d0;
  border-radius:18px;
  background:#f0fdf4;
  color:#166534;
}
.cadaya-isolation-note p{margin:5px 0 0;line-height:1.6}
.cadaya-foundation-footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px clamp(22px,5vw,72px);
  border-top:1px solid #e5e7eb;
  color:#64748b;
  font-size:11px;
}

@media(max-width:820px){
  .broker-gateway{place-items:start center;padding:16px}
  .broker-gateway-card{padding:22px 18px;border-radius:22px}
  .broker-gateway-copy{margin:30px 0 22px}
  .broker-option-grid{grid-template-columns:1fr}
  .broker-option p{min-height:0}
  .broker-topbar-button{display:none}
  .cadaya-foundation-topbar{align-items:flex-start;padding:16px 18px}
  .cadaya-foundation-topbar .company-logo,
  .cadaya-foundation-topbar .company-logo-image img{width:50px!important;height:50px!important}
  .cadaya-foundation-topbar .company-title{font-size:14px}
  .cadaya-foundation-actions{display:grid}
  .cadaya-foundation-actions button{width:100%}
  .cadaya-foundation-hero{grid-template-columns:1fr}
  .cadaya-foundation-grid{grid-template-columns:1fr}
  .cadaya-foundation-footer{display:grid;text-align:center}
}

/* =====================================================================
   AXORA v1.30.2 — Inicio de sesión móvil completo
   Aísla el login del bloqueo vertical requerido por el workspace móvil.
   El formulario conserva un único desplazamiento táctil y siempre permite
   alcanzar Dominio, Ingresar y el estado del sistema en Safari/iPhone.
   ===================================================================== */
@media(max-width:980px){
  .login-page.login-v2{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }

  .login-v2 .login-hero{
    flex:0 0 auto!important;
  }

  .login-v2 .login-panel{
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .login-v2 .login-card-v2{
    flex:0 0 auto!important;
    margin-bottom:max(18px,env(safe-area-inset-bottom))!important;
  }

  .login-v2 .login-submit,
  .login-v2 .login-card-footer{
    scroll-margin-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:480px){
  .login-v2 .login-hero{
    padding:max(8px,env(safe-area-inset-top)) 10px 6px!important;
  }

  .login-v2 .axora-brand-stage{
    min-height:0!important;
  }

  .login-v2 .axora-brand-banner{
    width:auto!important;
    max-width:100%!important;
    height:clamp(118px,18dvh,156px)!important;
    max-height:156px!important;
    object-fit:contain!important;
    border-radius:12px!important;
  }

  .login-v2 .login-panel{
    padding:8px 12px max(14px,env(safe-area-inset-bottom))!important;
  }

  .login-v2 .login-card-v2{
    padding:20px 16px!important;
    border-radius:18px!important;
  }

  .login-v2 .login-card-v2 .axora-official-mark{
    width:40px!important;
    height:40px!important;
  }

  .login-v2 .login-card-v2 .axora-login-logo strong{
    font-size:19px!important;
    letter-spacing:4px!important;
  }

  .login-v2 .login-card-v2 .axora-login-logo span{
    letter-spacing:3.4px!important;
  }

  .login-v2 .login-copy{
    margin-top:22px!important;
  }

  .login-v2 .login-card-v2 h2{
    font-size:28px!important;
  }

  .login-v2 .login-card-v2 .login-copy p{
    margin-top:8px!important;
    line-height:1.5!important;
  }

  .login-v2 .login-field{
    margin-top:16px!important;
  }

  .login-v2 .login-card-v2 .login-field label{
    margin-bottom:6px!important;
  }

  .login-v2 .login-card-v2 .login-input-wrap input{
    height:48px!important;
  }

  .login-v2 .login-submit{
    height:50px!important;
    margin-top:20px!important;
  }

  .login-v2 .login-card-footer{
    margin-top:16px!important;
  }
}

@media(max-width:480px) and (max-height:720px){
  .login-v2 .axora-brand-banner{
    height:118px!important;
  }

  .login-v2 .login-copy{
    margin-top:18px!important;
  }

  .login-v2 .login-field{
    margin-top:13px!important;
  }
}



/* =====================================================================
   AXORA v1.30.4 — Fundación Cadaya
   Dominio, perfiles, permisos, auditoría y roadmap aislados de Nestlé.
   ===================================================================== */
.cadaya-foundation-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:0}
.cadaya-foundation-nav{display:flex;flex-direction:column;gap:18px;padding:28px 20px;border-right:1px solid #e2e8f0;background:#fff}
.cadaya-session-card{display:grid;gap:5px;padding:18px;border-radius:18px;background:#111318;color:#fff}
.cadaya-session-card small,.cadaya-session-card span{color:rgba(255,255,255,.64)}
.cadaya-session-card em{margin-top:6px;color:#fda4af;font-size:10px;font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.cadaya-foundation-nav nav{display:grid;gap:7px}
.cadaya-foundation-nav nav button{width:100%;padding:12px 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:#475569;text-align:left;font-weight:800;cursor:pointer}
.cadaya-foundation-nav nav button:hover{background:#f8fafc}
.cadaya-foundation-nav nav button.active{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
.cadaya-nav-note{display:grid;gap:5px;margin-top:auto;padding:14px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4;color:#166534}
.cadaya-nav-note span{font-size:11px;line-height:1.45}
.cadaya-foundation-layout .cadaya-foundation-main{width:100%;max-width:1280px;padding-top:36px}
.cadaya-panel{margin-top:22px;padding:26px;border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.05)}
.cadaya-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.cadaya-panel-heading h2{margin:12px 0 8px;font-size:clamp(24px,4vw,34px);letter-spacing:-.035em}
.cadaya-panel-heading p{max-width:760px;margin:0;color:#64748b;line-height:1.65}
.cadaya-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cadaya-summary-grid article{display:grid;gap:7px;min-height:150px;padding:20px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc}
.cadaya-summary-grid article>span{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.cadaya-summary-grid article>b{font-size:30px;letter-spacing:-.04em}
.cadaya-summary-grid article>small{color:#64748b;line-height:1.5}
.cadaya-profile-grid{display:grid;gap:12px}
.cadaya-profile-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:18px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc}
.cadaya-profile-card.is-authorized{border-color:#bbf7d0;background:#f0fdf4}
.cadaya-profile-index{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#111827;color:#fff;font-weight:900}
.cadaya-profile-card h3{margin:0 0 6px;font-size:18px}
.cadaya-profile-card p{margin:0 0 10px;color:#64748b;line-height:1.55}
.status.muted{background:#e2e8f0;color:#475569}
.cadaya-permission-list{display:flex;flex-wrap:wrap;gap:9px}
.cadaya-permission-list span{padding:9px 12px;border:1px solid #dbe4f0;border-radius:999px;background:#f8fafc;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:750}
.cadaya-safeguard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.cadaya-safeguard-grid div{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid #bbf7d0;border-radius:15px;background:#f0fdf4;color:#166534}
.cadaya-safeguard-grid b{font-size:20px}.cadaya-safeguard-grid span{font-size:11px;font-weight:800;line-height:1.4}
.cadaya-audit-list{display:grid;gap:10px}
.cadaya-audit-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e2e8f0;border-radius:15px;background:#f8fafc}
.cadaya-audit-list article>div{display:grid;gap:4px}.cadaya-audit-list article span,.cadaya-audit-list article small{color:#64748b;line-height:1.45}.cadaya-audit-list article small{text-align:right}
.cadaya-roadmap-list{display:grid;gap:9px}
.cadaya-roadmap-list article{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #e2e8f0;border-radius:15px;background:#f8fafc}
.cadaya-roadmap-list article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e2e8f0;color:#334155;font-weight:900}
.cadaya-roadmap-list article>div{display:grid;gap:3px}.cadaya-roadmap-list article small{color:#64748b}
.cadaya-roadmap-list article.is-active{border-color:#fecdd3;background:#fff1f2}.cadaya-roadmap-list article.is-active>span{background:#be123c;color:#fff}
.cadaya-loading{text-align:center;color:#475569}.cadaya-foundation-error{margin-top:18px}.cadaya-foundation-error button{margin-left:10px;border:0;background:transparent;color:inherit;font-weight:900;text-decoration:underline;cursor:pointer}
@media(max-width:1050px){.cadaya-summary-grid,.cadaya-safeguard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .cadaya-foundation-layout{display:block}
  .cadaya-foundation-nav{position:static;padding:14px 16px;border-right:0;border-bottom:1px solid #e2e8f0}
  .cadaya-session-card,.cadaya-nav-note{display:none}
  .cadaya-foundation-nav nav{display:flex;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .cadaya-foundation-nav nav::-webkit-scrollbar{display:none}
  .cadaya-foundation-nav nav button{flex:0 0 auto;width:auto;white-space:nowrap}
  .cadaya-foundation-layout .cadaya-foundation-main{padding:22px 16px 34px}
  .cadaya-panel{padding:20px 16px}
  .cadaya-panel-heading{display:grid}
  .cadaya-summary-grid,.cadaya-safeguard-grid{grid-template-columns:1fr}
  .cadaya-audit-list article{display:grid}.cadaya-audit-list article small{text-align:left}
}

/* =====================================================================
   AXORA v1.30.3 — Selector de Broker móvil completamente desplazable
   Aísla las pantallas multiempresa del bloqueo vertical del workspace.
   El selector y la base de Broker Cadaya conservan un único scroll táctil
   y permiten alcanzar todas las tarjetas, botones y pies de página.
   ===================================================================== */
@media(max-width:980px){
  .broker-gateway,
  .cadaya-foundation-shell{
    box-sizing:border-box!important;
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-bottom:calc(30px + env(safe-area-inset-bottom))!important;
  }

  .broker-gateway{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:
      max(16px,env(safe-area-inset-top))
      16px
      max(26px,env(safe-area-inset-bottom))!important;
  }

  .broker-gateway-card{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto max(12px,env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }

  .broker-option-grid,
  .broker-option{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .broker-gateway-card>footer,
  .broker-return-link,
  .broker-option:last-child .company-btn{
    scroll-margin-bottom:calc(30px + env(safe-area-inset-bottom))!important;
  }

  .cadaya-foundation-shell{
    display:flex!important;
    flex-direction:column!important;
  }

  .cadaya-foundation-topbar,
  .cadaya-foundation-main,
  .cadaya-foundation-footer{
    flex:0 0 auto!important;
  }

  .cadaya-foundation-main{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .cadaya-foundation-footer{
    margin-top:auto!important;
    padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
    scroll-margin-bottom:calc(24px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:480px){
  .broker-gateway-card{
    padding:20px 16px!important;
    border-radius:20px!important;
  }

  .broker-gateway-copy{
    margin:24px 0 18px!important;
  }

  .broker-gateway-copy h1{
    font-size:clamp(32px,11vw,42px)!important;
  }

  .broker-option{
    padding:22px 18px!important;
  }
}

/* =====================================================================
   AXORA v1.30.6 — Maestros e inventario de Broker Cadaya
   Clientes, productos, promociones, usuarios, transporte, ubicaciones
   D–I e inventario inicial, aislados de Broker Nestlé y PostgreSQL.
   ===================================================================== */
.cadaya-nav-group{display:grid;gap:6px}
.cadaya-nav-group+ .cadaya-nav-group{margin-top:10px;padding-top:10px;border-top:1px solid #eef2f7}
.cadaya-nav-group>small{padding:0 10px;color:#94a3b8;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cadaya-master-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.cadaya-master-search{display:grid;gap:6px;margin:18px 0}
.cadaya-master-search>span,.cadaya-master-form label>span{color:#475569;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.cadaya-master-search input,.cadaya-master-form input,.cadaya-master-form select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font:inherit}
.cadaya-master-search input:focus,.cadaya-master-form input:focus,.cadaya-master-form select:focus{outline:3px solid rgba(190,18,60,.12);border-color:#be123c}
.cadaya-master-editor{margin-bottom:18px;padding:18px;border:1px solid #fecdd3;border-radius:18px;background:#fff7f8}
.cadaya-master-editor-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.cadaya-master-editor-title>div{display:grid;gap:4px}.cadaya-master-editor-title span{color:#64748b;font-size:12px}
.cadaya-master-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cadaya-master-form label{display:grid;align-content:start;gap:6px}.cadaya-master-form label.wide{grid-column:1/-1}
.cadaya-master-form-actions{display:flex;justify-content:flex-end;gap:10px;grid-column:1/-1;margin-top:4px}
.cadaya-icon-button{padding:8px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:11px;font-weight:850;cursor:pointer}
.cadaya-icon-button:hover{border-color:#be123c;color:#9f1239}
.cadaya-table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:16px}
.cadaya-table-wrap table{width:100%;min-width:820px;border-collapse:collapse}
.cadaya-table-wrap th,.cadaya-table-wrap td{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}
.cadaya-table-wrap th{background:#f8fafc;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.cadaya-table-wrap td{color:#334155;font-size:13px}.cadaya-table-wrap td small{display:block;margin-top:4px;color:#64748b;line-height:1.4}
.cadaya-table-wrap tr:last-child td{border-bottom:0}
.cadaya-empty-state{display:grid;place-items:center;min-height:180px;padding:28px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;text-align:center}
.cadaya-empty-state b{font-size:17px}.cadaya-empty-state p{max-width:560px;margin:6px 0 0;color:#64748b;line-height:1.55}
.cadaya-card-list{display:grid;gap:10px}
.cadaya-card-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.cadaya-card-list article>div{display:grid;gap:5px}.cadaya-card-list h3,.cadaya-card-list p{margin:0}.cadaya-card-list p,.cadaya-card-list small{color:#64748b}
.cadaya-mini-chip{display:inline-flex;margin:2px 4px 2px 0;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:800}
.cadaya-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cadaya-location-grid article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.cadaya-location-row{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#111827;color:#fff;font-size:18px;font-weight:900}
.cadaya-location-grid h3,.cadaya-location-grid p{margin:0}.cadaya-location-grid p{margin:4px 0 8px;color:#64748b;font-size:12px}
.cadaya-summary-grid button{display:grid;gap:7px;min-height:150px;padding:20px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc;color:#0f172a;text-align:left;cursor:pointer}
.cadaya-summary-grid button:hover{border-color:#fecdd3;background:#fff7f8}
.cadaya-summary-grid button>span{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.cadaya-summary-grid button>b{font-size:30px;letter-spacing:-.04em}.cadaya-summary-grid button>small{color:#64748b;line-height:1.5}
.cadaya-inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.cadaya-inventory-summary article{display:grid;gap:5px;padding:16px;border:1px solid #e2e8f0;border-radius:15px;background:#f8fafc}
.cadaya-inventory-summary span{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.cadaya-inventory-summary b{font-size:24px}
.cadaya-upload-card{display:grid;gap:12px;margin:16px 0;padding:18px;border:1px dashed #94a3b8;border-radius:18px;background:#f8fafc}
.cadaya-file-picker{display:grid;place-items:center;min-height:130px;text-align:center;cursor:pointer}.cadaya-file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cadaya-file-picker b{font-size:16px}.cadaya-file-picker span{max-width:620px;margin-top:5px;color:#64748b;line-height:1.5}
.cadaya-file-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:13px;background:#fff}.cadaya-file-selection span{color:#64748b;font-size:12px}
.cadaya-validation-box{display:grid;gap:14px;margin:18px 0;padding:18px;border:1px solid #bbf7d0;border-radius:18px;background:#f0fdf4}
.cadaya-validation-box.has-errors{border-color:#fecaca;background:#fef2f2}.cadaya-validation-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.cadaya-validation-summary>div{display:grid;gap:4px}.cadaya-validation-summary span{color:#64748b;font-size:12px}
.cadaya-validation-list{display:grid;gap:5px;padding:12px;border-radius:12px;background:rgba(255,255,255,.78)}.cadaya-validation-list span{color:#991b1b;font-size:11px;line-height:1.45}.cadaya-validation-list.warnings span{color:#92400e}
.cadaya-import-history{display:grid;gap:9px;margin-top:20px}.cadaya-import-history h3{margin:0 0 4px}.cadaya-import-history article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.cadaya-import-history article>div{display:grid;gap:3px}.cadaya-import-history span,.cadaya-import-history small{color:#64748b}.cadaya-import-history small{text-align:right}
.status.danger{background:#fee2e2;color:#991b1b}
@media(max-width:1180px){.cadaya-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cadaya-inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .cadaya-nav-group{display:flex;gap:7px}.cadaya-nav-group+.cadaya-nav-group{margin:0;padding:0;border:0}.cadaya-nav-group>small{display:none}
  .cadaya-master-actions{justify-content:flex-start}.cadaya-master-form{grid-template-columns:1fr}.cadaya-master-form label.wide,.cadaya-master-form-actions{grid-column:auto}
  .cadaya-location-grid,.cadaya-inventory-summary{grid-template-columns:1fr}.cadaya-card-list article,.cadaya-validation-summary,.cadaya-file-selection,.cadaya-import-history article{display:grid}.cadaya-import-history small{text-align:left}
  .cadaya-master-form-actions{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:2;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(15,23,42,.12)}
  .cadaya-upload-card,.cadaya-validation-box,.cadaya-master-editor{scroll-margin-bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media(max-width:480px){.cadaya-location-grid article{grid-template-columns:42px minmax(0,1fr)}.cadaya-location-grid article>.cadaya-icon-button{grid-column:1/-1;width:100%}.cadaya-panel{border-radius:18px}.cadaya-master-form-actions{display:grid;grid-template-columns:1fr 1fr}.cadaya-master-form-actions .company-btn{width:100%}}


/* =====================================================================
   AXORA v1.30.6 — Corrección visual móvil transversal de Broker Cadaya
   Evita que el pie de versión atraviese tarjetas y mantiene la interfaz
   fuera de la barra de estado de iPhone/PWA.
   ===================================================================== */
@media (max-width:980px){
  html,
  body,
  #app{
    width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }

  .cadaya-foundation-shell{
    box-sizing:border-box!important;
    width:100%!important;
    height:calc(100dvh - env(safe-area-inset-top))!important;
    min-height:calc(100svh - env(safe-area-inset-top))!important;
    max-height:calc(100dvh - env(safe-area-inset-top))!important;
    margin-top:env(safe-area-inset-top)!important;
    padding:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    -webkit-overflow-scrolling:touch!important;
    isolation:isolate!important;
  }

  .cadaya-foundation-topbar{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    flex:0 0 auto!important;
    width:100%!important;
  }

  .cadaya-foundation-layout{
    display:block!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .cadaya-foundation-nav,
  .cadaya-foundation-main{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .cadaya-foundation-main{
    display:block!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
  }

  .cadaya-foundation-footer{
    display:none!important;
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    transform:none!important;
    clear:both!important;
    overflow:visible!important;
    background:#f8fafc!important;
  }

  .cadaya-foundation-hero,
  .cadaya-panel{
    position:relative!important;
    z-index:1!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .cadaya-foundation-hero h1{
    max-width:100%!important;
    font-size:clamp(34px,10vw,46px)!important;
    line-height:1.04!important;
    overflow-wrap:anywhere!important;
  }

  .cadaya-panel-heading h2{
    max-width:100%!important;
    font-size:clamp(25px,8vw,32px)!important;
    line-height:1.12!important;
    overflow-wrap:anywhere!important;
  }

  .cadaya-foundation-hero p,
  .cadaya-panel-heading p{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}

@media (max-width:480px){
  .cadaya-foundation-main{
    padding:18px 16px 30px!important;
  }

  .cadaya-foundation-hero{
    padding:24px 20px!important;
    border-radius:22px!important;
  }

  .cadaya-panel{
    margin-top:18px!important;
    padding:20px 16px!important;
  }

  .cadaya-foundation-footer{
    gap:5px!important;
    padding:16px 18px max(18px,env(safe-area-inset-bottom))!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
}


/* =====================================================================
   AXORA v1.30.7 — Shell visual unificado para Broker Cadaya
   Cadaya usa la misma navegación, sidebar, topbar, tarjetas y comportamiento
   responsive de Broker Nestlé. Solo cambia la identidad cromática y funcional.
   ===================================================================== */
.cadaya-company-shell{
  --ax-accent:var(--company-primary);
  --ax-accent-2:#fb7185;
}
.cadaya-company-shell>.sidebar{
  background:
    radial-gradient(circle at 18% 2%,rgba(215,25,32,.22),transparent 25%),
    linear-gradient(180deg,var(--ax-nav-bg) 0%,#070a10 100%)!important;
}
.cadaya-company-shell .nav-group.current{
  border-color:rgba(215,25,32,.24)!important;
  background:rgba(215,25,32,.075)!important;
}
.cadaya-company-shell .nav-group.current .nav-group-icon{
  background:linear-gradient(135deg,var(--company-primary),#fb7185)!important;
  box-shadow:0 7px 18px rgba(215,25,32,.26)!important;
}
.cadaya-company-shell .nav-submenu .nav-item.active{
  background:linear-gradient(135deg,var(--company-primary),#a40f2f)!important;
  box-shadow:0 8px 22px rgba(215,25,32,.24)!important;
}
.cadaya-company-shell.sidebar-compact .nav-group.current .nav-group-toggle{
  background:linear-gradient(135deg,var(--company-primary),#a40f2f)!important;
  box-shadow:0 8px 22px rgba(215,25,32,.24)!important;
}
.content-cadaya{
  align-content:start;
  grid-auto-rows:max-content;
}
.cadaya-context-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px 14px;
  min-width:0;
  padding:12px 15px;
  border:1px solid var(--ui-line,#e5e7eb);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--ui-shadow-sm,0 8px 24px rgba(15,23,42,.05));
  color:var(--ui-muted,#64748b);
  font-size:11px;
  font-weight:750;
}
.cadaya-context-state{
  color:#166534;
  font-weight:850;
}
.cadaya-company-shell .cadaya-panel{
  margin:0;
  padding:20px;
  border:1px solid var(--ui-line,#e5e7eb);
  border-radius:var(--ui-radius-md,18px);
  background:var(--ui-surface,#fff);
  box-shadow:var(--ui-shadow-sm,0 8px 24px rgba(15,23,42,.05));
}
.cadaya-company-shell .cadaya-panel-heading{
  margin-bottom:18px;
}
.cadaya-company-shell .cadaya-panel-heading h2{
  margin:9px 0 6px;
  font-size:clamp(23px,2.2vw,31px);
  line-height:1.12;
}
.cadaya-company-shell .cadaya-panel-heading p{
  line-height:1.6;
}
.cadaya-company-shell .cadaya-summary-grid article,
.cadaya-company-shell .cadaya-summary-grid button,
.cadaya-company-shell .cadaya-card-list article,
.cadaya-company-shell .cadaya-location-grid article,
.cadaya-company-shell .cadaya-inventory-summary article,
.cadaya-company-shell .cadaya-empty-state,
.cadaya-company-shell .cadaya-table-wrap{
  border-color:var(--ui-line,#e5e7eb);
  background:var(--ui-surface-soft,#f8fafc);
}
.cadaya-company-shell .cadaya-master-search input:focus,
.cadaya-company-shell .cadaya-master-form input:focus,
.cadaya-company-shell .cadaya-master-form select:focus{
  outline:3px solid rgba(215,25,32,.12);
  border-color:var(--company-primary);
}
.cadaya-company-shell .cadaya-master-editor{
  border-color:#fecdd3;
  background:#fff7f8;
}
.cadaya-company-shell .cadaya-icon-button:hover{
  border-color:var(--company-primary);
  color:var(--company-primary);
}
@media(max-width:900px){
  .cadaya-company-shell{
    height:100dvh!important;
    min-height:0!important;
    margin-top:0!important;
    overflow:hidden!important;
  }
  .cadaya-company-shell>.sidebar{
    height:100dvh!important;
  }
  .cadaya-company-shell .workspace{
    height:100dvh!important;
    overflow-y:auto!important;
    padding-top:env(safe-area-inset-top);
  }
  .cadaya-company-shell .topbar{
    top:0!important;
  }
  .cadaya-context-strip{
    display:grid;
    gap:7px;
  }
  .cadaya-company-shell .cadaya-panel{
    padding:18px 15px;
    border-radius:17px;
  }
  .cadaya-company-shell .cadaya-panel-heading{
    display:grid;
  }
}
@media(max-width:520px){
  .cadaya-company-shell .content{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .cadaya-company-shell .cadaya-panel-heading h2{
    font-size:25px;
  }
}


/* =====================================================================
   AXORA v1.30.8 — Corrección definitiva del shell móvil de Broker Cadaya
   Un único scroll interno, encabezado fijo bajo la barra de estado,
   identidad correcta del broker y menú lateral con zona segura real.
   ===================================================================== */
body.cadaya-shell-active{
  width:100%;
  height:100dvh;
  min-height:100dvh;
  margin:0;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none;
}
.cadaya-company-shell{
  --ax-cadaya-status-safe-top:env(safe-area-inset-top);
}
.cadaya-company-shell .company-subtitle,
.cadaya-company-shell .company-switch-card>span{
  color:rgba(255,255,255,.72)!important;
}
@supports (-webkit-touch-callout:none){
  .cadaya-company-shell{
    --ax-cadaya-status-safe-top:max(env(safe-area-inset-top),44px);
  }
}
@media(max-width:900px){
  .cadaya-company-shell{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .cadaya-company-shell .workspace{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:calc(68px + var(--ax-cadaya-status-safe-top)) 0 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scroll-padding-top:calc(82px + var(--ax-cadaya-status-safe-top))!important;
    scroll-behavior:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .cadaya-company-shell .topbar{
    position:fixed!important;
    inset:auto 0 auto 0!important;
    top:0!important;
    z-index:7000!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-height:calc(68px + var(--ax-cadaya-status-safe-top))!important;
    height:calc(68px + var(--ax-cadaya-status-safe-top))!important;
    max-height:calc(68px + var(--ax-cadaya-status-safe-top))!important;
    margin:0!important;
    padding:var(--ax-cadaya-status-safe-top) 12px 0!important;
    display:flex!important;
    align-items:center!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid var(--ui-line,#e5e7eb)!important;
    box-shadow:0 8px 24px rgba(15,23,42,.07)!important;
    transform:none!important;
  }
  .cadaya-company-shell .topbar>div:first-of-type{
    min-width:0!important;
    align-self:center!important;
  }
  .cadaya-company-shell .topbar h1{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    line-height:1.15!important;
  }
  .cadaya-company-shell .content{
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-top:14px!important;
  }
  .cadaya-company-shell>.sidebar{
    z-index:7300!important;
    box-sizing:border-box!important;
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding-top:0!important;
  }
  .cadaya-company-shell .company-brand{
    box-sizing:border-box!important;
    padding-top:calc(12px + var(--ax-cadaya-status-safe-top))!important;
  }
  .cadaya-company-shell .mobile-scrim{
    z-index:7200!important;
  }
  .cadaya-company-shell .footer{
    position:relative!important;
    z-index:1!important;
    margin:0!important;
    padding:18px 14px max(22px,env(safe-area-inset-bottom))!important;
  }
}

/* AXORA v1.30.9 — Ejecución Comercial Broker Cadaya */
.cadaya-commercial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.cadaya-commercial-summary article,.cadaya-order-detail-grid article{display:grid;gap:7px;padding:18px;border:1px solid #e2e8f0;border-radius:17px;background:#f8fafc}
.cadaya-commercial-summary span,.cadaya-order-detail-grid span{color:#64748b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cadaya-commercial-summary b,.cadaya-order-detail-grid b{font-size:28px;letter-spacing:-.04em;color:#0f172a}
.cadaya-commercial-summary small,.cadaya-order-detail-grid small{color:#64748b;line-height:1.45}
.cadaya-commercial-filters{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;margin:18px 0}
.cadaya-commercial-filters label,.cadaya-order-form label,.cadaya-modal label{display:grid;gap:6px}
.cadaya-commercial-filters label>span,.cadaya-order-form label>span,.cadaya-modal label>span{color:#475569;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.cadaya-commercial-filters input,.cadaya-commercial-filters select,.cadaya-order-form input,.cadaya-order-form select,.cadaya-order-form textarea,.cadaya-modal textarea{box-sizing:border-box;width:100%;min-height:46px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font:inherit}
.cadaya-order-form textarea,.cadaya-modal textarea{resize:vertical}
.cadaya-commercial-filters input:focus,.cadaya-commercial-filters select:focus,.cadaya-order-form input:focus,.cadaya-order-form select:focus,.cadaya-order-form textarea:focus,.cadaya-modal textarea:focus{outline:3px solid rgba(190,18,60,.12);border-color:#be123c}
.cadaya-order-feedback{display:grid;gap:8px;margin:16px 0;padding:14px 16px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4;color:#166534}
.cadaya-order-feedback.has-errors{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.cadaya-order-feedback>div{display:grid;gap:4px;font-size:12px}
.cadaya-order-list{display:grid;gap:12px}
.cadaya-order-card{display:grid;gap:14px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.cadaya-order-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.cadaya-order-card h3{margin:8px 0 3px;font-size:20px;color:#0f172a}.cadaya-order-card p{margin:0;color:#64748b}
.cadaya-order-totals{display:grid;justify-items:end}.cadaya-order-totals b{font-size:26px}.cadaya-order-totals span{color:#64748b;font-size:11px}
.cadaya-order-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.cadaya-order-card dl>div{display:grid;gap:3px;padding:12px;border-radius:12px;background:#f8fafc}
.cadaya-order-card dt{color:#94a3b8;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cadaya-order-card dd{margin:0;color:#334155;font-weight:700}
.cadaya-order-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.cadaya-icon-button.danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.cadaya-icon-button.danger:hover{border-color:#ef4444;color:#991b1b}
.company-btn.danger{background:#b91c1c;color:#fff}.company-btn.danger:hover{background:#991b1b}
.cadaya-order-form{display:grid;gap:18px}
.cadaya-order-customer,.cadaya-order-catalog,.cadaya-order-cart{padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.cadaya-order-customer>h3,.cadaya-order-section-title h3,.cadaya-order-detail-columns h3,.cadaya-order-timeline h3{margin:0;color:#0f172a}
.cadaya-order-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.cadaya-order-section-title p{margin:4px 0 0;color:#64748b;line-height:1.5}.cadaya-order-section-title>input{width:min(360px,100%)}
.cadaya-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cadaya-catalog-grid>div{display:grid;align-content:start;gap:8px}.cadaya-catalog-grid h4{margin:0 0 5px;color:#475569;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.cadaya-catalog-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.cadaya-catalog-grid article>div{display:grid;gap:3px;min-width:0}.cadaya-catalog-grid article span,.cadaya-catalog-grid article small{color:#64748b;line-height:1.4}.cadaya-catalog-grid article b{color:#0f172a}
.cadaya-cart-lines{display:grid;gap:9px}
.cadaya-cart-lines article{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:12px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.cadaya-cart-lines article>div{display:grid;gap:4px}.cadaya-cart-lines article small{color:#64748b}
.cadaya-empty-state.compact{min-height:110px;padding:18px}
.cadaya-order-submit{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:4}
.cadaya-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.56);backdrop-filter:blur(5px)}
.cadaya-modal{display:grid;gap:14px;width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.28)}
.cadaya-modal h2,.cadaya-modal p{margin:0}.cadaya-modal p{color:#64748b;line-height:1.6}
.cadaya-order-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.cadaya-order-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cadaya-order-detail-columns>section{display:grid;align-content:start;gap:9px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.cadaya-detail-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-radius:13px;background:#f8fafc}
.cadaya-detail-line>div{display:grid;gap:4px}.cadaya-detail-line small{color:#64748b}.cadaya-detail-line strong{white-space:nowrap}
.cadaya-order-timeline{display:grid;gap:10px;margin-top:18px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.cadaya-order-timeline article{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px}.cadaya-order-timeline article>span{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#be123c;box-shadow:0 0 0 4px #ffe4e6}
.cadaya-order-timeline article>div{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid #eef2f7}.cadaya-order-timeline article:last-child>div{border-bottom:0}
.cadaya-order-timeline p,.cadaya-order-timeline small{margin:0;color:#64748b;line-height:1.45}
@media(max-width:1050px){.cadaya-commercial-summary,.cadaya-order-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cadaya-catalog-grid,.cadaya-order-detail-columns{grid-template-columns:1fr}}
@media(max-width:700px){
  .cadaya-commercial-summary,.cadaya-order-detail-grid{grid-template-columns:1fr 1fr}
  .cadaya-commercial-filters{grid-template-columns:1fr}
  .cadaya-order-card-head{display:grid}.cadaya-order-totals{justify-items:start}
  .cadaya-order-card dl{grid-template-columns:1fr}
  .cadaya-order-actions{display:grid;grid-template-columns:1fr}.cadaya-order-actions>*{width:100%}
  .cadaya-order-section-title{display:grid}.cadaya-order-section-title>input{width:100%}
  .cadaya-catalog-grid article{align-items:flex-start}.cadaya-catalog-grid article button{flex:0 0 auto}
  .cadaya-cart-lines article{grid-template-columns:1fr}.cadaya-cart-lines article button{width:100%}
  .cadaya-order-submit{display:grid;grid-template-columns:1fr;bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.cadaya-order-submit button{width:100%}
  .cadaya-modal-backdrop{align-items:end;padding:10px}.cadaya-modal{max-height:calc(100dvh - env(safe-area-inset-top,0px) - 20px);border-radius:22px 22px 12px 12px}
}


/* AXORA v1.30.10 — Facturación SIESA y Founder total */
.cadaya-billing-list{display:grid;gap:18px;margin-top:20px}.cadaya-billing-card{border:1px solid #dce4ef;border-radius:24px;background:#fff;padding:22px;box-shadow:0 14px 34px rgba(8,19,41,.06)}.cadaya-billing-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.cadaya-billing-card-head h3{margin:10px 0 4px;font-size:1.15rem}.cadaya-billing-card-head p{margin:0;color:#65748d}.cadaya-billing-card-head>b{font-size:1rem;white-space:nowrap}.cadaya-billing-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.cadaya-billing-meta span{background:#f3f6fa;border:1px solid #e0e7f0;border-radius:999px;padding:7px 11px;color:#52627a;font-size:.82rem}.cadaya-invoice-form{margin-top:22px}.cadaya-invoice-form small{display:block;color:#6e7c92;margin-top:6px}.founder-lock{border:1px solid #90e7b2;background:#effdf4;color:#176a39;border-radius:16px;padding:14px 16px;margin:14px 0;font-weight:700}.company-btn.danger{background:#b42318;color:#fff;border-color:#b42318}.company-btn.danger:hover{background:#8f1c14}.inline-message.danger{border-color:#ffc2c2;background:#fff4f4;color:#9f1d1d}.inline-message.good{border-color:#a7efc1;background:#f0fff5;color:#176a39}@media(max-width:900px){.cadaya-billing-card{padding:18px;border-radius:20px}.cadaya-billing-card-head{display:block}.cadaya-billing-card-head>b{display:block;margin-top:12px}.cadaya-billing-meta{display:grid}.cadaya-billing-meta span{border-radius:12px}.cadaya-invoice-form .actions{display:grid}.cadaya-invoice-form .actions .company-btn{width:100%}}

/* AXORA v1.30.11 · Connector Cadaya */
.cadaya-connector-health{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;margin:18px 0;border:1px solid #d8e1ef;border-radius:18px;background:#f7f9fc;color:#24324a}
.cadaya-connector-health span{color:#66758f;text-align:right}
.cadaya-connector-repositories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.cadaya-connector-repositories article{display:flex;flex-direction:column;gap:6px;padding:17px;border:1px solid #d8e1ef;border-radius:18px;background:#fff}
.cadaya-connector-repositories span,.cadaya-connector-repositories small{color:#66758f;overflow-wrap:anywhere}
.cadaya-connector-list{display:grid;gap:16px}
.cadaya-connector-associate{display:flex;gap:10px;align-items:center;margin-top:14px}
.cadaya-connector-associate select{flex:1;min-width:0}
@media(max-width:900px){
  .cadaya-connector-health{align-items:flex-start;flex-direction:column}
  .cadaya-connector-health span{text-align:left}
  .cadaya-connector-repositories{grid-template-columns:1fr}
  .cadaya-connector-associate{align-items:stretch;flex-direction:column}
  .cadaya-connector-associate .company-btn{width:100%}
}

/* AXORA v1.30.12 · Broker Cadaya multibodega */
.cadaya-warehouse-grid,.cadaya-picking-list,.cadaya-assignment-list,.cadaya-transfer-list{display:grid;gap:14px}
.cadaya-warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}
.cadaya-warehouse-card,.cadaya-transfer-card,.cadaya-picking-card,.cadaya-assignment-card{border:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(15,23,42,.05)}
.cadaya-warehouse-card>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#64748b)}
.cadaya-warehouse-card h3{margin:6px 0 12px}.cadaya-warehouse-card>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cadaya-warehouse-card small{background:rgba(148,163,184,.12);border-radius:9px;padding:7px}
.cadaya-transfer-card,.cadaya-picking-card,.cadaya-assignment-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cadaya-transfer-card h3,.cadaya-picking-card h3,.cadaya-assignment-card h3{margin:8px 0 4px}.cadaya-transfer-card p,.cadaya-picking-card p,.cadaya-assignment-card p{margin:0 0 6px;color:var(--muted,#64748b)}
.cadaya-inline-form,.cadaya-assignment-form{border:1px solid var(--border,#dbe2ea);border-radius:14px;padding:14px;margin:14px 0;background:rgba(248,250,252,.7)}.cadaya-inline-form{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cadaya-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(15,118,110,.1);margin:3px}.cadaya-chip button{border:0;background:transparent;cursor:pointer;font-size:1rem}
.cadaya-check-list{display:grid;gap:8px;margin:12px 0}.cadaya-check-list label{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:10px;background:#fff}.cadaya-check-list input[type="number"]{width:100px}.cadaya-check-list input[type="checkbox"]{width:20px;height:20px;flex:0 0 auto}.cadaya-check-list label:has(input[type="checkbox"]){justify-content:flex-start}
.cadaya-picking-card form{min-width:min(520px,100%);flex:1}.cadaya-assignment-form>.company-btn{margin-top:12px}.cadaya-annul-lines{max-height:280px;overflow:auto;display:grid;gap:8px;margin:12px 0}.cadaya-annul-lines label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:10px}.cadaya-annul-modal,.cadaya-transfer-modal{max-width:720px;width:min(94vw,720px)}
.cadaya-warning{border-left:4px solid #d97706;background:#fff7ed;color:#9a3412;border-radius:8px;padding:10px 12px;margin:10px 0;font-size:.9rem}
@media(max-width:900px){.cadaya-warehouse-grid{grid-template-columns:1fr}.cadaya-transfer-card,.cadaya-picking-card,.cadaya-assignment-card{display:block}.cadaya-transfer-card>.actions,.cadaya-assignment-card>button{margin-top:12px}.cadaya-picking-card form{min-width:0}.cadaya-warehouse-card>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cadaya-check-list label{align-items:flex-start;flex-direction:column}.cadaya-check-list label:has(input[type="checkbox"]){flex-direction:row}.cadaya-check-list input[type="number"]{width:100%}.cadaya-annul-lines label{grid-template-columns:1fr}.cadaya-warehouse-card>div{grid-template-columns:1fr 1fr}.cadaya-transfer-modal,.cadaya-annul-modal{width:96vw;max-height:88dvh;overflow:auto}}

/* Centro Logístico Cadaya v1.30.13 */
.cadaya-logistics-alerts{display:grid;gap:10px;margin:12px 0 22px}.cadaya-logistics-alerts article{border:1px solid var(--border,#dbe2ea);border-radius:14px;padding:14px;background:var(--surface,#fff)}.cadaya-assignment-card .actions{display:flex;gap:8px;flex-wrap:wrap}

.cadaya-transport-list{display:grid;gap:14px}.cadaya-transport-card{border:1px solid var(--border,#dbe2ea);border-radius:16px;padding:16px;background:var(--surface,#fff)}.cadaya-transport-card header{display:flex;justify-content:space-between;gap:10px}.cadaya-transport-card header div{display:grid}.cadaya-stop-list{display:grid;gap:8px;margin:12px 0}.cadaya-stop-list div{display:grid;padding:10px;border-radius:12px;background:var(--surface-soft,#f5f7fa)}.cadaya-transport-actions{display:grid;gap:10px}.cadaya-transport-actions .company-btn{min-height:48px;width:100%}@media(max-width:720px){.cadaya-transport-mobile{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.cadaya-transport-card{padding:14px}.cadaya-transport-actions{position:relative}.cadaya-transport-actions .company-btn{font-size:16px}}

.cadaya-route-metrics{grid-column:1/-1;display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:12px;background:var(--surface-soft,#f4f7fb)}.cadaya-route-metrics small{font-weight:700}.cadaya-assignment-card .actions{flex-wrap:wrap}


/* AXORA v1.31.3 · Centro de Control GPS Cadaya */
.cadaya-gps-control{margin:22px 0;padding:18px;border:1px solid var(--border,#dbe2ea);border-radius:20px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.cadaya-gps-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.cadaya-gps-toolbar h3{margin:8px 0 4px}.cadaya-gps-toolbar p{margin:0;color:var(--muted,#64748b)}
.cadaya-gps-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;margin-top:16px}.cadaya-gps-routes{display:grid;align-content:start;gap:9px;max-height:520px;overflow:auto}.cadaya-gps-route{display:grid;grid-template-columns:1fr auto;text-align:left;gap:5px 10px;padding:12px;border:1px solid var(--border,#dbe2ea);border-radius:14px;background:#fff;cursor:pointer}.cadaya-gps-route>span{display:grid}.cadaya-gps-route small{color:var(--muted,#64748b)}.cadaya-gps-route.active{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.cadaya-gps-route>small{grid-column:1/-1}.cadaya-gps-route em{font-style:normal}
.cadaya-gps-stage{min-width:0}.cadaya-gps-map-wrap{border-radius:18px;overflow:hidden;background:#eaf2fb}.cadaya-gps-map{display:block;width:100%;height:auto;min-height:320px;color:#44637f}.cadaya-gps-map-bg{fill:#eaf2fb}.cadaya-gps-plan-line{fill:none;stroke:#7c3aed;stroke-width:4;stroke-dasharray:10 8;opacity:.75}.cadaya-gps-route-line{fill:none;stroke:#0f766e;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.cadaya-gps-stop{fill:#fff;stroke:#7c3aed;stroke-width:4}.cadaya-gps-stop.done{fill:#22c55e;stroke:#15803d}.cadaya-gps-map text{font-size:10px;font-weight:800;fill:#172033}.cadaya-gps-driver{fill:#e11d48;stroke:#fff;stroke-width:3}.cadaya-gps-driver-pulse{fill:rgba(225,29,72,.18);stroke:#e11d48;stroke-width:2}.cadaya-gps-legend{display:flex;flex-wrap:wrap;gap:14px;padding:10px 14px;background:#fff}.cadaya-gps-legend span{display:flex;align-items:center;gap:7px;font-size:.8rem;color:#52627a}.cadaya-gps-legend i{width:22px;height:4px;border-radius:999px;background:#0f766e}.cadaya-gps-legend i.plan{background:repeating-linear-gradient(90deg,#7c3aed 0 8px,transparent 8px 12px)}.cadaya-gps-legend i.vehicle{width:10px;height:10px;border-radius:50%;background:#e11d48}
.cadaya-gps-selected{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}.cadaya-gps-selected article{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff;border:1px solid var(--border,#dbe2ea)}.cadaya-gps-selected span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b)}.cadaya-gps-selected b{font-size:.88rem;overflow-wrap:anywhere}.cadaya-gps-empty{min-height:320px;display:grid;place-content:center;text-align:center;gap:8px;padding:30px;color:#52627a}.cadaya-gps-updated{display:block;margin-top:10px;color:var(--muted,#64748b)}
@media(max-width:980px){.cadaya-gps-layout{grid-template-columns:1fr}.cadaya-gps-routes{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.cadaya-gps-selected{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.cadaya-gps-control{padding:12px;margin-inline:-4px}.cadaya-gps-toolbar{display:grid}.cadaya-gps-toolbar .actions{display:grid;width:100%}.cadaya-gps-toolbar .company-btn{width:100%;min-height:46px}.cadaya-gps-routes{grid-template-columns:1fr}.cadaya-gps-map{min-height:260px}.cadaya-gps-selected{grid-template-columns:repeat(2,minmax(0,1fr))}.cadaya-gps-legend{gap:8px}.cadaya-gps-legend span{font-size:.72rem}}


/* AXORA v1.32.0 · WhatsApp de Logística */
.cadaya-whatsapp-panel{margin-top:18px}.cadaya-whatsapp-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border,#d9e1ea);border-radius:14px;background:rgba(20,184,166,.06);margin:14px 0}.cadaya-whatsapp-note span{font-size:.9rem;line-height:1.45}.cadaya-whatsapp-messages{display:grid;gap:9px}.cadaya-whatsapp-messages article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border,#d9e1ea);border-radius:12px}.cadaya-whatsapp-messages article div{display:grid;gap:3px}.cadaya-whatsapp-messages small{opacity:.72}@media(max-width:700px){.cadaya-whatsapp-note,.cadaya-whatsapp-messages article{align-items:flex-start;flex-direction:column}.cadaya-whatsapp-panel .cadaya-panel-heading .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.cadaya-whatsapp-panel .company-btn{width:100%}}

/* AXORA v1.32.1 · WhatsApp bidireccional */
.cadaya-wa-inbox{display:grid;grid-template-columns:minmax(240px,32%) 1fr;gap:14px;min-height:430px}.cadaya-wa-inbox>aside{display:grid;align-content:start;gap:8px;max-height:520px;overflow:auto}.cadaya-wa-thread{appearance:none;width:100%;border:1px solid var(--border,#d9e1ea);background:var(--surface,#fff);border-radius:13px;padding:12px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:4px 10px;cursor:pointer}.cadaya-wa-thread.active{outline:2px solid rgba(20,184,166,.38);background:rgba(20,184,166,.06)}.cadaya-wa-thread span{display:grid;gap:3px;min-width:0}.cadaya-wa-thread small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.72}.cadaya-wa-thread em{font-style:normal;background:#dc2626;color:#fff;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:.76rem}.cadaya-wa-chat{border:1px solid var(--border,#d9e1ea);border-radius:14px;display:grid;grid-template-rows:auto 1fr auto;min-height:430px;overflow:hidden}.cadaya-wa-chat header,.cadaya-wa-chat footer{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border,#d9e1ea)}.cadaya-wa-chat footer{border-bottom:0;border-top:1px solid var(--border,#d9e1ea);justify-content:flex-end}.cadaya-wa-chat header div{display:grid;gap:3px}.cadaya-wa-bubbles{padding:16px;display:flex;flex-direction:column;gap:10px;overflow:auto;background:rgba(15,23,42,.025)}.cadaya-wa-bubbles article{max-width:78%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--border,#d9e1ea)}.cadaya-wa-bubbles article.out{align-self:flex-end;background:rgba(20,184,166,.09)}.cadaya-wa-bubbles article.in{align-self:flex-start}.cadaya-wa-bubbles p{margin:0 0 5px;white-space:pre-wrap}.cadaya-wa-bubbles small{opacity:.65}@media(max-width:780px){.cadaya-wa-inbox{grid-template-columns:1fr}.cadaya-wa-inbox>aside{max-height:240px}.cadaya-wa-chat{min-height:390px}.cadaya-wa-chat footer{display:grid;grid-template-columns:1fr 1fr}.cadaya-wa-chat footer .company-btn:first-child{grid-column:1/-1}.cadaya-wa-chat footer .company-btn{width:100%}}

/* AXORA v1.32.2 · Atención inteligente WhatsApp */
.cadaya-wa-quick{display:flex;gap:.45rem;flex-wrap:wrap;padding:.65rem;border-top:1px solid var(--line,#e5e7eb)}
.cadaya-wa-thread em{min-width:1.6rem;text-align:center}
@media(max-width:720px){.cadaya-wa-quick .company-btn{flex:1 1 45%;min-height:42px}}

/* AXORA v1.32.3 · Respuesta asistida WhatsApp */
.cadaya-wa-suggestion{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border-top:1px solid var(--line,#e5e7eb);background:rgba(37,99,235,.06)}
.cadaya-wa-suggestion div{min-width:0}.cadaya-wa-suggestion b{display:block;margin-bottom:.2rem}.cadaya-wa-suggestion p{margin:0;line-height:1.4;color:var(--muted,#64748b)}
@media(max-width:720px){.cadaya-wa-suggestion{align-items:stretch;flex-direction:column}.cadaya-wa-suggestion .company-btn{width:100%;min-height:44px}}

/* AXORA v1.33.0 · WhatsApp Operativo Avanzado */
.cadaya-wa-advanced{margin-top:18px;padding:18px;border:1px solid var(--border,#d9e1ea);border-radius:18px;background:var(--panel,#fff)}
.cadaya-wa-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.cadaya-wa-service-metrics{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding:12px;border-radius:12px;background:rgba(20,184,166,.06)}
@media(max-width:760px){.cadaya-wa-actions{grid-template-columns:1fr 1fr}.cadaya-wa-actions .company-btn{width:100%}.cadaya-wa-service-metrics{display:grid;gap:8px}}
