:root{--azul-profundo-1:#0f172a;--azul-profundo-2:#1e293b;--dorado:#f59e0b;--purpura:#8b5cf6;--verde-epico:#10b981;--rojo-legendario:#ff4500;--fondo-gradiente:linear-gradient(135deg, var(--azul-profundo-1), var(--azul-profundo-2));--sidebar-mobile-max-height:400px}body{background:var(--fondo-gradiente);color:#fff;min-height:100vh;margin:0;padding:0;font-family:Inter,sans-serif;animation:1s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-container{gap:0;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;align-items:center;padding:20px;display:flex}.sidebar{border-left:2px solid var(--dorado);background-color:#0f172af2;width:500px;padding:20px;overflow-y:auto;box-shadow:-4px 0 20px #00000080}.sidebar h2{border-bottom:2px solid var(--dorado);margin-top:0;margin-bottom:15px;padding-bottom:10px;font-size:1.3em}h1{color:var(--dorado);text-align:center;text-shadow:0 0 10px var(--purpura);width:100%}h2{color:var(--dorado);text-align:center;text-shadow:0 0 10px var(--purpura)}form,section{border:2px solid var(--dorado);background-color:#1e293bcc;border-radius:12px;width:80%;max-width:1200px;margin-bottom:20px;padding:20px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #00000080}form:hover,section:hover{transform:translateY(-5px);box-shadow:0 8px 30px #854dff80}input,select,button{background-color:var(--azul-profundo-1);color:#fff;border:1px solid var(--purpura);border-radius:6px;margin:5px 0;padding:10px;transition:background-color .3s,transform .3s,box-shadow .3s}button:hover{background-color:var(--dorado);color:var(--azul-profundo-1);box-shadow:0 0 15px var(--dorado);transform:scale(1.05)}.btn-danger{background-color:#d32f2f}.btn-danger:hover{background-color:#b71c1c;box-shadow:0 0 15px #ff5252}table{border-collapse:collapse;border-radius:8px;width:100%;margin-top:10px;overflow:hidden}#tabla-asignaciones th:first-child,#tabla-asignaciones td:first-child{width:18%;min-width:150px}#tabla-asignaciones th:nth-child(2),#tabla-asignaciones td:nth-child(2){width:15%}#tabla-asignaciones th:nth-child(3),#tabla-asignaciones td:nth-child(3){width:35%}#tabla-asignaciones th:nth-child(4),#tabla-asignaciones td:nth-child(4){width:12%}#tabla-asignaciones th:nth-child(5),#tabla-asignaciones td:nth-child(5){width:20%}th,td{border:1px solid var(--purpura);text-align:left;padding:12px}th{background-color:var(--azul-profundo-2);color:var(--dorado);text-shadow:0 0 5px var(--verde-epico)}td{background-color:#0f172ab3}.tooltip{cursor:pointer;display:inline-block;position:relative}.tooltip .tooltiptext{visibility:hidden;background-color:var(--azul-profundo-2);color:#fff;text-align:left;z-index:1;opacity:0;border:2px solid var(--verde-epico);border-radius:8px;width:300px;margin-left:-150px;padding:12px;transition:opacity .3s;position:absolute;bottom:125%;left:50%;box-shadow:0 4px 10px #00000080}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}select,ul,table{transition:all .3s}ul:hover,table:hover{transform:scale(1.02)}.filters{flex-wrap:wrap;gap:15px;margin-bottom:15px;display:flex}.filters select{width:auto;box-shadow:0 2px 10px #8b5cf64d}#sistema-loot{animation:2s infinite alternate glow;display:none}@keyframes glow{0%{box-shadow:0 6px 25px #ffd70080}to{box-shadow:0 6px 25px #10b981cc}}.note-input{width:150px;box-shadow:0 2px 8px var(--purpura);border-radius:6px;margin-left:10px}#lista-personajes{margin:0;padding:0;list-style:none}#lista-personajes li{border-bottom:1px solid #8b5cf64d;margin-bottom:8px;padding:12px 8px;font-size:.9em;line-height:1.4;transition:background-color .2s}#lista-personajes li:hover{background-color:#8b5cf61a}#lista-personajes li:last-child{border-bottom:none}#lista-personajes button{margin-top:5px;margin-left:5px;padding:4px 8px;font-size:.75em}#gestion-personajes{box-shadow:none;background-color:#0000;border:none;width:100%;margin-bottom:20px;padding:0}#gestion-personajes:hover{box-shadow:none;transform:none}.roster-sync-note{color:var(--purpura);margin:0 0 10px;font-size:.85em}.roster-sync-note a{color:var(--dorado)}@media (max-width:1024px){.app-container{flex-direction:column}.sidebar{border-left:none;border-bottom:2px solid var(--dorado);width:100%;max-height:var(--sidebar-mobile-max-height);order:-1}.main-content{width:100%}}.back-to-home-wrapper{text-align:right;margin-bottom:10px}.back-to-home{background-color:var(--dorado);color:var(--azul-profundo-1);border-radius:6px;padding:10px 20px;font-weight:700;text-decoration:none;transition:background-color .3s,transform .3s;display:inline-block}.back-to-home:hover{background-color:var(--purpura);color:#fff;transform:scale(1.05)}.password-modal{z-index:9999;background-color:#000c;width:100%;height:100%;animation:.3s fadeIn;display:none;position:fixed;top:0;left:0}.password-modal-content{background:linear-gradient(135deg, var(--azul-profundo-1), var(--azul-profundo-2));border:2px solid var(--dorado);border-radius:12px;min-width:400px;max-width:90%;padding:30px;animation:.3s slideIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 40px #854dff99}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.password-modal h2{color:var(--dorado);text-shadow:0 0 10px var(--purpura);margin-top:0;font-size:1.5em}.password-modal p{color:#e2e8f0;margin:15px 0;font-size:.95em}.password-modal-input{background-color:var(--azul-profundo-1);color:#fff;border:1px solid var(--purpura);box-sizing:border-box;border-radius:6px;width:100%;margin:15px 0;padding:12px;font-size:1em;transition:border-color .3s,box-shadow .3s}.password-modal-input:focus{border-color:var(--dorado);outline:none;box-shadow:0 0 10px #f59e0b4d}.password-modal-buttons{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.password-modal-button{cursor:pointer;border:1px solid;border-radius:6px;padding:10px 20px;font-size:1em;transition:all .3s}.password-modal-button.primary{background-color:var(--dorado);border-color:var(--dorado);color:var(--azul-profundo-1)}.password-modal-button.primary:hover{background-color:#fbbf24;transform:scale(1.05);box-shadow:0 4px 15px #f59e0b66}.password-modal-button.secondary{border-color:var(--purpura);color:#fff;background-color:#0000}.password-modal-button.secondary:hover{background-color:var(--purpura);transform:scale(1.05)}.password-error{color:var(--rojo-legendario);margin-top:10px;font-size:.9em;display:none}.password-modal-hint{color:#94a3b8;font-size:.85em}
