/* /lich-khai-giang.html — page styles (scoped to .p-schedule) */

/* header: "sắp diễn ra" card */
.p-schedule .cx-next{ justify-self:stretch; width:100%; max-width:420px; margin-inline:auto; }
.p-schedule .cx-next__card{ position:relative; display:grid; gap:12px; padding:18px; border-radius:22px; color:var(--ta-text); background:#fff; border:3px solid #fff; outline:3px solid var(--ta-sun); outline-offset:3px; box-shadow:0 22px 44px rgba(0,0,0,.35); }
.p-schedule .cx-next__card--skel{ min-height:250px; align-content:start; }
.p-schedule .cx-next__top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.p-schedule .cx-next__k{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:var(--ta-gold-700); }
.p-schedule .cx-next__k .ta-ico{ width:15px; height:15px; color:var(--ta-sun-600); }
.p-schedule .cx-next__row{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start; }
.p-schedule .cx-next__date{ display:grid; justify-items:center; width:70px; padding:8px 4px; border-radius:14px; text-align:center; color:#4A2A00; background:var(--ta-g-gold); box-shadow:var(--ta-sh-gold), inset 0 1px 0 rgba(255,255,255,.6); line-height:1.05; }
.p-schedule .cx-next__date b{ font-family:var(--ta-font-display); font-size:32px; font-weight:900; }
.p-schedule .cx-next__date span{ font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.p-schedule .cx-next__date small{ margin-top:4px; padding-top:4px; border-top:1px solid rgba(74,42,0,.25); font-size:10.5px; font-weight:800; width:80%; }
.p-schedule .cx-next__txt{ display:grid; gap:6px; justify-items:start; min-width:0; }
.p-schedule .cx-next__title{ font-family:var(--ta-font-title); font-weight:700; font-size:18px; line-height:1.3; color:var(--ta-maroon-500); }
.p-schedule .cx-next__meta{ display:flex; gap:6px; align-items:flex-start; font-size:13px; color:var(--ta-text-2); }
.p-schedule .cx-next__meta .ta-ico{ width:14px; height:14px; margin-top:2px; color:var(--ta-red); flex:0 0 auto; }
.p-schedule .cx-next .ta-countdown{ justify-content:center; }
.p-schedule .cx-next .ta-btn .ta-ico{ width:17px; height:17px; }
@media (max-width:959px){ .p-schedule .cx-next{ margin-top:6px; } }

/* registration flow strip */
.p-schedule .cx-flow__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; counter-reset:flow; }
@media (min-width:1024px){ .p-schedule .cx-flow__list{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } }
.p-schedule .cx-flow__list li{ position:relative; display:flex; gap:10px; align-items:flex-start; padding:14px 12px; background:#fff; border:1px solid #EFE6DC; border-radius:var(--ta-r-xl); box-shadow:var(--ta-sh-card); counter-increment:flow; }
.p-schedule .cx-flow__list li::after{ content:counter(flow); position:absolute; right:10px; top:6px; font-family:var(--ta-font-display); font-weight:900; font-size:26px; line-height:1; color:#F1E1C3; }
.p-schedule .cx-flow__ico{ flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(180deg,#E8262C,#A3151C); box-shadow:0 8px 16px rgba(163,21,28,.22); }
.p-schedule .cx-flow__ico .ta-ico{ width:19px; height:19px; }
.p-schedule .cx-flow__list b{ display:block; font-size:13.5px; font-weight:800; line-height:1.3; padding-right:16px; }
.p-schedule .cx-flow__list small{ display:block; margin-top:2px; font-size:12px; line-height:1.4; color:var(--ta-muted); }
@media (max-width:599px){ .p-schedule .cx-flow__list li{ flex-direction:column; } }

/* toolbar */
.p-schedule .cx-toolbar{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-bottom:16px; }
.p-schedule .cx-toolbar__row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; min-width:0; }
.p-schedule .cx-toolbar__filters{ align-items:center; }
.p-schedule .cx-toolbar__filters .cx-chips{ flex:1 1 320px; min-width:0; }
.p-schedule .cx-toolbar__select{ flex:0 1 300px; min-width:0; max-width:100%; min-height:42px; font-size:14px; }
@media (max-width:599px){ .p-schedule .cx-toolbar__select{ flex:1 1 100%; } }
.p-schedule .cx-view{ flex:0 0 auto; padding:4px; }
.p-schedule .cx-view .ta-seg__btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:0 14px; font-size:13px; }
.p-schedule .cx-view .ta-ico{ width:15px; height:15px; }
.p-schedule .cx-active{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:12.5px; color:var(--ta-muted); }
.p-schedule .cx-active[hidden]{ display:none; }
.p-schedule .cx-active__pill{ display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:99px; border:1px solid var(--ta-rose-200); background:var(--ta-rose-50); color:var(--ta-maroon-500); font-size:12.5px; font-weight:800; }
.p-schedule .cx-active__pill .ta-ico{ width:12px; height:12px; }
.p-schedule .cx-active__all{ border:0; background:none; color:var(--ta-ink-700); font-size:12.5px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }

/* month groups */
.p-schedule .cx-sched__main{ display:grid; gap:22px; min-width:0; }
.p-schedule .cx-sched__main > .ta-event{ min-height:160px; }
.p-schedule .cx-month__title{ display:flex; align-items:center; gap:12px; margin-bottom:12px; font-family:var(--ta-font-title); font-weight:700; font-size:20px; color:var(--ta-maroon-500); }
.p-schedule .cx-month__title::after{ content:""; flex:1; height:2px; background:linear-gradient(90deg,#E9C97F,transparent); }
.p-schedule .cx-month__title small{ order:2; font-family:var(--ta-font-ui); font-size:12px; font-weight:800; color:var(--ta-muted); padding:3px 10px; border-radius:99px; background:#fff; border:1px solid var(--ta-line); }
.p-schedule .cx-month__grid{ display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width:700px){ .p-schedule .cx-month__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
.p-schedule .cx-month__grid .ta-event__foot{ flex-wrap:wrap; }
.p-schedule .cx-boxcount{ font-size:12px; font-weight:800; color:#FDE68A; }
.p-schedule .cx-tbl__badge{ display:block; margin-bottom:4px; }
.p-schedule .cx-tbl__prog{ display:block; font-size:12px; color:var(--ta-muted); margin-top:2px; }

/* aside: mini calendar */
.p-schedule .cx-cal__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.p-schedule .cx-cal__head .cx-card__title{ white-space:nowrap; }
.p-schedule .cx-cal__head .cx-card__title{ margin:0; }
.p-schedule .cx-cal__nav{ display:flex; align-items:center; gap:6px; }
.p-schedule .cx-cal__month{ font-weight:900; font-size:13px; min-width:92px; text-align:center; white-space:nowrap; }
.p-schedule .cx-cal__btn{ width:30px; height:30px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--ta-line-2); background:#fff; color:var(--ta-maroon-600); }
.p-schedule .cx-cal__btn:disabled{ opacity:.35; }
.p-schedule .cx-cal__btn .ta-ico{ width:15px; height:15px; }
.p-schedule .cx-cal__grid{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.p-schedule .cx-cal__wd{ text-align:center; font-size:10.5px; font-weight:900; color:var(--ta-muted); padding:2px 0 4px; }
.p-schedule .cx-cal__cell{ position:relative; display:grid; place-items:center; aspect-ratio:1; min-height:34px; border-radius:10px; font-size:13px; font-weight:700; color:var(--ta-text-2); background:#FBF7F1; border:1px solid transparent; }
.p-schedule .cx-cal__cell.is-empty{ background:transparent; }
.p-schedule .cx-cal__cell.is-past{ color:var(--ta-muted-2); }
.p-schedule .cx-cal__cell.is-today{ border-color:var(--ta-ink); color:var(--ta-ink-700); font-weight:900; }
.p-schedule .cx-cal__cell.has-ev{ cursor:pointer; background:linear-gradient(180deg,#FFF3D6,#FFE4A8); border-color:#EBC57A; color:#5A3500; font-weight:900; box-shadow:0 3px 8px rgba(150,95,10,.18); transition:transform .15s; }
.p-schedule .cx-cal__cell.has-ev:hover{ transform:translateY(-2px); }
.p-schedule .cx-cal__cell.is-sel{ background:var(--ta-maroon-600); border-color:var(--ta-maroon-600); color:#fff; }
.p-schedule .cx-cal__dots{ position:absolute; left:0; right:0; bottom:3px; display:flex; justify-content:center; gap:2px; }
.p-schedule .cx-cal__dots b, .p-schedule .cx-cal__legend b{ width:5px; height:5px; border-radius:50%; background:var(--ta-buy); }
.p-schedule .t-hoc_thu{ background:var(--ta-green) !important; }
.p-schedule .t-su_kien, .p-schedule .t-workshop{ background:#B45309 !important; }
.p-schedule .cx-cal__legend{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12px; color:var(--ta-muted); }
.p-schedule .cx-cal__legend li{ display:inline-flex; align-items:center; gap:6px; }
.p-schedule .cx-cal__legend b{ width:8px; height:8px; }
.p-schedule .cx-cal__hint, .p-schedule .cx-cal__none{ margin-top:8px; font-size:12px; color:var(--ta-muted); }

/* aside: info + notify */
.p-schedule .cx-info__list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.p-schedule .cx-info__list li{ display:flex; gap:10px; align-items:flex-start; }
.p-schedule .cx-info__list > li > .ta-ico{ width:18px; height:18px; margin-top:3px; color:var(--ta-red); flex:0 0 auto; }
.p-schedule .cx-info__list > li > span{ display:grid; gap:2px; justify-items:start; font-size:13.5px; }
.p-schedule .cx-info__list small{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-muted); }
.p-schedule .cx-info__list a{ display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:800; color:var(--ta-maroon-500); }
.p-schedule .cx-info__list a .ta-ico{ width:12px; height:12px; }
.p-schedule .cx-info__list .cx-tbc{ margin-left:0; }
.p-schedule .cx-notify{ background:linear-gradient(180deg,#FFFDF8,#FFF6E6); border-color:#F0DDB8; }
.p-schedule .cx-notify__lead{ font-size:13px; color:var(--ta-text-2); margin:-4px 0 12px; }
.p-schedule .cx-notify .ta-form__row--2{ grid-template-columns:1fr; }
@media (max-width:1023px){ .p-schedule .cx-sched__aside{ grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); display:grid; } }
