/* PRE Login UI - Professional minimal design */
.pre-login-wrap{padding:40px 16px;max-width:1100px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.pre-login-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
@media (max-width: 900px){.pre-login-grid{grid-template-columns:1fr}.pre-login-panel{display:none}}

.pre-login-panel{border:1px solid rgba(15,23,42,.12);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.03),rgba(15,23,42,.01));padding:26px;box-shadow:0 10px 30px rgba(2,6,23,.06)}
.pre-login-brand{display:flex;gap:14px;align-items:flex-start}
.pre-login-logo{width:46px;height:46px;border-radius:14px;background:radial-gradient(circle at 30% 30%, rgba(37,99,235,.35), rgba(15,23,42,.08));border:1px solid rgba(37,99,235,.20)}
.pre-login-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.16);color:rgb(30,64,175);font-weight:700;font-size:12px;letter-spacing:.2px}
.pre-login-title{margin:10px 0 0;font-size:30px;line-height:1.1;color:#0f172a;font-weight:900}
.pre-login-subtitle{margin:10px 0 0;color:#334155;font-size:15px;line-height:1.5}
.pre-login-points{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.pre-login-points li{position:relative;padding-left:26px;color:#0f172a;font-size:14px;line-height:1.5}
.pre-login-points li:before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:6px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25)}
.pre-login-footnote{margin-top:18px;color:#64748b;font-size:12px}

.pre-login-card{border:1px solid rgba(15,23,42,.12);border-radius:22px;background:#fff;padding:26px;box-shadow:0 12px 40px rgba(2,6,23,.08)}
.pre-card-title{margin:0;color:#0f172a;font-weight:900;font-size:18px}
.pre-card-subtitle{margin:8px 0 18px;color:#475569;font-size:13px;line-height:1.5}

.pre-alert{border-radius:16px;padding:12px 14px;font-size:13px;margin-bottom:14px;border:1px solid transparent}
.pre-alert-error{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.22);color:#991b1b}

.pre-form{display:grid;gap:12px}
.pre-label{display:block;color:#334155;font-weight:700;font-size:13px}
.pre-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(15,23,42,.18);background:#fff;font-size:14px;outline:none;box-shadow:0 1px 0 rgba(2,6,23,.03)}
.pre-input:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 5px rgba(37,99,235,.12)}

#pre-loginform{display:grid;gap:12px}
#pre-loginform p{margin:0}
#pre-loginform label{display:block;color:#334155;font-weight:700;font-size:13px;margin-bottom:6px}
#pre-loginform input[type="text"],
#pre-loginform input[type="password"]{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(15,23,42,.18);background:#fff;font-size:14px;outline:none;box-shadow:0 1px 0 rgba(2,6,23,.03)}
#pre-loginform input[type="text"]:focus,
#pre-loginform input[type="password"]:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 5px rgba(37,99,235,.12)}
#pre-loginform .login-remember label{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#475569}
#pre-loginform .login-remember input{margin:0}

.pre-card-links{margin-top:10px}
.pre-link{color:#1d4ed8;text-decoration:none;font-weight:700;font-size:13px}
.pre-link:hover{text-decoration:underline}

.pre-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:11px 14px;font-weight:800;font-size:13px;text-decoration:none;transition:all .15s ease;border:1px solid transparent}
.pre-btn-md{padding:11px 16px}
.pre-btn-sm{padding:9px 12px;font-size:12px;border-radius:12px}

.pre-btn-solid{background:#0f172a;color:#fff;border-color:#0f172a}
.pre-btn-solid:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(2,6,23,.15)}
.pre-btn-outline{background:#fff;color:#0f172a;border-color:rgba(15,23,42,.25)}
.pre-btn-outline:hover{background:rgba(15,23,42,.04)}
.pre-btn-ghost{background:transparent;color:#0f172a;border-color:transparent}
.pre-btn-ghost:hover{background:rgba(15,23,42,.04)}

.pre-login-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.pre-float-wrap{position:fixed;right:16px;bottom:16px;z-index:9999}
.pre-float-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:#0f172a;color:#fff;text-decoration:none;font-weight:900;font-size:13px;box-shadow:0 14px 30px rgba(2,6,23,.25);border:1px solid rgba(255,255,255,.08)}
.pre-float-btn:hover{transform:translateY(-1px)}
.pre-float-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.15)}
.pre-login-wrap #wp-submit {
  @apply w-full inline-flex items-center justify-center
         rounded-xl px-5 py-3
         font-bold text-sm text-white
         bg-indigo-600 hover:bg-indigo-700
         transition-all duration-150
         shadow-lg shadow-indigo-600/30
         hover:-translate-y-0.5
         active:translate-y-0
         focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2;
}

/* Only apply these styles on mobile */
@media (max-width: 767px) {
  .pre-mobile-fab {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 99999;
  }

  .pre-mobile-fab button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(12, 42, 80, 0.95);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  }

  .pre-mobile-fab svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
  }

  .pre-mobile-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    z-index: 99998;
    display: none;
  }
  .pre-mobile-backdrop.open {
    display: block;
  }

  .pre-mobile-sheet {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
  }
  .pre-mobile-sheet.open {
    display: block;
  }

  .pre-mobile-sheet-card {
    max-width: 420px;
    margin: 0 auto;
    background: rgba(12, 42, 80, 0.96);
    color: #fff;
    border-radius: 24px 24px 0 0;
    padding: 16px;
    box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: none;
  }

  .pre-mobile-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  .pre-mobile-sheet-header .role {
    font-size: 12px;
    opacity: 0.7;
  }

  .pre-mobile-sheet-header button {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    width: 36px;
    height: 36px;
    font-size: 22px;
    line-height: 1;
    color: #fff;
    border: 0;
  }

  .pre-mobile-nav {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .pre-mobile-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    color: #fff;
    text-decoration: none;
  }

  .pre-mobile-nav a:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .pre-mobile-nav svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
  }

  .pre-mobile-nav .logout {
    background: rgba(255, 255, 255, 0.08);
  }

  /* Prevent content being hidden behind FAB if needed */
  body {
    padding-bottom: 72px;
  }
}