/* =============================================================================
   Mirai — Authelia Portal Custom Theme
   Brand: anthracite (#111114) + orange (#F07630)
   Authelia: 4.39 / MUI v5 dark mode
   ============================================================================= */

/* -- Background ---------------------------------------------------------------- */

html {
  background-color: #111114 !important;
}

body {
  background-color: #111114 !important;
  background-image: radial-gradient(ellipse at 50% 20%, #1D1D21 0%, #111114 70%) !important;
  background-attachment: fixed !important;
  min-height: 100vh;
}

/* MUI CssBaseline override */
.MuiCssBaseline-root {
  background-color: #111114 !important;
}

/* Root app container */
#root {
  background-color: transparent !important;
}

/* -- Login card ---------------------------------------------------------------- */

.MuiPaper-root {
  background-color: #1A1A1E !important;
  border: 1px solid rgba(240, 118, 48, 0.14) !important;
  border-radius: 14px !important;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(240, 118, 48, 0.05),
    0 0 40px rgba(240, 118, 48, 0.04) !important;
}

/* -- Sign in / action buttons -------------------------------------------------- */

.MuiButton-containedPrimary,
[class*="MuiButton-contained"] {
  background: #F07630 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(240, 118, 48, 0.35) !important;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease !important;
}

.MuiButton-containedPrimary:hover,
[class*="MuiButton-contained"]:hover {
  background: #D45F18 !important;
  box-shadow: 0 6px 20px rgba(240, 118, 48, 0.45) !important;
  transform: translateY(-1px) !important;
}

.MuiButton-containedPrimary:active,
[class*="MuiButton-contained"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(240, 118, 48, 0.3) !important;
}

/* Text/outlined buttons (secondary actions) */
.MuiButton-textPrimary,
.MuiButton-outlinedPrimary,
[class*="MuiButton-text"],
[class*="MuiButton-outlined"] {
  color: #F07630 !important;
  border-color: rgba(240, 118, 48, 0.4) !important;
}

.MuiButton-textPrimary:hover,
[class*="MuiButton-text"]:hover {
  background-color: rgba(240, 118, 48, 0.06) !important;
}

/* -- Input fields -------------------------------------------------------------- */

/* Default border */
.MuiOutlinedInput-notchedOutline,
[class*="MuiOutlinedInput-notchedOutline"] {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Hover border */
.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,
[class*="MuiOutlinedInput-root"]:hover [class*="MuiOutlinedInput-notchedOutline"] {
  border-color: rgba(240, 118, 48, 0.4) !important;
}

/* Focused border */
.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,
[class*="MuiOutlinedInput-root"][class*="Mui-focused"] [class*="MuiOutlinedInput-notchedOutline"] {
  border-color: #F07630 !important;
  border-width: 1.5px !important;
}

/* Input label */
.MuiInputLabel-root.Mui-focused,
[class*="MuiInputLabel-root"][class*="Mui-focused"] {
  color: #F07630 !important;
}

/* Input background */
.MuiOutlinedInput-root,
[class*="MuiOutlinedInput-root"] {
  background-color: rgba(255, 255, 255, 0.03) !important;
  border-radius: 8px !important;
}

/* -- Links --------------------------------------------------------------------- */

.MuiLink-root,
a[class*="MuiLink"],
a[class*="MuiTypography-colorPrimary"] {
  color: #F07630 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.MuiLink-root:hover,
a[class*="MuiLink"]:hover {
  color: #D45F18 !important;
  text-decoration: underline !important;
}

/* -- Checkbox (remember me) ---------------------------------------------------- */

.MuiCheckbox-root.Mui-checked svg,
.MuiCheckbox-colorPrimary.Mui-checked,
[class*="MuiCheckbox-root"][class*="Mui-checked"] {
  color: #F07630 !important;
}

/* Checkbox hover ripple */
.MuiCheckbox-root:hover,
[class*="MuiCheckbox-root"]:hover {
  background-color: rgba(240, 118, 48, 0.06) !important;
}

/* -- Switch -------------------------------------------------------------------- */

.MuiSwitch-colorPrimary.Mui-checked,
[class*="MuiSwitch-colorPrimary"][class*="Mui-checked"] {
  color: #F07630 !important;
}

.MuiSwitch-colorPrimary.Mui-checked + .MuiSwitch-track,
[class*="MuiSwitch-colorPrimary"][class*="Mui-checked"] + [class*="MuiSwitch-track"] {
  background-color: #F07630 !important;
}

/* -- Loading indicator --------------------------------------------------------- */

.MuiCircularProgress-colorPrimary,
[class*="MuiCircularProgress-colorPrimary"] {
  color: #F07630 !important;
}

.MuiLinearProgress-colorPrimary,
[class*="MuiLinearProgress-colorPrimary"] {
  background-color: rgba(240, 118, 48, 0.15) !important;
}

.MuiLinearProgress-barColorPrimary,
[class*="MuiLinearProgress-barColorPrimary"] {
  background-color: #F07630 !important;
}

/* -- Alerts -------------------------------------------------------------------- */

/* Success */
.MuiAlert-standardSuccess,
.MuiAlert-filledSuccess {
  background-color: rgba(45, 212, 191, 0.1) !important;
  border: 1px solid rgba(45, 212, 191, 0.25) !important;
  color: #2DD4BF !important;
}

/* Error */
.MuiAlert-standardError,
.MuiAlert-filledError {
  background-color: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
}

/* Warning */
.MuiAlert-standardWarning,
.MuiAlert-filledWarning {
  background-color: rgba(245, 158, 11, 0.1) !important;
  border: 1px solid rgba(245, 158, 11, 0.25) !important;
}

/* -- Dividers ------------------------------------------------------------------ */

.MuiDivider-root,
[class*="MuiDivider-root"] {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* -- Logo ---------------------------------------------------------------------- */

/* Center and subtly glow the Mirai logo */
img[src*="logo"] {
  filter: drop-shadow(0 0 12px rgba(240, 118, 48, 0.25)) !important;
  transition: filter 0.3s ease !important;
}

img[src*="logo"]:hover {
  filter: drop-shadow(0 0 18px rgba(240, 118, 48, 0.4)) !important;
}

/* -- Method selector (TOTP / WebAuthn toggle) ---------------------------------- */

.MuiTab-root.Mui-selected,
[class*="MuiTab-root"][class*="Mui-selected"] {
  color: #F07630 !important;
}

.MuiTabs-indicator,
[class*="MuiTabs-indicator"] {
  background-color: #F07630 !important;
}

/* -- Tooltip ------------------------------------------------------------------- */

.MuiTooltip-tooltip,
[class*="MuiTooltip-tooltip"] {
  background-color: #2A2A2F !important;
  border: 1px solid rgba(240, 118, 48, 0.15) !important;
  font-size: 12px !important;
}

/* -- "Powered by" footer ------------------------------------------------------- */

[class*="MuiTypography-colorTextSecondary"],
.MuiTypography-colorTextSecondary {
  color: rgba(156, 163, 175, 0.7) !important;
}
