:root{
  --h-primary:#0F4C5C;
  --h-primary-2:#0A3340;
  --h-accent:#2A9D8F;
  --h-accent-2:#5FD3C5;
  --h-bg:#F3F6F8;
  --h-surface:#FFFFFF;
  --h-surface-2:#F8FAFC;
  --h-text:#24323A;
  --h-muted:#6B7C85;
  --h-border:#E4EBF0;
  --h-warn:#F4A261;
  --h-danger:#E76F51;
  --h-radius:22px;
  --h-shadow:0 20px 55px rgba(15,76,92,.10);
  --h-shadow-sm:0 10px 25px rgba(15,76,92,.08);
  --sidebar-w:292px;
}
[data-bs-theme="dark"]{
  --h-bg:#0B1418;
  --h-surface:#111D22;
  --h-surface-2:#15262D;
  --h-text:#EAF3F5;
  --h-muted:#9FB3BA;
  --h-border:#22343B;
  --h-shadow:0 20px 55px rgba(0,0,0,.35);
  --h-shadow-sm:0 10px 25px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
body{margin:0;background:var(--h-bg);color:var(--h-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;overflow-x:hidden}
a{text-decoration:none}.min-w-0{min-width:0}.text-muted{color:var(--h-muted)!important}.rounded-4{border-radius:18px!important}.border{border-color:var(--h-border)!important}
.app-shell{min-height:100vh;background:radial-gradient(circle at top left, rgba(42,157,143,.14), transparent 35%),var(--h-bg)}
.layout-grid{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.content-area{min-width:0}.main-content{padding:28px;max-width:1540px;margin:0 auto;width:100%}
.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--h-accent),var(--h-primary));display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 30px rgba(42,157,143,.26)}.brand-mark-sm{width:40px;height:40px;border-radius:14px;font-size:.9rem}
.sidebar{position:sticky;top:0;min-height:100vh;background:rgba(255,255,255,.86);border-right:1px solid var(--h-border);padding:22px;backdrop-filter:blur(14px)}[data-bs-theme="dark"] .sidebar{background:rgba(17,29,34,.9)}
.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand-title{font-weight:900;font-size:1.25rem;letter-spacing:-.03em}.brand-subtitle{font-size:.8rem;color:var(--h-muted)}
.sidebar-company-card{border:1px solid var(--h-border);background:linear-gradient(180deg,var(--h-surface),var(--h-surface-2));border-radius:20px;padding:14px 16px;margin-bottom:18px;box-shadow:var(--h-shadow-sm)}
.sidebar-nav{gap:6px}.sidebar-nav .nav-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--h-muted);border-radius:16px;padding:12px 14px;font-weight:650;transition:.18s ease}.sidebar-nav .nav-link span{display:flex;align-items:center;gap:12px}.sidebar-nav .nav-link i{font-size:1.05rem}.sidebar-nav .nav-link em{font-style:normal;font-size:.68rem;background:rgba(42,157,143,.13);color:var(--h-accent);padding:3px 7px;border-radius:99px}.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:linear-gradient(135deg,rgba(42,157,143,.16),rgba(15,76,92,.10));color:var(--h-primary)}[data-bs-theme="dark"] .sidebar-nav .nav-link:hover,[data-bs-theme="dark"] .sidebar-nav .nav-link.active{color:#DDFCF7}.helper-card{background:linear-gradient(135deg,rgba(15,76,92,.95),rgba(42,157,143,.95));color:#fff;display:grid;gap:4px}.helper-card i{font-size:1.25rem}.helper-card small{color:rgba(255,255,255,.76)}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.78);border-bottom:1px solid var(--h-border);backdrop-filter:blur(16px);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}[data-bs-theme="dark"] .topbar{background:rgba(17,29,34,.78)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--h-accent);margin:0 0 4px}.page-title{font-size:1.55rem;line-height:1.12;font-weight:900;letter-spacing:-.04em;margin:0}.company-pill{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:var(--h-muted);font-size:.88rem}.topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.icon-btn{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:14px}.user-button{display:flex;align-items:center;gap:10px;background:var(--h-surface);border:1px solid var(--h-border);border-radius:18px;padding:7px 12px;box-shadow:var(--h-shadow-sm);color:var(--h-text)}.avatar{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--h-primary),var(--h-accent));color:#fff;font-weight:900}.user-button small{color:var(--h-muted)}
.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.82);border-bottom:1px solid var(--h-border);backdrop-filter:blur(16px)}[data-bs-theme="dark"] .mobile-topbar{background:rgba(17,29,34,.84)}.sidebar-canvas{background:var(--h-surface);color:var(--h-text)}
.btn-hstock{background:linear-gradient(135deg,var(--h-primary),var(--h-accent));color:#fff;border:0;box-shadow:0 12px 25px rgba(42,157,143,.24);font-weight:750}.btn-hstock:hover{filter:brightness(.96);color:#fff}.btn-light{background:var(--h-surface);color:var(--h-text)}.alert-modern{border:0;border-radius:18px;box-shadow:var(--h-shadow-sm)}
.auth-bg{min-height:100vh;background:radial-gradient(circle at 20% 20%, rgba(95,211,197,.3), transparent 28%),linear-gradient(135deg,#071D25,#0F4C5C 48%,#2A9D8F);}.auth-wrapper{min-height:100vh;display:grid;place-items:center;padding:26px}.auth-card-wrap{width:min(1100px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28);backdrop-filter:blur(16px)}.auth-hero{padding:52px;color:#fff;align-items:flex-end;min-height:640px;background:linear-gradient(135deg,rgba(15,76,92,.45),rgba(42,157,143,.2)),radial-gradient(circle at top right,rgba(255,255,255,.20),transparent 28%)}.auth-hero h1{font-size:clamp(2.2rem,4vw,4.4rem);font-weight:950;letter-spacing:-.07em;line-height:.96;max-width:680px}.auth-hero .lead{color:rgba(255,255,255,.76);max-width:570px;margin-top:18px}.auth-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.auth-feature-grid span{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px}.auth-card{background:var(--h-surface);padding:52px;display:flex;flex-direction:column;justify-content:center}.form-control-modern{border-radius:18px;border:1px solid var(--h-border);background:var(--h-surface-2);min-height:58px}.form-control-modern:focus{box-shadow:0 0 0 .25rem rgba(42,157,143,.15);border-color:rgba(42,157,143,.5)}.auth-note{display:flex;gap:10px;color:var(--h-muted);font-size:.9rem;background:var(--h-surface-2);padding:14px;border-radius:18px}
.hero-panel{border:1px solid var(--h-border);border-radius:var(--h-radius);padding:28px;background:linear-gradient(135deg,rgba(15,76,92,.96),rgba(42,157,143,.92));color:#fff;box-shadow:var(--h-shadow);display:flex;align-items:flex-end;justify-content:space-between;gap:18px;overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.13)}.hero-panel>*{position:relative;z-index:1}.hero-panel h2{font-size:clamp(1.5rem,3vw,2.7rem);font-weight:950;letter-spacing:-.05em;margin:0}.hero-panel p{max-width:720px;margin:10px 0 0;color:rgba(255,255,255,.78)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.stat-card,.panel-card{border:1px solid var(--h-border);border-radius:var(--h-radius);background:var(--h-surface);box-shadow:var(--h-shadow-sm)}.stat-card .card-body{padding:22px}.stat-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(42,157,143,.13);color:var(--h-accent);font-size:1.25rem;margin-bottom:16px}.stat-value{font-size:2.25rem;font-weight:950;letter-spacing:-.06em;line-height:1;margin-top:6px}.stat-caption{font-size:.82rem;color:var(--h-muted);margin-top:8px}.panel-card{padding:24px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-header h3{font-size:1.15rem;font-weight:900;margin:0;letter-spacing:-.03em}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-item{border:1px solid var(--h-border);background:var(--h-surface-2);border-radius:20px;padding:18px;display:grid;gap:8px;min-height:142px}.module-item i{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(15,76,92,.10);color:var(--h-primary);font-size:1.25rem}.module-item strong{font-size:1rem}.module-item small{color:var(--h-muted)}.module-item.active{background:linear-gradient(135deg,rgba(42,157,143,.16),rgba(15,76,92,.08));border-color:rgba(42,157,143,.25)}.status-list{display:grid;gap:10px}.status-list div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--h-border)}.status-list div:last-child{border-bottom:0}.status-list span{display:flex;gap:9px;color:var(--h-muted)}.status-list .bi-check-circle{color:var(--h-accent)}.status-list .bi-hourglass-split{color:var(--h-warn)}.status-list strong{font-size:.85rem}
.select-company-page{padding:18px 0 40px}.select-company-header h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:950;letter-spacing:-.06em}.select-company-header p{color:var(--h-muted);max-width:640px;margin-left:auto;margin-right:auto}.company-select-card{max-width:760px}.company-list{display:grid;gap:12px}.company-option{display:flex;align-items:center;gap:14px;border:1px solid var(--h-border);background:var(--h-surface-2);border-radius:20px;padding:16px;cursor:pointer;transition:.18s ease}.company-option:hover{transform:translateY(-1px);border-color:rgba(42,157,143,.45);box-shadow:var(--h-shadow-sm)}.company-option input{margin:0}.company-option-icon{width:44px;height:44px;border-radius:16px;background:rgba(42,157,143,.13);color:var(--h-accent);display:grid;place-items:center}.company-option-body{display:grid;gap:2px}.company-option-body small{color:var(--h-muted)}.empty-state{max-width:560px;padding:42px}.empty-icon{width:76px;height:76px;border-radius:28px;background:rgba(42,157,143,.13);color:var(--h-accent);display:grid;place-items:center;font-size:2rem;margin:0 auto 16px}
@media (max-width: 1199.98px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel{align-items:flex-start;flex-direction:column}}
@media (max-width: 991.98px){.layout-grid{display:block}.main-content{padding:18px}.topbar{position:relative;padding:18px;align-items:flex-start}.topbar-actions{align-self:flex-start}.auth-card-wrap{grid-template-columns:1fr;width:min(540px,100%)}.auth-card{padding:34px 24px}.hero-panel{padding:22px}.sidebar-footer{display:none}}
@media (max-width: 575.98px){body{font-size:14px}.main-content{padding:14px}.topbar{display:none}.module-grid{grid-template-columns:1fr}.stat-card .card-body{padding:18px}.stat-value{font-size:1.8rem}.hero-actions .btn{width:100%}.hero-actions{width:100%}.company-option{padding:13px;gap:10px}.auth-wrapper{padding:14px}.auth-card{padding:28px 18px}.panel-card{padding:18px}.brand-mark{width:46px;height:46px;border-radius:16px}}

/* HStock v2 catalog modules */
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.section-title{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:800;color:var(--h-text);letter-spacing:-.03em;margin:0}
.panel-card{border:0;border-radius:24px;box-shadow:0 18px 50px rgba(15,76,92,.09);overflow:hidden;background:var(--h-surface)}
.table thead th{background:rgba(15,76,92,.06);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--h-muted);border-bottom:0;padding:1rem}
.table tbody td{padding:1rem;border-color:rgba(148,163,184,.18)}
.code-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;background:rgba(42,157,143,.12);color:#0f766e;font-weight:700;font-size:.78rem}
.empty-state{background:var(--h-surface);border-radius:28px;padding:3rem;text-align:center;box-shadow:0 18px 50px rgba(15,76,92,.08)}
.empty-icon{width:74px;height:74px;border-radius:24px;margin:0 auto 1rem;display:grid;place-items:center;background:linear-gradient(135deg,#0F4C5C,#2A9D8F);color:white;font-size:2rem}
.form-control,.form-select{border-radius:14px;border-color:rgba(15,76,92,.18);padding:.72rem .9rem}
.form-control:focus,.form-select:focus{border-color:#2A9D8F;box-shadow:0 0 0 .25rem rgba(42,157,143,.16)}
.btn-primary{background:linear-gradient(135deg,#0F4C5C,#2A9D8F);border:0;box-shadow:0 10px 22px rgba(15,76,92,.18)}
.btn-primary:hover{filter:brightness(.96)}
@media (max-width: 767.98px){.section-header .btn{width:100%}.table-responsive{border-radius:20px}.panel-card .card-body{padding:1rem!important}.table thead{display:none}.table tbody tr{display:block;border-bottom:1px solid rgba(148,163,184,.25);padding:.7rem}.table tbody td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.45rem .2rem}.table tbody td::before{content:attr(data-label);font-weight:700;color:var(--h-muted)}}

/* HStock v4 - Ajustes */
.metric-card{display:flex;align-items:center;gap:14px;background:var(--card-bg,#fff);border:1px solid rgba(15,76,92,.08);border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(15,76,92,.06);height:100%}
.metric-card .metric-icon{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(42,157,143,.12);color:#2A9D8F;font-size:1.35rem;flex:0 0 auto}
.metric-card small{display:block;color:#6c757d;font-weight:600;margin-bottom:2px}.metric-card strong{display:block;font-size:1.45rem;line-height:1;color:#263238}
.feature-icon{width:54px;height:54px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0F4C5C,#2A9D8F);color:#fff;font-size:1.45rem;flex:0 0 auto;box-shadow:0 12px 25px rgba(15,76,92,.2)}
.detail-box{background:rgba(244,246,248,.78);border:1px solid rgba(15,76,92,.08);border-radius:18px;padding:16px;height:100%}.detail-box small{display:block;color:#6c757d;font-weight:600;margin-bottom:6px}.detail-box strong{display:block;color:#263238}.timeline-lite{display:grid;gap:18px}.timeline-lite>div{position:relative;padding-left:28px}.timeline-lite>div span{position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:#2A9D8F;box-shadow:0 0 0 5px rgba(42,157,143,.12)}.timeline-lite small{display:block;color:#6c757d;font-weight:600}.timeline-lite strong{display:block;color:#263238}
[data-bs-theme="dark"] .metric-card,[data-bs-theme="dark"] .detail-box{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}[data-bs-theme="dark"] .metric-card strong,[data-bs-theme="dark"] .detail-box strong,[data-bs-theme="dark"] .timeline-lite strong{color:#f8f9fa}

/* HStock v7 - Reportes */
.hover-card{transition:transform .18s ease, box-shadow .18s ease}.hover-card:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(15,76,92,.12)!important}.module-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#0F4C5C,#2A9D8F);color:#fff;font-size:1.45rem;flex:0 0 auto}.stat-card{padding:18px 20px}.stat-card span{display:block;color:var(--h-muted);font-weight:700;font-size:.82rem}.stat-card strong{display:block;margin-top:4px;font-size:1.45rem;font-weight:950;color:var(--h-text)}
@media print{.sidebar,.mobile-topbar,.topbar,.no-print,.btn,.dropdown,.offcanvas{display:none!important}.layout-grid{display:block!important}.main-content{padding:0!important;max-width:none!important}.content-area{width:100%!important}body{background:#fff!important;color:#000!important}.card,.panel-card,.stat-card{box-shadow:none!important;border:1px solid #ddd!important}.table{font-size:11px}.table thead{display:table-header-group!important}.table tbody tr{display:table-row!important}.table tbody td{display:table-cell!important;border:1px solid #ddd!important;padding:6px!important}.table tbody td::before{display:none!important}.badge{border:1px solid #999!important;color:#000!important;background:#fff!important}.page-title:after{content:""}.alert{border:1px solid #ddd!important}}

/* HStock v8 - Dashboard profesional */
.dashboard-hero{background:linear-gradient(135deg,rgba(15,76,92,.98),rgba(42,157,143,.94));}
.mini-stat{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--h-surface);border:1px solid var(--h-border);border-radius:22px;padding:18px 20px;box-shadow:var(--h-shadow-sm);height:100%}
.mini-stat span{display:flex;align-items:center;gap:.55rem;color:var(--h-muted);font-weight:800;font-size:.86rem}.mini-stat strong{font-size:1.7rem;font-weight:950;letter-spacing:-.05em;color:var(--h-text)}.mini-stat.warning{background:linear-gradient(135deg,rgba(244,162,97,.16),var(--h-surface));border-color:rgba(244,162,97,.32)}
.stat-money{font-size:1.45rem!important;letter-spacing:-.04em!important;line-height:1.15!important}.stat-alert{border-color:rgba(231,111,81,.38)!important;background:linear-gradient(180deg,rgba(231,111,81,.08),var(--h-surface))}.stat-alert .stat-icon{background:rgba(231,111,81,.13);color:var(--h-danger)}
.chart-box{position:relative;height:330px;width:100%}.chart-box-sm{height:280px}.dashboard-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.7rem;color:var(--h-muted);border:1px dashed var(--h-border);border-radius:22px;background:var(--h-surface-2);padding:1.5rem}.dashboard-empty i{font-size:2rem;color:var(--h-accent)}.small-empty{min-height:160px}.dashboard-empty.success i{color:var(--h-accent)}
.compact-list{display:grid;gap:.75rem}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--h-border);background:var(--h-surface-2);border-radius:18px;padding:.9rem 1rem;color:var(--h-text);transition:.16s ease}.compact-row:hover{transform:translateY(-1px);border-color:rgba(42,157,143,.45);box-shadow:var(--h-shadow-sm)}.compact-row strong{display:block;font-weight:900}.compact-row small{display:block;color:var(--h-muted);font-size:.8rem;margin-top:.15rem}.compact-row .badge{white-space:nowrap}
.activity-list{display:grid;gap:.75rem}.activity-row{display:flex;align-items:center;gap:.9rem;padding:.9rem;border:1px solid var(--h-border);border-radius:18px;background:var(--h-surface-2)}.activity-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto}.activity-icon.in{background:rgba(42,157,143,.14);color:var(--h-accent)}.activity-icon.out{background:rgba(231,111,81,.12);color:var(--h-danger)}.activity-row strong{display:block;color:var(--h-text);font-weight:900}.activity-row small{display:block;color:var(--h-muted);font-size:.78rem}.activity-row .text-end{min-width:96px}
@media (max-width: 767.98px){.mini-stat{padding:14px;display:block}.mini-stat span{font-size:.78rem}.mini-stat strong{display:block;margin-top:.45rem;font-size:1.45rem}.chart-box{height:260px}.chart-box-sm{height:245px}.compact-row{align-items:flex-start;flex-direction:column}.compact-row .badge{align-self:flex-start}.activity-row{align-items:flex-start}.activity-row .text-end{text-align:left!important;min-width:0}.stat-money{font-size:1.15rem!important}.dashboard-hero .btn{width:100%}}
.company-option { cursor:pointer; transition: .18s ease; background: var(--bs-body-bg); }
.company-option:hover { transform: translateY(-1px); box-shadow: 0 .75rem 1.8rem rgba(15, 76, 92, .08); }
.company-option:has(input:checked) { border-color: var(--hstock-primary, #0F4C5C) !important; background: rgba(42, 157, 143, .08); }

/* HStock v13 - alertas y control operativo */
.stat-card{display:flex;align-items:center;gap:1rem}.stat-card .stat-icon{margin-bottom:0}.stat-label{color:var(--h-muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.stat-card.danger{border-color:rgba(231,111,81,.28);background:linear-gradient(135deg,rgba(231,111,81,.10),var(--h-surface))}.stat-card.danger .stat-icon{background:rgba(231,111,81,.14);color:var(--h-danger)}.stat-card.warning{border-color:rgba(244,162,97,.30);background:linear-gradient(135deg,rgba(244,162,97,.13),var(--h-surface))}.stat-card.warning .stat-icon{background:rgba(244,162,97,.17);color:var(--h-warn)}.stat-card.primary{border-color:rgba(15,76,92,.20);background:linear-gradient(135deg,rgba(15,76,92,.09),var(--h-surface))}.stat-card.primary .stat-icon{background:rgba(15,76,92,.12);color:var(--h-primary)}.stat-card.dark .stat-icon{background:rgba(38,50,56,.12);color:var(--h-text)}
.timeline-list{display:grid;gap:14px}.timeline-item{position:relative;display:flex;gap:12px;align-items:flex-start}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#2A9D8F;box-shadow:0 0 0 5px rgba(42,157,143,.12);margin-top:6px;flex:0 0 auto}.timeline-item strong{color:var(--h-text,#263238)}

/* HStock v15 - Centro de pendientes */
.task-row{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem;
  border:1px solid rgba(15,76,92,.10);
  border-radius:1.25rem;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 30px rgba(15,76,92,.05);
}
.task-icon{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:1rem;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.25rem;
}
.task-icon.critical{background:#E76F51;}
.task-icon.warning{background:#F4A261;}
.task-icon.info{background:#0F4C5C;}
.task-icon.success{background:#2A9D8F;}
.timeline-list{position:relative; display:flex; flex-direction:column; gap:1rem;}
.timeline-item{display:flex; gap:.75rem; align-items:flex-start;}
.timeline-dot{width:12px; height:12px; min-width:12px; border-radius:999px; background:#2A9D8F; margin-top:.35rem; box-shadow:0 0 0 4px rgba(42,157,143,.12);}
[data-bs-theme="dark"] .task-row{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08);}
@media (max-width: 575.98px){
  .task-row{align-items:flex-start; flex-direction:column;}
  .task-row .btn{width:100%;}
}

/* HStock v17 - Búsqueda global y acciones rápidas */
.topbar-search{align-items:center;gap:.65rem;min-width:330px;max-width:430px;background:var(--h-surface);border:1px solid var(--h-border);border-radius:18px;padding:.58rem .85rem;box-shadow:var(--h-shadow-sm);color:var(--h-muted)}
.topbar-search input{border:0;outline:0;background:transparent;color:var(--h-text);width:100%;font-size:.92rem}.topbar-search input::placeholder{color:var(--h-muted)}
.search-panel{background:linear-gradient(180deg,var(--h-surface),var(--h-surface-2))}.search-input-group .input-group-text{border-radius:18px 0 0 18px;background:var(--h-surface-2);border-color:var(--h-border);color:var(--h-accent)}.search-input-group .form-control{border-radius:0 18px 18px 0;min-height:56px;background:var(--h-surface);border-color:var(--h-border)}
.search-results-card{overflow:hidden}.search-results-card .table{margin-bottom:0}.fw-black{font-weight:950;letter-spacing:-.04em}
@media (max-width: 1199.98px){.topbar{align-items:flex-start}.topbar-actions{margin-left:auto}}
@media (max-width: 767.98px){.search-panel .btn{width:100%}.search-results-card .compact-row{align-items:flex-start}.search-results-card .compact-row .text-end{text-align:left!important}}


/* HStock v19 - Usabilidad móvil y tablas adaptativas */
.mobile-bottom-nav{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:1040;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  padding:8px;
  border:1px solid rgba(15,76,92,.14);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 45px rgba(15,76,92,.18);
  backdrop-filter:blur(16px);
}
.mobile-bottom-link{
  min-width:0;
  color:var(--h-muted);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  border-radius:18px;
  padding:8px 3px;
  font-size:.67rem;
  font-weight:800;
  line-height:1;
}
.mobile-bottom-link i{font-size:1.1rem;line-height:1}.mobile-bottom-link.active{background:linear-gradient(135deg,var(--h-primary),var(--h-accent));color:#fff;box-shadow:0 10px 20px rgba(15,76,92,.18)}
[data-bs-theme="dark"] .mobile-bottom-nav{background:rgba(15,23,30,.92);border-color:rgba(255,255,255,.10)}

.mobile-actions-panel{
  display:none;
  gap:.6rem;
  overflow-x:auto;
  padding:.25rem .1rem .75rem;
  -webkit-overflow-scrolling:touch;
}
.mobile-actions-panel .btn{white-space:nowrap;flex:0 0 auto;border-radius:999px;box-shadow:var(--h-shadow-sm)}

.touch-target,.btn-sm{min-height:36px}.form-control,.form-select{min-height:44px}.form-label{font-weight:800;color:var(--h-text)}

@media (max-width: 991.98px){
  body.app-shell{padding-bottom:92px}.main-content{padding-bottom:6rem}.section-header{gap:1rem}.section-header .btn{width:100%;justify-content:center}.mobile-actions-panel{display:flex}.topbar{display:none}.mobile-topbar{position:sticky;top:0;z-index:1025;background:rgba(244,246,248,.90);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,76,92,.08)}[data-bs-theme="dark"] .mobile-topbar{background:rgba(12,18,22,.90);border-bottom-color:rgba(255,255,255,.08)}
}

@media (max-width: 767.98px){
  .panel-card,.card{border-radius:20px}.card-body{padding:1rem!important}.card-body.p-0{padding:0!important}.section-title{font-size:1.35rem}.page-title{font-size:1.35rem}.eyebrow{font-size:.7rem}.alert-modern{border-radius:18px}.btn{min-height:42px;border-radius:14px}.btn-sm{min-height:36px;border-radius:12px}.input-group .btn{width:auto}.table-responsive{border:0;overflow:visible}.table-mobile-card thead{display:none}.table-mobile-card,.table-mobile-card tbody,.table-mobile-card tr,.table-mobile-card td{display:block;width:100%}.table-mobile-card tbody tr{background:var(--h-surface);border:1px solid var(--h-border);border-radius:20px;margin:0 0 12px;box-shadow:var(--h-shadow-sm);overflow:hidden}.table-mobile-card tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:0!important;border-bottom:1px solid var(--h-border)!important;padding:.78rem 1rem!important;text-align:right!important;min-height:46px}.table-mobile-card tbody td:last-child{border-bottom:0!important}.table-mobile-card tbody td::before{content:attr(data-label);font-weight:900;color:var(--h-muted);text-align:left;min-width:38%;max-width:48%;font-size:.78rem;text-transform:uppercase;letter-spacing:.025em}.table-mobile-card tbody td[data-label="Acciones"]{justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.table-mobile-card tbody td[data-label="Acciones"]::before{display:none}.table-mobile-card tbody td .btn{margin:.1rem}.table-mobile-card tbody td form{display:inline-flex!important}.table-mobile-card tbody tr td[colspan]::before{display:none}.table-mobile-card tbody tr td[colspan]{display:block;text-align:center!important}.code-chip{white-space:nowrap}.badge{white-space:normal;text-align:center}.filter-card .row > [class*="col-"]{margin-bottom:.65rem}.filter-card .btn{width:100%}.stat-card{align-items:flex-start}.stat-card strong{font-size:1.25rem}.mobile-bottom-link span{font-size:.62rem}.mobile-bottom-link i{font-size:1rem}
}

@media (max-width: 380px){.mobile-bottom-nav{left:6px;right:6px;bottom:6px;padding:6px;border-radius:20px}.mobile-bottom-link{font-size:.58rem;padding:7px 2px}.mobile-bottom-link i{font-size:.95rem}}


.brand-logo-image{
    width: 64px;
    height: 64px;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
}

.sidebar-logo{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* ===== Login empresarial con logo ===== */
.auth-card-wrap-enterprise{
  min-height:100vh;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  background: linear-gradient(135deg, #eaf7f7 0%, #f7fbfb 45%, #ffffff 100%);
}

.auth-hero{
  min-height:100vh;
  align-items:center;
  padding: clamp(2rem, 5vw, 5rem);
  color:#fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, #0F4C5C 0%, #16777C 52%, #1B8C84 100%);
  position:relative;
  overflow:hidden;
}

.auth-hero::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-140px;
  bottom:-140px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}

.auth-hero-inner{
  position:relative;
  z-index:1;
  max-width:720px;
}

.auth-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  border-radius:24px;
  padding:14px 18px;
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}

.auth-logo{
  display:block;
  object-fit:contain;
}

.auth-logo-hero{
  max-width:190px;
  max-height:92px;
}

.auth-logo-card{
  max-width:170px;
  max-height:88px;
  object-fit:contain;
}

.auth-hero h1{
  font-size: clamp(2rem, 4vw, 3.7rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.04em;
  margin-bottom:1rem;
}

.auth-hero .lead{
  max-width:640px;
  color:rgba(255,255,255,.82);
  font-size:1.12rem;
  line-height:1.65;
}

.auth-feature-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:.85rem;
  margin-top:2rem;
  max-width:620px;
}

.auth-feature-grid span{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.82rem 1rem;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  color:#fff;
  font-weight:600;
}

.auth-feature-grid i{
  font-size:1.1rem;
}

.auth-card-enterprise{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:520px;
  width:100%;
  margin:0 auto;
  padding:clamp(1.5rem, 4vw, 3.25rem);
  background:#fff;
  box-shadow:-24px 0 60px rgba(15,76,92,.08);
}

.form-control-modern{
  min-height:58px;
  border-radius:18px;
  border:1px solid #dbe5e8;
  background:#f8fbfc;
}

.form-control-modern:focus{
  background:#fff;
  border-color:#16858a;
  box-shadow:0 0 0 .24rem rgba(22,133,138,.14);
}

.btn-hstock{
  min-height:56px;
  background:linear-gradient(135deg, #0F4C5C, #16858A);
  border:0;
  color:#fff;
  font-weight:800;
  box-shadow:0 16px 28px rgba(15,76,92,.22);
}

.btn-hstock:hover,
.btn-hstock:focus{
  color:#fff;
  background:linear-gradient(135deg, #0b3f4c, #126f73);
}

.auth-note{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:1rem;
  border-radius:18px;
  background:#f3faf9;
  color:#577178;
  border:1px solid #dceeed;
  font-size:.92rem;
}

.auth-note i{
  color:#16777C;
  margin-top:.1rem;
}

@media (max-width: 991.98px){
  .auth-card-wrap-enterprise{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    padding:1rem;
    background:
      radial-gradient(circle at top left, rgba(22,133,138,.14), transparent 34%),
      linear-gradient(135deg, #eef8f8, #ffffff);
  }

  .auth-card-enterprise{
    min-height:auto;
    max-width:460px;
    border-radius:28px;
    box-shadow:0 24px 70px rgba(15,76,92,.15);
  }
}