@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap);:root{--bg-primary:#0a0a14;--bg-secondary:#12121e;--bg-card:#1a1a2e;--bg-card-hover:#222238;--bg-input:#0f0f1a;--bg-header:#16162a;--accent-primary:#4361ee;--accent-primary-hover:#3651d4;--accent-success:#00c853;--accent-success-dim:rgba(0,200,83,.15);--accent-warning:#ffab00;--accent-warning-dim:rgba(255,171,0,.15);--accent-danger:#ff1744;--accent-danger-dim:rgba(255,23,68,.15);--accent-info:#00b0ff;--accent-info-dim:rgba(0,176,255,.15);--ems-red:#e63946;--ems-blue:#457b9d;--ems-green:#2a9d8f;--ems-orange:#e76f51;--ems-yellow:#f4a261;--text-primary:#e8e8f0;--text-secondary:#8888a0;--text-muted:#555570;--text-bright:#fff;--border-color:#2a2a40;--border-light:#333350;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow-blue:0 0 20px rgba(67,97,238,.3);--shadow-glow-green:0 0 20px rgba(0,200,83,.3);--shadow-glow-red:0 0 20px rgba(255,23,68,.3);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:50%;--font-main:'Inter' , -apple-system , BlinkMacSystemFont , sans-serif;--font-mono:'JetBrains Mono' , monospace;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{font-family: var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-info)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;font-family: var(--font-main);font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#5a7cff);color:#fff;box-shadow:var(--shadow-glow-blue)}.btn-primary:hover{background:linear-gradient(135deg,#3651d4,#4a6cef);color:#fff}.btn-success{background:linear-gradient(135deg,var(--accent-success),#00e676);color:#0a0a14;box-shadow:var(--shadow-glow-green)}.btn-danger{background:linear-gradient(135deg,var(--accent-danger),#ff5252);color:#fff;box-shadow:var(--shadow-glow-red)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-light)}.btn-sm{padding:.4rem .8rem;font-size:.75rem}.btn-lg{padding:.8rem 2rem;font-size:1rem}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-full)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.form-control{width:100%;padding:.6rem .8rem;font-family: var(--font-main);font-size:.875rem;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.form-control:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(67,97,238,.15)}.form-control::placeholder{color:var(--text-muted)}select.form-control{appearance:none;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ width=\'12\'\ height=\'12\'\ fill=\'%238888a0\'\ viewBox=\'0\ 0\ 16\ 16\'%3E%3Cpath\ d=\'M8\ 11L3\ 6h10z\'/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer}select.form-control option{background-color:#1a1a2e;color:#e0e0e8;padding:8px 12px;font-size:.875rem}select.form-control option:checked{background-color:#4361ee;color:#fff}select.form-control option:hover{background-color:#2a2a42}select.form-control optgroup{background-color:#12121e;color:#8888a0;font-weight:700}textarea.form-control{resize:vertical;min-height:80px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal)}.card:hover{border-color:var(--border-light)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.card-title{font-size:1rem;font-weight:600;color:var(--text-bright)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.badge-success{background:var(--accent-success-dim);color:var(--accent-success)}.badge-danger{background:var(--accent-danger-dim);color:var(--accent-danger)}.badge-warning{background:var(--accent-warning-dim);color:var(--accent-warning)}.badge-info{background:var(--accent-info-dim);color:var(--accent-info)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse}table th{padding:.75rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);text-align:left}table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}table tr:last-child td{border-bottom:none}table tr:hover td{background:var(--bg-card-hover)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center}.modal-overlay.active{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalIn .3s ease}@keyframes modalIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.1rem;font-weight:700;color:var(--text-bright)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-input);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--border-color)}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-md);animation:toastIn .3s ease , toastOut .3s ease 3.7s forwards;min-width:280px}@keyframes toastIn {
    from { opacity: 0; transform: translateX(100px); }
    to { opacity: 1; transform: translateX(0); }
}@keyframes toastOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(100px); }
}.toast-success{background:linear-gradient(135deg,#0a2e1a,#1a3e2a);border-left:3px solid var(--accent-success);color:var(--accent-success)}.toast-error{background:linear-gradient(135deg,#2e0a0a,#3e1a1a);border-left:3px solid var(--accent-danger);color:var(--accent-danger)}.toast-info{background:linear-gradient(135deg,#0a1a2e,#1a2a3e);border-left:3px solid var(--accent-info);color:var(--accent-info)}.avatar{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border-color)}.avatar-sm{width:28px;height:28px}.avatar-lg{width:48px;height:48px}.avatar-xl{width:64px;height:64px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);margin-right:6px}.status-dot.online{background:var(--accent-success);box-shadow:0 0 6px var(--accent-success)}.status-dot.offline{background:var(--text-muted)}.status-dot.busy{background:var(--accent-danger);box-shadow:0 0 6px var(--accent-danger)}.status-dot.warning{background:var(--accent-warning);box-shadow:0 0 6px var(--accent-warning)}.spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin {
    to { transform: rotate(360deg); }
}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-success{color:var(--accent-success)}.text-danger{color:var(--accent-danger)}.text-warning{color:var(--accent-warning)}.text-info{color:var(--accent-info)}.d-flex{display:flex}.d-grid{display:grid}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.w-100{width:100%}.hidden{display:none!important}.landing-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-primary)}.landing-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.landing-bg::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(67,97,238,.08) 0%,transparent 50%) , radial-gradient(ellipse at 80% 50%,rgba(230,57,70,.06) 0%,transparent 50%) , radial-gradient(ellipse at 50% 80%,rgba(0,200,83,.05) 0%,transparent 50%);animation:bgPulse 15s ease-in-out infinite alternate}@keyframes bgPulse {
    0% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(-2%, 2%) rotate(1deg); }
    100% { transform: translate(2%, -1%) rotate(-1deg); }
}.landing-bg::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(67,97,238,.03) 1px,transparent 1px) , linear-gradient(90deg,rgba(67,97,238,.03) 1px,transparent 1px);background-size:60px 60px}.particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.particle{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent-primary);opacity:.3;animation:particleFloat linear infinite}@keyframes particleFloat {
    0% { transform: translateY(100vh) scale(0); opacity: 0; }
    10% { opacity: 0.3; }
    90% { opacity: 0.3; }
    100% { transform: translateY(-10vh) scale(1); opacity: 0; }
}.particle:nth-child(1) {left:10%;animation-duration:12s;animation-delay:0s;width:3px;height:3px}.particle:nth-child(2) {left:25%;animation-duration:15s;animation-delay:2s;width:5px;height:5px;background:var(--ems-red)}.particle:nth-child(3) {left:40%;animation-duration:10s;animation-delay:4s}.particle:nth-child(4) {left:55%;animation-duration:18s;animation-delay:1s;width:6px;height:6px;background:var(--accent-success)}.particle:nth-child(5) {left:70%;animation-duration:14s;animation-delay:3s;width:3px;height:3px}.particle:nth-child(6) {left:85%;animation-duration:16s;animation-delay:5s;width:4px;height:4px;background:var(--ems-blue)}.particle:nth-child(7) {left:15%;animation-duration:11s;animation-delay:6s}.particle:nth-child(8) {left:60%;animation-duration:13s;animation-delay:7s;width:5px;height:5px;background:var(--ems-orange)}.landing-content{position:relative;z-index:1;text-align:center;padding:var(--spacing-2xl);max-width:900px;width:100%}.landing-logo{margin-bottom:var(--spacing-xl);animation:fadeInDown .8s ease-out}@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-30px); }
    to { opacity: 1; transform: translateY(0); }
}.landing-logo .logo-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);position:relative}.logo-cross{width:80px;height:80px;position:relative;display:inline-block}.logo-cross::before,.logo-cross::after{content:'';position:absolute;background:linear-gradient(135deg,var(--ems-red),#ff4757);border-radius:6px}.logo-cross::before{top:50%;left:10%;width:80%;height:24%;transform:translateY(-50%)}.logo-cross::after{left:50%;top:10%;width:24%;height:80%;transform:translateX(-50%)}.logo-cross-ring{position:absolute;top:-4px;left:-4px;width:88px;height:88px;border:2px solid rgba(230,57,70,.3);border-radius:50%;animation:ringPulse 3s ease-in-out infinite}@keyframes ringPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 1; }
}.landing-title{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--text-bright),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.landing-subtitle{font-size:1.1rem;color:var(--text-secondary);font-weight:400;max-width:500px;margin:0 auto}.login-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-2xl);animation:fadeInUp .8s ease-out .3s both}@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}.login-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;color:inherit;position:relative;overflow:hidden}.login-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;transition:height var(--transition-normal)}.login-card.VitaTab::before{background:linear-gradient(90deg,var(--accent-success),var(--ems-green))}.login-card.admin::before{background:linear-gradient(90deg,var(--accent-primary),var(--accent-info))}.login-card:hover{transform:translateY(-8px);border-color:var(--border-light);box-shadow:var(--shadow-lg)}.login-card.VitaTab:hover{box-shadow:0 12px 40px rgba(0,200,83,.15);border-color:rgba(0,200,83,.3)}.login-card.admin:hover{box-shadow:0 12px 40px rgba(67,97,238,.15);border-color:rgba(67,97,238,.3)}.login-card:hover::before{height:4px}.login-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:1.8rem}.login-card.VitaTab .login-card-icon{background:var(--accent-success-dim);color:var(--accent-success)}.login-card.admin .login-card-icon{background:var(--accent-info-dim);color:var(--accent-info)}.login-card-title{font-size:1.25rem;font-weight:700;color:var(--text-bright);margin-bottom:var(--spacing-sm)}.login-card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-lg)}.login-card-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;transition:all var(--transition-normal)}.login-card.VitaTab .login-card-btn{background:linear-gradient(135deg,var(--accent-success),#00e676);color:#0a0a14}.login-card.admin .login-card-btn{background:linear-gradient(135deg,var(--accent-primary),#5a7cff);color:#fff}.login-card:hover .login-card-btn{transform:scale(1.05)}.discord-icon{width:20px;height:20px;fill:currentColor}.landing-footer{position:fixed;bottom:0;left:0;width:100%;padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:.75rem;z-index:1}@media (max-width:768px){.landing-title{font-size:2rem}.login-buttons{grid-template-columns:1fr;gap:var(--spacing-lg)}.landing-content{padding:var(--spacing-lg)}}