.pu{
  width: 100%;
  max-width: none;
  margin: 0;
  color: #2b1b12;
}
.pu * { box-sizing: border-box; }

.pu-card{
  background: #fff;
  border: 1px solid #e8ded6;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(60, 30, 10, .08);
}

.pu-card__head{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.pu-title{
  font-size: 18px;
  font-weight: 800;
  color: #3a2417;
}

.pu-form{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items:end;
}

.pu-field label{
  display:block;
  font-size: 12px;
  color: #7a5a46;
  margin-bottom: 6px;
}

.pu-field input{
  width:100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e8ded6;
  background: #fff;
  color: #2b1b12;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.pu-field input::placeholder{ color: #b59b8a; }

.pu-field input:focus{
  border-color: #a87a5a;
  box-shadow: 0 0 0 4px rgba(168,122,90,.18);
}

.pu-actions{
  grid-column: 1 / -1;
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.pu-btn{
  border: 1px solid #e8ded6;
  background: #fff;
  color: #3a2417;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 750;
  transition: transform .08s ease, box-shadow .15s ease, background .15s ease;
}

.pu-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(60, 30, 10, .10);
}
.pu-btn:active{ transform: translateY(0); }

.pu-btn--primary{
  border-color: #7a4e2d;
  background: linear-gradient(180deg, #8a5a37, #6e4024);
  color: #fff;
}

.pu-btn--ghost{ background: #f7f1ed; }

.pu-hint{
  color: #7a5a46;
  font-size: 13px;
}

.pu-results{ margin-top: 14px; }

.pu-meta{
  color: #7a5a46;
  font-size: 13px;
  margin: 10px 2px;
}

.pu-empty{
  border: 1px dashed #e8ded6;
  background: #fbf8f6;
  color: #7a5a46;
  border-radius: 14px;
  padding: 14px;
}

.pu-alert{
  border: 1px solid #e8ded6;
  background: #fbf8f6;
  color: #7a5a46;
  border-radius: 14px;
  padding: 12px 14px;
}

.pu-alert--error{
  border-color: rgba(200, 60, 60, .35);
  background: rgba(200, 60, 60, .06);
  color: #7a1f1f;
}

.pu-tableWrap{
  border-radius: 14px;
  overflow:auto;
  border: 1px solid #e8ded6;
  background: #fff;
}

.pu-table{
  width:100%;
  border-collapse: collapse;
  min-width: 860px;
}

.pu-table thead th{
  background: #fbf8f6;
  color: #6b4a38;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 12px 10px;
  border-bottom: 1px solid #e8ded6;
  white-space: nowrap;
}

.pu-table tbody td{
  padding: 12px 10px;
  border-bottom: 1px solid #f0e7e1;
  color: #2b1b12;
  font-size: 14px;
  white-space: nowrap;
}

.pu-table tbody tr:hover td{ background: #fbf6f2; }

.pu-strong{ font-weight: 800; }

.pu-pager{
  display:flex;
  gap: 8px;
  align-items:center;
  flex-wrap: wrap;
  margin-top: 10px;
}

.pu-page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 36px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #e8ded6;
  background: #fff;
  color: #3a2417;
  text-decoration: none;
  font-weight: 800;
}
.pu-page:hover{ background: #f7f1ed; }

.pu-page--active{
  border-color: #7a4e2d;
  background: rgba(122, 78, 45, .10);
}

@media (max-width: 900px){
  .pu-form{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
  .pu-form{ grid-template-columns: 1fr; }
  .pu-card__head{ flex-direction: column; align-items:flex-start; }
}

.pu-results-toolbar{
  display:flex;
  justify-content:flex-end;
  margin: 10px 0 0;
  gap: 10px;
}