:root{--bg:#040b22;--panel:#0a1739;--panel-2:#0f1f4d;--primary:#4fd8ff;--secondary:#f4ad19;--secondary-dark:#da970d;--white:#ffffff;--text:#d8e8ff;--muted:#9db4d8;--line:rgba(126,173,255,.18);--success:#25d366;--shadow:0 20px 40px rgba(0,0,0,.35);--max:1180px}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Montserrat',sans-serif;background:radial-gradient(circle at 20% 10%,rgba(79,216,255,.08),transparent 22%),radial-gradient(circle at 80% 30%,rgba(244,173,25,.08),transparent 18%),linear-gradient(180deg,#020816 0%,#040b22 42%,#05102b 100%);color:var(--text);overflow-x:hidden;min-height:100vh}a{text-decoration:none;color:inherit}.container{width:min(var(--max),92%);margin:0 auto;position:relative;z-index:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;cursor:pointer;border-radius:14px;font-weight:800;transition:.25s ease;padding:15px 24px;font-size:14px;letter-spacing:.3px;font-family:'Montserrat',sans-serif;text-align:center;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--secondary),#ffbe30);color:#18224c;box-shadow:0 14px 28px rgba(244,173,25,.25)}.btn-primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ffbf31,var(--secondary-dark))}.btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.18)}.btn-outline:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}.network{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.6}.dot,.line{position:absolute}.dot{width:8px;height:8px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 10px #ff7a1a,0 0 18px rgba(255,122,26,.6)}.line{height:1px;background:linear-gradient(90deg,rgba(79,216,255,0),rgba(79,216,255,.9),rgba(79,216,255,0));box-shadow:0 0 12px rgba(79,216,255,.2);transform-origin:left center}.topbar{border-bottom:1px solid var(--line);background:rgba(2,8,22,.7);backdrop-filter:blur(10px)}.topbar-wrap{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted);flex-wrap:wrap;padding:8px 0}.topbar-items{display:flex;gap:18px;flex-wrap:wrap;align-items:center}header{position:sticky;top:0;z-index:100;background:rgba(4,11,34,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;flex-wrap:wrap;padding:16px 0}.brand-logo,.footer-brand{font-size:1.9rem;line-height:1;font-weight:900;letter-spacing:1px;text-transform:uppercase}.brand-logo .mega,.footer-brand .mega{color:var(--secondary)}.brand-logo .link,.footer-brand .link{color:#95a7ff}.nav-links{list-style:none;display:flex;align-items:center;gap:26px}.nav-links a{color:#dce9ff;font-size:14px;font-weight:700}.nav-actions{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;background:transparent;border:none;color:var(--white);font-size:28px;cursor:pointer;margin-left:auto}.login-section{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center;padding:70px 0}.login-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch;width:100%;max-width:1080px}.login-info,.login-card{background:linear-gradient(180deg,rgba(12,27,64,.92),rgba(8,18,48,.95));border:1px solid rgba(126,173,255,.18);border-radius:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.login-info{padding:38px;display:flex;flex-direction:column;justify-content:center;gap:18px}.login-info::before,.login-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(79,216,255,.12),transparent 30%),radial-gradient(circle at bottom left,rgba(244,173,25,.10),transparent 24%);pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 14px;border-radius:999px;background:rgba(79,216,255,.10);border:1px solid rgba(79,216,255,.18);color:#bfefff;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.login-info h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;color:var(--white);max-width:520px}.login-info p{color:var(--muted);font-size:1rem;line-height:1.8;max-width:540px}.feature-list{display:grid;gap:12px;margin-top:8px}.feature-item{display:flex;align-items:flex-start;gap:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.feature-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(79,216,255,.12);color:var(--primary);font-size:18px;flex-shrink:0}.feature-text strong{display:block;color:var(--white);font-size:.95rem;margin-bottom:4px}.feature-text span{color:var(--muted);font-size:.9rem;line-height:1.55}.login-card{padding:34px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:1.7rem;color:var(--white);text-align:center;margin-bottom:10px;position:relative;z-index:2}.login-card p{text-align:center;color:var(--muted);line-height:1.7;margin-bottom:24px;position:relative;z-index:2}.form{display:grid;gap:16px;position:relative;z-index:2}.field{display:grid;gap:8px}.field label{font-size:.92rem;font-weight:700;color:#d9e7ff}.input-wrap{position:relative}.field input{width:100%;border:1px solid rgba(152,182,235,.16);background:rgba(255,255,255,.04);color:var(--white);border-radius:14px;padding:15px 46px 15px 15px;font-size:15px;outline:none;transition:.22s ease;font-family:'Montserrat',sans-serif}.field input:focus{border-color:rgba(79,216,255,.45);box-shadow:0 0 0 4px rgba(79,216,255,.09)}.field input::placeholder{color:#8ea9cf}.field-icon,.toggle-pass{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#8fb4e3;font-size:16px;user-select:none}.toggle-pass{background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--muted)}.check input{accent-color:var(--secondary);width:16px;height:16px}.form-row .link{font-size:.9rem;font-weight:700;color:#9fdfff}.form-row .link:hover{color:#d4f3ff}.form-actions{display:grid;gap:12px;margin-top:6px}.btn-block{width:100%}.security-note{margin-top:20px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--muted);font-size:.88rem;line-height:1.65;text-align:center;position:relative;z-index:2}footer{padding:28px 0 38px;border-top:1px solid var(--line);background:rgba(2,8,22,.55)}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-wrap p{color:var(--muted);font-size:.9rem}.floating-wa{position:fixed;right:18px;bottom:18px;width:64px;height:64px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 30px rgba(46,219,99,.34);z-index:110;transition:.2s ease}.floating-wa:hover{transform:scale(1.06)}.floating-wa svg{width:34px;height:34px;fill:#fff}
/* Ajustes funcionales y panel: conservan el tema del formulario original. */
.login-error{position:relative;z-index:2;padding:14px;margin-bottom:18px;border:1px solid #eb7788;background:#5f183b66;color:#ffccd4;border-radius:12px;font-size:13px;line-height:1.6}.btn:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.dashboard{padding:45px 0 65px;min-height:70vh}.dash-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.dash-heading h1{font-size:clamp(1.6rem,3vw,2.4rem);margin:12px 0}.dash-heading p{color:var(--muted);line-height:1.7}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-bottom:26px}.dash-box{padding:24px;background:linear-gradient(180deg,rgba(12,27,64,.92),rgba(8,18,48,.95));border:1px solid var(--line);border-radius:20px}.dash-box h2{font-size:1.15rem;margin-bottom:14px;color:white}.dash-box p{font-size:.9rem;line-height:1.7;color:var(--muted);margin:7px 0}.dash-box strong{color:var(--white)}.status{display:inline-block;background:#4fd8ff16;border:1px solid var(--line);color:var(--primary);padding:7px 12px;border-radius:20px;font-size:12px}.dash-title{font-size:1.4rem;color:white;margin:25px 0 18px}.invoice-table{overflow-x:auto}.invoice-table table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.invoice-table th,.invoice-table td{padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.invoice-table th{color:var(--muted)}.invoice-table td a{color:var(--primary);font-weight:700}.filters,.pager{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.filters select{padding:12px;border-radius:10px;background:var(--panel);color:white;border:1px solid var(--line);font:inherit}.pager{justify-content:space-between;font-size:13px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:25px}.detail-list dt{font-size:12px;color:var(--muted);margin-bottom:8px}.detail-list dd{font-weight:700}.empty{padding:28px 0;line-height:1.8;color:var(--muted)}
@media(max-width:980px){.login-grid{grid-template-columns:1fr}}@media(max-width:860px){.menu-toggle{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;background:rgba(4,11,34,.98);border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:20px;display:none;gap:18px;z-index:120}.nav-links.active{display:flex}.nav-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.nav-actions .btn{display:flex;width:100%;padding:13px 14px;font-size:13px}}@media(max-width:640px){.brand-logo,.footer-brand{font-size:1.55rem}.login-section{padding:40px 0 60px}.login-info,.login-card{padding:22px}.nav{min-height:auto;padding:14px 0}.nav-actions{grid-template-columns:1fr}.topbar-wrap,.topbar-items{justify-content:center;text-align:center}.form-row{flex-direction:column;align-items:flex-start}.dash-box{padding:19px}.detail-list{grid-template-columns:1fr}.floating-wa{width:54px;height:54px}.footer-wrap{padding-right:50px}.dashboard{padding-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
