/*
 * Simple Maintenance Plugin - Unified Stylesheet
 * ================================================
 * This file is loaded:
 * - On all pages via view_layouts_base_html_head (admin menu icon)
 * - During maintenance via view_layouts_base_body_top (banner + login controls)
 */

/* ===========================================
   Maintenance Banner
   =========================================== */
.maintenance-banner {
  background-color: #fcff44;
  color: #f51d33;
  padding: 8px;
  text-align: center;
  border-bottom: 1px solid #fff3f4;
  position: sticky;
  top: 0;
  z-index: 1050;
  line-height: 1.2;
  min-height: 48px;
  max-height: 64px;
  overflow-y: auto;
}

/* ===========================================
   Login Page Controls During Maintenance
   =========================================== */

/*
 * External authentication buttons - DISABLED during maintenance
 * 
 * Supported plugins:
 * - redmine_saml: #saml-login
 * - redmine_omniauth_google: .google-login, [class*="omniauth-google"]
 * - redmine_omniauth_azure: .azure-login, [class*="omniauth-azure"]
 * - redmine_omniauth_github: .github-login, [class*="omniauth-github"]
 * - redmine_openid_connect: .oidc-login, .openid-connect-login
 * - redmine_cas: .cas-login
 * - redmine_ldap_auth (button style): .ldap-login
 * - Generic: .external-login, .sso-login, .oauth-login
 *
 * Add custom selectors below if needed for your environment
 */
body.maintenance-active:not(.controller-settings) #saml-login,
body.maintenance-active:not(.controller-settings) .google-login,
body.maintenance-active:not(.controller-settings) .azure-login,
body.maintenance-active:not(.controller-settings) .github-login,
body.maintenance-active:not(.controller-settings) .oidc-login,
body.maintenance-active:not(.controller-settings) .openid-connect-login,
body.maintenance-active:not(.controller-settings) .cas-login,
body.maintenance-active:not(.controller-settings) .ldap-login,
body.maintenance-active:not(.controller-settings) .external-login,
body.maintenance-active:not(.controller-settings) .sso-login,
body.maintenance-active:not(.controller-settings) .oauth-login,
body.maintenance-active:not(.controller-settings) [class*="omniauth-"] {
  opacity: 0.5 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}

/* Standard login form - slightly dimmed but still operable */
body.maintenance-active:not(.controller-settings) #login-form {
  opacity: 0.7 !important;
}

/* Login button disabled state during maintenance */
body.maintenance-active #login-form input[type="submit"]:disabled {
  color: #DDDDDD !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
