/* 놀아 글터 관리 콘솔 · 플랫폼 관리
   포털 시안의 무채색 체계(#111 · #5C5C5C · #F5F5F3)와 Noto Sans KR. 인라인 스크립트 없음. */
:root{
  --ink:#111111;--sub:#5C5C5C;--muted:#8A8A86;--line:#E7E7E4;--line-strong:#D4D4D0;--bg:#F5F5F3;--card:#FFFFFF;
  --accent:#111111;--accent-ink:#FFFFFF;--focus:#2F55D4;--ok:#0E7C3E;--ok-bg:#E9F6EE;--warn:#8A4B00;--warn-bg:#FFF4E0;
  --danger:#B42318;--danger-bg:#FDECEA;--info-bg:#EEF2FD;--radius:10px;--radius-sm:6px;
  font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--bg);word-break:keep-all
}
*{box-sizing:border-box}
body{margin:0;font-size:15px;line-height:1.6}
a{color:var(--ink);text-underline-offset:3px}
a:hover{color:#000}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1{font-size:24px;line-height:1.3;margin:0 0 6px}
h2{font-size:18px;line-height:1.4;margin:0 0 12px}
h3{font-size:16px;margin:0 0 8px}
p{margin:0 0 12px}
small,.nbc-muted{color:var(--sub)}
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--bg);padding:2px 6px;border-radius:4px}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}

/* 상단 · 틀 */
.nbc-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;min-height:56px;padding:0 20px;background:var(--card);border-bottom:1px solid var(--line)}
.nbc-logo{font-weight:900;font-size:17px;text-decoration:none;letter-spacing:-.01em}
.nbc-switch{position:relative}
.nbc-switch summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm)}
.nbc-switch summary::-webkit-details-marker{display:none}
.nbc-switch__name{font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nbc-switch ul{position:absolute;left:0;top:calc(100% + 6px);min-width:260px;margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.nbc-switch li a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none}
.nbc-switch li a:hover,.nbc-switch li a[aria-current]{background:var(--bg)}
.nbc-user{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:14px}
.nbc-user form{margin:0}
.nbc-user__name{color:var(--sub)}
.nbc-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 56px)}
.nbc-body--wide{grid-template-columns:minmax(0,1fr)}
.nbc-side{background:var(--card);border-right:1px solid var(--line);padding:16px 12px}
.nbc-side ul{list-style:none;margin:0;padding:0}
.nbc-side a{display:block;padding:9px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--sub);font-weight:500}
.nbc-side a:hover{background:var(--bg);color:var(--ink)}
.nbc-side a[aria-current]{background:var(--ink);color:#fff}
.nbc-main{padding:28px 32px 64px;max-width:1120px;width:100%}
.nbc-body--wide .nbc-main{margin:0 auto}
@media (max-width:860px){
  .nbc-body{grid-template-columns:1fr}
  .nbc-side{border-right:0;border-bottom:1px solid var(--line);padding:8px}
  .nbc-side ul{display:flex;gap:4px;overflow-x:auto}
  .nbc-side a{white-space:nowrap}
  .nbc-main{padding:20px 16px 48px}
  .nbc-top{flex-wrap:wrap;padding:8px 16px}
  .nbc-user{margin-left:0}
}

/* 머리글 */
.nbc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px}
.nbc-head p{margin:0;color:var(--sub)}
.nbc-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* 카드 · 그리드 */
.nbc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:16px}
.nbc-card > h2:first-child{margin-top:0}
.nbc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.nbc-stat{display:flex;flex-direction:column;gap:4px}
.nbc-stat strong{font-size:26px;line-height:1.2}
.nbc-stat span{color:var(--sub);font-size:13px}
.nbc-center{max-width:520px;margin:12vh auto;padding:28px 24px;text-align:center}
.nbc-brand{font-weight:900;margin-bottom:12px}
.nbc-empty{text-align:center;padding:40px 16px;color:var(--sub)}

/* 버튼 */
.nbc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);color:var(--accent-ink);font:inherit;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer}
.nbc-btn:hover{background:#000;color:#fff}
.nbc-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.nbc-btn--ghost:hover{background:var(--bg);color:var(--ink)}
.nbc-btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}
.nbc-btn--sm{min-height:32px;padding:0 10px;font-size:13px}
.nbc-btn[disabled]{opacity:.5;cursor:not-allowed}
.nbc-link{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nbc-inline{display:inline}

/* 표 */
.nbc-table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.nbc-table{width:100%;border-collapse:collapse;font-size:14px}
.nbc-table th,.nbc-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.nbc-table th{font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.04em;background:#FAFAF8}
.nbc-table tr:last-child td{border-bottom:0}
.nbc-table td.nbc-num,.nbc-table th.nbc-num{text-align:right;font-variant-numeric:tabular-nums}

/* 배지 · 알림 */
.nbc-badge{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--sub);white-space:nowrap}
.nbc-badge--ok{background:var(--ok-bg);border-color:#BFE3CC;color:var(--ok)}
.nbc-badge--warn{background:var(--warn-bg);border-color:#F2D3A0;color:var(--warn)}
.nbc-badge--danger{background:var(--danger-bg);border-color:#F4C2BC;color:var(--danger)}
.nbc-flash{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;border:1px solid var(--line);background:var(--card)}
.nbc-flash--success{background:var(--ok-bg);border-color:#BFE3CC;color:var(--ok)}
.nbc-flash--error{background:var(--danger-bg);border-color:#F4C2BC;color:var(--danger)}
.nbc-flash--info{background:var(--info-bg);border-color:#CAD5F7}
.nbc-note{padding:12px 16px;border-radius:var(--radius-sm);background:var(--info-bg);font-size:14px;margin-bottom:16px}
.nbc-secret-once{padding:14px 16px;border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid #F2D3A0}
.nbc-secret-once code{display:block;margin-top:8px;padding:10px;background:#fff;word-break:break-all;font-size:14px}

/* 폼 */
.nbc-form{display:grid;gap:16px;max-width:640px}
.nbc-form--wide{max-width:none}
.nbc-field{display:grid;gap:6px}
.nbc-field > label,.nbc-label{font-weight:700;font-size:14px}
.nbc-field .nbc-help{font-size:13px;color:var(--sub);margin:0}
.nbc-field .nbc-error{font-size:13px;color:var(--danger);margin:0}
.nbc-input,.nbc-select,.nbc-textarea{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;font-size:15px}
.nbc-textarea{min-height:110px;resize:vertical}
.nbc-input[aria-invalid=true],.nbc-select[aria-invalid=true]{border-color:var(--danger)}
.nbc-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.nbc-row > .nbc-field{flex:1 1 200px}
.nbc-check{display:flex;align-items:center;gap:8px;font-size:14px}
.nbc-fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0}
.nbc-fieldset legend{font-weight:700;padding:0 6px}

/* 오류 화면 */
.nbc-error{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.nbc-error__box{max-width:520px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:40px 32px}
.nbc-error__code{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--sub)}
.nbc-error__box h1{margin:8px 0 12px}
.nbc-error__rid{margin-top:24px;font-size:13px;color:var(--sub)}
.nbc-error__debug{white-space:pre-wrap;background:#FFF5F2;border:1px solid #F3C6BB;padding:12px;border-radius:8px;font-size:13px}
.nbc-error__fields{padding-left:18px}

/* mock 로그인 */
.nbc-mock__list{list-style:none;padding:0;display:grid;gap:8px;margin:20px 0}
.nbc-mock__list button{width:100%;min-height:48px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;font:inherit;cursor:pointer}
.nbc-mock__list button:hover{background:var(--bg)}

/* 놀아 로그인 버튼(브랜드 안내 문구만, 보증 표현 없음) */
.nbc-nola-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:#111;color:#fff;font-weight:700;text-decoration:none}
.nbc-nola-btn:hover{color:#fff;background:#000}

/* 도우미 */
.nbc-card--link{display:block;text-decoration:none;color:inherit}
.nbc-card--link:hover{border-color:var(--line-strong);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.nbc-mt{margin-top:20px}
.nbc-narrow{max-width:560px;margin:40px auto}
.nbc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nbc-plat .nbc-top{background:#111;color:#fff;border-bottom-color:#111}
.nbc-plat .nbc-top a,.nbc-plat .nbc-top .nbc-link{color:#fff}
.nbc-plat .nbc-logo::after{content:" · PLATFORM";font-size:11px;letter-spacing:.12em;color:#aaa;font-weight:700}
.nbc-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
.nbc-kv dt{color:var(--sub);font-size:14px}
.nbc-kv dd{margin:0}

/* 글 목록 · 에디터 · 분류 · 미디어 */
.nbc-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.nbc-tabs a{padding:8px 12px;text-decoration:none;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px}
.nbc-tabs a[aria-current]{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}
.nbc-filter{margin-bottom:16px}
.nbc-editor__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.nbc-editor__side .nbc-card h2{font-size:15px}
.nbc-title-input{width:100%;border:0;border-bottom:1px solid var(--line-strong);background:transparent;font:inherit;font-size:28px;font-weight:700;padding:8px 0;margin-bottom:16px}
.nbc-title-input:focus{outline:none;border-bottom-color:var(--ink)}
.nbc-cover-pick{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0;max-height:240px;overflow:auto}
.nbc-cover-opt{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:4px;cursor:pointer}
.nbc-cover-opt img{display:block;width:96px;height:64px;object-fit:cover;border-radius:4px}
.nbc-cover-opt:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.nbc-revs{padding-left:18px;font-size:13px}
.nbc-details summary{cursor:pointer;color:var(--sub)}
.nbc-media-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.nbc-media img{display:block;width:100%;height:150px;object-fit:cover;border-radius:6px;background:var(--bg)}
@media (max-width:1024px){.nbc-editor__grid{grid-template-columns:1fr}}
.nbc-list{list-style:none;margin:0;padding:0}
.nbc-list li{padding:6px 0;border-bottom:1px solid var(--line)}
.nbc-list li:last-child{border-bottom:0}
/* 디자인(A-11 ~ A-14) */
.nbc-color{width:72px;height:40px;padding:3px;cursor:pointer}
.nbc-theme{margin:0;display:flex;flex-direction:column;gap:8px}
.nbc-theme h3{margin:0;font-size:16px}
.nbc-theme p{margin:0}
.nbc-theme--current{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.nbc-code{margin:0;padding:12px 14px;background:#16181d;color:#e8e8e8;border-radius:var(--radius-sm);overflow-x:auto;font-size:13px;line-height:1.55}
