/* Скрываем стандартные элементы InSales */
    header, footer, .header, .footer, .site-header, .site-footer, 
    .header-site, .footer-site, nav, .navigation, .top-bar, .menu,
    .main-header, .main-footer, .wp-header, .wp-footer,
    .theme-header, .theme-footer, .page-header, .page-footer, .widget-type_system_widget_v4_modal_cookie_1 {
      display: none !important;
    }
    
    .container, .container-fluid, .wrapper, .content, .page-content, main {
      max-width: none !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: var(--stem-font, 'Montserrat'), sans-serif;
      font-size: 12px;
      background: #1F1F1F;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
    }

    /* Полноэкранный прелоадер до восстановления Firebase-сессии (PWA / холодный старт) */
    .stem-login-boot-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483000;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #1F1F1F;
      padding: 24px;
      box-sizing: border-box;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .stem-login-boot-overlay--done {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    .stem-login-boot-card {
      text-align: center;
      max-width: min(320px, 92vw);
    }
    .stem-login-boot-spinner {
      width: 44px;
      height: 44px;
      border: 3px solid rgba(255, 255, 255, 0.14);
      border-top-color: #34d399;
      border-radius: 50%;
      margin: 0 auto 14px;
      animation: spin 0.8s linear infinite;
    }
    .stem-login-boot-label {
      margin: 0;
      font-size: 14px;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.7);
      line-height: 1.45;
    }
    html.dark-theme .stem-login-boot-overlay {
      background: #171717;
    }

    .login-container {
      background: white;
      border-radius: 16px;
      box-shadow: 0 8px 40px rgba(0,0,0,0.4);
      max-width: 560px;
      width: 100%;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.08);
    }

    .login-header {
      background: #1F1F1F;
      color: white;
      padding: 48px 40px;
      text-align: center;
    }

    .login-logo {
      width: 220px;
      height: auto;
      max-height: 88px;
      object-fit: contain;
      margin-bottom: 16px;
    }

    .login-header p {
      font-size: 12px;
      opacity: 0.85;
      color: rgba(255,255,255,0.9);
    }

    .login-body {
      padding: 44px 40px;
    }

    .form-tabs {
      display: flex;
      gap: 12px;
      margin-bottom: 30px;
      border-bottom: 2px solid #e5e7eb;
    }

    .form-tab {
      flex: 1;
      padding: 12px;
      background: none;
      border: none;
      font-size: 13px;
      font-weight: 600;
      color: #6b7280;
      cursor: pointer;
      transition: all 0.2s;
      border-bottom: 2px solid transparent;
      margin-bottom: -2px;
    }

    .form-tab.active {
      color: #1F1F1F;
      border-bottom-color: #1F1F1F;
    }

    .form-content {
      display: none;
    }

    .form-content.active {
      display: block;
      animation: fadeIn 0.3s ease-in-out;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .form-group {
      margin-bottom: 20px;
    }

    .form-label {
      display: block;
      font-size: 12px;
      font-weight: 600;
      color: #374151;
      margin-bottom: 8px;
    }

    .form-input {
      width: 100%;
      padding: 12px 16px;
      border: 2px solid #e5e7eb;
      border-radius: 8px;
      font-size: 12px;
      transition: all 0.2s;
    }

    .form-input:focus {
      outline: none;
      border-color: #3b82f6;
      box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
    }

    .btn-primary {
      width: 100%;
      padding: 14px;
      background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s;
    }

    .btn-primary:hover {
      background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4);
    }

    .btn-primary:active {
      transform: translateY(0);
    }

    .btn-primary:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
    }

    .alert {
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 20px;
      font-size: 12px;
      display: none;
    }

    .alert.active {
      display: block;
      animation: slideDown 0.3s ease-in-out;
    }

    @keyframes slideDown {
      from {
        opacity: 0;
        transform: translateY(-10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .alert-success {
      background: #d1fae5;
      color: #065f46;
      border: 2px solid #10b981;
    }

    .alert-error {
      background: #fee2e2;
      color: #991b1b;
      border: 2px solid #ef4444;
    }

    .alert-info {
      background: #f3f4f6;
      color: #374151;
      border: 2px solid #e5e7eb;
    }

    .loader {
      display: none;
      text-align: center;
      margin: 20px 0;
    }

    .loader.active {
      display: block;
    }

    .spinner {
      border: 4px solid #e5e7eb;
      border-top: 4px solid #3b82f6;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      animation: spin 1s linear infinite;
      margin: 0 auto 12px;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    .password-toggle {
      position: relative;
    }

    .password-toggle-btn {
      position: absolute;
      right: 12px;
      top: 50%;
      transform: translateY(-50%);
      background: none;
      border: none;
      cursor: pointer;
      font-size: 18px;
      color: #6b7280;
      padding: 4px;
    }

    /* early/dark: #000 на html/body; выравниваем фон + body::after (safe area) под #1F1F1F */
    html:has(.login-container),
    html.dark-theme:has(.login-container) { background: #1F1F1F !important; color-scheme: dark; }
    html:has(.login-container) body,
    html.dark-theme:has(.login-container) body { background: #1F1F1F !important; }
    html:has(.login-container) body::after,
    html.dark-theme:has(.login-container) body::after { background-color: #1F1F1F !important; }
