/* Property Alpha Auth Portal — Light Mode */
/* Primary=#1A1A40 (navy/button), Secondary=#D4AF37 (gold/highlights), Accent=#F5F5F5 */

*, *::before, *::after {
  --tw-bg-opacity: 1 !important;
  --tw-text-opacity: 1 !important;
  --tw-shadow: none !important;
  --tw-ring-shadow: none !important;
}

html, html.h-full, html.h-full.bg-blue-100,
body, body.h-full {
  background-color: #F5F5F5 !important;
  min-height: 100vh !important;
  margin: 0 !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.app-page {
  background-color: #F5F5F5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding: 20px !important;
  flex-direction: column !important;
}

.app-content {
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: 420px !important;
  width: 100% !important;
  padding: 0 16px !important;
}

.app-container {
  background-color: #ffffff !important;
  background-image: none !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 44px 36px 36px !important;
  box-shadow: 0 4px 24px rgba(26,26,64,0.08), 0 1px 3px rgba(0,0,0,0.04) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.logo-box {
  text-align: center !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
}
.logo-img {
  display: block !important;
  margin: 0 auto !important;
  height: auto !important;
  width: 200px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
.logo-txt { display: none !important; }

h1, h2, h3, h4, h5 {
  color: #1A1A40 !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 4px !important;
}

label, .text-primary-700, .block.text-center, .pb-2, .font-medium,
p, .app-txt-section, .app-txt-section p {
  color: #6b7280 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  text-align: center !important;
}

.app-inp-box {
  box-shadow: none !important;
  margin-top: 8px !important;
}
.app-inp-prf-img, .app-inp-prf-img i, .app-inp-prf-img .las {
  color: #D4AF37 !important;
}

.app-inp-txt, input[type="text"], input[type="password"], input[type="email"] {
  background-color: #F9FAFB !important;
  border: 1.5px solid #E5E7EB !important;
  border-radius: 12px !important;
  color: #1A1A40 !important;
  font-size: 15px !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  padding: 14px 16px 14px 44px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.app-inp-txt:focus, input[type="text"]:focus, input[type="password"]:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.12) !important;
  --tw-ring-shadow: none !important;
  --tw-ring-color: transparent !important;
  outline: none !important;
}
input::placeholder { color: #9CA3AF !important; }

/* === HIDE SECONDARY BUTTONS (home, reset) — show only submit === */
.app-btn-sec,
button[name="portal"],
button[name="reset"],
button[type="button"].app-btn-sec,
button[type="reset"].app-btn-sec,
.flex-none:has(.app-btn-sec),
.flex-none:has(a[href*="terminate"]),
a[href*="terminate"],
.flex-none {
  display: none !important;
}

/* Flex container for buttons — make it single column full width */
.flex.gap-4 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
}
.flex.gap-4 > .grow,
.flex.gap-4 > div:has(.app-btn-pri) {
  width: 100% !important;
  flex: 1 !important;
}

/* === PRIMARY BUTTON (Proceed / Authenticate) === */
.app-btn-pri, button[type="submit"], button.app-btn-pri,
button[name="submit"].app-btn-pri {
  background-color: #1A1A40 !important;
  background-image: linear-gradient(135deg, #1A1A40 0%, #0F0F2B 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  letter-spacing: 0.4px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(26,26,64,0.18) !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.app-btn-pri:hover, button[type="submit"]:hover {
  background-image: linear-gradient(135deg, #262660 0%, #1A1A40 100%) !important;
  box-shadow: 0 8px 24px rgba(26,26,64,0.25) !important;
  transform: translateY(-1px) !important;
}
.app-btn-pri svg, button[type="submit"] svg {
  color: #D4AF37 !important;
  stroke: #D4AF37 !important;
}
.app-btn-pri i, .app-btn-pri .las {
  color: #D4AF37 !important;
}
.app-btn-pri span, .app-btn-pri .pl-2 {
  color: #ffffff !important;
}

/* === KILL UNWANTED ELEMENTS === */
#bookmarks, #qr, [onclick*="showQRCode"], .rounded-b-lg,
#user_actions, .flex.flex-wrap.pt-6,
div[class*="bg-"][class*="24292f"],
.bg-\[\#24292f\] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* === LINKS === */
a { color: #D4AF37 !important; text-decoration: none !important; }
a:hover { color: #B39020 !important; }
.text-primary-600 { color: #D4AF37 !important; }

/* === ALERTS === */
.alert, [class*="alert"], [role="alert"],
.bg-red-50, .bg-yellow-50 {
  background-color: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  border-radius: 12px !important;
  color: #DC2626 !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}

/* === SPACING === */
.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 18px !important; }
.gap-y-6 { row-gap: 18px !important; }

/* Reset all background-color to transparent, then set specific ones */
div, section, main, article, aside { background-color: transparent !important; }
html, body, .app-page { background-color: #F5F5F5 !important; }
.app-container { background-color: #ffffff !important; }

/* === SUBTLE BRAND ACCENT BAR AT BOTTOM === */
.app-page::after {
  content: "" !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1A1A40 0%, #D4AF37 50%, #1ad6b8 100%) !important;
  z-index: 10 !important;
}

/* === RESPONSIVE === */
@media (max-width: 480px) {
  .app-content { padding: 0 12px !important; }
  .app-container {
    padding: 32px 24px 28px !important;
    border-radius: 16px !important;
  }
  .logo-img { width: 160px !important; }
}

/* === PORTAL / APPLICATIONS PAGE === */
.app-lst-lnk, .app-lst-item {
  background-color: #F9FAFB !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  padding: 14px 20px !important;
  color: #1A1A40 !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  transition: all 0.2s !important;
}
.app-lst-lnk:hover, .app-lst-item:hover {
  background-color: #F0F0F0 !important;
  border-color: #D4AF37 !important;
}

/* Portal/Applications heading */
.app-txt-section, .app-txt-section p {
  color: #6b7280 !important;
  font-size: 14px !important;
  text-align: center !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
}

/* Grid layout for portal items */
.grid, .grid-cols-1 { gap: 12px !important; }

/* === ERROR / SANDBOX FAIL PAGES === */
.app-container p {
  color: #6b7280 !important;
  font-size: 14px !important;
  text-align: center !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  line-height: 1.6 !important;
}

/* Try Again / generic action buttons on error pages */
a .app-btn-pri, a > .app-btn-pri {
  text-decoration: none !important;
}

/* === SETTINGS / WHOAMI PAGES === */
.app-container table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.app-container table td, .app-container table th {
  padding: 10px 12px !important;
  border-bottom: 1px solid #E5E7EB !important;
  color: #1A1A40 !important;
  font-family: "Montserrat", -apple-system, sans-serif !important;
  font-size: 14px !important;
}

/* === MFA PAGES === */
.app-container code, .app-container pre {
  background-color: #F3F4F6 !important;
  border-radius: 8px !important;
  padding: 2px 6px !important;
  font-size: 13px !important;
  color: #1A1A40 !important;
}
