.school-shell{min-height:100svh;background:var(--bg);background-image:radial-gradient(circle at 10% 8%,rgba(165,77,254,.12),transparent 28%),radial-gradient(circle at 90% 15%,rgba(212,175,55,.09),transparent 25%)}
.school-topbar{position:fixed;z-index:80;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1280px)/2));background:rgba(2,4,15,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.school-brand{display:flex;align-items:center;gap:11px}.school-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(212,175,55,.45);font:700 11px "Space Mono";color:var(--gold);background:rgba(212,175,55,.06)}.school-brand strong{display:block;font:700 11px "Space Mono";letter-spacing:.12em;color:var(--gold)}.school-brand small{display:block;margin-top:3px;font:8px "Space Mono";letter-spacing:.08em;color:#777989}
.school-desktop-nav{display:flex;align-items:center;gap:22px;font-size:13px;color:#c8c9d4}.school-desktop-nav a.active,.school-desktop-nav a:hover{color:var(--gold)}.school-desktop-nav button{border:1px solid rgba(255,255,255,.12);background:transparent;color:#aaa;padding:8px 12px;border-radius:999px;cursor:pointer}
.school-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:112px 0 70px}.school-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.school-page-head h1{font-family:"Noto Serif Thai";font-size:clamp(30px,4vw,48px);margin:4px 0 0}.school-page-head p{color:var(--muted);margin:8px 0 0}.school-page-actions{display:flex;gap:10px;flex-wrap:wrap}
.school-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.school-kpi{padding:20px;border-radius:16px;border:1px solid var(--line);background:rgba(11,16,38,.66)}.school-kpi span{display:block;font-size:11px;color:var(--muted)}.school-kpi strong{display:block;margin-top:10px;font:700 30px "Space Mono";color:var(--gold)}
.school-card{border:1px solid var(--line);background:rgba(11,16,38,.7);border-radius:18px;padding:22px}.school-section{margin-top:24px}.school-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.school-section-head h2{margin:0;font-family:"Noto Serif Thai"}.school-section-head a{font-size:12px;color:var(--gold)}
.school-submission-list{display:grid;gap:10px}.school-submission-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018)}.school-submission-row:hover{border-color:rgba(212,175,55,.3)}.school-submission-row h3{margin:0;font-size:15px}.school-submission-row p{margin:5px 0 0;color:var(--muted);font-size:11px}.school-submission-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font:700 9px "Space Mono";letter-spacing:.04em;border:1px solid rgba(255,255,255,.1)}.status-draft{color:#b7b8c2}.status-submitted,.status-underreview{color:#dec3ff;border-color:rgba(165,77,254,.35);background:rgba(165,77,254,.07)}.status-revisionrequired{color:#ffd59a;border-color:rgba(255,166,50,.35);background:rgba(255,166,50,.07)}.status-approved{color:#b8f5c8;border-color:rgba(57,211,105,.3);background:rgba(57,211,105,.06)}.status-rejected{color:#ffb4ab;border-color:rgba(255,80,80,.28);background:rgba(255,80,80,.06)}
.school-empty{text-align:center;padding:40px 20px;color:var(--muted);border:1px dashed rgba(255,255,255,.13);border-radius:16px}.school-empty strong{display:block;color:#ddd;margin-bottom:8px}
.school-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.school-form-grid .full{grid-column:1/-1}.school-textarea{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(2,4,15,.45);color:var(--text);outline:none;resize:vertical}.school-textarea:focus{border-color:rgba(165,77,254,.55)}.school-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.school-note{padding:14px 16px;border-radius:12px;border:1px solid rgba(212,175,55,.18);background:rgba(212,175,55,.04);font-size:12px;color:#d6d0bd;line-height:1.65}.school-warning{border-color:rgba(255,166,50,.25);background:rgba(255,166,50,.05);color:#ffd59a}.school-error{border-color:rgba(255,80,80,.25);background:rgba(255,80,80,.05);color:#ffb4ab}.school-success{border-color:rgba(57,211,105,.25);background:rgba(57,211,105,.05);color:#b8f5c8}
.school-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.school-upload-box{padding:18px;border:1px dashed rgba(255,255,255,.15);border-radius:14px}.school-upload-box strong{display:block;margin-bottom:4px}.school-upload-box small{display:block;color:var(--muted);margin-bottom:12px}.school-cover-preview{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-top:12px}.submission-file-list{display:grid;gap:8px;margin-top:12px}.submission-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:11px}.submission-file-row a{color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-file-row button{border:0;background:transparent;color:#ffb4ab;cursor:pointer}
.school-bottom-nav{display:none}
.admin-submission-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;padding-top:112px;padding-bottom:50px}.admin-submission-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(520px,1.25fr);gap:16px}.admin-submission-list{display:grid;gap:8px;max-height:70vh;overflow:auto}.admin-submission-item{width:100%;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);color:inherit;cursor:pointer}.admin-submission-item.selected{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.04)}.admin-submission-item strong{display:block}.admin-submission-item small{display:block;margin-top:5px;color:var(--muted)}.admin-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.admin-review-actions button{min-height:40px;padding:9px 13px}.admin-detail-block{padding:16px 0;border-top:1px solid var(--line)}.admin-detail-block:first-child{border-top:0}.admin-detail-block h3{margin:0 0 8px}.admin-detail-block p{white-space:pre-wrap;color:#c4c5ce;line-height:1.7;font-size:13px}.admin-filter-row{display:grid;grid-template-columns:1fr 180px 220px auto;gap:10px;margin-bottom:14px}.admin-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-category-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(11,16,38,.68)}.admin-category-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-school-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.admin-school-list{display:grid;gap:8px;max-height:68vh;overflow:auto}.admin-school-row{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);cursor:pointer}.admin-school-row.selected{border-color:rgba(212,175,55,.4)}.admin-school-row strong{display:block}.admin-school-row small{color:var(--muted)}
@media(max-width:980px){.school-kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-submission-grid,.admin-school-grid{grid-template-columns:1fr}.admin-filter-row{grid-template-columns:1fr 1fr}.admin-category-grid{grid-template-columns:1fr}.school-desktop-nav{display:none}.school-bottom-nav{position:fixed;z-index:90;left:50%;bottom:8px;transform:translateX(-50%);width:min(560px,calc(100% - 18px));height:66px;display:grid;grid-template-columns:repeat(7,1fr);padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(8,10,22,.94);backdrop-filter:blur(22px)}.school-bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;color:#777989;border-radius:14px}.school-bottom-nav a.active{color:var(--gold);background:rgba(212,175,55,.06)}.school-bottom-nav span{font-size:19px}.school-bottom-nav small{font-size:9px}.school-main{padding-bottom:105px}}
@media(max-width:650px){.school-main{width:calc(100% - 28px);padding-top:92px}.school-topbar{height:64px;padding:0 14px}.school-brand small{display:none}.school-page-head{align-items:flex-start;flex-direction:column}.school-page-actions{width:100%}.school-page-actions .btn{flex:1}.school-kpi-grid{grid-template-columns:1fr 1fr}.school-form-grid,.school-upload-grid{grid-template-columns:1fr}.school-form-grid .full{grid-column:auto}.school-submission-row{grid-template-columns:1fr}.school-submission-meta{text-align:left;align-items:flex-start}.admin-submission-shell{width:calc(100% - 28px);padding-top:94px}.admin-filter-row{grid-template-columns:1fr}.school-kpi strong{font-size:25px}}


/* School Booth Management · Phase 2 */
.school-booth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.school-booth-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:rgba(11,16,38,.72);box-shadow:0 18px 50px rgba(0,0,0,.14)}
.school-booth-cover{position:relative;display:block;aspect-ratio:16/8.4;overflow:hidden;background:linear-gradient(135deg,rgba(165,77,254,.12),rgba(212,175,55,.08))}
.school-booth-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.school-booth-card:hover .school-booth-cover img{transform:scale(1.025)}
.school-booth-cover>span{position:absolute;left:14px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(2,4,15,.84);border:1px solid rgba(212,175,55,.4);color:var(--gold);font:700 10px "Space Mono";letter-spacing:.08em}
.school-booth-placeholder{width:100%;height:100%;min-height:150px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(165,77,254,.18),transparent 34%),linear-gradient(135deg,#090d20,#11172f);color:rgba(212,175,55,.7);font:700 16px "Space Mono";letter-spacing:.12em}
.school-booth-body{padding:18px}.school-booth-body h2{margin:12px 0 0;font-family:"Noto Serif Thai";font-size:22px}.school-booth-body>p{margin:6px 0 0;color:var(--muted);font-size:12px}
.school-booth-lock-row{display:flex;gap:7px;flex-wrap:wrap}.school-booth-lock-row span{padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:#999cab;font:700 8px "Space Mono";letter-spacing:.04em}
.school-booth-category{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:9px;background:rgba(165,77,254,.075);border:1px solid rgba(165,77,254,.18);color:#dec3ff;font-size:10px}
.school-booth-status-row{display:flex;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.school-live{color:#b8f5c8!important}.school-offline{color:#ffb4ab!important}
.school-booth-actions{display:flex;gap:9px;margin-top:15px}.school-booth-actions .btn{flex:1;text-align:center}
.school-booth-locked-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.school-booth-locked-grid article{padding:15px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.018)}.school-booth-locked-grid span{display:block;color:var(--muted);font-size:9px}.school-booth-locked-grid strong{display:block;margin-top:8px;color:#e2e3ea;font:700 13px "Space Mono"}
.school-section-sub{margin:5px 0 0;color:var(--muted);font-size:11px}.school-section-head>div{min-width:0}
.school-cover-manager{display:grid;grid-template-columns:minmax(220px,390px) 1fr;gap:18px;align-items:center}.school-cover-manager>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.school-cover-manager>.school-booth-placeholder{aspect-ratio:16/9;min-height:0;border-radius:14px;border:1px solid var(--line)}.school-cover-manager small{display:block;margin-top:8px;color:var(--muted)}
.school-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.school-gallery-grid article{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018)}.school-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.school-gallery-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.school-gallery-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.school-gallery-grid button{border:0;background:transparent;color:#ffb4ab;cursor:pointer;font-size:10px}

@media(max-width:1100px){.school-booth-locked-grid{grid-template-columns:repeat(3,1fr)}.school-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.school-booth-grid{grid-template-columns:1fr}.school-cover-manager{grid-template-columns:1fr}.school-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.school-booth-locked-grid{grid-template-columns:1fr 1fr}.school-gallery-grid{grid-template-columns:1fr 1fr}.school-booth-actions{flex-direction:column}}

/* School module shortcuts · Phase 3A */
.school-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.school-module-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(11,16,38,.65);transition:.22s ease}.school-module-card:hover{border-color:rgba(212,175,55,.32);transform:translateY(-2px)}.school-module-card>span{font-size:28px}.school-module-card strong{display:block}.school-module-card small{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:780px){.school-module-grid{grid-template-columns:1fr}}
