/* 문서 스펙 표: 원본 표의 내용을 유지하면서 셀 편집을 제공한다. */
body.spec-sheet-page .pg{max-width:none;margin:auto;padding:12px 12px 110px}
body.spec-sheet-page .hero{padding:0;margin-bottom:18px}
body.spec-sheet-page .title{font-size:36px;margin:0}
body.spec-sheet-page .items{max-width:none}
body.spec-sheet-page .blk{padding:0;border:0;background:none;box-shadow:none}
.sheet-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.sheet-toolbar button,.sheet-toolbar select,.sheet-toolbar input,.sheet-conflicts button{font:inherit;font-size:13px;padding:9px 13px;border:1px solid var(--line-hi);border-radius:6px;background:var(--panel-soft);color:var(--ink)}
.sheet-toolbar button,.sheet-conflicts button{cursor:pointer}
.sheet-toolbar button:disabled{opacity:.4;cursor:default}
.sheet-toolbar .sheet-save{background:var(--mint);color:#071c17;font-weight:800;border-color:var(--mint)}
.sheet-toolbar input{min-width:200px;flex:1;max-width:340px}
.sheet-toolbar select{min-width:110px}
.sheet-tabs{display:flex;gap:4px}
.sheet-tabs button[aria-pressed=true]{color:var(--mint);border-color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,var(--panel-soft))}
.sheet-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:var(--ink-dim)}
.sheet-info[hidden]{display:none}
.sheet-status{color:var(--mint)}
.sheet-status[data-state=error],.sheet-status[data-state=conflict]{color:var(--pink)}
.sheet-help{font-size:12px;line-height:1.7;color:var(--ink-faint);margin:8px 0 16px}
.sheet-conflicts{border:1px solid var(--yellow);background:color-mix(in srgb,var(--yellow) 6%,var(--panel-soft));padding:12px;margin:12px 0;font-size:13px}
.sheet-conflicts:empty{display:none}
.sheet-conflict-item{padding:8px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sheet-conflict-item span{flex:1;min-width:220px}
.sheet-conflicts pre{white-space:pre-wrap;max-height:160px;overflow:auto;font:inherit;color:var(--ink-dim)}
body.spec-sheet-page .ftable-wrap{max-height:68vh;overflow:auto;border:1px solid var(--line-hi);border-radius:8px;scrollbar-gutter:stable}
body.spec-sheet-page .ftable.spec{display:table;table-layout:fixed;width:100%;min-width:0;border-collapse:separate;border-spacing:0;margin:0;font-size:13px}
body.spec-sheet-page .ftable.spec thead{display:table-header-group;position:sticky;top:0;z-index:5}
body.spec-sheet-page .ftable.spec tbody{display:table-row-group}
body.spec-sheet-page .ftable.spec tr{display:table-row;border:0;margin:0;padding:0;background:none}
body.spec-sheet-page .ftable.spec th,body.spec-sheet-page .ftable.spec td{display:table-cell!important;position:relative;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;vertical-align:top;font:inherit;color:var(--ink-dim);white-space:normal}
body.spec-sheet-page .ftable.spec td:before{display:none!important}
body.spec-sheet-page .ftable.spec th{background:var(--panel);padding:10px 12px;text-align:left;font-size:12px;color:var(--ink-faint);font-weight:600}
body.spec-sheet-page .ftable.spec .sheet-rowno{width:48px;position:sticky;left:0;z-index:2;text-align:center;background:var(--panel);padding:12px 4px;color:var(--ink-faint);font-family:var(--mono);font-size:11px}
body.spec-sheet-page .ftable.spec th.sheet-rowno{z-index:6}
body.spec-sheet-page .ftable.spec .sheet-group td{padding:11px 16px;background:color-mix(in srgb,var(--mint) 8%,var(--panel));font-size:12px;letter-spacing:.08em;color:var(--mint);font-weight:800}
.sheet-cell{min-height:52px;max-height:250px;overflow:auto;padding:11px 12px;line-height:1.65;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;outline:0;cursor:text}
.sheet-cell:hover{background:color-mix(in srgb,var(--mint) 4%,transparent)}
.sheet-cell:focus{outline:2px solid var(--mint);outline-offset:-2px;background:color-mix(in srgb,var(--mint) 7%,var(--panel-soft))}
.sheet-cell[data-key=title]{font-weight:700;color:var(--ink)}
.sheet-cell[data-key=detail]{max-height:none;overflow:visible;line-height:1.8}
.sheet-cell:empty:before{content:attr(data-placeholder);color:var(--ink-faint);opacity:.6;pointer-events:none}
body.spec-sheet-page .ftable.spec tr.is-dirty>.sheet-rowno{color:var(--yellow);box-shadow:inset 3px 0 var(--yellow)}
body.spec-sheet-page .ftable.spec tr.is-conflict>.sheet-rowno{color:var(--pink);box-shadow:inset 3px 0 var(--pink)}
.sheet-source{display:inline-block;margin:11px 10px;color:var(--mint);font-size:12px;text-decoration:none}
.sheet-reset{display:block;margin:4px 8px 10px;padding:4px 6px;border:1px solid var(--line-hi);border-radius:4px;background:none;color:var(--ink-faint);font-size:11px;cursor:pointer}
body.spec-sheet-page .ftable.spec .sheet-actions{position:sticky;left:48px;z-index:2;background:var(--panel);text-align:center}
body.spec-sheet-page .ftable.spec th.sheet-actions{z-index:6}
.sheet-delete{margin:10px auto;color:var(--pink);white-space:nowrap}
.sheet-reset:disabled{opacity:.4;cursor:default}
.sheet-trash[aria-pressed=true]{border-color:var(--pink);color:var(--pink)}
.sheet-empty{padding:30px;text-align:center;color:var(--ink-faint);font-size:14px}
@media(max-width:700px){body.spec-sheet-page .pg{padding:18px 12px 120px}.sheet-toolbar input{max-width:none;min-width:160px}.sheet-tabs{width:100%}.sheet-toolbar{gap:7px}.sheet-info{gap:8px}.sheet-help{font-size:11px}}
@media print{.sheet-toolbar,.sheet-help,.sheet-conflicts{display:none}body.spec-sheet-page .ftable-wrap{max-height:none;overflow:visible}.sheet-cell{max-height:none;overflow:visible}}

/* IA worksheet — reference sheet headers and editable priorities. */
body.spec-sheet-page .ftable.spec{background:#f8fafc}
body.spec-sheet-page .ftable.spec th{background:#263e62;color:#fff;letter-spacing:0}
body.spec-sheet-page .ftable.spec td{color:#263348;border-color:#d5dce6;background:#f8fafc}
body.spec-sheet-page .ftable.spec .sheet-actions{left:0;background:#eef2f7}
body.spec-sheet-page .ftable.spec .sheet-group td{background:#dfe8f4;color:#263e62}
body.spec-sheet-page .ftable.spec tr[data-row]:nth-child(odd)>td{background:#eef2f7}
.sheet-cell[data-key=title]{color:#1a2a42}
.sheet-cell:focus{outline-color:#4267a5;background:#e5eefb}
.sheet-cell:hover{background:#eaf0f9}
select.sheet-cell{width:calc(100% - 16px);margin:8px;min-height:34px;padding:4px 8px;border:1px solid #d5dce6;border-radius:16px;background:#fff;color:#334155;font:inherit;cursor:pointer}
select.sheet-cell[data-priority="상"]{background:#fce3e4;color:#9f2932}
select.sheet-cell[data-priority="중"]{background:#fff1cb;color:#805c12}
select.sheet-cell[data-priority="하"]{background:#deefe6;color:#24694a}
body.spec-sheet-page .sheet-source{color:#32559a}
body.spec-sheet-page .ftable.spec th.sheet-actions{background:#263e62;color:#fff}
body.spec-sheet-page .sheet-reset{border-color:#ccd5e2;color:#405473}
body.spec-sheet-page .sheet-delete{color:#ae3744}
body.spec-sheet-page .ftable.spec tr.is-dirty>.sheet-actions{box-shadow:inset 3px 0 #d4a72c}
body.spec-sheet-page .ftable.spec tr.is-conflict>.sheet-actions{box-shadow:inset 3px 0 #bf4353}
/* Fit every IA column to the available desktop width. */
body.spec-sheet-page .ftable.spec th{padding:9px 4px;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.sheet-cell{padding:8px 6px;line-height:1.6}
select.sheet-cell{width:calc(100% - 8px);min-width:0;margin:6px 4px;padding:4px 2px}
.sheet-source{margin:8px 4px;overflow-wrap:anywhere}
.sheet-reset{max-width:calc(100% - 6px);margin:8px 3px;padding:4px 2px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){
  body.spec-sheet-page .ftable.spec{display:block}
  body.spec-sheet-page .ftable.spec colgroup,body.spec-sheet-page .ftable.spec thead{display:none}
  body.spec-sheet-page .ftable.spec tbody{display:block}
  body.spec-sheet-page .ftable.spec tr[data-row]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;border-bottom:2px solid #b8c9df}
  body.spec-sheet-page .ftable.spec tr.sheet-group{display:block}
  body.spec-sheet-page .ftable.spec tr.sheet-group td{display:block!important}
  body.spec-sheet-page .ftable.spec tr[data-row]>td{display:block!important;min-width:0}
  body.spec-sheet-page .ftable.spec tr[data-row]>.sheet-actions{position:static;grid-column:1/-1;text-align:left}
  body.spec-sheet-page .ftable.spec td[data-field=detail]{grid-column:1/-1}
  body.spec-sheet-page .ftable.spec td[data-label]:before{display:block!important;content:attr(data-label);padding:6px 6px 0;color:#526681;font-size:11px;font-weight:700}
  .sheet-cell{min-height:40px}
  .sheet-toolbar input{min-width:0;width:100%}
}
