/* 관리자 확장 화면(2026-10-20) — 대시보드 절·새 화면 공용 머리·기간 선택기·카드 격자·표. index.html 의 변수를 그대로 쓴다. */
header.kc-shell{display:flex;align-items:center;gap:14px;height:auto;min-height:56px;padding:8px 20px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}   /* height:auto — 화면이 index.html 의 header{height:56px} 를 베껴 와도 메뉴가 겹치지 않게 */
@media (max-width:720px){header.kc-shell{position:static;padding:10px 12px;gap:8px}header.kc-shell nav{width:100%;order:3;gap:8px 12px}header.kc-shell .who{margin-left:auto}}
/* index.html 의 머리(인라인 header{height:56px} 보다 구체적인 선택자) — 메뉴가 많아져 좁은 화면에서 옆으로 넘치지 않게 줄바꿈 */
body>header{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 20px}body>header nav{flex-wrap:wrap;gap:6px 10px}
@media (max-width:720px){body>header{position:static;padding:10px 12px}body>header nav{width:100%;order:3}body>header .who{margin-left:auto}}
header.kc-shell b{color:var(--ink)}header.kc-shell nav{display:flex;gap:10px;font-size:12.5px;flex-wrap:wrap}header.kc-shell nav a{color:var(--muted);text-decoration:none;padding:4px 0}header.kc-shell nav a:hover,header.kc-shell nav a[aria-current=page]{color:var(--blue)}header.kc-shell nav a[aria-current=page]{font-weight:600}
header.kc-shell .who{margin-left:auto;font-size:12.5px;color:var(--muted)}header.kc-shell button{margin:0}
.period{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 12px}.period .tabs{margin:0}.period .custom input{width:auto;max-width:160px;padding:5px 8px;font-size:12.5px}.period .custom button{margin:0}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.dash-card{display:block;border:1px solid var(--line-2);border-radius:14px;padding:14px 16px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .12s}.dash-card:hover{border-color:var(--blue)}
.dash-card h3{margin:0 0 8px;font-size:13px;color:var(--ink);display:flex;justify-content:space-between;align-items:center}.dash-card h3 .go{font-size:11px;color:var(--blue);font-weight:500}
.dash-card .big{font-size:26px;letter-spacing:-.03em;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.dash-card .big small{font-size:12px;color:var(--muted);letter-spacing:0;margin-left:6px}
.dash-card dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;font-size:12.5px}.dash-card dt{color:var(--muted)}.dash-card dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.dash-card .foot{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.5}.dash-card ol{margin:6px 0 0;padding-left:18px;font-size:12.5px}.dash-card ol li{margin:2px 0}
.dash-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin:0 0 10px}.dash-meta b{color:var(--ink);font-weight:600}
.dash-empty{color:var(--muted);font-size:12.5px}
.bar-row{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:3px 0}.bar-row .bar{flex:1;height:8px;border-radius:99px;background:var(--line-2);overflow:hidden}.bar-row .bar i{display:block;height:100%;background:var(--blue)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}.toolbar input,.toolbar select{width:auto;max-width:260px;padding:6px 10px;font-size:12.5px}.toolbar button{margin:0}
.pager{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:10px}.pager button{margin:0}
.banner{border-radius:12px;padding:10px 14px;font-size:12.5px;margin:0 0 12px;border:1px solid var(--line-2);background:var(--surface-2)}.banner.warn{background:var(--yellow-soft);color:var(--yellow-ink);border-color:transparent}.banner.off{background:var(--red-soft);color:var(--red-ink);border-color:transparent}.banner.ok{background:var(--green-soft);color:var(--green-ink);border-color:transparent}
.two{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px}@media (max-width:900px){.two{grid-template-columns:1fr}}
.tree ul{list-style:none;margin:0;padding-left:14px}.tree>ul{padding-left:0}.tree li{margin:2px 0}.tree button.node{background:none;border:0;color:var(--ink);font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;cursor:pointer;width:100%;text-align:left;margin:0;display:flex;justify-content:space-between;gap:6px}.tree button.node:hover{background:var(--surface-2)}.tree button.node[aria-current=true]{background:var(--blue-soft);color:var(--blue)}.tree .n{font-family:var(--mono);font-size:11px;color:var(--muted)}
.drop{border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center;color:var(--muted);font-size:13px;background:var(--surface-2);margin:0 0 12px}.drop.over{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.drop input{display:none}.drop button{margin:8px 0 0}
.drawer{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:14px;background:var(--surface)}.drawer h3{margin:0 0 6px}.drawer textarea.text{width:100%;max-width:none;min-height:260px;font-family:var(--mono);font-size:12.5px;line-height:1.6}
.drawer iframe.pv{width:100%;height:420px;border:1px solid var(--line-2);border-radius:10px;background:#fff}.drawer img.pv{max-width:100%;border-radius:10px;border:1px solid var(--line-2)}
.chip.stored{background:var(--surface-2);color:var(--muted);border-color:transparent}.chip.processing{background:var(--blue-soft);color:var(--blue);border-color:transparent}.chip.searchable{background:var(--green-soft);color:var(--green-ink);border-color:transparent}.chip.needs_review{background:var(--yellow-soft);color:var(--yellow-ink);border-color:transparent}.chip.new{background:var(--blue-soft);color:var(--blue);border-color:transparent}.chip.read{background:var(--surface-2);color:var(--muted);border-color:transparent}.chip.done{background:var(--green-soft);color:var(--green-ink);border-color:transparent}.chip.warn{background:var(--yellow-soft);color:var(--yellow-ink);border-color:transparent}.chip.error{background:var(--red-soft);color:var(--red-ink);border-color:transparent}.chip.public{background:var(--green-soft);color:var(--green-ink);border-color:transparent}.chip.private{background:var(--surface-2);color:var(--muted);border-color:transparent}
.policy-tabs{margin-bottom:10px}textarea.policy{width:100%;max-width:none;min-height:200px;font-size:13px;line-height:1.6}
.claims .claim{margin:6px 0;padding-left:10px;border-left:3px solid var(--blue-soft)}.claims mark{background:var(--yellow-soft)}.cites .cite{border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;margin:6px 0;font-size:12.5px}.cites .cite .m{color:var(--muted);font-size:11.5px}
@media (max-width:720px){main{padding:14px 12px 60px}.card{padding:14px 14px;border-radius:12px}section[id]{overflow-x:auto}}
