.deg-booking-wrapper {
  --deg-booking-accent: #743559;
  border: 1px solid #e5dfe6;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  max-width: 1120px;
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.05);
}

.deg-booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  gap: 28px;
  align-items: start;
}

.deg-booking-column {
  min-width: 0;
}

.deg-booking-column--info,
.deg-booking-column--form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.deg-booking-summary,
.deg-booking-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.deg-booking-media {
  border-radius: 16px;
  overflow: hidden;
  background: #f7f4f6;
}

.deg-booking-media img {
  display: block;
  width: 100%;
  height: auto;
}

.deg-booking-title,
.deg-booking-form-title,
.deg-booking-section-title {
  color: var(--deg-booking-accent);
}

.deg-booking-title,
.deg-booking-form-title {
  margin: 0;
  line-height: 1.2;
}

.deg-booking-title {
  font-size: 1.9rem;
}

.deg-booking-form-title {
  font-size: 1.45rem;
}

.deg-booking-price {
  margin: 0;
  font-size: 1.05rem;
}

.deg-booking-box {
  border: 1px solid #eee6ed;
  border-radius: 14px;
  padding: 16px 18px;
  background: #faf8fa;
  margin: 0;
}

.deg-booking-box h4 {
  margin: 0 0 8px;
}

.deg-booking-box p {
  margin: 0;
}

.deg-booking-form {
  border: 1px solid #eee6ed;
  border-radius: 18px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
}

.deg-booking-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

.deg-booking-form input,
.deg-booking-form select,
.deg-booking-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-sizing: border-box;
  background: #fff;
}

.deg-booking-form input:focus,
.deg-booking-form select:focus,
.deg-booking-form textarea:focus {
  outline: none;
  border-color: var(--deg-booking-accent);
  box-shadow: 0 0 0 3px rgba(116, 53, 89, 0.12);
}

.deg-booking-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.deg-booking-grid p,
.deg-booking-form p {
  margin: 0;
}

.deg-booking-total {
  margin: 4px 0 0;
  font-size: 1.08em;
}

.deg-booking-total-amount {
  color: var(--deg-booking-accent);
}

.deg-booking-message {
  margin-top: 6px;
  padding: 12px;
  border-radius: 10px;
  display: none;
}

.deg-booking-message.is-success { background: #ecfdf3; color: #027a48; display: block; }
.deg-booking-message.is-error { background: #fef3f2; color: #b42318; display: block; }

.deg-booking-paypal { margin-top: 10px; }

.deg-booking-consents {
  margin: 4px 0;
  display: grid;
  gap: 12px;
}

.deg-booking-check {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  font-weight: 400 !important;
}

.deg-booking-check input {
  width: auto;
  margin-top: 4px;
}

.deg-booking-check a {
  color: var(--deg-booking-accent);
}

.deg-booking-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.deg-booking-submit.button,
.deg-booking-submit.button.button-primary {
  background: var(--deg-booking-accent);
  border-color: var(--deg-booking-accent);
}

.deg-booking-submit.button:hover,
.deg-booking-submit.button.button-primary:hover,
.deg-booking-submit.button:focus,
.deg-booking-submit.button.button-primary:focus {
  background: #622c4b;
  border-color: #622c4b;
}

@media (max-width: 900px) {
  .deg-booking-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .deg-booking-wrapper {
    padding: 18px;
    border-radius: 14px;
  }

  .deg-booking-form {
    padding: 18px;
  }

  .deg-booking-grid {
    grid-template-columns: 1fr;
  }

  .deg-booking-title {
    font-size: 1.6rem;
  }
}


.deg-booking-date-input,
.deg-booking-form .flatpickr-input {
  background-image: linear-gradient(transparent, transparent);
}

.deg-booking-form .flatpickr-input[readonly] {
  cursor: pointer;
  background-color: #fff;
}

.flatpickr-calendar {
  border-radius: 16px;
  box-shadow: 0 16px 32px rgba(17, 24, 39, 0.12);
  border: 1px solid #eadfe7;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #743559;
  border-color: #743559;
}

.flatpickr-day.today {
  border-color: #743559;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-weekday,
.flatpickr-current-month input.cur-year {
  color: #743559;
}


.deg-booking-field-hint {
  display: block;
  margin-top: 6px;
  font-size: 0.9rem;
  color: #6b7280;
}

.deg-booking-form input[disabled] {
  background: #f5f5f5;
  color: #6b7280;
  cursor: not-allowed;
}


.deg-booking-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1fr);gap:32px}.deg-booking-info-card,.deg-booking-form-card{background:#fff;border:1px solid #e7e1e8;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.04)}.deg-booking-title,.deg-booking-section h3{color:#743559}.deg-booking-cover img{display:block;width:100%;height:auto;border-radius:14px;margin-bottom:18px}.deg-booking-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.deg-booking-highlight{padding:14px;border-radius:14px;background:#faf7fa;border:1px solid #eee}.deg-booking-highlight strong{display:block;color:#743559;margin-bottom:4px}.deg-booking-section{margin-top:22px}.deg-booking-includes{margin:0;padding-left:18px}.deg-booking-note-box{background:#faf7fa;padding:16px;border:1px solid #eee;border-radius:14px}.deg-form-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.deg-form-row{margin-bottom:18px}.deg-form-row label{display:block;font-weight:600;margin-bottom:8px}.deg-form-row input[type=text],.deg-form-row input[type=email],.deg-form-row textarea,.deg-form-row select{width:100%;padding:12px 14px;border:1px solid #d9d1db;border-radius:12px;background:#fff}.deg-radio-group{display:flex;gap:20px;flex-wrap:wrap}.deg-radio-group label,.deg-checkbox-row label,.deg-gift-toggle label{display:flex;gap:10px;align-items:center;justify-content:flex-start;font-weight:400;text-align:left;width:100%}.deg-radio-group input,.deg-checkbox-row input,.deg-gift-toggle input{margin:0;flex:0 0 auto}.deg-slot-list{display:grid;gap:10px}.deg-slot-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;border:1px solid #d9d1db;border-radius:12px;background:#fff;cursor:pointer}.deg-slot-option.is-selected{border-color:#743559;box-shadow:0 0 0 2px rgba(116,53,89,.12)}.deg-slot-option.is-disabled{opacity:.45;cursor:not-allowed}.deg-inline-help{margin-bottom:10px;color:#6f6f6f}.deg-summary-box{padding:16px;border-radius:14px;background:#faf7fa;border:1px solid #eee;margin-bottom:18px}.deg-summary-breakdown{margin-top:6px;color:#6c6370}.deg-form-status{margin-bottom:16px;padding:12px 14px;border-radius:12px;display:none}.deg-form-status.is-error,.deg-form-status.is-success{display:block}.deg-form-status.is-error{background:#fff3f3;color:#a32020;border:1px solid #f1c7c7}.deg-form-status.is-success{background:#f3fff6;color:#1f6b37;border:1px solid #cce7d3}.deg-booking-submit-area{margin-top:12px}.deg-paypal-button-wrap{min-height:44px}.deg-gift-fields{margin-bottom:12px;padding:16px;border:1px dashed #d7ccd8;border-radius:14px;background:#fcfafc}@media(max-width:960px){.deg-booking-grid,.deg-form-two-cols,.deg-booking-highlights{grid-template-columns:1fr}}


.deg-booking-list-wrapper{display:grid;gap:24px;margin:24px 0}.deg-booking-list-columns-1{grid-template-columns:1fr}.deg-booking-list-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.deg-booking-list-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.deg-booking-list-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.deg-booking-list-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e1e8;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.04)}.deg-booking-list-card-image img{display:block;width:100%;height:240px;object-fit:cover}.deg-booking-list-card-body{padding:22px}.deg-booking-list-card-title{margin:0 0 12px;color:#743559;font-size:1.3rem}.deg-booking-list-card-title a{color:inherit;text-decoration:none}.deg-booking-list-card-meta{display:grid;gap:8px;margin-bottom:14px;color:#5f5661}.deg-booking-list-card-text{color:#3c353e;margin-bottom:18px}.deg-booking-list-card-actions{margin-top:auto}.deg-booking-list-button{display:inline-block;padding:12px 18px;border-radius:12px;background:#743559;color:#fff;text-decoration:none;font-weight:600}.deg-booking-list-button:hover{opacity:.92;color:#fff}@media(max-width:1100px){.deg-booking-list-columns-4,.deg-booking-list-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.deg-booking-list-columns-4,.deg-booking-list-columns-3,.deg-booking-list-columns-2{grid-template-columns:1fr}}


.deg-client-portal,.deg-client-portal-login{max-width:1200px;margin:32px auto}.deg-client-portal-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.deg-client-portal-header h2{margin:0 0 8px;color:#743559}.deg-client-portal-user{padding:10px 14px;background:#f5eff4;border-radius:12px;color:#743559;font-weight:600}.deg-client-portal-notice{margin:16px 0;padding:14px 16px;background:#eff8f1;border:1px solid #bddcc6;border-radius:12px}.deg-client-portal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.deg-client-portal-nav a{padding:12px 16px;border-radius:12px;background:#f7f4f7;color:#743559;text-decoration:none;font-weight:600}.deg-client-portal-nav a.is-active{background:#743559;color:#fff}.deg-client-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.deg-client-portal-card{background:#fff;border:1px solid #e8e0e8;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.04)}.deg-client-portal-inline-filter{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.deg-client-portal-inline-filter label,.deg-client-portal-form-grid label{display:flex;flex-direction:column;gap:6px}.deg-client-portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.deg-client-portal-full{grid-column:1/-1}.deg-client-portal-form-grid input,.deg-client-portal-form-grid select,.deg-client-portal-form-grid textarea,.deg-client-portal-inline-filter input{border:1px solid #d9ced9;border-radius:12px;padding:12px 14px}.deg-client-slot-card.is-closed{opacity:.85;background:#fcf8f9}.deg-client-slot-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.deg-client-slot-meta{display:grid;gap:6px;color:#5a505a;margin-bottom:14px}.deg-client-portal-actions{margin-bottom:8px}.deg-client-portal-secondary-button,.deg-client-portal-danger-button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer}.deg-client-portal-secondary-button{background:#f2ebf1;color:#743559}.deg-client-portal-danger-button{background:#fce8e8;color:#8e2a2a}.deg-client-portal-details summary{cursor:pointer;font-weight:600;color:#743559}.deg-client-booking-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee;align-items:center}.deg-client-booking-item:last-child{border-bottom:0}.deg-client-portal-table{width:100%;border-collapse:collapse}.deg-client-portal-table th,.deg-client-portal-table td{padding:12px 10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.deg-client-portal-badge{display:inline-block;margin:8px 0;padding:6px 10px;border-radius:999px;background:#f4e6ea;color:#743559;font-size:.9rem}.deg-client-portal-inline-check{flex-direction:row!important;align-items:center;gap:10px}.deg-client-portal-login form{display:grid;gap:12px;max-width:420px;padding:24px;background:#fff;border:1px solid #e8e0e8;border-radius:18px}.deg-client-portal-login label{display:flex;flex-direction:column;gap:6px}.deg-client-portal-login input[type=text],.deg-client-portal-login input[type=password]{border:1px solid #d9ced9;border-radius:12px;padding:12px 14px}.deg-client-portal-login .button{background:#743559;border-color:#743559;color:#fff;border-radius:12px;padding:10px 16px}.deg-client-portal-login h2{color:#743559}@media(max-width:900px){.deg-client-portal-grid,.deg-client-portal-form-grid{grid-template-columns:1fr}.deg-client-portal-header{flex-direction:column}.deg-client-slot-head,.deg-client-booking-item{flex-direction:column;align-items:flex-start}.deg-client-portal-table{display:block;overflow:auto}}

.deg-client-portal-shell{padding:24px 16px}.deg-client-portal-user a{display:inline-block;margin-left:12px;color:#743559;text-decoration:none;font-weight:700}

.deg-client-calendar-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.deg-client-calendar-toolbar__left,.deg-client-calendar-toolbar__right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.deg-client-calendar-toolbar__right a{padding:10px 14px;border-radius:10px;background:#f2ebf1;color:#743559;text-decoration:none;font-weight:600}.deg-client-calendar-toolbar__right a.is-active{background:#743559;color:#fff}.deg-client-calendar-toolbar input[type=date]{border:1px solid #d9ced9;border-radius:10px;padding:10px 12px}.deg-client-gcal{background:#fff;border:1px solid #e8e0e8;border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.04)}.deg-client-gcal__header{display:grid;grid-template-columns:80px repeat(7,minmax(140px,1fr));border-bottom:1px solid #eee;background:#fcfafc}.deg-client-gcal__timehead{border-right:1px solid #eee}.deg-client-gcal__dayhead{padding:14px 12px;text-align:center;border-right:1px solid #eee;display:flex;flex-direction:column;gap:3px}.deg-client-gcal__dayhead.is-today{background:#f5eff4;color:#743559}.deg-client-gcal__body{display:grid;grid-template-columns:80px repeat(7,minmax(140px,1fr));min-height:var(--deg-hours-height)}.deg-client-gcal__times{border-right:1px solid #eee;background:#fcfafc}.deg-client-gcal__time{height:72px;padding:0 10px;display:flex;align-items:flex-start;justify-content:flex-end;color:#8a7d87;font-size:12px;transform:translateY(-8px)}.deg-client-gcal__daycol{position:relative;border-right:1px solid #f0ebf0;min-height:var(--deg-hours-height);background:linear-gradient(to bottom,#fff 0,#fff 100%)}.deg-client-gcal__daycol.is-today{background:#fdfafd}.deg-client-gcal__hourline{height:72px;border-bottom:1px solid #f2eef2}.deg-client-gcal__empty{position:absolute;top:18px;left:12px;font-size:12px;color:#9a8d97}.deg-client-gcal__event{position:absolute;left:8px;right:8px;border-radius:14px;padding:10px 12px;background:#efe2ea;border-left:4px solid #743559;color:#4e3142;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 18px rgba(116,53,89,.08);overflow:hidden}.deg-client-gcal__event.is-closed{background:#f8eef0;border-left-color:#aa667f;opacity:.92}.deg-client-gcal__event strong{font-size:13px;line-height:1.2}.deg-client-gcal__event span{font-size:12px;line-height:1.25}.deg-client-gcal__event-actions{margin-top:auto;padding-top:4px}.deg-client-gcal__event-actions button{border:0;background:rgba(255,255,255,.7);border-radius:8px;padding:6px 8px;font-size:12px;color:#743559;cursor:pointer}@media(max-width:1200px){.deg-client-gcal{overflow:auto}.deg-client-gcal__header,.deg-client-gcal__body{min-width:980px}}@media(max-width:900px){.deg-client-calendar-toolbar{flex-direction:column;align-items:flex-start}}
.deg-client-gcal--day .deg-client-gcal__header,.deg-client-gcal--day .deg-client-gcal__body{grid-template-columns:80px minmax(220px,1fr)}

.deg-client-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.deg-client-month-cell{background:#fff;border:1px solid #e7ddea;border-radius:16px;padding:12px;min-height:140px;display:flex;flex-direction:column;gap:8px}.deg-client-month-cell.is-muted{opacity:.55}.deg-client-month-cell.is-today{border-color:#743559;box-shadow:0 0 0 2px rgba(116,53,89,.12)}.deg-client-month-event{display:block;background:#f6eff3;border-left:3px solid #743559;border-radius:10px;padding:6px 8px;font-size:12px;line-height:1.3}.deg-client-month-event.is-closed{background:#f8e9e9;border-left-color:#b42318}.deg-client-portal-filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
@media (max-width: 900px){.deg-client-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.deg-client-gcal__slot{position:absolute;left:8px;right:8px;background:#faf7f8;border:1px dashed #d7c4cf;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:4px;color:#743559;opacity:.95}.deg-client-gcal__slot.is-closed{background:#f9ecec;border-color:#d8a9a9}.deg-client-gcal__booking{position:absolute;border:0;background:#743559;color:#fff;border-radius:12px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 20px rgba(116,53,89,.18);cursor:pointer;overflow:hidden}.deg-client-gcal__booking span,.deg-client-gcal__booking small{color:rgba(255,255,255,.9)}.deg-client-month-event{border:0;text-align:left;cursor:pointer}.deg-client-booking-modal[hidden]{display:none}.deg-client-booking-modal{position:fixed;inset:0;z-index:99999}.deg-client-booking-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.deg-client-booking-modal__dialog{position:relative;max-width:640px;margin:7vh auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.22)}.deg-client-booking-modal__close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:28px;cursor:pointer}.deg-client-booking-modal__content p{margin:0 0 10px}


.deg-gift-toggle {
  margin-bottom: 22px;
}

.deg-gift-toggle label {
  display: block;
  width: 100%;
  padding: 16px 18px;
  border: 1px solid #e5d6df;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #faf6f9 100%);
  box-shadow: 0 10px 24px rgba(116, 53, 89, 0.06);
  cursor: pointer;
  font-weight: 600;
  color: #743559;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}

.deg-gift-toggle label:hover {
  border-color: #743559;
  box-shadow: 0 14px 28px rgba(116, 53, 89, 0.12);
  transform: translateY(-1px);
}

.deg-gift-toggle input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #743559;
  border-radius: 6px;
  vertical-align: middle;
  margin-right: 10px;
  position: relative;
  top: -1px;
  background: #fff;
}

.deg-gift-toggle input[type="checkbox"]:checked {
  background: #743559;
}

.deg-gift-toggle input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.deg-gift-toggle input[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(116, 53, 89, 0.15);
}

.deg-gift-fields {
  background: #fcf8fb;
  border: 1px solid #eadce5;
}

.deg-voucher-notice {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid #e6d8df;
  border-left: 4px solid #743559;
  border-radius: 12px;
  background: #fcf8fb;
  color: #4a3040;
}

.deg-redeem-button {
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: #743559;
  color: #fff;
  font-weight: 700;
  padding: 14px 18px;
  cursor: pointer;
}

/* CRM refresh v0.13.2 */
:root {
  --deg-crm-bg: #f4f7fb;
  --deg-crm-surface: #ffffff;
  --deg-crm-surface-2: #f9fafc;
  --deg-crm-border: #dbe4ee;
  --deg-crm-text: #182230;
  --deg-crm-muted: #667085;
  --deg-crm-accent: #743559;
  --deg-crm-accent-soft: #f7f0f4;
  --deg-crm-shadow: 0 12px 32px rgba(16,24,40,.08);
  --deg-crm-radius: 18px;
}
body.deg-client-portal-page {
  background: linear-gradient(180deg,#f7f9fc 0%, #eef2f7 100%);
  color: var(--deg-crm-text);
}
.deg-client-portal-shell {
  padding: 28px 18px;
}
.deg-client-portal,
.deg-client-portal-login {
  max-width: 1320px;
  margin: 0 auto;
}
.deg-client-portal-header {
  background: linear-gradient(135deg,#ffffff 0%,#f8faff 100%);
  border: 1px solid var(--deg-crm-border);
  border-radius: 24px;
  box-shadow: var(--deg-crm-shadow);
  padding: 24px;
  margin-bottom: 18px;
}
.deg-client-portal-header h2 {
  margin: 0 0 8px;
  color: var(--deg-crm-text);
  font-size: 28px;
}
.deg-client-portal-header p,
.deg-client-portal-notice,
.deg-client-slot-meta,
.deg-client-portal-table td,
.deg-client-booking-modal__content p {
  color: var(--deg-crm-muted);
}
.deg-client-portal-user {
  padding: 12px 16px;
  background: var(--deg-crm-accent-soft);
  border: 1px solid #eadbe4;
  border-radius: 16px;
  color: var(--deg-crm-accent);
  font-weight: 700;
}
.deg-client-portal-user a {
  color: var(--deg-crm-accent);
}
.deg-client-portal-notice {
  margin: 0 0 18px;
  padding: 14px 16px;
  background: #eff8ff;
  border: 1px solid #cfe6ff;
  border-radius: 14px;
}
.deg-client-portal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
  padding: 8px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--deg-crm-border);
  border-radius: 18px;
  box-shadow: var(--deg-crm-shadow);
  backdrop-filter: blur(8px);
}
.deg-client-portal-nav a {
  padding: 12px 16px;
  border-radius: 14px;
  background: transparent;
  color: var(--deg-crm-muted);
  text-decoration: none;
  font-weight: 700;
}
.deg-client-portal-nav a.is-active,
.deg-client-portal-nav a:hover {
  background: var(--deg-crm-accent);
  color: #fff;
}
.deg-client-portal-grid {
  gap: 18px;
}
.deg-client-portal-card,
.deg-client-calendar-toolbar.deg-client-portal-card,
.deg-client-month-cell,
.deg-client-portal-login form,
.deg-booking-wrapper,
.deg-booking-form,
.deg-booking-box {
  background: var(--deg-crm-surface) !important;
  border: 1px solid var(--deg-crm-border) !important;
  border-radius: var(--deg-crm-radius) !important;
  box-shadow: var(--deg-crm-shadow);
}
.deg-client-portal-card,
.deg-client-calendar-toolbar.deg-client-portal-card {
  padding: 20px;
}
.deg-client-portal-card h3,
.deg-client-portal-card h4,
.deg-booking-title,
.deg-booking-form-title,
.deg-booking-section-title {
  color: var(--deg-crm-text);
}
.deg-client-portal-inline-filter label,
.deg-client-portal-form-grid label,
.deg-booking-form label {
  color: var(--deg-crm-text);
  font-weight: 600;
}
.deg-client-portal-form-grid input,
.deg-client-portal-form-grid select,
.deg-client-portal-form-grid textarea,
.deg-client-portal-inline-filter input,
.deg-booking-form input,
.deg-booking-form select,
.deg-booking-form textarea,
.deg-client-portal-login input[type=text],
.deg-client-portal-login input[type=password] {
  border: 1px solid var(--deg-crm-border) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  background: #fff;
  min-height: 44px;
}
.deg-client-portal-form-grid input:focus,
.deg-client-portal-form-grid select:focus,
.deg-client-portal-form-grid textarea:focus,
.deg-booking-form input:focus,
.deg-booking-form select:focus,
.deg-booking-form textarea:focus,
.deg-client-portal-login input[type=text]:focus,
.deg-client-portal-login input[type=password]:focus {
  border-color: var(--deg-crm-accent) !important;
  box-shadow: 0 0 0 4px rgba(116,53,89,.10) !important;
  outline: none;
}
.deg-booking-wrapper {
  background: linear-gradient(180deg,#fff 0%,#fbfcff 100%);
  max-width: 1280px;
}
.deg-booking-form,
.deg-booking-box {
  background: #fff;
}
.deg-booking-layout {
  gap: 22px;
}
.deg-booking-price {
  color: var(--deg-crm-accent);
  font-weight: 700;
}
.deg-booking-submit.button,
.deg-booking-submit.button.button-primary,
.deg-booking-list-button,
.deg-client-portal-login .button,
.deg-client-portal .button-primary,
.deg-client-portal-secondary-button {
  border-radius: 12px !important;
  padding: 11px 16px !important;
  text-decoration: none;
}
.deg-booking-submit.button,
.deg-booking-submit.button.button-primary,
.deg-booking-list-button,
.deg-client-portal-login .button,
.deg-client-portal .button-primary {
  background: var(--deg-crm-accent) !important;
  border-color: var(--deg-crm-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(116,53,89,.18);
}
.deg-client-portal-secondary-button {
  background: #fff !important;
  color: var(--deg-crm-text) !important;
  border: 1px solid var(--deg-crm-border) !important;
}
.deg-client-portal-danger-button {
  background: #fff1f2 !important;
  color: #b42318 !important;
  border: 1px solid #fecdd3 !important;
  border-radius: 12px !important;
}
.deg-client-portal-table {
  border: 1px solid var(--deg-crm-border);
  border-radius: 16px;
  overflow: hidden;
}
.deg-client-portal-table th {
  background: #f8fafc;
  color: var(--deg-crm-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
}
.deg-client-portal-table tr:hover td {
  background: #f8fafc;
}
.deg-client-gcal,
.deg-client-month-cell,
.deg-client-booking-modal__dialog {
  border-radius: 20px;
  border-color: var(--deg-crm-border);
  box-shadow: var(--deg-crm-shadow);
}
.deg-client-gcal__header,
.deg-client-gcal__timehead,
.deg-client-gcal__dayhead,
.deg-client-gcal__time {
  background: #fbfcfe;
}
.deg-client-gcal__dayhead {
  border-left-color: var(--deg-crm-border);
}
.deg-client-gcal__dayhead.is-today,
.deg-client-month-cell.is-today {
  background: #f8f0f5;
  border-color: #dcc4d1;
  box-shadow: 0 0 0 2px rgba(116,53,89,.08);
}
.deg-client-gcal__hourline,
.deg-client-gcal__daycol,
.deg-client-gcal__time {
  border-color: #edf1f6;
}
.deg-client-gcal__booking,
.deg-client-month-event {
  background: linear-gradient(180deg,#8b476e 0%,#743559 100%) !important;
  border-left: 0 !important;
  color: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(116,53,89,.20);
}
.deg-client-gcal__slot {
  background: #f8fafc;
  border: 1px dashed #c9d5e3;
  border-radius: 14px;
}
.deg-client-gcal__slot.is-closed {
  background: #fff1f2;
  border-color: #fecdd3;
}
.deg-client-booking-modal__dialog {
  background: #fff;
  padding: 24px;
}
.deg-gift-toggle {
  background: linear-gradient(135deg,#fff 0%,#fbf6f9 100%);
  border: 1px solid #e7d9e1;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 18px rgba(116,53,89,.08);
}
.deg-gift-toggle label {
  color: var(--deg-crm-accent);
  font-weight: 700;
}
@media (max-width: 960px) {
  .deg-client-portal-header {
    padding: 20px;
  }
  .deg-client-portal-nav {
    padding: 6px;
  }
}

/* Client portal management refresh v0.13.3 */
.deg-client-portal-page{background:#f4f6f9;min-height:100vh;color:#172033}.deg-client-portal-shell{max-width:1480px;margin:0 auto;padding:28px 18px 60px}.deg-client-management-app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.deg-client-management-hero{background:linear-gradient(135deg,#172033 0%,#293855 52%,#6b4f2a 100%);color:#fff;border-radius:28px;padding:32px;box-shadow:0 24px 60px rgba(23,32,51,.18);border:0}.deg-client-management-hero h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.04em;margin:.2em 0}.deg-client-management-hero p{color:rgba(255,255,255,.82);font-size:16px}.deg-client-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:800;color:#f4d29c}.deg-client-portal-user{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:12px 14px;backdrop-filter:blur(14px)}.deg-client-portal-user a{color:#fff;text-decoration:underline;text-underline-offset:3px}.deg-client-management-nav{position:sticky;top:12px;z-index:20;display:flex;gap:8px;flex-wrap:nowrap;overflow:auto;margin:18px 0;padding:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border:1px solid rgba(23,32,51,.08);border-radius:22px;box-shadow:0 14px 40px rgba(23,32,51,.08)}.deg-client-management-nav a{white-space:nowrap;border-radius:16px;padding:11px 14px;font-size:14px;font-weight:800;color:#465169;text-decoration:none}.deg-client-management-nav a.is-active,.deg-client-management-nav a:hover{background:#172033;color:#fff}.deg-client-management-nav .deg-client-nav-cta{margin-left:auto;background:#8a6238;color:#fff}.deg-client-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:18px 0}.deg-client-stat-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid rgba(23,32,51,.08);border-radius:22px;padding:20px;box-shadow:0 18px 45px rgba(23,32,51,.08)}.deg-client-stat-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#f5efe7;font-size:21px}.deg-client-stat-card small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#69758d}.deg-client-stat-card strong{display:block;font-size:25px;line-height:1.1;letter-spacing:-.03em;color:#172033;margin-top:3px}.deg-client-stat-card em{display:block;font-style:normal;font-size:12px;color:#7d8798;margin-top:5px}.deg-client-management-card{border-radius:24px;border:1px solid rgba(23,32,51,.08);box-shadow:0 18px 45px rgba(23,32,51,.07);overflow:hidden}.deg-client-dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px}.deg-client-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.deg-client-card-head h3{margin:0;font-size:20px;letter-spacing:-.02em}.deg-client-card-head a{font-weight:800;text-decoration:none}.deg-client-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid rgba(23,32,51,.08)}.deg-client-list-row:last-child{border-bottom:0}.deg-client-list-row strong{display:block}.deg-client-list-row small{display:block;color:#69758d;margin-top:3px}.deg-client-list-row>span{font-weight:800;color:#172033;background:#f6f7f9;border-radius:999px;padding:7px 10px}.deg-client-filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.deg-client-filterbar input,.deg-client-filterbar select,.deg-client-voucher-form select{min-height:42px;border-radius:13px;border:1px solid #d8dee8;background:#fff;padding:0 12px}.deg-client-filterbar input[type=search]{min-width:min(340px,100%);flex:1}.deg-client-management-table{font-size:14px;border-collapse:separate;border-spacing:0 8px}.deg-client-management-table thead th{background:transparent;color:#69758d;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.deg-client-management-table tbody tr{background:#fff;box-shadow:0 8px 24px rgba(23,32,51,.05)}.deg-client-management-table tbody td{border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;vertical-align:top}.deg-client-management-table tbody td:first-child{border-left:1px solid #edf0f5;border-radius:14px 0 0 14px}.deg-client-management-table tbody td:last-child{border-right:1px solid #edf0f5;border-radius:0 14px 14px 0}.deg-client-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;background:#eef1f5;color:#465169}.deg-client-chip.is-payment,.deg-client-chip.is-paid{background:#e9f8ef;color:#137a3e}.deg-client-chip.is-booking,.deg-client-chip.is-confirmed{background:#edf3ff;color:#2056a8}.deg-client-chip.is-pending{background:#fff6e6;color:#9a6100}.deg-client-chip.is-cancelled,.deg-client-chip.is-failed{background:#ffecec;color:#a42121}.deg-client-chip.is-voucher{background:#f2ebff;color:#6840a6}.deg-client-inline-editor{position:relative;min-width:110px}.deg-client-inline-editor>summary{cursor:pointer;list-style:none;display:inline-flex;border-radius:999px;background:#172033;color:#fff;padding:8px 12px;font-weight:800;font-size:13px}.deg-client-inline-editor>summary::-webkit-details-marker{display:none}.deg-client-inline-editor[open]{z-index:30}.deg-client-editor-form{position:absolute;right:0;top:42px;width:min(760px,calc(100vw - 50px));background:#fff;border:1px solid rgba(23,32,51,.12);border-radius:22px;padding:18px;box-shadow:0 28px 80px rgba(23,32,51,.22)}.deg-client-editor-actions{display:flex;justify-content:flex-end}.deg-client-delete-inline{display:inline-block;margin-top:8px}.deg-client-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.deg-client-profile-card,.deg-client-deg-card{border:1px solid rgba(23,32,51,.08);border-radius:20px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(23,32,51,.05)}.deg-client-profile-card h4{font-size:18px;margin:0 0 8px}.deg-client-profile-card p{color:#69758d;margin:0 0 14px}.deg-client-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.deg-client-profile-stats span{display:block;background:#f7f8fb;border-radius:14px;padding:10px;font-weight:900}.deg-client-profile-stats small{display:block;color:#69758d;font-size:11px;font-weight:700;margin-top:4px}.deg-client-deg-card{margin-bottom:12px}.deg-client-deg-card summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.deg-client-deg-card summary span{font-size:13px;color:#69758d}.deg-client-degustazione-form{margin-top:14px}.deg-client-toggle-form{margin-top:12px}.deg-client-voucher-form{display:flex;gap:8px;flex-wrap:wrap}.deg-client-calendar-toolbar input,.deg-client-calendar-toolbar select{border-radius:13px;border:1px solid #d8dee8;min-height:40px;padding:0 10px}.deg-client-login-brand{text-align:left;margin-bottom:22px}.deg-client-login-brand span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#8a6238}.deg-client-login-brand p{color:#69758d}.deg-client-portal-login--pro{max-width:520px;margin:40px auto;background:#fff;border-radius:28px;padding:34px;box-shadow:0 24px 80px rgba(23,32,51,.14)}@media (max-width:1180px){.deg-client-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.deg-client-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deg-client-dashboard-grid{grid-template-columns:1fr}}@media (max-width:760px){.deg-client-portal-shell{padding:14px 10px 40px}.deg-client-management-hero{padding:22px;border-radius:22px}.deg-client-stats-grid,.deg-client-cards-grid{grid-template-columns:1fr}.deg-client-management-table{display:block;overflow:auto}.deg-client-editor-form{position:fixed;left:12px;right:12px;top:82px;width:auto;max-height:calc(100vh - 110px);overflow:auto}.deg-client-management-nav .deg-client-nav-cta{margin-left:0}.deg-client-filterbar input,.deg-client-filterbar select{width:100%}}

/* v0.13.4 gestionale avanzato */
.deg-client-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.deg-client-card-head small{font-size:.78rem;color:#8f7f70;font-weight:700;margin-left:8px}
.deg-client-filterbar select,.deg-client-filterbar input[type="date"],.deg-client-filterbar input[type="text"],.deg-client-filterbar input[type="search"]{min-height:42px;border:1px solid rgba(64,45,31,.14);border-radius:14px;padding:0 12px;background:#fff;color:#2b241f}
.deg-client-cards-grid--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.deg-client-profile-card--editable{border:1px solid rgba(64,45,31,.10);background:linear-gradient(180deg,#fff,#fbf8f4);box-shadow:0 16px 42px rgba(39,29,21,.08)}
.deg-client-profile-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.deg-client-profile-head h4{margin:0 0 6px;font-size:1.04rem;color:#211a14}
.deg-client-profile-head p{margin:0;color:#7a6b60;font-size:.9rem;line-height:1.45}
.deg-client-profile-head>span{font-weight:800;color:#6a3d1e;background:#f2e7d8;border-radius:999px;padding:8px 12px;white-space:nowrap}
.deg-client-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.deg-client-profile-stats span{border-radius:14px;background:#f6efe6;padding:10px;font-weight:800;color:#2b241f;min-width:0;overflow:hidden;text-overflow:ellipsis}
.deg-client-profile-stats small{display:block;font-weight:600;color:#8b7b70;font-size:.72rem;margin-top:3px;text-transform:uppercase;letter-spacing:.04em}
.deg-client-pagination{display:flex;gap:7px;justify-content:flex-end;align-items:center;margin-top:18px;flex-wrap:wrap}
.deg-client-pagination a,.deg-client-pagination span{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(64,45,31,.12);text-decoration:none;background:#fff;color:#4d4036;font-weight:700}
.deg-client-pagination a.is-active{background:#211a14;color:#fff;border-color:#211a14}
.deg-payment-methods{border:1px solid rgba(64,45,31,.12);border-radius:18px;background:#fffdfb;padding:16px;margin:14px 0}
.deg-payment-methods>label{display:block;font-weight:800;margin-bottom:10px;color:#2b241f}
.deg-payment-method-list{display:flex;gap:10px;flex-wrap:wrap}
.deg-payment-method-option{display:flex;align-items:center;gap:8px;border:1px solid rgba(64,45,31,.14);border-radius:999px;padding:10px 14px;background:#fff;cursor:pointer}
.deg-payment-method-option:has(input:checked){background:#211a14;color:#fff;border-color:#211a14}
.deg-payment-method-help{display:block;color:#8a7a70;margin-top:10px;line-height:1.45}
.deg-onsite-button{width:100%;border:0;border-radius:999px;background:#211a14;color:#fff;font-weight:800;padding:14px 18px;cursor:pointer;box-shadow:0 14px 30px rgba(33,26,20,.18)}
.deg-onsite-button:disabled{opacity:.65;cursor:wait}
.deg-client-chip.is-sent{background:#e7f6eb;color:#1c6b36}.deg-client-chip.is-failed{background:#ffe9e7;color:#b42318}.deg-client-chip.is-pending{background:#fff4d8;color:#8a5b00}.deg-client-chip.is-onsite{background:#f1ebe4;color:#5a3a22}
.deg-client-voucher-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.deg-client-voucher-form select{min-width:120px}

/* v0.13.5 correzioni UI frontend + gestionale */
.deg-booking-form .deg-gift-toggle input[type="checkbox"],
.deg-booking-form .deg-checkbox-row input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  border: 2px solid #743559;
  border-radius: 6px;
  vertical-align: middle;
  margin: 0 10px 0 0 !important;
  position: relative;
  top: -1px;
  background: #fff;
  flex: 0 0 20px;
  padding: 0 !important;
}
.deg-booking-form .deg-gift-toggle input[type="checkbox"]:checked,
.deg-booking-form .deg-checkbox-row input[type="checkbox"]:checked {
  background: #743559;
  border-color: #743559;
}
.deg-booking-form .deg-gift-toggle input[type="checkbox"]:checked::after,
.deg-booking-form .deg-checkbox-row input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.deg-booking-form .deg-payment-method-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  border: 2px solid #743559;
  border-radius: 50%;
  background: #fff;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px;
}
.deg-booking-form .deg-payment-method-option input[type="radio"]:checked {
  background: #743559;
  border-color: #743559;
  box-shadow: inset 0 0 0 4px #fff;
}
.deg-payment-method-option:has(input:checked){background:#743459;color:#fff;border-color:#743459}
.deg-client-portal-header.deg-client-management-hero,
.deg-client-management-hero {
  background: #743459 !important;
  color: #fff !important;
}
.deg-client-management-hero h2,
.deg-client-portal-header.deg-client-management-hero h2 {
  color: #fff !important;
}
.deg-client-management-hero p,
.deg-client-portal-header.deg-client-management-hero p {
  color: rgba(255,255,255,.88) !important;
}
.deg-client-management-nav a.is-active,
.deg-client-management-nav a:hover,
.deg-client-management-nav .deg-client-nav-cta,
.deg-client-portal .deg-booking-list-button,
.deg-client-portal-login .deg-booking-list-button,
.deg-client-inline-editor > summary,
.deg-onsite-button,
.deg-client-calendar-toolbar__right a.is-active {
  background: #743459 !important;
  border-color: #743459 !important;
  color: #fff !important;
}
.deg-client-portal-secondary-button:hover,
.deg-booking-list-button:hover {
  background: #743459;
  color: #fff;
}
.deg-client-portal-danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 92px;
  min-height: 40px;
  max-width: 100%;
  white-space: nowrap;
  line-height: 1.1;
  padding: 10px 16px;
  border-radius: 999px;
  background: #fff0f0;
  color: #9f2020;
  border: 1px solid #f1b8b8;
  font-weight: 800;
  text-align: center;
  box-sizing: border-box;
}
.deg-client-portal-danger-button:hover {
  background: #9f2020;
  color: #fff;
  border-color: #9f2020;
}
.deg-client-booking-history {
  background: #fbf7fa;
  border: 1px solid rgba(116,52,89,.16);
  border-radius: 16px;
  padding: 14px;
}
.deg-client-booking-history > strong {
  display: block;
  margin-bottom: 10px;
  color: #743459;
}
.deg-client-booking-history ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.deg-client-booking-history li {
  display: grid;
  grid-template-columns: minmax(130px,.45fr) minmax(160px,1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 9px 0;
  border-top: 1px solid rgba(116,52,89,.12);
}
.deg-client-booking-history li:first-child { border-top: 0; }
.deg-client-booking-history span { font-weight: 800; color: #2d2230; }
.deg-client-booking-history em { font-style: normal; color: #6c5e68; }
@media(max-width:760px){
  .deg-client-booking-history li{grid-template-columns:1fr;align-items:flex-start}
}
.deg-client-portal-inline-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px;
  margin: 0 8px 0 0 !important;
}

/* v0.13.6 pulsanti, periodi fasce e scheda cliente modale */
.deg-client-portal-secondary-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 88px !important;
  min-height: 40px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
  box-sizing: border-box !important;
  font-weight: 800 !important;
}
.deg-client-slot-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  min-width: 190px;
}
.deg-client-slot-actions .deg-client-delete-inline {
  display: inline-flex;
  margin: 0;
}
.deg-client-slots-period-table td small,
.deg-client-slots-period-table td span {
  color: #69758d;
}
.deg-client-inline-editor[open] {
  z-index: 100001 !important;
}
.deg-client-inline-editor[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(23,32,51,.52);
  z-index: 100000;
  backdrop-filter: blur(3px);
}
.deg-client-inline-editor[open] .deg-client-editor-form {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  transform: translate(-50%,-50%) !important;
  width: min(940px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 64px) !important;
  overflow: auto !important;
  z-index: 100001 !important;
  padding: 22px !important;
  border-radius: 24px !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.35) !important;
}
.deg-client-editor-modal-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 0 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(23,32,51,.10);
}
.deg-client-editor-modal-head strong {
  font-size: 20px;
  color: #172033;
}
.deg-client-editor-close {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: #f2ebf1;
  color: #743459;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.deg-client-editor-close:hover {
  background: #743459;
  color: #fff;
}
.deg-client-booking-history {
  max-height: 320px;
  overflow: auto;
}
@media (max-width: 760px) {
  .deg-client-slot-actions {
    justify-content: flex-start;
    min-width: 0;
  }
  .deg-client-inline-editor[open] .deg-client-editor-form {
    top: 16px !important;
    left: 12px !important;
    right: 12px !important;
    transform: none !important;
    width: auto !important;
    max-height: calc(100vh - 32px) !important;
  }
}

/* v0.13.7 fix area prenotazioni */
.deg-client-table-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0 0 10px;
    -webkit-overflow-scrolling: touch;
}
.deg-client-slots-period-table {
    min-width: 980px;
}
.deg-client-slot-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.deg-client-slot-actions form {
    margin: 0;
}
.deg-client-slot-actions .deg-client-portal-secondary-button,
.deg-client-slot-actions .deg-client-portal-danger-button {
    min-width: 96px;
    padding-left: 14px;
    padding-right: 14px;
    white-space: nowrap;
    line-height: 1.15;
}
.deg-client-portal-secondary-button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    overflow: visible;
}
.deg-client-booking-modal {
    z-index: 999999;
}
.deg-client-booking-modal__dialog {
    max-height: min(86vh, 760px);
    overflow: auto;
}
.deg-client-inline-editor[open] > summary {
    visibility: hidden;
}
.deg-client-inline-editor[open] .deg-client-editor-form {
    max-height: min(88vh, 820px);
    overflow-y: auto;
    overflow-x: hidden;
}
.deg-client-editor-close {
    min-width: 42px;
    height: 42px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}
.deg-client-drag-hint {
    background: #fff;
    border: 1px dashed rgba(116,52,89,.35);
    color: #743459;
    border-radius: 16px;
    padding: 12px 16px;
    margin: 0 0 14px;
    font-weight: 700;
}
.deg-client-gcal__body {
    height: var(--deg-hours-height, 936px);
    min-height: var(--deg-hours-height, 936px);
}
.deg-client-gcal__time,
.deg-client-gcal__hourline {
    height: var(--deg-row-height, 36px);
    min-height: var(--deg-row-height, 36px);
}
.deg-client-gcal__time {
    font-size: 11px;
    color: rgba(25,25,25,.62);
}
.deg-client-gcal__hourline:nth-child(2n) {
    border-top-style: dashed;
    opacity: .58;
}
.deg-client-gcal--day .deg-client-gcal__daycol {
    overflow: visible;
}
.deg-client-gcal__slot {
    position: absolute;
    left: 8px;
    right: 8px;
    border: 1px dashed rgba(116,52,89,.24);
    background: rgba(116,52,89,.035);
    border-radius: 16px;
    padding: 8px 10px;
    z-index: 1;
    pointer-events: auto;
    color: #743459;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2px;
}
.deg-client-gcal__slot strong {
    font-size: 12px;
}
.deg-client-gcal__slot span,
.deg-client-gcal__slot small {
    font-size: 11px;
    line-height: 1.25;
}
.deg-client-gcal__slot.is-closed {
    background: rgba(160, 20, 20, .045);
    border-color: rgba(160, 20, 20, .18);
    color: rgba(95, 20, 20, .75);
}
.deg-client-gcal__dropzone.is-drag-over {
    border-color: #743459;
    background: rgba(116,52,89,.13);
    box-shadow: inset 0 0 0 2px rgba(116,52,89,.18), 0 10px 26px rgba(116,52,89,.12);
}
.deg-client-gcal__booking {
    z-index: 4;
}
.deg-client-gcal__booking.is-draggable {
    cursor: grab;
}
.deg-client-gcal__booking.is-draggable:active,
.deg-client-gcal__booking.is-dragging {
    cursor: grabbing;
    opacity: .72;
}
.deg-is-dragging-booking .deg-client-gcal__booking:not(.is-dragging) {
    pointer-events: auto;
}
@media (max-width: 900px) {
    .deg-client-slots-period-table {
        min-width: 900px;
    }
    .deg-client-gcal__body {
        min-width: 780px;
    }
}

/* v0.13.8: Stripe, chiusure singole e orari singoli */
.deg-stripe-button{width:100%;border:0;border-radius:999px;background:#743459;color:#fff;font-weight:800;padding:14px 18px;cursor:pointer;box-shadow:0 14px 30px rgba(116,52,89,.22)}
.deg-stripe-button:disabled{opacity:.65;cursor:wait}
.deg-slot-option small{font-weight:600;color:#743459}
.deg-client-closure-calendar{display:grid;gap:14px;margin-top:16px;overflow:auto;max-width:100%;padding-bottom:8px}
.deg-client-closure-month{min-width:780px;border:1px solid #eee0ea;border-radius:16px;padding:14px;background:#fff}
.deg-client-closure-month h4{margin:0 0 10px;color:#743459;text-transform:capitalize}
.deg-client-closure-days{display:grid;grid-template-columns:repeat(31, minmax(28px,1fr));gap:6px;align-items:start}
.deg-client-closure-day{display:flex!important;flex-direction:column!important;gap:4px!important;align-items:center!important;margin:0!important;padding:6px 2px;border-radius:8px;background:#f8f4f7;font-size:11px;font-weight:600!important;color:#332a31}
.deg-client-closure-day.is-empty{visibility:hidden}
.deg-client-closure-day input{width:16px!important;height:16px!important;margin:0!important;accent-color:#743459}
.deg-client-closure-day.is-weekend{background:#efe5ec;color:#743459}
.deg-client-portal-secondary-button,.deg-client-portal-danger-button{white-space:normal;line-height:1.15;min-width:0;box-sizing:border-box;text-align:center}
.deg-client-gcal-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#edf5ff;color:#1a4f8b!important;text-decoration:none;font-weight:700;padding:8px 12px;margin-top:8px}
.deg-degustazione-image-preview img{display:block;max-width:150px;height:auto;border-radius:12px;margin-top:8px;border:1px solid #eadfe7}
@media(max-width:800px){.deg-client-closure-month{min-width:640px}.deg-client-closure-days{grid-template-columns:repeat(16,minmax(28px,1fr))}}

/* v0.13.12 voucher download e tabella voucher gestionale */
.deg-client-vouchers-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
}
.deg-client-vouchers-table {
    min-width: 980px;
}
.deg-client-voucher-download-button {
    margin-top: 10px !important;
    min-width: 160px !important;
    background: #743459 !important;
    border-color: #743459 !important;
    color: #fff !important;
    white-space: nowrap !important;
}
.deg-client-voucher-actions .deg-client-voucher-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: nowrap;
}
.deg-client-voucher-actions select {
    min-width: 130px;
}
@media (max-width: 760px) {
    .deg-client-vouchers-table {
        min-width: 860px;
    }
}

/* v0.13.12 PDF voucher prima pagina: testi centrati con metriche tipografiche. */

/* v0.13.15 aggiornamento configurazioni pagamenti Stripe/PayPal. */


/* v0.13.18: PayPal redirect button without Smart Button alternative funding options */
.deg-paypal-redirect-button {
    width: 100%;
    min-height: 56px;
    border: 0;
    border-radius: 8px;
    background: #ffc439;
    color: #003087;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .01em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.deg-paypal-redirect-button:hover,
.deg-paypal-redirect-button:focus {
    background: #f2ba36;
    color: #003087;
}
.deg-paypal-redirect-button:disabled {
    opacity: .65;
    cursor: wait;
}
