/* APPSERVIS - PREMIUM DESIGN V2 */

:root {
    --gradient-start: #6366f1;
    /* Indigo */
    --gradient-mid: #3b82f6;
    /* Blue */
    --gradient-end: #06b6d4;
    /* Cyan */
    --primary-orange: #f97316;
    --primary-orange-hover: #ea580c;
    --glass-bg: rgba(15, 23, 42, 0.65);
    /* Darker, blue-ish dark */
    --glass-border: rgba(255, 255, 255, 0.1);
    --input-bg: rgba(0, 0, 0, 0.3);
    --text-white: #ffffff;
    --text-muted: #94a3b8;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    /* Vibrant gradient background from image */
    background: linear-gradient(135deg, #7c3aed 0%, #2563eb 50%, #06b6d4 100%);
    background-attachment: fixed;
    color: var(--text-white);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: hidden;
    position: relative;
}

/* 
   AUTOMOTIVE PATTERN - GRID SYSTEM
   Rozmiestnenie ikon do mriežky aby sa NEPREKRÝVALI
*/
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.12;
    /* Jemne viditeľné */
    background-image:
        /* 1. Riadok */
        url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E"),
        /* Auto */
        url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.7-3.7a1 1 0 0 0 0-1.4l-1.6-1.6a1 1 0 0 0-1.4 0l-3.7 3.7Z'/%3E%3Cpath d='m6 9 3.7-3.7a1 1 0 0 1 1.4 0l1.6 1.6a1 1 0 0 1 0 1.4L9 12'/%3E%3Cpath d='m12 9 3.3 3.3'/%3E%3Cpath d='m3 21 8-8'/%3E%3Cpath d='m3 21 5 1L9 17l-5-4'/%3E%3C/svg%3E"),
        /* Skrutkovač */
        url("data:image/svg+xml,%3Csvg width='55' height='55' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"),
        /* Štít/Ochrana */

        /* 2. Riadok */
        url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E"),
        /* Gear */
        url("data:image/svg+xml,%3Csvg width='55' height='55' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 13.5 21 24l-8.5-4L4 24l6.3-10.5'/%3E%3Cpath d='M7 4.5 12 2l5 2.5'/%3E%3Cpath d='M12 2v9'/%3E%3Cpath d='M7 4.5V11'/%3E%3Cpath d='M17 4.5V11'/%3E%3C/svg%3E"),
        /* Kľúč/Wrench */
        url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 11v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-8a2 2 0 0 0-2-2h-3l-2-4H8a2 2 0 0 0-2 2v2H4v8h13'/%3E%3C/svg%3E"),
        /* Olej */

        /* 3. Riadok */
        url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v4'/%3E%3Cpath d='M12 18v4'/%3E%3Cpath d='M22 12h-4'/%3E%3Cpath d='M6 12H2'/%3E%3Cpath d='m19.07 4.93-2.83 2.83'/%3E%3Cpath d='m7.76 16.24-2.83 2.83'/%3E%3Cpath d='m19.07 19.07-2.83-2.83'/%3E%3Cpath d='m7.76 7.76-2.83-2.83'/%3E%3C/svg%3E"),
        /* Koleso */
        url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14'/%3E%3Cpath d='M2 20h20'/%3E%3Cpath d='M14 12v.01'/%3E%3C/svg%3E");
    /* Baterka/Grid */

    background-repeat: no-repeat;

    /* Pevné pozície pre každú ikonu = ŽIADNE PREKRÝVANIE */
    background-position:
        10% 10%, 50% 15%, 85% 10%,
        /* 1. riadok */
        20% 50%, 50% 50%, 80% 50%,
        /* 2. riadok */
        15% 85%, 85% 85%;
    /* 3. riadok */

    /* Mierne animovaný pohyb */
    animation: floatingIcons 20s ease-in-out infinite alternate;
}

@keyframes floatingIcons {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-20px);
    }
}

.auth-container {
    width: 100%;
    max-width: 550px;
    /* Širšia karta ako na obrázku */
    padding: 20px;
    position: relative;
    z-index: 10;
}

.auth-card {
    background: var(--glass-bg);
    backdrop-filter: blur(25px);
    /* Silný blur pre premium feeling */
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 48px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    color: var(--text-white);
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 28px;
    font-weight: 700;
    color: var(--text-white);
    margin-bottom: 32px;
    text-decoration: none;
}

.logo i {
    color: var(--primary-orange);
}

h1 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}

.subtitle {
    color: var(--text-muted);
    margin-bottom: 32px;
    font-size: 15px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-group input {
    width: 100%;
    background: var(--input-bg);
    border: 1px solid rgba(255, 255, 255, 0.08);
    /* Veľmi jemný border */
    border-radius: 8px;
    padding: 14px 16px;
    color: white;
    font-size: 15px;
    transition: all 0.3s ease;
    outline: none;
}

.form-group input:focus {
    background: rgba(0, 0, 0, 0.5);
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.2);
}

/* 2-stĺpcový layout pre meno/priezvisko */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.btn-primary {
    width: 100%;
    background: linear-gradient(135deg, var(--primary-orange), #f43f5e);
    /* Orange to Red gradient */
    border: none;
    border-radius: 8px;
    padding: 16px;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(249, 115, 22, 0.4);
}

.auth-footer {
    text-align: center;
    margin-top: 24px;
    color: var(--text-muted);
    font-size: 14px;
}

.auth-footer a {
    color: var(--text-white);
    text-decoration: none;
    font-weight: 600;
}

.auth-footer a:hover {
    text-decoration: underline;
}

/* Icons inside inputs support (ak by sme chceli) */
.input-with-icon {
    position: relative;
}

.input-with-icon i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.input-with-icon input {
    padding-left: 44px;
}