/* Bluebells School System - unified modern portal theme */
:root{--bb-primary:#0f4c81;--bb-primary-2:#1769aa;--bb-accent:#f2b705;--bb-bg:#f4f7fb;--bb-surface:#ffffff;--bb-text:#172033;--bb-muted:#64748b;--bb-border:#dbe4ef;--bb-success:#15803d;--bb-danger:#b42318;--bb-radius:16px;--bb-shadow:0 10px 30px rgba(15,76,129,.09)}
html{scroll-behavior:smooth} body{background:radial-gradient(circle at top right,rgba(23,105,170,.08),transparent 32%),var(--bb-bg);color:var(--bb-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}a:hover{transform:translateY(-1px)}
button,.btn,input[type=submit],input[type=button]{border-radius:12px!important;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}button:hover,.btn:hover,input[type=submit]:hover,input[type=button]:hover{transform:translateY(-1px);filter:saturate(1.05)}
.card,.panel,.box,.tile,.module,.stat-card,.dashboard-card,.content-card{border-radius:var(--bb-radius)!important;border-color:var(--bb-border)!important;box-shadow:var(--bb-shadow)}
input,select,textarea{border-radius:11px!important;border:1px solid #cbd5e1!important;background:#fff;color:var(--bb-text);min-height:42px}input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--bb-primary-2)!important;box-shadow:0 0 0 3px rgba(23,105,170,.14)!important}
table{border-collapse:separate;border-spacing:0;background:#fff}table thead th{background:#eaf2fb;color:#123b5d;font-weight:800}table th,table td{border-color:#e2e8f0!important}table tbody tr:hover{background:#f8fbff}
header,.topbar,.navbar,.sidebar-header{background-image:linear-gradient(135deg,var(--bb-primary),var(--bb-primary-2))!important}.badge,.pill,.count-badge{border-radius:999px!important}
.alert,.notice,.message{border-radius:12px!important}.container,.wrapper,.page-wrap,.content{max-width:min(1440px,96vw)}
img{max-width:100%;height:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:768px){body{font-size:14px}.container,.wrapper,.page-wrap,.content{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}.card,.panel,.box,.tile,.module{border-radius:13px!important}table{font-size:13px}button,.btn,input[type=submit]{min-height:42px}}
@media print{body{background:#fff!important}.card,.panel,.box{box-shadow:none!important}}

/* 2026 Final responsive portal polish */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{min-height:100vh;margin:0;line-height:1.5}
main,.main,.main-content,.dashboard,.dashboard-container,.content-wrapper,.portal-wrap{min-width:0;max-width:100%}
.grid,.cards,.card-grid,.dashboard-grid,.module-grid,.nav-grid,.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.card,.panel,.box,.tile,.module,.stat-card,.dashboard-card,.content-card,.dash-card{min-width:0;overflow-wrap:anywhere}
.table-wrap,.table-responsive,.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%;width:100%}
pre,code{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
iframe,video,canvas,svg{max-width:100%}
form{max-width:100%}
form .row,.form-row,.filters,.actions,.toolbar{flex-wrap:wrap}
.btn,a.btn,button,input[type=submit],input[type=button]{max-width:100%;white-space:normal;text-align:center}

.bbss-quick-nav{position:fixed;right:18px;bottom:18px;z-index:2147483000;display:flex;gap:10px;align-items:center;padding:8px;background:rgba(255,255,255,.92);border:1px solid rgba(15,76,129,.14);border-radius:18px;box-shadow:0 14px 40px rgba(15,23,42,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bbss-quick-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:44px!important;padding:10px 14px!important;border-radius:12px!important;text-decoration:none!important;font:800 13px/1.1 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;box-shadow:none!important;transform:none!important}
.bbss-back-btn{background:#eef4fb!important;color:#123b5d!important;border:1px solid #cfe0f1!important}
.bbss-home-btn{background:linear-gradient(135deg,#0f4c81,#1769aa)!important;color:#fff!important;border:1px solid transparent!important}
.bbss-quick-btn span{font-size:19px;line-height:1}
.bbss-quick-btn:hover{transform:translateY(-2px)!important;box-shadow:0 8px 18px rgba(15,76,129,.16)!important}

@media(max-width:900px){
  .container,.wrapper,.wrap,.page-wrap,.content,.main-content,.dashboard-container,.portal-wrap{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:12px!important;padding-right:12px!important}
  .grid,.cards,.card-grid,.dashboard-grid,.module-grid,.nav-grid,.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;gap:12px!important}
  header,.topbar,.navbar,.hero,.admin-header{max-width:100%!important}
}
@media(max-width:640px){
  body{font-size:14px!important;padding-bottom:76px}
  h1{font-size:clamp(1.35rem,7vw,2rem)!important} h2{font-size:clamp(1.15rem,6vw,1.55rem)!important}
  .grid,.cards,.card-grid,.dashboard-grid,.module-grid,.nav-grid,.stats-grid{grid-template-columns:1fr!important}
  .bbss-quick-nav{left:10px;right:10px;bottom:10px;justify-content:stretch;padding:7px;border-radius:15px}
  .bbss-quick-btn{flex:1;min-width:0;padding:11px 9px!important}
  table{font-size:12px!important;min-width:620px}
  .table-wrap table,.table-responsive table,.responsive-table table{min-width:620px}
  input,select,textarea{width:100%;max-width:100%}
  .actions,.toolbar,.filters{gap:8px!important}
  .actions>.btn,.actions>a,.toolbar>.btn,.toolbar>a{flex:1 1 140px}
}
@media print{.bbss-quick-nav{display:none!important}body{padding-bottom:0!important}}
