.sbvm{font-family:Inter,Arial,sans-serif}.sbvm h1,.sbvm h2{font-weight:900;color:#0f172a}.sbvm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px;margin:18px 0}.sbvm-card{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid #dbeafe;border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.08)}.sbvm-card b{display:block;color:#334155}.sbvm-card span{font-size:26px;font-weight:900;color:#0f766e;margin-top:8px;display:block}.sbvm-panel{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:18px;margin:15px 0;box-shadow:0 10px 28px rgba(15,23,42,.07)}.sbvm-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.sbvm label{font-weight:800;color:#334155;display:block;margin:10px 0}.sbvm input,.sbvm select,.sbvm textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff}.sbvm textarea{min-height:80px}.sbvm-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0}.roll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:12px;margin:16px 0}.roll{border-radius:20px;padding:14px;background:#ecfdf5;border:1px solid #86efac;box-shadow:0 8px 20px rgba(15,23,42,.06)}.roll.busy{background:#fff7ed;border-color:#fdba74}.roll b{font-size:18px;color:#172554}.roll small{display:flex;justify-content:space-between;background:rgba(255,255,255,.8);padding:7px 9px;border-radius:12px;margin-top:8px}.roll em{font-style:normal;font-weight:900}.available{color:#15803d}.booked{color:#c2410c}.roll p{font-size:12px;margin:6px 0;color:#475569}.sbvm-legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0}.dot{width:14px;height:14px;border-radius:50%;display:inline-block;margin-right:5px}.dot.free{background:#22c55e}.dot.busy{background:#f97316}.dot.due{background:#facc15}.sbvm-due{background:#fee2e2!important}.sbvm-soon{background:#fef9c3!important}.sbvm-receipt{background:#fff;width:460px;max-width:100%;border:2px dashed #1d4ed8;border-radius:16px;padding:18px}.sbvm-receipt h2{text-align:center;margin:0}.sbvm-receipt .two{display:flex;justify-content:space-between;gap:12px}.sbvm-receipt table{width:100%;border-collapse:collapse}.sbvm-receipt td{border:1px solid #dbeafe;padding:8px}.sign{text-align:right;margin-top:28px;font-weight:900}.sbvm-id-card{width:390px;max-width:100%;border:2px solid #1d4ed8;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#fff);padding:18px;box-shadow:0 14px 32px rgba(29,78,216,.15)}.sbvm-id-card h3{text-align:center;margin:0 0 12px;color:#1d4ed8}.id-flex{display:flex;gap:12px;align-items:center}.id-photo{width:90px;height:105px;border:1px solid #cbd5e1;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}.id-photo img{width:100%;height:100%;object-fit:cover}.sbvm-notices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:15px 0}.sbvm-notice{background:#f8fafc;border-left:5px solid #2563eb;border-radius:16px;padding:14px}.sbvm-notice b{display:block;font-size:18px}.sbvm-notice span{display:inline-block;background:#dbeafe;border-radius:999px;padding:3px 10px;margin:8px 0;color:#1d4ed8;font-weight:800}.sbvm-front{max-width:1100px;margin:auto}.sbvm-front .button,.sbvm .button-primary{border-radius:12px!important;padding:8px 18px!important}
@media(max-width:720px){.sbvm-row,.sbvm-cards,.roll-grid{grid-template-columns:1fr}.sbvm-filter{display:block}.widefat{font-size:12px}.sbvm-receipt .two,.id-flex{display:block}.sbvm-id-card,.sbvm-receipt{width:auto}}
@media print{#adminmenumain,#wpadminbar,.notice,.button,.page-title-action,.sbvm-form,.sbvm-filter{display:none!important}.wrap{margin:0!important}.sbvm-card,.roll{box-shadow:none}.receipt-row,.sbvm-card-row{display:table-row!important}.sbvm-receipt,.sbvm-id-card{break-inside:avoid}}
.sbvm-access{max-width:760px;margin:40px auto;padding:28px;border-radius:22px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 20px 55px rgba(15,23,42,.10);text-align:center}.sbvm-access h3{margin-top:0;font-size:26px}.sbvm-access p{font-size:16px;color:#475569}.sbvm-access .sbvm-btn{display:inline-block;margin-top:10px;padding:12px 22px;border-radius:12px;text-decoration:none;font-weight:800}

/* SBVM Home Page */
.sbvm-home{max-width:1180px;margin:24px auto;padding:10px}
.sbvm-hero{display:grid;grid-template-columns:1.6fr .8fr;gap:22px;align-items:stretch;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:28px;padding:34px;box-shadow:0 18px 45px rgba(15,23,42,.25);overflow:hidden;position:relative}
.sbvm-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.09);right:-80px;top:-80px}
.sbvm-kicker{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);padding:7px 14px;border-radius:99px;margin:0 0 12px;font-weight:700}
.sbvm-hero h1{font-size:38px;line-height:1.15;margin:0 0 12px;color:#fff}
.sbvm-hero p{font-size:16px;max-width:720px;margin:0 0 20px;color:rgba(255,255,255,.9)}
.sbvm-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.sbvm-btn-light{background:#fff!important;color:#0f172a!important}.sbvm-hero-card{position:relative;z-index:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:8px}.sbvm-hero-card b{font-size:22px}.sbvm-hero-card span{font-size:26px;font-weight:900}.sbvm-hero-card small{color:rgba(255,255,255,.8)}
.sbvm-home-stats{grid-template-columns:repeat(6,1fr);margin:20px 0}.sbvm-home-stats div{min-height:92px}.sbvm-home-stats b{font-size:24px;display:block}.sbvm-home-stats span{color:#64748b;font-weight:700;font-size:13px}.sbvm-home h2{margin:28px 0 14px;font-size:24px}.sbvm-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sbvm-home-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:20px;text-decoration:none;color:#0f172a;box-shadow:0 10px 28px rgba(15,23,42,.08);transition:.2s;min-height:132px}.sbvm-home-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(15,23,42,.13)}.sbvm-home-card i{font-style:normal;font-size:28px;display:block;margin-bottom:10px}.sbvm-home-card strong{display:block;font-size:17px;margin-bottom:6px}.sbvm-home-card span{display:block;color:#64748b;font-size:13px;line-height:1.5}
@media(max-width:1000px){.sbvm-hero{grid-template-columns:1fr}.sbvm-home-stats{grid-template-columns:repeat(2,1fr)}.sbvm-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sbvm-hero{padding:24px;border-radius:22px}.sbvm-hero h1{font-size:28px}.sbvm-home-grid{grid-template-columns:1fr}.sbvm-home-stats{grid-template-columns:1fr}.sbvm-hero-actions .sbvm-btn{width:100%;text-align:center}}

/* v3.5 Owner-only ERP shell: hides WordPress feeling on frontend */
body:not(.wp-admin).admin-bar{margin-top:0!important} body:not(.wp-admin) #wpadminbar{display:none!important}
.sbvm-shell-spacer{height:68px}.sbvm-shell-head{position:fixed;z-index:99998;top:0;left:0;right:0;height:68px;background:linear-gradient(135deg,#07132f,#173b7a);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.sbvm-shell-brand{display:flex;align-items:center;gap:12px}.sbvm-shell-brand strong{font-size:18px}.sbvm-shell-brand span{font-size:12px;background:rgba(255,255,255,.14);padding:6px 10px;border-radius:999px}.sbvm-menu-toggle{border:0;background:#fff;color:#142a55;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.sbvm-shell-actions{display:flex;align-items:center;gap:8px}.sbvm-shell-actions a,.sbvm-shell-actions button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:9px 11px;text-decoration:none;cursor:pointer;font-weight:700}.sbvm-shell-actions input{width:270px;max-width:35vw;border:0;border-radius:12px;padding:11px 13px}.sbvm-shell-actions .sbvm-logout{background:#ef4444;border-color:#ef4444}
.sbvm-shell-side{position:fixed;z-index:99997;top:68px;left:0;bottom:0;width:238px;background:#07132f;color:#dbe7ff;padding:16px 12px;overflow:auto;box-shadow:10px 0 24px rgba(0,0,0,.12)}.sbvm-side-title{font-weight:900;margin:4px 10px 14px;color:#fff}.sbvm-shell-side a{display:flex;align-items:center;gap:10px;color:#dbe7ff;text-decoration:none;padding:12px 13px;border-radius:14px;margin:5px 0;font-weight:700}.sbvm-shell-side a:hover{background:rgba(255,255,255,.12);color:#fff}.sbvm-shell-side span{width:24px;text-align:center}
.sbvm-shell-main{margin-left:238px;padding:18px;min-height:calc(100vh - 68px);background:#f6f8fc}.sbvm-shell-main .wrap{margin:0!important}.sbvm-shell-main .sbvm-front,.sbvm-shell-main .wrap.sbvm{max-width:1220px;margin:0 auto!important}.sbvm-bottom-nav{display:none}
@media(max-width:900px){.sbvm-shell-spacer{height:62px}.sbvm-shell-head{height:62px;padding:0 10px}.sbvm-shell-brand strong{font-size:14px}.sbvm-shell-brand span,.sbvm-shell-actions button:nth-child(3),.sbvm-shell-actions input{display:none}.sbvm-shell-actions a,.sbvm-shell-actions button{padding:8px 9px;font-size:12px}.sbvm-shell-side{transform:translateX(-105%);transition:.25s;width:250px;top:62px}.sbvm-menu-open .sbvm-shell-side{transform:translateX(0)}.sbvm-shell-main{margin-left:0;padding:12px 10px 78px}.sbvm-bottom-nav{position:fixed;z-index:99999;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -8px 24px rgba(0,0,0,.12)}.sbvm-bottom-nav a{text-align:center;text-decoration:none;color:#0f172a;padding:8px 4px;font-weight:800;font-size:13px}.sbvm-bottom-nav span{display:block;font-size:11px;margin-top:2px}}

/* v3.6 Hint removed + stronger mobile/tablet responsive fixes */
.sbvm-home-card span:empty,.sbvm-kicker:empty{display:none!important}
.sbvm .description,.sbvm .help,.sbvm .hint,.sbvm-help,.sbvm-hint,.sbvm-demo,.sbvm-tip{display:none!important}
.sbvm-panel code{display:none!important}
.sbvm-shell-main{box-sizing:border-box;width:auto;overflow-x:hidden}
.sbvm *, .sbvm-shell-head *, .sbvm-shell-side *, .sbvm-bottom-nav *{box-sizing:border-box}
.sbvm table{width:100%;border-collapse:collapse}
.sbvm .widefat{display:block;overflow-x:auto;white-space:nowrap;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.sbvm .button,.sbvm .button-primary,.sbvm-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.sbvm input,.sbvm select,.sbvm textarea{font-size:16px;max-width:100%}

@media (min-width:901px) and (max-width:1180px){
  .sbvm-shell-side{width:210px}.sbvm-shell-main{margin-left:210px;padding:16px}
  .sbvm-shell-actions input{width:210px}.sbvm-home-grid{grid-template-columns:repeat(3,1fr)}
  .sbvm-home-stats{grid-template-columns:repeat(3,1fr)}.roll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  html,body{overflow-x:hidden}.sbvm-shell-brand{min-width:0}.sbvm-shell-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}
  .sbvm-shell-actions{gap:5px}.sbvm-shell-actions .sbvm-logout{font-size:0}.sbvm-shell-actions .sbvm-logout:before{content:'Logout';font-size:12px}
  .sbvm-menu-open:after{content:"";position:fixed;z-index:99996;inset:62px 0 0 0;background:rgba(15,23,42,.38)}
  .sbvm-shell-side{max-width:82vw}.sbvm-shell-side a{padding:14px 12px;font-size:15px}
  .sbvm-card,.sbvm-panel,.sbvm-home-card,.roll{border-radius:16px;padding:14px}.sbvm h1{font-size:24px}.sbvm h2{font-size:20px}
  .sbvm-row{grid-template-columns:1fr!important}.sbvm-filter{display:grid;grid-template-columns:1fr;gap:10px}.sbvm-filter .button{width:100%}
  .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sbvm-card span{font-size:21px}
  .roll-grid{grid-template-columns:1fr!important}.sbvm-notices{grid-template-columns:1fr!important}
  .sbvm-home{margin:0;padding:0}.sbvm-hero{margin:0 0 14px;border-radius:0 0 22px 22px}.sbvm-home-grid{gap:10px}
}
@media (max-width:520px){
  .sbvm-shell-head{height:58px}.sbvm-shell-spacer{height:58px}.sbvm-shell-side{top:58px}.sbvm-shell-main{padding:10px 8px 76px}
  .sbvm-shell-brand strong{max-width:35vw;font-size:13px}.sbvm-shell-actions a,.sbvm-shell-actions button{padding:7px 8px;border-radius:9px}
  .sbvm-shell-actions button:first-child{font-size:0}.sbvm-shell-actions button:first-child:before{content:'←';font-size:16px}
  .sbvm-shell-actions button:nth-child(3){display:none!important}.sbvm-shell-actions a:not(.sbvm-logout){font-size:0}.sbvm-shell-actions a:not(.sbvm-logout):before{content:'🏠';font-size:15px}
  .sbvm-cards,.sbvm-home-stats,.sbvm-home-grid{grid-template-columns:1fr!important}.sbvm-hero h1{font-size:24px}.sbvm-hero{padding:20px 16px}
  .sbvm-hero-card{padding:16px}.sbvm-hero-actions{display:grid;grid-template-columns:1fr}.sbvm-btn,.sbvm .button,.sbvm .button-primary{width:100%;text-align:center}
  .sbvm-receipt,.sbvm-id-card{padding:12px;border-radius:14px}.sbvm-receipt td{font-size:13px;padding:6px}.sbvm-legend{gap:8px;font-size:12px}
  .sbvm-bottom-nav a{font-size:12px;padding:7px 2px}.sbvm-bottom-nav span{font-size:10px}
}

/* v3.7 Premium frontend + custom SBVM owner login */
.sbvm-shell-head{backdrop-filter:blur(14px);background:linear-gradient(135deg,#061026 0%,#102e63 50%,#0f766e 100%)}
.sbvm-shell-brand strong:before{content:'📚 ';font-size:20px}.sbvm-shell-side{background:linear-gradient(180deg,#061026,#0b1f42)}
.sbvm-shell-main{background:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 28%),#f5f7fb}.sbvm-panel,.sbvm-card,.sbvm-home-card,.roll{border-color:#dbe7ff;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.sbvm-home-card{position:relative;overflow:hidden}.sbvm-home-card:after{content:"";position:absolute;right:-28px;bottom:-28px;width:86px;height:86px;border-radius:50%;background:rgba(37,99,235,.08)}
.sbvm input:focus,.sbvm select:focus,.sbvm textarea:focus{outline:3px solid rgba(37,99,235,.15);border-color:#2563eb}

.sbvm-login-screen{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:34px;padding:42px;background:radial-gradient(circle at 15% 20%,rgba(56,189,248,.22),transparent 26%),linear-gradient(135deg,#061026,#102e63 52%,#0f766e);font-family:Inter,Arial,sans-serif;color:#fff;overflow:auto}
.sbvm-login-left{max-width:680px}.sbvm-login-badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.26);font-weight:800;margin-bottom:18px}.sbvm-login-left h1{font-size:48px;line-height:1.08;margin:0 0 16px;color:#fff;font-weight:950}.sbvm-login-left p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.88);margin:0 0 24px}.sbvm-login-points{display:flex;gap:12px;flex-wrap:wrap}.sbvm-login-points span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px 14px;font-weight:800}
.sbvm-login-card{width:100%;max-width:430px;margin:auto;background:rgba(255,255,255,.96);color:#0f172a;border-radius:30px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.55)}.sbvm-login-card h2{margin:0 0 18px;font-size:30px;color:#0f172a;font-weight:950}.sbvm-login-card label{display:block;font-weight:850;margin:14px 0 7px;color:#334155}.sbvm-login-card input[type=text],.sbvm-login-card input[type=password]{width:100%;height:50px;border:1px solid #cbd5e1;border-radius:15px;padding:0 14px;font-size:16px;background:#fff}.sbvm-login-card input:focus{outline:4px solid rgba(37,99,235,.14);border-color:#2563eb}.sbvm-login-remember{display:flex!important;align-items:center;gap:9px;font-weight:750!important}.sbvm-login-remember input{width:auto!important;height:auto!important}.sbvm-login-btn{width:100%;min-height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff!important;font-weight:950;font-size:16px;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:16px}.sbvm-login-card small{display:block;text-align:center;margin-top:14px;color:#64748b;font-weight:700}.sbvm-login-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:14px;padding:11px 13px;font-weight:800;margin:8px 0 12px}.sbvm-login-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:14px;padding:11px 13px;font-weight:800;margin:8px 0 12px}
body:has(.sbvm-login-screen) #wpadminbar{display:none!important}
@media(max-width:900px){.sbvm-login-screen{grid-template-columns:1fr;padding:26px 18px;align-content:center}.sbvm-login-left{text-align:center;margin:auto}.sbvm-login-left h1{font-size:34px}.sbvm-login-left p{font-size:15px}.sbvm-login-points{justify-content:center}.sbvm-login-card{border-radius:24px;padding:24px}}
@media(max-width:520px){.sbvm-login-screen{padding:18px 12px}.sbvm-login-left h1{font-size:27px}.sbvm-login-points span{font-size:12px;padding:9px 10px}.sbvm-login-card{padding:20px;border-radius:20px}.sbvm-login-card h2{font-size:24px}.sbvm-login-card input[type=text],.sbvm-login-card input[type=password]{height:48px}}

/* v3.8 Admission fee-due + stronger frontend responsive fixes */
.sbvm-section-title{margin:18px 0 8px;padding:10px 13px;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #dbeafe;font-size:15px;font-weight:950;color:#0f172a}
.sbvm-fee-row{background:#f8fafc;border:1px dashed #93c5fd;border-radius:18px;padding:12px;margin-top:8px}
.sbvm-fee-status[value="due"],.sbvm-due-amount{font-weight:900;color:#b91c1c}.sbvm-paid{font-weight:900;color:#15803d}
.sbvm .widefat th,.sbvm .widefat td{padding:10px 12px;vertical-align:middle}.sbvm .widefat th{background:#eff6ff;color:#0f172a}
.sbvm .button+.button,.sbvm a.button+button,.sbvm button+button{margin-left:6px}.sbvm-front form:not(.sbvm-login-card form){max-width:100%}
.sbvm-shell-main .sbvm-front{width:100%}.sbvm-shell-main input[type="date"],.sbvm-shell-main input[type="number"],.sbvm-shell-main input[type="text"],.sbvm-shell-main select{min-height:44px}
@media (max-width:1180px){.sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){
  .sbvm-row,.sbvm-cards,.roll-grid,.sbvm-home-grid,.sbvm-home-stats{grid-template-columns:1fr!important}
  .sbvm-panel{padding:13px;margin:10px 0}.sbvm-section-title{font-size:14px;margin-top:14px}
  .sbvm label{margin:8px 0}.sbvm input,.sbvm select,.sbvm textarea{padding:11px 10px;border-radius:11px}
  .sbvm .button,.sbvm .button-primary,.sbvm-btn{width:100%;margin:5px 0!important}
  .sbvm .widefat{font-size:12px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .roll small{font-size:12px}.roll p{font-size:11px}.sbvm-shell-main{overflow-x:hidden}
}
@media (min-width:769px) and (max-width:1024px){
  .sbvm-shell-main{padding:14px}.sbvm-panel{padding:16px}.sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.roll-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sbvm-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sbvm-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v3.9 hard responsive + frontend function fixes */
.sbvm .widefat{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}
.sbvm-table-scroll,.sbvm .widefat{max-width:100%}
@media (max-width:900px){
  .sbvm .widefat{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;border-radius:14px}
  .sbvm .widefat thead,.sbvm .widefat tbody,.sbvm .widefat tr{min-width:680px}
  .sbvm-shell-head{position:fixed;top:0;left:0;right:0;width:100%;z-index:99999}
  .sbvm-shell-main{width:100%!important;box-sizing:border-box}
  .sbvm-front,.sbvm .wrap{max-width:100%;overflow-x:hidden}
  .sbvm-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .sbvm-row label,.sbvm label{width:100%;max-width:100%}
  .sbvm input,.sbvm select,.sbvm textarea{width:100%!important;box-sizing:border-box}
  .sbvm-panel form,.sbvm form.sbvm-panel{width:100%;box-sizing:border-box}
}
@media (min-width:901px) and (max-width:1180px){
  .sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sbvm-cards,.sbvm-home-grid,.sbvm-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
  .sbvm h1{font-size:22px!important}.sbvm h2{font-size:19px!important}.sbvm h3{font-size:17px!important}
  .sbvm-panel,.sbvm-card,.sbvm-home-card,.roll{padding:12px!important;border-radius:14px!important}
  .sbvm-section-title{padding:9px 10px!important}
  .sbvm-shell-main{padding-left:8px!important;padding-right:8px!important}
  .sbvm .button,.sbvm .button-primary,.sbvm-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
}

/* v4.0 class_section edit + live admission roll map + reports fixes */
.sbvm-roll-live{margin:14px 0 18px}.sbvm-mini-note{margin:4px 0 10px;color:#64748b;font-weight:700}.sbvm-admission-roll-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:460px;overflow:auto;padding-right:6px}.roll.free{border-color:#bbf7d0;background:#f0fdf4}.roll .available{background:#dcfce7;color:#166534}.roll .booked{background:#fee2e2;color:#991b1b}.roll .due{background:#fef3c7;color:#92400e}.sbvm-mini-form{display:grid;grid-template-columns:minmax(80px,1fr) minmax(120px,1.3fr) auto;gap:6px;align-items:center;min-width:310px}.sbvm-mini-form select{min-height:36px}.sbvm-mini-form .button{min-height:36px!important;width:auto!important}.sbvm-card span{word-break:break-word}.sbvm-filter .sbvm-row{align-items:end}
@media(max-width:1180px){.sbvm-admission-roll-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sbvm-admission-roll-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.sbvm-mini-form{grid-template-columns:1fr;min-width:220px}.sbvm-mini-form .button{width:100%!important}.sbvm-roll-live{overflow:hidden}.sbvm .widefat td form.sbvm-mini-form{white-space:normal}}
@media(max-width:560px){.sbvm-admission-roll-grid{grid-template-columns:1fr}.roll small{display:flex;justify-content:space-between;gap:8px}.roll p{margin:3px 0 6px}.sbvm-mini-note{font-size:12px}}
@media print{.sbvm-shell-head,.sbvm-shell-side,.sbvm-bottom-nav,.sbvm-filter,.sbvm .button{display:none!important}.sbvm-shell-main{margin:0!important;padding:0!important}.sbvm .widefat{display:table!important;white-space:normal!important}}

/* v4.1 admin edit/delete + receipt signature/stamp */
.sbvm-danger{border-color:#ef4444!important;color:#b91c1c!important;background:#fff5f5!important}
.sbvm-sign-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;align-items:end;text-align:center}
.sbvm-sign-row>div{min-height:88px;border-top:1px dashed #94a3b8;padding-top:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.sbvm-sign-row img{max-height:58px;max-width:130px;object-fit:contain}
.sbvm-sign-row small{font-weight:700;color:#334155;line-height:1.35}.sbvm-receipt-note{font-size:12px;color:#64748b;font-weight:700}.sbvm-receipt{background:#fff;max-width:760px;margin:14px auto;padding:24px;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 16px 40px rgba(15,23,42,.08)}.sbvm-receipt table{width:100%;border-collapse:collapse;margin:18px 0}.sbvm-receipt td{border:1px solid #e2e8f0;padding:10px}.sbvm-receipt .two{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:680px){.sbvm-sign-row{grid-template-columns:1fr}.sbvm-receipt{padding:14px}.sbvm-receipt .two{display:block}.sbvm-receipt td{display:block;width:100%;box-sizing:border-box}}
@media print{.sbvm-receipt{box-shadow:none;border:1px solid #111;max-width:100%;border-radius:0}.sbvm-sign-row{grid-template-columns:repeat(3,1fr)!important}.sbvm-receipt-note{display:none}}


.sbvm-roll-warning{background:#fff7ed;border:1px solid #fb923c;color:#9a3412;border-radius:14px;padding:12px 14px;font-weight:900;margin:12px 0;box-shadow:0 8px 22px rgba(154,52,18,.12)}
.sbvm-field-help{display:block;font-size:11px;line-height:1.35;color:#64748b;font-weight:700;margin-top:6px}
.sbvm select option:disabled{color:#991b1b;background:#fee2e2}
.sbvm-option-booked{color:#991b1b!important;background:#fee2e2!important}
@media(max-width:1024px){.sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sbvm-row{grid-template-columns:1fr}.roll-grid{grid-template-columns:1fr}.sbvm-panel{padding:14px;border-radius:16px}.sbvm input,.sbvm select,.sbvm textarea{font-size:16px}.sbvm-btn,.button{width:100%;margin-top:8px}.sbvm-roll-live{overflow-x:hidden}.roll small{font-size:12px}}

/* v4.4 Premium frontend refresh + historical bulk/search */
:root{--sbvm-bg:#f3f7fb;--sbvm-card:#ffffff;--sbvm-ink:#0f172a;--sbvm-muted:#64748b;--sbvm-primary:#2563eb;--sbvm-accent:#0f766e;--sbvm-soft:#eaf2ff;--sbvm-line:#dbe7ff}
.sbvm-shell-main{background:radial-gradient(circle at 15% 0,rgba(37,99,235,.16),transparent 26%),radial-gradient(circle at 90% 10%,rgba(15,118,110,.14),transparent 24%),var(--sbvm-bg)!important}
.sbvm h1,.sbvm h2{letter-spacing:-.035em}.sbvm h1{font-size:clamp(25px,3vw,38px);margin:8px 0 16px}.sbvm h2{font-size:clamp(22px,2.4vw,32px)}
.sbvm-panel,.sbvm-card,.sbvm-home-card,.sbvm-id-card,.sbvm-receipt,.roll{background:rgba(255,255,255,.94)!important;border:1px solid var(--sbvm-line)!important;box-shadow:0 18px 45px rgba(15,23,42,.08)!important;backdrop-filter:blur(10px)}
.sbvm-panel{padding:clamp(15px,2vw,24px);border-radius:24px;margin:18px 0}.sbvm-panel h3{font-size:21px;margin:0 0 14px;color:#0f172a;font-weight:950}
.sbvm-row{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.sbvm label{font-size:13px;text-transform:none;letter-spacing:.01em;color:#334155}.sbvm input,.sbvm select,.sbvm textarea{min-height:46px;border-radius:15px;border:1px solid #cdddf4;background:#fbfdff;transition:.18s}
.sbvm input:focus,.sbvm select:focus,.sbvm textarea:focus{background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.sbvm .button,.sbvm .button-primary,.sbvm-btn{border-radius:14px!important;min-height:43px;font-weight:900!important;box-shadow:0 8px 18px rgba(37,99,235,.10);border:1px solid #cfe0ff!important}.sbvm .button-primary,.sbvm-btn{background:linear-gradient(135deg,#2563eb,#0f766e)!important;color:#fff!important;border:0!important}
.sbvm-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.sbvm-card{position:relative;overflow:hidden}.sbvm-card:after{content:"";position:absolute;right:-22px;top:-22px;width:82px;height:82px;border-radius:50%;background:rgba(37,99,235,.08)}.sbvm-card b{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.sbvm-card span{font-size:clamp(23px,2.7vw,34px);color:#0f766e}
.roll-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}.roll{border-radius:22px!important;transition:.2s;position:relative;overflow:hidden}.roll:hover{transform:translateY(-3px)}.roll:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#22c55e}.roll.busy:before{background:#f97316}.roll b{display:flex;align-items:center;justify-content:space-between}.roll small{border:1px solid #e8eef8;background:#f8fbff!important}.roll em.available{background:#dcfce7;color:#166534}.roll em.booked{background:#ffedd5;color:#9a3412}.roll em.due{background:#fef3c7;color:#92400e}.roll em{padding:3px 8px;border-radius:999px;font-size:11px}
.sbvm-table-scroll{width:100%;overflow:auto;border-radius:18px;border:1px solid #e5edf8;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.sbvm .widefat{display:table!important;min-width:780px;border:0!important;box-shadow:none!important}.sbvm .widefat th{background:#f1f6ff;color:#0f172a;font-weight:950}.sbvm .widefat td,.sbvm .widefat th{padding:12px 11px;vertical-align:middle}
.sbvm-filter{background:#fff;border:1px solid #e5edf8;padding:12px;border-radius:18px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.sbvm-filter input{flex:1;min-width:240px}.sbvm-mini-note{background:#f8fafc;border:1px dashed #bfd5f6;border-radius:14px;padding:10px 12px;color:#475569;font-weight:750}.sbvm-historical-bulk{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(15,118,110,.07)),#fff!important}.sbvm-historical-bulk select[name="student_id"]{font-weight:850}.sbvm-historical-bulk option[value="0"]{font-weight:900}
.sbvm-section-title{background:linear-gradient(135deg,#eaf2ff,#ecfeff)!important;border-color:#cfe0ff!important;color:#0b1f42!important;border-radius:16px!important;padding:12px 14px!important;font-size:15px!important;display:flex;align-items:center;gap:8px}.sbvm-section-title:before{content:'◆';color:#2563eb;font-size:10px}.sbvm-roll-warning{background:#fff7ed!important;border:1px solid #fed7aa;color:#9a3412;border-radius:15px;padding:12px 14px;margin:10px 0;font-weight:900}
.sbvm-home{max-width:1240px}.sbvm-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.sbvm-hero{border-radius:32px!important;box-shadow:0 28px 70px rgba(15,23,42,.25)!important}
.sbvm-shell-head{box-shadow:0 14px 32px rgba(2,6,23,.20)}.sbvm-shell-side a{transition:.18s}.sbvm-shell-side a:hover{transform:translateX(3px)}
@media (min-width:901px){.sbvm-shell-main .wrap.sbvm,.sbvm-shell-main .sbvm-front{padding:8px 6px}.sbvm-shell-actions input{min-width:260px}}
@media (max-width:1024px){.sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.sbvm-row,.roll-grid,.sbvm-cards{grid-template-columns:1fr!important}.sbvm-panel{padding:14px;border-radius:18px}.sbvm .widefat{min-width:760px}.sbvm-filter{display:grid;grid-template-columns:1fr}.sbvm-filter input{min-width:0;width:100%}.sbvm h1{font-size:25px}.sbvm-shell-main{padding-left:8px!important;padding-right:8px!important}.sbvm-section-title{font-size:14px!important}.roll:hover{transform:none}}
@media (max-width:420px){.sbvm .button,.sbvm .button-primary,.sbvm-btn{width:100%;margin-top:6px}.sbvm-card span{font-size:24px}.sbvm-panel h3{font-size:18px}.sbvm .widefat{min-width:700px}.roll small{font-size:12px}.sbvm-login-left h1{font-size:25px}}

/* v4.5 Responsive Owner Login + Student Portal */
.sbvm-login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:28px;padding:clamp(18px,4vw,56px);background:radial-gradient(circle at 15% 5%,rgba(37,99,235,.22),transparent 28%),radial-gradient(circle at 90% 10%,rgba(15,118,110,.18),transparent 24%),linear-gradient(135deg,#eef6ff,#f8fbff)}
.sbvm-login-left,.sbvm-login-card{width:100%;box-sizing:border-box}.sbvm-login-left{color:#0f172a}.sbvm-login-left h1{font-size:clamp(28px,4.5vw,58px);line-height:1.02;margin:12px 0}.sbvm-login-left p{font-size:clamp(15px,1.6vw,19px);color:#475569;max-width:620px}.sbvm-login-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.sbvm-login-points span,.sbvm-login-badge{display:inline-flex;border:1px solid #cfe0ff;background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;color:#0f766e;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.sbvm-login-card{max-width:470px;margin:auto;background:rgba(255,255,255,.94);border:1px solid #dbe7ff;border-radius:28px;padding:clamp(18px,3vw,34px);box-shadow:0 28px 70px rgba(15,23,42,.14);backdrop-filter:blur(12px)}.sbvm-login-card h2{font-size:clamp(22px,2.5vw,32px);margin:0 0 16px}.sbvm-login-card label{display:block;margin-top:12px;font-weight:900;color:#334155}.sbvm-login-card input[type=text],.sbvm-login-card input[type=password]{width:100%;box-sizing:border-box;min-height:50px;border:1px solid #cdddf4;border-radius:16px;padding:0 14px;font-size:16px;background:#fbfdff}.sbvm-login-btn{width:100%;margin-top:16px;min-height:50px;border-radius:16px;border:0;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;font-weight:950;font-size:16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.sbvm-login-error,.sbvm-login-success{padding:12px 14px;border-radius:14px;font-weight:900;margin:10px 0}.sbvm-login-error{background:#fee2e2;color:#991b1b}.sbvm-login-success{background:#dcfce7;color:#166534}
.sbvm-student-login-page{max-width:1120px;margin:0 auto;padding:clamp(12px,3vw,28px)}.sbvm-student-hero{border-radius:32px;padding:clamp(22px,4vw,44px);background:linear-gradient(135deg,#0f172a,#1d4ed8 55%,#0f766e);color:#fff;box-shadow:0 28px 70px rgba(15,23,42,.20);margin-bottom:18px;overflow:hidden;position:relative}.sbvm-student-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.14)}.sbvm-student-hero h1{font-size:clamp(26px,4vw,46px);line-height:1.05;margin:12px 0}.sbvm-student-hero p{font-size:clamp(14px,1.7vw,18px);opacity:.92;max-width:680px}.sbvm-student-login-card{max-width:820px;margin:-34px auto 20px;position:relative;z-index:2}.sbvm-student-login-card small{display:block;margin-top:10px;color:#64748b;font-weight:750}.sbvm-student-profile .sbvm-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.sbvm-student-profile .sbvm-card span{font-size:clamp(20px,2.5vw,30px)}
@media(max-width:900px){.sbvm-login-screen{grid-template-columns:1fr;gap:14px;padding:16px;align-items:start}.sbvm-login-left{text-align:center}.sbvm-login-points{justify-content:center}.sbvm-login-card{max-width:100%;border-radius:22px}.sbvm-student-login-card{margin:-20px 8px 18px}.sbvm-student-hero{border-radius:22px}.sbvm-student-profile .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.sbvm-login-screen{padding:10px}.sbvm-login-left h1{font-size:28px}.sbvm-login-left p{font-size:14px}.sbvm-login-points span{font-size:12px;padding:7px 9px}.sbvm-login-card{padding:16px;border-radius:18px}.sbvm-login-card input[type=text],.sbvm-login-card input[type=password],.sbvm-login-btn{min-height:46px}.sbvm-student-login-page{padding:8px}.sbvm-student-hero{padding:20px 14px}.sbvm-student-login-card{margin:-12px 0 14px}.sbvm-student-profile .sbvm-cards{grid-template-columns:1fr!important}}

/* v4.7 Owner + Student combined frontend login */
.sbvm-login-screen-dual{min-height:100vh;display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:24px;align-items:center;padding:28px;background:linear-gradient(135deg,#07111f,#12345b 55%,#0b765e)}
.sbvm-login-dual-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(320px,1fr);gap:22px;align-items:start;width:100%}
.sbvm-student-login-inline-card{padding:0;overflow:hidden}
.sbvm-student-login-inline-card .sbvm-student-login-page{padding:0;background:transparent;min-height:auto}
.sbvm-student-login-inline-card .sbvm-panel{box-shadow:none;border:0;margin:0;background:transparent;padding:0}
.sbvm-student-login-inline-card .sbvm-row{grid-template-columns:1fr}
.sbvm-student-login-inline-card h2{margin-top:0}
.sbvm-student-compact .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.sbvm-login-wrap{min-height:100vh;display:grid;place-items:center;gap:18px;padding:22px;background:linear-gradient(135deg,#07111f,#12345b)}
.sbvm-login-student-inline{width:min(900px,100%)}
@media(max-width:1100px){.sbvm-login-screen-dual{grid-template-columns:1fr}.sbvm-login-left{text-align:center}.sbvm-login-dual-grid{grid-template-columns:1fr 1fr}.sbvm-login-points{justify-content:center}}
@media(max-width:760px){.sbvm-login-screen-dual{padding:14px;gap:14px}.sbvm-login-dual-grid{grid-template-columns:1fr;gap:14px}.sbvm-login-left h1{font-size:28px}.sbvm-login-card{border-radius:20px;padding:18px}.sbvm-student-compact .sbvm-cards{grid-template-columns:1fr}.sbvm-student-login-card .sbvm-row{grid-template-columns:1fr}.sbvm-table-scroll{overflow-x:auto}.sbvm-table-scroll table{min-width:620px}}
@media(min-width:761px) and (max-width:1024px){.sbvm-login-dual-grid{grid-template-columns:1fr}.sbvm-student-compact .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v5.0 Enterprise login rebuild: no overlap, tabbed owner/student portal */
.sbvm-login-screen-dual{min-height:100svh;grid-template-columns:minmax(260px,420px) minmax(0,560px)!important;justify-content:center;align-items:center;overflow-x:hidden;box-sizing:border-box}.sbvm-login-screen-dual *{box-sizing:border-box}.sbvm-login-tabs-shell{width:min(560px,100%);margin:0 auto}.sbvm-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);padding:8px;border-radius:22px;margin-bottom:12px;backdrop-filter:blur(10px)}.sbvm-login-tabs button{border:0;border-radius:16px;padding:13px 10px;font-weight:950;cursor:pointer;background:transparent;color:#eaf2ff;font-size:15px}.sbvm-login-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 10px 26px rgba(15,23,42,.16)}.sbvm-login-tab-panel{display:none}.sbvm-login-tab-panel.active{display:block}.sbvm-login-tab-panel .sbvm-login-card{width:100%;max-width:100%;margin:0}.sbvm-student-login-inline-card{overflow:visible!important}.sbvm-student-login-inline-card .sbvm-student-login-page{width:100%;max-width:100%;padding:0!important}.sbvm-student-login-inline-card .sbvm-student-hero{display:none!important}.sbvm-student-login-inline-card .sbvm-student-login-card{margin:0!important;max-width:100%}.sbvm-student-login-inline-card .sbvm-panel{padding:0!important}.sbvm-login-card input,.sbvm-login-card select,.sbvm-login-card textarea{max-width:100%}.sbvm-student-login-inline-card .sbvm-cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}.sbvm-student-login-inline-card .sbvm-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.sbvm-student-login-inline-card table{min-width:560px}
@media(max-width:1024px){.sbvm-login-screen-dual{grid-template-columns:1fr!important;padding:18px!important}.sbvm-login-left{max-width:680px;margin:0 auto;text-align:center}.sbvm-login-left h1{font-size:clamp(32px,7vw,56px)!important}.sbvm-login-tabs-shell{width:min(680px,100%)}}
@media(max-width:560px){.sbvm-login-screen-dual{padding:12px!important;gap:12px!important}.sbvm-login-left h1{font-size:32px!important}.sbvm-login-left p{font-size:14px!important}.sbvm-login-tabs{border-radius:18px;padding:6px;gap:6px}.sbvm-login-tabs button{font-size:13px;padding:11px 6px}.sbvm-login-card{border-radius:20px!important;padding:16px!important}.sbvm-student-login-inline-card table{min-width:520px}.sbvm-login-points{gap:8px}.sbvm-login-points span{font-size:12px}}

/* v5.1 Student separate dashboard/login fixes */
.sbvm-student-dashboard{max-width:1180px;margin:0 auto;padding:24px;width:100%;box-sizing:border-box}
.sbvm-student-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(2,23,52,.12);border:1px solid rgba(226,232,240,.9)}
.sbvm-student-topbar h2{margin:6px 0 4px;font-size:clamp(24px,4vw,42px);line-height:1.05}
.sbvm-student-topbar p{margin:0;color:#64748b;font-weight:700}.sbvm-login-error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;border-radius:16px;padding:12px 14px;margin-bottom:14px;font-weight:800}.sbvm-student-login-card .button,.sbvm-student-topbar .button{border-radius:14px!important;padding:11px 18px!important;font-weight:900!important;text-decoration:none!important}.sbvm-student-login-page .sbvm-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sbvm-student-login-page input{width:100%;box-sizing:border-box}.sbvm-student-dashboard .sbvm-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sbvm-student-dashboard table{min-width:720px}
@media(max-width:900px){.sbvm-student-topbar{align-items:flex-start;flex-direction:column}.sbvm-student-login-page .sbvm-row{grid-template-columns:1fr}.sbvm-student-dashboard{padding:16px}.sbvm-student-dashboard .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.sbvm-student-dashboard{padding:12px}.sbvm-student-dashboard .sbvm-cards{grid-template-columns:1fr!important}.sbvm-student-topbar{border-radius:18px;padding:16px}.sbvm-student-topbar .button{width:100%;text-align:center}.sbvm-login-screen .sbvm-login-tabs-shell{width:100%;max-width:100%}.sbvm-login-card{width:100%;box-sizing:border-box}}

/* v5.2 Premium login + DOB year + stronger responsive polish */
.sbvm-login-screen-dual{
  background:radial-gradient(circle at 10% 10%,rgba(34,211,238,.22),transparent 28%),radial-gradient(circle at 92% 18%,rgba(59,130,246,.24),transparent 30%),linear-gradient(135deg,#020617,#0f172a 48%,#064e3b)!important;
  padding:clamp(14px,4vw,52px)!important;
}
.sbvm-login-left{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:32px;padding:clamp(22px,4vw,42px);backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(0,0,0,.22)}
.sbvm-login-left h1{color:#fff!important;text-shadow:0 12px 38px rgba(0,0,0,.24)}
.sbvm-login-left p{color:rgba(255,255,255,.86)!important}.sbvm-login-points span,.sbvm-login-badge{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
.sbvm-login-tabs-shell{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.20);border-radius:34px;padding:14px;box-shadow:0 34px 90px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.sbvm-login-tab-panel .sbvm-login-card,.sbvm-student-login-inline-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96))!important;border:1px solid rgba(226,232,240,.85)!important;border-radius:28px!important;box-shadow:0 20px 55px rgba(15,23,42,.18)!important}
.sbvm-login-card h2:before{content:'✦';display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:8px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;font-size:16px;vertical-align:middle}
.sbvm-login-card input[type=text],.sbvm-login-card input[type=password],.sbvm-login-card input[type=number],.sbvm-student-login-card input[type=text],.sbvm-student-login-card input[type=number]{width:100%;min-height:52px;border:1px solid #cbd5e1;border-radius:16px;padding:0 14px;font-size:16px;background:#fff;box-sizing:border-box;box-shadow:inset 0 1px 0 rgba(15,23,42,.02)}
.sbvm-login-card input:focus,.sbvm-student-login-card input:focus{outline:4px solid rgba(37,99,235,.14);border-color:#2563eb}
.sbvm-student-login-fields{grid-template-columns:1fr!important}.sbvm-student-login-fields label{margin-top:10px}.sbvm-student-login-card small{background:#eff6ff;border:1px solid #dbeafe;color:#1e3a8a;border-radius:14px;padding:10px 12px;margin-top:12px;display:block;text-align:center}
.sbvm-student-dashboard .sbvm-card:nth-child(1){background:linear-gradient(135deg,#eff6ff,#fff)}
.sbvm-student-dashboard .sbvm-card:nth-child(2){background:linear-gradient(135deg,#ecfdf5,#fff)}
.sbvm-student-dashboard .sbvm-card:nth-child(5){background:linear-gradient(135deg,#fff7ed,#fff)}
@media(max-width:1024px){.sbvm-login-screen-dual{min-height:100svh;align-content:start}.sbvm-login-left{border-radius:24px;padding:22px}.sbvm-login-tabs-shell{border-radius:24px;padding:10px}}
@media(max-width:560px){.sbvm-login-left{padding:18px;border-radius:20px}.sbvm-login-tabs-shell{padding:8px;border-radius:22px}.sbvm-login-tab-panel .sbvm-login-card,.sbvm-student-login-inline-card{border-radius:20px!important}.sbvm-login-card h2:before{width:28px;height:28px;border-radius:10px}.sbvm-login-card input[type=text],.sbvm-login-card input[type=password],.sbvm-login-card input[type=number]{min-height:48px}.sbvm-login-screen-dual{overflow:auto!important}.sbvm-login-left p{display:none}.sbvm-login-points{display:none}}

/* =========================================================
   v6.0 Enterprise Stable Login Rebuild
   Fixes: mobile mockup/card cut, overlap, horizontal scroll,
   tablet/mobile responsiveness, and theme CSS conflicts.
========================================================= */
body:not(.wp-admin) .sbvm-login-screen,
body:not(.wp-admin) .sbvm-login-screen-dual{
  width:100%!important;
  min-height:100vh!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:clamp(18px,4vw,52px)!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(360px,520px)!important;
  gap:clamp(18px,4vw,54px)!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:radial-gradient(circle at 15% 15%,rgba(20,184,166,.35),transparent 32%),radial-gradient(circle at 85% 85%,rgba(37,99,235,.32),transparent 32%),linear-gradient(135deg,#07111f,#0f2647 48%,#063f36)!important;
  font-family:Inter,Arial,sans-serif!important;
}
body:not(.wp-admin) .sbvm-login-left{
  width:100%!important;max-width:560px!important;min-width:0!important;
  margin:0!important;padding:clamp(22px,4vw,44px)!important;
  border-radius:30px!important;background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 28px 70px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(14px)!important;color:#fff!important;box-sizing:border-box!important;
}
body:not(.wp-admin) .sbvm-login-left h1{font-size:clamp(34px,6vw,70px)!important;line-height:.98!important;margin:18px 0!important;color:#fff!important;letter-spacing:-2px!important}
body:not(.wp-admin) .sbvm-login-left p{font-size:clamp(15px,2vw,19px)!important;color:rgba(255,255,255,.8)!important;line-height:1.6!important;margin:0 0 24px!important}
body:not(.wp-admin) .sbvm-login-badge{display:inline-flex!important;align-items:center!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;font-weight:900!important;padding:9px 16px!important;white-space:normal!important}
body:not(.wp-admin) .sbvm-login-points{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:14px!important}
body:not(.wp-admin) .sbvm-login-points span{display:inline-flex!important;background:#fff!important;color:#0f766e!important;border-radius:999px!important;padding:10px 14px!important;font-size:13px!important;font-weight:900!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important}
body:not(.wp-admin) .sbvm-login-tabs-shell{
  width:100%!important;max-width:520px!important;min-width:0!important;margin:0!important;
  padding:12px!important;border-radius:30px!important;background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 32px 80px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(18px)!important;box-sizing:border-box!important;overflow:visible!important;
}
body:not(.wp-admin) .sbvm-login-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 12px!important;background:rgba(15,23,42,.22)!important;border-radius:20px!important;padding:8px!important}
body:not(.wp-admin) .sbvm-login-tabs button{width:100%!important;min-height:48px!important;border:0!important;border-radius:15px!important;background:transparent!important;color:#dbeafe!important;font-weight:950!important;cursor:pointer!important;font-size:14px!important;padding:10px!important;white-space:normal!important;line-height:1.2!important}
body:not(.wp-admin) .sbvm-login-tabs button.active{background:#fff!important;color:#0f172a!important;box-shadow:0 12px 26px rgba(0,0,0,.18)!important}
body:not(.wp-admin) .sbvm-login-tab-panel{display:none!important;width:100%!important;min-width:0!important;overflow:visible!important}.sbvm-login-tab-panel.active{display:block!important}
body:not(.wp-admin) .sbvm-login-card{
  width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;
  border-radius:24px!important;background:rgba(255,255,255,.96)!important;padding:clamp(22px,4vw,38px)!important;
  border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 22px 55px rgba(2,6,23,.24)!important;color:#0f172a!important;overflow:visible!important;
}
body:not(.wp-admin) .sbvm-login-card h2{font-size:clamp(26px,4vw,38px)!important;line-height:1.1!important;margin:0 0 20px!important;color:#0f172a!important;letter-spacing:-.8px!important}
body:not(.wp-admin) .sbvm-login-card label{display:block!important;margin:14px 0 7px!important;color:#334155!important;font-weight:950!important;font-size:15px!important}
body:not(.wp-admin) .sbvm-login-card input[type=text],
body:not(.wp-admin) .sbvm-login-card input[type=password],
body:not(.wp-admin) .sbvm-login-card input[type=number],
body:not(.wp-admin) .sbvm-login-card input[type=tel]{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:54px!important;
  border:1px solid #cbd5e1!important;border-radius:16px!important;padding:0 16px!important;background:#fff!important;
  color:#0f172a!important;font-size:16px!important;box-shadow:none!important;box-sizing:border-box!important;
}
body:not(.wp-admin) .sbvm-login-remember{display:flex!important;align-items:center!important;gap:9px!important;font-weight:800!important;margin:14px 0!important}
body:not(.wp-admin) .sbvm-login-btn, body:not(.wp-admin) .sbvm-login-card .button, body:not(.wp-admin) .sbvm-login-card .button-primary{
  width:100%!important;min-height:54px!important;border:0!important;border-radius:16px!important;margin-top:16px!important;
  background:linear-gradient(135deg,#2563eb,#0f766e)!important;color:#fff!important;font-size:16px!important;font-weight:950!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;text-decoration:none!important;padding:12px 18px!important;line-height:1.25!important;white-space:normal!important;box-sizing:border-box!important;
}
body:not(.wp-admin) .sbvm-login-error{background:#fee2e2!important;border:1px solid #fecaca!important;color:#991b1b!important;border-radius:16px!important;padding:12px 14px!important;margin:0 0 14px!important;font-weight:900!important}
body:not(.wp-admin) .sbvm-login-success{background:#dcfce7!important;border:1px solid #bbf7d0!important;color:#166534!important;border-radius:16px!important;padding:12px 14px!important;margin:0 0 14px!important;font-weight:900!important}
body:not(.wp-admin) .sbvm-login-card small{display:block!important;margin-top:14px!important;color:#64748b!important;text-align:center!important;font-weight:800!important;line-height:1.5!important}
body:not(.wp-admin) .sbvm-student-hero{display:none!important}.sbvm-student-login-fields{grid-template-columns:1fr!important;gap:6px!important}.sbvm-student-login-fields label{margin-top:10px!important}
body:not(.wp-admin) .sbvm-student-login-inline-card .sbvm-panel, body:not(.wp-admin) .sbvm-student-login-inline-card .sbvm{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:980px){body:not(.wp-admin) .sbvm-login-screen,body:not(.wp-admin) .sbvm-login-screen-dual{grid-template-columns:1fr!important;align-items:start!important}.sbvm-login-left{max-width:720px!important}.sbvm-login-tabs-shell{max-width:720px!important}.sbvm-login-left h1{font-size:clamp(32px,8vw,54px)!important}}
@media(max-width:560px){body:not(.wp-admin) .sbvm-login-screen,body:not(.wp-admin) .sbvm-login-screen-dual{padding:14px!important;gap:14px!important}.sbvm-login-left{padding:22px!important;border-radius:22px!important}.sbvm-login-left h1{font-size:32px!important;letter-spacing:-1px!important}.sbvm-login-tabs-shell{padding:8px!important;border-radius:22px!important}.sbvm-login-card{padding:20px!important;border-radius:18px!important}.sbvm-login-tabs{gap:6px!important;padding:6px!important}.sbvm-login-tabs button{font-size:12px!important;min-height:44px!important}.sbvm-login-card h2{font-size:25px!important}.sbvm-login-points span{font-size:12px!important;padding:8px 10px!important}}

/* v6 tables/dashboard full responsive */
.sbvm-table-scroll{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.sbvm-table-scroll table{min-width:760px!important}.sbvm input,.sbvm select,.sbvm textarea{box-sizing:border-box!important}.sbvm-front,.sbvm-home,.sbvm-shell-main{max-width:100%!important;box-sizing:border-box!important}.sbvm-cards,.sbvm-row,.sbvm-home-grid,.roll-grid{min-width:0!important}.sbvm-card,.sbvm-panel,.roll,.sbvm-home-card{box-sizing:border-box!important;min-width:0!important;overflow-wrap:anywhere!important}


/* v6.1 FINAL LOGIN TAB + NO HINT PATCH */
body:not(.wp-admin) .sbvm-login-screen .sbvm-login-tab-panel,
body:not(.wp-admin) .sbvm-login-screen-dual .sbvm-login-tab-panel{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;overflow:hidden!important;}
body:not(.wp-admin) .sbvm-login-screen .sbvm-login-tab-panel.active,
body:not(.wp-admin) .sbvm-login-screen-dual .sbvm-login-tab-panel.active{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important;}
body:not(.wp-admin) .sbvm-login-left p,
body:not(.wp-admin) .sbvm-login-points,
body:not(.wp-admin) .sbvm-login-card small,
body:not(.wp-admin) .sbvm .hint,
body:not(.wp-admin) .sbvm .help,
body:not(.wp-admin) .sbvm-demo,
body:not(.wp-admin) .sbvm-tip{display:none!important;}
body:not(.wp-admin) .sbvm-login-screen-dual{grid-template-columns:minmax(300px,560px) minmax(380px,520px)!important;}
body:not(.wp-admin) .sbvm-login-left{justify-self:end!important;}
body:not(.wp-admin) .sbvm-login-tabs-shell{justify-self:start!important;}
@media(max-width:980px){body:not(.wp-admin) .sbvm-login-screen-dual{grid-template-columns:1fr!important;}body:not(.wp-admin) .sbvm-login-left,body:not(.wp-admin) .sbvm-login-tabs-shell{justify-self:center!important;width:100%!important;}}
@media(max-width:560px){body:not(.wp-admin) .sbvm-login-left{display:block!important;}body:not(.wp-admin) .sbvm-login-badge{font-size:12px!important;}body:not(.wp-admin) .sbvm-login-left h1{font-size:34px!important;}.sbvm-login-tabs-shell{width:100%!important;}}

/* v6.3 PWA App Button */
.sbvm-pwa-install{position:fixed;right:18px;bottom:92px;z-index:999999;border:0;border-radius:999px;padding:12px 18px;font-weight:900;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.28);cursor:pointer;align-items:center;gap:8px}
.sbvm-pwa-install:hover{transform:translateY(-2px)}
@media(max-width:700px){.sbvm-pwa-install{right:14px;bottom:78px;padding:11px 15px;font-size:14px}}

/* v6.4 Student dashboard avatar/profile polish */
.sbvm-student-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;overflow:visible!important}
.sbvm-student-profile{display:flex;align-items:center;gap:16px;min-width:0;flex:1}
.sbvm-student-avatar{width:76px;height:76px;border-radius:24px;display:flex;align-items:center;justify-content:center;flex:0 0 76px;background:linear-gradient(135deg,#0f766e,#2563eb);box-shadow:0 18px 40px rgba(15,118,110,.22);overflow:hidden;color:#fff;font-size:34px;font-weight:950;letter-spacing:.5px;border:3px solid rgba(255,255,255,.9)}
.sbvm-student-avatar img{width:100%;height:100%;object-fit:cover;display:block}.sbvm-student-avatar span{line-height:1}.sbvm-student-topbar .sbvm-login-badge{display:none!important}.sbvm-student-topbar h2{margin:0 0 5px!important}.sbvm-student-topbar p{word-break:break-word}.sbvm-student-logout{white-space:nowrap}
@media(max-width:700px){.sbvm-student-topbar{flex-direction:column!important;align-items:stretch!important}.sbvm-student-profile{align-items:flex-start}.sbvm-student-avatar{width:62px;height:62px;flex-basis:62px;border-radius:20px;font-size:28px}.sbvm-student-logout{width:100%;text-align:center!important}}
@media(max-width:420px){.sbvm-student-profile{gap:12px}.sbvm-student-avatar{width:54px;height:54px;flex-basis:54px;border-radius:18px;font-size:24px}.sbvm-student-topbar h2{font-size:24px!important}}

/* v6.5 App Center + Student App Install Page */
.sbvm-app-center .sbvm-app-hero{align-items:center!important;gap:24px!important}
.sbvm-app-qr-card{background:#fff;border:1px solid #e5e7eb;border-radius:28px;padding:18px;text-align:center;box-shadow:0 18px 45px rgba(2,6,23,.12);min-width:240px}
.sbvm-app-qr-card img{width:220px;max-width:100%;height:auto;border-radius:18px;display:block;margin:auto;background:#fff}
.sbvm-app-qr-card strong{display:block;margin-top:10px;color:#0f172a;font-weight:950}
.sbvm-app-actions div b{font-size:34px;display:block;margin-bottom:8px}
.sbvm-share-text{width:100%;min-height:130px;border:1px solid #dbe3ef;border-radius:18px;padding:14px;font-weight:800;line-height:1.6;box-sizing:border-box;background:#f8fafc;color:#0f172a}
.sbvm-student-app-page{min-height:100vh;padding:24px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#0f766e 0,#061a2d 45%,#020617 100%);box-sizing:border-box}
.sbvm-student-app-card{width:100%;max-width:520px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.55);border-radius:34px;padding:clamp(24px,5vw,44px);box-shadow:0 35px 90px rgba(0,0,0,.35);text-align:center;box-sizing:border-box;color:#0f172a}
.sbvm-student-app-card .sbvm-login-badge{background:#eef2ff!important;color:#0f766e!important;border-color:#dbeafe!important;margin-bottom:16px!important}
.sbvm-student-app-card h1{font-size:clamp(34px,7vw,58px);line-height:.98;margin:10px 0 14px;color:#0f172a;letter-spacing:-2px}
.sbvm-student-app-card p{color:#475569;font-weight:800;line-height:1.6}
.sbvm-student-app-buttons{display:grid;gap:12px;margin:22px 0}.sbvm-login-btn-soft{background:#f1f5f9!important;color:#0f172a!important;border:1px solid #dbe3ef!important}
.sbvm-student-qr{margin:18px auto 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.sbvm-student-qr img{width:190px;max-width:100%;border-radius:20px;background:#fff;padding:8px;border:1px solid #e2e8f0}.sbvm-student-qr span{font-weight:900;color:#334155}.sbvm-mini-text{font-size:13px!important}.sbvm-mini-link{display:inline-flex;margin-top:8px;color:#0f766e;font-weight:950;text-decoration:none}
@media(max-width:760px){.sbvm-app-hero{grid-template-columns:1fr!important}.sbvm-app-qr-card{width:100%;min-width:0}.sbvm-student-app-page{padding:14px}.sbvm-student-app-card{border-radius:24px}.sbvm-student-qr img{width:160px}}

/* v6.6 Smart Modules */
.sbvm-hero.slim{padding:28px;min-height:auto;margin-bottom:20px}
.sbvm-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:18px 0}
.sbvm-module-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.sbvm-module-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid rgba(15,118,110,.16);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f7fbff);box-shadow:0 14px 35px rgba(15,23,42,.08);text-decoration:none;color:#0f172a;min-height:132px}
.sbvm-module-card i{font-style:normal;font-size:30px;line-height:1}
.sbvm-module-card b{font-size:16px;color:#0f766e}
.sbvm-module-card span{font-size:13px;color:#475569;line-height:1.45}
.sbvm-module-card em{margin-top:auto;align-self:flex-start;font-style:normal;font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;background:#eef7ff;color:#0369a1}
.sbvm-module-card.owner b{color:#7c3aed}.sbvm-module-card.owner em{background:#f3e8ff;color:#6d28d9}
.sbvm-module-card.student b{color:#0f766e}.sbvm-module-card.student em{background:#dcfce7;color:#166534}
.sbvm-module-card.warn{background:linear-gradient(135deg,#fff7ed,#fff)}
.sbvm-ai-box{padding:20px;border-radius:24px;background:linear-gradient(135deg,#071a2f,#0f766e);color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.22);margin:16px 0}
.sbvm-ai-box h3{margin:0 0 8px;color:#fff}.sbvm-ai-box p{margin:0 0 14px;color:rgba(255,255,255,.86)}
.sbvm-ai-box input{width:100%;border:0;border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.96);color:#0f172a}
@media(max-width:760px){.sbvm-module-grid,.sbvm-module-grid.compact{grid-template-columns:1fr}.sbvm-module-card{border-radius:18px;min-height:auto}.sbvm-hero.slim{padding:22px}}

/* v6.8 Student Portal + Digital Learning School Fix */
.sbvm-student-dashboard{max-width:1180px;margin:0 auto;padding:18px;}
.sbvm-student-topbar{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(15,23,42,.25);display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;}
.sbvm-student-profile{display:flex;align-items:center;gap:16px;min-width:0;}
.sbvm-student-avatar{width:78px;height:78px;border-radius:22px;background:linear-gradient(135deg,#f59e0b,#22c55e);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;color:#fff;overflow:hidden;box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}
.sbvm-student-avatar img{width:100%;height:100%;object-fit:cover;display:block}.sbvm-student-profile h2{margin:0;color:#fff;font-size:28px}.sbvm-student-profile p{margin:6px 0 0;color:rgba(255,255,255,.85)}
.sbvm-student-logout{background:#fff!important;color:#0f172a!important;border:0!important;border-radius:14px!important;padding:10px 14px!important;text-decoration:none!important}.sbvm-student-dashboard .sbvm-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.sbvm-student-dashboard .sbvm-card{border-radius:20px;box-shadow:0 14px 42px rgba(2,6,23,.09)}
.sbvm-student-learning .sbvm-module-grid.compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sbvm-student-learning .sbvm-module-card{text-decoration:none;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 30px rgba(2,6,23,.07);transition:.2s}.sbvm-student-learning .sbvm-module-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(2,6,23,.12)}.sbvm-student-learning .sbvm-module-card b{display:block;font-size:16px;color:#0f172a}.sbvm-student-learning .sbvm-module-card span{display:block;margin-top:6px;color:#475569;font-size:13px}.sbvm-student-learning .sbvm-module-card.warn{background:linear-gradient(135deg,#fff7ed,#fefce8)}
.sbvm-resource-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.sbvm-resource-menu{background:#fff;border-radius:22px;padding:12px;box-shadow:0 14px 42px rgba(2,6,23,.08);position:sticky;top:90px}.sbvm-resource-menu a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;text-decoration:none;color:#334155;margin-bottom:6px}.sbvm-resource-menu a.active,.sbvm-resource-menu a:hover{background:linear-gradient(135deg,#e0f2fe,#eef2ff);color:#0f172a}.sbvm-resource-menu span{font-size:22px}.sbvm-resource-detail{background:#fff;border-radius:24px;padding:22px;box-shadow:0 14px 42px rgba(2,6,23,.08);min-height:420px}.sbvm-resource-head{display:flex;gap:16px;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:18px}.sbvm-resource-head i{width:58px;height:58px;border-radius:18px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:30px}.sbvm-resource-head h2{margin:0}.sbvm-resource-head p{margin:6px 0 0;color:#64748b}.sbvm-resource-placeholder{border:1px dashed #cbd5e1;border-radius:20px;padding:22px;background:#f8fafc}.sbvm-resource-demo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.sbvm-resource-demo-list a{padding:14px;border-radius:14px;background:#fff;text-decoration:none;color:#1e40af;border:1px solid #dbeafe}.sbvm-study-timer-box,.sbvm-bookmark-box,.sbvm-smart-suggestion-box{border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0;padding:22px}.sbvm-timer-display{font-size:44px;font-weight:900;color:#0f172a;margin-bottom:14px}.sbvm-bookmark-box input{width:100%;margin:0 0 10px;padding:13px;border-radius:12px;border:1px solid #cbd5e1}.sbvm-bookmark-item{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin-top:10px}.sbvm-study-dark{background:#020617!important;color:#e2e8f0!important}.sbvm-study-dark .sbvm-resource-detail,.sbvm-study-dark .sbvm-resource-menu,.sbvm-study-dark .sbvm-panel{background:#0f172a!important;color:#e2e8f0!important}.sbvm-study-dark a,.sbvm-study-dark h1,.sbvm-study-dark h2,.sbvm-study-dark h3{color:#fff!important}
.sbvm-admission-form{max-width:1180px;margin:0 auto}.sbvm-admission-form .sbvm-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sbvm-admission-form label{min-width:0}.sbvm-admission-form input,.sbvm-admission-form select,.sbvm-admission-form textarea{width:100%;box-sizing:border-box}.sbvm-admission-form .button-primary{border-radius:14px;padding:12px 18px;font-weight:800}.sbvm-roll-warning{border-radius:14px!important;padding:12px 14px!important;background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important;margin:12px 0!important}
@media(max-width:1024px){.sbvm-student-dashboard .sbvm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-resource-layout{grid-template-columns:1fr}.sbvm-resource-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sbvm-admission-form .sbvm-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sbvm-student-dashboard{padding:10px}.sbvm-student-topbar{padding:16px;border-radius:18px}.sbvm-student-profile{align-items:flex-start}.sbvm-student-avatar{width:58px;height:58px;border-radius:16px;font-size:26px}.sbvm-student-profile h2{font-size:21px}.sbvm-student-dashboard .sbvm-cards,.sbvm-student-learning .sbvm-module-grid.compact,.sbvm-resource-menu,.sbvm-resource-demo-list,.sbvm-admission-form .sbvm-row{grid-template-columns:1fr}.sbvm-resource-detail{padding:16px;border-radius:18px}.sbvm-resource-head{align-items:flex-start}.sbvm-timer-display{font-size:34px}.sbvm-student-logout{width:100%;text-align:center}.sbvm-module-card{min-height:auto!important}}

/* v7.0 Enterprise Rebuild UI Fixes */
:root{--sbvm-primary:#0f766e;--sbvm-dark:#061a2d;--sbvm-soft:#f8fafc;--sbvm-border:#e2e8f0;--sbvm-shadow:0 20px 60px rgba(15,23,42,.12)}
body .sbvm-login-screen{min-height:100vh;width:100%;box-sizing:border-box;padding:clamp(16px,3vw,42px)!important;display:grid!important;grid-template-columns:minmax(320px,1fr) minmax(360px,520px)!important;gap:clamp(18px,4vw,48px)!important;align-items:center!important;background:radial-gradient(circle at top left,#14b8a6 0,#0f172a 48%,#020617 100%)!important;overflow-x:hidden!important}
.sbvm-login-left{width:100%!important;max-width:760px!important;color:#fff!important}.sbvm-login-left h1{font-size:clamp(34px,6vw,72px)!important;line-height:1!important;margin:12px 0!important;letter-spacing:-2px!important}.sbvm-login-badge{display:inline-flex!important;border-radius:999px!important;padding:9px 14px!important;background:rgba(255,255,255,.15)!important;color:#fff!important;font-weight:900!important;border:1px solid rgba(255,255,255,.25)!important}
.sbvm-login-tabs-shell{width:100%!important;max-width:520px!important;margin:0 auto!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:32px!important;padding:18px!important;box-shadow:0 35px 90px rgba(0,0,0,.35)!important;box-sizing:border-box!important;overflow:visible!important}.sbvm-login-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:16px!important;background:#eef2f7!important;padding:8px!important;border-radius:20px!important}.sbvm-login-tabs button{border:0!important;border-radius:15px!important;padding:13px 10px!important;background:transparent!important;font-weight:950!important;color:#475569!important;cursor:pointer!important}.sbvm-login-tabs button.active{background:#fff!important;color:#0f766e!important;box-shadow:0 10px 25px rgba(2,6,23,.08)!important}.sbvm-login-tab-panel{display:none!important}.sbvm-login-tab-panel.active{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important}.sbvm-login-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;background:#fff!important;border-radius:24px!important;box-shadow:none!important;border:1px solid #e2e8f0!important;padding:22px!important}.sbvm-login-card h2{margin:0 0 8px!important;color:#0f172a!important;font-size:28px!important}.sbvm-login-subtitle{margin:0 0 16px!important;color:#64748b!important;font-weight:700!important}.sbvm-login-card label{display:block!important;color:#334155!important;font-weight:900!important;margin-top:12px!important}.sbvm-login-card input{width:100%!important;box-sizing:border-box!important;border:1px solid #cbd5e1!important;border-radius:16px!important;padding:14px 15px!important;font-size:16px!important;background:#f8fafc!important;min-height:50px!important}.sbvm-login-btn,.sbvm-login-card .button-primary{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;border-radius:16px!important;min-height:52px!important;margin-top:16px!important;background:linear-gradient(135deg,#0f766e,#1d4ed8)!important;color:#fff!important;border:0!important;font-weight:950!important;text-decoration:none!important}.sbvm-login-error{background:#fef2f2!important;color:#991b1b!important;border:1px solid #fecaca!important;border-radius:14px!important;padding:12px!important;margin:10px 0!important;font-weight:800!important}.sbvm-login-success{background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important;border-radius:14px!important;padding:12px!important;margin:10px 0!important;font-weight:800!important}
.sbvm-page-hero{background:linear-gradient(135deg,#0f172a,#0f766e);color:#fff;border-radius:28px;padding:28px;margin:0 0 20px;box-shadow:var(--sbvm-shadow)}.sbvm-page-hero h1{margin:0 0 8px;color:#fff}.sbvm-page-hero p{margin:0;color:rgba(255,255,255,.86);font-weight:700}.sbvm-front{max-width:1220px;margin:auto}.sbvm-panel{border-radius:24px!important;box-shadow:var(--sbvm-shadow)!important;border:1px solid var(--sbvm-border)!important;background:#fff!important}.sbvm-admission-form .sbvm-section-title{font-size:18px;font-weight:950;color:#0f172a;margin:18px 0 10px}.sbvm-admission-form label{font-weight:850;color:#334155}.sbvm-admission-form input,.sbvm-admission-form select,.sbvm-admission-form textarea{border:1px solid #cbd5e1!important;border-radius:14px!important;padding:12px 14px!important;min-height:46px!important;background:#fff!important}.sbvm-admission-form .sbvm-btn{background:linear-gradient(135deg,#0f766e,#1d4ed8)!important;border:0!important;color:#fff!important;min-height:50px!important;border-radius:16px!important;font-weight:950!important}
.sbvm-student-login-page{width:100%!important}.sbvm-student-login-card{box-shadow:none!important}.sbvm-student-login-fields{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.sbvm-student-login-fields label{margin-top:10px!important}.sbvm-student-dashboard{max-width:1180px!important}.sbvm-student-topbar{background:linear-gradient(135deg,#042f2e,#1e3a8a)!important}.sbvm-student-dashboard .sbvm-card span{font-size:24px!important;color:#0f766e!important}.sbvm-student-learning .sbvm-module-card{cursor:pointer}.sbvm-resource-layout{max-width:1220px;margin:0 auto}.sbvm-resource-menu a{min-height:48px}.sbvm-v7-resource-list p{font-weight:700;color:#475569}.sbvm-resource-demo-list a{font-weight:900;display:flex;align-items:center;justify-content:center;min-height:72px}.sbvm-bookmark-item a{word-break:break-word}
@media(max-width:900px){body .sbvm-login-screen{grid-template-columns:1fr!important;align-items:start!important}.sbvm-login-left{text-align:center!important}.sbvm-login-tabs-shell{max-width:620px!important}.sbvm-login-left h1{font-size:clamp(30px,8vw,54px)!important}.sbvm-admission-form .sbvm-row{grid-template-columns:1fr!important}.sbvm-page-hero{border-radius:20px;padding:20px}}
@media(max-width:520px){body .sbvm-login-screen{padding:10px!important}.sbvm-login-tabs-shell{border-radius:22px!important;padding:12px!important}.sbvm-login-card{padding:16px!important;border-radius:18px!important}.sbvm-login-tabs{gap:6px!important;padding:6px!important}.sbvm-login-tabs button{font-size:13px!important;padding:11px 6px!important}.sbvm-login-card h2{font-size:23px!important}.sbvm-front{padding:10px!important}.sbvm-page-hero{margin:0 0 12px}.sbvm-student-dashboard .sbvm-cards{grid-template-columns:1fr!important}.sbvm-resource-detail{min-height:0!important}.sbvm-resource-menu a{padding:10px!important}.sbvm-resource-menu span{font-size:20px!important}}

/* v7.2 rebuilt student login */
.sbvm-student-login-status:empty{display:none}
.sbvm-student-login-status{margin:0 0 12px;padding:11px 13px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-weight:800;font-size:13px}
.sbvm-login-divider{display:flex;align-items:center;gap:12px;margin:3px 0;color:#94a3b8;font-weight:900;font-size:12px;letter-spacing:.12em}
.sbvm-login-divider:before,.sbvm-login-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}
.sbvm-student-login-submit{position:relative;display:flex!important;align-items:center;justify-content:center;gap:10px}
.sbvm-student-login-submit:disabled{opacity:.78;cursor:wait!important}
.sbvm-login-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:sbvmSpin .7s linear infinite}
.sbvm-student-login-submit.is-loading .sbvm-login-spinner{display:inline-block}
@keyframes sbvmSpin{to{transform:rotate(360deg)}}
.sbvm-student-login-fields input[type=tel]{width:100%;min-height:52px;border:1px solid #cbd5e1;border-radius:16px;padding:0 14px;font-size:16px;background:#fff;box-sizing:border-box}
.sbvm-student-login-fields input:focus{outline:4px solid rgba(37,99,235,.14);border-color:#2563eb}
@media(max-width:560px){.sbvm-student-login-fields input[type=tel]{min-height:50px}.sbvm-student-login-submit{width:100%!important;min-height:52px!important}}

/* v7.5 premium login cleanup */
.sbvm-owner-login-card .sbvm-login-remember{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:16px 0 0!important;
  width:auto!important;
  font-weight:800!important;
  cursor:pointer;
}
.sbvm-owner-login-card .sbvm-login-remember input[type=checkbox]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border-radius:4px!important;
  box-shadow:none!important;
  outline:none!important;
  flex:0 0 18px!important;
}
.sbvm-login-method{display:none}
.sbvm-login-method.active{display:block}
.sbvm-login-method-toggle{
  width:100%;
  margin:8px 0 0;
  padding:11px 14px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
  color:#0f766e;
  font-weight:900;
  cursor:pointer;
}
.sbvm-login-method-toggle:hover{background:#ecfeff;border-color:#99f6e4}
.sbvm-login-method label small{font-size:12px;color:#64748b;font-weight:700}
.sbvm-login-success{transition:opacity .25s ease,transform .25s ease}
.sbvm-login-success.sbvm-flash-hide{opacity:0;transform:translateY(-6px);pointer-events:none}
@media(max-width:520px){
  .sbvm-login-screen-dual .sbvm-login-left{padding:20px 16px!important;border-radius:24px!important}
  .sbvm-login-screen-dual .sbvm-login-left h1{font-size:clamp(34px,11vw,48px)!important;letter-spacing:-1.5px!important}
  .sbvm-login-tabs-shell{padding:10px!important}
  .sbvm-login-tabs button{min-height:48px!important;font-size:14px!important}
  .sbvm-owner-login-card .sbvm-login-remember{margin-top:14px!important}
}

/* v7.6 final login and responsive stability fixes */
body:not(.wp-admin) .sbvm-login-screen,
body:not(.wp-admin) .sbvm-login-screen-dual{width:100%!important;max-width:none!important;min-height:100svh!important;overflow-x:hidden!important}
body:not(.wp-admin) .sbvm-login-tabs-shell{width:min(620px,100%)!important;max-width:100%!important;box-sizing:border-box!important}
body:not(.wp-admin) .sbvm-login-tab-panel,
body:not(.wp-admin) .sbvm-login-card,
body:not(.wp-admin) .sbvm-student-login-inline-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
body:not(.wp-admin) .sbvm-login-card input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;margin:0 8px 0 0!important;padding:0!important;border-radius:3px!important;vertical-align:middle!important;box-shadow:none!important;display:inline-block!important}
body:not(.wp-admin) .sbvm-login-card label:has(input[type="checkbox"]){display:flex!important;align-items:center!important;gap:8px!important;flex-direction:row!important}
body:not(.wp-admin) .sbvm-login-card input,
body:not(.wp-admin) .sbvm-login-card select,
body:not(.wp-admin) .sbvm-login-card button{font-size:16px!important}
body:not(.wp-admin) .sbvm-login-card .sbvm-mini-note,
body:not(.wp-admin) .sbvm-login-card small.sbvm-hint,
body:not(.wp-admin) .sbvm-login-card .description{display:none!important}
@media(max-width:900px){body:not(.wp-admin) .sbvm-login-screen-dual{grid-template-columns:1fr!important;padding:14px!important}.sbvm-login-left{width:100%!important}.sbvm-login-tabs-shell{margin:0 auto!important}}
@media(max-width:560px){body:not(.wp-admin) .sbvm-login-screen-dual{padding:8px!important}.sbvm-login-left{padding:18px 14px!important}.sbvm-login-left h1{font-size:clamp(30px,10vw,42px)!important}.sbvm-login-tabs-shell{padding:10px!important}.sbvm-login-card{padding:16px!important}.sbvm-login-card input,.sbvm-login-card select,.sbvm-login-card button{width:100%!important;max-width:100%!important}.sbvm-login-tabs button{width:auto!important}}

/* v7.9 Owner read-only / Manager control */
.sbvm-readonly-banner{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0 0 18px;padding:14px 16px;border:1px solid #f2c66d;
  border-radius:14px;background:#fff8e7;color:#6b4b00;
  box-shadow:0 8px 24px rgba(97,70,0,.08)
}
.sbvm-readonly-banner strong{font-size:15px}
.sbvm-readonly-banner span{font-size:13px}
.sbvm-readonly-owner .sbvm-shell-main form[method="post"],
.sbvm-readonly-owner .sbvm-shell-main a[href*="admin-post.php"],
.sbvm-readonly-owner .sbvm-shell-main .sbvm-btn[href*="sbvm-admission"],
.sbvm-readonly-owner .sbvm-shell-main button[type="submit"],
.sbvm-readonly-owner .sbvm-shell-main input[type="submit"]{display:none!important}
.sbvm-readonly-owner .sbvm-shell-main input:not([type="search"]):not([type="hidden"]),
.sbvm-readonly-owner .sbvm-shell-main select,
.sbvm-readonly-owner .sbvm-shell-main textarea{pointer-events:none!important;opacity:.72}
.sbvm-readonly-owner .sbvm-bottom-nav a:nth-child(2){display:none!important}
@media(max-width:767px){.sbvm-readonly-banner{align-items:flex-start;flex-direction:column}}

/* v8.0 Student pending fee months */
.sbvm-pending-fee-months{border-left:4px solid #f59e0b}
.sbvm-pending-summary{margin:0 0 12px;color:#7c2d12}
.sbvm-pending-month-list{display:flex;flex-wrap:wrap;gap:9px}
.sbvm-pending-month-badge{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-weight:800;font-size:13px}
.sbvm-fee-clear{margin:0;padding:12px 14px;border-radius:12px;background:#ecfdf5;color:#166534;font-weight:800}
@media(max-width:600px){.sbvm-pending-month-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sbvm-pending-month-badge{justify-content:center;text-align:center;padding:8px 6px}}

/* v8.1 bilingual switch + complete hint removal */
.sbvm-language-switch{
  position:fixed;right:16px;bottom:18px;z-index:999999;
  display:flex;align-items:center;gap:4px;padding:5px;
  border:1px solid rgba(148,163,184,.45);border-radius:999px;
  background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(15,23,42,.18);
  backdrop-filter:blur(12px)
}
.sbvm-language-switch button{
  appearance:none;border:0;border-radius:999px;background:transparent;color:#334155;
  min-height:36px;padding:7px 13px;font-weight:800;font-size:13px;line-height:1;cursor:pointer
}
.sbvm-language-switch button.active{background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.25)}
.wp-admin .sbvm-language-switch{right:20px;bottom:20px}
.sbvm .sbvm-hint,.sbvm .sbvm-help,.sbvm .sbvm-tip,.sbvm .sbvm-demo,.sbvm .sbvm-mini-note,
.sbvm .description,.sbvm .help,.sbvm .hint,.sbvm [data-hint],
body:not(.wp-admin) .sbvm-shell-main .sbvm-mini-note,
body:not(.wp-admin) .sbvm-login-card small,
body:not(.wp-admin) .sbvm-login-card .description{display:none!important}
@media(max-width:600px){
  .sbvm-language-switch{right:10px;bottom:74px;padding:4px}
  .sbvm-language-switch button{min-height:34px;padding:6px 11px;font-size:12px}
}

/* v8.3 Notice + Digital Learning School Manager */
.sbvm-student-notice-panel{border-left:4px solid #2563eb}
.sbvm-student-notices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.sbvm-student-notices .sbvm-notice{padding:16px;border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 24px rgba(37,99,235,.08)}
.sbvm-notice-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.sbvm-notice-meta span{padding:5px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:800;text-transform:uppercase}
.sbvm-notice-meta time{font-size:12px;color:#64748b}
.sbvm-empty-state{padding:24px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#64748b;text-align:center;font-weight:700}
.sbvm-resource-manager-form{margin:0 0 20px}
.sbvm-resource-manager-form input[type=file]{padding:10px;background:#fff;border:1px solid #cbd5e1;border-radius:10px}
.sbvm-published-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.sbvm-published-resource-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.sbvm-published-resource-card>img{width:100%;height:160px;object-fit:cover;background:#f1f5f9}
.sbvm-resource-icon{display:grid;place-items:center;height:130px;font-size:50px;background:linear-gradient(135deg,#eff6ff,#ecfeff)}
.sbvm-published-resource-card>div:not(.sbvm-resource-icon):not(.sbvm-resource-actions){padding:16px 16px 8px}
.sbvm-published-resource-card time{font-size:12px;color:#64748b;font-weight:700}
.sbvm-published-resource-card h3{margin:6px 0 8px;font-size:18px;color:#0f172a}
.sbvm-published-resource-card p{margin:0;color:#475569;line-height:1.55}
.sbvm-resource-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:12px 16px 16px}
@media(max-width:700px){.sbvm-student-notices,.sbvm-published-resource-grid{grid-template-columns:1fr}.sbvm-resource-manager-form .sbvm-row{grid-template-columns:1fr!important}.sbvm-resource-actions .button{flex:1;text-align:center}}

/* v8.7 print only the selected receipt, ID card, or report block. */
@media print{
  body.sbvm-print-mode *{visibility:hidden!important}
  body.sbvm-print-mode .sbvm-print-target,
  body.sbvm-print-mode .sbvm-print-target *{visibility:visible!important}
  body.sbvm-print-mode .sbvm-print-target{
    position:absolute!important;left:0!important;top:0!important;width:100%!important;
    max-width:100%!important;margin:0!important;padding:12mm!important;box-sizing:border-box!important;
  }
  body.sbvm-print-mode .sbvm-no-print{display:none!important;visibility:hidden!important}
  body.sbvm-print-mode .sbvm-print-target .sbvm-table-scroll{overflow:visible!important;border:0!important;box-shadow:none!important}
  body.sbvm-print-mode .sbvm-print-target .widefat{min-width:0!important;width:100%!important;display:table!important}
}
.sbvm-edit-mode .sbvm-paid[readonly]{background:#eef2f7!important;color:#475569!important;cursor:not-allowed}


/* v8.8 month-wise fee navigation */
.sbvm-fee-months{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}
.sbvm-fee-month{flex:0 0 auto;text-decoration:none!important;padding:9px 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-weight:800;font-size:13px}
.sbvm-fee-month.active{background:linear-gradient(135deg,#2563eb,#0f9488);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(37,99,235,.2)}
.sbvm-month-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px}.sbvm-month-heading b{font-size:18px}.sbvm-month-heading span{font-size:12px;font-weight:800;color:#64748b}
.sbvm-fee-status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.sbvm-fee-status-pill.status-paid{background:#dcfce7;color:#166534}.sbvm-fee-status-pill.status-due{background:#fee2e2;color:#991b1b}.sbvm-fee-status-pill.status-partial{background:#fef3c7;color:#92400e}.sbvm-fee-status-pill.status-no_entry{background:#e2e8f0;color:#475569}
@media(max-width:700px){.sbvm-month-heading{align-items:flex-start;flex-direction:column}.sbvm-month-fee-table{min-width:900px!important}}

/* v8.9 standard CR80 student ID card (85.6 x 54 mm) */
.sbvm-id-card{width:340px;max-width:100%;aspect-ratio:85.6/54;height:auto;min-height:214px;padding:0!important;border-radius:15px!important;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,#062a43,#0f766e)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 14px 35px rgba(2,25,48,.24)!important}
.sbvm-id-head{padding:12px 14px 9px;text-align:center;background:rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.18)}
.sbvm-id-head strong{display:block;font-size:15px;line-height:1.2}.sbvm-id-head small{display:block;font-size:8px;letter-spacing:.6px;text-transform:uppercase;opacity:.85;margin-top:2px}
.sbvm-id-body{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;gap:9px;align-items:center;padding:12px 13px;flex:1}
.sbvm-id-card .id-photo{width:64px;height:78px;border-radius:9px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.93);color:#0f766e;font-size:25px;font-weight:900}
.sbvm-id-card .id-photo span{display:grid;place-items:center;width:100%;height:100%}.sbvm-id-info{min-width:0;display:flex;flex-direction:column;gap:4px}.sbvm-id-info b{font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sbvm-id-info span{font-size:8.5px;line-height:1.25;opacity:.95}.sbvm-id-qr{text-align:center}.sbvm-id-qr img{display:block;width:64px;height:64px;background:#fff;padding:3px;border-radius:6px;margin:auto}.sbvm-id-qr small{display:block;font-size:7px;margin-top:3px;opacity:.9}.sbvm-id-card>.button{margin:0 12px 10px;align-self:flex-start}
@media(max-width:420px){.sbvm-id-card{width:100%;max-width:340px}.sbvm-id-body{grid-template-columns:58px minmax(0,1fr) 64px;padding:10px}.sbvm-id-card .id-photo{width:58px;height:72px}.sbvm-id-qr img{width:58px;height:58px}}

/* v9.0 ID card preview and isolated print wrapper */
.sbvm-id-card-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:100%}
.sbvm-id-card-wrap .sbvm-id-card{width:340px;max-width:100%;aspect-ratio:85.6/54;height:auto;min-height:0}
.sbvm-id-card-wrap .sbvm-id-print-button{margin:0!important}
@media(max-width:420px){.sbvm-id-card-wrap{width:100%}.sbvm-id-card-wrap .sbvm-id-card{width:min(340px,100%)}}

/* v10.6 Registration branding */
.sbvm-registration-line{margin:10px 0 0;font-size:13px;font-weight:800;letter-spacing:.02em;opacity:.9}
.sbvm-registration-footer{margin:18px 0 4px;text-align:center;font-size:12px;font-weight:700;color:#64748b;padding:12px;border-top:1px solid #e2e8f0}
.sbvm-id-head small{white-space:normal;line-height:1.2}
@media(max-width:600px){.sbvm-registration-line{font-size:12px}.sbvm-registration-footer{font-size:11px}}

/* v10.7 developer credit */
.sbvm-developer-credit{font-size:12px;font-weight:700;color:#64748b;text-align:center}
.sbvm-developer-credit a,.sbvm-developer-credit-inline a,.sbvm-receipt-developer a,.ivv-foot a{color:#0f766e;text-decoration:none;font-weight:900}
.sbvm-developer-credit a:hover,.sbvm-developer-credit-inline a:hover,.sbvm-receipt-developer a:hover,.ivv-foot a:hover{text-decoration:underline}
.sbvm-login-developer-credit{grid-column:1/-1;width:100%;margin-top:14px;color:rgba(255,255,255,.86)}
.sbvm-login-developer-credit a{color:#fff}
.sbvm-erp-developer-credit{margin:22px 12px 86px;padding:14px;border-top:1px solid #e2e8f0}
.sbvm-developer-credit-inline{display:inline-block;margin-top:6px}
.sbvm-receipt-developer{margin:12px 0 4px;padding-top:9px;border-top:1px dashed #cbd5e1;text-align:center;font-size:10px;color:#64748b}
.sbvm-about-software{margin:18px 0;padding:16px;border:1px solid #dbeafe;border-radius:14px;background:#f8fafc}
.sbvm-about-software h3{margin:0 0 8px}.sbvm-about-software p{margin:0;line-height:1.7}
@media(max-width:600px){.sbvm-login-developer-credit{font-size:11px;padding:0 10px}.sbvm-erp-developer-credit{margin-bottom:78px}.sbvm-receipt-developer{font-size:9px}}
@media print{.sbvm-receipt-developer{display:block!important}.sbvm-erp-developer-credit,.sbvm-login-developer-credit{display:none!important}}

/* =========================================================
   SBVM v10.9 Premium Student Portal
   Scoped redesign: no owner/admin behavior changes
========================================================= */
.sbvm-student-dashboard{
  --iv-ink:#10233e;--iv-muted:#63748a;--iv-line:#e7edf5;--iv-brand:#0f766e;
  --iv-blue:#2563eb;--iv-bg:#f4f7fb;--iv-card:#fff;
  max-width:1240px!important;margin:0 auto!important;padding:24px!important;
  color:var(--iv-ink);position:relative;
}
.sbvm-student-dashboard:before{content:"";position:fixed;inset:0;z-index:-2;background:
 radial-gradient(circle at 7% 8%,rgba(37,99,235,.10),transparent 24%),
 radial-gradient(circle at 94% 15%,rgba(15,118,110,.10),transparent 27%),
 linear-gradient(180deg,#f8fbff 0,#f3f6fb 100%)}
.sbvm-student-welcome{position:relative;overflow:hidden;border-radius:30px;padding:24px;background:
 linear-gradient(125deg,rgba(6,34,63,.98),rgba(15,118,110,.95));box-shadow:0 24px 65px rgba(15,35,62,.22);isolation:isolate}
.sbvm-student-welcome:before,.sbvm-student-welcome:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.sbvm-student-welcome:before{width:300px;height:300px;right:-90px;top:-170px;background:rgba(255,255,255,.10)}
.sbvm-student-welcome:after{width:230px;height:230px;left:38%;bottom:-190px;background:rgba(56,189,248,.13)}
.sbvm-student-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:0!important;background:none!important;border-radius:0!important;box-shadow:none!important}
.sbvm-student-profile{display:flex;align-items:center;gap:17px;min-width:0}
.sbvm-student-avatar{width:84px!important;height:84px!important;flex:0 0 84px!important;border-radius:25px!important;background:linear-gradient(135deg,#f59e0b,#22c55e)!important;border:3px solid rgba(255,255,255,.85)!important;box-shadow:0 12px 30px rgba(0,0,0,.22)!important}
.sbvm-student-profile-copy{min-width:0}.sbvm-student-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);color:#dbeafe;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.sbvm-student-profile h2{font-size:clamp(25px,4vw,38px)!important;letter-spacing:-.035em!important;margin:7px 0 4px!important;color:#fff!important;line-height:1.06!important}
.sbvm-student-profile p{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0!important;color:#dce9f7!important;font-size:12px!important;font-weight:750!important}.sbvm-student-profile p span{white-space:nowrap}
.sbvm-student-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:43px!important;padding:10px 15px!important;background:rgba(255,255,255,.94)!important;color:#12314f!important;border-radius:14px!important;font-weight:900!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}
.sbvm-student-welcome-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding-top:17px;border-top:1px solid rgba(255,255,255,.16);color:#fff}.sbvm-student-welcome-copy div{display:grid;gap:3px}.sbvm-student-welcome-copy strong{font-size:17px}.sbvm-student-welcome-copy div span{color:#cfe2f4;font-size:13px;font-weight:650}.sbvm-student-live-badge{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(34,197,94,.16);border:1px solid rgba(134,239,172,.28);color:#dcfce7;font-size:12px;font-weight:900}
.sbvm-student-stat-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;margin:18px 0!important}
.sbvm-student-stat-grid .sbvm-card{min-width:0!important;display:flex!important;align-items:center!important;gap:12px!important;padding:17px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(214,224,237,.86)!important;border-radius:21px!important;box-shadow:0 12px 32px rgba(35,55,80,.08)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.sbvm-student-stat-grid .sbvm-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(35,55,80,.13)!important}.sbvm-student-stat-grid .sbvm-card i{width:43px;height:43px;flex:0 0 43px;border-radius:14px;display:grid;place-items:center;font-style:normal;font-weight:950;font-size:19px}.sbvm-student-stat-grid .sbvm-card div{display:grid;min-width:0;gap:4px}.sbvm-student-stat-grid .sbvm-card b{font-size:11px!important;letter-spacing:.06em;text-transform:uppercase;color:#75859a!important}.sbvm-student-stat-grid .sbvm-card span{font-size:clamp(16px,2vw,22px)!important;line-height:1.1!important;color:#132b48!important;white-space:normal;overflow-wrap:anywhere}.sbvm-stat-roll i{background:#e0f2fe;color:#0369a1}.sbvm-stat-class_section i{background:#ede9fe;color:#6d28d9}.sbvm-stat-fee i{background:#dcfce7;color:#15803d}.sbvm-stat-due i{background:#fee2e2;color:#b91c1c}.sbvm-stat-renewal i{background:#fef3c7;color:#b45309}
.sbvm-student-dashboard>.sbvm-panel{margin:16px 0!important;padding:22px!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--iv-line)!important;border-radius:24px!important;box-shadow:0 13px 38px rgba(40,58,82,.075)!important;overflow:hidden}
.sbvm-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.sbvm-section-heading>div{display:grid;gap:2px}.sbvm-section-heading span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#0f766e}.sbvm-section-heading h3{margin:0!important;font-size:clamp(20px,2.4vw,27px)!important;letter-spacing:-.025em;color:#142b47}.sbvm-section-heading>b{width:46px;height:46px;border-radius:15px;background:#eef6ff;display:grid;place-items:center;font-size:22px}
.sbvm-pending-fee-months{background:linear-gradient(145deg,#fff,#fff8f3)!important}.sbvm-pending-summary{display:inline-flex;align-items:center;gap:7px;margin:0 0 13px!important;padding:10px 13px;border-radius:13px;background:#fff1f2;color:#9f1239}.sbvm-pending-month-list{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.sbvm-pending-month-badge{display:inline-flex!important;padding:9px 12px!important;border-radius:999px!important;border:1px solid #fed7aa!important;background:#fff7ed!important;color:#9a3412!important;font-weight:900!important;font-size:12px!important;box-shadow:none!important}.sbvm-fee-clear{border-radius:14px!important}
.sbvm-student-fee-report .sbvm-table-scroll{border:1px solid #e6edf5;border-radius:17px;overflow:auto;background:#fff}.sbvm-student-fee-report table{margin:0!important;border:0!important;min-width:920px}.sbvm-student-fee-report th{position:sticky;top:0;z-index:1;background:#f3f7fb!important;color:#40546d!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em}.sbvm-student-fee-report td{font-size:13px!important}.sbvm-student-fee-report tr:hover td{background:#f8fbff}
.sbvm-student-learning{background:linear-gradient(160deg,#fff 0,#f5fbff 100%)!important}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;margin-bottom:0!important}.sbvm-student-learning .sbvm-module-card{position:relative;overflow:hidden;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;min-height:150px!important;padding:18px!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f1f7ff)!important;border:1px solid #dfe9f4!important;box-shadow:0 10px 26px rgba(26,67,108,.08)!important}.sbvm-student-learning .sbvm-module-card:before{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-25px;top:-30px;background:rgba(37,99,235,.08)}.sbvm-student-learning .sbvm-module-card b{font-size:17px!important;position:relative}.sbvm-student-learning .sbvm-module-card span{font-size:12.5px!important;line-height:1.55!important;position:relative}.sbvm-student-learning .sbvm-module-card:hover{transform:translateY(-5px)!important}.sbvm-student-learning .sbvm-module-card.warn{background:linear-gradient(145deg,#fffdf5,#fff5dc)!important;border-color:#fde7ac!important}.sbvm-student-learning .sbvm-module-card.warn:before{background:rgba(245,158,11,.10)}
.sbvm-student-notice-panel{border-left:0!important}.sbvm-student-notices .sbvm-notice{border-radius:18px!important;padding:17px!important;border:1px solid #dfe9f7!important;background:#fbfdff!important}.sbvm-student-admission p{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;line-height:1.75;color:#50647c}.sbvm-student-admission p b{color:#1a3554}
.sbvm-registration-footer{margin:22px 0 82px!important;padding:18px!important;border:1px solid #e2eaf4;border-radius:20px;background:rgba(255,255,255,.72);text-align:center;color:#65788e;font-size:12px;line-height:1.7}.sbvm-registration-footer a{font-weight:900;color:#0f766e}
.sbvm-student-bottom-nav{display:none;position:fixed;left:50%;bottom:13px;transform:translateX(-50%);z-index:9999;width:min(94%,560px);padding:7px;background:rgba(255,255,255,.92);border:1px solid rgba(218,226,237,.95);border-radius:22px;box-shadow:0 18px 55px rgba(18,36,60,.22);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.sbvm-student-bottom-nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 3px;border-radius:15px;text-decoration:none!important;color:#6b7c90!important}.sbvm-student-bottom-nav a:hover,.sbvm-student-bottom-nav a:focus{background:#eaf4ff;color:#0f5fa8!important}.sbvm-student-bottom-nav span{font-size:20px}.sbvm-student-bottom-nav b{font-size:9px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1050px){.sbvm-student-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.sbvm-student-dashboard{padding:12px!important}.sbvm-student-welcome{padding:18px;border-radius:23px}.sbvm-student-topbar{align-items:flex-start!important;flex-direction:column!important}.sbvm-student-profile{width:100%}.sbvm-student-avatar{width:66px!important;height:66px!important;flex-basis:66px!important;border-radius:20px!important}.sbvm-student-profile h2{font-size:25px!important}.sbvm-student-profile p{display:grid;gap:3px!important}.sbvm-student-logout{width:100%!important}.sbvm-student-welcome-copy{align-items:flex-start;flex-direction:column}.sbvm-student-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sbvm-student-dashboard>.sbvm-panel{padding:17px!important;border-radius:20px!important}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sbvm-student-bottom-nav{display:flex}.sbvm-registration-footer{margin-bottom:92px!important}}
@media(max-width:430px){.sbvm-student-stat-grid{grid-template-columns:1fr!important}.sbvm-student-stat-grid .sbvm-card{padding:14px!important}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:1fr!important}.sbvm-student-learning .sbvm-module-card{min-height:125px!important}.sbvm-section-heading h3{font-size:21px!important}.sbvm-section-heading>b{width:40px;height:40px;border-radius:13px}.sbvm-student-profile p span{white-space:normal}}
@media(prefers-reduced-motion:reduce){.sbvm-student-dashboard *{scroll-behavior:auto!important;transition:none!important}}

/* v10.10 Student Portal Online Payment */
.sbvm-student-pay-list{display:grid;gap:12px;margin-top:14px}.sbvm-student-pay-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(135deg,#fff,#f0fdfa);box-shadow:0 8px 24px rgba(15,118,110,.08)}.sbvm-student-pay-row>div{display:grid;gap:5px;min-width:0}.sbvm-student-pay-row b{font-size:15px;color:#0f172a}.sbvm-student-pay-row span{font-size:13px;color:#64748b}.sbvm-student-pay-now{white-space:nowrap;border-radius:12px!important;min-height:42px;padding:9px 18px!important;font-weight:800!important}.sbvm-student-pay-now:disabled{opacity:.65;cursor:wait}.sbvm-payment-unavailable{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:13px}@media(max-width:600px){.sbvm-student-pay-row{align-items:stretch;flex-direction:column}.sbvm-student-pay-now{width:100%}}

/* Student Portal profile photo uploader */
.sbvm-student-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:20px;align-items:start}
.sbvm-student-photo-upload{padding:18px;border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(145deg,#f8fbff,#eef6ff);box-shadow:0 12px 30px rgba(15,23,42,.08)}
.sbvm-student-photo-upload label span{display:block;margin-bottom:9px;font-weight:850;color:#0f172a}
.sbvm-student-photo-upload input[type=file]{width:100%;padding:12px;border:1px dashed #93c5fd;border-radius:14px;background:#fff;color:#334155}
.sbvm-student-photo-upload small{display:block;margin:9px 0 13px;color:#64748b}
.sbvm-student-photo-upload .button{width:100%;min-height:44px;border:0;border-radius:13px;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;font-weight:850}
.sbvm-student-photo-message{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:#dcfce7;color:#166534;font-weight:800;border:1px solid #86efac}
@media(max-width:760px){.sbvm-student-profile-grid{grid-template-columns:1fr}.sbvm-student-photo-upload{padding:15px;border-radius:17px}}

/* =========================================================
   v11.0 Student Portal Premium Redesign
   UI-only enhancement: no fee/login/payment logic changes
========================================================= */
.sbvm-student-login-page{--iv-ink:#10243e;--iv-muted:#6b7d92;--iv-line:#dfe8f2;--iv-card:rgba(255,255,255,.94);--iv-blue:#2563eb;--iv-teal:#0f766e;--iv-gold:#f59e0b;background:
 radial-gradient(circle at 8% 8%,rgba(59,130,246,.15),transparent 28%),
 radial-gradient(circle at 92% 18%,rgba(16,185,129,.13),transparent 28%),
 linear-gradient(180deg,#f7fbff 0%,#eef5fb 100%)!important;min-height:100vh}
.sbvm-student-dashboard{max-width:1260px!important;margin:0 auto!important;padding:20px 22px 120px!important;color:var(--iv-ink)!important}
.sbvm-student-welcome{position:relative;overflow:hidden;padding:26px 28px!important;border-radius:30px!important;background:
 linear-gradient(125deg,rgba(7,31,58,.98),rgba(15,118,110,.95))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 26px 70px rgba(15,44,74,.24)!important;isolation:isolate}
.sbvm-student-welcome:before,.sbvm-student-welcome:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.sbvm-student-welcome:before{width:340px;height:340px;right:-120px;top:-180px;background:radial-gradient(circle,rgba(255,255,255,.2),rgba(255,255,255,0) 68%)}
.sbvm-student-welcome:after{width:260px;height:260px;left:-120px;bottom:-180px;background:radial-gradient(circle,rgba(45,212,191,.28),rgba(45,212,191,0) 68%)}
.sbvm-student-avatar{box-shadow:0 16px 35px rgba(0,0,0,.2)!important;transition:transform .28s ease,box-shadow .28s ease!important}
.sbvm-student-avatar:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 22px 42px rgba(0,0,0,.26)!important}
.sbvm-student-kicker{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sbvm-student-logout{transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}
.sbvm-student-logout:hover{transform:translateY(-2px);background:#fff!important;box-shadow:0 14px 28px rgba(0,0,0,.2)!important}
.sbvm-student-live-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 5px rgba(74,222,128,.15);animation:sbvmPulse 1.8s ease-in-out infinite}
@keyframes sbvmPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.7}}
.sbvm-student-stat-grid{gap:16px!important;margin:20px 0!important}
.sbvm-student-stat-grid .sbvm-card{position:relative;overflow:hidden;min-height:100px!important;padding:18px 17px!important;border-radius:23px!important;background:var(--iv-card)!important;border:1px solid rgba(215,226,238,.94)!important;box-shadow:0 14px 36px rgba(34,58,86,.09)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sbvm-student-stat-grid .sbvm-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;bottom:-48px;background:currentColor;opacity:.055;pointer-events:none}
.sbvm-student-stat-grid .sbvm-card:hover{transform:translateY(-5px)!important;box-shadow:0 22px 46px rgba(34,58,86,.15)!important}
.sbvm-student-stat-grid .sbvm-card i{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:16px!important;font-size:21px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.sbvm-student-stat-grid .sbvm-card b{font-size:10px!important;letter-spacing:.085em!important;color:#718096!important}
.sbvm-student-stat-grid .sbvm-card span{font-size:clamp(18px,2vw,23px)!important;font-weight:900!important;letter-spacing:-.02em!important}
.sbvm-student-dashboard>.sbvm-panel{position:relative;margin-top:18px!important;padding:22px!important;border-radius:25px!important;background:rgba(255,255,255,.95)!important;border:1px solid rgba(220,230,240,.96)!important;box-shadow:0 16px 42px rgba(37,61,89,.09)!important;overflow:hidden}
.sbvm-student-dashboard>.sbvm-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#2563eb,#14b8a6,#f59e0b);opacity:.78}
.sbvm-section-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:18px!important}
.sbvm-section-heading>div>span{display:block;color:#64748b!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.105em!important;margin-bottom:4px!important}
.sbvm-section-heading h3{margin:0!important;color:#152f4c!important;font-size:clamp(21px,2.4vw,27px)!important;line-height:1.15!important;letter-spacing:-.035em!important}
.sbvm-section-heading>b{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:16px;background:linear-gradient(135deg,#eaf3ff,#e7faf7);font-size:22px;box-shadow:inset 0 0 0 1px #dbe8f4}
.sbvm-pending-fee-months{background:linear-gradient(145deg,#fff 0%,#fffaf0 100%)!important}
.sbvm-pending-summary{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px!important;padding:9px 13px;border-radius:999px;background:#fff1f2;color:#be123c;border:1px solid #fecdd3;font-size:13px}
.sbvm-student-pay-list{gap:13px!important}
.sbvm-student-pay-row{border-radius:18px!important;padding:16px 17px!important;background:linear-gradient(135deg,#fff,#f7fffd)!important;border:1px solid #d7ebe6!important;box-shadow:0 10px 24px rgba(15,118,110,.075)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.sbvm-student-pay-row:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(15,118,110,.12)!important}
.sbvm-student-pay-now{background:linear-gradient(135deg,#0f766e,#059669)!important;border:0!important;box-shadow:0 10px 22px rgba(5,150,105,.22)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.sbvm-student-pay-now:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(5,150,105,.3)!important}
.sbvm-fee-clear{margin:0!important;padding:14px 16px;border-radius:16px;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;font-weight:800}
.sbvm-student-fee-report .sbvm-table-scroll{border-radius:19px!important;box-shadow:inset 0 0 0 1px #e5edf5}
.sbvm-student-fee-report table{border-collapse:separate!important;border-spacing:0!important}
.sbvm-student-fee-report th{padding:13px 12px!important;background:#f4f8fc!important;color:#53677f!important}
.sbvm-student-fee-report td{padding:13px 12px!important;border-bottom:1px solid #edf2f7!important;color:#2f465e!important}
.sbvm-student-fee-report tr:last-child td{border-bottom:0!important}
.sbvm-student-learning{background:linear-gradient(155deg,#fff 0%,#f5faff 55%,#f0fdfa 100%)!important}
.sbvm-student-learning .sbvm-module-grid.compact{gap:15px!important}
.sbvm-student-learning .sbvm-module-card{min-height:160px!important;padding:20px!important;border-radius:23px!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,247,255,.98))!important;border:1px solid #dce8f4!important;box-shadow:0 13px 31px rgba(31,78,120,.09)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.sbvm-student-learning .sbvm-module-card:before{width:120px!important;height:120px!important;right:-33px!important;top:-45px!important;background:radial-gradient(circle,rgba(37,99,235,.14),rgba(37,99,235,0) 70%)!important}
.sbvm-student-learning .sbvm-module-card:after{content:"Open →";display:block;margin-top:15px;color:#2563eb;font-size:12px;font-weight:900;letter-spacing:.04em;position:relative}
.sbvm-student-learning .sbvm-module-card:hover{transform:translateY(-6px) scale(1.008)!important;border-color:#b8d3ed!important;box-shadow:0 22px 44px rgba(31,78,120,.15)!important}
.sbvm-student-learning .sbvm-module-card.warn:after{color:#b45309}
.sbvm-student-notices .sbvm-notice{transition:transform .2s ease,box-shadow .2s ease!important}.sbvm-student-notices .sbvm-notice:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(31,60,92,.09)}
.sbvm-student-profile-grid{gap:22px!important}
.sbvm-student-photo-upload{border-radius:22px!important;background:linear-gradient(145deg,#f8fbff,#eef6ff)!important;box-shadow:0 14px 34px rgba(31,70,115,.09)!important}
.sbvm-student-photo-upload input[type=file]{cursor:pointer}
.sbvm-registration-footer{padding:22px 12px!important;color:#65778c!important;line-height:1.7!important}
.sbvm-student-bottom-nav{display:flex!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:min(94%,620px)!important;padding:8px!important;border-radius:24px!important;background:rgba(255,255,255,.91)!important;box-shadow:0 22px 60px rgba(18,36,60,.25)!important}
.sbvm-student-bottom-nav a{transition:background .18s ease,color .18s ease,transform .18s ease!important}
.sbvm-student-bottom-nav a:hover,.sbvm-student-bottom-nav a:focus,.sbvm-student-bottom-nav a.is-active{background:linear-gradient(135deg,#e7f1ff,#e8faf7)!important;color:#0f5fa8!important;transform:translateY(-1px)}
.sbvm-student-bottom-nav b{font-size:9.5px!important}
.sbvm-student-bottom-nav span{font-size:21px!important}
.sbvm-student-dashboard [id^="student-"]{scroll-margin-top:24px}
@media(min-width:1100px){.sbvm-student-bottom-nav{width:auto!important;left:auto!important;right:24px!important;transform:none!important;bottom:24px!important;flex-direction:column!important;border-radius:22px!important}.sbvm-student-bottom-nav a{min-width:64px!important;padding:9px 8px!important}}
@media(max-width:1050px){.sbvm-student-dashboard{padding:16px 16px 112px!important}.sbvm-student-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.sbvm-student-dashboard{padding:10px 10px 110px!important}.sbvm-student-welcome{padding:19px!important;border-radius:24px!important}.sbvm-student-welcome-copy{margin-top:16px!important;padding-top:15px!important}.sbvm-student-stat-grid{gap:10px!important}.sbvm-student-stat-grid .sbvm-card{min-height:92px!important;padding:14px!important;border-radius:19px!important}.sbvm-student-dashboard>.sbvm-panel{padding:17px!important;border-radius:21px!important}.sbvm-section-heading{margin-bottom:14px!important}.sbvm-student-learning .sbvm-module-card{min-height:138px!important;padding:17px!important;border-radius:19px!important}}
@media(max-width:430px){.sbvm-student-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sbvm-student-stat-grid .sbvm-card:last-child{grid-column:1/-1}.sbvm-student-stat-grid .sbvm-card i{width:42px!important;height:42px!important;flex-basis:42px!important}.sbvm-student-stat-grid .sbvm-card span{font-size:17px!important}.sbvm-student-learning .sbvm-module-grid.compact{grid-template-columns:1fr!important}.sbvm-student-bottom-nav{width:calc(100% - 16px)!important}.sbvm-student-bottom-nav a{padding:7px 1px!important}.sbvm-student-bottom-nav b{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.sbvm-student-dashboard *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
