/* 작업 요청 — VES Workspace 토큰(tokens.css)의 이름만 쓴다. 같은 파일이 dashboard/v2/src/agent-room.css 에도 있다(원본 dashboard/agent/). */
.ag{display:grid;gap:16px;max-width:1280px}
.ag [hidden]{display:none!important}
.ag-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ag-bar p{margin:0;color:var(--secondary);font-size:12px}
.ag-state{font-size:12px;color:var(--secondary)}
.ag-notice{margin:0;padding:12px 16px;border-radius:12px;background:var(--danger-bg);color:var(--ink);font-size:13px}
.ag-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:900px){.ag-grid{grid-template-columns:1fr}}
.ag-list{background:var(--surface);border-radius:16px;padding:12px;display:grid;gap:8px;align-content:start;min-width:0}
.ag-new{border:0;border-radius:999px;background:var(--solid);color:var(--on-solid);font:inherit;font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer}
.ag-sessions{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ag-sess{display:grid;gap:2px;width:100%;text-align:left;border:1px solid transparent;border-radius:9px;background:none;color:inherit;font:inherit;padding:8px 10px;cursor:pointer}
.ag-sess:hover{background:var(--inset)}
.ag-sess.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.ag-sess b{font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.ag-sess span{font-size:11.5px;color:var(--secondary)}
.ag-empty{color:var(--muted);font-size:12.5px;padding:6px 4px;list-style:none}
.ag-main{background:var(--surface);border-radius:16px;padding:18px 20px;min-width:0}
.ag-form{display:grid;gap:12px}
.ag-cats{display:flex;flex-wrap:wrap;gap:6px}
.ag-cat{border:1px solid var(--input-border,var(--hover));background:var(--surface);color:var(--secondary);border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.ag-cat.on{background:var(--solid);border-color:var(--solid);color:var(--on-solid);font-weight:600}
.ag-cat:disabled{opacity:.45;cursor:not-allowed}
.ag-fields,.ag-rest,.ag-optgrid{display:grid;gap:8px}
.ag-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:start}
@media(max-width:600px){.ag-row{grid-template-columns:1fr;gap:4px}}
.ag-lb{font-size:12.5px;color:var(--secondary);padding-top:7px}
.ag-v{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.ag-in{font:inherit;font-size:13px;color:var(--ink);background:var(--inset);border:1px solid var(--input-border,var(--hover));border-radius:8px;padding:6px 9px;min-width:0;max-width:100%}
select.ag-in{min-width:220px}
textarea.ag-in{width:100%;resize:vertical}
.ag-num{width:80px}
.ag-auto{font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:5px;padding:1px 7px;white-space:nowrap}
.ag-chips{display:flex;flex-wrap:wrap;gap:6px}
.ag-chip,.ag-sw{display:inline-flex;align-items:center;gap:6px;font-size:13px;border:1px solid var(--input-border,var(--hover));border-radius:999px;padding:4px 10px;cursor:pointer}
.ag-sw{border-radius:8px}
.ag-chip input,.ag-sw input{margin:0}
.ag-opts{border:1px solid var(--input-border,var(--hover));border-radius:10px;padding:8px 12px}
.ag-opts summary{cursor:pointer;font-size:13px;color:var(--secondary)}
.ag-opts[open] summary{margin-bottom:10px}
.ag-msg{width:100%;font:inherit;font-size:13.5px;line-height:1.55;color:var(--ink);background:var(--inset);border:1px solid var(--input-border,var(--hover));border-radius:10px;padding:9px 11px;resize:vertical}
.ag-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ag-hint{margin:0;font-size:12px;color:var(--secondary)}
.ag-err{margin:0;font-size:12.5px;color:var(--status-error)}
.ag-err:empty{display:none}
.ag-send{border:0;border-radius:999px;background:var(--solid);color:var(--on-solid);font:inherit;font-size:13px;font-weight:600;padding:8px 18px;cursor:pointer}
.ag-send:disabled{opacity:.5;cursor:wait}
.ag-ghost{border:1px solid var(--input-border,var(--hover));border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;padding:7px 14px;cursor:pointer}
.ag-ghost:disabled{opacity:.5}
.ag-cat:focus-visible,.ag-send:focus-visible,.ag-ghost:focus-visible,.ag-sess:focus-visible,.ag-new:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.ag-sessview{display:grid;gap:12px}
.ag-sh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ag-sh h2{margin:0;font-size:16px;font-weight:650;overflow-wrap:anywhere}
.ag-meta{margin:2px 0 0;font-size:12px;color:var(--secondary)}
.ag-stop{border:1px solid var(--input-border,var(--hover));border-radius:999px;background:var(--surface);color:var(--status-error);font:inherit;font-size:12px;padding:5px 12px;cursor:pointer;white-space:nowrap}
.ag-msgs{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:60vh;overflow:auto}
.ag-m{display:grid;gap:3px;max-width:86%;min-width:0}
.ag-m .ag-by{font-size:11px;color:var(--muted)}
.ag-m .ag-text{font-size:13.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 12px;border-radius:12px;background:var(--inset)}
.ag-m.user{justify-self:end}
.ag-m.user .ag-by{text-align:right}
.ag-m.user .ag-text{background:var(--solid);color:var(--on-solid)}
.ag-m.system{max-width:100%}
.ag-m.system .ag-text{background:none;padding:0 2px;font-size:12.5px;color:var(--secondary)}
.ag-formline{font-size:12px;color:var(--secondary);text-align:right;overflow-wrap:anywhere}
.ag-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ag-steps:empty{display:none}
.ag-live{margin:0;font-size:12.5px;font-weight:600;color:var(--accent)}
.ag-step{font-size:11.5px;color:var(--secondary);background:var(--inset);border-radius:5px;padding:2px 7px}
.ag-step.bad{color:var(--status-error)}
.ag-acts{display:grid;gap:8px}
.ag-acts:empty{display:none}
.ag-act{border:1px solid var(--input-border,var(--hover));border-left:3px solid var(--status-warn);border-radius:10px;padding:10px 12px;display:grid;gap:6px}
.ag-act b{font-size:13px}
.ag-act p{margin:0;font-size:13px;overflow-wrap:anywhere}
.ag-actbtns{display:flex;gap:8px;flex-wrap:wrap}
.ag-compose{display:flex;gap:8px;align-items:flex-end}
.ag-compose .ag-msg{flex:1 1 auto}
@media(prefers-reduced-motion:no-preference){.ag-live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px;animation:ag-pulse 1.2s ease-in-out infinite}}
@keyframes ag-pulse{50%{opacity:.25}}
.ag-file{margin:0;display:grid;gap:4px;max-width:min(360px,100%)}
.ag-file video,.ag-file img{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:10px;background:var(--inset)}
.ag-file figcaption{font-size:12px;color:var(--secondary);overflow-wrap:anywhere}
.ag-file a{color:inherit}
.ag-model{font:inherit;font-size:12.5px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--surface);color:var(--ink)}
.ag-plan{list-style:none;margin:0;padding:10px 12px;display:grid;gap:4px;border-radius:12px;background:var(--inset);font-size:13px}
.ag-pl{display:flex;gap:8px;align-items:baseline;min-width:0;overflow-wrap:anywhere}
.ag-pl.completed{color:var(--muted)}
.ag-pl.in_progress{font-weight:600}
.ag-pk{width:1em;flex:none;text-align:center}
.ag-pr{font-size:12.5px;color:var(--accent);overflow-wrap:anywhere}
