.gctc-schedule,.gctc-schedule *{box-sizing:border-box}
.gctc-schedule{position:fixed;inset:0;z-index:999999;display:none!important;width:100vw;height:100dvh;overflow-y:auto!important;padding:20px;background:rgba(6,17,31,.77);color:#294453;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
.gctc-schedule.is-open{display:block!important}
.gctc-schedule-inner{width:min(1120px,100%);min-height:calc(100dvh - 40px);margin:0 auto;padding:clamp(18px,3vw,38px);border:1px solid #cbdce5;border-radius:24px;background:linear-gradient(135deg,#f2f9fc,#fffaf0);box-shadow:0 18px 55px rgba(0,0,0,.22)}
.gctc-schedule-close{display:block;margin:0 0 12px auto;padding:8px 14px;border:1px solid #bdced6;border-radius:999px;background:#fff;color:#294453;font-weight:700;cursor:pointer}
.gctc-schedule-head{display:flex;align-items:end;justify-content:space-between;gap:22px;flex-wrap:wrap}
.gctc-schedule-head h2{margin:7px 0 8px;font-size:clamp(26px,3vw,40px);line-height:1.2}
.gctc-schedule-head p{margin:0;line-height:1.6}
.gctc-schedule-eyebrow{color:#9b7b43;font-size:12px;font-weight:800;letter-spacing:.2em}
.gctc-schedule-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}.gctc-schedule-legend span{display:inline-flex;align-items:center;gap:6px}.gctc-schedule-legend i{width:11px;height:11px;border-radius:50%}.gctc-legend-consult{background:#557183}.gctc-legend-course{background:#b99a62}.gctc-legend-closed{background:#adb8bd}
.gctc-month-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin:30px 0 16px}.gctc-month-nav h3{min-width:160px;margin:0;text-align:center;font-size:23px}.gctc-month-nav button{width:42px;height:42px;border:1px solid #cbdce5;border-radius:50%;background:#fff;color:#294453;cursor:pointer;font-size:21px}.gctc-month-nav button:disabled{opacity:.4;cursor:not-allowed}
.gctc-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.gctc-weekday{text-align:center;font-size:13px;font-weight:800}.gctc-calendar-day{display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:5px;min-height:86px;padding:10px;border:1px solid #d8e3e8;border-radius:13px;background:#fff;color:#294453;text-align:left;cursor:pointer;font-size:17px;font-weight:700}.gctc-calendar-day:hover,.gctc-calendar-day.is-selected{border-color:#557183;box-shadow:inset 0 0 0 1px #557183}.gctc-calendar-day i:first-of-type{margin-left:auto}.gctc-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--slot-color)}.gctc-dot.is-locked{opacity:.35}.gctc-calendar-day small{width:100%;font-size:11px}
.gctc-day-panel{margin-top:22px}.gctc-day-panel h3{margin:0 0 12px;font-size:21px}.gctc-empty{padding:20px;border:1px dashed #cbdce5;border-radius:12px;background:#fff}.gctc-slot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:8px 0;padding:15px 18px;border:1px solid #d8e3e8;border-left:5px solid var(--slot-color);border-radius:13px;background:#fff}.gctc-slot.is-locked{background:#f6f7f7;border-left-color:#adb8bd}.gctc-slot-detail{display:grid;gap:4px}.gctc-slot-detail strong{font-size:17px}.gctc-slot-detail span{font-size:13px;color:#687d88}.gctc-book{display:inline-block;flex:0 0 auto;padding:10px 17px;border:0;border-radius:10px;background:#557183;color:#fff!important;text-decoration:none!important;font:700 14px "Noto Sans TC",sans-serif;cursor:pointer}.gctc-book:disabled{opacity:.5}.gctc-locked-label{font-size:13px;color:#71818a}.gctc-schedule-message{min-height:24px;margin:14px 0 0;color:#795b2d}
@media(max-width:640px){.gctc-schedule{padding:6px}.gctc-schedule-inner{min-height:calc(100dvh - 12px);padding:15px;border-radius:18px}.gctc-calendar{gap:3px}.gctc-calendar-day{min-height:62px;padding:6px 4px;border-radius:8px;font-size:13px}.gctc-dot{width:6px;height:6px;margin-top:4px}.gctc-month-nav{margin:20px 0 12px}.gctc-slot{align-items:flex-start;flex-direction:column;padding:12px}.gctc-book{width:100%;text-align:center}.gctc-schedule-head h2{font-size:26px}}
.gctc-registration-step-link{position:relative;cursor:pointer}.gctc-registration-step-link:focus-visible{outline:3px solid #557183;outline-offset:3px}.gctc-step-more{position:absolute;right:24px;bottom:17px;color:#416478;font-size:15px;font-weight:700;white-space:nowrap}
.gctc-plans,.gctc-plans *{box-sizing:border-box}
.gctc-plans{position:fixed;inset:0;z-index:1000000;display:none!important;width:100vw;height:100dvh;overflow-y:auto!important;padding:20px;background:rgba(6,17,31,.77);color:#294453;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
.gctc-plans.is-open{display:block!important}
.gctc-plans-inner{width:min(1120px,100%);margin:0 auto;padding:clamp(18px,3vw,38px);border:1px solid #cbdce5;border-radius:24px;background:linear-gradient(135deg,#f2f9fc,#fffaf0);box-shadow:0 18px 55px rgba(0,0,0,.22)}
.gctc-plans-close{display:block;margin:0 0 12px auto;padding:8px 14px;border:1px solid #bdced6;border-radius:999px;background:#fff;color:#294453;font-weight:700;cursor:pointer}
.gctc-plans h2{margin:6px 0 12px;font-size:clamp(27px,3vw,40px);line-height:1.25}.gctc-plans-intro{max-width:75ch;margin:0 0 25px;color:#607888;line-height:1.8}
.gctc-plan-group{margin-top:22px}.gctc-plan-group h3{margin:0 0 6px;font-size:clamp(21px,2.3vw,28px)}.gctc-plan-group>p{margin:0 0 13px;color:#607888;line-height:1.6}
.gctc-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gctc-plan-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #d2e0e7;border-radius:20px;background:#fff}.gctc-plan-en{margin:0 0 6px!important;color:#9b7b43!important;font-size:11px;font-weight:800;letter-spacing:.12em}.gctc-plan-card h4{margin:0 0 8px;font-size:22px;line-height:1.3}.gctc-plan-card strong{color:#3f6478;font-size:20px}.gctc-plan-card>p:not(.gctc-plan-en){flex:1;margin:11px 0 18px;color:#607888;line-height:1.65}.gctc-plan-action{display:inline-block;align-self:flex-start;padding:11px 17px;border:0;border-radius:10px;background:#557183;color:#fff!important;text-decoration:none!important;font:700 14px "Noto Sans TC","Microsoft JhengHei",sans-serif}.gctc-plan-action:disabled{background:#aebdc4;cursor:not-allowed}.gctc-plan-card small{margin-top:8px;color:#7a6a52;font-size:12px}.gctc-plan-note{margin:25px 0 0;padding:14px 18px;border:1px solid #e3d7be;border-radius:12px;background:#fffaf0;color:#725d3b;line-height:1.65}
@media(max-width:640px){.gctc-plans{padding:6px}.gctc-plans-inner{padding:17px;border-radius:18px}.gctc-plan-grid{grid-template-columns:1fr}.gctc-plan-card{padding:18px}.gctc-plan-card h4{font-size:20px}.gctc-plans h2{font-size:27px}}
