.tcp-admin{max-width:960px}
.tcp-admin form{background:white;padding:24px;border:1px solid #ccd0d4;border-radius:10px}

.tcp-media-field{background:#fff;border:1px solid #ccd0d4;padding:16px;margin:16px 0;border-radius:8px}
.tcp-media-preview img{max-width:180px;max-height:110px;display:block;margin:10px 0;background:#f6f7f7;padding:8px}

.tcp-media-multi-preview{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.tcp-media-multi-preview img{width:86px;height:60px;object-fit:cover;border-radius:6px;background:#f6f7f7;padding:4px}

.tcp-home-builder-pro .tcp-builder-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.tcp-builder-sidebar{
  position:sticky;
  top:40px;
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:18px;
}
.tcp-section-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 0;
  border-bottom:1px solid #f0f0f1;
}
.tcp-section-toggle:last-child{border-bottom:0}
.tcp-builder-panels{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tcp-panel{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  overflow:hidden;
}
.tcp-panel summary{
  cursor:pointer;
  padding:16px 18px;
  font-size:17px;
  font-weight:700;
  color:#071B4A;
  background:#f6f7f7;
}
.tcp-panel[open] summary{
  border-bottom:1px solid #dcdcde;
}
.tcp-panel-body{
  padding:18px;
}
.tcp-field-group{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 16px;
}
.tcp-field-group strong{
  margin-bottom:4px;
}
@media(max-width:900px){
  .tcp-home-builder-pro .tcp-builder-layout{grid-template-columns:1fr}
  .tcp-builder-sidebar{position:relative;top:auto}
}

.tcp-booking-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:20px;max-width:760px;margin:18px 0}
.tcp-booking-date-filter{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:14px;margin:16px 0}
.tcp-booking-grid-wrap{overflow:auto;background:#fff;border:1px solid #dcdcde;border-radius:12px}
.tcp-booking-grid{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}
.tcp-booking-grid th{background:#071B4A;color:#fff;padding:12px;text-align:left;position:sticky;top:0;z-index:1}
.tcp-booking-grid td{border-bottom:1px solid #edf0f5;border-right:1px solid #edf0f5;padding:8px;vertical-align:top}
.tcp-booking-cell{width:100%;min-height:72px;border:0;border-radius:10px;padding:10px;cursor:pointer;text-align:left;background:#f7fafc}
.tcp-free{color:#1b8f44;background:#f0fff5;text-align:center;font-weight:800}
.tcp-status-booked{background:#d9ecff}.tcp-status-lesson{background:#fff3cd}.tcp-status-tournament{background:#eadcff}.tcp-status-blocked{background:#ffd6d6}.tcp-status-maintenance{background:#e3e3e3}
.tcp-booking-delete{display:block;margin-top:6px;color:#b32d2e;font-size:12px}
.tcp-booking-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99999;display:flex;align-items:center;justify-content:center}
.tcp-booking-modal-box{width:min(520px,92vw);background:#fff;border-radius:16px;padding:24px;position:relative;box-shadow:0 28px 80px rgba(0,0,0,.32)}
.tcp-booking-modal-close{position:absolute;top:12px;right:14px;border:0;background:#071B4A;color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}

.tcp-booking-month-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:14px 18px}
.tcp-booking-month-header h2{margin:0;color:#071B4A}
.tcp-booking-view-switch{margin:12px 0 18px}
.tcp-month-calendar{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:14px;overflow:auto}
.tcp-month-weekday{font-weight:800;color:#071B4A;padding:10px;text-align:center;background:#f5f7fa;border-radius:10px}
.tcp-month-day{min-height:118px;border:1px solid #edf0f5;border-radius:14px;padding:12px;background:#fbfcfe;text-decoration:none;color:#1d2327;display:flex;flex-direction:column;gap:8px;transition:.18s ease}
.tcp-month-day:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(7,27,74,.12);border-color:#A8D629}
.tcp-month-day.is-empty{background:transparent;border:0;pointer-events:none}
.tcp-month-day.is-today{border:2px solid #A8D629}
.tcp-month-day.has-bookings{background:#f4f9ff}
.tcp-month-day strong{font-size:20px;color:#071B4A}
.tcp-month-total{font-weight:700;font-size:13px}
.tcp-month-total.is-free{color:#1b8f44}
.tcp-month-statuses{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}
.tcp-dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#d9ecff}
.tcp-dot-lesson{background:#fff3cd}.tcp-dot-tournament{background:#eadcff}.tcp-dot-blocked{background:#ffd6d6}.tcp-dot-maintenance{background:#e3e3e3}
@media(max-width:900px){.tcp-month-calendar{grid-template-columns:repeat(7,110px)}.tcp-booking-month-header{flex-direction:column}}

/* V7.3 Compact Month Dashboard */
.tcp-month-calendar{gap:6px!important}
.tcp-month-day{min-height:88px!important;padding:8px!important}
.tcp-month-day strong{font-size:16px!important}
.tcp-booking-month-header{padding:10px 14px!important}

/* V7.3.1 Booking Dashboard Pro REAL */
.tcp-booking-dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(110px,1fr));
  gap:10px;
  margin:12px 0;
}
.tcp-booking-dashboard-kpis div{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:10px 12px;
  box-shadow:0 4px 14px rgba(7,27,74,.05);
}
.tcp-booking-dashboard-kpis strong{
  display:block;
  font-size:22px;
  line-height:1;
  color:#071B4A;
}
.tcp-booking-dashboard-kpis span{
  display:block;
  margin-top:4px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#687280;
  font-weight:800;
}
.tcp-booking-dashboard-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:end;
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:10px;
  margin:10px 0;
}
.tcp-booking-dashboard-filters label{
  font-weight:700;
  font-size:12px;
  color:#071B4A;
}
.tcp-booking-dashboard-filters input,
.tcp-booking-dashboard-filters select{
  display:block;
  min-width:150px;
  margin-top:3px;
}
.tcp-booking-month-header-compact{
  padding:8px 12px!important;
  margin:10px 0!important;
}
.tcp-booking-month-header-compact h2{
  font-size:20px;
}
.tcp-month-calendar-compact{
  gap:5px!important;
  padding:8px!important;
}
.tcp-month-calendar-compact .tcp-month-weekday{
  padding:6px!important;
  font-size:12px;
}
.tcp-month-calendar-compact .tcp-month-day{
  min-height:74px!important;
  padding:6px!important;
  border-radius:10px!important;
  gap:3px!important;
}
.tcp-month-date{
  font-size:15px;
  font-weight:900;
  color:#071B4A;
}
.tcp-month-minirows{
  display:flex;
  flex-wrap:wrap;
  gap:3px 6px;
  font-size:10px;
  line-height:1.1;
}
.tcp-month-minirows em{
  font-style:normal;
  font-weight:800;
}
.tcp-month-minirows .is-booked{color:#1d72b8}
.tcp-month-minirows .is-lesson{color:#b8860b}
.tcp-month-minirows .is-tournament{color:#7b3fc2}
.tcp-month-minirows .is-blocked{color:#b32d2e}
.tcp-month-minirows .is-free{color:#1b8f44}
.tcp-month-occupancy{
  display:block;
  height:5px;
  border-radius:999px;
  background:#e8edf5;
  overflow:hidden;
  margin-top:auto;
}
.tcp-month-occupancy i{
  display:block;
  height:100%;
  background:#A8D629;
}
.tcp-month-percent{
  font-size:10px;
  font-weight:900;
  color:#071B4A;
}
@media(max-width:1100px){
  .tcp-booking-dashboard-kpis{grid-template-columns:repeat(2,1fr)}
  .tcp-month-calendar-compact{grid-template-columns:repeat(7,96px)!important}
}

/* V7.3.2 Compact Day View */
.tcp-booking-day-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:8px 12px;
  margin:10px 0;
}
.tcp-booking-day-topbar strong{
  color:#071B4A;
  font-size:15px;
}
.tcp-booking-day-compact-wrap{
  max-height:calc(100vh - 260px);
  overflow:auto;
}
.tcp-booking-day-compact{
  min-width:760px!important;
  font-size:12px;
}
.tcp-booking-day-compact th{
  padding:7px 8px!important;
  font-size:12px!important;
}
.tcp-booking-day-compact td{
  padding:4px!important;
}
.tcp-booking-day-compact .tcp-booking-cell{
  min-height:46px!important;
  padding:6px!important;
  border-radius:7px!important;
  font-size:11px!important;
  line-height:1.18!important;
}
.tcp-booking-day-compact .tcp-booking-cell strong{
  font-size:11px!important;
}
.tcp-booking-day-compact .tcp-booking-cell small{
  font-size:10px!important;
}
.tcp-booking-day-compact .tcp-free{
  min-height:36px!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tcp-booking-day-compact .tcp-booking-delete{
  margin-top:2px!important;
  font-size:10px!important;
}
.tcp-booking-date-filter{
  padding:8px 10px!important;
  margin:8px 0!important;
}
@media(max-width:900px){
  .tcp-booking-day-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .tcp-booking-day-compact-wrap{
    max-height:none;
  }
}

/* V7.3.3 Reception Compact */
.tcp-booking-day-compact th:first-child,
.tcp-booking-day-compact td:first-child{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
    text-align:center!important;
    white-space:nowrap!important;
}
.tcp-booking-day-compact .tcp-booking-cell{
    min-height:38px!important;
    padding:4px 6px!important;
    font-size:11px!important;
}

/* V7.3.4 Responsive booking day table */
.tcp-booking-day-compact{
    table-layout:fixed!important;
    width:100%!important;
    min-width:0!important;
}
.tcp-booking-day-compact th:first-child,
.tcp-booking-day-compact td:first-child{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
}
.tcp-booking-day-compact th:not(:first-child),
.tcp-booking-day-compact td:not(:first-child){
    width:calc((100% - 70px) / var(--tcp-court-count, 1))!important;
}
.tcp-booking-day-compact-wrap{
    width:100%;
    overflow-x:auto;
}
.tcp-booking-day-compact-wrap[style*="--tcp-court-count:7"] .tcp-booking-day-compact,
.tcp-booking-day-compact-wrap[style*="--tcp-court-count:8"] .tcp-booking-day-compact,
.tcp-booking-day-compact-wrap[style*="--tcp-court-count:9"] .tcp-booking-day-compact,
.tcp-booking-day-compact-wrap[style*="--tcp-court-count:10"] .tcp-booking-day-compact{
    min-width:980px!important;
}
@media(max-width:900px){
    .tcp-booking-day-compact{
        min-width:720px!important;
    }
}

/* V7.3.6 Statistics page + clean calendar */
.tcp-booking-admin .tcp-booking-dashboard-kpis{
  display:none!important;
}
.tcp-booking-stats-page .tcp-stats-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(110px,1fr));
  gap:10px;
  margin:14px 0;
}
.tcp-booking-stats-page .tcp-stats-kpis div{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:14px;
  box-shadow:0 4px 14px rgba(7,27,74,.05);
}
.tcp-booking-stats-page .tcp-stats-kpis strong{
  display:block;
  font-size:26px;
  color:#071B4A;
  line-height:1;
}
.tcp-booking-stats-page .tcp-stats-kpis span{
  display:block;
  margin-top:6px;
  font-size:12px;
  text-transform:uppercase;
  color:#687280;
  font-weight:800;
}
.tcp-stats-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:end;
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:12px;
  margin:12px 0;
}
.tcp-stats-panel{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:18px;
  margin-top:14px;
  max-width:780px;
}
.tcp-stats-bar{
  height:12px;
  border-radius:999px;
  background:#e8edf5;
  overflow:hidden;
  margin-top:12px;
}
.tcp-stats-bar i{
  display:block;
  height:100%;
  background:#A8D629;
}
.tcp-booking-dashboard-filters{
  padding:8px 10px!important;
  margin:8px 0!important;
}
.tcp-booking-month-header-compact{
  padding:7px 10px!important;
  margin:8px 0!important;
}
@media(max-width:1000px){
  .tcp-booking-stats-page .tcp-stats-kpis{grid-template-columns:repeat(2,1fr)}
}

/* V7.3.7 UI Cleanup */
.tcp-booking-dashboard-filters{
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:center!important;
 gap:8px!important;
 padding:6px 8px!important;
 margin:6px 0!important;
}
.tcp-booking-dashboard-filters label{
 margin:0!important;
 font-size:12px!important;
}
.tcp-booking-dashboard-filters select,
.tcp-booking-dashboard-filters input{
 min-width:140px!important;
 height:36px!important;
}
.tcp-booking-month-header-compact{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:10px!important;
 padding:4px 0!important;
 margin:4px 0!important;
}
.tcp-booking-month-header-compact h2{
 font-size:28px!important;
 margin:0!important;
}
.tcp-booking-view-switch{
 margin:4px 0 8px 0!important;
}
.tcp-booking-view-switch .button{
 min-height:36px!important;
 padding:0 12px!important;
}
.tcp-month-calendar{
 margin-top:4px!important;
}

/* V8.1 Admin Dashboard */
.tcp-dashboard-pro .tcp-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:14px;
  margin:20px 0;
}
.tcp-dashboard-pro .tcp-dashboard-card{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:18px;
}
.tcp-dashboard-pro .tcp-dashboard-card strong{
  display:block;
  font-size:30px;
  color:#071B4A;
}
.tcp-dashboard-pro .tcp-dashboard-card span{
  text-transform:uppercase;
  font-weight:800;
  color:#687280;
}
.tcp-dashboard-actions{
  display:flex;
  gap:10px;
}
@media(max-width:900px){
  .tcp-dashboard-pro .tcp-dashboard-grid{grid-template-columns:repeat(2,1fr)}
}

/* V8.2 Backend UX Pro */
.tcp-dashboard-pro .tcp-dashboard-grid-main{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:14px;
  margin:20px 0;
}
.tcp-dashboard-card-primary{
  background:#071B4A!important;
  color:#fff!important;
}
.tcp-dashboard-card-primary strong,
.tcp-dashboard-card-primary span{
  color:#fff!important;
}
.tcp-dashboard-two-col{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:18px;
  margin-top:22px;
}
.tcp-dashboard-panel{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:18px;
}
.tcp-system-list{
  margin:0;
}
.tcp-system-list li{
  padding:8px 0;
  border-bottom:1px solid #f0f0f1;
}
.tcp-header-builder-pro .tcp-panel-body p{
  font-size:15px;
  margin:12px 0;
}
.tcp-header-preview{
  border:1px solid #dcdcde;
  border-radius:12px;
  overflow:hidden;
  max-width:680px;
}
.tcp-preview-topbar{
  background:#071B4A;
  color:#fff;
  padding:8px 14px;
  font-size:12px;
}
.tcp-preview-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px;
  background:#fff;
}
.tcp-preview-header em{
  background:#A8D629;
  color:#071B4A;
  border-radius:999px;
  padding:7px 12px;
  font-style:normal;
  font-weight:800;
}
.tcp-booking-day-compact .tcp-booking-cell{
  min-height:34px!important;
  padding:3px 6px!important;
}
.tcp-booking-day-compact th{
  padding:5px 8px!important;
}
.tcp-booking-day-compact td{
  padding:3px!important;
}
.tcp-booking-date-filter label,
.tcp-booking-dashboard-filters label{
  font-size:12px!important;
}
.tcp-booking-date-filter input[type="search"],
.tcp-booking-dashboard-filters input[type="search"]{
  min-width:180px!important;
  height:34px!important;
}
@media(max-width:1000px){
  .tcp-dashboard-pro .tcp-dashboard-grid-main{grid-template-columns:repeat(2,1fr)}
  .tcp-dashboard-two-col{grid-template-columns:1fr}
}

/* V8.4.1 Header Builder Fix */
.tcp-admin-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:20px;margin:18px 0;max-width:980px}
.tcp-option-row{padding:12px 0;border-bottom:1px solid #f0f0f1}
.tcp-option-row:last-child{border-bottom:0}
.tcp-option-row label{display:flex;align-items:center;gap:10px;font-size:15px}
.tcp-option-row input[type="checkbox"]{width:20px;height:20px}
.tcp-option-row .description{margin:6px 0 0 30px}
.tcp-header-preview{border:1px solid #dcdcde;border-radius:12px;overflow:hidden;max-width:760px;background:#fff}
.tcp-preview-topbar{background:#071B4A;color:#fff;padding:8px 14px;font-size:12px}
.tcp-preview-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:#fff}
.tcp-preview-header strong{color:#071B4A}
.tcp-preview-header span{color:#687280}
.tcp-preview-header em{background:#A8D629;color:#071B4A;border-radius:10px;padding:7px 12px;font-style:normal;font-weight:800}

/* V8.7 Demo Importer */
.tcp-demo-actions{
  display:flex;
  gap:12px;
  align-items:center;
  margin:18px 0;
}
.tcp-demo-list{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:18px 24px;
  max-width:760px;
}
.tcp-demo-list li{
  margin:8px 0;
}

/* V8.7.2 media fields */
.tcp-media-multi-field .button,
.tcp-media-file-field .button{
  display:inline-block;
}

/* V8.7.4 Booking Delete Fix */
.tcp-booking-delete{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin-top:4px!important;
  padding:3px 7px!important;
  border-radius:6px!important;
  background:#b32d2e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:10px!important;
  font-weight:800!important;
}
.tcp-booking-delete:hover{background:#8a2424!important;color:#fff!important}

/* V8.8.1 Accessibility Admin */
.tcp-accessibility-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:14px;
  margin:20px 0;
}
.tcp-accessibility-card{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:16px;
}
.tcp-accessibility-card strong{
  display:block;
  color:#071B4A;
  font-size:24px;
}
.tcp-accessibility-card span{
  display:block;
  font-weight:900;
  margin:4px 0;
}
.tcp-accessibility-checklist{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:12px;
  padding:18px 24px;
  max-width:820px;
}
.tcp-accessibility-checklist li{
  margin:8px 0;
}
@media(max-width:1000px){
  .tcp-accessibility-grid{grid-template-columns:repeat(2,1fr)}
}

/* V8.8.3 Image Optimizer Pro */
.tcp-image-optimizer-page input[type="number"]{
  width:140px;
}
.tcp-image-optimizer-page .tcp-admin-card ul{
  list-style:disc;
  padding-left:22px;
}

/* V8.8.4 Booking Delete Button */
.tcp-booking-delete{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:5px!important;
  padding:4px 8px!important;
  border-radius:6px!important;
  background:#b32d2e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.tcp-booking-delete:hover,
.tcp-booking-delete:focus{
  background:#8a2424!important;
  color:#fff!important;
}

/* V8.9.0 Booking UI Refresh */
.tcp-booking-admin{
  --tcp-admin-navy:#071B4A;
  --tcp-admin-green:#A8D629;
}
.tcp-booking-date-filter,
.tcp-booking-dashboard-filters,
.tcp-booking-month-header,
.tcp-booking-grid-wrap,
.tcp-month-calendar{
  border-radius:18px!important;
  border:1px solid rgba(7,27,74,.09)!important;
  box-shadow:0 14px 38px rgba(7,27,74,.08)!important;
}
.tcp-booking-date-filter,
.tcp-booking-dashboard-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:end;
  padding:16px!important;
}
.tcp-booking-status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
}
.tcp-legend-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(7,27,74,.09);
  background:#fff;
}
.tcp-legend-pill i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:currentColor;
}
.tcp-booking-grid th{
  background:linear-gradient(135deg,#071B4A,#12336f)!important;
  padding:14px!important;
}
.tcp-booking-grid td{
  background:#fbfcff;
  padding:9px!important;
}
.tcp-booking-cell{
  min-height:78px!important;
  border-radius:14px!important;
  padding:10px 11px!important;
  border:1px solid rgba(7,27,74,.07)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.tcp-booking-cell strong,
.tcp-booking-cell span,
.tcp-booking-cell small{
  display:block;
}
.tcp-booking-cell span{
  margin-top:5px;
  font-weight:700;
  color:#1d2327;
}
.tcp-booking-cell small{
  margin-top:3px;
  color:#555;
}
.tcp-free{
  background:linear-gradient(135deg,#f0fff5,#e6f9ee)!important;
  color:#087a35!important;
}
.tcp-status-booked{background:linear-gradient(135deg,#d9ecff,#eef7ff)!important}
.tcp-status-lesson{background:linear-gradient(135deg,#fff3cd,#fff9e8)!important}
.tcp-status-tournament{background:linear-gradient(135deg,#eadcff,#f7f0ff)!important}
.tcp-status-blocked{background:linear-gradient(135deg,#ffd6d6,#fff0f0)!important}
.tcp-status-maintenance{background:linear-gradient(135deg,#e3e3e3,#f7f7f7)!important}
.tcp-booking-delete{
  margin-top:7px!important;
  border-radius:999px!important;
  padding:5px 10px!important;
}
.tcp-booking-modal{
  backdrop-filter:blur(6px);
}
.tcp-booking-modal-box{
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.5);
}
.tcp-month-day{
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
.tcp-month-day.has-bookings{
  background:linear-gradient(180deg,#f4f9ff,#fff)!important;
}
.tcp-month-occupancy{
  display:block;
  height:7px;
  background:#eef2f7;
  border-radius:99px;
  overflow:hidden;
  margin-top:auto;
}
.tcp-month-occupancy i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#A8D629,#1b8f44);
  border-radius:99px;
}
@media(max-width:782px){
  .tcp-booking-date-filter label,
  .tcp-booking-dashboard-filters label{width:100%}
  .tcp-booking-date-filter input,
  .tcp-booking-dashboard-filters input,
  .tcp-booking-dashboard-filters select{width:100%}
  .tcp-booking-grid{min-width:760px!important}
}

/* V9.0 Accessibilità Pro admin */
.tcp-accessibility-score{display:inline-grid;gap:4px;padding:18px 22px;border-radius:18px;background:#071B4A;color:#fff;margin:10px 0 18px;box-shadow:0 12px 30px rgba(7,27,74,.18)}
.tcp-accessibility-score strong{font-size:42px;line-height:1}.tcp-accessibility-score span{font-weight:700}
.tcp-accessibility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.tcp-accessibility-card{background:#fff;border:1px solid #dcdcde;border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(0,0,0,.05)}
.tcp-accessibility-card strong{display:block;font-size:28px;color:#071B4A}.tcp-accessibility-card span{display:block;font-weight:800;margin:6px 0}.tcp-accessibility-card p{margin:0;color:#50575e}.tcp-accessibility-checklist{background:#fff;border:1px solid #dcdcde;border-radius:16px;padding:18px 18px 18px 38px;max-width:900px}

/* V9.5 Dashboard / Booking polish */
.tcp-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}
.tcp-dashboard-panel{background:#fff;border:1px solid #dcdcde;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.tcp-booking-cell{border-radius:14px!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 6px 18px rgba(0,0,0,.04);transition:transform .15s ease,box-shadow .15s ease}
.tcp-booking-cell:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.tcp-legend-pill{border-radius:999px;padding:7px 12px;font-weight:700;border:1px solid rgba(0,0,0,.08);display:inline-flex;align-items:center;gap:7px}
.tcp-legend-pill i{width:10px;height:10px;border-radius:999px;background:currentColor;display:inline-block}

/* V9.6.0 Dashboard + Home Builder visuale */
.tcp-dashboard-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0 26px}
.tcp-dashboard-quick-card{display:grid;grid-template-columns:38px 1fr;gap:4px 12px;align-items:center;padding:18px;border:1px solid #dcdcde;border-radius:18px;background:#fff;text-decoration:none;color:#1d2327;box-shadow:0 10px 28px rgba(0,0,0,.045);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.tcp-dashboard-quick-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.08);border-color:#071B4A;color:#071B4A}
.tcp-dashboard-quick-card .dashicons{grid-row:1 / span 2;width:38px;height:38px;font-size:26px;display:grid;place-items:center;background:#eef4ff;border-radius:14px;color:#071B4A}
.tcp-dashboard-quick-card strong{font-size:15px}.tcp-dashboard-quick-card em{font-style:normal;color:#646970;line-height:1.35}
.tcp-builder-intro{margin:18px 0!important}.tcp-builder-intro h2{margin-top:0}.tcp-builder-intro p{max-width:780px;font-size:14px}
.tcp-sortable-sections{display:grid;gap:10px;margin-top:12px}.tcp-sortable-section{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid #dcdcde;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.tcp-drag-handle{cursor:grab;width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f0f4f8;color:#50575e;font-weight:800}.tcp-drag-handle:active{cursor:grabbing}
.tcp-sortable-placeholder{border:2px dashed #071B4A;border-radius:14px;background:#f6f9ff;min-height:52px}.tcp-sortable-section .tcp-section-toggle{margin:0!important;display:flex;align-items:center;gap:6px}.tcp-sortable-section .button{justify-self:end}
.tcp-builder-sidebar{position:sticky;top:42px;align-self:start}.tcp-builder-panels .tcp-panel{scroll-margin-top:80px}
@media(max-width:960px){.tcp-builder-layout{display:block}.tcp-builder-sidebar{position:static;margin-bottom:18px}.tcp-sortable-section{grid-template-columns:28px 1fr}.tcp-sortable-section .button{grid-column:2;justify-self:start}}

/* V10 Gallery Pro backend */
.tcp-gallery-album-field{padding:14px;border:1px solid #dcdcde;border-radius:10px;background:#fff;margin:14px 0;}
.tcp-gallery-album-field .tcp-media-multi-value{font-family:monospace;}
.tcp-album-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:8px;min-height:54px;}
.tcp-album-preview img{width:70px;height:70px;object-fit:cover;border-radius:6px;border:1px solid #dcdcde;background:#fff;}

/* V10.1.0 - Sync status */
.tcp-status-ok{display:inline-block;padding:4px 9px;border-radius:999px;background:#e7f8ee;color:#176b35;font-weight:700}.tcp-status-warn{display:inline-block;padding:4px 9px;border-radius:999px;background:#fff3d8;color:#875800;font-weight:700}.tcp-status-table td{vertical-align:middle}.tcp-builder-sidebar .tcp-sortable-section a[href="#tcp-panel-booking"]{border-color:#2271b1;color:#0a4b78}


/* V10.1.1 - Widget prenotazioni in Bacheca WordPress */
.tcp-booking-dashboard-widget .tcp-booking-widget-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 12px;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-kpis div{
  background:#f6f7f7;
  border:1px solid #dcdcde;
  border-radius:10px;
  padding:12px;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-kpis strong{
  display:block;
  font-size:26px;
  line-height:1;
  color:#071B4A;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-kpis span{
  display:block;
  margin-top:4px;
  color:#50575e;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:12px 0;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-list{
  margin:8px 0 0;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-list li{
  border-top:1px solid #f0f0f1;
  margin:0;
  padding:8px 0;
}
.tcp-booking-dashboard-widget .tcp-booking-widget-list span{
  color:#50575e;
}


/* V10.2 Footer Builder */
.tcp-footer-links-builder{margin-top:18px;padding:18px;background:#fff;border:1px solid #dcdcde;border-radius:12px;}
.tcp-footer-links-rows{display:grid;gap:12px;margin-top:12px;}
.tcp-footer-link-row{display:grid;grid-template-columns:80px minmax(160px,1fr) minmax(180px,1fr) minmax(180px,1fr) 120px;gap:12px;align-items:end;padding:12px;background:#f6f7f7;border:1px solid #e2e4e7;border-radius:10px;}
.tcp-footer-link-row label{font-weight:600;}
.tcp-footer-link-row input[type=text],.tcp-footer-link-row input[type=url],.tcp-footer-link-row select{width:100%;max-width:100%;}
.tcp-checkbox-inline{padding-bottom:6px;}
@media(max-width:1100px){.tcp-footer-link-row{grid-template-columns:1fr 1fr;}.tcp-footer-link-row strong{grid-column:1/-1;}}


/* Booking public alert controls */
.tcp-booking-banner-settings{margin:16px 0 20px;padding:16px 18px;background:#fff;border:1px solid #dcdcde;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tcp-booking-banner-settings-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tcp-booking-banner-toggle{display:flex;align-items:center;gap:7px;white-space:nowrap}
.tcp-booking-banner-text{display:flex;align-items:center;gap:8px;flex:1;min-width:300px}
.tcp-booking-banner-text input{flex:1;max-width:520px}
@media (max-width:782px){.tcp-booking-banner-settings-row,.tcp-booking-banner-text{align-items:stretch;flex-direction:column}.tcp-booking-banner-text{min-width:0}.tcp-booking-banner-settings .button{width:100%}}
