:root{
  --imp-color-primary:#e2a02b;
  --imp-color-primary-dark:#c98713;
  --imp-color-dark:#2f2f2f;
  --imp-color-black:#111111;
  --imp-color-whatsapp:#23c55e;
  --imp-color-border:#dedede;
  --imp-color-muted:#6f6f6f;
  --imp-color-soft:#f6f6f6;
  --imp-radius:16px;
  --imp-radius-sm:10px;
  --imp-shadow:0 10px 30px rgba(0,0,0,.08);
  --imp-font:inherit;
}

.imp-wrap,
.imp-card,
.imp-summary,
.imp-form,
.imp-table,
.imp-alert,
.imp-actions{
  box-sizing:border-box;
}

.imp-wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto;
}

.imp-card{
  background:#fff;
  border:1px solid var(--imp-color-border);
  border-radius:var(--imp-radius);
  padding:24px;
}

.imp-card + .imp-card{
  margin-top:20px;
}

.imp-card h2,
.imp-card h3{
  margin-top:0;
}

.imp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

.imp-btn,
button.imp-btn,
input[type="submit"].imp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 28px;
  border-radius:10px;
  border:2px solid transparent;
  font-family:var(--imp-font);
  font-size:18px;
  font-weight:800;
  line-height:1.15;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .12s ease, background .12s ease, border-color .12s ease, opacity .12s ease;
  white-space:normal;
  text-align:center;
}

.imp-btn:hover{
  transform:translateY(-1px);
  opacity:.95;
}

.imp-btn-primary{
  background:var(--imp-color-primary);
  color:#fff !important;
}

.imp-btn-primary:hover{
  background:var(--imp-color-primary-dark);
}

.imp-btn-dark{
  background:var(--imp-color-dark);
  color:#fff !important;
}

.imp-btn-black{
  background:var(--imp-color-black);
  color:#fff !important;
}

.imp-btn-whatsapp{
  background:var(--imp-color-whatsapp);
  color:#fff !important;
}

.imp-btn-outline{
  background:#fff;
  color:var(--imp-color-black) !important;
  border-color:var(--imp-color-black);
}

.imp-btn-soft{
  background:var(--imp-color-soft);
  color:var(--imp-color-black) !important;
}

.imp-btn-full{
  width:100%;
}

.imp-grid{
  display:grid;
  gap:18px;
}

.imp-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.imp-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.imp-summary{
  border:1px solid var(--imp-color-border);
  border-radius:var(--imp-radius);
  padding:20px 24px;
  background:#fff;
}

.imp-summary-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:10px 0;
}

.imp-muted{
  color:var(--imp-color-muted);
}

.imp-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 12px;
  border-radius:999px;
  background:var(--imp-color-soft);
  color:var(--imp-color-dark);
  font-weight:700;
  font-size:14px;
}

.imp-badge-success{
  background:#e7f7ed;
  color:#14753a;
}

.imp-badge-warning{
  background:#fff3d5;
  color:#8a5b00;
}

.imp-badge-danger{
  background:#ffe4e4;
  color:#9a1f1f;
}

.imp-alert{
  padding:16px 18px;
  border-radius:var(--imp-radius-sm);
  border:1px solid var(--imp-color-border);
  background:#fff;
}

.imp-alert-info{
  border-color:#cfe2ff;
  background:#f4f8ff;
}

.imp-alert-success{
  border-color:#b8e6c9;
  background:#f2fbf5;
}

.imp-field{
  margin-bottom:18px;
}

.imp-field label{
  display:block;
  font-weight:800;
  margin-bottom:8px;
}

.imp-input,
.imp-select,
.imp-textarea,
.imp-field input[type="text"],
.imp-field input[type="email"],
.imp-field input[type="number"],
.imp-field input[type="tel"],
.imp-field select,
.imp-field textarea{
  width:100%;
  min-height:52px;
  border:1px solid var(--imp-color-border);
  border-radius:10px;
  padding:10px 14px;
  background:#f7f7f7;
  color:#111;
  font-size:16px;
  box-sizing:border-box;
}

.imp-textarea,
.imp-field textarea{
  min-height:110px;
}

.imp-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.imp-table th,
.imp-table td{
  border:1px solid #e6e6e6;
  padding:14px;
  text-align:left;
  vertical-align:middle;
}

.imp-table th{
  background:#fafafa;
  font-weight:800;
}

.imp-choice{
  display:flex;
  align-items:center;
  gap:10px;
  border:2px solid #222;
  border-radius:10px;
  padding:14px 18px;
  font-weight:800;
  cursor:pointer;
  background:#fff;
}

.imp-choice input{
  transform:scale(1.2);
}

.imp-choice.is-selected,
.imp-choice:has(input:checked){
  background:#202020;
  color:#fff;
}

@media(max-width:768px){
  .imp-grid-2,
  .imp-grid-3,
  .imp-summary-row{
    grid-template-columns:1fr;
  }

  .imp-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .imp-btn,
  button.imp-btn,
  input[type="submit"].imp-btn{
    width:100%;
    min-height:54px;
    font-size:16px;
  }

  .imp-card{
    padding:18px;
  }

  .imp-table,
  .imp-table thead,
  .imp-table tbody,
  .imp-table th,
  .imp-table td,
  .imp-table tr{
    display:block;
    width:100%;
  }

  .imp-table thead{
    display:none;
  }

  .imp-table td{
    border-top:none;
  }
}
