.struct-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(min-width:480px){.struct-grid{grid-template-columns:repeat(4,1fr);}}
.struct-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;}
.struct-card:hover{border-color:var(--accent);}
.struct-card.struct-card input[type="radio"]{display:none;}
.sc-check{position:absolute;top:8px;right:10px;color:var(--accent);font-weight:700;font-size:12px;opacity:0;transition:opacity .15s;}
.struct-card.selected .sc-check{opacity:1;}
.sc-icon{font-size:20px;margin-bottom:4px;}
.sc-name{font-size:12px;font-weight:700;color:var(--ink);}
.sc-price{font-family:'DM Mono',monospace;font-size:12px;color:var(--accent);margin-top:2px;}

/* result-main, rm-* → common.css に統合済み */

.timeline-item{display:flex;gap:12px;margin-bottom:8px;align-items:flex-start;}
.tl-dot{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;margin-top:2px;}
.tl-dot.blue{background:#3b82f6;}
.tl-dot.tl-dot.orange{background:var(--accent);}
.tl-body{flex:1;}
.tl-title{font-size:13px;font-weight:700;color:var(--ink);}
.tl-desc{font-size:11px;color:var(--ink3);margin-top:2px;line-height:1.6;}
.tl-days{font-family:'DM Mono',monospace;font-size:11px;color:var(--accent);margin-top:2px;}
.tl-line{width:2px;background:var(--border);margin:0 13px 0 13px;height:20px;}

@media(min-width:480px){}
/* struct-card 選択スタイル */
.struct-card.selected { border-color: var(--accent); background: var(--accent-light, #fff3ec); box-shadow: 0 0 0 1px var(--accent); }
.struct-card.selected .sc-name { color: var(--accent); }
.sc-check { position: absolute; top: 6px; right: 8px; font-size: 11px; font-weight: 700; color: var(--accent); opacity: 0; transition: opacity .15s; }
.struct-card.selected .sc-check { opacity: 1; }

/* 追加申請チェックボックス */
.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;
  margin-bottom: 6px;
}
.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; }
