﻿/* login.php */

    :root {
      --lc-bg-deep: #060607;
      --lc-accent: #ffc107;
      --lc-purple: #6f42c1;
      --lc-purple-deep: #5a32a3;
      --lc-card-border: rgba(255, 255, 255, 0.1);
      --lc-text-muted: #a8a8b3;
    }
    body.lc-auth-page {
      font-family: "DM Sans", system-ui, -apple-system, sans-serif;
      min-height: 100vh;
      background: var(--lc-bg-deep);
      background-image:
        radial-gradient(ellipse 100% 70% at 50% -15%, rgba(111, 66, 193, 0.28), transparent 55%),
        radial-gradient(ellipse 60% 45% at 100% 25%, rgba(255, 193, 7, 0.07), transparent 45%),
        linear-gradient(180deg, #060607 0%, #121218 50%, #0a0a0f 100%);
      color: #e8e8ed;
    }
    .login-container {
      max-width: 420px;
      margin: 0 auto;
    }
    .login-card {
      background: linear-gradient(165deg, rgba(22, 22, 30, 0.96) 0%, rgba(14, 14, 20, 0.98) 100%);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-radius: 20px;
      box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
      padding: 2.5rem;
      border: 1px solid var(--lc-card-border);
    }
    .login-header {
      text-align: center;
      margin-bottom: 2rem;
    }
    .login-header h4 {
      font-size: clamp(1.4rem, 4vw, 1.75rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      background: linear-gradient(135deg, #fff 0%, #fff 40%, var(--lc-accent) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 0.5rem;
    }
    .login-header .text-muted {
      color: var(--lc-text-muted) !important;
    }
    .login-card .form-control {
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.14);
      color: #fff;
      padding: 0.75rem 1rem;
      font-size: 0.95rem;
      transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    }
    .login-card .form-control::placeholder {
      color: rgba(255, 255, 255, 0.42);
    }
    .login-card .form-control:focus {
      background: rgba(255, 255, 255, 0.09);
      border-color: var(--lc-purple);
      box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.28);
      color: #fff;
    }
    .btn-login {
      background: linear-gradient(135deg, var(--lc-purple) 0%, var(--lc-purple-deep) 100%);
      border: none;
      border-radius: 12px;
      padding: 0.75rem 1.5rem;
      font-weight: 600;
      font-size: 1rem;
      color: #fff !important;
      transition: transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 4px 24px rgba(111, 66, 193, 0.45);
    }
    .btn-login:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 32px rgba(111, 66, 193, 0.55);
      color: #fff !important;
    }
    .btn-login:disabled {
      opacity: 0.7;
      transform: none;
    }
    .google-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 12px;
      padding: 0.75rem 1.5rem;
      font-weight: 500;
      transition: all 0.2s ease;
      cursor: pointer;
      width: 100%;
    }
    .google-btn:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(111, 66, 193, 0.55);
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
    }
    .google-btn[style*="pointer-events: none"] {
      opacity: 0.7;
      transform: none;
    }
    .google-icon-wrapper {
      display: flex;
      align-items: center;
      margin-right: 10px;
    }
    .google-icon {
      width: 18px;
      height: 18px;
    }
    .btn-text {
      font-size: 0.95rem;
      color: rgba(255, 255, 255, 0.88);
      margin: 0;
    }
    .homepage-btn {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.18);
      color: #fff;
      border-radius: 12px;
      padding: 0.5rem 1.5rem;
      font-weight: 600;
      transition: all 0.2s ease;
      backdrop-filter: blur(10px);
    }
    .homepage-btn:hover {
      background: rgba(255, 255, 255, 0.14);
      border-color: rgba(255, 193, 7, 0.45);
      color: #fff;
      transform: translateY(-2px);
    }
    .login-footer {
      text-align: center;
      margin-top: 2rem;
      font-size: 0.9rem;
      color: var(--lc-text-muted);
    }
    .login-footer a {
      color: var(--lc-accent);
      text-decoration: none;
      font-weight: 600;
      transition: opacity 0.2s;
    }
    .login-footer a:hover {
      opacity: 0.85;
      text-decoration: underline;
    }
    .forgot-password-link {
      color: rgba(196, 181, 253, 0.95);
      text-decoration: none;
      font-size: 0.9rem;
      font-weight: 500;
      transition: color 0.2s;
    }
    .forgot-password-link:hover {
      color: var(--lc-accent);
      text-decoration: underline;
    }
    .divider {
      position: relative;
      text-align: center;
      margin: 1.5rem 0;
    }
    .divider hr {
      border-color: rgba(255, 255, 255, 0.12);
      margin: 0;
      opacity: 1;
    }
    .divider span {
      position: absolute;
      top: -10px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(18, 18, 26, 0.98);
      padding: 0 1rem;
      color: var(--lc-text-muted);
      font-size: 0.9rem;
    }
    #resetModal .modal-content {
      border-radius: 20px;
      border: 1px solid var(--lc-card-border);
      background: linear-gradient(165deg, rgba(26, 26, 34, 0.98) 0%, rgba(14, 14, 20, 0.99) 100%);
      box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
    }
    #resetModal .modal-header {
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      padding: 1.5rem;
    }
    #resetModal .modal-title {
      font-weight: 700;
      color: #fff;
    }
    #resetModal .btn-close {
      filter: invert(1);
      opacity: 0.7;
    }
    #resetModal .modal-body {
      padding: 1.5rem;
    }
    #resetModal .modal-body .text-muted {
      color: var(--lc-text-muted) !important;
    }
    #resetModal .modal-footer {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding: 1.5rem;
    }
    #resetModal .modal-footer .btn {
      border-radius: 12px;
    }
    #resetModal .form-control {
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.14);
      color: #fff;
      border-radius: 12px;
    }
    #resetModal .form-control:focus {
      border-color: var(--lc-purple);
      box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.28);
    }
    .alert {
      border-radius: 12px;
      border: none;
    }
    @media (max-width: 576px) {
      body.lc-auth-page .container {
        --bs-gutter-x: 0;
        width: 100%;
        max-width: none;
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
      }
      .login-card {
        padding: 1.5rem;
        margin: 1rem 0;
      }
    }

/* register.php */

    :root {
      --lc-bg-deep: #060607;
      --lc-accent: #ffc107;
      --lc-purple: #6f42c1;
      --lc-purple-deep: #5a32a3;
      --lc-card-border: rgba(255, 255, 255, 0.1);
      --lc-text-muted: #a8a8b3;
    }
    body.lc-auth-page {
      font-family: "DM Sans", system-ui, -apple-system, sans-serif;
      min-height: 100vh;
      background: var(--lc-bg-deep);
      background-image:
        radial-gradient(ellipse 100% 70% at 50% -15%, rgba(111, 66, 193, 0.28), transparent 55%),
        radial-gradient(ellipse 60% 45% at 100% 25%, rgba(255, 193, 7, 0.07), transparent 45%),
        linear-gradient(180deg, #060607 0%, #121218 50%, #0a0a0f 100%);
      color: #e8e8ed;
    }
    .register-container {
      max-width: 500px;
      margin: 0 auto;
    }
    .register-card {
      background: linear-gradient(165deg, rgba(22, 22, 30, 0.96) 0%, rgba(14, 14, 20, 0.98) 100%);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-radius: 20px;
      box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
      padding: 2.5rem;
      border: 1px solid var(--lc-card-border);
    }
    .register-header {
      text-align: center;
      margin-bottom: 2rem;
    }
    .register-header h4 {
      font-size: clamp(1.4rem, 4vw, 1.75rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      background: linear-gradient(135deg, #fff 0%, #fff 40%, var(--lc-accent) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 0.5rem;
    }
    .register-header .text-muted {
      color: var(--lc-text-muted) !important;
    }
    .register-card .form-control {
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.14);
      color: #fff;
      padding: 0.75rem 1rem;
      font-size: 0.95rem;
      transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    }
    .register-card .form-control::placeholder {
      color: rgba(255, 255, 255, 0.42);
    }
    .register-card .form-control:focus {
      background: rgba(255, 255, 255, 0.09);
      border-color: var(--lc-purple);
      box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.28);
      color: #fff;
    }
    .register-card .form-control.is-invalid {
      border-color: rgba(239, 68, 68, 0.85);
    }
    .register-card .form-text {
      font-size: 0.85rem;
      color: var(--lc-text-muted);
      margin-top: 0.5rem;
    }
    .register-card .invalid-feedback {
      color: #fca5a5;
      font-size: 0.875rem;
      margin-top: 0.25rem;
    }
    .btn-register {
      background: linear-gradient(135deg, var(--lc-purple) 0%, var(--lc-purple-deep) 100%);
      border: none;
      border-radius: 12px;
      padding: 0.75rem 1.5rem;
      font-weight: 600;
      font-size: 1rem;
      color: #fff !important;
      transition: transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 4px 24px rgba(111, 66, 193, 0.45);
    }
    .btn-register:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 32px rgba(111, 66, 193, 0.55);
      color: #fff !important;
    }
    .btn-register:disabled {
      opacity: 0.7;
      transform: none;
    }
    .google-btn {
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 12px;
      padding: 0.75rem 1.5rem;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.92);
      transition: all 0.2s ease;
    }
    .google-btn:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(111, 66, 193, 0.55);
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
      color: #fff;
    }
    .google-btn:disabled {
      opacity: 0.7;
      transform: none;
    }
    .homepage-btn {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.18);
      color: #fff;
      border-radius: 12px;
      padding: 0.5rem 1.5rem;
      font-weight: 600;
      transition: all 0.2s ease;
      backdrop-filter: blur(10px);
    }
    .homepage-btn:hover {
      background: rgba(255, 255, 255, 0.14);
      border-color: rgba(255, 193, 7, 0.45);
      color: #fff;
      transform: translateY(-2px);
    }
    .register-footer {
      text-align: center;
      margin-top: 2rem;
      font-size: 0.9rem;
      color: var(--lc-text-muted);
    }
    .register-footer a {
      color: var(--lc-accent);
      text-decoration: none;
      font-weight: 600;
      transition: opacity 0.2s;
    }
    .register-footer a:hover {
      opacity: 0.85;
      text-decoration: underline;
    }
    .g-recaptcha {
      display: flex;
      justify-content: center;
      margin: 1.5rem 0;
    }
    #captchaFeedback {
      text-align: center;
      font-size: 0.875rem;
    }
    .divider {
      position: relative;
      text-align: center;
      margin: 1.5rem 0;
    }
    .divider hr {
      border-color: rgba(255, 255, 255, 0.12);
      margin: 0;
      opacity: 1;
    }
    .divider span {
      position: absolute;
      top: -10px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(18, 18, 26, 0.98);
      padding: 0 1rem;
      color: var(--lc-text-muted);
      font-size: 0.9rem;
    }
    .alert {
      border-radius: 12px;
      border: none;
    }
    @media (max-width: 576px) {
      body.lc-auth-page .container {
        --bs-gutter-x: 0;
        width: 100%;
        max-width: none;
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
      }
      .register-card {
        padding: 1.5rem;
        margin: 1rem 0;
      }
    }

    /* Footer includes Bootstrap .container → narrow centered column on desktop; full width feels more natural here */
    @media (min-width: 577px) {
      body.lc-auth-page .footer .container {
        max-width: none;
        width: 100%;
        padding-left: max(1.25rem, env(safe-area-inset-left, 0px));
        padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
      }
    }

