@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap);:root{--nav-bg:#051a0df2;--nav-bg-solid:#051a0d;--accent-emerald:#10b981;--accent-glow:#10b98159;--text-main:#f8fafc;--text-muted:#94a3b8;--glass:blur(14px) saturate(180%)}.modern-nav{background:#051a0d;background:var(--nav-bg-solid);border-bottom:1px solid #10b9811f;display:flex;flex-direction:column;height:66px;justify-content:center;left:0;padding:0 2rem;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.modern-nav.scrolled{backdrop-filter:blur(14px) saturate(180%);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:var(--glass);background:#051a0df2;background:var(--nav-bg);border-bottom:1px solid #10b98133;box-shadow:0 4px 24px #0006;height:60px}.nav-container{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:160px 1fr 200px;margin:0 auto;max-width:1400px;width:100%}.brand-logo{gap:10px;text-decoration:none}.brand-logo,.logo-square{align-items:center;display:flex}.logo-square{background:#0000;border-radius:9px;box-shadow:0 6px 14px -4px #10b98159;box-shadow:0 6px 14px -4px var(--accent-glow);flex-shrink:0;height:36px;justify-content:center;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);width:36px}.logo-square img{height:100%;object-fit:cover;width:100%}.brand-text{color:#f8fafc;color:var(--text-main);font-size:1.1rem;font-weight:700;letter-spacing:2px;transition:color .3s ease}.brand-logo:hover .logo-square{box-shadow:0 8px 20px -4px #10b98159;box-shadow:0 8px 20px -4px var(--accent-glow);transform:translateY(-2px) scale(1.05)}.brand-logo:hover .brand-text{color:#10b981;color:var(--accent-emerald)}.nav-links-section{overflow:visible}.nav-links-section,.nav-menu{display:flex;justify-content:center}.nav-menu{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:13px;gap:3px;padding:4px}.nav-link{align-items:center;background:none;border:none;border-radius:9px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.84rem;font-weight:500;gap:6px;padding:6px 12px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:#10b9811a;color:#f8fafc;color:var(--text-main)}.nav-link.active{background:#10b98124;color:#10b981;color:var(--accent-emerald)}.dropdown-wrapper{position:relative}.chevron{flex-shrink:0;transition:transform .22s ease}.chevron.open{transform:rotate(180deg)}.dropdown-menu{animation:dropIn .18s ease;background:#0d2b18;border:1px solid #10b9812e;border-radius:12px;box-shadow:0 12px 32px #00000080,0 0 0 1px #10b98114;display:flex;flex-direction:column;gap:2px;left:50%;min-width:180px;padding:6px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);z-index:100}@keyframes dropIn{0%{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dropdown-item{align-items:center;border-radius:8px;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:8px 12px;text-decoration:none;transition:all .18s ease}.dropdown-item:hover{background:#10b9811a;color:#f8fafc;color:var(--text-main)}.dropdown-item.active{background:#10b98124;color:#10b981;color:var(--accent-emerald)}.nav-user-section{align-items:center;display:flex;justify-content:flex-end}.user-profile-zone{align-items:center;display:flex;gap:8px}.profile-trigger{align-items:center;border-radius:10px;display:flex;gap:9px;padding:4px 8px;text-decoration:none;transition:background .2s}.profile-trigger:hover{background:#ffffff0f}.modern-nav .avatar-wrapper{align-items:center;background:#1e293b;border:2px solid #10b981;border:2px solid var(--accent-emerald);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:28px;justify-content:center;position:relative;width:28px}.modern-nav .status-indicator{background:#22c55e;border:2px solid #051a0d;border:2px solid var(--nav-bg-solid);border-radius:50%;bottom:-1px;height:7px;position:absolute;right:-1px;width:7px}.user-meta{display:flex;flex-direction:column;line-height:1.25}.username{color:#f8fafc;color:var(--text-main);font-size:.83rem;font-weight:600}.role-badge{color:#10b981;color:var(--accent-emerald);font-size:.67rem;letter-spacing:.6px}.icon-logout-btn{align-items:center;background:#ef44441a;border:1px solid #ef44442e;border-radius:8px;color:#f87171;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.icon-logout-btn:hover{background:#ef4444;border-color:#ef4444;box-shadow:0 4px 12px #ef444459;color:#fff}.login-cta{background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;box-shadow:0 4px 12px #10b98159;box-shadow:0 4px 12px var(--accent-glow);color:#fff;font-size:.88rem;font-weight:600;padding:7px 18px;text-decoration:none;transition:all .2s}.login-cta:hover{box-shadow:0 6px 18px #10b98159;box-shadow:0 6px 18px var(--accent-glow);opacity:.88}.mobile-menu-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;color:#f8fafc;color:var(--text-main);cursor:pointer;display:none;justify-content:center;padding:6px;transition:background .2s}.mobile-menu-btn:hover{background:#10b98126}.mobile-nav-menu{background:#051a0d;background:var(--nav-bg-solid);border-top:1px solid #10b9811f;display:none;flex-direction:column;gap:3px;padding:10px 1rem 14px}.mobile-nav-menu .nav-link{align-items:center;border-radius:9px;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.9rem;font-weight:500;gap:9px;padding:9px 14px;text-decoration:none}.mobile-section-label{color:#4b5563;font-size:.72rem;font-weight:600;letter-spacing:1px;padding:10px 14px 4px;text-transform:uppercase}@media (max-width:1100px){.nav-menu .nav-link span{display:none}.nav-menu .nav-link{padding:6px 9px}.user-meta{display:none}.dropdown-menu{left:auto;right:0;transform:none}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:768px){.modern-nav{height:auto;min-height:58px;padding:0 1rem}.nav-container{grid-template-columns:1fr auto;padding:10px 0}.nav-links-section{display:none}.mobile-menu-btn,.mobile-nav-menu{display:flex}.user-meta{display:none}.profile-trigger{padding:4px}}.home-page{align-items:center;background:#0000;color:#fff;display:flex;font-family:Outfit,sans-serif;justify-content:center;min-height:calc(100vh - 5rem);overflow:hidden;position:relative;width:100%}.home-page:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 28px,#10b9810f 0,#10b9810f 29px),repeating-linear-gradient(60deg,#0000,#0000 28px,#10b9810f 0,#10b9810f 29px),repeating-linear-gradient(120deg,#0000,#0000 28px,#10b9810f 0,#10b9810f 29px);border-radius:50%;content:"";height:400px;left:-80px;mask-image:radial-gradient(circle,#fff 30%,#0000 75%);-webkit-mask-image:radial-gradient(circle,#fff 30%,#0000 75%);pointer-events:none;position:absolute;top:-80px;width:400px;z-index:0}.home-container{align-items:center;animation:scaleIn .7s cubic-bezier(.16,1,.3,1);background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;gap:0;max-width:900px;position:relative;text-align:center;width:100%;z-index:1}@keyframes scaleIn{0%{opacity:0;transform:scale(.97) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.hero-section{align-items:center;background:#0000;border:none;display:flex;flex-direction:column;padding:1.5rem 1rem 2.5rem}.brand-badge{background:#052816e6;border:1px solid #10b98159;border-radius:9999px;box-shadow:0 0 20px #10b9811a;color:#6ee7b7;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.2em;margin-bottom:1.25rem;padding:.4rem 1.4rem;text-transform:uppercase}.home-title{-webkit-text-fill-color:#fff;animation:none;background:none;-webkit-background-clip:unset;background-clip:initial;color:#fff;font-size:3.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:1.1rem}.home-title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#6ee7b7);-webkit-background-clip:text;background-clip:text}.home-subtitle{color:#ffffff80;font-size:1.05rem;font-weight:400;line-height:1.7;margin:0 auto;max-width:520px}.content-section{padding:0 0 1.5rem;width:100%}.user-welcome-card{background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:1.5rem;padding:0}.avatar-placeholder,.user-info{display:none}.section-header{margin-bottom:1rem}.section-label{color:#6ee7b799;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dashboard-grid{display:flex;flex-direction:column;gap:.75rem}.quick-links-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:680px}.quick-link-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051a0dcc;border:1px solid #10b9811a;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:center;overflow:hidden;padding:1.75rem 1rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.quick-link-card:before{background:radial-gradient(circle at 50% 40%,#10b9811a,#0000 70%);border-radius:18px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.quick-link-card:hover{background:#082413f2;border-color:#10b9814d;box-shadow:0 16px 40px #00000073,0 0 18px #10b9811a;transform:translateY(-6px)}.quick-link-card:hover:before{opacity:1}.link-icon{align-items:center;background:#10b9811a;border:1px solid #10b9811f;border-radius:16px;display:flex;font-size:2.2rem;height:60px;justify-content:center;position:relative;transition:all .3s ease;width:60px;z-index:1}.quick-link-card:hover .link-icon{background:#10b9812e;border-color:#10b9814d;box-shadow:0 6px 18px #10b9812e;transform:scale(1.08)}.link-label{color:#ffffffd9;font-size:.9rem;font-weight:600;letter-spacing:.01em;position:relative;z-index:1}.login-message{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a201680;border:1px dashed #10b98133;border-radius:24px;display:flex;flex-direction:column;gap:1.5rem;padding:4rem 2rem;text-align:center}.login-message p{color:#ffffff73;font-size:1.2rem;font-weight:500}.login-btn{background:linear-gradient(135deg,#10b981,#0d9488);border-radius:12px;box-shadow:0 8px 22px #10b98159;display:inline-block;font-size:.95rem;padding:.9rem 2.2rem;text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.login-btn:hover{box-shadow:0 14px 32px #10b98173;transform:translateY(-3px) scale(1.02)}.non-admin-message{background:#051a0d80;border:1px solid #10b9811f;border-radius:18px;color:#ffffff8c;font-size:1rem;padding:2rem;text-align:center}@media (max-width:700px){.home-title{font-size:2.4rem}.quick-links-container{gap:.75rem;grid-template-columns:repeat(2,1fr)}.quick-link-card{padding:1.4rem .75rem 1.2rem}.link-icon{font-size:1.8rem;height:50px;width:50px}}@media (max-width:480px){.quick-links-container{grid-template-columns:repeat(2,1fr)}.home-title{font-size:2rem}}.login-container{align-items:center;background:radial-gradient(circle at 20% 30%,#10b9811a 0,#0000 50%),radial-gradient(circle at 80% 70%,#0d94881a 0,#0000 50%),#020c07;display:flex;flex-direction:column;font-family:Outfit,sans-serif;justify-content:center;left:0;min-height:100vh;position:fixed;top:0;width:100%;z-index:1050}.login-container:before{animation:ringPulse 6s ease-in-out infinite;border:1px solid #10b98114;border-radius:50%;height:500px;width:500px}.login-container:after,.login-container:before{content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.login-container:after{animation:ringPulse 6s ease-in-out 1.5s infinite;border:1px solid #10b9810a;border-radius:50%;height:700px;width:700px}@keyframes ringPulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.login-navbar{justify-content:space-between;left:0;padding:1.5rem 3rem;position:absolute;top:0;width:100%;z-index:1100}.login-navbar,.navbar-logo{align-items:center;display:flex}.navbar-logo{color:var(--text-main);font-size:1.5rem;font-weight:800;gap:.75rem}.navbar-logo .logo-icon{align-items:center;background:var(--primary-gradient);border-radius:8px;box-shadow:0 4px 14px #10b98166;color:#fff;display:flex;font-size:1.1rem;height:34px;justify-content:center;width:34px}.navbar-links{display:flex;gap:2rem}.navbar-links a{color:var(--text-light);font-size:.95rem;font-weight:600;position:relative;text-decoration:none;transition:all .3s ease}.navbar-links a:after{background:var(--primary);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-links a:hover{color:var(--primary)}.navbar-links a:hover:after{width:100%}.login-card{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:#10b9810d;border:1px solid #10b98133;border-radius:28px;box-shadow:0 30px 60px #00000080,inset 0 1px 0 #10b98126,0 0 0 1px #10b9810f;max-width:440px;overflow:hidden;padding:3.5rem;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%;z-index:1}.login-card:before{background:linear-gradient(90deg,#0000,#10b981,#14b8a6,#0000);content:"";height:2px;left:10%;position:absolute;right:10%;top:0}.login-card:hover{box-shadow:0 40px 70px #0000008c,0 0 30px #10b9811a;transform:translateY(-6px)}.login-card h1{font-size:2.4rem;font-weight:800;margin-bottom:.5rem;text-align:center}.subtitle{color:var(--text-light);font-size:1rem;margin-bottom:2.5rem;text-align:center}.error-message{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background:#ef44441a;border-left:3px solid #ef4444;color:#f87171;font-size:.9rem;padding:1rem}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.form-group label{color:var(--text-light);letter-spacing:.08em;margin-bottom:.6rem}.form-group input{background:#10b9810a;border:1px solid #10b98133;border-radius:14px;box-sizing:border-box;color:var(--text-main);font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.form-group input:focus{background:#10b98114;border-color:var(--primary);box-shadow:0 0 0 4px #10b98126;outline:none}.login-btn{background:var(--primary-gradient);border:none;border-radius:14px;box-shadow:0 10px 25px #10b98159;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.02em;margin-top:1rem;padding:1.1rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-btn:hover:not(:disabled){box-shadow:0 16px 35px #10b98173;transform:translateY(-3px)}.login-btn:disabled{background:#1a2e22;box-shadow:none;color:#4b7a5c;cursor:not-allowed}.demo-info{border-top:1px solid #10b98126;color:var(--text-light);font-size:.85rem;margin-top:2rem;padding-top:1.5rem;text-align:center}@media (max-width:480px){.login-card{padding:2rem;width:92%}.login-card h1{font-size:2rem}}.confirm-overlay{align-items:center;animation:overlayFadeIn .18s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:99999}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-box{animation:boxSlideUp .22s cubic-bezier(.16,1,.3,1);background:#0b2318;border:1px solid #10b98140;border-radius:20px;box-shadow:0 24px 60px #0000008c,0 0 0 1px #10b9811a,inset 0 1px 0 #10b9811f;max-width:380px;overflow:hidden;padding:2rem 2rem 1.75rem;position:relative;width:100%}@keyframes boxSlideUp{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-box:before{background:linear-gradient(90deg,#0000,#ef4444,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.confirm-icon{align-items:center;background:#ef44441a;border:1px solid #ef444440;border-radius:50%;display:flex;font-size:1.5rem;height:52px;justify-content:center;margin:0 auto 1.25rem;width:52px}.confirm-title{color:#f1f5f9;font-size:1.15rem;font-weight:800;margin:0 0 .5rem}.confirm-message,.confirm-title{font-family:Outfit,sans-serif;text-align:center}.confirm-message{color:#94a3b8;font-size:.9rem;line-height:1.55;margin:0 0 1.75rem}.confirm-actions{display:flex;gap:.75rem}.confirm-cancel-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#94a3b8;cursor:pointer;flex:1 1;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;padding:.72rem 1rem;transition:all .2s ease}.confirm-cancel-btn:hover{background:#ffffff1a;border-color:#ffffff2e;color:#e2e8f0}.confirm-delete-btn{background:#ef444426;border:1px solid #ef444459;border-radius:12px;box-shadow:0 4px 14px #ef44441f;color:#f87171;cursor:pointer;flex:1 1;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;padding:.72rem 1rem;transition:all .2s ease}.confirm-delete-btn:hover{background:#dc26264d;border-color:#ef44448c;box-shadow:0 6px 20px #ef444440;color:#fecaca;transform:translateY(-1px)}.department-page{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1200px;padding:3rem 2rem}.department-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.department-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.department-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:600px;padding:2.5rem}.form-group-item input::placeholder,.form-group-item select option{color:#4b7a65}.department-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.department-table{border-collapse:collapse;white-space:nowrap;width:100%}.department-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.department-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.department-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.department-table tbody tr:last-child td{border-bottom:none}.department-table tbody tr:hover{background:#10b98112}.department-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width:768px){.department-page{padding:1rem}.department-page-header{flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.department-page-header{margin-bottom:0!important;order:1;width:100%}.department-form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-bottom:0!important;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}.department-form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.department-form-card .form-group,.department-form-card .form-group-item{margin-bottom:1rem!important}.department-form-card input,.department-form-card select,.department-form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.department-form-card input::placeholder,.department-form-card textarea::placeholder{color:#94a3b8!important}.department-form-card input:focus,.department-form-card select:focus,.department-form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.department-form-card .btn-primary,.department-form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.department-form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.department-table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.department-form-card{order:3;width:100%!important}.department-table-card{order:4}}.programme-page{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1200px;padding:3rem 2rem}.programme-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.programme-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.programme-form-card{animation:slideDown .4s ease-out;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:600px;padding:2.5rem}.programme-form-card,.programme-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf}.programme-table-card{border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.programme-table{border-collapse:collapse;white-space:nowrap;width:100%}.programme-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.programme-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.programme-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.programme-table tbody tr:last-child td{border-bottom:none}.programme-table tbody tr:hover{background:#10b98112}.programme-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width:768px){.programme-page{padding:1rem}.programme-page-header{flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.programme-page-header{margin-bottom:0!important;order:1;width:100%}.programme-form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-bottom:0!important;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}.programme-form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.programme-form-card .form-group,.programme-form-card .form-group-item{margin-bottom:1rem!important}.programme-form-card input,.programme-form-card select,.programme-form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.programme-form-card input::placeholder,.programme-form-card textarea::placeholder{color:#94a3b8!important}.programme-form-card input:focus,.programme-form-card select:focus,.programme-form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.programme-form-card .btn-primary,.programme-form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.programme-form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.programme-table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.programme-form-card{order:3;width:100%!important}.programme-table-card{order:4}}.page-container{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1200px;padding:3rem 2rem}.page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.btn-primary{align-items:center;background:linear-gradient(135deg,#10b981,#0d9488);display:inline-flex;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;gap:.5rem;padding:.8rem 1.6rem}.btn-primary:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 24px #10b98173}.btn-primary:active{transform:translateY(0)}.error-message{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7f1d1d80;border:1px solid #ef444459;border-radius:12px;box-shadow:0 4px 14px #ef444426;color:#fca5a5;display:flex;font-weight:600;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:600px;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#6ee7b7;display:block;font-size:.8rem;font-weight:700;letter-spacing:.07em;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background-color:#02140a99;border:1px solid #10b98140;border-radius:12px;box-sizing:border-box;color:#d1fae5;font-family:Outfit,sans-serif;font-size:.95rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.form-group input::placeholder{color:#4b7a65}.form-group select option{background-color:#051a0d;color:#d1fae5}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:#02140ad9;border-color:#10b981;box-shadow:0 0 0 4px #10b98126;outline:none;transform:translateY(-1px)}.form-group textarea{min-height:120px;resize:vertical}.table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f}.table-responsive{overflow-x:auto;width:100%}.data-table{border-collapse:collapse;white-space:nowrap;width:100%}.data-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.data-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#10b98112}.text-muted{color:#4b7a65}.action-buttons{gap:.75rem}.btn-delete,.btn-edit{border:none;border-radius:8px;cursor:pointer;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;transition:all .2s ease}.btn-edit{background:#10b98126;border:1px solid #10b9814d;color:#6ee7b7}.btn-edit:hover{background:#10b98147;box-shadow:0 4px 12px #10b98133;color:#d1fae5;transform:translateY(-1px)}.btn-delete{background:#7f1d1d66;border:1px solid #ef444459;color:#fca5a5}.btn-delete:hover{background:#b91c1c8c;box-shadow:0 4px 12px #ef444440;color:#fecaca;transform:translateY(-1px)}@media (max-width:768px){.page-container{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.page-header h1{font-size:1.5rem}.btn-primary{justify-content:center;width:100%}.data-table td,.data-table th{padding:.9rem 1rem}}.page-header{order:1;width:100%}.form-card,.page-header{margin-bottom:0!important}.form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}.form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.form-card .form-group,.form-card .form-group-item{margin-bottom:1rem!important}.form-card input,.form-card select,.form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.form-card input::placeholder,.form-card textarea::placeholder{color:#94a3b8!important}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.form-card .btn-primary,.form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.form-card{order:3;width:100%!important}.table-card{order:4}}.room-page{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1400px;padding:3rem 2rem}.room-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.room-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.room-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:800px;padding:2.5rem}.form-group-item{margin-bottom:0}.form-group-item input,.form-group-item select,.form-group-item textarea{background-color:#02140a99;border:1px solid #10b98140;border-radius:12px;box-sizing:border-box;color:#d1fae5;font-family:Outfit,sans-serif;font-size:.95rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item input:focus,.form-group-item select:focus,.form-group-item textarea:focus{background-color:#02140ad9;border-color:#10b981;box-shadow:0 0 0 4px #10b98126;outline:none;transform:translateY(-1px)}.form-group-item textarea{min-height:100px}.room-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.room-table{border-collapse:collapse;white-space:nowrap;width:100%}.room-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.room-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.room-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.room-table tbody tr:last-child td{border-bottom:none}.room-table tbody tr:hover{background:#10b98112}.room-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width:768px){.room-page{padding:1rem}.room-page-header{flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}.form-grid-2{gap:0;grid-template-columns:1fr}}.room-page-header{margin-bottom:0!important;order:1;width:100%}.room-form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-bottom:0!important;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}.room-form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.room-form-card .form-group,.room-form-card .form-group-item{margin-bottom:1rem!important}.room-form-card input,.room-form-card select,.room-form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.room-form-card input::placeholder,.room-form-card textarea::placeholder{color:#94a3b8!important}.room-form-card input:focus,.room-form-card select:focus,.room-form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.room-form-card .btn-primary,.room-form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.room-form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.room-table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.room-form-card{order:3;width:100%!important}.room-table-card{order:4}}.role-page{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1200px;padding:3rem 2rem}.role-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.role-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.role-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:600px;padding:2.5rem}.form-group-item input,.form-group-item textarea{background-color:#02140a99;border:1px solid #10b98140;border-radius:12px;box-sizing:border-box;color:#d1fae5;font-family:Outfit,sans-serif;font-size:.95rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item input::placeholder,.form-group-item textarea::placeholder{color:#4b7a65}.form-group-item input:focus,.form-group-item textarea:focus{background-color:#02140ad9;border-color:#10b981;box-shadow:0 0 0 4px #10b98126;outline:none;transform:translateY(-1px)}.form-group-item textarea{min-height:120px;resize:vertical}.role-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.role-table{border-collapse:collapse;white-space:nowrap;width:100%}.role-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.role-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.role-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.role-table tbody tr:last-child td{border-bottom:none}.role-table tbody tr:hover{background:#10b98112}.role-actions{display:flex;gap:.75rem;justify-content:flex-end}.permissions-checkbox-group{display:flex;flex-direction:column;gap:.55rem;padding:.6rem .2rem}.permission-checkbox-label{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:.6rem;transition:color .15s;-webkit-user-select:none;user-select:none}.permission-checkbox-label:hover{color:#10b981}.permission-checkbox{accent-color:#10b981;border-radius:4px;cursor:pointer;flex-shrink:0;height:16px;width:16px}.permission-checkbox-text{letter-spacing:.02em}.permissions-display{display:flex;flex-direction:column;gap:.35rem;white-space:nowrap}.perm-check-item{align-items:center;border-radius:6px;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.22rem .7rem}.perm-check-icon{font-size:.75rem;font-weight:800;line-height:1}.perm-check-item.perm-granted{background:#10b9811f;border:1px solid #10b98140;color:#34d399}.perm-check-item.perm-denied{background:#94a3b80f;border:1px solid #94a3b81f;color:#94a3b873}@media (max-width:768px){.role-page{padding:1rem}.role-page-header{flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.role-page-header{margin-bottom:0!important;order:1;width:100%}.role-form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-bottom:0!important;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}.role-form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.role-form-card .form-group,.role-form-card .form-group-item{margin-bottom:1rem!important}.role-form-card input,.role-form-card select,.role-form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.role-form-card input::placeholder,.role-form-card textarea::placeholder{color:#94a3b8!important}.role-form-card input:focus,.role-form-card select:focus,.role-form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.role-form-card .btn-primary,.role-form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.role-form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.role-table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.role-form-card{order:3;width:100%!important}.role-table-card{order:4}}.user-page{align-items:flex-start;animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;display:flex;flex-wrap:wrap;font-family:Outfit,system-ui,-apple-system,sans-serif;gap:2rem;margin:0 auto;max-width:1400px;padding:3rem 2rem}.user-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.user-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.primary-action-btn{align-items:center;background:linear-gradient(135deg,#10b981,#0d9488);border:none;border-radius:12px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;gap:.5rem;padding:.8rem 1.6rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.primary-action-btn:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 24px #10b98173;transform:translateY(-2px)}.user-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;margin-right:auto;max-width:800px;padding:2.5rem}.form-grid-2{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-group-item{margin-bottom:1.5rem}.form-group-item label{color:#6ee7b7;display:block;font-size:.8rem;font-weight:700;letter-spacing:.07em;margin-bottom:.5rem;text-transform:uppercase}.form-group-item input,.form-group-item select{background-color:#02140a99;border:1px solid #10b98140;border-radius:12px;box-sizing:border-box;color:#d1fae5;font-family:Outfit,sans-serif;font-size:.95rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item input::placeholder{color:#4b7a65}.form-group-item select option{background-color:#051a0d;color:#d1fae5}.form-group-item input:focus,.form-group-item select:focus{background-color:#02140ad9;border-color:#10b981;box-shadow:0 0 0 4px #10b98126;outline:none;transform:translateY(-1px)}.user-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.user-table{border-collapse:collapse;white-space:nowrap;width:100%}.user-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.user-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.user-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.user-table tbody tr:last-child td{border-bottom:none}.user-table tbody tr:hover{background:#10b98112}.user-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-action-btn,.edit-action-btn{border:none;border-radius:8px;cursor:pointer;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;transition:all .2s ease}.edit-action-btn{background:#10b98126;border:1px solid #10b9814d;color:#6ee7b7}.edit-action-btn:hover{background:#10b98147;box-shadow:0 4px 12px #10b98133;color:#d1fae5;transform:translateY(-1px)}.delete-action-btn{background:#7f1d1d66;border:1px solid #ef444459;color:#fca5a5}.delete-action-btn:hover{background:#b91c1c8c;box-shadow:0 4px 12px #ef444440;color:#fecaca;transform:translateY(-1px)}.role-badge{background:#10b9811f;border:1px solid #10b98140;border-radius:9999px;color:#6ee7b7;display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.05em;padding:.3rem .8rem;text-transform:uppercase}.role-badge.superadmin{background:#f59e0b26;border-color:#f59e0b59;color:#fcd34d}.role-badge.electrician,.role-badge.networking,.role-badge.plumber{background:#14b8a626;border-color:#14b8a64d;color:#5eead4}@media (max-width:768px){.user-page{padding:1rem}.user-page-header{flex-direction:column;gap:1.2rem;padding:1.25rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}.form-grid-2{gap:0;grid-template-columns:1fr}}.user-page-header{margin-bottom:0!important;order:1;width:100%}.error-banner,.error-message{order:2;width:100%}.user-form-card{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important;border:1px solid #fff3!important;border-radius:12px!important;box-shadow:0 10px 40px #0000004d!important;color:#0f172a!important;flex-shrink:0;margin-bottom:0!important;margin-left:auto;order:4;padding:1.5rem 1.2rem!important;width:320px!important}@keyframes slideLeft{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.user-form-card label{color:#334155!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em!important}.user-form-card .form-group,.user-form-card .form-group-item{margin-bottom:1rem!important}.user-form-card input,.user-form-card select,.user-form-card textarea{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;box-shadow:inset 0 1px 2px #0000000d!important;color:#0f172a!important;font-size:.85rem!important;padding:.6rem .8rem!important}.user-form-card input::placeholder,.user-form-card textarea::placeholder{color:#94a3b8!important}.user-form-card input:focus,.user-form-card select:focus,.user-form-card textarea:focus{background-color:#fff!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.user-form-card .btn-primary,.user-form-card .primary-action-btn{font-size:.85rem!important;justify-content:center!important;margin-top:.5rem!important;padding:.7rem 1rem!important;width:100%!important}.user-form-card .form-grid-2{display:block!important;gap:0!important;grid-template-columns:1fr!important}.user-table-card{flex:1 1;margin-bottom:2rem;min-width:300px;order:3}@media (max-width:900px){.user-form-card{order:3;width:100%!important}.user-table-card{order:4}}.complaint-form-page{animation:pageFadeIn .7s cubic-bezier(.16,1,.3,1);color:var(--text-main);font-family:Outfit,sans-serif;margin:4rem auto;max-width:860px;padding:0 1.5rem}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.complaint-form-header{margin-bottom:3rem;text-align:center}.complaint-form-header h2{font-size:2.5rem;font-weight:800;margin-bottom:.75rem}.form-subtitle{color:var(--text-light);font-size:1.05rem;font-weight:500}.complaint-card{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#10b9810a;border:1px solid var(--glass-border);border-radius:28px;box-shadow:0 20px 50px #0006,inset 0 1px 0 #10b9811f;overflow:hidden;padding:3.5rem;position:relative}.complaint-card:before{background:var(--primary-gradient);content:"";height:3px;left:0;position:absolute;top:0;width:100%}.complaint-card:after{background:radial-gradient(circle,#10b98114 0,#0000 70%);content:"";height:200px;pointer-events:none;position:absolute;right:-80px;top:-80px;width:200px}.form-grid-layout{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:.6rem}.form-field.full-width{grid-column:1/-1}.form-field label{color:var(--text-light);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{background:#10b9810a;border:1px solid #10b9812e;border-radius:14px;box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.95rem;padding:.95rem 1.2rem;transition:all .3s ease;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:#10b98112;border-color:var(--primary);box-shadow:0 0 0 4px #10b9811f;outline:none;transform:translateY(-1px)}.form-field input:disabled,.form-field select:disabled{background:#10b98105;cursor:not-allowed;opacity:.5}.form-field textarea{min-height:140px;resize:vertical}.file-input-wrapper{background:#10b98108;border:2px dashed #10b98140;border-radius:18px;cursor:pointer;padding:2.5rem;position:relative;text-align:center;transition:all .3s ease}.file-input-wrapper:hover{background:#10b98112;border-color:var(--primary);box-shadow:0 8px 20px #10b9811a;transform:translateY(-3px)}.file-input-wrapper input[type=file]{cursor:pointer;inset:0;opacity:0;position:absolute}.file-input-label{color:var(--text-light);font-size:.95rem;font-weight:600}.submit-btn{background:var(--primary-gradient);border:none;border-radius:14px;box-shadow:0 10px 25px #10b98159;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.02em;margin-top:2rem;padding:1.1rem 2rem;transition:all .35s cubic-bezier(.175,.885,.32,1.275);width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 16px 35px #10b98173;transform:translateY(-3px)}.submit-btn:disabled{background:#1a2e22;box-shadow:none;color:#4b7a5c;cursor:not-allowed}.error-alert{align-items:center;background:#ef444414;border:1px solid #ef44442e;border-radius:14px;color:#f87171;display:flex;font-size:.9rem;font-weight:700;gap:.85rem;margin-bottom:2rem;padding:1.1rem 1.75rem}@media (max-width:640px){.complaint-form-page{margin:2rem auto}.form-grid-layout{gap:1.25rem;grid-template-columns:1fr}.complaint-card{padding:2rem 1.5rem}.complaint-form-header h2{font-size:2rem}}.complaints-dashboard{animation:fadeIn .7s cubic-bezier(.16,1,.3,1);color:var(--text-main);font-family:Outfit,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}.dashboard-header{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 10px 30px #0000004d,inset 0 1px 0 #10b98126;display:flex;justify-content:space-between;margin-bottom:3rem;padding:2rem 2.5rem}.dashboard-header h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:3rem}.stat-card{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;cursor:default;justify-content:center;overflow:hidden;padding:2rem 1.75rem;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.stat-card:after{background:var(--primary-gradient);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.stat-card:hover{transform:translateY(-6px)}.stat-card:hover:after{transform:scaleX(1)}.stat-card.total .stat-value{color:#e2e8f0;text-shadow:0 0 15px #e2e8f04d}.stat-card.total:hover{border-color:#e2e8f066;box-shadow:0 16px 40px #00000059,0 0 30px #e2e8f033}.stat-card.pending .stat-value{color:#fcd34d;text-shadow:0 0 15px #ffc50666}.stat-card.pending:hover{border-color:#fcd34d66;box-shadow:0 16px 40px #00000059,0 0 30px #fcd34d33}.stat-card.assigned .stat-value{color:#a78bfa;text-shadow:0 0 15px #a78bfa66}.stat-card.assigned:hover{border-color:#a78bfa66;box-shadow:0 16px 40px #00000059,0 0 30px #a78bfa33}.stat-card.completed .stat-value{color:#34d399;text-shadow:0 0 15px #34d39966}.stat-card.completed:hover{border-color:#34d39966;box-shadow:0 16px 40px #00000059,0 0 30px #34d39933}.stat-value{font-size:3rem;margin-bottom:.75rem}.stat-label{font-size:.85rem;letter-spacing:.1em}.dashboard-table-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#10b9810a;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 10px 40px #0000004d;overflow:hidden;padding:1.5rem}.table-card-inner{border-radius:16px;overflow:hidden}.complaints-table{border-collapse:collapse;white-space:nowrap;width:100%}.complaints-table thead{background:#10b98114}.complaints-table th{border-bottom:2px solid #10b98133;color:#e2e8f0;font-size:.78rem;font-weight:700;letter-spacing:.12em;padding:1.25rem 1.75rem;text-align:left;text-transform:uppercase}.complaints-table td{border-bottom:1px solid #10b98114;color:var(--text-main);font-size:.95rem;padding:1.25rem 1.75rem;vertical-align:middle}.complaints-table tr:hover{background:#10b9810a}.status-badge{font-size:.75rem;padding:.4rem .9rem}.status-badge.pending{background:#f59e0b1f;border:1px solid #f59e0b33;color:#fbbf24}.status-badge.in-progress{background:#10b9811f;border:1px solid #10b98133;color:#6ee7b7}.status-badge.closed{background:#34d3991f;border:1px solid #34d39933;color:#34d399}.status-badge.onhold{background:#94a3b81f;border:1px solid #94a3b833;color:#94a3b8}.action-buttons{display:flex;gap:.6rem}.action-btn{background:var(--primary-gradient);border:none;border-radius:10px;box-shadow:0 2px 8px #10b98140;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:.5rem 1.1rem;transition:all .25s ease}.action-btn:hover{box-shadow:0 6px 16px #10b98166;transform:translateY(-2px)}.action-btn.secondary{background:#ffffff0f;border:1px solid var(--glass-border);box-shadow:none;color:var(--text-main)}.action-btn.secondary:hover{background:#10b9811a;border-color:#10b9814d}.assign-dropdown{background:#10b9810d;border:1px solid var(--glass-border);border-radius:10px;color:var(--text-main);cursor:pointer;font-size:.88rem;min-width:130px;padding:.55rem 1rem}.assign-dropdown option{background-color:#0f172a;color:#e2e8f0}.assign-dropdown:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98126;outline:none}.attachment-link{background:#10b98114;border:1px solid #10b98133;border-radius:8px;color:#6ee7b7;font-size:.85rem;font-weight:600;padding:.45rem .9rem;text-decoration:none;transition:all .25s}.attachment-link:hover{background:#10b98126;color:#10b981}.error-banner{border-radius:14px;font-weight:700;padding:1.25rem 2rem}@media (max-width:768px){.complaints-dashboard{padding:1.5rem}.dashboard-header{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.stats-grid{gap:1rem;grid-template-columns:1fr 1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.user-complaint-dashboard{animation:fadeIn .6s ease-out;color:var(--text-main);font-family:Outfit,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}.dashboard-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#10b9810d;border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 30px #0000004d;margin-bottom:2.5rem;overflow:hidden;padding:1.75rem 2rem;position:relative}.dashboard-header:before{background:linear-gradient(90deg,#0000,#10b981,#14b8a6,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.dashboard-header h1{color:var(--text-main);font-size:1.9rem;font-weight:800;letter-spacing:-.02em;margin:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:2.5rem}.stat-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#10b9810d;border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 8px 20px #00000040;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:110px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{border-color:#10b98166;box-shadow:0 14px 30px #0000004d,0 0 16px #10b9811f;transform:translateY(-4px)}.stat-value{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:800;line-height:1;margin-bottom:.5rem}.stat-label{color:var(--text-light);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.complaint-details-card{animation:slideDown .35s ease-out;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#10b9810d;border:1px solid var(--glass-border);border-radius:22px;box-shadow:0 20px 50px #00000059;margin-bottom:2.5rem;padding:2.5rem}.details-header{align-items:center;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.details-header h3{color:var(--text-main);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0}.close-btn{align-items:center;background:#10b98114;border:1px solid var(--glass-border);border-radius:50%;color:var(--text-light);cursor:pointer;display:flex;font-size:1.3rem;height:38px;justify-content:center;padding:.4rem;transition:all .2s;width:38px}.close-btn:hover{background-color:#ef44441f;border-color:#ef444440;color:#f87171;transform:scale(1.1)}.details-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.detail-item label{color:var(--text-light);display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.detail-value{background-color:#10b9810d;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main);font-size:.95rem;font-weight:500;margin:0;padding:.85rem 1rem}.detail-attachment-link{background-color:#10b98114;border:1px solid #10b98133;border-radius:12px;color:#10b981;display:inline-block;font-size:.9rem;font-weight:600;padding:.8rem 1.2rem;text-decoration:none;transition:all .2s}.detail-attachment-link:hover{background-color:#10b981;border-color:#10b981;box-shadow:0 6px 16px #10b9814d;color:#fff;transform:translateY(-2px)}.status-update-section{align-items:center;border-top:1px solid var(--glass-border);display:flex;flex-wrap:wrap;gap:1.25rem;grid-column:1/-1;margin-top:2rem;padding-top:2rem}.status-select{background:#10b9810d;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main);font-family:inherit;font-size:.95rem;min-width:180px;outline:none;padding:.75rem 1.2rem;transition:all .2s}.status-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98126}.btn-primary{background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-family:inherit;font-weight:600;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{box-shadow:0 8px 20px #10b98166;transform:translateY(-2px)}.btn-secondary{background-color:#ffffff0f;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main);cursor:pointer;font-family:inherit;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:#10b9811a;border-color:#10b9814d;color:var(--text-main);transform:translateY(-2px)}.table-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#10b9810a;border:1px solid var(--glass-border);border-radius:22px;box-shadow:0 10px 30px #0000004d;margin-bottom:3rem;overflow:hidden}.table-header{align-items:center;background:#10b9810f;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;padding:1.5rem 2rem}.table-header h3{color:var(--text-main);font-size:1.15rem;font-weight:700;margin:0}.btn-reset{background-color:#10b98114;border:1px solid #10b98133;border-radius:8px;color:#6ee7b7;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:.45rem 1rem;transition:all .2s}.btn-reset:hover{background-color:#10b98126;color:#10b981}.dashboard-table{border-collapse:collapse;white-space:nowrap;width:100%}.dashboard-table thead{background-color:#10b98112;border-bottom:1px solid var(--glass-border)}.dashboard-table th{color:var(--text-light);font-size:.75rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.dashboard-table td{border-bottom:1px solid #10b9810f;color:var(--text-main);font-size:.92rem;padding:1.1rem 1.5rem}.dashboard-table tr:hover{background-color:#10b9810a;cursor:pointer}.status-badge{border:1px solid #0000;font-size:.72rem}.status-pending{background:#f59e0b1f;border-color:#f59e0b33;color:#fbbf24}.status-assigned{background:#10b9811f;border-color:#10b98133;color:#34d399}.status-in-progress{background:#0ea5e91f;border-color:#0ea5e933;color:#38bdf8}.status-onhold{background:#ef44441a;border-color:#ef444433;color:#f87171}.status-closed{background:#34d3991f;border-color:#34d39933}.error-banner{background:#ef444414;border:1px solid #ef44442e;color:#f87171}@media (max-width:768px){.user-complaint-dashboard{padding:1rem}.details-grid{gap:1rem;grid-template-columns:1fr}.status-update-section{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary,.status-select{width:100%}}.reports-page{animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#e2faf0;font-family:Outfit,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reports-page-header{align-items:center;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#052312b3;border:1px solid #10b98133;border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9812e;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem 2rem}.reports-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7b7,#34d399 50%,#10b981);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.filter-card{animation:slideDown .4s ease-out;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b98133;border-radius:24px;box-shadow:0 20px 50px #00000073,0 0 0 1px #10b9811a;margin-bottom:2.5rem;padding:2.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.filter-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.filter-item{display:flex;flex-direction:column}.filter-item label{color:#6ee7b7;font-size:.8rem;font-weight:700;letter-spacing:.07em;margin-bottom:.5rem;text-transform:uppercase}.filter-item input,.filter-item select{background-color:#02140a99;border:1px solid #10b98140;border-radius:12px;box-sizing:border-box;color:#d1fae5;font-family:Outfit,sans-serif;font-size:.95rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.filter-item select option{background-color:#051a0d;color:#d1fae5}.filter-item input::placeholder{color:#4b7a65}.filter-item input:focus,.filter-item select:focus{background-color:#02140ad9;border-color:#10b981;box-shadow:0 0 0 4px #10b98126;outline:none;transform:translateY(-1px)}.filter-actions{border-top:1px solid #10b9811f;display:flex;gap:1rem;grid-column:1/-1;justify-content:flex-end;margin-top:.5rem;padding-top:1.5rem}.btn-export,.btn-generate{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;min-width:140px;padding:.8rem 1.6rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-generate{background:linear-gradient(135deg,#10b981,#0d9488);box-shadow:0 4px 14px #10b9814d;color:#fff}.btn-generate:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 24px #10b98173;transform:translateY(-2px)}.btn-export{background:#10b9811a;border:1px solid #10b9814d;box-shadow:none;color:#6ee7b7}.btn-export:hover{background:#10b98133;border-color:#10b98180;box-shadow:0 4px 14px #10b98133;transform:translateY(-2px)}.reports-table-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#051e10bf;border:1px solid #10b9812e;border-radius:24px;box-shadow:0 10px 40px #0006,0 0 0 1px #10b9811f;overflow:hidden}.table-wrapper{overflow-x:auto}.report-table{border-collapse:collapse;white-space:nowrap;width:100%}.report-table thead{background:#020f08b3;border-bottom:1px solid #10b98133}.report-table th{color:#6ee7b7;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:1.1rem 1.5rem;text-align:left;text-transform:uppercase}.report-table td{border-bottom:1px solid #10b98114;color:#a7f3d0;font-size:.94rem;padding:1.1rem 1.5rem}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background:#10b98112}.status-badge{border-radius:9999px;display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.05em;padding:.3rem .8rem;text-transform:uppercase}.status-pending{background:#f59e0b26;border:1px solid #f59e0b4d;color:#fcd34d}.status-assigned{background:#14b8a626;border:1px solid #14b8a64d;color:#5eead4}.status-in-progress{background:#6366f126;border:1px solid #6366f14d;color:#a5b4fc}.status-onhold{background:#ef444426;border:1px solid #ef44444d;color:#fca5a5}.status-closed{background:#10b98126;border:1px solid #10b9814d;color:#6ee7b7}.error-banner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7f1d1d80;border:1px solid #ef444459;border-radius:12px;box-shadow:0 4px 14px #ef444426;color:#fca5a5;font-weight:600;margin-bottom:2rem;padding:1rem 1.5rem;text-align:center}@media (max-width:768px){.reports-page{padding:1rem}.filter-grid{gap:1rem;grid-template-columns:1fr}.filter-actions{flex-direction:column}}.profile-page{animation:profileFadeIn .6s cubic-bezier(.16,1,.3,1);color:var(--text-main);font-family:Outfit,sans-serif;margin:0 auto;max-width:960px;padding:3rem 2rem}@keyframes profileFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-page-header{margin-bottom:2.5rem}.profile-page-header h1{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;margin:0 0 .25rem}.profile-page-header p{color:var(--text-light);font-size:.95rem;margin:0}.profile-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:280px 1fr}.profile-avatar-card{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#10b9810a;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;gap:1.25rem;overflow:hidden;padding:2rem 1.5rem;position:relative}.profile-avatar-card:before{background:linear-gradient(90deg,#0000,#10b981,#14b8a6,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.avatar-wrapper{height:110px;position:relative;width:110px}.avatar-img{object-fit:cover}.avatar-img,.avatar-initials{border:3px solid #10b98166;border-radius:50%;box-shadow:0 0 0 6px #10b98114;height:110px;width:110px}.avatar-initials{color:#fff;font-size:2.8rem;font-weight:800;letter-spacing:-1px}.avatar-initials,.avatar-upload-btn{align-items:center;background:var(--primary-gradient);display:flex;justify-content:center}.avatar-upload-btn{border:2px solid #020c07;border-radius:50%;bottom:2px;box-shadow:0 2px 8px #0006;cursor:pointer;font-size:.9rem;height:32px;padding:0;position:absolute;right:2px;transition:transform .2s ease;width:32px}.avatar-upload-btn:hover{transform:scale(1.15)}.avatar-upload-input{display:none}.avatar-user-name{color:var(--text-main);font-size:1.15rem;font-weight:700;text-align:center}.avatar-role-badge{background:#10b9811f;border:1px solid #10b98140;border-radius:999px;color:#34d399;font-size:.73rem;font-weight:700;letter-spacing:.08em;padding:.3rem 1rem;text-transform:uppercase}.avatar-email{color:var(--text-light);font-size:.82rem;text-align:center;word-break:break-all}.avatar-save-btn{background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;margin-top:.25rem;padding:.65rem 1rem;transition:all .25s;width:100%}.avatar-save-btn:hover:not(:disabled){box-shadow:0 8px 20px #10b98173;transform:translateY(-2px)}.avatar-save-btn:disabled{cursor:not-allowed;opacity:.5}.profile-right-col{display:flex;flex-direction:column;gap:2rem}.profile-section-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#10b9810a;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 10px 40px #00000040;overflow:hidden;padding:2rem;position:relative}.profile-section-card:before{background:linear-gradient(90deg,#0000,#10b981,#14b8a6,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.profile-section-card h2{align-items:center;color:var(--text-main);display:flex;font-size:1.1rem;font-weight:800;gap:.6rem;margin:0 0 1.5rem}.section-icon{font-size:1.25rem}.profile-form-group{margin-bottom:1.25rem}.profile-form-group label{color:var(--text-light);display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.profile-form-group input{background:#10b9810a;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main);font-family:Outfit,sans-serif;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}.profile-form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98126;outline:none}.profile-form-group input:disabled{cursor:not-allowed;opacity:.45}.profile-submit-btn{background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;margin-top:.5rem;padding:.72rem 2rem;transition:all .25s}.profile-submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #10b98173;transform:translateY(-2px)}.profile-submit-btn:disabled{cursor:not-allowed;opacity:.5}.profile-alert{align-items:center;animation:alertSlide .3s ease;border-radius:12px;display:flex;font-size:.9rem;font-weight:600;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1.25rem}@keyframes alertSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-alert.success{background:#34d3991a;border:1px solid #34d39940;color:#34d399}.profile-alert.error{background:#ef444414;border:1px solid #ef444433;color:#f87171}.profile-info-row{align-items:center;border-bottom:1px solid #10b98112;display:flex;justify-content:space-between;padding:.8rem 0}.profile-info-row:last-child{border-bottom:none}.profile-info-label{color:var(--text-light);font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.profile-info-value{color:var(--text-main);font-size:.95rem;font-weight:500}.password-strength{display:flex;gap:4px;margin-top:.4rem}.strength-bar{background:#ffffff14;border-radius:99px;flex:1 1;height:4px;transition:background .3s}.strength-bar.weak{background:#ef4444}.strength-bar.medium{background:#f59e0b}.strength-bar.strong{background:#34d399}.strength-label{color:var(--text-light);font-size:.75rem;font-weight:600;margin-top:.3rem}@media (max-width:768px){.profile-page{padding:1.5rem}.profile-layout{grid-template-columns:1fr}.profile-avatar-card{align-items:center}}.loading{align-items:center;color:#10b981;display:flex;font-size:1.1rem;font-weight:600;gap:.65rem;justify-content:center;letter-spacing:.05em;min-height:100vh}.loading:before{animation:spin .8s linear infinite;border:2px solid #10b98133;border-radius:50%;border-top-color:#10b981;content:"";flex-shrink:0;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}#root:before{background:radial-gradient(circle at 15% 25%,#10b98112 0,#0000 45%),radial-gradient(circle at 85% 75%,#0d948812 0,#0000 45%);content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}.block-page,.complaint-form-page,.complaints-dashboard,.department-page,.home-page,.page-container,.profile-page,.programme-page,.reports-page,.role-page,.room-page,.user-complaint-dashboard,.user-page{margin-top:100px}.page-fade{animation:pageIn .6s cubic-bezier(.16,1,.3,1) both}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3{position:relative}h1{-webkit-text-fill-color:#0000;animation:emeraldShimmer 5s linear infinite;background:linear-gradient(90deg,#10b981,#6ee7b7 20%,#0d9488 40%,#a7f3d0 60%,#10b981 80%,#6ee7b7);-webkit-background-clip:text;background-clip:text;background-size:200% auto;font-weight:800;letter-spacing:-.02em}@keyframes emeraldShimmer{to{background-position:200%}}h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#14b8a6);-webkit-background-clip:text;background-clip:text;font-weight:700}h3{color:#6ee7b7;font-weight:600}:root{--primary:#10b981;--primary-dark:#059669;--primary-gradient:linear-gradient(135deg,#10b981,#0d9488);--accent:#14b8a6;--accent-warm:#f59e0b;--bg-page:#020c07;--bg-card:#0a2819e6;--text-main:#ecfdf5;--text-light:#6ee7b7;--glass-bg:#10b9810d;--glass-border:#10b9812e;--shadow:0 10px 40px #0000008c}*{box-sizing:border-box;margin:0;padding:0}body{background-attachment:fixed;background-color:#020c07;background-image:radial-gradient(at 10% 20%,#10b98114 0,#0000 55%),radial-gradient(at 90% 80%,#0d948814 0,#0000 55%);color:#ecfdf5;color:var(--text-main);font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;line-height:1.6}button{background:linear-gradient(135deg,#10b981,#0d9488);background:var(--primary-gradient);border:none;border-radius:10px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}button:hover:not(:disabled){box-shadow:0 8px 20px #10b98166;transform:translateY(-2px)}button:disabled{background:#1a2e22;box-shadow:none;color:#4b7a5c;cursor:not-allowed}input,select,textarea{background-color:#10b9810a;border:1px solid #10b9812e;border:1px solid var(--glass-border);border-radius:8px;color:#ecfdf5;color:var(--text-main);font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:#10b981;border-color:var(--primary);box-shadow:0 0 0 4px #10b98126;outline:none}a{color:#10b981;color:var(--primary);font-weight:500;text-decoration:none;transition:color .2s}a:hover{color:#14b8a6;color:var(--accent)}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#10b98133;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#10b98159}
/*# sourceMappingURL=main.75aef197.css.map*/