

/* === Admin Login Inline Styles (migrated) === */
*,::before,::after{box-sizing:border-box;margin:0;padding:0}
        html{font-size:var(--font-size-base);color-scheme:light dark}
        body{font-family:var(--font-family-ui);background-color:var(--bg-color);color:var(--text-color-primary);line-height:var(--line-height-base);transition:background var(--transition-speed) ease,background-color var(--transition-speed) ease,color var(--transition-speed) ease;padding-top:80px;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;min-height:100vh}
        body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;background:var(--bg-gradient);animation:gradientShift 20s ease infinite}
        @keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
        body::after{content:'';position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.02) 2px,rgba(0,0,0,0.02) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,0.02) 2px,rgba(0,0,0,0.02) 4px);background-size:20px 20px,20px 20px;mix-blend-mode:normal;opacity:0.3;animation:patternMove 30s linear infinite}
        @keyframes patternMove{0%{background-position:0 0,0 0}100%{background-position:20px 20px,20px 20px}}
        html.dark-theme body::before{background:var(--bg-gradient);opacity:1;animation:gradientShift 20s ease infinite}
        html.dark-theme body::after{background-image:radial-gradient(ellipse 50% 30% at 30% 20%,rgba(0,212,255,0.08),transparent 60%),radial-gradient(ellipse 50% 30% at 70% 80%,rgba(0,212,255,0.06),transparent 60%),repeating-linear-gradient(45deg,transparent,transparent 1px,rgba(0,212,255,0.02) 1px,rgba(0,212,255,0.02) 2px),repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,0.01) 3px,rgba(255,255,255,0.01) 6px);background-size:100% 100%,100% 100%,40px 40px,20px 20px;mix-blend-mode:normal;opacity:0.4;animation:patternMove 30s linear infinite,particleFloat 25s ease-in-out infinite}
        @keyframes particleFloat{0%,100%{background-position:0% 0%,0% 0%,0 0,0 0}50%{background-position:10% 10%,-10% -10%,20px 20px,10px 10px}}
    a{color:var(--link-color);text-decoration:none;transition:color var(--transition-speed) ease}
        a:hover{color:var(--link-hover-color)}
        img{max-width:100%;height:auto;display:block;background-color:var(--placeholder-bg)}
        button{font-family:inherit;font-size:inherit;cursor:pointer;background:none;border:none;color:inherit;padding:0}
        .admin-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:var(--header-bg-color);border-bottom:0.5px solid var(--border-color-light);box-shadow:0 4px 16px var(--shadow-color),inset 0 1px 0 rgba(255,255,255,0.3),inset 0 -1px 0 rgba(0,0,0,0.1);padding:0.75rem 2rem;transition:all var(--transition-speed) ease;backdrop-filter:saturate(180%) blur(var(--backdrop-blur));-webkit-backdrop-filter:saturate(180%) blur(var(--backdrop-blur));transform:translateZ(0)}
        html.dark-theme .admin-header{border-bottom:0.5px solid var(--border-color-light);box-shadow:0 4px 20px rgba(0,0,0,0.5),inset 0 1px 0 rgba(0,212,255,0.15),inset 0 -1px 0 rgba(0,0,0,0.3)}
        html.dark-theme .admin-header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--accent-cyan) 50%,transparent 100%);opacity:0.6}
        .header-left{display:flex;align-items:center;gap:1rem}
        .header-logo-title{font-size:.9rem;font-weight:600;color:var(--text-color-secondary)}
        .header-logo-title a{color:inherit;text-decoration:none}
        .login-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:2rem 1rem;position:relative}
        .login-card{max-width:420px;width:100%;background:var(--card-bg-color);border-radius:var(--border-radius);border:0.5px solid var(--border-color-light);box-shadow:0 8px 32px var(--shadow-color),0 4px 16px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.1);position:relative;overflow:hidden;padding:2.5rem 2rem;backdrop-filter:saturate(180%) blur(var(--backdrop-blur));-webkit-backdrop-filter:saturate(180%) blur(var(--backdrop-blur))}
        .login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-cyan) 50%,transparent 100%);opacity:0.8}
        html.dark-theme .login-card{box-shadow:0 8px 32px rgba(0,0,0,0.6),0 4px 16px rgba(0,0,0,0.4),inset 0 1px 0 rgba(0,212,255,0.2),inset 0 -1px 0 rgba(0,0,0,0.3)}
        .login-logo{width:80px;height:80px;margin:0 auto 1.5rem;display:block;animation:vinylSpin 8s linear infinite;transition:animation-play-state 0.3s ease;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,0.2)}
        .login-logo:hover{animation-play-state:paused}
        @keyframes vinylSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
        .login-title{font-size:1.75rem;font-weight:600;color:var(--text-color-primary);margin:0 0 0.5rem 0;letter-spacing:-0.02em;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:0.75rem;text-align:center}
        .login-title::before{content:'';width:4px;height:24px;background:linear-gradient(180deg,var(--accent-cyan) 0%,var(--link-hover-color) 100%);border-radius:2px;flex-shrink:0}
        .login-subtitle{font-size:var(--font-size-sm);color:var(--text-color-secondary);margin:0 0 2rem 0;line-height:1.5}
        .form-group{margin-bottom:1.5rem}
        .form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-color-primary);margin-bottom:0.5rem}
        .form-group input[type="email"],.form-group input[type="password"]{width:100%;padding:0.75rem 1rem;font-size:var(--font-size-base);color:var(--text-color-primary);background:var(--input-bg-color);border:0.5px solid var(--border-color-medium);border-radius:var(--border-radius);transition:all var(--transition-speed) ease;font-family:var(--font-family-ui)}
        .form-group input:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 3px var(--focus-ring-color)}
        .form-group input::placeholder{color:var(--text-color-placeholder)}
        .form-check{display:flex;align-items:center;margin-bottom:1.5rem;gap:0.5rem}
        .form-check-input{appearance:none;width:18px;height:18px;border:0.5px solid var(--border-color-medium);border-radius:4px;background:var(--input-bg-color);cursor:pointer;position:relative;flex-shrink:0;transition:all var(--transition-speed) ease}
        .form-check-input:checked{background:var(--link-color);border-color:var(--link-color)}
        .form-check-input:checked::after{content:'';position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(45deg);width:5px;height:10px;border:solid var(--button-text-color);border-width:0 2px 2px 0}
        .form-check-label{font-size:var(--font-size-sm);color:var(--text-color-secondary);cursor:pointer;user-select:none}
        .btn-submit{width:100%;padding:0.75rem 1.5rem;background:linear-gradient(135deg,var(--accent-cyan) 0%,var(--link-hover-color) 100%);color:var(--button-text-color);border:none;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-speed) ease;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,212,255,0.15),inset 0 1px 0 rgba(255,255,255,0.3),inset 0 -1px 0 rgba(0,0,0,0.1)}
        .btn-submit::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);transition:left 0.6s cubic-bezier(0.4,0,0.2,1)}
        .btn-submit:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px rgba(0,212,255,0.2),inset 0 1px 0 rgba(255,255,255,0.4)}
        .btn-submit:hover::before{left:100%}
        html.dark-theme .btn-submit{box-shadow:0 2px 8px rgba(0,212,255,0.2),inset 0 1px 0 rgba(255,255,255,0.3),inset 0 -1px 0 rgba(0,0,0,0.2)}
        html.dark-theme .btn-submit:hover{box-shadow:0 4px 12px rgba(0,212,255,0.25),inset 0 1px 0 rgba(255,255,255,0.4)}
        .alert{display:flex;align-items:flex-start;gap:0.8rem;padding:0.8rem 1rem;margin-bottom:1.5rem;border-radius:var(--border-radius);border:0.5px solid transparent;font-size:var(--font-size-sm);position:relative;overflow:hidden}
        @supports (backdrop-filter:blur(20px)){.alert{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}}
        .alert i{font-size:1.1rem;line-height:1.6;flex-shrink:0}
        .alert-danger{background:rgba(255,59,48,0.1);color:#ff3b30;border-color:rgba(255,59,48,0.2)}
        html.dark-theme .alert-danger{background:linear-gradient(135deg,rgba(255,107,107,0.15) 0%,rgba(255,107,107,0.08) 100%);color:#ff8787;border-color:rgba(255,107,107,0.3);box-shadow:0 4px 16px rgba(255,107,107,0.15),inset 0 1px 0 rgba(255,107,107,0.2)}
        html.dark-theme .alert-danger::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,107,107,0.6) 50%,transparent 100%)}
        .error-message{color:var(--status-inactive-color);font-size:var(--font-size-sm);margin-top:0.5rem;display:block}
        html.dark-theme .error-message{color:#ff8787}
        .theme-toggle{position:fixed;bottom:20px;right:20px;width:44px;height:44px;border-radius:22px;cursor:pointer;background:var(--card-bg-color);border:0.5px solid var(--border-color-medium);color:var(--text-color-secondary);font-size:var(--font-size-base);box-shadow:0 2px 12px var(--shadow-color);display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed) ease;z-index:1010}
        @supports (backdrop-filter:blur(20px)){.theme-toggle{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}}
        .theme-toggle:hover{background:var(--input-bg-color);box-shadow:0 4px 16px var(--shadow-hover-color);transform:translateY(-2px) scale(1.05)}
        .theme-toggle .fa-sun{display:none}
        html.dark-theme .theme-toggle .fa-sun{display:inline-block}
        html.dark-theme .theme-toggle .fa-moon{display:none}
        html.dark-theme .theme-toggle{background:rgba(24,24,30,0.9);border:0.5px solid rgba(90,200,250,0.2);box-shadow:0 4px 16px rgba(0,0,0,0.6),0 0 24px rgba(90,200,250,0.15)}
        html.dark-theme .theme-toggle:hover{background:rgba(32,32,38,0.95);border-color:rgba(90,200,250,0.4);box-shadow:0 6px 24px rgba(0,0,0,0.7),0 0 32px rgba(90,200,250,0.25);transform:translateY(-2px) scale(1.05)}
        .admin-footer{padding:1.5rem 2rem;margin-top:2.5rem;text-align:center;font-size:var(--font-size-xs);color:var(--text-color-secondary);border-top:0.5px solid var(--border-color-light);line-height:1.4}
        .admin-footer p{margin:0}
        .admin-footer span{margin:0 .5em}
        @media (max-width:768px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}}
