/* 자료실: 폴더 트리 | 문서 목록 (조직관리의 .org 2단 배치를 그대로 쓴다) */
.lib{margin-top:0}
.lib-fn{display:flex;align-items:center;gap:6px;min-width:0}
.lib-fn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-lock{font-style:normal;font-size:var(--fs-xs);font-weight:600;padding:0 5px;border-radius:var(--r-xs);border:1px solid var(--line);color:var(--muted)}
.lib-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--fs-lg);font-weight:700}
.lib-crumbs button{border:0;background:none;padding:2px 4px;border-radius:var(--r-sm);font-weight:700;color:var(--muted)}
.lib-crumbs button:hover{background:var(--surface-2);color:var(--fg)}
.lib-crumbs button[aria-current="true"],.lib-crumbs button:only-child{color:var(--fg)}
.lib-crumbs span{color:var(--muted);font-weight:400}
.lib-list{display:grid}
.lrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:none;padding:11px 16px}
.lrow:first-child{border-top:0}
.lrow:hover{background:var(--surface-2)}
.lic{width:42px;display:grid;place-items:center;color:var(--accent)}
.lic svg{width:22px;height:22px;fill:var(--accent-soft);stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.lmain{display:grid;gap:2px;min-width:0}
.ltitle{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}
.ltitle b,.lrow.folder .lmain>b{font-weight:600;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis}
.lmeta{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lside{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}
.tag.k-rule{background:var(--danger-soft);color:var(--danger)}
.tag.k-form{background:var(--accent-soft);color:var(--accent)}
.tag.k-file{background:var(--surface-2);color:var(--muted)}
.tag.sched{background:var(--warn-soft);color:var(--warn)}
.tag.cur{background:var(--ok-soft);color:var(--ok);margin-left:6px}
.vtable td{white-space:normal;vertical-align:top}
.vtable tbody tr{cursor:default}
.vtable tbody tr:hover td{background:none}
.vtable tr.cur td{background:color-mix(in srgb,var(--ok-soft) 45%,var(--surface))}
.vtable tr.cur:hover td{background:color-mix(in srgb,var(--ok-soft) 45%,var(--surface))}
.vtable td.mono{white-space:nowrap}
.vtable td.mono .tag{margin-left:6px}
.vtable td.note{min-width:180px}
.vtable .dl-cell{white-space:nowrap;text-align:right}
.vtable .dl-cell .btn+.btn{margin-left:6px}
.att-edit{display:grid;gap:8px}
@media (max-width:760px){
  .lrow{grid-template-columns:auto minmax(0,1fr);padding:10px 12px}
  .lside{display:none}
  .lmeta{white-space:normal}
  .lib-crumbs{font-size:var(--fs-lg)}
}

/* ---------- 테이블형 문서 (노션 데이터베이스처럼) ---------- */
.ext.tbl{background:var(--accent-soft);color:var(--side-active-fg)}
.tag.k-tbl{background:var(--accent-soft);color:var(--side-active-fg)}
.lt-desc{padding:10px 16px 0;color:var(--muted);font-size:var(--fs-sm);white-space:pre-wrap}
.lt-wrap{padding:0 12px 14px}
.lt-panel{overflow:hidden;box-shadow:none}
.lt-table{font-size:var(--fs-sm);border-collapse:collapse}
.lt-table th,.lt-table td{border-right:1px solid var(--line);vertical-align:top}
.lt-table th:last-child,.lt-table td:last-child{border-right:0}
.lt-table th{padding:0;background:var(--surface);font-weight:500;letter-spacing:0;color:var(--muted)}
.lt-th{min-width:140px}
.lt-th.on{color:var(--fg)}
.lt-th{position:relative}
.lt-sort{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;padding:8px 30px 8px 10px;text-align:left;color:inherit;font-size:var(--fs-sm);font-weight:500}
.lt-sort:hover{background:var(--surface-2)}
.lt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt-ic{display:inline-block;min-width:14px;text-align:center;color:var(--off);font-style:normal;font-size:var(--fs-xs)}
.lt-dir{color:var(--accent)}
.lt-colbtn{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--off);padding:2px 6px;border-radius:var(--r-sm);opacity:0}
.lt-th:hover .lt-colbtn,.lt-colbtn:focus-visible{opacity:1}
.lt-colbtn:hover{background:var(--line);color:var(--fg)}
.lt-add{width:40px;text-align:center}
.lt-add button{border:0;background:none;width:100%;padding:8px 0;color:var(--muted);font-size:var(--fs-lg)}
.lt-add button:hover{background:var(--surface-2);color:var(--fg)}
.lt-num{width:44px;min-width:44px;text-align:center;color:var(--off);font-size:var(--fs-xs);position:relative}
.lt-num span{display:inline-block;padding-top:9px}
.lt-open{position:absolute;inset:4px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);color:var(--fg);font-size:var(--fs-xs);opacity:0}
.lt-table tr:hover .lt-open,.lt-open:focus-visible{opacity:1}
.lt-c{padding:8px 10px;cursor:default;white-space:normal;word-break:break-word;max-width:320px}
.lt-table tbody tr:hover td{background:var(--surface-2)}
.lt-table tbody tr{cursor:default}
.t-number{text-align:right;font-variant-numeric:tabular-nums}
.t-title b{font-weight:600}
.lt-ph{color:var(--off)}
.lt-tags,.lt-files{display:flex;flex-wrap:wrap;gap:4px}
.lt-c .nc{font-weight:500;border-radius:var(--r-sm);padding:1px 7px}
.lt-files a{color:var(--fg);text-decoration:none;font-size:var(--fs-sm);background:var(--surface-2);border-radius:var(--r-sm);padding:1px 7px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt-files a:hover{color:var(--accent)}
.t-url a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.lt-person{display:inline-flex;align-items:center;gap:6px}
.lt-person i{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:10.5px;font-weight:700;background:var(--accent-soft);color:var(--side-active-fg)}
.lt-check{width:18px;height:18px;border:1.5px solid var(--off);border-radius:var(--r-xs);background:var(--surface);color:var(--on-solid);font-size:var(--fs-xs);line-height:1;padding:0;display:inline-grid;place-items:center}
.lt-check.on{background:var(--accent);border-color:var(--accent)}
.lt-check:disabled{cursor:default}
.lt-edit{width:100%;min-width:100px;font:inherit;padding:5px 7px;border:1.5px solid var(--accent);border-radius:var(--r-sm);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}
.lt-c:has(.lt-edit){padding:3px}
.lt-empty td{text-align:center;color:var(--muted);padding:26px}
.lt-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted)}
.lt-new{border:0;background:none;color:var(--muted);padding:5px 8px;border-radius:var(--r-sm);font-size:var(--fs-sm)}
.lt-new:hover{background:var(--surface-2);color:var(--fg)}
.lr-f.focus{outline:2px solid var(--accent-soft);outline-offset:4px;border-radius:var(--r-ctl)}
.lt-optrow{display:flex;gap:8px}
.lt-optrow>*{flex:1;min-width:0}
.lt-opts{display:grid;gap:6px}
.lt-optedit{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:6px;align-items:center}
.lt-optedit input,.lt-optedit select{padding:6px 9px;border:1px solid var(--line);border-radius:var(--r-ctl);font:inherit}
.lt-optedit select.nc{font-weight:600;border-color:transparent}
.lt-moves{display:flex;gap:8px;align-items:center}
/* 문서 등록: 형식 고르기, 템플릿 카드 */
.lt-kinds{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lt-kind{display:grid;gap:6px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.lt-kind:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lt-kind b{font-size:var(--fs-lg)}
.lt-kind span:last-child{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
.lt-kic{font-size:var(--fs-2xl)}
.lt-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.lt-tpl{position:relative;display:grid;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.lt-tpl:hover{border-color:var(--off)}
.lt-tpl.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lt-tpl b{display:flex;gap:6px;align-items:center;font-size:var(--fs-md)}
.lt-tdesc{font-size:var(--fs-sm);color:var(--muted)}
.lt-tcols{font-size:var(--fs-xs);color:var(--off);line-height:1.5}
.lt-tdel{position:absolute;right:8px;top:8px;color:var(--off);font-size:var(--fs-xs);padding:0 5px;border-radius:var(--r-sm)}
.lt-tdel:hover{background:var(--danger-soft);color:var(--danger)}
@media (max-width:760px){ .lt-kinds{grid-template-columns:1fr} }
