*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}body{background:#000;overflow:hidden}#bg-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.portada{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:20px}.logos-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:25px;margin-bottom:10px}.logo{width:200px;margin-bottom:10px;filter:drop-shadow(0 0 10px gold)}.logo1{width:200px;margin-bottom:10px;filter:drop-shadow(0 0 10px gold);opacity:.85;transform:translateY(4px)}.portada h1{font-size:36px;margin-bottom:10px;color:gold}.desc{color:#ccc;max-width:350px;margin-bottom:40px;line-height:1.5}.btn-ingresar{background:linear-gradient(90deg,gold,#b8860b);border:none;padding:14px 45px;font-size:18px;color:#000;border-radius:50px;cursor:pointer;box-shadow:0 0 20px #ffd70080;position:relative;overflow:hidden;transition:transform .2s}.btn-ingresar:hover{transform:scale(1.05)}.btn-ingresar:after{content:"";position:absolute;top:0;left:-100%;height:100%;width:200%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.6),transparent);animation:shine 2.5s infinite}@keyframes shine{0%{left:-100%}to{left:100%}}.side-icon{position:fixed;width:90px;opacity:.35;filter:drop-shadow(0 0 10px gold);z-index:1;border-radius:18px;padding:6px;background:#ffd7000f;animation:pulse 3s ease-in-out infinite,swivel 8s ease-in-out infinite,borderGlow 6s linear infinite}.left-icon{left:15px;bottom:20%;animation:floatUp 4s ease-in-out infinite,pulse 3s ease-in-out infinite,swivel 8s ease-in-out infinite,borderGlow 6s linear infinite}.right-icon{right:15px;top:20%;animation:floatDown 4s ease-in-out infinite,pulse 3s ease-in-out infinite,swivel 8s ease-in-out infinite,borderGlow 6s linear infinite}@keyframes floatUp{0%{transform:translateY(15px)}50%{transform:translateY(-15px)}to{transform:translateY(15px)}}@keyframes floatDown{0%{transform:translateY(-15px)}50%{transform:translateY(15px)}to{transform:translateY(-15px)}}@keyframes pulse{0%{filter:drop-shadow(0 0 4px #ffd700);opacity:.25}50%{filter:drop-shadow(0 0 12px #ffea7d);opacity:.45}to{filter:drop-shadow(0 0 4px #ffd700);opacity:.25}}@keyframes swivel{0%{transform:rotateY(0)}50%{transform:rotateY(12deg)}to{transform:rotateY(0)}}@keyframes borderGlow{0%{box-shadow:0 0 #ffd70000,inset 0 0 #ffd70000}50%{box-shadow:0 0 16px #ffd70099,inset 0 0 6px #ffd70066}to{box-shadow:0 0 #ffd70000,inset 0 0 #ffd70000}}.icon-row{display:flex;gap:35px;justify-content:center;align-items:center;margin-bottom:28px}.mid-icon{width:70px;opacity:.7;transition:transform .4s ease,opacity .4s ease,filter .4s ease;filter:drop-shadow(0 0 10px gold)}.mid-icon:hover{transform:translateY(-10px) scale(1.08) rotate(4deg);opacity:1;filter:drop-shadow(0 0 15px #ffd700)}.zoom-exit{animation:zoomOut .35s ease forwards}@keyframes zoomOut{0%{transform:scale(1);opacity:1}to{transform:scale(1.25);opacity:0}}.fadeIn{animation:fadeIn .4s forwards}.fadeOut{animation:fadeOut .4s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.switch span{color:gold;cursor:pointer;font-weight:700}.btn-back{position:absolute;top:20px;left:20px;background:#ffd70040;padding:10px 18px;border-radius:8px;border:1px solid rgba(255,215,0,.5);color:gold;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .2s ease;z-index:2}.btn-back:hover{transform:scale(1.07)}#ambient-light{position:fixed;width:100%;height:100%;top:0;left:0;overflow:hidden;z-index:-2}.light-orb{position:absolute;width:450px;height:450px;border-radius:50%;filter:blur(120px);opacity:.6}@keyframes pulse-slow{0%{opacity:.4}50%{opacity:.15}to{opacity:.4}}.animate-pulse-slow{animation:pulse-slow 6s ease-in-out infinite}#bg-login{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.card-glass{width:90%;max-width:420px;padding:30px;margin:40px auto;max-height:80vh;overflow-y:auto;background:#1414148c;border-radius:18px;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 25px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}.card-glass input,.card-glass select{width:100%;padding:12px;margin-top:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;outline:none;transition:.25s ease}.card-glass input:focus,.card-glass select:focus{background:#ffffff21;border-color:gold;box-shadow:0 0 8px gold}.btn-primary{width:100%;padding:13px;margin-top:16px;margin-bottom:19px;background:#000000b3;border:1px solid gold;color:gold;font-weight:700;border-radius:14px;cursor:pointer;position:relative;overflow:hidden;transition:.22s ease}.btn-primary:hover{background:#141414e6;transform:scale(1.03)}.card-glass select{background:#000000a6!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)}.card-glass select option{background:#000!important;color:#fff!important}.card-glass select option:checked{background:#333!important;color:#fff!important}.card-glass label{margin-top:18px;display:block}.card-glass input{margin-bottom:6px}.titulo{margin-bottom:25px!important}.btn-primary:after{content:"";position:absolute;top:0;left:-120%;width:200%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);animation:shineButton 2.8s infinite}@keyframes shineButton{0%{left:-120%}to{left:120%}}.auth-body{overflow:hidden;position:relative}.auth-body .btn-back{position:fixed;top:20px;left:20px;z-index:20}.btn-install{background:#ffd700d9!important;color:#000!important;font-weight:700;border:1px solid rgba(255,215,0,.6);box-shadow:0 0 18px #ffd70073}#installAppBtn{position:fixed;bottom:22px;right:22px;z-index:50;padding:14px 22px;border-radius:14px;background:linear-gradient(135deg,gold,#b8860b);color:#000;font-weight:700;border:none;box-shadow:0 0 22px #ffd70099;cursor:pointer;animation:pulseInstall 2.8s infinite}@keyframes pulseInstall{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}:root{--bg:#08060a;--glass: rgba(255,255,255,.06);--glass-2: rgba(255,255,255,.04);--accent1: linear-gradient(90deg,#7f00ff,#b300ff);--gold: #ffd700;--muted:#a9a9b0}.panel-body{min-height:100vh;margin:0;font-family:Poppins,sans-serif;background:var(--bg);color:#fff;-webkit-font-smoothing:antialiased}.wrap{max-width:1200px;margin:24px auto;padding:18px;display:grid;grid-template-columns:1fr;gap:18px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-radius:16px;background:linear-gradient(180deg,#7f00ff24,#b300ff0f);box-shadow:0 10px 50px #7f00ff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:56px;height:56px;border-radius:12px;filter:drop-shadow(0 6px 18px rgba(127,0,255,.25))}.brand h1{font-size:18px;margin:0}.controls{display:flex;gap:10px;align-items:center}.btn{background:var(--glass);border:1px solid rgba(255,255,255,.08);padding:10px 16px;border-radius:12px;color:#fff;cursor:pointer;font-size:13px;transition:.25s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent1);border:none;box-shadow:0 8px 30px #7f00ff40}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.1)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat{background:var(--glass);padding:18px;border-radius:16px;display:flex;flex-direction:column;gap:6px}.stat small{color:var(--muted);font-size:12px}.stat .value{font-size:22px;font-weight:700;color:#fff}.panel{display:grid;grid-template-columns:360px 1fr;gap:18px}.left{position:relative}.panel-card{background:var(--glass-2);padding:16px;border-radius:16px;box-shadow:0 12px 40px #0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.search-row{display:flex;gap:8px;margin-bottom:12px}.search-row input{flex:1;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff}.filters{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:8px;align-items:center}label.small{font-size:12px;color:var(--muted);min-width:80px}select,input[type=date],input[type=search],.select,.select2{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#fff;width:100%}.roles-tabs{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.role-chip{padding:8px 10px;border-radius:10px;background:#ffffff05;cursor:pointer;border:1px solid rgba(255,255,255,.02);font-size:13px}.role-chip.active{background:linear-gradient(90deg,#7f00ff,#b300ff);box-shadow:0 8px 24px #7f00ff14}.list-table{margin-top:12px;max-height:420px;overflow:auto}table{width:100%;border-collapse:collapse;color:#fff}th,td{padding:10px;border-bottom:1px solid rgba(255,255,255,.04);text-align:left;font-size:14px}th{background:transparent;color:var(--muted);font-size:12px}.right{display:flex;flex-direction:column;gap:14px}.canvas-wrap{background:var(--glass);padding:12px;border-radius:12px}.big-table{background:var(--glass-2);padding:12px;border-radius:12px;overflow:auto}.table-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.small-muted{color:var(--muted);font-size:13px}.modal-back{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999;display:none}.modal{width:92%;max-width:900px;background:#0a0a0cf2;padding:16px;border-radius:12px;box-shadow:0 20px 80px #000000b3;border:1px solid rgba(255,255,255,.03)}.modal .row-flex{display:flex;gap:12px;align-items:center}.close-btn{background:transparent;border:1px solid rgba(255,255,255,.06);padding:8px;border-radius:10px;cursor:pointer;color:#fff}@media(max-width:980px){.panel{grid-template-columns:1fr}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border-radius:8px}.photo-box{border:2px dashed #bbb;padding:25px;text-align:center;border-radius:12px;cursor:pointer;transition:.2s}.photo-box:hover{border-color:gold;background:#ffffff0d}.photo-box img{width:120px;height:120px;object-fit:cover;border-radius:50%;display:none;margin:auto}
