.ac-grade{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(min-width:480px){.ac-grade{grid-template-columns:repeat(4,1fr);}}
.ag-card{border:2px solid var(--border);border-radius:var(--r);padding:12px 8px;cursor:pointer;transition:all .15s;background:#fafaf8;position:relative;display:block;text-align:center;}
.ag-card:hover{border-color:var(--accent);}
.ag-card.selected{border-color:var(--accent);background:var(--accent-light);}
.ag-card input[type="radio"]{display:none;}
.ag-check{position:absolute;top:8px;right:10px;color:var(--accent);font-weight:700;font-size:12px;opacity:0;transition:opacity .15s;}
.ag-card.selected .ag-check{opacity:1;}
.ag-icon{font-size:20px;margin-bottom:4px;}
.ag-name{font-size:12px;font-weight:700;color:var(--ink);}
.ag-price{font-family:'DM Mono',monospace;font-size:11px;color:var(--accent);margin-top:2px;}
/* result-hero, rh-*, kpi-* → common.css に統合済み */
/* 追加工事チェックボックス */
.opt-grid { display: flex; flex-direction: column; gap: 6px; }
.opt-item {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border: 1.5px solid var(--border); border-radius: var(--r);
  cursor: pointer; font-size: 13px; color: var(--ink);
  transition: all .15s; background: #fafaf8; user-select: none;
}
.opt-item input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.opt-box {
  width: 20px; height: 20px;
  border: 1.5px solid var(--border); border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: transparent; flex-shrink: 0; transition: all .15s;
}
.opt-item:has(input:checked) { border-color: var(--accent); background: var(--accent-light, #fff3ec); }
.opt-item:has(input:checked) .opt-box { background: var(--accent); border-color: var(--accent); color: #fff; }
