
:root {
  --bg:#050b1f; --panel:rgba(18,27,54,.86); --panel2:rgba(25,35,68,.76);
  --text:#f8fafc; --muted:#aab4c8; --line:rgba(148,163,184,.25);
  --blue:#60a5fa; --cyan:#22d3ee; --danger:#f43f5e; --warn:#f59e0b;
  --shadow:0 22px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{
  font-family:Arial,Helvetica,sans-serif;color:var(--text);
  background:radial-gradient(circle at 15% 10%,rgba(34,211,238,.12),transparent 28%),
             radial-gradient(circle at 85% 20%,rgba(96,165,250,.10),transparent 28%),
             linear-gradient(180deg,#030712 0%,#071226 45%,#030712 100%);
  display:flex;flex-direction:column;
}
a{color:inherit}.wrap{width:min(1480px,calc(100% - 36px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(3,7,18,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.topbar-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}.logo{width:54px;height:54px;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}
.logo img{width:100%;height:100%;object-fit:contain;display:block}.appname{font-size:20px;font-weight:900;letter-spacing:.02em}.small-title{font-size:13px}.top-actions{display:flex;align-items:center;gap:10px}
.shell{flex:1 0 auto;display:grid;grid-template-columns:260px 1fr;gap:18px;padding:22px 0}.side{border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);padding:18px;height:fit-content;position:sticky;top:102px}
.sidelink{display:block;padding:13px 14px;border-radius:14px;color:var(--text);text-decoration:none;font-weight:800;margin-bottom:6px}.sidelink:hover{background:rgba(96,165,250,.15);box-shadow:inset 0 0 0 1px rgba(96,165,250,.25)}
.main{min-width:0}.card{border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);padding:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.row{display:flex;gap:12px;flex-wrap:wrap}.kpi{font-size:34px;font-weight:950;margin-top:8px}.muted{color:var(--muted)}
.input,select,textarea,input[type=file]{width:100%;border:1.5px solid rgba(56,189,248,.34);background:#081426;color:#fff;border-radius:14px;padding:12px 14px;font-size:15px;outline:none}
select.input option{background:#fff;color:#111827;font-weight:800}.input:focus,select.input:focus,textarea:focus{border-color:var(--cyan)!important;box-shadow:0 0 0 4px rgba(34,211,238,.30),0 0 24px rgba(34,211,238,.28)!important}
label{display:block;margin-bottom:6px;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:14px;border:1.5px solid rgba(96,165,250,.60);background:rgba(15,23,42,.70);color:var(--text);text-decoration:none;font-weight:900;cursor:pointer;box-shadow:0 0 0 1px rgba(96,165,250,.10),0 8px 20px rgba(0,0,0,.18)}
.btn:hover{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.20),0 0 22px rgba(56,189,248,.18);transform:translateY(-1px)}.btn.primary{border-color:var(--cyan);background:linear-gradient(135deg,rgba(14,165,233,.28),rgba(34,211,238,.16))}.btn.ghost{background:rgba(15,23,42,.45)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.34);background:rgba(255,255,255,.05);color:var(--text);font-weight:900}.badge.danger,.danger{border-color:rgba(244,63,94,.75)!important;color:#fecdd3!important;background:rgba(244,63,94,.13)!important}.badge.warn{border-color:var(--warn)!important;color:#fde68a!important;background:rgba(245,158,11,.16)!important}
.flash,.alert{border-radius:16px;padding:13px 15px;margin-bottom:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);font-weight:800}.flash.success,.alert.success{border-color:rgba(34,197,94,.55);color:#bbf7d0}.flash.error,.alert.danger{border-color:rgba(244,63,94,.65);color:#fecdd3}
.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid rgba(148,163,184,.16);vertical-align:top}.table th{color:var(--muted);font-weight:900}

/* Login */
.login-shell-wrap{display:block!important;padding:18px 0 28px!important}.login-page-wrap{padding:6px 0 0}.login-shell{min-height:calc(100vh - 240px);display:grid;grid-template-columns:460px 1fr;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.045));box-shadow:var(--shadow)}
.login-left{display:flex;flex-direction:column;justify-content:center;padding:34px 30px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.035));border-right:1px solid var(--line)}.login-brand-copy h1{font-size:32px;font-weight:900;margin:0 0 8px}.login-brand-copy p{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.5}
.login-card{border:1px solid var(--line);border-radius:20px;padding:22px 20px;background:rgba(255,255,255,.045)}.login-card h2{margin:0 0 6px;font-size:26px;font-weight:900}.login-btn{width:100%;margin-top:16px;min-height:46px}.login-support{margin-top:18px;color:var(--muted);font-size:13px;line-height:1.7}.login-support a{color:var(--blue);font-weight:800;text-decoration:none;margin-left:6px}.login-support img{width:42px;height:42px;vertical-align:middle;object-fit:contain}
.login-right{position:relative;min-height:585px;background:linear-gradient(135deg,rgba(4,10,28,.38),rgba(3,8,24,.18)),url('login-side.webp') center center/cover no-repeat}.login-right::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(0,213,255,.12),transparent 28%),radial-gradient(circle at 78% 20%,rgba(74,163,255,.12),transparent 28%),radial-gradient(circle at 62% 82%,rgba(255,45,125,.07),transparent 24%);pointer-events:none}.login-right-badge{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:2;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(8,15,34,.28);backdrop-filter:blur(6px);font-size:16px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff}.login-right-text{position:absolute;right:24px;bottom:22px;z-index:2;width:min(560px,calc(100% - 48px))}.login-right-text h2{margin:0;font-size:34px;font-weight:900;line-height:1.08;color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.40)}.login-right-text p{margin:14px 0 0;color:rgba(255,255,255,.92);font-size:15px;line-height:1.7}

/* Footer */
#dm-premium-footer{flex-shrink:0;width:100%;margin-top:auto;padding:24px 18px 30px;border-top:1px solid rgba(0,212,255,.22);background:linear-gradient(180deg,#03102b 0%,#041432 100%);box-shadow:inset 0 1px 0 rgba(80,180,255,.08)}.dm-footer-content{max-width:860px;margin:0 auto;text-align:center}.dm-footer-logo{margin-bottom:12px}.dm-footer-logo img{max-width:210px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 0 8px rgba(0,212,255,.18)) drop-shadow(0 0 22px rgba(0,132,255,.12))}.dm-footer-text{color:#bfcbe3;font-size:15px;line-height:1.5;margin-bottom:10px}.dm-footer-text a,.dm-footer-links a{color:#6ec6ff;text-decoration:none;font-weight:700}.dm-footer-links{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap;font-size:14px}.dm-whatsapp-link{display:inline-flex;align-items:center;gap:7px}.dm-whatsapp-link img{width:24px;height:24px;object-fit:contain}

/* Dashboard compact alerts */
.dashboard-alerts-horizontal{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;margin-bottom:12px}.dash-alert-card{min-height:88px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.dash-alert-title{padding:5px 8px;font-size:16px;font-weight:950;text-align:center;border-bottom:1px solid var(--line)}.dash-alert-body{min-height:53px;display:flex;align-items:center;justify-content:center;gap:10px}.dash-alert-number{width:36px;height:36px;min-width:36px;border-radius:999px;display:grid;place-items:center;font-size:18px;font-weight:950;border:3px solid rgba(255,255,255,.28);color:#fff}.dash-alert-label{padding:7px 16px;border-radius:999px;font-size:14px;font-weight:950;border:3px solid var(--danger);background:rgba(244,63,94,.15)}.dash-alert-card.warn .dash-alert-label{border-color:var(--warn);background:rgba(245,158,11,.14)}

@media(max-width:980px){.login-shell,.shell{grid-template-columns:1fr}.side{position:static}.cards,.two-col,.dashboard-alerts-horizontal{grid-template-columns:1fr}.login-left{border-right:none;border-bottom:1px solid var(--line);padding:24px 18px}.login-right{min-height:340px}.login-right-text h2{font-size:26px}}


/* POSLH2 operations polish */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(2) !important;
  opacity: .95 !important;
}

.btn,
.badge,
.sidelink,
.table th,
label,
.login-card label,
.login-whatsapp-cta,
.login-support-text {
  font-weight: 650 !important;
}

.appname,
.login-brand-copy h1,
.login-card h2,
.kpi {
  font-weight: 800 !important;
}

.table .badge {
  font-weight: 600 !important;
}
/* FIX dashboard alert number no encimado */
.dashboard-alerts-horizontal {
  gap: 14px !important;
}

.dash-alert-body {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  padding: 10px 14px !important;
}

.dash-alert-number {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  z-index: 2 !important;
}

.dash-alert-label {
  margin: 0 !important;
  white-space: nowrap !important;
}
/* FIX: círculo dashboard se adapta a números grandes */
.dash-alert-number {
  width: auto !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-size: clamp(14px, 1.4vw, 20px) !important;
}

.dash-alert-body {
  gap: 14px !important;
}

@media (max-width: 900px) {
  .dash-alert-number {
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    font-size: 14px !important;
  }
}

/* ===== FOOTER PRO CLEAN ===== */
.dm-footer {
  padding: 20px 0 15px;
  text-align: center;
  opacity: 0.95;
}

.dm-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.dm-footer-logo img {
  width: 70px;
  margin-bottom: 5px;
}

.dm-footer-text {
  font-size: 13px;
  color: #fff;
}

.dm-brand {
  color: #fff; /* 🔥 Digo Marketing blanco */
  font-weight: 600;
}

.dm-footer-links {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.dm-footer-links a {
  color: #cfd8ff;
  text-decoration: none;
}

.dm-footer-links a:hover {
  color: #ffffff;
}

.dm-wa {
  width: 16px;
  margin-left: 4px;
  vertical-align: middle;
}
/* POSLH2 status badges polish */
.badge.success{border-color:rgba(34,197,94,.70)!important;color:#bbf7d0!important;background:rgba(34,197,94,.13)!important}
.badge.status-completed{border-color:rgba(34,197,94,.70)!important;color:#bbf7d0!important;background:rgba(34,197,94,.13)!important}
.badge.status-returned,.badge.status-partial_return{border-color:rgba(245,158,11,.78)!important;color:#fde68a!important;background:rgba(245,158,11,.16)!important}
.badge.status-cancelled{border-color:rgba(244,63,94,.75)!important;color:#fecdd3!important;background:rgba(244,63,94,.13)!important}

/* POSLH2 - Menú tipo Clover: categorías principales fijas, submódulos limpios */
.side-clover {
  padding: 14px !important;
}
.side-clover .side-section-title {
  display: none !important;
}
.side-clover > .sidelink,
.side-clover .side-group > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 46px !important;
  margin: 0 0 8px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--text) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.side-clover > .sidelink:hover,
.side-clover .side-group > summary:hover {
  border-color: rgba(34,211,238,.48) !important;
  background: rgba(34,211,238,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(34,211,238,.12) !important;
}
.side-clover > .sidelink.active,
.side-clover .side-group[open] > summary {
  border-color: rgba(34,211,238,.62) !important;
  background: linear-gradient(135deg,rgba(14,165,233,.22),rgba(34,211,238,.10)) !important;
  box-shadow: inset 4px 0 0 rgba(34,211,238,.95), 0 0 18px rgba(34,211,238,.08) !important;
}
.side-clover .side-group {
  margin: 0 !important;
}
.side-clover .side-group > summary::-webkit-details-marker {
  display: none !important;
}
.side-clover .side-group > summary::after {
  content: "›";
  color: #b7c3dd;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .14s ease;
}
.side-clover .side-group[open] > summary::after {
  transform: rotate(90deg);
  color: var(--cyan);
}
.side-clover .side-group .sidelink {
  margin: 4px 0 4px 18px !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
  color: #cbd5e1 !important;
  font-weight: 700 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}
.side-clover .side-group .sidelink:hover {
  color: #fff !important;
  background: rgba(96,165,250,.12) !important;
  border-color: rgba(96,165,250,.20) !important;
}
.side-clover .side-group .sidelink.active {
  color: #fff !important;
  background: rgba(34,211,238,.13) !important;
  border-color: rgba(34,211,238,.34) !important;
  box-shadow: inset 3px 0 0 rgba(34,211,238,.95) !important;
}
