.container{
  max-width:1200px;
  margin:auto;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.08);

  display:grid;
  grid-template-columns:1fr 430px;
}

.left{
  padding:40px;
}

.right{
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#fff;
  padding:40px;
}

.desc{
  color:#6b7280;
  line-height:1.7;
  margin-bottom:30px;
}

.currency-toggle{
  display:flex;
  gap:10px;
  margin-bottom:30px;
}

.currency-toggle button{
  border:none;
  padding:12px 22px;
  border-radius:14px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:0.3s;
  background:#e5e7eb;
  color:#374151;
}

.currency-toggle button.active{
  background:#2563eb;
  color:#fff;
}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.input-group{
  display:flex;
  flex-direction:column;
}

.full{
  grid-column:span 2;
}

label{
  margin-bottom:10px;
  font-size:14px;
  font-weight:700;
}

input,
select{
  height:56px;
  border:2px solid #dbeafe;
  border-radius:16px;
  padding:0 16px;
  font-size:16px;
  transition:0.3s;
}

input:focus,
select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,0.12);
}

.result-title{
  font-size:30px;
  margin-bottom:25px;
  font-weight:800;
}

.main-result{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.12);
  padding:25px;
  border-radius:24px;
  margin-bottom:20px;
}

.main-result span{
  display:block;
  font-size:14px;
  opacity:0.8;
  margin-bottom:10px;
}

.main-result h2{
  font-size:40px;
}

.summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}

.card{
  background:rgba(255,255,255,0.12);
  border-radius:20px;
  padding:18px;
}

.card span{
  display:block;
  font-size:13px;
  opacity:0.8;
  margin-bottom:8px;
}

.card strong{
  font-size:22px;
}

.progress-wrap{
  margin-top:30px;
}

.progress-label{
  display:flex;
  justify-content:space-between;
  margin-bottom:10px;
  font-size:14px;
}

.progress{
  width:100%;
  height:14px;
  background:rgba(255,255,255,0.15);
  border-radius:999px;
  overflow:hidden;
}

.progress-fill{
  width:0%;
  height:100%;
  background:#fff;
  border-radius:999px;
  transition:1s;
}

.chart-section{
  margin-top:35px;
}

.chart-title{
  font-size:20px;
  margin-bottom:20px;
  font-weight:700;
}

.bar-wrap{
  margin-bottom:20px;
}

.bar-wrap span{
  display:block;
  margin-bottom:8px;
  font-size:14px;
}

.bar{
  height:14px;
  width:100%;
  background:rgba(255,255,255,0.15);
  border-radius:999px;
  overflow:hidden;
}

.bar-fill{
  height:100%;
  width:0%;
  background:#fff;
  transition:1s;
}

.bar-fill.ot{
  background:#93c5fd;
}

.bar-fill.holiday{
  background:#facc15;
}

@media(max-width:950px){

  .container{
    grid-template-columns:1fr;
  }

  .right{
    order:2;
  }

}