
:root{
  --sps-red:#bd151d;
  --sps-red-dark:#8e0f15;
  --sps-red-soft:#f8e9ea;
  --sps-charcoal:#171717;
  --sps-text:#252525;
  --sps-muted:#6f6f73;
  --sps-line:#e8e5e5;
  --sps-bg:#f7f6f6;
  --sps-white:#fff;
  --sps-gold:#d2a144;
  --sps-green:#147d64;
  --sps-blue:#305ca8;
  --sps-shadow:0 18px 60px rgba(32,20,20,.11);
  --sps-radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.sps-standalone-page{margin:0!important;background:#fff;color:var(--sps-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body.sps-standalone-page #wpadminbar{position:fixed}
.sps-site{min-height:100vh;background:#fff;overflow:hidden}
.sps-site a{text-decoration:none}
.sps-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.sps-top-strip{height:34px;background:#8e1016;color:#fff;font-size:12px}
.sps-top-strip .sps-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.sps-top-actions{display:flex;gap:18px}
.sps-top-actions a{color:#fff;opacity:.9}
.sps-main-header{height:78px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(0,0,0,.05);position:relative;z-index:50}
.sps-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.sps-brand-lockup{display:flex;align-items:center;gap:12px;color:var(--sps-charcoal)}
.sps-brand-lockup img{width:56px;height:56px;border-radius:50%;object-fit:contain;background:#fff}
.sps-brand-lockup span{display:flex;flex-direction:column;line-height:1.1}
.sps-brand-lockup strong{font-size:19px;letter-spacing:.01em}
.sps-brand-lockup small{font-size:11px;color:var(--sps-muted);margin-top:5px}
.sps-main-nav{display:flex;align-items:center;gap:6px}
.sps-main-nav>a{color:#3c3c3f;font-weight:650;font-size:14px;padding:11px 12px;border-radius:9px}
.sps-main-nav>a:hover,.sps-main-nav>a.active{color:var(--sps-red);background:#fff4f4}
.sps-main-nav .sps-nav-signin{margin-left:10px;background:var(--sps-red);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 20px rgba(189,21,29,.2)}
.sps-main-nav .sps-nav-signin:hover{background:var(--sps-red-dark);color:#fff}
.sps-menu-toggle{display:none;width:44px;height:44px;border:0;background:#f5f3f3;border-radius:10px;padding:10px}
.sps-menu-toggle span{display:block;height:2px;background:#222;margin:5px 0}

.sps-hero{position:relative;min-height:670px;background:#fff;overflow:hidden}
.sps-hero:before{content:"";position:absolute;right:-260px;top:95px;width:920px;height:920px;border:80px solid var(--sps-red);border-radius:50%;opacity:.96}
.sps-hero:after{content:"";position:absolute;right:-125px;top:210px;width:690px;height:690px;border:38px solid #f4c7c9;border-radius:50%;opacity:.7}
.sps-hero-shape{position:absolute;border-radius:50%;pointer-events:none}
.sps-hero-shape-one{right:150px;top:75px;width:360px;height:360px;border:1px solid rgba(189,21,29,.12)}
.sps-hero-shape-two{right:28%;bottom:-220px;width:520px;height:520px;background:#f7eeee}
.sps-hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:60px;min-height:650px}
.sps-hero-copy{padding:65px 0 84px}
.sps-eyebrow,.sps-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--sps-red);text-transform:uppercase}
.sps-eyebrow{display:flex;align-items:center;gap:10px}
.sps-eyebrow span{width:28px;height:2px;background:var(--sps-red)}
.sps-hero h1{font-size:clamp(46px,5.3vw,76px);line-height:.99;letter-spacing:-.055em;margin:23px 0 24px;max-width:760px;color:#171717}
.sps-hero-copy>p{font-size:18px;line-height:1.7;color:#5f5d60;max-width:650px;margin:0 0 30px}
.sps-hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.sps-primary-btn,.sps-secondary-btn,.sps-light-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:11px;font-weight:800;font-size:14px;transition:.2s ease;border:0;cursor:pointer}
.sps-primary-btn{background:var(--sps-red);color:#fff!important;box-shadow:0 12px 28px rgba(189,21,29,.22)}
.sps-primary-btn:hover{transform:translateY(-1px);background:var(--sps-red-dark)}
.sps-primary-btn.full{width:100%}
.sps-secondary-btn{background:#fff;color:#29292b;border:1px solid #ded9da}
.sps-secondary-btn:hover{border-color:#cfc7c8;background:#fafafa}
.sps-light-btn{background:#fff;color:var(--sps-red)}
.sps-trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;color:#646165;font-size:12px;font-weight:650}
.sps-trust-row span{display:flex;align-items:center;gap:6px}
.sps-hero-visual{position:relative;height:560px}
.sps-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.38);z-index:1}
.sps-orbit-one{width:520px;height:520px;right:-110px;top:8px}
.sps-orbit-two{width:340px;height:340px;right:70px;top:98px}
.sps-dashboard-mock{position:absolute;z-index:3;right:4px;top:94px;width:min(510px,100%);min-height:365px;background:rgba(255,255,255,.96);border-radius:26px;padding:22px;box-shadow:0 35px 80px rgba(73,11,15,.25);border:1px solid rgba(255,255,255,.5);transform:rotate(-1.3deg)}
.sps-mock-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.sps-mock-top>div{display:flex;flex-direction:column}
.sps-mock-top small{color:#8b8587;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.sps-mock-top strong{font-size:21px;margin-top:4px}
.sps-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1d1d1f;color:#fff;font-size:11px;font-weight:800}
.sps-mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.sps-mock-kpis>div{padding:13px 14px;border-radius:15px;background:#f8f6f6;border:1px solid #eee8e8}
.sps-mock-kpis span{display:block;color:#8b8587;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.sps-mock-kpis strong{display:block;font-size:24px;margin-top:4px;color:#242426}
.sps-mock-panel{height:185px;border-radius:18px;background:#181719;padding:18px;color:#fff}
.sps-mock-panel-title{display:flex;justify-content:space-between;align-items:center}
.sps-mock-panel-title strong{font-size:13px}
.sps-mock-panel-title span{font-size:10px;color:#c9c6c8}
.sps-bars{height:120px;display:flex;align-items:flex-end;gap:12px;padding-top:18px}
.sps-bars i{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#f45a63 0%,var(--sps-red) 100%);box-shadow:0 8px 20px rgba(189,21,29,.2)}
.sps-floating-card{position:absolute;left:-62px;bottom:-42px;background:#fff;border-radius:17px;padding:13px 15px;box-shadow:0 18px 50px rgba(40,21,21,.18);display:flex;align-items:center;gap:12px;min-width:250px}
.sps-floating-icon{width:46px;height:46px;border-radius:13px;background:#fff1f2;color:var(--sps-red);display:grid;place-items:center;font-weight:900}
.sps-floating-card div{display:flex;flex-direction:column}
.sps-floating-card strong{font-size:13px}
.sps-floating-card small{font-size:10px;color:#8a8587;margin-top:3px}

.sps-quick-actions{position:relative;z-index:5;margin-top:-28px}
.sps-action-grid{display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 45px rgba(28,20,20,.09);border-radius:18px;overflow:hidden;background:#fff;border:1px solid #eee8e8}
.sps-action-card{position:relative;min-height:165px;padding:22px;display:flex;gap:13px;color:#242426;border-right:1px solid #eee8e8}
.sps-action-card:last-child{border-right:0}
.sps-action-card:hover{background:#fffafa}
.sps-action-no{font-size:10px;font-weight:900;color:var(--sps-red);letter-spacing:.12em;margin-top:4px}
.sps-action-card h3{font-size:17px;margin:0 0 7px}
.sps-action-card p{font-size:12px;line-height:1.55;color:#777174;margin:0}
.sps-action-card>b{position:absolute;right:18px;bottom:15px;color:var(--sps-red);font-size:17px}

.sps-section{padding:96px 0}
.sps-section-light{background:#faf9f9;margin-top:72px}
.sps-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:46px}
.sps-section-head>div{max-width:650px}
.sps-section-head h2,.sps-admissions-grid h2,.sps-impact-grid h2{font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.04em;margin:13px 0 0}
.sps-section-head>p{max-width:430px;color:#736e70;line-height:1.7;margin:0}
.sps-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sps-feature-card{background:#fff;border:1px solid #ebe6e6;border-radius:20px;padding:26px;min-height:210px;transition:.2s ease}
.sps-feature-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(40,30,30,.08)}
.sps-feature-card>span{width:46px;height:46px;border-radius:13px;background:#fff2f3;color:var(--sps-red);display:grid;place-items:center;font-weight:900;margin-bottom:26px}
.sps-feature-card h3{font-size:19px;margin:0 0 10px}
.sps-feature-card p{font-size:13px;color:#777174;line-height:1.65;margin:0}
.sps-red-section{background:linear-gradient(130deg,#991017 0%,#bd151d 48%,#cf252d 100%);color:#fff;position:relative;overflow:hidden}
.sps-red-section:after{content:"";position:absolute;right:-170px;top:-180px;width:620px;height:620px;border:80px solid rgba(255,255,255,.06);border-radius:50%}
.sps-impact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.sps-impact-grid>div:first-child{max-width:540px}
.sps-impact-grid p{color:rgba(255,255,255,.8);line-height:1.75;font-size:15px;margin:20px 0 28px}
.sps-kicker.light{color:#ffd6d8}
.sps-impact-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sps-impact-stats>div{min-height:155px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}
.sps-impact-stats strong{font-size:38px;line-height:1}
.sps-impact-stats span{font-size:12px;color:rgba(255,255,255,.75);margin-top:9px}
.sps-admissions-grid{display:grid;grid-template-columns:1fr .95fr;gap:90px;align-items:center}
.sps-admissions-grid>div>p{color:#736e70;line-height:1.75;font-size:15px;margin:22px 0 28px}
.sps-step-list{list-style:none;margin:0;padding:0;border:1px solid #ebe6e6;border-radius:22px;overflow:hidden}
.sps-step-list li{display:flex;gap:17px;padding:20px 22px;background:#fff;border-bottom:1px solid #ebe6e6}
.sps-step-list li:last-child{border-bottom:0}
.sps-step-list>li>span{width:35px;height:35px;flex:0 0 35px;border-radius:50%;display:grid;place-items:center;background:#fff1f2;color:var(--sps-red);font-weight:900;font-size:12px}
.sps-step-list strong{font-size:15px}
.sps-step-list p{font-size:12px;color:#7a7476;line-height:1.5;margin:5px 0 0}
.sps-events-section{background:#f8f7f7}
.sps-section-head>a{color:var(--sps-red);font-weight:800;font-size:13px}
.sps-events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sps-event-card{display:flex;gap:18px;background:#fff;border:1px solid #eae6e6;border-radius:17px;padding:19px}
.sps-event-date{width:64px;height:70px;flex:0 0 64px;border-radius:13px;background:#191819;color:#fff;display:grid;place-items:center;align-content:center}
.sps-event-date strong{font-size:25px;line-height:1}
.sps-event-date span{font-size:10px;margin-top:4px;letter-spacing:.08em}
.sps-event-type{font-size:10px;font-weight:800;color:var(--sps-red);text-transform:uppercase;letter-spacing:.1em}
.sps-event-card h3{font-size:16px;margin:5px 0}
.sps-event-card p{font-size:12px;color:#777174;line-height:1.5;margin:0}

.sps-site-footer{background:#171717;color:#fff;padding-top:64px}
.sps-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-bottom:50px}
.sps-footer-brand{display:flex;gap:16px;align-items:flex-start}
.sps-footer-brand img{width:72px;height:72px;border-radius:50%;background:#fff;object-fit:contain}
.sps-footer-brand strong{font-size:20px}
.sps-footer-brand p,.sps-footer-grid p{font-size:12px;line-height:1.6;color:#aaa6a7;margin:7px 0}
.sps-footer-grid h4{margin:0 0 15px;font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.1em}
.sps-footer-grid>div:not(:first-child){display:flex;flex-direction:column}
.sps-footer-grid a{color:#c7c3c4;font-size:13px;margin:4px 0}
.sps-footer-grid a:hover{color:#fff}
.sps-footer-bottom{border-top:1px solid #302e2f;padding:18px 0;color:#777;font-size:11px}

/* Authentication */
.sps-auth-page{min-height:calc(100vh - 78px);background:#f6f4f4;display:grid;place-items:center;padding:55px 20px}
.sps-auth-shell{width:min(980px,100%);min-height:590px;background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--sps-shadow);border:1px solid #ece7e7}
.sps-auth-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#8e0f15,#bd151d 58%,#d12b33);color:#fff;padding:65px 52px;display:flex;flex-direction:column;justify-content:center}
.sps-auth-art:after{content:"";position:absolute;width:520px;height:520px;border:54px solid rgba(255,255,255,.09);border-radius:50%;right:-290px;bottom:-220px}
.sps-auth-art-ring{position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.18);border-radius:50%;left:-160px;top:-90px}
.sps-auth-art img{width:92px;height:92px;border-radius:50%;background:#fff;object-fit:contain;margin-bottom:34px;position:relative;z-index:2}
.sps-auth-art h1{position:relative;z-index:2;font-size:42px;line-height:1.02;letter-spacing:-.04em;margin:13px 0 18px}
.sps-auth-art>p{position:relative;z-index:2;color:rgba(255,255,255,.82);font-size:14px;line-height:1.7;max-width:390px}
.sps-auth-role-list{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sps-auth-role-list span{border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:750}
.sps-auth-form-side{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}
.sps-auth-heading>span{font-size:11px;font-weight:850;color:var(--sps-red);text-transform:uppercase;letter-spacing:.12em}
.sps-auth-heading h2{font-size:32px;letter-spacing:-.035em;margin:8px 0}
.sps-auth-heading p{font-size:13px;color:#7b7578;line-height:1.6;margin:0 0 28px}
.sps-auth-form{display:flex;flex-direction:column;gap:16px}
.sps-auth-form label,.sps-change-password label{font-size:12px;font-weight:800;color:#3d393b}
.sps-auth-form input,.sps-change-password input{width:100%;height:48px;border:1px solid #ddd7d8;border-radius:10px;padding:0 13px;margin-top:7px;font:inherit;background:#fff;outline:none}
.sps-auth-form input:focus,.sps-change-password input:focus,.sps-registration-form input:focus,.sps-registration-form select:focus,.sps-registration-form textarea:focus{border-color:var(--sps-red);box-shadow:0 0 0 3px rgba(189,21,29,.08)}
.sps-password-wrap{position:relative}
.sps-password-wrap input{padding-right:58px}
.sps-password-toggle{position:absolute;right:7px;top:14px;border:0;background:#f4f1f1;padding:7px 9px;border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}
.sps-login-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:-3px}
.sps-login-meta>a,.sps-form-links>a,.sps-register-prompt a{color:var(--sps-red);font-weight:800}
.sps-check{display:flex!important;align-items:center;gap:7px;font-weight:600!important}
.sps-check input{width:15px!important;height:15px!important;margin:0!important}
.sps-register-prompt{text-align:center;font-size:12px;color:#777174;padding-top:3px}
.sps-form-links{text-align:center;margin-top:5px}
.sps-auth-signed-in{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:460px;text-align:center;padding:50px}
.sps-auth-signed-in img{width:100px;height:100px;border-radius:50%;object-fit:contain;margin-bottom:20px}
.sps-auth-signed-in h1{margin:0 0 8px}
.sps-auth-signed-in p{color:#777;margin-bottom:22px}
.sps-notice{padding:13px 14px;border-radius:10px;font-size:12px;margin-bottom:18px;border:1px solid}
.sps-notice.success{background:#ecf8f3;color:#166247;border-color:#cceadd}
.sps-notice.error{background:#fff0f1;color:#8a1820;border-color:#f2c8cb}
.sps-notice.large{font-size:14px;line-height:1.6;padding:18px 20px}

/* Registration */
.sps-registration-page{background:#f8f7f7;padding:58px 0 90px;min-height:70vh}
.sps-registration-hero{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:34px}
.sps-registration-hero>div:first-child{max-width:760px}
.sps-registration-hero h1{font-size:50px;letter-spacing:-.045em;margin:10px 0 12px}
.sps-registration-hero p{color:#716c6e;line-height:1.7;font-size:14px;margin:0}
.sps-registration-badge{background:#1c1b1c;color:#fff;border-radius:15px;padding:16px 20px;display:flex;flex-direction:column;min-width:160px}
.sps-registration-badge strong{font-size:20px}
.sps-registration-badge span{font-size:10px;color:#bbb;margin-top:5px}
.sps-registration-form{display:flex;flex-direction:column;gap:17px}
.sps-form-section{background:#fff;border:1px solid #e9e5e5;border-radius:22px;padding:27px;box-shadow:0 8px 30px rgba(34,24,24,.03)}
.sps-form-section-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid #eee9e9;padding-bottom:18px;margin-bottom:22px}
.sps-form-section-head>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff0f1;color:var(--sps-red);font-weight:900;font-size:11px}
.sps-form-section-head h2{font-size:19px;margin:0}
.sps-form-section-head p{font-size:11px;color:#878083;margin:4px 0 0}
.sps-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sps-registration-form label{font-size:11px;font-weight:800;color:#4a4547}
.sps-registration-form input,.sps-registration-form select,.sps-registration-form textarea{width:100%;height:46px;border:1px solid #ddd8d9;border-radius:9px;padding:0 12px;margin-top:7px;background:#fff;font:inherit;outline:none}
.sps-registration-form textarea{min-height:95px;padding:11px;resize:vertical}
.sps-registration-form .span2{grid-column:span 2}
.sps-registration-form .span3{grid-column:1/-1}
.sps-registration-notice{background:#fff4f4;border-left:4px solid var(--sps-red);border-radius:10px;padding:16px 18px;font-size:12px;color:#5d5557}
.sps-registration-notice p{margin:5px 0 0;line-height:1.6}
.sps-consent-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:600!important;line-height:1.6;padding:3px 5px}
.sps-consent-check input{width:16px!important;height:16px!important;margin:3px 0 0!important}
.sps-form-submit{display:flex;align-items:center;justify-content:space-between;padding-top:8px}
.sps-form-submit>a{font-size:12px;color:var(--sps-red);font-weight:800}

/* Portal */
.sps-portal-app{min-height:100vh;background:#f5f4f4;display:grid;grid-template-columns:250px 1fr;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#272527}
.sps-portal-sidebar{background:#171717;color:#fff;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}
.sps-portal-brand{height:84px;border-bottom:1px solid #2b292a;display:flex;align-items:center;gap:12px;padding:0 20px}
.sps-portal-brand img{width:48px;height:48px;border-radius:50%;background:#fff;object-fit:contain}
.sps-portal-brand div{display:flex;flex-direction:column}
.sps-portal-brand strong{font-size:15px}
.sps-portal-brand span{font-size:9px;color:#999;margin-top:4px}
.sps-user-mini{margin:18px 14px;padding:13px;border-radius:12px;background:#222;display:flex;gap:10px;align-items:center}
.sps-user-avatar{width:37px;height:37px;border-radius:10px;background:var(--sps-red);display:grid;place-items:center;font-weight:900;font-size:12px}
.sps-user-mini div{display:flex;flex-direction:column;min-width:0}
.sps-user-mini strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sps-user-mini small{font-size:9px;color:#9f9a9c;margin-top:4px}
.sps-portal-nav{padding:0 12px;display:flex;flex-direction:column;gap:4px}
.sps-portal-nav a{display:flex;align-items:center;gap:11px;color:#bdb9ba;padding:11px 12px;border-radius:9px;font-size:11px;font-weight:700}
.sps-portal-nav a span{width:24px;height:24px;border-radius:7px;background:#242324;display:grid;place-items:center;color:#aaa;font-size:10px}
.sps-portal-nav a:hover,.sps-portal-nav a.active{background:#2a2021;color:#fff}
.sps-portal-nav a.active span{background:var(--sps-red);color:#fff}
.sps-portal-side-foot{margin-top:auto;padding:18px 22px;border-top:1px solid #2b292a}
.sps-portal-side-foot a{color:#8f8b8d;font-size:10px}
.sps-portal-main{min-width:0}
.sps-portal-topbar{height:74px;background:#fff;border-bottom:1px solid #e5e2e2;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}
.sps-portal-topbar>div{display:flex;align-items:center;gap:12px}
.sps-portal-topbar>div>div{display:flex;flex-direction:column}
.sps-portal-topbar small{font-size:9px;color:#959092;text-transform:uppercase;letter-spacing:.08em}
.sps-portal-topbar strong{font-size:16px;margin-top:3px}
.sps-portal-menu-toggle{display:none;border:0;background:#f2efef;border-radius:8px;width:38px;height:38px}
.sps-portal-date{font-size:10px;color:#817c7e}
.sps-portal-content{padding:27px;max-width:1500px;margin:0 auto}
.sps-portal-welcome{background:linear-gradient(130deg,#1d1c1d,#2d2425);color:#fff;border-radius:20px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;position:relative;overflow:hidden}
.sps-portal-welcome:after{content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;border:45px solid rgba(189,21,29,.28);border-radius:50%}
.sps-portal-welcome>div{position:relative;z-index:2}
.sps-portal-welcome span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#c8c1c3}
.sps-portal-welcome h1{font-size:29px;margin:6px 0 5px;letter-spacing:-.03em}
.sps-portal-welcome p{font-size:11px;color:#a8a2a4;margin:0}
.sps-portal-welcome.compact{padding:21px 25px}
.sps-portal-welcome.compact h1{font-size:24px}
.sps-year-pill{position:relative;z-index:2;border:1px solid #474142;background:#292526;border-radius:11px;padding:10px 14px;font-size:12px;font-weight:800}
.sps-portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}
.sps-portal-kpi{background:#fff;border:1px solid #e6e2e2;border-radius:15px;padding:18px;position:relative;overflow:hidden}
.sps-portal-kpi:after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;right:-16px;top:-18px;background:#f6eded}
.sps-portal-kpi>span{font-size:9px;color:#898385;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.sps-portal-kpi>strong{display:block;font-size:23px;margin:8px 0 5px;letter-spacing:-.025em}
.sps-portal-kpi>small{font-size:9px;color:#aaa4a6}
.sps-portal-kpi.finance{border-top:3px solid var(--sps-green)}
.sps-portal-kpi.grades{border-top:3px solid var(--sps-red)}
.sps-portal-kpi.attendance{border-top:3px solid var(--sps-blue)}
.sps-portal-kpi.class{border-top:3px solid var(--sps-gold)}
.sps-portal-panels{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}
.sps-portal-panels.account-grid{grid-template-columns:.75fr 1.25fr}
.sps-portal-panel{background:#fff;border:1px solid #e6e2e2;border-radius:16px;padding:19px}
.sps-panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.sps-panel-title>div{display:flex;flex-direction:column}
.sps-panel-title span{font-size:8px;color:var(--sps-red);font-weight:850;text-transform:uppercase;letter-spacing:.11em}
.sps-panel-title h2{font-size:16px;margin:4px 0 0}
.sps-panel-link{font-size:10px;color:var(--sps-red);font-weight:800}
.sps-quick-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.sps-quick-link-grid a{position:relative;padding:14px;border:1px solid #ece8e8;border-radius:11px;color:#292729;display:flex;flex-direction:column}
.sps-quick-link-grid a:hover{background:#fffafa;border-color:#e5c6c8}
.sps-quick-link-grid strong{font-size:12px}
.sps-quick-link-grid span{font-size:9px;color:#8a8587;margin-top:4px}
.sps-quick-link-grid b{position:absolute;right:12px;top:12px;color:var(--sps-red)}
.sps-portal-event-list{display:flex;flex-direction:column}
.sps-portal-event-list>div{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0eded}
.sps-portal-event-list>div:last-child{border-bottom:0}
.sps-portal-event-list .date{width:38px;height:42px;border-radius:8px;background:#f3eeee;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:7px;color:#777}
.sps-portal-event-list .date strong{font-size:14px;color:#292729}
.sps-portal-event-list>div>div{display:flex;flex-direction:column;min-width:0}
.sps-portal-event-list strong{font-size:10px}
.sps-portal-event-list small{font-size:8px;color:#9c9698;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sps-child-list{display:flex;flex-direction:column;gap:7px}
.sps-child-list a{display:flex;align-items:center;gap:11px;border:1px solid #ece8e8;border-radius:11px;padding:11px;color:#2d2a2c}
.sps-child-list a:hover{background:#fffafa}
.sps-child-avatar{width:38px;height:38px;border-radius:10px;background:#191819;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}
.sps-child-list a div{display:flex;flex-direction:column}
.sps-child-list a strong{font-size:11px}
.sps-child-list a small{font-size:8px;color:#969092;margin-top:3px}
.sps-child-list a b{margin-left:auto;font-size:9px;color:var(--sps-red)}
.sps-student-switcher{display:flex;gap:7px;margin:-5px 0 15px}
.sps-student-switcher a{padding:8px 13px;border-radius:999px;border:1px solid #e1dddd;color:#5e5a5c;font-size:10px;font-weight:800;background:#fff}
.sps-student-switcher a.active{background:var(--sps-red);border-color:var(--sps-red);color:#fff}
.sps-table-responsive{overflow:auto}
.sps-data-table{width:100%;border-collapse:collapse;font-size:10px}
.sps-data-table th{padding:10px;text-align:left;background:#f8f6f6;color:#7c7678;text-transform:uppercase;letter-spacing:.07em;font-size:8px;border-bottom:1px solid #ebe7e7}
.sps-data-table td{padding:11px 10px;border-bottom:1px solid #f0eded;color:#514c4e}
.sps-data-table tr:last-child td{border-bottom:0}
.sps-grade-chip{display:inline-grid;place-items:center;min-width:28px;height:25px;border-radius:7px;font-size:10px;font-weight:900}
.sps-grade-chip.grade-a{background:#e7f6ef;color:#0a6b4a}
.sps-grade-chip.grade-b{background:#edf3fb;color:#2d5b9a}
.sps-grade-chip.grade-c{background:#fff5dd;color:#9a6d12}
.sps-grade-chip.grade-d{background:#fff0e4;color:#a35318}
.sps-grade-chip.grade-f{background:#fde9eb;color:#9c1e29}
.sps-profile-card{text-align:center}
.sps-profile-avatar{width:70px;height:70px;border-radius:20px;background:var(--sps-red);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900;margin:4px auto 12px}
.sps-profile-card h2{font-size:18px;margin:0}
.sps-profile-card>p{font-size:10px;color:#898385;margin:5px 0 20px}
.sps-profile-card dl{margin:0;text-align:left}
.sps-profile-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #efebeb}
.sps-profile-card dt{font-size:9px;color:#8d8789}
.sps-profile-card dd{font-size:9px;font-weight:800;margin:0}
.sps-change-password{display:flex;flex-direction:column;gap:13px}
.sps-change-password small{display:block;font-size:8px;color:#9c9698;margin-top:4px}
.sps-empty-card,.sps-empty{background:#fff;border:1px dashed #d9d3d4;border-radius:14px;padding:30px;text-align:center;color:#777}
.sps-empty-card h2{margin:0 0 8px;color:#333}
.sps-demo-note{font-size:9px;line-height:1.5;color:#8d8789;margin:12px 0 0}
.sps-report-back{margin-bottom:12px}
.sps-report-back a{font-size:10px;color:var(--sps-red);font-weight:800}

/* Progress report shared */
.sps-progress-report{max-width:920px;margin:0 auto;background:#fff;border:1px solid #d9d4d5;padding:34px 38px;box-shadow:0 12px 35px rgba(30,20,20,.06);color:#111}
.sps-report-actions{text-align:right;margin-bottom:15px}
.sps-print-button{background:var(--sps-red);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}
.sps-report-head{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;padding-bottom:18px;border-bottom:3px double #222}
.sps-report-head img{width:84px;height:84px;border-radius:50%;object-fit:contain}
.sps-report-school{font-size:28px;font-weight:900;letter-spacing:.04em}
.sps-report-title{font-size:18px;font-weight:850;margin-top:6px;text-decoration:underline}
.sps-report-meta{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border:1px solid #222;border-bottom:0;margin-top:20px}
.sps-report-meta>div{padding:9px 10px;border-right:1px solid #222}
.sps-report-meta>div:last-child{border-right:0}
.sps-report-meta span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#666}
.sps-report-meta strong{display:block;font-size:11px;margin-top:4px}
.sps-report-table-wrap{overflow:auto}
.sps-report-table{width:100%;border-collapse:collapse;border:1px solid #222}
.sps-report-table th,.sps-report-table td{border:1px solid #222;padding:8px 9px;font-size:10px;text-align:left}
.sps-report-table th{background:#f1eeee;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.sps-report-table tfoot th{background:#e5e0e0}
.sps-grade-key{border:1px solid #222;border-top:0;padding:10px;font-size:8.5px;line-height:1.6}
.sps-report-summary{display:grid;grid-template-columns:1fr 1fr 2fr;border:1px solid #222;border-top:0}
.sps-report-summary>div{padding:10px;border-right:1px solid #222}
.sps-report-summary>div:last-child{border-right:0}
.sps-report-summary span{display:block;font-size:8px;text-transform:uppercase;font-weight:800}
.sps-report-summary strong{display:block;font-size:11px;margin-top:3px}
.sps-report-summary small{display:block;font-size:8px;margin-top:3px}
.sps-report-comments{border:1px solid #222;border-top:0;padding:10px;font-size:8.5px;line-height:1.55}
.sps-report-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:42px;text-align:center;font-size:8px}
.sps-report-signatures span{display:block;border-top:1px solid #333;margin-bottom:5px}
.sps-report-foot{text-align:center;font-size:7px;color:#777;margin-top:24px}

/* Responsive */
@media(max-width:1050px){
  .sps-main-nav>a:not(.sps-nav-signin){display:none}
  .sps-menu-toggle{display:block;margin-left:auto;margin-right:10px}
  .sps-main-nav.open{position:absolute;left:20px;right:20px;top:70px;background:#fff;border:1px solid #e9e4e4;border-radius:13px;box-shadow:var(--sps-shadow);padding:10px;display:flex;flex-direction:column;align-items:stretch}
  .sps-main-nav.open>a:not(.sps-nav-signin){display:block}
  .sps-main-nav.open .sps-nav-signin{margin-left:0;text-align:center}
  .sps-hero-grid{grid-template-columns:1fr .85fr;gap:20px}
  .sps-hero h1{font-size:56px}
  .sps-action-grid{grid-template-columns:repeat(2,1fr)}
  .sps-action-card:nth-child(2){border-right:0}
  .sps-action-card:nth-child(-n+2){border-bottom:1px solid #eee8e8}
  .sps-feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .sps-top-strip{display:none}
  .sps-main-header{height:72px}
  .sps-brand-lockup img{width:48px;height:48px}
  .sps-brand-lockup small{display:none}
  .sps-hero{min-height:auto}
  .sps-hero:before{right:-430px;top:260px}
  .sps-hero-grid{grid-template-columns:1fr}
  .sps-hero-copy{padding:64px 0 30px}
  .sps-hero h1{font-size:clamp(43px,10vw,65px)}
  .sps-hero-visual{height:480px}
  .sps-dashboard-mock{left:0;right:auto;top:40px;width:min(520px,92%)}
  .sps-quick-actions{margin-top:0}
  .sps-section-head,.sps-impact-grid,.sps-admissions-grid{grid-template-columns:1fr;display:grid;gap:30px}
  .sps-section-head{align-items:start}
  .sps-section-head>p{max-width:600px}
  .sps-footer-grid{grid-template-columns:1fr 1fr}
  .sps-footer-brand{grid-column:1/-1}
  .sps-auth-shell{grid-template-columns:1fr}
  .sps-auth-art{min-height:360px;padding:42px}
  .sps-auth-form-side{padding:42px}
  .sps-form-grid{grid-template-columns:repeat(2,1fr)}
  .sps-registration-form .span2{grid-column:span 2}
  .sps-portal-app{grid-template-columns:1fr}
  .sps-portal-sidebar{position:fixed;z-index:100;left:-270px;width:250px;transition:.2s ease}
  .sps-portal-sidebar.open{left:0}
  .sps-portal-menu-toggle{display:block}
  .sps-portal-kpis{grid-template-columns:repeat(2,1fr)}
  .sps-portal-panels,.sps-portal-panels.account-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .sps-container{width:min(100% - 26px,1180px)}
  .sps-brand-lockup strong{font-size:15px}
  .sps-main-nav .sps-nav-signin{padding:10px 13px}
  .sps-hero-copy{padding-top:46px}
  .sps-hero-copy>p{font-size:15px}
  .sps-trust-row{flex-direction:column;gap:7px}
  .sps-hero-visual{height:430px}
  .sps-dashboard-mock{top:35px;padding:16px}
  .sps-floating-card{left:10px;bottom:-30px}
  .sps-action-grid{grid-template-columns:1fr}
  .sps-action-card{border-right:0;border-bottom:1px solid #eee8e8}
  .sps-action-card:last-child{border-bottom:0}
  .sps-section{padding:65px 0}
  .sps-section-light{margin-top:45px}
  .sps-feature-grid,.sps-events-grid,.sps-impact-stats{grid-template-columns:1fr}
  .sps-footer-grid{grid-template-columns:1fr;gap:34px}
  .sps-footer-brand{grid-column:auto}
  .sps-auth-page{padding:25px 13px}
  .sps-auth-shell{border-radius:20px}
  .sps-auth-art{min-height:310px;padding:32px}
  .sps-auth-art h1{font-size:34px}
  .sps-auth-form-side{padding:32px 25px}
  .sps-registration-page{padding:40px 0 65px}
  .sps-registration-hero{align-items:flex-start;flex-direction:column}
  .sps-registration-hero h1{font-size:40px}
  .sps-registration-badge{width:100%}
  .sps-form-section{padding:20px}
  .sps-form-grid{grid-template-columns:1fr}
  .sps-registration-form .span2,.sps-registration-form .span3{grid-column:auto}
  .sps-form-submit{align-items:stretch;flex-direction:column;gap:15px}
  .sps-portal-topbar{padding:0 16px}
  .sps-portal-date{display:none}
  .sps-portal-content{padding:16px}
  .sps-portal-kpis{grid-template-columns:1fr}
  .sps-quick-link-grid{grid-template-columns:1fr}
  .sps-progress-report{padding:20px 15px}
  .sps-report-school{font-size:20px}
  .sps-report-title{font-size:14px}
  .sps-report-meta{grid-template-columns:1fr 1fr}
  .sps-report-meta>div:nth-child(2){border-right:0}
  .sps-report-meta>div:nth-child(-n+2){border-bottom:1px solid #222}
  .sps-report-summary{grid-template-columns:1fr}
  .sps-report-summary>div{border-right:0;border-bottom:1px solid #222}
  .sps-report-summary>div:last-child{border-bottom:0}
  .sps-report-signatures{grid-template-columns:1fr;gap:24px}
}
@media print{
  body.sps-standalone-page{background:#fff}
  .sps-portal-sidebar,.sps-portal-topbar,.sps-report-back,.sps-report-actions,.sps-site-footer,.sps-main-header,.sps-top-strip{display:none!important}
  .sps-portal-app{display:block;background:#fff}
  .sps-portal-content{padding:0}
  .sps-progress-report{box-shadow:none;border:0;max-width:none;padding:0}
}


/* ==========================================================
   SPS PRIME SCHOOL MANAGER 3.0 — APPLICATION UI
   ========================================================== */
.sps-portal-app{min-height:100vh;background:#f4f6f9;color:#1d2635;display:flex;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.sps-portal-sidebar{width:274px;background:#111827;color:#fff;min-height:100vh;position:fixed;left:0;top:0;bottom:0;z-index:80;padding:22px 16px 18px;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(17,24,39,.08);overflow-y:auto}
.sps-portal-brand{display:flex;align-items:center;gap:12px;padding:6px 8px 18px;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)}
.sps-portal-brand img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff;padding:2px;flex:0 0 auto}
.sps-portal-brand div{min-width:0;display:flex;flex-direction:column}
.sps-portal-brand strong{font-size:18px;letter-spacing:-.02em}
.sps-portal-brand span{font-size:10.5px;color:#9ca3af;margin-top:3px;line-height:1.3}
.sps-user-mini{margin:18px 5px 10px;background:#1f2937;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px}
.sps-user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d51c24,#8d0f15);font-weight:900;flex:0 0 auto}
.sps-user-mini div{min-width:0;display:flex;flex-direction:column}
.sps-user-mini strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sps-user-mini small{color:#9ca3af;font-size:10.5px;margin-top:3px}
.sps-portal-nav{display:flex;flex-direction:column;gap:3px;margin-top:7px}
.sps-portal-nav>a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#cbd5e1!important;font-size:13px;font-weight:650;transition:.15s ease}
.sps-portal-nav>a>span{width:22px;text-align:center;font-size:15px;color:#f1a3a7}
.sps-portal-nav>a:hover{background:#1f2937;color:#fff!important}
.sps-portal-nav>a.active{background:linear-gradient(135deg,#c51620,#a60f17);color:#fff!important;box-shadow:0 8px 20px rgba(189,21,29,.2)}
.sps-portal-nav>a.active>span{color:#fff}
.sps-nav-divider{display:block;color:#6b7280;font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;padding:17px 11px 6px}
.sps-portal-side-foot{margin-top:auto;padding:18px 10px 2px;border-top:1px solid rgba(255,255,255,.07)}
.sps-portal-side-foot a{color:#94a3b8!important;font-size:12px}
.sps-portal-main{margin-left:274px;width:calc(100% - 274px);min-height:100vh}
.sps-portal-topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:45;display:flex;align-items:center;justify-content:space-between;padding:0 28px;backdrop-filter:blur(12px)}
.sps-portal-topbar>div:first-child{display:flex;align-items:center;gap:12px}
.sps-portal-topbar small{display:block;color:#8b95a4;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.sps-portal-topbar strong{display:block;font-size:17px;color:#111827;margin-top:3px}
.sps-portal-menu-toggle{display:none;border:1px solid #e5e7eb;background:#fff;border-radius:9px;width:40px;height:40px;font-size:18px}
.sps-topbar-actions{display:flex;align-items:center;gap:12px}
.sps-term-pill{display:inline-flex;background:#fff0f1;color:#a30d15;border:1px solid #f4c8ca;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}
.sps-portal-date{font-size:12px;color:#657184}
.sps-portal-content{padding:28px;max-width:1680px;margin:0 auto}
.sps-page-head,.sps-portal-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.sps-page-head span,.sps-portal-welcome>div>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b5141c;font-weight:900}
.sps-page-head h1,.sps-portal-welcome h1{margin:5px 0 5px;font-size:30px;letter-spacing:-.035em;color:#151c28}
.sps-page-head p,.sps-portal-welcome p{margin:0;color:#6d7888;max-width:750px;font-size:13px;line-height:1.6}
.sps-head-badge,.sps-year-pill{background:#fff;border:1px solid #e4e7eb;border-radius:12px;padding:12px 16px;font-weight:850;color:#b5141c;white-space:nowrap;box-shadow:0 4px 12px rgba(16,24,40,.04)}
.sps-portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.sps-kpi-card{background:#fff;border:1px solid #e6e8ec;border-radius:16px;padding:17px;display:flex;align-items:center;gap:13px;box-shadow:0 6px 16px rgba(16,24,40,.035);min-width:0}
.sps-kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f7eaeb;color:#b5141c;font-weight:900;flex:0 0 auto}
.sps-kpi-card.finance .sps-kpi-icon{background:#eaf7f2;color:#147d64}.sps-kpi-card.attendance .sps-kpi-icon{background:#edf3ff;color:#315ca8}.sps-kpi-card.achievement .sps-kpi-icon{background:#fff6dc;color:#b07d13}
.sps-kpi-card div{min-width:0}.sps-kpi-card small{display:block;color:#7d8795;font-size:11px;font-weight:650;margin-bottom:4px}.sps-kpi-card strong{display:block;font-size:22px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sps-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.sps-span-2{min-width:0}
.sps-portal-panel{background:#fff;border:1px solid #e4e7eb;border-radius:17px;padding:19px;box-shadow:0 5px 14px rgba(16,24,40,.035);min-width:0;margin-bottom:16px}
.sps-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.sps-panel-title>div>span{display:block;color:#a90f17;font-weight:850;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.sps-panel-title h2,.sps-panel-title>h2{margin:3px 0 0;font-size:18px;letter-spacing:-.025em;color:#1a2230}
.sps-panel-link{font-size:11px;font-weight:800;color:#b5141c!important;white-space:nowrap}
.sps-action-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sps-action-cards>a{border:1px solid #e8e9ec;border-radius:13px;padding:14px;color:#1f2937!important;background:#fbfbfc;display:flex;flex-direction:column;min-height:112px}
.sps-action-cards>a>span{font-size:11px;color:#7b8492}.sps-action-cards>a>strong{font-size:28px;margin:7px 0}.sps-action-cards>a>b{margin-top:auto;font-size:10px;color:#b5141c}
.sps-portal-event-list>div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #eef0f2}.sps-portal-event-list>div:last-child{border-bottom:0}
.sps-portal-event-list .date{width:40px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff0f1;color:#a80f17;border-radius:9px;font-size:9px;font-weight:800}.sps-portal-event-list .date strong{font-size:17px;line-height:1}
.sps-portal-event-list>div>div{display:flex;flex-direction:column;min-width:0}.sps-portal-event-list>div>div strong{font-size:12px}.sps-portal-event-list small{font-size:10px;color:#7b8492;margin-top:3px;line-height:1.4}
.sps-workflow-line{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-x:auto;padding-bottom:4px}.sps-workflow-line>span{min-width:155px;display:flex;align-items:center;gap:8px;background:#f8f9fb;border:1px solid #e8eaee;border-radius:12px;padding:12px;font-size:11px;font-weight:750}.sps-workflow-line b{width:24px;height:24px;border-radius:50%;background:#bd151d;color:#fff;display:grid;place-items:center;font-size:10px}.sps-workflow-line i{font-style:normal;color:#aab1bb}
.sps-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sps-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sps-form-layout{grid-template-columns:.9fr 1.5fr}.sps-grade-tools{grid-template-columns:1.6fr 1fr}
.sps-admin-form{display:flex;flex-direction:column;gap:11px}.sps-admin-form.horizontal{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end}
.sps-admin-form label,.sps-filter-bar label,.sps-print-launcher label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#566174;font-weight:800}
.sps-admin-form input,.sps-admin-form select,.sps-admin-form textarea,.sps-filter-bar input,.sps-filter-bar select,.sps-print-launcher select,.sps-inline-form input,.sps-inline-form select,.sps-inline-form textarea{width:100%;border:1px solid #d8dde4;border-radius:9px;background:#fff;color:#182130;min-height:38px;padding:8px 10px;font:inherit;font-size:12px;outline:0}
.sps-admin-form input:focus,.sps-admin-form select:focus,.sps-admin-form textarea:focus,.sps-filter-bar input:focus,.sps-filter-bar select:focus{border-color:#bd151d;box-shadow:0 0 0 3px rgba(189,21,29,.08)}
.sps-admin-form textarea{min-height:82px;resize:vertical}.sps-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.sps-form-grid .span2{grid-column:span 2}
.sps-admin-form .sps-primary-btn,.sps-admin-form .sps-secondary-btn{min-height:42px}
.sps-filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:12px;margin-bottom:16px}.sps-filter-bar label{min-width:190px;flex:1}.sps-filter-bar button,.sps-inline-form button{min-height:38px;border:0;border-radius:9px;background:#1f2937;color:#fff;padding:0 15px;font-weight:800;font-size:11px;cursor:pointer}
.sps-inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.sps-inline-form select{width:auto;min-width:120px}.sps-inline-form .sps-small-input{width:80px}.sps-inline-form button.danger,.sps-approval-actions button.danger{background:#a00f17}
.sps-table-responsive{width:100%;overflow-x:auto}.sps-data-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:720px}.sps-data-table th{text-align:left;color:#5f6b7c;font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;background:#f7f8fa;padding:10px;border-bottom:1px solid #e4e7eb;white-space:nowrap}.sps-data-table td{padding:10px;border-bottom:1px solid #edf0f3;vertical-align:middle;color:#293241}.sps-data-table tbody tr:hover{background:#fffafa}.sps-data-table td>a{color:#ac1018!important;font-weight:750}.sps-data-table small.sps-block,.sps-block{display:block;margin-top:3px;color:#87909e;font-size:9.5px}
.sps-person-cell{display:flex;align-items:center;gap:9px}.sps-mini-avatar,.sps-child-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f7e9ea;color:#ad1018;font-weight:900;flex:0 0 auto}.sps-person-cell>div{display:flex;flex-direction:column}.sps-person-cell small{font-size:9px;color:#89919d}
.sps-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef1f4;color:#55606f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.sps-status.active,.sps-status.published{background:#e8f6ef;color:#147451}.sps-status.submitted{background:#fff3d9;color:#996911}.sps-status.approved{background:#eaf0ff;color:#315ca8}.sps-status.returned,.sps-status.rejected{background:#fae8e9;color:#a00f17}
.sps-status.workflow{font-size:10px;padding:7px 10px}
.sps-workflow-mini{display:flex;gap:6px;flex-wrap:wrap}.sps-workflow-mini span{padding:7px 10px;border-radius:8px;border:1px solid #e3e6eb;background:#f7f8fa;color:#89919e;font-size:9.5px;font-weight:800}.sps-workflow-mini span.active{background:#bd151d;color:#fff;border-color:#bd151d}
.sps-grade-input{width:72px!important;min-height:34px!important;padding:5px!important;text-align:center}.sps-grade-chip{display:inline-grid;place-items:center;min-width:30px;height:27px;border-radius:8px;font-weight:900;background:#eef1f5;color:#495467}.sps-grade-chip.grade-a{background:#e7f6ee;color:#147451}.sps-grade-chip.grade-b{background:#edf3ff;color:#315ca8}.sps-grade-chip.grade-c{background:#fff5dd;color:#9a6c11}.sps-grade-chip.grade-d,.sps-grade-chip.grade-f{background:#fae8e9;color:#a00f17}.grade-entry th small{display:block;font-weight:500;text-transform:none;letter-spacing:0;margin-top:3px;color:#939baa}
.sps-panel-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #eceef1}.sps-panel-actions form{margin:0}
.sps-approval-actions{margin-top:7px}.sps-approval-actions form{display:grid;grid-template-columns:1fr auto auto;gap:5px}.sps-approval-actions textarea{grid-column:1/-1;min-height:48px}
.sps-report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.sps-report-card-grid article{background:#fff;border:1px solid #e4e7eb;border-radius:15px;padding:17px}.sps-report-card-grid article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f7e9ea;color:#af1018}.sps-report-card-grid h3{font-size:15px;margin:12px 0 5px}.sps-report-card-grid p{font-size:11px;line-height:1.55;color:#727d8b;margin:0 0 10px}.sps-report-card-grid small{font-size:9px;background:#f5f6f8;padding:4px 7px;border-radius:6px;color:#687383}
.sps-print-launcher{display:grid;grid-template-columns:1.15fr 1.35fr 1fr 1.35fr 1.2fr auto;gap:10px;align-items:end}
.sps-id-profile{display:flex;align-items:center;gap:15px;margin-bottom:18px}.sps-id-photo{width:110px;height:128px;border-radius:12px;object-fit:cover;background:#f1e8e8;border:1px solid #e2d7d7}.sps-id-photo.placeholder,.sps-id-photo>span{display:grid;place-items:center;font-size:34px;font-weight:900;color:#a51018}.sps-id-profile h2{margin:0 0 4px}.sps-id-profile p{margin:0;color:#7b8492}
.sps-child-list{display:grid;gap:8px}.sps-child-list>a{display:flex;align-items:center;gap:11px;color:#252d3b!important;padding:11px;border:1px solid #ebedf0;border-radius:12px}.sps-child-list>a>div{display:flex;flex-direction:column;flex:1}.sps-child-list small{font-size:10px;color:#7d8795;margin-top:3px}.sps-child-list b{font-size:10px;color:#b5141c}
.sps-achievement-badge{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;font-size:11px;font-weight:900;background:#f5f6f8}.sps-achievement-badge b{font-size:20px}.sps-achievement-badge.gold{background:linear-gradient(135deg,#fff7da,#f5dd91);color:#805b08}.sps-achievement-badge.blue{background:#eaf1ff;color:#315ca8}.sps-achievement-badge.green{background:#e8f7ef;color:#147451}
.sps-profile-card{text-align:center;padding:20px}.sps-profile-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#bd151d;color:#fff;font-size:28px;font-weight:900;margin:0 auto 12px}.sps-profile-card h2{margin:0}.sps-profile-card>p{color:#7b8492;margin:4px 0 18px}.sps-profile-card dl{margin:0;text-align:left}.sps-profile-card dl>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #eceef1}.sps-profile-card dt{color:#7c8593;font-size:10px}.sps-profile-card dd{font-size:11px;font-weight:750;margin:0}
.sps-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important}.sps-check input{width:auto!important;min-height:auto!important}.sps-check.tiny{font-size:9px!important}
.sps-empty-card{background:#fff;border:1px dashed #d6dbe2;border-radius:16px;padding:32px;text-align:center;color:#697484}.sps-empty-card h2{color:#202938}
.sps-notice.warning{background:#fff8e6;border-color:#eedaa6;color:#72561b}

/* ==========================================================
   OFFICIAL PRINT DOCUMENTS
   ========================================================== */
.sps-document,.sps-id-page{--doc-red:#b3131a;--doc-dark:#151515;--doc-gold:#c9982e;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif}
.sps-document{width:min(980px,100%);margin:22px auto;padding:28px 34px;border:1px solid #dcdcdc;box-shadow:0 14px 42px rgba(0,0,0,.08)}
.sps-print-actions{display:flex;align-items:center;gap:12px;background:#f6f7f9;border:1px solid #e0e3e7;padding:10px 12px;border-radius:9px;margin-bottom:18px;color:#667085;font-size:11px}.sps-print-actions button{background:#161b22;color:#fff;border:0;border-radius:7px;padding:9px 15px;font-weight:800;cursor:pointer}
.sps-doc-letterhead{display:grid;grid-template-columns:92px 1fr 135px;align-items:center;gap:18px;padding-bottom:15px;border-bottom:4px solid var(--doc-red)}.sps-doc-logo{width:86px;height:86px;object-fit:contain}.sps-doc-school{text-align:center}.sps-doc-school h1{font-size:24px;text-transform:uppercase;color:#b3131a;letter-spacing:.025em;margin:0 0 4px}.sps-doc-school p{font-size:10px;margin:2px;color:#353535}.sps-doc-school h2{font-size:15px;letter-spacing:.08em;margin:10px 0 2px}.sps-doc-subtitle{font-size:10px;font-weight:800}.sps-doc-year{border:1px solid #d8d8d8;border-radius:8px;text-align:center;padding:9px}.sps-doc-year span{display:block;font-size:8px;text-transform:uppercase;color:#777}.sps-doc-year strong{display:block;font-size:13px;margin-top:4px}
.sps-doc-meta{display:grid;border:1px solid #222;border-top:0}.sps-doc-meta.four{grid-template-columns:repeat(4,1fr)}.sps-doc-meta.three{grid-template-columns:repeat(3,1fr)}.sps-doc-meta>div{padding:9px 11px;border-right:1px solid #222}.sps-doc-meta>div:last-child{border-right:0}.sps-doc-meta span,.sps-receipt-grid span{display:block;font-size:8px;text-transform:uppercase;color:#656565;font-weight:700}.sps-doc-meta strong,.sps-receipt-grid strong{font-size:11px;display:block;margin-top:3px}
.sps-achievement-strip{display:grid;grid-template-columns:1.25fr 1.25fr .8fr;gap:10px;margin:14px 0}.sps-achievement,.sps-progress-indicator,.sps-average-tile{display:flex;align-items:center;gap:10px;border:1px solid #dedede;border-radius:8px;padding:10px}.sps-achievement>span,.sps-progress-indicator>span{font-size:26px}.sps-achievement small,.sps-progress-indicator small,.sps-average-tile small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.06em;color:#777}.sps-achievement strong,.sps-progress-indicator strong{display:block;font-size:11px;margin-top:2px}.sps-achievement.gold{background:#fff9e9;border-color:#e5cf85;color:#8a6206}.sps-achievement.blue{background:#eff4ff;color:#315ca8}.sps-achievement.green{background:#edf8f2;color:#147451}.sps-achievement.neutral{background:#f6f6f6}.sps-average-tile{flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#b3131a;color:#fff}.sps-average-tile small{color:#f5dadd}.sps-average-tile strong{font-size:19px}.sps-average-tile>span{font-size:11px;font-weight:900}
.sps-doc-table-wrap{overflow-x:auto}.sps-doc-table{width:100%;border-collapse:collapse;font-size:10px}.sps-doc-table th{background:#b3131a;color:#fff;text-transform:uppercase;font-size:8px;letter-spacing:.04em;padding:8px;border:1px solid #8e0c12}.sps-doc-table td{padding:8px;border:1px solid #b9b9b9}.sps-doc-table tr:nth-child(even) td{background:#fafafa}.sps-doc-table .empty{text-align:center;padding:22px;color:#777}.sps-doc-table.compact td,.sps-doc-table.compact th{padding:6px 8px}.sps-letter{display:inline-grid;place-items:center;min-width:26px;height:24px;border-radius:5px;background:#efefef;font-weight:900}.sps-letter.grade-a{background:#dff4e8;color:#136d48}.sps-letter.grade-b{background:#e8efff;color:#315ca8}.sps-letter.grade-f{background:#f8dfe1;color:#a20d15}.sps-gold-star{color:#c6971c;font-size:15px;vertical-align:middle}
.sps-grade-key{font-size:7.5px;color:#555;padding:8px 0;line-height:1.7}
.sps-doc-summary{display:grid;grid-template-columns:.6fr .7fr 2fr;border:1px solid #222;margin-top:8px}.sps-doc-summary>div{padding:9px;border-right:1px solid #222}.sps-doc-summary>div:last-child{border-right:0}.sps-doc-summary span{display:block;font-size:7px;text-transform:uppercase;color:#666}.sps-doc-summary strong{display:block;font-size:12px;margin-top:4px}.sps-doc-summary p{font-size:9px;line-height:1.5;margin:4px 0 0}.sps-principal-comment{border:1px solid #222;border-top:0;padding:9px}.sps-principal-comment strong{font-size:8px;text-transform:uppercase}.sps-principal-comment p{font-size:9px;margin:4px 0 0}
.sps-doc-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:20px}.sps-verify-block{display:flex;align-items:center;gap:9px;max-width:330px}.sps-verify-block img{width:78px;height:78px;border:1px solid #ddd;padding:2px}.sps-verify-block div{display:flex;flex-direction:column}.sps-verify-block strong{font-size:9px}.sps-verify-block span{font-size:8px;color:#b3131a;font-weight:800;margin-top:3px}.sps-verify-block small{font-size:6px;color:#777;word-break:break-all;margin-top:3px}
.sps-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;flex:1;text-align:center;font-size:7px}.sps-signatures>div span{display:block;border-bottom:1px solid #111;height:24px;margin-bottom:4px}.sps-doc-foot{text-align:center;border-top:1px solid #ccc;margin-top:16px;padding-top:7px;font-size:7px;font-style:italic;color:#666}.sps-doc-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px;color:#b3131a}
.sps-receipt-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #222;margin-top:14px}.sps-receipt-grid>div{padding:10px;border-right:1px solid #222;border-bottom:1px solid #222}.sps-receipt-grid>div:nth-child(4n){border-right:0}.sps-receipt-grid .amount{background:#fff3f3}.sps-receipt-grid .amount strong{font-size:15px;color:#b3131a}.sps-balance-band{display:flex;justify-content:space-between;background:#171717;color:#fff;padding:10px 14px;font-size:10px}.sps-statement-totals{display:flex;justify-content:flex-end;margin-top:12px}.sps-statement-totals>div{border:1px solid #bbb;border-right:0;padding:9px 14px}.sps-statement-totals>div:last-child{border-right:1px solid #bbb}.sps-statement-totals span{display:block;font-size:7px;text-transform:uppercase;color:#777}.sps-statement-totals strong{font-size:11px}.sps-statement-totals .balance{background:#b3131a;color:#fff}.sps-statement-totals .balance span{color:#f4d4d6}

/* Student ID front/back — CR80-inspired ratio */
.sps-id-page{width:min(1100px,100%);margin:22px auto}.sps-id-pair{display:flex;gap:26px;justify-content:center;flex-wrap:wrap}.sps-id-card{width:508px;height:320px;border-radius:15px;overflow:hidden;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.14);border:1px solid #d0d0d0;background:#fff}
.sps-id-card.front:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:#b3131a}.sps-id-top{height:70px;padding:14px 20px 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid #d7aa38}.sps-id-top strong{font-size:18px;letter-spacing:.025em;color:#b3131a}.sps-id-top img{width:55px;height:55px;object-fit:contain}
.sps-id-body{display:grid;grid-template-columns:135px 1fr;gap:18px;padding:14px 20px 8px}.sps-id-body .sps-id-photo{width:135px;height:166px;border-radius:5px;object-fit:cover;border:2px solid #d3a832}.sps-id-body .sps-id-photo.placeholder{background:#f4e9e9;display:grid;place-items:center;font-size:36px;color:#a80e16;font-weight:900}.sps-id-data>small{font-size:7px;color:#8a8a8a;font-weight:900;letter-spacing:.14em}.sps-id-data h2{font-size:22px;margin:3px 0 8px;color:#b3131a;line-height:1.05}.sps-id-data>p{margin:4px 0;font-size:10px;display:flex;gap:7px}.sps-id-data p span{width:42px;color:#777}.sps-id-dates{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #dedede;margin-top:10px;padding-top:8px}.sps-id-dates p{display:flex;flex-direction:column;margin:0!important}.sps-id-dates p span{width:auto;font-size:7px;text-transform:uppercase}.sps-id-dates p strong{font-size:10px}.sps-id-motto{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(90deg,#5e260b,#8c3d11);color:#fff;padding:8px 14px;font-size:7.5px;text-align:center}
.sps-id-card.back{background:#fff}.sps-id-back-title{text-align:center;padding:14px 0 5px}.sps-id-back-title small{display:block;font-size:8px}.sps-id-back-title strong{display:inline-block;margin-top:3px;background:#111;color:#fff;border-radius:5px;padding:5px 30px;font-size:10px}.sps-id-back-body{display:grid;grid-template-columns:110px 1fr 105px;align-items:center;gap:14px;padding:11px 22px}.sps-liberia-seal{width:100px;height:100px;object-fit:contain}.sps-id-contact p{margin:6px 0;font-size:8px}.sps-id-qr{width:96px;height:96px;border:1px solid #ddd}.sps-id-verify-code{text-align:center;font-size:7px;color:#555}.sps-id-found{position:absolute;bottom:0;left:0;right:0;background:#414141;color:#fff;text-align:center;padding:11px;font-size:8px}

/* Public QR verification */
.sps-verify-page{min-height:70vh;display:grid;place-items:center;background:#f5f6f8;padding:50px 20px}.sps-verify-card{width:min(560px,100%);background:#fff;border-radius:20px;padding:34px;text-align:center;box-shadow:0 16px 55px rgba(0,0,0,.08);border:1px solid #e3e6ea}.sps-verify-card>img{width:90px;height:90px;object-fit:contain}.sps-verify-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:16px auto;font-size:26px;font-weight:900}.sps-verify-icon.valid{background:#dff5e9;color:#13734d}.sps-verify-icon.invalid{background:#f9e3e4;color:#a30e16}.sps-verify-card h1{margin:4px 0 7px}.sps-verify-card>p{color:#687386}.sps-verify-card dl{margin:20px 0;text-align:left;border:1px solid #e2e5e9;border-radius:12px;overflow:hidden}.sps-verify-card dl>div{display:grid;grid-template-columns:160px 1fr;padding:9px 12px;border-bottom:1px solid #eceef1}.sps-verify-card dl>div:last-child{border:0}.sps-verify-card dt{font-size:10px;color:#7b8492}.sps-verify-card dd{margin:0;font-size:11px;font-weight:750}.sps-verify-contact{font-size:11px!important;border-top:1px solid #eceef1;padding-top:15px}

/* Homepage hero refinement: campus image */
.sps-hero-visual .sps-campus-photo,.sps-campus-photo{width:100%;height:100%;object-fit:cover;border-radius:26px}

/* Responsive */
@media(max-width:1200px){
  .sps-action-cards{grid-template-columns:repeat(2,1fr)}
  .sps-print-launcher{grid-template-columns:repeat(3,1fr)}
  .sps-three-col{grid-template-columns:1fr 1fr}.sps-three-col>section:last-child{grid-column:1/-1}
  .sps-admin-form.horizontal{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:980px){
  .sps-portal-sidebar{left:-274px;transition:.2s}.sps-portal-sidebar.open{left:0}.sps-portal-main{margin-left:0;width:100%}.sps-portal-menu-toggle{display:block}
  .sps-dashboard-grid,.sps-two-col,.sps-form-layout,.sps-grade-tools{grid-template-columns:1fr}
  .sps-three-col{grid-template-columns:1fr}.sps-three-col>section:last-child{grid-column:auto}
  .sps-portal-kpis{grid-template-columns:repeat(2,1fr)}
  .sps-report-card-grid{grid-template-columns:1fr 1fr}
  .sps-print-launcher{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .sps-portal-content{padding:16px 12px}.sps-portal-topbar{padding:0 12px}.sps-term-pill{display:none}
  .sps-page-head,.sps-portal-welcome{flex-direction:column}.sps-page-head h1,.sps-portal-welcome h1{font-size:25px}
  .sps-portal-kpis{grid-template-columns:1fr}.sps-action-cards{grid-template-columns:1fr}
  .sps-form-grid{grid-template-columns:1fr}.sps-form-grid .span2{grid-column:auto}
  .sps-admin-form.horizontal,.sps-print-launcher{grid-template-columns:1fr}
  .sps-report-card-grid{grid-template-columns:1fr}
  .sps-achievement-strip{grid-template-columns:1fr}
  .sps-doc-letterhead{grid-template-columns:55px 1fr}.sps-doc-year{grid-column:1/-1}.sps-doc-logo{width:50px;height:50px}.sps-doc-school h1{font-size:16px}
  .sps-document{padding:15px 10px}.sps-doc-meta.four,.sps-doc-meta.three{grid-template-columns:1fr 1fr}.sps-doc-summary{grid-template-columns:1fr}.sps-doc-bottom{flex-direction:column;align-items:stretch}.sps-signatures{grid-template-columns:1fr}
  .sps-id-card{width:100%;height:auto;min-height:300px}
}
@media print{
  @page{margin:9mm}
  body.sps-standalone-page{background:#fff!important}
  .no-print,.sps-print-actions,.sps-portal-sidebar,.sps-portal-topbar,.sps-site-footer,.sps-main-header,.sps-top-strip{display:none!important}
  .sps-document{margin:0 auto!important;border:0!important;box-shadow:none!important;padding:0!important;width:100%!important;max-width:none!important}
  .sps-id-page{margin:0!important;width:100%!important}.sps-id-card{box-shadow:none!important;break-inside:avoid}
  a[href]:after{content:none!important}
}

.sps-campus-hero{position:relative;height:525px;align-self:center;border-radius:28px;overflow:visible;box-shadow:0 24px 70px rgba(29,21,21,.18)}
.sps-campus-hero .sps-campus-photo{display:block;border-radius:28px;box-shadow:none}
.sps-campus-hero:after{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg,transparent 45%,rgba(21,18,18,.72));pointer-events:none}
.sps-campus-overlay{position:absolute;z-index:2;left:24px;bottom:25px;color:#fff;display:flex;flex-direction:column}.sps-campus-overlay span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#f1b4b7;font-weight:850}.sps-campus-overlay strong{font-size:21px;margin:3px 0}.sps-campus-overlay small{font-size:11px;color:#e5e5e5}
.sps-floating-dashboard{position:absolute;z-index:3;right:-24px;top:30px;background:#fff;border:1px solid #e4e4e4;border-radius:15px;padding:13px 14px;display:grid;grid-template-columns:1fr 1fr 42px;gap:12px;align-items:center;box-shadow:0 15px 38px rgba(0,0,0,.16);min-width:300px}.sps-floating-dashboard>div{display:flex;flex-direction:column}.sps-floating-dashboard small{font-size:8px;text-transform:uppercase;color:#8a8d92}.sps-floating-dashboard strong{font-size:11px;margin-top:3px}.sps-floating-dashboard>span{width:38px;height:38px;border-radius:10px;background:#bd151d;color:#fff;display:grid;place-items:center;font-weight:900}
@media(max-width:900px){.sps-campus-hero{height:430px}.sps-floating-dashboard{right:15px;top:15px}}
@media(max-width:620px){.sps-campus-hero{height:330px}.sps-floating-dashboard{display:none}}

.sps-message-list{display:grid;gap:9px;max-height:540px;overflow:auto}.sps-message-list article{border:1px solid #e6e9ed;border-radius:11px;padding:12px;background:#fafbfc;display:grid;grid-template-columns:1fr auto;gap:5px}.sps-message-list article>div{display:flex;flex-direction:column}.sps-message-list article span{font-size:9px;color:#7c8594}.sps-message-list article strong{font-size:12px;margin-top:2px}.sps-message-list article time{font-size:8px;color:#9299a4}.sps-message-list article p{grid-column:1/-1;margin:6px 0 0;font-size:10px;line-height:1.5;color:#576171}


/* SPS v3 finishing touches */
.sps-ai-result{margin-top:18px;border:1px solid #ead6d8;background:#fff9f9;border-radius:16px;padding:18px}
.sps-ai-result textarea{width:100%;min-height:220px;resize:vertical;border:1px solid #d9dde5;border-radius:12px;padding:14px;font:inherit;line-height:1.55;background:#fff;color:#202532}
.sps-ai-result h3{margin:0 0 10px}
@media print{
  .sps-document.landscape{width:100%;max-width:none}
  .sps-document.landscape .sps-doc-table{font-size:8.5px}
  .sps-document.landscape .sps-doc-table th,.sps-document.landscape .sps-doc-table td{padding:4px 5px}
}

/* ==========================================================
   SPS PRIME SCHOOL MANAGER 4.0 — compact public site + ERP controls
   ========================================================== */
.sps-home-v4{background:#fff;color:#1a202c}
.sps-home-v4-hero{height:min(68vh,650px);min-height:460px;position:relative;overflow:hidden;background:#421012}
.sps-home-v4-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}
.sps-home-v4-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,13,14,.84) 0%,rgba(20,13,14,.56) 48%,rgba(20,13,14,.17) 78%,rgba(20,13,14,.1) 100%)}
.sps-home-v4-copy{position:absolute;inset:0;display:flex;justify-content:center;flex-direction:column;color:#fff;max-width:760px;margin-left:max(calc((100vw - 1180px)/2),24px);padding-right:24px}
.sps-home-v4-copy h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:9px 0 14px;max-width:760px}
.sps-home-v4-copy p{font-size:16px;line-height:1.65;color:#f2ecec;max-width:650px;margin:0 0 24px}
.sps-kicker.light{color:#ffc4c7}
.sps-secondary-btn.light{border-color:rgba(255,255,255,.7)!important;color:#fff!important;background:rgba(255,255,255,.08)!important;backdrop-filter:blur(8px)}
.sps-home-v4-bar{background:#a71118;color:#fff}
.sps-home-v4-bar>.sps-container{display:grid;grid-template-columns:repeat(3,1fr)}
.sps-home-v4-bar span{padding:15px 24px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;gap:2px}
.sps-home-v4-bar span:last-child{border-right:0}.sps-home-v4-bar b{font-size:12px}.sps-home-v4-bar small{font-size:9px;color:#f0c8ca}
.sps-home-v4-main{padding:68px 0 78px}.sps-home-v4-intro{display:grid;grid-template-columns:1fr 110px;gap:35px;align-items:center;margin-bottom:38px}.sps-home-v4-intro h2{font-size:32px;letter-spacing:-.035em;margin:5px 0 10px}.sps-home-v4-intro p{max-width:760px;color:#657184;line-height:1.65}.sps-home-v4-intro img{width:105px;height:105px;object-fit:contain}
.sps-home-v4-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e6e8ec;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(16,24,40,.05)}
.sps-home-v4-cards>*{padding:24px;min-height:210px;border-right:1px solid #e8eaed;color:#1b2430!important;display:flex;flex-direction:column}.sps-home-v4-cards>*:last-child{border:0}.sps-home-v4-cards>*>span{font-size:9px;color:#b3141c;font-weight:900;letter-spacing:.12em}.sps-home-v4-cards h3{font-size:19px;margin:15px 0 8px}.sps-home-v4-cards p{font-size:12px;color:#6d7785;line-height:1.6;margin:0}.sps-home-v4-cards b{margin-top:auto;padding-top:20px;color:#b3141c;font-size:11px}
.sps-home-v4-events{display:grid;grid-template-columns:250px 1fr;gap:40px;margin-top:54px;border-top:1px solid #e6e8ec;padding-top:35px}.sps-home-v4-events h2{font-size:26px;margin:5px 0}.sps-home-event-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sps-home-event-list article{border:1px solid #e5e8ec;border-radius:13px;padding:15px;display:flex;gap:12px}.sps-home-event-list time{font-size:10px;font-weight:900;color:#b3141c;white-space:nowrap}.sps-home-event-list div{display:flex;flex-direction:column}.sps-home-event-list strong{font-size:12px}.sps-home-event-list small{font-size:9px;color:#7d8591;margin-top:4px;line-height:1.4}

/* v4 operational blocks */
.sps-support-stats{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 22px}.sps-support-stats>span{background:#fff;border:1px solid #e4e7eb;border-radius:999px;padding:8px 12px;font-size:10px;color:#6b7584}.sps-support-stats b{color:#17202d;margin-right:4px}
.sps-period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sps-period-card{border:1px solid #e6e9ee;background:#fafbfc;border-radius:13px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.sps-period-card>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.sps-period-card>div strong{font-size:14px}.sps-period-card label{font-size:9px;font-weight:800;color:#687385}.sps-period-card input[type=date]{width:100%;margin-top:5px}.sps-period-card .sps-check,.sps-period-card button{align-self:end}
.sps-class-chips{display:flex;flex-wrap:wrap;gap:8px}.sps-class-chips>span{border:1px solid #e1e5e9;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;background:#fafbfc;min-width:120px}.sps-class-chips strong{font-size:11px}.sps-class-chips small{font-size:8px;color:#818a97;margin-top:2px}
.sps-form-help{font-size:10px!important;color:#798391!important;line-height:1.55;margin:3px 0 10px!important}
.sps-quick-print-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sps-quick-print-grid>a{border:1px solid #e5e8ec;border-radius:12px;padding:14px;color:#1d2634!important;background:#fafbfc;display:flex;flex-direction:column}.sps-quick-print-grid b{font-size:11px;color:#b3141c}.sps-quick-print-grid span{font-size:9px;color:#798391;margin-top:5px;line-height:1.45}
.sps-account-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.sps-account-mini>div{background:#f8f9fb;border:1px solid #e7e9ec;border-radius:10px;padding:10px}.sps-account-mini span{display:block;font-size:8px;text-transform:uppercase;color:#7d8591}.sps-account-mini strong{font-size:11px;margin-top:3px;display:block}
.sps-admin-form hr{border:0;border-top:1px solid #e8eaed;margin:16px 0}.sps-admin-form h3{margin:4px 0 9px;font-size:13px}.sps-check.big{padding:10px;background:#f8f9fb;border:1px solid #e6e9ed;border-radius:10px}
.sps-request-form textarea{min-height:88px}.request-table td{vertical-align:top}.sps-inline-action.stacked{display:grid;gap:5px}.sps-inline-action.stacked select,.sps-inline-action.stacked input{min-width:145px}.sps-decision-form{min-width:260px}.sps-decision-form input{display:block;margin:0 0 5px;width:100%}
.sps-mini-btn.success{background:#e6f5ee!important;color:#13734d!important;border-color:#bde5d1!important}.sps-mini-btn.danger{background:#fff0f1!important;color:#a70e16!important;border-color:#efc9cb!important}.sps-muted{color:#a1a8b2}
.sps-site-preview-image{width:100%;height:310px;object-fit:cover;border-radius:13px;border:1px solid #e1e5e9}
.sps-credential-box{background:linear-gradient(135deg,#181f2b,#111827);color:#fff;border-radius:17px;padding:18px 22px;margin-bottom:18px;display:grid;grid-template-columns:1fr auto;gap:18px;box-shadow:0 14px 28px rgba(17,24,39,.13)}.sps-credential-box>div>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#ffadb2;font-weight:900}.sps-credential-box h2{margin:4px 0;font-size:20px}.sps-credential-box p{font-size:10px;color:#c7ced8;margin:3px 0}.sps-credential-box dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.sps-credential-box dl>div{background:rgba(255,255,255,.08);border-radius:10px;padding:9px 12px;min-width:150px}.sps-credential-box dt{font-size:8px;color:#aeb7c5}.sps-credential-box dd{margin:3px 0 0;font-weight:850;font-size:12px}.sps-credential-box code{color:#fff;font-size:12px}.sps-credential-box>p{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:9px}
.sps-policy-list{display:grid;gap:8px}.sps-policy-list p{margin:0;padding:10px 12px;background:#f8f9fb;border:1px solid #e7e9ed;border-radius:10px;font-size:10px;line-height:1.5}.user-admin-table td{vertical-align:top}
.account-grid{grid-template-columns:.8fr 1fr 1fr}.sps-notice.neutral{background:#f6f8fa;border-color:#dde2e8;color:#4c5868}.sps-notice.warning{background:#fff8df;border-color:#eedc9a;color:#71580a}
.sps-scholarship-band{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff8e4;border:1px solid #edd698;border-radius:10px;padding:9px 12px;margin:10px 0}.sps-scholarship-band span{font-size:8px;text-transform:uppercase;color:#8b6b19}.sps-scholarship-band strong{font-size:10px}.sps-scholarship-band small{font-size:8px;color:#77662f}
.sps-statement-totals.four,.sps-statement-totals.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-content:stretch}.sps-statement-totals.four>div,.sps-statement-totals.five>div{border:1px solid #bbb;border-right:0}.sps-statement-totals.four>div:last-child,.sps-statement-totals.five>div:last-child{border-right:1px solid #bbb}
.sps-print-page-break{break-after:page;page-break-after:always}.sps-print-page-break:last-child{break-after:auto;page-break-after:auto}.sps-bulk-cover{padding:20px 0}.sps-bulk-cover>p{text-align:center;font-size:10px;color:#656f7d}
.sps-report-card-grid.compact{grid-template-columns:repeat(4,1fr)}

@media(max-width:1150px){.sps-home-v4-cards{grid-template-columns:1fr 1fr}.sps-home-v4-cards>*{border-bottom:1px solid #e8eaed}.sps-home-v4-events{grid-template-columns:1fr}.sps-home-event-list{grid-template-columns:repeat(2,1fr)}.sps-period-grid{grid-template-columns:1fr 1fr}.sps-quick-print-grid{grid-template-columns:1fr 1fr}.sps-report-card-grid.compact{grid-template-columns:repeat(3,1fr)}.account-grid{grid-template-columns:1fr 1fr}.account-grid>section:first-child{grid-column:1/-1}}
@media(max-width:720px){.sps-home-v4-hero{min-height:500px}.sps-home-v4-copy{margin-left:0;padding:45px 22px;justify-content:flex-end}.sps-home-v4-bar>.sps-container{grid-template-columns:1fr}.sps-home-v4-bar span{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.sps-home-v4-main{padding:45px 0}.sps-home-v4-intro{grid-template-columns:1fr}.sps-home-v4-intro img{display:none}.sps-home-v4-cards{grid-template-columns:1fr}.sps-home-v4-cards>*{min-height:auto;border-right:0}.sps-home-event-list,.sps-period-grid,.sps-quick-print-grid,.account-grid{grid-template-columns:1fr}.sps-credential-box{grid-template-columns:1fr}.sps-credential-box dl{grid-template-columns:1fr}.sps-report-card-grid.compact{grid-template-columns:1fr}.sps-statement-totals.four,.sps-statement-totals.five{grid-template-columns:1fr 1fr}.sps-site-preview-image{height:220px}}
@media print{.sps-print-page-break{break-after:page;page-break-after:always}.sps-print-page-break:last-child{break-after:auto;page-break-after:auto}.sps-bulk-cover{break-after:page;page-break-after:always}.sps-document{break-inside:avoid}.sps-statement-totals.four,.sps-statement-totals.five{display:grid!important;grid-template-columns:repeat(5,1fr)!important}}


/* =========================================================
   SPS v5 — clusters, official records, transcript & 2025/26
   end-of-year report system
   ========================================================= */
.sps-record-print-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sps-record-print-grid form{border:1px solid #e2e6eb;background:#fafbfc;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.sps-record-print-grid label{font-size:9px;font-weight:850;color:#515d6d;display:grid;gap:7px}
.sps-record-print-grid select{width:100%}
.sps-cluster-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.sps-cluster-summary span{background:#fff;border:1px solid #e3e6ea;border-radius:13px;padding:13px;color:#737d8b;font-size:9px;min-height:68px;display:flex;flex-direction:column;justify-content:center}
.sps-cluster-summary b{color:#192331;font-size:15px;margin-bottom:4px}
.sps-cluster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.sps-cluster-card{border:1px solid #e3e7ec;border-radius:14px;padding:14px;background:#fff}
.sps-cluster-card h3{font-size:14px;margin:4px 0}.sps-cluster-card>small{font-size:8px;color:#77818e}
.sps-cluster-class-list{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.sps-cluster-class-list span{font-size:8px;border-radius:999px;background:#f2f4f7;padding:5px 8px;color:#4d5968}
.sps-list-stack{display:grid;gap:8px}.sps-list-stack article{border:1px solid #e6e9ed;background:#fafbfc;border-radius:11px;padding:11px}.sps-list-stack article strong{font-size:11px}.sps-list-stack article small{display:block;font-size:8px;color:#7b8491;margin-top:2px}.sps-list-stack article p{font-size:9px;color:#626d7d;line-height:1.55;margin:6px 0 0}

/* Current SPS End-of-Year Report — based on the 2025/2026 paper layout */
.sps-end-year-report{max-width:1180px!important;padding:20px 24px!important}
.sps-eoy-header{display:grid;grid-template-columns:95px 1fr 125px;align-items:center;gap:14px;text-align:center;margin-bottom:8px}
.sps-eoy-header>img{width:78px;height:78px;object-fit:contain;filter:saturate(.82)}
.sps-eoy-header h1{font-size:27px;line-height:1;margin:0;color:#20252b;letter-spacing:.018em}
.sps-eoy-header h3{font-size:15px;margin:5px 0 0;font-weight:650;color:#262a2f}
.sps-eoy-header h2{font-size:19px;margin:1px 0;color:#b52a30;letter-spacing:.018em}
.sps-eoy-header>div>strong{font-family:Georgia,serif;font-size:13px}
.sps-eoy-header .sps-eoy-qr{justify-self:end}.sps-eoy-header .sps-verify-block{display:grid;justify-items:center;gap:2px}.sps-eoy-header .sps-verify-block img{width:62px;height:62px}.sps-eoy-header .sps-verify-block small{display:none}.sps-eoy-header .sps-verify-block strong{font-size:7px}
.sps-eoy-meta{display:grid;grid-template-columns:1.7fr .8fr .8fr;gap:8px;border-bottom:2px solid #25282c;padding:3px 0 6px;margin-bottom:0}
.sps-eoy-meta>div{display:flex;align-items:flex-end;gap:6px;min-width:0}.sps-eoy-meta span{font-size:9px;font-weight:900}.sps-eoy-meta strong{font-size:11px;border-bottom:1px solid #555;flex:1;padding:0 4px 2px;text-transform:uppercase}
.sps-eoy-table{table-layout:fixed;font-size:9px;border:2px solid #202326}
.sps-eoy-table th{background:#f3f3f1!important;color:#1b1d20!important;border:1px solid #222!important;padding:4px 3px!important;letter-spacing:0!important;font-size:8px!important;line-height:1.1}
.sps-eoy-table th:first-child{width:19%}.sps-eoy-table th:last-child{width:10%}
.sps-eoy-table td{border:1px solid #333!important;padding:4px 4px!important;text-align:center;line-height:1.05;background:#fff!important}
.sps-eoy-table td:first-child{text-align:left}.sps-eoy-table td:last-child{text-align:left;font-size:8px}
.sps-eoy-table .exam,.sps-eoy-table .final{background:#f1ca3f!important;font-weight:900}
.sps-eoy-summary{position:relative;display:grid;grid-template-columns:1.15fr .8fr 1.7fr 105px;gap:8px;align-items:center;padding:8px 4px 2px;font-size:9px}
.sps-eoy-summary p{margin:0}.sps-eoy-summary p strong{font-weight:900}.sps-eoy-summary .comment{text-align:center;color:#25753d;font-weight:850}
.sps-eoy-summary .gpa{display:grid;grid-template-columns:1fr 48px;border:1px solid #333;align-items:stretch}
.sps-eoy-summary .gpa span{padding:6px;background:#333;color:#fff;font-size:7px;font-weight:900}.sps-eoy-summary .gpa strong{display:grid;place-items:center;background:#f1ca3f;font-size:14px}
.sps-eoy-achievement{width:max-content;display:flex;align-items:center;gap:7px;border-radius:999px;padding:5px 10px;margin:3px auto 4px;font-size:9px;border:1px solid #ddd}
.sps-eoy-achievement span{font-size:16px}.sps-eoy-achievement.gold{color:#7b5900;background:#fff8d9;border-color:#e7ce78}.sps-eoy-achievement.blue{color:#2f59a1;background:#eef3ff}.sps-eoy-achievement.green{color:#16704f;background:#edf8f2}
.sps-eoy-scale{text-align:center;margin:8px auto 0;font-size:8.5px;max-width:900px;line-height:1.55}
.sps-end-year-report>.sps-signatures{margin-top:17px}

/* Official transcript */
.sps-transcript{max-width:900px!important}.sps-transcript-year{border:1px solid #dce1e6;border-radius:10px;overflow:hidden;margin:13px 0}
.sps-transcript-year-head{display:flex;align-items:center;justify-content:space-between;background:#f3f5f7;padding:10px 12px}
.sps-transcript-year-head>div{display:flex;gap:10px;align-items:center}.sps-transcript-year-head strong{color:#b3131a;font-size:12px}.sps-transcript-year-head span{font-size:10px;font-weight:750}
.sps-transcript-year-head>b{font-size:10px}.sps-transcript-note{border-left:4px solid #b3131a;background:#fff7f7;padding:10px 12px;margin:14px 0;font-size:9px;line-height:1.55}
.sps-letter-document{max-width:820px!important;min-height:930px;position:relative;font-size:11px;line-height:1.7}.sps-letter-document>p{margin:15px 0}.sps-letter-date{text-align:right;margin:18px 0}.sps-letter-summary{display:flex;gap:18px;flex-wrap:wrap;background:#f6f7f9;border-radius:10px;padding:10px 12px;margin-top:20px;font-size:9px}
.sps-draft-watermark{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-28deg);font-size:56px;font-weight:950;color:rgba(180,20,27,.09);pointer-events:none;white-space:nowrap}
.sps-bulk-id-grid{display:grid;grid-template-columns:1fr;gap:20px}.sps-bulk-id-item{break-after:page;page-break-after:always}.sps-bulk-id-item:last-child{break-after:auto;page-break-after:auto}

@media(max-width:1150px){
  .sps-record-print-grid{grid-template-columns:1fr 1fr}
  .sps-cluster-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .sps-record-print-grid,.sps-cluster-grid,.sps-cluster-summary{grid-template-columns:1fr}
  .sps-eoy-header{grid-template-columns:60px 1fr}.sps-eoy-header .sps-eoy-qr{display:none}.sps-eoy-header>img{width:55px;height:55px}
  .sps-eoy-header h1{font-size:18px}.sps-eoy-header h2{font-size:14px}.sps-eoy-meta{grid-template-columns:1fr}
}
@media print{
  .sps-end-year-report{page:sps-eoy;width:100%!important;max-width:none!important;padding:0!important}
  .sps-end-year-report .sps-eoy-header h1{font-size:25px!important}
  .sps-end-year-report .sps-doc-foot{margin-top:7px}
  .sps-letter-document{min-height:0}
}
@page sps-eoy{size:landscape;margin:8mm}

/* SPS public information pages */
.sps-info-hero{position:relative;min-height:420px;display:flex;align-items:end;overflow:hidden;background:#111827}.sps-info-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sps-info-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,32,.9) 0%,rgba(10,18,32,.65) 55%,rgba(184,20,27,.28) 100%)}.sps-info-hero-copy{position:relative;z-index:2;color:#fff;padding-top:92px;padding-bottom:72px;max-width:870px}.sps-info-hero-copy h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:10px 0 16px;color:#fff}.sps-info-hero-copy p{font-size:20px;line-height:1.65;max-width:780px;color:rgba(255,255,255,.9)}.sps-info-main{background:#fff}.sps-info-intro{padding-top:82px;padding-bottom:48px;max-width:980px}.sps-info-intro h2{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:12px 0 18px;color:#111827}.sps-info-intro>p{font-size:18px;line-height:1.8;color:#5d6778;max-width:850px}.sps-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e4e7ec;border-radius:24px;overflow:hidden;margin-bottom:82px}.sps-info-card{padding:34px;min-height:245px;border-right:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;background:#fff}.sps-info-card:nth-child(3n){border-right:0}.sps-info-card span,.sps-academic-path article>span{font-weight:800;color:#c1151d;letter-spacing:.08em}.sps-info-card h3{font-size:23px;margin:24px 0 12px}.sps-info-card p{color:#697386;line-height:1.65}.sps-info-band{background:#111b2d;color:#fff;padding:70px 0}.sps-info-band>.sps-container{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.sps-info-band h2{font-size:38px;color:#fff;margin:10px 0}.sps-info-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.sps-info-band li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:17px 18px;border-radius:14px;color:#f4f7fb}.sps-info-cta{margin-top:78px;margin-bottom:86px;padding:42px;border-radius:24px;background:#f8f8fa;border:1px solid #e4e7ec;display:flex;align-items:center;justify-content:space-between;gap:30px}.sps-info-cta h2{font-size:34px;margin:8px 0 10px}.sps-info-cta p{color:#697386;margin:0;line-height:1.65}.sps-academic-path{display:grid;gap:14px;margin-bottom:82px}.sps-academic-path article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:28px 30px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}.sps-academic-path article h3{font-size:25px;margin:0 0 5px}.sps-academic-path article strong{color:#c1151d}.sps-academic-path article p{color:#697386;line-height:1.65;margin-bottom:0}.sps-admission-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:82px}.sps-admission-steps article{padding:26px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}.sps-admission-steps article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#c1151d;color:#fff;font-weight:800}.sps-admission-steps h3{font-size:20px;margin:20px 0 10px}.sps-admission-steps p{color:#697386;line-height:1.6}
@media(max-width:980px){.sps-info-grid{grid-template-columns:1fr 1fr}.sps-info-card:nth-child(3n){border-right:1px solid #e4e7ec}.sps-info-card:nth-child(2n){border-right:0}.sps-info-band>.sps-container{grid-template-columns:1fr;gap:30px}.sps-admission-steps{grid-template-columns:1fr 1fr}.sps-info-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.sps-info-hero{min-height:360px}.sps-info-hero-copy{padding-top:65px;padding-bottom:50px}.sps-info-grid,.sps-admission-steps{grid-template-columns:1fr}.sps-info-card{border-right:0!important}.sps-info-band ul{grid-template-columns:1fr}.sps-academic-path article{grid-template-columns:45px 1fr;padding:22px}.sps-info-cta{padding:28px}}

/* ==========================================================
   SPS 6.0.3 — production visibility and accessibility fixes
   ========================================================== */
.sps-site .sps-main-header .sps-main-nav>a:not(.sps-nav-signin){color:var(--sps-red)!important;font-weight:800}
.sps-site .sps-main-header .sps-main-nav>a:not(.sps-nav-signin):hover,
.sps-site .sps-main-header .sps-main-nav>a:not(.sps-nav-signin).active{color:var(--sps-red-dark)!important;background:var(--sps-red-soft)!important}
.sps-site .sps-main-header .sps-main-nav .sps-nav-signin{color:#fff!important}
.sps-home-v4-copy,.sps-home-v4-copy h1,.sps-home-v4-copy p,.sps-home-v4-copy .sps-kicker.light{color:#fff!important}
.sps-info-hero-copy,.sps-info-hero-copy h1,.sps-info-hero-copy p,.sps-info-hero-copy .sps-kicker.light{color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.42)}
.sps-home-v4-copy h1{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.sps-home-v4-copy p{text-shadow:0 1px 8px rgba(0,0,0,.45)}
.sps-home-v4-copy .sps-kicker.light{display:inline-flex;width:max-content;background:rgba(142,15,21,.9);padding:7px 10px;border-radius:999px;text-shadow:none}
.sps-home-v4-copy .sps-secondary-btn.light{background:#fff!important;color:var(--sps-red)!important;border-color:#fff!important}
.sps-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1050px){
  .sps-site .sps-main-header .sps-main-nav.open>a:not(.sps-nav-signin){color:var(--sps-red)!important}
}

/* v6.0.5 Communications & Calendar */
.sps-form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sps-field-help{display:block;margin-top:5px;color:#7d8795;font-size:10px;line-height:1.4}
.sps-group-summary{margin:-2px 0 12px;padding:10px 12px;border:1px solid #f0d5d7;border-radius:10px;background:#fff7f7;color:#8f1017;font-size:11px;font-weight:700}
.sps-calendar-cards{display:grid;gap:10px}
.sps-calendar-cards article{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start;border:1px solid #e8eaee;border-radius:12px;padding:13px;background:#fff}
.sps-calendar-cards time{display:flex;flex-direction:column;gap:2px;padding:9px;border-radius:10px;background:#fff5f5;color:#a81018;text-align:center}
.sps-calendar-cards time strong{font-size:15px}.sps-calendar-cards time span{font-size:9px;color:#7c6163}
.sps-calendar-cards h3{margin:3px 0 4px;font-size:15px;color:#182130}.sps-calendar-cards p{margin:0;color:#657082;font-size:11px;line-height:1.5}
.sps-calendar-meta{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#a81018;font-weight:800}
.sps-calendar-management{margin-top:18px}
.sps-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sps-row-actions form{margin:0}
.sps-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid #d9dde3;border-radius:8px;background:#fff;color:#8f1017!important;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}
.sps-mini-btn:hover{background:#fff5f5;border-color:#e5b7bb}.sps-mini-btn.danger{background:#a81018;color:#fff!important;border-color:#a81018}
.sps-text-link{font-size:10px;font-weight:800;color:#a81018!important;text-decoration:none}
@media(max-width:720px){.sps-form-grid.two{grid-template-columns:1fr}.sps-calendar-cards article{grid-template-columns:70px 1fr}}

/* ==========================================================
   SPS 6.1.0 — PTA parent-portal enhancements & accessibility
   ========================================================== */
/* High-visibility action text: labels stay readable before, during and after hover. */
.sps-primary-btn,
button.sps-primary-btn,
a.sps-primary-btn,
.sps-filter-bar button,
.sps-inline-form button:not(.sps-mini-btn),
.sps-approval-actions button,
.sps-panel-actions button.sps-primary-btn,
.sps-admin-form button.sps-primary-btn{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.sps-primary-btn:hover,.sps-primary-btn:focus-visible,
.sps-filter-bar button:hover,.sps-filter-bar button:focus-visible,
.sps-inline-form button:not(.sps-mini-btn):hover,.sps-inline-form button:not(.sps-mini-btn):focus-visible{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.sps-secondary-btn,a.sps-secondary-btn,button.sps-secondary-btn{
  color:#20242a!important;-webkit-text-fill-color:#20242a!important;background:#fff!important;
}
.sps-secondary-btn:hover,.sps-secondary-btn:focus-visible{color:#111827!important;-webkit-text-fill-color:#111827!important;background:#f7f7f8!important}
.sps-mini-btn{color:#8f1017!important;-webkit-text-fill-color:#8f1017!important;background:#fff!important}
.sps-mini-btn.danger{color:#fff!important;-webkit-text-fill-color:#fff!important;background:#a81018!important}
.sps-mini-btn.success{color:#13734d!important;-webkit-text-fill-color:#13734d!important}
.sps-portal-content button:focus-visible,.sps-portal-content a:focus-visible,.sps-portal-nav a:focus-visible{outline:3px solid #f2b705!important;outline-offset:2px}
.sps-portal-content button:disabled{opacity:.62!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Multiple children switcher */
.sps-family-child-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border:1px solid #e3e6eb;border-radius:14px;background:linear-gradient(135deg,#fff,#fbf6f6)}
.sps-family-child-switcher span,.sps-family-child-switcher strong{display:block}.sps-family-child-switcher span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#a81018;font-weight:900}.sps-family-child-switcher strong{font-size:12px;margin-top:2px}.sps-family-child-switcher form{min-width:280px}.sps-family-child-switcher select{width:100%;margin:0;border:1px solid #d9dde3;border-radius:9px;padding:10px;background:#fff}

/* Family Center */
.sps-family-resource-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.sps-family-resource-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid #dedfe4;border-radius:999px;background:#fff;color:#8f1017!important;font-size:10px;font-weight:900;text-decoration:none}.sps-family-resource-links a:hover{background:#fff4f4;border-color:#e4b9bd}
.sps-handbook-search input{width:100%;min-height:44px;border:1px solid #dfe3e8;border-radius:11px;padding:0 13px;margin-bottom:12px}.sps-handbook-list{display:grid;gap:9px}.sps-handbook-section{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}.sps-handbook-section summary{cursor:pointer;padding:14px 16px;list-style:none}.sps-handbook-section summary::-webkit-details-marker{display:none}.sps-handbook-section summary span,.sps-handbook-section summary strong,.sps-handbook-section summary small{display:block}.sps-handbook-section summary strong{font-size:13px;color:#1c2430}.sps-handbook-section summary small{margin-top:4px;color:#687385;font-size:10px;line-height:1.5}.sps-handbook-section[open] summary{background:#fff8f8;border-bottom:1px solid #ece7e8}.sps-handbook-content{padding:16px;white-space:normal;color:#3f4a59;font-size:11px;line-height:1.7}
.sps-route-list{display:grid;gap:10px}.sps-route-list article{border:1px solid #e5e8ec;border-radius:12px;background:#fff;padding:14px}.sps-route-list article>div{display:flex;justify-content:space-between;gap:12px}.sps-route-list strong{font-size:12px}.sps-route-list article>div span{font-size:10px;font-weight:800;color:#a81018}.sps-route-list p{font-size:10px;color:#5f6b7b;line-height:1.55}.sps-route-list small{font-size:9px;color:#7b8491}
.sps-fee-year-control{border-top:4px solid #a81018}.sps-family-discount-form{margin-bottom:16px}.sps-weekly-quiz-admin{border-top:4px solid #1d5f8c}.sps-handbook-editor{border-top:4px solid #7f1d1d}

@media(max-width:720px){.sps-family-child-switcher{align-items:flex-start;flex-direction:column}.sps-family-child-switcher form{min-width:0;width:100%}.sps-route-list article>div{flex-direction:column;gap:3px}}

.sps-statement-totals.six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:stretch}.sps-statement-totals.six>div{border:1px solid #bbb;border-right:0}.sps-statement-totals.six>div:last-child{border-right:1px solid #bbb}@media(max-width:720px){.sps-statement-totals.six{grid-template-columns:1fr 1fr}}@media print{.sps-statement-totals.six{display:grid!important;grid-template-columns:repeat(6,1fr)!important}}

/* v6.2 — Registrar Grade Entry Console */
.sps-grade-console-head .sps-head-badge{background:#eaf4f1;color:#155f50}
.sps-grade-console-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.sps-grade-console-kpis>div,.sps-grade-import-stats>div{background:#fff;border:1px solid var(--sps-border,#e5e7eb);border-radius:12px;padding:13px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.sps-grade-console-kpis span,.sps-grade-console-kpis strong,.sps-grade-import-stats span,.sps-grade-import-stats strong{display:block}
.sps-grade-console-kpis span,.sps-grade-import-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}.sps-grade-console-kpis strong,.sps-grade-import-stats strong{font-size:16px;margin-top:4px;color:#16202a}
.sps-grade-console-tools{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin:14px 0}.sps-grade-import-panel p{font-size:11px;color:#617181;line-height:1.55}.sps-grade-template-links{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.sps-grade-template-links a{display:inline-block;border:1px solid #d5e0e6;background:#f8fbfc;color:#164e63;text-decoration:none;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.sps-grade-import-form>small{display:block;color:#6b7785;font-size:9px;line-height:1.5;margin-top:7px}.sps-grade-import-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}.sps-grade-import-preview ul{margin:7px 0 0;padding-left:18px}.sps-grade-import-preview li{font-size:10px;line-height:1.45;margin:3px 0}
.sps-grade-console-sheet{margin-top:14px}.sps-grade-console-table th{min-width:105px}.sps-grade-console-table .sticky-student{position:sticky;left:0;z-index:2;background:#fff;min-width:190px;box-shadow:6px 0 10px rgba(15,23,42,.04)}.sps-grade-console-table thead .sticky-student{z-index:4;background:#f8fafc}.sps-grade-cell{position:relative}.sps-grade-cell .sps-grade-input{min-width:84px}.sps-grade-delete-link{display:block;border:0;background:transparent;color:#a52f3c;font-size:8px;font-weight:800;padding:4px 0 0;margin:auto}.sps-grade-delete-link:hover{text-decoration:underline}.sps-grade-override-reason{display:block;margin-top:14px;padding:12px;border:1px solid #f0c7a5;background:#fff9f3;border-radius:10px}.sps-grade-override-reason textarea{display:block;width:100%;min-height:72px;margin-top:6px}.sps-grade-return-form{display:flex;gap:7px;align-items:center;flex:1;justify-content:flex-end}.sps-grade-return-form input{max-width:340px}.sps-danger-btn{border:0;border-radius:9px;background:#a72d3e!important;color:#fff!important;padding:10px 13px;font-weight:800;line-height:1.2}.sps-danger-btn:hover{background:#861f2f!important;color:#fff!important}.sps-grade-delete-dialog{width:min(560px,92vw);border:0;border-radius:16px;padding:22px;box-shadow:0 22px 70px rgba(15,23,42,.28)}.sps-grade-delete-dialog::backdrop{background:rgba(15,23,42,.62)}.sps-dialog-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sps-dialog-title span{display:block;font-size:9px;color:#9f2435;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sps-dialog-title h2{margin:4px 0;font-size:22px}.sps-dialog-title button{border:0;background:transparent;font-size:24px;color:#64748b}.sps-grade-delete-dialog label{display:block;font-size:11px;font-weight:800;margin:12px 0}.sps-grade-delete-dialog textarea,.sps-grade-delete-dialog input{display:block;width:100%;margin-top:6px}.sps-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:15px}.sps-grade-history details>summary{cursor:pointer;font-weight:850;color:#243746}.sps-grade-history details[open]>summary{margin-bottom:12px}
@media(max-width:1000px){.sps-grade-console-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sps-grade-console-tools{grid-template-columns:1fr}.sps-grade-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sps-grade-console-kpis,.sps-grade-import-stats{grid-template-columns:1fr}.sps-grade-return-form{align-items:stretch;flex-direction:column}.sps-grade-return-form input{max-width:none}.sps-dialog-actions{flex-direction:column}.sps-dialog-actions button{width:100%}}


/* SPS 6.2.1 — Grade Entry Console context reliability + individual/bulk modes */
.sps-grade-console-filter{position:relative;overflow:visible}
.sps-grade-context-form{overflow:visible}
.sps-grade-context-form label{position:relative;z-index:2}
.sps-grade-context-form select{
  position:relative;z-index:3;pointer-events:auto!important;cursor:pointer;
  -webkit-appearance:auto!important;appearance:auto!important;
  background-color:#fff!important;color:#182130!important;-webkit-text-fill-color:#182130!important;
}
.sps-grade-context-form select:disabled{cursor:not-allowed;background:#f3f4f6!important;color:#707986!important;-webkit-text-fill-color:#707986!important}
.sps-grade-open-console{position:relative;z-index:2;min-width:112px}
.sps-grade-context-status{flex:1 0 100%;min-height:0;font-size:10px;font-weight:800;color:#5d6877}
.sps-grade-context-status.error{color:#a81018;background:#fff3f3;border:1px solid #efc5c8;border-radius:9px;padding:8px 10px}
.sps-grade-student-filter[hidden]{display:none!important}
.sps-grade-mode-banner{margin:0 0 14px;padding:11px 13px;border-radius:11px;font-size:10px;line-height:1.5}
.sps-grade-mode-banner.class{background:#eef7f4;border:1px solid #cde5dc;color:#25584c}
.sps-grade-mode-banner.student{background:#f1f5fb;border:1px solid #d6e1f0;color:#294e72}
.sps-grade-mode-banner strong{font-weight:900}
.sps-grade-no-subjects{margin-top:10px}
@media(max-width:1200px){.sps-grade-console-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.sps-grade-console-kpis{grid-template-columns:1fr}.sps-grade-open-console{width:100%}}

/* ==========================================================
   SPS 6.3.0 — relational administration & connected modules
   ========================================================== */
.sps-related-record-box{margin:15px 0;padding:14px;border:1px solid #e1e6eb;border-radius:12px;background:#fafcfd}
.sps-related-record-box>strong{font-size:11px}.sps-related-record-box>p{margin:6px 0;font-size:10px;color:#627081}
.sps-guardian-picker,.sps-checkbox-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;max-height:310px;overflow:auto;padding:2px}
.sps-guardian-option{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #e2e7ec;border-radius:10px;background:#fff;padding:10px!important;margin:0!important}
.sps-guardian-option>span strong,.sps-guardian-option>span small{display:block}.sps-guardian-option>span strong{font-size:10px}.sps-guardian-option>span small{font-size:8px;color:#7a8593;margin-top:2px}.sps-guardian-option input[type=radio]{width:auto;margin:0}
.sps-checkbox-roster .sps-check{border:1px solid #e2e7ec;border-radius:9px;background:#fff;padding:9px!important;margin:0!important}
.sps-inline-action{display:inline-flex!important;margin-left:4px!important}.sps-inline-action button{border:0!important;background:transparent!important;min-height:auto!important;padding:0!important;box-shadow:none!important}.sps-text-danger{color:#a81018!important;font-weight:800;font-size:10px}
.sps-attendance-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 12px}.sps-attendance-summary span{display:flex;flex-direction:column;gap:2px;border:1px solid #e2e7ec;border-radius:10px;background:#fff;padding:10px;color:#667386;font-size:9px}.sps-attendance-summary b{font-size:15px;color:#1a2735}.sps-attendance-summary .present{border-color:#cde5db;background:#f5fbf8}.sps-attendance-summary .absent{border-color:#ecc7ca;background:#fff6f6}.sps-attendance-summary .late{border-color:#ead7aa;background:#fffaf0}.sps-attendance-summary .excused,.sps-attendance-summary .sick{border-color:#d3deeb;background:#f7faff}
.sps-attendance-actions{align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:11px}.sps-attendance-actions .sps-muted{font-size:9px}.sps-recipient-search,.sps-communication-form input[type=search]{width:100%;margin-bottom:7px}
.sps-child-attendance-history,.sps-child-message-history{margin-top:14px}.sps-evaluation-view dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sps-evaluation-view dl>div{border:1px solid #e6e9ed;border-radius:9px;padding:9px;background:#fafbfc}.sps-evaluation-view dt{font-size:8px;text-transform:uppercase;color:#7d8794;font-weight:850}.sps-evaluation-view dd{margin:4px 0 0;font-size:10px;color:#243444;line-height:1.45}
.sps-student-filter label{min-width:145px}.sps-subject-config{border-top:4px solid #1f5d83}

/* Editable ID card template values. Existing hard-coded colors remain as
   fallbacks, while v6.3 settings override them through CSS variables. */
.sps-id-page{font-family:var(--sps-id-font,Arial,Helvetica,sans-serif);color:var(--sps-id-text,#101b2d)}
.sps-id-card{background-color:var(--sps-id-bg,#fff)!important;color:var(--sps-id-text,#101b2d);background-image:var(--sps-id-bg-image,none);background-size:cover;background-position:center}
.sps-id-card.front:before{background:var(--sps-id-primary,#b3131a)!important}.sps-id-top{border-bottom-color:var(--sps-id-secondary,#d7aa38)!important;background:rgba(255,255,255,.90)}.sps-id-top strong,.sps-id-data h2{color:var(--sps-id-primary,#b3131a)!important}.sps-id-motto{background:var(--sps-id-secondary,#101b2d)!important}.sps-id-card.back{background-color:var(--sps-id-bg,#fff)!important;background-image:var(--sps-id-bg-image,none);background-size:cover;background-position:center}.sps-id-back-title strong,.sps-id-found{background:var(--sps-id-secondary,#101b2d)!important}.sps-id-data{color:var(--sps-id-text,#101b2d)}
.sps-id-card.photo-right .sps-id-body{grid-template-columns:1fr 135px}.sps-id-card.photo-right .sps-id-photo{order:2}.sps-id-card.photo-right .sps-id-data{order:1}.sps-id-card.name-center .sps-id-data h2{text-align:center}
.sps-id-signature{position:absolute;right:18px;bottom:34px;width:112px;text-align:center;z-index:2}.sps-id-signature img{display:block;max-width:105px;max-height:33px;object-fit:contain;margin:0 auto}.sps-id-signature span{display:block;border-top:1px solid rgba(30,30,30,.55);padding-top:2px;font-size:6px;color:var(--sps-id-text,#101b2d);background:rgba(255,255,255,.72)}

@media(max-width:780px){.sps-guardian-picker,.sps-checkbox-roster,.sps-evaluation-view dl{grid-template-columns:1fr}.sps-attendance-summary{grid-template-columns:repeat(2,1fr)}}
.sps-guardian-option{grid-template-columns:auto minmax(120px,1fr) minmax(120px,.7fr) auto!important}.sps-guardian-option select{min-width:0;margin:0;font-size:9px;padding:7px}
@media(max-width:780px){.sps-guardian-option{grid-template-columns:auto 1fr!important}.sps-guardian-option select{grid-column:2}.sps-guardian-option input[type=radio]{grid-column:1;grid-row:2}}

/* v6.3.1 fee schedule controls */
.sps-fee-schedule-table tr.is-inactive{opacity:.68;background:#fafafa}
.sps-fee-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:210px}
.sps-fee-actions .sps-inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.sps-mini-btn.warning{background:#fff3cd!important;color:#7a5200!important;border-color:#e7c86d!important}
.sps-status.inactive{background:#f1f3f5;color:#5c6670}
.sps-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sps-secondary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d7dde5;background:#fff;color:#182235;border-radius:10px;padding:12px 18px;font-weight:700}
@media(max-width:800px){.sps-fee-actions{min-width:0}.sps-form-actions>*{width:100%}}


/* v6.3.2 — non-technical record management + flexible Registrar grade console */
.sps-management-guide{border-top:3px solid #176c58}.sps-management-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sps-management-guide-grid>div{border:1px solid #e5e8ec;border-radius:10px;background:#fafcfc;padding:11px}.sps-management-guide-grid strong,.sps-management-guide-grid span{display:block}.sps-management-guide-grid strong{font-size:10px;color:#183b35}.sps-management-guide-grid span{font-size:9px;color:#697485;line-height:1.45;margin-top:3px}
.sps-people-filter{grid-template-columns:repeat(4,minmax(135px,1fr)) auto}.sps-people-table{min-width:690px}.sps-people-table.staff{min-width:830px}.sps-directory-person{min-width:190px}.sps-directory-actions{margin-top:7px;gap:5px!important}.sps-action-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #d6dbe2!important;background:#fff!important;color:#263447!important;border-radius:7px!important;padding:5px 8px!important;min-height:28px!important;font-size:9px!important;font-weight:850!important;text-decoration:none!important;box-shadow:none!important;line-height:1.1!important}.sps-action-btn.edit{border-color:#b9c6d2!important;color:#183b55!important}.sps-action-btn.activate{border-color:#b9dfcf!important;background:#edf8f3!important;color:#146b4b!important}.sps-action-btn.deactivate{border-color:#ead7a5!important;background:#fff8e7!important;color:#805d0a!important}.sps-action-btn.danger{border-color:#edc1c5!important;background:#fff4f4!important;color:#a61018!important}.sps-inline-action{display:inline-flex!important;margin:0!important}.sps-action-disabled{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border-radius:7px;background:#f0f2f4;color:#8a929d;font-size:8.5px;font-weight:750}.sps-assignment-summary{max-width:290px;line-height:1.45;font-size:10px}
.sps-registrar-guide{border-top:3px solid #176c58}.sps-registrar-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.sps-registrar-steps>div{display:flex;gap:8px;align-items:flex-start;border:1px solid #e4e9ec;border-radius:10px;padding:10px;background:#fafcfc}.sps-registrar-steps b{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:#176c58;color:#fff;font-size:9px}.sps-registrar-steps span{font-size:9px;line-height:1.45;color:#5c6877}.sps-assessment-manager{margin-top:14px}.sps-assessment-manager-list{display:grid;gap:8px}.sps-assessment-item{border:1px solid #e3e7eb;border-radius:10px;background:#fff}.sps-assessment-item summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;list-style:none}.sps-assessment-item summary::-webkit-details-marker{display:none}.sps-assessment-item summary span:first-child strong,.sps-assessment-item summary span:first-child small{display:block}.sps-assessment-item summary span:first-child strong{font-size:11px}.sps-assessment-item summary span:first-child small{font-size:8.5px;color:#768190;margin-top:2px}.sps-assessment-editor{padding:12px;border-top:1px solid #edf0f2;background:#fafcfd}.sps-assessment-edit-grid{display:grid;grid-template-columns:2fr 1.2fr .8fr .8fr 1fr;gap:8px}.sps-assessment-delete-form{margin-top:10px;padding-top:10px;border-top:1px dashed #d9dee4;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.sps-assessment-delete-form label{margin:0}.sps-grade-delete-link{border:0;background:transparent;color:#a61018;font-size:8px;font-weight:800;padding:3px 0;margin-top:2px}
@media(max-width:1050px){.sps-people-filter,.sps-management-guide-grid,.sps-registrar-steps{grid-template-columns:1fr 1fr}.sps-assessment-edit-grid{grid-template-columns:1fr 1fr}.sps-assessment-delete-form{grid-template-columns:1fr}.sps-people-directories{grid-template-columns:1fr!important}}
@media(max-width:680px){.sps-people-filter,.sps-management-guide-grid,.sps-registrar-steps,.sps-assessment-edit-grid{grid-template-columns:1fr}.sps-people-table,.sps-people-table.staff{min-width:620px}}

/* v6.3.2 — leadership self-service handover center */
.sps-self-service-center{border-top:3px solid #176c58}.sps-self-service-center>p{color:#647183;font-size:10px;line-height:1.6}.sps-self-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.sps-self-service-grid a{display:block;border:1px solid #e2e7ea;background:#fafcfc;border-radius:11px;padding:12px;text-decoration:none;color:#172338}.sps-self-service-grid a:hover{border-color:#8cb9ad;background:#f4faf8}.sps-self-service-grid strong,.sps-self-service-grid span,.sps-self-service-grid b{display:block}.sps-self-service-grid strong{font-size:11px}.sps-self-service-grid span{font-size:9px;color:#6b7786;line-height:1.45;margin-top:4px}.sps-self-service-grid b{font-size:9px;color:#176c58;margin-top:7px}.sps-management-rule{margin-top:12px;border:1px solid #ecd99b;background:#fff9e8;border-radius:10px;padding:10px;font-size:9px;color:#66521c;line-height:1.55}.sps-management-rule strong{color:#4d3b0d}
@media(max-width:980px){.sps-self-service-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.sps-self-service-grid{grid-template-columns:1fr}}


/* v6.3.3 — CR80 ID printing, separate front/back jobs, Principal signature visibility */
.sps-id-top strong{font-size:22px!important;font-weight:950!important;letter-spacing:.02em;line-height:1.05;max-width:390px}
.sps-id-side-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}.sps-id-side-buttons>a,.sps-id-side-buttons>button{flex:1;min-width:180px;text-align:center;text-decoration:none}
.sps-id-print-note{font-size:9px;color:#6c7786;line-height:1.5;margin:9px 0 0}.sps-id-bulk-launcher{grid-template-columns:1fr!important;align-items:end}.sps-id-bulk-launcher .sps-id-side-buttons{margin:0}
.sps-id-signature-setting{display:flex!important;flex-direction:column;gap:5px}.sps-id-signature-setting>strong{font-size:10px;color:#263447}.sps-id-signature-setting>img{width:170px;height:55px;object-fit:contain;object-position:left center;border:1px solid #e1e5e9;background:#fff;border-radius:8px;padding:5px}.sps-id-no-signature{display:block;border:1px dashed #d8b6b9;background:#fff6f6;color:#8e2429;padding:9px;border-radius:8px;font-size:9px}.sps-check-inline{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;font-size:9px!important}.sps-check-inline input{width:auto!important;margin:0!important}
.sps-id-signature{right:18px;bottom:32px;width:145px}.sps-id-signature img{max-width:135px;max-height:38px}.sps-id-signature-placeholder{height:28px;display:flex;align-items:flex-end;justify-content:center;color:#8b8b8b;font-size:6px;font-style:italic}.sps-id-signature>span{display:block;border-top:1px solid rgba(30,30,30,.58);padding-top:2px;font-size:6.4px;font-weight:800;line-height:1.15;background:rgba(255,255,255,.80)}.sps-id-signature>span small{display:block;font-size:5.4px;font-weight:650;color:#596473;margin-top:1px}
.sps-id-print-sheet{display:flex;justify-content:center;align-items:flex-start}.sps-id-side-front .sps-id-card.back,.sps-id-side-back .sps-id-card.front{display:none!important}

/* Exact ID-1 / CR80 physical page. This keeps ID-card jobs off A4 and lets
   front and back be sent to the printer as separate jobs. */
@page sps-id-card{size:85.60mm 53.98mm;margin:0}
@media print{
  .sps-id-print-sheet{page:sps-id-card;width:85.60mm!important;height:53.98mm!important;margin:0!important;padding:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;display:block!important}
  .sps-id-print-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .sps-id-print-sheet .sps-id-card{width:508px!important;height:320px!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:scale(.637);transform-origin:top left}
  .sps-id-page{width:85.60mm!important;max-width:85.60mm!important;margin:0!important;padding:0!important}
  .sps-id-pair{display:block!important;width:85.60mm!important;margin:0!important;padding:0!important}
  .sps-bulk-id-grid{display:block!important;margin:0!important;padding:0!important}
  .sps-bulk-id-item{display:block!important;width:85.60mm!important;height:53.98mm!important;margin:0!important;padding:0!important;break-inside:avoid!important}
}
@media(max-width:680px){.sps-id-side-buttons{flex-direction:column}.sps-id-side-buttons>a,.sps-id-side-buttons>button{width:100%;min-width:0}}
