*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:Inter,Arial,sans-serif;
  background:#f4f7fb;
  color:#1f2937;
  min-height:100vh;
  padding:30px 15px;
}

.container{
  max-width:1200px;
  margin:auto;
}

.hero{
  position:relative;
  text-align:center;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:white;
  padding:40px 25px;
  border-radius:20px;
  margin-bottom:30px;
}

.hero h1{
  font-size:2.3rem;
  margin-bottom:12px;
}

.hero p{
  opacity:0.9;
  line-height:1.6;
}

.contact{
  margin-top:20px;
}

.contact strong{
  display:block;
  font-size:1.1rem;
}

.contact span{
  opacity:0.9;
}

.theme-btn{
  position:absolute;
  top:20px;
  right:20px;
  border:none;
  padding:10px 14px;
  border-radius:8px;
  cursor:pointer;
}

.calculator{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}

.input-card,
.results-card{
  background:white;
  padding:25px;
  border-radius:18px;
  box-shadow:0 8px 25px rgba(0,0,0,0.08);
}

.input-card h2,
.results-card h2{
  margin-bottom:20px;
}

label{
  display:block;
  margin-top:14px;
  margin-bottom:8px;
  font-weight:600;
}

input{
  width:100%;
  padding:14px;
  border:1px solid #d1d5db;
  border-radius:10px;
  font-size:15px;
}

input:focus{
  outline:none;
  border-color:#2563eb;
}

.button-group{
  display:flex;
  gap:10px;
  margin-top:25px;
}

.button-group button{
  flex:1;
}

button{
  border:none;
  padding:14px;
  border-radius:10px;
  cursor:pointer;
  font-size:15px;
  font-weight:600;
}

button:hover{
  opacity:0.9;
}

.reset-btn{
  background:#e5e7eb;
}

.status{
  padding:12px;
  border-radius:10px;
  text-align:center;
  font-weight:700;
  margin-bottom:20px;
  background:#f3f4f6;
}

.margin-section{
  margin-bottom:20px;
}

.progress-bar{
  width:100%;
  height:14px;
  background:#e5e7eb;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
}

.progress-fill{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  transition:0.5s;
}

#marginText{
  margin-top:10px;
  text-align:center;
  font-weight:600;
}

.result-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px;
}

.result-box{
  background:#f8fafc;
  padding:18px;
  border-radius:12px;
  text-align:center;
}

.result-box h3{
  font-size:14px;
  color:#6b7280;
  margin-bottom:8px;
}

.result-box p{
  font-size:1.5rem;
  font-weight:700;
}

.break-even{
  margin-top:15px;
  text-align:center;
  padding:15px;
  background:#eff6ff;
  border-radius:10px;
}

.profit{
  background:#dcfce7;
  color:#166534;
}

.loss{
  background:#fee2e2;
  color:#991b1b;
}

.neutral{
  background:#f3f4f6;
  color:#374151;
}

.dh-btn{
  display:block;
  margin-top:25px;
  text-align:center;
  text-decoration:none;
  background:#111827;
  color:white;
  padding:16px;
  border-radius:12px;
  font-weight:700;
}

footer{
  text-align:center;
  margin-top:20px;
  color:#6b7280;
}

.dark{
  background:#111827;
  color:white;
}

.dark .input-card,
.dark .results-card{
  background:#1f2937;
  color:white;
}

.dark input{
  background:#374151;
  color:white;
  border:none;
}

.dark .result-box{
  background:#374151;
}

@media(max-width:850px){

  .calculator{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:1.8rem;
  }

}

@media(max-width:500px){

  .result-grid{
    grid-template-columns:1fr;
  }

  .button-group{
    flex-direction:column;
  }

}
@media (max-width: 768px) {

  .hero{
    padding-top: 70px;
  }

  .theme-btn{
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 8px 12px;
    font-size: 14px;
  }

}

@media (max-width: 480px) {

  .hero{
    padding-top: 80px;
  }

  .theme-btn{
    top: 15px;
    right: 50%;
    transform: translateX(50%);
    width: 160px;
  }

}