        /* Inter Latin Extended (Magyar Ő, Ű betűkhöz) */
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fonts/inter-ext-400.woff2') format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/static/fonts/inter-ext-500.woff2') format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/static/fonts/inter-ext-600.woff2') format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/static/fonts/inter-ext-700.woff2') format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

        /* Inter Latin (Alap betűkhöz) */
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fonts/inter-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/static/fonts/inter-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/static/fonts/inter-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
        @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/static/fonts/inter-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

        :root {
            --bg-color: #f8fafc;
            --card-bg: #ffffff;
            --text-main: #0f172a;
            --text-muted: #64748b;
            --input-bg: #f1f5f9;
            --input-border: #cbd5e1;
            --border-color: #e2e8f0;
            --primary: #6366f1;
            --primary-hover: #4f46e5;
            --danger: #ef4444;
            --success: #10b981;
            --radius-md: 12px;
            --radius-lg: 16px;
            --shadow-md: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
        }

        body.dark-mode {
            --bg-color: #0f172a;
            --card-bg: #1e293b;
            --text-main: #f8fafc;
            --text-muted: #94a3b8;
            --input-bg: #334155;
            --input-border: #475569;
            --border-color: #334155;
            --shadow-md: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
        }

        body {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            margin: 0;
            background-color: var(--bg-color);
            color: var(--text-main);
            font-family: 'Inter', sans-serif;
            transition: background-color 0.3s, color 0.3s;
        }

        .login-card {
            background: var(--card-bg);
            padding: 40px;
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);
            width: 100%;
            max-width: 380px;
            text-align: center;
            border: 1px solid var(--border-color);
            transition: all 0.3s;
            box-sizing: border-box;
            margin: 20px;
        }

        .login-card h1 { 
            margin-top: 0;
            margin-bottom: 30px; 
            color: var(--text-main); 
            font-size: 2.2em;
            font-weight: 800;
            line-height: 1.2;
        }

        .login-card h1 small {
            font-size: 0.5em;
            color: var(--text-muted);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            display: block;
            margin-top: 5px;
        }

        .form-group { 
            margin-bottom: 20px; 
            text-align: left; 
        }

        .form-group label { 
            display: block; 
            margin-bottom: 8px; 
            font-weight: 600; 
            color: var(--text-main); 
            font-size: 0.95em;
        }

        .form-group input { 
            width: 100%; 
            padding: 14px; 
            background-color: var(--input-bg);
            border: 2px solid var(--input-border); 
            border-radius: var(--radius-md); 
            box-sizing: border-box; 
            font-size: 16px; 
            color: var(--text-main);
            font-family: inherit;
            transition: all 0.2s; 
        }

        .form-group input:focus { 
            border-color: var(--primary); 
            outline: none; 
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2); 
        }

        .btn-login { 
            background-color: var(--primary); 
            color: white; 
            border: none; 
            padding: 16px; 
            width: 100%; 
            border-radius: var(--radius-md); 
            font-size: 16px; 
            font-weight: 700; 
            cursor: pointer; 
            transition: all 0.2s; 
            font-family: inherit;
            box-shadow: 0 4px 6px rgba(99, 102, 241, 0.3);
        }

        .btn-login:hover { 
            background-color: var(--primary-hover); 
            transform: translateY(-2px);
        }

        .error-msg { 
            color: var(--danger); 
            font-weight: 600; 
            margin-bottom: 25px; 
            background: rgba(239, 68, 68, 0.1); 
            padding: 15px; 
            border-radius: var(--radius-md); 
            border: 1px solid rgba(239, 68, 68, 0.2);
            font-size: 0.95em;
        }

        .cf-turnstile {
            display: flex;
            justify-content: center;
            margin-bottom: 20px;
        }

        #cookie-banner {
            position: fixed; 
            bottom: 20px; 
            left: 50%; 
            transform: translateX(-50%); 
            width: 90%; 
            max-width: 800px; 
            background: var(--card-bg); 
            color: var(--text-main); 
            padding: 20px; 
            border-radius: var(--radius-lg); 
            z-index: 10000; 
            box-shadow: 0 10px 25px rgba(0,0,0,0.2); 
            border: 1px solid var(--border-color);
            display: none;
            animation: popIn 0.3s ease-out;
        }

        @keyframes popIn {
            0% { transform: translate(-50%, 20px); opacity: 0; }
            100% { transform: translate(-50%, 0); opacity: 1; }
        }

        #theme-toggle-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            background: var(--card-bg);
            color: var(--text-main);
            border: 2px solid var(--border-color);
            padding: 10px 16px;
            border-radius: 30px;
            cursor: pointer;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            font-weight: 700;
            font-family: inherit;
            font-size: 14px;
            transition: all 0.2s;
        }
        
        #theme-toggle-btn:hover {
            transform: scale(1.05);
        }