:root{--primary-dark: #0b1a33;--primary-light: #1a3a6b;--primary-gradient: linear-gradient(135deg, #0b1a33 0%, #1a3a6b 100%);--sidebar-bg: #f8f9fc;--sidebar-hover: #eef2f7;--sidebar-active: #dce4f0;--text-dark: #1a2a3a;--text-muted: #6c7a8a;--border-light: rgba(0, 0, 0, .06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .16);--radius: 12px;--radius-sm: 8px;--transition: .2s ease-in-out;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden}body{font-family:var(--font-family);background-color:#f0f2f5;color:var(--text-dark);line-height:1.6;-webkit-font-smoothing:antialiased}.smas-header{background:var(--primary-gradient);box-shadow:var(--shadow-md);padding:.2rem .5rem;position:sticky;top:0;z-index:1050;min-height:48px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:100%;overflow:visible!important}.smas-header .navbar{overflow:visible!important}.smas-header .navbar-brand{font-weight:700;font-size:1.1rem;color:#fff!important;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;flex-shrink:0;max-width:90%;overflow:hidden}.smas-header .navbar-brand img{height:32px;width:auto;max-width:40px;object-fit:contain;flex-shrink:0}.smas-header .navbar-brand .school-name-wrapper{overflow:hidden;display:inline-block;max-width:100%;flex-shrink:1}.smas-header .navbar-brand .school-name{display:inline-block;white-space:nowrap;transition:transform .2s}.smas-header .navbar-brand .school-sub{font-weight:300;opacity:.8;font-size:.8rem;display:none;flex-shrink:0}@media(min-width:576px){.smas-header .navbar-brand .school-sub{display:inline}}.smas-header .btn-outline-light{border-color:#fff6;color:#fff;transition:var(--transition)}.smas-header .btn-outline-light:hover{background:#ffffff26;border-color:#ffffffb3}@media(min-width:768px){.smas-header .sidebar-toggle{display:none!important}}@media(max-width:576px){.smas-header{padding:.1rem .3rem;min-height:40px}.smas-header .navbar-brand{font-size:.9rem;gap:.3rem;max-width:92%}.smas-header .navbar-brand img{height:24px;max-width:28px}.smas-header .navbar-brand .school-name-wrapper{max-width:160px;display:inline-block;overflow:hidden;flex-shrink:1}.smas-header .navbar-brand .school-name{display:inline-block;white-space:nowrap;animation:scrollMarquee 8s linear infinite;transform:translate(100%)}@keyframes scrollMarquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.smas-header .btn{font-size:.75rem;padding:.1rem .4rem}}@media(max-width:400px){.smas-header .navbar-brand .school-name-wrapper{max-width:120px}}.smas-sidebar{background:var(--sidebar-bg);height:calc(100vh - 48px);overflow-y:auto;border-right:1px solid var(--border-light);transition:transform .25s ease-in-out,width .25s ease-in-out;width:280px;position:sticky;top:48px;box-shadow:var(--shadow-sm);flex-shrink:0;scrollbar-width:thin}.smas-sidebar::-webkit-scrollbar{width:4px}.smas-sidebar::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:4px}.smas-sidebar .nav-link{color:var(--text-dark);border-radius:var(--radius-sm);padding:.6rem 1rem;margin:.1rem .5rem;font-weight:500;font-size:.95rem;display:flex;align-items:center;transition:background .15s,color .15s,transform .1s}.smas-sidebar .nav-link:hover{background:var(--sidebar-hover);color:var(--primary-dark);transform:translate(2px)}.smas-sidebar .nav-link.active{background:var(--sidebar-active);color:var(--primary-dark);font-weight:600;border-left:3px solid var(--primary-dark)}.smas-sidebar .nav-link .icon{margin-right:.75rem;font-size:1.1rem;width:1.5rem;text-align:center;opacity:.7}.smas-sidebar .nav-link.active .icon{opacity:1}.smas-sidebar .nav-link .badge{margin-left:auto}.smas-sidebar .nav-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:.75rem 1.5rem .25rem;font-weight:700;opacity:.6}.smas-sidebar .nav-item .collapse .nav-link{padding-left:2.5rem;font-weight:400;font-size:.9rem}.smas-sidebar .nav-item .collapse .nav-link .icon{font-size:.9rem;margin-right:.5rem}@media(max-width:767.98px){.smas-sidebar{position:fixed;top:48px;left:0;transform:translate(-100%);z-index:1040;width:280px;height:calc(100vh - 48px);box-shadow:var(--shadow-lg);transition:transform .25s ease}.smas-sidebar.open{transform:translate(0)}}@media(min-width:768px){.smas-sidebar{transform:translate(0)!important;width:280px;position:sticky;top:48px}}.smas-content{padding:1rem 0;min-height:calc(100vh - 104px);width:100%;display:flex;flex-direction:column;overflow-x:hidden}@media(min-width:576px){.smas-content{padding:1.5rem 0}}@media(min-width:768px){.smas-content{padding:2rem 0}}.smas-content .container-fluid{width:100%;padding-left:15px;padding-right:15px;max-width:100%}.card{border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .15s ease;margin-bottom:1.5rem;background:#fff;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{background:transparent;border-bottom:1px solid var(--border-light);font-weight:600;padding:1rem 1.25rem;font-size:.95rem;letter-spacing:.3px}.card-body{padding:1.25rem;overflow-x:auto}.table{margin-bottom:0;font-size:.9rem}.table th{border-top:none;font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;padding:.75rem .5rem;background:#f8fafc;border-bottom:2px solid var(--border-light)}.table td{vertical-align:middle;padding:.6rem .5rem}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);max-width:100%;width:100%}.btn{border-radius:var(--radius-sm);font-weight:500;padding:.45rem 1.25rem;transition:all .2s ease;border:none;font-size:.9rem}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px #0b1a3333}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #0b1a334d}.btn-secondary{background:#e9ecef;color:var(--text-dark)}.btn-secondary:hover{background:#dee2e6}.btn-outline-secondary{border:1px solid #ced4da;color:var(--text-dark)}.btn-outline-secondary:hover{background:#f1f3f5;border-color:#adb5bd}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-success{background:#28a745}.btn-danger{background:#dc3545}.btn-warning{background:#ffc107;color:#212529}.btn-info{background:#17a2b8;color:#fff}.btn .icon{margin-right:.4rem}.badge{font-weight:500;padding:.3rem .7rem;border-radius:20px;font-size:.75rem;letter-spacing:.2px;display:inline-flex;align-items:center;gap:.3rem}.badge.bg-success{background-color:#28a745!important}.badge.bg-danger{background-color:#dc3545!important}.badge.bg-warning{background-color:#ffc107!important;color:#212529}.badge.bg-info{background-color:#17a2b8!important}.badge.bg-dark{background-color:#343a40!important}.dropdown-menu{border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.3rem 0;min-width:180px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffffa;z-index:1100!important}.dropdown-item{padding:.5rem 1rem;font-size:.9rem;display:flex;align-items:center;transition:background .15s}.dropdown-item:hover{background:var(--sidebar-hover)}.dropdown-item .icon{margin-right:.6rem;opacity:.7}.dropdown-item.text-danger:hover{background:#fde8e8}.dropdown-divider{margin:.2rem 0}.dropdown-toggle.no-caret:after{display:none!important}.dropdown-toggle.action-toggle{background:transparent!important;border:none!important;color:var(--text-dark)!important;padding:.15rem .4rem!important;border-radius:50%;transition:background .15s}.dropdown-toggle.action-toggle:hover{background:var(--sidebar-hover)!important}.dropdown-toggle.action-toggle:focus{box-shadow:none!important}.modal-content{border:none;border-radius:var(--radius);box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);padding:1rem 1.5rem;background:var(--sidebar-bg)}.modal-header .modal-title{font-weight:600;font-size:1.1rem}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-light);padding:1rem 1.5rem;background:var(--sidebar-bg)}.form-control,.form-select{border:1px solid #ced4da;border-radius:var(--radius-sm);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s;font-size:.9rem}.form-control:focus,.form-select:focus{border-color:var(--primary-dark);box-shadow:0 0 0 .2rem #0b1a3326}.form-label{font-weight:500;font-size:.85rem;margin-bottom:.25rem;color:var(--text-dark)}.form-check-input:checked{background-color:var(--primary-dark);border-color:var(--primary-dark)}.form-switch .form-check-input{width:2.5rem;height:1.3rem;cursor:pointer}.form-switch .form-check-input:focus{box-shadow:0 0 0 .2rem #0b1a3340}.form-check-label{margin-left:.5rem;cursor:pointer}.flash-container{pointer-events:none}.flash-container>*{pointer-events:auto}.flash-message{min-width:280px;max-width:420px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.75rem 1rem;margin-bottom:.75rem;border-left:4px solid transparent;animation:slideIn .3s ease-out;background:#fff;z-index:1200!important}.flash-success{border-left-color:#28a745;background:#f0f9f0}.flash-error{border-left-color:#dc3545;background:#fdf0f0}.flash-warning{border-left-color:#ffc107;background:#fff9e6}.flash-info{border-left-color:#17a2b8;background:#eef7fa}.flash-alert{border-left-color:#fd7e14;background:#fff3e0}.flash-message .progress{height:3px;background:#0000000d;border-radius:2px;margin-top:.4rem}.flash-message .progress-bar{height:3px;border-radius:2px}@keyframes slideIn{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:576px){.flash-container{max-width:100%;padding:.5rem!important;top:0;right:0;left:0}.flash-message{min-width:auto;max-width:100%;margin-bottom:.5rem;border-radius:0;box-shadow:0 2px 8px #0000001a}}@media(min-width:577px){.flash-container{max-width:400px;padding:1rem!important;top:.5rem;right:.5rem}}.smas-footer{background:var(--primary-gradient);color:#fffc;padding:.6rem .75rem;font-size:.85rem;text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.smas-footer .school-name{font-weight:600;color:#fff;font-size:.95rem;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.smas-footer a{color:#fff;text-decoration:none}.smas-footer a:hover{text-decoration:underline}@media(max-width:576px){.smas-footer{padding:.4rem .5rem;font-size:.75rem;min-height:44px}.smas-footer .school-name{font-size:.8rem;max-width:95%;white-space:normal}}@media(min-width:768px){.smas-footer{padding:.75rem 1rem;font-size:.9rem;min-height:64px}.smas-footer .school-name{font-size:1rem}}#notification-dropdown .dropdown-menu{transform:none!important}@media(max-width:576px){#notification-dropdown .dropdown-menu{position:fixed!important;top:48px!important;left:10px!important;right:10px!important;width:calc(100% - 20px)!important;max-height:70vh!important;z-index:1100!important;transform:none!important;overflow-y:auto;border-radius:0 0 var(--radius-sm) var(--radius-sm)}#notification-dropdown .dropdown-menu .dropdown-item{white-space:normal!important;word-wrap:break-word!important;padding:.75rem 1rem!important}#notification-dropdown .dropdown-menu .list-group-item{white-space:normal!important;word-wrap:break-word!important}}.text-muted{color:var(--text-muted)!important}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.rounded-lg{border-radius:var(--radius)}.gap-1{gap:.3rem}.gap-2{gap:.6rem}.cursor-pointer{cursor:pointer}.smas-content{display:flex;flex-direction:column;min-height:calc(100vh - 104px)}.smas-footer{margin-top:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{margin-bottom:0;width:100%;table-layout:auto}.table td,.table th{white-space:nowrap}.smas-content .container-fluid{padding-left:15px;padding-right:15px;max-width:100%}.smas-header,.smas-footer{max-width:100vw;overflow-x:hidden}.card-body .table-responsive{margin-left:0;margin-right:0;padding-left:0;padding-right:0;width:100%}.card-body .table-responsive .table{width:100%;min-width:100%}@media(min-width:768px){.card-body .table-responsive{padding-right:8px}.card-body{padding-right:1.5rem}}
