*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#1e293b;background-color:#f8fafc}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:focus-visible{outline:2px solid #14284A;outline-offset:2px}::selection{background-color:#14284a;color:#fff}.datatable-row{border-left:3px solid transparent}.datatable-row:hover{background-color:#f1f5f9;border-left-color:#cfd535}.pagination-btn:not(:disabled):hover{background-color:#f1f5f9!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-brand{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{animation:modal-fade-in .2s ease-out}.modal-close-btn:hover{background-color:#f1f5f9!important;color:#1e293b!important}.sidebar-nav-item:hover{background-color:#ffffff14}.breadcrumb-link:hover{color:#14284a;text-decoration:underline}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;z-index:49}.sidebar-backdrop.visible{display:block}@media (max-width: 768px){.page-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}}@media (max-width: 768px){.form-row{grid-template-columns:1fr!important}.session-row{grid-template-columns:1fr 1fr!important}.block-top-row{gap:8px!important}.sessions-table-wrapper{overflow-x:auto!important}}@media (max-width: 768px){.login-wrapper>div:first-child{display:none!important}.login-wrapper>div:last-child{padding:24px!important}.login-form-container{padding:24px!important}.mobile-logo{display:block!important}}@media (max-width: 768px){.calendar-grid{gap:2px!important}}@media (max-width: 480px){.calendar-grid{padding:4px!important;gap:1px!important}}@media (max-width: 1024px){.session-detail-grid{grid-template-columns:1fr!important}.session-detail-infobar{flex-direction:column!important;align-items:flex-start!important}}@media (max-width: 768px){.pagination-info-text,.page-size-selector,.page-numbers{display:none!important}.pagination-mobile-indicator{display:block!important;font-size:13px;color:#64748b}}
