/* ============================================================
   NEON SYSTEM STYLES  –  estilos.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@400;600&display=swap');

/* --- VARIABLES --- */
:root {
    --neon-cyan:   #00f5ff;
    --neon-pink:   #ff00e5;
    --neon-green:  #00ff88;
    --neon-yellow: #f5ff00;
    --neon-orange: #ff6600;
    --neon-purple: #bf00ff;
    --neon-teal:   #00ffcc;
    --neon-red:    #ff2255;
    --bg-overlay:  rgba(2, 0, 20, 0.72);
    --card-bg:     rgba(2, 0, 20, 0.78);
    --grid-color:  rgba(0,245,255,0.055);
}

/* --- RESET --- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
a { text-decoration:none; color:inherit; }

/* ============================================================
   FULL-PAGE DOG BACKGROUND
   ============================================================ */
html, body {
    height: 100%;
}

body {
    font-family: 'Rajdhani', sans-serif;
    color: #e0e0ff;
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;

    /* 🐶 dog fills the entire page */
    background-image: url("data:image/jpeg;base64,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");
    background-size:  cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

/* dark + grid overlay so menu stays readable */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        linear-gradient(var(--grid-color) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-color) 1px, transparent 1px),
        var(--bg-overlay);
    background-size: 40px 40px, 40px 40px, 100% 100%;
    animation: gridScroll 25s linear infinite;
    z-index: 0;
    pointer-events: none;
}

/* scanlines */
body::after {
    content: '';
    position: fixed;
    inset: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,0,0,0.05) 2px,
        rgba(0,0,0,0.05) 4px
    );
    pointer-events: none;
    z-index: 1;
}

@keyframes gridScroll {
    from { background-position: 0 0, 0 0, 0 0; }
    to   { background-position: 40px 40px, 40px 40px, 0 0; }
}

/* ============================================================
   WRAPPER
   ============================================================ */
.wrapper {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 16px 50px;
}

/* ============================================================
   HEADER
   ============================================================ */
header {
    text-align: center;
    padding: 10px 20px 6px;
    width: 100%;
}

header h1 {
    font-family: 'Orbitron', monospace;
    font-size: clamp(1.3rem, 3.5vw, 2.4rem);
    font-weight: 900;
    color: #fff;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-shadow:
        0 0 6px  var(--neon-cyan),
        0 0 18px var(--neon-cyan),
        0 0 40px rgba(0,245,255,0.45);
    animation: flicker 7s infinite;
}

.subtitle {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.5em;
    color: var(--neon-pink);
    text-shadow: 0 0 10px var(--neon-pink);
    margin-top: 5px;
    text-transform: uppercase;
}

@keyframes flicker {
    0%,90%,100% { opacity:1; }
    91%          { opacity:.7; }
    92%          { opacity:1; }
    93%          { opacity:.4; }
    94%          { opacity:1; }
}

/* ============================================================
   MENU GRID
   ============================================================ */
.hList.nav {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    list-style: none;
    width: 100%;
    max-width: 1100px;
    margin: 36px auto 0;
    padding: 0;
    border-collapse: unset;
}

/* --- Per-module accent colours --- */
.menu-title-usr     { --accent: var(--neon-cyan);   }
.menu-title-prod    { --accent: var(--neon-green);  }
.menu-title-ctes    { --accent: var(--neon-pink);   }
.menu-title-prov    { --accent: var(--neon-yellow); }
.menu-title-compras { --accent: var(--neon-orange); }
.menu-title-ventas  { --accent: var(--neon-purple); }
.menu-title-exist   { --accent: var(--neon-teal);   }
.menu-title-movtos  { --accent: var(--neon-red);    }

/* --- Card --- */
.hList.nav > li {
    display: block !important;
    position: relative;
    background: var(--card-bg);
    border: 1px solid var(--accent);
    border-radius: 4px;
    overflow: hidden;
    white-space: normal;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow:
        0 0 8px rgba(0,0,0,0.8),
        0 0 18px rgba(0,0,0,0.4),
        inset 0 0 25px rgba(0,0,0,0.25);
    transition: transform .22s ease, box-shadow .22s ease;
}

/* accent line on top */
.hList.nav > li::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

.hList.nav > li:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow:
        0 12px 35px rgba(0,0,0,0.85),
        0 0 28px var(--accent),
        inset 0 0 20px rgba(0,0,0,0.15);
}

/* flash on click */
.hList.nav > li.flash-select {
    animation: cardFlash .65s ease forwards;
}
@keyframes cardFlash {
    0%  { box-shadow: 0 0 8px rgba(0,0,0,0.8); }
    25% { box-shadow: 0 0 0 4px var(--accent), 0 0 50px var(--accent), 0 0 90px var(--accent);
          transform: scale(1.06); }
    65% { box-shadow: 0 0 0 2px var(--accent), 0 0 20px var(--accent); }
    100%{ box-shadow: 0 0 8px rgba(0,0,0,0.8); transform: scale(1); }
}

/* ============================================================
   NEON BUTTON (module title)
   ============================================================ */
.hList.nav > li > a.btn-neon,
.hList.nav > li > a {
    display: block;
    font-family: 'Orbitron', monospace;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 13px 16px 11px;

    /* glass button look */
    color: var(--accent);
    text-shadow:
        0 0 6px  var(--accent),
        0 0 14px var(--accent);
    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.07) 0%,
        rgba(255,255,255,0.02) 100%
    );
    border-bottom: 1px solid rgba(255,255,255,0.07);

    /* neon border glow on the button itself */
    box-shadow:
        inset 0 -2px 0 var(--accent),
        inset 0  0  12px rgba(0,0,0,0.4),
        0 2px 10px rgba(0,0,0,0.5);

    cursor: default;
    pointer-events: none;
    transition: box-shadow .2s;
}

/* ============================================================
   SUB-MENU ITEMS
   ============================================================ */
.hList.nav > li > ul {
    list-style: none;
    padding: 6px 0;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent;
    box-shadow: none;
    width: auto;
}

.hList.nav > li > ul > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.72);
    border-bottom: 1px solid rgba(255,255,255,0.04);
    transition: all .14s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

/* arrow prefix */
.hList.nav > li > ul > li > a::before {
    content: '▸';
    font-size: 0.62rem;
    color: var(--accent);
    opacity: .5;
    flex-shrink: 0;
    transition: opacity .14s, transform .14s;
}

/* hover: neon glow + slide-in arrow */
.hList.nav > li > ul > li > a:hover {
    color: #fff;
    background: rgba(255,255,255,0.06);
    padding-left: 22px;
    text-shadow: 0 0 8px var(--accent);
    border-bottom-color: rgba(255,255,255,0.08);
}
.hList.nav > li > ul > li > a:hover::before {
    opacity: 1;
    transform: translateX(3px);
}
.hList.nav > li > ul > li > a:active {
    background: rgba(255,255,255,0.11);
}

/* ============================================================
   RIPPLE BURST  (JS click effect)
   ============================================================ */
#ripple-container {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999;
}

.ripple-burst {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(0);
    animation: burstAnim .65s ease-out forwards;
    opacity: .9;
}
@keyframes burstAnim {
    0%   { transform: translate(-50%,-50%) scale(0);  opacity: .9; }
    60%  { transform: translate(-50%,-50%) scale(18); opacity: .4; }
    100% { transform: translate(-50%,-50%) scale(30); opacity: 0;  }
}

/* ============================================================
   FORM PAGES  (compatibility with agregar, modificar, etc.)
   ============================================================ */
.group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;
}

.form-container {
    background: rgba(2,0,20,0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 32px 40px;
    border-radius: 4px;
    border: 1px solid var(--neon-cyan);
    box-shadow: 0 0 25px rgba(0,245,255,0.18);
    width: 100%;
    max-width: 420px;
}

.form-container h1,
.form-container h2 {
    font-family: 'Orbitron', monospace;
    color: var(--neon-cyan);
    text-align: center;
    margin-bottom: 26px;
    font-weight: 700;
    text-shadow: 0 0 10px var(--neon-cyan);
}

label {
    display: block;
    margin-bottom: 5px;
    font-weight: 400;
    color: rgba(255,255,255,0.75);
    letter-spacing: .05em;
}
label span {
    color: var(--neon-red);
    font-size: .85em;
    font-style: italic;
}

.form-input {
    width: 100%;
    padding: 11px 14px;
    margin-bottom: 18px;
    background: rgba(0,10,40,0.8);
    border: 1px solid rgba(0,245,255,0.25);
    border-radius: 3px;
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1rem;
    transition: border-color .25s, box-shadow .25s;
}
.form-input:focus {
    border-color: var(--neon-cyan);
    box-shadow: 0 0 0 2px rgba(0,245,255,0.22);
    outline: none;
}

/* neon form buttons */
.form-btn {
    display: block;
    width: 100%;
    padding: 12px 20px;
    border: 1px solid var(--neon-cyan);
    border-radius: 3px;
    background: rgba(0,245,255,0.07);
    color: var(--neon-cyan);
    font-family: 'Orbitron', monospace;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .22s, box-shadow .22s;
    margin-top: 16px;
    box-shadow: inset 0 -2px 0 var(--neon-cyan), 0 0 10px rgba(0,245,255,0.15);
}
.form-btn:hover {
    background: rgba(0,245,255,0.16);
    box-shadow: inset 0 -2px 0 var(--neon-cyan), 0 0 22px rgba(0,245,255,0.35);
}

.btn-update {
    border-color: var(--neon-green);
    color: var(--neon-green);
    background: rgba(0,255,136,0.06);
    box-shadow: inset 0 -2px 0 var(--neon-green), 0 0 10px rgba(0,255,136,0.15);
}
.btn-update:hover {
    background: rgba(0,255,136,0.15);
    box-shadow: inset 0 -2px 0 var(--neon-green), 0 0 22px rgba(0,255,136,0.35);
}

.btn-delete {
    border-color: var(--neon-red);
    color: var(--neon-red);
    background: rgba(255,34,85,0.06);
    box-shadow: inset 0 -2px 0 var(--neon-red), 0 0 10px rgba(255,34,85,0.15);
}
.btn-delete:hover {
    background: rgba(255,34,85,0.15);
    box-shadow: inset 0 -2px 0 var(--neon-red), 0 0 22px rgba(255,34,85,0.35);
}
