/* OEP Coaching — public schedule + batches + booking modal */
.oepc{--oepc-accent:#2b5cff;--oepc-dark:#13204a;width:100%;max-width:100%;margin:0;font-family:inherit;box-sizing:border-box}
.oepc *{box-sizing:border-box}
.oepc-h{font-size:22px;font-weight:800;color:var(--oepc-dark);margin:0 0 14px}
.oepc-empty{color:#666}

/* Tabs */
.oepc-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:2px solid #e7ebf3;margin-bottom:14px}
.oepc-tab{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 16px;
	font-size:14px;font-weight:700;color:#69708a;cursor:pointer}
.oepc-tab.is-active{color:var(--oepc-accent);border-bottom-color:var(--oepc-accent)}
.oepc-panel{display:none}
.oepc-panel.is-active{display:block}

/* Tables */
.oepc-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;
	box-shadow:0 6px 24px rgba(20,30,80,.06)}
.oepc-table thead th{background:var(--oepc-dark);color:#fff;text-align:left;padding:12px 14px;font-size:13px}
.oepc-table td{padding:12px 14px;border-top:1px solid #eef1f6;font-size:14px;color:#23304f}
.oepc-table tbody tr:nth-child(even){background:#f6f9ff}
.oepc-course{font-weight:800;color:#c0392b}
.oepc-note{color:#7a8199;font-size:12px}

/* Seats */
.oepc-seats{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.oepc-seats.ok{background:#e3f7e8;color:#1a7f37}
.oepc-seats.low{background:#fff1e0;color:#b9650b}
.oepc-seats.full{background:#fdecec;color:#c0392b}
.oepc-demo-btn{background:var(--oepc-accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;
	font-weight:700;font-size:13px;cursor:pointer}
.oepc-demo-btn:hover{filter:brightness(.93)}
.oepc-demo-btn[disabled]{opacity:.5;cursor:not-allowed}
.oepc-perks{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;color:#46506e;font-size:13px;font-weight:600}

/* Legend */
.oepc-legend{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 12px}
.oepc-leg{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#46506e}
.oepc-leg i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* Calendar */
.oepc-cal{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;border-radius:12px;
	overflow:hidden;box-shadow:0 6px 24px rgba(20,30,80,.06)}
.oepc-cal th{background:var(--oepc-dark);color:#fff;padding:8px 4px;font-size:12px;font-weight:700}
.oepc-cal td{border:1px solid #eef1f6;vertical-align:top;height:96px;padding:4px;width:14.28%}
.oepc-cal-empty{background:#fafbfe}
.oepc-cal-day.has{background:#f6f9ff}
.oepc-dnum{display:block;font-size:12px;font-weight:700;color:#69708a;margin-bottom:2px}
.oepc-chip{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--c,#2b5cff);
	background:color-mix(in srgb,var(--c,#2b5cff) 12%,#fff);color:#1f2533;border-radius:5px;
	padding:3px 5px;margin:0 0 3px;cursor:pointer;font-size:11px;line-height:1.2}
.oepc-chip:hover{filter:brightness(.97)}
.oepc-chip-c{display:block;font-weight:700;color:var(--c,#2b5cff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oepc-chip-t{display:block;color:#5a6172}

/* Mobile agenda (chronological list) — hidden on desktop */
.oepc-agenda{display:none}
.oepc-ag{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;
	border:1px solid var(--oepc-dark,#e7ebf3);border-left:4px solid var(--c,#2b5cff);border-color:#e7ebf3;
	border-radius:10px;padding:10px 12px;margin:0 0 8px}
.oepc-ag-main{min-width:0}
.oepc-ag-course{display:block;font-weight:700;color:var(--c,#2b5cff);font-size:14px}
.oepc-ag-when{display:block;font-size:12px;color:#69708a;margin-top:1px}
.oepc-ag .oepc-demo-btn{flex:0 0 auto;padding:8px 14px}

@media(max-width:782px){
	.oepc-schedule .oepc-cal{display:none}
	.oepc-schedule .oepc-agenda{display:block}
	.oepc-legend{gap:10px}
	.oepc-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
}

/* Modal */
.oepc-modal-sub{color:#5a6172;font-size:13px;margin:-6px 0 12px}
.oepc-session-row input{background:#f3f6ff;font-weight:600}
.oepc-modal{position:fixed;inset:0;background:rgba(10,16,40,.55);display:flex;align-items:center;
	justify-content:center;z-index:99999;padding:16px}
.oepc-modal[hidden]{display:none}
.oepc-modal-box{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;position:relative;
	box-shadow:0 20px 60px rgba(0,0,0,.3)}
.oepc-modal-box h3{margin:0 0 14px;color:var(--oepc-dark);font-size:20px}
.oepc-modal-close{position:absolute;top:10px;right:14px;border:0;background:none;font-size:24px;cursor:pointer;color:#888}
.oepc-demo-form label{display:block;font-size:13px;font-weight:600;color:#5a6172;margin-bottom:10px}
.oepc-demo-form input{width:100%;padding:10px 12px;border:1px solid #e3e6ee;border-radius:9px;font-size:14px;margin-top:4px}
.oepc-submit{width:100%;background:#1a9c4a;color:#fff;border:0;border-radius:10px;padding:13px;font-weight:700;
	font-size:15px;cursor:pointer;margin-top:6px}
.oepc-submit:hover{filter:brightness(.93)}
.oepc-msg{margin-top:10px;text-align:center;font-size:14px}
.oepc-msg.ok{color:#1a7f37}
.oepc-msg.err{color:#c0392b}

@media(max-width:560px){
	.oepc-table thead{display:none}
	.oepc-batch-table td{display:block;border-top:0;padding:6px 14px}
	.oepc-batch-table tbody tr{display:block;border-top:1px solid #eef1f6;padding:8px 0}
}
