/* Modern Auth Page Styles */

/* Background on .content */
.content {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

[data-bs-theme="dark"] .content {
    background: linear-gradient(45deg, #12151b, #0d0f17);
}

.auth-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    flex-direction: column;
}

.auth-container {
    width: 100%;
    max-width: 500px;
    padding: 0;
}

/* Logo - nur für Auth-Seiten per CSS */
.auth-wrapper::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 179.74 178.3'%3E%3Cdefs%3E%3CclipPath id='clippath'%3E%3Crect x='0' y='0' width='172.53' height='172.53' rx='86.26' ry='86.26' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23clippath)'%3E%3Cpath fill='%231a1a1a' d='M72.81,23.31c-.01.32-.63.78-1.22.44-.58-.34-1.18.3-1.39.88-.88,2.68-.84,6.89.31,8.69.35.54,1.14,1.28,1.7,1.36l.03,1.1c.02,1.02.65,1.93,1.6,2.31l8.24,3.26c-4.97-.83-11.22-2.17-15.7-4.5-1.88-.98-3.46-3.18-5.18-4.05-.88-.44-1.7-.2-2.34-.52-.6-.28-.86-1.52-1.44-2.08-.21-.21-3.6-2.48-3.82-2.53-1.24-.23-3.09.1-4.47,0-.91-.07-1.68-.63-2.53-.63-.71,0-1.31.4-2.19.31-.83-.08-1.73-.9-2.61-.93-.99-.04-1.63.82-2.2.82-1.09,0-2.26-1.59-5.07-1.14-2.47.41-2.35,3.05-3.51,3.82-.63.41-1.47.3-2,.71-.77.59-.96,2.97-.73,3.82.06.22,3.03,2.29,3.18,3.08,0,0-3.53-2.53-4.39-1.63-.86.89-5.71,11.59-5.34,11.86.41.29,4.12,1.06,3.59,1.57l-2.25-.42c-.59-.1-1.19.17-1.48.69-3.28,6-9.39,28.23-8.55,31.28,1.38,4.98,15.6,2.01,20.5,1.83.13,1.07.32,1.3.69,1.19l2.06-.53c.95-.4,1.61-1.23,2.06-2.17,4.62-9.88,7.9-11.25,8.32-11.54-6.37,5.75-10.93,26.78-11.39,31.19-.46,4.43,20.19-2.96,19.8-2.4-.32.48-20.62,9.71-22.35,13.17-.82,1.63-1.86,6.64-1.97,8.4-.51,8.21,40.05-15.38,39.98-14.12-.05.94-15.74,9.3-22.78,12.97-22.62,11.79-22.63,19.03-22.82,20.75-.23,1.94,4.93.74,4.67,2.03-.35,1.78-5.16-.09-6,2.3-.49,1.4-6.12,11.23-10.86,20.31-1.99,3.81-3.16,10.23-4.61,14.06h66.42c-1.25-13.27-4.16-36.88-12.69-37.95-7.65-.95-15.47-.1-23.1.92-1.55.21-4.79.95-6.36.77-.92-.11-1.09-.69.04-.99,25.19-7.24,43.64.6,43.99.03.83-1.35-1.55-3.97-1.27-5.4.16-.85,1.33-2.51,1.77-3.48,3.28-7.2-.27-8.55,1.34-12.18,1.29-2.92,4.61-4.98,5-8.37.16-1.32-7.82,4.07-8.4,3.51,1.5-1.77,9.82-6.31,11.09-8.16,3.33-4.87,3.8-7.58,3.67-10.03-.03-.73-.58-1.03-1.22-.67-2.83,1.6-8.62,4.89-8.78,4.89.63-1.71,23.24-11.5,17.68-37.32-.02-.12-.06-.29-.12-.5-1.57-5.84-5.73-10.64-11.25-13.13l-9.95-4.2c-.33-.21-.18-.51.13-.44,1.5.26,9.07,2.97,12.86,4.32,18.13,6.48,25.11,21.08,37.16,30.29,18.49,14.12,46.76,14.39,52.21-4.99,7.26-25.82-22.82-33.17-38.27-31.3-15.25,1.84-32.41,4.66-44.28,1.74-.79-.2-.13-1.57.09-2.16.66-1.66,1.07-3.7,2.1-5.08,0,0,1.74.12,2.73-1.99.25-.53,1.9-4.53,1.66-5.49-.34-1.36-1.21-.58-1.18-1.49.04-1.09,1.65-3.95,2.02-5.35.97-3.84.9-6.92.15-9.41-1.32-6.21-4.73-8.67-9.74-9.93-2.76-.69-5.32-1.35-8.09-.55-1.77.51-5.79,2-7.24,2.84-2.62,1.51-4.58,5.31-5.12,7.64-.55,3.01-.55,6.18-.65,8.62Z'/%3E%3Cpath fill='%231a1a1a' d='M79.85,163.66c-.29-4.13-.9-15.94-3.04-18.9-1.9-2.65-8.07-4.29-7.46-2.73,4.33,11.24,6.1,27.17,6.66,36.28h4.52c-.18-4.57-.52-12.24-.68-14.64Z'/%3E%3Cpolygon fill='%2300bc0d' points='93.15 44.44 93.18 89.95 25.82 125.56 77.7 85 93.15 44.44'/%3E%3Cpath fill='%231a1a1a' d='M86.26,4.77c44.94,0,81.49,36.56,81.49,81.49s-36.56,81.49-81.49,81.49S4.77,131.2,4.77,86.26,41.33,4.77,86.26,4.77M86.26,0h0C38.62,0,0,38.62,0,86.26h0c0,47.64,38.62,86.26,86.26,86.26h0c47.64,0,86.26-38.62,86.26-86.26h0C172.53,38.62,133.9,0,86.26,0h0Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
}

[data-bs-theme="dark"] .auth-wrapper::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 179.74 178.3'%3E%3Cdefs%3E%3CclipPath id='clippath'%3E%3Crect x='0' y='0' width='172.53' height='172.53' rx='86.26' ry='86.26' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23clippath)'%3E%3Cpath fill='%23f6f7fb' d='M72.81,23.31c-.01.32-.63.78-1.22.44-.58-.34-1.18.3-1.39.88-.88,2.68-.84,6.89.31,8.69.35.54,1.14,1.28,1.7,1.36l.03,1.1c.02,1.02.65,1.93,1.6,2.31l8.24,3.26c-4.97-.83-11.22-2.17-15.7-4.5-1.88-.98-3.46-3.18-5.18-4.05-.88-.44-1.7-.2-2.34-.52-.6-.28-.86-1.52-1.44-2.08-.21-.21-3.6-2.48-3.82-2.53-1.24-.23-3.09.1-4.47,0-.91-.07-1.68-.63-2.53-.63-.71,0-1.31.4-2.19.31-.83-.08-1.73-.9-2.61-.93-.99-.04-1.63.82-2.2.82-1.09,0-2.26-1.59-5.07-1.14-2.47.41-2.35,3.05-3.51,3.82-.63.41-1.47.3-2,.71-.77.59-.96,2.97-.73,3.82.06.22,3.03,2.29,3.18,3.08,0,0-3.53-2.53-4.39-1.63-.86.89-5.71,11.59-5.34,11.86.41.29,4.12,1.06,3.59,1.57l-2.25-.42c-.59-.1-1.19.17-1.48.69-3.28,6-9.39,28.23-8.55,31.28,1.38,4.98,15.6,2.01,20.5,1.83.13,1.07.32,1.3.69,1.19l2.06-.53c.95-.4,1.61-1.23,2.06-2.17,4.62-9.88,7.9-11.25,8.32-11.54-6.37,5.75-10.93,26.78-11.39,31.19-.46,4.43,20.19-2.96,19.8-2.4-.32.48-20.62,9.71-22.35,13.17-.82,1.63-1.86,6.64-1.97,8.4-.51,8.21,40.05-15.38,39.98-14.12-.05.94-15.74,9.3-22.78,12.97-22.62,11.79-22.63,19.03-22.82,20.75-.23,1.94,4.93.74,4.67,2.03-.35,1.78-5.16-.09-6,2.3-.49,1.4-6.12,11.23-10.86,20.31-1.99,3.81-3.16,10.23-4.61,14.06h66.42c-1.25-13.27-4.16-36.88-12.69-37.95-7.65-.95-15.47-.1-23.1.92-1.55.21-4.79.95-6.36.77-.92-.11-1.09-.69.04-.99,25.19-7.24,43.64.6,43.99.03.83-1.35-1.55-3.97-1.27-5.4.16-.85,1.33-2.51,1.77-3.48,3.28-7.2-.27-8.55,1.34-12.18,1.29-2.92,4.61-4.98,5-8.37.16-1.32-7.82,4.07-8.4,3.51,1.5-1.77,9.82-6.31,11.09-8.16,3.33-4.87,3.8-7.58,3.67-10.03-.03-.73-.58-1.03-1.22-.67-2.83,1.6-8.62,4.89-8.78,4.89.63-1.71,23.24-11.5,17.68-37.32-.02-.12-.06-.29-.12-.50-1.57-5.84-5.73-10.64-11.25-13.13l-9.95-4.2c-.33-.21-.18-.51.13-.44,1.5.26,9.07,2.97,12.86,4.32,18.13,6.48,25.11,21.08,37.16,30.29,18.49,14.12,46.76,14.39,52.21-4.99,7.26-25.82-22.82-33.17-38.27-31.3-15.25,1.84-32.41,4.66-44.28,1.74-.79-.2-.13-1.57.09-2.16.66-1.66,1.07-3.7,2.1-5.08,0,0,1.74.12,2.73-1.99.25-.53,1.9-4.53,1.66-5.49-.34-1.36-1.21-.58-1.18-1.49.04-1.09,1.65-3.95,2.02-5.35.97-3.84.9-6.92.15-9.41-1.32-6.21-4.73-8.67-9.74-9.93-2.76-.69-5.32-1.35-8.09-.55-1.77.51-5.79,2-7.24,2.84-2.62,1.51-4.58,5.31-5.12,7.64-.55,3.01-.55,6.18-.65,8.62Z'/%3E%3Cpath fill='%23f6f7fb' d='M79.85,163.66c-.29-4.13-.9-15.94-3.04-18.9-1.9-2.65-8.07-4.29-7.46-2.73,4.33,11.24,6.1,27.17,6.66,36.28h4.52c-.18-4.57-.52-12.24-.68-14.64Z'/%3E%3Cpolygon fill='%2300bc0d' points='93.15 44.44 93.18 89.95 25.82 125.56 77.7 85 93.15 44.44'/%3E%3Cpath fill='%23f6f7fb' d='M86.26,4.77c44.94,0,81.49,36.56,81.49,81.49s-36.56,81.49-81.49,81.49S4.77,131.2,4.77,86.26,41.33,4.77,86.26,4.77M86.26,0h0C38.62,0,0,38.62,0,86.26h0c0,47.64,38.62,86.26,86.26,86.26h0c47.64,0,86.26-38.62,86.26-86.26h0C172.53,38.62,133.9,0,86.26,0h0Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* Header */
.auth-header {
    text-align: center;
    margin-bottom: 1rem;
}

.auth-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #1a1a1a;
}

[data-bs-theme="dark"] .auth-title {
    color: #ffffff;
}

.auth-subtitle {
    font-size: 15px;
    color: #6b7280;
    margin: 0;
}

[data-bs-theme="dark"] .auth-subtitle {
    color: #9ca3af;
}

/* Alerts */
.auth-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    font-size: 14px;
    line-height: 1.5;
}

.auth-alert svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.auth-alert-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

[data-bs-theme="dark"] .auth-alert-danger {
    background: rgba(220, 38, 38, 0.1);
    color: #fca5a5;
    border-color: rgba(220, 38, 38, 0.2);
}

.auth-alert-success {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

[data-bs-theme="dark"] .auth-alert-success {
    background: rgba(34, 197, 94, 0.1);
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.2);
}

/* Form */
.auth-form {
    width: 100%;
}

/* Input Groups */
.auth-input-group {
    margin-bottom: 0.5rem;
}

.auth-label {
    display: none;
}

.auth-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.auth-input-icon {
    display: block;
    position: absolute;
    left: 15px;
    color: #9ca3af;
    pointer-events: none;
    z-index: 1;
}

[data-bs-theme="dark"] .auth-input-icon {
    color: #6b7280;
}

.auth-input {
    width: 100%;
    padding: 10px 12px 10px 42px;
    font-size: 15px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #ffffff;
    color: #1f2937;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    outline: none;
}

.auth-input::placeholder {
    color: #9ca3af;
}

.auth-input:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    background: #ffffff;
}

[data-bs-theme="dark"] .auth-input {
    background: #141824;
    border-color: #344050;
    color: #9fa6bc;
}

[data-bs-theme="dark"] .auth-input::placeholder {
    color: #525b75;
}

[data-bs-theme="dark"] .auth-input:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    background: #141824;
}

/* Password Input */
.auth-input-password {
    padding-right: 48px;
}

.auth-toggle-password {
    position: absolute;
    right: 12px;
    padding: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

.auth-toggle-password:hover {
    color: #667eea;
}

[data-bs-theme="dark"] .auth-toggle-password {
    color: #6b7280;
}

[data-bs-theme="dark"] .auth-toggle-password:hover {
    color: #818cf8;
}

/* Notice (for data protection text) */
.auth-notice {
    margin-bottom: 1rem;
    padding: 12px 16px;
    background: rgba(102, 126, 234, 0.05);
    border-radius: 10px;
    border: 1px solid rgba(102, 126, 234, 0.1);
}

.auth-notice p {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

[data-bs-theme="dark"] .auth-notice {
    background: rgba(129, 140, 248, 0.05);
    border-color: rgba(129, 140, 248, 0.1);
}

[data-bs-theme="dark"] .auth-notice p {
    color: #9ca3af;
}

/* Options Row */
.auth-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    font-size: 14px;
}

.auth-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #4b5563;
    user-select: none;
}

[data-bs-theme="dark"] .auth-checkbox {
    color: #9ca3af;
}

.auth-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    border-radius: 4px;
    border: 2px solid #d1d5db;
    accent-color: #667eea;
}

[data-bs-theme="dark"] .auth-checkbox input[type="checkbox"] {
    border-color: #4b5563;
}

.auth-link {
    color: #667eea;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.auth-link:hover {
    color: #5568d3;
    text-decoration: underline;
}

[data-bs-theme="dark"] .auth-link {
    color: #818cf8;
}

[data-bs-theme="dark"] .auth-link:hover {
    color: #a5b4fc;
}

/* Submit Button */
.auth-button {
    width: 100%;
    padding: 14px 24px;
    background: #00bc0c;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background-color 0.15s ease-in-out;
    margin-bottom: 1.5rem;
}

.auth-button:hover {
    background: #00a00a;
}

.auth-button:active {
    background: #008d09;
}

[data-bs-theme="dark"] .auth-button {
    background: #00bc0c;
}

[data-bs-theme="dark"] .auth-button:hover {
    background: #00a00a;
}

/* Footer */
.auth-footer {
    text-align: center;
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 1rem;
}

[data-bs-theme="dark"] .auth-footer {
    color: #9ca3af;
}

.auth-link-bold {
    color: #667eea;
    text-decoration: none;
    font-weight: 600;
    margin-left: 0;
    transition: color 0.2s;
}

.auth-link-bold:hover {
    color: #5568d3;
    text-decoration: underline;
}

[data-bs-theme="dark"] .auth-link-bold {
    color: #818cf8;
}

[data-bs-theme="dark"] .auth-link-bold:hover {
    color: #a5b4fc;
}

.auth-footer-link {
    text-align: center;
    margin-top: 1rem;
}

.auth-link-small {
    color: #9ca3af;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}

.auth-link-small:hover {
    color: #667eea;
    text-decoration: underline;
}

[data-bs-theme="dark"] .auth-link-small {
    color: #6b7280;
}

[data-bs-theme="dark"] .auth-link-small:hover {
    color: #818cf8;
}

/* Mobile Optimizations */
@media (max-width: 576px) {
    .auth-wrapper {
        padding: 0.5rem;
    }

    .auth-title {
        font-size: 24px;
    }

    .auth-subtitle {
        font-size: 14px;
    }

    .auth-input {
        padding: 10px 12px 10px 42px;
        font-size: 16px; /* Prevents zoom on iOS */
    }

    .auth-button {
        padding: 12px 20px;
        font-size: 15px;
    }

    .auth-options {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
}

/* Loading State */
.auth-button:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.auth-button:disabled:hover {
    background: #00bc0c;
}
