.personal-training-panel{margin-block:1.25rem 2rem;padding:clamp(1rem,2.5vw,1.75rem);border:1px solid #dce5ef;border-radius:18px;background:var(--surface,#fff);color:var(--ink,#102b42);min-width:0}
.personal-training-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}.personal-training-heading h2{margin:.25rem 0;letter-spacing:-.035em}.personal-training-heading .eyebrow{margin:0}
.personal-training-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));list-style:none;padding:0;margin:0;gap:1rem}.personal-training-list>li{min-width:0}
.personal-training-coach{display:flex;align-items:flex-start;gap:.75rem;margin-block:.75rem}.personal-training-coach .personal-coach-avatar{width:48px;height:52px;border-radius:10px;font-size:1rem}.personal-training-coach .personal-training-facts{margin:0;min-width:0}
.personal-training-card{padding:1rem;border:1px solid #dce5ef;border-radius:12px;background:#f7f9fd;overflow-wrap:anywhere;min-width:0}.personal-training-card h3{font-size:1.05rem;line-height:1.4;margin:.65rem 0}.personal-training-facts{line-height:1.65;margin:.5rem 0 .75rem}.personal-training-card .badge{white-space:normal;line-height:1.4}.personal-training-card.is-requested{border-style:dashed;border-color:#9ab4d8;background:#f2f6ff}.personal-training-card.is-available{background:#f8faff;border-color:#dce5ef}
.personal-clockchange-note{padding:.75rem;border-left:3px solid #a97600;background:#fff4d7;color:#513a0a;font-size:.875rem;line-height:1.6}
.personal-week-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.personal-week-controls button,.personal-week-day-button{min-height:44px}.personal-week-controls>[data-personal-week]{width:44px;padding:0;border:1px solid #dce5ef;border-radius:50%;background:#fff;color:#12324a}.personal-week-controls>[data-personal-week]:hover{background:#edf3ff;border-color:#8daee1}.personal-week-controls>[data-personal-today]{border:0;border-radius:12px;background:#f0f4fa;color:#12324a;font-weight:600;padding-inline:1rem}.personal-week-controls>[data-personal-refresh]{font-size:.82rem;color:#496684}
.personal-calendar-switch{display:flex;gap:2px;padding:4px;border:0;background:#eef2f8;border-radius:12px;margin-left:auto}.personal-calendar-switch button{min-height:36px;padding:.4rem .9rem;border:0;border-radius:9px;background:transparent;color:#49617d;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.personal-calendar-switch button[aria-pressed=true]{background:#fff;color:#12324a;box-shadow:0 1px 4px #102b421a}
.personal-calendar-switch button:focus-visible,.personal-time-event:focus-visible,.personal-time-scroll:focus-visible,.personal-calendar-day:focus-visible{outline:3px solid #1553d8;outline-offset:3px}
.personal-week-range{font-size:.95rem;font-weight:650;letter-spacing:-.015em;margin:.95rem 0 .65rem}.personal-week-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.75rem;line-height:1.6;color:#45617c}.personal-week-legend>span{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:7px;background:#f3f6fb}.personal-week-legend>span:first-child{background:#edf8cc;color:#29410b}
.personal-calendar-help{font-size:.8rem;line-height:1.5;color:#59718a;margin:.65rem 0}.personal-time-scroll{max-height:680px;max-width:100%;overflow:auto;overscroll-behavior:contain;border:1px solid #e3eaf3;border-radius:14px;background:#fff}.personal-time-calendar{display:grid;grid-template-columns:52px repeat(7,minmax(140px,1fr));min-width:1032px;isolation:isolate}
.personal-time-axis{position:sticky;left:0;background:#fff;z-index:4;min-width:0;border-right:1px solid #e8edf5}.personal-time-heading{position:sticky;top:0;z-index:3;box-sizing:border-box;min-height:72px;height:72px;margin:0;padding:.35rem .3rem;background:#fff;border-bottom:1px solid #dde7f3;display:flex;align-items:center;justify-content:center}.personal-time-zone{font-size:.61rem;color:#59718a;font-weight:500;letter-spacing:.025em}.personal-calendar-day{width:100%;min-height:60px;display:grid;grid-template-columns:auto auto;grid-template-rows:18px 28px;align-items:center;justify-content:center;column-gap:.35rem;border:0;border-radius:10px;background:transparent;color:#45617c;font:inherit;cursor:pointer}.personal-calendar-day>span{grid-column:1/-1;font-size:.7rem;font-weight:600;letter-spacing:.025em}.personal-calendar-day>strong{display:grid;place-items:center;min-width:28px;height:28px;font-size:1.05rem;letter-spacing:-.04em;color:#12324a}.personal-calendar-day>small{font-size:.68rem;color:#59718a}.personal-calendar-day:hover{background:#f2f6fc}.personal-calendar-day[aria-pressed=true]{background:#f2f6ff}.personal-calendar-day[aria-pressed=true]>strong{background:#dcf56a;color:#102b42;border-radius:9px}.personal-calendar-day[aria-pressed=true]>span{color:#1553d8}
.personal-time-axis-body{position:relative}.personal-time-axis-body>span{position:absolute;right:7px;font-size:.66rem;font-weight:500;line-height:1.2;color:#647c94;padding-top:3px}.personal-time-day{min-width:0;border-right:1px solid #edf1f6}.personal-time-day:last-child{border-right:0}.personal-time-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 15px,#f1f4f8 15px,#f1f4f8 16px),repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#dce6f2 63px,#dce6f2 64px)}
.personal-time-window{position:absolute;box-sizing:border-box;left:2px;right:2px;border-left:2px solid #a4bfe6;border-radius:7px;background:#1553d806;color:#4e6b90;overflow:hidden;font-size:.64rem;line-height:1.35;padding:3px 4px;pointer-events:none}.personal-time-event{position:absolute;box-sizing:border-box;min-height:0;min-width:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 7px;border:1px solid #bbd0f2;border-left:3px solid #1553d8;border-radius:9px;background:#eaf1ff;color:#17395e;box-shadow:0 2px 5px #102b4208;font:inherit;font-size:.7rem;line-height:1.2;text-align:left;overflow:hidden;overflow-wrap:anywhere;cursor:pointer}.personal-time-event.is-requested{border:1px dashed #7e9dc9;border-left:3px solid #7e9dc9;background:#f6f9ff;color:#2c4c73;box-shadow:none}.personal-time-event.is-proposed{border-color:#7e9dc9;border-left-color:#dcf56a;background:#14334d;color:#fff}.personal-time-event-time{font-weight:750;letter-spacing:-.02em}.personal-time-event>strong{display:inline-block;border-radius:5px;padding:2px 4px;font-size:.63rem;line-height:1.25;font-weight:650;background:#dce8fc;color:#25476e}.personal-time-event.is-confirmed>strong{background:#dcf56a;color:#203607}.personal-time-event.is-proposed>strong{background:#254d70;color:#fff}.personal-time-event>span,.personal-time-event>strong{max-width:100%}.personal-time-event>span:not(.personal-time-event-time){font-size:.67rem;line-height:1.3}.personal-time-event:focus-visible{z-index:5;box-shadow:0 0 0 3px #fff}.personal-time-event:hover{border-color:#1553d8;box-shadow:0 3px 9px #17395e1a}.personal-time-empty{position:absolute;top:1rem;left:.6rem;right:.6rem;margin:0;font-size:.7rem;line-height:1.5;color:#6a8198}
.personal-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:1rem 0;padding:4px;border-radius:13px;background:#f2f5fa}.personal-week-days.is-calendar-picker{display:none}.personal-week-day-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:9px;padding:.4rem 0;background:transparent;color:#49617d;font:inherit;font-size:.72rem;cursor:pointer}.personal-week-day-button>strong{display:grid;place-items:center;min-width:25px;min-height:25px;border-radius:8px;color:#12324a}.personal-week-day-button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #102b4212}.personal-week-day-button[aria-pressed=true]>strong{background:#dcf56a;color:#102b42}.personal-week-day-button:focus-visible{outline:3px solid #1553d8;outline-offset:2px}
.personal-week-agenda{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem}.personal-week-day{min-width:0}.personal-week-day>h3{font-size:.85rem;line-height:1.5}.personal-week-day .personal-training-card{padding:.75rem;margin-bottom:.65rem;font-size:.85rem}.personal-week-day .text-button{white-space:normal;text-align:left}.personal-week-empty{font-size:.85rem;color:#59718a;line-height:1.5}
@media(max-width:1100px){.personal-week-agenda{grid-template-columns:1fr}.personal-week-day{display:none}.personal-week-day.is-selected{display:block}.personal-week-day .personal-training-card{padding:1rem;font-size:1rem}.personal-week-day>h3{font-size:1.05rem}.personal-time-calendar{grid-template-columns:43px minmax(0,1fr);min-width:0}.personal-time-day{display:none;border-right:0}.personal-time-day.is-selected{display:block}.personal-time-scroll{max-height:580px;border-radius:12px}.personal-time-event{font-size:.8rem;padding:7px 9px}.personal-time-event>strong{font-size:.7rem}.personal-time-event>span:not(.personal-time-event-time){font-size:.76rem}.personal-week-days.is-calendar-picker{display:grid}.personal-time-heading{display:none}.personal-time-axis{padding-top:0}.personal-calendar-switch{margin-left:auto}}
@media(max-width:420px){.personal-training-heading{align-items:flex-start}.personal-training-panel{padding:1rem .75rem;border-radius:14px}.personal-week-legend{gap:.35rem;font-size:.68rem}.personal-week-legend>span{padding:.15rem .35rem}.personal-week-controls{gap:.35rem}.personal-week-controls .button{padding-inline:.6rem}.personal-calendar-switch button{padding:.4rem .65rem}.personal-training-card .button{width:100%}.personal-time-event{padding:5px 6px}.personal-calendar-help{font-size:.75rem}}
@media(prefers-reduced-motion:no-preference){.personal-time-event,.personal-calendar-day,.personal-week-day-button{transition:background .15s,border-color .15s,box-shadow .15s}}
