.scv-staff-schedule-wrap{width:100%;max-width:none;margin:0;padding:0 8px 20px;box-sizing:border-box}.entry-content .scv-staff-schedule-wrap,.site-main .scv-staff-schedule-wrap,.wp-site-blocks .scv-staff-schedule-wrap{max-width:none;width:100%}
.scv-staff-heading h2{font-size:32px;line-height:1.1;margin:0 0 8px}.scv-staff-description{font-size:14px;line-height:1.45;color:#333;max-width:900px;margin:0 0 14px}
.scv-category-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.scv-category-filter label{font-weight:700}.scv-category-filter select{padding:8px 12px;border:1px solid #ccc;border-radius:10px;background:#fff;color:#111;font-size:14px}
.scv-day-block{margin-bottom:20px;overflow:auto}.scv-day-inner{display:inline-block;min-width:max-content;width:max-content;max-width:none}.scv-day-title{position:sticky;left:0;top:0;z-index:40;background:#3b1e72;color:#fff;padding:12px 18px;font-weight:700;font-size:22px;border-radius:12px 12px 0 0}.scv-schedule-grid{display:grid;position:relative;background:#fafafa;border:1px solid #d8d8d8;border-top:0;width:max-content;max-width:none;grid-auto-flow:row dense;grid-auto-columns:0}.scv-mobile-list{display:none}
.scv-corner,.scv-trainer-header,.scv-time-cell,.scv-grid-cell{border-right:1px solid #ddd;border-bottom:1px dotted #a6a6a6}.scv-corner{position:sticky;left:0;top:0;z-index:35;display:flex;align-items:center;justify-content:center;font-weight:700;background:#f0f0f0;font-size:15px;min-width:92px}.scv-trainer-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;padding:6px 8px;text-align:center;font-size:12px;line-height:1.15;text-transform:uppercase;min-height:40px;min-width:110px}.scv-time-cell{position:sticky;left:0;z-index:25;display:flex;align-items:center;justify-content:center;background:#fff;font-size:11.5px;font-weight:700;padding:5px 4px;text-align:center;min-width:92px}.scv-grid-cell{background:#f2f2f2;min-height:32px;min-width:110px}.scv-time-cell-alt{background:#ececec}.scv-grid-cell-alt{background:#e9e9e9}
.scv-session-card,.scv-mobile-card{position:relative;z-index:2;margin:2px;padding:5px 7px;background:#fff;border:3px solid #666;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;cursor:pointer;text-align:center;font:inherit;appearance:none;color:#111;min-width:0}.scv-session-card *,.scv-mobile-card *{color:#111}.scv-session-card:hover,.scv-mobile-card:hover{transform:translateY(-1px)}
.scv-session-type{font-size:10px;text-transform:uppercase;font-weight:700;opacity:.9;line-height:1.05}.scv-session-title{font-weight:800;font-size:clamp(11px,.9vw,14px);line-height:1.05;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;max-width:100%;text-wrap:balance}.scv-card-registered,.scv-mobile-registered{font-size:12px;line-height:1.2;font-weight:700;overflow-wrap:anywhere;white-space:normal;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.scv-card-registered-names{display:block}
.scv-slot-status{display:inline-flex;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:700}.scv-slot-status.scv-state-available{background:#edf9f0;border:1px solid #7ac28c}.scv-slot-status.scv-state-last{background:#fff8dd;border:1px solid #f0c24b}.scv-slot-status.scv-state-filled{background:#fde9ec;border:1px solid #e0707f}.scv-slot-status.scv-state-closed{background:#ececec;border:1px solid #9d9d9d}
.scv-modal[hidden]{display:none}.scv-modal{position:fixed;inset:0;z-index:99999}.scv-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.scv-modal-panel{position:relative;z-index:2;max-width:min(860px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow:auto;background:#fff;border-radius:18px;padding:18px;margin:10px auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.scv-modal-content,.scv-modal-content *{color:#111 !important}.scv-modal-top-actions{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:10px}.scv-modal-close-inline{border:1px solid #d0d0d0;background:#fff;color:#111;width:38px;height:38px;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.08);font-size:24px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.scv-modal-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px;padding-right:130px}.scv-modal-heading-main{display:grid;gap:6px}.scv-modal-type-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.scv-modal-type-time{font-size:15px;font-weight:700;color:#333}.scv-modal-title{font-size:26px;font-weight:800;line-height:1.1}.scv-modal-subtitle{font-size:15px;opacity:.9}.scv-modal-meta{display:grid;gap:10px;margin-bottom:14px;font-size:15px}.scv-modal-description{padding:12px;background:#faf7ff;border:1px solid #e3d8ff;border-radius:12px}
.scv-modal-signup-block{padding:16px;border:1px solid #e1e1e1;border-radius:14px;background:#fafafa;margin-bottom:16px}.scv-modal-capacity{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.scv-modal-capacity strong{font-size:20px}.scv-modal-closed-message{padding:12px 14px;border-radius:10px;background:#fff0f0;border:1px solid #efb3b3;font-weight:700}
.scv-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scv-inline-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}.scv-inline-grid input{padding:11px;border:1px solid #ccc;border-radius:8px;width:100%;box-sizing:border-box}.scv-inline-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.scv-submit-btn,.scv-submit-btn:hover,.scv-submit-btn:focus,.scv-submit-btn:active{background:#3b1e72;color:#fff !important;border:0;padding:12px 16px;border-radius:10px;cursor:pointer;font-weight:700}.scv-form-message{font-size:14px;min-height:20px;margin-top:8px}.scv-form-message.success{color:#0b7a35}.scv-form-message.error{color:#b42318}
.scv-registered-list{background:#f8f8f8;border:1px dashed #cfcfcf;border-radius:10px;padding:12px}.scv-registered-title{font-size:12px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.scv-registered-names{display:flex;flex-wrap:wrap;gap:6px}.scv-registered-person{background:#111;border:1px solid #111;color:#fff !important;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;max-width:100%;line-height:1}.scv-registered-empty{font-size:12px;opacity:.75;font-weight:700}.scv-staff-empty{padding:20px;background:#fff8d9;border:1px solid #f0d06d;border-radius:10px}body.scv-modal-open{overflow:hidden}
.scv-inline-grid input[name="phone"]{-moz-appearance:textfield}.scv-inline-grid input[name="phone"]::-webkit-outer-spin-button,.scv-inline-grid input[name="phone"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.scv-row-span-1,.scv-row-span-2{padding:4px 5px 3px;gap:2px;justify-content:flex-start}.scv-row-span-1 .scv-session-type,.scv-row-span-2 .scv-session-type{font-size:7.8px;line-height:1.02;letter-spacing:.01em;flex:0 0 auto}.scv-row-span-1 .scv-session-title,.scv-row-span-2 .scv-session-title{font-size:clamp(9px,.72vw,11px);line-height:1.02;-webkit-line-clamp:2;line-clamp:2;min-height:0;max-height:2.08em;margin:0;flex:0 0 auto}.scv-row-span-1 .scv-card-registered,.scv-row-span-2 .scv-card-registered{font-size:8.8px;gap:3px;min-height:0;line-height:1;flex:0 0 auto}.scv-row-span-1 .scv-registered-person,.scv-row-span-2 .scv-registered-person{padding:2px 5px;font-size:7.6px}.scv-row-span-1 .scv-registered-empty,.scv-row-span-2 .scv-registered-empty{font-size:8.6px;line-height:1}.scv-row-span-3 .scv-session-title{font-size:clamp(10px,.8vw,12px);-webkit-line-clamp:3;line-clamp:3}

.scv-session-card,.scv-mobile-card{position:relative}.scv-card-complete{position:absolute;top:5px;right:5px;width:14px;height:14px;border-radius:999px;background:#1f9d45;color:#fff !important;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.15)}
@media (max-width:1200px){.scv-session-title{font-size:10.5px}.scv-trainer-header{font-size:10px}.scv-grid-cell,.scv-trainer-header{min-width:90px}}
@media (max-width:767px){.scv-staff-schedule-wrap{padding:0 6px 16px}.scv-staff-heading h2{font-size:26px}.scv-day-block{overflow:visible}.scv-day-inner{min-width:0;width:100%;max-width:100%}.scv-day-title{position:sticky;top:0;font-size:18px;padding:10px 14px}.scv-schedule-grid{display:none;min-width:0}.scv-mobile-list{display:grid;gap:10px;margin:12px 8px 0}.scv-mobile-card{margin:0;padding:10px 12px;align-items:center;text-align:center;width:100%;box-sizing:border-box}.scv-mobile-card .scv-session-title{white-space:normal;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}.scv-mobile-registered{justify-content:center}.scv-modal-panel{width:calc(100vw - 12px);max-width:none;max-height:calc(100vh - 12px);margin:6px auto;padding:14px;border-radius:14px}.scv-modal-top-actions{top:10px;right:10px}.scv-modal-top{padding-right:0;margin-top:48px}.scv-modal-title{font-size:22px}.scv-inline-grid{grid-template-columns:1fr}.scv-inline-grid input{font-size:16px}.scv-category-filter{display:grid;grid-template-columns:1fr}.scv-category-filter select{width:100%;font-size:16px}.scv-card-complete{top:8px;right:8px}}

.scv-staff-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.scv-staff-heading-logo img{display:block;max-height:56px;width:auto}.scv-staff-heading-text{min-width:0}


.scv-control-page-body{margin:0;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif}
.scv-control-page-shell{max-width:none;width:100%;padding:0 16px 32px;box-sizing:border-box}
.scv-control-page-wrap{max-width:none;width:100%}
.scv-schedule-switcher{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:18px 0 10px;position:sticky;top:0;background:#fff;z-index:30}
.scv-switch-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #d0d0d0;border-radius:999px;background:#fff;color:#111;text-decoration:none;font-weight:700}
.scv-switch-link.is-active{background:#3b1e72;border-color:#3b1e72;color:#fff}
.scv-modal-close-inline:hover,.scv-modal-close-inline:focus{background:#e91e63;color:#fff;border-color:#e91e63}
@media (max-width:767px){.scv-control-page-shell{padding:0 10px 20px}.scv-schedule-switcher{padding-top:12px}}


.scv-mobile-view-toggle{display:none}
@media (max-width:767px){
.scv-mobile-view-enabled .scv-mobile-view-toggle{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:8px 8px 0}
.scv-mobile-view-enabled .scv-view-btn{border:1px solid #d0d0d0;background:#fff;color:#111;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;line-height:1;cursor:pointer}
.scv-mobile-view-enabled .scv-view-btn.is-active{background:#3b1e72;border-color:#3b1e72;color:#fff}
.scv-mobile-view-enabled.scv-view-table .scv-mobile-list{display:none}
.scv-mobile-view-enabled.scv-view-table .scv-schedule-grid{display:grid;min-width:max-content}
.scv-mobile-view-enabled.scv-view-list .scv-mobile-list{display:grid}
.scv-mobile-view-enabled.scv-view-list .scv-schedule-grid{display:none}
.scv-mobile-view-enabled.scv-view-table .scv-day-block{overflow:auto}
}




@media (max-width:767px){
  /* Em mobile o seletor Lista/Tabela existe, mas a vista desktop continua a ser sempre tabela.
     Também removemos o comportamento sticky do topo para evitar sobreposição ao fazer scroll. */
  .scv-day-title{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    z-index:1 !important;
  }
  .scv-mobile-view-toggle{
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:flex-end;
    padding:8px 8px 0;
  }
}
@media (min-width:768px){
  .scv-mobile-view-toggle{
    display:none !important;
  }
}



/* Hover dos blocos/células em desktop */
.scv-session-card:hover,
.scv-session-block:hover,
.scv-grid-session:hover,
.scv-schedule-card:hover,
.scv-cell:hover{
  background:#f1f1f1 !important;
}

/* Mobile: nada fixo/sticky */
@media (max-width:767px){
  .scv-day-title,
  .scv-schedule-title,
  .scv-grid-header,
  .scv-grid-top,
  .scv-time-column,
  .scv-time-header,
  .scv-header-row,
  .scv-mobile-view-toggle,
  .scv-schedule-nav,
  .scv-category-filter,
  .scv-filter-bar{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    transform:none !important;
  }
}
