.epchs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 20px;
  border-radius:var(--epchs-radius-sm);
  font-weight:700;
  font-family:var(--epchs-font-body);
  border:1px solid transparent;
  transition:all .2s ease;
  text-decoration:none;
  cursor:pointer;
}

.epchs-btn-primary{
  background:var(--epchs-red);
  border-color:var(--epchs-red);
  color:var(--epchs-white);
}

.epchs-btn-primary:hover{
  background:var(--epchs-red-dark);
  border-color:var(--epchs-red-dark);
  color:var(--epchs-white);
}

.epchs-btn-outline{
  background:var(--epchs-white);
  border-color:var(--epchs-line);
  color:var(--epchs-ink);
}

.epchs-btn-outline:hover{
  border-color:var(--epchs-red);
  color:var(--epchs-red);
}

.epchs-card{
  background:var(--epchs-card);
  border:1px solid var(--epchs-line);
  border-radius:var(--epchs-radius-md);
  box-shadow:var(--epchs-shadow-card);
}

.epchs-card-body{
  padding:24px;
}

.epchs-panel{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(141,1,2,.10);
  border-radius:var(--epchs-radius-lg);
  box-shadow:var(--epchs-shadow-card);
}

.epchs-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:var(--epchs-radius-pill);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.epchs-badge-primary{
  background:rgba(141,1,2,.08);
  color:var(--epchs-red);
}

.epchs-form-label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  color:var(--epchs-ink);
}

.epchs-input,
.epchs-select,
.epchs-textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  background:var(--epchs-white);
  border:1px solid var(--epchs-line);
  border-radius:var(--epchs-radius-sm);
  color:var(--epchs-ink);
  font-family:var(--epchs-font-body);
}

.epchs-textarea{
  min-height:140px;
  resize:vertical;
}

.epchs-input:focus,
.epchs-select:focus,
.epchs-textarea:focus{
  outline:none;
  border-color:rgba(141,1,2,.35);
  box-shadow:0 0 0 .2rem rgba(141,1,2,.08);
}

.epchs-stat-card{
  display:flex;
  gap:16px;
  align-items:center;
  padding:24px;
  background:var(--epchs-card);
  border:1px solid var(--epchs-line);
  border-radius:var(--epchs-radius-md);
  box-shadow:var(--epchs-shadow-soft);
}

.epchs-stat-value{
  font-size:2rem;
  font-weight:800;
  color:var(--epchs-red);
  line-height:1;
}

.epchs-stat-label{
  font-weight:700;
  color:var(--epchs-ink);
  margin-bottom:6px;
}

.epchs-table-shell{
  background:var(--epchs-card);
  border:1px solid var(--epchs-line);
  border-radius:var(--epchs-radius-md);
  box-shadow:var(--epchs-shadow-soft);
  overflow:hidden;
}

.epchs-table{
  width:100%;
  margin-bottom:0;
  border-collapse:collapse;
}

.epchs-table thead th{
  background:var(--epchs-red);
  color:var(--epchs-white);
  padding:14px 16px;
  font-size:.88rem;
  font-weight:700;
  text-align:left;
}

.epchs-table tbody td{
  padding:14px 16px;
  border-top:1px solid var(--epchs-line);
  color:var(--epchs-ink);
}

.epchs-table tbody tr:hover{
  background:rgba(255,255,255,.4);
}