
.section-box{
  background:#fafafa;
  border:1px solid #eee;
  border-radius:10px;
  padding:18px;
  margin-bottom:18px;
}

.label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:10px;
}

/* TEXTAREA */
textarea{
  width:100%;
  min-height:260px;
  padding:14px;
  border:1px solid #ccc;
  border-radius:6px;
  resize:vertical;
  font-family:Consolas,monospace;
  font-size:14px;
  line-height:1.6;
  box-sizing:border-box;
  outline:none;
}

/* BUTTONS */
.btns{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:15px;
}

.app{
  padding:12px 20px;
  background:linear-gradient(135deg,#0a3d62,#07517d);
  color:#fff;
  border:none;
  border-radius:4px;
  cursor:pointer;
  font-weight:600;
}

.secondary{
  padding:12px 20px;
  background:#eee;
  border:none;
  border-radius:4px;
  cursor:pointer;
  font-weight:600;
}

.secondary:hover{
  background:#ddd;
}

/* OUTPUT */
.output-box{
  background:#fff;
  border:1px solid #ddd;
  border-radius:8px;
  overflow:hidden;
}

.output-header{
  padding:12px 15px;
  border-bottom:1px solid #eee;
  background:#f7f7f7;
  font-size:13px;
  font-weight:600;
}

.output{
  padding:15px;
  min-height:260px;
  white-space:pre-wrap;
  word-break:break-word;
  font-family:Consolas,monospace;
  font-size:14px;
  line-height:1.6;
  overflow:auto;
}

/* STATS */
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:15px;
}

.stat{
  background:#fff;
  border:1px solid #eee;
  border-radius:8px;
  padding:15px;
  text-align:center;
}

.stat h3{
  margin:0;
  color:#0a3d62;
  font-size:20px;
}

.stat p{
  margin-top:5px;
  font-size:12px;
  color:#666;
}

@media(max-width:768px){

  .stats{
    grid-template-columns:1fr;
  }

  textarea{
    min-height:220px;
  }

}