:root{
  --primary:#4f46e5;
  --success:#22c55e;
  --danger:#ef4444;
}
body{
  font-family: 'Segoe UI', sans-serif;
  background: linear-gradient(135deg,#1e1b4b,#312e81);
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
}
.form-box{
  background:#0f172a;
  width:100%;
  max-width:480px;
  padding:30px;
  border-radius:16px;
  box-shadow:0 20px 40px rgba(0,0,0,.4);
  animation:fadeIn .6s ease;
}
@keyframes fadeIn{
  from{opacity:0; transform:translateY(20px);}
  to{opacity:1; transform:translateY(0);}
}
h2{
  text-align:center;
  margin-bottom:20px;
}
.input{
  margin-bottom:14px;
}
.input label{
  font-size:14px;
  opacity:.9;
}
.input input,
.input select,
.input textarea{
  width:100%;
  margin-top:6px;
  padding:12px;
  border-radius:10px;
  border:none;
  outline:none;
  font-size:14px;
}
textarea{resize:none;height:80px;}
.stars{
  display:flex;
  gap:6px;
  font-size:28px;
  cursor:pointer;
}
.stars span{
  color:#475569;
}
.stars span.active{
  color:#facc15;
}
button{
  width:100%;
  margin-top:16px;
  padding:14px;
  font-size:16px;
  border:none;
  border-radius:12px;
  background:var(--primary);
  color:#fff;
  cursor:pointer;
}
@media print {
  .no-print {
    display: none !important;
  }
}

button:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.message{
  margin-top:14px;
  text-align:center;
  font-size:14px;
}
.success-check{
  display:none;
  text-align:center;
  font-size:64px;
  color:var(--success);
  animation:pop .5s ease;
}
@keyframes pop{
  0%{transform:scale(0);}
  100%{transform:scale(1);}
}
