:root {

    --primary-green: #2E8B57;

    --dark-green: #1b5e3a;

    --light-bg: #f0f8f5;

    --glass-bg: rgba(255, 255, 255, 0.85); /* Kicsit kevÃ©sbÃ© Ã¡tlÃ¡tszÃ³ mobilon a jobb olvashatÃ³sÃ¡gÃ©rt */

    --glass-border: rgba(255, 255, 255, 0.6);

    --shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);

}



html, body { height: 100%; margin: 0; }

body {

    background: linear-gradient(135deg, #e0f2f1 0%, #a5d6a7 100%);

    background-attachment: fixed;

    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    display: flex; flex-direction: column;

}



.main-wrapper { flex: 1 0 auto; width: 100%; }



.glass-card {

    background: var(--glass-bg);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    border-radius: 16px;

    border: 1px solid var(--glass-border);

    box-shadow: var(--shadow);

}



.btn-primary-custom {

    background-color: var(--primary-green);

    border: none;

    color: white;

    transition: all 0.3s;

}

.btn-primary-custom:hover { background-color: var(--dark-green); transform: translateY(-2px); color: white; }



.navbar-glass { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); box-shadow: 0 2px 10px rgba(0,0,0,0.05); }



/* Mobil optimalizÃ¡ciÃ³k */

@media (max-width: 768px) {

    .glass-card { padding: 1.5rem !important; border-radius: 12px; }

    h1.display-4 { font-size: 2.5rem; }

    .container { padding-left: 15px; padding-right: 15px; }

    .table-responsive { overflow-x: auto; }

}



.auth-container { min-height: 80vh; display: flex; align-items: center; justify-content: center; }

.auth-box { width: 100%; max-width: 400px; padding: 2rem; }



.transition-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }

.transition-hover:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(46, 139, 87, 0.15) !important; }



@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.page-animation { animation: fadeIn 0.5s ease-out forwards; }



@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }

.pulse-animation { animation: pulse 2s infinite; }

/* Footer linkek hover effekt */
.hover-white {
    transition: color 0.3s ease;
}
.hover-white:hover {
    color: #ffffff !important;
    padding-left: 5px; /* Kicsit elmozdul jobbra, látványos */
}

/* Hogy a lábléc mindig az alján legyen, még ha kevés is a tartalom */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.main-wrapper {
    flex: 1;
}