/* GetBar — Bootstrap 5 overrides only */
body.app-home #root { display: none !important; }
body.app-home .side-content { display: none !important; }

/* ===== Login page ===== */
body.app-login { background: #fff !important; }
body.app-login #ai-btn, body.app-login #audio-read-btn,
body.app-login #annotation-pen-btn, body.app-login #ai-box { display: none !important; }
/* Hide original branding & tabs */
body.app-login [class*="topBrand"] { display: none !important; }
body.app-login .ant-tabs-nav { display: none !important; }
/* Center the form */
body.app-login [class*="container___"] { background: transparent !important; min-height: 100vh !important; display: flex !important; align-items: center !important; justify-content: center !important; }
body.app-login [class*="mainContent"] { background: transparent !important; width: 100% !important; max-width: 360px !important; }
body.app-login [class*="rightSection"] { background: transparent !important; padding: 0 1.5rem !important; }
body.app-login [class*="loginContainer"] { box-shadow: none !important; border: none !important; background: transparent !important; padding: 0 !important; }
body.app-login [class*="loginTabs"] { padding: 0 !important; }
/* Input styling */
body.app-login .ant-input,
body.app-login .ant-input-affix-wrapper { border: none !important; border-bottom: 1.5px solid #e5e7eb !important; border-radius: 0 !important; height: 48px !important; font-size: 1rem !important; background: transparent !important; box-shadow: none !important; padding-left: 8px !important; }
body.app-login .ant-input-affix-wrapper .ant-input { border: none !important; height: auto !important; }
body.app-login .ant-input:focus, body.app-login .ant-input-affix-wrapper-focused { border-bottom-color: #8b5cf6 !important; box-shadow: none !important; }
body.app-login .ant-input-prefix { color: #9ca3af !important; margin-right: 8px !important; }
body.app-login .ant-input-suffix { opacity: .3 !important; }
/* Button */
body.app-login .ant-btn-primary { background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important; border: none !important; border-radius: 2rem !important; height: 48px !important; font-size: 1rem !important; font-weight: 600 !important; margin-top: 1rem !important; color: #fff !important; }
body.app-login .ant-form-item { margin-bottom: 20px !important; }
/* Bottom branding */
body.app-login #login-brand { position: fixed; bottom: 2rem; left: 0; right: 0; text-align: center; z-index: 1; }
body.app-login #login-brand .brand-name { font-size: 1.8rem; font-weight: 800; letter-spacing: -1px; background: linear-gradient(135deg, #3b82f6, #8b5cf6); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
body.app-login #login-brand .brand-sub { font-size: .8rem; color: #9ca3af; margin-top: .2rem; }

#app-root { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif; }

/* Sidebar */
.sidebar-nav { min-width: 200px; }
.sidebar-btn { white-space: nowrap; padding: .65rem 1rem; }
.sidebar-btn.active { background: #f0f4ff !important; }

/* Subject card hover */
.subject-card { transition: transform .2s, box-shadow .2s; cursor: pointer; }
.subject-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }

/* Mobile sidebar = two-row wrap tabs */
@media (max-width: 991.98px) {
  .sidebar-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: .35rem !important;
    padding-bottom: 4px;
  }
  .sidebar-btn { flex-shrink: 0; padding: .4rem .7rem; font-size: .82rem; }
}
#getbar-app { padding-bottom: 60px; }

/* Purple accent helper */
.text-purple { color: #8b5cf6 !important; }

/* Progress bar thin */
.progress { height: 5px; }

/* Hide hack.js floating buttons visually on home page (keep clickable for navbar delegation) */
body.app-home #ai-btn,
body.app-home #audio-read-btn,
body.app-home #annotation-pen-btn { position: fixed !important; left: -9999px !important; top: -9999px !important; opacity: 0 !important; }

/* Mobile bottom action bar */
.getbar-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #dee2e6;
  padding: .5rem 1rem;
  z-index: 1050;
  box-shadow: 0 -2px 8px rgba(0,0,0,.06);
}

/* Repo grid: multi-column on desktop, single on mobile */
.repo-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 4px 12px !important;
}
@media (max-width: 767px) {
  .repo-grid { grid-template-columns: 1fr !important; }
}

body.app-login #login-signup-hint { text-align: center; margin-top: 18px; font-size: 0.9rem; color: #6b7280; }
body.app-login #login-signup-hint a { color: #6b7280; text-decoration: none; }
body.app-login #login-signup-hint a span { color: #8b5cf6; font-weight: 600; margin-left: 4px; }
body.app-login #login-signup-hint a:hover span { text-decoration: underline; }

/* `.gb-nav-*` and `.gb-theme-btn` rules moved to /getbar-navbar.css.js
   Injected at runtime by each entry point (hack-getbar.js, hack-sqe.js, app.js /report).
   Edit that file instead — don't add navbar rules here. */
