.etp-auth,.etp-panel,.etp-booking{max-width:720px;margin:24px auto;padding:24px;border:1px solid #ddd;border-radius:16px;background:#fff}.etp-auth label,.etp-booking label{display:block;margin:14px 0;font-weight:600}.etp-auth input,.etp-booking input,.etp-booking select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #bbb;border-radius:10px;font-size:16px}.etp-button{display:inline-block;padding:10px 16px;border:0;border-radius:999px;background:#111;color:#fff!important;text-decoration:none;cursor:pointer}.etp-button.secondary{background:#f0f0f0;color:#111!important}.etp-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #ddd}.etp-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.12em}.etp-section{padding:26px 0;border-bottom:1px solid #e5e5e5}.etp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.etp-card{padding:18px;border:1px solid #ddd;border-radius:14px}.etp-big{font-size:38px;font-weight:700;margin-top:8px}.etp-price{font-size:24px;font-weight:700;margin:14px 0}.etp-list{display:grid;gap:10px}.etp-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid #ddd;border-radius:12px}.etp-actions{display:flex;gap:8px;flex-wrap:wrap}.etp-notice{padding:14px 16px;border-radius:10px;margin:14px 0}.etp-notice.success{background:#edf8ef}.etp-notice.error{background:#fff0f0}.etp-slots{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.etp-booking .etp-slot{padding:10px 14px;border:1px solid #bbb!important;border-radius:999px;background:#fff!important;color:#111!important;cursor:pointer;font:inherit;line-height:1.25;text-shadow:none!important;-webkit-text-fill-color:#111}.etp-booking .etp-slot:hover{background:#f5f5f5!important;color:#111!important;-webkit-text-fill-color:#111}.etp-booking .etp-slot:focus-visible{outline:3px solid #111;outline-offset:2px}.etp-booking .etp-slot:disabled{opacity:.5;color:#111!important;-webkit-text-fill-color:#111}.etp-auth .login-username label,.etp-auth .login-password label,.etp-auth .login-remember label{display:block}.etp-auth #user_login,.etp-auth #user_pass{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bbb;border-radius:10px}.etp-auth #wp-submit{padding:10px 16px;border:0;border-radius:999px;background:#111;color:#fff;cursor:pointer}@media(max-width:640px){.etp-hero,.etp-row{align-items:flex-start;flex-direction:column}.etp-actions{width:100%}}

.etp-notice.warning{background:#fff7e6}.etp-button.danger{background:#7a1f1f;color:#fff!important}.etp-policy{padding:12px 14px;border:1px solid #ddd;border-radius:10px;background:#fafafa}
.etp-inline-form{display:inline;margin:0}.etp-inline-form button{font:inherit}


/* Monthly booking calendar */
.etp-calendar-shell{margin:20px 0 10px}.etp-calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px}.etp-calendar-month{text-align:center;font-size:20px;font-weight:700;color:#111}.etp-booking .etp-calendar-arrow{width:44px;height:44px;padding:0;border:1px solid #bbb!important;border-radius:999px;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;font:inherit;font-size:28px;line-height:1;cursor:pointer;text-shadow:none!important}.etp-booking .etp-calendar-arrow:hover:not(:disabled){background:#f5f5f5!important}.etp-booking .etp-calendar-arrow:focus-visible{outline:3px solid #111;outline-offset:2px}.etp-booking .etp-calendar-arrow:disabled{opacity:.28;cursor:not-allowed}.etp-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.etp-calendar-weekday{text-align:center;padding:6px 2px;font-size:12px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.04em}.etp-calendar-blank{min-height:44px}.etp-booking .etp-calendar-day{aspect-ratio:1/1;min-height:44px;padding:0;border:1px solid #ddd!important;border-radius:10px;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;font:inherit;font-weight:600;cursor:pointer;text-shadow:none!important}.etp-booking .etp-calendar-day:hover:not(:disabled):not(.is-selected){background:#f5f5f5!important;border-color:#999!important}.etp-booking .etp-calendar-day:focus-visible{outline:3px solid #111;outline-offset:2px}.etp-booking .etp-calendar-day.is-selected{background:#111!important;border-color:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.etp-booking .etp-calendar-day.is-today:not(.is-selected){border-color:#111!important}.etp-booking .etp-calendar-day:disabled{background:#f7f7f7!important;color:#aaa!important;-webkit-text-fill-color:#aaa!important;cursor:not-allowed}.etp-selected-date{margin:12px 0 4px;font-weight:600;color:#222}@media(max-width:480px){.etp-calendar{gap:4px}.etp-booking .etp-calendar-day{min-height:38px;border-radius:8px}.etp-calendar-weekday{font-size:11px}.etp-calendar-blank{min-height:38px}}

.etp-button.danger{background:#b42318!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-button.danger:hover{background:#8f1d14!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-button.unschedule{background:#eef7f0!important;color:#14532d!important;-webkit-text-fill-color:#14532d!important;border:1px solid #b7dcc0!important}
.etp-button.unschedule:hover{background:#e0f1e4!important;color:#14532d!important;-webkit-text-fill-color:#14532d!important}
.etp-button.disabled-action{background:#f2f2f2!important;color:#999!important;-webkit-text-fill-color:#999!important;border:1px solid #ddd!important;cursor:not-allowed!important}
.etp-inline-form{display:none}
.etp-modal[hidden]{display:none!important}
.etp-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}
.etp-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.etp-modal-dialog{position:relative;z-index:1;width:min(520px,100%);background:#fff;color:#111;border-radius:18px;padding:26px;border:1px solid #ddd;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.etp-modal-dialog h3{margin:0 36px 10px 0;color:#111}
.etp-modal-dialog p{margin:0;color:#333;line-height:1.55}
.etp-modal-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:999px;background:#f3f3f3;color:#111;font-size:26px;line-height:1;cursor:pointer}
.etp-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}
body.etp-modal-open{overflow:hidden}
@media(max-width:520px){.etp-modal-actions{flex-direction:column-reverse}.etp-modal-actions .etp-button{width:100%;text-align:center}.etp-modal-dialog{padding:22px}}
.etp-booking .etp-slot.is-selected{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111!important}
.etp-reschedule-confirm>div{margin-top:8px}

/* v0.10.0 — Corporate Student Dashboard */
.etp-dashboard{
  --etp-navy:#313073;
  --etp-red:#ef1c26;
  --etp-ink:#172033;
  --etp-muted:#667085;
  --etp-line:#e6eaf0;
  --etp-soft:#f5f8fc;
  --etp-soft-blue:#eef3fb;
  max-width:1120px;
  margin:28px auto 48px;
  color:var(--etp-ink);
  font-family:Aptos,"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
.etp-dashboard *{box-sizing:border-box}
.etp-dashboard-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  padding:34px 36px;
  border:1px solid var(--etp-line);
  border-radius:24px 24px 0 0;
  background:linear-gradient(135deg,#fff 0%,#f7f9fd 100%);
  box-shadow:0 14px 34px rgba(24,39,75,.06);
}
.etp-dashboard-heading{max-width:690px}
.etp-dashboard-kicker,.etp-section-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--etp-navy);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.etp-dashboard-heading h2{
  margin:0;
  color:var(--etp-ink);
  font-size:clamp(30px,4vw,44px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:750;
}
.etp-dashboard-heading p{margin:12px 0 0;color:var(--etp-muted);font-size:17px;line-height:1.6}
.etp-dashboard .etp-button{
  border-radius:10px;
  background:var(--etp-navy);
  padding:11px 16px;
  font-weight:700;
  line-height:1.2;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.etp-dashboard .etp-button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(49,48,115,.14)}
.etp-dashboard .etp-button.secondary{background:#fff;color:var(--etp-navy)!important;border:1px solid #d9ddec}
.etp-dashboard .etp-button.secondary:hover{background:var(--etp-soft-blue);border-color:#c7cdea}
.etp-dashboard-book{min-width:170px;text-align:center;padding:13px 19px!important;white-space:nowrap}
.etp-account-strip{
  display:flex;
  flex-wrap:wrap;
  gap:14px 28px;
  padding:15px 36px;
  border:1px solid var(--etp-line);
  border-top:0;
  background:#fff;
  color:var(--etp-muted);
  font-size:13px;
}
.etp-account-strip strong{color:var(--etp-ink);font-weight:750;margin-right:6px}
.etp-dashboard-section{
  padding:38px 36px;
  border-left:1px solid var(--etp-line);
  border-right:1px solid var(--etp-line);
  background:#fff;
}
.etp-dashboard-section+.etp-dashboard-section{border-top:1px solid var(--etp-line)}
.etp-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}
.etp-section-heading h3{margin:0;color:var(--etp-ink);font-size:25px;line-height:1.2;letter-spacing:-.02em}
.etp-summary-pill,.etp-upcoming-count{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border:1px solid #dfe4ec;
  border-radius:999px;
  background:#fafbfd;
  color:var(--etp-muted);
  font-size:13px;
  white-space:nowrap;
}
.etp-summary-pill strong{color:var(--etp-navy);font-size:15px}
.etp-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}
.etp-balance-card{
  position:relative;
  overflow:hidden;
  min-height:224px;
  padding:24px;
  border:1px solid var(--etp-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(22,32,51,.045);
}
.etp-card-accent{position:absolute;inset:0 auto 0 0;width:4px;background:var(--etp-navy)}
.etp-balance-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.etp-service-name{font-weight:800;color:var(--etp-ink);font-size:16px}
.etp-rate-label{color:var(--etp-muted);font-size:12px;text-align:right}
.etp-balance-number{margin-top:24px;color:var(--etp-navy);font-size:52px;line-height:1;font-weight:760;letter-spacing:-.04em}
.etp-balance-caption{margin-top:6px;color:var(--etp-muted);font-size:14px}
.etp-card-link{display:inline-block;margin-top:22px;color:var(--etp-navy);font-size:14px;font-weight:750;text-decoration:none}
.etp-card-link:hover{text-decoration:underline}
.etp-policy-card{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin:0 0 20px;
  padding:15px 17px;
  border:1px solid #dfe5ee;
  border-radius:14px;
  background:var(--etp-soft);
}
.etp-policy-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--etp-navy);color:#fff;font-weight:800;font-family:Georgia,serif;font-size:14px}
.etp-policy-card strong{display:block;margin-bottom:3px;color:var(--etp-ink);font-size:13px}
.etp-policy-card span{display:block;color:var(--etp-muted);font-size:13px;line-height:1.5}
.etp-lesson-list{display:grid;gap:14px}
.etp-lesson-card{
  display:grid;
  grid-template-columns:82px minmax(190px,1fr) minmax(360px,auto);
  gap:20px;
  align-items:center;
  padding:19px 20px;
  border:1px solid var(--etp-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(22,32,51,.035);
}
.etp-lesson-card.is-next{border-color:#cfd5eb;background:linear-gradient(90deg,#fbfcff 0%,#fff 48%)}
.etp-date-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;width:70px;min-height:78px;border-radius:13px;background:var(--etp-soft-blue);color:var(--etp-navy);line-height:1}
.etp-date-month,.etp-date-day{font-size:10px;font-weight:850;letter-spacing:.09em}
.etp-date-tile strong{margin:5px 0 4px;font-size:29px;letter-spacing:-.03em}
.etp-lesson-status{margin-bottom:4px;color:var(--etp-navy);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.etp-lesson-content h4{margin:0;color:var(--etp-ink);font-size:18px;line-height:1.25}
.etp-lesson-time{margin-top:6px;color:#45506a;font-size:14px;font-weight:650}
.etp-lesson-date-mobile{display:none;margin-top:3px;color:var(--etp-muted);font-size:13px}
.etp-lesson-actions{justify-content:flex-end;align-items:center;gap:7px}
.etp-dashboard .etp-lesson-actions .etp-button{padding:9px 12px;font-size:12.5px;white-space:nowrap}
.etp-dashboard .etp-zoom-button{background:var(--etp-navy);color:#fff!important}
.etp-dashboard .etp-button.unschedule{background:#f1f8f3!important;border:1px solid #cde2d2!important;color:#245e37!important;-webkit-text-fill-color:#245e37!important}
.etp-dashboard .etp-button.danger{background:#fff!important;border:1px solid #f0c8c9!important;color:#b42318!important;-webkit-text-fill-color:#b42318!important}
.etp-dashboard .etp-button.danger:hover{background:#fff5f5!important;color:#9c1c14!important;-webkit-text-fill-color:#9c1c14!important}
.etp-dashboard .etp-button.disabled-action{background:#f5f6f8!important;border:1px solid #e1e4e9!important;color:#98a0ad!important;-webkit-text-fill-color:#98a0ad!important;box-shadow:none;transform:none}
.etp-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}
.etp-package-card{display:flex;flex-direction:column;min-height:270px;padding:24px;border:1px solid var(--etp-line);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);box-shadow:0 8px 24px rgba(22,32,51,.04)}
.etp-package-service{color:var(--etp-navy);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.etp-package-card h4{margin:8px 0 0;color:var(--etp-ink);font-size:18px;line-height:1.3}
.etp-package-lessons{margin-top:9px;color:var(--etp-muted);font-size:14px}
.etp-package-price{margin:24px 0 20px}
.etp-package-price strong{display:block;color:var(--etp-ink);font-size:28px;letter-spacing:-.025em}
.etp-package-price span{display:block;margin-top:3px;color:var(--etp-muted);font-size:12px}
.etp-package-purchase-form{margin-top:auto}
.etp-package-button{width:100%;text-align:center}
.etp-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:26px;border:1px dashed #ccd3df;border-radius:16px;background:#fbfcfe;color:var(--etp-muted)}
.etp-empty-state strong{color:var(--etp-ink);font-size:16px}
.etp-empty-state .etp-button{margin-top:12px}
.etp-dashboard-footer{padding:20px 36px;border:1px solid var(--etp-line);border-top:0;border-radius:0 0 24px 24px;background:#fafbfd;text-align:right}
.etp-dashboard-footer a{color:var(--etp-muted);font-size:13px;text-decoration:none}
.etp-dashboard-footer a:hover{color:var(--etp-navy);text-decoration:underline}

@media(max-width:980px){
  .etp-lesson-card{grid-template-columns:72px 1fr}
  .etp-lesson-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}
}
@media(max-width:700px){
  .etp-dashboard{margin:18px auto 32px}
  .etp-dashboard-header{align-items:flex-start;flex-direction:column;padding:26px 22px;border-radius:18px 18px 0 0}
  .etp-dashboard-book{width:100%}
  .etp-account-strip{padding:13px 22px;flex-direction:column;gap:6px}
  .etp-dashboard-section{padding:30px 22px}
  .etp-section-heading{align-items:flex-start;flex-direction:column}
  .etp-summary-pill,.etp-upcoming-count{white-space:normal}
  .etp-lesson-card{grid-template-columns:62px 1fr;padding:16px;gap:14px}
  .etp-date-tile{width:58px;min-height:70px}
  .etp-date-tile strong{font-size:25px}
  .etp-lesson-date-mobile{display:block}
  .etp-lesson-actions{width:100%}
  .etp-dashboard .etp-lesson-actions .etp-button{flex:1 1 calc(50% - 7px);text-align:center}
  .etp-dashboard-footer{padding:18px 22px;border-radius:0 0 18px 18px}
}
@media(max-width:460px){
  .etp-dashboard-heading h2{font-size:30px}
  .etp-dashboard-heading p{font-size:15px}
  .etp-balance-grid,.etp-package-grid{grid-template-columns:1fr}
  .etp-dashboard .etp-lesson-actions .etp-button{flex:1 1 100%}
  .etp-lesson-card{grid-template-columns:1fr}
  .etp-date-tile{display:none}
}

/* v0.10.1 — Compact account-style dashboard
   Intentionally inherits the site's typography and avoids the rounded SaaS-card aesthetic. */
.etp-dashboard{
  --etp-navy:#313073;
  --etp-red:#ef1c26;
  --etp-ink:#1d2433;
  --etp-muted:#687080;
  --etp-line:#dfe3e8;
  --etp-soft:#f7f8fa;
  --etp-soft-blue:#f3f5fb;
  max-width:1040px;
  margin:20px auto 38px;
  font-family:inherit;
}
.etp-dashboard-header{
  align-items:center;
  padding:22px 0 18px;
  border:0;
  border-top:3px solid var(--etp-navy);
  border-bottom:1px solid var(--etp-line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-dashboard-kicker,.etp-section-kicker{
  margin-bottom:5px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}
.etp-dashboard-heading h2{
  font-size:clamp(25px,3vw,33px);
  line-height:1.12;
  letter-spacing:-.015em;
  font-weight:650;
}
.etp-dashboard-heading p{margin:6px 0 0;font-size:14px;line-height:1.45}
.etp-dashboard .etp-button{
  border-radius:4px;
  padding:8px 12px;
  font-family:inherit;
  font-size:13px;
  font-weight:650;
  box-shadow:none;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.etp-dashboard .etp-button:hover{transform:none;box-shadow:none}
.etp-dashboard-book{min-width:0;padding:9px 14px!important}
.etp-account-strip{
  gap:10px 26px;
  padding:10px 0 13px;
  border:0;
  border-bottom:1px solid var(--etp-line);
  font-size:12px;
}
.etp-account-strip strong{font-weight:650}
.etp-dashboard-section{
  padding:25px 0;
  border:0;
  background:#fff;
}
.etp-dashboard-section+.etp-dashboard-section{border-top:1px solid var(--etp-line)}
.etp-section-heading{align-items:center;margin-bottom:14px}
.etp-section-heading h3{font-size:19px;letter-spacing:-.01em;font-weight:650}
.etp-summary-pill,.etp-upcoming-count{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:12px;
}
.etp-summary-pill strong{font-size:13px}

/* Balances become compact account rows rather than large cards. */
.etp-balance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--etp-line);
  border-left:1px solid var(--etp-line);
}
.etp-balance-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:16px;
  min-height:0;
  padding:14px 16px;
  border:0;
  border-right:1px solid var(--etp-line);
  border-bottom:1px solid var(--etp-line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-card-accent{display:none}
.etp-balance-top{display:block;grid-column:1;grid-row:1;min-width:0}
.etp-service-name{display:block;font-size:14px;font-weight:650;line-height:1.3}
.etp-rate-label{display:block;margin-top:3px;font-size:11px;text-align:left;color:var(--etp-muted)}
.etp-balance-number{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  margin:0;
  min-width:38px;
  color:var(--etp-navy);
  font-size:30px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.02em;
  text-align:right;
}
.etp-balance-caption{display:none}
.etp-card-link{
  grid-column:1;
  grid-row:2;
  margin-top:7px;
  width:max-content;
  color:var(--etp-navy);
  font-size:11.5px;
  font-weight:650;
}

.etp-policy-card{
  margin:0 0 12px;
  padding:10px 12px;
  gap:9px;
  border:1px solid var(--etp-line);
  border-radius:4px;
  background:#fafbfc;
}
.etp-policy-icon{flex-basis:18px;width:18px;height:18px;border-radius:50%;font-size:11px}
.etp-policy-card strong{font-size:12px}
.etp-policy-card span{font-size:11.5px;line-height:1.42}

/* Upcoming lessons read like a schedule ledger rather than floating cards. */
.etp-lesson-list{display:block;border-top:1px solid var(--etp-line)}
.etp-lesson-card{
  display:grid;
  grid-template-columns:64px minmax(170px,1fr) minmax(330px,auto);
  gap:15px;
  align-items:center;
  padding:13px 0;
  border:0;
  border-bottom:1px solid var(--etp-line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-lesson-card.is-next{
  border-color:var(--etp-line);
  background:linear-gradient(90deg,rgba(49,48,115,.035),rgba(49,48,115,0) 48%);
}
.etp-date-tile{
  width:54px;
  min-height:54px;
  border-radius:0;
  border-left:2px solid var(--etp-navy);
  background:transparent;
}
.etp-date-month,.etp-date-day{font-size:8.5px;letter-spacing:.12em}
.etp-date-tile strong{margin:3px 0 2px;font-size:22px;font-weight:650}
.etp-lesson-status{margin-bottom:2px;font-size:9px;letter-spacing:.13em}
.etp-lesson-content h4{font-size:15px;font-weight:650}
.etp-lesson-time{margin-top:3px;font-size:12.5px;font-weight:500}
.etp-lesson-actions{gap:5px}
.etp-dashboard .etp-lesson-actions .etp-button{padding:7px 9px;font-size:11px;border-radius:3px}
.etp-dashboard .etp-button.secondary{background:#fff;border-color:#cfd4dc}
.etp-dashboard .etp-button.unschedule{border-radius:3px!important}
.etp-dashboard .etp-button.danger{border-radius:3px!important}

/* Packages retain product separation but are shorter and less card-like. */
.etp-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.etp-package-card{
  min-height:0;
  padding:16px 17px;
  border:1px solid var(--etp-line);
  border-radius:5px;
  background:#fff;
  box-shadow:none;
}
.etp-package-service{font-size:9px;letter-spacing:.13em}
.etp-package-card h4{margin-top:5px;font-size:15px;font-weight:650}
.etp-package-lessons{margin-top:4px;font-size:12px}
.etp-package-price{margin:14px 0 13px}
.etp-package-price strong{font-size:21px;font-weight:650}
.etp-package-price span{font-size:10.5px}
.etp-package-button{width:auto;align-self:flex-start}
.etp-empty-state{padding:18px;border-radius:4px}
.etp-empty-state strong{font-size:14px}
.etp-dashboard-footer{
  padding:13px 0 0;
  border:0;
  border-top:1px solid var(--etp-line);
  border-radius:0;
  background:#fff;
}

@media(max-width:900px){
  .etp-lesson-card{grid-template-columns:58px 1fr}
  .etp-lesson-actions{grid-column:1/-1;justify-content:flex-start;padding:0 0 0 73px}
}
@media(max-width:700px){
  .etp-dashboard{margin:14px auto 28px}
  .etp-dashboard-header{padding:18px 0 15px;border-radius:0}
  .etp-dashboard-book{width:auto}
  .etp-account-strip{padding:9px 0 11px;flex-direction:row;gap:6px 18px}
  .etp-dashboard-section{padding:21px 0}
  .etp-section-heading{align-items:center;flex-direction:row}
  .etp-balance-grid,.etp-package-grid{grid-template-columns:1fr}
  .etp-lesson-card{padding:12px 0}
  .etp-lesson-actions{padding-left:0}
  .etp-dashboard .etp-lesson-actions .etp-button{flex:0 1 auto;text-align:left}
  .etp-dashboard-footer{padding:12px 0 0;border-radius:0}
}
@media(max-width:460px){
  .etp-dashboard-heading h2{font-size:25px}
  .etp-dashboard-heading p{font-size:13px}
  .etp-dashboard-header{align-items:flex-start;gap:12px}
  .etp-dashboard-book{width:100%}
  .etp-account-strip{flex-direction:column}
  .etp-section-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .etp-lesson-card{grid-template-columns:1fr}
  .etp-date-tile{display:none}
  .etp-dashboard .etp-lesson-actions .etp-button{flex:1 1 calc(50% - 5px);text-align:center}
}

/* v0.10.2 — Delta-inspired professional account portal
   Visual inspiration only: deep navy, restrained red actions, crisp information bands,
   itinerary-like records, sharp geometry, and dense account navigation. */
.etp-dashboard{
  --etp-navy:#071d49;
  --etp-navy-2:#0b2d5c;
  --etp-red:#c8102e;
  --etp-red-dark:#a50d26;
  --etp-ink:#20242b;
  --etp-muted:#626a75;
  --etp-line:#d5d9df;
  --etp-soft:#f5f6f8;
  --etp-soft-blue:#eef2f7;
  max-width:1080px;
  margin:22px auto 42px;
  font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;
  color:var(--etp-ink);
  background:#fff;
}
.etp-dashboard-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:25px 30px 24px;
  border:0;
  border-radius:0;
  background:var(--etp-navy);
  color:#fff;
  box-shadow:none;
}
.etp-dashboard-header::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:82px;
  height:4px;
  background:var(--etp-red);
}
.etp-dashboard-heading{max-width:720px}
.etp-dashboard-kicker{
  display:block;
  margin:0 0 7px;
  color:#dce5f1;
  font-size:10.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.etp-dashboard-heading h2{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.12;
  font-weight:600;
  letter-spacing:-.02em;
}
.etp-dashboard-heading p{
  margin:7px 0 0;
  color:#dce3ed;
  font-size:14px;
  line-height:1.45;
}
.etp-dashboard .etp-button{
  border-radius:0;
  padding:9px 13px;
  font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:none;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.etp-dashboard .etp-button:hover{transform:none;box-shadow:none}
.etp-dashboard-book{
  min-width:150px;
  padding:11px 18px!important;
  border:1px solid var(--etp-red)!important;
  background:var(--etp-red)!important;
  color:#fff!important;
  text-align:center;
  text-transform:uppercase;
  font-size:11px!important;
  letter-spacing:.06em!important;
}
.etp-dashboard-book:hover{background:var(--etp-red-dark)!important;border-color:var(--etp-red-dark)!important}
.etp-account-strip{
  display:flex;
  justify-content:flex-start;
  gap:34px;
  padding:10px 30px;
  border:0;
  border-bottom:1px solid var(--etp-line);
  background:#f7f8fa;
  color:var(--etp-muted);
  font-size:12px;
}
.etp-account-strip strong{
  margin-right:6px;
  color:#303641;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.etp-dashboard-nav{
  display:flex;
  align-items:center;
  gap:0;
  min-height:42px;
  padding:0 30px;
  border-bottom:1px solid var(--etp-line);
  background:#fff;
}
.etp-dashboard-nav a{
  display:flex;
  align-items:center;
  align-self:stretch;
  padding:0 20px;
  border-bottom:3px solid transparent;
  color:var(--etp-navy);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.045em;
  text-decoration:none;
  text-transform:uppercase;
}
.etp-dashboard-nav a:first-child{padding-left:0}
.etp-dashboard-nav a:hover{border-bottom-color:var(--etp-red);color:var(--etp-navy)}
.etp-dashboard-section{
  padding:23px 30px 25px;
  border:0;
  background:#fff;
  scroll-margin-top:18px;
}
.etp-dashboard-section+.etp-dashboard-section{border-top:8px solid #f2f3f5}
.etp-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:13px;
}
.etp-section-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--etp-red);
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.etp-section-heading h3{
  margin:0;
  color:var(--etp-navy);
  font-size:20px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.015em;
}
.etp-summary-pill,.etp-upcoming-count{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--etp-muted);
  font-size:12px;
  font-weight:500;
}
.etp-summary-pill strong{color:var(--etp-navy);font-size:15px;font-weight:700}

/* Compact status modules: closer to loyalty/account information than app cards. */
.etp-balance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  border:0;
}
.etp-balance-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:18px;
  min-height:84px;
  padding:14px 16px 13px;
  border:1px solid var(--etp-line);
  border-top:3px solid var(--etp-navy);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-card-accent{display:none}
.etp-balance-top{display:block;grid-column:1;grid-row:1;min-width:0}
.etp-service-name{
  display:block;
  color:var(--etp-navy);
  font-size:13px;
  line-height:1.25;
  font-weight:700;
}
.etp-rate-label{display:block;margin-top:3px;color:var(--etp-muted);font-size:11.5px;text-align:left}
.etp-balance-number{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  margin:0;
  min-width:36px;
  color:var(--etp-navy);
  font-size:34px;
  line-height:1;
  font-weight:400;
  letter-spacing:-.035em;
  text-align:right;
}
.etp-balance-caption{display:none}
.etp-card-link{
  grid-column:1;
  grid-row:2;
  align-self:end;
  margin-top:7px;
  width:max-content;
  color:var(--etp-red);
  font-size:11.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.015em;
  text-decoration:none;
}
.etp-card-link:hover{text-decoration:underline}

.etp-policy-card{
  margin:0 0 11px;
  padding:9px 11px;
  gap:9px;
  border:1px solid #d9dde4;
  border-left:3px solid var(--etp-navy);
  border-radius:0;
  background:#f7f8fa;
}
.etp-policy-icon{
  flex:0 0 18px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--etp-navy);
  color:#fff;
  font-size:10px;
}
.etp-policy-card strong{font-size:12.5px;color:var(--etp-navy)}
.etp-policy-card span{font-size:12px;line-height:1.45;color:var(--etp-muted)}

/* Upcoming lessons are treated like itinerary records. */
.etp-lesson-list{display:block;border:1px solid var(--etp-line);border-bottom:0;background:#fff}
.etp-lesson-card{
  display:grid;
  grid-template-columns:72px minmax(180px,1fr) minmax(360px,auto);
  gap:17px;
  align-items:center;
  padding:13px 14px;
  border:0;
  border-bottom:1px solid var(--etp-line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-lesson-card.is-next{
  position:relative;
  background:#f8fafc;
}
.etp-lesson-card.is-next::before{
  content:"";
  position:absolute;
  left:-1px;
  top:-1px;
  bottom:-1px;
  width:4px;
  background:var(--etp-red);
}
.etp-date-tile{
  width:56px;
  min-height:58px;
  padding:5px 4px;
  border:0;
  border-right:1px solid var(--etp-line);
  border-radius:0;
  background:transparent;
  color:var(--etp-navy);
}
.etp-date-month,.etp-date-day{font-size:9px;line-height:1;letter-spacing:.12em;color:var(--etp-muted)}
.etp-date-tile strong{margin:4px 0 3px;font-size:24px;line-height:1;font-weight:500;color:var(--etp-navy)}
.etp-lesson-status{margin-bottom:3px;color:var(--etp-red);font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.etp-lesson-content h4{margin:0;color:var(--etp-navy);font-size:14px;line-height:1.25;font-weight:700}
.etp-lesson-time{margin-top:4px;color:#303641;font-size:12.5px;font-weight:500}
.etp-lesson-date-mobile{font-size:11px;color:var(--etp-muted)}
.etp-lesson-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.etp-dashboard .etp-lesson-actions .etp-button{padding:7px 9px;font-size:11.5px;border-radius:0}
.etp-dashboard .etp-zoom-button{
  border-color:var(--etp-red)!important;
  background:var(--etp-red)!important;
  color:#fff!important;
}
.etp-dashboard .etp-zoom-button:hover{background:var(--etp-red-dark)!important;border-color:var(--etp-red-dark)!important}
.etp-dashboard .etp-button.secondary{background:#fff!important;color:var(--etp-navy)!important;border:1px solid #bfc5ce!important}
.etp-dashboard .etp-button.secondary:hover{background:#f3f5f8!important;border-color:#9ea6b2!important}
.etp-dashboard .etp-button.unschedule{border-radius:0!important;background:#fff!important;border:1px solid #9cb7a3!important;color:#2c6940!important;-webkit-text-fill-color:#2c6940!important}
.etp-dashboard .etp-button.danger{border-radius:0!important;background:#fff!important;border:1px solid #d3a3aa!important;color:#9d1730!important;-webkit-text-fill-color:#9d1730!important}
.etp-dashboard .etp-button.disabled-action{border-radius:0!important}

/* Packages read like fare/product choices: crisp, comparable, compact. */
.etp-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.etp-package-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto auto;
  column-gap:18px;
  min-height:0;
  padding:15px 16px;
  border:1px solid var(--etp-line);
  border-top:3px solid var(--etp-navy);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.etp-package-service{grid-column:1;color:var(--etp-red);font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.etp-package-card h4{grid-column:1;margin:4px 0 0;color:var(--etp-navy);font-size:14px;line-height:1.25;font-weight:700}
.etp-package-lessons{grid-column:1;margin-top:4px;color:var(--etp-muted);font-size:11.5px}
.etp-package-price{grid-column:2;grid-row:1 / span 3;align-self:center;margin:0;text-align:right}
.etp-package-price strong{display:block;color:var(--etp-navy);font-size:21px;line-height:1.1;font-weight:500;letter-spacing:-.025em}
.etp-package-price span{display:block;margin-top:3px;color:var(--etp-muted);font-size:10.5px}
.etp-package-purchase-form{grid-column:1;margin-top:11px}
.etp-package-button{
  width:auto;
  padding:8px 11px!important;
  border-color:var(--etp-navy)!important;
  background:var(--etp-navy)!important;
  color:#fff!important;
  text-transform:uppercase;
  font-size:10.5px!important;
  letter-spacing:.05em!important;
}
.etp-package-button:hover{background:var(--etp-navy-2)!important;border-color:var(--etp-navy-2)!important}
.etp-empty-state{padding:16px;border:1px solid var(--etp-line);border-radius:0;background:#f8f9fa}
.etp-empty-state strong{font-size:13px;color:var(--etp-navy)}
.etp-empty-state span{font-size:12px}
.etp-dashboard-footer{
  padding:12px 30px;
  border:0;
  border-top:1px solid var(--etp-line);
  border-radius:0;
  background:#f7f8fa;
  text-align:right;
}
.etp-dashboard-footer a{color:var(--etp-muted);font-size:11.5px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.etp-dashboard-footer a:hover{color:var(--etp-red);text-decoration:none}

@media(max-width:900px){
  .etp-lesson-card{grid-template-columns:62px 1fr}
  .etp-lesson-actions{grid-column:1/-1;justify-content:flex-start;padding-left:79px}
}
@media(max-width:700px){
  .etp-dashboard{margin:14px auto 28px}
  .etp-dashboard-header{align-items:flex-start;flex-direction:column;padding:22px 20px 21px;gap:14px}
  .etp-dashboard-book{width:100%}
  .etp-account-strip{padding:9px 20px;flex-direction:column;gap:4px}
  .etp-dashboard-nav{padding:0 20px;overflow-x:auto}
  .etp-dashboard-nav a{padding:0 13px;white-space:nowrap}
  .etp-dashboard-nav a:first-child{padding-left:0}
  .etp-dashboard-section{padding:21px 20px 23px}
  .etp-balance-grid,.etp-package-grid{grid-template-columns:1fr}
  .etp-lesson-actions{padding-left:0}
  .etp-dashboard-footer{padding:12px 20px}
}
@media(max-width:460px){
  .etp-dashboard-heading h2{font-size:26px}
  .etp-dashboard-heading p{font-size:13px}
  .etp-section-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .etp-balance-card{min-height:80px}
  .etp-lesson-card{grid-template-columns:1fr;padding:12px}
  .etp-date-tile{display:none}
  .etp-dashboard .etp-lesson-actions .etp-button{flex:1 1 calc(50% - 5px);text-align:center}
  .etp-package-card{grid-template-columns:1fr}
  .etp-package-price{grid-column:1;grid-row:auto;margin-top:12px;text-align:left}
  .etp-package-purchase-form{grid-column:1}
}


/* v0.10.3 — readability refinement: preserve compact Delta-inspired layout while
   increasing only the smallest supporting text for easier scanning. */
.etp-policy-card strong{font-size:12.5px}
.etp-policy-card span{font-size:12px;line-height:1.45}


/* v0.10.4 — focused dashboard refinements */
.etp-dashboard-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.etp-dashboard .etp-signout-button{
  min-width:92px;
  padding:10px 15px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:center;
  text-transform:uppercase;
  font-size:11px!important;
  letter-spacing:.06em!important;
}
.etp-dashboard .etp-signout-button:hover{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--etp-navy)!important;
  -webkit-text-fill-color:var(--etp-navy)!important;
}
.etp-balance-grid.is-single{grid-template-columns:minmax(0,1fr)}
.etp-section-kicker{
  display:inline-block;
  transform:scaleY(1.08);
  transform-origin:left bottom;
}
@media(max-width:700px){
  .etp-dashboard-actions{width:100%;justify-content:flex-start}
  .etp-dashboard .etp-signout-button,.etp-dashboard-book{flex:1 1 0;min-width:0}
}
@media(max-width:460px){
  .etp-dashboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .etp-dashboard .etp-signout-button,.etp-dashboard-book{width:100%}
}


/* v0.10.5 — client-managed account settings */
.etp-manage-account-link{
  margin-left:auto;
  color:var(--etp-navy)!important;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(28,43,91,.32);
}
.etp-manage-account-link:hover{border-bottom-color:var(--etp-red);color:var(--etp-red)!important}
.etp-account-section{background:#f8f9fb}
.etp-account-form{margin-top:16px;border-top:1px solid #d8dde7;padding-top:18px}
.etp-account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.etp-account-form label{display:block;margin:0;color:var(--etp-ink);font-size:12px;font-weight:700;letter-spacing:.01em}
.etp-account-form label>span{display:block;margin-bottom:6px}
.etp-account-form input,.etp-account-form select{
  width:100%;box-sizing:border-box;min-height:42px;padding:9px 11px;border:1px solid #aeb7c6;border-radius:0;background:#fff;color:var(--etp-ink);font:inherit;font-size:14px;font-weight:400;outline:none
}
.etp-account-form input:focus,.etp-account-form select:focus{border-color:var(--etp-navy);box-shadow:0 0 0 2px rgba(28,43,91,.10)}
.etp-account-form small{display:block;margin-top:5px;color:var(--etp-muted);font-size:11.5px;line-height:1.45;font-weight:400}
.etp-account-wide{grid-column:1/-1}
.etp-account-security{margin-top:23px;padding-top:18px;border-top:1px solid #d8dde7}
.etp-account-security-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:13px}
.etp-account-security-heading strong{font-size:14px;color:var(--etp-navy)}
.etp-account-security-heading span{font-size:11.5px;color:var(--etp-muted)}
.etp-account-form-actions{margin-top:18px}
.etp-dashboard .etp-account-save{border-radius:0!important;background:var(--etp-navy)!important;padding:10px 17px!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.05em!important}
.etp-account-pending{display:flex;flex-direction:column;gap:3px;margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--etp-red);background:#fff}
.etp-account-pending strong{color:var(--etp-navy);font-size:12.5px}
.etp-account-pending span{color:var(--etp-muted);font-size:12px;line-height:1.5}
@media(max-width:700px){
  .etp-manage-account-link{margin-left:0;align-self:flex-start}
  .etp-account-form-grid{grid-template-columns:1fr}
  .etp-account-wide{grid-column:1}
  .etp-account-security-heading{align-items:flex-start;flex-direction:column;gap:3px}
}

/* v0.11.0 — Delta-inspired booking / rescheduling experience */
.etp-booking{
  --etp-navy:#071d49;
  --etp-navy-2:#0b2d5c;
  --etp-red:#c8102e;
  --etp-red-dark:#a50d26;
  --etp-ink:#20242b;
  --etp-muted:#626a75;
  --etp-line:#d5d9df;
  --etp-soft:#f5f6f8;
  max-width:1080px;
  margin:22px auto 42px;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--etp-ink);
  font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;
  box-shadow:none;
}
.etp-booking *{box-sizing:border-box}
.etp-booking-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:25px 30px 24px;
  background:var(--etp-navy);
  color:#fff;
}
.etp-booking-header::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:82px;
  height:4px;
  background:var(--etp-red);
}
.etp-booking-heading{max-width:720px}
.etp-booking-kicker,.etp-booking-section-kicker{
  display:block;
  margin:0 0 7px;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.etp-booking-kicker{color:#dce5f1}
.etp-booking-heading h2{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.12;
  font-weight:600;
  letter-spacing:-.02em;
}
.etp-booking-heading p{
  margin:7px 0 0;
  color:#dce3ed;
  font-size:14px;
  line-height:1.45;
}
.etp-booking-dashboard-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.7);
  color:#fff!important;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none!important;
  text-transform:uppercase;
  white-space:nowrap;
}
.etp-booking-dashboard-link:hover{background:#fff;color:var(--etp-navy)!important}
.etp-booking-meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px 30px;
  padding:10px 30px;
  border-bottom:1px solid var(--etp-line);
  background:#f7f8fa;
  color:var(--etp-muted);
  font-size:12px;
  line-height:1.45;
}
.etp-booking-meta strong{
  margin-right:6px;
  color:#303641;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.etp-booking-message{margin:0!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--etp-line)!important;padding:12px 30px!important}
.etp-booking-layout{
  display:grid;
  grid-template-columns:minmax(280px,34%) minmax(0,1fr);
  border-bottom:1px solid var(--etp-line);
}
.etp-booking-options{
  padding:25px 26px 28px 30px;
  border-right:1px solid var(--etp-line);
  background:#f7f8fa;
}
.etp-booking-schedule{padding:25px 30px 30px;background:#fff}
.etp-booking-section-heading{margin-bottom:16px}
.etp-booking-section-kicker{
  margin-bottom:5px;
  color:var(--etp-red);
  font-size:10px;
  transform:scaleY(1.08);
  transform-origin:left bottom;
}
.etp-booking-section-heading h3{
  margin:0;
  color:var(--etp-navy);
  font-size:20px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.015em;
}
.etp-booking-field{display:block!important;margin:0 0 18px!important;color:var(--etp-navy);font-size:12px;font-weight:700}
.etp-booking-field>span{display:block;margin-bottom:6px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase}
.etp-booking .etp-booking-field select{
  width:100%;
  min-height:46px;
  margin:0;
  padding:10px 38px 10px 12px;
  border:1px solid #aeb7c6;
  border-radius:0;
  background:#fff;
  color:var(--etp-ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  outline:none;
}
.etp-booking .etp-booking-field select:focus{border-color:var(--etp-navy);box-shadow:0 0 0 2px rgba(7,29,73,.10)}
.etp-current-booking{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:15px;
  padding:14px 15px;
  border:1px solid var(--etp-line);
  border-top:3px solid var(--etp-navy);
  background:#fff;
}
.etp-current-booking strong{color:var(--etp-navy);font-size:14px;line-height:1.3}
.etp-current-booking span{color:var(--etp-muted);font-size:12.5px;line-height:1.35}
.etp-booking-rule,.etp-booking-help{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:11px;
  padding:11px 12px;
  border-left:3px solid var(--etp-navy);
  background:#fff;
}
.etp-booking-rule.is-fee{border-left-color:var(--etp-red)}
.etp-booking-rule.is-free{border-left-color:#47825a}
.etp-booking-help{margin-top:15px;border-left-color:#aab2bf;background:transparent;padding-left:11px}
.etp-booking-rule strong,.etp-booking-help strong{color:var(--etp-navy);font-size:12.5px;line-height:1.3}
.etp-booking-rule span,.etp-booking-help span{color:var(--etp-muted);font-size:12.5px;line-height:1.5}

.etp-booking .etp-calendar-shell{margin:0}
.etp-booking .etp-calendar-nav{
  grid-template-columns:38px 1fr 38px;
  gap:8px;
  margin:0 0 12px;
  padding-bottom:11px;
  border-bottom:1px solid var(--etp-line);
}
.etp-booking .etp-calendar-month{color:var(--etp-navy);font-size:18px;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.etp-booking .etp-calendar-arrow{
  width:38px;
  height:34px;
  border:1px solid #bfc5ce!important;
  border-radius:0;
  background:#fff!important;
  color:var(--etp-navy)!important;
  -webkit-text-fill-color:var(--etp-navy)!important;
  font-size:24px;
  font-weight:400;
}
.etp-booking .etp-calendar-arrow:hover:not(:disabled){background:#eef2f7!important;border-color:#8f98a6!important}
.etp-booking .etp-calendar-arrow:focus-visible{outline:2px solid var(--etp-navy);outline-offset:2px}
.etp-booking .etp-calendar{gap:4px}
.etp-booking .etp-calendar-weekday{
  padding:6px 2px 7px;
  color:#6d7480;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.07em;
}
.etp-booking .etp-calendar-blank{min-height:46px}
.etp-booking .etp-calendar-day{
  aspect-ratio:auto;
  min-height:46px;
  border:1px solid transparent!important;
  border-radius:0;
  background:#fff!important;
  color:#28313d!important;
  -webkit-text-fill-color:#28313d!important;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
}
.etp-booking .etp-calendar-day:hover:not(:disabled):not(.is-selected){background:#eef2f7!important;border-color:#d4d9e0!important;color:var(--etp-navy)!important}
.etp-booking .etp-calendar-day.is-selected{background:var(--etp-navy)!important;border-color:var(--etp-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking .etp-calendar-day.is-today:not(.is-selected){border-color:var(--etp-red)!important;color:var(--etp-navy)!important;-webkit-text-fill-color:var(--etp-navy)!important}
.etp-booking .etp-calendar-day:disabled{background:#f4f5f6!important;color:#a2a8b0!important;-webkit-text-fill-color:#a2a8b0!important}
.etp-booking .etp-calendar-day:focus-visible{outline:2px solid var(--etp-navy);outline-offset:1px}
.etp-time-selection{margin-top:15px;padding-top:14px;border-top:1px solid var(--etp-line)}
.etp-time-step{margin:0 0 12px}
.etp-time-step[hidden]{display:none!important}
.etp-time-step .etp-booking-section-kicker{margin-bottom:5px}
.etp-time-step h3{margin:0;color:var(--etp-navy);font-size:18px;line-height:1.2;font-weight:600;letter-spacing:-.015em}
.etp-booking .etp-selected-date{margin:0 0 10px;color:var(--etp-navy);font-size:13.5px;line-height:1.4;font-weight:700}
.etp-booking .etp-slots{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0;
  color:var(--etp-muted);
  font-size:12.5px;
}
.etp-booking .etp-slot{
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border:1px solid #bfc5ce!important;
  border-radius:0;
  background:#fff!important;
  color:var(--etp-navy)!important;
  -webkit-text-fill-color:var(--etp-navy)!important;
  font-family:inherit;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  text-align:center;
}
.etp-booking .etp-slot:hover:not(:disabled){background:#eef2f7!important;border-color:#8f98a6!important}
.etp-booking .etp-slot.is-selected{background:var(--etp-navy)!important;border-color:var(--etp-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking .etp-slot.is-short-notice{border-left:3px solid var(--etp-red)!important;color:#8e1428!important;-webkit-text-fill-color:#8e1428!important}
.etp-booking .etp-slot.is-short-notice.is-selected{color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking .etp-slot:focus-visible{outline:2px solid var(--etp-navy);outline-offset:2px}
.etp-booking-result{margin-top:13px}
.etp-booking .etp-notice{
  margin:10px 0 0;
  padding:12px 13px;
  border:1px solid var(--etp-line);
  border-left:3px solid var(--etp-navy);
  border-radius:0;
  background:#f7f8fa;
  color:#343a44;
  font-size:12.5px;
  line-height:1.5;
}
.etp-booking .etp-notice.warning{border-left-color:#c5891b;background:#fffaf0}
.etp-booking .etp-notice.success{border-left-color:#47825a;background:#f4faf6}
.etp-booking .etp-notice.error{border-left-color:var(--etp-red);background:#fff6f7}
.etp-booking .etp-notice>strong{display:block;margin-bottom:3px;color:var(--etp-navy);font-size:13px}
.etp-booking .etp-notice .etp-actions{margin-top:11px}
.etp-booking .etp-actions{display:flex;gap:7px;flex-wrap:wrap}
.etp-booking .etp-button{
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--etp-red);
  border-radius:0;
  background:var(--etp-red);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit;
  font-size:11.5px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.035em;
  text-decoration:none;
  text-transform:none;
  box-shadow:none;
}
.etp-booking .etp-button:hover{background:var(--etp-red-dark);border-color:var(--etp-red-dark);color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking .etp-button.secondary{
  border-color:#bfc5ce;
  background:#fff;
  color:var(--etp-navy)!important;
  -webkit-text-fill-color:var(--etp-navy)!important;
}
.etp-booking .etp-button.secondary:hover{background:#eef2f7;border-color:#929aa6;color:var(--etp-navy)!important;-webkit-text-fill-color:var(--etp-navy)!important}
.etp-booking #etp-pay-single{background:var(--etp-navy)!important;border-color:var(--etp-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking #etp-pay-single:hover{background:#25245d!important;border-color:#25245d!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.etp-booking .etp-booking-complete{padding:14px}
.etp-booking .etp-payment-choice small{display:block;margin-top:8px;color:var(--etp-muted);font-size:11.5px}

@media(max-width:820px){
  .etp-booking-layout{grid-template-columns:1fr}
  .etp-booking-options{border-right:0;border-bottom:8px solid #f0f2f5;padding:23px 24px}
  .etp-booking-schedule{padding:23px 24px 27px}
  .etp-booking .etp-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .etp-booking{margin:14px auto 28px}
  .etp-booking-header{align-items:flex-start;flex-direction:column;padding:22px 20px 21px;gap:14px}
  .etp-booking-heading h2{font-size:26px}
  .etp-booking-dashboard-link{width:100%}
  .etp-booking-meta{padding:9px 20px;flex-direction:column;gap:4px}
  .etp-booking-options,.etp-booking-schedule{padding-left:20px;padding-right:20px}
  .etp-booking-message{padding-left:20px!important;padding-right:20px!important}
}
@media(max-width:430px){
  .etp-booking .etp-calendar{gap:2px}
  .etp-booking .etp-calendar-day{min-height:40px;font-size:12px}
  .etp-booking .etp-calendar-blank{min-height:40px}
  .etp-booking .etp-calendar-weekday{font-size:9.5px}
  .etp-booking .etp-slots{grid-template-columns:1fr 1fr}
  .etp-booking .etp-actions{display:grid;grid-template-columns:1fr}
  .etp-booking .etp-actions .etp-button{width:100%;text-align:center}
}


/* v0.11.1 — booking labels, configured rush currency, and fixed-width lesson picker */
.etp-booking .etp-native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.etp-service-picker{position:relative;width:100%;box-sizing:border-box}
.etp-booking .etp-service-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-width:0;
  height:46px;
  box-sizing:border-box;
  margin:0;
  padding:10px 12px;
  border:1px solid #aeb7c6;
  border-radius:0;
  background:#fff;
  color:var(--etp-ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  font-weight:400;
  text-align:left;
  cursor:pointer;
}
.etp-booking .etp-service-trigger:focus-visible,.etp-service-picker.is-open .etp-service-trigger{border-color:var(--etp-navy);outline:none;box-shadow:0 0 0 2px rgba(7,29,73,.10)}
.etp-service-trigger-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etp-service-chevron{flex:0 0 auto;color:var(--etp-navy);font-size:18px;line-height:1;transform:translateY(-1px)}
.etp-service-menu{
  position:absolute;
  z-index:50;
  top:calc(100% - 1px);
  left:0;
  right:0;
  width:100%;
  min-width:100%;
  max-width:100%;
  box-sizing:border-box;
  max-height:250px;
  overflow-y:auto;
  border:1px solid var(--etp-navy);
  background:#fff;
  box-shadow:0 8px 18px rgba(7,29,73,.12);
}
.etp-service-menu[hidden]{display:none!important}
.etp-booking .etp-service-option{
  display:block;
  width:100%;
  min-width:0;
  min-height:46px;
  box-sizing:border-box;
  margin:0;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #e3e6eb;
  border-radius:0;
  background:#fff;
  color:var(--etp-ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  font-weight:400;
  text-align:left;
  white-space:normal;
  cursor:pointer;
}
.etp-booking .etp-service-option:last-child{border-bottom:0}
.etp-booking .etp-service-option:hover,.etp-booking .etp-service-option:focus{background:#eef2f7;color:var(--etp-navy);outline:none}
.etp-booking .etp-service-option[aria-selected="true"]{font-weight:700;color:var(--etp-navy)}

/* v0.12.0 — Delta-inspired authentication pages */
.etp-auth{
  --etp-auth-navy:#071d49;
  --etp-auth-red:#d71920;
  --etp-auth-ink:#252a31;
  --etp-auth-muted:#626b78;
  --etp-auth-line:#d8dde5;
  max-width:680px;
  margin:0 auto 42px;
  padding:0;
  border:1px solid var(--etp-auth-line);
  border-radius:0;
  background:#fff;
  color:var(--etp-auth-ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  box-shadow:none;
}
.etp-auth-header{
  position:relative;
  padding:26px 30px 25px;
  background:var(--etp-auth-navy);
  color:#fff;
}
.etp-auth-header:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  background:var(--etp-auth-red);
}
.etp-auth-kicker{
  display:block;
  margin:0 0 7px;
  color:#fff;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  transform:scaleY(1.08);
  transform-origin:left center;
}
.etp-auth-header h2{
  margin:0;
  color:#fff;
  font-family:inherit;
  font-size:29px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.025em;
}
.etp-auth-header p{
  max-width:520px;
  margin:9px 0 0;
  color:#dbe2ef;
  font-size:13.5px;
  line-height:1.5;
  font-weight:400;
}
.etp-auth-body{padding:27px 30px 29px}
.etp-auth form{margin:0}
.etp-auth label,
.etp-auth .login-username label,
.etp-auth .login-password label{
  display:block;
  margin:0 0 16px;
  color:var(--etp-auth-navy);
  font-size:12.5px;
  line-height:1.35;
  font-weight:700;
}
.etp-auth input[type="text"],
.etp-auth input[type="email"],
.etp-auth input[type="password"],
.etp-auth #user_login,
.etp-auth #user_pass{
  display:block;
  width:100%;
  height:46px;
  box-sizing:border-box;
  margin:6px 0 0;
  padding:10px 12px;
  border:1px solid #aeb7c6;
  border-radius:0;
  background:#fff;
  color:var(--etp-auth-ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  font-weight:400;
  box-shadow:none;
}
.etp-auth input[type="text"]:focus,
.etp-auth input[type="email"]:focus,
.etp-auth input[type="password"]:focus,
.etp-auth #user_login:focus,
.etp-auth #user_pass:focus{
  border-color:var(--etp-auth-navy);
  outline:none;
  box-shadow:0 0 0 2px rgba(7,29,73,.10);
}
.etp-auth label small{
  display:block;
  margin-top:5px;
  color:var(--etp-auth-muted);
  font-size:11.5px;
  line-height:1.35;
  font-weight:400;
}
.etp-auth-name-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.etp-auth .login-remember{margin:2px 0 17px}
.etp-auth .login-remember label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#4f5865;
  font-size:12px;
  font-weight:400;
}
.etp-auth .login-remember input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--etp-auth-navy);
}
.etp-auth .login-submit{margin:0}
.etp-auth #wp-submit,
.etp-auth .etp-auth-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  box-sizing:border-box;
  margin:0;
  padding:9px 22px;
  border:1px solid var(--etp-auth-navy);
  border-radius:0;
  background:var(--etp-auth-navy);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.035em;
  text-decoration:none;
  cursor:pointer;
  box-shadow:none;
}
.etp-auth #wp-submit:hover,
.etp-auth .etp-auth-primary:hover{
  border-color:#25245d;
  background:#25245d;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.etp-auth-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--etp-auth-line);
  color:var(--etp-auth-muted);
  font-size:12px;
  line-height:1.45;
}
.etp-auth-links a{
  color:var(--etp-auth-navy);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.etp-auth-links a:hover{border-bottom-color:var(--etp-auth-red);color:var(--etp-auth-navy)}
.etp-auth-links-register{justify-content:flex-start;margin-top:20px}
.etp-auth-notice{
  max-width:680px;
  box-sizing:border-box;
  margin:0 auto 12px;
  border-radius:0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.etp-auth-notice.success{border-left:3px solid #47825a;background:#f4faf6}
.etp-auth-notice.error{border-left:3px solid var(--etp-red,#d71920);background:#fff6f7}

@media(max-width:620px){
  .etp-auth{margin:0 auto 30px}
  .etp-auth-header{padding:23px 20px 22px}
  .etp-auth-header h2{font-size:26px}
  .etp-auth-body{padding:23px 20px 25px}
  .etp-auth-name-grid{grid-template-columns:1fr;gap:0}
  .etp-auth-links{align-items:flex-start;flex-direction:column;gap:9px}
  .etp-auth #wp-submit,.etp-auth .etp-auth-primary{width:100%}
}
