* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #000; }
::selection { background: #1DCD9F; color: #000; }

@keyframes drivaReveal { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }
@keyframes drivaPulse  { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes drivaSwap   { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

input, select, textarea, button { font-family: inherit; }
input:focus, textarea:focus, select:focus { outline: none; border-color: #1DCD9F !important; }
input::placeholder, textarea::placeholder { color: #5a5a5a; }

table th, table td { text-align: left; padding: 11px 8px; font-size: 13px; border-bottom: 1px solid #2c2c2c; }
table th { font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #7c7c7c; }
table td { color: #b5b5b5; }
table tr:last-child td { border-bottom: none; }

#dv-owner-btn:hover { opacity: 1 !important; }

/* modals */
.dv-modal {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(0,0,0,.82); backdrop-filter: blur(6px);
  align-items: center; justify-content: center; padding: 24px;
}
.dv-modal.dv-open { display: flex !important; }
.dv-modal-inner { animation: drivaSwap .3s cubic-bezier(.16,1,.3,1); }

.dv-field { margin-bottom: 14px; }
.dv-field label {
  display: block; margin-bottom: 6px;
  font-size: 9px; font-weight: 900; letter-spacing: .14em;
  text-transform: uppercase; color: #7c7c7c;
}
.dv-field input, .dv-field select, .dv-field textarea {
  width: 100%; padding: 12px 14px; border-radius: 12px;
  background: #000; border: 1px solid #2c2c2c; color: #F2F2F2; font-size: 14px;
}
.dv-field textarea { resize: vertical; min-height: 74px; line-height: 1.5; }
.dv-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.dv-check {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 14px; border-radius: 12px;
  background: #000; border: 1px solid #2c2c2c;
  cursor: pointer; font-size: 13px; font-weight: 800; color: #9a9a9a;
  user-select: none; transition: all .2s;
}
.dv-check.on { border-color: #1DCD9F; color: #1DCD9F; background: rgba(29,205,159,.08); }
.dv-check-box {
  width: 16px; height: 16px; border-radius: 5px;
  border: 1px solid #3a3a3a; display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 11px; color: #000; flex-shrink: 0;
}
.dv-check.on .dv-check-box { background: #1DCD9F; border-color: #1DCD9F; }

.dv-lot-card { transition: border-color .22s ease, transform .22s ease; }
.dv-lot-card.dv-editable { cursor: pointer; }
.dv-lot-card.dv-editable:hover { border-color: #1DCD9F !important; transform: translateY(-3px); }

.dv-stage-row { transition: background .28s ease, border-color .28s ease; }

/* ---------- responsive ---------- */
@media (max-width: 1020px) {
  .dv-lot-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .dv-actions  { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 860px) {
  .dv-split { grid-template-columns: 1fr !important; gap: 36px !important; }
  .dv-split > div[style*="order:2"] { order: 0 !important; }
  .dv-nav { display: none !important; }
  #dv-finals   { grid-template-columns: repeat(2, 1fr) !important; }
  #dv-gh-specs { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 680px) {
  .dv-lot-grid { grid-template-columns: 1fr !important; }
  .dv-actions  { grid-template-columns: 1fr !important; }
  .dv-header-inner { padding: 0 18px !important; }
  section { padding: 72px 0 !important; }
  section > div { padding: 0 18px !important; }
  .dv-field-row { grid-template-columns: 1fr; }
  #dv-origin-facts, #dv-cherry-stats { grid-template-columns: 1fr !important; }
}
