:root{
  --bg:#fffaf2;
  --card:#ffffff;
  --line:#e8e1d5;
  --text:#1f2328;
  --muted:#6b7280;
  --accent:#ffb44a;
  --accent2:#ff8a3d;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
  color:var(--text);
  background:var(--bg);
}
header{
  /* ヘッダーを固定しない（スクロールに追従させない） */
  position:static;
  background:linear-gradient(90deg, rgba(255,180,74,.28), rgba(255,138,61,.12));
  border-bottom:1px solid var(--line);
  padding:14px 16px;
}
h1{margin:0;font-size:18px}
.sub{margin:4px 0 0;color:var(--muted);font-size:12px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
button,.btn{
  border:1px solid var(--line);
  background:#fff;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  font-size:13px;
}
button.primary{border-color:transparent;background:var(--accent); }
button:disabled{opacity:.55;cursor:not-allowed}
main{padding:16px;max-width:1200px;margin:0 auto}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width: 980px){ .grid{grid-template-columns:1fr} }
.panelTitle{display:flex;align-items:baseline;justify-content:space-between;margin:8px 2px}
.panelTitle h2{margin:0;font-size:15px}
.small{color:var(--muted);font-size:12px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  box-shadow:0 6px 14px rgba(0,0,0,.04);
}
.slotHead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.slotHead .left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:#fff}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.field{min-width:160px;flex:1}
.searchbox{width:100%; position:relative}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input,select,textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  background:#fff;
}
textarea{min-height:72px;resize:vertical}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{
  font-size:12px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
}
.chip:hover{border-color:var(--accent2)}
.hr{height:1px;background:var(--line);margin:12px 0}
.note{font-size:12px;color:var(--muted);line-height:1.5}
.err{color:#b42318;background:#fff; border:1px solid #ffd2cf; padding:10px;border-radius:12px}
.ok{color:#0f5132;background:#fff;border:1px solid #cfe9db;padding:10px;border-radius:12px}
.matchTable{width:100%;border-collapse:collapse;margin-top:10px}
.matchTable th,.matchTable td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;font-size:13px}
.kpi{display:flex;gap:10px;flex-wrap:wrap}
.kpi .card{flex:1;min-width:260px}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}


/* EV helper buttons */
.evRow{display:flex;gap:6px;align-items:center}
.evRow input{width:80px}
.evBtns{display:flex;gap:4px}
button.mini{
  padding:4px 8px;
  border-radius:10px;
  font-size:12px;
}
.statLine{margin-top:6px}
.warn{color:#b42318;font-weight:600}
