
/* =========================================================
   HUPI PLACAS · Identidad Placas Posadas
   Paleta principal: blanco / negro / rojo
   ========================================================= */
:root {
    --hupi-red:#d71920;
    --hupi-red-dark:#ad1117;
    --hupi-black:#111111;
    --hupi-black-soft:#202020;
    --hupi-white:#ffffff;
    --hupi-bg:#f5f5f5;
    --hupi-border:#e1e1e1;
    --hupi-accent:var(--hupi-red);
}

body { font-size:.95rem; background:var(--hupi-bg); }
a { color:var(--hupi-red); }
a:hover { color:var(--hupi-red-dark); }

/* Login */
.hupi-login-bg {
    background:
        radial-gradient(circle at 15% 5%, rgba(215,25,32,.10) 0, rgba(215,25,32,0) 28%),
        linear-gradient(145deg,#ffffff 0,#f6f6f6 60%,#ececec 100%);
}
.hupi-brand-mark {
    width:68px;height:68px;line-height:68px;border-radius:18px;margin:0 auto 14px;
    background:var(--hupi-black);color:var(--hupi-white);font-weight:800;font-size:24px;
    border-bottom:5px solid var(--hupi-red);
    box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.login-box .card.card-outline.card-primary { border-top-color:var(--hupi-red); }

/* Bootstrap/AdminLTE primary => rojo de marca */
.btn-primary { background-color:var(--hupi-red); border-color:var(--hupi-red); }
.btn-primary:hover,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled):active {
    background-color:var(--hupi-red-dark); border-color:var(--hupi-red-dark);
}
.badge-primary { background-color:var(--hupi-red); }
.text-primary { color:var(--hupi-red)!important; }
.card-primary.card-outline { border-top-color:var(--hupi-red); }
.page-item.active .page-link { background-color:var(--hupi-red);border-color:var(--hupi-red); }
.page-link { color:var(--hupi-red); }
.custom-control-input:checked~.custom-control-label::before { border-color:var(--hupi-red);background-color:var(--hupi-red); }

/* Navegación */
.main-sidebar { background:var(--hupi-black)!important; }
.brand-link {
    letter-spacing:.3px;
    background:#090909;
    border-bottom:3px solid var(--hupi-red)!important;
}
.brand-link .brand-text { color:#fff; }
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active:hover {
    background-color:var(--hupi-red)!important;
    color:#fff!important;
    box-shadow:none;
}
.nav-sidebar .nav-link:not(.active):hover { background:rgba(255,255,255,.08); }
.nav-sidebar>.nav-header { color:#a9a9a9; font-size:.72rem; letter-spacing:.08em; }
.main-header.navbar { border-bottom:1px solid var(--hupi-border); }

/* Dashboard: sólo blanco / negro / rojo */
.hupi-stat { border-radius:.35rem; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.hupi-stat-red { background:var(--hupi-red)!important; color:#fff!important; }
.hupi-stat-black { background:var(--hupi-black)!important; color:#fff!important; }
.hupi-stat-white { background:#fff!important; color:var(--hupi-black)!important; border:1px solid var(--hupi-border); }
.hupi-stat-white .icon { color:rgba(0,0,0,.12)!important; }
.hupi-stat-red .icon,.hupi-stat-black .icon { color:rgba(255,255,255,.18)!important; }
.hupi-stat .small-box-footer { background:rgba(0,0,0,.12); color:inherit; }

.table td,.table th { vertical-align:middle; }
.small-box .icon>i { font-size:64px; }
code { color:var(--hupi-red-dark); }

/* Modal retro DOS: mantenemos identidad, sin verde ajeno a la marca */
.hupi-dos {
    background:#050505;color:#fff;border:1px solid var(--hupi-red);
    font-family:Consolas,"Courier New",monospace;
    box-shadow:0 0 25px rgba(215,25,32,.22);
}
.hupi-dos .modal-header { border-bottom:1px solid var(--hupi-red-dark); }
.hupi-dos .text-success,.hupi-dos .close { color:var(--hupi-red)!important; text-shadow:none; }
@keyframes blink { 50% { opacity:0; } }
.blink { animation:blink 1s step-end infinite; color:var(--hupi-red); }

.hupi-product-thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid #dee2e6;background:#fff}
.hupi-no-photo{display:flex;align-items:center;justify-content:center;background:#f4f6f9;color:#adb5bd}
.hupi-product-gallery{height:150px;object-fit:cover;background:#f4f6f9}
.table-warning td{background-color:#fff3f3!important}

/* =========================================================
   Seteos / Branding dinámico
   ========================================================= */
.hupi-sidebar-logo{
    width:34px!important;height:34px!important;object-fit:contain;margin-left:.55rem;margin-right:.55rem;
    border-radius:4px;background:#fff;padding:2px;opacity:1!important;
}
.hupi-login-logo{
    max-width:240px;max-height:110px;width:auto;height:auto;object-fit:contain;margin:0 auto 14px;display:block;
    filter:drop-shadow(0 7px 13px rgba(0,0,0,.15));
}
.hupi-login-card{background:rgba(255,255,255,.96);backdrop-filter:blur(3px)}
.hupi-login-brand{background:rgba(255,255,255,.82);border-radius:14px;padding:14px 12px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.hupi-setting-image-card{border:1px solid var(--hupi-border);border-radius:8px;padding:14px;background:#fff}
.hupi-setting-preview{height:150px;border:1px dashed #c9c9c9;border-radius:7px;background:#f7f7f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hupi-setting-preview img{max-width:92%;max-height:130px;object-fit:contain}
.hupi-setting-preview.is-background{height:190px;background:#202020}
.hupi-setting-preview.is-background img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.hupi-setting-preview.is-report{background:#fff;height:130px}
.hupi-setting-preview.is-report img{max-width:96%;max-height:105px}
.hupi-setting-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa}
.hupi-settings-help dt{color:var(--hupi-black)}
.hupi-settings-help dd{color:#777;margin-bottom:1rem}
