*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f2f8;color:#30243a}header{height:78px;background:#fff;display:flex;align-items:center;padding:12px 6%;gap:14px;box-shadow:0 2px 12px #0001}header img{width:52px;height:52px;object-fit:contain}header div{display:flex;flex-direction:column;flex:1}header span{color:#756b7e;font-size:13px}header a,.back{color:#713a86;text-decoration:none;font-weight:bold}main{max-width:1180px;margin:35px auto;padding:0 20px}.hero{background:linear-gradient(120deg,#6a337e,#ad4a8e);color:#fff;padding:35px;border-radius:22px;margin-bottom:28px}.hero p{text-transform:uppercase;letter-spacing:2px;font-size:12px}.hero h1{font-size:34px;margin:8px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #51335c18}.card>img{width:100%;height:190px;object-fit:cover}.card-body{padding:22px}.status{display:inline-block;background:#f0e5f4;color:#713a86;border-radius:50px;padding:6px 11px;font-size:12px;font-weight:bold;text-transform:uppercase}.progress{height:10px;background:#ece7ef;border-radius:10px;overflow:hidden;margin-top:18px}.progress i{display:block;height:100%;background:#8c438f}.button,button{display:inline-block;margin-top:18px;padding:12px 18px;border:0;border-radius:10px;background:#713a86;color:#fff;text-decoration:none;font-weight:bold;cursor:pointer}.detail{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:35px;background:#fff;padding:28px;border-radius:20px;margin-top:22px}.detail>img{width:100%;border-radius:14px}.detail h1{font-size:36px;margin:12px 0}.big{height:14px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px}.info div{background:#fff;padding:20px;border-radius:14px;display:flex;flex-direction:column;gap:8px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#5e2c70,#b45093)}.login-card{background:#fff;width:min(430px,92vw);padding:38px;border-radius:22px;text-align:center;box-shadow:0 20px 70px #0004}.login-card img{width:90px}.login-card label{display:block;text-align:left;margin:18px 0}.login-card input{width:100%;padding:13px;border:1px solid #d8cfdd;border-radius:9px;margin-top:6px}.login-card button{width:100%}.alert{background:#ffe7e7;color:#922;padding:12px;border-radius:8px}.empty{background:#fff;padding:30px;border-radius:16px}@media(max-width:750px){.detail{grid-template-columns:1fr}.info{grid-template-columns:1fr}.hero h1{font-size:27px}}
.school-nav{max-width:1180px;margin:18px auto 0;padding:0 20px;display:flex;gap:10px;flex-wrap:wrap}.school-nav a{background:#fff;color:#713a86;text-decoration:none;font-weight:700;padding:10px 15px;border-radius:10px;box-shadow:0 3px 12px #51335c12}.message-box{background:#fff;padding:28px;border-radius:18px;margin-top:24px}.message-box label{display:block;font-weight:700;margin-top:15px}.message-box input,.message-box textarea{width:100%;padding:12px;border:1px solid #d8cfdd;border-radius:9px;margin-top:7px;font:inherit}.notice{padding:13px 16px;border-radius:10px;margin:15px 0}.notice.success{background:#e8f7ed;color:#27643a}.notice.error{background:#ffe7e7;color:#922}.list-cards{display:grid;gap:18px}.list-cards article{display:grid;grid-template-columns:170px 1fr;gap:22px;background:#fff;padding:18px;border-radius:16px;box-shadow:0 8px 30px #51335c12}.list-cards article>img{width:170px;height:150px;object-fit:cover;border-radius:12px}.list-cards h2{margin:10px 0 6px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.button.secondary{background:#eee5f1;color:#663478}@media(max-width:650px){.list-cards article{grid-template-columns:1fr}.list-cards article>img{width:100%;height:210px}}
.brand-link{display:flex}.school-footer{max-width:1180px;margin:10px auto 35px;padding:0 20px;color:#756b7e;font-size:13px}.dashboard-hero{margin-bottom:34px}.dashboard-section{margin:38px 0 52px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2{font-size:30px;margin:5px 0 6px}.section-heading p{margin:0;color:#756b7e}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;font-weight:800;color:#8c438f}.count-badge{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#713a86;color:#fff;font-weight:800}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}.content-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #51335c18}.media{height:210px;background:#eee7f1}.media img{width:100%;height:100%;object-fit:cover}.media-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#eee5f2,#d8c3df);color:#713a86;text-transform:uppercase;font-weight:900;letter-spacing:1px}.media-placeholder.large{min-height:320px;border-radius:14px}.content-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.content-card h3{font-size:23px;margin:13px 0 7px}.subtitle{font-weight:700;color:#5f4d67;margin:0 0 10px}.meta-line{margin:5px 0;color:#564b5d}.excerpt{color:#665b6c;line-height:1.55}.content-card .button{align-self:flex-start;margin-top:auto}.labels{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;background:#713a86;color:#fff;border-radius:50px;padding:6px 11px;font-size:12px;font-weight:bold;text-transform:uppercase}.tag.soft{background:#f0e5f4;color:#713a86}.feature-detail{align-items:start}.detail-media img{width:100%;border-radius:14px}.detail-copy h1{font-size:38px;margin:14px 0 8px}.detail-copy h3{color:#67536d;margin-top:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.facts div{background:#f7f3f8;padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:6px}.facts b{font-size:12px;text-transform:uppercase;color:#85508d}.lead{font-size:18px;font-weight:600;line-height:1.6}.long-text{line-height:1.75;color:#4f4554}.long-text h2{margin-top:26px}.back{display:inline-block;margin-bottom:10px}@media(max-width:750px){.section-heading h2{font-size:25px}.content-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.detail-copy h1{font-size:30px}}
.badge-hero{margin-bottom:22px}.badge-panel{background:#fff;padding:30px;border:1px solid #e9e0ed;border-radius:20px;margin-top:22px;box-shadow:0 12px 36px #51335c12}.badge-panel-heading{margin-bottom:24px}.badge-panel-heading h2,.badge-list-heading h2{font-size:28px;margin:5px 0 8px}.badge-panel-heading p,.badge-list-heading p{margin:0;color:#756b7e;line-height:1.55}.badge-entry-form{margin:0}.badge-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.badge-field{margin-bottom:18px}.badge-field label{display:block;margin:0 0 8px;color:#5e2c70;font-size:14px;font-weight:800}.badge-field input,.badge-field textarea{display:block;width:100%;margin:0;padding:14px 16px;border:1px solid #d8cfdd;border-radius:13px;background:#fff;color:#30243a;font:inherit;line-height:1.45;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.badge-field textarea{min-height:190px;resize:vertical}.badge-field input::placeholder,.badge-field textarea::placeholder{color:#a49aa9}.badge-field input:focus,.badge-field textarea:focus{border-color:#8c438f;box-shadow:0 0 0 4px #8c438f1c;background:#fff}.badge-field small{display:block;margin-top:8px;color:#827689;font-size:13px}.badge-field-wide{margin-top:2px}.badge-upload-box{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px dashed #b99bc2;border-radius:15px;background:linear-gradient(135deg,#faf7fb,#f3edf6)}.badge-upload-box div{display:flex;flex-direction:column;gap:5px}.badge-upload-box strong{color:#5e2c70}.badge-upload-box span{color:#756b7e;font-size:13px}.badge-upload-box input[type=file]{width:min(100%,390px);padding:10px;border:1px solid #d8cfdd;border-radius:11px;background:#fff;color:#564b5d;font:inherit}.badge-upload-box input[type=file]::file-selector-button{margin-right:12px;padding:9px 13px;border:0;border-radius:8px;background:#eee5f1;color:#663478;font-weight:800;cursor:pointer}.badge-form-actions{display:flex;margin-top:20px}.badge-primary{margin-top:0}.badge-list-heading{align-items:center}.badge-list-heading .button{margin-top:0}.badge-table-wrap{overflow:auto;border:1px solid #ece5ef;border-radius:14px}.badge-table{width:100%;border-collapse:collapse;background:#fff}.badge-table th,.badge-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #ece5ef;vertical-align:middle}.badge-table tr:last-child td{border-bottom:0}.badge-table th{background:#f8f4fa;color:#713a86;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.badge-table tbody tr:hover{background:#fcfafd}.badge-number{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:#f0e5f4;color:#713a86;font-weight:900}.badge-inline-form{margin:0}.badge-delete{margin:0;padding:8px 12px;border:0;border-radius:9px;background:#faecee;color:#8d2833;font-size:13px;font-weight:800;cursor:pointer}.badge-delete:hover{background:#f5dadd}.badge-empty{text-align:center!important;padding:28px!important;color:#827689}.badge-footer-actions{display:flex;justify-content:flex-end;margin-top:18px}.badge-footer-actions .button{margin-top:0}.button.danger{background:#9a2c38}.button.danger:hover{background:#81222d}@media(max-width:700px){.badge-panel{padding:22px}.badge-form-grid{grid-template-columns:1fr;gap:0}.badge-upload-box{align-items:stretch;flex-direction:column}.badge-upload-box input[type=file]{width:100%}.badge-list-heading{align-items:flex-start;flex-direction:column}.badge-list-heading .button{margin-top:10px}.badge-form-actions .button,.badge-footer-actions .button{width:100%;text-align:center}.badge-table{min-width:650px}}
