:root{--blue:#22B8B0;--blue2:#FF6F91;--gold:#FFD447;--ink:#172033;--muted:#667085;--bg:#FFF9ED;--white:#fff;--border:#dfe5ef;--danger:#b42318;--success:#067647;--shadow:0 12px 32px rgba(18,38,63,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Tahoma","Noto Sans Thai",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}a{color:var(--blue2);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 32px));margin:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:1000}.skip-link:focus{left:8px}.topbar{background:linear-gradient(90deg,var(--blue),var(--blue2));color:#fff;font-size:.88rem}.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{color:#fff}.topbar-links{display:flex;gap:16px}.site-header{background:#fff;box-shadow:0 2px 15px #00000010;position:sticky;top:0;z-index:50}.brand-row{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand:hover{text-decoration:none}.brand strong{font-size:1.25rem;display:block}.brand small{display:block;color:var(--muted)}.brand-mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:4px solid #ecd27a;font-weight:700;font-size:1.15rem}.main-nav{display:flex;align-items:center;gap:5px}.main-nav a{padding:10px 11px;border-radius:9px;color:#24324a;font-weight:700;font-size:.94rem}.main-nav a.active,.main-nav a:hover{background:#eaf2ff;color:var(--blue);text-decoration:none}.nav-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 12px}.hero{background:linear-gradient(120deg,rgba(7,44,105,.96),rgba(15,95,191,.86)),url('../img/school-hero.svg') center/cover;color:#fff;padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center}.hero h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.2;margin:0 0 16px}.hero p{font-size:1.12rem;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 18px;font-weight:700;cursor:pointer;font-family:inherit;font-size:.96rem}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-light{background:#fff;color:var(--blue)}.btn-gold{background:var(--gold);color:#1d1d1d}.btn-outline{background:transparent;color:var(--blue);border:1px solid var(--blue)}.btn-danger{background:var(--danger);color:#fff}.hero-card{background:#ffffff15;border:1px solid #ffffff45;border-radius:22px;padding:24px;backdrop-filter:blur(8px)}.hero-card h3{margin-top:0}.quick-list{display:grid;gap:10px}.quick-list a{background:#ffffff16;color:#fff;padding:12px;border-radius:10px}.section{padding:58px 0}.section-sm{padding:32px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{margin:0;font-size:1.85rem}.section-heading p{margin:4px 0 0;color:var(--muted)}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 18px #21314d0c;overflow:hidden}.card-body{padding:20px}.card h3{margin:0 0 9px}.card p{color:#526078}.card-media{height:190px;object-fit:cover;width:100%;background:#e8eef8}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-size:.8rem;font-weight:700}.meta{color:var(--muted);font-size:.88rem}.stats{margin-top:-34px;position:relative;z-index:3}.stat-card{background:#fff;border-radius:16px;padding:22px;text-align:center;box-shadow:var(--shadow);border-bottom:4px solid var(--gold)}.stat-card strong{display:block;font-size:1.8rem;color:var(--blue)}.quick-grid a{display:block;background:#fff;padding:22px;border-radius:16px;border:1px solid var(--border);font-weight:700;color:var(--ink);box-shadow:0 5px 16px #00000008}.quick-grid a span{font-size:1.9rem;display:block;margin-bottom:8px}.page-hero{background:linear-gradient(120deg,var(--blue),var(--blue2));color:#fff;padding:42px 0}.page-hero h1{margin:0}.breadcrumb{font-size:.9rem;opacity:.9}.content-box{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px}.prose h2{color:var(--blue)}.prose p{max-width:85ch}.news-list{display:grid;gap:18px}.news-row{display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.news-row img{width:100%;height:100%;min-height:160px;object-fit:cover}.news-row-body{padding:18px}.event-card{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:18px}.event-date{background:#eaf2ff;border-radius:14px;text-align:center;padding:10px;color:var(--blue)}.event-date strong{font-size:1.7rem;display:block}.document-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--border)}.document-item:last-child{border-bottom:0}.staff-card{text-align:center;padding:22px}.staff-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 14px;background:#eaf2ff}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:700;margin-bottom:6px}.form-control,.form-select,textarea{width:100%;padding:11px 12px;border:1px solid #cdd5df;border-radius:10px;background:#fff;font:inherit;color:inherit}.form-control:focus,.form-select:focus,textarea:focus{outline:3px solid #dceaff;border-color:var(--blue2)}textarea{min-height:130px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert{padding:13px 16px;border-radius:12px;margin-top:16px}.alert.success{background:#ecfdf3;color:var(--success);border:1px solid #abefc6}.alert.error{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.empty{text-align:center;padding:40px;color:var(--muted)}.site-footer{background:linear-gradient(125deg,color-mix(in srgb,var(--blue) 72%,#071f46),color-mix(in srgb,var(--blue2) 62%,#071f46));color:#d6e4ff;margin-top:40px}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:44px 0}.footer-grid h3{color:#fff}.footer-bottom{text-align:center;padding:15px;border-top:1px solid #ffffff20;font-size:.9rem}.login-wrap{min-height:70vh;display:grid;place-items:center;padding:40px 16px}.login-card{width:min(480px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.login-card h1{margin-top:0}.admin-body{background:#eef2f7}.admin-topbar{height:64px;background:linear-gradient(90deg,var(--blue),var(--blue2));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:90}.admin-topbar a{color:#fff}.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 64px)}.admin-sidebar{background:#fff;border-right:1px solid var(--border);padding:18px 12px;display:flex;flex-direction:column;gap:5px}.admin-sidebar a{padding:12px 14px;border-radius:10px;color:#25324a;font-weight:700}.admin-sidebar a.active,.admin-sidebar a:hover{background:#eaf2ff;color:var(--blue);text-decoration:none}.admin-main{padding:26px;min-width:0}.admin-menu-toggle{display:none;background:#fff;border:0;border-radius:8px;padding:8px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-title h1{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kpi{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px}.kpi strong{display:block;color:var(--blue);font-size:2rem}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#f7f9fc;color:#344054}.actions{display:flex;gap:8px;flex-wrap:wrap}.link-danger{color:var(--danger)}.admin-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px}.dashboard-welcome{background:linear-gradient(120deg,var(--blue),var(--blue2));color:#fff;border-radius:20px;padding:28px;margin-bottom:22px}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px}.timeline{border-left:3px solid #d8e6fb;padding-left:22px}.timeline-item{position:relative;margin-bottom:22px}.timeline-item:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--gold);left:-30px;top:7px}.pagination{display:flex;gap:7px;margin-top:24px}.pagination a,.pagination span{padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:8px}.pagination .current{background:var(--blue);color:#fff}.notice{background:#fff8e1;border:1px solid #f3d88a;padding:14px;border-radius:12px;color:#6d5100}@media(max-width:980px){.main-nav{display:none;position:absolute;left:16px;right:16px;top:118px;background:#fff;flex-direction:column;align-items:stretch;padding:12px;border-radius:14px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-toggle{display:block}.hero-grid{grid-template-columns:1fr}.grid-4,.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.member-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:-280px;top:64px;bottom:0;width:250px;z-index:80;box-shadow:var(--shadow);transition:.2s}.admin-sidebar.open{left:0}.admin-menu-toggle{display:block}.admin-topbar{gap:14px}.admin-topbar>div{font-size:.85rem}.news-row{grid-template-columns:170px 1fr}}@media(max-width:680px){.topbar-inner{display:block;text-align:center}.topbar-links{justify-content:center;margin-top:4px}.brand strong{font-size:1rem}.brand small{font-size:.75rem}.brand-mark{width:48px;height:48px}.main-nav{top:126px}.hero{padding:50px 0}.grid-2,.grid-3,.grid-4,.kpi-grid,.member-grid,.footer-grid,.form-row{grid-template-columns:1fr}.stats{margin-top:0;padding-top:20px}.section{padding:40px 0}.news-row{grid-template-columns:1fr}.news-row img{height:190px}.event-card{grid-template-columns:70px 1fr}.document-item{align-items:flex-start;flex-direction:column}.admin-main{padding:16px}.admin-title{align-items:flex-start;flex-direction:column}.admin-topbar span{display:none}}
.brand-logo{width:72px;height:72px;object-fit:contain;flex:0 0 auto}.section-tint{background:color-mix(in srgb,var(--blue) 7%,#fff)}.home-slider{position:relative;background:#071f46;color:#fff;overflow:hidden}.slides-stage{position:relative;height:clamp(390px,48vw,610px)}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .65s ease;display:flex;align-items:center}.slide.active{opacity:1;visibility:visible}.slide-content{padding-top:50px;padding-bottom:70px}.slide-content h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1.15;max-width:850px;margin:0 0 16px;text-shadow:0 2px 18px #0008}.slide-content p{font-size:clamp(1rem,2vw,1.3rem);max-width:760px;margin:0 0 24px;text-shadow:0 2px 10px #0009}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border:0;border-radius:50%;background:#ffffffd9;color:var(--blue);font-size:2rem;cursor:pointer;box-shadow:var(--shadow)}.slider-arrow.prev{left:22px}.slider-arrow.next{right:22px}.slider-dots{position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:9px}.slider-dots button{width:12px;height:12px;padding:0;border:2px solid #fff;border-radius:50%;background:#ffffff55;cursor:pointer}.slider-dots button.active{background:var(--gold);border-color:var(--gold)}.album-card .card-media{height:230px}.album-description{margin-bottom:24px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-item{margin:0;background:#fff;border-radius:15px;overflow:hidden;border:1px solid var(--border);box-shadow:0 5px 18px #0000000b}.photo-item img{width:100%;height:260px;object-fit:cover;transition:transform .25s}.photo-item:hover img{transform:scale(1.025)}.photo-item figcaption{padding:12px 14px;color:var(--muted)}.settings-section{margin-bottom:20px}.settings-section h2{margin-top:0;color:var(--blue)}.settings-logo-preview{width:130px;height:130px;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:#fff;margin:8px 0}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.color-grid label{font-weight:700}.color-grid input[type=color]{display:block;width:100%;height:52px;border:1px solid var(--border);border-radius:10px;padding:4px;background:#fff;margin-top:7px}.theme-preset-actions{display:flex;gap:8px;flex-wrap:wrap}.check-row,.switch-row{display:flex;align-items:center;gap:9px;font-weight:700;margin:12px 0}.check-row input,.switch-row input{width:19px;height:19px}.narrow-field{max-width:420px;margin-top:15px}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding:14px;background:#ffffffee;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:15}.wide-preview{width:min(760px,100%);max-height:330px;object-fit:cover;border-radius:14px;margin:8px 0 18px}.table-thumb{width:84px;height:62px;object-fit:cover;border-radius:9px;background:#eef2f7}.table-thumb.wide{width:130px}.btn-small{padding:6px 10px;font-size:.85rem}.upload-panel{margin-bottom:22px}.admin-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-photo-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px;overflow:hidden}.admin-photo-card>img{width:100%;height:220px;object-fit:cover;border-radius:10px;margin-bottom:11px}.photo-meta-form{display:grid;grid-template-columns:1fr 80px auto;gap:8px;align-items:center;margin-bottom:10px}.photo-meta-form .order-input{min-width:0}.admin-sidebar{overflow-y:auto}.admin-sidebar a{flex:0 0 auto}
@media(max-width:980px){.brand-logo{width:54px;height:54px}.photo-grid,.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.color-grid{grid-template-columns:repeat(2,1fr)}.slider-arrow.prev{left:10px}.slider-arrow.next{right:10px}}
@media(max-width:680px){.brand-logo{width:48px;height:48px}.slides-stage{height:440px}.slide-content{padding-left:26px;padding-right:26px}.slider-arrow{width:40px;height:40px}.photo-grid,.admin-photo-grid,.color-grid{grid-template-columns:1fr}.photo-item img{height:230px}.photo-meta-form{grid-template-columns:1fr 74px}.photo-meta-form .btn{grid-column:1/-1}.sticky-save{bottom:6px}.home-slider+.stats{margin-top:0}}

/* เวอร์ชัน 3: ชุดสีฟ้า–ชมพูและข้อมูลพื้นฐานโรงเรียน */
body.site-public{background-color:var(--bg);background-image:var(--site-bg-image);background-size:cover;background-position:center top;background-attachment:fixed;background-repeat:no-repeat}
.site-public .site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.site-public .section{background:rgba(255,255,255,.76);backdrop-filter:blur(3px)}
.site-public .section.section-tint{background:color-mix(in srgb,var(--blue) 8%,rgba(255,255,255,.88))}
.site-public .content-box,.site-public .card,.site-public .stat-card{box-shadow:0 12px 30px rgba(39,76,132,.09)}
.brand-mark{border-color:color-mix(in srgb,var(--gold) 75%,#fff)}
.main-nav a.active,.main-nav a:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff));color:var(--blue)}
.hero{background:linear-gradient(120deg,color-mix(in srgb,var(--blue) 90%,#102047),color-mix(in srgb,var(--blue2) 78%,#102047)),url('../img/background-blue-pink-waves.svg') center/cover}
.page-hero{position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;inset:0;background:url('../img/background-blue-pink-waves.svg') center/cover;opacity:.16;pointer-events:none}
.page-hero>.container{position:relative;z-index:1}

.background-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.background-choice{display:grid;gap:9px;padding:10px;border:2px solid var(--border);border-radius:15px;background:#fff;cursor:pointer;position:relative;transition:.18s}
.background-choice:hover,.background-choice.selected{border-color:var(--blue);box-shadow:0 9px 24px color-mix(in srgb,var(--blue) 16%,transparent)}
.background-choice input{position:absolute;top:14px;left:14px;width:19px;height:19px;z-index:2}
.background-choice img,.background-none-preview{width:100%;height:135px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.background-none-preview{display:grid;place-items:center;background:#f5f7fb;color:var(--muted)}
.background-choice strong{padding:0 4px 3px}
.background-upload-row{align-items:end;margin-top:18px}
.color-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.textarea-large{min-height:180px}
.action-align-end{display:flex;align-items:end}
.admin-menu-label{padding:14px 14px 5px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.admin-sidebar a.active,.admin-sidebar a:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff))}

.school-info-hero{padding:48px 0}
.school-info-hero-grid{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:14px}
.about-logo{width:130px;height:130px;object-fit:contain;background:rgba(255,255,255,.92);border-radius:24px;padding:12px;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.school-info-hero p{max-width:800px;font-size:1.08rem}
.school-identity-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.school-identity-pills span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);padding:7px 12px;border-radius:999px;font-weight:700}
.school-info-nav{position:sticky;top:118px;z-index:38;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 5px 18px rgba(0,0,0,.05)}
.school-info-nav .container{display:flex;gap:7px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:thin}
.school-info-nav a{white-space:nowrap;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--blue) 7%,#fff);color:var(--ink);font-weight:700;font-size:.87rem}
.school-info-nav a:hover{background:linear-gradient(90deg,var(--blue),var(--blue2));color:#fff;text-decoration:none}
.section-kicker{display:inline-block;color:var(--blue2);font-size:.84rem;font-weight:800;letter-spacing:.04em;margin-bottom:4px}
.school-quote-card{display:grid;align-content:center;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 11%,#fff),color-mix(in srgb,var(--blue2) 12%,#fff))}
.quote-icon{font-family:Georgia,serif;font-size:5rem;line-height:.6;color:var(--blue2);opacity:.45}
.info-feature{border-top:5px solid transparent;border-image:linear-gradient(90deg,var(--blue),var(--blue2)) 1}
.feature-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 15%,#fff),color-mix(in srgb,var(--blue2) 16%,#fff));font-size:1.55rem}
.emblem-layout{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}
.emblem-large{width:160px;height:160px;object-fit:contain}
.emblem-large-fallback{width:130px;height:130px;font-size:2rem}
.school-color-display{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 25px}
.school-color-display>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px;text-align:center}
.school-color-display span{display:block;height:78px;background:var(--school-color);border-radius:10px;margin-bottom:8px}
.executive-card{border-top:5px solid var(--blue2)}
.organization-chart,.campus-map{width:100%;max-height:650px;object-fit:contain;border-radius:14px;background:#fff}
.committee-list{display:grid;gap:12px;margin-top:16px}
.committee-person{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--blue) 5%,#fff);border:1px solid color-mix(in srgb,var(--blue) 12%,var(--border))}
.committee-person img,.committee-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#fff;display:grid;place-items:center;font-size:1.4rem}
.committee-person strong,.committee-person span{display:block}.committee-person span{font-size:.88rem;color:var(--muted)}
.school-stats-summary{margin-bottom:24px}
.public-table{margin-top:20px}
.facility-card .card-media{height:220px}
.campus-map-box{margin-top:24px}
.map-box{padding:8px;min-height:390px}.map-box iframe{width:100%;height:390px;border:0;border-radius:12px}
.contact-details{display:grid;align-content:center}
.agency-card{position:relative;overflow:hidden}.agency-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-35px;bottom:-35px;background:linear-gradient(135deg,var(--blue),var(--blue2));opacity:.09}
.personnel-category{margin-bottom:48px}.personnel-subheading{display:inline-block;border-left:5px solid var(--blue2);padding-left:12px;margin:8px 0 18px}.staff-contact{font-size:.86rem;color:var(--muted);padding-top:10px;border-top:1px solid var(--border)}

@media(max-width:980px){.background-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-info-nav{top:126px}.committee-columns{grid-template-columns:1fr}}
@media(max-width:680px){body.site-public{background-attachment:scroll}.background-choice-grid{grid-template-columns:1fr}.school-info-hero-grid{grid-template-columns:1fr;text-align:center}.about-logo{margin:auto;width:105px;height:105px}.school-identity-pills{justify-content:center}.school-info-nav{top:126px}.emblem-layout{grid-template-columns:1fr;text-align:center}.emblem-large,.emblem-large-fallback{margin:auto}.school-color-display{grid-template-columns:1fr}.map-box iframe{height:300px}.map-box{min-height:300px}}

/* News publishing suite */
.news-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end}.filter-actions{display:flex;gap:8px;white-space:nowrap}.category-chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.category-chips a{background:#fff;border:1px solid var(--border);border-radius:999px;padding:7px 12px;color:var(--ink);font-weight:700}.category-chips a.active,.category-chips a:hover{background:var(--blue);color:#fff;text-decoration:none}.news-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.news-media-meta{display:flex;flex-wrap:wrap;gap:9px 15px;color:var(--muted);font-size:.88rem;margin-top:12px}.news-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.news-sidebar{display:grid;gap:18px;position:sticky;top:112px}.news-cover-large{width:100%;max-height:560px;object-fit:cover;border-radius:16px;margin-bottom:22px}.news-detail-meta{display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px}.news-lead{font-size:1.12rem;font-weight:700;background:linear-gradient(100deg,#eff6ff,#fdf2f8);border-left:5px solid var(--blue2);padding:16px;border-radius:0 12px 12px 0;max-width:none!important}.news-content-text{font-size:1.04rem;line-height:1.9}.article-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--border)}.news-video{width:100%;max-height:600px;background:#000;border-radius:14px}.video-embed{position:relative;padding-top:56.25%;overflow:hidden;border-radius:14px;background:#111}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.news-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.news-photo-grid a{position:relative;border-radius:12px;overflow:hidden;background:#eef2f7;min-height:150px}.news-photo-grid img{display:block;width:100%;height:180px;object-fit:cover;transition:.2s}.news-photo-grid a:hover img{transform:scale(1.025)}.news-photo-grid span{position:absolute;left:0;right:0;bottom:0;background:#0009;color:#fff;padding:7px 9px;font-size:.83rem}.news-attachments{display:grid;gap:10px}.news-attachments a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:13px;color:var(--ink);background:#f8fafc}.news-attachments a:hover{border-color:var(--blue);text-decoration:none}.news-attachments a>span:first-child{font-size:1.5rem}.news-attachments small{display:block;color:var(--muted)}.news-attachments b{color:var(--blue)}.share-card{text-align:center}.share-buttons{display:grid;gap:9px}.share-facebook{background:#1877f2;color:#fff}.share-line{background:#06c755;color:#fff}.qr-box{display:grid;place-items:center;min-height:210px;margin:18px auto 8px;background:#fff;padding:10px;border:1px solid var(--border);border-radius:12px;width:212px}.qr-box img,.qr-box canvas{display:block;max-width:100%}.print-full{width:100%;margin-top:8px}.media-preview{display:grid;gap:8px;margin-top:10px}.media-preview img{max-width:260px;max-height:160px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.attachment-admin-list{display:grid;gap:8px;margin:10px 0 16px}.attachment-admin-list>div{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);background:#f8fafc;padding:10px 12px;border-radius:10px}.filter-form{margin-bottom:0}.admin-card hr{border:0;border-top:1px solid var(--border);margin:25px 0}.admin-card h2{font-size:1.25rem;color:var(--blue)}
@media(max-width:980px){.news-filter-grid{grid-template-columns:1fr 1fr}.news-detail-layout{grid-template-columns:1fr}.news-sidebar{position:static;grid-template-columns:1fr 1fr}.news-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.news-filter-grid{grid-template-columns:1fr}.filter-actions{white-space:normal}.news-sidebar{grid-template-columns:1fr}.news-photo-grid{grid-template-columns:1fr}.news-photo-grid img{height:230px}.news-attachments a{grid-template-columns:auto 1fr}.news-attachments b{grid-column:2}.news-card-top{align-items:flex-start;flex-direction:column}.attachment-admin-list>div{align-items:flex-start;flex-direction:column}}

/* School calendar suite — version 5 */
.calendar-hero{padding:48px 0}.calendar-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}.calendar-hero h1{font-size:clamp(2rem,4vw,3.1rem);margin:10px 0}.calendar-hero p{max-width:820px;margin:0;font-size:1.04rem}.calendar-hero-actions{display:grid;gap:10px;min-width:260px}.badge-light{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);color:#fff}.calendar-reminder-strip{padding:24px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 8%,#fff),color-mix(in srgb,var(--blue2) 8%,#fff));border-bottom:1px solid color-mix(in srgb,var(--blue) 15%,var(--border))}.reminder-heading{margin-bottom:14px}.reminder-heading h2{font-size:1.35rem}.reminder-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reminder-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-left:5px solid var(--event-color);border-radius:14px;padding:13px 15px;color:var(--ink);box-shadow:0 5px 16px rgba(31,41,55,.05)}.reminder-card:hover{text-decoration:none;transform:translateY(-1px);border-color:color-mix(in srgb,var(--event-color) 55%,var(--border))}.reminder-card span>strong,.reminder-card span>small{display:block}.reminder-card small{color:var(--muted)}.reminder-card>b{color:var(--event-color);white-space:nowrap}.reminder-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--event-color) 12%,#fff);font-size:1.35rem}.calendar-section{padding-top:34px}.calendar-filter{padding:20px;margin-bottom:22px}.calendar-filter-grid{display:grid;grid-template-columns:1fr 1.35fr 1.1fr 1fr auto;gap:13px;align-items:end}.calendar-filter .form-group,.calendar-admin-filter .form-group{margin-bottom:0}.calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:20px 0 14px}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{margin:0;color:var(--blue);font-size:1.65rem}.calendar-toolbar span{color:var(--muted)}.calendar-nav-button{background:#fff;border:1px solid var(--border);border-radius:11px;padding:9px 14px;font-weight:700;color:var(--ink)}.calendar-nav-button:hover{text-decoration:none;border-color:var(--blue);color:var(--blue)}.school-calendar-wrap{overflow-x:auto;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.07)}.school-calendar{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));min-width:920px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}.calendar-weekday{padding:12px;text-align:center;font-weight:800;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 10%,#fff),color-mix(in srgb,var(--blue2) 9%,#fff));border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.calendar-day{min-height:142px;padding:9px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.calendar-day:nth-child(7n+7),.calendar-weekday:nth-child(7){border-right:0}.calendar-day.outside-month{background:#f8fafc;color:#98a2b3}.calendar-day.today{background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 6%,#fff),color-mix(in srgb,var(--blue2) 5%,#fff));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 50%,transparent)}.calendar-day-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-day-number>span{font-weight:800;font-size:1.05rem}.calendar-day-number small{font-size:.72rem;color:var(--blue);font-weight:800}.calendar-day-events{display:grid;gap:5px}.calendar-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;align-items:center;padding:5px 7px;border-radius:7px;background:color-mix(in srgb,var(--event-color) 12%,#fff);border-left:3px solid var(--event-color);color:var(--ink);font-size:.76rem;line-height:1.25}.calendar-event b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event:hover{text-decoration:none;background:color-mix(in srgb,var(--event-color) 20%,#fff)}.calendar-event.cancelled{text-decoration:line-through;opacity:.65}.calendar-event.postponed{border-style:dashed}.calendar-more{font-size:.75rem;font-weight:700;padding-left:7px}.calendar-list-section{padding-top:38px;scroll-margin-top:120px}.calendar-event-list{display:grid;gap:16px}.calendar-detail-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:22px;border-left:6px solid var(--event-color);scroll-margin-top:125px}.calendar-detail-card.status-cancelled{opacity:.75}.calendar-detail-card.status-postponed{border-left-style:dashed}.calendar-detail-date{width:82px;height:105px;display:grid;align-content:center;text-align:center;border-radius:15px;background:color-mix(in srgb,var(--event-color) 11%,#fff);color:var(--event-color)}.calendar-detail-date strong{font-size:2rem;line-height:1}.calendar-detail-date span{font-weight:800}.calendar-detail-date small{color:var(--muted)}.calendar-card-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.event-type-badge{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--event-color) 12%,#fff);color:var(--event-color);padding:5px 10px;border-radius:999px;font-weight:800;font-size:.82rem}.event-type-badge.small{font-size:.74rem;padding:3px 8px}.calendar-detail-content h3{margin:9px 0 8px;font-size:1.35rem}.calendar-meta-grid{display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.calendar-detail-content p{margin:14px 0;color:#475467}.calendar-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.calendar-attachment{background:#f8fafc}.status-badge{display:inline-block;border-radius:999px;padding:4px 9px;font-weight:800;font-size:.78rem}.status-badge.active{background:#ecfdf3;color:#067647}.status-badge.postponed{background:#fff7ed;color:#c2410c}.status-badge.cancelled{background:#fef2f2;color:#b42318}.home-calendar-alert{padding:22px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 8%,#fff),color-mix(in srgb,var(--blue2) 9%,#fff));border-top:1px solid color-mix(in srgb,var(--blue) 12%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--blue2) 12%,var(--border))}.home-calendar-alert-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.home-calendar-alert-head>div{display:flex;align-items:center;gap:8px}.home-calendar-alert-head span{font-size:1.35rem}.home-reminder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-reminder-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;background:#fff;border-radius:13px;border-left:4px solid var(--event-color);color:var(--ink)}.home-reminder-item:hover{text-decoration:none;transform:translateY(-1px)}.home-reminder-item>span{font-size:1.35rem}.home-reminder-item b,.home-reminder-item small{display:block}.home-reminder-item small{color:var(--muted);font-size:.78rem}.home-reminder-item>strong{color:var(--event-color);font-size:.82rem;white-space:nowrap}.enhanced-event-card{border-top:4px solid var(--event-color)}.member-reminder-panel{margin:30px 0}.member-event-card{border-top:4px solid var(--event-color)}

/* Calendar admin */
.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.admin-stat-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:17px;box-shadow:0 5px 15px rgba(15,23,42,.04)}.admin-stat-card strong{display:block;font-size:1.8rem;color:var(--blue)}.admin-stat-card span{color:var(--muted)}.calendar-admin-filter{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr auto;gap:12px;align-items:end}.calendar-admin-table{margin-top:18px}.admin-event-title{display:grid;grid-template-columns:42px minmax(170px,1fr);gap:10px;align-items:center}.admin-event-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--event-color) 13%,#fff);font-size:1.25rem}.admin-event-title strong,.admin-event-title small{display:block}.admin-event-title small{color:var(--muted);font-size:.8rem}.admin-link-button{padding:0;background:none;color:var(--blue2);font-weight:700}.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.check-row{display:flex;align-items:flex-start;gap:9px;margin:6px 0 18px;font-weight:700}.check-row input{width:18px;height:18px;margin-top:4px}.color-input{min-height:48px;padding:5px}.notice-inline{padding:10px 12px;border-radius:10px;background:#fffbeb;color:#92400e}.calendar-admin-table .actions{flex-wrap:wrap}

@media(max-width:1100px){.calendar-filter-grid,.calendar-admin-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-grid .filter-actions,.calendar-admin-filter .filter-actions{grid-column:1/-1}.home-reminder-grid{grid-template-columns:1fr}.calendar-hero-grid{grid-template-columns:1fr}.calendar-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.reminder-cards{grid-template-columns:1fr}}
@media(max-width:760px){.calendar-filter-grid,.calendar-admin-filter{grid-template-columns:1fr}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-toolbar>div{grid-column:1/-1;grid-row:1}.calendar-nav-button{text-align:center}.calendar-detail-card{grid-template-columns:1fr}.calendar-detail-date{width:100%;height:auto;grid-template-columns:auto auto auto;justify-content:start;gap:8px;align-items:baseline;padding:11px 14px}.calendar-detail-date strong{font-size:1.5rem}.calendar-card-actions .btn{width:100%}.calendar-hero-actions{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr}.reminder-card{grid-template-columns:auto minmax(0,1fr)}.reminder-card>b{grid-column:2}.home-calendar-alert-head{align-items:flex-start;flex-direction:column}.event-card{grid-template-columns:72px 1fr}.calendar-section .container{width:min(100% - 20px,1160px)}}


/* Public document center — version 6 */
.public-docs-hero{padding:48px 0}.public-docs-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:32px;align-items:center}.public-docs-hero h1{font-size:clamp(2rem,4vw,3.15rem);margin:12px 0}.public-docs-hero p{max-width:780px;font-size:1.05rem;margin:0}.document-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.document-stat-grid>div{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.35);border-radius:15px;padding:16px 12px;text-align:center;backdrop-filter:blur(4px)}.document-stat-grid strong,.document-stat-grid span{display:block}.document-stat-grid strong{font-size:1.8rem}.document-stat-grid span{font-size:.78rem;margin-top:3px}.document-category-section{padding-bottom:30px}.document-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.document-category-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;background:#fff;border:1px solid var(--border);border-radius:14px;color:var(--ink);box-shadow:0 4px 14px rgba(15,23,42,.04)}.document-category-card:hover,.document-category-card.active{text-decoration:none;border-color:var(--blue);transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 13%,transparent)}.document-category-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff));font-size:1.25rem}.document-category-card strong{font-size:.9rem;line-height:1.25}.document-category-card small{white-space:nowrap;color:var(--muted);font-size:.75rem}.document-filter{padding:20px;margin-bottom:25px}.document-filter-grid{display:grid;grid-template-columns:1.55fr .75fr 1fr 1fr .75fr;gap:12px;align-items:end}.document-filter .form-group{margin-bottom:0}.document-filter-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:15px}.document-results-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0 16px}.document-results-head h2,.document-results-head p{margin:0}.document-results-head p{color:var(--muted);margin-top:4px}.public-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.public-document-card{display:flex;flex-direction:column;border-top:4px solid color-mix(in srgb,var(--blue) 70%,var(--blue2));padding:20px}.public-document-card.featured{border-top-color:var(--gold);box-shadow:0 10px 27px color-mix(in srgb,var(--gold) 18%,transparent)}.document-card-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:13px;align-items:start}.document-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff));font-size:1.55rem}.document-card-badges{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.document-card-badges .badge{font-size:.75rem}.status-badge.published{background:#fffbeb;color:#92400e}.document-card-head h3{font-size:1.2rem;margin:8px 0 0;line-height:1.4}.document-description{color:#475467;margin:14px 0}.document-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;color:var(--muted);font-size:.84rem;margin:4px 0 17px}.document-card-footer{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-top:auto;padding-top:15px;border-top:1px solid var(--border)}.document-file-info strong,.document-file-info span,.document-file-info small{display:block}.document-file-info strong{color:var(--blue)}.document-file-info span,.document-file-info small{color:var(--muted);font-size:.78rem}.document-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.document-card-actions .btn{padding:9px 12px}.document-empty{padding:48px;text-align:center}.document-empty>span{font-size:2.6rem}.document-empty h3{margin:10px 0 5px}.document-empty p{color:var(--muted)}

/* Document center admin — version 6 */
.document-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.document-admin-filter{display:grid;grid-template-columns:1.4fr 1fr .65fr 1fr .75fr auto;gap:11px;align-items:end;margin-bottom:18px}.document-admin-filter .form-group{margin-bottom:0}.document-admin-filter .filter-actions{display:flex;gap:7px}.document-admin-table{margin-top:0}.admin-document-title{display:grid;grid-template-columns:44px minmax(190px,1fr);gap:10px;align-items:center}.admin-document-title>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff));font-size:1.25rem}.admin-document-title strong,.admin-document-title small,.table-subtext{display:block}.admin-document-title small,.table-subtext{color:var(--muted);font-size:.76rem;margin-top:3px}.admin-document-title .featured-text{color:#b45309}.document-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-weight:800;font-size:.76rem}.document-status.published{background:#ecfdf3;color:#067647}.document-status.draft{background:#f2f4f7;color:#344054}.document-status.archived{background:#fef2f2;color:#b42318}.document-upload-panel{padding:17px;background:#f8fafc;border:1px dashed var(--border);border-radius:14px}.current-document-file{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px;margin:-3px 0 10px}.current-document-file>span{font-size:1.3rem}.current-document-file strong,.current-document-file small{display:block}.current-document-file small{color:var(--muted)}.danger-check{color:#b42318}.form-help{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}.document-admin-form textarea{resize:vertical}

@media(max-width:1180px){.document-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.document-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-search-wide{grid-column:1/-1}.document-admin-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.document-admin-filter .filter-actions{grid-column:1/-1}.public-docs-hero-grid{grid-template-columns:1fr}.document-stat-grid{max-width:620px}}
@media(max-width:820px){.document-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-document-grid{grid-template-columns:1fr}.document-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.document-card-meta{grid-template-columns:1fr}}
@media(max-width:560px){.document-stat-grid,.document-category-grid,.document-filter-grid,.document-admin-filter,.document-admin-stats{grid-template-columns:1fr}.document-category-card{grid-template-columns:42px minmax(0,1fr)}.document-category-card small{grid-column:2}.document-filter-actions,.document-card-footer{align-items:stretch;flex-direction:column}.document-filter-actions .btn,.document-card-actions,.document-card-actions .btn{width:100%}.document-card-actions{display:grid}.document-card-head{grid-template-columns:46px minmax(0,1fr)}.document-icon{width:46px;height:46px}.document-admin-filter .filter-actions{grid-column:auto}.document-stat-grid>div{padding:12px}.public-docs-hero{padding:38px 0}}

/* =========================================================
   Student member system — Version 7
   ========================================================= */
.hidden{display:none!important}
.form-control-lg{font-size:1.08rem;padding:13px 15px}.btn-lg{padding:12px 20px;font-size:1rem}.btn-sm{padding:7px 11px;font-size:.86rem}.btn-white{background:#fff;color:var(--blue);border:1px solid rgba(255,255,255,.65);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.student-login-page{padding:45px 16px}.student-login-card{width:min(620px,100%);max-width:620px}.login-school-icon{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;margin:-6px auto 12px;font-size:2.6rem;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 18%,#fff),color-mix(in srgb,var(--blue2) 22%,#fff));box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 16%,transparent)}
.login-method-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:#eef2f7;border-radius:14px;margin:18px 0}.login-method-tabs button{border:0;background:transparent;border-radius:10px;padding:11px;font:inherit;font-weight:800;color:var(--muted);cursor:pointer}.login-method-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 5px 14px rgba(15,23,42,.09)}.login-submit{width:100%;margin-top:18px}.login-help{text-align:center;color:var(--muted);font-size:.88rem;margin:14px 0 0}.picture-password-label{display:block;font-weight:800;margin-bottom:9px}.picture-password-sequence{display:flex;justify-content:center;gap:9px;margin:10px 0 15px}.picture-password-sequence span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;border:2px dashed color-mix(in srgb,var(--blue) 35%,var(--border));background:#fff;color:var(--muted);font-weight:900;font-size:1.35rem}.picture-password-sequence span.filled{border-style:solid;border-color:var(--blue2);background:color-mix(in srgb,var(--blue2) 9%,#fff);color:var(--ink)}.picture-password-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.picture-password-grid button{border:2px solid var(--border);background:#fff;border-radius:13px;padding:8px 4px;cursor:pointer;display:grid;gap:2px;place-items:center;font:inherit;transition:.16s}.picture-password-grid button:hover,.picture-password-grid button.selected{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 7px 16px color-mix(in srgb,var(--blue) 14%,transparent)}.picture-password-grid button span{font-size:1.7rem}.picture-password-grid button small{font-size:.7rem;color:var(--muted)}.picture-reset{margin-top:10px}.admin-picture-grid{max-width:700px}

.student-shell{width:min(1480px,calc(100% - 32px));margin:26px auto 55px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.student-sidebar{position:sticky;top:108px;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:22px;box-shadow:0 14px 40px rgba(15,23,42,.08);overflow:hidden}.student-mini-profile{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 15%,#fff),color-mix(in srgb,var(--blue2) 14%,#fff))}.student-mini-profile>span,.student-mini-profile>img{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;object-fit:cover;background:#fff;font-size:2rem;box-shadow:0 6px 16px rgba(0,0,0,.1)}.student-mini-profile strong,.student-mini-profile small{display:block}.student-mini-profile strong{font-size:.96rem}.student-mini-profile small{color:var(--muted);font-size:.8rem;margin-top:3px}.student-menu{padding:10px;display:grid;gap:4px}.student-menu a{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:11px;color:var(--ink);font-weight:700;font-size:.9rem}.student-menu a:hover,.student-menu a.active{background:linear-gradient(100deg,color-mix(in srgb,var(--blue) 12%,#fff),color-mix(in srgb,var(--blue2) 10%,#fff));color:var(--blue);text-decoration:none}.student-menu a b{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:.72rem}.student-content{min-width:0;display:grid;gap:22px}
.student-hero-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:25px;border-radius:24px;color:#fff;background:linear-gradient(130deg,var(--blue),color-mix(in srgb,var(--blue) 45%,var(--blue2)),var(--blue2));box-shadow:0 18px 45px color-mix(in srgb,var(--blue) 25%,transparent);position:relative;overflow:hidden}.student-hero-card:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-65px;top:-100px;background:rgba(255,255,255,.13)}.student-hero-card>*{position:relative;z-index:1}.student-avatar-large{width:92px;height:92px;border-radius:27px;background:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.16);overflow:hidden}.student-avatar-large span{font-size:3.7rem}.student-avatar-large img{width:100%;height:100%;object-fit:cover}.student-hero-copy h1{color:#fff;margin:5px 0 4px;font-size:clamp(1.6rem,3vw,2.35rem)}.student-hero-copy p{margin:0;color:rgba(255,255,255,.88)}.student-hero-copy .badge{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35)}
.student-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.student-kpi-grid a{display:grid;gap:3px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;color:var(--ink);box-shadow:0 8px 24px rgba(15,23,42,.055);transition:.18s}.student-kpi-grid a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 45%,var(--border));text-decoration:none}.student-kpi-grid span{font-size:.83rem;color:var(--muted);font-weight:800}.student-kpi-grid strong{font-size:2rem;color:var(--blue)}.student-kpi-grid small{color:var(--muted)}
.student-panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:0 9px 28px rgba(15,23,42,.055)}.student-dashboard-grid{align-items:start}.student-panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:14px}.student-panel-heading h2{margin:0 0 3px;font-size:1.23rem}.student-panel-heading p{margin:0;color:var(--muted);font-size:.86rem}.student-panel-heading>a{font-weight:800;font-size:.87rem;white-space:nowrap}.student-list{display:grid}.student-list>a,.student-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 5px;border-bottom:1px solid var(--border);color:var(--ink)}.student-list>a:last-child,.student-history-row:last-child{border-bottom:0}.student-list>a:hover{background:color-mix(in srgb,var(--blue) 4%,#fff);text-decoration:none}.student-list>a.is-unread{background:color-mix(in srgb,var(--blue) 7%,#fff);border-left:4px solid var(--blue);padding-left:10px}.student-list>a i{font-style:normal;background:#ef4444;color:#fff;border-radius:999px;padding:3px 7px;font-size:.7rem}.student-list-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,#fff),color-mix(in srgb,var(--blue2) 13%,#fff));font-size:1.25rem}.student-list strong,.student-list small{display:block}.student-list small{color:var(--muted);font-size:.78rem;margin-top:3px}.student-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:900;white-space:nowrap}.status-pending{background:#f1f5f9;color:#475569}.status-info{background:#dbeafe;color:#1d4ed8}.status-warning{background:#fef3c7;color:#92400e}.status-success{background:#dcfce7;color:#166534}.status-danger{background:#fee2e2;color:#b91c1c}.student-empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:14px;background:#fafcff}.student-progress-row{margin:15px 0}.student-progress-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}.student-progress-row span{font-weight:900;color:var(--blue)}.progress-track{height:10px;border-radius:999px;background:#e8edf5;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue2));box-shadow:0 0 12px color-mix(in srgb,var(--blue) 30%,transparent)}.progress-track.large{height:15px}.student-game-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-game-mini-grid a{display:grid;place-items:center;text-align:center;padding:14px 8px;border:1px solid var(--border);border-radius:14px;color:var(--ink);background:#fafcff}.student-game-mini-grid a:hover{border-color:var(--blue);text-decoration:none}.student-game-mini-grid span{font-size:1.8rem}.student-game-mini-grid strong,.student-game-mini-grid small{display:block}.student-game-mini-grid small{font-size:.72rem;color:var(--muted)}.student-badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-badge-grid article{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(135deg,#fffdf5,#fff)}.student-badge-grid article>span{font-size:2rem}.student-badge-grid strong,.student-badge-grid small{display:block}.student-badge-grid small{color:var(--muted);font-size:.76rem}
.student-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 2px}.student-page-heading h1{margin:0 0 5px;font-size:clamp(1.7rem,3vw,2.35rem)}.student-page-heading p{margin:0;color:var(--muted)}.student-profile-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-profile-card{text-align:center;display:grid;place-items:center;align-content:center}.student-avatar-xl{width:150px;height:150px;border-radius:42px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 12%,#fff),color-mix(in srgb,var(--blue2) 15%,#fff));overflow:hidden;box-shadow:0 14px 32px rgba(15,23,42,.1)}.student-avatar-xl span{font-size:5.4rem}.student-avatar-xl img{width:100%;height:100%;object-fit:cover}.student-detail-list{display:grid;margin:0}.student-detail-list>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.student-detail-list>div:last-child{border-bottom:0}.student-detail-list dt{color:var(--muted);font-weight:700}.student-detail-list dd{margin:0;font-weight:800}
.student-timetable-days{display:grid;gap:16px}.timetable-day{padding:0;overflow:hidden}.timetable-day>h2{margin:0;padding:13px 18px;background:linear-gradient(100deg,color-mix(in srgb,var(--blue) 13%,#fff),color-mix(in srgb,var(--blue2) 11%,#fff));border-bottom:1px solid var(--border)}.student-table{width:100%}.student-table small{display:block;color:var(--muted)}.student-table td:first-child{font-size:1.05rem;color:var(--blue)}
.assignment-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.assignment-card{display:block;color:var(--ink);transition:.18s;border-left:5px solid var(--blue)}.assignment-card:hover{transform:translateY(-3px);text-decoration:none;border-color:var(--blue2)}.assignment-card.is-overdue{border-left-color:#ef4444}.assignment-card h2{font-size:1.2rem;margin:13px 0 7px}.assignment-card p{color:var(--muted)}.assignment-card-top,.assignment-card-footer,.assignment-title-row,.assignment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-subject{font-size:.78rem;font-weight:900;color:var(--blue)}.assignment-card-footer{font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);padding-top:11px}.assignment-detail{padding:25px}.assignment-detail .back-link{display:inline-block;margin-bottom:15px}.assignment-title-row{align-items:start}.assignment-title-row h2{font-size:1.75rem;margin:8px 0}.assignment-meta{justify-content:flex-start;flex-wrap:wrap;color:var(--muted);font-size:.88rem;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:17px}.assignment-feedback{margin:20px 0;padding:16px;border-radius:14px;background:#ecfdf5;border:1px solid #a7f3d0}.assignment-submit-form{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}
.student-score-pill{min-width:140px;text-align:center;background:linear-gradient(145deg,#fff8dc,#fff);border:1px solid #fde68a;border-radius:18px;padding:12px 18px}.student-score-pill span,.student-score-pill small{display:block;color:#92400e;font-size:.76rem;font-weight:800}.student-score-pill strong{display:block;font-size:2rem;color:#d97706}.student-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.student-game-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:21px;box-shadow:0 10px 30px rgba(15,23,42,.06);display:flex;flex-direction:column}.student-game-card h2{margin:12px 0 6px}.student-game-card p{color:var(--muted);flex:1}.student-game-icon{width:76px;height:76px;border-radius:23px;display:grid;place-items:center;font-size:2.8rem;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 15%,#fff),color-mix(in srgb,var(--blue2) 18%,#fff));margin-bottom:12px}.student-game-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.77rem;padding:12px 0}.leaderboard-list{display:grid}.leaderboard-row{display:grid;grid-template-columns:28px 45px 1fr auto;align-items:center;gap:10px;padding:10px 7px;border-bottom:1px solid var(--border)}.leaderboard-row.is-me{background:#fffbeb;border-radius:12px;border:1px solid #fde68a}.leaderboard-row>b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:var(--blue)}.leaderboard-row:nth-child(1)>b{background:#fef3c7;color:#b45309}.leaderboard-row:nth-child(2)>b{background:#f1f5f9;color:#475569}.leaderboard-row:nth-child(3)>b{background:#ffedd5;color:#c2410c}.leader-avatar{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#f8fafc;font-size:1.55rem;overflow:hidden}.leader-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-row strong,.leaderboard-row small{display:block}.leaderboard-row small{color:var(--muted);font-size:.73rem}.leaderboard-row em{font-style:normal;font-weight:900;color:var(--blue);font-size:.83rem}
.progress-circle{--progress:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#fff 76%,transparent 77% 99%),conic-gradient(var(--blue2) calc(var(--progress)*1%),#e8edf5 0);box-shadow:0 8px 24px rgba(15,23,42,.08)}.progress-circle strong,.progress-circle small{display:block;text-align:center}.progress-circle strong{font-size:1.65rem;color:var(--blue)}.progress-circle small{color:var(--muted)}.progress-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-subject-head{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.progress-subject-head>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eef6ff;font-size:1.5rem}.progress-subject-head h2{margin:0}.progress-subject-head small{color:var(--muted)}.progress-subject-head>strong{font-size:1.55rem;color:var(--blue)}.progress-subject-card .progress-track{margin:16px 0}.progress-subject-card p{margin-bottom:0;color:var(--muted)}
.reward-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.reward-summary-grid>div{text-align:center}.reward-summary-grid span,.reward-summary-grid strong,.reward-summary-grid small{display:block}.reward-summary-grid span{font-size:2rem}.reward-summary-grid strong{font-size:2rem;color:var(--blue)}.reward-summary-grid small{color:var(--muted)}.reward-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.reward-card{text-align:center;background:linear-gradient(145deg,#fffdf4,#fff);border:1px solid #f8e6aa;border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(146,64,14,.07)}.reward-medal{font-size:4.2rem}.reward-card h2{margin:8px 0}.reward-card p{color:var(--muted)}.reward-card small{display:block;color:var(--muted);margin-top:12px}.reward-text{display:inline-block;background:#fef3c7;color:#92400e;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.8rem}
.student-filter-bar{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:17px;padding:12px}.student-filter-bar .form-control{flex:1}.student-filter-bar .form-select{width:auto;min-width:170px}.grade-pill{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--blue),var(--blue2));color:#fff;font-size:1.1rem;font-weight:900}.resource-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resource-card{display:flex;flex-direction:column}.resource-icon{width:56px;height:56px;border-radius:17px;background:#eef6ff;display:grid;place-items:center;font-size:1.8rem}.resource-card h2{font-size:1.18rem;margin:12px 0 5px}.resource-card p{color:var(--muted);flex:1}.resource-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.77rem;padding:10px 0;border-top:1px solid var(--border)}
.student-message-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.message-inbox{padding:0;overflow:hidden}.message-inbox>h2{padding:17px 18px;margin:0;border-bottom:1px solid var(--border)}.message-list{display:grid}.message-list a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px 15px;color:var(--ink);border-bottom:1px solid var(--border)}.message-list a:hover,.message-list a.active{background:#eff6ff;text-decoration:none}.message-list a.is-unread{border-left:4px solid var(--blue);background:#f6faff}.message-list strong,.message-list small{display:block}.message-list small{color:var(--muted);font-size:.73rem}.message-list i{font-style:normal;font-size:.68rem;background:#ef4444;color:#fff;border-radius:999px;padding:3px 7px}.message-reader{min-height:360px}.message-reader-head{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border)}.message-reader-head h2,.message-reader-head p{margin:0}.message-reader-head p{color:var(--muted);font-size:.82rem}.message-big-icon{font-size:2.4rem}.message-body{padding-top:20px;line-height:1.85;font-size:1.02rem}
.avatar-form{padding:25px}.avatar-preview-section{display:flex;align-items:center;gap:20px;margin-bottom:25px}.avatar-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.avatar-choice{position:relative;display:grid;place-items:center;text-align:center;gap:5px;padding:13px 8px;border:2px solid var(--border);border-radius:16px;cursor:pointer;background:#fff}.avatar-choice:hover,.avatar-choice.selected{border-color:var(--blue);background:#f5f9ff}.avatar-choice input{position:absolute;opacity:0}.avatar-choice span{font-size:2.7rem}.avatar-choice strong{font-size:.8rem}.picture-password-info{display:grid;grid-template-columns:85px 1fr;gap:20px;align-items:start}.picture-password-info>span{font-size:4rem}.password-panel{max-width:800px}.password-form{max-width:700px}

/* Student admin interfaces */
.admin-filter-row{display:flex;gap:10px;align-items:end;margin-bottom:18px}.admin-filter-row .form-control{flex:1}.admin-filter-row .form-select{min-width:240px}.admin-student-cell{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center}.admin-student-cell>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f3f7ff;font-size:1.55rem;overflow:hidden}.admin-student-cell img{width:100%;height:100%;object-fit:cover}.admin-student-cell strong,.admin-student-cell small{display:block}.admin-student-cell small{color:var(--muted)}.admin-timetable{margin-top:20px}.review-inline-form{display:grid;gap:6px;min-width:210px}.admin-tab-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.admin-tab-nav a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:800;color:var(--ink)}.admin-tab-nav a.active,.admin-tab-nav a:hover{background:var(--blue);color:#fff;text-decoration:none}.admin-record-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--border)}.admin-record-item:has(.record-icon){grid-template-columns:auto 1fr auto}.admin-record-item p{margin:3px 0;color:var(--muted)}.record-icon{font-size:2rem}.admin-record-item .link-danger{font-size:.82rem}

@media(max-width:1180px){.student-shell{grid-template-columns:220px minmax(0,1fr)}.student-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-game-grid,.resource-card-grid,.reward-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.picture-password-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.student-shell{display:block;width:min(100% - 22px,1050px)}.student-sidebar{position:static;margin-bottom:16px}.student-mini-profile{grid-template-columns:50px 1fr}.student-mini-profile>span,.student-mini-profile>img{width:50px;height:50px}.student-menu{display:flex;overflow-x:auto;padding:9px}.student-menu a{white-space:nowrap;flex:0 0 auto}.student-hero-card{grid-template-columns:auto 1fr}.student-hero-card>.btn{grid-column:1/-1;width:100%}.student-game-grid,.resource-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-message-layout{grid-template-columns:1fr}.message-inbox{max-height:390px;overflow:auto}.avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.student-shell{width:min(100% - 14px,700px);margin-top:12px}.student-content{gap:14px}.student-hero-card{grid-template-columns:1fr;text-align:center;padding:20px}.student-avatar-large{margin:auto}.student-hero-card>.btn{grid-column:auto}.student-kpi-grid,.student-profile-layout,.assignment-list-grid,.progress-card-grid,.reward-summary-grid,.reward-card-grid,.student-game-grid,.resource-card-grid{grid-template-columns:1fr}.student-dashboard-grid{grid-template-columns:1fr}.student-badge-grid{grid-template-columns:1fr}.student-game-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-page-heading{align-items:flex-start;flex-direction:column}.student-score-pill{width:100%}.student-panel{padding:15px;border-radius:16px}.student-detail-list>div{grid-template-columns:1fr;gap:2px}.picture-password-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.picture-password-grid button span{font-size:1.5rem}.picture-password-sequence span{width:43px;height:43px}.student-filter-bar,.admin-filter-row{display:grid;grid-template-columns:1fr}.student-filter-bar .form-select,.admin-filter-row .form-select{width:100%;min-width:0}.student-message-layout{gap:12px}.avatar-preview-section,.picture-password-info{display:grid;grid-template-columns:1fr;text-align:center}.student-avatar-xl{margin:auto;width:130px;height:130px}.avatar-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-table{min-width:680px}.student-hero-copy h1{font-size:1.65rem}}


/* ===== ระบบผู้ปกครอง รุ่น 8 ===== */
.parent-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 120px);background:linear-gradient(135deg,#eff6ff 0%,#fff1f7 100%)}
.parent-sidebar{padding:22px 16px;background:rgba(255,255,255,.94);border-right:1px solid rgba(37,99,235,.12);position:sticky;top:0;height:100vh;overflow:auto}
.parent-content{padding:28px;min-width:0}
.parent-mini-profile{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;margin-bottom:14px}
.parent-mini-profile>span{font-size:34px}.parent-mini-profile strong,.parent-mini-profile small{display:block}.parent-mini-profile small{opacity:.85}
.parent-child-switcher{margin-bottom:14px}.parent-child-switcher label{display:block;font-weight:800;font-size:.86rem;margin-bottom:6px}.parent-child-switcher select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
.parent-menu{display:grid;gap:5px}.parent-menu a{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:12px;color:#334155;font-weight:700;text-decoration:none}.parent-menu a:hover,.parent-menu a.active{background:linear-gradient(135deg,#dbeafe,#fce7f3);color:#1d4ed8}.parent-menu b{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;font-size:.75rem}
.parent-privacy-mini{margin-top:18px;padding:12px;border-radius:14px;background:#ecfdf5;color:#065f46;font-weight:800;text-align:center}
.parent-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.parent-page-heading h1{margin:.2rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.45rem)}.parent-page-heading p{margin:0;color:#64748b}
.parent-child-hero{display:flex;align-items:center;gap:18px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#fff,#fdf2f8);box-shadow:0 12px 35px rgba(30,64,175,.1);border:1px solid rgba(236,72,153,.15);margin-bottom:20px}.parent-child-avatar{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;font-size:42px;background:#dbeafe}.parent-child-hero h2{margin:.35rem 0}.parent-child-hero .btn{margin-left:auto}
.parent-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.parent-stat-grid>a,.parent-stat-grid>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 10px;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.07);text-decoration:none;color:#0f172a}.parent-stat-grid span{font-size:28px}.parent-stat-grid strong{font-size:1.8rem;color:var(--blue)}.parent-stat-grid small{color:#64748b}.parent-stat-grid.compact{grid-template-columns:repeat(5,minmax(110px,1fr))}
.parent-panel{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.06)}.parent-panel h2{margin-top:0}.parent-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.parent-panel-head h2{margin:0}.parent-dashboard-grid{align-items:start;margin-bottom:20px}
.parent-list-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #eef2f7}.parent-list-item:last-child{border-bottom:0}.parent-list-item>span{font-size:25px}.parent-list-item strong,.parent-list-item p,.parent-list-item small{display:block}.parent-list-item p{margin:.25rem 0;color:#475569}.parent-list-item small{color:#64748b}
.parent-table{width:100%;border-collapse:collapse}.parent-table th,.parent-table td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.parent-table th{background:#f8fafc;color:#475569}
.parent-privacy-notice{padding:14px 16px;border-radius:14px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-weight:700}.parent-empty{padding:24px;text-align:center;color:#64748b}
.parent-inline-filter{display:flex;gap:8px}.parent-inline-filter .form-control{min-width:190px}
.parent-progress-item{padding:12px 0;border-bottom:1px solid #edf2f7}.parent-progress-item>div:first-child{display:flex;justify-content:space-between}.parent-progress-item p{margin:.5rem 0 0;color:#64748b}
.parent-timetable-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;overflow:auto}.parent-timetable-grid article{padding:12px;border-radius:14px;background:#f8fafc;min-width:160px}.parent-timetable-grid h3{margin:0 0 10px;color:var(--blue)}.parent-timetable-grid article>div{padding:9px;border-radius:10px;background:#fff;margin-bottom:8px;border-left:4px solid var(--blue2)}.parent-timetable-grid strong,.parent-timetable-grid small{display:block}.parent-timetable-grid small{color:#64748b}
.parent-activity-grid,.parent-document-grid{display:grid;gap:16px}.parent-activity-card h2,.parent-document-card h2{margin:.65rem 0}.activity-meta{display:flex;gap:18px;flex-wrap:wrap;color:#475569}.consent-box{margin-top:16px;padding:14px;border-radius:14px;background:#f8fafc}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.parent-document-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.document-big-icon{font-size:42px}
.parent-message-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(260px,1fr) minmax(320px,1.2fr);gap:16px;align-items:start}.parent-message-list{display:grid;gap:8px}.parent-message-list>a{display:flex;gap:10px;padding:12px;border-radius:12px;text-decoration:none;color:#334155;background:#f8fafc}.parent-message-list>a.active{background:#dbeafe}.parent-message-list>a b{margin-left:auto;color:#dc2626}.parent-message-list strong,.parent-message-list small{display:block}.parent-message-reader{min-height:240px}.message-body{line-height:1.8}
.parent-request-card{padding:14px;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:12px}.parent-request-card>div{display:flex;justify-content:space-between;gap:10px}.parent-request-card p{color:#475569}
.parent-survey-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);gap:18px}.parent-survey-link{display:flex;justify-content:space-between;gap:12px;padding:13px;border-radius:12px;background:#f8fafc;text-decoration:none;color:#334155;margin-bottom:8px}.parent-survey-link.active{background:#dbeafe}.parent-survey-link strong,.parent-survey-link small{display:block}.survey-question{padding:16px 0;border-bottom:1px solid #e2e8f0}.rating-options,.yes-no-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.rating-options input{display:none}.rating-options span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef2ff;border:2px solid transparent;font-weight:800}.rating-options input:checked+span{background:var(--blue);color:#fff;border-color:#1e40af}
.parent-password-form{max-width:760px}
.parent-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.parent-admin-tabs a{padding:9px 13px;border-radius:999px;background:#e2e8f0;text-decoration:none;color:#334155;font-weight:700}.parent-admin-tabs a.active{background:var(--blue);color:#fff}
.parent-admin-request,.teacher-parent-message{display:grid;gap:8px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:12px}.parent-admin-request>div{display:flex;justify-content:space-between;gap:8px}.survey-builder-row{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:center;margin-bottom:8px}
.teacher-parent-message small{display:block;color:#64748b}.teacher-parent-message p{margin:0;color:#475569}

@media(max-width:1100px){.parent-stat-grid{grid-template-columns:repeat(3,1fr)}.parent-message-layout{grid-template-columns:1fr 1fr}.parent-message-reader{grid-column:1/-1}.parent-timetable-grid{grid-template-columns:repeat(5,190px)}}
@media(max-width:850px){.parent-shell{grid-template-columns:1fr}.parent-sidebar{position:relative;height:auto;border-right:0}.parent-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-content{padding:18px}.parent-stat-grid{grid-template-columns:repeat(2,1fr)}.parent-page-heading,.parent-child-hero{align-items:flex-start;flex-direction:column}.parent-child-hero .btn{margin-left:0}.parent-message-layout,.parent-survey-layout{grid-template-columns:1fr}.parent-document-card{grid-template-columns:auto 1fr}.parent-document-card>div:last-child{grid-column:1/-1}.survey-builder-row{grid-template-columns:1fr}}
@media(max-width:560px){.parent-menu{grid-template-columns:1fr}.parent-stat-grid,.parent-stat-grid.compact{grid-template-columns:repeat(2,1fr)}.parent-content{padding:12px}.parent-panel{padding:15px}.parent-inline-filter{width:100%;flex-direction:column}.parent-inline-filter .form-control{min-width:0}.consent-actions{flex-direction:column}.parent-document-card{grid-template-columns:1fr}.parent-page-heading h1{font-size:1.55rem}}

/* ===== ระบบครู รุ่น 9 ===== */
.teacher-shell{display:grid;grid-template-columns:285px minmax(0,1fr);min-height:calc(100vh - 120px);background:linear-gradient(135deg,#eef6ff 0%,#fff4f8 100%)}
.teacher-sidebar{padding:20px 14px;background:rgba(255,255,255,.96);border-right:1px solid rgba(37,99,235,.12);position:sticky;top:0;height:100vh;overflow:auto}
.teacher-content{padding:26px;min-width:0;display:grid;gap:18px;align-content:start}
.teacher-mini-profile{display:flex;gap:12px;align-items:center;padding:15px;border-radius:18px;background:linear-gradient(135deg,#1d4ed8,#ec4899);color:#fff;margin-bottom:14px}.teacher-mini-profile>span{font-size:36px}.teacher-mini-profile strong,.teacher-mini-profile small{display:block}.teacher-mini-profile small{opacity:.86}
.teacher-menu{display:grid;gap:4px}.teacher-menu a{display:flex;gap:9px;align-items:center;padding:10px 11px;border-radius:12px;color:#334155;font-weight:750;text-decoration:none}.teacher-menu a:hover,.teacher-menu a.active{background:linear-gradient(135deg,#dbeafe,#fce7f3);color:#1d4ed8}
.teacher-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;border-radius:26px;color:#fff;background:linear-gradient(135deg,#1d4ed8,#7c3aed 55%,#ec4899);box-shadow:0 15px 38px rgba(30,64,175,.2)}.teacher-hero h1{font-size:clamp(1.8rem,3.5vw,2.7rem);margin:.35rem 0}.teacher-hero p{margin:0;opacity:.92}.btn-white{background:#fff;color:#1d4ed8;border-color:#fff;font-weight:850}
.teacher-page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.teacher-page-heading h1{margin:.18rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.4rem)}.teacher-page-heading p{margin:0;color:#64748b}
.teacher-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}.teacher-kpi-grid a{display:flex;flex-direction:column;padding:17px;border-radius:18px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 8px 26px rgba(15,23,42,.07);border:1px solid rgba(148,163,184,.2)}.teacher-kpi-grid span{color:#64748b;font-weight:750}.teacher-kpi-grid strong{font-size:2rem;color:#1d4ed8}.teacher-kpi-grid small{color:#64748b}
.teacher-panel{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.06);min-width:0}.teacher-panel h2{margin-top:0}.teacher-panel .form-control,.teacher-panel .form-select{margin-bottom:10px}.teacher-dashboard-grid{align-items:start}.teacher-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.teacher-panel-heading h2,.teacher-panel-heading p{margin:0}.teacher-panel-heading p{color:#64748b;font-size:.9rem}.teacher-empty{padding:24px;text-align:center;color:#64748b;background:#f8fafc;border-radius:14px}
.teacher-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-class-grid a{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:14px;border-radius:14px;background:#f8fafc;text-decoration:none;color:#0f172a}.teacher-class-grid a>span{grid-row:1/3;font-size:30px}.teacher-class-grid small{color:#64748b}
.teacher-list>div{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #eef2f7}.teacher-list>div:last-child{border-bottom:0}.teacher-list>div>span{font-size:25px}.teacher-list strong,.teacher-list small{display:block}.teacher-list small{color:#64748b}
.teacher-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:13px;border-radius:16px;border:1px solid #e2e8f0}.teacher-filter .form-control,.teacher-filter .form-select{min-width:170px;flex:1;margin:0}.teacher-filter span{font-weight:800;color:#475569}
.teacher-submission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-submission-card{display:grid;gap:9px;padding:15px;border:1px solid #e2e8f0;border-radius:15px}.teacher-submission-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.teacher-submission-card small{color:#64748b}
.teacher-progress-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-progress-editor article{padding:14px;border-radius:15px;background:#f8fafc}.teacher-progress-editor article>div{display:flex;justify-content:space-between;gap:10px}.teacher-progress-editor input[type=range]{width:100%;margin:12px 0}
.teacher-online-list,.teacher-announcement-list{display:grid;gap:12px}.teacher-online-list article,.teacher-announcement-list article{padding:14px;border:1px solid #e2e8f0;border-radius:15px}.teacher-online-list article>div:first-child{display:flex;gap:10px;align-items:center}.teacher-online-list article>div:first-child>span{font-size:30px}.teacher-online-list strong,.teacher-online-list small{display:block}.teacher-online-list small,.teacher-announcement-list small{color:#64748b}.teacher-online-list code,.student-join-code{display:inline-block;padding:8px 12px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:900;margin:8px 0}.teacher-announcement-list article>div{display:flex;justify-content:space-between;gap:10px}.teacher-announcement-list p{color:#475569}
.teacher-help{line-height:1.9;padding-left:22px}.inline-status-form .form-select{min-width:140px;margin:0}.live-score-grid{display:grid;gap:10px}.live-score-grid article{display:grid;grid-template-columns:36px 44px 1fr auto;gap:10px;align-items:center;padding:13px;border-radius:14px;background:#f8fafc}.live-score-grid article>b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#1d4ed8;color:#fff}.live-score-grid article>span{font-size:28px}.live-score-grid strong,.live-score-grid small{display:block}.live-score-grid small{color:#64748b}.live-score-grid em{font-style:normal;font-weight:900;color:#1d4ed8}
.quiz-choice-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-bottom:8px}.quiz-question-list{display:grid;gap:12px}.quiz-question-list article{padding:15px;border:1px solid #e2e8f0;border-radius:15px}.quiz-question-list article>div:first-child{display:flex;gap:10px}.quiz-question-list article>div:first-child>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#dbeafe;color:#1d4ed8}.quiz-question-list strong,.quiz-question-list small{display:block}.quiz-question-list small{color:#64748b}.quiz-question-list li.correct{color:#15803d;font-weight:800}.student-quiz-question{border:0;border-bottom:1px solid #e2e8f0;padding:18px 0}.student-quiz-question legend{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:start;width:100%;font-weight:800}.student-quiz-question legend>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#dbeafe;color:#1d4ed8}.student-quiz-question legend>em{font-style:normal;color:#64748b;font-size:.85rem}.student-quiz-choices{display:grid;gap:9px;margin:12px 0}.student-quiz-choices label{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #dbeafe;border-radius:13px;cursor:pointer}.student-quiz-choices label:has(input:checked){background:#eff6ff;border-color:#2563eb}.quiz-result{text-align:center}.quiz-result>span{font-size:62px}.quiz-result>strong{display:block;font-size:3.4rem;color:#1d4ed8}.quiz-attempt-info{font-weight:800;color:#475569}
.report-filter{display:grid;gap:10px}.teacher-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-report-card{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.05)}.teacher-report-card>span{font-size:40px}.teacher-report-card h2{margin:0 0 5px}.teacher-report-card p{margin:0 0 12px;color:#64748b}
.competition-grid{margin-top:12px}
@media(max-width:1150px){.teacher-shell{grid-template-columns:225px minmax(0,1fr)}.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-submission-grid,.teacher-progress-editor{grid-template-columns:1fr}}
@media(max-width:900px){.teacher-shell{display:block}.teacher-sidebar{position:relative;height:auto;border-right:0}.teacher-menu{display:flex;overflow-x:auto;padding:8px}.teacher-menu a{white-space:nowrap;flex:0 0 auto}.teacher-content{padding:18px}.teacher-report-grid{grid-template-columns:1fr}}
@media(max-width:650px){.teacher-content{padding:12px}.teacher-hero,.teacher-page-heading,.teacher-panel-heading{align-items:flex-start;flex-direction:column}.teacher-hero .btn{width:100%}.teacher-kpi-grid,.teacher-class-grid,.teacher-report-grid{grid-template-columns:1fr}.teacher-filter{display:grid}.teacher-filter .form-control,.teacher-filter .form-select{min-width:0;width:100%}.teacher-panel{padding:15px}.teacher-report-card{grid-template-columns:1fr}.student-quiz-question legend{grid-template-columns:34px 1fr}.student-quiz-question legend>em{grid-column:2}.live-score-grid article{grid-template-columns:32px 38px 1fr}.live-score-grid article>em{grid-column:3}.teacher-submission-grid{grid-template-columns:1fr}}

/* ===== ระบบผู้บริหาร รุ่น 10 ===== */
.executive-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 120px);background:linear-gradient(135deg,#f0f7ff 0%,#f8f5ff 48%,#fff7ed 100%)}
.executive-sidebar{padding:20px 14px;background:rgba(255,255,255,.97);border-right:1px solid rgba(30,64,175,.13);position:sticky;top:0;height:100vh;overflow:auto}
.executive-content{padding:25px;min-width:0;display:grid;gap:18px;align-content:start}
.executive-mini-profile{display:flex;gap:12px;align-items:center;padding:16px;border-radius:19px;background:linear-gradient(135deg,#0f3f8f,#5b21b6 60%,#b45309);color:#fff;margin-bottom:15px;box-shadow:0 12px 28px rgba(30,64,175,.18)}.executive-mini-profile>span{font-size:36px}.executive-mini-profile strong,.executive-mini-profile small{display:block}.executive-mini-profile small{opacity:.84}
.executive-menu{display:grid;gap:4px}.executive-menu a{display:flex;gap:9px;align-items:center;padding:10px 11px;border-radius:12px;color:#334155;font-weight:780;text-decoration:none}.executive-menu a:hover,.executive-menu a.active{background:linear-gradient(135deg,#dbeafe,#ede9fe,#ffedd5);color:#1e3a8a}
.executive-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#0f3f8f,#5b21b6 55%,#b45309);box-shadow:0 18px 42px rgba(30,64,175,.22)}.executive-hero h1{font-size:clamp(1.85rem,3.6vw,2.8rem);margin:.35rem 0}.executive-hero p{margin:0;max-width:800px;opacity:.92}.executive-hero-date{min-width:210px;padding:16px;border-radius:18px;background:#ffffff16;border:1px solid #ffffff38;text-align:center}.executive-hero-date strong,.executive-hero-date small{display:block}.executive-hero-date strong{font-size:1.15rem}.executive-hero-date small{opacity:.82;margin-top:5px}
.executive-page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.executive-page-heading h1{margin:.2rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.45rem)}.executive-page-heading p{margin:0;color:#64748b}
.executive-filter{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr)) auto;gap:11px;align-items:end;padding:14px;background:#fff;border:1px solid #dfe5ef;border-radius:18px;box-shadow:0 7px 24px rgba(15,23,42,.05)}.executive-filter label{font-weight:800;font-size:.83rem;color:#475569}.executive-filter .form-select{margin-top:5px}.executive-filter .btn{height:45px}
.executive-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.executive-kpi-grid>a,.executive-kpi-grid>div{display:flex;flex-direction:column;padding:17px;border-radius:19px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 8px 26px rgba(15,23,42,.065);border:1px solid rgba(148,163,184,.2);position:relative;overflow:hidden}.executive-kpi-grid>a:before,.executive-kpi-grid>div:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#2563eb,#7c3aed,#f59e0b)}.executive-kpi-grid span{color:#64748b;font-weight:780}.executive-kpi-grid strong{font-size:2rem;color:#1e40af;line-height:1.25;margin:.1rem 0}.executive-kpi-grid small{color:#64748b}.executive-kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.executive-panel{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:21px;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.055);min-width:0}.executive-panel h2{margin-top:0}.executive-dashboard-grid{align-items:start}.executive-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.executive-panel-heading h2,.executive-panel-heading p{margin:0}.executive-panel-heading p{color:#64748b;font-size:.9rem}.executive-empty{padding:24px;text-align:center;color:#64748b;background:#f8fafc;border-radius:14px}
.executive-attendance-bars{display:grid;gap:12px}.executive-attendance-bars>div{display:grid;grid-template-columns:90px 1fr 44px;gap:10px;align-items:center}.executive-attendance-bars>div>span{font-weight:800}.executive-attendance-bars>div>div{height:13px;background:#e8edf5;border-radius:999px;overflow:hidden}.executive-attendance-bars i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#7c3aed)}.executive-attendance-bars strong{text-align:right;color:#1e40af}
.executive-action-list{display:grid;gap:8px}.executive-action-list>a,.executive-action-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:13px;background:#f8fafc;color:#0f172a;text-decoration:none}.executive-action-list strong{color:#1e40af}
.executive-timeline{display:grid;gap:10px}.executive-timeline article{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:12px;border-left:4px solid #7c3aed;border-radius:11px;background:#f8fafc}.executive-timeline time{font-weight:850;color:#5b21b6}.executive-timeline strong,.executive-timeline small{display:block}.executive-timeline small{color:#64748b}
.executive-summary-ring{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center}.executive-summary-ring>div{aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#5b21b6 calc(var(--value)*1%),#e8edf5 0);position:relative}.executive-summary-ring>div:before{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.executive-summary-ring strong,.executive-summary-ring small{position:relative;z-index:1;display:block}.executive-summary-ring strong{font-size:2rem;color:#5b21b6}.executive-summary-ring ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.executive-summary-ring li{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #eef2f7}
.executive-ranking{display:grid;gap:8px}.executive-ranking article{display:grid;grid-template-columns:32px 42px 1fr auto;gap:9px;align-items:center;padding:11px;border-radius:13px;background:#f8fafc}.executive-ranking article>b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#1e40af;color:#fff}.executive-ranking article>span{font-size:26px}.executive-ranking strong,.executive-ranking small{display:block}.executive-ranking small{color:#64748b}.executive-ranking em{font-style:normal;font-weight:900;color:#5b21b6}
.executive-quality-list{display:grid;gap:10px}.executive-quality-list article{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(90px,.8fr) auto;gap:12px;align-items:center;padding:12px;border-radius:13px;background:#f8fafc}.executive-quality-list strong,.executive-quality-list small{display:block}.executive-quality-list small{color:#64748b}.mini-progress{height:9px;background:#e5eaf2;border-radius:999px;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7c3aed,#f59e0b)}.mini-progress.wide{min-width:140px}
.executive-risk-list{display:grid;gap:8px}.executive-risk-list article{display:grid;grid-template-columns:1.4fr repeat(3,auto);gap:10px;align-items:center;padding:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:13px}.executive-risk-list strong,.executive-risk-list small{display:block}.executive-risk-list small{color:#64748b}.executive-risk-list article>span{font-size:.82rem;font-weight:800;color:#9a3412}
.executive-subject-bars{display:grid;gap:12px}.executive-subject-bars article{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,2fr) 52px;gap:12px;align-items:center}.executive-subject-bars strong,.executive-subject-bars small{display:block}.executive-subject-bars small{color:#64748b}.executive-subject-bars article>div:nth-child(2){height:12px;background:#e8edf5;border-radius:999px;overflow:hidden}.executive-subject-bars i{height:100%;display:block;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:inherit}.executive-subject-bars b{text-align:right;color:#1e40af}
.executive-donut-list{display:grid;gap:12px}.executive-donut-list article{display:grid;grid-template-columns:95px 1fr 38px;gap:10px;align-items:center}.executive-donut-list article>div{height:12px;border-radius:999px;background:#e8edf5;overflow:hidden}.executive-donut-list i{display:block;height:100%;background:linear-gradient(90deg,#14b8a6,#2563eb);border-radius:inherit}
.executive-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.executive-game-grid article{display:grid;grid-template-columns:54px 1fr;gap:13px;padding:15px;border:1px solid #e2e8f0;border-radius:16px;background:#fafcff}.executive-game-grid article>span{font-size:38px}.executive-game-grid h3{margin:0}.executive-game-grid p{margin:2px 0 10px;color:#64748b}.executive-game-grid small{display:block;margin-top:7px;color:#475569}
.executive-report-list,.executive-project-grid{display:grid;gap:13px}.executive-report-list article,.executive-project-grid article{padding:16px;border:1px solid #e2e8f0;border-radius:16px}.executive-report-main{display:flex;justify-content:space-between;align-items:start;gap:12px}.executive-report-main strong,.executive-report-main small{display:block}.executive-report-main small{color:#64748b}.executive-review-form{display:grid;grid-template-columns:160px 1fr auto;gap:9px;margin-top:13px}.executive-project-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.executive-project-meta span{padding:5px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.8rem;font-weight:800}
.executive-quality-overview{display:grid;gap:11px}.executive-quality-overview article{display:grid;grid-template-columns:minmax(160px,1.3fr) 1fr 45px;gap:10px;align-items:center}.executive-quality-overview strong,.executive-quality-overview small{display:block}.executive-quality-overview small{color:#64748b}
.executive-days{min-width:160px}.executive-traffic-chart{height:250px;display:flex;gap:5px;align-items:end;padding:16px 5px 0;border-bottom:1px solid #cbd5e1;overflow-x:auto}.executive-traffic-chart article{height:100%;min-width:28px;display:grid;grid-template-rows:1fr auto;gap:5px;text-align:center}.executive-traffic-chart article>div{height:100%;display:flex;gap:2px;align-items:end;justify-content:center}.executive-traffic-chart i,.executive-traffic-chart b{display:block;width:9px;border-radius:5px 5px 0 0}.executive-traffic-chart i{background:#2563eb}.executive-traffic-chart b{background:#f59e0b}.executive-traffic-chart small{font-size:.65rem;color:#64748b;transform:rotate(-45deg);transform-origin:center;white-space:nowrap}.executive-draft-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.executive-draft-grid article{padding:14px;border-radius:14px;background:#fff7ed;display:flex;justify-content:space-between}.executive-draft-grid strong{color:#9a3412;font-size:1.4rem}.executive-page-list{display:grid;gap:8px}.executive-page-list article{display:flex;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid #eef2f7}.executive-page-list code{word-break:break-all;color:#1e40af}
.executive-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.executive-report-grid article{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:19px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.045)}.executive-report-grid article>span{font-size:39px}.executive-report-grid h2{margin:0}.executive-report-grid p{color:#64748b;margin:.25rem 0 .8rem}
.status-badge.status-info{background:#dbeafe;color:#1d4ed8}.status-badge.status-warning{background:#fef3c7;color:#92400e}.status-badge.status-success{background:#dcfce7;color:#166534}.status-badge.status-danger{background:#fee2e2;color:#b91c1c}
@media(max-width:1180px){.executive-shell{grid-template-columns:235px minmax(0,1fr)}.executive-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-filter{grid-template-columns:repeat(2,1fr) auto}.executive-game-grid{grid-template-columns:1fr}}
@media(max-width:900px){.executive-shell{display:block}.executive-sidebar{position:relative;height:auto;border-right:0}.executive-menu{display:flex;overflow-x:auto;padding:7px}.executive-menu a{white-space:nowrap;flex:0 0 auto}.executive-content{padding:18px}.executive-dashboard-grid,.executive-report-grid{grid-template-columns:1fr}.executive-filter{grid-template-columns:repeat(2,1fr)}.executive-filter .btn{grid-column:1/-1}.executive-summary-ring{grid-template-columns:150px 1fr}}
@media(max-width:620px){.executive-content{padding:12px}.executive-hero,.executive-page-heading,.executive-panel-heading{align-items:flex-start;flex-direction:column}.executive-hero-date{width:100%}.executive-kpi-grid,.executive-kpi-grid.compact,.executive-filter,.executive-report-grid{grid-template-columns:1fr}.executive-filter .btn{grid-column:auto}.executive-panel{padding:15px}.executive-summary-ring{grid-template-columns:1fr}.executive-summary-ring>div{width:160px;margin:auto}.executive-timeline article{grid-template-columns:1fr}.executive-quality-list article,.executive-risk-list article,.executive-quality-overview article,.executive-review-form{grid-template-columns:1fr}.executive-subject-bars article{grid-template-columns:1fr 45px}.executive-subject-bars article>div:nth-child(2){grid-column:1}.executive-game-grid article{grid-template-columns:42px 1fr}.executive-report-grid article{grid-template-columns:1fr}.executive-traffic-chart{height:200px}.executive-attendance-bars>div{grid-template-columns:75px 1fr 34px}}
.executive-inline-form{display:grid;gap:6px;min-width:170px}.executive-inline-form .form-control,.executive-inline-form .form-select{padding:7px 8px;font-size:.82rem}.executive-project-meta a{padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.8rem;font-weight:800}

/* ศูนย์รวมเกมการศึกษา รุ่น 11 */
.game-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.game-admin-card{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:start}.game-admin-card>img{width:92px;height:92px;border-radius:20px;object-fit:cover}.game-admin-icon{width:92px;height:92px;border-radius:20px;display:grid;place-items:center;font-size:3.4rem;background:linear-gradient(145deg,#dbeafe,#fce7f3)}.game-mini-stats,.game-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.game-mini-stats span,.game-tags span{background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:5px 9px;font-size:.8rem}.filter-bar,.game-filter-panel{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto;gap:10px;align-items:end}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0}.analysis-item{display:block;padding:13px 0;border-bottom:1px solid #e5e7eb}.analysis-item strong,.analysis-item small,.analysis-item p{display:block;margin:0}.analysis-item p{color:#64748b;margin-top:4px}.game-level-card{background:linear-gradient(135deg,#1d4ed8,#db2777);color:#fff;border-radius:22px;padding:18px 22px;margin-bottom:20px;box-shadow:0 14px 35px #1d4ed82b}.game-level-card>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.game-level-card .progress-track{background:#ffffff35}.game-level-card .progress-track i{background:#fff}.game-catalog-grid{margin-top:18px}.game-card-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin-bottom:12px}.game-my-result{display:flex;justify-content:space-between;gap:8px;background:#f8fafc;border-radius:13px;padding:9px 11px;margin:10px 0;font-size:.86rem}.assignment-card{border:2px solid #f59e0b}.badge-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.badge-showcase article{padding:14px;border:1px solid #e2e8f0;border-radius:16px;text-align:center;background:#fff}.badge-showcase article span{display:block;font-size:2.2rem}.badge-showcase article strong,.badge-showcase article small{display:block}.student-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:7px;padding:12px 0}.teacher-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.teacher-filter>*{min-width:190px}.game-parent-summary>div:first-child{display:flex;gap:15px;align-items:center}.game-parent-summary>div:first-child>span{font-size:3rem}.game-launch-shell{min-height:100vh;background:#0f172a;display:flex;flex-direction:column}.game-launch-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:#fff;border-bottom:1px solid #e2e8f0;position:relative;z-index:2}.game-launch-bar>a{font-weight:800}.game-launch-bar>div:nth-child(2){display:flex;flex-direction:column;text-align:center}.game-launch-bar small{color:#64748b}.game-launch-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.game-launch-meta span{background:#eff6ff;border-radius:999px;padding:6px 9px;font-size:.8rem;font-weight:800}.game-frame{width:100%;border:0;flex:1;min-height:calc(100vh - 70px);background:#fff}.game-timer{position:fixed;top:78px;right:18px;z-index:20;background:#dc2626;color:#fff;border-radius:999px;padding:9px 14px;font-weight:900;box-shadow:0 7px 20px #0003}.parent-badges{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.filter-bar,.game-filter-panel{grid-template-columns:1fr 1fr}.game-launch-bar{align-items:flex-start;flex-wrap:wrap}.game-launch-bar>div:nth-child(2){text-align:left}.game-launch-meta{width:100%;justify-content:flex-start}.game-frame{min-height:calc(100vh - 130px)}}
@media(max-width:600px){.game-admin-card{grid-template-columns:68px 1fr}.game-admin-card>img,.game-admin-icon{width:68px;height:68px}.game-admin-icon{font-size:2.5rem}.filter-bar,.game-filter-panel{grid-template-columns:1fr}.game-launch-bar{padding:9px 11px}.game-launch-bar>div:nth-child(2){order:-1;width:100%}.game-launch-meta{font-size:.78rem}.game-frame{min-height:calc(100vh - 165px)}}


/* ระบบการแข่งขันในห้องเรียน รุ่น 12 */
.btn-success{background:#16a34a;color:#fff}.btn-warning{background:#f59e0b;color:#422006}.btn-xl{padding:15px 24px;font-size:1.08rem;border-radius:15px}
.competition-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.competition-create-form label{display:grid;gap:5px;font-weight:800}.competition-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px;margin:10px 0}.competition-check input{width:20px;height:20px}
.competition-guide{background:linear-gradient(145deg,#eff6ff,#fdf2f8)}.competition-feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.competition-feature-list span{background:#fff;border:1px solid #dbeafe;padding:12px;border-radius:14px;font-weight:800}
.competition-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:15px}.competition-room-card{border:1px solid #e2e8f0;border-top:6px solid #94a3b8;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.competition-room-card.status-live{border-top-color:#ef4444}.competition-room-card.status-paused{border-top-color:#f59e0b}.competition-room-card.status-scheduled{border-top-color:#3b82f6}.competition-room-card.status-closed{border-top-color:#16a34a}.competition-room-card h3{margin:10px 0 3px}.competition-room-card p{margin:0;color:#64748b}.competition-room-top{display:flex;justify-content:space-between;align-items:center}.competition-game-icon{font-size:2.2rem}.competition-code-mini{display:flex;align-items:center;justify-content:space-between;background:#0f172a;color:#fff;border-radius:13px;padding:8px 12px;margin:13px 0}.competition-code-mini small{opacity:.75}.competition-code-mini strong{font-size:1.45rem;letter-spacing:.14em}.competition-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.competition-meta span{background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:.79rem;font-weight:800}.competition-card-actions{display:flex;gap:7px;flex-wrap:wrap}.competition-card-actions .btn{flex:1}.competition-winner-mini{background:#fffbeb!important;color:#92400e!important;padding:9px;border-radius:12px;margin-bottom:10px!important;font-weight:800}
.competition-control-hero{display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(220px,.7fr);gap:22px;align-items:center;border-radius:24px;padding:24px;margin-bottom:20px;background:linear-gradient(135deg,#dbeafe,#fce7f3);border:1px solid #c7d2fe}.competition-control-hero.status-live{background:linear-gradient(135deg,#dcfce7,#dbeafe)}.competition-control-hero.status-paused{background:linear-gradient(135deg,#fef3c7,#ffedd5)}.competition-control-hero.status-closed{background:linear-gradient(135deg,#fef9c3,#fce7f3)}.competition-control-hero h2{font-size:1.5rem;margin:.6rem 0}.competition-control-hero h2 strong{font-size:2.4rem;letter-spacing:.16em;color:#1d4ed8}.competition-control-hero p{margin:.2rem 0}.competition-control-hero>a{font-size:.78rem;word-break:break-all}.competition-qr{width:190px;height:190px;padding:5px;background:#fff;border-radius:15px;display:grid;place-items:center;box-shadow:0 8px 25px #0f172a22}.competition-controls{display:grid;gap:9px}.competition-controls form,.competition-controls .btn{width:100%}.status-badge.large{font-size:.95rem;padding:7px 13px}.status-live .status-badge{background:#dcfce7;color:#166534}.status-paused .status-badge{background:#fef3c7;color:#92400e}.status-closed .status-badge{background:#fef9c3;color:#854d0e}
.live-score-grid{display:grid;gap:9px}.live-score-grid article{display:grid;grid-template-columns:42px 40px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.live-score-grid article.is-leading{border-color:#f59e0b;background:#fffbeb}.live-score-grid article>b{font-size:1.2rem;text-align:center}.live-score-grid article>span{font-size:1.6rem}.live-score-grid strong,.live-score-grid small{display:block}.live-score-grid small{color:#64748b}.live-score-grid em{font-style:normal;font-size:1.1rem;font-weight:900;color:#1d4ed8}
.competition-team-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.competition-team-tools form{display:flex;gap:8px}.competition-team-tools input{width:90px}.team-name-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:15px}.team-name-grid label{font-weight:800}.team-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.team-summary-grid article{padding:15px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.team-summary-grid h3{margin:0 0 8px}.team-summary-grid span{display:block;padding:5px 0;border-bottom:1px dashed #cbd5e1}.winner-banner{display:inline-flex;padding:9px 14px;border-radius:999px;background:#fef3c7;color:#92400e}.winner-row{background:#fffbeb}
.competition-join-card{max-width:620px;margin:auto;text-align:center;padding:34px}.competition-join-icon{font-size:5rem}.competition-join-card form{display:grid;gap:15px}.competition-code-input{width:100%;text-align:center;font-size:2.5rem;letter-spacing:.28em;text-transform:uppercase;border:3px solid #93c5fd;border-radius:18px;padding:14px;font-weight:900;color:#1e3a8a}.competition-wait-card{max-width:700px;margin:auto;text-align:center;padding:34px}.competition-status-icon{font-size:5rem;display:block}.competition-wait-card h2{font-size:2rem}.competition-wait-message{margin:20px auto;padding:15px;border-radius:14px;background:#eff6ff;font-weight:800}.pulse-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#ef4444;margin-right:7px;animation:competitionPulse 1.2s infinite}.my-competition-result{display:grid;place-items:center;gap:5px;background:#fff7ed;border:2px solid #fdba74;border-radius:18px;padding:20px;margin:18px auto;max-width:360px}.my-competition-result strong{font-size:4rem;color:#c2410c}.my-competition-result em{font-style:normal;font-weight:900;color:#166534}
.competition-pause-overlay{position:fixed;inset:0;z-index:1000;background:#0f172ae8;color:#fff;display:grid;place-items:center;text-align:center}.competition-pause-overlay[hidden]{display:none}.competition-pause-overlay>div{padding:35px}.competition-pause-overlay span{font-size:6rem}.competition-pause-overlay h2{font-size:2.4rem;margin:.4rem}
.competition-board-body{margin:0;background:radial-gradient(circle at top,#1e3a8a,#020617);color:#fff;min-height:100vh}.competition-board{min-height:100vh;padding:26px;display:flex;flex-direction:column;gap:20px}.competition-board header{display:grid;grid-template-columns:1fr auto 165px;gap:22px;align-items:center}.competition-board h1{font-size:clamp(2rem,4vw,4.2rem);margin:.2rem 0;line-height:1.15}.competition-board header p{font-size:1.25rem;margin:0;color:#bfdbfe}.board-status{display:inline-flex;padding:7px 15px;border-radius:999px;background:#ef4444;font-weight:900}.board-room-code{text-align:center;background:#ffffff18;border:1px solid #ffffff30;border-radius:18px;padding:13px 20px}.board-room-code small,.board-room-code strong{display:block}.board-room-code strong{font-size:2.8rem;letter-spacing:.18em}.board-qr{background:#fff;padding:6px;border-radius:15px;width:162px;height:162px;display:grid;place-items:center}.board-message{text-align:center;font-size:1.5rem;font-weight:900;background:#ffffff12;padding:12px;border-radius:15px}.board-score-grid{display:grid;gap:11px;flex:1;align-content:start}.board-score-grid article{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:20px;background:#ffffff12;border:1px solid #ffffff25;border-radius:20px;padding:15px 24px;backdrop-filter:blur(8px)}.board-score-grid article.leader{background:linear-gradient(90deg,#f59e0b55,#ffffff16);border-color:#fbbf24;transform:scale(1.01)}.board-score-grid .rank{font-size:2.3rem;text-align:center;font-weight:900}.board-score-grid .participant{display:flex;align-items:center;gap:18px}.board-score-grid .participant>span{font-size:2.5rem}.board-score-grid strong{font-size:1.6rem;display:block}.board-score-grid small{display:block;color:#bfdbfe}.board-score-grid em{font-style:normal;font-size:2.3rem;font-weight:900;color:#fde68a;text-align:right}.board-score-grid em small{font-size:.8rem}.competition-board footer{display:flex;justify-content:space-between;color:#93c5fd}
@keyframes competitionPulse{50%{transform:scale(1.5);opacity:.45}}
@media(max-width:950px){.competition-control-hero{grid-template-columns:1fr 190px}.competition-controls{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.competition-board header{grid-template-columns:1fr auto}.board-qr{display:none}.competition-board h1{font-size:2.2rem}}
@media(max-width:700px){.competition-heading{flex-direction:column}.competition-feature-list{grid-template-columns:1fr}.competition-control-hero{grid-template-columns:1fr;text-align:center}.competition-qr{margin:auto}.competition-controls{grid-template-columns:1fr}.competition-team-tools form{width:100%}.competition-team-tools input{flex:1}.competition-code-input{font-size:1.8rem}.competition-board{padding:12px}.competition-board header{grid-template-columns:1fr}.board-room-code{order:-1}.board-score-grid article{grid-template-columns:52px 1fr;padding:12px}.board-score-grid em{grid-column:2;font-size:1.7rem;text-align:left}.board-score-grid strong{font-size:1.15rem}}


/* ===== ระบบบริการออนไลน์ รุ่น 13 ===== */
.service-hero{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:70px 0}
.service-hero h1{font-size:clamp(2.2rem,5vw,4.4rem);margin:.35rem 0}
.service-hero p{font-size:1.15rem;max-width:760px}
.service-security-note{padding:16px 20px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:18px;margin-bottom:24px;font-weight:700;color:#1e3a8a}
.service-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.08);display:flex;flex-direction:column;min-height:210px}
.service-card>span{font-size:2.8rem}.service-card h2{font-size:1.13rem;line-height:1.5;flex:1}.service-card .btn{align-self:flex-start}
.service-process{margin-top:36px;background:#fff;border-radius:28px;padding:30px;box-shadow:0 12px 35px rgba(15,23,42,.07)}
.service-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-process-grid>div{position:relative;padding:18px;background:#f8fafc;border-radius:18px}
.service-process-grid b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;margin-bottom:10px}.service-process-grid strong{display:block}.service-process-grid p{margin:.4rem 0 0;color:#64748b}
.service-form-wrap,.service-track-wrap{max-width:1000px}.service-form-heading,.service-track-search{display:flex;gap:18px;align-items:center;margin-bottom:24px}.service-form-heading>span,.service-track-search>span{font-size:3rem}.service-form-heading h1,.service-track-search h1{margin:0}
.service-form-card,.service-result-card,.service-track-form,.service-created-box{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:26px;box-shadow:0 14px 40px rgba(15,23,42,.08)}
.service-form-card{display:grid;gap:15px}.check-line{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#f8fafc;border-radius:14px}
.service-track-form{display:grid;grid-template-columns:1fr 220px auto;gap:12px;margin-bottom:24px}.service-created-box{margin-bottom:22px;border:2px solid #86efac;background:#f0fdf4}.service-created-box>div{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0}.service-created-box span{display:block;background:#fff;border:1px dashed #22c55e;border-radius:14px;padding:12px 20px}.service-created-box strong{display:block;font-size:1.35rem;margin-top:4px;letter-spacing:.06em}
.service-result-head,.service-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.service-result-head>div,.service-detail-header>div{display:flex;gap:16px;align-items:center}.service-result-head>div>span,.service-detail-header>div>span{font-size:2.8rem}.service-result-head h2,.service-detail-header h1,.service-detail-header h2{margin:.15rem 0}
.service-status{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:.82rem;white-space:nowrap}
.service-status-received{background:#dbeafe;color:#1d4ed8}.service-status-processing{background:#fef3c7;color:#92400e}.service-status-waiting{background:#ffedd5;color:#9a3412}.service-status-completed{background:#dcfce7;color:#166534}.service-status-rejected,.service-status-cancelled{background:#fee2e2;color:#991b1b}
.service-progress{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:20px 0}.service-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--blue2));border-radius:99px}.service-progress-large{height:14px}
.service-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.service-result-grid>div{background:#f8fafc;border-radius:14px;padding:13px}.service-result-grid small,.service-result-grid strong{display:block}.service-result-grid small{color:#64748b;margin-bottom:4px}
.service-public-note{background:#eff6ff;border-left:5px solid var(--blue);padding:16px 18px;border-radius:12px;margin:18px 0}.service-public-note p{margin:.5rem 0 0}
.service-timeline{display:grid;gap:0;padding-left:8px}.service-timeline>div{position:relative;display:grid;grid-template-columns:24px 1fr;gap:10px;padding-bottom:20px}.service-timeline>div:before{content:"";position:absolute;left:7px;top:16px;bottom:-3px;width:2px;background:#cbd5e1}.service-timeline>div:last-child:before{display:none}.service-timeline i{width:16px;height:16px;border-radius:50%;background:var(--blue);border:4px solid #dbeafe;z-index:1}.service-timeline strong,.service-timeline small{display:block}.service-timeline small{color:#64748b}.service-timeline p{margin:.4rem 0 0}
.service-rating-form{margin-top:22px;border-top:1px solid #e5e7eb;padding-top:20px}.service-rating-form textarea{margin-bottom:12px}
.service-member-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.service-member-heading h1{margin:.2rem 0}.service-member-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.4fr);gap:22px}
.service-member-panel{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(15,23,42,.07);margin-bottom:22px}.service-member-panel h2{margin-top:0}
.service-type-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service-type-mini-grid a{display:flex;gap:10px;align-items:center;padding:13px;border:1px solid #e5e7eb;border-radius:15px;text-decoration:none;color:#0f172a}.service-type-mini-grid a.active{border-color:var(--blue);background:#eff6ff}.service-type-mini-grid span{font-size:1.6rem}.service-type-mini-grid strong{font-size:.9rem}
.service-member-form{margin-top:22px;padding-top:20px;border-top:1px solid #e5e7eb;display:grid;gap:13px}.service-panel-head{display:flex;justify-content:space-between;align-items:center}
.service-request-list{display:grid;gap:10px}.service-request-list>a{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;padding:14px;text-decoration:none;color:#0f172a}.service-request-list>a:hover{border-color:var(--blue);transform:translateY(-1px)}.service-request-icon{width:44px;height:44px;border-radius:14px;background:#f1f5f9;display:grid;place-items:center;font-size:1.6rem}.service-request-list strong,.service-request-list small{display:block}.service-request-list small{color:#64748b;margin-top:3px}
.service-empty{padding:30px;text-align:center;color:#64748b;background:#f8fafc;border-radius:16px}.service-detail-grid{align-items:start}.service-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 0 18px}.service-detail-list>div{padding:11px;border-bottom:1px solid #e5e7eb}.service-detail-list dt{font-size:.8rem;color:#64748b}.service-detail-list dd{margin:4px 0 0;font-weight:700}.service-description{background:#f8fafc;border-radius:16px;padding:18px;line-height:1.75;margin:14px 0 20px}.service-file-list{display:grid;gap:8px;margin:12px 0 18px}.service-file-list a{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;background:#f8fafc;border-radius:12px;text-decoration:none}.service-additional form{display:grid;gap:10px}.service-additional form+form{margin-top:10px}.service-rating-summary{background:#fffbeb;border:1px solid #fde68a;border-radius:15px;padding:15px;margin-top:18px}
.admin-service-detail{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:20px;margin:18px 0}.service-admin-stats a{text-decoration:none}.admin-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 220px auto auto;gap:10px;margin-bottom:18px}.admin-card table small,.admin-card td small{display:block;color:#64748b;margin-top:4px}
@media(max-width:1000px){.service-card-grid{grid-template-columns:repeat(3,1fr)}.service-result-grid,.service-process-grid{grid-template-columns:repeat(2,1fr)}.service-member-layout{grid-template-columns:1fr}.admin-filter-bar{grid-template-columns:1fr 1fr}.admin-filter-bar .form-control{grid-column:1/-1}}
@media(max-width:700px){.service-card-grid{grid-template-columns:repeat(2,1fr)}.service-track-form{grid-template-columns:1fr}.service-result-head,.service-detail-header,.service-member-heading{flex-direction:column;align-items:flex-start}.service-result-grid,.service-detail-list{grid-template-columns:1fr}.service-type-mini-grid{grid-template-columns:1fr}.service-request-list>a{grid-template-columns:44px 1fr}.service-request-list>a .service-status{grid-column:2}.service-process-grid{grid-template-columns:1fr}.admin-filter-bar{grid-template-columns:1fr}}
@media(max-width:440px){.service-card-grid{grid-template-columns:1fr}.service-form-card,.service-result-card,.service-member-panel{padding:18px}}


/* ระบบสื่อสารและแจ้งเตือน รุ่น 14 */
.header-notification-link{position:relative;font-size:1.08rem}.header-notification-link b{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#ef4444;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85)}
.student-menu a b,.parent-menu a b,.teacher-menu a b,.executive-menu a b,.admin-sidebar a b{margin-left:auto;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;display:inline-grid;place-items:center;font-size:.72rem}
.notification-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;margin-bottom:22px;border-radius:28px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2));box-shadow:0 18px 45px rgba(37,99,235,.18)}.notification-hero h1{margin:9px 0 5px;font-size:clamp(1.7rem,4vw,2.5rem)}.notification-hero p{margin:0;opacity:.9}.notification-hero-count{min-width:145px;padding:17px 22px;border-radius:22px;background:rgba(255,255,255,.18);text-align:center;backdrop-filter:blur(8px)}.notification-hero-count strong{display:block;font-size:2.5rem;line-height:1}.notification-hero-count span{font-size:.9rem}
.notification-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.notification-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.notification-filter-chips a{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;border:1px solid #dbe4f1;border-radius:999px;background:#fff;color:#334155;font-size:.88rem}.notification-filter-chips a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.notification-filter-chips b{background:#ef4444;color:#fff;border-radius:99px;padding:1px 6px;font-size:.7rem}
.notification-list-panel,.notification-settings-card{background:#fff;border:1px solid #e5eaf2;border-radius:24px;box-shadow:0 12px 35px rgba(15,23,42,.06);overflow:hidden;margin-bottom:24px}.notification-item{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;padding:20px 22px;border-bottom:1px solid #edf1f7;position:relative}.notification-item:last-child{border-bottom:0}.notification-item.is-unread{background:linear-gradient(90deg,#eff6ff,#fff)}.notification-item.is-unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.notification-item.priority-urgent:before{background:#dc2626}.notification-item.priority-high:before{background:#f59e0b}.notification-item-icon{width:52px;height:52px;border-radius:17px;background:#eef5ff;display:grid;place-items:center;font-size:1.55rem}.notification-item-copy h3{margin:4px 0 5px;font-size:1.05rem}.notification-item-copy p{margin:0 0 6px;color:#526174;line-height:1.55}.notification-item-copy small{color:#8492a6}.notification-type-label{font-size:.75rem;font-weight:700;color:var(--blue)}.new-dot{display:inline-block;margin-left:7px;padding:2px 7px;background:#ef4444;color:#fff;border-radius:99px;font-size:.65rem}.notification-item-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.notification-empty{text-align:center;padding:60px 20px}.notification-empty span{font-size:3.5rem}.notification-empty h2{margin:12px 0 4px}.notification-empty p{color:#64748b}
.notification-settings-card{padding:25px}.notification-channel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.channel-choice{position:relative;padding:17px;border:1px solid #dce5f1;border-radius:18px;background:#f8fafc;cursor:pointer}.channel-choice input{position:absolute;right:12px;top:12px}.channel-choice>span{display:block;font-size:1.65rem}.channel-choice strong,.channel-choice small{display:block}.channel-choice small{color:#64748b;margin-top:4px;line-height:1.4}.channel-choice:has(input:checked){border-color:var(--blue);background:#eff6ff}.channel-choice.is-future{opacity:.7;cursor:not-allowed}.notification-settings-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.notification-settings-form label>input,.notification-settings-form label>select,.notification-settings-form label>textarea{width:100%;margin-top:6px}.time-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:6px}.notification-categories{border:1px solid #dce5f1;border-radius:18px;margin:18px 0;padding:15px}.notification-categories legend{padding:0 8px;font-weight:800}.notification-categories>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.notification-categories label{display:flex;align-items:center;gap:7px;padding:9px;border-radius:10px;background:#f8fafc}
.notification-admin-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin:18px 0 24px}.notification-admin-kpis article{display:flex;gap:13px;align-items:center;padding:18px;border:1px solid #e3e9f2;border-radius:19px;background:#fff}.notification-admin-kpis article>span{font-size:1.7rem}.notification-admin-kpis strong,.notification-admin-kpis small{display:block}.notification-admin-kpis strong{font-size:1.55rem}.notification-admin-kpis small{color:#64748b}.notification-admin-grid{align-items:start}.switch-row{display:flex!important;gap:12px;align-items:flex-start;padding:13px;border:1px solid #dce5f1;border-radius:15px;background:#f8fafc}.switch-row input{width:auto!important;margin-top:3px!important}.switch-row strong,.switch-row small{display:block}.switch-row small{color:#64748b}.code-copy-box{padding:13px;border-radius:13px;background:#0f172a;color:#e2e8f0;overflow:auto;word-break:break-all}.type-stat-list{display:grid;gap:8px;margin:12px 0 20px}.type-stat-list div{display:flex;justify-content:space-between;padding:9px 12px;background:#f8fafc;border-radius:10px}.status-pill{display:inline-block;padding:4px 9px;border-radius:99px;font-size:.75rem;font-weight:800}.status-pending{background:#fff7ed;color:#c2410c}.status-sent{background:#ecfdf5;color:#047857}.status-failed{background:#fef2f2;color:#b91c1c}.status-skipped{background:#f1f5f9;color:#475569}
@media(max-width:1050px){.notification-channel-grid{grid-template-columns:repeat(2,1fr)}.notification-admin-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.notification-hero{align-items:flex-start;padding:22px;flex-direction:column}.notification-hero-count{min-width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.notification-hero-count strong{font-size:2rem}.notification-toolbar{flex-direction:column}.notification-item{grid-template-columns:48px 1fr;padding:16px}.notification-item-icon{width:45px;height:45px}.notification-item-actions{grid-column:1/-1;justify-content:flex-start}.notification-channel-grid,.notification-settings-form .form-grid,.notification-categories>div,.notification-admin-kpis{grid-template-columns:1fr}.notification-settings-card{padding:18px}}

.line-link-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;margin:16px 0;border:1px solid #bbf7d0;border-radius:17px;background:#f0fdf4}.line-link-panel>div:first-child{display:flex;align-items:center;gap:12px}.line-link-panel>div:first-child>span{font-size:1.8rem}.line-link-panel strong,.line-link-panel small{display:block}.line-link-panel small{color:#4b6354;margin-top:3px}.line-webhook-box{display:grid;gap:6px;padding:13px;border-radius:14px;background:#f0fdf4;border:1px solid #bbf7d0}.line-webhook-box code{word-break:break-all;color:#166534}.line-webhook-box small{color:#4b6354}@media(max-width:700px){.line-link-panel{align-items:flex-start;flex-direction:column}}

/* รุ่น 24: ธีมสีสันสดใสสำหรับเด็ก */
body{background-color:var(--bg);background-image:var(--site-bg-image);background-size:760px auto;background-attachment:fixed}
.site-header{border-bottom:4px solid var(--gold)}
.brand-mark{border-color:#fff3a6;box-shadow:0 6px 16px rgba(34,184,176,.25)}
.main-nav a{border-radius:999px}.main-nav a.active,.main-nav a:hover{background:#e9fffb;color:#087f79}
.hero{position:relative;overflow:hidden;background:linear-gradient(100deg,rgba(14,128,137,.90),rgba(255,111,145,.74)),url('../img/school-hero.svg') center/cover;color:#fff;padding:84px 0}
.hero:after{content:"";position:absolute;inset:auto -5% -44px;height:88px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.96}
.hero-grid{position:relative;z-index:1}.hero h1{text-shadow:0 4px 16px rgba(0,74,84,.28)}
.hero-card{background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(20,90,98,.22)}
.quick-list a{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.32)}
.btn{border-radius:999px;box-shadow:0 7px 16px rgba(35,72,85,.12)}.btn-gold{background:var(--gold);color:#493c00}.btn-light{color:#087f79}
.section-heading h2{color:#18586a}.card,.content-box,.admin-card,.feature-card,.quick-grid a,.stat-card{border:2px solid rgba(34,184,176,.13);box-shadow:0 12px 28px rgba(45,110,120,.09)}
.card:hover,.quick-grid a:hover{transform:translateY(-4px);transition:.2s;box-shadow:0 18px 34px rgba(45,110,120,.15);text-decoration:none}
.badge{background:#e7fbf8;color:#087f79;border:1px solid #b9eee7}.stat-card:nth-child(2n){border-bottom-color:#FF6F91}.stat-card:nth-child(3n){border-bottom-color:#8C6FE8}
.page-hero,.dashboard-welcome,.admin-topbar{background:linear-gradient(110deg,var(--blue),var(--blue2),#8C6FE8)}
.site-footer{background:linear-gradient(125deg,#087f79,#7b5dd6,#d84f78)}
input:focus,select:focus,textarea:focus{outline-color:#b9eee7!important}
@media(max-width:700px){.hero{padding:62px 0}.hero:after{height:56px}.hero-card{border-radius:18px}}


/* =========================================================
   รุ่น 25: ภาพหน้าปกโรงเรียน–วัด และธีมพาสเทลเชิงวิชาการ
   ========================================================= */
:root{--blue:#1D4ED8;--blue2:#DB2777;--gold:#FBBF24;--bg:#F5F7FF;--ink:#17213a;--muted:#667085;--border:#dce3f1;--shadow:0 12px 30px rgba(29,78,216,.09);--public-page-title-size:2rem}
body{background-color:var(--bg);background-image:var(--site-bg-image),linear-gradient(180deg,rgba(255,255,255,.76),color-mix(in srgb,var(--bg) 94%,#fff));background-size:960px auto,auto;background-attachment:fixed,fixed}
.site-public .topbar{background:linear-gradient(100deg,color-mix(in srgb,var(--blue) 92%,#111827),color-mix(in srgb,var(--blue2) 88%,#111827));border-bottom:2px solid color-mix(in srgb,var(--gold) 82%,#fff)}
.site-public .site-header{background:color-mix(in srgb,#fff 96%,var(--bg));border-bottom:3px solid color-mix(in srgb,var(--gold) 82%,#fff);box-shadow:0 5px 20px color-mix(in srgb,var(--blue) 10%,transparent)}
.site-public .brand-mark{border-color:color-mix(in srgb,var(--gold) 75%,#fff);box-shadow:0 5px 14px color-mix(in srgb,var(--blue) 20%,transparent)}
.site-public .main-nav a{border-radius:10px;color:#27324a}
.site-public .main-nav a.active,.site-public .main-nav a:hover{background:color-mix(in srgb,var(--blue) 10%,#fff);color:color-mix(in srgb,var(--blue) 88%,#111827);box-shadow:inset 0 -2px 0 var(--gold)}
.site-public .btn{border-radius:10px;box-shadow:0 5px 13px color-mix(in srgb,var(--blue) 13%,transparent)}
.site-public .card,.site-public .content-box,.site-public .feature-card,.site-public .quick-grid a,.site-public .stat-card{border:1px solid color-mix(in srgb,var(--blue) 14%,#e4e8f1);border-radius:14px;box-shadow:0 10px 25px color-mix(in srgb,var(--blue) 7%,transparent)}
.site-public .card:hover,.site-public .quick-grid a:hover{transform:translateY(-2px);box-shadow:0 14px 29px color-mix(in srgb,var(--blue) 12%,transparent)}
.site-public .section-heading h2,.site-public .section-head h2{color:color-mix(in srgb,var(--blue) 82%,#17213a);letter-spacing:.005em}
.site-public .section-tint,.site-public .section-soft{background:color-mix(in srgb,var(--bg) 76%,#fff);border-block:1px solid color-mix(in srgb,var(--blue) 9%,transparent)}
.site-public .badge{background:color-mix(in srgb,var(--blue) 9%,#fff);color:color-mix(in srgb,var(--blue) 86%,#17213a);border-color:color-mix(in srgb,var(--blue) 22%,#fff)}
.site-public .page-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,color-mix(in srgb,var(--blue) 92%,#111827),color-mix(in srgb,var(--blue2) 88%,#111827));border-bottom:4px solid color-mix(in srgb,var(--gold) 88%,#fff);padding:42px 0}
.site-public .page-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(30deg,rgba(255,255,255,.035) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.035) 87.5%),linear-gradient(150deg,rgba(255,255,255,.03) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.03) 87.5%);background-size:44px 76px;pointer-events:none}
.site-public .page-hero>.container{position:relative;z-index:1}
/* ใช้ขนาดหัวข้อหน้า “บุคลากร” เป็นมาตรฐานเดียวกันทุกหน้าสาธารณะ */
.site-public .page-hero h1,.site-public .public-docs-hero h1,.site-public .service-hero h1{font-size:var(--public-page-title-size)!important;line-height:1.3!important;margin:.3rem 0 .45rem!important;letter-spacing:0!important}
.site-public .public-docs-hero,.site-public .service-hero{padding:42px 0}
.site-public .public-docs-hero p,.site-public .service-hero p,.site-public .page-hero p{font-size:1.05rem;max-width:780px;margin:.35rem 0 0}
.site-public .service-hero .hero-actions{margin-top:20px}
.site-public .service-card,.site-public .service-process{border-radius:15px;border:1px solid color-mix(in srgb,var(--blue) 13%,#e4e8f1);box-shadow:0 10px 25px color-mix(in srgb,var(--blue) 7%,transparent)}
.site-public .service-process-grid>div{background:color-mix(in srgb,var(--bg) 68%,#fff);border:1px solid color-mix(in srgb,var(--blue) 10%,#e7eaf1);border-radius:12px}
.site-public .document-category-card{border-radius:12px;box-shadow:0 5px 15px color-mix(in srgb,var(--blue) 6%,transparent)}
.hero{background:linear-gradient(92deg,color-mix(in srgb,var(--blue) 72%,transparent),color-mix(in srgb,var(--blue2) 26%,transparent) 62%,rgba(255,255,255,.02)),url('../img/school-hero-premium-pastel.webp') center/cover;color:#fff;padding:84px 0}
.hero:after{display:none}
.hero-card{border-radius:16px;background:color-mix(in srgb,var(--blue) 44%,transparent);border:1px solid rgba(255,255,255,.60);box-shadow:0 14px 35px color-mix(in srgb,var(--blue) 24%,transparent)}
.quick-list a{border-radius:9px;background:rgba(255,255,255,.18)}
.home-slider{background:color-mix(in srgb,var(--bg) 78%,var(--blue))}
.slides-stage{height:clamp(420px,49vw,620px)}
.slide{background-position:center center}
.slide-content{padding-top:54px;padding-bottom:72px}
.slide-copy{max-width:720px;padding:28px 32px;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--blue) 76%,transparent),color-mix(in srgb,var(--blue2) 42%,transparent));border:1px solid rgba(255,255,255,.56);box-shadow:0 18px 42px color-mix(in srgb,var(--blue) 24%,transparent);backdrop-filter:blur(5px)}
.slide-content h1{font-size:clamp(2rem,4.5vw,3.65rem);line-height:1.18;text-shadow:0 2px 13px rgba(18,42,49,.34)}
.slide-content p{text-shadow:0 2px 9px rgba(18,42,49,.34)}
.stats{margin-top:-28px}
.stat-card{border-bottom-width:3px}
.site-footer{background:linear-gradient(125deg,color-mix(in srgb,var(--blue) 82%,#111827),color-mix(in srgb,var(--blue2) 78%,#111827));border-top:5px solid var(--gold);color:#f8fafc}.site-footer .footer-bottom{border-top-color:color-mix(in srgb,var(--gold) 42%,transparent)}
.admin-body{background:color-mix(in srgb,var(--bg) 86%,#eef2f7)}
.admin-topbar{background:linear-gradient(100deg,color-mix(in srgb,var(--blue) 92%,#111827),color-mix(in srgb,var(--blue2) 88%,#111827));border-bottom:3px solid var(--gold)}
.admin-sidebar a{border-radius:8px}
.admin-sidebar a.active,.admin-sidebar a:hover{background:color-mix(in srgb,var(--blue) 10%,#fff);color:color-mix(in srgb,var(--blue) 88%,#17213a);box-shadow:inset 3px 0 0 var(--gold)}
.admin-card,.kpi,.table-wrap{border-radius:12px;box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 7%,transparent)}
@media(max-width:700px){:root{--public-page-title-size:1.75rem}.site-public .page-hero,.site-public .public-docs-hero,.site-public .service-hero{padding:34px 0}.site-public .page-hero p,.site-public .public-docs-hero p,.site-public .service-hero p{font-size:.98rem}.slide-content{padding-left:18px;padding-right:18px}.slide-copy{padding:22px 20px;border-radius:14px}.slides-stage{height:460px}.hero{padding:62px 0;background-position:center}.stats{margin-top:0}}

/* รุ่น 26: แกลเลอรีชุดสีสำเร็จรูป */
.theme-help{margin:0 0 12px}.theme-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.theme-preset-card{appearance:none;width:100%;text-align:left;border:1px solid var(--border);border-radius:14px;background:#fff;padding:13px;cursor:pointer;box-shadow:0 4px 14px #0000000a;transition:border-color .2s,box-shadow .2s,transform .2s}.theme-preset-card:hover,.theme-preset-card:focus-visible{border-color:var(--blue);box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 18%,transparent);transform:translateY(-1px);outline:none}.theme-preset-card.is-active{border:2px solid var(--blue);padding:12px;background:color-mix(in srgb,var(--blue) 5%,#fff)}.theme-preset-copy{display:block}.theme-preset-copy strong{display:block;color:#24343c;font-size:.98rem;line-height:1.35}.theme-preset-copy small{display:block;color:var(--muted);margin-top:3px;min-height:1.35em}.theme-swatch-row{display:grid;grid-template-columns:repeat(4,1fr);height:34px;border-radius:9px;overflow:hidden;margin:10px 0 7px;border:1px solid #00000010}.theme-swatch-row i{display:block;background:var(--swatch)}.theme-hex-row{display:block;font:600 .72rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;color:#66747c;overflow-wrap:anywhere}@media(max-width:1100px){.theme-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.theme-preset-grid{grid-template-columns:1fr}.theme-preset-copy small{min-height:0}}

/* เนื้อหาแบบแทรกรูปและจัดรูปแบบ รุ่น 28 */
.content-body,.news-content-text,.news-print-content{overflow-wrap:anywhere}
.content-body:after,.news-content-text:after,.news-print-content:after{content:"";display:block;clear:both}
.content-body p,.news-content-text p,.news-print-content p{margin:.75em 0}
.content-body h2,.news-content-text h2,.news-print-content h2{margin:1.45em 0 .55em;color:var(--blue);font-size:1.65rem;line-height:1.35}
.content-body h3,.news-content-text h3,.news-print-content h3{margin:1.25em 0 .5em;color:var(--blue2);font-size:1.35rem;line-height:1.4}
.content-body h4,.news-content-text h4,.news-print-content h4{margin:1.1em 0 .45em;font-size:1.15rem}
.content-body blockquote,.news-content-text blockquote,.news-print-content blockquote{margin:1.2rem 0;padding:14px 18px;border-left:5px solid var(--gold);background:#fff9e8;border-radius:8px}
.content-body table,.news-content-text table,.news-print-content table{width:100%;border-collapse:collapse;margin:1.25rem 0;display:block;overflow-x:auto}
.content-body th,.content-body td,.news-content-text th,.news-content-text td,.news-print-content th,.news-print-content td{border:1px solid #d9e0e8;padding:10px 12px}
.content-body th,.news-content-text th,.news-print-content th{background:#f5f7fb}
.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}.text-align-justify{text-align:justify}
.text-size-small{font-size:.88em}.text-size-normal{font-size:1em}.text-size-large{font-size:1.25em}.text-size-xlarge{font-size:1.55em;line-height:1.45}
.content-image{display:block;clear:both;margin:1.4rem auto;max-width:100%}
.content-image.image-align-left{margin-left:0;margin-right:auto}
.content-image.image-align-center{margin-left:auto;margin-right:auto}
.content-image.image-align-right{margin-left:auto;margin-right:0}
.content-image.image-size-25{width:25%}.content-image.image-size-50{width:50%}.content-image.image-size-75{width:75%}.content-image.image-size-100{width:100%}
.content-image .rich-content-image,.content-image>img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(17,24,39,.10)}
.content-image figcaption{text-align:center;color:var(--muted);font-size:.9rem;margin-top:8px;line-height:1.5}
@media(max-width:680px){.content-image.image-size-25{width:50%}.content-image.image-size-50,.content-image.image-size-75,.content-image.image-size-100{width:100%}.text-size-xlarge{font-size:1.35em}}

/* ระบบโหวตและข้อสอบเรียลไทม์ รุ่น 29 */
.interactive-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,white),color-mix(in srgb,var(--blue2) 10%,white));border-bottom:1px solid color-mix(in srgb,var(--blue) 18%,transparent)}
.interactive-hub-grid,.interactive-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.interactive-hub-card,.interactive-public-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:260px}
.interactive-hub-card .btn,.interactive-public-card .btn{margin-top:auto}
.interactive-hub-icon{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--blue),var(--blue2));font-size:36px;box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 22%,transparent)}
.interactive-card-top,.interactive-meta,.interactive-share-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;flex-wrap:wrap}
.interactive-meta{font-size:.94rem;color:#526070;justify-content:flex-start}
.interactive-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:start}
.poll-vote-form{display:grid;gap:18px}.poll-choice-list{display:grid;gap:12px}.poll-choice{display:flex;align-items:center;gap:14px;padding:16px 18px;border:2px solid #dce4ee;border-radius:16px;background:#fff;cursor:pointer;font-weight:700;transition:.18s}.poll-choice:hover{border-color:var(--blue);transform:translateY(-1px)}.poll-choice input{width:22px;height:22px;accent-color:var(--blue)}
.interactive-results{display:grid;gap:18px}.interactive-result-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.interactive-result-row span{color:#64748b;font-size:.92rem}.interactive-result-bar{height:14px;background:#e8edf4;border-radius:999px;overflow:hidden}.interactive-result-bar i{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,var(--blue),var(--blue2));border-radius:inherit;transition:width .35s ease}
.interactive-option-editor{display:grid;gap:10px;margin:14px 0 22px}.interactive-option-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.interactive-option-row:not(.live-option-row){grid-template-columns:minmax(0,1fr) auto}.correct-radio{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d7dee8;border-radius:12px;background:#fff}.correct-radio input{width:20px;height:20px;accent-color:var(--blue)}
.join-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--blue);font-size:1.08em}.join-code-input{text-transform:uppercase;letter-spacing:.22em;font-size:1.35rem;font-weight:800;text-align:center}.live-code-form{max-width:760px;margin:0 auto 32px}.live-code-form>div{display:grid;grid-template-columns:1fr auto;gap:12px}.live-code-form label{display:block;font-weight:800;margin-bottom:8px}
.live-control-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px}.live-control-buttons{display:flex;flex-wrap:wrap;gap:10px}.live-control-buttons form{margin:0}.live-status-summary{display:flex;justify-content:space-between;gap:12px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--blue) 8%,white);margin-bottom:16px}.live-status-summary span{color:#586678}.live-metric-grid,.live-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.live-metric-grid>div,.live-summary-grid>div{padding:16px;border:1px solid #dfe6ef;border-radius:14px;text-align:center;background:#fff}.live-metric-grid strong,.live-summary-grid strong{display:block;font-size:1.8rem;color:var(--blue)}.live-metric-grid span,.live-summary-grid span{display:block;color:#64748b;font-size:.88rem}.participant-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.participant-list span{padding:6px 10px;border-radius:999px;background:#eef3f9;font-size:.86rem}
.live-question-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-question-picker form{margin:0}.live-question-button{width:100%;height:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;padding:16px;border:2px solid #dfe6ef;border-radius:15px;background:#fff;cursor:pointer}.live-question-button:hover,.live-question-button.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,white)}.live-question-button b{display:grid;place-items:center;width:52px;height:42px;border-radius:11px;background:var(--blue);color:#fff}.live-question-button small{color:#64748b}.current-question-text{font-size:1.25rem;font-weight:800;padding:16px;border-left:5px solid var(--gold);background:#fffaf0;border-radius:0 12px 12px 0;margin-bottom:22px}
.live-quiz-student-wrap{max-width:980px}.live-join-card{max-width:620px;margin:0 auto;text-align:center;display:grid;gap:18px;justify-items:center}.live-join-card label{width:100%;text-align:left;font-weight:800}.live-student-head{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.live-student-head>div{padding:14px 16px;border:1px solid #dfe6ef;border-radius:15px;background:#fff}.live-student-head span{display:block;color:#64748b;font-size:.82rem}.live-student-head strong{display:block;margin-top:3px}.live-quiz-stage{min-height:440px}.live-waiting,.live-finished{min-height:370px;display:grid;place-content:center;text-align:center;justify-items:center;gap:10px}.live-waiting>span,.live-finished>span{font-size:64px}.live-question-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#64748b;font-weight:800}.live-timer{padding:9px 14px;border-radius:999px;background:#fff3cd;color:#7a5600}.live-timer b{font-size:1.35rem}.live-question-text{font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.45;margin:26px 0}.live-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.live-answer-choice{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:14px;text-align:left;padding:16px;border:2px solid #dfe6ef;border-radius:16px;background:#fff;font:inherit;font-weight:750;cursor:pointer;min-height:84px}.live-answer-choice:hover:not(:disabled){border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,35,65,.09)}.live-answer-choice b{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:color-mix(in srgb,var(--blue) 12%,white);color:var(--blue);font-size:1.2rem}.live-answer-choice.selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,white)}.live-answer-choice.correct{border-color:#16a34a;background:#effcf3}.live-answer-choice.wrong{border-color:#dc2626;background:#fff1f2}.live-answer-choice.disabled{cursor:default;opacity:.9}.live-submitted-note{text-align:center;font-weight:800;color:#166534;margin-top:20px}.live-explanation{margin-top:22px;padding:18px;border-radius:14px;background:#eff8ff;border-left:5px solid var(--blue)}.live-answer-message{position:sticky;bottom:18px;margin:16px auto 0;max-width:560px;text-align:center;padding:10px 14px;border-radius:999px;font-weight:800;opacity:0;transition:.2s}.live-answer-message.success,.live-answer-message.error{opacity:1}.live-answer-message.success{background:#dcfce7;color:#166534}.live-answer-message.error{background:#fee2e2;color:#991b1b}
.admin-title.compact{margin-top:22px}.section-title{margin:34px 0 18px}
@media(max-width:850px){.interactive-hub-grid,.interactive-public-grid,.interactive-detail-layout,.live-control-grid{grid-template-columns:1fr}.live-question-picker{grid-template-columns:1fr}.live-answer-grid{grid-template-columns:1fr}.live-student-head{grid-template-columns:1fr}.live-code-form>div{grid-template-columns:1fr}.live-question-button{grid-template-columns:auto 1fr}.live-question-button small{grid-column:2}.interactive-option-row,.interactive-option-row:not(.live-option-row){grid-template-columns:1fr}.correct-radio{width:100%}}
@media(max-width:520px){.live-metric-grid,.live-summary-grid{grid-template-columns:1fr}.live-answer-choice{grid-template-columns:42px 1fr;padding:13px}.live-question-text{font-size:1.35rem}.interactive-card-top{align-items:flex-start}.live-status-summary{flex-direction:column}}

.staff-card-simple{display:flex;min-height:164px;flex-direction:column;justify-content:center;align-items:center;padding:24px 18px;background:linear-gradient(180deg,#fff,#fffafb);text-align:center}.staff-card-simple h3{margin:0 0 10px;font-size:1.08rem;line-height:1.45}.staff-card-simple .staff-position,.staff-card-simple .staff-level{margin:2px 0;line-height:1.5}.staff-card-simple .staff-position{color:var(--blue);font-weight:700}.staff-card-simple .staff-level{color:#475569;font-size:.93rem}.staff-card-simple .staff-position span,.staff-card-simple .staff-level span{display:block;color:#64748b;font-size:.78rem;font-weight:600;margin-bottom:1px}.personnel-simple-grid{align-items:stretch}

/* v29.7.6 — รูปภาพบุคลากร */
.staff-photo-editor{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;margin:0 0 24px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#f8fbff}.staff-photo-preview-box{display:grid;place-items:center}.staff-photo-admin-preview{width:160px;height:190px;object-fit:cover;border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:0 6px 18px #0000000d}.staff-photo-admin-preview.is-placeholder{object-fit:contain;padding:22px;background:#fffaf0}.staff-photo-controls{display:grid;gap:9px}.staff-photo-remove{display:flex;align-items:center;gap:8px;font-weight:600}.staff-photo-open{width:max-content}.staff-list-photo{width:58px;height:70px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:#fff}.staff-list-photo.is-placeholder{object-fit:contain;padding:8px;background:#fffaf0}.personnel-card-with-photo{justify-content:flex-start!important;padding-top:20px!important}.personnel-photo-frame{width:154px;height:184px;margin:0 auto 16px;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#eaf8ff,#fff5f8);border:1px solid var(--border);box-shadow:0 8px 22px #1f293710}.personnel-photo{width:100%;height:100%;object-fit:cover}.personnel-photo.is-placeholder{object-fit:contain;padding:28px;background:#fffaf0}.personnel-card-with-photo h3{margin-top:2px}@media(max-width:680px){.staff-photo-editor{grid-template-columns:1fr}.staff-photo-controls{width:100%}.personnel-photo-frame{width:145px;height:174px}}

/* v29.7.7 — ผู้บริหารเชื่อมกับทำเนียบบุคลากร */
.staff-admin-section{margin-bottom:24px}.executive-admin-section{border-top:5px solid var(--blue2)}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.admin-section-heading h2{margin:6px 0 2px}.admin-section-heading p{margin:0;color:var(--muted)}.staff-executive-row td{background:#fffafd}.executive-linked-card{padding-top:20px}.executive-photo-frame{width:180px;height:216px;margin:0 auto 16px;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:#fff;box-shadow:0 9px 24px #1f293715}.executive-photo{width:100%;height:100%;object-fit:cover}.executive-photo.is-placeholder{object-fit:contain;padding:32px;background:#fffaf0}.executive-position{margin:4px 0!important;color:var(--blue)!important;font-weight:800}.executive-level{margin:2px 0 8px!important;color:#475569!important;font-size:.92rem}.executive-personnel-card{border-top:5px solid var(--blue2)}.executive-source-panel{border-left:5px solid var(--blue2)}.school-info-executive-preview{display:grid;gap:10px;margin-top:16px}.school-info-executive-preview article{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.school-info-executive-preview img{width:64px;height:76px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.school-info-executive-preview strong,.school-info-executive-preview span,.school-info-executive-preview small{display:block}.school-info-executive-preview span{color:var(--blue);font-weight:700}.school-info-executive-preview small{color:var(--muted)}@media(max-width:680px){.admin-section-heading{flex-direction:column}.school-info-executive-preview article{grid-template-columns:58px 1fr}.school-info-executive-preview article>a{grid-column:1/-1}.executive-photo-frame{width:160px;height:192px}}


/* School history gallery — version 29.7.8 */
.school-history-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:22px;align-items:stretch}.school-history-gallery-card{display:flex;flex-direction:column}.school-history-gallery-heading h2{margin:2px 0 16px;color:var(--blue)}.school-history-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.school-history-photo{display:block;overflow:hidden;border-radius:13px;border:1px solid var(--border);background:#eef3f8;aspect-ratio:4/3;box-shadow:0 4px 12px rgba(15,23,42,.08)}.school-history-photo:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,23,42,.13)}.school-history-photo img{width:100%;height:100%;object-fit:cover}.school-info-hero .school-identity-pills{display:none}
@media(max-width:900px){.school-history-layout{grid-template-columns:1fr}.school-history-gallery-card{order:2}}
@media(max-width:520px){.school-history-gallery{grid-template-columns:1fr 1fr;gap:8px}.school-history-gallery-card{padding:18px}}


/* Student uniforms public gallery v29.7.16 */
.uniform-page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--blue2));}
.uniform-page-hero:after{content:"";position:absolute;inset:auto -8rem -11rem auto;width:28rem;height:28rem;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.uniform-page-hero .container{position:relative;z-index:1}
.uniform-page-hero h1{max-width:900px}
.uniform-page-hero p{max-width:900px;font-size:1.08rem;line-height:1.8}
.uniform-hero-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;margin:.75rem 0;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font-weight:800;color:#fff}
.uniform-intro-section{padding-bottom:1.25rem}
.uniform-intro-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:1.25rem;align-items:stretch}
.uniform-intro-card{height:100%;border:1px solid rgba(29,78,216,.1)}
.uniform-intro-card h2{margin-top:.25rem}
.uniform-guidelines{margin:1rem 0 0;padding-left:1.35rem;display:grid;gap:.55rem;line-height:1.75}
.uniform-note-card{display:flex;gap:.9rem;align-items:flex-start;padding:1.25rem;border-radius:22px;background:linear-gradient(145deg,#fff9df,#fff);border:1px solid #f7d66a;box-shadow:0 12px 30px rgba(146,105,0,.08)}
.uniform-note-card>span{font-size:2rem;line-height:1}
.uniform-note-card strong{display:block;font-size:1.15rem;color:#7c5700;margin-bottom:.35rem}
.uniform-note-card p{margin:0;line-height:1.75;color:#5f4b18}
.uniform-category-nav{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
.uniform-category-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:.68rem .9rem;border-radius:999px;background:#fff;border:1px solid rgba(29,78,216,.15);box-shadow:0 6px 18px rgba(15,23,42,.05);font-weight:800;color:#24324a;text-decoration:none;transition:.2s ease}
.uniform-category-nav a:hover,.uniform-category-nav a:focus-visible{transform:translateY(-2px);border-color:var(--blue);color:var(--blue)}
.uniform-section{scroll-margin-top:1.5rem}
.uniform-section-heading{align-items:flex-end}
.uniform-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.uniform-gallery-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.uniform-card{margin:0;overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 34px rgba(15,23,42,.09);display:flex;flex-direction:column;min-width:0}
.uniform-image-link{position:relative;display:block;overflow:hidden;background:linear-gradient(180deg,#eaf7ff,#f8fbff);aspect-ratio:3/4;text-decoration:none}
.uniform-image-link img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s ease}
.uniform-image-link:hover img,.uniform-image-link:focus-visible img{transform:scale(1.02)}
.uniform-zoom{position:absolute;left:50%;bottom:.8rem;transform:translateX(-50%);white-space:nowrap;padding:.45rem .7rem;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font-size:.84rem;font-weight:800;opacity:0;transition:.2s ease;backdrop-filter:blur(5px)}
.uniform-image-link:hover .uniform-zoom,.uniform-image-link:focus-visible .uniform-zoom{opacity:1}
.uniform-card figcaption{padding:1rem 1.05rem 1.1rem;display:grid;gap:.28rem;text-align:center;flex:1;align-content:center}
.uniform-card figcaption strong{font-size:1.02rem;color:#13213b;line-height:1.45}
.uniform-card figcaption span{font-size:.88rem;color:#64748b}
.uniform-back-top{white-space:nowrap}
.uniform-closing-section{padding-top:1rem}
.uniform-closing-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(29,78,216,.07),rgba(219,39,119,.07));border:1px solid rgba(29,78,216,.12)}
.uniform-closing-card h2{margin:0 0 .35rem}
.uniform-closing-card p{margin:0;line-height:1.75}
.uniform-closing-icon{font-size:2.25rem;flex:0 0 auto}
@media(max-width:1080px){.uniform-gallery-four{grid-template-columns:repeat(2,minmax(0,1fr))}.uniform-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.uniform-intro-grid{grid-template-columns:1fr}.uniform-gallery,.uniform-gallery-four{grid-template-columns:1fr}.uniform-card{max-width:520px;width:100%;margin-inline:auto}.uniform-category-nav{display:grid;grid-template-columns:1fr 1fr}.uniform-category-nav a{justify-content:center;text-align:center}.uniform-back-top{display:none}.uniform-closing-card{align-items:flex-start}.uniform-page-hero p{font-size:1rem}}
@media(max-width:470px){.uniform-category-nav{grid-template-columns:1fr}.uniform-card{border-radius:18px}.uniform-note-card{border-radius:18px}}

/* v29.7.40: ลิงก์ในรายละเอียดข่าวต้องคลิกได้และเห็นชัด */
.news-content-text a[href]{position:relative;z-index:1;pointer-events:auto;color:#075bb5!important;background:#eef6ff;border-bottom:2px solid #60a5fa;border-radius:6px;padding:1px 5px;text-decoration:none!important;font-weight:800;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.news-content-text a[href]:hover{color:#fff!important;background:var(--blue);border-bottom-color:var(--blue);box-shadow:0 4px 12px rgba(15,95,191,.2);text-decoration:none!important}
.news-content-text a[href]:focus-visible{color:#fff!important;background:var(--blue2);border-bottom-color:var(--blue2);outline:3px solid color-mix(in srgb,var(--blue2) 30%,transparent);outline-offset:2px}
.news-content-text a[href^="http"]:after{content:" ↗";font-size:.78em;font-weight:900}
