.admin-shell { color: #0f172a; background: #f1f5f9; font-size: 15px; line-height: 1.6; }
.admin-shell [hidden] { display: none !important; }
.admin-shell .text-slate-500, .admin-shell .text-slate-400 { color: #475569; }
.admin-shell :focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.admin-skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 100; padding: .75rem 1rem; background: white; color: #0f172a; transform: translateY(-200%); }
.admin-skip-link:focus { transform: translateY(0); }
.admin-shell main :is(input:not([type=checkbox]):not([type=radio]), textarea, select) { max-width: 100%; min-width: 0; }
.admin-shell main :is(h1, h2, p, td, summary) { overflow-wrap: anywhere; }
.admin-shell main form > div { min-width: 0; }
.admin-shell main h1, .admin-page-header h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: -.025em; }
.admin-page-header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin-bottom: 1.5rem; }
.admin-page-header p { margin-top: .35rem; color: #475569; }
.admin-navigation { padding: .25rem 1rem 1rem; }
.admin-navigation section { margin-bottom: .8rem; }
.admin-navigation h2 { color: #475569; font-size: .75rem; font-weight: 700; padding: .35rem .75rem; }
.admin-navigation a { display: flex; align-items: center; min-height: 44px; border-radius: .4rem; padding: .45rem .75rem; font-size: .9rem; }
.admin-navigation a:hover { background: #f1f5f9; }
.admin-navigation .is-active { background: #0f172a; color: white; font-weight: 600; }
.admin-navigation .is-active:hover { background: #1e293b; }
.admin-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem .8rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: white; color: #1e293b; font-size: .875rem; font-weight: 600; cursor: pointer; }
.admin-button-primary { background: #0f172a; color: white; border-color: #0f172a; }
.admin-shell nav[aria-label="기사 상태"] .admin-button[aria-current="page"] { background: #0f172a; color: white; border-color: #0f172a; }
.admin-shell main button, .admin-shell main input[type=submit], .admin-shell main select, .admin-shell main input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { min-height: 44px; }
.admin-shell main table a, .admin-shell main table button { display: inline-flex; align-items: center; min-height: 44px; padding: .35rem .45rem; }
.admin-shell main table th { white-space: nowrap; color: #334155; }
.admin-shell main table td { vertical-align: top; }
.admin-panel { padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: white; }
.admin-table-wrap { overflow-x: auto; border: 1px solid #e2e8f0; border-radius: .65rem; background: white; }
.admin-table-wrap table { width: 100%; text-align: left; font-size: .9rem; border-collapse: collapse; }
.admin-table-wrap th, .admin-table-wrap td { padding: .75rem 1rem; border-bottom: 1px solid #e2e8f0; }
.admin-table-wrap thead { background: #f8fafc; }
.editor-actions { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding: 1rem; background: #fff; border: 1px solid #cbd5e1; border-radius: .5rem; box-shadow: 0 2px 5px #0f172a0d; }
.editor-grid { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
.editor-grid > * { min-width: 0; }
.admin-shell .editor-grid .editor-content { margin-top: 0; }
.admin-filter-details { margin-left: auto; }
.admin-shell summary { cursor: pointer; padding: .6rem 0; min-height: 44px; }
.admin-shell .task-card { display: block; border: 1px solid #cbd5e1; border-radius: .65rem; padding: 1rem; background: white; }
.admin-shell .task-card strong { display: block; font-size: 1.6rem; }
.admin-shell .task-card:hover { border-color: #334155; }
@media (min-width: 1200px) {
  .editor-grid { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .editor-grid > .editor-content { grid-column: 1; grid-row: 1; }
  .editor-grid > .editor-metadata { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 767px) {
  .editor-actions { position: static; }
  .admin-page-header { flex-direction: column; }
  .admin-navigation { display: grid; grid-template-columns: 1fr 1fr; }
}
