:root{--p:#174ea6;--p2:#0b2f6b;--a:#ffb703;--bg:#f4f7fb;--card:#fff;--text:#14213d;--muted:#667085;--danger:#c62828;--ok:#18794e;--shadow:0 14px 40px rgba(15,37,80,.12)}*{box-sizing:border-box}.sbvm-app,.sbvm-login-shell,.sbvm-student-shell{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text)}.sbvm-login-shell{min-height:100vh;padding:28px;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;background:linear-gradient(135deg,#eaf1ff,#fff8e6)}.sbvm-brand-panel,.sbvm-login-card,.sbvm-panel,.sbvm-card,.sbvm-profile{background:rgba(255,255,255,.94);border:1px solid rgba(23,78,166,.12);border-radius:24px;box-shadow:var(--shadow)}.sbvm-brand-panel{padding:54px;min-height:520px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,var(--p2),var(--p));color:#fff}.sbvm-logo{width:76px;height:76px;border-radius:22px;background:var(--a);color:#19213a;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 10px 24px rgba(0,0,0,.18)}.sbvm-brand-panel h1{font-size:clamp(32px,4vw,58px);line-height:1.08;margin:26px 0 14px}.sbvm-brand-panel p{font-size:18px;opacity:.9}.sbvm-login-card{padding:28px}.sbvm-login-card.standalone{max-width:520px;margin:40px auto}.sbvm-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf2fb;padding:5px;border-radius:14px;margin-bottom:24px}.sbvm-tabs button{border:0;background:transparent;padding:13px;border-radius:10px;font-weight:800;cursor:pointer}.sbvm-tabs button.active{background:#fff;color:var(--p);box-shadow:0 4px 15px rgba(23,78,166,.12)}.sbvm-tab-panel{display:none}.sbvm-tab-panel.active{display:block}.sbvm-login-card h2{margin-top:0}.sbvm-login-card label,.sbvm-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#344054}.sbvm-login-card form{display:grid;gap:16px}.sbvm-check{display:flex!important;flex-direction:row!important;align-items:center}.sbvm-check input{width:18px!important;height:18px!important}.sbvm-login-card input,.sbvm-form input,.sbvm-form select,.sbvm-form textarea,.sbvm-section-head input,.sbvm-section-head select,table select{width:100%;padding:12px 14px;border:1px solid #d6deeb;border-radius:11px;background:#fff;font:inherit}.sbvm-btn{display:inline-flex;justify-content:center;align-items:center;border:0;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:13px 20px;border-radius:12px;font-weight:800;cursor:pointer;text-decoration:none}.sbvm-btn.small{padding:9px 14px}.sbvm-alert{padding:13px 16px;border-radius:12px;margin:12px 0;background:#e9fff4;color:var(--ok);border:1px solid #b8efd4}.sbvm-alert.error{background:#fff0f0;color:var(--danger);border-color:#ffc8c8}.sbvm-top{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,var(--p2),var(--p));color:#fff;padding:14px 22px;display:flex;justify-content:space-between;align-items:center}.sbvm-top strong{display:block}.sbvm-top small{display:block;opacity:.8}.sbvm-top-actions{display:flex;gap:14px;align-items:center}.sbvm-top a{color:#fff;text-decoration:none}.sbvm-nav{display:flex;gap:8px;overflow:auto;padding:12px 18px;background:#fff;border-bottom:1px solid #e5eaf2;position:sticky;top:66px;z-index:40}.sbvm-nav a{white-space:nowrap;text-decoration:none;color:#334155;padding:9px 13px;border-radius:10px;font-weight:700}.sbvm-nav a.active{background:var(--p);color:#fff}.sbvm-main{padding:22px;max-width:1500px;margin:auto}.sbvm-hero{padding:28px;border-radius:24px;background:linear-gradient(135deg,#eaf1ff,#fff);border:1px solid #dce7ff}.sbvm-hero h1{margin:0 0 7px}.sbvm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.sbvm-stats>div{background:#fff;border:1px solid #e4e9f2;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,37,80,.07)}.sbvm-stats b{display:block;font-size:25px;color:var(--p)}.sbvm-stats span{color:var(--muted);font-size:14px}.sbvm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sbvm-card{padding:22px;text-decoration:none;color:inherit;transition:.2s}.sbvm-card:hover{transform:translateY(-3px)}.sbvm-card h3{margin:0 0 6px}.sbvm-card p{margin:0;color:var(--muted)}.sbvm-panel{padding:22px;margin-bottom:18px}.sbvm-panel h2{margin-top:0}.sbvm-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sbvm-form.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.sbvm-form .wide{grid-column:1/-1}.sbvm-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.sbvm-section-head form{display:flex;gap:8px;flex-wrap:wrap}.sbvm-table-wrap{overflow:auto;border:1px solid #e3e8f0;border-radius:14px;margin-top:16px}table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf0f5}th{background:#f7f9fc;color:#475467;font-size:13px}td small{display:block;color:var(--muted);margin-top:3px}.danger{color:var(--danger);font-weight:700}.sbvm-notices{display:grid;gap:12px}.sbvm-notices article{padding:16px;border:1px solid #e5e9f1;border-radius:14px;background:#fff}.sbvm-notices time{font-size:12px;color:var(--muted)}.sbvm-notices h3{margin:5px 0}.sbvm-notices p{margin:0}.sbvm-student-shell{min-height:100vh;background:var(--bg);padding-bottom:35px}.sbvm-student-shell>header{background:linear-gradient(135deg,var(--p2),var(--p));color:#fff;padding:18px clamp(16px,4vw,50px);display:flex;align-items:center;gap:16px}.sbvm-student-shell>header .sbvm-logo{width:55px;height:55px;border-radius:16px;font-size:16px}.sbvm-student-shell>header h1{font-size:clamp(17px,3vw,26px);margin:0}.sbvm-student-shell>header p{margin:3px 0 0;opacity:.8}.sbvm-student-shell>header a{margin-left:auto;color:#fff}.sbvm-student-shell>.sbvm-panel,.sbvm-student-shell>.sbvm-profile,.sbvm-student-shell>.sbvm-stats{max-width:1200px;margin-left:auto;margin-right:auto}.sbvm-profile{margin-top:20px;padding:22px;display:flex;align-items:center;gap:16px}.avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--a));display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900}.sbvm-profile h2{margin:0}.sbvm-profile p{margin:5px 0 0;color:var(--muted)}@media(max-width:900px){.sbvm-login-shell{grid-template-columns:1fr}.sbvm-brand-panel{min-height:auto;padding:34px}.sbvm-stats{grid-template-columns:repeat(2,1fr)}.sbvm-grid{grid-template-columns:repeat(2,1fr)}.sbvm-form.compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.sbvm-login-shell{padding:12px;gap:12px}.sbvm-brand-panel{padding:25px;border-radius:18px}.sbvm-brand-panel h1{font-size:28px}.sbvm-login-card{padding:18px;border-radius:18px}.sbvm-top{align-items:flex-start}.sbvm-top small,.sbvm-top-actions span{display:none}.sbvm-nav{top:58px}.sbvm-main{padding:12px}.sbvm-stats,.sbvm-grid,.sbvm-form,.sbvm-form.compact{grid-template-columns:1fr}.sbvm-section-head{align-items:flex-start;flex-direction:column}.sbvm-section-head form{width:100%}.sbvm-section-head input{flex:1}.sbvm-panel{padding:15px;border-radius:16px}.sbvm-student-shell>.sbvm-panel,.sbvm-student-shell>.sbvm-profile,.sbvm-student-shell>.sbvm-stats{margin-left:12px;margin-right:12px}.sbvm-profile{align-items:flex-start}.sbvm-tabs button{font-size:13px;padding:11px 6px}}@media print{.sbvm-top,.sbvm-nav,.sbvm-btn{display:none!important}.sbvm-main{padding:0}.sbvm-panel{box-shadow:none;border:0}}

/* v2 responsive + admin */
.sbvm-app{min-height:100vh;background:var(--bg);overflow-x:hidden}.sbvm-main,.sbvm-login-shell,.sbvm-student-shell *{min-width:0}.sbvm-form textarea{min-height:110px;resize:vertical}.sbvm-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px}.sbvm-filter label{display:grid;gap:7px;font-weight:700}.sbvm-filter select,.sbvm-filter input{min-width:180px;padding:11px 13px;border:1px solid #d6deeb;border-radius:11px;background:#fff}.sbvm-admin-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.sbvm-admin-cards>div{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:22px}.sbvm-admin-cards b{display:block;font-size:28px;color:#174ea6}.sbvm-admin-cards span{color:#646970}.sbvm-top-actions a{padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.11)}
@media(max-width:1100px){.sbvm-main{padding:18px}.sbvm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-login-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);padding:20px}.sbvm-brand-panel{padding:38px}}
@media(max-width:820px){.sbvm-login-shell{grid-template-columns:1fr;min-height:auto}.sbvm-brand-panel{min-height:auto}.sbvm-top{position:relative;top:auto;padding:13px 16px}.sbvm-nav{top:0;position:sticky;padding:10px 12px}.sbvm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-form,.sbvm-form.compact{grid-template-columns:1fr 1fr}.sbvm-section-head{align-items:flex-start;flex-direction:column}.sbvm-section-head form{width:100%}.sbvm-admin-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){html,body{max-width:100%;overflow-x:hidden}.sbvm-login-shell{padding:10px}.sbvm-brand-panel{padding:24px 20px}.sbvm-brand-panel h1{font-size:clamp(25px,8vw,34px)}.sbvm-brand-panel p{font-size:15px}.sbvm-logo{width:58px;height:58px;border-radius:17px;font-size:17px}.sbvm-login-card{padding:17px}.sbvm-tabs{grid-template-columns:1fr}.sbvm-tabs button+button{margin-top:4px}.sbvm-main{padding:10px}.sbvm-hero{padding:20px}.sbvm-hero h1{font-size:25px}.sbvm-stats,.sbvm-grid,.sbvm-form,.sbvm-form.compact,.sbvm-admin-cards{grid-template-columns:1fr}.sbvm-panel{padding:14px}.sbvm-top{gap:12px}.sbvm-top-actions{gap:6px;font-size:13px}.sbvm-top-actions span{display:none}.sbvm-nav a{padding:8px 11px;font-size:13px}.sbvm-section-head form{display:grid;grid-template-columns:1fr;width:100%}.sbvm-section-head input,.sbvm-section-head select,.sbvm-section-head .sbvm-btn{width:100%}.sbvm-table-wrap{width:100%;-webkit-overflow-scrolling:touch}.sbvm-table-wrap table{min-width:680px}.sbvm-filter{display:grid;grid-template-columns:1fr;width:100%}.sbvm-filter label,.sbvm-filter select,.sbvm-filter input,.sbvm-filter .sbvm-btn{width:100%;min-width:0}.sbvm-student-shell>header{padding:14px 12px}.sbvm-profile{padding:16px}.avatar{width:52px;height:52px;font-size:22px}}
@media(max-width:380px){.sbvm-login-card{padding:14px}.sbvm-btn{width:100%}.sbvm-top strong{font-size:13px}.sbvm-top-actions a{padding:7px 8px}.sbvm-table-wrap table{min-width:620px}}

/* =========================================================
   v2.2 Library-style premium frontend shell
========================================================= */
body:has(.sbvm-app),body:has(.sbvm-login-shell),body:has(.sbvm-student-shell){margin:0;background:#eef3fb}
body:has(.sbvm-app) #wpadminbar,body:has(.sbvm-login-shell) #wpadminbar,body:has(.sbvm-student-shell) #wpadminbar{display:none!important}
body:has(.sbvm-app) header:not(.sbvm-top),body:has(.sbvm-login-shell) header:not(.sbvm-top),body:has(.sbvm-student-shell) header:not(.sbvm-student-shell>header),body:has(.sbvm-app) footer,body:has(.sbvm-login-shell) footer,body:has(.sbvm-student-shell) footer{display:none!important}
body:has(.sbvm-app) .site,body:has(.sbvm-login-shell) .site,body:has(.sbvm-student-shell) .site,
body:has(.sbvm-app) .site-content,body:has(.sbvm-login-shell) .site-content,body:has(.sbvm-student-shell) .site-content,
body:has(.sbvm-app) .content-area,body:has(.sbvm-login-shell) .content-area,body:has(.sbvm-student-shell) .content-area,
body:has(.sbvm-app) main.site-main,body:has(.sbvm-login-shell) main.site-main,body:has(.sbvm-student-shell) main.site-main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.sbvm-app{--side:270px;background:radial-gradient(circle at top right,#dbe8ff 0,transparent 33%),#f3f6fb}
.sbvm-layout{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:calc(100vh - 72px)}
.sbvm-top{min-height:72px;padding:12px 22px;background:rgba(9,39,91,.96);backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(9,39,91,.18)}
.sbvm-top-left{display:flex;align-items:center;gap:12px;min-width:0}.sbvm-top-left>div{min-width:0}.sbvm-top-left strong,.sbvm-top-left small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(48vw,620px)}
.sbvm-menu-toggle,.sbvm-back{width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:20px;cursor:pointer}
.sbvm-menu-toggle{display:none}.sbvm-user-chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12)}
.sbvm-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);padding:18px 14px;background:linear-gradient(180deg,#fff,#f8fbff);border-right:1px solid #dfe8f5;display:flex;flex-direction:column;z-index:45;box-shadow:8px 0 28px rgba(30,64,175,.05)}
.sbvm-sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 18px;border-bottom:1px solid #e8eef7}.sbvm-sidebar-brand .sbvm-logo{width:48px;height:48px;border-radius:15px;font-size:14px}.sbvm-sidebar-brand b,.sbvm-sidebar-brand small{display:block}.sbvm-sidebar-brand small{color:#738198;margin-top:2px}
.sbvm-nav{position:static;top:auto;display:flex;flex-direction:column;gap:7px;padding:16px 0;background:transparent;border:0;overflow:auto;flex:1}
.sbvm-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:13px;color:#334155;transition:.18s}.sbvm-nav a:hover{background:#edf4ff;color:#174ea6;transform:translateX(2px)}.sbvm-nav a.active{background:linear-gradient(135deg,#174ea6,#0b2f6b);color:#fff;box-shadow:0 10px 22px rgba(23,78,166,.22)}
.sbvm-nav-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(23,78,166,.09);font-weight:900;flex:0 0 auto}.sbvm-nav a.active .sbvm-nav-icon{background:rgba(255,255,255,.16)}
.sbvm-sidebar-foot{padding:12px 8px;color:#8190a6;border-top:1px solid #e8eef7}
.sbvm-main{max-width:none;width:100%;padding:24px clamp(16px,2.4vw,34px) 42px;overflow:hidden}
.sbvm-hero{position:relative;overflow:hidden;padding:30px;background:linear-gradient(135deg,#103d88,#1f66d2);color:#fff;border:0;box-shadow:0 18px 40px rgba(23,78,166,.2)}.sbvm-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-120px;background:rgba(255,255,255,.12)}.sbvm-hero p{opacity:.9}
.sbvm-stats>div,.sbvm-card,.sbvm-panel{border:1px solid rgba(40,78,140,.1);box-shadow:0 12px 32px rgba(31,55,95,.08)}
.sbvm-stats>div{position:relative;overflow:hidden;padding:22px}.sbvm-stats>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#174ea6,#ffb703)}
.sbvm-card{min-height:140px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff,#f8fbff)}.sbvm-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(23,78,166,.13)}
.sbvm-panel{background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}
.sbvm-table-wrap{box-shadow:inset 0 0 0 1px #edf2f8}.sbvm-table-wrap table{min-width:760px}.sbvm-table-wrap thead th{position:sticky;top:0;z-index:2;background:#f6f9fe}
.sbvm-overlay{display:none}

/* Premium login matching the library ERP */
.sbvm-login-shell{position:relative;overflow:hidden;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);padding:clamp(16px,3vw,42px);background:radial-gradient(circle at 15% 15%,rgba(255,183,3,.24),transparent 25%),radial-gradient(circle at 85% 75%,rgba(65,105,225,.23),transparent 31%),linear-gradient(135deg,#e9f1ff,#fff9e9)}
.sbvm-login-shell:before,.sbvm-login-shell:after{content:"";position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none}.sbvm-login-shell:before{width:280px;height:280px;left:-100px;bottom:-100px;background:rgba(23,78,166,.12)}.sbvm-login-shell:after{width:220px;height:220px;right:-70px;top:-70px;background:rgba(255,183,3,.16)}
.sbvm-brand-panel,.sbvm-login-card{position:relative;z-index:1}.sbvm-brand-panel{min-height:600px;padding:clamp(34px,5vw,72px);background:linear-gradient(145deg,#082c66,#174ea6 62%,#2a6ed2);box-shadow:0 28px 70px rgba(10,45,103,.28)}
.sbvm-brand-panel:after{content:"Nursery to Class 10 • Admission • Fee • Attendance • Results";display:block;margin-top:30px;padding:13px 16px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-weight:700}
.sbvm-login-card{padding:clamp(22px,3vw,36px);border-radius:28px;box-shadow:0 28px 70px rgba(21,49,92,.18)}
.sbvm-tabs{gap:6px;padding:6px;border-radius:16px}.sbvm-tabs button{min-height:48px}.sbvm-login-card input{min-height:50px;border-radius:13px}.sbvm-login-card .sbvm-btn{min-height:50px;font-size:16px}

/* Student portal library-like cards */
.sbvm-student-shell{background:radial-gradient(circle at top right,#dce8ff 0,transparent 30%),#f3f6fb}.sbvm-student-shell>header{position:sticky;top:0;z-index:30;box-shadow:0 10px 28px rgba(9,39,91,.18)}.sbvm-profile{margin-top:24px;background:linear-gradient(135deg,#fff,#f8fbff);border-left:5px solid #174ea6}.sbvm-student-shell>.sbvm-stats{padding:0 0}.sbvm-student-shell>.sbvm-panel{margin-top:18px}

@media(max-width:1024px){.sbvm-app{--side:240px}.sbvm-layout{grid-template-columns:240px minmax(0,1fr)}.sbvm-main{padding:18px}.sbvm-top-actions a:first-child{display:none}.sbvm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.sbvm-layout{display:block}.sbvm-menu-toggle{display:grid}.sbvm-sidebar{position:fixed;left:0;top:0;height:100vh;width:min(86vw,300px);transform:translateX(-105%);transition:transform .25s ease;z-index:100;padding-top:18px}.sbvm-app.menu-open .sbvm-sidebar{transform:translateX(0)}.sbvm-overlay{display:block;position:fixed;inset:0;background:rgba(6,22,48,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.2s;z-index:90}.sbvm-app.menu-open .sbvm-overlay{opacity:1;visibility:visible}.sbvm-top{position:sticky;top:0}.sbvm-top-left strong{max-width:48vw}.sbvm-main{padding:16px}.sbvm-login-shell{grid-template-columns:1fr;align-content:center}.sbvm-brand-panel{min-height:auto}.sbvm-brand-panel:after{font-size:13px}}
@media(max-width:560px){.sbvm-top{padding:10px 12px;min-height:64px}.sbvm-top-left{gap:7px}.sbvm-menu-toggle,.sbvm-back{width:36px;height:36px;border-radius:10px}.sbvm-top-left strong{font-size:13px;max-width:42vw}.sbvm-top-left small{display:none}.sbvm-top-actions .sbvm-user-chip{display:none}.sbvm-top-actions a{font-size:13px;padding:7px 9px}.sbvm-main{padding:11px 10px 32px}.sbvm-hero{padding:22px 18px;border-radius:18px}.sbvm-hero h1{font-size:24px}.sbvm-stats{grid-template-columns:1fr 1fr;gap:10px}.sbvm-stats>div{padding:16px}.sbvm-stats b{font-size:20px}.sbvm-grid{grid-template-columns:1fr}.sbvm-card{min-height:110px;padding:18px}.sbvm-panel{padding:14px}.sbvm-login-shell{padding:10px}.sbvm-brand-panel{padding:26px 22px}.sbvm-brand-panel:after{display:none}.sbvm-tabs{grid-template-columns:1fr}.sbvm-student-shell>.sbvm-stats{margin-left:10px;margin-right:10px}.sbvm-student-shell>header{padding:13px 12px}.sbvm-student-shell>header a{font-size:13px}}
