:root{
  --satit-navy:#00346b;
  --satit-navy-2:#05244a;
  --satit-gold:#c99632;
  --satit-gold-2:#e5c16e;
  --satit-bg:#f6f8fb;
  --satit-text:#102744;
  --satit-muted:#6d7b8d;
  --satit-card:#ffffff;
  --satit-line:#e8edf4;
  --satit-radius:20px;
  --satit-shadow:0 16px 36px rgba(0,33,75,.10);
}
html{scroll-behavior:smooth}
body{font-family:'Kanit',Tahoma,sans-serif;background:var(--satit-bg);color:var(--satit-text);line-height:1.65;overflow-x:hidden}
a{color:var(--satit-navy);transition:.2s ease}a:hover{text-decoration:none;color:var(--satit-gold)}
.satit-container-wide{max-width:1320px}
.satit-topbar{background:linear-gradient(90deg,var(--satit-navy-2),var(--satit-navy));color:#fff;font-size:14px;padding:8px 0;position:relative;z-index:1051}
.satit-topbar a,.satit-topbar span{color:#fff;opacity:.95}.satit-topbar .fa{color:var(--satit-gold-2);margin-right:6px}
.satit-topbar-left,.satit-topbar-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.satit-topbar-right a{white-space:nowrap}.satit-lang{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.satit-site-header{background:#fff;box-shadow:0 8px 30px rgba(0,31,68,.08);z-index:1050}.satit-brand-row{background:#fff;border-bottom:1px solid rgba(0,52,107,.07)}
.satit-brand-wrapper{min-height:86px;gap:18px}.satit-brand-box{display:flex;align-items:center;gap:14px;min-width:0;color:var(--satit-navy)!important}.satit-brand-box:hover{color:var(--satit-navy)!important}.satit-brand-text{display:block;min-width:0;line-height:1.25}
.satit-logo{width:68px;height:68px;object-fit:contain;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.08);flex:0 0 auto}.satit-brand-title{display:block;font-size:23px;color:var(--satit-navy);font-weight:700;white-space:normal}.satit-brand-sub{display:block;font-size:13px;color:#516070;font-weight:400;letter-spacing:.1px}
.satit-header-actions{align-items:center;gap:12px;flex:0 0 auto}.satit-action-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--satit-line);border-radius:999px;padding:8px 14px;background:#fff;font-weight:600;color:var(--satit-navy)!important;white-space:nowrap}.satit-action-link:hover{background:#eef5ff}
.satit-toggler{border:1px solid var(--satit-line);border-radius:12px;padding:9px 11px;background:#fff;flex:0 0 auto}.satit-toggler .navbar-toggler-icon{width:1.25em;height:1.25em}
.satit-navbar{background:#fff;padding:0;border-bottom:1px solid rgba(0,52,107,.06)}.satit-navbar .container-fluid{justify-content:center}.satit-main-menu{width:100%;justify-content:center;gap:2px}
.satit-navbar .nav-link{color:#17375f!important;font-size:15px;font-weight:500;padding:14px 13px!important;border-radius:0;white-space:nowrap;position:relative}.satit-navbar .nav-link:after{transition:.2s}.satit-navbar .nav-link:hover,.satit-navbar .nav-item.active .nav-link{background:#f4f8fd;color:var(--satit-navy)!important}.satit-navbar .nav-link:hover:before,.satit-navbar .nav-item.active .nav-link:before{content:"";position:absolute;left:13px;right:13px;bottom:0;height:3px;background:linear-gradient(90deg,var(--satit-gold),var(--satit-gold-2));border-radius:999px 999px 0 0}
.satit-navbar .dropdown-menu{border:0;border-radius:16px;box-shadow:var(--satit-shadow);padding:10px;min-width:240px;margin-top:0}.satit-navbar .dropdown-item{border-radius:10px;padding:9px 12px;color:#17375f;font-size:14px}.satit-navbar .dropdown-item .fa{width:20px;color:var(--satit-gold)}.satit-navbar .dropdown-item:hover{background:#eef5ff;color:var(--satit-navy)}
.satit-section{padding:56px 0}.satit-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.satit-section-title h2{font-size:28px;font-weight:700;color:var(--satit-navy);margin:0}.satit-section-title p{color:var(--satit-muted);margin:4px 0 0}.satit-title-line{width:74px;height:4px;background:linear-gradient(90deg,var(--satit-gold),var(--satit-gold-2));border-radius:999px;margin-top:10px}.satit-view-all{font-size:14px;font-weight:600;color:var(--satit-navy)}
.satit-hero{position:relative;background:#fff;overflow:hidden}.satit-hero:after{content:"";position:absolute;left:-12%;bottom:-100px;width:55%;height:190px;background:linear-gradient(90deg,var(--satit-gold),rgba(201,150,50,.25));border-radius:50%;transform:rotate(8deg);opacity:.8;z-index:1}.satit-carousel{position:relative;z-index:2}.satit-hero-slide{min-height:520px;background-size:cover;background-position:center;display:flex;align-items:center;position:relative}.satit-hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 37%,rgba(255,255,255,.20) 72%,rgba(255,255,255,.04) 100%)}.satit-hero-content{position:relative;z-index:3;max-width:660px;padding:54px 0}.satit-hero-kicker{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--satit-navy);border:1px solid var(--satit-line);padding:8px 14px;border-radius:999px;box-shadow:0 10px 25px rgba(0,33,75,.08);font-size:14px}.satit-hero h1{font-size:42px;font-weight:800;color:var(--satit-navy);line-height:1.28;margin:18px 0 10px}.satit-hero h1 span{color:var(--satit-gold)}.satit-hero p{font-size:18px;color:#44546a;margin-bottom:24px}.satit-btn{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:11px 22px;font-weight:600;border:0}.satit-btn-primary{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important;box-shadow:0 12px 24px rgba(0,52,107,.22)}.satit-btn-outline{border:1px solid var(--satit-line);background:#fff;color:var(--satit-navy)!important}.satit-btn-gold{background:linear-gradient(135deg,var(--satit-gold),#b78222);color:#fff!important}
.quick-access{margin-top:-52px;position:relative;z-index:10}.quick-card{background:#fff;border-radius:18px;padding:20px 20px;box-shadow:var(--satit-shadow);height:100%;display:flex;align-items:center;gap:16px;border:1px solid rgba(0,52,107,.05)}.quick-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--satit-navy);color:#fff;font-size:24px;flex:0 0 auto}.quick-card:nth-child(even) .quick-icon,.quick-card.gold .quick-icon{background:linear-gradient(135deg,var(--satit-gold),#ad781c)}.quick-card h3{font-size:17px;font-weight:700;margin:0;color:var(--satit-navy)}.quick-card p{font-size:13px;color:var(--satit-muted);margin:0}.quick-card .fa-angle-right{margin-left:auto;color:var(--satit-navy)}
.satit-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:var(--satit-radius);box-shadow:0 10px 24px rgba(0,33,75,.06);overflow:hidden;height:100%}.satit-card-body{padding:22px}.satit-card-header{padding:16px 20px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;display:flex;justify-content:space-between;align-items:center}.satit-card-header h3{font-size:18px;margin:0;font-weight:700}.satit-card-header a{color:#fff!important;font-size:13px;opacity:.9}
.announcement-list{list-style:none;padding:0;margin:0}.announcement-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--satit-line)}.announcement-item:last-child{border-bottom:0}.tag{font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;color:#fff;min-width:74px;text-align:center}.tag.green{background:#35a853}.tag.blue{background:#4285f4}.tag.purple{background:#7e57c2}.tag.orange{background:#f29900}.tag.pink{background:#e83e8c}.announcement-item a{font-weight:600;color:#17375f}.announcement-date{margin-left:auto;color:var(--satit-muted);font-size:13px;white-space:nowrap}
.news-card img,.activity-thumb img,.achievement-card img{width:100%;height:175px;object-fit:cover}.news-card .satit-card-body{padding:16px}.news-card h3,.achievement-card h3{font-size:17px;font-weight:700;line-height:1.45;margin:6px 0;color:var(--satit-navy)}.news-meta{display:flex;gap:14px;color:var(--satit-muted);font-size:12px;margin-top:10px}.news-badge{display:inline-block;background:#fce7f0;color:#d72872;border-radius:999px;font-size:12px;font-weight:600;padding:4px 10px;margin-bottom:8px}
.activity-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.activity-thumb{border-radius:14px;overflow:hidden;box-shadow:0 8px 18px rgba(0,33,75,.08);background:#fff}.activity-thumb img{height:120px;transition:.25s}.activity-thumb:hover img{transform:scale(1.04)}
.level-band{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:22px;padding:12px;box-shadow:var(--satit-shadow)}.level-item{display:flex;align-items:center;gap:13px;color:#fff;padding:18px 16px;border-right:1px solid rgba(255,255,255,.18)}.level-item:last-child{border-right:0}.level-icon{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--satit-gold);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}.level-item h3{font-size:17px;font-weight:700;margin:0;color:#fff}.level-item a{font-size:13px;color:var(--satit-gold-2)!important}
.satit-footer{background:linear-gradient(135deg,var(--satit-navy-2),var(--satit-navy));color:#dce8f5;padding:50px 0 0;margin-top:50px}.satit-footer h5{color:#fff;font-weight:700;margin-bottom:14px}.satit-footer a{color:#dce8f5}.satit-footer .fa{color:var(--satit-gold-2);width:22px}.satit-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding:16px 0;text-align:center;color:#bfd0e4;font-size:14px}.footer-map iframe{width:100%;height:150px;border:0;border-radius:16px}.footer-map{overflow:hidden;border-radius:16px;background:rgba(255,255,255,.08);min-height:150px}
.satit-search-pill{border:1px solid var(--satit-line);border-radius:999px;padding:8px 14px;background:#fff;color:var(--satit-muted);font-size:14px}.soft-bg{background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%)}
@media(max-width:1199.98px){.satit-brand-wrapper{min-height:78px}.satit-brand-title{font-size:20px}.satit-logo{width:60px;height:60px}.satit-navbar{padding:0}.satit-navbar .container-fluid{display:block}.satit-main-menu{align-items:stretch!important;gap:0;padding:10px 0}.satit-navbar .nav-link{padding:11px 16px!important;border-radius:12px}.satit-navbar .nav-link:hover:before,.satit-navbar .nav-item.active .nav-link:before{display:none}.satit-navbar .dropdown-menu{box-shadow:none;border:1px solid var(--satit-line);margin:4px 12px 10px}.satit-hero h1{font-size:32px}.satit-hero-slide{min-height:440px}.quick-access{margin-top:20px}.activity-strip{grid-template-columns:repeat(3,1fr)}.level-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}
@media(max-width:575px){.satit-topbar{text-align:center}.satit-topbar-left,.satit-topbar-right{justify-content:center;gap:8px 14px}.satit-brand-wrapper{min-height:72px}.satit-brand-box{gap:10px}.satit-logo{width:52px;height:52px}.satit-brand-title{font-size:16px;line-height:1.35}.satit-brand-sub{font-size:11px}.satit-hero h1{font-size:28px}.satit-hero-content{padding:42px 0}.quick-card{margin-bottom:12px}.satit-section-title{display:block}.activity-strip{grid-template-columns:repeat(2,1fr)}.announcement-item{align-items:flex-start;flex-wrap:wrap}.announcement-date{margin-left:86px}.news-card img{height:150px}}

/* ===== Modern subpage templates: announcement / news / general / learning / achievements / downloads / contact ===== */
.satit-sub-hero{padding:46px 0 28px;background:radial-gradient(circle at 80% 10%,rgba(229,193,110,.28),transparent 34%),linear-gradient(135deg,#fff 0%,#f5f8fc 100%);position:relative;overflow:hidden}
.satit-sub-hero:before{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(0,52,107,.06)}
.satit-sub-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:center}
.satit-breadcrumb{font-size:13px;color:var(--satit-muted);margin-bottom:14px}.satit-breadcrumb a{font-weight:600;color:var(--satit-navy)}.satit-breadcrumb .fa{margin:0 8px;color:var(--satit-gold)}
.satit-sub-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 16px 32px rgba(0,52,107,.18);margin-bottom:14px}
.satit-sub-hero h1{font-size:42px;font-weight:800;color:var(--satit-navy);line-height:1.25;margin:0 0 8px}.satit-sub-hero p{font-size:17px;color:#526174;max-width:780px;margin:0}
.satit-sub-hero-panel{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:28px;padding:24px;color:#fff;box-shadow:var(--satit-shadow);position:relative;overflow:hidden}.satit-sub-hero-panel:after{content:"";position:absolute;right:-40px;bottom:-55px;width:160px;height:160px;border-radius:50%;background:rgba(229,193,110,.3)}
.satit-mini-stat{position:relative;z-index:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px}.satit-mini-stat strong{display:block;font-size:20px}.satit-mini-stat span{display:block;color:#d9e6f5;font-size:13px;margin-top:4px}
.satit-mini-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.satit-mini-grid span{height:52px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.satit-mini-grid span:nth-child(2),.satit-mini-grid span:nth-child(3){background:rgba(229,193,110,.26)}
.satit-subpage{padding:34px 0 20px}.hover-lift{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.hover-lift:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(0,33,75,.14)!important;border-color:rgba(201,150,50,.32)!important}
.satit-filter-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:24px;box-shadow:0 10px 26px rgba(0,33,75,.06);padding:16px;margin-bottom:18px}.satit-filter-tabs{display:flex;flex-wrap:wrap;gap:10px}.satit-filter-tabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#f4f7fb;color:#17375f;font-weight:600;font-size:14px}.satit-filter-tabs a.active,.satit-filter-tabs a:hover{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important}.satit-filter-tabs .fa{color:var(--satit-gold)}.satit-filter-tabs a.active .fa,.satit-filter-tabs a:hover .fa{color:var(--satit-gold-2)}
.satit-search-row{display:flex;gap:12px;margin-top:14px}.satit-search-box{flex:1;display:flex;align-items:center;gap:10px;background:#f7f9fc;border:1px solid var(--satit-line);border-radius:999px;padding:0 16px}.satit-search-box .fa{color:var(--satit-gold)}.satit-search-box input{width:100%;border:0;background:transparent;height:46px;outline:0;color:var(--satit-text)}
.satit-list-panel,.satit-side-card,.satit-detail-card,.satit-contact-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:24px;box-shadow:0 12px 28px rgba(0,33,75,.07);overflow:hidden}.satit-list-panel{padding:18px}.satit-panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--satit-line);padding-bottom:16px;margin-bottom:10px}.satit-panel-title h2{font-size:22px;font-weight:800;color:var(--satit-navy);margin:0}.satit-panel-title h2 .fa{color:var(--satit-gold);margin-right:8px}.satit-panel-title span{font-size:13px;color:var(--satit-muted)}
.satit-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;margin-right:6px}.satit-chip.gold{background:linear-gradient(135deg,var(--satit-gold),#b78222);color:#fff}.satit-chip.soft{background:#eef5ff;color:var(--satit-navy)}
.satit-announcement-row,.satit-file-row{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid rgba(0,52,107,.06);border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 6px 16px rgba(0,33,75,.04)}.satit-row-date{width:70px;height:70px;border-radius:18px;background:linear-gradient(135deg,#f6e7c3,#fff7e8);color:var(--satit-navy);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(201,150,50,.2)}.satit-row-date strong{font-size:24px;line-height:1}.satit-row-date span{font-size:12px;color:#8a6a2d}.satit-row-content{flex:1;min-width:0}.satit-row-content h3{font-size:18px;font-weight:800;color:var(--satit-navy);margin:8px 0 4px}.satit-row-content p{margin:0;color:var(--satit-muted);font-size:13px}.satit-download-mini{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important;padding:10px 15px;font-weight:700;white-space:nowrap}.satit-download-mini:hover{transform:translateX(2px);background:linear-gradient(135deg,var(--satit-gold),#b78222);color:#fff!important}
.satit-file-icon{width:58px;height:58px;border-radius:18px;background:#fff1f1;color:#d64545;display:flex;align-items:center;justify-content:center;font-size:26px;flex:0 0 auto}.satit-empty{background:#fff;border:1px dashed #ccd6e5;border-radius:22px;padding:46px;text-align:center;color:var(--satit-muted)}.satit-empty .fa{font-size:42px;color:var(--satit-gold);display:block;margin-bottom:12px}.satit-empty p{font-size:17px;margin-bottom:12px}
.satit-side-card{padding:22px}.satit-side-card h3{font-size:20px;font-weight:800;color:var(--satit-navy);margin-bottom:12px}.satit-side-card h3 .fa{color:var(--satit-gold);margin-right:8px}.satit-side-card p{color:var(--satit-muted)}.sticky-soft{position:sticky;top:150px}.satit-side-list{margin:0;padding-left:18px;color:#314a68}.satit-side-list li{margin:9px 0}.satit-recent-list{list-style:none;margin:0;padding:0}.satit-recent-list li{padding:11px 0;border-bottom:1px solid var(--satit-line)}.satit-recent-list li:last-child{border-bottom:0}.satit-recent-list a{display:block;color:#17375f;font-weight:700}.satit-recent-list span{display:block;color:var(--satit-muted);font-size:12px;margin-top:2px}
.satit-feature-news{display:grid;grid-template-columns:42% 1fr;gap:0;background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:28px;box-shadow:var(--satit-shadow);overflow:hidden}.satit-feature-image{min-height:330px;background:#e8eef7}.satit-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.satit-feature-news:hover .satit-feature-image img{transform:scale(1.04)}.satit-feature-content{padding:34px;display:flex;flex-direction:column;justify-content:center}.satit-feature-content h2{font-size:30px;font-weight:800;color:var(--satit-navy);line-height:1.35;margin:12px 0}.satit-feature-content p{color:#526174}.satit-news-grid-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:22px;box-shadow:0 10px 24px rgba(0,33,75,.06);overflow:hidden;height:100%}.satit-news-thumb{display:block;height:210px;overflow:hidden;background:#e8eef7}.satit-news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.satit-news-grid-card:hover .satit-news-thumb img{transform:scale(1.05)}.satit-news-content{padding:18px}.satit-news-content h3{font-size:18px;font-weight:800;line-height:1.45;margin:10px 0 8px}.satit-news-content p{color:var(--satit-muted);font-size:14px;margin:0 0 10px}
.satit-detail-cover{height:350px;background:#e8eef7;overflow:hidden}.satit-detail-cover img{width:100%;height:100%;object-fit:cover}.satit-detail-body{padding:28px}.satit-detail-body h1{font-size:31px;font-weight:800;color:var(--satit-navy);line-height:1.35;margin:12px 0}.satit-detail-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--satit-muted);font-size:13px;border-bottom:1px solid var(--satit-line);padding-bottom:18px;margin-bottom:18px}.satit-detail-meta .fa{color:var(--satit-gold)}.satit-richtext{font-size:16px;color:#263c58;line-height:1.85}.satit-richtext img{max-width:100%!important;height:auto!important;border-radius:18px}.satit-richtext table{width:100%!important}.satit-richtext iframe{max-width:100%}
.satit-level-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:20px;box-shadow:0 10px 24px rgba(0,33,75,.06);padding:22px;color:var(--satit-navy)!important;height:100%}.satit-level-card .fa{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px}.satit-level-card strong{font-size:19px}.satit-level-card span{font-size:13px;color:var(--satit-muted)}.satit-info-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:22px;box-shadow:0 10px 24px rgba(0,33,75,.06);padding:24px;height:100%}.satit-info-card.compact{padding:20px}.satit-info-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#fff7e8,#f1d796);color:var(--satit-navy);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}.satit-info-card h3{font-size:20px;font-weight:800;color:var(--satit-navy);margin-bottom:8px}.satit-info-card p{color:var(--satit-muted);margin-bottom:14px}.satit-info-card a{font-weight:700}.satit-stats-band{margin-top:18px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:24px;padding:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;box-shadow:var(--satit-shadow)}.satit-stat-item{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:18px;text-align:center;color:#fff}.satit-stat-item strong{display:block;font-size:28px;color:var(--satit-gold-2)}.satit-stat-item span{font-size:13px;color:#dbe8f7}
.satit-curriculum-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.satit-curriculum-tabs a{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:22px;box-shadow:0 8px 22px rgba(0,33,75,.05);padding:18px;color:var(--satit-navy)!important}.satit-curriculum-tabs a.active,.satit-curriculum-tabs a:hover{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important}.satit-curriculum-tabs .fa{font-size:24px;color:var(--satit-gold);display:block;margin-bottom:8px}.satit-curriculum-tabs strong{display:block}.satit-curriculum-tabs span{font-size:12px;color:var(--satit-muted)}.satit-curriculum-tabs a.active span,.satit-curriculum-tabs a:hover span{color:#dbe8f7}.satit-section-lite{padding:22px 0}
.satit-achievement-hero{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:28px;color:#fff;padding:30px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--satit-shadow);overflow:hidden;position:relative}.satit-achievement-hero h2{font-size:28px;font-weight:800;margin:12px 0 8px}.satit-achievement-hero p{color:#dbe8f7;margin:0}.satit-achievement-hero>.fa{font-size:110px;color:rgba(229,193,110,.36)}.satit-achieve-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:22px;box-shadow:0 10px 24px rgba(0,33,75,.06);overflow:hidden;height:100%}.satit-achieve-img{height:185px;overflow:hidden}.satit-achieve-img img{width:100%;height:100%;object-fit:cover;transition:transform .28s}.satit-achieve-card:hover img{transform:scale(1.05)}.satit-achieve-body{padding:18px}.satit-achieve-body h3{font-size:18px;font-weight:800;color:var(--satit-navy);line-height:1.45;margin:10px 0 8px}.satit-achieve-body p{font-size:14px;color:var(--satit-muted)}
.satit-contact-card{padding:24px;height:100%}.satit-contact-card h2{font-size:21px;font-weight:800;color:var(--satit-navy);margin-bottom:16px}.satit-contact-card h2 .fa{color:var(--satit-gold);margin-right:8px}.satit-contact-item{display:flex;gap:14px;border-bottom:1px solid var(--satit-line);padding:14px 0}.satit-contact-item:last-child{border-bottom:0}.satit-contact-item>i{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:var(--satit-navy);flex:0 0 auto}.satit-contact-item strong{color:var(--satit-navy)}.satit-contact-item p{margin:2px 0 0;color:var(--satit-muted)}.satit-contact-form input,.satit-contact-form select,.satit-contact-form textarea{width:100%;border:1px solid var(--satit-line);background:#f8fafc;border-radius:14px;padding:12px 14px;margin-bottom:12px;outline:0}.satit-contact-form input:focus,.satit-contact-form textarea:focus,.satit-contact-form select:focus{border-color:var(--satit-gold);box-shadow:0 0 0 3px rgba(201,150,50,.12)}.satit-map-box{background:#f2f5f9;border-radius:18px;overflow:hidden;min-height:220px}.satit-map-box iframe{width:100%!important;min-height:220px!important;border:0!important}.satit-map-placeholder{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--satit-muted)}.satit-map-placeholder .fa{font-size:38px;color:var(--satit-gold)}.satit-online-links{display:grid;gap:10px;margin-top:14px}.satit-online-links a{display:flex;align-items:center;gap:12px;background:#f7f9fc;border-radius:14px;padding:11px 12px;color:var(--satit-navy);font-weight:700}.satit-online-links span{margin-left:auto;color:var(--satit-muted);font-size:12px;font-weight:400}.satit-help-band{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:24px;padding:16px;margin-top:4px}.satit-help-band a{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px;color:#fff!important}.satit-help-band .fa{font-size:24px;color:var(--satit-gold-2)}.satit-help-band strong{display:block}.satit-help-band span{display:block;font-size:12px;color:#dbe8f7}
@media(max-width:1199.98px){.satit-sub-hero-inner{grid-template-columns:1fr}.satit-sub-hero-panel{display:none}.satit-curriculum-tabs{grid-template-columns:repeat(2,1fr)}.sticky-soft{position:static}.satit-stats-band,.satit-help-band{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.satit-sub-hero{padding:32px 0 22px}.satit-sub-hero h1{font-size:30px}.satit-search-row{display:block}.satit-search-box{margin-bottom:10px}.satit-announcement-row,.satit-file-row{align-items:flex-start;flex-wrap:wrap}.satit-download-mini{width:100%;justify-content:center}.satit-feature-news{grid-template-columns:1fr}.satit-feature-image{min-height:220px}.satit-feature-content{padding:22px}.satit-feature-content h2{font-size:22px}.satit-detail-cover{height:230px}.satit-detail-body h1{font-size:24px}.satit-curriculum-tabs,.satit-stats-band,.satit-help-band{grid-template-columns:1fr}.satit-achievement-hero{display:block}.satit-achievement-hero>.fa{display:none}}

/* Announcement page with category colors */
.satit-announcement-page{background:linear-gradient(180deg,#f8fbff 0,#fff 42%,#fff 100%)}
.satit-ann-filter-card{border:1px solid rgba(0,52,107,.06);box-shadow:0 12px 35px rgba(0,33,75,.08)}
.satit-ann-type-tabs a{position:relative;overflow:hidden;border:1px solid rgba(0,52,107,.08)}
.satit-ann-type-tabs a:before{content:"";width:8px;height:8px;border-radius:99px;background:var(--ann-color,#c99632);display:inline-block;margin-right:7px;box-shadow:0 0 0 4px rgba(201,150,50,.12)}
.satit-ann-type-tabs a.active,.satit-ann-type-tabs a:hover{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important;transform:translateY(-2px)}
.satit-ann-featured{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#ffffff 0,#fff8ed 100%);border:1px solid rgba(0,52,107,.06);border-left:8px solid var(--ann-color,#c99632);border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(0,33,75,.08);margin:18px 0 8px}.satit-ann-featured-icon{width:82px;height:82px;border-radius:24px;background:var(--ann-color,#c99632);display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;box-shadow:0 14px 26px rgba(0,33,75,.12);flex:0 0 auto}.satit-ann-featured-content{flex:1;min-width:0}.satit-ann-featured-content h2{font-size:28px;line-height:1.35;font-weight:900;color:var(--satit-navy);margin:10px 0 8px}.satit-ann-featured-content p{font-size:15px;color:var(--satit-muted);margin:0 0 8px}.satit-ann-badge{display:inline-flex;align-items:center;gap:6px;color:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;box-shadow:0 6px 16px rgba(0,0,0,.1)}.satit-ann-meta{font-size:13px;color:#65748a}.satit-ann-color-row{position:relative;border-left:7px solid var(--ann-color,#c99632)!important}.satit-ann-color-row:before{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:18px;background:var(--ann-color,#c99632);opacity:.08}.satit-ann-color-row:hover .satit-row-content h3{color:var(--ann-color,#c99632)}.satit-ann-date{background:linear-gradient(135deg,var(--ann-color,#c99632),#ffffff)!important;color:#fff!important;border-color:transparent!important}.satit-ann-date span{color:rgba(255,255,255,.86)!important}.satit-ann-type-list{list-style:none;margin:0;padding:0}.satit-ann-type-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,52,107,.06);font-weight:700;color:var(--satit-navy)}.satit-ann-type-list li span{width:14px;height:14px;border-radius:99px;display:inline-block;box-shadow:0 0 0 4px rgba(0,52,107,.05)}
@media(max-width:767.98px){.satit-ann-featured{display:block}.satit-ann-featured-icon{margin-bottom:14px}.satit-ann-featured .satit-btn{width:100%;justify-content:center;margin-top:14px}.satit-ann-featured-content h2{font-size:23px}}

/* ===== Homepage school announcements: pull from tb_announcement and color by type ===== */
.home-announcement-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.home-announcement-item{position:relative;display:block;padding:0!important;border:0!important;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(0,33,75,.05);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.home-announcement-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--ann-color,#c99632);transition:width .22s ease,opacity .22s ease}
.home-announcement-item:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,33,75,.13)}
.home-announcement-item:hover:before{width:10px;opacity:.95}
.home-announcement-link{display:grid;grid-template-columns:minmax(120px,auto) 1fr auto;align-items:center;gap:12px;width:100%;padding:14px 14px 14px 18px;color:inherit!important;text-decoration:none!important}
.home-announcement-tag{min-width:0!important;width:max-content;max-width:170px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 11px!important;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.10);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff!important}
.home-announcement-title{font-weight:800;color:var(--satit-navy);line-height:1.45;transition:color .22s ease}
.home-announcement-item:hover .home-announcement-title{color:var(--ann-color,#c99632)}
.home-announcement-list .announcement-date{margin-left:0!important;color:#6b7890;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
@media(max-width:991.98px){.home-announcement-link{grid-template-columns:1fr}.home-announcement-tag{max-width:100%}.home-announcement-list .announcement-date{justify-content:flex-start}}

/* Learning page: separated levels */
.satit-learning-level-section{scroll-margin-top:110px;margin:0 0 34px;padding:0 0 10px}
.satit-learning-level-head{display:flex;align-items:center;gap:18px;margin:18px 0 20px;padding:24px;border-radius:26px;color:#fff;box-shadow:0 18px 38px rgba(0,33,75,.14);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2))}
.satit-learning-level-head:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.12)}
.satit-learning-level-head.gold{background:linear-gradient(135deg,#a97819,#d6ae53)}
.satit-learning-level-head.green{background:linear-gradient(135deg,#116653,#21a585)}
.satit-learning-level-head.purple{background:linear-gradient(135deg,#4c2d7a,#7d56b7)}
.satit-learning-level-icon{width:72px;height:72px;border-radius:24px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:32px;flex:0 0 auto;position:relative;z-index:1}.satit-learning-level-head>div:not(.satit-learning-level-icon){position:relative;z-index:1;flex:1}.satit-learning-level-head span{display:block;color:#ffe7a7;font-weight:800;margin-bottom:3px}.satit-learning-level-head h2{font-weight:900;font-size:28px;margin:0 0 6px}.satit-learning-level-head p{margin:0;color:rgba(255,255,255,.86);max-width:760px;line-height:1.7}.satit-btn-light{background:#fff;color:var(--satit-navy)!important;border:0;position:relative;z-index:1}.satit-learning-card{position:relative;overflow:hidden}.satit-learning-card-img{height:150px;margin:-20px -20px 16px;overflow:hidden;background:#eef3f8}.satit-learning-card-img img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.satit-learning-card:hover .satit-learning-card-img img{transform:scale(1.06)}
@media(max-width:767.98px){.satit-learning-level-head{align-items:flex-start;flex-direction:column}.satit-learning-level-head h2{font-size:24px}.satit-learning-level-head .satit-btn{width:100%;text-align:center}}

/* ===== Learning page redesign: align with approved page template ===== */
.satit-learning-page{background:linear-gradient(180deg,#f7faff 0,#fff 38%,#f8fbff 100%)}
.satit-kicker{display:inline-flex;align-items:center;gap:8px;background:#fff7e8;border:1px solid rgba(201,150,50,.22);color:#9a6818;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;margin-bottom:12px}.satit-kicker .fa{color:var(--satit-gold)}
.satit-learning-overview{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:24px;align-items:center;background:#fff;border:1px solid rgba(0,52,107,.07);box-shadow:0 16px 42px rgba(0,33,75,.08);border-radius:30px;padding:28px;margin:0 0 24px;position:relative;overflow:hidden}.satit-learning-overview:before{content:"";position:absolute;right:-110px;top:-120px;width:310px;height:310px;border-radius:50%;background:linear-gradient(135deg,rgba(201,150,50,.16),rgba(0,52,107,.08))}.satit-learning-overview-text{position:relative;z-index:1}.satit-learning-overview h2{font-size:32px;font-weight:900;color:var(--satit-navy);margin:0 0 8px}.satit-learning-overview p{font-size:16px;color:var(--satit-muted);max-width:760px;margin:0;line-height:1.8}.satit-learning-overview-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.satit-learning-overview-stats div{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:22px;padding:18px 12px;text-align:center;color:#fff;box-shadow:0 12px 24px rgba(0,33,75,.14)}.satit-learning-overview-stats strong{display:block;font-size:28px;line-height:1;color:var(--satit-gold-2);font-weight:900}.satit-learning-overview-stats span{font-size:12px;color:#dce9f7}
.satit-learning-tabs{position:sticky;top:0;z-index:10;background:rgba(246,248,251,.82);backdrop-filter:blur(12px);padding:10px;margin-bottom:26px;border-radius:26px;border:1px solid rgba(0,52,107,.06);box-shadow:0 14px 34px rgba(0,33,75,.06)}.satit-learning-tabs a{position:relative;overflow:hidden}.satit-learning-tabs a:after{content:"";position:absolute;left:18px;right:18px;bottom:10px;height:3px;background:linear-gradient(90deg,var(--satit-gold),var(--satit-gold-2));border-radius:999px;opacity:0;transform:scaleX(.5);transition:.25s ease}.satit-learning-tabs a.active:after,.satit-learning-tabs a:hover:after{opacity:1;transform:scaleX(1)}
.satit-learning-level-section{padding:4px 0 28px;margin-bottom:42px}.satit-learning-level-head{min-height:156px}.satit-learning-level-head.navy{background:linear-gradient(135deg,var(--satit-navy),#0b5797)}
.satit-learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;margin-bottom:22px}.satit-learning-feature{display:grid;grid-template-columns:minmax(0,1fr) 300px;background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:28px;box-shadow:0 16px 38px rgba(0,33,75,.08);overflow:hidden;min-height:270px}.satit-learning-feature-body{padding:30px}.satit-learning-feature-body h3{font-size:28px;line-height:1.35;color:var(--satit-navy);font-weight:900;margin:12px 0 10px}.satit-learning-feature-body p{color:var(--satit-muted);font-size:15px;line-height:1.85;margin-bottom:18px}.satit-learning-feature-visual{min-height:270px;background:linear-gradient(135deg,#eef5ff,#fff7e8);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--satit-navy);position:relative;overflow:hidden}.satit-learning-feature-visual:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.42);right:-80px;top:-70px}.satit-learning-feature-visual .fa{font-size:76px;color:var(--satit-gold);position:relative;z-index:1}.satit-learning-feature-visual strong{font-size:26px;font-weight:900;position:relative;z-index:1}.satit-learning-feature-visual.gold{background:linear-gradient(135deg,#fff4dc,#f5d177)}.satit-learning-feature-visual.navy{background:linear-gradient(135deg,#e8f2ff,#cfe2fb)}.satit-learning-feature-visual.green{background:linear-gradient(135deg,#e3fff6,#bef2df)}.satit-learning-feature-visual.purple{background:linear-gradient(135deg,#f1e9ff,#dac7ff)}.satit-learning-feature-visual img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.satit-learning-feature:hover .satit-learning-feature-visual img{transform:scale(1.06)}
.satit-learning-resource-panel{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:28px;box-shadow:0 16px 38px rgba(0,33,75,.08);padding:22px;min-height:270px}.satit-resource-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.satit-resource-head h3{font-size:19px;font-weight:900;color:var(--satit-navy);margin:0}.satit-resource-head h3 .fa{color:var(--satit-gold);margin-right:6px}.satit-resource-head a{font-size:13px;font-weight:800}.satit-resource-item{display:flex;align-items:center;gap:13px;padding:12px;border-radius:16px;color:inherit!important;border-bottom:1px solid rgba(0,52,107,.06)}.satit-resource-item:hover{background:#f5f9ff;transform:translateX(3px)}.satit-resource-item span{width:42px;height:42px;border-radius:14px;background:#fff4e2;color:var(--satit-gold);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 auto}.satit-resource-item strong{display:block;color:var(--satit-navy);font-size:14px;line-height:1.45}.satit-resource-item small{display:block;color:var(--satit-muted);font-size:12px;margin-top:2px}
.satit-learning-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.satit-learning-card-modern{border-top:4px solid rgba(201,150,50,.55);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.satit-learning-card-modern:hover{border-color:var(--satit-gold);box-shadow:0 22px 42px rgba(0,33,75,.12)}.satit-learning-card-modern .satit-info-icon{transition:.25s ease}.satit-learning-card-modern:hover .satit-info-icon{transform:rotate(-4deg) scale(1.05);background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff}.satit-learning-card-modern h3{font-size:18px}.satit-learning-card-modern p{font-size:14px;line-height:1.75}
.satit-learning-tools{margin:12px 0 56px}.satit-timetable-card,.satit-calendar-card,.satit-activity-learning-card{background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:26px;box-shadow:0 16px 38px rgba(0,33,75,.08);padding:22px;height:100%}.satit-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.satit-card-head h3{font-size:19px;font-weight:900;color:var(--satit-navy);margin:0}.satit-card-head h3 .fa{color:var(--satit-gold);margin-right:6px}.satit-card-head a{font-size:13px;font-weight:800}.satit-mini-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.satit-mini-table th{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;padding:10px;text-align:center;white-space:nowrap}.satit-mini-table th:first-child{border-radius:12px 0 0 0}.satit-mini-table th:last-child{border-radius:0 12px 0 0}.satit-mini-table td{background:#f8fafc;border-bottom:1px solid #e8edf4;padding:10px;text-align:center;color:#31445c}.satit-mini-table td:first-child{font-weight:800;color:var(--satit-navy)}.satit-timetable-card small{display:block;margin-top:12px;color:var(--satit-muted);line-height:1.6}.satit-calendar-month{text-align:center;background:#fff7e8;color:#8a5c15;border-radius:14px;padding:10px;font-weight:900;margin-bottom:10px}.satit-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.satit-calendar-grid span{font-size:12px;color:var(--satit-muted);font-weight:800}.satit-calendar-grid b{font-size:12px;padding:7px 0;border-radius:10px;background:#f7f9fc;color:#31445c}.satit-calendar-grid b.mark{background:linear-gradient(135deg,var(--satit-gold),var(--satit-gold-2));color:#fff}.satit-calendar-events{list-style:none;margin:14px 0 0;padding:0}.satit-calendar-events li{font-size:13px;color:var(--satit-muted);padding:7px 0;border-bottom:1px solid #edf1f6}.satit-calendar-events b{color:var(--satit-navy)}.satit-activity-mini{display:flex;gap:12px;padding:12px;border-radius:16px;color:inherit!important;border-bottom:1px solid #edf1f6}.satit-activity-mini:hover{background:#f5f9ff}.satit-activity-mini img{width:76px;height:58px;object-fit:cover;border-radius:12px;flex:0 0 auto}.satit-activity-mini strong{display:block;color:var(--satit-navy);font-size:14px;line-height:1.45}.satit-activity-mini small{display:block;color:var(--satit-muted);font-size:12px;line-height:1.45;margin-top:3px}
@media(max-width:1199.98px){.satit-learning-overview,.satit-learning-layout{grid-template-columns:1fr}.satit-learning-feature{grid-template-columns:1fr}.satit-learning-feature-visual{min-height:180px}.satit-learning-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.satit-learning-overview{padding:22px}.satit-learning-overview h2{font-size:26px}.satit-learning-overview-stats{grid-template-columns:1fr}.satit-learning-tabs{position:static}.satit-learning-card-grid{grid-template-columns:1fr}.satit-learning-feature-body{padding:24px}.satit-learning-feature-body h3{font-size:23px}.satit-resource-head,.satit-card-head{align-items:flex-start;flex-direction:column}.satit-mini-table{font-size:12px}.satit-mini-table th,.satit-mini-table td{padding:8px 7px}}

/* Learning page revision: separated level directory + Thailand time calendar */
.satit-learning-overview-split{grid-template-columns:minmax(0,1fr) 360px;}
.satit-thai-timebox{position:relative;z-index:1;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:24px;padding:22px;color:#fff;box-shadow:0 16px 34px rgba(0,33,75,.16);overflow:hidden;min-height:150px;display:flex;flex-direction:column;justify-content:center;}
.satit-thai-timebox:after{content:"";position:absolute;right:-42px;top:-50px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.satit-thai-timebox span{display:inline-flex;align-items:center;gap:8px;color:#ffe4a3;font-weight:900;font-size:13px;margin-bottom:8px;position:relative;z-index:1}.satit-thai-timebox strong{display:block;font-size:20px;line-height:1.5;font-weight:900;position:relative;z-index:1}.satit-thai-timebox em{font-style:normal;display:block;font-size:28px;color:var(--satit-gold-2);font-weight:900;letter-spacing:.5px;position:relative;z-index:1}.satit-thai-timebox small{display:block;color:rgba(255,255,255,.75);font-size:12px;position:relative;z-index:1}
.satit-level-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 20px}.satit-level-directory-card{position:relative;display:flex;flex-direction:column;gap:7px;min-height:190px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:26px;padding:22px;color:var(--satit-navy)!important;box-shadow:0 12px 30px rgba(0,33,75,.07);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.satit-level-directory-card:before{content:"";position:absolute;right:-40px;top:-44px;width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,rgba(201,150,50,.14),rgba(0,52,107,.07));transition:.28s ease}.satit-level-directory-card:hover,.satit-level-directory-card.active{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,33,75,.13);border-color:rgba(201,150,50,.45)}.satit-level-directory-card:hover:before,.satit-level-directory-card.active:before{transform:scale(1.12)}.satit-level-directory-card .fa{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;position:relative;z-index:1}.satit-level-directory-card.gold .fa{background:linear-gradient(135deg,#a97819,#d6ae53)}.satit-level-directory-card.green .fa{background:linear-gradient(135deg,#116653,#21a585)}.satit-level-directory-card.purple .fa{background:linear-gradient(135deg,#4c2d7a,#7d56b7)}.satit-level-directory-card strong{font-size:19px;font-weight:900;line-height:1.35;position:relative;z-index:1}.satit-level-directory-card small{font-size:13px;color:var(--satit-muted);position:relative;z-index:1}.satit-level-directory-card b{font-size:13px;color:var(--satit-gold);margin-top:auto;position:relative;z-index:1}.satit-level-order{position:absolute;right:18px;top:16px;color:rgba(0,52,107,.12);font-size:38px;font-weight:900;line-height:1}.satit-learning-separated-level{background:linear-gradient(180deg,#fff 0,#f7faff 100%);border:1px solid rgba(0,52,107,.05);border-radius:30px;padding:18px 18px 30px;margin-bottom:38px;box-shadow:0 12px 34px rgba(0,33,75,.05)}
.satit-thai-calendar-card{position:relative;overflow:hidden}.satit-thai-calendar-card:before{content:"";position:absolute;right:-36px;top:-45px;width:130px;height:130px;border-radius:50%;background:rgba(201,150,50,.12)}.satit-calendar-current{position:relative;z-index:1;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:18px;padding:14px 15px;color:#fff;margin-bottom:12px}.satit-calendar-current span{display:block;color:#ffe4a3;font-weight:900;font-size:12px}.satit-calendar-current strong{display:block;font-size:15px;line-height:1.45;margin:2px 0}.satit-calendar-current small{display:block;color:rgba(255,255,255,.78);font-size:12px}.satit-calendar-current small b{color:var(--satit-gold-2);font-size:14px}.satit-calendar-grid-th{position:relative;z-index:1}.satit-calendar-grid b.empty{background:transparent;box-shadow:none}.satit-calendar-grid b.today{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;box-shadow:0 8px 16px rgba(0,52,107,.22)}.satit-calendar-grid b.mark:not(.today){background:linear-gradient(135deg,var(--satit-gold),var(--satit-gold-2));color:#fff}.satit-calendar-events-modern li{position:relative;padding:9px 0 9px 14px}.satit-calendar-events-modern li:before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:50%;background:var(--satit-gold)}.satit-calendar-events-modern li.today:before{background:var(--satit-navy)}.satit-calendar-events-modern span{display:block;color:var(--satit-navy);font-weight:900;font-size:13px}.satit-calendar-events-modern small{display:block;color:var(--satit-muted);font-size:12px;line-height:1.45}.satit-calendar-events-modern b{display:block;font-size:12px;color:#8a5c15;margin-bottom:2px}
@media(max-width:1199.98px){.satit-learning-overview-split{grid-template-columns:1fr}.satit-level-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.satit-level-directory{grid-template-columns:1fr}.satit-level-directory-card{min-height:auto}.satit-thai-timebox em{font-size:24px}.satit-learning-separated-level{padding:14px}}

/* Download documents page: page-based document grouping */
.satit-download-directory{margin-bottom:26px}.satit-doc-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.satit-doc-page-card{position:relative;min-height:150px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:20px;color:var(--satit-navy)!important;box-shadow:0 12px 30px rgba(0,33,75,.06);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.satit-doc-page-card:before{content:"";position:absolute;right:-42px;top:-42px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--doc-color,#00346b) 14%,transparent);transition:.25s ease}.satit-doc-page-card:hover,.satit-doc-page-card.active{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,33,75,.13);border-color:color-mix(in srgb,var(--doc-color,#00346b) 40%,#fff)}.satit-doc-page-card:hover:before,.satit-doc-page-card.active:before{transform:scale(1.15)}.satit-doc-page-card .fa{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--doc-color,#00346b),#08264d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px;position:relative;z-index:1}.satit-doc-page-card strong{display:block;font-size:17px;font-weight:900;line-height:1.35;position:relative;z-index:1}.satit-doc-page-card small{display:block;color:var(--satit-muted);font-size:12px;margin-top:5px;line-height:1.6;position:relative;z-index:1}.satit-download-filter-card{margin-top:10px}.satit-filter-tabs-scroll{overflow-x:auto;white-space:nowrap;display:flex;gap:8px;padding-bottom:3px}.satit-filter-tabs-scroll::-webkit-scrollbar{height:6px}.satit-filter-tabs-scroll::-webkit-scrollbar-thumb{background:#d6e0ec;border-radius:999px}.satit-section-filter{margin-top:10px;padding-top:10px;border-top:1px solid var(--satit-line)}.satit-panel-title.compact{margin-bottom:14px}.satit-file-row-modern{border-left:5px solid var(--doc-color,#00346b)}.satit-file-row-modern:hover .satit-file-icon{background:linear-gradient(135deg,var(--doc-color,#00346b),#08264d);color:#fff}.satit-chip.featured{background:#fff4d9;color:#8a5c15;border:1px solid rgba(201,150,50,.35)}.satit-side-list a{color:inherit;display:flex;align-items:center;gap:8px}.satit-side-list a:hover{color:var(--satit-gold)}
@media(max-width:1199.98px){.satit-doc-page-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.satit-doc-page-grid{grid-template-columns:1fr}.satit-doc-page-card{min-height:auto}}

/* Achievements page: separated student/teacher/activity layout */
.satit-achievement-page{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%)}
.satit-achievement-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px}
.satit-achievement-tabs a{position:relative;display:flex;flex-direction:column;gap:4px;min-height:126px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:18px;color:var(--satit-navy)!important;box-shadow:0 12px 30px rgba(0,33,75,.06);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.satit-achievement-tabs a:before{content:"";position:absolute;right:-42px;top:-42px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--ach-color,#00346b) 14%,transparent);transition:.28s ease}.satit-achievement-tabs a:hover,.satit-achievement-tabs a.active{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,33,75,.13);border-color:color-mix(in srgb,var(--ach-color,#00346b) 45%,#fff)}.satit-achievement-tabs a:hover:before,.satit-achievement-tabs a.active:before{transform:scale(1.13)}
.satit-achievement-tabs .fa{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--ach-color,#00346b),#08264d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;z-index:1}.satit-achievement-tabs span{font-weight:900;font-size:16px;position:relative;z-index:1}.satit-achievement-tabs small{color:var(--satit-muted);font-size:12px;line-height:1.45;position:relative;z-index:1}
.satit-achievement-section{margin-top:32px;padding:28px;background:#fff;border:1px solid rgba(0,52,107,.06);border-radius:30px;box-shadow:0 14px 36px rgba(0,33,75,.055)}
.satit-section-kicker{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--kicker-color,#00346b) 10%,#fff);color:var(--kicker-color,#00346b);border:1px solid color-mix(in srgb,var(--kicker-color,#00346b) 22%,#fff);padding:7px 13px;border-radius:999px;font-size:13px;font-weight:900;margin-bottom:8px}.satit-section-title.compact{align-items:center;margin-bottom:18px}
.satit-achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.satit-achievement-card{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;box-shadow:0 12px 28px rgba(0,33,75,.07);overflow:hidden;height:100%;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.satit-achievement-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(0,33,75,.14);border-color:color-mix(in srgb,var(--ach-color,#00346b) 36%,#fff)}
.satit-achievement-cover{display:block;position:relative;height:214px;overflow:hidden;background:#eef3f8}.satit-achievement-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.satit-achievement-card:hover .satit-achievement-cover img{transform:scale(1.06)}.satit-achievement-cover:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(0deg,rgba(0,24,54,.65),rgba(0,24,54,0))}.satit-achievement-badge{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;background:var(--ach-color,#00346b);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;box-shadow:0 8px 16px rgba(0,0,0,.15)}.satit-featured-ribbon{position:absolute;right:14px;top:14px;z-index:2;background:linear-gradient(135deg,var(--satit-gold),var(--satit-gold-2));color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;box-shadow:0 8px 16px rgba(0,0,0,.12)}
.satit-achievement-body{padding:18px}.satit-achievement-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}.satit-achievement-meta span{display:inline-flex;align-items:center;gap:5px;background:#f5f8fc;color:var(--satit-muted);border-radius:999px;padding:4px 9px;font-size:12px}.satit-achievement-body h3{font-size:18px;line-height:1.45;margin:0 0 8px;font-weight:900;color:var(--satit-navy)}.satit-achievement-body h3 a{color:var(--satit-navy)!important}.satit-achievement-body h3 a:hover{color:var(--ach-color,#00346b)!important}.satit-achievement-owner{font-size:13px;color:var(--ach-color,#00346b);font-weight:800;margin-bottom:6px}.satit-achievement-body p{color:var(--satit-muted);font-size:14px;margin-bottom:12px}.satit-readmore{font-weight:900;color:var(--ach-color,#00346b)!important;display:inline-flex;align-items:center;gap:5px}.satit-readmore .fa{transition:.2s}.satit-readmore:hover .fa{transform:translateX(4px)}
@media(max-width:1199.98px){.satit-achievement-tabs{grid-template-columns:repeat(3,1fr)}.satit-achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.satit-achievement-tabs{grid-template-columns:1fr}.satit-achievement-section{padding:18px;border-radius:22px}.satit-achievement-grid{grid-template-columns:1fr}.satit-achievement-cover{height:190px}}

/* ===== News category display ===== */
.satit-chip.dynamic{color:#fff!important;border:0;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 18px rgba(0,0,0,.10)}
.colorful-tabs a{border-left:4px solid var(--tab-color,#00346b)}
.colorful-tabs a:hover,.colorful-tabs a.active{background:var(--tab-color,#00346b)!important;color:#fff!important;border-color:var(--tab-color,#00346b)!important;box-shadow:0 10px 22px rgba(0,52,107,.12)}
.category-news-card{border-top:4px solid var(--news-color,#00346b)}
.category-news-card .satit-news-thumb{position:relative;overflow:hidden}.category-news-card .satit-news-thumb:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:var(--news-color,#00346b)}
.category-news-card:hover h3 a{color:var(--news-color,#00346b)!important}.category-news-detail{border-top:5px solid var(--news-color,#00346b)}
.satit-lead-summary{font-size:1.08rem;line-height:1.8;color:#51657a;background:#f6f9fc;border-left:4px solid var(--news-color,#00346b);padding:14px 18px;border-radius:12px;margin:12px 0 16px}.satit-recent-list li{border-left:3px solid var(--news-color,#c99632);padding-left:10px}.news-card{border-top:4px solid var(--news-color,#00346b);transition:.25s}.news-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(0,52,107,.16)}.news-card:hover img{transform:scale(1.045)}.news-card img{transition:.35s}.news-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:#fff;padding:5px 10px;font-size:12px;font-weight:600}

/* Personnel directory */
.satit-personnel-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f7f9fd 55%,#fff8e8 100%);box-shadow:0 18px 44px rgba(0,36,82,.09);border:1px solid rgba(0,52,107,.08)}
.satit-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;letter-spacing:.02em;color:#c99632;text-transform:none;margin-bottom:8px}
.satit-personnel-summary h2{margin:0 0 8px;color:#00346b;font-weight:800;font-size:2rem}.satit-personnel-summary p{margin:0;color:#50627a;max-width:780px;line-height:1.8}.satit-personnel-total{min-width:190px;text-align:center;border-radius:24px;background:#00346b;color:#fff;padding:20px;box-shadow:0 18px 34px rgba(0,52,107,.20)}.satit-personnel-total strong{display:block;font-size:2.8rem;line-height:1;color:#ffd981}.satit-personnel-total span{display:block;margin-top:7px;font-size:.92rem;color:rgba(255,255,255,.86)}
.satit-personnel-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:34px}.satit-personnel-tabs a{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 15px;border-radius:20px;background:#fff;color:#193352;text-decoration:none;border:1px solid rgba(0,52,107,.08);box-shadow:0 12px 26px rgba(0,36,82,.07);transition:.25s ease;overflow:hidden}.satit-personnel-tabs a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--group-color,#c99632);opacity:.85}.satit-personnel-tabs a i{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--group-color,#00346b);box-shadow:0 10px 22px rgba(0,52,107,.16)}.satit-personnel-tabs a span{font-weight:800;line-height:1.35}.satit-personnel-tabs a b{margin-left:auto;min-width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f2f5fa;color:#00346b}.satit-personnel-tabs a:hover,.satit-personnel-tabs a.active{transform:translateY(-4px);box-shadow:0 20px 42px rgba(0,36,82,.13);border-color:rgba(201,150,50,.30)}.satit-personnel-tabs a.active{background:linear-gradient(135deg,#fff,#fff8e8)}
.satit-personnel-section{margin:34px 0 42px}.satit-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.satit-section-heading h2{margin:0;color:#00346b;font-weight:800;font-size:1.85rem}.satit-view-all{color:#00346b;font-weight:700;text-decoration:none}.satit-view-all:hover{color:#c99632;text-decoration:none}.satit-person-card{position:relative;height:100%;overflow:hidden;border-radius:26px;background:#fff;border:1px solid rgba(0,52,107,.08);box-shadow:0 14px 34px rgba(0,36,82,.08);transition:.28s ease}.satit-person-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--group-color,#00346b)}.satit-person-card:hover{transform:translateY(-8px);box-shadow:0 24px 52px rgba(0,36,82,.15)}.satit-person-featured{position:absolute;right:14px;top:14px;z-index:2;padding:6px 11px;border-radius:999px;background:#c99632;color:#fff;font-weight:700;font-size:.78rem;box-shadow:0 10px 24px rgba(201,150,50,.28)}.satit-person-photo-wrap{height:250px;background:linear-gradient(135deg,#eef3fb,#fff8e8);overflow:hidden}.satit-person-photo{width:100%;height:100%;object-fit:cover;transition:.35s ease}.satit-person-card:hover .satit-person-photo{transform:scale(1.055)}.satit-person-body{padding:20px 20px 22px}.satit-person-group{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:rgba(0,52,107,.06);color:var(--group-color,#00346b);font-weight:800;font-size:.78rem;margin-bottom:10px}.satit-person-body h3{margin:0 0 8px;color:#00346b;font-size:1.22rem;font-weight:850;line-height:1.35}.satit-person-degree{margin:0 0 7px;color:#c99632;font-weight:700;line-height:1.5}.satit-person-position{margin:0 0 8px;color:#263e5f;font-weight:700}.satit-person-dept,.satit-person-role{margin:0 0 8px;color:#64748b;line-height:1.65}.satit-person-contact{display:flex;gap:9px;margin-top:14px}.satit-person-contact a{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f2f5fa;color:#00346b;transition:.22s}.satit-person-contact a:hover{background:var(--group-color,#00346b);color:#fff;text-decoration:none;transform:translateY(-2px)}
.satit-empty-state{text-align:center;border-radius:28px;padding:50px 20px;background:#fff;border:1px dashed rgba(0,52,107,.25);color:#52657f;box-shadow:0 12px 28px rgba(0,36,82,.06)}.satit-empty-state i{font-size:3rem;color:#c99632;margin-bottom:14px}.satit-empty-state h3{color:#00346b;font-weight:800;margin:0 0 8px}.satit-personnel-cta{display:flex;align-items:center;gap:22px;border-radius:28px;background:linear-gradient(135deg,#00346b,#0b4f93);color:#fff;padding:26px 28px;margin:0 0 34px;box-shadow:0 20px 44px rgba(0,52,107,.18);border:1px solid rgba(255,255,255,.15)}.satit-personnel-cta-icon{width:76px;height:76px;flex:0 0 76px;border-radius:24px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#ffd981}.satit-personnel-cta h2{margin:0 0 6px;color:#fff;font-weight:850}.satit-personnel-cta p{margin:0;color:rgba(255,255,255,.84);line-height:1.75}.satit-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;background:#c99632;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 10px 24px rgba(201,150,50,.28);transition:.22s}.satit-btn-primary:hover{color:#fff;text-decoration:none;transform:translateY(-2px);filter:brightness(1.05)}
@media (max-width: 767px){.satit-personnel-summary,.satit-section-heading,.satit-personnel-cta{display:block}.satit-personnel-total{margin-top:18px}.satit-personnel-cta-icon{margin-bottom:16px}.satit-btn-primary{margin-top:16px;width:100%}.satit-person-photo-wrap{height:220px}}


/* ปฏิทินกิจกรรมโรงเรียน */
.satit-public-calendar-page .satit-calendar-top-panel{display:flex;gap:24px;justify-content:space-between;align-items:flex-end;background:linear-gradient(135deg,#ffffff,#f3f7fb);border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:26px;margin-bottom:20px;box-shadow:0 16px 35px rgba(0,0,0,.06)}
.satit-calendar-top-panel h2{font-weight:800;color:#00346b;margin:5px 0}.satit-calendar-top-panel p{margin:0;color:#607185}.satit-kicker{display:inline-flex;align-items:center;gap:8px;color:#c99632;font-weight:700;letter-spacing:.02em}
.satit-calendar-search{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.satit-calendar-search select,.satit-calendar-search input{border:1px solid #dbe3ee;border-radius:12px;padding:10px 12px;background:#fff;color:#00346b;min-width:130px}.satit-calendar-search button{border:0;border-radius:12px;background:#00346b;color:#fff;padding:10px 18px;font-weight:700}
.satit-calendar-category-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.satit-calendar-category-row a{display:inline-flex;gap:8px;align-items:center;border:1px solid #e3eaf2;border-radius:999px;padding:9px 14px;color:#00346b;background:#fff;text-decoration:none;transition:.2s}.satit-calendar-category-row a:hover,.satit-calendar-category-row a.active{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,52,107,.1);border-color:#c99632}.satit-calendar-category-row span{width:11px;height:11px;border-radius:50%}
.satit-public-calendar-wrap{background:#fff;border-radius:24px;padding:22px;border:1px solid #e4ebf3;box-shadow:0 18px 38px rgba(0,0,0,.07);margin-bottom:28px}.satit-calendar-nav-public{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.satit-calendar-nav-public a{background:#f3f7fb;color:#00346b;border-radius:999px;padding:9px 15px;text-decoration:none;font-weight:700}.satit-calendar-nav-public strong{color:#c99632}
.satit-public-month-calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e4ebf3;border-radius:18px;overflow:hidden}.satit-public-month-calendar .cal-head{background:#00346b;color:#fff;text-align:center;padding:12px;font-weight:700}.satit-public-month-calendar .cal-cell{min-height:135px;padding:10px;border-right:1px solid #e4ebf3;border-bottom:1px solid #e4ebf3;background:#fff;position:relative}.satit-public-month-calendar .cal-cell:nth-child(7n){border-right:0}.satit-public-month-calendar .cal-cell.empty{background:#f8fafc}.satit-public-month-calendar .cal-cell.today{background:linear-gradient(180deg,#fff8ea,#fff)}.satit-public-month-calendar .day-number{font-weight:800;color:#00346b;margin-bottom:8px}.cal-public-event{display:block;width:100%;border:0;border-left:4px solid var(--event-color,#00346b);border-radius:10px;background:rgba(0,52,107,.055);padding:6px 8px;margin-bottom:6px;text-align:left;color:#1c3249;font-size:12px;line-height:1.35;transition:.2s;cursor:pointer}.cal-public-event:hover{transform:translateX(3px);box-shadow:0 8px 16px rgba(0,0,0,.08)}.cal-public-event small{font-weight:800;color:var(--event-color,#00346b)}.cal-more{font-size:12px;color:#c99632;font-weight:700}
.satit-calendar-list-card{height:100%;background:#fff;border-radius:20px;border:1px solid #e5edf4;padding:20px;box-shadow:0 12px 24px rgba(0,0,0,.055);border-top:5px solid var(--event-color,#00346b)}.satit-calendar-list-card h3{font-size:1.08rem;color:#00346b;font-weight:800;margin:12px 0 8px}.event-badge{display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--event-color,#00346b) 12%,#fff);color:var(--event-color,#00346b);font-weight:800;border-radius:999px;padding:7px 12px}.event-meta{display:flex;flex-direction:column;gap:6px;color:#64748b;font-size:.9rem}.event-meta i{color:#c99632;width:18px}.satit-event-modal{position:fixed;inset:0;background:rgba(0,23,48,.58);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.satit-event-modal.show{display:flex}.satit-event-modal .modal-card{background:#fff;border-radius:24px;padding:28px;max-width:520px;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.25);position:relative}.satit-event-modal .modal-close{position:absolute;right:15px;top:13px;border:0;background:#00346b;color:#fff;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.satit-event-modal h3{color:#00346b;font-weight:800}.modal-kicker{color:#c99632;font-weight:800}.modal-date,.modal-location,.modal-owner{margin:7px 0;color:#475569}.modal-detail{margin-top:12px;color:#1f2937;white-space:pre-wrap}
@media(max-width:991px){.satit-public-calendar-page .satit-calendar-top-panel{display:block}.satit-calendar-search{justify-content:flex-start;margin-top:15px}.satit-public-month-calendar{display:block}.satit-public-month-calendar .cal-head{display:none}.satit-public-month-calendar .cal-cell{min-height:auto;border-right:0}.satit-public-month-calendar .cal-cell.empty{display:none}.satit-calendar-nav-public{gap:10px;flex-wrap:wrap}}

/* ===== Learning calendar monthly template update ===== */
.satit-learning-subnav{display:flex;flex-wrap:wrap;gap:10px;background:#fff;border:1px solid rgba(0,52,107,.07);border-radius:24px;padding:12px;margin:0 0 22px;box-shadow:0 10px 26px rgba(0,33,75,.055)}
.satit-learning-subnav a{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#f4f7fb;color:var(--satit-navy)!important;padding:10px 15px;font-weight:800;font-size:14px}.satit-learning-subnav a .fa{color:var(--satit-gold)}.satit-learning-subnav a:hover,.satit-learning-subnav a.active{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 22px rgba(0,52,107,.16)}.satit-learning-subnav a:hover .fa,.satit-learning-subnav a.active .fa{color:var(--satit-gold-2)}
.satit-learning-calendar-page{background:linear-gradient(180deg,#f7faff 0,#fff 35%,#f6f8fb 100%)}
.satit-calendar-hero-panel{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;background:radial-gradient(circle at 90% 0,rgba(229,193,110,.32),transparent 32%),linear-gradient(135deg,#fff,#f4f8fd);border:1px solid rgba(0,52,107,.08);border-radius:30px;padding:28px;margin-bottom:18px;box-shadow:0 18px 42px rgba(0,33,75,.08);overflow:hidden;position:relative}.satit-calendar-hero-panel:before{content:"";position:absolute;right:-80px;bottom:-90px;width:230px;height:230px;background:rgba(0,52,107,.055);border-radius:50%}.satit-calendar-hero-main{position:relative;z-index:1}.satit-calendar-hero-main h2{font-size:38px;color:var(--satit-navy);font-weight:900;margin:7px 0}.satit-calendar-hero-main p{max-width:820px;color:var(--satit-muted);font-size:16px;margin-bottom:16px}.satit-calendar-today-badge{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:18px;color:#fff;padding:13px 16px;box-shadow:0 14px 28px rgba(0,52,107,.2)}.satit-calendar-today-badge>.fa{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border-radius:13px;color:var(--satit-gold-2);font-size:20px}.satit-calendar-today-badge strong{display:block;line-height:1.35}.satit-calendar-today-badge small{display:block;color:rgba(255,255,255,.78)}.satit-calendar-today-badge b{color:var(--satit-gold-2)}
.satit-calendar-filter-card{position:relative;z-index:1;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(0,33,75,.07);display:grid;gap:7px}.satit-calendar-filter-card label{font-size:12px;font-weight:900;color:var(--satit-navy);margin:0}.satit-calendar-filter-card select,.satit-calendar-filter-card input{border:1px solid #dbe3ee;border-radius:13px;background:#f9fbfe;color:var(--satit-navy);padding:10px 12px;outline:0}.satit-calendar-filter-card select:focus,.satit-calendar-filter-card input:focus{border-color:var(--satit-gold);box-shadow:0 0 0 3px rgba(201,150,50,.12)}.satit-calendar-filter-card button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;font-weight:900;padding:11px 14px;margin-top:4px;box-shadow:0 12px 22px rgba(0,52,107,.18)}.satit-calendar-filter-card button:hover{background:linear-gradient(135deg,var(--satit-gold),#b78222)}
.satit-calendar-month-tools{margin:16px 0}.satit-calendar-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.satit-calendar-main-card,.satit-calendar-side-card{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:30px;box-shadow:0 18px 42px rgba(0,33,75,.075)}.satit-calendar-main-card{padding:22px;overflow:hidden}.satit-calendar-month-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;background:linear-gradient(135deg,#f9fbff,#fff7e8);border:1px solid rgba(201,150,50,.16);border-radius:22px;padding:16px}.satit-calendar-month-header a{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#fff;border:1px solid rgba(0,52,107,.08);padding:9px 14px;font-weight:900;color:var(--satit-navy)!important}.satit-calendar-month-header a:hover{background:var(--satit-navy);color:#fff!important}.satit-calendar-month-header div{text-align:center}.satit-calendar-month-header span{display:block;color:var(--satit-gold);font-weight:900;font-size:13px}.satit-calendar-month-header strong{display:block;color:var(--satit-navy);font-size:26px;font-weight:900;line-height:1.25}.satit-calendar-month-header small{display:block;color:var(--satit-muted)}
.satit-public-month-calendar-modern{border-radius:24px;border:1px solid #e3ebf3;box-shadow:none;overflow:hidden;background:#eef4fb}.satit-public-month-calendar-modern .cal-head{background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));padding:13px;color:#fff;font-weight:900;text-align:center}.satit-public-month-calendar-modern .cal-cell{min-height:158px;background:#fff;border-right:1px solid #e3ebf3;border-bottom:1px solid #e3ebf3;padding:10px;transition:background .2s ease,box-shadow .2s ease}.satit-public-month-calendar-modern .cal-cell:hover{background:#fbfdff;box-shadow:inset 0 0 0 2px rgba(201,150,50,.18)}.satit-public-month-calendar-modern .cal-cell.muted{background:#f5f8fc;color:#b7c1ce}.satit-public-month-calendar-modern .cal-cell.today{background:linear-gradient(180deg,#fff7e6 0%,#fff 100%);box-shadow:inset 0 0 0 2px rgba(201,150,50,.34)}.satit-public-month-calendar-modern .day-number{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.satit-public-month-calendar-modern .day-number span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f5fa;color:var(--satit-navy);font-weight:900}.satit-public-month-calendar-modern .today .day-number span{background:linear-gradient(135deg,var(--satit-gold),var(--satit-gold-2));color:#fff}.satit-public-month-calendar-modern .day-number em{font-style:normal;background:var(--satit-navy);color:#fff;font-size:11px;border-radius:999px;padding:2px 8px;font-weight:800}.satit-public-month-calendar-modern .cal-public-event{background:color-mix(in srgb,var(--event-color,#00346b) 10%,#fff);border:1px solid color-mix(in srgb,var(--event-color,#00346b) 25%,#fff);border-left:5px solid var(--event-color,#00346b);border-radius:12px;padding:6px 8px;margin-bottom:6px;color:#21384f}.satit-public-month-calendar-modern .cal-public-event small{display:block;font-weight:900;color:var(--event-color,#00346b);font-size:10.5px}.satit-public-month-calendar-modern .cal-public-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:750}.satit-public-month-calendar-modern .cal-public-event:hover{transform:translateX(3px);box-shadow:0 10px 18px rgba(0,33,75,.1)}.satit-public-month-calendar-modern .cal-more{border:0;background:#fff7e6;color:#8b5d12;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;cursor:pointer}
.satit-calendar-side-card{padding:20px;position:sticky;top:150px}.satit-side-section+.satit-side-section{border-top:1px solid var(--satit-line);padding-top:18px;margin-top:18px}.satit-side-section h3{font-size:19px;font-weight:900;color:var(--satit-navy);margin:0 0 12px}.satit-side-section h3 .fa{color:var(--satit-gold);margin-right:7px}.satit-side-event,.satit-upcoming-event{width:100%;border:0;background:#f8fbff;border-radius:16px;padding:11px;margin-bottom:9px;display:flex;align-items:flex-start;gap:10px;text-align:left;color:var(--satit-text);transition:.2s ease}.satit-side-event{border-left:5px solid var(--event-color,#00346b)}.satit-side-event span{width:13px;height:13px;border-radius:50%;background:var(--event-color,#00346b);margin-top:4px;flex:0 0 auto}.satit-side-event strong,.satit-upcoming-event strong{display:block;color:var(--satit-navy);font-size:14px;line-height:1.35}.satit-side-event small,.satit-upcoming-event small{display:block;color:var(--satit-muted);font-size:12px}.satit-upcoming-event b{width:38px;height:38px;border-radius:14px;background:var(--event-color,#00346b);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:17px}.satit-side-event:hover,.satit-upcoming-event:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,33,75,.11);background:#fff}
.satit-event-modal .modal-time{margin:7px 0;color:#475569}.satit-learning-calendar-tab{border:1px solid rgba(201,150,50,.25)!important;background:linear-gradient(135deg,#fff8e8,#fff)!important}.satit-learning-calendar-tab .fa{color:var(--satit-gold)!important}.satit-calendar-full-link{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));border-radius:14px;padding:10px 12px;color:#fff!important;font-weight:900}.satit-calendar-full-link:hover{background:linear-gradient(135deg,var(--satit-gold),#b78222);color:#fff!important;transform:translateY(-2px)}
@media(max-width:1199.98px){.satit-calendar-hero-panel,.satit-calendar-dashboard{grid-template-columns:1fr}.satit-calendar-side-card{position:static}.satit-calendar-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.satit-calendar-filter-card label{grid-column:span 1}.satit-calendar-filter-card button{grid-column:1/-1}}
@media(max-width:991.98px){.satit-public-month-calendar-modern{display:grid;grid-template-columns:repeat(7,1fr)}.satit-public-month-calendar-modern .cal-head{display:block}.satit-public-month-calendar-modern .cal-cell{min-height:120px;border-right:1px solid #e3ebf3}.satit-calendar-month-header{flex-direction:column}.satit-calendar-month-header div{order:-1}.satit-calendar-month-header a{width:100%;justify-content:center}}
@media(max-width:767.98px){.satit-calendar-hero-panel{padding:20px;border-radius:24px}.satit-calendar-hero-main h2{font-size:30px}.satit-calendar-filter-card{grid-template-columns:1fr}.satit-public-month-calendar-modern{display:block}.satit-public-month-calendar-modern .cal-head{display:none}.satit-public-month-calendar-modern .cal-cell{min-height:auto;border-right:0}.satit-public-month-calendar-modern .cal-cell.muted{display:none}.satit-public-month-calendar-modern .cal-public-event span{white-space:normal}.satit-learning-subnav{border-radius:18px}.satit-learning-subnav a{width:100%;justify-content:flex-start}}


/* === Calendar monthly layout audit/fix: stable 7-column grid, Thai-year input, cleaner month cells === */
.satit-calendar-filter-card .satit-filter-hint{display:block;color:var(--satit-muted);font-size:11px;line-height:1.35;margin:-2px 0 4px;grid-column:1/-1}
.satit-public-month-calendar-modern{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;align-items:stretch;gap:0;background:#e4ebf3;border-radius:24px;border:1px solid #dce6f1;overflow:hidden}
.satit-public-month-calendar-modern .cal-head{min-width:0;text-align:center;letter-spacing:.02em}
.satit-public-month-calendar-modern .cal-head.weekend{background:linear-gradient(135deg,#8b5d12,var(--satit-gold));color:#fff}
.satit-public-month-calendar-modern .cal-cell{min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative;background:#fff;box-sizing:border-box}
.satit-public-month-calendar-modern .cal-cell.weekend:not(.muted):not(.today){background:#fffdf8}
.satit-public-month-calendar-modern .cal-cell.muted{background:#f4f7fb!important;color:#aab6c5;opacity:.72}
.satit-public-month-calendar-modern .cal-cell.muted .day-number span{background:#e9eef5;color:#93a3b6}
.satit-public-month-calendar-modern .cal-cell.has-event:not(.today){box-shadow:inset 0 3px 0 rgba(201,150,50,.2)}
.satit-public-month-calendar-modern .day-number{flex:0 0 auto;min-width:0}
.satit-public-month-calendar-modern .cal-public-event{min-width:0;max-width:100%;display:block;flex:0 0 auto;overflow:hidden}
.satit-public-month-calendar-modern .cal-public-event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.satit-public-month-calendar-modern .cal-public-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.satit-public-month-calendar-modern .cal-more{width:max-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:auto}
.satit-calendar-note{margin:14px 2px 0;padding:11px 14px;border-radius:16px;background:#f8fbff;border:1px solid rgba(0,52,107,.08);color:var(--satit-muted);font-size:13px;line-height:1.55}.satit-calendar-note .fa{color:var(--satit-gold);margin-right:6px}
.satit-calendar-month-header{position:relative;z-index:1}.satit-calendar-month-header>div{min-width:0}.satit-calendar-month-header strong{word-break:keep-all}
@media(max-width:1199.98px){.satit-public-month-calendar-modern .cal-cell{min-height:145px}}
@media(max-width:991.98px){.satit-public-month-calendar-modern{grid-template-columns:repeat(7,minmax(92px,1fr))!important;overflow-x:auto;border-radius:18px}.satit-calendar-main-card{overflow-x:auto}.satit-public-month-calendar-modern .cal-head,.satit-public-month-calendar-modern .cal-cell{min-width:92px}.satit-public-month-calendar-modern .cal-cell{min-height:128px}.satit-calendar-filter-card .satit-filter-hint{grid-column:auto}}
@media(max-width:767.98px){.satit-public-month-calendar-modern{display:block!important;overflow:visible;border-radius:18px;background:transparent;border:0}.satit-public-month-calendar-modern .cal-head{display:none!important}.satit-public-month-calendar-modern .cal-cell{display:block;min-height:auto!important;margin-bottom:10px;border:1px solid #e3ebf3!important;border-radius:16px;padding:12px;background:#fff}.satit-public-month-calendar-modern .cal-cell.muted{display:none!important}.satit-public-month-calendar-modern .cal-public-event span,.satit-public-month-calendar-modern .cal-public-event small{white-space:normal}.satit-calendar-month-header a{padding:10px 12px}.satit-calendar-note{font-size:12px}}

/* =========================================================
   Calendar monthly page - clean, readable, standard month layout
   Updated for activity_calendar.php
   ========================================================= */
.satit-monthly-calendar-page{padding-bottom:42px}
.satit-clean-calendar-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;margin:26px 0 18px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 58%,#fff8e8 100%);border:1px solid rgba(0,52,107,.07);box-shadow:0 18px 46px rgba(0,33,75,.08);overflow:hidden}
.satit-clean-calendar-hero:before{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,150,50,.20),rgba(201,150,50,0) 67%)}
.satit-clean-calendar-hero:after{content:"";position:absolute;left:-120px;bottom:-140px;width:340px;height:240px;border-radius:50%;background:rgba(0,52,107,.05)}
.satit-clean-calendar-hero .hero-copy{position:relative;z-index:1}.satit-clean-calendar-hero h2{font-size:42px;line-height:1.18;font-weight:900;color:var(--satit-navy);margin:12px 0 10px}.satit-clean-calendar-hero p{font-size:16px;color:#526173;max-width:760px;margin:0 0 18px;line-height:1.85}
.satit-clean-calendar-hero .thai-time{display:inline-flex;align-items:center;gap:14px;padding:13px 16px;border-radius:20px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;box-shadow:0 16px 32px rgba(0,52,107,.18)}
.satit-clean-calendar-hero .thai-time>.fa{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.13);color:var(--satit-gold-2);font-size:20px}.satit-clean-calendar-hero .thai-time strong{display:block;font-size:15px;line-height:1.35}.satit-clean-calendar-hero .thai-time small{display:block;color:rgba(255,255,255,.75);font-size:12px;margin-top:2px}.satit-clean-calendar-hero .thai-time b{color:var(--satit-gold-2)}
.satit-clean-calendar-filter{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:18px;box-shadow:0 14px 32px rgba(0,33,75,.07)}
.satit-clean-calendar-filter label{display:block;margin:0 0 5px;color:var(--satit-navy);font-size:12px;font-weight:900}.satit-clean-calendar-filter select,.satit-clean-calendar-filter input{width:100%;height:42px;border:1px solid #dce6f1;border-radius:14px;padding:0 12px;background:#f9fbfe;color:#1d385a;font-weight:750;outline:none}.satit-clean-calendar-filter select:focus,.satit-clean-calendar-filter input:focus{border-color:rgba(201,150,50,.7);box-shadow:0 0 0 3px rgba(201,150,50,.13);background:#fff}.satit-clean-calendar-filter button{grid-column:1/-1;border:0;border-radius:16px;height:44px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff;font-weight:900;box-shadow:0 12px 24px rgba(0,52,107,.20);cursor:pointer}.satit-clean-calendar-filter button:hover{background:linear-gradient(135deg,var(--satit-gold),#b78222);transform:translateY(-1px)}
.satit-calendar-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.summary-card{display:flex;align-items:center;gap:13px;min-height:94px;padding:17px 18px;border-radius:22px;background:#fff;border:1px solid rgba(0,52,107,.07);box-shadow:0 10px 28px rgba(0,33,75,.06);color:var(--satit-navy)!important;overflow:hidden}.summary-card i{width:50px;height:50px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:var(--satit-navy);font-size:22px;flex:0 0 auto}.summary-card.gold i{background:#fff4df;color:#a77517}.summary-card span{display:block;color:#6a788b;font-size:12px;font-weight:900}.summary-card strong{display:block;font-size:26px;line-height:1;color:var(--satit-navy);font-weight:900}.summary-card small{display:block;color:var(--satit-muted);font-size:12px}.summary-card.today-link{transition:.22s ease}.summary-card.today-link:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,33,75,.11);border-color:rgba(201,150,50,.38)}
.satit-clean-calendar-categorybar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0 18px;padding:13px;border-radius:22px;background:#fff;border:1px solid rgba(0,52,107,.07);box-shadow:0 8px 24px rgba(0,33,75,.05)}.satit-clean-calendar-categorybar a{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;background:#f7faff;border:1px solid transparent;color:#213b5d!important;font-size:13px;font-weight:850}.satit-clean-calendar-categorybar a span{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.9)}.satit-clean-calendar-categorybar a:hover,.satit-clean-calendar-categorybar a.active{background:#fff;border-color:rgba(201,150,50,.44);box-shadow:0 8px 18px rgba(0,33,75,.07);transform:translateY(-2px)}
.satit-clean-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.satit-clean-calendar-card{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:28px;padding:18px;box-shadow:0 18px 46px rgba(0,33,75,.08);min-width:0}.calendar-toolbar{display:grid;grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;gap:14px;padding:8px 4px 16px}.month-nav{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 14px;background:#f7faff;border:1px solid #e3ebf3;color:var(--satit-navy)!important;font-weight:900}.month-nav:hover{background:var(--satit-navy);color:#fff!important;box-shadow:0 10px 22px rgba(0,52,107,.18)}.month-title{text-align:center;min-width:0}.month-title span{display:block;color:var(--satit-gold);font-size:13px;font-weight:900}.month-title h2{font-size:30px;line-height:1.2;font-weight:900;color:var(--satit-navy);margin:2px 0}.month-title small{display:block;color:var(--satit-muted);font-size:12px;line-height:1.4}
.satit-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dce6f1;border-radius:22px;overflow:hidden;background:#dce6f1;gap:1px}.satit-month-grid .weekday{min-width:0;text-align:center;padding:12px 6px;background:linear-gradient(135deg,var(--satit-navy),var(--satit-navy-2));color:#fff}.satit-month-grid .weekday.weekend{background:linear-gradient(135deg,#8b5d12,var(--satit-gold))}.satit-month-grid .weekday b{display:block;font-size:18px;line-height:1}.satit-month-grid .weekday small{display:block;font-size:11px;color:rgba(255,255,255,.78);margin-top:3px}.satit-month-grid .month-cell{min-width:0;min-height:150px;background:#fff;padding:9px;position:relative;display:flex;flex-direction:column;transition:background .18s ease,box-shadow .18s ease}.satit-month-grid .month-cell:hover{z-index:2;box-shadow:inset 0 0 0 2px rgba(201,150,50,.22);background:#fbfdff}.satit-month-grid .month-cell.weekend:not(.muted):not(.today){background:#fffdf8}.satit-month-grid .month-cell.muted{background:#f3f6fb;color:#a9b6c6}.satit-month-grid .month-cell.today{background:linear-gradient(180deg,#fff7e2 0%,#ffffff 100%);box-shadow:inset 0 0 0 2px rgba(201,150,50,.45)}.satit-month-grid .month-cell.has-event:not(.today){box-shadow:inset 0 3px 0 rgba(201,150,50,.18)}.cell-date{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.cell-date span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0f5fb;color:var(--satit-navy);font-weight:900}.month-cell.muted .cell-date span{background:#e6edf5;color:#93a3b6}.month-cell.today .cell-date span{background:linear-gradient(135deg,var(--satit-gold),var(--satit-gold-2));color:#fff}.cell-date em{font-style:normal;border-radius:999px;background:var(--satit-navy);color:#fff;font-size:10px;font-weight:900;padding:2px 7px;white-space:nowrap}.cell-events{display:flex;flex-direction:column;gap:5px;min-width:0}.month-event,.month-more{width:100%;border:0;text-align:left;cursor:pointer;min-width:0}.month-event{position:relative;border-radius:11px;padding:6px 7px 6px 10px;background:color-mix(in srgb,var(--event-color,#00346b) 9%,#fff);border:1px solid color-mix(in srgb,var(--event-color,#00346b) 24%,#fff);border-left:5px solid var(--event-color,#00346b);color:#1f3552;transition:.18s ease}.month-event small{display:block;color:var(--event-color,#00346b);font-size:10px;line-height:1.15;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event span{display:block;font-size:12px;line-height:1.28;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event:hover{transform:translateX(3px);box-shadow:0 9px 16px rgba(0,33,75,.10);background:#fff}.month-more{border-radius:999px;background:#fff7e8;color:#855813;padding:5px 9px;font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-help{margin-top:13px;border-radius:16px;background:#f8fbff;border:1px solid rgba(0,52,107,.07);color:#64748b;padding:11px 14px;font-size:13px;line-height:1.5}.calendar-help .fa{color:var(--satit-gold);margin-right:6px}
.satit-clean-calendar-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:136px}.aside-card{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:18px;box-shadow:0 14px 36px rgba(0,33,75,.07)}.aside-card h3{font-size:18px;font-weight:900;color:var(--satit-navy);margin:0 0 12px}.aside-card h3 .fa{color:var(--satit-gold);margin-right:7px}.aside-event,.upcoming-event{width:100%;border:0;background:#f8fbff;border-radius:15px;padding:11px;display:flex;gap:10px;align-items:flex-start;text-align:left;color:inherit;transition:.18s ease;margin-bottom:8px}.aside-event{border-left:5px solid var(--event-color,#00346b)}.aside-event>span{width:12px;height:12px;border-radius:50%;background:var(--event-color,#00346b);margin-top:5px;flex:0 0 auto}.aside-event strong,.upcoming-event strong{display:block;color:var(--satit-navy);font-size:14px;line-height:1.35}.aside-event small,.upcoming-event small{display:block;color:var(--satit-muted);font-size:12px;line-height:1.35}.upcoming-event b{width:40px;height:40px;border-radius:14px;background:var(--event-color,#00346b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.aside-event:hover,.upcoming-event:hover{background:#fff;box-shadow:0 12px 26px rgba(0,33,75,.10);transform:translateY(-3px)}.empty-side{color:var(--satit-muted);font-size:13px;margin:0;line-height:1.6}
.clean-list-section{margin-top:26px}.clean-event-list{display:flex;flex-direction:column;gap:10px}.clean-event-row{width:100%;border:1px solid rgba(0,52,107,.08);border-left:6px solid var(--event-color,#00346b);border-radius:20px;background:#fff;padding:14px 16px;display:grid;grid-template-columns:84px minmax(0,1fr) minmax(180px,260px);gap:14px;align-items:center;text-align:left;color:inherit;box-shadow:0 8px 22px rgba(0,33,75,.05);transition:.18s ease}.clean-event-row:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,33,75,.10)}.row-date{width:70px;height:70px;border-radius:18px;background:color-mix(in srgb,var(--event-color,#00346b) 10%,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center}.row-date strong{font-size:26px;line-height:1;color:var(--event-color,#00346b);font-weight:950}.row-date span{font-size:11px;color:#6b7280;font-weight:800}.row-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:color-mix(in srgb,var(--event-color,#00346b) 11%,#fff);color:var(--event-color,#00346b);padding:4px 10px;font-size:12px;font-weight:900}.row-body h3{font-size:17px;font-weight:900;color:var(--satit-navy);margin:6px 0 2px;line-height:1.4}.row-body p{margin:0;color:#64748b;font-size:13px;line-height:1.55}.row-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-start;color:#526173;font-size:13px}.row-meta .fa{color:var(--event-color,#00346b);width:18px}
.satit-event-modal{position:fixed;inset:0;background:rgba(4,19,38,.62);z-index:2000;display:none;align-items:center;justify-content:center;padding:18px}.satit-event-modal.show{display:flex}.satit-event-modal .modal-card{position:relative;width:min(560px,96vw);border-radius:26px;background:#fff;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.satit-event-modal .modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:50%;border:0;background:#f3f6fb;color:var(--satit-navy);font-size:24px;line-height:1;cursor:pointer}.satit-event-modal .modal-close:hover{background:var(--satit-navy);color:#fff}.satit-event-modal .modal-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--satit-gold);font-weight:900;margin-bottom:8px}.satit-event-modal h3{font-size:23px;font-weight:900;color:var(--satit-navy);line-height:1.35;margin:0 42px 10px 0}.satit-event-modal p{margin:6px 0;color:#526173}.satit-event-modal .modal-detail{margin-top:12px;padding:14px;border-radius:16px;background:#f8fbff;color:#334155;line-height:1.75}
@media(max-width:1199.98px){.satit-clean-calendar-layout{grid-template-columns:1fr}.satit-clean-calendar-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.satit-month-grid .month-cell{min-height:138px}.satit-clean-calendar-hero{grid-template-columns:1fr}.satit-clean-calendar-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.satit-clean-calendar-filter button{grid-column:1/-1}}
@media(max-width:991.98px){.satit-calendar-summary-row{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{grid-template-columns:1fr;gap:10px}.month-title{order:-1}.satit-month-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(106px,1fr))}.satit-month-grid .weekday,.satit-month-grid .month-cell{min-width:106px}.clean-event-row{grid-template-columns:76px minmax(0,1fr)}.row-meta{grid-column:2/-1;flex-direction:row;flex-wrap:wrap}.satit-clean-calendar-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.satit-clean-calendar-hero{padding:20px;border-radius:24px}.satit-clean-calendar-hero h2{font-size:30px}.satit-clean-calendar-filter{grid-template-columns:1fr}.satit-calendar-summary-row{grid-template-columns:1fr}.satit-clean-calendar-aside{grid-template-columns:1fr}.satit-clean-calendar-card{padding:14px;border-radius:22px}.satit-month-grid{display:block;background:transparent;border:0;overflow:visible}.satit-month-grid .weekday{display:none}.satit-month-grid .month-cell{min-height:auto!important;min-width:0;margin-bottom:10px;border:1px solid #e3ebf3;border-radius:17px;padding:12px}.satit-month-grid .month-cell.muted{display:none}.month-event span,.month-event small{white-space:normal}.clean-event-row{grid-template-columns:1fr}.row-date{width:100%;height:auto;flex-direction:row;justify-content:flex-start;gap:8px;padding:10px 12px}.row-meta{grid-column:auto;flex-direction:column}.satit-clean-calendar-categorybar{max-height:220px;overflow:auto}.satit-event-modal .modal-card{padding:22px}.satit-event-modal h3{font-size:20px}}

/* Academic-year calendar layout: May-April table, editable through admin calendar categories */
.satit-year-calendar-page{background:#f4f7fb;padding-bottom:42px}
.satit-academic-calendar-shell{margin:28px 0 42px;padding:30px;border-radius:34px;background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);border:1px solid rgba(0,52,107,.08);box-shadow:0 24px 60px rgba(0,33,75,.10);position:relative;overflow:hidden}
.satit-academic-calendar-shell:before{content:"";position:absolute;left:-130px;top:-130px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(201,150,50,.20),rgba(201,150,50,0) 68%)}
.satit-academic-calendar-shell:after{content:"";position:absolute;right:-160px;bottom:-180px;width:420px;height:300px;border-radius:50%;background:rgba(0,52,107,.055)}
.satit-academic-calendar-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:center;margin-bottom:20px}
.satit-academic-calendar-head .english-title{display:block;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1;color:#8f939a;margin-bottom:4px}
.satit-academic-calendar-head h2{margin:0;color:var(--satit-navy,#00346b);font-size:42px;font-weight:950;line-height:1.22}.satit-academic-calendar-head h2 b{color:var(--satit-gold,#c99632);font-weight:950}.satit-academic-calendar-head p{margin:12px 0 0;color:#536274;font-size:15px;line-height:1.75;max-width:830px}
.satit-academic-calendar-head .head-right{border-left:1px solid rgba(0,52,107,.18);padding-left:28px;display:flex;flex-direction:column;align-items:center;gap:14px}.school-mark{font-weight:950;color:var(--satit-navy,#00346b);font-size:24px;letter-spacing:.08em;text-align:center;line-height:1}.school-mark span{font-size:18px;color:#009688}.satit-academic-calendar-head .thai-time{width:100%;display:flex;align-items:center;gap:11px;border-radius:20px;padding:12px 14px;background:linear-gradient(135deg,var(--satit-navy,#00346b),#0a4d89);color:#fff;box-shadow:0 12px 26px rgba(0,52,107,.18)}.satit-academic-calendar-head .thai-time>.fa{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:var(--satit-gold-2,#e2bd70);font-size:20px;flex:0 0 auto}.satit-academic-calendar-head .thai-time strong{display:block;font-size:13px;line-height:1.35}.satit-academic-calendar-head .thai-time small{display:block;font-size:11px;color:rgba(255,255,255,.76);margin-top:1px}.satit-academic-calendar-head .thai-time b{color:var(--satit-gold-2,#e2bd70)}
.satit-year-calendar-filter{position:relative;z-index:2;display:grid;grid-template-columns:170px 170px minmax(170px,220px) 140px 170px;gap:10px;align-items:end;margin:10px 0 16px;padding:14px;border-radius:22px;background:#f8fbff;border:1px solid rgba(0,52,107,.08)}.satit-year-calendar-filter label{display:flex;flex-direction:column;gap:5px;color:var(--satit-navy,#00346b);font-weight:900;font-size:12px}.satit-year-calendar-filter select{height:40px;border:1px solid #dbe5f0;border-radius:13px;background:#fff;padding:0 11px;color:#203754;font-weight:800;outline:none}.satit-year-calendar-filter select:focus{border-color:rgba(201,150,50,.75);box-shadow:0 0 0 3px rgba(201,150,50,.13)}.satit-year-calendar-filter button,.satit-year-calendar-filter .year-nav{height:40px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-weight:900;text-align:center}.satit-year-calendar-filter button{background:linear-gradient(135deg,var(--satit-navy,#00346b),#0b4e8b);color:#fff;cursor:pointer}.satit-year-calendar-filter .year-nav{background:#fff;border:1px solid #dde7f2;color:var(--satit-navy,#00346b)!important}.satit-year-calendar-filter button:hover,.satit-year-calendar-filter .year-nav:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,33,75,.12)}
.satit-year-legend{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:16px}.satit-year-legend span,.satit-year-legend a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e3ebf3;color:#1c3657!important;font-weight:850;font-size:13px;box-shadow:0 6px 16px rgba(0,33,75,.04)}.satit-year-legend a:hover,.satit-year-legend a.active{border-color:rgba(201,150,50,.50);background:#fffaf0;transform:translateY(-2px)}.legend-box{display:inline-block;width:18px;height:12px;border-radius:4px;background:#c99632;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.legend-box.weekend{background:#e7e7e9}.clear-filter{margin-left:auto;background:#fff2f2!important;border-color:#ffd4d4!important;color:#9e1f28!important}
.satit-year-calendar-board{position:relative;z-index:1;display:grid;grid-template-columns:150px repeat(7,minmax(78px,1fr)) minmax(300px,1.35fr);border:1px solid #d6dfeb;border-radius:22px;overflow:hidden;background:#d6dfeb;gap:1px;box-shadow:0 18px 42px rgba(0,33,75,.07)}.year-grid-head{min-height:52px;background:linear-gradient(135deg,var(--satit-navy,#00346b),#0b4e8b);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900}.year-grid-head.day-head{flex-direction:column;gap:1px}.year-grid-head.day-head b{font-family:Georgia,'Times New Roman',serif;font-size:16px}.year-grid-head.day-head small{font-size:10px;color:rgba(255,255,255,.75);font-weight:700}.year-grid-head.important-head{font-family:Georgia,'Times New Roman',serif;font-size:18px}
.year-month-cell,.year-days-cell,.year-important-cell{background:#fff;min-height:96px}.year-month-cell{display:flex;flex-direction:column;justify-content:center;padding:12px 16px}.year-month-cell strong{font-family:Georgia,'Times New Roman',serif;color:var(--satit-navy,#00346b);font-size:25px;line-height:1}.year-month-cell span{font-size:15px;color:#8b8f99;margin-top:4px}.year-days-cell{padding:6px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.year-days-cell.weekend-col{background:#eeeeef}.date-chip{position:relative;width:100%;max-width:48px;min-height:23px;border-radius:3px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#102d55;font-weight:850;font-size:13px;line-height:1;transition:.16s ease}.date-chip.has-event{background:var(--event-color,#c99632);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.08);cursor:pointer}.date-chip.has-event:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 8px 18px rgba(0,33,75,.16)}.date-chip.today{outline:2px solid var(--satit-gold,#c99632);outline-offset:1px}.date-chip em{position:absolute;right:-5px;top:-6px;width:15px;height:15px;border-radius:50%;background:#fff;color:var(--event-color,#00346b);font-size:9px;font-style:normal;font-weight:950;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px rgba(0,0,0,.15)}
.year-important-cell{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.important-item{width:100%;border:0;background:transparent;border-left:5px solid var(--event-color,#00346b);border-radius:9px;padding:6px 8px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;text-align:left;color:#16345b;transition:.16s ease}.important-item b{grid-row:1/3;color:var(--event-color,#00346b);font-size:15px;line-height:1.25;text-align:right;font-weight:950}.important-item span{font-size:12px;line-height:1.35;font-weight:850;white-space:normal}.important-item small{font-size:10px;line-height:1.2;color:#728096;font-weight:700}.important-item:hover{background:#f7fbff;transform:translateX(3px);box-shadow:0 8px 18px rgba(0,33,75,.08)}.empty-month{margin:8px 0;color:#a2adba;font-size:12px;text-align:center}
.satit-year-calendar-summary{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.satit-year-calendar-summary div{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(0,33,75,.05)}.satit-year-calendar-summary i{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--satit-navy,#00346b),#0b4e8b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}.satit-year-calendar-summary span{font-weight:850;color:#566579}.satit-year-calendar-summary strong{margin-left:auto;font-size:28px;color:var(--satit-navy,#00346b);font-weight:950}.satit-year-calendar-summary small{display:block;color:#8792a1}.calendar-note{position:relative;z-index:1;margin:18px 0 0;text-align:center;color:#637082;font-size:13px}.calendar-note strong{color:var(--satit-navy,#00346b)}
@media(max-width:1199.98px){.satit-academic-calendar-head{grid-template-columns:1fr}.satit-academic-calendar-head .head-right{border-left:0;border-top:1px solid rgba(0,52,107,.12);padding-left:0;padding-top:18px;align-items:flex-start}.satit-year-calendar-filter{grid-template-columns:1fr 1fr 1fr}.satit-year-calendar-filter .year-nav:last-child{grid-column:auto}.satit-year-calendar-board{overflow-x:auto;grid-template-columns:140px repeat(7,88px) 320px}.year-month-cell,.year-days-cell,.year-important-cell{min-width:0}.satit-year-calendar-summary{grid-template-columns:1fr}}
@media(max-width:767.98px){.satit-academic-calendar-shell{padding:18px;border-radius:24px}.satit-academic-calendar-head .english-title{font-size:30px}.satit-academic-calendar-head h2{font-size:29px}.satit-year-calendar-filter{grid-template-columns:1fr}.satit-year-calendar-board{display:block;background:transparent;border:0;box-shadow:none}.year-grid-head{display:none}.year-month-cell{border-radius:20px 20px 0 0;border:1px solid #dde7f2;border-bottom:0;margin-top:16px;min-height:auto;background:linear-gradient(135deg,var(--satit-navy,#00346b),#0b4e8b);color:#fff}.year-month-cell strong,.year-month-cell span{color:#fff}.year-days-cell{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;border-left:1px solid #dde7f2;border-right:1px solid #dde7f2;min-height:auto;background:#fff}.year-days-cell.weekend-col{background:#f1f1f2}.year-days-cell:before{content:attr(class);display:none}.date-chip{max-width:none}.year-important-cell{border:1px solid #dde7f2;border-top:0;border-radius:0 0 20px 20px}.important-item{grid-template-columns:36px minmax(0,1fr)}}
@media print{body{background:#fff!important}.navbar,.satit-page-hero,.satit-learning-subnav,.satit-year-calendar-filter,.satit-year-calendar-summary,footer{display:none!important}.satit-academic-calendar-shell{box-shadow:none;border:0;padding:0}.satit-year-calendar-board{font-size:10px;box-shadow:none}.date-chip{font-size:10px}.important-item span{font-size:9px}.important-item small{display:none}}

/* =========================================================
   Hotfix: Activity calendar page - prevent black/blank page and improve academic-year layout
   ========================================================= */
.satit-calendar-body-safe,
.satit-calendar-body-safe .satit-year-calendar-page{
  background:#f3f6fb!important;
  color:#18324f!important;
}
.satit-fallback-top{
  background:#00346b;color:#fff;padding:16px 28px;display:flex;gap:14px;align-items:center;justify-content:space-between;font-family:'Kanit',sans-serif;
}
.satit-fallback-footer{background:#00346b;color:#fff;text-align:center;padding:18px;font-family:'Kanit',sans-serif}
.satit-calendar-minihero{background:linear-gradient(135deg,#00346b,#0b4e8b)!important;color:#fff!important}
.satit-calendar-minihero h1,.satit-calendar-minihero p{color:#fff!important}
.satit-calendar-minihero .satit-hero-icon{background:rgba(255,255,255,.14)!important;color:#e2bd70!important}
.calendar-warning{margin:0 0 16px;padding:14px 16px;border-radius:16px;background:#fff8e1;border:1px solid #f3d28c;color:#704d00;font-weight:800;line-height:1.6}
.calendar-warning .fa{margin-right:8px;color:#c99632}
.satit-year-calendar-page .satit-container-wide{max-width:1380px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.satit-year-calendar-page .satit-learning-subnav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0 16px;padding:10px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:22px;box-shadow:0 8px 24px rgba(0,33,75,.04)}
.satit-year-calendar-page .satit-learning-subnav a{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;color:#1c3657!important;background:#f7faff;border:1px solid transparent;font-weight:850;text-decoration:none!important;transition:.18s ease}
.satit-year-calendar-page .satit-learning-subnav a:hover,.satit-year-calendar-page .satit-learning-subnav a.active{background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff!important;box-shadow:0 10px 20px rgba(0,52,107,.16);transform:translateY(-2px)}
.satit-academic-calendar-shell.safe-year-calendar{position:relative;margin:0 auto 32px;padding:32px 38px;border-radius:32px;background:#fff!important;border:1px solid rgba(0,52,107,.08);box-shadow:0 24px 70px rgba(0,33,75,.12);overflow:visible;color:#18324f!important}
.satit-academic-calendar-shell.safe-year-calendar:before{content:"";position:absolute;inset:0;border-radius:32px;background:linear-gradient(135deg,rgba(201,150,50,.08),rgba(255,255,255,0) 38%,rgba(0,52,107,.04));pointer-events:none}
.satit-academic-calendar-head{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:center;margin-bottom:20px!important}
.satit-academic-calendar-head .english-title{display:block;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1;color:#8f939a;margin-bottom:6px}
.satit-academic-calendar-head h2{margin:0;color:#00346b!important;font-size:42px;font-weight:950;line-height:1.22}
.satit-academic-calendar-head h2 b{color:#c99632!important;font-weight:950}
.satit-academic-calendar-head p{margin:12px 0 0;color:#536274!important;font-size:15px;line-height:1.75;max-width:880px}
.satit-academic-calendar-head .head-right{border-left:1px solid rgba(0,52,107,.18);padding-left:26px;display:flex;flex-direction:column;align-items:center;gap:14px}
.school-mark{font-weight:950;color:#00346b;font-size:24px;letter-spacing:.08em;text-align:center;line-height:1}.school-mark span{font-size:18px;color:#009688}
.satit-academic-calendar-head .thai-time{width:100%;display:flex;align-items:center;gap:11px;border-radius:20px;padding:12px 14px;background:linear-gradient(135deg,#00346b,#0a4d89);color:#fff;box-shadow:0 12px 26px rgba(0,52,107,.18)}
.satit-academic-calendar-head .thai-time>.fa{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#e2bd70;font-size:20px;flex:0 0 auto}.satit-academic-calendar-head .thai-time strong{display:block;font-size:13px;line-height:1.35}.satit-academic-calendar-head .thai-time small{display:block;font-size:11px;color:rgba(255,255,255,.76);margin-top:1px}.satit-academic-calendar-head .thai-time b{color:#e2bd70}
.satit-year-calendar-filter{position:relative;z-index:2;display:grid!important;grid-template-columns:180px 180px minmax(180px,240px) 150px 180px;gap:10px;align-items:end;margin:12px 0 16px;padding:14px;border-radius:22px;background:#f8fbff;border:1px solid rgba(0,52,107,.08)}
.satit-year-calendar-filter label{display:flex;flex-direction:column;gap:5px;color:#00346b;font-weight:900;font-size:12px;margin:0}.satit-year-calendar-filter select{height:40px;border:1px solid #dbe5f0;border-radius:13px;background:#fff;padding:0 11px;color:#203754;font-weight:800;outline:none}.satit-year-calendar-filter select:focus{border-color:rgba(201,150,50,.75);box-shadow:0 0 0 3px rgba(201,150,50,.13)}
.satit-year-calendar-filter button,.satit-year-calendar-filter .year-nav{height:40px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-weight:900;text-align:center;text-decoration:none!important}.satit-year-calendar-filter button{background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff;cursor:pointer}.satit-year-calendar-filter .year-nav{background:#fff;border:1px solid #dde7f2;color:#00346b!important}.satit-year-calendar-filter button:hover,.satit-year-calendar-filter .year-nav:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,33,75,.12)}
.satit-year-legend{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:16px}.satit-year-legend span,.satit-year-legend a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e3ebf3;color:#1c3657!important;font-weight:850;font-size:13px;text-decoration:none!important;box-shadow:0 6px 16px rgba(0,33,75,.04)}.satit-year-legend a:hover,.satit-year-legend a.active{border-color:rgba(201,150,50,.50);background:#fffaf0;transform:translateY(-2px)}.legend-box{display:inline-block;width:18px;height:12px;border-radius:4px;background:#c99632;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.legend-box.weekend{background:#e7e7e9}.clear-filter{margin-left:auto;background:#fff2f2!important;border-color:#ffd4d4!important;color:#9e1f28!important}
.satit-year-calendar-board{position:relative;z-index:1;display:grid!important;grid-template-columns:150px repeat(7,minmax(76px,1fr)) minmax(310px,1.25fr);border:1px solid #d6dfeb;border-radius:20px;overflow:hidden;background:#d6dfeb;gap:1px;box-shadow:0 18px 42px rgba(0,33,75,.07);width:100%}.year-grid-head{min-height:52px;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900}.year-grid-head.day-head{flex-direction:column;gap:1px}.year-grid-head.day-head b{font-family:Georgia,'Times New Roman',serif;font-size:16px}.year-grid-head.day-head small{font-size:10px;color:rgba(255,255,255,.75);font-weight:700}.year-grid-head.important-head{font-family:Georgia,'Times New Roman',serif;font-size:18px}
.year-month-cell,.year-days-cell,.year-important-cell{background:#fff;min-height:106px}.year-month-cell{display:flex;flex-direction:column;justify-content:center;padding:12px 16px}.year-month-cell strong{font-family:Georgia,'Times New Roman',serif;color:#00346b;font-size:25px;line-height:1}.year-month-cell span{font-size:15px;color:#8b8f99;margin-top:4px}.year-days-cell{padding:7px 5px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.year-days-cell.weekend-col{background:#eeeeef}.date-chip{position:relative;width:100%;max-width:48px;min-height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#102d55;font-weight:850;font-size:13px;line-height:1;transition:.16s ease}.date-chip.has-event{background:var(--event-color,#c99632)!important;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.08);cursor:pointer}.date-chip.has-event:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 8px 18px rgba(0,33,75,.16)}.date-chip.today{outline:2px solid #c99632;outline-offset:1px}.date-chip em{position:absolute;right:-5px;top:-6px;width:15px;height:15px;border-radius:50%;background:#fff;color:var(--event-color,#00346b);font-size:9px;font-style:normal;font-weight:950;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px rgba(0,0,0,.15)}
.year-important-cell{padding:9px 12px;display:flex;flex-direction:column;gap:6px}.important-item{width:100%;border:0;background:transparent;border-left:5px solid var(--event-color,#00346b);border-radius:9px;padding:6px 8px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;text-align:left;color:#16345b;transition:.16s ease}.important-item b{grid-row:1/3;color:var(--event-color,#00346b);font-size:15px;line-height:1.25;text-align:right;font-weight:950}.important-item span{font-size:12px;line-height:1.35;font-weight:850;white-space:normal}.important-item small{font-size:10px;line-height:1.2;color:#728096;font-weight:700}.important-item:hover{background:#f7fbff;transform:translateX(3px);box-shadow:0 8px 18px rgba(0,33,75,.08)}.empty-month{margin:8px 0;color:#a2adba;font-size:12px;text-align:center}
.satit-year-calendar-summary{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.satit-year-calendar-summary div{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(0,33,75,.05)}.satit-year-calendar-summary i{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}.satit-year-calendar-summary span{font-weight:850;color:#566579}.satit-year-calendar-summary strong{margin-left:auto;font-size:28px;color:#00346b;font-weight:950}.satit-year-calendar-summary small{display:block;color:#8792a1}.calendar-note{position:relative;z-index:1;margin:18px 0 0;text-align:center;color:#637082;font-size:13px}.calendar-note strong{color:#00346b}
.satit-event-modal{position:fixed;inset:0;background:rgba(4,19,38,.62);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}.satit-event-modal.show{display:flex}.satit-event-modal .modal-card{position:relative;width:min(560px,96vw);border-radius:26px;background:#fff;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.satit-event-modal .modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:50%;border:0;background:#f3f6fb;color:#00346b;font-size:24px;line-height:1;cursor:pointer}.satit-event-modal .modal-close:hover{background:#00346b;color:#fff}.satit-event-modal h3{font-size:23px;font-weight:900;color:#00346b;line-height:1.35;margin:0 42px 10px 0}.modal-category{display:inline-flex;align-items:center;gap:7px;color:#c99632;font-weight:900;margin-bottom:8px}.satit-event-modal p{margin:6px 0;color:#526173}.satit-event-modal .modal-detail{margin-top:12px;padding:14px;border-radius:16px;background:#f8fbff;color:#334155;line-height:1.75;white-space:pre-wrap}
@media(max-width:1199.98px){.satit-academic-calendar-head{grid-template-columns:1fr!important}.satit-academic-calendar-head .head-right{border-left:0;border-top:1px solid rgba(0,52,107,.12);padding-left:0;padding-top:18px;align-items:flex-start}.satit-year-calendar-filter{grid-template-columns:1fr 1fr 1fr!important}.satit-year-calendar-board{overflow-x:auto;grid-template-columns:140px repeat(7,88px) 320px!important}.satit-year-calendar-summary{grid-template-columns:1fr}}
@media(max-width:767.98px){.satit-academic-calendar-shell.safe-year-calendar{padding:18px;border-radius:24px}.satit-academic-calendar-head .english-title{font-size:30px}.satit-academic-calendar-head h2{font-size:29px}.satit-year-calendar-filter{grid-template-columns:1fr!important}.satit-year-calendar-board{display:block!important;background:transparent;border:0;box-shadow:none;overflow:visible}.year-grid-head{display:none}.year-month-cell{border-radius:20px 20px 0 0;border:1px solid #dde7f2;border-bottom:0;margin-top:16px;min-height:auto;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff}.year-month-cell strong,.year-month-cell span{color:#fff}.year-days-cell{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;border-left:1px solid #dde7f2;border-right:1px solid #dde7f2;min-height:auto;background:#fff}.year-days-cell.weekend-col{background:#f1f1f2}.date-chip{max-width:none}.year-important-cell{border:1px solid #dde7f2;border-top:0;border-radius:0 0 20px 20px}.important-item{grid-template-columns:36px minmax(0,1fr)}}

/* ===== Public monthly activity calendar: clean month view with prev/next navigation ===== */
.satit-month-calendar-body,
.satit-month-calendar-page{background:#f4f7fb!important;color:#18324f!important}
.satit-month-calendar-page .satit-container-wide{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.satit-month-calendar-page .satit-learning-subnav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0 16px;padding:10px;background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:22px;box-shadow:0 8px 24px rgba(0,33,75,.04)}
.satit-month-calendar-page .satit-learning-subnav a{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;color:#1c3657!important;background:#f7faff;border:1px solid transparent;font-weight:850;text-decoration:none!important;transition:.18s ease}
.satit-month-calendar-page .satit-learning-subnav a:hover,.satit-month-calendar-page .satit-learning-subnav a.active{background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff!important;box-shadow:0 10px 20px rgba(0,52,107,.16);transform:translateY(-2px)}
.satit-month-calendar-shell{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:30px;padding:26px;margin:0 0 32px;box-shadow:0 24px 62px rgba(0,33,75,.11);overflow:hidden;position:relative}.satit-month-calendar-shell:before{content:"";position:absolute;right:-120px;top:-130px;width:280px;height:280px;border-radius:50%;background:rgba(201,150,50,.13);pointer-events:none}.satit-month-calendar-shell:after{content:"";position:absolute;left:-120px;bottom:-140px;width:280px;height:280px;border-radius:50%;background:rgba(0,52,107,.055);pointer-events:none}
.satit-month-calendar-head{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.satit-calendar-kicker{display:inline-flex;gap:8px;align-items:center;color:#c99632;font-weight:950;letter-spacing:.02em}.satit-month-calendar-head h2{margin:5px 0 4px;color:#00346b;font-weight:950;font-size:38px;line-height:1.2}.satit-month-calendar-head p{margin:0;color:#5d6b7c}.satit-month-calendar-head p strong{color:#17385f}.satit-month-calendar-head p b{color:#c99632}.satit-month-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.satit-month-actions a{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:0 15px;text-decoration:none!important;font-weight:900;transition:.18s ease}.satit-month-actions .nav-month{background:#f4f8fc;border:1px solid #dce7f2;color:#00346b!important}.satit-month-actions .today-month{background:linear-gradient(135deg,#c99632,#e2bd70);color:#fff!important;box-shadow:0 10px 22px rgba(201,150,50,.22)}.satit-month-actions a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,33,75,.12)}
.satit-month-filter{position:relative;z-index:1;display:grid;grid-template-columns:1fr 130px 140px minmax(180px,1fr) 140px;gap:10px;margin:0 0 14px;padding:14px;border-radius:22px;background:#f8fbff;border:1px solid rgba(0,52,107,.08)}.satit-month-filter label{display:flex;flex-direction:column;gap:5px;color:#00346b;font-weight:900;font-size:12px;margin:0}.satit-month-filter select,.satit-month-filter input{height:40px;border:1px solid #dbe5f0;border-radius:13px;background:#fff;padding:0 11px;color:#203754;font-weight:800;outline:none}.satit-month-filter select:focus,.satit-month-filter input:focus{border-color:rgba(201,150,50,.75);box-shadow:0 0 0 3px rgba(201,150,50,.13)}.satit-month-filter button{height:40px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff;font-weight:950;cursor:pointer;align-self:end}.satit-month-filter button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,52,107,.18)}
.satit-month-legend{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 16px}.satit-month-legend span,.satit-month-legend a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e3ebf3;color:#1c3657!important;font-weight:850;font-size:13px;text-decoration:none!important;box-shadow:0 6px 16px rgba(0,33,75,.04);transition:.18s ease}.satit-month-legend a:hover,.satit-month-legend a.active{border-color:rgba(201,150,50,.50);background:#fffaf0;transform:translateY(-2px)}.satit-month-legend .legend-box{display:inline-block;width:18px;height:12px;border-radius:4px;background:#c99632;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.satit-month-legend .legend-box.weekend{background:#eef0f3}.satit-month-legend .legend-box.today{background:#00346b}.satit-month-legend .clear-filter{margin-left:auto;background:#fff2f2!important;border-color:#ffd4d4!important;color:#9e1f28!important}
.satit-month-calendar-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.satit-month-grid-card{background:#fff;border:1px solid #dce7f2;border-radius:24px;overflow:hidden;box-shadow:0 16px 36px rgba(0,33,75,.07)}.satit-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#dce7f2;gap:1px}.month-day-head{height:54px;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.month-day-head strong{font-size:18px;font-weight:950}.month-day-head span{font-size:11px;color:rgba(255,255,255,.72);font-weight:750}.month-day-head.weekend{background:linear-gradient(135deg,#0b416f,#09365d)}
.month-day-cell{min-height:138px;background:#fff;padding:10px;position:relative;transition:.18s ease;display:flex;flex-direction:column}.month-day-cell:hover{background:#fbfdff}.month-day-cell.outside-month{background:#f4f6f9;color:#96a1ad}.month-day-cell.weekend:not(.outside-month){background:#fbfbfc}.month-day-cell.today{background:linear-gradient(180deg,#fff8e9,#fff)}.month-day-cell.today:before{content:"";position:absolute;inset:0;border:2px solid rgba(201,150,50,.55);pointer-events:none}.day-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.day-number{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:950;color:#00346b}.outside-month .day-number{color:#9aa6b2}.today .day-number{background:#00346b;color:#fff;box-shadow:0 8px 18px rgba(0,52,107,.20)}.day-top em{font-style:normal;font-size:10px;font-weight:950;color:#c99632;background:#fff3d8;border-radius:999px;padding:3px 7px}.day-events{display:flex;flex-direction:column;gap:5px;min-height:0}.month-event-pill{width:100%;border:0;border-left:4px solid var(--event-color,#00346b);border-radius:9px;background:rgba(0,52,107,.055);padding:5px 7px;text-align:left;cursor:pointer;color:#1d3552;transition:.16s ease;overflow:hidden}.month-event-pill small{display:inline-block;font-size:10px;font-weight:950;color:var(--event-color,#00346b);margin-right:4px}.month-event-pill span{font-size:11.5px;font-weight:850;line-height:1.3;display:inline}.month-event-pill:hover{transform:translateX(3px);background:#fff;box-shadow:0 8px 18px rgba(0,33,75,.10)}.month-more-events{border:0;background:#fff8e6;color:#99660f;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:950;cursor:pointer;text-align:left}.month-more-events:hover{background:#f0d69b;color:#00346b}
.satit-month-event-list{background:#fff;border:1px solid #dce7f2;border-radius:24px;box-shadow:0 16px 36px rgba(0,33,75,.07);overflow:hidden}.satit-month-event-list .list-head{padding:18px 18px 12px;background:linear-gradient(135deg,#00346b,#0b4e8b);color:#fff}.satit-month-event-list .list-head span{font-family:Georgia,'Times New Roman',serif;color:#e2bd70;font-size:17px}.satit-month-event-list .list-head h3{margin:4px 0;color:#fff;font-size:22px;font-weight:950}.satit-month-event-list .list-head p{margin:0;color:rgba(255,255,255,.74)}.list-body{padding:12px;max-height:760px;overflow:auto}.month-list-item{width:100%;border:0;background:#fff;border-left:5px solid var(--event-color,#00346b);border-radius:14px;padding:11px 12px;margin-bottom:9px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;text-align:left;box-shadow:0 8px 18px rgba(0,33,75,.06);cursor:pointer;transition:.16s ease}.month-list-item b{width:38px;height:38px;border-radius:14px;background:color-mix(in srgb,var(--event-color,#00346b) 12%,#fff);color:var(--event-color,#00346b);display:flex;align-items:center;justify-content:center;font-weight:950}.month-list-item strong{display:block;color:#18324f;font-size:14px;line-height:1.35}.month-list-item small{display:block;color:#6b7b8e;font-size:12px;line-height:1.35;margin-top:3px}.month-list-item:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,33,75,.12)}.empty-events{text-align:center;color:#788598;padding:34px 10px}.empty-events i{font-size:36px;color:#c99632;display:block;margin-bottom:8px}.empty-events strong{display:block;color:#00346b}.empty-events small{display:block;margin-top:4px}.satit-calendar-admin-note{position:relative;z-index:1;margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#f6fbff;border:1px solid #dce7f2;color:#44576d}.satit-calendar-admin-note i{color:#c99632;font-size:22px}.satit-calendar-admin-note strong{display:block;color:#00346b}.satit-calendar-admin-note span{display:block;line-height:1.55}
@media(max-width:1199.98px){.satit-month-calendar-layout{grid-template-columns:1fr}.list-body{max-height:none}.satit-month-filter{grid-template-columns:1fr 1fr 1fr}.satit-month-calendar-head{align-items:flex-start;flex-direction:column}.satit-month-actions{justify-content:flex-start}}
@media(max-width:767.98px){.satit-month-calendar-shell{padding:16px;border-radius:24px}.satit-month-calendar-head h2{font-size:29px}.satit-month-filter{grid-template-columns:1fr}.satit-month-actions a{width:100%}.satit-month-grid{display:block;background:transparent}.month-day-head{display:none}.month-day-cell{min-height:auto;border:1px solid #dce7f2;border-radius:16px;margin-bottom:8px}.month-day-cell.outside-month{display:none}.satit-month-grid-card{background:transparent;border:0;box-shadow:none}.month-list-item{grid-template-columns:34px minmax(0,1fr)}.month-list-item b{width:32px;height:32px;border-radius:11px}.satit-month-legend .clear-filter{margin-left:0}}

/* Achievement records module */
.satit-achievement-category-filter{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}.satit-achievement-category-filter a{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(0,52,107,.12);background:#fff;color:#00346b;padding:9px 14px;border-radius:999px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.05);transition:.2s}.satit-achievement-category-filter a:hover,.satit-achievement-category-filter a.active{background:var(--ach-color,#00346b);color:#fff;transform:translateY(-2px)}.satit-achievement-owner.sub{font-size:.92rem;color:#5d6b7a}.satit-achievement-detail{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:28px;background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(0,52,107,.10);border:1px solid rgba(0,52,107,.08);margin:28px 0}.satit-achievement-detail .detail-image img{width:100%;height:460px;object-fit:cover;border-radius:22px;box-shadow:0 18px 35px rgba(0,0,0,.12)}.satit-achievement-detail h1{font-weight:800;color:#00346b;margin:18px 0}.satit-detail-summary{background:linear-gradient(135deg,rgba(0,52,107,.07),rgba(201,150,50,.09));border-left:5px solid var(--ach-color,#00346b);padding:18px;border-radius:18px;margin:16px 0;color:#123}.satit-detail-body{font-size:1.04rem;line-height:1.9;color:#26384a;margin:16px 0}.detail-meta{margin-top:8px}.satit-btn-primary{display:inline-flex;align-items:center;gap:8px;background:#00346b;color:#fff!important;border-radius:999px;padding:10px 18px;text-decoration:none;box-shadow:0 10px 24px rgba(0,52,107,.18);margin:6px 8px 6px 0}.satit-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}@media(max-width:900px){.satit-achievement-detail{grid-template-columns:1fr}.satit-achievement-detail .detail-image img{height:280px}}

/* ===== Achievement / Activity separation upgrade ===== */
.satit-achievement-page .satit-achievement-hero,
.satit-activity-gallery-page .satit-activity-intro{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 58%,#fff6df 100%);
  border:1px solid rgba(0,52,107,.08);border-radius:24px;padding:28px 32px;
  box-shadow:0 18px 42px rgba(0,52,107,.08);
}
.satit-activity-intro h2,.satit-achievement-hero h2{font-weight:800;color:#00346b;margin:10px 0 8px;line-height:1.35}
.satit-activity-intro p,.satit-achievement-hero p{color:#556070;margin:0;max-width:860px}
.satit-activity-filter-panel{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:20px;padding:18px;box-shadow:0 14px 32px rgba(0,52,107,.06)}
.satit-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0}.satit-filter-group strong{color:#00346b;margin-right:4px}.satit-filter-group a{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(0,52,107,.12);background:#fff;color:#344054;border-radius:999px;padding:8px 14px;text-decoration:none;transition:.2s ease}.satit-filter-group a:hover,.satit-filter-group a.active{background:var(--activity-color,#00346b);color:#fff;border-color:var(--activity-color,#00346b);transform:translateY(-1px)}.satit-filter-group.level-filter a.active{background:#00346b;border-color:#00346b}
.satit-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.satit-activity-card{background:#fff;border:1px solid rgba(0,52,107,.08);border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(0,52,107,.08);transition:.25s ease}.satit-activity-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(0,52,107,.14)}.satit-activity-cover{position:relative;display:block;height:210px;overflow:hidden;background:#f3f5f7}.satit-activity-cover img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.satit-activity-card:hover .satit-activity-cover img{transform:scale(1.06)}.satit-activity-badge{position:absolute;left:14px;top:14px;background:var(--activity-color,#c99632);color:#fff;border-radius:999px;padding:7px 12px;font-size:.85rem;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.16)}.satit-activity-body{padding:18px}.satit-activity-body h3{font-size:1.05rem;line-height:1.45;margin:8px 0}.satit-activity-body h3 a{color:#00346b;text-decoration:none}.satit-activity-body h3 a:hover{color:var(--activity-color,#c99632)}.satit-activity-meta{display:flex;flex-wrap:wrap;gap:8px;color:#667085;font-size:.86rem}.satit-activity-topic{color:#00346b;font-weight:700;margin-bottom:8px}.satit-detail-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(0,52,107,.08);box-shadow:0 18px 46px rgba(0,52,107,.10)}.satit-detail-cover{position:relative;max-height:520px;background:#f4f6f8;overflow:hidden}.satit-detail-cover img{display:block;width:100%;max-height:520px;object-fit:cover}.satit-detail-body{padding:30px}.satit-detail-body h1{font-weight:800;color:#00346b;line-height:1.35;margin:12px 0 18px}.satit-detail-meta{display:flex;flex-wrap:wrap;gap:10px}.satit-detail-meta span{display:inline-flex;align-items:center;gap:6px;background:#f5f7fb;border-radius:999px;padding:7px 12px;color:#4b5563}.satit-detail-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.satit-detail-info-grid div{background:#f8fbff;border:1px solid rgba(0,52,107,.08);border-radius:14px;padding:12px}.satit-detail-info-grid b{display:block;color:#00346b;font-size:.86rem}.satit-detail-info-grid span{color:#555}.satit-detail-content{font-size:1.02rem;line-height:1.85;color:#263238}.satit-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.satit-gallery-grid a{display:block;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(0,52,107,.10)}.satit-gallery-grid img{width:100%;height:180px;object-fit:cover;transition:.25s}.satit-gallery-grid a:hover img{transform:scale(1.06)}.achievement-card{transition:.25s ease}.achievement-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,52,107,.14)}.achievement-card img{height:190px;object-fit:cover;width:100%}
@media(max-width:1199px){.satit-activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.satit-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.satit-activity-grid{grid-template-columns:1fr}.satit-activity-intro,.satit-achievement-hero{display:block;padding:22px}.satit-detail-info-grid,.satit-gallery-grid{grid-template-columns:1fr}.satit-detail-body{padding:20px}}

/* Admin activity category helpers */
.satit-admin-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.satit-admin-filter-tabs a:not(.btn){display:inline-flex;align-items:center;gap:6px;border:1px solid #d8e2f0;border-radius:999px;padding:7px 12px;color:#00346b;background:#fff}.satit-admin-filter-tabs a.active:not(.btn),.satit-admin-filter-tabs a:not(.btn):hover{background:var(--ach-color,#00346b);border-color:var(--ach-color,#00346b);color:#fff}

/* ===== Shared bulk gallery / slideshow ===== */
.satit-gallery-slider-section{margin-top:28px;padding-top:10px}
.satit-gallery-slider{border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(0,35,80,.10);overflow:hidden;border:1px solid rgba(0,35,80,.08)}
.satit-gallery-stage{position:relative;background:#071f3f;min-height:360px}
.satit-gallery-slide{display:none;margin:0;position:relative;min-height:360px;background:#071f3f}
.satit-gallery-slide.active{display:block;animation:satitGalleryFade .25s ease-in-out}
.satit-gallery-slide img{width:100%;height:420px;object-fit:cover;display:block}
.satit-gallery-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));display:flex;flex-direction:column;gap:4px}
.satit-gallery-slide figcaption b{font-size:1.12rem}.satit-gallery-slide figcaption span{font-size:.92rem;opacity:.9}
.satit-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#0b2e59;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:3;cursor:pointer;transition:.2s}
.satit-gallery-nav:hover{background:#c99632;color:#fff}.satit-gallery-nav.prev{left:16px}.satit-gallery-nav.next{right:16px}
.satit-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px;background:#f7f9fc}
.satit-gallery-thumbs button{border:3px solid transparent;background:#fff;border-radius:12px;padding:0;width:92px;height:62px;flex:0 0 auto;overflow:hidden;cursor:pointer;transition:.2s}
.satit-gallery-thumbs button.active{border-color:#c99632;box-shadow:0 8px 18px rgba(201,150,50,.22)}
.satit-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.satit-ann-gallery-strip{display:flex;gap:6px;align-items:center;margin-top:10px;flex-wrap:wrap}.satit-ann-gallery-strip img{width:54px;height:38px;object-fit:cover;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.satit-ann-gallery-strip span{font-size:.82rem;color:#596579;background:#f3f6fa;border-radius:999px;padding:5px 10px}@keyframes satitGalleryFade{from{opacity:.55}to{opacity:1}}@media(max-width:768px){.satit-gallery-slide img{height:270px}.satit-gallery-stage,.satit-gallery-slide{min-height:270px}.satit-gallery-slide figcaption{padding:16px}.satit-gallery-nav{width:38px;height:38px}.satit-gallery-thumbs button{width:74px;height:52px}}
