.mgo-schedule{--mgo-navy:#19364b;--mgo-mint:#65bcaa;--mgo-coral:#ed897c;font-family:inherit;color:var(--mgo-navy);background:#fff;border:1px solid #e0ece8;border-radius:24px;overflow:hidden;margin:24px 0;box-shadow:0 12px 40px #19364b09;line-height:1.5;container-type:inline-size;text-align:left}.mgo-schedule *{box-sizing:border-box}.mgo-schedule .mgo-heading{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:32px;background:linear-gradient(115deg,#edf8f3,#f9fcf9 65%,#fff2ec)}.mgo-schedule .mgo-eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800}.mgo-eyebrow span{color:#337f71}.mgo-schedule .mgo-heading h2{font-size:clamp(23px,3vw,34px);font-weight:800;letter-spacing:-.7px;line-height:1.15;color:var(--mgo-navy);margin:12px 0}.mgo-schedule .mgo-heading p{margin:0;font-size:14px;max-width:650px;color:#4e6670}.mgo-schedule .mgo-heading-badge{flex-shrink:0;background:var(--mgo-navy);color:#fff;border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1.45;font-weight:700;transform:rotate(7deg)}.mgo-schedule .mgo-desktop{padding:16px 20px 20px}.mgo-schedule .mgo-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;margin:0;border:none;font-size:12px}.mgo-schedule .mgo-table th,.mgo-schedule .mgo-table td{border:0;border-bottom:1px solid #eaf0ee;vertical-align:top;padding:7px 4px;background:#fff}.mgo-schedule .mgo-table td{border-left:1px solid #edf2f0;height:65px}.mgo-schedule .mgo-table thead th{font-size:12px;text-align:center;padding:18px 2px;color:var(--mgo-navy);background:#fff;font-weight:700}.mgo-schedule .mgo-table th:first-child{width:53px}.mgo-schedule .mgo-table tbody th{font-size:11px;padding-top:12px;font-weight:600;color:#657880}.mgo-schedule .mgo-card{position:relative;border-radius:11px;padding:11px 9px;background:#e7f5ef;border-top:3px solid #65bcaa;margin:0 0 7px;color:var(--mgo-navy);overflow-wrap:anywhere;box-shadow:0 3px 8px #19364b05}.mgo-schedule .mgo-card:last-child{margin-bottom:0}.mgo-schedule .mgo-coral{background:#fff0e9;border-color:#ed897c}.mgo-schedule .mgo-navy{background:#eaf0f6;border-color:#19364b}.mgo-schedule .mgo-time{font-size:12px;font-weight:800;letter-spacing:-.2px}.mgo-schedule .mgo-card h4{font-size:13px;line-height:1.35;margin:7px 0 8px;font-weight:800;color:var(--mgo-navy)}.mgo-schedule .mgo-card p{font-size:11px;line-height:1.4;margin:5px 0;color:#365461}.mgo-schedule .mgo-age{font-weight:700}.mgo-schedule .mgo-duration{display:inline-block;font-size:10px;font-weight:600;background:#ffffffa6;padding:2px 7px;border-radius:20px;margin-top:5px}.mgo-schedule .mgo-footer{border-top:1px solid #eaf0ee;background:#fafcfb;padding:16px 24px;font-size:11px;letter-spacing:.3px;color:#526d75;text-align:center}.mgo-footer span{color:#c16357;padding:0 10px}.mgo-schedule .mgo-empty{padding:14px 24px;background:#fff5ed;font-size:14px;margin:16px 20px;border-radius:12px}.mgo-schedule .mgo-mobile{display:none}.mgo-schedule .mgo-mobile-day{padding:0 20px 20px}.mgo-schedule .mgo-mobile-day h3{font-size:16px;margin:12px 0;color:var(--mgo-navy)}.mgo-schedule .mgo-day-empty{font-size:12px;color:#667b83;border:1px dashed #d5e3de;border-radius:10px;padding:12px;margin:0}.mgo-schedule .mgo-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@container (max-width:600px){.mgo-schedule .mgo-desktop{display:none}.mgo-schedule .mgo-mobile{display:block}.mgo-schedule .mgo-heading{padding:24px}.mgo-schedule .mgo-heading-badge{display:none}.mgo-schedule .mgo-card{padding:16px}.mgo-schedule .mgo-card h4{font-size:16px}.mgo-schedule .mgo-card p,.mgo-schedule .mgo-time{font-size:14px}}
@media(max-width:600px){.mgo-schedule .mgo-desktop{display:none}.mgo-schedule .mgo-mobile{display:block}.mgo-schedule .mgo-heading{padding:24px}.mgo-schedule .mgo-heading-badge{display:none}.mgo-schedule .mgo-card{padding:16px}.mgo-schedule .mgo-card h4{font-size:16px}.mgo-schedule .mgo-card p,.mgo-schedule .mgo-time{font-size:14px}}
@media print{.mgo-schedule{box-shadow:none}.mgo-schedule .mgo-card{break-inside:avoid}}
/* 1.1.0: Classic weekly timetable with colored day headers. */
.mgo-schedule{padding:0}
.mgo-schedule .mgo-desktop{padding:20px}
.mgo-schedule .mgo-table{border:1px solid #d5e4df;border-radius:12px;overflow:hidden}
.mgo-schedule .mgo-table thead th{background:#18486c;color:#fff;padding:15px 4px;border-bottom:0;font-size:12px}
.mgo-schedule .mgo-table thead th:nth-child(3n+2){background:#d9f3e8;color:#18486c}
.mgo-schedule .mgo-table thead th:nth-child(3n+3){background:#ffdfd2;color:#18486c}
.mgo-schedule .mgo-table thead th:first-child{background:#edf5f1;color:#18486c}
.mgo-schedule .mgo-table tbody th{background:#edf5f1;color:#18486c;font-weight:700;border-bottom:1px solid #c6ddd3;padding:14px 4px;text-align:center}
.mgo-schedule .mgo-table tbody td{height:78px;border-bottom:1px solid #c6ddd3;border-left:1px solid #c6ddd3;padding:7px 5px}
.mgo-schedule .mgo-table tbody tr:nth-child(even) td{background:#f8fbf9}
.mgo-schedule .mgo-table tbody tr:last-child td,.mgo-schedule .mgo-table tbody tr:last-child th{border-bottom:0}
.mgo-schedule .mgo-card{box-shadow:none}
.mgo-schedule .mgo-mobile-day{margin:16px 20px;padding:0 0 14px;border:1px solid #d5e4df;border-radius:14px;overflow:hidden;background:#fff}
.mgo-schedule .mgo-mobile-day h3{margin:0 0 14px;padding:12px 16px;background:#18486c;color:#fff;font-size:16px}
.mgo-schedule .mgo-mobile-day:nth-child(3n+1) h3{background:#d9f3e8;color:#18486c}
.mgo-schedule .mgo-mobile-day:nth-child(3n+2) h3{background:#ffdfd2;color:#18486c}
.mgo-schedule .mgo-mobile-day .mgo-card{margin:10px 14px}
.mgo-schedule .mgo-mobile-day .mgo-day-empty{margin:0 14px;border:0;padding:3px 0}

/* 1.1.2: Collapse consecutive hours without cards into one slim spacer. */
.mgo-schedule .mgo-table tbody tr.mgo-gap th,
.mgo-schedule .mgo-table tbody tr.mgo-gap td{height:28px;padding:4px 2px;vertical-align:middle;line-height:1.3;background:#f4f8f6}
.mgo-schedule .mgo-table tbody tr.mgo-gap th{font-size:9px;overflow-wrap:normal}

/* 1.2.0: Independent day columns show only manually selected hours. */
.mgo-schedule .mgo-week-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:20px;align-items:start}
.mgo-schedule .mgo-week-day{min-width:0;border:1px solid #d5e4df;border-radius:12px;overflow:hidden;background:#fff}
.mgo-schedule .mgo-week-day h3{margin:0;padding:14px 4px;text-align:center;font-size:13px;line-height:1.4;background:#18486c;color:white;overflow-wrap:anywhere}
.mgo-schedule .mgo-week-day:nth-child(3n+1) h3{background:#d9f3e8;color:#18486c}
.mgo-schedule .mgo-week-day:nth-child(3n+2) h3{background:#ffdfd2;color:#18486c}
.mgo-schedule .mgo-day-slots{padding:6px}
.mgo-schedule .mgo-hour-slot{padding:5px 0;border-bottom:1px solid #eaf0ee}
.mgo-schedule .mgo-hour-slot:last-child{border-bottom:0}
.mgo-schedule .mgo-slot-label{font-size:11px;font-weight:700;color:#526d75;padding:2px 3px 5px}
.mgo-schedule .mgo-week-day .mgo-day-empty{border:0;padding:8px 3px;font-size:11px}
@container(max-width:600px){.mgo-schedule .mgo-week-columns{grid-template-columns:1fr;padding:16px;gap:14px}.mgo-schedule .mgo-week-day h3{font-size:16px;text-align:left;padding:12px 16px}.mgo-schedule .mgo-day-slots{padding:10px}.mgo-schedule .mgo-slot-label{font-size:13px}}
@media(max-width:600px){.mgo-schedule .mgo-week-columns{grid-template-columns:1fr;padding:16px;gap:14px}.mgo-schedule .mgo-week-day h3{font-size:16px;text-align:left;padding:12px 16px}.mgo-schedule .mgo-day-slots{padding:10px}.mgo-schedule .mgo-slot-label{font-size:13px}}
