:root{
 --vcc-navy:#061f45;--vcc-navy2:#0a376d;--vcc-blue:#0b5fa5;--vcc-blue2:#1976c5;
 --vcc-gold:#f4b400;--vcc-red:#a7192c;--vcc-bg:#f3f6fb;--vcc-card:#fff;--vcc-text:#172033;
 --vcc-shell-top:72px;--vcc-shell-side:250px;
}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",Inter,Arial,sans-serif!important;background:var(--vcc-bg)!important;color:var(--vcc-text)!important;padding-top:var(--vcc-shell-top)!important;padding-left:var(--vcc-shell-side)!important;min-height:100vh!important}
/* Enterprise Portal shell */
.vcc-portal-topbar{position:fixed;inset:0 0 auto 0;height:var(--vcc-shell-top);z-index:100000;background:linear-gradient(110deg,var(--vcc-navy),var(--vcc-navy2));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;box-shadow:0 7px 24px rgba(3,25,54,.22)}
.vcc-portal-brand{display:flex;align-items:center;gap:12px;min-width:0}.vcc-portal-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:3px;border:2px solid rgba(244,180,0,.85)}
.vcc-portal-brand strong{display:block;font-size:16px;line-height:1.15}.vcc-portal-brand small{display:block;font-size:11px;opacity:.8;margin-top:4px}.vcc-portal-actions{display:flex;align-items:center;gap:8px}.vcc-portal-actions a,.vcc-menu-toggle{border:0;text-decoration:none;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:750;cursor:pointer}.vcc-portal-site{background:#fff;color:var(--vcc-navy)!important}.vcc-portal-home{background:var(--vcc-gold);color:#18243a!important}.vcc-menu-toggle{display:none;background:rgba(255,255,255,.12);color:#fff;font-size:19px;padding:8px 11px}
.vcc-portal-sidebar{position:fixed;left:0;top:var(--vcc-shell-top);bottom:0;width:var(--vcc-shell-side);z-index:99999;background:#071b38;color:#dce9f8;overflow-y:auto;box-shadow:6px 0 24px rgba(3,25,54,.12);padding:17px 12px 24px}
.vcc-side-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#839bb7;padding:8px 11px}.vcc-side-link{display:flex;align-items:center;gap:11px;padding:11px 12px;margin:3px 0;border-radius:10px;color:#dce9f8!important;text-decoration:none!important;font-size:13px;font-weight:650;transition:.2s}.vcc-side-link:hover{background:rgba(255,255,255,.09);transform:translateX(2px)}.vcc-side-link.active{background:linear-gradient(100deg,var(--vcc-blue),var(--vcc-blue2));color:#fff!important;box-shadow:0 8px 20px rgba(11,95,165,.35)}.vcc-side-link .ico{width:23px;text-align:center;font-size:16px}.vcc-side-sep{height:1px;background:rgba(255,255,255,.09);margin:13px 8px}
/* Harmonise legacy screens */
.hero-section,header:not(.vcc-portal-topbar),.header,.top-header,.navbar,.sidebar-header,.admin-header,.dashboard-header{background:linear-gradient(135deg,var(--vcc-navy),var(--vcc-blue))!important}
.main-card,.card,.content-card,.dashboard-card,.stat-card,.form-container,.table-container{border-radius:16px!important;box-shadow:0 10px 30px rgba(6,43,89,.10)!important}
.logo-img,.school-logo,.logo img,header img{background:#fff!important;border-color:rgba(244,180,0,.75)!important}
button,.btn,.button,input[type="submit"],input[type="button"]{border-radius:9px!important}.btn-primary,.primary-btn,button[type="submit"],input[type="submit"]{background:linear-gradient(135deg,var(--vcc-blue),var(--vcc-blue2))!important;color:#fff!important;border:none!important}.btn-primary:hover,.primary-btn:hover,button[type="submit"]:hover,input[type="submit"]:hover{filter:brightness(.95);transform:translateY(-1px)}
a{color:var(--vcc-blue)}table thead th,th{background:#eaf3fc!important;color:var(--vcc-navy)!important}input:focus,select:focus,textarea:focus{border-color:var(--vcc-blue)!important;box-shadow:0 0 0 3px rgba(11,95,165,.14)!important;outline:none!important}
/* Portal module badge and footer */
.vcc-module-ribbon{position:fixed;right:18px;bottom:16px;z-index:99998;background:rgba(255,255,255,.96);border:1px solid #d9e4f2;border-radius:12px;padding:9px 12px;box-shadow:0 10px 28px rgba(5,31,69,.18);font-size:11px;color:#4c5d72}.vcc-module-ribbon b{color:var(--vcc-navy)}
body.vcc-index-page .main-card{max-width:1180px!important;margin:26px auto!important;border-radius:24px!important}body.vcc-index-page{align-items:flex-start!important;justify-content:center!important;padding-right:20px!important;padding-bottom:45px!important}.main-topic{background:linear-gradient(135deg,#fff1b2,#f4b400)!important;-webkit-background-clip:text!important;background-clip:text!important}.school-title h1{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:.3px!important}
@media(max-width:900px){:root{--vcc-shell-side:0px}.vcc-portal-sidebar{transform:translateX(-102%);width:270px;transition:transform .25s ease}.vcc-portal-sidebar.open{transform:translateX(0)}.vcc-menu-toggle{display:inline-block}.vcc-portal-actions a span.txt{display:none}body{padding-left:0!important}.vcc-portal-topbar{padding:0 10px}.vcc-portal-brand strong{font-size:13px}.vcc-portal-brand small{display:none}}
@media(max-width:560px){:root{--vcc-shell-top:62px}.vcc-portal-brand img{width:40px;height:40px}.vcc-portal-actions a{padding:8px}.vcc-module-ribbon{display:none}body.vcc-index-page{padding-right:8px!important;padding-left:8px!important}.main-card{border-radius:14px!important}.main-topic{font-size:1.75rem!important}.school-title h1{font-size:1.15rem!important}}
@media print{body{padding:0!important}.vcc-portal-topbar,.vcc-portal-sidebar,.vcc-module-ribbon{display:none!important}}

/* Enterprise Edition v23 interaction safety */
.vcc-portal-topbar,.vcc-portal-sidebar,.login-container,.login-header,.login-form{pointer-events:auto}
.vcc-portal-actions a,.vcc-side-link,.back-link,.lang-btn,.login-btn{position:relative;z-index:1;pointer-events:auto!important}
body::before{pointer-events:none!important}
