body { background: #f7f6f2; color: #292c2f; }
.navbar-brand { letter-spacing: -.02em; }
.card { border: 1px solid rgba(0,0,0,.08); }
.room-card { transition: transform .15s ease, box-shadow .15s ease; }
.room-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }
.room-item-row { transition: background-color .12s ease; cursor: pointer; }
.room-item-row:hover { background: #f8f9fa; }
.to-buy-form { position: relative; z-index: 2; cursor: default; }
.drag-handle { position: relative; z-index: 2; cursor: grab; font-size: 1.25rem; line-height: 1; padding: .25rem; }
.drag-handle:active { cursor: grabbing; }
.room-item-row.is-dragging { opacity: .45; }
.room-drop-zone { transition: box-shadow .12s ease, border-color .12s ease; }
.room-drop-zone.is-drop-target { border-color: #198754; box-shadow: 0 0 0 .2rem rgba(25,135,84,.18); }
.budget-card { background: linear-gradient(135deg, #eef8f0, #fff); border-color: #b9dfc0; }
.winner-row > td { background: #eaf7ed !important; }
.form-page { max-width: 680px; margin: 0 auto; }
.form-page.wide { max-width: 900px; }
.login-wrap { max-width: 420px; margin: 10vh auto 0; }
.empty-state { padding: 3rem 1.5rem; text-align: center; background: #fff; border: 1px dashed #bbb; border-radius: .5rem; }
.option-table { min-width: 900px; }
.product-preview {
  display: block;
  width: 72px;
  height: 56px;
  max-width: 72px;
  max-height: 56px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: .4rem;
}
.room-item-preview {
  display: block;
  width: 56px;
  height: 44px;
  max-width: 56px;
  max-height: 44px;
  flex: 0 0 56px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: .4rem;
}
.preview-placeholder {
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: .25rem;
  background: #f3f3f3;
  color: #777;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
  text-decoration: none;
}
.preview-placeholder.retailer-mediamarkt,
.preview-placeholder.retailer-mediaworld { background: #df0000; color: #fff; }
.preview-placeholder.retailer-amazon { background: #182334; color: #ffb000; font-size: .64rem; }
.preview-placeholder.retailer-ikea { background: #0058a3; color: #ffd800; }
.min-w-0 { min-width: 0; }
@media (max-width: 576px) { .display-6 { font-size: 1.8rem; } }
