.aska-wrap{margin:1.5rem 0;font-family:inherit}.aska-title-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.aska-table-wrap{overflow:auto}.aska-table{width:100%;border-collapse:collapse}.aska-table th,.aska-table td{padding:.7rem;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.aska-table pre{max-width:45rem;white-space:pre-wrap}.aska-filters,.aska-ajax-form,.aska-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end}.aska-ajax-form label,.aska-filters label{display:grid;gap:.3rem}.aska-ajax-form fieldset{display:grid;gap:.35rem}.aska-ajax-form textarea{width:100%}.aska-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.aska-card{border:1px solid #ddd;border-radius:8px;padding:1rem}.aska-card strong{display:block;font-size:1.4rem}.aska-card span{display:block}.aska-notice{padding:.8rem 1rem;border:1px solid #bbb;border-radius:6px;margin:1rem 0}.aska-error{border-color:#b32d2e}.aska-warning{border-color:#dba617}.aska-dialog{width:min(720px,94vw);max-height:88vh;overflow:auto;border:0;border-radius:10px;padding:1.2rem}.aska-dialog::backdrop{background:rgba(0,0,0,.45)}.aska-dialog-head{display:flex;justify-content:space-between;align-items:center}.aska-close-dialog{font-size:1.4rem;background:none;border:0}.aska-pagination{display:flex;gap:.4rem;margin:1rem 0}.aska-pagination a{padding:.35rem .6rem;border:1px solid #ccc;text-decoration:none}.aska-pagination a.current{font-weight:700}.aska-details{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem}.aska-details dt{font-weight:700}.aska-form-message{white-space:pre-wrap;grid-column:1/-1}.aska-danger{border-color:#b32d2e}.aska-muted{opacity:.75;font-size:.9em}@media(max-width:700px){.aska-table{min-width:760px}.aska-details{grid-template-columns:1fr}.aska-details dd{margin:0 0 .7rem}}

.aska-recurrence{grid-column:1/-1}.aska-recurrence-rows{display:grid;gap:.5rem}.aska-recurrence-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,1fr) auto;gap:.5rem;align-items:end}.aska-ajax-form h4{grid-column:1/-1;margin:1rem 0 0}.aska-ajax-form>p{grid-column:1/-1}@media(max-width:600px){.aska-recurrence-row{grid-template-columns:1fr}}

.aska-capacity-policy{grid-column:1/-1;display:grid;gap:.55rem;padding:.9rem;border:1px solid #ddd;border-radius:8px}.aska-capacity-policy legend{font-weight:700;padding:0 .35rem}.aska-capacity-policy label{display:flex;grid-template-columns:none;gap:.5rem;align-items:flex-start}.aska-capacity-policy input{margin-top:.2rem}.aska-override-reason{grid-column:1/-1}.aska-capacity-actions{grid-column:1/-1;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.aska-capacity-preview{grid-column:1/-1;margin:.25rem 0 0}.aska-capacity-summary{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.aska-capacity-summary span{padding:.2rem .5rem;border:1px solid #ddd;border-radius:999px}.aska-capacity-table{min-width:760px}.aska-capacity-table td,.aska-capacity-table th{white-space:nowrap}.aska-capacity-table td:last-child,.aska-capacity-table th:last-child{white-space:normal}.aska-capacity-full td{font-weight:600}.aska-capacity-closure{opacity:.8}.aska-inline-check{display:flex!important;grid-template-columns:none!important;gap:.45rem!important;align-items:center!important}.aska-inline-check input{margin:0}

.aska-token-category-details{grid-column:1/-1;border:1px solid #ddd;border-radius:8px;padding:.7rem .85rem}.aska-token-category-details summary{cursor:pointer;font-weight:600}.aska-token-category-options{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.65rem}.aska-token-category-options label{display:flex!important;grid-template-columns:none!important;gap:.4rem!important;align-items:center!important}.aska-token-category-options input{margin:0}.aska-single-date-fields{grid-column:1/-1}.aska-single-date-fields[hidden],.aska-recurrence[hidden]{display:none!important}

.aska-course-group-field{grid-column:1/-1}.aska-course-group-field>.select2-container{width:100%!important}.aska-dialog .select2-container{font:inherit}.aska-dialog .select2-container--default .select2-selection--multiple{min-height:42px;border:1px solid #8c8f94;border-radius:4px;padding:3px 5px}.aska-dialog .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#2271b1}.aska-dialog .select2-container--default .select2-selection--multiple .select2-selection__choice{margin-top:5px}.aska-dialog .select2-dropdown{z-index:100000}.aska-course-group-field .aska-muted{margin-top:.25rem}

.aska-customer-actions{display:flex;gap:.4rem;flex-wrap:wrap;min-width:320px}.aska-customer-actions button{white-space:nowrap}.aska-customer-dialog{width:min(1100px,96vw)}.aska-customer-modal-body{margin-top:.75rem}.aska-customer-modal-body h4{margin:1.2rem 0 .6rem}.aska-modal-summary{display:grid;grid-template-columns:minmax(280px,1fr) minmax(240px,.7fr);gap:1rem;align-items:start}.aska-modal-kpis{margin:0}.aska-modal-history{margin:1rem 0;border:1px solid #ddd;border-radius:8px;padding:.7rem .85rem}.aska-modal-history>summary{cursor:pointer;font-weight:600}.aska-modal-operation-block{padding:.25rem 0 1rem}.aska-modal-operation-block+.aska-modal-operation-block{border-top:1px solid #ddd;padding-top:1rem}.aska-destructive-zone{border:1px solid #b32d2e!important;border-radius:8px;padding:1rem!important;margin-top:1rem}.aska-customer-modal-body .aska-ajax-form{margin-top:.75rem}.aska-customer-modal-body details .aska-ajax-form{grid-template-columns:1fr;min-width:260px}.aska-customer-modal-body details .aska-ajax-form button[type="submit"]{justify-self:start}@media(max-width:760px){.aska-customer-dialog{width:96vw}.aska-modal-summary{grid-template-columns:1fr}.aska-customer-actions{min-width:0}.aska-customer-actions button{flex:1 1 145px}.aska-customer-modal-body .aska-table{min-width:680px}}

.aska-period-quarter-controls {
  display: grid;
  grid-template-columns: minmax(120px, .45fr) minmax(220px, 1fr);
  gap: 12px;
  align-items: end;
}

@media (max-width: 640px) {
  .aska-period-quarter-controls {
    grid-template-columns: 1fr;
  }
}

/* Administrative calendar */
.aska-view-switch{display:flex;gap:.35rem;align-items:center}.aska-view-switch a{padding:.45rem .75rem;border:1px solid #c3c4c7;border-radius:6px;text-decoration:none}.aska-view-switch a.current{font-weight:700;border-color:#2271b1}.aska-calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin:1rem 0}.aska-calendar-toolbar strong{text-align:center;font-size:1.1rem}.aska-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dcdcde;border-left:1px solid #dcdcde;background:#fff}.aska-calendar-weekday{padding:.55rem;text-align:center;font-weight:700;border-right:1px solid #dcdcde;border-bottom:1px solid #dcdcde;background:#f6f7f7}.aska-calendar-day{min-height:105px;padding:.5rem;position:relative;border-right:1px solid #dcdcde;border-bottom:1px solid #dcdcde}.aska-calendar-empty{background:#f9f9f9}.aska-calendar-day-number{font-weight:600}.aska-calendar-day.is-today{box-shadow:inset 0 0 0 2px #2271b1}.aska-calendar-count{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:.75rem auto 0;border-radius:999px;font-size:1rem;font-weight:700;cursor:pointer}.aska-day-detail-table{min-width:760px}.aska-calendar-row-actions{display:flex;gap:.45rem;align-items:flex-start;flex-wrap:wrap}.aska-calendar-row-actions details{min-width:145px}.aska-calendar-row-actions details[open]{flex:1 1 100%;padding:.6rem;border:1px solid #dcdcde;border-radius:6px}.aska-calendar-row-actions .aska-ajax-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:.5rem}@media(max-width:760px){.aska-calendar-weekday{font-size:.78rem;padding:.4rem .2rem}.aska-calendar-day{min-height:78px;padding:.35rem}.aska-calendar-count{width:34px;height:34px;margin-top:.45rem}.aska-calendar-toolbar{gap:.5rem}}
.aska-payment-status-select2 + .select2-container{width:100%!important}.aska-dialog .select2-container--default .select2-selection--single{min-height:42px;border:1px solid #8c8f94;border-radius:4px}.aska-dialog .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:40px;padding-left:10px}.aska-dialog .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}.aska-dialog .select2-container--default.select2-container--focus .select2-selection--single{border-color:#2271b1}

/* Feedback visivo operazioni */
.aska-success{border-color:#2e7d32;background:#edf7ed;color:#1b5e20}.aska-info{border-color:#2271b1;background:#f0f6fc;color:#135e96}.aska-error{background:#fcf0f1;color:#8a2424}.aska-warning{background:#fff8e5;color:#6f4d00}.aska-form-message:not(:empty){grid-column:1/-1;margin:.35rem 0 0}.aska-form-actions{grid-column:1/-1;display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.aska-primary-action{font-weight:600}.aska-flash-host{position:fixed;top:24px;right:24px;z-index:1000000;display:grid;gap:.65rem;width:min(420px,calc(100vw - 32px))}.aska-flash{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;padding:.9rem 1rem;border:1px solid;border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.16);background:#fff}.aska-flash-success{border-color:#2e7d32;background:#edf7ed;color:#1b5e20}.aska-flash-error{border-color:#b32d2e;background:#fcf0f1;color:#8a2424}.aska-flash-warning{border-color:#dba617;background:#fff8e5;color:#6f4d00}.aska-flash-info{border-color:#2271b1;background:#f0f6fc;color:#135e96}.aska-flash-close{border:0;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;padding:0}.aska-flash span{white-space:normal}@media(max-width:600px){.aska-flash-host{top:12px;right:16px;left:16px;width:auto}}

/* Area riservata corsista */
.aska-user-area{--aska-user-border:#dcdcde}.aska-user-hero,.aska-user-section-head,.aska-user-course-head,.aska-user-lesson,.aska-user-password-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.aska-user-hero{margin-bottom:1rem}.aska-user-hero h2,.aska-user-section h3,.aska-user-course-card h4{margin:0}.aska-user-hero p,.aska-user-section-head p{margin:.25rem 0 0}.aska-user-rules{display:grid;gap:.3rem}.aska-user-section{margin:1.5rem 0}.aska-user-course-grid,.aska-user-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.aska-user-course-card,.aska-user-token-card{border:1px solid var(--aska-user-border);border-radius:10px;padding:1rem;background:#fff}.aska-user-course-card p{margin:.45rem 0}.aska-user-course-dates{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.8rem}.aska-user-date-chip,.aska-user-badge{display:inline-flex;align-items:center;border:1px solid #c3c4c7;border-radius:999px;padding:.25rem .55rem;font-size:.88rem;line-height:1.2;background:#f6f7f7}.aska-user-date-chip.is-past{opacity:.55}.aska-user-limit{font-size:.92rem}.aska-user-lesson-list{display:grid;gap:.7rem}.aska-user-lesson{border:1px solid var(--aska-user-border);border-radius:10px;padding:.8rem 1rem;background:#fff;align-items:stretch}.aska-user-lesson.is-past{opacity:.68}.aska-user-lesson-date{display:grid;align-content:center;text-align:center;min-width:54px;border-right:1px solid var(--aska-user-border);padding-right:.8rem}.aska-user-lesson-date strong{font-size:1.5rem;line-height:1}.aska-user-lesson-date span{text-transform:uppercase;font-size:.78rem;margin-top:.2rem}.aska-user-lesson-main{flex:1;display:grid;align-content:center;gap:.45rem}.aska-user-lesson-title{display:grid;gap:.15rem}.aska-user-lesson-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.aska-user-consequence{font-size:.9rem}.aska-user-consequence.is-success{color:#1b5e20}.aska-user-consequence.is-warning{color:#6f4d00}.aska-user-lesson-action{display:flex;align-items:center}.aska-user-lesson-action .aska-ajax-form{display:block}.aska-user-lesson-action .aska-form-message{max-width:320px}.aska-user-calendar-events{display:grid;gap:.3rem;margin-top:.45rem}.aska-user-calendar-event{display:grid;gap:.05rem;padding:.35rem .4rem;border-radius:6px;border:1px solid #c3c4c7;background:#f6f7f7;text-decoration:none;font-size:.78rem;line-height:1.2}.aska-user-calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aska-user-token-card{display:grid;gap:.35rem}.aska-user-token-card strong{font-size:1rem}.aska-user-booking-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;grid-column:1/-1}.aska-user-booking-flow label{display:grid;gap:.3rem}.aska-user-booking-status{grid-column:1/-1;margin:.25rem 0 0}.aska-user-password-banner{align-items:flex-start}.aska-user-password-banner>span{flex:1}.aska-button-link{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .8rem;border:1px solid currentColor;border-radius:6px;text-decoration:none}.aska-password-dialog .aska-form-actions{margin-top:1rem}.aska-user-area .aska-calendar-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;border:1px solid #c3c4c7;border-radius:6px;text-decoration:none}.aska-user-area .aska-calendar-day{min-height:118px}
@media(max-width:760px){.aska-user-hero,.aska-user-section-head,.aska-user-password-banner{align-items:stretch;flex-direction:column}.aska-user-lesson{display:grid;grid-template-columns:48px 1fr}.aska-user-lesson-date{grid-row:1/3}.aska-user-lesson-action{grid-column:2}.aska-user-booking-flow{grid-template-columns:1fr}.aska-user-area .aska-calendar-grid{min-width:760px}.aska-user-area .aska-calendar-toolbar+.aska-calendar-grid{overflow:auto}.aska-user-area .aska-user-section:has(.aska-user-calendar){overflow:auto}}
.aska-user-badges{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}

/* User area tabs */
.aska-user-tabs{display:flex;gap:.45rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.25rem 0 .5rem;margin:1rem 0;border-bottom:1px solid var(--aska-user-border,#dcdcde);scrollbar-width:thin}.aska-user-tab{flex:0 0 auto;border:1px solid #c3c4c7;background:#fff;border-radius:999px;padding:.6rem .9rem;cursor:pointer;font-weight:600;white-space:nowrap}.aska-user-tab.is-active{border-color:#2271b1;box-shadow:inset 0 0 0 1px #2271b1}.aska-tab-count{display:inline-flex;min-width:1.4rem;height:1.4rem;align-items:center;justify-content:center;margin-left:.25rem;border-radius:999px;background:#f0f0f1;font-size:.78rem}.aska-user-tab-panel[hidden]{display:none!important}.aska-user-password-banner>div{display:grid;gap:.2rem;flex:1}.aska-user-calendar-event{width:100%;text-align:left;color:inherit;cursor:pointer}.aska-user-lesson.aska-highlight{box-shadow:0 0 0 3px rgba(34,113,177,.22)}
@media(max-width:760px){.aska-user-tabs{margin-left:-.25rem;margin-right:-.25rem;padding-left:.25rem;padding-right:.25rem}.aska-user-tab{padding:.55rem .75rem}.aska-user-area .aska-calendar-grid{min-width:0}.aska-user-area .aska-calendar-day{min-height:72px;padding:.25rem}.aska-user-area .aska-calendar-weekday{font-size:.7rem;padding:.35rem .1rem}.aska-user-area .aska-calendar-day-number{font-size:.78rem}.aska-user-calendar-events{gap:.15rem;margin-top:.25rem}.aska-user-calendar-event{padding:.2rem;border-radius:4px;font-size:.68rem;text-align:center}.aska-user-calendar-event span{display:none}.aska-user-area .aska-calendar-toolbar+.aska-calendar-grid{overflow:visible}.aska-user-area .aska-user-section:has(.aska-user-calendar){overflow:visible}}
.aska-inline-warning{margin-top:.35rem;padding:.45rem .55rem;border-left:3px solid #dba617;background:#fff8e5;color:#6f4d00;font-size:.9em}.aska-capacity-warning{background:#fffdf5}

/* Bulk administrative actions */
.aska-bulk-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.7rem .8rem;margin:.75rem 0;border:1px solid #dcdcde;border-radius:8px;background:#f6f7f7}.aska-bulk-toolbar .aska-bulk-selected-count{margin-right:auto}.aska-bulk-toolbar button:disabled{opacity:.5;cursor:not-allowed}.aska-select-col{width:42px;text-align:center!important}.aska-select-col input{width:18px;height:18px}.aska-critical-alert{grid-column:1/-1;border:2px solid #b32d2e;background:#fcf0f1;color:#8a2424;border-radius:8px;padding:1rem}.aska-critical-alert strong{display:block;font-size:1.02rem}.aska-critical-alert p{margin:.45rem 0 .7rem}.aska-permanent-delete-zone{background:#fffafa}.aska-bulk-selection-summary{grid-column:1/-1}.aska-dialog .aska-critical-alert .aska-inline-check{align-items:flex-start!important}.aska-dialog .aska-critical-alert input[type="checkbox"]{margin-top:.15rem}
@media(max-width:760px){.aska-bulk-toolbar{align-items:stretch}.aska-bulk-toolbar .aska-bulk-selected-count{width:100%;margin-right:0}.aska-bulk-toolbar button{flex:1 1 145px}}

.aska-enrollment-live-progress{display:flex;align-items:center;gap:10px;margin:10px 0 14px}.aska-enrollment-live-progress progress{width:min(100%,420px);height:14px}.aska-enrollment-live-progress span{font-size:13px;font-weight:600;white-space:nowrap}

/* Dashboard: resumable incremental enrollments */
.aska-dashboard-resume-panel{margin:1rem 0 1.25rem}.aska-dashboard-resume-panel>strong{font-size:1.15rem}.aska-dashboard-resume-table{margin-top:.6rem;background:#fff;color:#1d2327}.aska-dashboard-resume-table td:last-child{white-space:nowrap}.aska-dashboard-resume-table button{font-weight:700}.aska-dashboard-resume-table .aska-form-message{min-width:220px}

/* ========================================================================== 
   ASKA UI refresh 1.9.6
   Scoped to plugin shortcode output/dialogs. Typography intentionally inherits
   the active ASKA site theme so the management UI feels part of the website.
   ========================================================================== */
.aska-wrap,
.aska-dialog{
  --aska-ink:#161616;
  --aska-ink-soft:#3f3f3f;
  --aska-muted-ui:#737373;
  --aska-line:#e2e0db;
  --aska-line-strong:#cbc8c1;
  --aska-surface:#ffffff;
  --aska-surface-soft:#f7f6f3;
  --aska-surface-warm:#f1efe9;
  --aska-accent:#171717;
  --aska-focus:rgba(23,23,23,.16);
  --aska-success:#236b46;
  --aska-success-bg:#edf6f1;
  --aska-warning:#8a6112;
  --aska-warning-bg:#fff7df;
  --aska-error:#a43838;
  --aska-error-bg:#fff0f0;
  --aska-info:#315f7d;
  --aska-info-bg:#eef5f8;
  --aska-radius-sm:8px;
  --aska-radius:14px;
  --aska-radius-lg:22px;
  --aska-shadow:0 12px 34px rgba(18,18,18,.08);
  color:var(--aska-ink);
  font-family:inherit;
  line-height:1.45;
}
.aska-wrap *,
.aska-dialog *{box-sizing:border-box}

.aska-wrap{
  width:100%;
  margin:clamp(1rem,2.5vw,2rem) 0;
  padding:clamp(1rem,2.4vw,2rem);
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius-lg);
  background:var(--aska-surface);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.aska-wrap>h2,
.aska-title-row h2,
.aska-user-hero h2{
  margin:0;
  color:var(--aska-ink);
  font-size:clamp(1.65rem,2.5vw,2.35rem);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:700;
}
.aska-wrap>h2{margin-bottom:1.25rem}
.aska-title-row{margin-bottom:1.35rem}
.aska-title-row h2{flex:1}
.aska-wrap h3,.aska-dialog h3{letter-spacing:-.02em}
.aska-wrap h4,.aska-dialog h4{color:var(--aska-ink);letter-spacing:-.015em}
.aska-wrap p,.aska-dialog p{color:var(--aska-ink-soft)}
.aska-muted{color:var(--aska-muted-ui)!important;opacity:1}

/* Buttons */
.aska-wrap button,
.aska-wrap .aska-button-link,
.aska-dialog button,
.aska-dialog .aska-button-link,
.aska-pagination a,
.aska-view-switch a,
.aska-user-area .aska-calendar-toolbar a{
  appearance:none;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.68rem 1rem;
  border:1px solid var(--aska-ink);
  border-radius:999px;
  background:var(--aska-surface);
  color:var(--aska-ink);
  font:inherit;
  font-size:.9rem;
  font-weight:650;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.aska-wrap button:hover,
.aska-wrap .aska-button-link:hover,
.aska-dialog button:hover,
.aska-dialog .aska-button-link:hover,
.aska-pagination a:hover,
.aska-view-switch a:hover{
  background:var(--aska-ink);
  color:#fff;
  transform:translateY(-1px);
}
.aska-wrap button:focus-visible,
.aska-wrap a:focus-visible,
.aska-wrap input:focus-visible,
.aska-wrap select:focus-visible,
.aska-wrap textarea:focus-visible,
.aska-dialog button:focus-visible,
.aska-dialog input:focus-visible,
.aska-dialog select:focus-visible,
.aska-dialog textarea:focus-visible{
  outline:3px solid var(--aska-focus);
  outline-offset:2px;
}
.aska-wrap button:disabled,.aska-dialog button:disabled{opacity:.42;cursor:not-allowed;transform:none}
.aska-wrap .aska-primary-action,
.aska-dialog .aska-primary-action,
.aska-ajax-form button[type="submit"]{
  background:var(--aska-ink);
  color:#fff;
}
.aska-wrap .aska-primary-action:hover,
.aska-dialog .aska-primary-action:hover,
.aska-ajax-form button[type="submit"]:hover{background:#343434;border-color:#343434}
.aska-wrap .aska-danger,
.aska-dialog .aska-danger,
.aska-destructive-zone button[type="submit"]{border-color:var(--aska-error);color:var(--aska-error);background:#fff}
.aska-wrap .aska-danger:hover,
.aska-dialog .aska-danger:hover,
.aska-destructive-zone button[type="submit"]:hover{background:var(--aska-error);color:#fff}
.aska-close-dialog{
  width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;
  border-color:var(--aska-line)!important;background:var(--aska-surface-soft)!important;color:var(--aska-ink)!important;
  font-size:1.25rem!important;
}

/* Forms and filters */
.aska-filters,
.aska-ajax-form{
  padding:1rem;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  background:var(--aska-surface-soft);
  gap:.85rem;
}
.aska-filters{margin:0 0 1rem}
.aska-ajax-form label,
.aska-filters label,
.aska-user-booking-flow label{
  color:var(--aska-ink-soft);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.aska-wrap input:not([type="checkbox"]):not([type="radio"]),
.aska-wrap select,
.aska-wrap textarea,
.aska-dialog input:not([type="checkbox"]):not([type="radio"]),
.aska-dialog select,
.aska-dialog textarea{
  width:100%;
  min-height:46px;
  margin:0;
  padding:.72rem .82rem;
  border:1px solid var(--aska-line-strong);
  border-radius:10px;
  background:#fff;
  color:var(--aska-ink);
  font:inherit;
  font-size:.95rem;
  font-weight:450;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.aska-wrap textarea,.aska-dialog textarea{min-height:100px;resize:vertical}
.aska-wrap input:focus,.aska-wrap select:focus,.aska-wrap textarea:focus,
.aska-dialog input:focus,.aska-dialog select:focus,.aska-dialog textarea:focus{
  border-color:var(--aska-ink);box-shadow:0 0 0 3px var(--aska-focus);outline:0;
}
.aska-inline-check,.aska-token-category-options label{font-size:.9rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:550!important}
.aska-inline-check input[type="checkbox"],.aska-inline-check input[type="radio"],.aska-select-col input{
  accent-color:var(--aska-ink);
}
.aska-capacity-policy,.aska-token-category-details{
  border-color:var(--aska-line);border-radius:var(--aska-radius);background:#fff;padding:1rem;
}
.aska-capacity-policy legend{font-size:.95rem;color:var(--aska-ink)}

/* Select2, limited to plugin surfaces */
.aska-wrap .select2-container--default .select2-selection--single,
.aska-wrap .select2-container--default .select2-selection--multiple,
.aska-dialog .select2-container--default .select2-selection--single,
.aska-dialog .select2-container--default .select2-selection--multiple{
  min-height:46px;border:1px solid var(--aska-line-strong);border-radius:10px;background:#fff;
}
.aska-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
.aska-dialog .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:.82rem;color:var(--aska-ink)}
.aska-wrap .select2-container--default .select2-selection--single .select2-selection__arrow,
.aska-dialog .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.aska-wrap .select2-container--default.select2-container--focus .select2-selection--single,
.aska-wrap .select2-container--default.select2-container--focus .select2-selection--multiple,
.aska-dialog .select2-container--default.select2-container--focus .select2-selection--single,
.aska-dialog .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:var(--aska-ink);box-shadow:0 0 0 3px var(--aska-focus)}

/* Tables */
.aska-table-wrap{
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  background:#fff;
  overflow:auto;
}
.aska-table{border-collapse:separate;border-spacing:0;min-width:0;width:100%;background:#fff}
.aska-table th,.aska-table td{padding:.9rem 1rem;border:0;border-bottom:1px solid var(--aska-line);vertical-align:middle}
.aska-table th{
  position:relative;
  background:var(--aska-surface-soft);
  color:var(--aska-muted-ui);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:normal;
}
.aska-table tbody tr:last-child td{border-bottom:0}
.aska-table tbody tr{transition:background-color .15s ease}
.aska-table tbody tr:hover{background:#fbfaf8}
.aska-table td strong{color:var(--aska-ink)}
.aska-table details summary{cursor:pointer;color:var(--aska-ink);font-weight:650}
.aska-table details[open]{padding:.25rem 0}
.aska-badge,
.aska-user-badge,
.aska-user-date-chip,
.aska-capacity-summary span{
  display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .62rem;border:1px solid var(--aska-line);border-radius:999px;background:var(--aska-surface-soft);color:var(--aska-ink-soft);font-size:.78rem;font-weight:650;line-height:1.1;
}

/* Cards / dashboard */
.aska-cards{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.8rem;margin:1rem 0}
.aska-card{
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  padding:1.15rem;
  background:var(--aska-surface-soft);
}
.aska-card strong{font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1;letter-spacing:-.04em;color:var(--aska-ink)}
.aska-card span{margin-top:.75rem;color:var(--aska-muted-ui);font-size:.86rem;font-weight:600}
.aska-dashboard-resume-panel{
  padding:1.15rem;
  border:1px solid #e5c368;
  border-radius:var(--aska-radius-lg);
  background:#fffaf0;
}
.aska-dashboard-resume-panel>strong{display:block;margin-bottom:.2rem;color:var(--aska-ink);font-size:1.15rem}
.aska-dashboard-resume-table{box-shadow:none}

/* Notices */
.aska-notice{
  margin:.9rem 0;
  padding:.85rem 1rem;
  border:1px solid var(--aska-line-strong);
  border-radius:12px;
  background:var(--aska-surface-soft);
  color:var(--aska-ink-soft);
  font-size:.92rem;
}
.aska-success{border-color:#bad7c8;background:var(--aska-success-bg);color:var(--aska-success)}
.aska-info{border-color:#bed4df;background:var(--aska-info-bg);color:var(--aska-info)}
.aska-warning{border-color:#ecd28b;background:var(--aska-warning-bg);color:var(--aska-warning)}
.aska-error{border-color:#e2b3b3;background:var(--aska-error-bg);color:var(--aska-error)}
.aska-critical-alert{border:1px solid #e2b3b3;border-left:4px solid var(--aska-error);border-radius:12px;background:var(--aska-error-bg);color:var(--aska-error)}

/* Dialogs */
.aska-dialog{
  width:min(760px,calc(100vw - 28px));
  max-height:min(90vh,900px);
  padding:0;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius-lg);
  background:var(--aska-surface);
  box-shadow:0 28px 80px rgba(0,0,0,.2);
  overflow:auto;
}
.aska-customer-dialog{width:min(1120px,calc(100vw - 28px))}
.aska-dialog::backdrop{background:rgba(10,10,10,.56);backdrop-filter:blur(3px)}
.aska-dialog-head{
  position:sticky;top:0;z-index:5;
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.15rem;
  border-bottom:1px solid var(--aska-line);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
}
.aska-dialog-head h3{margin:0;flex:1;font-size:1.3rem;line-height:1.15}
.aska-customer-modal-body{padding:1.1rem 1.15rem 1.35rem;margin:0}
.aska-modal-operation-block{padding:1rem 0}
.aska-modal-operation-block+.aska-modal-operation-block{border-top:1px solid var(--aska-line)}
.aska-destructive-zone{
  border:1px solid #e8caca!important;
  border-radius:var(--aska-radius)!important;
  padding:1rem!important;
  background:#fffafa;
}
.aska-modal-history{border-color:var(--aska-line);border-radius:var(--aska-radius);background:var(--aska-surface-soft)}
.aska-modal-history>summary{padding:.1rem;cursor:pointer;color:var(--aska-ink);font-weight:700}

/* Customer actions */
.aska-customer-actions{gap:.42rem;min-width:360px}
.aska-customer-actions button{min-height:36px;padding:.52rem .75rem;font-size:.8rem;background:#fff;border-color:var(--aska-line-strong)}
.aska-customer-actions button:hover{border-color:var(--aska-ink)}
.aska-bulk-toolbar{
  margin:.85rem 0;padding:.75rem .85rem;border:1px solid var(--aska-line);border-radius:var(--aska-radius);background:var(--aska-surface-soft);
}

/* Pagination */
.aska-pagination,.aska-client-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin:1rem 0 0;flex-wrap:wrap}
.aska-pagination a{min-width:40px;padding:.55rem .75rem}
.aska-pagination a.current{background:var(--aska-ink);color:#fff;border-color:var(--aska-ink)}
.aska-client-pagination{padding-top:.75rem;border-top:1px solid var(--aska-line)}
.aska-client-pagination .aska-page-button{min-height:38px;padding:.55rem .8rem}
.aska-page-label{min-width:110px;text-align:center;color:var(--aska-muted-ui);font-size:.82rem;font-weight:650}
.aska-list-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 .65rem}
.aska-list-intro>div{display:grid;gap:.12rem}
.aska-list-intro strong{font-size:1rem;color:var(--aska-ink)}
.aska-list-intro span{font-size:.82rem;color:var(--aska-muted-ui)}
[data-aska-page-row][hidden]{display:none!important}

/* Calendar */
.aska-view-switch{padding:.28rem;border:1px solid var(--aska-line);border-radius:999px;background:var(--aska-surface-soft)}
.aska-view-switch a{min-height:36px;border-color:transparent;background:transparent;padding:.5rem .75rem}
.aska-view-switch a.current{border-color:var(--aska-ink);background:var(--aska-ink);color:#fff}
.aska-calendar-toolbar{padding:.65rem .75rem;border:1px solid var(--aska-line);border-radius:var(--aska-radius);background:var(--aska-surface-soft)}
.aska-calendar-grid{border:1px solid var(--aska-line);border-radius:var(--aska-radius);overflow:hidden;background:#fff}
.aska-calendar-weekday{border-color:var(--aska-line);background:var(--aska-surface-soft);color:var(--aska-muted-ui);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.aska-calendar-day{border-color:var(--aska-line);background:#fff}
.aska-calendar-empty{background:#faf9f7}
.aska-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--aska-ink)}
.aska-calendar-count{background:var(--aska-ink);color:#fff;border:0}

/* User area */
.aska-user-area{--aska-user-border:var(--aska-line)}
.aska-user-tabs{border-color:var(--aska-line);gap:.4rem}
.aska-user-tab{min-height:40px;border-color:var(--aska-line);background:var(--aska-surface-soft);font-size:.86rem}
.aska-user-tab.is-active{background:var(--aska-ink);color:#fff;border-color:var(--aska-ink);box-shadow:none}
.aska-user-tab.is-active .aska-tab-count{background:#fff;color:var(--aska-ink)}
.aska-user-course-card,.aska-user-token-card,.aska-user-lesson{border-color:var(--aska-line);border-radius:var(--aska-radius);background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.aska-user-course-card:hover,.aska-user-token-card:hover{border-color:var(--aska-line-strong)}
.aska-user-calendar-event{border-color:var(--aska-line);background:var(--aska-surface-soft)}
.aska-user-password-banner{border-radius:var(--aska-radius)}

/* Progress */
.aska-enrollment-live-progress,.aska-customer-reset-live-progress,.aska-platform-reset-live-progress{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border:1px solid var(--aska-line);border-radius:12px;background:var(--aska-surface-soft)}
.aska-enrollment-live-progress progress,.aska-customer-reset-live-progress progress,.aska-platform-reset-live-progress progress{width:min(100%,420px);height:10px;border:0;border-radius:999px;overflow:hidden;background:#e7e4de}
.aska-enrollment-live-progress progress::-webkit-progress-bar,.aska-customer-reset-live-progress progress::-webkit-progress-bar,.aska-platform-reset-live-progress progress::-webkit-progress-bar{background:#e7e4de}
.aska-enrollment-live-progress progress::-webkit-progress-value,.aska-customer-reset-live-progress progress::-webkit-progress-value,.aska-platform-reset-live-progress progress::-webkit-progress-value{background:var(--aska-ink)}
.aska-enrollment-live-progress span,.aska-customer-reset-live-progress span,.aska-platform-reset-live-progress span{font-size:.78rem;color:var(--aska-muted-ui);font-weight:700}

/* Flash messages remain plugin-specific even though they are appended to body. */
.aska-flash-host{font-family:inherit}
.aska-flash{border-radius:14px;border-color:#ddd9d1;box-shadow:0 16px 44px rgba(0,0,0,.14);padding:.9rem 1rem}
.aska-flash-success{border-color:#bad7c8;background:var(--aska-success-bg,#edf6f1);color:#236b46}
.aska-flash-error{border-color:#e2b3b3;background:var(--aska-error-bg,#fff0f0);color:#a43838}
.aska-flash-warning{border-color:#ecd28b;background:var(--aska-warning-bg,#fff7df);color:#8a6112}
.aska-flash-info{border-color:#bed4df;background:var(--aska-info-bg,#eef5f8);color:#315f7d}

@media(max-width:760px){
  .aska-wrap{padding:1rem;border-radius:16px}
  .aska-title-row{align-items:stretch}
  .aska-title-row>button,.aska-title-row>.aska-button-link{width:100%}
  .aska-filters,.aska-ajax-form{grid-template-columns:1fr;padding:.8rem}
  .aska-table{min-width:680px}
  .aska-customer-actions{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .aska-customer-actions button{white-space:normal;line-height:1.15}
  .aska-dialog,.aska-customer-dialog{width:calc(100vw - 16px);max-height:94vh;border-radius:16px}
  .aska-dialog-head{padding:.8rem .9rem}
  .aska-customer-modal-body{padding:.9rem}
  .aska-list-intro{align-items:flex-start;flex-direction:column;gap:.25rem}
  .aska-client-pagination{justify-content:space-between}
  .aska-page-label{order:-1;width:100%;text-align:left}
  .aska-calendar-toolbar{grid-template-columns:auto 1fr auto;padding:.5rem}
}

@media(max-width:480px){
  .aska-customer-actions{grid-template-columns:1fr}
  .aska-wrap button,.aska-dialog button{min-height:44px}
  .aska-cards{grid-template-columns:1fr 1fr}
  .aska-card{min-height:105px;padding:.9rem}
}

/* ========================================================================== 
   ASKA viewport forms 1.9.7
   Dialogs use the available viewport width and form controls are allowed to
   shrink inside CSS Grid without overflowing. Select2's internal search input
   is intentionally excluded from the normal full-size input treatment.
   ========================================================================== */
.aska-dialog,
.aska-customer-dialog,
.aska-password-dialog{
  width:calc(100vw - 24px);
  max-width:none;
  max-height:calc(100dvh - 24px);
  margin:auto;
  overflow-x:hidden;
  overflow-y:auto;
}

.aska-dialog .aska-customer-modal-body,
.aska-dialog .aska-modal-operation-block,
.aska-dialog .aska-ajax-form,
.aska-dialog .aska-grid,
.aska-dialog .aska-modal-summary{
  width:100%;
  max-width:none;
  min-width:0;
}

.aska-dialog .aska-ajax-form,
.aska-dialog .aska-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
}

.aska-dialog .aska-ajax-form > *,
.aska-dialog .aska-grid > *,
.aska-dialog .aska-modal-summary > *,
.aska-dialog label,
.aska-dialog fieldset,
.aska-dialog .aska-course-group-field,
.aska-dialog .aska-single-date-fields,
.aska-dialog .aska-recurrence,
.aska-dialog .aska-period-quarter-controls{
  min-width:0;
  max-width:100%;
}

.aska-wrap .select2-container,
.aska-dialog .select2-container{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.aska-wrap .select2-container .selection,
.aska-dialog .select2-container .selection,
.aska-wrap .select2-container--default .select2-selection--single,
.aska-dialog .select2-container--default .select2-selection--single,
.aska-wrap .select2-container--default .select2-selection--multiple,
.aska-dialog .select2-container--default .select2-selection--multiple{
  width:100%;
  max-width:100%;
}

.aska-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
.aska-dialog .select2-container--default .select2-selection--single .select2-selection__rendered{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding-right:2.25rem;
}

.aska-wrap .select2-container--default .select2-selection--multiple,
.aska-dialog .select2-container--default .select2-selection--multiple{
  height:auto!important;
  min-height:46px;
  padding:.2rem .35rem;
  overflow:hidden;
}

.aska-wrap .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.aska-dialog .select2-container--default .select2-selection--multiple .select2-selection__rendered{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem;
  width:100%;
  min-width:0;
  min-height:38px;
  margin:0;
  padding:.15rem!important;
}

.aska-wrap .select2-container--default .select2-selection--multiple .select2-selection__choice,
.aska-dialog .select2-container--default .select2-selection--multiple .select2-selection__choice{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin:0!important;
  padding:.28rem .48rem;
  line-height:1.15;
}

.aska-wrap .select2-container--default .select2-selection--multiple .select2-selection__choice__display,
.aska-dialog .select2-container--default .select2-selection--multiple .select2-selection__choice__display{
  max-width:min(280px,60vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.aska-wrap .select2-container--default .select2-search--inline,
.aska-dialog .select2-container--default .select2-search--inline{
  flex:1 1 10rem;
  min-width:8rem;
  max-width:100%;
  margin:0!important;
}

.aska-wrap .select2-container--default .select2-search--inline .select2-search__field,
.aska-dialog .select2-container--default .select2-search--inline .select2-search__field{
  width:100%!important;
  min-width:8rem!important;
  max-width:100%!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0 .25rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  font:inherit!important;
  line-height:32px!important;
}

.aska-dialog .select2-dropdown{
  max-width:calc(100vw - 40px);
}

@media(max-width:760px){
  .aska-dialog,
  .aska-customer-dialog,
  .aska-password-dialog{
    width:calc(100vw - 12px);
    max-width:none;
    max-height:calc(100dvh - 12px);
    border-radius:14px;
  }
  .aska-dialog .aska-ajax-form,
  .aska-dialog .aska-grid{
    grid-template-columns:1fr;
  }
}
.aska-wrap .select2-container--default .select2-search--inline textarea.select2-search__field,
.aska-dialog .select2-container--default .select2-search--inline textarea.select2-search__field{
  resize:none!important;
  overflow:hidden!important;
}

/* 1.9.8: navigazione mensile calendario amministrativo AJAX */
.aska-admin-calendar .aska-admin-calendar-month-region{position:relative;transition:opacity .16s ease}
.aska-admin-calendar .aska-admin-calendar-month-region.is-loading{opacity:.48;pointer-events:none}
.aska-admin-calendar .aska-calendar-toolbar .aska-admin-calendar-month-nav{min-width:112px}
@media(max-width:760px){.aska-admin-calendar .aska-calendar-toolbar .aska-admin-calendar-month-nav{min-width:0;padding:.5rem .65rem}}

/* 1.9.11 - Login frontend e azioni portale. Tutti i selettori restano confinati al plugin. */
.aska-login {
    width: min(100%, 760px);
    margin-inline: auto;
}

.aska-login-card {
    width: 100%;
    padding: clamp(24px, 5vw, 56px);
    border: 1px solid var(--aska-border, #dedede);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .07);
}

.aska-login-heading {
    margin-bottom: 28px;
}

.aska-login-heading h2 {
    margin: 4px 0 8px;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1;
}

.aska-login-heading p {
    margin: 0;
}

.aska-login-eyebrow {
    display: inline-block;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.aska-login-form {
    display: grid;
    gap: 18px;
}

.aska-login-form label:not(.aska-inline-check) {
    display: grid;
    gap: 8px;
    font-weight: 600;
}

.aska-login-form input[type="text"],
.aska-login-form input[type="password"] {
    width: 100%;
    min-height: 52px;
}

.aska-login-remember {
    justify-self: start;
}

.aska-login-form > button {
    min-height: 52px;
    justify-self: stretch;
}

.aska-portal-actions,
.aska-user-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.aska-logout-link,
.aska-wrap .aska-logout-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 18px;
    border: 1px solid #17161a;
    border-radius: 999px;
    color: #17161a;
    background: transparent;
    font-weight: 650;
    text-decoration: none;
}

.aska-logout-link:hover,
.aska-wrap .aska-logout-link:hover {
    color: #fff;
    background: #17161a;
}

.aska-portal-title-row {
    margin-bottom: 18px;
}

@media (max-width: 720px) {
    .aska-login-card {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .aska-user-hero-actions,
    .aska-portal-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

/* 1.9.13 - token filters and administrative booking flow */
.aska-wrap .aska-token-client-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  align-items: end;
  margin: 12px 0 16px;
}
.aska-wrap .aska-token-client-filters input,
.aska-wrap .aska-token-client-filters select,
.aska-wrap .aska-token-client-filters button {
  width: 100%;
  min-width: 0;
}
.aska-wrap .aska-booking-mode {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 14px;
  border: 1px solid var(--aska-border, #dedede);
  border-radius: 14px;
}
.aska-wrap .aska-booking-mode legend { font-weight: 700; padding: 0 6px; }
.aska-wrap .aska-booking-mode label { display: inline-flex; align-items: center; gap: 8px; }
.aska-wrap .aska-booking-mode input { width: auto; }

/* 1.9.14 - dashboard lessons and grouped day detail */
.aska-wrap .aska-dashboard-lessons-section {
  margin-top: clamp(24px, 4vw, 42px);
}
.aska-wrap .aska-dashboard-lessons-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.aska-wrap .aska-dashboard-day-column {
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid var(--aska-border, #dedede);
  border-radius: 18px;
  background: #fff;
}
.aska-wrap .aska-dashboard-day-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.aska-wrap .aska-dashboard-day-header h3 { margin: 0; }
.aska-wrap .aska-dashboard-day-header span { color: var(--aska-muted, #6f6f73); font-size: .9rem; }
.aska-wrap .aska-dashboard-lesson-list { display: grid; gap: 10px; }
.aska-wrap .aska-dashboard-lesson-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--aska-border, #dedede);
  border-radius: 14px;
  background: #fafafa;
}
.aska-wrap .aska-dashboard-lesson-row > div { min-width: 0; }
.aska-wrap .aska-dashboard-attendee-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-height: 38px;
  padding: 7px 12px;
  border-radius: 999px;
}
.aska-wrap .aska-dashboard-attendee-count strong { font-size: 1rem; }
.aska-wrap .aska-dashboard-attendee-count span { font-size: .78rem; }
.aska-dialog .aska-attendee-list { display: grid; gap: 8px; }
.aska-dialog .aska-attendee-row {
  padding: 11px 13px;
  border: 1px solid var(--aska-border, #dedede);
  border-radius: 12px;
  background: #fafafa;
  font-weight: 600;
}

.aska-dialog .aska-calendar-course-groups { display: grid; gap: 12px; }
.aska-dialog .aska-calendar-course-group {
  overflow: hidden;
  border: 1px solid var(--aska-border, #dedede);
  border-radius: 15px;
  background: #fff;
}
.aska-dialog .aska-calendar-course-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  background: #f5f5f5;
}
.aska-dialog .aska-calendar-course-group-toggle {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  border-radius: 10px;
}
.aska-dialog .aska-calendar-course-group-toggle::before {
  content: '▾';
  flex: 0 0 auto;
  transition: transform .16s ease;
}
.aska-dialog .aska-calendar-course-group.is-collapsed .aska-calendar-course-group-toggle::before { transform: rotate(-90deg); }
.aska-dialog .aska-calendar-course-count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #17161a;
  color: #fff;
  font-size: .78rem;
  white-space: nowrap;
}
.aska-dialog .aska-calendar-course-select-label { flex: 0 0 auto; margin: 0; }
.aska-dialog .aska-calendar-course-group-body[hidden] { display: none !important; }
.aska-dialog .aska-calendar-course-group-body .aska-table-wrap { margin: 0; border: 0; border-radius: 0; }

@media (max-width: 820px) {
  .aska-wrap .aska-dashboard-lessons-grid { grid-template-columns: 1fr; }
  .aska-dialog .aska-calendar-course-group-header { align-items: flex-start; flex-direction: column; }
  .aska-dialog .aska-calendar-course-select-label { width: 100%; }
}

/* 1.9.15 - user calendar month navigation without page reload */
.aska-user-area .aska-user-calendar-month-region{position:relative;transition:opacity .16s ease}
.aska-user-area .aska-user-calendar-month-region.is-loading{opacity:.48;pointer-events:none}
.aska-user-area .aska-calendar-toolbar .aska-user-calendar-month-nav{min-width:48px}

/* 1.9.16 - area corsista più immediata */
.aska-user-area .aska-user-rules{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:20px 22px;
  margin:18px 0 22px;
  border-width:2px;
  border-radius:18px;
}
.aska-user-area .aska-user-rules-hours{
  display:grid;
  min-width:126px;
  text-align:center;
  line-height:1;
}
.aska-user-area .aska-user-rules-hours strong{
  font-size:clamp(2.8rem,5vw,4.5rem);
  font-weight:800;
  letter-spacing:-.06em;
}
.aska-user-area .aska-user-rules-hours span{
  margin-top:5px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
}
.aska-user-area .aska-user-rules-copy{
  display:grid;
  gap:6px;
  font-size:1rem;
  line-height:1.45;
}
.aska-user-area .aska-user-rules-copy>strong{font-size:1.18rem;line-height:1.2}
.aska-user-area .aska-user-course-card{display:grid;gap:6px}
.aska-user-area .aska-user-course-period,
.aska-user-area .aska-user-course-schedule{margin:0;color:var(--aska-muted-ui)}
.aska-user-area .aska-user-course-schedule{font-weight:650;color:var(--aska-ink)}
.aska-user-area .aska-user-consequence{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:750;
  line-height:1.25;
}
.aska-user-area .aska-user-consequence.is-success{background:#edf6f1;color:#236b46}
.aska-user-area .aska-user-consequence.is-warning{background:#fff4d6;color:#7a5200}
.aska-user-area .aska-user-history-list{
  display:grid;
  gap:0;
  max-height:460px;
  overflow:auto;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  background:#fff;
}
.aska-user-area .aska-user-history-item{
  display:grid;
  grid-template-columns:minmax(125px,.6fr) minmax(180px,1fr) minmax(220px,1.5fr);
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid var(--aska-line);
}
.aska-user-area .aska-user-history-item:last-child{border-bottom:0}
.aska-user-area .aska-user-history-item time{font-size:.82rem;color:var(--aska-muted-ui);font-variant-numeric:tabular-nums}
.aska-user-area .aska-user-history-item strong{font-size:.9rem}
.aska-user-area .aska-user-history-item span{font-size:.9rem;color:var(--aska-muted-ui)}
@media(max-width:760px){
  .aska-user-area .aska-user-rules{grid-template-columns:1fr;text-align:center;padding:18px 16px}
  .aska-user-area .aska-user-rules-hours{min-width:0}
  .aska-user-area .aska-user-history-item{grid-template-columns:1fr;gap:3px;padding:11px 12px}
}


/* 1.9.17: password banner + single global customer communication */
.aska-user-area .aska-user-password-banner,
.aska-user-area .aska-user-password-banner *{
  font-style:normal!important;
  font-family:inherit;
}
.aska-user-area .aska-user-password-banner{
  display:flex;
  gap:1rem;
  align-items:center;
}
.aska-user-area .aska-user-password-banner>div{min-width:0}
.aska-user-area .aska-user-password-banner strong{color:inherit;font-size:1rem;line-height:1.25}
.aska-user-area .aska-user-password-banner span{color:inherit;line-height:1.45}
.aska-user-area .aska-user-communication-banner{
  display:grid;
  gap:.45rem;
  padding:1rem 1.1rem;
  margin:1rem 0 1.15rem;
  font-style:normal!important;
}
.aska-user-area .aska-user-communication-banner *{font-style:normal!important}
.aska-user-area .aska-user-communication-banner>strong{font-size:1.08rem;color:inherit}
.aska-user-communication-content{font:inherit;color:inherit;overflow-wrap:anywhere}
.aska-user-communication-content>:first-child{margin-top:0}
.aska-user-communication-content>:last-child{margin-bottom:0}
.aska-communication-dialog .aska-user-communication-content{padding:1.15rem;min-height:80px}
.aska-communication-dialog>.aska-form-actions{padding:0 1.15rem 1.15rem}
.aska-settings-communications{min-width:0}
.aska-communication-form{grid-template-columns:1fr}
.aska-communication-form .aska-communication-editor,
.aska-communication-form .aska-communication-active,
.aska-communication-form .aska-form-message{grid-column:1/-1}
.aska-communication-form .wp-editor-wrap{width:100%;max-width:100%;font-style:normal}
.aska-communication-form .wp-editor-container{border-color:var(--aska-line-strong)}
.aska-communication-form .wp-editor-area{width:100%!important;min-height:220px;font:inherit!important}
.aska-communication-form button[type="submit"]{justify-self:start}
@media(max-width:760px){
  .aska-user-area .aska-user-password-banner{align-items:stretch;flex-direction:column}
  .aska-user-area .aska-user-password-banner .aska-open-dialog{width:100%}
}

/* 1.9.18: compact token row actions + password dialog secondary action */
.aska-token-row-actions{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  min-width:max-content;
}
.aska-token-row-actions .aska-ajax-form{
  display:inline-flex;
  width:auto;
  min-width:0;
  margin:0;
  grid-template-columns:1fr;
  gap:0;
}
.aska-token-row-actions .aska-ajax-form .aska-form-message:empty{display:none}
.aska-token-row-actions button{white-space:nowrap}

.aska-password-dialog>.aska-password-actions{
  margin:.85rem 0 0;
  padding:0 1.15rem 1.15rem;
  width:100%;
  box-sizing:border-box;
}
.aska-password-dialog .aska-password-later{
  width:auto!important;
  min-width:180px;
  min-height:44px!important;
  height:auto!important;
  padding:.72rem 1.05rem!important;
  line-height:1.2!important;
  white-space:normal;
  flex:0 0 auto;
}
@media(max-width:760px){
  .aska-password-dialog .aska-password-later{width:100%!important;flex:1 1 100%}
  .aska-token-row-actions{min-width:0}
}

/* 1.9.19: real course occurrences in admin token booking */
.aska-admin-token-booking-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;grid-column:1/-1}
.aska-admin-token-booking-flow>label{display:grid;gap:.3rem}
.aska-admin-token-book-status,.aska-admin-token-book-conflict,.aska-admin-token-booking-flow>.aska-muted{grid-column:1/-1}
@media(max-width:760px){.aska-admin-token-booking-flow{grid-template-columns:1fr}}

/* 1.9.20: coherent single-lesson modal, token ownership, full-width settings */
.aska-token-owner{
  min-width:190px;
}
.aska-token-owner strong{
  display:block;
  color:var(--aska-ink);
  font-size:.9rem;
  line-height:1.25;
}
.aska-token-owner span{
  display:block;
  margin-top:.2rem;
  color:var(--aska-muted-ui);
  font-size:.76rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.aska-settings-page .aska-settings-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:.8rem;
  margin-top:1rem;
}
.aska-settings-page .aska-settings-row{
  width:100%;
  min-width:0;
  margin:0;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  background:#fff;
  overflow:hidden;
}
.aska-settings-page .aska-settings-row>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:58px;
  padding:.9rem 1rem;
  cursor:pointer;
  list-style:none;
  color:var(--aska-ink);
  background:var(--aska-surface-soft);
  font-size:1rem;
  font-weight:750;
  line-height:1.25;
  user-select:none;
}
.aska-settings-page .aska-settings-row>summary::-webkit-details-marker{display:none}
.aska-settings-page .aska-settings-row>summary::after{
  content:'+';
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid var(--aska-line-strong);
  border-radius:999px;
  background:#fff;
  color:var(--aska-ink);
  font-size:1.15rem;
  font-weight:500;
  line-height:1;
}
.aska-settings-page .aska-settings-row[open]>summary{
  border-bottom:1px solid var(--aska-line);
}
.aska-settings-page .aska-settings-row[open]>summary::after{content:'−'}
.aska-settings-page .aska-settings-row-body{
  width:100%;
  min-width:0;
  padding:1rem;
  box-sizing:border-box;
}
.aska-settings-page .aska-settings-row-body>.aska-notice:first-child,
.aska-settings-page .aska-settings-row-body>p:first-child{margin-top:0}
.aska-settings-page .aska-settings-row-body>.aska-notice:last-child,
.aska-settings-page .aska-settings-row-body>p:last-child{margin-bottom:0}
.aska-settings-page .aska-settings-row .aska-ajax-form{
  width:100%;
  min-width:0;
  margin:0;
}
.aska-settings-page .aska-settings-row-body>.aska-notice + .aska-ajax-form{margin-top:.8rem}
.aska-settings-page .aska-settings-communications .aska-settings-row-body{padding:1rem}
.aska-settings-page .aska-communication-form{
  width:100%;
  grid-template-columns:1fr;
}
.aska-settings-page .aska-communication-editor,
.aska-settings-page .aska-communication-editor .wp-editor-wrap,
.aska-settings-page .aska-communication-editor .wp-editor-container{
  width:100%;
  max-width:none;
  min-width:0;
}
.aska-settings-page .aska-communication-form .wp-editor-area{min-height:260px}
.aska-settings-page .aska-settings-danger{
  border-color:#e2b3b3;
}
.aska-settings-page .aska-settings-danger>summary{
  background:#fff7f7;
}

#aska-customer-specific-lesson-modal{
  width:min(920px,calc(100vw - 24px));
  max-width:920px;
}
#aska-customer-specific-lesson-modal .aska-customer-modal-body>.aska-ajax-form{
  display:grid;
  grid-template-columns:1fr;
  gap:.9rem;
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
}
.aska-admin-specific-lesson-flow{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
  width:100%;
  min-width:0;
}
.aska-admin-specific-lesson-flow>.aska-booking-mode{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin:0;
  padding:.9rem;
  border:1px solid var(--aska-line);
  border-radius:var(--aska-radius);
  background:var(--aska-surface-soft);
}
.aska-admin-specific-lesson-flow>.aska-booking-mode legend{
  padding:0 .35rem;
  color:var(--aska-ink);
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.aska-admin-specific-lesson-flow>.aska-booking-mode label{
  display:flex!important;
  align-items:flex-start!important;
  gap:.6rem!important;
  min-height:58px;
  padding:.78rem .85rem;
  border:1px solid var(--aska-line);
  border-radius:11px;
  background:#fff;
  color:var(--aska-ink)!important;
  font-size:.9rem!important;
  font-weight:650!important;
  letter-spacing:0!important;
  line-height:1.3;
  text-transform:none!important;
  cursor:pointer;
}
.aska-admin-specific-lesson-flow>.aska-booking-mode input{
  flex:0 0 auto;
  width:auto!important;
  min-height:0!important;
  margin:.12rem 0 0!important;
}
.aska-admin-specific-token-field{
  grid-column:1/-1;
}
.aska-admin-specific-status,
.aska-admin-specific-conflict,
.aska-admin-specific-mode-note,
.aska-admin-specific-override,
.aska-admin-specific-reason{
  grid-column:1/-1;
}
.aska-admin-specific-status,
.aska-admin-specific-conflict{
  margin:0;
}
.aska-admin-specific-override{
  display:flex!important;
  align-items:center!important;
  gap:.6rem!important;
  min-height:48px;
  padding:.75rem .85rem;
  border:1px solid var(--aska-line);
  border-radius:11px;
  background:var(--aska-surface-soft);
  color:var(--aska-ink)!important;
  font-size:.9rem!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.aska-admin-specific-override input{
  width:auto!important;
  min-height:0!important;
  margin:0!important;
}
.aska-admin-specific-reason textarea{min-height:86px}
.aska-admin-specific-mode-note{
  margin:0;
  padding:.15rem .1rem 0;
  color:var(--aska-muted-ui);
  font-size:.8rem;
  line-height:1.45;
}
#aska-customer-specific-lesson-modal .aska-admin-specific-lesson-flow~.aska-form-message{
  grid-column:1/-1;
  margin:0;
}
#aska-customer-specific-lesson-modal .aska-admin-specific-lesson-flow~button[type="submit"]{
  justify-self:start;
  min-width:220px;
}

@media(max-width:760px){
  .aska-settings-page .aska-settings-row>summary{min-height:54px;padding:.8rem .85rem}
  .aska-settings-page .aska-settings-row-body{padding:.8rem}
  #aska-customer-specific-lesson-modal{width:calc(100vw - 16px);max-width:none}
  .aska-admin-specific-lesson-flow,
  .aska-admin-specific-lesson-flow>.aska-booking-mode{grid-template-columns:1fr}
  #aska-customer-specific-lesson-modal .aska-admin-specific-lesson-flow~button[type="submit"]{width:100%;min-width:0}
}

.aska-communication-dialog .aska-communication-dismiss{
  width:auto!important;
  min-width:120px;
  min-height:44px!important;
  padding:.7rem 1rem!important;
  line-height:1.2!important;
}
@media(max-width:760px){
  .aska-communication-dialog .aska-communication-dismiss{width:100%!important}
}

/* User calendar recovery booking 1.9.22 */
.aska-user-calendar-booking-tools{
  display:grid;
  gap:.8rem;
  margin:0 0 1rem;
  padding:1rem;
  border:1px solid var(--aska-line,#e2e0db);
  border-radius:var(--aska-radius,14px);
  background:var(--aska-surface-soft,#f7f6f3);
}
.aska-user-calendar-booking-intro{display:grid;gap:.15rem}
.aska-user-calendar-booking-intro strong{font-size:1.02rem}
.aska-user-calendar-booking-intro span{color:var(--aska-ink-soft,#3f3f3f);font-size:.9rem}
.aska-user-calendar-booking-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.aska-user-calendar-booking-selects label{display:grid;gap:.35rem;color:var(--aska-ink-soft,#3f3f3f);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.aska-user-calendar-booking-selects label>span{display:flex;align-items:baseline;gap:.35rem}
.aska-user-calendar-booking-selects small{font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--aska-muted-ui,#737373)}
.aska-user-calendar-recovery-key{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;font-size:.82rem;color:var(--aska-ink-soft,#3f3f3f)}
.aska-user-calendar-recovery-key span{display:inline-flex;align-items:center;gap:.35rem}
.aska-user-calendar-recovery-key i{display:inline-block;width:11px;height:11px;border-radius:999px;border:1px solid currentColor;background:currentColor}
.aska-user-calendar-recovery-key i.is-available{color:var(--aska-success,#236b46)}
.aska-user-calendar-recovery-key i.is-full{color:var(--aska-error,#a43838)}
.aska-user-calendar-recovery-key i.is-closure{border-radius:3px;color:var(--aska-muted-ui,#737373);background:repeating-linear-gradient(135deg,currentColor 0,currentColor 2px,transparent 2px,transparent 5px)}
.aska-user-calendar-booking-status{margin:0}
.aska-user-area .aska-calendar-day.is-closure{background:repeating-linear-gradient(135deg,var(--aska-surface-soft,#f7f6f3) 0,var(--aska-surface-soft,#f7f6f3) 8px,var(--aska-line,#e2e0db) 8px,var(--aska-line,#e2e0db) 10px)}
.aska-user-calendar-closure{display:inline-flex;margin:.45rem 0 0;padding:.18rem .4rem;border-radius:999px;background:var(--aska-ink,#161616);color:#fff;font-size:.68rem;font-weight:750;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.aska-user-recovery-day-marker{position:absolute;top:.42rem;right:.42rem;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;padding:0!important;border-radius:999px!important;border:2px solid #fff!important;background:#fff!important;box-shadow:0 0 0 1px currentColor;cursor:pointer;z-index:2}
.aska-user-recovery-day-marker span{display:block;width:100%;height:100%;border-radius:inherit;background:currentColor}
.aska-user-recovery-day-marker.is-available{color:var(--aska-success,#236b46)}
.aska-user-recovery-day-marker.is-full{color:var(--aska-error,#a43838)}
.aska-user-recovery-day-marker.is-checking{color:var(--aska-muted-ui,#737373);animation:aska-user-calendar-pulse .85s ease-in-out infinite alternate}
@keyframes aska-user-calendar-pulse{from{opacity:.35}to{opacity:1}}
.aska-user-calendar-booking-dialog{width:min(680px,94vw)}
.aska-user-calendar-booking-summary{display:grid;gap:.2rem;margin:.25rem 0 1rem;padding:.8rem .9rem;border:1px solid var(--aska-line,#e2e0db);border-radius:12px;background:var(--aska-surface-soft,#f7f6f3)}
.aska-user-calendar-booking-summary strong{font-size:1.05rem}
.aska-user-calendar-booking-summary span{color:var(--aska-ink-soft,#3f3f3f);font-size:.9rem;text-transform:capitalize}
.aska-user-calendar-book-form{grid-template-columns:1fr}
.aska-user-calendar-lesson-options{display:grid!important;grid-template-columns:1fr!important;gap:.55rem!important;margin:0!important;padding:0!important;border:0!important}
.aska-user-calendar-lesson-options legend{margin:0 0 .15rem;color:var(--aska-ink,#161616);font-size:.82rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase}
.aska-user-calendar-lesson-list{display:grid;gap:.5rem}
.aska-user-calendar-lesson-choice{display:flex!important;align-items:center!important;gap:.7rem!important;min-height:58px;padding:.7rem .8rem;border:1px solid var(--aska-line,#e2e0db);border-radius:11px;background:#fff;color:var(--aska-ink,#161616)!important;font-size:.92rem!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.aska-user-calendar-lesson-choice input{flex:0 0 auto;width:auto!important;min-height:0!important;margin:0!important}
.aska-user-calendar-lesson-choice>span{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;width:100%}
.aska-user-calendar-lesson-choice strong{font-size:1rem}
.aska-user-calendar-lesson-choice small{color:var(--aska-muted-ui,#737373);font-weight:600}
.aska-user-calendar-lesson-choice.is-full{opacity:.62;cursor:not-allowed;background:var(--aska-surface-soft,#f7f6f3)}
.aska-user-calendar-modal-token-label{display:grid!important;gap:.35rem!important}
.aska-user-calendar-booking-conflict{margin:0}
.aska-user-calendar-book-submit{justify-self:start;min-width:220px}
@media(max-width:760px){
  .aska-user-calendar-booking-selects{grid-template-columns:1fr}
  .aska-user-calendar-booking-tools{padding:.8rem}
  .aska-user-calendar-recovery-key{gap:.65rem}
  .aska-user-recovery-day-marker{top:.25rem;right:.25rem;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important}
  .aska-user-calendar-closure{margin-top:.3rem;padding:.15rem .28rem;font-size:.56rem}
  .aska-user-calendar-lesson-choice>span{display:grid;gap:.1rem}
  .aska-user-calendar-book-submit{width:100%;min-width:0}
}

/* User recovery guidance 1.9.34 */
.aska-user-area .aska-user-recovery-help{
  display:grid;
  gap:.42rem;
  margin:.8rem 0 1rem;
  padding:.85rem 1rem;
  border:1px solid var(--aska-line,#e2e0db);
  border-radius:var(--aska-radius,12px);
  background:#fff;
}
.aska-user-area .aska-user-recovery-help>strong{font-size:1rem}
.aska-user-area .aska-user-recovery-help p{margin:0;color:var(--aska-ink-soft,#3f3f3f);font-size:.9rem;line-height:1.45}
.aska-user-area .aska-user-calendar-booking-callout{
  padding:.7rem .85rem;
  border:2px solid #8bc7a2;
  border-radius:10px;
  background:#dff4e7;
  color:#174e31;
  text-align:center;
  font-size:1rem;
}
.aska-user-area .aska-user-booked-lesson-dialog{
  width:min(460px,calc(100vw - 32px));
  max-width:460px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--aska-line,#e2e0db);
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.aska-user-area .aska-user-booked-lesson-dialog::backdrop{background:rgba(0,0,0,.52)}
.aska-user-area .aska-user-booked-lesson-dialog .aska-dialog-head{
  gap:1rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--aska-line,#e2e0db);
  background:var(--aska-surface-soft,#f7f6f3);
}
.aska-user-area .aska-user-booked-lesson-dialog .aska-dialog-head h3{
  margin:0;
  font-size:1.18rem;
  line-height:1.2;
}
.aska-user-area .aska-user-booked-lesson-dialog .aska-dialog-head .aska-close-dialog{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  width:38px;
  min-height:38px;
  padding:0;
  border:1px solid var(--aska-line,#e2e0db);
  border-radius:999px;
  background:#fff;
  color:var(--aska-ink,#161616);
  font-size:1.35rem;
  line-height:1;
}
.aska-user-area .aska-user-booked-lesson-body{padding:1.15rem}
.aska-user-area .aska-user-booked-lesson-body>p{margin:0 0 1rem;font-size:1rem;line-height:1.5;color:var(--aska-ink,#161616)}
.aska-user-area .aska-user-booked-lesson-dialog .aska-form-actions{margin:0}
.aska-user-area .aska-user-booked-lesson-dialog .aska-form-actions .aska-primary-action{min-width:120px}
@media(max-width:480px){
  .aska-user-area .aska-user-booked-lesson-dialog{width:calc(100vw - 24px)}
  .aska-user-area .aska-user-booked-lesson-dialog .aska-form-actions .aska-primary-action{width:100%}
}

/* User recovery calendar simplification 1.9.23 */
.aska-user-area .aska-user-calendar-booking-tools{
  gap:.65rem;
  padding:.85rem;
  margin-bottom:.8rem;
}
.aska-user-area .aska-user-calendar-booking-selects{
  gap:.65rem;
}
.aska-user-area .aska-user-calendar-recovery-key{
  gap:.7rem;
  font-size:.76rem;
}
.aska-user-area .aska-user-calendar-recovery-key i{
  width:12px;
  height:12px;
  border-radius:3px;
  border:1px solid rgba(0,0,0,.12);
}
.aska-user-area .aska-user-calendar-recovery-key i.is-available{background:#dff4e7;color:#dff4e7}
.aska-user-area .aska-user-calendar-recovery-key i.is-full{background:#f9dddd;color:#f9dddd}
.aska-user-area .aska-user-calendar-recovery-key i.is-booked{background:#dcefff;color:#dcefff}
.aska-user-area .aska-user-calendar-recovery-key i.is-closure{
  color:#8d8d8d;
  background:repeating-linear-gradient(135deg,#eceae5 0,#eceae5 4px,#d8d5ce 4px,#d8d5ce 6px);
}
.aska-user-area .aska-user-calendar-month-region[hidden]{display:none!important}
.aska-user-area .aska-user-calendar-month-region .aska-user-section{overflow-x:auto}
.aska-user-area .aska-user-calendar{min-width:700px}
.aska-user-area .aska-user-calendar .aska-calendar-day{
  transition:background-color .12s ease,border-color .12s ease;
}
.aska-user-area .aska-user-calendar .aska-calendar-day.is-recovery-checking{background:#f4f3f0}
.aska-user-area .aska-user-calendar .aska-calendar-day.is-recovery-available{
  background:#dff4e7;
  border-color:#b7ddc6;
}
.aska-user-area .aska-user-calendar .aska-calendar-day.is-recovery-full{
  background:#f9dddd;
  border-color:#e9b9b9;
}
.aska-user-area .aska-user-calendar .aska-calendar-day.is-closure{
  background:repeating-linear-gradient(135deg,#f2f1ee 0,#f2f1ee 8px,#dfddd7 8px,#dfddd7 10px);
}
.aska-user-area .aska-user-calendar .aska-calendar-day-number,
.aska-user-area .aska-user-calendar .aska-user-calendar-closure{
  position:relative;
  z-index:2;
  pointer-events:none;
}
.aska-user-area .aska-user-recovery-day-marker{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:transparent!important;
  cursor:pointer;
}
.aska-user-area .aska-user-recovery-day-marker:focus-visible{
  outline:3px solid #17161a;
  outline-offset:-3px;
}
.aska-user-area .aska-user-calendar-events{
  position:relative;
  z-index:2;
}
.aska-user-area .aska-user-calendar-event{
  width:100%;
  min-width:0;
  padding:.42rem .48rem;
  overflow:visible;
  border-color:#9fc9e6!important;
  background:#dcefff!important;
  color:#17384f!important;
  white-space:normal;
}
.aska-user-area .aska-user-calendar-event span{
  display:block;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.aska-user-area .aska-user-calendar-event strong{white-space:nowrap}
.aska-user-area .aska-user-go-recoveries{white-space:nowrap}

@media(max-width:760px){
  .aska-user-area .aska-user-calendar{min-width:700px}
  .aska-user-area .aska-user-calendar-event{padding:.34rem .4rem;font-size:.72rem;text-align:left}
  .aska-user-area .aska-user-calendar-event span{display:block}
  .aska-user-area .aska-user-calendar-booking-tools{padding:.7rem}
}


/* 1.9.25 - administrative table actions below row data */
.aska-table td{overflow-wrap:anywhere}
.aska-has-row-actions td{border-bottom:0;padding-bottom:.42rem}
.aska-row-actions-tr>td{
  padding:.18rem .65rem .72rem;
  border-bottom:1px solid var(--aska-line);
  background:#fbfaf8;
}
.aska-row-actions{
  display:flex;
  align-items:center;
  gap:.42rem;
  flex-wrap:wrap;
  min-width:0;
}
.aska-row-actions .aska-customer-actions,
.aska-row-actions.aska-customer-actions,
.aska-row-actions .aska-token-row-actions,
.aska-row-actions.aska-token-row-actions{min-width:0}
.aska-row-actions>.aska-ajax-form,
.aska-row-actions .aska-token-row-actions>.aska-ajax-form{
  display:inline-flex;
  width:auto;
  min-width:0;
  margin:0;
  padding:0;
  grid-template-columns:1fr;
  gap:0;
  background:transparent;
  border:0;
}
.aska-row-actions>.aska-ajax-form .aska-form-message:empty{display:none}
.aska-row-actions button,.aska-row-actions .aska-button-link,.aska-row-actions>a{white-space:normal}
.aska-row-actions .aska-calendar-row-actions{min-width:0;width:100%}
.aska-dashboard-resume-table td:last-child{white-space:normal}
[data-aska-page-companion][hidden]{display:none!important}
@media(min-width:761px){
  .aska-table th,.aska-table td{padding-left:.68rem;padding-right:.68rem}
}
