
/* Turbo TVC Global Modern UI Pass
   Purpose: style every legacy Bootstrap/PHP module without breaking database logic. */
:root{
  --turbo-blue:#2563eb;--turbo-blue-dark:#1d4ed8;
  --turbo-green:#16a34a;--turbo-green-dark:#15803d;
  --turbo-yellow:#eab308;--turbo-yellow-dark:#ca8a04;
  --turbo-red:#dc2626;--turbo-red-dark:#b91c1c;
  --turbo-slate:#0f172a;--turbo-muted:#64748b;--turbo-border:#e2e8f0;--turbo-bg:#f1f5f9;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body.turbo-body{background:var(--turbo-bg)!important;color:#1e293b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
a{color:var(--turbo-blue);text-decoration:none} a:hover{color:var(--turbo-blue-dark)}
.module-content>.container,.module-content>.container-fluid,main>.container,main>.container-fluid{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;}
.module-content h1,.module-content h2,.module-content h3,.module-content h4,.module-content .page-title{letter-spacing:-.035em;color:#0f172a;font-weight:900!important;}
.module-content p,.text-muted{color:#64748b!important}.fw-black{font-weight:900!important}.small,small{font-size:.84rem}
/* Cards and panels */
.card,.panel,.box,.principal-mini-card,.hr-card,.dashboard-card,.quick-card,.stats-card,.widget,.module-card,.content-card,.app-card,.tile,.summary-card{
  background:#fff!important;border:1px solid var(--turbo-border)!important;border-radius:1.25rem!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important;overflow:hidden;
}
.card-header,.panel-heading,.box-header{background:#f8fafc!important;border-bottom:1px solid var(--turbo-border)!important;padding:1rem 1.25rem!important;font-weight:800;color:#0f172a}.card-body,.panel-body,.box-body{padding:1.25rem!important}
.module-hero,.page-hero,.principal-page-hero,.hero-card{background:linear-gradient(135deg,var(--turbo-blue),var(--turbo-green) 65%,var(--turbo-yellow))!important;color:#fff!important;border-radius:1.5rem!important;padding:1.5rem!important;box-shadow:0 20px 48px rgba(37,99,235,.18)!important}.module-hero *,.page-hero *,.principal-page-hero *,.hero-card *{color:inherit}
/* Bootstrap rows inside main */
.row{--bs-gutter-x:1rem;--bs-gutter-y:1rem}.container.py-4,.container.py-5{padding-top:0!important}.mb-4{margin-bottom:1rem!important}
/* Tables */
.table-responsive,.overflow-x-auto,.responsive-table{background:#fff;border:1px solid var(--turbo-border);border-radius:1.25rem;box-shadow:0 10px 30px rgba(15,23,42,.04);overflow:auto!important}.table{margin-bottom:0!important;vertical-align:middle!important;color:#334155!important}.table thead th,.turbo-table thead th{background:#f8fafc!important;color:#475569!important;text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:900!important;border-bottom:1px solid var(--turbo-border)!important;padding:.9rem 1rem!important;white-space:nowrap}.table tbody td,.turbo-table tbody td{padding:.9rem 1rem!important;border-color:#edf2f7!important;white-space:nowrap}.table-hover tbody tr:hover,.turbo-table tbody tr:hover{background:#f8fafc!important}.table-bordered>:not(caption)>*{border-color:#e2e8f0!important}
/* Forms */
.form-control,.form-select,.turbo-input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],select,textarea{
  border:1px solid #cbd5e1!important;border-radius:.9rem!important;padding:.65rem .9rem!important;color:#0f172a!important;background:#fff!important;box-shadow:none!important;min-height:42px;
}
.form-control:focus,.form-select:focus,.turbo-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--turbo-blue)!important;box-shadow:0 0 0 .22rem rgba(37,99,235,.16)!important;outline:none!important}.form-label,label{font-weight:800!important;color:#334155!important;font-size:.88rem;margin-bottom:.4rem}.input-group-text{border:1px solid #cbd5e1!important;border-radius:.9rem!important;background:#f8fafc!important;color:#64748b!important}.input-group .form-control{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.input-group .input-group-text{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
form:not(.d-inline):not(.inline-form){max-width:100%}.form-card{background:#fff;border:1px solid var(--turbo-border);border-radius:1.25rem;box-shadow:0 10px 30px rgba(15,23,42,.05);padding:1.25rem}
/* Buttons */
.btn,.btn-primary,.btn-success,.btn-warning,.btn-danger,.btn-info,.btn-secondary,.btn-outline-primary,.btn-outline-success,.btn-outline-warning,.btn-outline-danger,.btn-outline-secondary,.btn-outline-info,.btn-secondary-turbo,.btn-primary-turbo{
  border-radius:.85rem!important;font-weight:800!important;padding:.58rem 1rem!important;box-shadow:0 8px 18px rgba(15,23,42,.08);transition:all .2s ease;border-width:1px!important;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.12)}.btn-primary,.btn-primary-turbo{background:var(--turbo-blue)!important;border-color:var(--turbo-blue)!important;color:#fff!important}.btn-primary:hover,.btn-primary-turbo:hover{background:var(--turbo-blue-dark)!important;color:#fff!important}.btn-success,.btn-approve{background:var(--turbo-green)!important;border-color:var(--turbo-green)!important;color:#fff!important}.btn-success:hover,.btn-approve:hover{background:var(--turbo-green-dark)!important;color:#fff!important}.btn-warning,.btn-pending{background:var(--turbo-yellow)!important;border-color:var(--turbo-yellow)!important;color:#fff!important}.btn-warning:hover,.btn-pending:hover{background:var(--turbo-yellow-dark)!important;color:#fff!important}.btn-danger,.btn-reject{background:var(--turbo-red)!important;border-color:var(--turbo-red)!important;color:#fff!important}.btn-danger:hover,.btn-reject:hover{background:var(--turbo-red-dark)!important;color:#fff!important}.btn-info{background:#0284c7!important;border-color:#0284c7!important;color:#fff!important}.btn-secondary,.btn-secondary-turbo{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#334155!important}.btn-outline-primary{background:#fff!important;color:var(--turbo-blue)!important;border-color:#bfdbfe!important}.btn-outline-primary:hover{background:var(--turbo-blue)!important;color:#fff!important}.btn-outline-success{background:#fff!important;color:var(--turbo-green)!important;border-color:#bbf7d0!important}.btn-outline-success:hover{background:var(--turbo-green)!important;color:#fff!important}.btn-outline-danger{background:#fff!important;color:var(--turbo-red)!important;border-color:#fecaca!important}.btn-outline-danger:hover{background:var(--turbo-red)!important;color:#fff!important}.btn-outline-warning{background:#fff!important;color:#a16207!important;border-color:#fde68a!important}.btn-outline-warning:hover{background:var(--turbo-yellow)!important;color:#fff!important}
/* Badges/status */
.badge{border-radius:999px!important;padding:.45rem .75rem!important;font-weight:900!important;letter-spacing:.01em}.bg-success,.badge-active{background:var(--turbo-green)!important;color:#fff!important}.bg-danger{background:var(--turbo-red)!important;color:#fff!important}.bg-warning{background:var(--turbo-yellow)!important;color:#fff!important}.bg-primary{background:var(--turbo-blue)!important;color:#fff!important}.text-success{color:var(--turbo-green)!important}.text-danger{color:var(--turbo-red)!important}.text-warning{color:#a16207!important}.text-primary{color:var(--turbo-blue)!important}
/* Alerts */
.alert{border-radius:1.1rem!important;border:1px solid transparent!important;font-weight:650;box-shadow:0 10px 25px rgba(15,23,42,.05)}.alert-success{background:#dcfce7!important;border-color:#bbf7d0!important;color:#166534!important}.alert-danger{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important}.alert-warning{background:#fef3c7!important;border-color:#fde68a!important;color:#92400e!important}.alert-info{background:#dbeafe!important;border-color:#bfdbfe!important;color:#1e40af!important}
/* Auth and landing pages */
.login-shell,.auth-shell{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.05fr .95fr;background:#f1f5f9}.login-brand,.auth-brand{position:relative;display:flex;align-items:center;justify-content:center;padding:3rem;background:linear-gradient(135deg,#1d4ed8 0%,#16a34a 70%,#eab308 100%);color:#fff;overflow:hidden}.login-brand:before,.auth-brand:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at top left,rgba(255,255,255,.25),transparent 35%),radial-gradient(circle at bottom right,rgba(255,255,255,.18),transparent 35%)}.login-brand>*{position:relative;z-index:1;max-width:620px}.glass{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:1.25rem!important;backdrop-filter:blur(12px)}.login-panel,.auth-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,#ffffff,#f8fafc)}.login-card,.auth-card{width:min(100%,520px);background:#fff;border:1px solid var(--turbo-border);border-radius:1.5rem;box-shadow:0 25px 70px rgba(15,23,42,.12);padding:2rem}.login-card .page-title,.auth-card .page-title{font-size:2rem;line-height:1.1;font-weight:900;letter-spacing:-.05em;color:#0f172a}.fade-up{animation:fadeUp .45s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.landing-shell{min-height:100vh;background:linear-gradient(180deg,#eff6ff,#f8fafc);color:#0f172a}.landing-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.landing-hero{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.18),transparent 35%),radial-gradient(circle at 80% 30%,rgba(22,163,74,.16),transparent 30%),radial-gradient(circle at 50% 95%,rgba(234,179,8,.16),transparent 30%)}
/* Module placeholders */
.empty-box,.empty-state{border:1px dashed #cbd5e1!important;border-radius:1.25rem!important;background:#f8fafc!important;color:#64748b!important;padding:2rem!important;text-align:center}.actions,.toolbar,.principal-tools{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.filter-label{font-size:.74rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
/* Sidebar/topbar fixes */
#sidebar{background:#fff!important}.top-navbar input{min-height:40px}.module-content footer{margin-top:auto}.print\:hidden{print-color-adjust:exact}
/* Utilities */
.bg-gradient-school{background:linear-gradient(135deg,var(--turbo-blue),var(--turbo-green),var(--turbo-yellow))}.rounded-2xl{border-radius:1rem}.shadow-soft{box-shadow:0 10px 30px rgba(15,23,42,.08)}
@media(max-width:991.98px){.login-shell,.auth-shell{grid-template-columns:1fr}.login-brand,.auth-brand{min-height:38vh;padding:2rem}.login-panel,.auth-panel{padding:1rem}.login-card,.auth-card{padding:1.25rem;border-radius:1.25rem}.btn{width:auto}.table tbody td,.table thead th{white-space:nowrap} }
@media(max-width:640px){.module-content{padding:1rem!important}.card-body{padding:1rem!important}.btn:not(.btn-sm){width:100%;}.actions .btn,.toolbar .btn{width:100%}.login-brand h1{font-size:2rem}.login-brand p.lead{font-size:1rem}}
@media print{aside,header,.no-print,button,.sidebar,.top-navbar,#sidebar,#sidebarOverlay,.btn,.actions,.toolbar,form{display:none!important}body{background:#fff!important;color:#000!important}main{padding:0!important;margin:0!important}.card,.table-responsive{box-shadow:none!important;border:1px solid #ddd!important}table{width:100%!important;border-collapse:collapse!important}th,td{border:1px solid #ddd!important;padding:8px!important;color:#000!important}.module-content{padding:0!important}}
