:root{--navy:#111d40;--ink:#172344;--muted:#7d89a3;--blue:#6277f4;--line:#e9edf5;--paper:#fff}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:"DM Sans",sans-serif;color:#fff;background:radial-gradient(ellipse at 50% 22%,#344d85 0,#1b2c57 36%,#101a36 75%);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#12204488,#101a35d9),url("https://images.unsplash.com/photo-1523050854058-8df90110c9f1?auto=format&fit=crop&w=2000&q=85") center/cover no-repeat;opacity:.46}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,#101a36a8,#172a4b66 50%,#101a36b8)}
.ambient{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}.ambient-a{width:460px;height:460px;top:100px;left:-250px;background:#6277f41c}.ambient-b{width:520px;height:520px;right:-260px;bottom:-150px;background:#21c5bd12}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);border-bottom:1px solid #ffffff17;background:#0d18313b;backdrop-filter:blur(15px)}
.school-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white}.brand-logo{height:42px;width:42px;border-radius:14px;background:linear-gradient(145deg,#fff,#dce5ff);color:#1b2c61;display:grid;place-items:center;font:800 24px "Plus Jakarta Sans";letter-spacing:-4px;box-shadow:0 5px 20px #0002}.brand-logo span{color:#667cf8}.brand-name b,.brand-name small{display:block}.brand-name b{font:800 12px "Plus Jakarta Sans";letter-spacing:1px}.brand-name small{font-size:8px;letter-spacing:2px;color:#b8c5e4;margin-top:4px}.top-actions{display:flex;align-items:center;gap:17px}.live-pill{font-size:8px;letter-spacing:1.5px;color:#d4ddf4;font-weight:800}.live-pill i,.footer-status i{display:inline-block;width:6px;height:6px;background:#59d6ae;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #59d6ae}.admin-entry{border:1px solid #ffffff42;background:#ffffff12;color:white;padding:10px 15px;border-radius:10px;font:700 10px "DM Sans";cursor:pointer;transition:.2s}.admin-entry:hover{background:#ffffff25;transform:translateY(-1px)}.admin-entry span{margin-right:6px}
.page{width:min(1120px,calc(100% - 36px));margin:0 auto}.intro{text-align:center;padding:35px 0 29px}.school-emblem{width:76px;height:76px;border-radius:26px;margin:0 auto 18px;background:linear-gradient(145deg,#fdfefe,#cdd9ff);padding:5px;box-shadow:0 12px 38px #050d2766;transform:rotate(-4deg)}.emblem-inner{height:100%;border:2px solid #354f9d;border-radius:22px;color:#203875;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.emblem-inner span{font:800 25px "Plus Jakarta Sans";letter-spacing:-3px}.emblem-inner b{position:absolute;font-size:10px;top:5px;right:9px;color:#eeae47}.emblem-inner small{font-size:6px;font-weight:800;letter-spacing:1px;margin-top:2px}.eyebrow,.section-kicker,.modal-kicker{font-size:8px;letter-spacing:2.1px;font-weight:800;color:#aebde4}.eyebrow span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#70dfc0;margin:0 7px 1px 0}.intro h1{font:800 clamp(26px,4vw,39px)/1.2 "Plus Jakarta Sans";letter-spacing:-1.8px;margin:11px 0 8px}.intro h1 span{color:#aebcff}.subtitle{font-size:12px;line-height:1.7;color:#d0d9ef;margin:0}.search-wrap{width:min(360px,100%);height:42px;margin:20px auto 0;display:flex;align-items:center;gap:10px;padding:0 13px;border-radius:12px;background:#ffffffed;box-shadow:0 8px 28px #08112a45;color:#66738e}.search-wrap>span{font-size:22px;line-height:1}.search-wrap input{border:0;outline:0;background:transparent;flex:1;min-width:0;font:500 11px "DM Sans";color:#243252}.search-wrap input::placeholder{color:#9ba5b8}.search-wrap kbd{font:600 8px "DM Sans";padding:4px 6px;background:#f0f2f8;border-radius:5px;color:#8992a7}
.apps-section{padding:4px 0 25px}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.section-kicker{font-size:7px;color:#aab9df;margin-bottom:5px}.section-top h2{font:800 17px "Plus Jakarta Sans";margin:0;letter-spacing:-.5px}.app-count{display:flex;align-items:baseline;gap:7px;color:#c5d0eb}.app-count b{font:800 20px "Plus Jakarta Sans";color:#fff}.app-count span{font-size:7px;letter-spacing:1.3px}
.apps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.app-card{min-height:144px;position:relative;overflow:hidden;border:1px solid #ffffff62;border-radius:15px;background:linear-gradient(145deg,#ffffffed,#f1f4fbe8);box-shadow:0 8px 22px #07112a40;color:#172343;text-decoration:none;text-align:left;padding:16px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.app-card:before{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-43px;top:-48px;background:var(--accent,#dce5ff);opacity:.6}.app-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px #050d2a65;border-color:#fff}.app-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--tint,#e9edff);color:var(--accent-ink,#526be5);font-size:22px;margin-bottom:12px;position:relative;z-index:1}.app-icon img{width:100%;height:100%;object-fit:contain;border-radius:10px}.app-card h3{font:800 12px "Plus Jakarta Sans";margin:0 0 5px;position:relative}.app-card p{font-size:9px;color:#7e899f;line-height:1.5;margin:0;max-width:220px}.app-category{font-size:7px;font-weight:800;letter-spacing:1px;color:#9aa4b8;margin-top:auto;padding-top:10px}.app-open{position:absolute;right:14px;bottom:13px;font-size:14px;color:#8290ae}.empty-state{text-align:center;padding:38px 0;color:#d7e0f3}.empty-state div{font-size:30px}.empty-state b{font-size:13px}.empty-state p{font-size:10px;color:#aab8d5}
.bottom-note{margin:5px 0 28px;padding:15px 18px;display:flex;align-items:center;gap:12px;border:1px solid #ffffff25;border-radius:13px;background:#ffffff0c;backdrop-filter:blur(10px)}.note-icon{height:31px;width:31px;border-radius:10px;background:#ffffff1c;color:#ffcf82;display:grid;place-items:center}.bottom-note b,.bottom-note span{display:block}.bottom-note b{font:700 10px "Plus Jakarta Sans"}.bottom-note div:nth-child(2) span{font-size:8px;color:#b7c4e0;margin-top:3px}.note-arrow{margin-left:auto;font-size:17px;color:#b9c8ec}
.footer{min-height:56px;border-top:1px solid #ffffff1b;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;color:#a9b7d4;font-size:8px;background:#0c17302c}.footer b{color:#e1e8f7}.socials{display:flex;gap:8px}.socials a{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#ffffff12;color:#e1e8f7;text-decoration:none;font-size:10px;font-weight:800}.footer-status{letter-spacing:1px;font-size:7px}.footer-status i{width:5px;height:5px}
.modal-backdrop{position:fixed;inset:0;z-index:30;background:#081127b8;backdrop-filter:blur(9px);display:grid;place-items:center;padding:18px;overflow:auto}.modal-backdrop[hidden]{display:none}.modal{width:min(440px,100%);background:#fff;color:#1a2747;border-radius:20px;padding:28px;position:relative;box-shadow:0 24px 90px #050b1d80;animation:pop .18s ease-out}.modal-close{position:absolute;right:17px;top:14px;border:0;background:#f1f3f8;color:#64708b;width:30px;height:30px;border-radius:9px;font-size:20px;cursor:pointer}.modal-symbol{width:43px;height:43px;border-radius:13px;background:#eef1ff;color:#6075ef;display:grid;place-items:center;font-size:20px;margin-bottom:17px}.modal-kicker{color:#7584c5;font-size:8px}.modal h2{font:800 21px "Plus Jakarta Sans";margin:6px 0}.modal-desc{font-size:11px;color:#8791a6;margin:0 0 20px}.modal form label{display:block;font-size:10px;font-weight:700;color:#596580;margin:13px 0}.modal input,.modal select{display:block;width:100%;height:42px;border:1px solid #e5e9f1;border-radius:9px;margin-top:7px;padding:0 12px;outline:none;font:500 11px "DM Sans";color:#243252;background:#fbfcfe}.modal input:focus,.modal select:focus{border-color:#8798ff;box-shadow:0 0 0 3px #6479f21a}.btn-primary,.btn-secondary,.btn-logout{border:0;border-radius:9px;padding:11px 15px;font:800 10px "DM Sans";cursor:pointer}.btn-primary{background:#536cf0;color:white;box-shadow:0 5px 13px #536cf033}.btn-primary span{margin-left:12px}.btn-primary:hover{background:#4059df}.btn-primary.full{width:100%;margin-top:6px}.demo-hint{margin-top:18px;padding:10px;background:#f5f6fb;border-radius:8px;text-align:center;color:#8c96aa;font-size:9px}.demo-hint b{color:#5265d6}.form-error{color:#db5364;font-size:9px;min-height:12px;margin:5px 0}
.admin-modal{width:min(720px,100%);padding:26px;max-height:90vh;display:flex;flex-direction:column}.admin-head{display:flex;justify-content:space-between;align-items:flex-start}.admin-head h2{font-size:20px}.admin-head p{font-size:10px;color:#8993a8;margin:5px 0}.modal-close.static{position:static;flex:none}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 0 12px;border-bottom:1px solid #edf0f5}.admin-total b{font:800 18px "Plus Jakarta Sans";margin-right:6px}.admin-total span{font-size:9px;color:#929bb0}.admin-list{overflow:auto;min-height:90px}.admin-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #f0f2f6}.admin-row-icon{width:37px;height:37px;border-radius:11px;background:#eff2ff;display:grid;place-items:center;font-size:19px;flex:none}.admin-row-info{min-width:0;flex:1}.admin-row-info b,.admin-row-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-info b{font-size:10px}.admin-row-info small{font-size:8px;color:#98a1b3;margin-top:4px}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid #e8ebf2;background:#fff;border-radius:7px;padding:7px 9px;font-size:9px;color:#68748e;cursor:pointer}.row-actions button.delete{color:#d95d6b}.admin-footer{border-top:1px solid #edf0f5;padding-top:14px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#9aa3b5}.btn-logout{background:#f3f5fa;color:#64708b;padding:9px 12px}.top-layer{z-index:40}.app-form-modal{width:min(500px,100%);max-height:92vh;overflow:auto}.form-row{display:grid;grid-template-columns:1fr 110px;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.btn-secondary{background:#f1f3f8;color:#68738b}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#fff;color:#263454;padding:11px 17px;border-radius:10px;font-size:10px;font-weight:700;box-shadow:0 8px 35px #050b1d55;opacity:0;pointer-events:none;transition:.25s;z-index:60}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.apps-grid{grid-template-columns:repeat(3,1fr)}.app-card{min-height:137px;padding:13px}.footer{gap:10px}.footer-status{display:none}}
@media(max-width:540px){.topbar{height:66px;padding:0 17px}.live-pill{display:none}.page{width:calc(100% - 30px)}.intro{padding:27px 0 24px}.school-emblem{width:66px;height:66px}.intro h1{font-size:27px}.subtitle{font-size:10px}.apps-grid{grid-template-columns:repeat(2,1fr);gap:9px}.app-card{min-height:139px}.section-top h2{font-size:15px}.footer{padding:12px 16px;flex-wrap:wrap}.socials{display:none}.footer>div:first-child{font-size:7px}.admin-modal{padding:20px}.admin-row{gap:8px}.row-actions button{padding:7px}.form-row{grid-template-columns:1fr 95px}}
