@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap";
:root,[data-theme=light]{--bg-base:#fcf8f8;--bg-body:#fcf8f8;--bg-card:#fffffff7;--bg-card-solid:#fff;--bg-header-solid:#fdfafc;--bg-card-hover:#fff;--bg-glass:#ffffffd9;--bg-input:#fff;--text-primary:#18181b;--text-secondary:#5a626a;--text-muted:#8a9099;--border-color:#e52e2e26;--border-glass:#e52e2e1f;--sidebar-bg:#fffffff7;--sidebar-border:#e52e2e1f;--sidebar-text:#5a626a;--sidebar-text-hover:#18181b;--sidebar-active-bg:#e52e2e17;--sidebar-active-text:#e52e2e;--sidebar-icon-bg:#e52e2e0f;--sidebar-label:#5a626a80;--sidebar-brand-text:#18181b;--sidebar-user-border:#e52e2e1a;--accent:#e52e2e;--accent2:#c5221f;--accent3:#5a626a;--success:#10b981;--warning:#f59e0b;--danger:#dc2626;--shadow-sm:0 2px 12px #e52e2e14;--shadow-md:0 8px 32px #e52e2e26;--shadow-lg:0 20px 60px #e52e2e33;--orb1:#e52e2e26;--orb2:#c5221f1f;--orb3:#5a626a1f;--navbar-bg:#fcf8f8fa;--scrollbar-bg:#e52e2e0d;--scrollbar-thumb:#e52e2e4d;--toggle-track:linear-gradient(135deg, #fee2e2, #fecaca);--sidebar-shadow:4px 0 30px #e52e2e14}[data-theme=dark]{--bg-base:#0f0c0d;--bg-body:#0f0c0d;--bg-card:#181214f5;--bg-card-solid:#181214;--bg-header-solid:#140e10;--bg-card-hover:#22191cfa;--bg-glass:#181214d9;--bg-input:#1c1417;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#ef444433;--border-glass:#ef444424;--sidebar-bg:#0f0a0cfa;--sidebar-border:#ef444426;--sidebar-text:#c8cdd7bf;--sidebar-text-hover:#f8fafc;--sidebar-active-bg:#ef444433;--sidebar-active-text:#f87171;--sidebar-icon-bg:#ffffff0d;--sidebar-label:#ffffff38;--sidebar-brand-text:#f8fafc;--sidebar-user-border:#ffffff0f;--accent:#ef4444;--accent2:#f87171;--accent3:#9ca3af;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--shadow-sm:0 2px 12px #0000008c;--shadow-md:0 8px 32px #000000a6;--shadow-lg:0 20px 60px #000000bf;--orb1:#ef44441f;--orb2:#b91c1c17;--orb3:#64748b14;--navbar-bg:#0f0a0cfa;--scrollbar-bg:#ef44440a;--scrollbar-thumb:#ef444440;--toggle-track:linear-gradient(135deg, #2a181b, #451a1d);--sidebar-shadow:4px 0 30px #00000080}.theme-transition *,.theme-transition :before,.theme-transition :after{transition:background-color .45s cubic-bezier(.4,0,.2,1),background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),fill .35s cubic-bezier(.4,0,.2,1)!important}html{scroll-behavior:smooth}body{background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Manrope,Sora,system-ui,-apple-system,sans-serif;overflow-x:hidden}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-orbs .orb{filter:blur(90px);border-radius:50%;position:absolute}.bg-orbs .orb-1{background:var(--orb1);width:650px;height:650px;animation:16s ease-in-out infinite orbFloat1;top:-200px;left:-200px}.bg-orbs .orb-2{background:var(--orb2);width:550px;height:550px;animation:18s ease-in-out infinite orbFloat2;bottom:-150px;right:-150px}.bg-orbs .orb-3{background:var(--orb3);width:400px;height:400px;animation:20s ease-in-out infinite orbFloat3;top:40%;left:45%}@keyframes orbFloat1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(50px,-50px)scale(1.06)}66%{transform:translate(-30px,40px)scale(.96)}}@keyframes orbFloat2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,40px)scale(1.08)}66%{transform:translate(40px,-30px)scale(.94)}}@keyframes orbFloat3{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.1)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);box-shadow:var(--sidebar-shadow);-webkit-backdrop-filter:blur(24px)saturate(1.8);z-index:1000;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--sidebar-user-border);padding:1.6rem 1.4rem 1.2rem}.sidebar-logo{background:0 0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.sidebar-brand h6{color:var(--sidebar-brand-text);margin:0;font-size:.95rem;font-weight:700}.sidebar-brand small{color:var(--accent);letter-spacing:.8px;text-transform:uppercase;font-size:.68rem;font-weight:600}.sidebar-nav{flex:1;padding:.875rem .75rem;overflow-y:auto}.nav-section-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--sidebar-label);margin-top:.4rem;padding:.6rem .75rem .3rem;font-size:.63rem;font-weight:700}.sidebar-link{color:var(--sidebar-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;margin:2px 0;padding:.65rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-link:hover{color:var(--sidebar-text-hover);background:var(--sidebar-active-bg);border-color:var(--sidebar-border)}.sidebar-link.active{color:var(--sidebar-active-text);background:var(--sidebar-active-bg);border-color:#e52e2e40;box-shadow:0 4px 16px #e52e2e1f}.nav-icon{background:var(--sidebar-icon-bg);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.82rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s;display:flex}.sidebar-link:hover .nav-icon,.sidebar-link.active .nav-icon{background:#e52e2e26;transform:scale(1.12)rotate(-5deg)}.nav-label{flex:1}.nav-badge{background:var(--accent);color:#fff;border-radius:99px;padding:2px 7px;font-size:.6rem;font-weight:700}.sidebar-user{border-top:1px solid var(--sidebar-user-border);align-items:center;gap:10px;padding:1rem 1.2rem;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:700;animation:3.5s ease-in-out infinite avatarPulse;display:flex;box-shadow:0 0 0 2px #e52e2e4d}@keyframes avatarPulse{0%,to{box-shadow:0 0 0 2px #e52e2e4d}50%{box-shadow:0 0 0 5px #e52e2e1a}}.user-info .name{color:var(--sidebar-brand-text);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.user-info .role{color:var(--accent);font-size:.68rem;font-weight:500}.main-content{background-color:var(--bg-base);z-index:1;min-height:100vh;margin-left:260px;position:relative}.page-content{background-color:var(--bg-base);min-height:calc(100vh - 64px);padding:2rem 1.75rem}.topnav{background:var(--navbar-bg);-webkit-backdrop-filter:blur(20px)saturate(1.8);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 1.75rem;display:flex;position:sticky;top:0}.glass-card{-webkit-backdrop-filter:blur(16px)saturate(1.6);background:var(--bg-card)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-primary)!important;border-radius:20px!important;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s!important}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)!important;background:var(--bg-card-hover)!important}.glass-card .card-header{align-items:center;gap:10px;padding:1.2rem 1.5rem;font-size:.9rem;font-weight:700;display:flex;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;background:0 0!important}.glass-card .card-body{padding:1.5rem;background:0 0!important}.stats-card{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:20px;padding:1.5rem;position:relative;overflow:hidden;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}.stats-card:after{content:"";background:radial-gradient(circle, var(--card-glow,#e52e2e0f) 0%, transparent 60%);opacity:0;pointer-events:none;width:200%;height:200%;transition:opacity .3s;position:absolute;top:-60%;right:-60%}.stats-card:hover:after{opacity:1}.icon-wrap{border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.25rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex}.stats-card:hover .icon-wrap{transform:scale(1.15)rotate(-8deg)}.stat-number{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:.35rem 0 .15rem;font-size:2.2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-size:.73rem;font-weight:700}.stat-footer{border-top:1px solid var(--border-color);color:var(--accent);align-items:center;gap:6px;margin-top:1rem;padding-top:.875rem;font-size:.8rem;font-weight:600;display:flex}.page-title{background:linear-gradient(135deg, var(--text-primary) 40%, var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.6rem;font-weight:800;line-height:1.2}.page-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.form-control,.form-select{background:var(--bg-input)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:12px!important;padding:.65rem 1rem!important;font-size:.875rem!important}.form-control:focus,.form-select:focus{border-color:var(--accent)!important;background:var(--bg-card-hover)!important;color:var(--text-primary)!important;box-shadow:0 0 0 3px #e52e2e26!important}.form-control::placeholder{color:var(--text-muted)!important}.form-select option{background:var(--bg-card);color:var(--text-primary)}.form-label{color:var(--text-secondary);letter-spacing:.3px;margin-bottom:.4rem;font-size:.8rem;font-weight:600}.input-group-text{background:var(--bg-input)!important;border:1px solid var(--border-color)!important;color:var(--text-secondary)!important;border-radius:12px 0 0 12px!important}.input-group .form-control{border-left:0!important;border-radius:0 12px 12px 0!important}.btn{border-radius:12px!important;font-size:.85rem!important;font-weight:600!important;transition:all .25s cubic-bezier(.34,1.56,.64,1)!important}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent2))!important;color:#fff!important;border:none!important;box-shadow:0 4px 20px #e52e2e4d!important}.btn-primary:hover{box-shadow:0 8px 28px #e52e2e73!important}.btn-success{color:#fff!important;background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;box-shadow:0 4px 20px #10b9814d!important}.btn-outline-primary{border:1px solid var(--accent)!important;color:var(--accent)!important;background:#e52e2e0f!important}.btn-outline-primary:hover{color:var(--accent)!important;background:#e52e2e24!important}.btn-outline-danger{border:1px solid var(--danger)!important;color:var(--danger)!important;background:#ef44440d!important}.btn-outline-danger:hover{color:var(--danger)!important;background:#ef44441f!important}.btn-outline-secondary{border:1px solid var(--border-color)!important;color:var(--text-secondary)!important;background:var(--bg-card)!important}.btn-outline-secondary:hover{background:var(--bg-card-hover)!important;color:var(--text-primary)!important}.table{color:var(--text-primary)!important;border-color:var(--border-color)!important}.table thead th{white-space:nowrap;color:var(--text-muted)!important;text-transform:uppercase!important;letter-spacing:1px!important;border-color:var(--border-color)!important;background:0 0!important;padding:.875rem 1.25rem!important;font-size:.7rem!important;font-weight:700!important}.table tbody td{border-color:var(--border-color)!important;vertical-align:middle!important;color:var(--text-primary)!important;background:0 0!important;padding:.875rem 1.25rem!important;font-size:.875rem!important}.table tbody tr:hover>td{background:#e52e2e0a!important}.table-responsive{border-radius:0 0 18px 18px;overflow:hidden}.role-badge{color:var(--accent);background:#e52e2e1a;border:1px solid #e52e2e33;border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:.71rem;font-weight:600;display:inline-flex}.status-badge{border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:.71rem;font-weight:600;display:inline-flex}.status-badge.active{color:var(--success);background:#10b9811a;border:1px solid #10b98133}.status-badge.inactive{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.perm-tag{border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;margin:2px;padding:3px 9px;font-size:.69rem;font-weight:600;display:inline-flex;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}.perm-tag:hover{transform:scale(1.07)}.perm-tag.create{color:#e52e2e;background:#e52e2e1a;border-color:#e52e2e33}.perm-tag.read{color:#10b981;background:#10b9811a;border-color:#10b98133}.perm-tag.update{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b33}.perm-tag.delete{color:#ef4444;background:#ef44441a;border-color:#ef444433}.theme-toggle{background:var(--toggle-track);border:1px solid var(--border-color);cursor:pointer;border-radius:99px;align-items:center;width:48px;height:26px;padding:2px;display:flex;position:relative;overflow:visible}.theme-toggle-thumb{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.55rem;transition:left .3s cubic-bezier(.4,0,.2,1),background .3s;display:flex;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 2px 8px #00000040}[data-theme=dark] .theme-toggle-thumb{background:linear-gradient(135deg,#ef4444,#dc2626);left:calc(100% - 23px)}.alert{border-radius:12px!important;font-size:.875rem!important}.alert-danger{color:var(--danger)!important;background:#ef444414!important;border:1px solid #ef444433!important}.dropdown-menu{background:var(--bg-card)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-md)!important;border-radius:16px!important;padding:.5rem!important}.dropdown-item{color:var(--text-primary)!important;border-radius:10px!important;padding:.5rem .875rem!important;font-size:.875rem!important}.dropdown-item:hover{background:#6366f114!important}.dropdown-item.text-danger{color:var(--danger)!important}.dropdown-item.text-danger:hover{background:#ef444414!important}.dropdown-divider{border-color:var(--border-color)!important;margin:.35rem 0!important}.login-page{background-color:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg-mesh{background:radial-gradient(ellipse 80% 60% at 20% 20%, var(--orb1), transparent), radial-gradient(ellipse 60% 80% at 80% 80%, var(--orb2), transparent), radial-gradient(ellipse 50% 50% at 50% 50%, var(--orb3), transparent);animation:10s ease-in-out infinite alternate meshMove;position:absolute;inset:0}@keyframes meshMove{0%{filter:blur(50px);transform:scale(1)rotate(0)}to{filter:blur(65px);transform:scale(1.06)rotate(2deg)}}.login-card{background:var(--bg-card);-webkit-backdrop-filter:blur(24px)saturate(2);border:1px solid var(--border-glass);z-index:2;width:100%;max-width:440px;box-shadow:var(--shadow-lg);border-radius:28px;padding:2.75rem;position:relative}.login-input::placeholder{opacity:.75;color:var(--text-muted)!important}.form-check-input:checked{background-color:var(--accent)!important;border-color:var(--accent)!important}.form-check-label{font-size:.875rem;color:var(--text-secondary)!important}.notif-dot{background:var(--danger);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite dotPulse;position:absolute;top:4px;right:4px}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--border-color) 50%, var(--bg-card) 75%);background-size:800px 100%;border-radius:10px;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}@media (max-width:1199px){.sidebar{transform:translate(-100%);z-index:1050!important;width:280px!important;max-width:85vw!important;transition:transform .35s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 0 60px #0000008c!important}.sidebar.show{transform:translate(0)!important}.main-content{min-height:100vh;width:100%!important;max-width:100%!important;margin-left:0!important}.page-content{width:100%!important;max-width:100%!important;padding:1.5rem 1.25rem!important}.topnav{width:100%!important;padding:0 1.25rem!important}}@media (min-width:768px) and (max-width:1199px){.page-title{font-size:1.45rem!important}.stats-card{padding:1.25rem!important}.stat-number{font-size:1.85rem!important}.glass-card .card-body{padding:1.25rem!important}.table-responsive,div[style*=overflowX],div[style*=overflow-x]{-webkit-overflow-scrolling:touch!important}}@media (max-width:767px){.page-content{padding:1.1rem .85rem!important}.topnav{padding:0 .85rem!important}.page-title{font-size:1.3rem!important}.stat-number{font-size:1.6rem!important}}.brand-logo-container{border-radius:16px;justify-content:center;align-items:center;padding:8px 14px;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 10px 30px #e52e2e40,0 0 0 1px #ffffffe6;background:#fffffff5!important}[data-theme=dark] .brand-logo-container{box-shadow:0 10px 35px #e52e2e73,0 0 25px #ffffff4d;background:#fffffffa!important}.brand-logo-container:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 15px 40px #e52e2e66}.preserve-3d{transform-style:preserve-3d}.tilt-card-3d{perspective:1000px;transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .3s}@keyframes float3D{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(2deg)}}.floating-3d{animation:6s ease-in-out infinite float3D}
html,body,#__next{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;background-color:var(--bg-base)!important;color:var(--text-primary)!important;font-family:Manrope,Sora,system-ui,-apple-system,sans-serif!important}h1,h2,h3,h4,h5,h6,.page-title,.brand-title,.heading-font{letter-spacing:-.02em;font-family:Sora,Manrope,sans-serif!important}button,input,select,textarea,.btn,.form-control,.form-select,.badge{font-family:Manrope,Sora,sans-serif!important}*{box-sizing:border-box}a{text-decoration:none}.card{background-color:var(--bg-card)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.card-header{border-color:var(--border-color)!important;color:var(--text-primary)!important;background-color:#0000!important}.card-body{color:var(--text-primary)!important;background-color:#0000!important}.table{--bs-table-bg:transparent!important;--bs-table-striped-bg:transparent!important;--bs-table-hover-bg:#e52e2e0a!important;--bs-table-color:var(--text-primary)!important;--bs-table-border-color:var(--border-color)!important;color:var(--text-primary)!important}.table>:not(caption)>*>*{color:var(--text-primary)!important;border-color:var(--border-color)!important;background-color:#0000!important}.table thead th,table thead th,.sticky-table-header{z-index:10;background-color:var(--bg-card-solid)!important;color:var(--text-primary)!important;opacity:1!important}.sticky-col,td.sticky-col,th.sticky-col,.table td.sticky-col,.table th.sticky-col,.table tbody tr td.sticky-col,.table thead tr th.sticky-col{background-color:var(--bg-card-solid)!important;background:var(--bg-card-solid)!important;opacity:1!important;isolation:isolate!important}.timetable-period-card{background:var(--bg-card);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:135px;padding:12px 14px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.timetable-period-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #00000014}.timetable-empty-card{border:1.5px dashed var(--border-color);cursor:pointer;background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:135px;transition:all .2s;display:flex}.timetable-empty-card:hover{background:#e52e2e0a;border-color:#e52e2e}.timetable-empty-card:hover .add-btn-pill{box-shadow:0 4px 12px #e52e2e4d;color:#fff!important;background:#e52e2e!important}.dropdown-menu{--bs-dropdown-bg:var(--bg-card)!important;--bs-dropdown-color:var(--text-primary)!important;--bs-dropdown-border-color:var(--border-color)!important;--bs-dropdown-link-color:var(--text-primary)!important;--bs-dropdown-link-hover-bg:#e52e2e14!important}.modal.show,.modal{z-index:99999!important;-webkit-backdrop-filter:blur(14px)!important;background:#0f172abf!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;padding:1.25rem!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.modal-backdrop,.modal-backdrop.show{z-index:99990!important;-webkit-backdrop-filter:blur(14px)!important;background:#0f172abf!important;width:100vw!important;height:100vh!important;position:fixed!important;inset:0!important}.modal-dialog{max-width:660px;pointer-events:auto!important;justify-content:center!important;align-items:center!important;width:100%!important;margin:0 auto!important;display:flex!important}.modal-dialog.modal-lg{max-width:820px!important}.modal-dialog.modal-xl{max-width:1020px!important}.modal-dialog.modal-2xl{max-width:1200px!important}.modal-dialog.modal-sm{max-width:440px!important}@media (max-width:1199px){.modal-dialog,.modal-dialog.modal-lg,.modal-dialog.modal-xl,.modal-dialog.modal-2xl{width:92vw!important;max-width:min(760px,92vw)!important;margin:0 auto!important}}.modal-content{background-color:var(--bg-card)!important;width:100%!important;color:var(--text-primary)!important;border-color:var(--border-color)!important;border-radius:20px!important;position:relative!important;overflow:hidden!important;box-shadow:0 25px 65px #0006,0 0 0 1px #ffffff14!important}.modal-header{border-bottom:1px solid var(--border-color)!important;background-color:#0000!important;justify-content:space-between!important;align-items:center!important;padding:1.25rem 1.75rem!important;display:flex!important}.modal-header .modal-title{color:var(--text-primary)!important;font-size:1.25rem!important;font-weight:800!important}.modal-body{max-height:calc(82vh - 120px)!important;padding:1.75rem!important;overflow-y:auto!important}.modal-footer{border-top:1px solid var(--border-color)!important;background-color:#0000!important;justify-content:flex-end!important;align-items:center!important;gap:.75rem!important;padding:1.1rem 1.75rem!important;display:flex!important}.alert{--bs-alert-bg:transparent!important}.form-control,.form-select{--bs-body-bg:var(--bg-input)!important;background-color:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.form-control::placeholder{opacity:.7;color:var(--text-muted)!important}.search-input-padded{padding-left:45px!important;padding-right:42px!important}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;border-color:var(--border-color)!important;transition:background-color 50000s ease-in-out!important}.main-content,.page-content{background-color:var(--bg-base)!important}input[type=date]::-webkit-calendar-picker-indicator{font-size:1.1rem;cursor:pointer!important}input[type=month]::-webkit-calendar-picker-indicator{font-size:1.1rem;cursor:pointer!important}input[type=datetime-local]::-webkit-calendar-picker-indicator{font-size:1.1rem;cursor:pointer!important}input[type=time]::-webkit-calendar-picker-indicator{font-size:1.1rem;cursor:pointer!important}@media print{html,body{color:#000!important;visibility:visible!important;background:#fff!important;height:auto!important;max-height:none!important;overflow:visible!important}.no-print,.sidebar,.topbar,.floating-action-bar{display:none!important}body:has(.printable-timetable-doc){visibility:hidden!important;height:100%!important;max-height:100vh!important;overflow:hidden!important}:is(body:has(.printable-timetable-doc) .printable-timetable-doc,body:has(.printable-timetable-doc) .printable-timetable-doc *){visibility:visible!important}.printable-timetable-doc{color:#000!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important;background:#fff!important;width:100%!important;margin:0!important;padding:4px!important;display:block!important;position:absolute!important;top:0!important;left:0!important}.printable-timetable-doc table{border-collapse:collapse!important;width:100%!important;margin-top:8px!important}.printable-timetable-doc th,.printable-timetable-doc td{text-align:center!important;color:#000!important;border:1.5px solid #000!important;padding:4px 6px!important;font-size:8.5pt!important}.printable-timetable-doc th{background-color:#f3f4f6!important;font-weight:700!important}}.printable-timetable-doc{display:none}.badge{letter-spacing:.015em;font-weight:700!important}.badge.bg-warning,.badge.text-bg-warning{color:#18181b!important}[data-theme=dark] .bg-white,[data-theme=dark] .bg-light,[data-theme=dark] .card-header.bg-white,[data-theme=dark] .card-header.bg-light,[data-theme=dark] .card.bg-white,[data-theme=dark] .card.bg-light,[data-theme=dark] .list-group-item.bg-white,[data-theme=dark] .list-group-item.bg-light{background-color:var(--bg-card-solid)!important;background:var(--bg-card-solid)!important;color:var(--text-primary)!important}[data-theme=dark] .text-dark,[data-theme=dark] .text-black,[data-theme=dark] .text-body{color:var(--text-primary)!important}[data-theme=dark] .text-muted{color:#94a3b8!important;opacity:.95!important}[data-theme=dark] .text-secondary{color:#cbd5e1!important}[data-theme=dark] th,[data-theme=dark] td{color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=dark] .table-light,[data-theme=dark] .table-light th,[data-theme=dark] .table-light td{background-color:var(--bg-header-solid)!important;color:var(--text-primary)!important}[data-theme=dark] .border,[data-theme=dark] .border-top,[data-theme=dark] .border-bottom,[data-theme=dark] .border-start,[data-theme=dark] .border-end{border-color:var(--border-color)!important}[data-theme=dark] select option{background-color:var(--bg-card-solid)!important;color:var(--text-primary)!important}[data-theme=dark] .bg-primary-subtle,[data-theme=dark] .badge.bg-primary-subtle,[data-theme=dark] .badge-primary-subtle{color:#a5b4fc!important;background-color:#6366f133!important;border:1px solid #6366f159!important}[data-theme=dark] .bg-danger-subtle,[data-theme=dark] .badge.bg-danger-subtle,[data-theme=dark] .badge-danger-subtle{color:#fca5a5!important;background-color:#ef444433!important;border:1px solid #ef444459!important}[data-theme=dark] .bg-success-subtle,[data-theme=dark] .badge.bg-success-subtle,[data-theme=dark] .badge-success-subtle{color:#6ee7b7!important;background-color:#10b98133!important;border:1px solid #10b98159!important}[data-theme=dark] .bg-warning-subtle,[data-theme=dark] .badge.bg-warning-subtle,[data-theme=dark] .badge-warning-subtle{color:#fde047!important;background-color:#f59e0b33!important;border:1px solid #f59e0b59!important}[data-theme=dark] .bg-info-subtle,[data-theme=dark] .badge.bg-info-subtle,[data-theme=dark] .badge-info-subtle{color:#7dd3fc!important;background-color:#06b6d433!important;border:1px solid #06b6d459!important}[data-theme=dark] .bg-secondary-subtle,[data-theme=dark] .badge.bg-secondary-subtle,[data-theme=dark] .badge-secondary-subtle{color:#cbd5e1!important;background-color:#94a3b82e!important;border:1px solid #94a3b847!important}[data-theme=dark] .bg-dark-subtle,[data-theme=dark] .badge.bg-dark-subtle,[data-theme=dark] .bg-light-subtle,[data-theme=dark] .badge.bg-light-subtle{color:#f1f5f9!important;background-color:#ffffff14!important;border:1px solid #ffffff29!important}[data-theme=dark] .badge.bg-primary-subtle .text-primary,[data-theme=dark] .badge.bg-primary-subtle.text-primary,[data-theme=dark] .badge.border-primary-subtle.text-primary{color:#a5b4fc!important}[data-theme=dark] .badge.bg-danger-subtle .text-danger,[data-theme=dark] .badge.bg-danger-subtle.text-danger,[data-theme=dark] .badge.border-danger-subtle.text-danger{color:#fca5a5!important}[data-theme=dark] .badge.bg-success-subtle .text-success,[data-theme=dark] .badge.bg-success-subtle.text-success,[data-theme=dark] .badge.border-success-subtle.text-success{color:#6ee7b7!important}[data-theme=dark] .badge.bg-warning-subtle .text-warning,[data-theme=dark] .badge.bg-warning-subtle.text-warning,[data-theme=dark] .badge.border-warning-subtle.text-warning{color:#fde047!important}[data-theme=dark] .badge.bg-info-subtle .text-info,[data-theme=dark] .badge.bg-info-subtle.text-info,[data-theme=dark] .badge.border-info-subtle.text-info{color:#7dd3fc!important}[data-theme=dark] .badge.bg-secondary-subtle .text-secondary,[data-theme=dark] .badge.bg-secondary-subtle.text-secondary,[data-theme=dark] .badge.border-secondary-subtle.text-secondary{color:#cbd5e1!important}[data-theme=dark] .badge.bg-dark-subtle .text-body,[data-theme=dark] .badge.bg-dark-subtle.text-body{color:#f1f5f9!important}[data-theme=dark] .badge.bg-danger.bg-opacity-10,[data-theme=dark] .badge.bg-danger.bg-opacity-15,[data-theme=dark] .badge.bg-danger.bg-opacity-20,[data-theme=dark] .badge.bg-danger.bg-opacity-25{color:#fca5a5!important;background-color:#ef444433!important;border:1px solid #ef444459!important}[data-theme=dark] .badge.bg-primary.bg-opacity-10,[data-theme=dark] .badge.bg-primary.bg-opacity-15,[data-theme=dark] .badge.bg-primary.bg-opacity-20,[data-theme=dark] .badge.bg-primary.bg-opacity-25{color:#a5b4fc!important;background-color:#6366f133!important;border:1px solid #6366f159!important}[data-theme=dark] .badge.bg-success.bg-opacity-10,[data-theme=dark] .badge.bg-success.bg-opacity-15,[data-theme=dark] .badge.bg-success.bg-opacity-20,[data-theme=dark] .badge.bg-success.bg-opacity-25{color:#6ee7b7!important;background-color:#10b98133!important;border:1px solid #10b98159!important}[data-theme=dark] .badge.bg-warning.bg-opacity-10,[data-theme=dark] .badge.bg-warning.bg-opacity-15,[data-theme=dark] .badge.bg-warning.bg-opacity-20,[data-theme=dark] .badge.bg-warning.bg-opacity-25{color:#fde047!important;background-color:#f59e0b33!important;border:1px solid #f59e0b59!important}[data-theme=dark] .badge.bg-info.bg-opacity-10,[data-theme=dark] .badge.bg-info.bg-opacity-15,[data-theme=dark] .badge.bg-info.bg-opacity-20,[data-theme=dark] .badge.bg-info.bg-opacity-25{color:#7dd3fc!important;background-color:#06b6d433!important;border:1px solid #06b6d459!important}[data-theme=dark] .badge.bg-secondary.bg-opacity-10,[data-theme=dark] .badge.bg-secondary.bg-opacity-15,[data-theme=dark] .badge.bg-secondary.bg-opacity-20,[data-theme=dark] .badge.bg-secondary.bg-opacity-25{color:#cbd5e1!important;background-color:#94a3b82e!important;border:1px solid #94a3b847!important}[data-theme=dark] .badge.bg-light,[data-theme=dark] .badge.bg-white,[data-theme=dark] .badge.text-bg-light{color:#f8fafc!important;background-color:#ffffff1a!important;border:1px solid #ffffff29!important}[data-theme=dark] .badge.bg-light.text-dark,[data-theme=dark] .badge.bg-white.text-dark{color:#f8fafc!important}[data-theme=dark] .badge.bg-light.text-danger,[data-theme=dark] .badge.bg-white.text-danger{color:#fca5a5!important}[data-theme=dark] .badge.bg-light.text-primary,[data-theme=dark] .badge.bg-white.text-primary{color:#a5b4fc!important}[data-theme=dark] .badge.bg-light.text-success,[data-theme=dark] .badge.bg-white.text-success{color:#6ee7b7!important}[data-theme=dark] .badge.bg-light.text-warning,[data-theme=dark] .badge.bg-white.text-warning{color:#fde047!important}[data-theme=dark] .badge.bg-light.text-secondary,[data-theme=dark] .badge.bg-white.text-secondary{color:#cbd5e1!important}[data-theme=dark] .badge.bg-warning,[data-theme=dark] .badge.text-bg-warning{color:#fde047!important;background-color:#f59e0b38!important;border:1px solid #f59e0b66!important}[data-theme=dark] .badge.bg-warning.text-dark,[data-theme=dark] .badge.bg-warning .text-dark{color:#fde047!important}[data-theme=dark] .role-badge{color:#fca5a5!important;background:#ef444433!important;border-color:#ef444459!important}[data-theme=dark] .status-badge.active{color:#6ee7b7!important;background:#10b98133!important;border-color:#10b98159!important}[data-theme=dark] .status-badge.inactive,[data-theme=dark] .perm-tag.create{color:#fca5a5!important;background:#ef444433!important;border-color:#ef444459!important}[data-theme=dark] .perm-tag.read{color:#6ee7b7!important;background:#10b98133!important;border-color:#10b98159!important}[data-theme=dark] .perm-tag.update{color:#fde047!important;background:#f59e0b33!important;border-color:#f59e0b59!important}[data-theme=dark] .perm-tag.delete{color:#fca5a5!important;background:#ef444433!important;border-color:#ef444459!important}[data-theme=dark] .btn-light{color:#f1f5f9!important;background-color:#ffffff14!important;border-color:#ffffff24!important}[data-theme=dark] .btn-light:hover{color:#fff!important;background-color:#ffffff26!important;border-color:#ffffff38!important}[data-theme=dark] .btn-light.text-secondary,[data-theme=dark] .btn-light .text-secondary,[data-theme=dark] .btn-light.text-muted,[data-theme=dark] .btn-light .text-muted{color:#cbd5e1!important}[data-theme=dark] .btn-light.text-dark,[data-theme=dark] .btn-light .text-dark{color:#f8fafc!important}[data-theme=dark] .btn-light.text-danger,[data-theme=dark] .btn-light .text-danger{color:#fca5a5!important}[data-theme=dark] .btn-light.text-primary,[data-theme=dark] .btn-light .text-primary{color:#a5b4fc!important}[data-theme=dark] .btn-light.text-success,[data-theme=dark] .btn-light .text-success{color:#6ee7b7!important}[data-theme=dark] .btn-light.text-warning,[data-theme=dark] .btn-light .text-warning{color:#fde047!important}[data-theme=dark] .btn-group .btn-light,[data-theme=dark] .btn-group .bg-light{color:#cbd5e1!important;background-color:#0000!important}[data-theme=dark] .btn-close{filter:invert()grayscale()brightness(200%)!important}[data-theme=dark] .breadcrumb-item,[data-theme=dark] .breadcrumb-item a,[data-theme=dark] .breadcrumb-item.active{color:#cbd5e1!important}.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,iframe.goog-te-banner-frame,iframe.skiptranslate,.VIpgJd-ZJuEfc-rJu-mthxld,#goog-gt-tt,#goog-gt-vt,.goog-te-balloon-frame,.goog-te-spinner-pos,.goog-tooltip,.goog-tooltip:hover,div.skiptranslate{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important}body{margin-top:0!important;position:static!important;top:0!important}.goog-te-gadget{display:none!important}.goog-text-highlight{box-shadow:none!important;background-color:#0000!important}input[type=date],input[type=month],input[type=datetime-local],input[type=time]{cursor:pointer!important}input[type=date]::-webkit-calendar-picker-indicator{padding:4px;cursor:pointer!important}input[type=month]::-webkit-calendar-picker-indicator{padding:4px;cursor:pointer!important}input[type=datetime-local]::-webkit-calendar-picker-indicator{padding:4px;cursor:pointer!important}input[type=time]::-webkit-calendar-picker-indicator{padding:4px;cursor:pointer!important}.public-nav-bar{padding:.75rem 1.5rem}.public-nav-cta{padding:.6rem 1.35rem}.public-nav-name{font-size:1.08rem}.landing-hero{padding-top:5rem;padding-bottom:5.5rem}.landing-section{padding-top:5.5rem;padding-bottom:5.5rem}.landing-hero-title{font-size:3.1rem}.landing-h2{font-size:2.3rem}@media (max-width:991.98px){.landing-hero{padding-top:3rem;padding-bottom:4rem}.landing-section{padding-top:4rem;padding-bottom:4rem}.landing-hero-title{font-size:2.5rem}.landing-h2{font-size:2rem}}@media (max-width:575.98px){:root{--public-nav-top:10px;--public-nav-offset:76px}.public-nav-bar,.public-nav-cta{padding:.5rem .75rem}.public-nav-name{font-size:.95rem}.landing-hero{padding-top:1.5rem;padding-bottom:3rem}.landing-section{padding-top:3rem;padding-bottom:3rem}.landing-hero-title{font-size:2rem}.landing-h2{font-size:1.6rem}}@media (max-width:374.98px){.public-nav-theme{display:none!important}}
