/* Страничные улучшения */
.client-appointments-hero{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(236,254,255,.78))}.appointment-status-filter{max-width:260px}.error-text{color:var(--red);font-weight:800}.stack-form p{margin-top:0}.clients-table-panel .pagination{margin-top:14px}

/* Client appointments */
.client-appointments-header,.appointments-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.client-appointments-header h1,.appointments-list-header h2{margin-bottom:0}.client-appointments-book-btn{flex:none;margin-left:auto}.appointments-list-header{align-items:center;margin-bottom:14px}
@media(max-width:640px){.client-appointments-header,.appointments-list-header{flex-direction:column;align-items:stretch}.client-appointments-book-btn{margin-left:0;width:100%}.appointments-list-header h2{margin-bottom:0}}


/* Mobile appointment cards */
.appointment-table .appointment-actions-cell{text-align:right;white-space:nowrap}
.appointment-services-cell .badge{margin:2px 3px 2px 0}
@media(max-width:720px){
  .appointment-table-wrap{border:0;background:transparent;overflow:visible}
  .appointment-table{display:block;background:transparent;width:100%}
  .appointment-table thead{display:none}
  .appointment-table tbody{display:grid;gap:12px;width:100%}
  .appointment-table tr{display:grid;gap:0;width:100%;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(0,121,121,.08)}
  .appointment-table td{display:grid;grid-template-columns:minmax(94px,34%) minmax(0,1fr);gap:10px;align-items:start;padding:9px 0;border:0;min-width:0}
  .appointment-table td::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
  .appointment-table .appointment-services-cell{align-items:start}
  .appointment-table .appointment-actions-cell{display:block;text-align:stretch;padding-top:12px}
  .appointment-table .appointment-actions-cell::before{content:none}
  .appointment-table .appointment-actions-cell .btn{width:100%}
  .appointment-table .appointment-empty-row{display:block;padding:16px;text-align:center}
  .appointment-table .appointment-empty-row td{display:block;padding:0}
  .appointment-table .appointment-empty-row td::before{content:none}
}
@media(max-width:380px){
  .appointment-table td{grid-template-columns:1fr;gap:4px}
}
