
.esp-wrapper,
.esp-wrapper *{
    box-sizing:border-box;
}
.esp-wrapper{
    --esp-gold:#d4af37;
    --esp-gold-soft:#f1df8d;
    --esp-bg:#111111;
    --esp-card:#ececec;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#0f0f10 0%,#171717 100%);
    color:#fff;
    padding:16px;
}
.esp-header,
.esp-shell,
.esp-footer{
    width:min(1320px,100%);
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
}
.esp-header{
    margin-bottom:16px;
    padding:0 0 12px;
    border-bottom:3px solid var(--esp-gold);
}
.esp-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.esp-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}
.esp-logo{
    width:40px;
    height:40px;
    object-fit:contain;
    display:block;
}
.esp-link{
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:500;
}
.esp-link:hover{
    color:var(--esp-gold);
}
.esp-shell{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
}
.esp-mobile-toggle{
    display:none;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:56px;
    padding:14px 18px;
    margin:0 0 16px;
    border:none;
    border-radius:22px;
    background:linear-gradient(135deg,var(--esp-gold),var(--esp-gold-soft));
    color:#111;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 16px 36px rgba(0,0,0,.18);
}
.esp-layout{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:28px;
    align-items:start;
}
.esp-sidebar{
    min-width:0;
}
.esp-tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
    border-radius:24px;
    background:linear-gradient(180deg,#070a14,#0d1320);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.esp-tab{
    appearance:none;
    width:100%;
    min-height:52px;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.03);
    color:#fff;
    text-align:left;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}
.esp-tab:hover,
.esp-tab.active{
    background:linear-gradient(135deg,var(--esp-gold),var(--esp-gold-soft));
    color:#111;
    border-color:transparent;
}
.esp-content,
.esp-panel-wrap{
    min-width:0;
}
.esp-card{
    background:var(--esp-card);
    color:#111;
    border-radius:24px;
    padding:18px;
    overflow:auto;
    max-width:100%;
}
.esp-panel{
    display:none;
}
.esp-panel.active{
    display:block;
}
.esp-card table{
    width:100%;
}
.esp-card input,
.esp-card select,
.esp-card textarea{
    border-radius:12px !important;
    max-width:100% !important;
}
.esp-card .bookly-box,
.esp-card .bookly-form,
.esp-card .bookly-js-staff-cabinet,
.esp-card .bookly-js-staff-cabinet *{
    max-width:100%;
}
.esp-card .bookly-btn,
.esp-card button,
.esp-card .btn{
    background:linear-gradient(135deg,var(--esp-gold),var(--esp-gold-soft)) !important;
    color:#111 !important;
    border:none !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.esp-footer{
    margin-top:20px;
    padding:18px 12px;
    border-top:3px solid var(--esp-gold);
    text-align:center;
}
.esp-footer p{
    margin:0 0 6px;
    color:#fff;
}
.esp-footer p:last-child{
    margin-bottom:0;
    color:#d7d7d7;
}
@media (min-width: 768px){
    .esp-mobile-toggle{
        display:none !important;
    }
    .esp-sidebar{
        display:block !important;
    }
    .esp-tabs{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}
@media (max-width: 1024px){
    .esp-layout{
        grid-template-columns:220px minmax(0,1fr);
        gap:20px;
    }
}
@media (max-width: 767px){
    .esp-wrapper{
        padding:12px;
    }
    .esp-header,
    .esp-shell,
    .esp-footer{
        width:calc(100vw - 24px);
        max-width:calc(100vw - 24px);
    }
    .esp-header{
        margin-bottom:12px;
        padding-bottom:10px;
    }
    .esp-link{
        font-size:14px;
    }
    .esp-mobile-toggle{
        display:flex;
    }
    .esp-layout{
        display:block;
    }
    .esp-sidebar{
        display:block;
        margin-bottom:14px;
    }
    .esp-tabs{
        display:none;
        grid-template-columns:1fr;
        padding:12px;
    }
    .esp-sidebar.is-open .esp-tabs{
        display:grid;
    }
    .esp-card{
        padding:14px;
        border-radius:18px;
    }
}


/* v1.3.1 mobile fix for Services tab alignment */
@media (max-width: 767px){
  .esp-panel[data-panel="services"]{
    overflow-x:hidden !important;
  }

  .esp-panel[data-panel="services"] .bookly-box,
  .esp-panel[data-panel="services"] .bookly-form,
  .esp-panel[data-panel="services"] .bookly-js-staff-services,
  .esp-panel[data-panel="services"] .bookly-js-staff-services *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-form-group,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .form-group,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-row,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-category-item,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-item,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-category,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-service{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-category-item,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-category{
    margin:0 0 14px !important;
    padding:12px !important;
    border-radius:14px !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-row,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-item,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-service{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    column-gap:16px !important;
    row-gap:10px !important;
    align-items:end !important;
    margin:0 0 18px !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-row > *,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-item > *,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-service > *{
    min-width:0 !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services label{
    display:block !important;
    margin:0 0 6px !important;
    line-height:1.25 !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services input[type="text"],
  .esp-panel[data-panel="services"] .bookly-js-staff-services input[type="number"],
  .esp-panel[data-panel="services"] .bookly-js-staff-services select{
    width:100% !important;
    max-width:100% !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-row .bookly-checkbox,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-service-item .bookly-checkbox,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-service .bookly-checkbox{
    grid-column:1 / -1 !important;
    margin-bottom:4px !important;
  }

  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-category-item .bookly-checkbox,
  .esp-panel[data-panel="services"] .bookly-js-staff-services .bookly-js-category .bookly-checkbox{
    margin-bottom:0 !important;
  }
}


/* v1.3.2 premium Calendar styling */
.esp-panel[data-panel="calendar"] .fc,
.esp-panel[data-panel="calendar"] .bookly-box,
.esp-panel[data-panel="calendar"] .bookly-form{
    color:#111 !important;
}

.esp-panel[data-panel="calendar"] .fc-toolbar,
.esp-panel[data-panel="calendar"] .fc-header-toolbar{
    margin-bottom:18px !important;
    padding:14px 16px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.45)) !important;
    box-shadow:0 16px 36px rgba(0,0,0,.08) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
}

.esp-panel[data-panel="calendar"] .fc-toolbar-title,
.esp-panel[data-panel="calendar"] .bookly-calendar-title,
.esp-panel[data-panel="calendar"] h2{
    color:#111 !important;
    font-weight:700 !important;
}

.esp-panel[data-panel="calendar"] .fc-button-group,
.esp-panel[data-panel="calendar"] .bookly-calendar-view-switcher{
    display:flex !important;
    gap:10px !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    margin-top:10px !important;
}

.esp-panel[data-panel="calendar"] .fc-button,
.esp-panel[data-panel="calendar"] .bookly-btn{
    background:linear-gradient(135deg,#d4af37,#f1df8d) !important;
    color:#111 !important;
    border:none !important;
    border-radius:18px !important;
    box-shadow:0 10px 22px rgba(212,175,55,.18) !important;
    padding:10px 16px !important;
    margin:0 !important;
}

.esp-panel[data-panel="calendar"] .fc-button:hover,
.esp-panel[data-panel="calendar"] .bookly-btn:hover{
    filter:brightness(.98) !important;
}

.esp-panel[data-panel="calendar"] .fc-button-primary:not(:disabled).fc-button-active,
.esp-panel[data-panel="calendar"] .fc-button-primary:not(:disabled):active{
    background:#111 !important;
    color:#fff !important;
}

.esp-panel[data-panel="calendar"] .fc-view-harness,
.esp-panel[data-panel="calendar"] .fc-scrollgrid,
.esp-panel[data-panel="calendar"] .fc-theme-standard td,
.esp-panel[data-panel="calendar"] .fc-theme-standard th{
    border-color:rgba(17,17,17,.12) !important;
}

.esp-panel[data-panel="calendar"] .fc-col-header-cell{
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,245,245,.88)) !important;
}

.esp-panel[data-panel="calendar"] .fc-daygrid-day,
.esp-panel[data-panel="calendar"] .fc-timegrid-slot,
.esp-panel[data-panel="calendar"] .fc-timegrid-col{
    background:rgba(255,255,255,.65) !important;
}

.esp-panel[data-panel="calendar"] .fc-day-today{
    background:rgba(212,175,55,.16) !important;
}

.esp-panel[data-panel="calendar"] .fc-daygrid-day-number,
.esp-panel[data-panel="calendar"] .fc-col-header-cell-cushion{
    color:#111 !important;
    font-weight:600 !important;
    text-decoration:none !important;
}

.esp-panel[data-panel="calendar"] .fc-event{
    border:none !important;
    border-radius:12px !important;
    box-shadow:0 8px 18px rgba(0,0,0,.10) !important;
}

.esp-panel[data-panel="calendar"] .fc-event-title,
.esp-panel[data-panel="calendar"] .fc-event-time{
    color:#111 !important;
    font-weight:600 !important;
}

@media (max-width: 767px){
  .esp-panel[data-panel="calendar"] .fc-toolbar,
  .esp-panel[data-panel="calendar"] .fc-header-toolbar{
      padding:12px !important;
      border-radius:18px !important;
  }

  .esp-panel[data-panel="calendar"] .fc-toolbar-title,
  .esp-panel[data-panel="calendar"] .bookly-calendar-title{
      color:#111 !important;
      font-size:22px !important;
      line-height:1.15 !important;
      margin:8px 0 6px !important;
      text-align:center !important;
  }

  .esp-panel[data-panel="calendar"] .fc-toolbar-chunk{
      display:flex !important;
      flex-wrap:wrap !important;
      justify-content:center !important;
      gap:10px !important;
      width:100% !important;
  }

  .esp-panel[data-panel="calendar"] .fc-button-group,
  .esp-panel[data-panel="calendar"] .bookly-calendar-view-switcher{
      gap:12px !important;
      margin-top:12px !important;
      margin-bottom:12px !important;
  }

  .esp-panel[data-panel="calendar"] .fc-button,
  .esp-panel[data-panel="calendar"] .bookly-btn{
      padding:10px 18px !important;
      border-radius:20px !important;
  }

  .esp-panel[data-panel="calendar"] .fc-view-harness,
  .esp-panel[data-panel="calendar"] .fc-scroller{
      margin-bottom:18px !important;
  }

  .esp-panel[data-panel="calendar"] .fc-scrollgrid{
      margin-bottom:10px !important;
  }

  /* extra breathing room under calendar so bottom is not cramped */
  .esp-panel[data-panel="calendar"]{
      padding-bottom:24px !important;
  }
}


/* v1.3.3 hard spacing fix for calendar buttons */
.esp-panel[data-panel="calendar"] .fc .fc-toolbar,
.esp-panel[data-panel="calendar"] .fc .fc-header-toolbar,
.esp-panel[data-panel="calendar"] .fc .fc-footer-toolbar{
    row-gap: 14px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-toolbar-chunk{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:12px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-button-group{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-button-group > .fc-button,
.esp-panel[data-panel="calendar"] .fc .fc-toolbar-chunk > .fc-button,
.esp-panel[data-panel="calendar"] .fc .fc-toolbar-chunk > .fc-button-group,
.esp-panel[data-panel="calendar"] .fc .fc-toolbar-chunk > *{
    margin:0 !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-button-group > .fc-button + .fc-button{
    margin-left:12px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-button{
    min-width:0 !important;
    margin:0 !important;
    padding:10px 18px !important;
    border-radius:20px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-prev-button,
.esp-panel[data-panel="calendar"] .fc .fc-next-button,
.esp-panel[data-panel="calendar"] .fc .fc-today-button{
    margin:0 6px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-dayGridMonth-button,
.esp-panel[data-panel="calendar"] .fc .fc-timeGridWeek-button,
.esp-panel[data-panel="calendar"] .fc .fc-timeGridDay-button,
.esp-panel[data-panel="calendar"] .fc .fc-listWeek-button,
.esp-panel[data-panel="calendar"] .fc .fc-listMonth-button,
.esp-panel[data-panel="calendar"] .fc .fc-listDay-button{
    margin:6px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-toolbar-title{
    margin:8px 0 4px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-scrollgrid{
    margin-bottom:18px !important;
}

.esp-panel[data-panel="calendar"] .fc .fc-footer-toolbar .fc-button,
.esp-panel[data-panel="calendar"] .fc .fc-footer-toolbar .bookly-btn,
.esp-panel[data-panel="calendar"] .bookly-box .fc-button,
.esp-panel[data-panel="calendar"] .bookly-box .bookly-btn{
    margin:6px !important;
}

/* mobile exact spacing */
@media (max-width: 767px){
    .esp-panel[data-panel="calendar"] .fc .fc-toolbar,
    .esp-panel[data-panel="calendar"] .fc .fc-header-toolbar,
    .esp-panel[data-panel="calendar"] .fc .fc-footer-toolbar{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:14px !important;
    }

    .esp-panel[data-panel="calendar"] .fc .fc-toolbar-chunk{
        width:100% !important;
        gap:12px !important;
    }

    .esp-panel[data-panel="calendar"] .fc .fc-button-group{
        width:100% !important;
        justify-content:center !important;
        gap:12px !important;
    }

    .esp-panel[data-panel="calendar"] .fc .fc-button-group > .fc-button + .fc-button{
        margin-left:0 !important;
    }

    .esp-panel[data-panel="calendar"] .fc .fc-button{
        margin:6px !important;
    }

    .esp-panel[data-panel="calendar"] .fc .fc-view-harness,
    .esp-panel[data-panel="calendar"] .fc .fc-scroller,
    .esp-panel[data-panel="calendar"] .bookly-box{
        padding-bottom:8px !important;
    }
}


/* v1.3.4 exact Bookly Staff Cabinet appointments styling */
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments *{
    box-sizing:border-box !important;
}

/* filter row spacing */
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .form-row{
    row-gap:14px !important;
}

.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .form-group{
    margin-bottom:0 !important;
}

.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn-default,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn-success,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .bookly-btn,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .bookly-dropdown-toggle{
    background:linear-gradient(135deg,#d4af37,#f1df8d) !important;
    color:#111 !important;
    border:0 !important;
    border-radius:18px !important;
    box-shadow:0 10px 22px rgba(212,175,55,.18) !important;
}

.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn i,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .bookly-btn i{
    color:#111 !important;
}

.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .form-control,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments select,
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments input[type="text"]{
    border-radius:14px !important;
}

/* status dropdown matches filters */
.esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments #bookly-filter-status{
    background:linear-gradient(135deg,#d4af37,#f1df8d) !important;
    color:#111 !important;
    border-radius:18px !important;
    border:none !important;
    min-height:50px !important;
}

/* appointments table head */
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th,
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list.table thead th,
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list.table-striped thead th{
    background:linear-gradient(135deg,#d4af37,#f1df8d) !important;
    color:#111 !important;
    font-weight:700 !important;
    border-color:rgba(17,17,17,.22) !important;
}

.esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th *,
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th .sorting,
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th .sorting_asc,
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th .sorting_desc{
    color:#111 !important;
}

/* data tables row area */
.esp-panel[data-panel="appointments"] .bookly-js-appointments-list tbody td{
    color:#111 !important;
}

/* mobile appointments layout */
@media (max-width: 767px){
    .esp-panel[data-panel="appointments"]{
        overflow-x:hidden !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .form-row{
        display:block !important;
        margin:0 !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .form-row > [class*="col-"]{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        margin:0 0 14px !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn,
    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn-default,
    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .btn-success,
    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .bookly-btn,
    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .bookly-dropdown-toggle{
        width:100% !important;
        min-height:50px !important;
        justify-content:flex-start !important;
        text-align:left !important;
        padding:12px 16px !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-staff-cabinet-appointments .col-auto.ml-auto{
        margin-left:0 !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-js-appointments-list{
        width:100% !important;
    }

    .esp-panel[data-panel="appointments"] .bookly-js-appointments-list thead th{
        background:linear-gradient(135deg,#d4af37,#f1df8d) !important;
        color:#111 !important;
    }
}


/* v1.4.0 overview dashboard */
.esp-card--overview{
    background:transparent !important;
    padding:0 !important;
    overflow:visible !important;
}
.esp-overview{
    display:grid;
    gap:18px;
}
.esp-overview-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:24px;
    border-radius:24px;
    background:linear-gradient(135deg,#020f45,#0b184c 58%,#081432 100%);
    color:#fff;
    box-shadow:0 22px 48px rgba(0,0,0,.22);
}
.esp-eyebrow{
    display:inline-flex;
    width:fit-content;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(212,175,55,.18);
    color:#f1df8d;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:12px;
}
.esp-overview-hero h2{
    margin:0 0 8px;
    color:#fff;
    font-size:clamp(28px, 3vw, 42px);
    line-height:1.02;
}
.esp-overview-hero p{
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:16px;
    line-height:1.5;
}
.esp-overview-actions{
    display:grid;
    gap:12px;
}
.esp-overview-btn,
.esp-overview-link{
    appearance:none;
    border:none;
    border-radius:16px;
    padding:14px 18px;
    min-height:48px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    background:linear-gradient(135deg,#d4af37,#f1df8d);
    color:#111;
    box-shadow:0 12px 24px rgba(212,175,55,.18);
}
.esp-overview-btn--dark{
    background:#444d68;
    color:#fff;
    box-shadow:none;
}
.esp-overview-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.esp-overview-card{
    background:#ececec;
    color:#111;
    border-radius:22px;
    padding:20px;
    box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.esp-overview-card--highlight{
    background:linear-gradient(135deg,#f0d664,#f3e39f);
}
.esp-overview-card__label{
    display:block;
    color:#666;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:10px;
}
.esp-overview-card strong{
    display:block;
    font-size:32px;
    line-height:1.05;
    margin-bottom:8px;
}
.esp-overview-card small{
    display:block;
    font-size:14px;
    line-height:1.45;
    color:#444;
}
.esp-overview-panels{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:16px;
}
.esp-overview-panel{
    background:#ececec;
    color:#111;
    border-radius:22px;
    padding:20px;
    box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.esp-overview-panel h3{
    margin:0 0 14px;
    font-size:28px;
    line-height:1.1;
}
.esp-overview-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.esp-overview-list{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:12px;
}
.esp-overview-list li{
    display:flex;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid rgba(17,17,17,.08);
    padding-bottom:12px;
}
.esp-overview-list li:last-child{
    border-bottom:none;
    padding-bottom:0;
}
.esp-overview-list span{
    color:#666;
}
.esp-overview-list strong{
    color:#111;
}
@media (max-width: 1024px){
    .esp-overview-grid{
        grid-template-columns:1fr 1fr;
    }
    .esp-overview-panels{
        grid-template-columns:1fr;
    }
}
@media (max-width: 767px){
    .esp-overview-hero{
        grid-template-columns:1fr;
        padding:18px;
        border-radius:18px;
    }
    .esp-overview-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }
    .esp-overview-card{
        padding:16px;
        border-radius:18px;
    }
    .esp-overview-card strong{
        font-size:26px;
    }
    .esp-overview-panel{
        padding:16px;
        border-radius:18px;
    }
    .esp-overview-panel h3{
        font-size:24px;
    }
    .esp-overview-links{
        grid-template-columns:1fr;
    }
}
