.atps-public { --atps-purple: #514fb8; --atps-border: #d5d8dd; --atps-aqua: #be3f4d; --atps-rent: #71718a; --atps-sync: #e3cf18; margin: 38px auto; font-family: inherit; }
.atps-public__header { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; flex-wrap: wrap; margin-bottom: 16px; }
.atps-public__header h2 { margin: 0; color: #333; }.atps-public__header p { margin: 0; color: #666; }
.atps-day-tabs { display: flex; overflow-x: auto; border-bottom: 2px solid var(--atps-purple); }
.atps-day-tab { border: 0; background: #f0f1f4; color: #34343f; cursor: pointer; white-space: nowrap; padding: 12px 16px; font: inherit; font-weight: 700; }
.atps-day-tab.is-active { background: var(--atps-purple); color: #fff; }
.atps-table-wrap { overflow-x: auto; border: 1px solid var(--atps-border); border-top: 0; }
.atps-mobile-table-wrap { display: none; }
.atps-table { width: 100%; min-width: 780px; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.atps-table th, .atps-table td { border: 1px solid var(--atps-border); text-align: center; vertical-align: middle; min-height: 40px; height: 44px; padding: 0; }
.atps-table thead th { background: #f5f5f6; color: #333; font-size: 12px; font-weight: 700; padding: 7px 4px; }
.atps-table thead tr:first-child th:last-child { background: var(--atps-purple); color: #fff; font-size: 14px; }
.atps-table tbody th, .atps-table tbody td:nth-child(2), .atps-table tbody td:nth-child(3) { background: #fafbfc; font-size: 12px; font-weight: 600; }
.atps-cell { background: #f5f6f8; }.atps-cell--aqua { background: var(--atps-aqua); }.atps-cell--rent { background: var(--atps-rent); }.atps-cell--sync { background: var(--atps-sync); }
.atps-cell__button { width: 100%; min-height: 42px; height: 100%; border: 0; background: transparent; padding: 4px; color: inherit; font: inherit; cursor: default; overflow-wrap: anywhere; line-height: 1.15; }
.atps-cell--aqua .atps-cell__button, .atps-cell--rent .atps-cell__button { color: #fff; }.atps-cell--sync .atps-cell__button { color: #242424; }
.atps-legend { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin: 14px 0; font-size: 13px; }.atps-legend span { white-space: nowrap; }
.atps-swatch { display: inline-block; width: 13px; height: 13px; margin-right: 5px; border: 1px solid #a7aab0; background: #f5f6f8; vertical-align: -2px; }.atps-swatch--aqua { background: var(--atps-aqua); }.atps-swatch--rent { background: var(--atps-rent); }.atps-swatch--sync { background: var(--atps-sync); }
@media (max-width: 767px) { .atps-public { margin: 28px 0; }.atps-day-tab { padding: 11px 13px; }.atps-public__header { display: block; }.atps-public__header p { margin-top: 5px; }.atps-table-wrap { display: none; }.atps-mobile-table-wrap { display: block; overflow: hidden; border: 1px solid var(--atps-border); border-top: 0; }.atps-mobile-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }.atps-mobile-table th, .atps-mobile-table td { height: 43px; padding: 0; border: 1px solid var(--atps-border); text-align: center; vertical-align: middle; }.atps-mobile-table thead th { height: 34px; background: #f5f5f6; color: #333; font-size: 12px; font-weight: 700; }.atps-mobile-table thead th:first-child { width: 89px; }.atps-mobile-table tbody th { background: #fafbfc; color: #333; font-size: 10px; font-weight: 700; line-height: 1.05; }.atps-mobile-table tbody th span, .atps-mobile-table tbody th small { display: block; }.atps-mobile-table tbody th small { margin-top: 3px; color: #70737a; font-size: 9px; font-weight: 400; }.atps-mobile-cell__button { display: block; width: 100%; height: 100%; min-height: 42px; border: 0; background: transparent; color: inherit; font-size: 17px; line-height: 1; }.atps-cell--aqua .atps-mobile-cell__button, .atps-cell--rent .atps-mobile-cell__button { color: #fff; }.atps-cell--sync .atps-mobile-cell__button { color: #3d3600; } }


/* Compact schedule navigation and mobile layout */
.atps-schedule-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:460px;margin:0 0 24px}.atps-schedule-nav a{display:flex;min-height:46px;align-items:center;justify-content:center;border:1px solid #514fb8;border-radius:7px;color:#514fb8;font-weight:700;text-decoration:none}.atps-schedule-nav .atps-pool-link{background:#514fb8;color:#fff}.atps-schedule-nav .atps-fitness-link{border-color:#267bc0;color:#267bc0}.atps-public__header,.atps-fitness-heading{scroll-margin-top:100px}.atps-day-tab__short{display:none}.atps-cell__button,.atps-mobile-cell__button{cursor:pointer}.atps-legend{gap:6px;margin:9px 0 12px;font-size:12px}.atps-legend span{display:inline-flex;align-items:center;min-height:29px;padding:4px 7px;border:1px solid #e1e3e6;border-radius:99px;background:#fafbfc}.atps-cell-dialog{position:fixed;z-index:999999;inset:0}.atps-cell-dialog[hidden]{display:none}.atps-cell-dialog__bg{position:absolute;inset:0;background:rgba(23,23,40,.55)}.atps-cell-dialog__card{position:relative;width:min(390px,calc(100% - 32px));margin:20vh auto 0;padding:26px 24px 22px;border-radius:10px;background:#fff;box-shadow:0 16px 48px rgba(0,0,0,.25);color:#333}.atps-cell-dialog__close{position:absolute;top:8px;right:11px;border:0;background:transparent;color:#555;cursor:pointer;font-size:28px}.atps-cell-dialog__meta{margin:0 38px 8px 0;color:#666;font-size:14px}.atps-cell-dialog h3{margin:0;font-size:23px}.atps-cell-dialog__category{display:inline-block;margin:10px 0 0;padding:4px 8px;border-radius:99px;background:#f0f1f4;font-size:13px}.atps-cell-dialog__note{margin:16px 0 0;padding-top:14px;border-top:1px solid #e4e5e8;line-height:1.45}.atps-fitness-heading{margin:62px auto 16px}.atps-fitness-heading h2{margin:0;color:#333}.atps-fitness-heading p{margin:5px 0 0;color:#666}
@media(max-width:767px){.atps-public{margin:28px 0}.atps-schedule-nav{margin-bottom:22px}.atps-schedule-nav a{min-height:42px;font-size:14px}.atps-public__header p{font-size:14px}.atps-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.atps-day-tab{min-width:0;padding:10px 1px;font-size:12px;text-align:center}.atps-day-tab__full{display:none}.atps-day-tab__short{display:inline}.atps-legend{gap:5px;margin:8px 0 10px;font-size:11px}.atps-legend span{min-height:26px;padding:3px 5px}.atps-swatch{width:10px;height:10px;margin-right:4px}.atps-mobile-table thead th:first-child{width:96px}.atps-mobile-table tbody th span{white-space:nowrap}.atps-cell-dialog__card{margin-top:16vh}.atps-fitness-heading{margin-top:42px}.atps-fitness-heading h2{font-size:26px}}

/* Ровные компактные строки на телефоне */
@media (max-width:767px){.atps-mobile-table tr,.atps-mobile-table tbody tr{height:30px!important}.atps-mobile-table th,.atps-mobile-table td{height:30px!important;min-height:0!important}.atps-mobile-table thead th{height:30px!important;min-height:0!important}.atps-mobile-cell__button{display:flex!important;align-items:center;justify-content:center;height:30px!important;min-height:0!important;padding:0!important;line-height:1!important}.atps-mobile-table tbody th{font-size:10px}}

@media (max-width:767px){.atps-mobile-table tbody td{position:relative;height:30px!important;min-height:0!important;max-height:30px!important}.atps-mobile-cell__button{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important}}

/* Компактное время: ресепшен и время в воде */
.atps-time-key { margin: 8px 0 7px; color: #626671; font-size: 12px; }
.atps-time-key span { padding: 0 3px; }
.atps-table thead tr:first-child th:first-child:not([hidden]) { width: 132px; }
.atps-table tbody tr,
.atps-table tbody th,
.atps-table tbody td { height: 34px; min-height: 34px; }
.atps-table .atps-cell__button { min-height: 34px; height: 34px; padding: 0; }
.atps-table tbody th:not([hidden]) { width: 132px; padding: 2px 7px; text-align: left; white-space: nowrap; }
.atps-table tbody th:not([hidden]) small,
.atps-table tbody th:not([hidden]) strong { display: block; line-height: 1.08; }
.atps-table tbody th:not([hidden]) small { color: #6b6e76; font-size: 10px; font-weight: 400; }
.atps-table tbody th:not([hidden]) strong { color: #30313a; font-size: 12px; font-weight: 700; }
@media (max-width: 767px) {
  .atps-time-key { margin: 8px 0 7px; font-size: 11px; }
  .atps-mobile-table thead th:first-child { width: 112px !important; }
  .atps-mobile-table tbody th { padding: 0 5px !important; text-align: left !important; white-space: nowrap; }
  .atps-mobile-table tbody th small,
  .atps-mobile-table tbody th strong { display: block; line-height: 1.05; }
  .atps-mobile-table tbody th small { margin: 0 !important; color: #70737a; font-size: 10px; font-weight: 400; }
  .atps-mobile-table tbody th strong { color: #30313a; font-size: 11px; font-weight: 700; }
}
