/* ═══════════════════════════════════════════════════════════════
   Shared base styles (used by Tenant Admin + login.html)
   実際のテーマは admin.css 側で適用される。
   ─ ここでは旧暗色サイドバー記法を打ち消すための互換オーバーライドを置く
   ═══════════════════════════════════════════════════════════════ */

/* ─── 旧 .sidebar (暗色固定250px) → .admin-sidebar に統一されているので
       .sidebarが残っているケースはほぼないが、念のため軽い無害化 ─── */
body { font-size: .875rem; }

/* 認証ガードフラッシュ防止 */
body:not(.app-ready):not(.no-auth-guard) { visibility: hidden; }
body.app-ready { visibility: visible; }

/* ─── Login / Forgot Password 用 ─── */
.login-container, .auth-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%);
  padding: 1.5rem;
}
.login-card, .auth-card {
  width: 100%;
  max-width: 420px;
  border-radius: 14px;
  box-shadow: 0 25px 50px rgba(15, 23, 42, .25);
  background: #fff;
  padding: 2rem;
}

/* ─── 共通 utility ─── */
.search-form { width: 300px; }

/* ─── レッスンページ用カリキュラムサイドバー（admin/userで共有可能性あり） ─── */
.curriculum-sidebar {
  background: #1e293b !important;
}
.curriculum-sidebar .accordion-button {
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.9);
}
.curriculum-sidebar .accordion-button::after { filter: invert(1); }
.curriculum-sidebar .accordion-button:not(.collapsed) {
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
}
.curriculum-sidebar .list-group-item {
  padding: 0.5rem 1rem 0.5rem 2rem;
  font-size: 0.85rem;
  border-color: rgba(255,255,255,0.08);
  background: transparent;
  color: rgba(255,255,255,0.7);
}
.curriculum-sidebar .list-group-item.completed { color: rgba(255,255,255,0.55) !important; }
.curriculum-sidebar .list-group-item.active-lesson {
  background: rgba(37,99,235,0.25) !important;
  border-left: 3px solid #3b82f6;
  color: #fff;
}
.curriculum-sidebar .list-group-item:hover {
  background: rgba(255,255,255,0.05) !important;
  color: #fff;
}

.lesson-content { background-color: #f8fafc; }

/* 旧 .stat-card フォールバック（admin.cssで上書きされる） */
.stat-card { transition: transform .2s, box-shadow .2s; }

/* video container */
.video-container {
  background: #000;
  border-radius: .5rem;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .video-container .ratio {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    width: calc(100% + 1rem);
  }
}
