:root{--association-ink:#0b2d5c;--association-blue:#2384d8;--association-paper:#f8fbff;--association-soft:#edf4fb;--association-line:#cedbea}
.banner-about-link{position:absolute;right:clamp(18px,4vw,72px);bottom:clamp(18px,4vw,58px);display:grid;grid-template-columns:auto auto;gap:2px 28px;min-width:250px;padding:18px 22px;background:rgba(248,251,255,.93);color:var(--association-ink);border:1px solid rgba(255,255,255,.75);box-shadow:0 14px 38px rgba(3,28,64,.2);backdrop-filter:blur(12px)}.banner-about-link span{font:600 10px "DM Sans",sans-serif;letter-spacing:.2em}.banner-about-link strong{font-size:17px;font-weight:500}.banner-about-link i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:24px}
.home-activity-section{padding:clamp(70px,8vw,120px) clamp(18px,5vw,82px);background:var(--association-paper);color:var(--association-ink)}.home-member-activity{background:var(--association-soft)}.home-content-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.home-content-heading p,.association-kicker{font:600 10px "DM Sans",sans-serif;letter-spacing:.2em}.home-content-heading h2{margin:10px 0 0;font-size:clamp(36px,4vw,62px);font-weight:300;line-height:1.12}.home-content-heading>a,.association-primary-link{padding:12px 18px;border:1px solid var(--association-ink);font-size:12px}.home-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-activity-card{min-width:0;background:#fff;border:1px solid var(--association-line)}.home-activity-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#dfeaf5}.home-activity-media img{width:100%;height:100%;object-fit:cover}.home-activity-placeholder,.association-card-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#7891ad;font:600 12px "DM Sans",sans-serif;letter-spacing:.18em}.home-activity-media time{position:absolute;left:14px;bottom:14px;display:grid;place-items:center;width:58px;height:64px;background:white}.home-activity-media time b{font-size:24px}.home-activity-media time span{font-size:10px}.home-activity-card>div:last-child{padding:22px}.home-activity-card p,.association-activity-owner{margin:0 0 8px;color:#58718e;font-size:10px;letter-spacing:.08em}.home-activity-card h3{margin:0 0 13px;font-size:20px;font-weight:500;line-height:1.45}.home-activity-card small{color:#647c96}
.association-page{min-height:100vh;background:var(--association-paper);color:var(--association-ink)}.association-hero{padding:clamp(70px,8vw,120px) clamp(22px,6vw,96px);background:var(--association-ink);color:white}.association-hero h1{max-width:1100px;margin:20px 0 16px;font-size:clamp(48px,7vw,108px);font-weight:300;line-height:1}.association-hero>p:last-child{max-width:760px;line-height:1.8;color:#c9d9ec}.association-filters{position:sticky;top:88px;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:12px;padding:20px clamp(18px,5vw,82px);background:rgba(248,251,255,.96);border-bottom:1px solid var(--association-line);backdrop-filter:blur(12px)}.association-filters label{font-size:10px;color:#58718e}.association-filters select{display:block;width:100%;margin-top:5px;padding:11px 7px;border:0;border-bottom:1px solid #93abc5;background:transparent;color:var(--association-ink)}.association-filters button{align-self:end;padding:12px 18px;border:1px solid var(--association-ink);background:var(--association-ink);color:white}.association-directory{padding:clamp(60px,7vw,110px) clamp(18px,5vw,82px) 130px}.association-directory-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.association-directory-head h2{margin:8px 0 0;font-size:clamp(38px,4vw,64px);font-weight:300}.association-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.association-activity-card{border:1px solid var(--association-line);background:#fff}.association-activity-media{position:relative;aspect-ratio:16/9;background:#e4eef8;overflow:hidden}.association-activity-media img{width:100%;height:100%;object-fit:cover}.association-status{display:inline-flex;padding:5px 9px;background:#e8f3ff;color:#0b5da7;font-size:10px}.association-activity-media>.association-status{position:absolute;right:12px;top:12px}.association-status.current{background:#e2f7e9;color:#20753a}.association-status.past{background:#edf0f3;color:#687585}.association-activity-body{padding:22px}.association-activity-body h2{margin:7px 0 10px;font-size:22px;font-weight:500;line-height:1.4}.association-activity-date{color:#315b87}.association-activity-summary,.association-activity-body details p{white-space:pre-line;line-height:1.75}.association-card-links{display:flex;gap:16px;margin-top:18px;font-size:11px}.association-card-links a{border-bottom:1px solid}.association-empty{grid-column:1/-1;padding:60px;text-align:center;border:1px dashed var(--association-line);background:#fff}.schedule-table-wrap{overflow:auto;border:1px solid var(--association-line);background:#fff}.schedule-table{width:100%;min-width:980px;border-collapse:collapse}.schedule-table th,.schedule-table td{padding:16px;border-bottom:1px solid var(--association-line);vertical-align:top;text-align:left}.schedule-table th{background:#e8f1fb;font-size:11px}.schedule-table td{font-size:13px}.schedule-table td strong,.schedule-table td small{display:block}.schedule-table td small{margin-top:6px;color:#607792}.schedule-table a{border-bottom:1px solid}
.committee-directory{padding:clamp(60px,7vw,110px) clamp(18px,5vw,82px) 140px}.committee-group{padding:42px 0;border-top:1px solid var(--association-line)}.committee-group-heading{display:grid;grid-template-columns:54px 1fr;align-items:baseline;margin-bottom:22px}.committee-group-heading span{font:600 11px "DM Sans",sans-serif;letter-spacing:.15em}.committee-group-heading h2{margin:0;font-size:clamp(28px,3vw,45px);font-weight:300}.committee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.committee-rank-1 .committee-grid,.committee-rank-2 .committee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.committee-card{background:white;border:1px solid var(--association-line)}.committee-photo{aspect-ratio:4/5;overflow:hidden;background:#e2ecf7}.committee-photo img{width:100%;height:100%;object-fit:cover}.committee-photo span{display:grid;height:100%;place-items:center;color:#7d93aa;font:600 11px "DM Sans",sans-serif;letter-spacing:.2em}.committee-card-copy{padding:20px}.committee-card-copy>p:first-child{margin:0;color:#4c6e93;font-size:11px}.committee-card h3{margin:7px 0 10px;font-size:20px;font-weight:500}.committee-card strong,.committee-card small{display:block;font-size:11px}.committee-card small{margin-top:6px;color:#71849a}.committee-bio{white-space:pre-line;line-height:1.7;font-size:12px}
@media(max-width:980px){.home-activity-grid,.association-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.association-filters{top:72px;grid-template-columns:repeat(2,1fr)}.committee-grid,.committee-rank-1 .committee-grid,.committee-rank-2 .committee-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.banner-about-link{right:12px;bottom:12px;min-width:190px;padding:12px 14px}.banner-about-link strong{font-size:13px}.home-content-heading{align-items:start;flex-direction:column}.home-activity-grid,.association-activity-grid{grid-template-columns:1fr}.association-filters{position:static;grid-template-columns:1fr}.association-directory-head{align-items:start;flex-direction:column}.committee-grid,.committee-rank-1 .committee-grid,.committee-rank-2 .committee-grid{grid-template-columns:1fr 1fr}.committee-card-copy{padding:14px}.committee-card h3{font-size:16px}}

/* Homepage activity preview */
.home-activity-card{overflow:hidden;border-radius:16px;box-shadow:0 12px 34px rgba(11,45,92,.08);transition:transform .2s ease,box-shadow .2s ease}
.event-source-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.event-source-link img,.event-source-link>div{display:block;width:100%;height:100%}.home-activity-media>.event-source-link,.association-activity-media>.event-source-link{position:absolute;inset:0}.home-activity-media time,.home-activity-status,.association-activity-media>.association-status{pointer-events:none}
.home-activity-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(11,45,92,.13)}
.home-activity-card.is-carousel-entering{animation:home-activity-slide-in .55s cubic-bezier(.2,.75,.25,1) both}@keyframes home-activity-slide-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
.home-activity-section{overflow-x:clip}
.home-activity-card.is-source-linked,.association-activity-card.is-source-linked{cursor:pointer}.home-activity-card.is-source-linked:focus-visible,.association-activity-card.is-source-linked:focus-visible{outline:3px solid #2384d8;outline-offset:4px}.association-activity-card.is-source-linked{transition:transform .2s ease,box-shadow .2s ease}.association-activity-card.is-source-linked:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(11,45,92,.12)}
.home-activity-status{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#e8f3ff;color:#0b5da7;font-size:10px;font-weight:600;box-shadow:0 4px 15px rgba(11,45,92,.1)}
.home-activity-status.current{background:#e2f7e9;color:#20753a}
.home-activity-status.past{background:#edf0f3;color:#687585}
.home-activity-card-copy{display:flex;min-height:190px;flex-direction:column;padding:22px}
.home-activity-card-copy h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-activity-description{display:-webkit-box;overflow:hidden;margin-bottom:14px;color:#496681;font-size:13px;line-height:1.7;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-activity-card-copy small{display:flex;align-items:flex-start;gap:6px;margin-top:auto;line-height:1.55}
.home-activity-loading,.home-activity-empty{grid-column:1/-1;display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:32px;text-align:center;border:1px dashed #afc3d9;border-radius:16px;background:#fff;color:#647c96}
.home-activity-loading{font-size:13px}
.home-activity-empty strong{color:var(--association-ink);font-size:17px;font-weight:500}
.home-activity-empty span{max-width:560px;font-size:12px;line-height:1.7}
.home-activity-empty.is-error{border-color:#e1bebe;background:#fffafa;color:#986060}
@media(max-width:640px){.home-activity-card-copy{min-height:auto}.home-activity-card-copy small{margin-top:8px}.home-activity-status{top:10px;right:10px}.home-activity-loading,.home-activity-empty{min-height:120px;padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.home-activity-card.is-carousel-entering{animation:none}}

/* Schedule management */
.schedule-hero{position:relative;display:grid;min-height:330px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;overflow:hidden;padding:clamp(58px,7vw,92px) max(24px,calc((100vw - 1480px)/2));background:linear-gradient(115deg,#082957 0%,#0b376f 68%,#0d4689 100%)}.schedule-hero-copy{position:relative;z-index:1}.schedule-hero h1{max-width:none;margin:0;font-size:clamp(64px,8vw,116px);font-weight:400;line-height:1}.schedule-hero-period{position:relative;z-index:1;display:grid;min-width:300px;padding:28px 34px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.08);box-shadow:0 18px 48px rgba(0,16,39,.22);backdrop-filter:blur(12px)}.schedule-hero-period span{color:#8cc8ff;font:500 clamp(54px,6vw,86px)/.95 "DM Sans",sans-serif}.schedule-hero-period strong{margin-top:12px;font-size:22px;font-weight:400}
.schedule-controls{position:sticky;z-index:18;top:78px;display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(170px,230px) auto;align-items:end;gap:14px;max-width:1480px;margin:-28px auto 0;padding:18px;border:1px solid var(--association-line);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 48px rgba(11,45,92,.12);backdrop-filter:blur(14px)}.schedule-controls label{display:grid;gap:7px;min-width:0;color:#58718e;font-size:10px}.schedule-controls input,.schedule-controls select{width:100%;height:46px;padding:0 14px;border:1px solid #bfd0e2;border-radius:10px;background:#f9fbfe;color:var(--association-ink);font:400 13px "Noto Sans Thai",sans-serif}.schedule-month-navigation{display:grid;grid-template-columns:44px minmax(140px,190px) minmax(100px,125px) 44px;align-items:end;gap:8px}.schedule-month-navigation>button{display:grid;width:44px;height:46px;padding:0;place-items:center;border:1px solid #9db6d0;border-radius:10px;background:#fff;color:var(--association-ink);font-size:28px;cursor:pointer}.schedule-month-navigation>button:hover{border-color:var(--association-blue);background:#edf6ff}.schedule-search{min-width:0}.schedule-clear{height:46px;padding:0 18px;border:1px solid var(--association-ink);border-radius:10px;background:#fff;color:var(--association-ink);font:600 11px "Noto Sans Thai",sans-serif;cursor:pointer}.schedule-clear:hover{background:var(--association-ink);color:#fff}
.schedule-directory{max-width:1580px;margin:auto;padding-top:clamp(68px,7vw,105px)}.schedule-directory .association-directory-head{gap:24px}.schedule-directory .association-directory-head h2{font-size:clamp(38px,4vw,62px)}.schedule-result-count{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:#e9f3fd;color:#436482;font-size:12px}.schedule-list{display:grid;gap:18px}.schedule-card{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) minmax(240px,330px);min-height:220px;overflow:hidden;border:1px solid var(--association-line);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(11,45,92,.08);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;cursor:pointer}.schedule-card:hover{transform:translateY(-2px);border-color:#9dbddd;box-shadow:0 18px 44px rgba(11,45,92,.13)}.schedule-card:focus-visible{outline:3px solid #2384d8;outline-offset:4px}.schedule-date-block{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 16px;border-right:1px solid #dce7f2;background:linear-gradient(155deg,#f8fbff,#edf5fd);text-align:center}.schedule-date-block span{color:#667b92;font:600 11px "DM Sans",sans-serif;letter-spacing:.13em}.schedule-date-block strong{margin:8px 0 2px;color:#0b2d5c;font:500 clamp(52px,5vw,72px)/.95 "DM Sans",sans-serif}.schedule-date-block small{color:#4d6c8b;font-size:11px}.schedule-card-content{display:flex;min-width:0;align-items:flex-start;flex-direction:column;padding:28px 30px}.schedule-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-category{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#eaf2fa;color:#315b84;font-size:10px;font-weight:600}.schedule-category.meeting{background:#e4efff;color:#1f5ea8}.schedule-category.activity{background:#e0f7ec;color:#21754c}.schedule-category.training{background:#fff1d8;color:#965d00}.schedule-category.promotion{background:#ffe7eb;color:#a23b51}.schedule-category.other{background:#edf0f4;color:#5f6c7a}.schedule-card-content h3{margin:12px 0 8px;font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.35}.schedule-card-summary{display:-webkit-box;overflow:hidden;margin:0 0 14px;color:#586e85;font-size:12px;line-height:1.7;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:2}.schedule-card-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:auto;color:#334f6d;font-size:12px}.schedule-card-facts span{display:flex;align-items:baseline;gap:7px}.schedule-card-facts b{color:#7890a7;font-size:9px;font-weight:600;letter-spacing:.08em}.schedule-detail-button{margin-top:17px;padding:9px 15px;border:1px solid var(--association-ink);border-radius:8px;background:#fff;color:var(--association-ink);font:600 11px "Noto Sans Thai",sans-serif;cursor:pointer}.schedule-detail-button:hover{background:var(--association-ink);color:#fff}.schedule-card-cover{position:relative;min-height:100%;overflow:hidden;background:#e5eff8}.schedule-card-cover img{width:100%;height:100%;object-fit:cover}.schedule-cover-placeholder{display:grid;width:100%;height:100%;min-height:170px;place-content:center;gap:6px;background:linear-gradient(135deg,#e9f3fd,#cfdfef);color:#6684a4;text-align:center}.schedule-cover-placeholder span{font:600 13px "DM Sans",sans-serif;letter-spacing:.2em}.schedule-cover-placeholder small{font-size:11px}.schedule-card-actions-desktop .event-card-admin-actions{top:12px;right:12px}.schedule-admin-menu{display:none}
.schedule-detail-dialog{width:min(1040px,calc(100vw - 28px));max-height:94svh;padding:0;overflow:auto;border:0;border-radius:20px;background:#fff;color:var(--association-ink);box-shadow:0 30px 100px rgba(2,24,54,.42)}.schedule-detail-dialog::backdrop,.schedule-lightbox::backdrop{background:rgba(1,18,40,.78);backdrop-filter:blur(6px)}.schedule-modal-close{position:fixed;z-index:3;top:max(24px,calc(3svh + 10px));right:max(24px,calc((100vw - min(1040px,calc(100vw - 28px)))/2 + 18px));display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid #bdd0e3;border-radius:50%;background:#fff;color:var(--association-ink);font-size:24px;cursor:pointer;box-shadow:0 8px 24px rgba(4,35,73,.12)}.schedule-detail-header{padding:28px 82px 24px 38px;border-bottom:1px solid #d7e3ef;background:#fff}.schedule-detail-header .association-kicker{margin:0;color:#597795;letter-spacing:.15em}.schedule-detail-header h2{margin:8px 0 0;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.3}.schedule-detail-cover{position:relative;display:grid;width:100%;max-height:520px;aspect-ratio:16/9;overflow:hidden;place-items:center;background:#071f43}.schedule-detail-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.schedule-detail-cover.schedule-cover-placeholder{min-height:300px}.schedule-detail-body{padding:clamp(26px,5vw,58px)}.schedule-detail-heading{display:grid;gap:14px}.schedule-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-detail-title{max-width:820px;margin:0;font-size:clamp(30px,4vw,50px);font-weight:400;line-height:1.25}.schedule-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 0}.schedule-detail-meta div{padding:16px;border:1px solid #d7e3ef;border-radius:12px;background:#f7faff}.schedule-detail-meta dt{color:#70879f;font-size:10px}.schedule-detail-meta dd{margin:6px 0 0;font-size:14px}.schedule-detail-description,.schedule-documents{margin-top:34px;padding-top:28px;border-top:1px solid #d7e3ef}.schedule-detail-description h3,.schedule-documents h3{margin:0 0 14px;font-size:21px;font-weight:500}.schedule-detail-description p{margin:0;color:#465f79;line-height:1.85;white-space:pre-line}.schedule-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.schedule-document-grid button{position:relative;overflow:hidden;padding:0;border:1px solid #c6d7e7;border-radius:12px;background:#edf4fb;cursor:zoom-in}.schedule-document-grid img{display:block;width:100%;height:320px;object-fit:contain}.schedule-document-grid span{display:block;padding:10px;background:#fff;color:var(--association-ink);font-size:11px}.schedule-documents-empty{padding:34px;border:1px dashed #b6cadf;border-radius:12px;background:#f7faff;color:#70859b;text-align:center}.schedule-detail-footer{display:flex;justify-content:flex-end;margin-top:34px}.schedule-detail-footer button{min-width:120px;padding:12px 18px;border:0;border-radius:9px;background:var(--association-ink);color:#fff;font:600 12px "Noto Sans Thai",sans-serif;cursor:pointer}
.schedule-lightbox{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:70px 28px 86px;overflow:auto;border:0;background:rgba(2,18,40,.96);color:#fff}.schedule-lightbox img{display:block;max-width:min(1500px,100%);height:auto;min-height:0;margin:auto;object-fit:contain}.schedule-lightbox-close{position:fixed;z-index:2;top:18px;right:22px;display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#fff;color:#0b2d5c;font-size:25px;cursor:pointer}.schedule-lightbox-done{position:fixed;right:50%;bottom:18px;min-width:110px;padding:11px 18px;transform:translateX(50%);border:1px solid rgba(255,255,255,.55);border-radius:9px;background:#fff;color:#0b2d5c;font:600 12px "Noto Sans Thai",sans-serif;cursor:pointer}
@media(max-width:1100px){.schedule-hero{grid-template-columns:1fr}.schedule-hero-period{display:none}.schedule-controls{position:relative;top:auto;grid-template-columns:1fr 1fr;margin:-24px 18px 0}.schedule-month-navigation{grid-column:1/-1}.schedule-card{grid-template-columns:112px minmax(0,1fr) 250px}}
@media(max-width:720px){.schedule-hero{min-height:245px;padding:48px 20px 58px}.schedule-hero h1{font-size:44px}.schedule-hero h1 span{display:block;margin-top:5px;font-size:28px}.schedule-controls{grid-template-columns:1fr;margin:-20px 12px 0;padding:13px}.schedule-month-navigation{grid-template-columns:40px minmax(0,1fr) 92px 40px}.schedule-month-navigation>button{width:40px}.schedule-directory{padding:52px 13px 90px}.schedule-directory .association-directory-head{align-items:flex-start;flex-direction:column;margin-bottom:22px}.schedule-card{display:flex;min-height:0;flex-direction:column}.schedule-date-block{display:grid;grid-template-columns:auto 1fr auto;justify-content:stretch;padding:15px 18px;border-right:0;border-bottom:1px solid #dce7f2;text-align:left}.schedule-date-block strong{grid-row:1/3;grid-column:3;margin:0;font-size:48px}.schedule-date-block small{align-self:end}.schedule-card-content{order:2;padding:21px 18px}.schedule-card-cover{order:1;aspect-ratio:16/9;min-height:0}.schedule-card-content h3{font-size:22px}.schedule-card-facts{align-items:flex-start;flex-direction:column;gap:8px;margin-top:3px}.schedule-card-actions-desktop{display:none}.schedule-admin-menu{position:absolute;z-index:9;top:76px;right:12px;display:block}.schedule-admin-menu summary{display:grid;width:40px;height:40px;place-items:center;border:1px solid #b8cade;border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(4,35,73,.2);font:bold 22px Arial;list-style:none;cursor:pointer}.schedule-admin-menu summary::-webkit-details-marker{display:none}.schedule-admin-menu .event-card-admin-actions{position:absolute;top:46px;right:0;padding:7px;border:1px solid #c6d7e7;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(4,35,73,.2)}.schedule-detail-dialog{width:calc(100vw - 12px);max-height:97svh;border-radius:14px}.schedule-modal-close{top:12px;right:12px}.schedule-detail-header{padding:22px 64px 18px 18px}.schedule-detail-header h2{font-size:23px}.schedule-detail-cover{max-height:280px;aspect-ratio:16/9}.schedule-detail-cover.schedule-cover-placeholder{min-height:210px}.schedule-detail-body{padding:24px 17px}.schedule-detail-title{font-size:30px}.schedule-detail-meta{grid-template-columns:1fr}.schedule-document-grid{grid-template-columns:1fr}.schedule-document-grid img{height:auto;max-height:70svh}.schedule-lightbox{padding:68px 10px 82px}}

/* Mobile schedule content follows: date, information, cover, detail action. */
.schedule-detail-mobile{display:none}
@media(max-width:720px){.schedule-date-block{order:0}.schedule-card-content{order:1;padding-bottom:17px}.schedule-card-cover{order:2}.schedule-detail-desktop{display:none}.schedule-detail-mobile{display:block;order:3;align-self:flex-start;margin:17px 18px 20px}}

/* V3.12: simplified schedule heading and Thai-only empty-cover state. */
.schedule-cover-placeholder{gap:0;color:rgba(63,96,132,.38)}
.schedule-cover-placeholder span{font:500 clamp(25px,2.2vw,38px)/1.2 "Noto Sans Thai",sans-serif;letter-spacing:0}
@media(max-width:1100px){.schedule-hero{grid-template-columns:minmax(0,1fr) auto;gap:24px}.schedule-hero-period{display:grid;min-width:210px;padding:22px 26px}}
@media(max-width:720px){.schedule-hero{grid-template-columns:minmax(0,1fr) auto;gap:14px}.schedule-hero h1{font-size:clamp(44px,14vw,62px)}.schedule-hero-period{min-width:112px;padding:16px 17px;border-radius:14px}.schedule-hero-period span{font-size:clamp(37px,12vw,50px)}.schedule-hero-period strong{margin-top:8px;font-size:15px}.schedule-cover-placeholder span{font-size:30px}}
