.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}.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 #fff0;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}.oepc-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgb(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}.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}.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}.oepc-cal{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgb(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}.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}}.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:rgb(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 rgb(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}}.oepc-cal-day{position:relative}.oepc-chip{position:relative}.oepc .oepc-chip,.oepc .oepc-chip:hover,.oepc .oepc-chip:focus,.oepc .oepc-chip:active{background:color-mix(in srgb,var(--c,#2b5cff) 12%,#fff);color:#1f2533}.oepc .oepc-chip:hover .oepc-chip-c,.oepc .oepc-chip:focus .oepc-chip-c{color:var(--c,#2b5cff)}.oepc .oepc-chip:hover .oepc-chip-t,.oepc .oepc-chip:focus .oepc-chip-t{color:#5a6172}.oepc-cal-day:hover .oepc-chip{filter:brightness(.98)}.oepc-day-book{position:absolute;left:4px;right:4px;bottom:4px;border:0;border-radius:6px;background:var(--oepc-dark,#16266b);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;padding:5px 6px;cursor:pointer;opacity:0;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.oepc-cal-day:hover .oepc-day-book,.oepc-cal-day:focus-within .oepc-day-book{opacity:1;transform:none}.oepc-day-book:hover{filter:brightness(1.15)}.oepc-day-book:focus-visible,.oepc-chip:focus-visible{outline:2px solid var(--oepc-dark,#16266b);outline-offset:1px}.oepc-cal-day:focus-within .oepc-day-book{opacity:1;transform:none}.oepc-session-pick[hidden]{display:none}.oepc-demo-form select{width:100%;padding:10px 12px;border:1px solid #e3e6ee;border-radius:9px;font-size:14px;margin-top:4px;background:#fff;color:#1f2533}.oepc-req{color:#e5484d;font-weight:700}.oepc-thanks{padding:26px 8px 22px;text-align:center;animation:oepc-thanks-in .28s ease-out}.oepc-thanks-tick{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#e2f2ea;color:#0d6b45;font-size:30px;line-height:56px;font-weight:700}.oepc-thanks h3{margin:0 0 8px;font-size:20px;line-height:1.25;color:#131a33}.oepc-thanks p{margin:0 auto;max-width:34ch;color:#5a6486;font-size:14.5px;line-height:1.6;white-space:pre-line}.oepc-thanks-note{margin-top:18px;font-size:12px;letter-spacing:.04em;color:#98a0b8}@keyframes oepc-thanks-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.oepc-thanks{animation:none}}.oepc-err{display:none;margin-top:4px;font-size:12px;font-weight:500;color:#c0392b}.oepc-demo-form label.is-invalid .oepc-err{display:block}.oepc-demo-form label.is-invalid input{border-color:#c0392b;box-shadow:0 0 0 3px rgb(192 57 43 / .1)}.oepc-otp{margin:-4px 0 12px}.oepc-otp-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.oepc-otp-send,.oepc-otp-verify{border:1px solid var(--oepc-dark,#16266b);background:#fff0;color:var(--oepc-dark,#16266b);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.oepc-otp-send:hover:not([disabled]),.oepc-otp-verify:hover:not([disabled]){background:var(--oepc-dark,#16266b);color:#fff}.oepc-otp-send[disabled],.oepc-otp-verify[disabled]{opacity:.5;cursor:default}.oepc-otp-entry{display:flex;align-items:center;gap:7px}.oepc-otp-entry[hidden]{display:none}.oepc-demo-form .oepc-otp-code{width:108px;letter-spacing:.35em;text-align:center;font-weight:700;padding:8px 10px;border:1px solid #e3e6ee;border-radius:8px;font-size:14px;margin:0}.oepc-otp-msg{margin-top:5px;font-size:12px}.oepc-otp-msg.ok{color:#1a7f37}.oepc-otp-msg.err{color:#c0392b}.oepc-otp.is-verified .oepc-otp-msg.ok::before{content:"✓ "}