.va-scheduler-wrapper { display:flex; justify-content:center; padding:20px; box-sizing:border-box; }
.va-scheduler-inner { max-width:1200px; width:100%; background:#ffffff; border-radius:8px; padding:18px; box-shadow:0 6px 18px rgba(24,24,24,0.06); }

.va-title { text-align:center; margin:0 0 12px 0; font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial; }

.va-scheduler-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.va-rate-group label { margin-right:12px; display:inline-block; font-size:14px; }
.va-rate-group input { width:90px; margin-left:6px; padding:6px 8px; border-radius:6px; border:1px solid #e5e7eb; }
.va-controls-right button { margin-left:8px; padding:8px 12px; border:1px solid #d1d5db; background:#fbfbff; cursor:pointer; border-radius:6px; }

.va-scheduler-table-container { overflow:auto; margin-bottom:14px; }
.va-scheduler-table { border-collapse:collapse; width:100%; min-width:1300px; table-layout:fixed; }
.va-scheduler-table thead th { position:sticky; top:0; background:#f8fafc; border:1px solid #eef2ff; padding:10px; text-align:center; font-weight:700; z-index:3; }
.va-scheduler-table thead tr:first-child th.day-group { font-size:15px; padding-top:14px; padding-bottom:6px; }
.va-scheduler-table thead tr + tr th.sub-head { font-weight:700; padding:6px; background:#fbfbfd; }

.time-col { text-align:left; padding-left:10px; background:#ffffff; font-size:13px; position:sticky; left:0; z-index:4; border-right:1px solid #f1f5f9; min-width:90px; }
.time-col-head { left:0; z-index:5; }

.va-scheduler-table tbody td, .va-scheduler-table tfoot td { border:1px solid #f3f6fb; padding:8px; text-align:center; vertical-align:middle; min-width:56px; height:34px; cursor:pointer; user-select:none; overflow:hidden; background:#fff; border-radius:4px; }

.sched-cell { font-weight:700; line-height:1; transition:background 120ms ease, transform 80ms ease; }

/* soft pastel colors */
.sched-cell[data-va="X"].va-x { background:#cfe8fc; color:#064e6a; }
.sched-cell[data-va="Y"].va-y { background:#d8f3dc; color:#1b5e20; }
.sched-cell[data-va="Z"].va-z { background:#ffe9d6; color:#7a2e0f; }

.sched-cell:hover { background:#f1f7ff; transform:translateY(-1px); }

.va-daily-summary-wrap { margin-top:6px; display:flex; justify-content:center; }
.va-daily-summary { border-collapse:collapse; width:100%; max-width:900px; background:#fff; box-shadow:0 4px 12px rgba(15,15,15,0.04); border-radius:8px; overflow:hidden; }
.va-daily-summary th, .va-daily-summary td { padding:10px 12px; border-bottom:1px solid #f3f6fb; text-align:center; }
.va-daily-summary thead th { background:#fbfbfe; font-weight:700; }
.va-daily-summary tbody tr:nth-child(odd) td { background:#ffffff; }
.va-daily-summary tbody tr:nth-child(even) td { background:#fbfcfd; }

.weekly-total { font-weight:700; background:#fcfcff; }

.va-scheduler-results { margin-top:12px; display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.va-result-item { font-size:14px; }
.va-result-item.total { font-weight:700; }

.va-scheduler-hint { margin-top:8px; color:#666; font-size:13px; text-align:center; }

/* responsive adjustments */
@media (max-width: 900px) {
    .va-scheduler-inner { padding:12px; }
    .va-scheduler-table { min-width:1000px; }
    .va-daily-summary { max-width:100%; font-size:13px; }
}
