/* 세션 남은 시간 표시 · 만료 안내 배너 (사이트 + Django Admin 공용). Tailwind 빌드와 독립. */
.st-chip { display: inline-flex; align-items: center; gap: .5rem; font-size: .8125rem; }
.st-time { font-variant-numeric: tabular-nums; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.st-time.is-warn { color: #b45309; font-weight: 600; }
.st-btn { cursor: pointer; border: 1px solid currentColor; background: transparent; color: inherit;
          border-radius: .5rem; padding: .25rem .625rem; font-size: .8125rem; line-height: 1.25; }
.st-btn:hover { background: rgba(127,127,127,.15); }
.st-btn[disabled] { opacity: .5; cursor: default; }
.st-banner { position: fixed; left: 0; right: 0; top: 4rem; z-index: 60; padding: .75rem 1rem;
             display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: center;
             background: #fffbeb; color: #78350f; border-bottom: 1px solid #fcd34d; font-size: .875rem;
             box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.st-banner.is-danger { background: #fef2f2; color: #7f1d1d; border-color: #fca5a5; }
.st-banner .st-btn { border-color: currentColor; }
/* display:flex 가 UA 의 [hidden]{display:none} 을 덮어쓰므로 명시적으로 복원 */
.st-banner[hidden], .st-btn[hidden] { display: none !important; }
.st-banner a { color: inherit; text-decoration: underline; }
.dark .st-banner { background: #451a03; color: #fde68a; border-color: #92400e; }
.dark .st-banner.is-danger { background: #450a0a; color: #fecaca; border-color: #991b1b; }
.dark .st-time.is-warn { color: #fbbf24; }
[x-cloak] { display: none !important; }
/* Django Admin: 헤더 높이가 달라 상단 고정 + 어두운 테마는 prefers-color-scheme */
.st-admin .st-banner { top: 0; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .st-admin .st-banner { background: #451a03; color: #fde68a; border-color: #92400e; }
}
