/* App-native AI workbench. Extends the existing FAB/drawer without affecting page layouts. */
.ai-drawer-actions{display:flex;align-items:center;gap:7px}.ai-drawer-mode{display:flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:#f0f0ef;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}.ai-drawer-mode button{appearance:none;border:0;background:transparent;color:var(--tx3);border-radius:6px;padding:5px 10px;font:650 11px/1 inherit;cursor:pointer;transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease}.ai-drawer-mode button:hover{color:var(--tx1)}.ai-drawer-mode button.active{background:#fff;color:var(--tx1);box-shadow:0 1px 3px rgba(0,0,0,.12)}.ai-drawer-new{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line2);background:#fff;color:var(--tx2);border-radius:8px;padding:0;cursor:pointer;transition:transform 140ms cubic-bezier(.23,1,.32,1),border-color 160ms ease,color 160ms ease,background-color 160ms ease}.ai-drawer-new svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.ai-drawer-new:hover{border-color:#aaa;color:var(--tx1);background:#f8f8f7}.ai-drawer-new:active{transform:scale(.96)}.ai-drawer-mode button:focus-visible,.ai-drawer-new:focus-visible{outline:2px solid #e87722;outline-offset:2px}
@media (min-width:700px){.ai-drawer{top:12px;right:12px;bottom:12px;height:auto!important;width:min(560px,calc(100vw - 92px));border:1px solid var(--line2);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.2);overflow:hidden}.ai-drawer-overlay{background:rgba(12,12,12,.12)}}
.air-qa-thread{gap:16px;background:#fafafa}.air-qa-a{background:#fff;border-color:#e8e8e8;border-radius:4px 12px 12px 12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.air-qa-q{border-radius:12px 12px 3px 12px;padding:9px 13px;font-weight:500}.aia-line{display:block;padding-left:12px;position:relative}.aia-line:before{content:"";position:absolute;left:1px;top:.72em;width:4px;height:4px;background:#777;border-radius:50%}.aia-model{margin-top:8px;color:var(--tx3);font-size:10px}.aia-examples{display:grid;gap:7px;margin-top:14px}.aia-examples button{appearance:none;text-align:left;border:1px solid #e6e6e6;background:#fff;color:var(--tx2);border-radius:9px;padding:9px 11px;font:500 12px/1.45 inherit;cursor:pointer}.aia-examples button:hover{border-color:#b8b8b8;color:var(--tx1)}
.aia-pending{display:contents}.air-qa-typing{display:inline-flex;align-items:center;gap:8px}.air-qa-typing i{width:8px;height:8px;border-radius:50%;background:#e87722;animation:aiaPulse 1.2s ease-in-out infinite}@keyframes aiaPulse{0%,100%{opacity:.28;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.aia-error{color:#9f2d24}
.aia-history{position:absolute;z-index:8;top:55px;left:0;right:0;bottom:0;background:#f8f8f7;overflow-y:auto;padding:18px 16px 28px;border-top:1px solid var(--line2)}.aia-history[hidden]{display:none!important}.aia-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px 14px}.aia-history-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.aia-history-head strong{font-size:15px;letter-spacing:-.01em}.aia-history-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx3);font-size:10px}.aia-history-head b{color:var(--tx3);font-size:10px;font-weight:650;white-space:nowrap}.aia-history-search{position:sticky;z-index:2;top:-18px;display:flex;align-items:center;gap:8px;margin:0 -2px 17px;padding:10px 2px 9px;background:rgba(248,248,247,.94);backdrop-filter:blur(12px)}.aia-history-search svg{position:absolute;left:13px;width:15px;height:15px;fill:none;stroke:#8b8b88;stroke-width:1.6;stroke-linecap:round}.aia-history-search input{width:100%;height:35px;border:1px solid #dededb;border-radius:9px;background:#fff;padding:0 12px 0 35px;color:var(--tx1);font:500 12px/1 inherit;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.025);transition:border-color 160ms ease,box-shadow 160ms ease}.aia-history-search input:focus{border-color:#b6b6b1;box-shadow:0 0 0 3px rgba(232,119,34,.09)}.aia-history-list{display:grid;gap:18px}.aia-history-section{display:grid;gap:5px}.aia-history-label{color:var(--tx3);font-size:10px;font-weight:700;letter-spacing:.055em;margin:0 3px 3px}.aia-history-item{position:relative;width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--tx1);padding:9px 9px;cursor:pointer;opacity:0;transform:translateY(6px);animation:aiaHistoryIn 190ms cubic-bezier(.23,1,.32,1) var(--aia-delay,0ms) forwards;transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease}.aia-history-item:hover{background:#fff;border-color:#e4e4e1;box-shadow:0 2px 7px rgba(0,0,0,.045)}.aia-history-item.active{background:#fff;border-color:#deded9;box-shadow:0 1px 4px rgba(0,0,0,.04)}.aia-history-item.active:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:2px;border-radius:0 2px 2px 0;background:#e87722}.aia-history-item:focus-visible{outline:2px solid #e87722;outline-offset:1px}.aia-history-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border:1px solid #dededb;border-radius:9px;color:#676764;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}.aia-history-icon.agent{border-color:#ead8ca;color:#ad5419;background:#fff9f5}.aia-history-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.aia-history-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.aia-history-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;line-height:1.25}.aia-history-meta{display:flex;align-items:center;gap:7px;color:var(--tx3);font-size:9.5px}.aia-history-meta small{font-size:inherit}.aia-history-meta time{font-variant-numeric:tabular-nums}.aia-history-current{flex:0 0 auto;border-radius:999px;background:#fff2e8;color:#a84c10;padding:3px 6px;font-size:8.5px;font-weight:700}.aia-history-arrow{flex:0 0 15px;width:15px;height:15px;fill:none;stroke:#adada8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.aia-history-empty,.aia-history-loading{padding:24px 9px;color:var(--tx3);font-size:11px;text-align:center}@keyframes aiaHistoryIn{to{opacity:1;transform:translateY(0)}}
.aia-action {
  --aia-spot-x:50%;
  --aia-spot-y:0%;
  flex:none;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-left:0;
  padding:18px;
  border:1px solid rgba(20,20,20,.10);
  border-radius:18px;
  background:#fff;
  color:var(--tx1);
  box-shadow:0 1px 2px rgba(20,20,20,.03),0 10px 30px rgba(20,20,20,.07);
  transition:border-color 180ms cubic-bezier(.23,1,.32,1),box-shadow 180ms cubic-bezier(.23,1,.32,1);
}
.aia-action::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:radial-gradient(360px circle at var(--aia-spot-x) var(--aia-spot-y),rgba(232,119,34,.13),transparent 58%);
  opacity:0;
  pointer-events:none;
  transition:opacity 180ms cubic-bezier(.23,1,.32,1);
}
.aia-action>* { position:relative; z-index:1; }
.aia-action:focus-within {
  border-color:rgba(232,119,34,.34);
  box-shadow:0 1px 2px rgba(20,20,20,.03),0 12px 34px rgba(20,20,20,.08),0 0 0 3px rgba(232,119,34,.08);
}
.aia-action:focus-within::before { opacity:.72; }
.aia-action header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.aia-action h3 { margin:3px 0 0; font-size:16px; line-height:1.3; letter-spacing:-.018em; }
.aia-action>p { margin:11px 0 14px; color:var(--tx2); font-size:12.5px; line-height:1.65; }
.aia-kicker {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#686865;
  font-size:9.5px;
  font-weight:720;
  letter-spacing:.075em;
}
.aia-kicker::before { content:""; width:6px; height:6px; border-radius:50%; background:#e87722; box-shadow:0 0 0 3px rgba(232,119,34,.10); }
.aia-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  border:1px solid rgba(20,20,20,.09);
  border-radius:999px;
  background:#f7f7f6;
  color:#5e5e5b;
  padding:5px 8px;
  font-size:9.5px;
  font-weight:700;
}
.aia-chip::before { content:""; width:5px; height:5px; border-radius:50%; background:#e87722; }
.state-completed .aia-chip::before { background:#2b6e52; }
.state-rejected .aia-chip::before,.state-reverted .aia-chip::before,.state-expired .aia-chip::before { background:#aaa; }

.aia-facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  margin:12px 0;
  border:1px solid #e8e8e5;
  border-radius:12px;
  background:#e8e8e5;
  gap:1px;
}
.aia-facts>div { display:flex; flex-direction:column; gap:3px; min-width:0; padding:10px 11px; background:#fafaf9; }
.aia-facts span,.aia-agent-scope span { color:var(--tx3); font-size:9.5px; font-weight:600; }
.aia-facts strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.aia-task-name { margin:11px 0; font-size:13px; font-weight:700; }
.aia-changes { display:grid; gap:6px; }
.aia-changes>div { display:grid; grid-template-columns:68px 1fr 18px 1fr; align-items:center; gap:5px; font-size:11px; }
.aia-changes span { color:var(--tx3); }
.aia-changes s { color:#888; }
.aia-changes b { color:#aaa; text-align:center; }
.aia-changes strong { font-size:11px; }

.aia-agent-scope {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  overflow:hidden;
  margin:12px 0;
  border:1px solid #e8e8e5;
  border-radius:12px;
  background:#e8e8e5;
  gap:1px;
}
.aia-agent-scope>div { display:flex; flex-direction:column; gap:5px; min-width:0; padding:12px; background:#fafaf9; }
.aia-agent-scope strong { overflow-wrap:anywhere; font-size:12px; line-height:1.45; }
.aia-job-details { margin:0; border-block:1px solid #e8e8e5; }
.aia-job-details summary {
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 2px;
  cursor:pointer;
  list-style:none;
  color:var(--tx1);
}
.aia-job-details summary::-webkit-details-marker { display:none; }
.aia-job-details summary>span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.aia-job-details summary strong { font-size:11.5px; }
.aia-job-details summary small { color:var(--tx3); font-size:9.5px; }
.aia-job-details summary svg { flex:0 0 17px; width:17px; height:17px; fill:none; stroke:#777; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.aia-job-details[open] summary svg { transform:rotate(180deg); }
.aia-job-instruction { max-height:220px; overflow:auto; margin:0 0 12px; border:1px solid #ecece9; border-radius:10px; background:#f7f7f6; padding:11px 12px; color:var(--tx2); overflow-wrap:anywhere; }
.aia-job-instruction .md-body { color:inherit; font-size:12.5px; line-height:1.7; }
.aia-job-instruction .md-body h1 { font-size:14px; }.aia-job-instruction .md-body h2 { font-size:13.5px; }.aia-job-instruction .md-body h3,.aia-job-instruction .md-body h4 { font-size:12.5px; }
.aia-open-run { border:1px solid #171717!important; background:#171717!important; color:#fff!important; }

.aia-details { margin-top:12px; padding-top:11px; border-top:1px solid #eee; }
.aia-details summary { min-height:36px; cursor:pointer; color:var(--tx2); font-size:11px; font-weight:700; }
.aia-table-wrap { overflow:auto; max-height:290px; margin-top:9px; border:1px solid #eee; border-radius:8px; }
.aia-table-wrap table { width:100%; border-collapse:collapse; font-size:10.5px; white-space:nowrap; }
.aia-table-wrap th { position:sticky; top:0; background:#f6f6f6; color:#777; text-align:left; font-weight:600; }
.aia-table-wrap th,.aia-table-wrap td { padding:7px 8px; border-bottom:1px solid #eee; }
.aia-table-wrap tbody tr:last-child td { border-bottom:0; }
.aia-table-wrap .num { text-align:right; font-variant-numeric:tabular-nums; }

.aia-decision-panel { margin-top:15px; padding-top:15px; border-top:1px solid #e5e5e2; }
.aia-decision-panel.is-complete { margin-top:14px; }
.aia-decision-head { display:flex; align-items:flex-start; gap:10px; }
.aia-decision-head>span:last-child { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }
.aia-decision-head strong { color:var(--tx1); font-size:12.5px; line-height:1.4; }
.aia-decision-head small { color:var(--tx3); font-size:10px; line-height:1.55; }
.aia-decision-mark { flex:0 0 30px; display:grid; width:30px; height:30px; place-items:center; border:1px solid #e5e5e2; border-radius:10px; background:#f7f7f6; color:#555; }
.aia-decision-mark svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.aia-controls { display:flex; gap:8px; margin-top:13px; }
.aia-decision-panel .aia-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:13px; }
.aia-decision-panel .aia-controls.single { grid-template-columns:minmax(0,1fr); }
.aia-controls button {
  min-height:46px;
  border-radius:12px;
  padding:10px 14px;
  font:700 11.5px/1 inherit;
  cursor:pointer;
  transition:transform 120ms cubic-bezier(.23,1,.32,1),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.aia-controls button:active:not(:disabled) { transform:scale(.97); }
.aia-controls button:focus-visible { outline:2px solid #e87722; outline-offset:2px; }
.aia-controls button:disabled { cursor:progress; }
.aia-controls button:disabled:not([aria-busy="true"]) { opacity:.45; }
.aia-approve {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #171717;
  background:#171717;
  color:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.10);
}
.aia-approve svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.aia-approve[aria-busy="true"] { background:#292929; }
.aia-reject,.aia-undo { min-width:82px; border:1px solid #dcdcd8; background:#fff; color:#555; }
.aia-open-run { min-height:46px; border-radius:12px; font-size:11.5px; }
.aia-spinner { flex:0 0 14px; width:14px; height:14px; box-sizing:border-box; border:2px solid rgba(255,255,255,.30); border-top-color:#fff; border-radius:50%; animation:aiaSpin 650ms linear infinite; }
@keyframes aiaSpin { to { transform:rotate(360deg); } }
.aia-safety { display:flex; align-items:flex-start; gap:6px; margin-top:9px; color:#81817d; font-size:9.5px; line-height:1.55; }
.aia-safety svg { flex:0 0 13px; width:13px; height:13px; margin-top:1px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.aia-done { margin:0; color:#236247; font-size:12px; font-weight:700; }
.aia-state { margin-top:12px; color:#777; font-size:11px; font-weight:700; }
.aia-action.is-deciding .aia-decision-panel { opacity:.96; }
.aia-decision-feedback { display:none; margin-top:9px; border-radius:9px; font-size:10px; line-height:1.5; }
.aia-decision-feedback.is-working,.aia-decision-feedback.is-error { display:block; }
.aia-decision-feedback.is-working { color:#666; }
.aia-decision-feedback.is-error { padding:9px 10px; border:1px solid #f0cfca; background:#fff5f3; color:#932c22; }
.aia-history { top:58px; }

@media (hover:hover) and (pointer:fine) {
  .aia-action:hover { border-color:rgba(20,20,20,.16); box-shadow:0 1px 2px rgba(20,20,20,.03),0 12px 34px rgba(20,20,20,.085); }
  .aia-action:hover::before { opacity:.68; }
  .aia-approve:hover:not(:disabled) { background:#292929; }
  .aia-approve:hover:not(:disabled) svg { transform:translateX(2px); }
  .aia-reject:hover:not(:disabled),.aia-undo:hover:not(:disabled) { border-color:#b8b8b3; color:#222; background:#fafaf9; }
}

@media (max-width:699px) {
  .ai-drawer-actions { width:100%; gap:4px; }
  .ai-drawer-title { display:none; }
  .ai-drawer-close { margin-left:auto; }
  .ai-drawer-mode button { padding-inline:9px; }
  .aia-history { padding-inline:12px; }
}

@media (max-width:640px) {
  .aia-action { padding:16px 15px; border-radius:17px; box-shadow:0 1px 2px rgba(20,20,20,.025),0 7px 22px rgba(20,20,20,.06); }
  .aia-action::before { display:none; }
  .aia-action h3 { font-size:16px; }
  .aia-action>p { margin-bottom:13px; font-size:12.5px; }
  .aia-chip { padding:5px 7px; }
  .aia-facts { grid-template-columns:1fr 1fr; }
  .aia-agent-scope { grid-template-columns:1fr; }
  .aia-agent-scope>div { min-height:58px; justify-content:center; padding:11px 12px; }
  .aia-job-details summary { min-height:52px; }
  .aia-job-instruction { max-height:200px; }
  .aia-job-instruction .md-body { font-size:13px; }
  .aia-decision-panel { margin-top:14px; padding-top:14px; }
  .aia-decision-head strong { font-size:13px; }
  .aia-decision-head small { font-size:10.5px; }
  .aia-decision-panel .aia-controls { grid-template-columns:minmax(0,1fr); }
  .aia-decision-panel .aia-controls button { width:100%; min-height:50px; }
  .aia-decision-panel .aia-reject { min-width:0; min-height:46px; }
  .aia-safety { font-size:10px; }
  .aia-table-wrap { max-height:240px; }
  .aia-changes>div { grid-template-columns:58px minmax(0,1fr) 14px minmax(0,1fr); }
}

@media (max-width:360px) {
  .aia-action header { gap:8px; }
  .aia-action { padding-inline:13px; }
  .aia-chip { font-size:9px; }
}

@media (prefers-reduced-motion:reduce) {
  .air-qa-typing i,.aia-spinner { animation:none; }
  .aia-history-item { animation:none; opacity:1; transform:none; }
  .ai-drawer-mode button,.ai-drawer-new,.aia-action,.aia-action::before,.aia-job-details summary svg,.aia-controls button,.aia-approve svg { transition:none; }
}

@media (prefers-contrast:more) {
  .aia-action,.aia-agent-scope,.aia-facts,.aia-decision-mark,.aia-reject,.aia-undo { border-color:#6b6b6b; }
}

/* 閉状態のAIドロワーを完全に画面外へ（2026-07-26 坂本発見: right:12px配置×translateX(100%)で
   左端12px+境界線+影が右端の帯として常時露出していた。開閉アニメは維持し、退避完了後に不可視化） */
.ai-drawer:not(.open){ visibility:hidden; box-shadow:none; transition:transform .28s var(--ease-drawer,ease), box-shadow .28s ease, visibility 0s linear .28s; }
@media (min-width:700px){
  .ai-drawer:not(.open){ transform:translateX(calc(100% + 40px)); }
}
