/* Extend the established workshop surfaces without changing the app viewport. */
.complaint-check { margin:22px 24px 8px; padding:20px; border:1px solid #46555f; border-radius:8px; background:#152128; }
.complaint-check > .eyebrow { color:var(--amber); margin-bottom:9px; }
.complaint-check h3 { margin-bottom:14px; }
.complaint-controls { display:flex; flex-wrap:wrap; gap:10px; }
.complaint-controls select { min-width:0; max-width:100%; padding:10px; color:var(--text); background:#25333c; border:1px solid #65737c; border-radius:5px; font-size:.875rem; }
.complaint-controls button { padding:10px 15px; }
.complaint-status { margin-top:16px; min-height:130px; }
.complaint-status strong { display:block; margin:10px 0 5px; }
.complaint-status p { font-size:.9375rem; color:var(--muted); line-height:1.65; }
.complaint-motion { display:block; height:4px; width:100%; background:#31414b; border-radius:3px; overflow:hidden; }
.complaint-motion::after { content:""; display:block; height:100%; background:var(--amber); width:28%; opacity:0; }
.is-running .complaint-motion::after { opacity:1; animation:complaint-response 1.1s ease-in-out infinite alternate; }
.is-paused .complaint-motion::after { animation-play-state:paused; background:#f07c6d; }
@keyframes complaint-response { to { transform:translateX(255%); } }
.complaint-saved { font-size:.8125rem; margin-top:10px; color:#a6b8c3; }
.practice-entry { padding:10px 24px; }
.practice-entry p { font-size:.875rem; color:var(--muted); }
.practice-entry button + button { margin-left:18px; }
.location-view-picker { margin:0 0 14px; width:max-content; max-width:100%; }
.location-view-picker button { min-height:42px; }
.vehicle-location { border:1px solid #465a66; border-radius:8px; padding:16px; background:#152128; }
.vehicle-location figure { margin:0; position:relative; }
.vehicle-location figure img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:5px; }
.vehicle-location figcaption { font-size:.875rem; padding:9px 0; color:#f5cc6a; }
.vehicle-location > p,.location-detail p { font-size:.9375rem; line-height:1.65; color:#bbcbd4; margin:10px 0 15px; }
.location-region { position:absolute; border:3px solid #ffd269; background:#ffd2691a; border-radius:50%; pointer-events:none; box-shadow:0 0 0 3px #131c2088; }
.location-region.engine { left:39%; top:29%; width:40%; height:35%; }
.location-region.cowl { left:46%; top:29%; width:25%; height:16%; }
.location-region.bumper { left:46%; top:56%; width:37%; height:20%; }
.location-region.lamp { left:40%; top:48%; width:22%; height:20%; }
.location-terminals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0; }
.location-terminals button { padding:12px 8px; border:1px solid #50636f; border-radius:5px; background:#25333c; font-size:.875rem; }
.location-terminals button[aria-pressed=true] { color:var(--amber); border-color:var(--amber); background:#383225; }
.location-detail { border-top:1px solid #3c515d; padding-top:15px; }
.location-detail .primary-button { font-size:.9375rem; padding:12px 16px; }
.purchase-options { display:grid; gap:13px; margin:20px 0; }
.purchase-options article { padding:19px; border:1px solid #8e743c; border-radius:8px; background:#302c20; }
#dialog-content .purchase-options .eyebrow { font-size:.75rem; color:var(--amber); margin-bottom:9px; }
.purchase-options h3 { margin-bottom:10px; }
.purchase-price { display:block; font:600 2.2rem var(--heading); margin-bottom:10px; }
.purchase-price small { font:400 .9375rem var(--body); }
.score-explanation { font-size:.9375rem; }
.hotline-topics button { font-size:.875rem; min-height:42px; }
.hint-stage { font:.8125rem var(--mono); color:var(--amber); margin-top:13px; }
@media(max-width:750px) {
  .complaint-check { margin:20px 0 6px; padding:16px; }
  .practice-entry { padding:12px 0; }
}
@media(prefers-reduced-motion:reduce) { .is-running .complaint-motion::after { animation:none; width:100%; } }
