/* AI 비서 화면(ai.js) — 글자 크기는 app.css 의 토큰(--fs-…)만 쓴다. 스크롤바는 app.css 의 전체 규칙(안 보임)을 따른다. */
.ai-pane{max-width:860px;display:flex;flex-direction:column;gap:12px;padding-bottom:88px}   /* 오른쪽 아래 1:1 둥근 단추(dm.js)가 [묻기]를 가리지 않게 — 끝까지 내리면 단추 위로 올라온다 */
.ai-note{font-size:calc(var(--fs-meta) * var(--fz,1));color:var(--muted);background:var(--side);border:1px solid var(--line2);border-radius:8px;padding:8px 12px}
.ai-log{display:flex;flex-direction:column;gap:14px;min-height:120px}
.ai-empty{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ai-empty > .muted{flex-basis:100%}
.ai-ex{font-size:calc(var(--fs-ui) * var(--fz,1))}
.ai-turn{display:flex;flex-direction:column;gap:6px;min-width:0}
.ai-q{align-self:flex-end;max-width:85%;background:var(--g-l);color:var(--ink);border-radius:12px 12px 2px 12px;padding:8px 12px;
      font-size:calc(var(--fs-body) * var(--fz,1));white-space:pre-wrap;overflow-wrap:anywhere}
.ai-a{max-width:100%;background:#fff;border:1px solid var(--line);border-radius:12px 12px 12px 2px;padding:10px 14px;
      font-size:calc(var(--fs-body) * var(--fz,1));line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;min-height:2.4em}
.ai-a.warn{border-color:var(--amber);background:var(--amber-bg)}
.ai-wait{display:block;color:var(--muted);font-size:calc(var(--fs-meta) * var(--fz,1))}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ai-chip{border:1px solid var(--line);background:var(--side);border-radius:999px;padding:2px 10px;cursor:pointer;color:var(--ink2);
         font-size:calc(var(--fs-meta) * var(--fz,1));max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-chip:hover{background:var(--hover)}
.ai-compose{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.ai-compose textarea{width:100%;resize:vertical;min-height:52px;border:1px solid var(--field-line);border-radius:10px;padding:8px 12px;background:#fff;
                     font-size:calc(var(--fs-body) * var(--fz,1))}
.ai-compose textarea:focus{outline:none;box-shadow:var(--focus);border-color:var(--g)}
.ai-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ai-gap{flex:1}
.ai-compose.drop textarea{border-color:var(--g);box-shadow:var(--focus)}   /* 파일을 끌어다 놓는 중(PC) */
.ai-files{display:flex;flex-wrap:wrap;gap:6px}
.ai-files:empty{display:none}
.ai-file{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;border:1px solid var(--line);background:var(--side);border-radius:999px;
         padding:2px 4px 2px 10px;font-size:calc(var(--fs-meta) * var(--fz,1))}
.ai-file .ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:240px}
.ai-file .muted{white-space:nowrap}
.ai-file.bad{border-color:var(--red);background:#fff;border-radius:12px}
.ai-file.bad .muted{white-space:normal;color:var(--red)}
.ai-fx{border:0;background:none;cursor:pointer;color:var(--muted);padding:0 6px;font-size:calc(var(--fs-ui) * var(--fz,1));line-height:1}
.ai-fx:hover{color:var(--ink)}
.ai-fhint{margin-top:-2px}
.ai-past summary{cursor:pointer;list-style:none}
.ai-past .card-b{display:flex;flex-direction:column;gap:2px;padding:8px 12px}
.ai-pastrow{display:flex;justify-content:space-between;gap:12px;border:0;background:none;padding:6px 4px;text-align:left;cursor:pointer;
            font-size:calc(var(--fs-ui) * var(--fz,1));min-width:0;border-radius:6px}
.ai-pastrow:hover{background:var(--hover)}
.ai-pastrow .ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ai-pastrow .small{flex:none}
.ai-admin .card-b{display:flex;flex-direction:column;gap:8px;padding:10px 16px}
.ai-money{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:calc(var(--fs-body) * var(--fz,1))}
.ai-people{display:flex;flex-direction:column;gap:2px}
.ai-months{display:flex;flex-direction:column;gap:2px;min-width:0}
.ai-limit{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ai-limit input{border:1px solid var(--field-line);border-radius:8px;padding:5px 8px;font-size:calc(var(--fs-ui) * var(--fz,1));background:#fff}
.ai-limit input[type=number]{width:140px}
.ai-limit input:not([type]){flex:1 1 180px;min-width:0}
.ai-admin > .card-b > .btn{align-self:flex-start}
.ai-draft{border:1px solid var(--g);border-radius:10px;background:#fff;padding:10px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}   /* 초안 카드(3단계) */
.ai-dhead{font-weight:700;font-size:calc(var(--fs-ui) * var(--fz,1));color:var(--g-dd)}
.ai-dbody{display:flex;flex-direction:column;gap:4px;min-width:0}
.ai-dfield{display:flex;gap:10px;align-items:flex-start;font-size:calc(var(--fs-body) * var(--fz,1));min-width:0}
.ai-dlabel{flex:0 0 72px;color:var(--muted);font-size:calc(var(--fs-meta) * var(--fz,1));padding-top:2px}
.ai-dval{flex:1;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.ai-dinput{flex:1;min-width:0;width:100%;border:1px solid var(--field-line);border-radius:8px;padding:5px 8px;background:#fff;font-size:calc(var(--fs-body) * var(--fz,1));resize:vertical}
.ai-dcells{border-collapse:collapse;font-size:calc(var(--fs-ui) * var(--fz,1));max-width:100%}
.ai-dcells th,.ai-dcells td{padding:3px 8px;border-bottom:1px solid var(--line2);text-align:left;overflow-wrap:anywhere}
.ai-dcells td.num{white-space:nowrap;text-align:right;overflow-wrap:normal}
.ai-dcells td.nw{white-space:nowrap;overflow-wrap:normal}
.ai-dcells td.r{text-align:right;overflow-wrap:normal;word-break:keep-all}
.ai-months .ai-dcells th{white-space:nowrap}
.ai-dscroll{overflow-x:auto;max-width:100%}
.ai-dcells th{color:var(--muted);font-weight:600;font-size:calc(var(--fs-meta) * var(--fz,1))}
.ai-dimg{display:block;width:100%;max-height:240px;object-fit:contain;background:#fff}   /* 만든 파일 미리보기 */
.ai-dact{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ai-dstate{color:var(--g-dd);font-weight:700;font-size:calc(var(--fs-ui) * var(--fz,1))}
@media (max-width: 760px){
  .ai-pane{padding:12px 16px 88px}
  .ai-q{max-width:92%}
}
