:root{--bg:#f4f6fb;--surface:#fff;--text:#172033;--muted:#667085;--line:#e4e8f0;--primary:#6258e8;--danger:#d64545;--green:#098364}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}body.dark{--bg:#10131b;--surface:#1b202c;--text:#f5f6fa;--muted:#a4aec0;--line:#323949}header{min-height:68px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:10px max(20px,calc((100% - 1200px)/2));gap:22px;position:sticky;top:0;z-index:4}.logo{font-size:20px;font-weight:900;color:var(--primary);text-decoration:none}.logo span{font-size:13px;color:var(--text)}nav{display:flex;gap:4px;overflow:auto;flex:1}nav a,.link{color:var(--muted);text-decoration:none;border:0;background:none;padding:9px;white-space:nowrap}main{max-width:1200px;margin:30px auto;padding:0 20px;min-height:calc(100vh - 155px)}h1{margin:0 0 15px}.title{display:flex;justify-content:space-between}.box,.table,.filters{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:20px;margin:18px 0;box-shadow:0 10px 30px #3344660c}.button,button{border:0;border-radius:9px;background:var(--primary);color:#fff;padding:10px 15px;font-weight:700;text-decoration:none;cursor:pointer}.danger{background:#ffe4e4;color:#a52d2d;padding:6px}.theme{background:var(--surface);color:var(--text);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}.inline,.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-weight:600}input,select,textarea{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}textarea{min-height:80px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}.metrics article{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:13px;padding:16px}.metrics span,.metrics strong{display:block}.metrics span{color:var(--muted);font-size:13px}.metrics strong{font-size:19px}.metrics .cash{border-color:#13a174}.metrics .card{border-color:#3478f6}.metrics .dist{border-color:#e18a18}.metrics .negative{border-color:var(--danger)}.bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.bars div,.preview{background:var(--bg);padding:13px;border-radius:9px}.bars span,.bars strong{display:block}.table{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:750px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}th{font-size:12px;color:var(--muted);text-transform:uppercase}small{display:block;color:var(--muted)}.red{color:var(--danger);font-weight:800}.green{color:var(--green);font-weight:800}.alert{max-width:1160px;margin:16px auto;padding:12px;border-radius:9px;background:#ddf7ec;color:#087354}.alert.error{background:#ffe3e3;color:#a42c2c}.login{display:grid;place-items:center}.login .box{width:min(410px,95%);text-align:center}.login form{text-align:left}.login label{margin:12px 0}.login button{width:100%}.brand{margin:auto;width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--primary);color:#fff;font-size:21px;font-weight:900}footer{text-align:center;color:var(--muted);padding:20px}@media(max-width:800px){header{flex-wrap:wrap}.logo span{display:none}nav{order:3;width:100%}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}}

/* Logotipo Mex Wings en el encabezado. */
.logo.mexwings-brand{display:flex;align-items:center;flex:0 0 auto;padding:0;border:0;background:transparent;color:inherit;box-shadow:none}.mexwings-logo{display:block;width:112px;height:58px;object-fit:contain;object-position:center;border:0;border-radius:0;background:transparent;box-shadow:none;animation:mexwingsLogoFloat 3s ease-in-out infinite;transform-origin:center}.mexwings-brand:hover .mexwings-logo{filter:brightness(1.08)}@keyframes mexwingsLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}@media(prefers-reduced-motion:reduce){.mexwings-logo{animation:none}}@media(max-width:800px){.mexwings-logo{width:94px;height:50px}}
nav .section-link{border-radius:9px;background:color-mix(in srgb,#2f80ed 12%,var(--surface));color:color-mix(in srgb,#2f80ed 72%,var(--text));font-weight:700;transition:background .2s ease,color .2s ease,box-shadow .2s ease}nav .section-link.active{background:#2f80ed;color:#fff;box-shadow:0 5px 14px #2f80ed45}nav .section-link:not(.active):hover{background:color-mix(in srgb,#2f80ed 20%,var(--surface));color:#2f80ed}
nav .section-link[href="index.php?page=users"],nav .section-link[href="index.php?page=audit"]{background:color-mix(in srgb,#d64545 12%,var(--surface));color:color-mix(in srgb,#d64545 78%,var(--text))}nav .section-link[href="index.php?page=users"].active,nav .section-link[href="index.php?page=audit"].active{background:#d64545;color:#fff;box-shadow:0 5px 14px #d6454545}nav .section-link[href="index.php?page=users"]:not(.active):hover,nav .section-link[href="index.php?page=audit"]:not(.active):hover{background:color-mix(in srgb,#d64545 20%,var(--surface));color:#d64545}
nav .section-link{display:inline-flex;align-items:center;justify-content:center;gap:7px}nav .section-link .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:15px;line-height:1}nav .section-link>span:last-child{display:inline-block;white-space:nowrap}
nav .section-link[href="products.php"]{background:color-mix(in srgb,#d64545 12%,var(--surface));color:color-mix(in srgb,#d64545 78%,var(--text))}nav .section-link[href="products.php"].active{background:#d64545;color:#fff;box-shadow:0 5px 14px #d6454545}nav .section-link[href="products.php"]:not(.active):hover{background:color-mix(in srgb,#d64545 20%,var(--surface));color:#d64545}
.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.field-label-row small{display:inline;color:var(--muted);font-size:10px;font-weight:500;line-height:1.2;text-align:right}@media(max-width:520px){.field-label-row{align-items:flex-start;flex-direction:column;gap:2px}.field-label-row small{text-align:left}}

.login-logo{display:flex;align-items:center;justify-content:center;margin:0 auto 14px;min-height:110px}.login-logo img{display:block;width:min(280px,90%);max-height:150px;object-fit:contain;border:0;background:transparent;filter:drop-shadow(0 8px 16px #08752f38);animation:mexwingsLogoFloat 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.login-logo img{animation:none}}
