:root{
  --dv-bg:#06070b;
  --dv-card:#0b0d14;
  --dv-border:rgba(255,255,255,.08);
  --dv-text:rgba(255,255,255,.88);
  --dv-muted:rgba(255,255,255,.62);
  --dv-input:rgba(255,255,255,.04);
  --dv-inputBorder:rgba(255,255,255,.10);
  --dv-accent:#59f3ff;
}

.devis-page{ background: radial-gradient(900px 420px at 70% 10%, rgba(89,243,255,.11), transparent 60%), var(--dv-bg); }

.dv-hero{ padding: 48px 0 18px; }
.dv-title{ margin:0; color:#fff; font-weight:900; letter-spacing:.02em; text-transform:uppercase; }
.dv-lead{ margin:10px 0 0; color:var(--dv-muted); max-width: 70ch; }

.dv-section{ padding: 18px 0 60px; }
.dv-card{ border:1px solid var(--dv-border); background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)); border-radius: 18px; padding: 22px; }

.dv-alert{ border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); padding:16px; border-radius: 14px; color: var(--dv-text); }

.dv-veh{ padding: 14px 14px 12px; border:1px solid var(--dv-border); border-radius: 16px; background: rgba(0,0,0,.18); margin-bottom: 18px; }
.dv-vehName{ color:#fff; font-weight:800; letter-spacing:.01em; }

.dv-mini{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; margin-top:12px; }
.dv-miniItem{ border:1px solid var(--dv-border); border-radius: 14px; padding:10px 12px; background: rgba(255,255,255,.02); }
.dv-miniItem span{ display:block; color:var(--dv-muted); font-size:12px; }
.dv-miniItem strong{ display:block; margin-top:4px; color:#fff; font-size:15px; }

.dv-form{ margin-top: 10px; }
.dv-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.dv-field{ margin-bottom: 12px; }
.dv-field label{ display:block; color:var(--dv-text); font-size:13px; margin:0 0 6px; }

.dv-field input,
.dv-field textarea,
.dv-field select{
  width:100%;
  background: var(--dv-input);
  border:1px solid var(--dv-inputBorder);
  border-radius: 12px;
  padding: 12px 12px;
  color:#fff;
  outline:none;
}

.dv-field textarea{ resize: vertical; min-height: 120px; }
.dv-field input:focus,
.dv-field textarea:focus,
.dv-field select:focus{ border-color: rgba(89,243,255,.35); box-shadow: 0 0 0 4px rgba(89,243,255,.10); }

.dv-options{ display:flex; flex-wrap:wrap; gap:10px 16px; padding: 10px 12px; border:1px solid var(--dv-border); border-radius: 12px; background: rgba(255,255,255,.02); }
.dv-opt{ display:flex; align-items:center; gap:10px; color:var(--dv-text); font-size:13px; }
.dv-opt input{ width:16px; height:16px; }

.dv-actions{ display:flex; gap:10px; align-items:center; margin-top: 8px; }
.dv-foot{ margin:12px 0 0; color:var(--dv-muted); font-size:12px; }

.dv-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width: 860px){
  .dv-grid{ grid-template-columns: 1fr; }
  .dv-mini{ grid-template-columns: 1fr 1fr; }
}
