/* =====================================================
   actor — テーマ変数
   テーマ変更はここだけ書き換えてください
   ===================================================== */

:root {
  /* ── 管理画面（--adm-*） ── */
  --adm-bg:          #0d1829;
  --adm-surface:     #162238;
  --adm-surface-alt: #0c1924;
  --adm-border:      #243450;
  --adm-text:        #e2e8f0;
  --adm-muted:       #7a90aa;
  --adm-accent:      #6366f1;
  --adm-sidebar:     #07101e;

  /* ── 会員・公開側（--pub-*） ── */
  --pub-bg:      #0d1829;
  --pub-surface: #162238;
  --pub-border:  #243450;
  --pub-text:    #e2e8f0;
  --pub-muted:   #7a90aa;
  --pub-accent:  #6366f1;
  --pub-line:    #06c755;
}

/* =====================================================
   公開・ログインページ（pub-*）
   login.html / login_pending.html で使用
   ===================================================== */

html, body { height: 100%; margin: 0; }
body { font-family: 'Noto Sans JP', sans-serif; background: var(--pub-bg); color: var(--pub-text); }
*, *::before, *::after { box-sizing: border-box; }
a { color: var(--pub-accent); text-decoration: none; }

.pub-center { min-height: 100vh; display: flex; align-items: center;
              justify-content: center; padding: 1.5rem; }
.pub-wrap   { width: 100%; max-width: 400px; }
.pub-card   { background: var(--pub-surface); border: 1px solid var(--pub-border);
              border-radius: .75rem; padding: 2rem; }

.pub-title  { font-size: 1.1rem; font-weight: 700; margin-bottom: .4rem; }

.pub-alert      { border-radius: .375rem; padding: .7rem 1rem;
                  margin-bottom: 1rem; border: 1px solid; font-size: .875rem; text-align: left; }
.pub-alert-err  { background: #2d0707; border-color: #7f1d1d; color: #fca5a5; }
.pub-alert-info { background: rgba(99,102,241,.08); border-color: rgba(99,102,241,.3); color: #a5b4fc; }
.pub-alert-title { font-weight: 500; margin-bottom: .5rem; }
.pub-alert-body  { font-size: .875rem; line-height: 1.6; }

.pub-btn { display: block; width: 100%; padding: .65rem 1rem; border-radius: .4rem;
           font-size: .9rem; font-weight: 500; text-align: center; cursor: pointer;
           transition: all .15s; border: 1px solid transparent;
           font-family: inherit; text-decoration: none; }
.pub-btn-line    { background: var(--pub-line); color: #fff; border-color: var(--pub-line); }
.pub-btn-line:hover { background: #05a848; color: #fff; }
.pub-btn-primary { background: var(--pub-accent); color: #fff; border-color: var(--pub-accent); }
.pub-btn-primary:hover { background: #818cf8; color: #fff; }

.pub-link { display: block; color: var(--pub-muted); font-size: .875rem; text-align: center; }
.pub-link:hover { color: var(--pub-text); }
