/* Общие компоненты: пагинация, фильтры, переключатель бизнеса */
.pagination{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:16px}.pagination-current{font-weight:900;color:var(--muted)}.btn.disabled{opacity:.45;pointer-events:none}.appointment-filter-form{min-width:220px}.business-switch-form{display:inline-flex;align-items:center}.business-switch{width:auto;max-width:220px;border-radius:999px;padding:9px 12px;font-weight:800;background:#fff}.client-appointments-hero .stat b{font-size:32px}.subtle-panel{box-shadow:none;background:rgba(255,255,255,.62)}.check-row{display:flex;gap:8px;align-items:center;margin:8px 0;font-weight:800}.check-row input{width:auto}
@media(max-width:640px){.appointment-filter-form,.appointment-filter-form select{width:100%}.pagination{justify-content:stretch}.pagination .btn,.pagination-current{width:100%;text-align:center}.business-switch{max-width:160px}}

/* Tabs */
.tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tab{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;background:#fff;color:#374151;font-weight:900;box-shadow:inset 0 0 0 1px #d8fbfb}.tab:hover{background:#ecfeff;color:#006b6a}.tab.active{background:linear-gradient(135deg,var(--accent),#00b8b4);color:#fff;box-shadow:none}
@media(max-width:640px){.tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.tab{width:100%;padding:11px 10px}}


/* Notification counters and notification page */
.notification-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 6px 14px rgba(239,68,68,.24)}
.user-summary>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-dropdown-summary .notification-count-badge{margin-left:6px;flex:none}.nav-dropdown-summary.active .notification-count-badge,.nav-dropdown[open]>.nav-dropdown-summary .notification-count-badge{background:#fff;color:#dc2626}.user-menu-notifications-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.user-menu-notifications-link .notification-count-badge{margin-left:auto}.notifications-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.notifications-header h1{margin-bottom:6px}.notifications-filter-tabs{flex:none}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#ecfeff;color:#007c7b;font-size:11px;font-weight:900}.tab.active .tab-count{background:#fff;color:#007c7b}.notification-card{position:relative}.notification-card-unread{border-color:#99f6e4;background:linear-gradient(135deg,#ecfeff,#fff)}.notification-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-card-header b{min-width:0;font-size:20px}.notification-actions{margin-bottom:0}.notification-empty{display:flex;align-items:center;justify-content:center;min-height:96px;text-align:center}
@media(max-width:640px){.notifications-header{display:grid;grid-template-columns:1fr}.notifications-filter-tabs{width:100%}.notification-card-header{display:grid;grid-template-columns:1fr;gap:8px}.notification-card-header .badge{width:max-content}}


/* Business outgoing messages */
.outgoing-messages-filter{margin:16px 0 18px}
.outgoing-messages-filter p{margin:0}
.outgoing-filter-actions{display:flex;gap:8px;align-items:end;align-self:end;flex-wrap:wrap;margin:0}
.outgoing-messages-link{padding:7px 10px!important;font-size:12px!important;line-height:1.15!important;white-space:nowrap;flex:none}
.outgoing-messages-table{min-width:980px}
.outgoing-message-preview{margin-top:6px;line-height:1.35}
.outgoing-message-error{margin-top:6px;font-size:12px}
@media(max-width:900px){.outgoing-messages-filter{grid-template-columns:1fr}.outgoing-filter-actions,.outgoing-filter-actions .btn{width:100%}}

/* Profile bot connections */
.bot-connect-list{display:grid;gap:10px;margin-top:12px}.bot-connect-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.bot-connect-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.bot-connect-action{flex:none}.badge.warning{background:#fffbeb;color:#b45309}.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.outgoing-filter-actions .btn{min-height:45px;padding:12px 16px;line-height:1.2}
@media(max-width:640px){.bot-connect-row{display:grid;grid-template-columns:1fr}.bot-connect-action,.bot-connect-action.btn,.bot-connect-row .btn{width:100%}}

/* Единый вид выпадающих списков в Chrome и Safari */
select.input,
select.business-switch,
select.compact-input,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 45px;
  padding-right: 42px;
  line-height: 1.25;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
}
select.input:focus,
select.business-switch:focus,
select.compact-input:focus,
select:focus {
  outline: none;
  border-color: #fb7185;
  box-shadow: 0 0 0 3px rgba(251,113,133,.16);
}
select.input::-ms-expand,
select.business-switch::-ms-expand,
select.compact-input::-ms-expand,
select::-ms-expand {
  display: none;
}

/* Menu appointment counters */
.nav-menu-link-with-badge{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.nav-menu-link-with-badge > span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.menu-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 14px rgba(239,68,68,.22);
  flex:none;
}


/* Add visit form: aligned master service checkboxes */
.add-visit-master-services{
  display:grid;
  gap:8px;
  min-height:96px;
  margin:6px 0 0;
  padding:12px 14px;
  list-style:none;
  box-sizing:border-box;
}
.add-visit-master-services ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.add-visit-master-services .add-visit-service-row,
.add-visit-master-services li,
.add-visit-master-services > div{
  display:block;
  margin:0;
  padding:0;
}
.add-visit-master-services .add-visit-service-label,
.add-visit-master-services label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:28px;
  margin:0;
  line-height:1.35;
  font-weight:400!important;
  cursor:pointer;
}
.add-visit-master-services .add-visit-service-checkbox,
.add-visit-master-services input[type="checkbox"]{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:0;
  transform:none;
  vertical-align:middle;
}
.add-visit-services-message{
  margin:4px 0 0;
}
.push-connect-row{align-items:flex-start}.push-connect-info{align-items:flex-start}.push-status{display:block;width:100%;font-size:12px;font-weight:700}.push-status-ok{color:#047857}.push-status-error{color:#b91c1c}.push-status-muted{color:var(--muted)}.push-connect-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.push-connect-actions .btn{white-space:nowrap}
@media(max-width:640px){.push-connect-actions{justify-content:stretch}.push-connect-actions .btn{width:100%}}

/* Yandex maps */
.yandex-map{
  position:relative;
  min-height:360px;
  width:100%;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.16),transparent 18rem),linear-gradient(135deg,#ecfeff,#fff);
}
.yandex-map-large{min-height:520px}
.yandex-map-business{min-height:380px;margin-top:12px}
.yandex-map-status{
  position:absolute;
  inset:16px auto auto 16px;
  z-index:2;
  max-width:min(520px,calc(100% - 32px));
  padding:10px 12px;
  border-radius:14px;
  background:rgba(236,254,255,.96);
  color:#0f766e;
  font-size:13px;
  font-weight:800;
  box-shadow:0 12px 28px rgba(15,23,42,.10);
}
.yandex-map-status.error{background:rgba(254,242,242,.96);color:#b91c1c}
.yandex-map-status[hidden]{display:none!important}
@media(max-width:640px){
  .yandex-map-large{min-height:420px}
  .yandex-map-business{min-height:320px}
}
