*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--background);background-image:radial-gradient(1100px 380px at 50% -140px,rgba(255,255,255,.08),transparent 70%);background-repeat:no-repeat;background-attachment:fixed;overscroll-behavior-x:none}:root{--foreground:#f6f7f9;--background:#0b0b0c;--surface:#121215;--surface-subtle:#16161b;--border:#23232a;--muted:#a7acb7;--muted-quiet:#6f7684;--primary:#00BFEA;--primary-hover:#00a7cc;--primary-soft:rgba(0,191,234,0.14);--state-past:rgba(46,204,113,0.12);--state-future:#121215;--state-rest:#0f0f12;--state-locked:#111114}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;background:transparent!important;color:var(--foreground);line-height:1.6;overscroll-behavior-x:none}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 24px;background:var(--primary);color:white;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.btn:hover{background:var(--primary-hover);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-glass{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:999px;border:1px solid;font-size:14px;font-weight:600;letter-spacing:.2px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-glass:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(0,191,234,.3)}.btn-glass-primary{background:rgba(0,191,234,.18);border-color:rgba(0,191,234,.45);color:#f6f7f9;box-shadow:0 6px 16px rgba(0,191,234,.12)}.btn-glass-primary:hover{background:rgba(0,191,234,.28);border-color:rgba(0,191,234,.6);transform:translateY(-1px)}.btn-glass-primary:active{transform:translateY(0)}.btn-glass-neutral{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#f6f7f9}.btn-glass-neutral:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);transform:translateY(-1px)}.btn-glass-neutral:active{transform:translateY(0)}@media (min-width:768px){.btn-glass{padding:6px 12px;font-size:12px}}.input{width:100%;padding:12px 16px;font-size:16px;border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .2s}.input:focus{border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.35)}@keyframes softPulse{0%{opacity:.5}50%{opacity:.9}to{opacity:.5}}.pulse{animation:softPulse 1.8s ease-in-out infinite}.session-card{border-radius:18px;padding:19px 16px;border:1px solid;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.4);background-clip:padding-box}.session-card--interactive{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.session-card--interactive:hover:not(.session-card--selected){transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.5)}.session-card--interactive:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.session-card--selected{position:relative;overflow:visible;box-shadow:0 10px 24px rgba(0,0,0,.4),0 0 24px rgba(255,255,255,.15)}.session-card--selected:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.5),0 0 24px rgba(255,255,255,.15)}.session-card__status{pointer-events:none}.session-card--past{background:var(--state-past);border-color:rgba(46,204,113,.28);color:var(--foreground)}.session-card--today{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:var(--foreground);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.session-card--future{background:var(--state-future);border-color:var(--border);color:var(--foreground)}.session-card--rest{background:var(--state-rest);border-color:var(--border);color:var(--muted)}.session-card--locked{background:var(--state-locked);border-color:var(--border);color:#ffffff}.session-card__status{position:absolute;top:14px;right:14px;font-size:14px;opacity:.7}.session-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;opacity:.85}.session-card__title{font-size:18px;font-weight:600}.session-card__description{font-size:14px;opacity:.75}.session-card__cta{align-self:flex-start;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.3px}.session-card__cta--today{background:rgba(255,255,255,.2);color:#ffffff}.session-card__cta--neutral{background:var(--surface-subtle);color:var(--foreground)}.day-row{display:flex;flex-direction:column;gap:12px}.day-row__header{display:flex;align-items:center;gap:12px}.day-row__divider{flex:1 1;height:1px;background:var(--border)}.day-row__cards{display:grid;grid-gap:10px;gap:10px;overflow:visible;padding-bottom:4px}.today-pill{font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);white-space:nowrap}.week-section{display:flex;flex-direction:column;gap:12px}.week-section__label{display:flex;justify-content:space-between;align-items:baseline;color:var(--muted);font-size:12px;letter-spacing:.2px;text-transform:uppercase;font-weight:600}.day-row-in-week{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.day-row-in-week:last-child{margin-bottom:0}.week-section__card{border-radius:20px;border:1px solid var(--border);background:rgba(18,18,21,.6);box-shadow:0 4px 12px rgba(0,0,0,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px;display:flex;flex-direction:column;gap:0}@media (min-width:768px){.session-card{flex-direction:row;align-items:center;padding:10px 12px;gap:16px}.session-card--today{padding:12px 14px}.session-card__header{flex:1 1;font-size:12px}.session-card__title{font-size:15px}.session-card__description{display:none}.session-card__cta{padding:4px 10px;font-size:11px}.day-row{gap:8px}.day-row__header{gap:10px}.day-row__cards{gap:8px}}.coach-card-mobile{display:block}.coach-card-desktop{display:none}@media (min-width:1024px){.coach-card-mobile{display:none}.coach-card-desktop{display:flex;position:-webkit-sticky;position:sticky;top:20px;align-self:flex-start;max-height:calc(100vh - 40px);overflow-y:auto}}.coach-card{background:rgba(18,18,21,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px 20px;box-shadow:0 10px 24px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:16px}.coach-header{gap:12px}.coach-avatar,.coach-header{display:flex;align-items:center}.coach-avatar{width:44px;height:44px;border-radius:50%;background:rgba(0,191,234,.12);border:1px solid rgba(0,191,234,.2);justify-content:center;font-size:20px;box-shadow:0 0 0 2px rgba(0,191,234,.08)}.coach-title{font-size:16px;font-weight:600;color:var(--foreground);line-height:1.2}.coach-status{font-size:12px;color:var(--muted);margin-top:2px}.coach-context{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.coach-context__title{font-size:14px;font-weight:600;color:var(--foreground)}.coach-context__meta{font-size:12px;color:var(--muted)}.coach-context__description{font-size:13px;color:var(--muted);margin-top:2px}.coach-chips{display:flex;flex-wrap:wrap;gap:8px}.coach-chip{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:var(--foreground);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.coach-chip:hover{border-color:rgba(0,191,234,.5);background:rgba(0,191,234,.1);transform:translateY(-1px)}.coach-chip:active{transform:translateY(0)}.coach-response{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.coach-response__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.coach-response__message{font-size:14px;color:var(--foreground);line-height:1.5;word-wrap:break-word}.coach-input-row{display:flex;gap:10px;align-items:center}.coach-input{flex:1 1;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--foreground);font-size:14px;outline:none;transition:all .2s ease}.coach-input::placeholder{color:var(--muted-quiet)}.coach-input:focus{border-color:rgba(0,191,234,.6);box-shadow:0 0 0 3px rgba(0,191,234,.15);background:rgba(255,255,255,.08)}.coach-actions__send{padding:12px 20px;border-radius:999px;border:1px solid rgba(0,191,234,.45);background:rgba(0,191,234,.18);color:var(--foreground);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}.coach-actions__send:hover:not(:disabled){background:rgba(0,191,234,.28);border-color:rgba(0,191,234,.6);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,191,234,.2)}.coach-actions__send:active:not(:disabled){transform:translateY(0)}.coach-actions__send:disabled{opacity:.5;cursor:not-allowed}@media (min-width:768px){.coach-chips{gap:6px}.coach-chip{padding:6px 12px;font-size:12px}}.details-mobile{display:block}.details-desktop{display:none}@media (min-width:1024px){.details-mobile{display:none}.details-desktop{display:block}}.session-details-card{position:static;top:auto}@media (min-width:1024px){.session-details-card{position:static;flex-shrink:0}}.session-details{background:rgba(18,18,21,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px;box-shadow:0 10px 24px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:16px}.session-details--empty{text-align:center;padding:24px 18px}.session-card-swipe-container{position:relative;width:100%;overflow:hidden;border-radius:18px;touch-action:pan-y;overscroll-behavior:contain;overscroll-behavior-x:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;contain:layout style paint;padding:2px 0}.session-card-swipe-container[data-open=true]{overflow:hidden}.swipe-card{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.swipe-card.is-wheeling{transition:none!important}.swipe-card.is-snapping{transition:transform .35s cubic-bezier(.25,.46,.45,.94)!important}.swipe-card.is-swiping *{pointer-events:none}.swipe-card.is-swiping{pointer-events:auto;cursor:-webkit-grabbing;cursor:grabbing;-moz-user-select:none;user-select:none;-webkit-user-select:none}.swipe-card:not(.is-swiping) .session-card__action{pointer-events:auto}.session-card--swiped{z-index:1}.session-card__actions{position:absolute;top:2px;bottom:2px;left:0;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding-right:12px;z-index:0;left:auto;right:0;overflow:visible;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(10px);will-change:opacity,transform}.session-card__action-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;overflow:visible}.session-card-swipe-container[data-reveal=true] .session-card__actions{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition:opacity .12s ease,transform .12s ease}.session-card__action{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;width:auto;max-width:80px;height:100%;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:background .2s ease,transform .2s ease;pointer-events:auto;box-sizing:border-box}.session-card__action,.session-card__action-label{min-width:0;color:var(--foreground);overflow:visible;line-height:1.2}.session-card__action-label{font-size:12px;font-weight:600;text-overflow:ellipsis}.session-card__action:hover{background:rgba(255,255,255,.1);transform:scale(1.05)}.session-card__action:active{transform:scale(.98)}.session-card__action--primary{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.3)}.session-card__action--primary:hover{background:rgba(46,204,113,.18);border-color:rgba(46,204,113,.4)}.session-card__action--cancel{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3)}.session-card__action--cancel:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4)}.session-card__action--secondary{border-color:rgba(255,255,255,.15)}.session-card__action-icon-only{display:flex;align-items:center;justify-content:center;width:56px;height:56px;cursor:pointer;transition:opacity .2s ease,transform .2s ease;pointer-events:auto}.session-card__action-icon-only:hover{opacity:.7;transform:scale(1.05)}.session-card__action-icon-only:active{transform:scale(.98)}.session-card__action-icon-only--cancel{color:rgba(239,68,68,.9)}.session-card__action-icon-only--secondary{color:var(--foreground);opacity:.85}.session-card__action-icon{font-size:18px;line-height:1;opacity:.9;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transform:none}.session-card__action-label{font-size:11px;font-weight:500;color:var(--muted);text-align:center;white-space:nowrap}.swipe-action-menu{position:absolute;top:calc(100% + 8px);right:16px;min-width:200px;background:rgba(18,18,21,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.4);overflow:hidden;z-index:1000;opacity:0;transform:translateY(-8px) scale(.95);transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.swipe-action-menu--open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.swipe-action-menu__item{display:block;width:100%;padding:12px 16px;text-align:left;background:transparent;color:var(--foreground);font-size:14px;cursor:pointer;transition:background .15s ease;border:none;border-bottom:1px solid rgba(255,255,255,.05)}.swipe-action-menu__item:last-child{border-bottom:none}.swipe-action-menu__item:hover{background:rgba(255,255,255,.08)}.swipe-action-menu__item:active{background:rgba(255,255,255,.12)}