@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap);:root{--sidebar-width:280px;--sidebar-bg:#0f172a;--sidebar-border:#ffffff14;--sidebar-hover:#ffffff14;--sidebar-active:#38bdf8;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-gradient:linear-gradient(135deg,#3b82f6,#8b5cf6);--glass-effect:blur(12px);--danger-color:#f87171;--transition-speed:0.3s;--page-bg:#fff}body{font-family:Outfit,sans-serif;min-height:100vh;padding-left:280px;padding-left:var(--sidebar-width);transition:padding-left .3s ease;transition:padding-left var(--transition-speed) ease}.sidebar{background-color:#0f172a;background-color:var(--sidebar-bg);background-image:radial-gradient(at 0 0,#38bdf826 0,#0000 50%),radial-gradient(at 100% 100%,#8b5cf626 0,#0000 50%);border-right:1px solid #ffffff14;border-right:1px solid var(--sidebar-border);box-shadow:10px 0 40px #0003;color:#f8fafc;color:var(--text-primary);display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:280px;width:var(--sidebar-width);z-index:1000}.sidebar-header{align-items:center;display:flex;flex-shrink:0;justify-content:flex-start;padding:2rem 1.5rem;position:relative}.sidebar-header:after{background:linear-gradient(90deg,#0000,#fff3,#0000);bottom:0;content:"";height:1px;left:1.5rem;position:absolute;right:1.5rem}.sidebar-brand{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800;gap:.75rem;letter-spacing:-.02em;text-decoration:none}.logo-icon,.sidebar-brand{align-items:center;display:flex}.logo-icon{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:var(--accent-gradient);border-radius:8px;box-shadow:0 0 15px #3b82f680;color:#fff;font-size:1.2rem;height:32px;justify-content:center;width:32px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:2rem 1rem}.nav-links,.sidebar-nav{display:flex;flex-direction:column}.nav-links{gap:.75rem}.nav-group-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:1.5rem 0 .5rem .5rem;opacity:.7;text-transform:uppercase}.nav-group-label,.nav-link{color:#94a3b8;color:var(--text-secondary)}.nav-link{align-items:center;border-radius:12px;display:flex;font-size:1rem;font-weight:500;gap:1rem;overflow:hidden;padding:.85rem 1rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-link:hover{background-color:#ffffff14;background-color:var(--sidebar-hover);box-shadow:0 4px 12px #0000001a;color:#fff;transform:translateX(4px)}.nav-link.active,.nav-link:active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:var(--accent-gradient);box-shadow:0 4px 20px #3b82f666;color:#fff;font-weight:600}.nav-icon{height:20px;opacity:.8;transition:all .3s;width:20px}.nav-link.active .nav-icon,.nav-link:hover .nav-icon{opacity:1;transform:scale(1.1)}.sidebar-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border-top:1px solid #ffffff14;border-top:1px solid var(--sidebar-border);flex-shrink:0;padding:1.5rem}.user-actions{flex-direction:column;gap:1.2rem}.user-card{gap:1rem}.user-avatar,.user-card{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#f472b6,#db2777);border-radius:12px;box-shadow:0 0 10px #db277766;color:#fff;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.user-info{display:flex;flex-direction:column}.user-greeting{color:#94a3b8;color:var(--text-secondary);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.user-name{color:#f8fafc;color:var(--text-primary);font-size:.95rem;font-weight:600;letter-spacing:.02em}.logout-btn{align-items:center;background:#ef4444;border:1px solid #ef44444d;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;text-align:center;transition:all .2s;width:100%}.logout-btn:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:2.5px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#fff3}@media (max-width:768px){body{padding-bottom:70px;padding-left:0;padding-top:70px}.sidebar{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--sidebar-border);border-right:none;box-shadow:0 4px 20px #00000080;flex-direction:row;height:70px;justify-content:space-between;overflow:hidden;padding:0;width:100%;z-index:9999}.sidebar-header{border-bottom:none;height:100%;padding:0 1rem;width:auto}.sidebar-header:after{display:none}.sidebar-brand{font-size:1.4rem}.sidebar-nav{-ms-overflow-style:none;align-items:center;display:none;display:flex;flex-direction:row;gap:.5rem;height:100%;overflow-x:auto;padding:0 1rem;scrollbar-width:none}.nav-group-label{display:none}.nav-link{background:#ffffff0d;border-radius:99px;font-size:.85rem;padding:.5rem 1rem;white-space:nowrap}.sidebar-footer{display:none}}:root{--bg-gradient:linear-gradient(135deg,#f8fafc,#e2e8f0)}.home-page{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:var(--bg-gradient);display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.bg-blob{animation:blobFloat 20s infinite alternate;opacity:.4}.blob-1{height:400px;right:-50px;top:-100px;width:400px}.blob-2{bottom:10%;height:300px;left:-100px;width:300px}.blob-3{animation-delay:-10s;background:#10b981;background:var(--success);height:250px;right:15%;top:40%;width:250px}.home-container{animation:slideUpFade .8s cubic-bezier(.16,1,.3,1);margin-top:2rem;max-width:1200px;position:relative;width:100%;z-index:1}.welcome-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:3rem;padding:0 1rem}.welcome-content h1{color:#0f172a;color:var(--text-main);font-size:3rem;font-weight:800;letter-spacing:-.03em;margin:.5rem 0}.highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text}.premium-badge{border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem}.welcome-text{color:#64748b;color:var(--text-muted);font-size:1.1rem;line-height:1.6;max-width:500px}.profile-brief{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 10px 25px -5px #0000000d;gap:1rem;padding:.75rem 1.25rem}.brief-avatar,.profile-brief{align-items:center;display:flex}.brief-avatar{background:#3b82f6;background:var(--primary);border-radius:12px;color:#fff;font-size:1.25rem;font-weight:800;height:48px;justify-content:center;width:48px}.brief-info{display:flex;flex-direction:column}.brief-role{color:#0f172a;color:var(--text-main);font-size:.95rem;font-weight:700}.brief-status{align-items:center;color:#10b981;color:var(--success);display:flex;font-size:.8rem;gap:.25rem}.brief-status:before{content:"●";font-size:10px}.philosophy-section{margin-bottom:3.5rem;padding:0 1rem}.philosophy-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.phi-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:28px;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center;transition:all .3s ease}.phi-card:hover{background:#fff;border-color:#3b82f6;border-color:var(--primary);box-shadow:0 20px 40px -10px #00000014;transform:translateY(-8px)}.phi-icon{font-size:2.5rem;margin-bottom:.5rem}.phi-card h3{color:#0f172a;color:var(--text-main);font-size:1.2rem;font-weight:800}.phi-card p{color:#64748b;color:var(--text-muted);font-size:.95rem;line-height:1.6}.actions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.action-card{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:20px;display:flex;gap:1.25rem;padding:1.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-card:hover{background:#fff;border-color:#3b82f6;border-color:var(--primary);box-shadow:0 15px 30px -10px #0000001a;transform:translateX(5px)}.action-icon{align-items:center;background:#3b82f61a;border-radius:16px;display:flex;font-size:1.5rem;height:56px;justify-content:center;transition:all .3s ease;width:56px}.action-card:hover .action-icon{background:#3b82f6;background:var(--primary);transform:rotate(-10deg)}.action-info{display:flex;flex:1 1;flex-direction:column}.action-label{color:#0f172a;color:var(--text-main);font-size:1.1rem;font-weight:700}.action-desc{font-size:.85rem}.action-arrow,.action-desc{color:#64748b;color:var(--text-muted)}.action-arrow{font-size:1.2rem;opacity:0;transition:all .3s ease}.action-card:hover .action-arrow{color:#3b82f6;color:var(--primary);opacity:1;transform:translateX(5px)}.action-card.is-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,var(--accent) 100%);border:none}.action-card.is-primary .action-arrow,.action-card.is-primary .action-desc,.action-card.is-primary .action-label{color:#fff}.action-card.is-primary .action-icon{background:#fff3}.dashboard-footer{margin-top:4rem}.help-card{align-items:center;background:#0f172a;background:var(--text-main);border-radius:24px;color:#fff;display:flex;gap:2rem;padding:2rem}.help-icon{font-size:2.5rem}.help-text{flex:1 1}.help-text h3{font-size:1.5rem;margin-bottom:.5rem}.help-text p{color:#ffffffb3}.help-btn{background:#fff;border:none;border-radius:12px;color:#0f172a;color:var(--text-main);cursor:pointer;font-weight:700;padding:.75rem 1.5rem;transition:all .2s ease}.help-btn:hover{background:#3b82f6;background:var(--primary);color:#fff;transform:scale(1.05)}.guest-content{display:flex;justify-content:center;padding:4rem 0}.guest-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:32px;box-shadow:0 40px 80px -20px #0000001a;max-width:500px;padding:4rem 3rem;text-align:center}.guest-icon{font-size:4rem;margin-bottom:1.5rem}.guest-card h2{font-size:2rem;font-weight:800;margin-bottom:1rem}.guest-card p{color:#64748b;color:var(--text-muted);line-height:1.6;margin-bottom:2rem}.cta-login-btn{background:#3b82f6;background:var(--primary);border-radius:14px;box-shadow:0 10px 20px #3b82f64d;color:#fff;display:inline-block;font-weight:700;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.cta-login-btn:hover{background:#2563eb;background:var(--primary-dark);box-shadow:0 15px 30px #3b82f666;transform:translateY(-3px)}@media (max-width:1024px){.phi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.welcome-header{align-items:flex-start;flex-direction:column;gap:2rem}.welcome-content h1{font-size:2.25rem}.actions-grid,.phi-grid{grid-template-columns:1fr}.help-card{flex-direction:column;gap:1.5rem;text-align:center}.profile-brief{margin-top:1rem;width:100%}}.login-container{animation:gradientBG 15s ease infinite;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-size:400% 400%;flex-direction:column;font-family:Outfit,sans-serif;justify-content:center;min-height:100vh;position:fixed;z-index:1050}.login-container,.login-navbar{align-items:center;display:flex;left:0;top:0;width:100%}.login-navbar{justify-content:space-between;padding:1.5rem 3rem;position:absolute;z-index:1100}.navbar-logo{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:800;gap:.75rem}.navbar-logo .logo-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:8px;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;font-size:1.1rem;height:32px;justify-content:center;width:32px}.navbar-links{display:flex;gap:2rem}.navbar-links a{color:#64748b;font-size:.95rem;font-weight:600;position:relative;text-decoration:none;transition:all .3s ease}.navbar-links a:after{background:#3b82f6;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-links a:hover{color:#3b82f6}.navbar-links a:hover:after{width:100%}@keyframes gradientBG{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-container:before{animation:float 10s ease-in-out infinite;background:radial-gradient(circle,#3b82f633 0,#0000 70%);right:-10%;top:-10%}.login-container:after,.login-container:before{content:"";filter:blur(60px);height:600px;position:absolute;width:600px;z-index:-1}.login-container:after{animation:float 15s ease-in-out infinite reverse;background:radial-gradient(circle,#8b5cf633 0,#0000 70%);bottom:-10%;left:-10%}@keyframes float{0%{transform:translate(0)}50%{transform:translate(30px,30px)}to{transform:translate(0)}}.login-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border-radius:24px;box-shadow:0 20px 40px -5px #0000001a,0 0 0 1px #fffc;max-width:450px;overflow:hidden;padding:3.5rem;position:relative;transition:transform .3s ease;width:100%}.login-card:hover{box-shadow:0 30px 60px -12px #00000026,0 0 0 1px #fffc;transform:translateY(-5px)}.login-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.subtitle{font-size:1rem;letter-spacing:.01em;margin-bottom:2.5rem;text-align:center}.error-message{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background:#fef2f2e6;border-left:4px solid #ef4444;color:#ef4444;font-size:.9rem;font-weight:600;padding:1rem;text-align:left}@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{position:relative}.form-group label{color:#334155;transition:color .3s ease}.form-group input{background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:1rem;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-2px)}.form-group:focus-within label{color:#3b82f6}.login-btn{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:12px;box-shadow:0 4px 15px #3b82f666;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:1rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:.5s;width:100%}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 8px 25px #3b82f680;transform:translateY(-3px)}.login-btn:hover:before{left:100%}.login-btn:active:not(:disabled){transform:translateY(-1px)}.login-btn:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;opacity:.8}.demo-info{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:.85rem;font-style:italic;margin-top:2.5rem;padding-top:1.5rem;text-align:center}@media (max-width:480px){.login-card{padding:2rem;width:90%}.login-card h1{font-size:1.8rem}}.department-page{animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1200px;padding:3rem 2rem}.department-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.department-form-card{animation:slideDown .4s ease-out;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;padding:2.5rem}.department-form-card,.department-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px}.department-table-card{box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.department-table{border-collapse:collapse;white-space:nowrap;width:100%}.department-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.department-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.department-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.department-table tr:hover{background-color:#f8fafccc}.department-actions{display:flex;gap:.8rem;justify-content:flex-end}@media (max-width:768px){.department-page{padding:1rem}.department-page-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.programme-page{animation:fadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1200px;padding:3rem 2rem}.programme-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.programme-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;padding:2.5rem}.form-group-item textarea{min-height:120px}.programme-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.programme-table{border-collapse:collapse;white-space:nowrap;width:100%}.programme-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.programme-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.programme-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.programme-table tr:hover{background-color:#f8fafccc}.programme-actions{display:flex;gap:.8rem;justify-content:flex-end}@media (max-width:768px){.programme-page{padding:1rem}.programme-page-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.page-container{animation:fadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#fffc;border:1px solid #ffffff80;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #0000000d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:0}.btn-primary{align-items:center;border-radius:10px;box-shadow:0 4px 10px #3b82f640;display:inline-flex;font-size:.95rem;gap:.5rem}.btn-primary:hover{box-shadow:0 8px 20px #3b82f659}.btn-primary:active{transform:translateY(0)}.page-content{display:flex;flex-direction:column;gap:2rem}.form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 20px 40px -10px #00000014,0 0 0 1px #fff9;margin:0 auto;max-width:600px;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#475569;display:block;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background-color:#fff9;border:1px solid #cbd5e1b3;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.form-group textarea{min-height:120px;resize:vertical}.table-card{box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #ffffff80}.table-responsive{overflow-x:auto;width:100%}.data-table{border-collapse:collapse;white-space:nowrap;width:100%}.data-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.data-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:#f8fafccc}.action-buttons{gap:.75rem}.btn-delete,.btn-edit{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.btn-edit{background-color:#eff6ffb3;border:1px solid #dbeafe80;color:#fff}.btn-edit:hover{background-color:#dbeafe;color:#fff;transform:translateY(-1px)}.btn-delete{background:#ef4444;border:1px solid #fee2e280;color:#fff}.btn-delete:hover{background:#dc2626;color:#fff;transform:translateY(-1px)}.error-message{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fef2f2cc;border:1px solid #fecaca80;border-radius:12px;box-shadow:0 4px 6px -1px #dc26260d;color:#b91c1c;display:flex;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}@media (max-width:768px){.page-container{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.page-header h1{font-size:1.5rem}.btn-primary{justify-content:center;width:100%}.data-table td,.data-table th{padding:1rem}}.room-page{animation:fadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}.room-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;margin:0}.room-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:800px;padding:2.5rem}.form-group-item.full-width{grid-column:1/-1}.form-group-item input,.form-group-item select,.form-group-item textarea{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s 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:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.form-group-item textarea{min-height:100px;resize:vertical}.room-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.room-table{border-collapse:collapse;white-space:nowrap;width:100%}.room-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.room-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.room-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.room-table tr:hover{background-color:#f8fafccc}.room-actions{display:flex;gap:.8rem;justify-content:flex-end}@media (max-width:768px){.room-page{padding:1rem}.room-page-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}.form-grid-2{gap:0;grid-template-columns:1fr}}.role-page{animation:fadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1200px;padding:3rem 2rem}.role-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;margin:0}.role-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;padding:2.5rem}.form-group-item input,.form-group-item textarea{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item input:focus,.form-group-item textarea:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.form-group-item select{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.permissions-container{grid-gap:1rem;background:#f1f5f966;border:1px solid #e2e8f0cc;border-radius:16px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:1rem}.permission-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.permission-option:hover{background-color:#3b82f605;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.permission-option.active{background-color:#3b82f60d;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.custom-checkbox{align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:6px;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .2s ease;width:24px}.permission-option.active .custom-checkbox{background-color:#3b82f6;border-color:#3b82f6}.check-mark{animation:scaleIn .2s cubic-bezier(.175,.885,.32,1.275);color:#fff;font-size:14px;font-weight:700}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.permission-label{color:#475569;font-size:.95rem;font-weight:600}.permission-option.active .permission-label{color:#1e3a8a}.role-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.role-table{border-collapse:collapse;white-space:nowrap;width:100%}.role-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.role-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.role-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.role-table tr:hover{background-color:#f8fafccc}.role-actions{display:flex;gap:.8rem;justify-content:flex-end}.permission-tag{background-color:#f1f5f9b3;border:1px solid #e2e8f0cc;border-radius:6px;color:#475569;display:inline-block;font-size:.85rem;font-weight:500;margin-bottom:.25rem;margin-right:.5rem;padding:.2rem .6rem}@media (max-width:768px){.role-page{padding:1rem}.role-page-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}}.user-page{animation:fadeIn .5s cubic-bezier(.16,1,.3,1);color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}.user-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;margin:0}.primary-action-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f640;color:#fff;cursor:pointer;display:inline-flex;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,#2563eb,#1d4ed8);box-shadow:0 8px 20px #3b82f659;transform:translateY(-2px)}.user-form-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;margin-left:auto;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:#475569;display:block;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.form-group-item input,.form-group-item select{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group-item input:focus,.form-group-item select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.user-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.user-table{border-collapse:collapse;white-space:nowrap;width:100%}.user-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.user-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.user-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.user-table tr:hover{background-color:#f8fafccc}.user-actions{display:flex;gap:.8rem;justify-content:flex-end}.delete-action-btn,.edit-action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.edit-action-btn{background-color:#eff6ffb3;border:1px solid #dbeafe80;color:#fff}.edit-action-btn:hover{background-color:#dbeafe;color:#fff;transform:translateY(-1px)}.delete-action-btn{background:#ef4444;border:1px solid #fee2e280;color:#fff}.delete-action-btn:hover{background:#dc2626;color:#fff;transform:translateY(-1px)}.role-badge{border-radius:8px;border-style:solid;border-width:1px;box-shadow:0 2px 4px #0000000d;display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.05em;padding:.4rem .9rem;text-transform:uppercase}.role-badge.superadmin{background-color:#fffbeb;border-color:#fde68a;color:#b45309}.role-badge.user{background-color:#f8fafc;border-color:#e2e8f0;color:#475569}.role-badge.networking-staff{background-color:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.role-badge.plumber{background-color:#ecfeff;border-color:#a5f3fc;color:#0e7490}.role-badge.electrician{background-color:#fff7ed;border-color:#fed7aa;color:#c2410c}.role-badge.software-developer{background-color:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.role-badge.application{background-color:#f0fdf4;border-color:#bbf7d0;color:#15803d}.role-badge.pc-hardware{background-color:#fff1f2;border-color:#fecdd3;color:#be123c}@media (max-width:768px){.user-page{padding:1rem}.user-page-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.primary-action-btn{justify-content:center;width:100%}.form-grid-2{gap:0;grid-template-columns:1fr}}.complaint-form-page{animation:pageFadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:3rem auto;max-width:800px;padding:0 1.5rem}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.complaint-form-header{margin-bottom:2.5rem;text-align:center}.complaint-form-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:2rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem}.form-subtitle{color:#64748b;font-size:1rem;font-weight:500;opacity:.9}.complaint-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;overflow:hidden;padding:3rem;position:relative}.complaint-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.form-grid-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;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:#475569;font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.form-field input:disabled,.form-field select:disabled{background-color:#e2e8f080;color:#64748b;cursor:not-allowed;opacity:.8}.form-field textarea{min-height:120px;resize:vertical}.file-input-wrapper{background-color:#f8fafc80;border:2px dashed #cbd5e1cc;border-radius:12px;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:all .2s}.file-input-wrapper:hover{background-color:#eff6ff99;border-color:#3b82f6;transform:translateY(-2px)}.file-input-wrapper input[type=file]{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.file-input-label{color:#64748b;font-size:.9rem;font-weight:500;pointer-events:none}.submit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f640;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.02em;margin-top:1.5rem;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px #3b82f659;transform:translateY(-2px)}.submit-btn:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.error-alert{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fef2f2cc;border:1px solid #fca5a566;border-radius:12px;box-shadow:0 4px 6px -1px #ef44441a;color:#b91c1c;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem}@media (max-width:640px){.complaint-form-page{margin:1.5rem auto}.form-grid-layout{gap:1.25rem;grid-template-columns:1fr}.complaint-card{padding:1.5rem}.complaint-form-header h2{font-size:1.75rem}}:root{--primary-dark:#1d4ed8;--accent:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg-soft:#f8fafc;--card-bg:#fffc;--text-main:#0f172a;--text-muted:#64748b}.complaints-dashboard{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);font-family:Inter,sans-serif;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.bg-blob{animation:blobFloat 15s infinite alternate;border-radius:50%;filter:blur(80px);opacity:.3;position:absolute;z-index:0}.blob-1{background:#3b82f6;background:var(--primary);height:500px;right:-100px;top:-150px;width:500px}.blob-2{animation-delay:-5s;background:#8b5cf6;background:var(--accent);bottom:-100px;height:400px;left:-50px;width:400px}@keyframes blobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(40px,-40px) scale(1.1)}to{transform:translate(0) scale(1)}}.dashboard-container{animation:slideUpFade .6s ease-out;margin:0 auto;max-width:1400px;position:relative;z-index:1}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{align-items:center;display:flex;justify-content:space-between;padding:0 1rem}.header-content h1{color:#0f172a;color:var(--text-main);font-size:2.5rem;font-weight:800;letter-spacing:-.04em;margin:.5rem 0}.header-subtitle{color:#64748b;color:var(--text-muted);font-size:1.1rem;font-weight:500}.premium-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:#3b82f6;color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.1em;padding:.4rem .8rem;text-transform:uppercase}.refresh-btn{align-items:center;background:#fff;border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;color:#0f172a;color:var(--text-main);cursor:pointer;display:flex;font-weight:700;gap:.75rem;padding:.75rem 1.25rem;transition:all .3s ease}.refresh-btn:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:24px;gap:1.5rem;overflow:hidden;padding:1.75rem;position:relative;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-icon-bg{align-items:center;background:#ffffff80;border-radius:16px;display:flex;font-size:1.75rem;height:56px;justify-content:center;width:56px}.stat-info{display:flex;flex-direction:column}.stat-value{color:#0f172a;color:var(--text-main);font-size:1.75rem}.stat-label{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.stat-progress{bottom:0;height:4px;left:0;position:absolute;transition:width 1s ease}.total-bar{background:#3b82f6;background:var(--primary);width:100%}.pending-bar{background:#f59e0b;background:var(--warning);width:100%}.assigned-bar{background:#8b5cf6;background:var(--accent);width:100%}.resolved-bar{background:#10b981;background:var(--success);width:100%}.table-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;background:var(--card-bg);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:32px;box-shadow:0 20px 50px -10px #0000001a;padding:2rem}.table-header{margin-bottom:2rem}.table-header h2{color:#0f172a;color:var(--text-main);font-size:1.5rem;font-weight:800}.table-filters{display:flex;gap:.75rem}.filter-chip{background:#ffffff80;border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:99px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.filter-chip.active{background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.table-wrapper{border-radius:16px}.complaints-table{border-collapse:collapse;width:100%}.complaints-table th{background:#f1f5f94d;color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.complaints-table td{background-color:initial;border-bottom:1px solid #e2e8f080;color:#0f172a;color:var(--text-main);font-size:.85rem;font-weight:500;padding:.75rem 1rem}.complaints-table tr:hover td{background-color:#3b82f605}.status-badge{border-radius:8px;font-weight:800;padding:.4rem .9rem}.status-badge.pending{background:#fffbeb;color:#b45309}.status-badge.in-progress{background:#eff6ff;color:#3b82f6;color:var(--primary)}.status-badge.closed{background:#f0fdf4;color:#10b981;color:var(--success)}.status-badge.onhold{background:#f8fafc;color:#64748b;color:var(--text-muted)}.attachment-cell{align-items:center;display:flex}.attachment-preview{background:#f8fafc;background:var(--bg-soft);border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:6px;color:#3b82f6;color:var(--primary);font-size:.85rem;font-weight:700;padding:.4rem .8rem;text-decoration:none;transition:all .2s}.attachment-preview:hover{background:#3b82f6;background:var(--primary);color:#fff}.no-file{color:#cbd5e1;font-size:.85rem}.action-buttons{display:flex;gap:.5rem}.action-btn{border:1px solid #ffffff80;border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:700;padding:.5rem .9rem;transition:all .2s}.action-btn:first-child{background:#3b82f6;background:var(--primary);border:none;color:#fff}.action-btn.secondary{background:#fff;color:#0f172a;color:var(--text-main)}.action-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.assign-dropdown{background-color:#fff;border:1px solid #3b82f6;border-radius:12px;box-shadow:0 4px 6px #3b82f61a;color:#1e293b;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:700;min-width:110px;padding:.5rem 1.2em;transition:all .2s ease}.assign-dropdown:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33;outline:none}.error-banner{background:#ef44441a;border:1px solid #ef444433;border-radius:16px;color:#ef4444;color:var(--danger);font-weight:700}.assignee-info{display:flex;flex-direction:column;gap:.2rem}.assignee-role{color:#64748b;color:var(--text-muted);font-size:.75rem;font-style:italic}.unassigned{background:#ef44440d;border-radius:4px;color:#ef4444;color:var(--danger);font-size:.85rem;font-weight:700;padding:.2rem .5rem}.dept-text{color:#0f172a;color:var(--text-main);font-size:.95rem;font-weight:700}.sub-text{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:500;margin-top:.15rem}.reporter-badge{background:linear-gradient(135deg,#e0e7ff,#dbeafe);border:1px solid #bfdbfe;border-radius:99px;box-shadow:0 2px 4px #1e40af0d;color:#1e40af;display:inline-block;font-size:.75rem;font-weight:700;padding:.35rem .75rem}.assign-action-container{align-items:center;display:flex;gap:.4rem}.confirm-btn{background:#10b981!important;background:var(--success)!important}.cancel-btn,.confirm-btn{color:#fff!important;min-width:32px;padding:.4rem .6rem!important}.cancel-btn{background:#ef4444!important;background:var(--danger)!important}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1.5rem}.stats-grid{grid-template-columns:1fr}.table-card{padding:1.25rem}.action-buttons{flex-direction:column}}.user-complaint-dashboard{animation:fadeIn .5s ease-out;color:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}.dashboard-header{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;margin-bottom:2.5rem;padding:1.5rem 2rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;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(220px,1fr));margin-bottom:2.5rem}.stat-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 10px 20px -5px #0000000d,0 0 0 1px #fff9;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{background:#fffffff2;box-shadow:0 20px 30px -10px #0000001a;transform:translateY(-4px)}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#3b82f6);-webkit-background-clip:text;background-clip:text;font-size:3rem;line-height:1;margin-bottom:.5rem}.stat-label{font-size:.9rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.complaint-details-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;margin-bottom:2.5rem;padding:2.5rem}.details-header{align-items:center;border-bottom:1px solid #e2e8f0cc;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.details-header h3{color:#0f172a;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin:0}.close-btn{align-items:center;background:#f1f5f980;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.close-btn:hover{background-color:#f1f5f9;color:#ef4444;transform:scale(1.1)}.details-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.detail-item label{color:#64748b;display:block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.6rem;text-transform:uppercase}.detail-value{background-color:#fff9;border:1px solid #cbd5e1b3;border-radius:12px;box-shadow:inset 0 2px 4px #00000005;color:#1e293b;font-size:1rem;font-weight:500;margin:0;padding:.85rem 1rem}.detail-attachment-link{background-color:#eff6ffb3;border:1px solid #dbeafe99;border-radius:12px;color:#3b82f6;display:inline-block;font-weight:600;padding:.85rem 1.2rem;text-decoration:none;transition:all .2s}.detail-attachment-link:hover{background-color:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;color:#fff;transform:translateY(-2px)}.status-update-section{align-items:center;border-top:1px solid #e2e8f0cc;display:flex;flex-wrap:wrap;gap:1.5rem;grid-column:1/-1;margin-top:2rem;padding-top:2rem}.status-select{background-color:#fff;border:1px solid #cbd5e1cc;border-radius:12px;font-size:.95rem;min-width:180px;outline:none;padding:.75rem 1.25rem;transition:all .2s}.status-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 10px #3b82f633;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.btn-secondary{background-color:#94a3b8;border:1px solid #cbd5e1cc;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background-color:#64748b;color:#fff;transform:translateY(-2px)}.table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;margin-bottom:3rem;overflow:hidden}.table-header{align-items:center;background:#f8fafc66;border-bottom:1px solid #e2e8f0cc;display:flex;justify-content:space-between;padding:1.5rem 2rem}.table-header h3{color:#0f172a;font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin:0}.btn-reset{background-color:#94a3b8;border:1px solid #e2e8f099;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-reset:hover{background-color:#64748b;color:#fff}.dashboard-table{border-collapse:collapse;white-space:nowrap;width:100%}.dashboard-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.dashboard-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.dashboard-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.dashboard-table tr:hover{background-color:#f8fafccc;cursor:pointer}.status-badge{border:1px solid #0000}.status-pending{border-color:#fde68a}.status-assigned{border-color:#bfdbfe}.status-in-progress{border-color:#c7d2fe}.status-onhold{border-color:#fecaca}.status-closed{border-color:#bbf7d0}@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:#1e293b;font-family:Inter,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:3rem 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reports-page-header{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #fff6;border-radius:20px;box-shadow:0 10px 30px -5px #0000001a,0 0 0 1px #fff9;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,#0f172a,#334155);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.subtitle{color:#64748b;font-size:.85rem;font-weight:500;margin:.2rem 0 0}.report-summary-stats{display:flex;gap:1rem}.stat-pill{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem}.stat-pill.pending{background:#fffbeb;border-color:#fde68a;color:#b45309}.stat-pill.assigned{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.stat-pill.success{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.stat-label{color:#64748b;font-weight:600}.stat-value{font-weight:800}.filter-card{animation:slideDown .4s ease-out;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #fff9;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:#475569;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.filter-item input,.filter-item select{background-color:#fff9;border:1px solid #cbd5e1cc;border-radius:12px;box-sizing:border-box;color:#1e293b;font-size:.95rem;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.filter-item input:focus,.filter-item select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.filter-actions{border-top:1px solid #e2e8f099;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-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,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f640;color:#fff}.btn-generate:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px #3b82f659;transform:translateY(-2px)}.btn-export{background-color:#64748b;border:1px solid #cbd5e1;box-shadow:0 2px 4px #0000000d;color:#fff}.btn-export:hover{background-color:#475569;border-color:#94a3b8;box-shadow:0 4px 8px #00000014;transform:translateY(-2px)}.btn-clear{background:#0000;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;font-weight:600;padding:.8rem 1.6rem;transition:all .2s}.btn-clear:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.reports-table-card{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 10px 30px -5px #0000000f,0 0 0 1px #ffffff80;overflow:hidden}.table-wrapper{overflow-x:auto}.report-table{border-collapse:collapse;white-space:nowrap;width:100%}.report-table thead{background-color:#f1f5f980;border-bottom:1px solid #e2e8f0cc}.report-table th{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:1.25rem 1.5rem;text-align:left;text-transform:uppercase}.report-table td{border-bottom:1px solid #f1f5f9cc;color:#334155;font-size:.95rem;padding:1.25rem 1.5rem}.report-table tr:hover{background-color:#f8fafccc}.status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.35rem .85rem;text-transform:uppercase}.status-pending{background-color:#fef3c7;border:1px solid #fde68a;color:#d97706}.status-assigned{background-color:#dbeafe;border:1px solid #bfdbfe;color:#2563eb}.status-in-progress{background-color:#e0e7ff;border:1px solid #c7d2fe;color:#4f46e5}.status-onhold{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626}.status-closed{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a}.sub-role,.sub-text,.sub-time{color:#64748b;display:block;font-size:.75rem;margin-top:.15rem}.block-text,.dept-text,.main-date{font-weight:600}.activity-cell{color:#475569;font-size:.85rem;font-style:italic}.type-text{background:#f1f5f9;border-radius:6px;font-size:.85rem;font-weight:500;padding:.25rem .5rem}.assignee-info{line-height:1.2}.unassigned{color:#94a3b8;font-style:italic}.btn-delete-report{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#ef4444;cursor:pointer;padding:.4rem;transition:all .2s}.btn-delete-report:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.error-banner{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fef2f2d9;border:1px solid #fecaca80;border-radius:12px;box-shadow:0 4px 6px -1px #dc26260d;color:#b91c1c;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}}.loading{align-items:center;color:#6366f1;display:flex;font-size:1.2rem;font-weight:600;justify-content:center;min-height:100vh}:root{--bg1:#0f1f3f;--bg2:#1a2f52;--accent-start:#3b5998;--accent-mid:#2d4575;--accent-end:#c5d3e0;--glass-bg:#3b599814;--glass-border:#3b599826}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background-attachment:fixed;color:#1a2f52;font-family:Poppins,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;overflow-x:hidden}.animated-bg:before{animation:liquidFlow 20s ease-in-out infinite;background:radial-gradient(circle at 15% 30%,#3b599833 0,#0000 35%),radial-gradient(circle at 85% 70%,#c5d3e026 0,#0000 40%),radial-gradient(circle at 50% 50%,#2d45751a 0,#0000 50%);background-size:400% 400%;filter:blur(80px)}.animated-bg:after,.animated-bg:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}.animated-bg:after{backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);background:radial-gradient(circle at 25% 25%,#667eea14 0,#0000 45%),radial-gradient(circle at 75% 75%,#f093fb0f 0,#0000 45%)}@keyframes liquidFlow{0%{background-position:0 50%}25%{background-position:50% 0}50%{background-position:100% 50%}75%{background-position:50% 100%}to{background-position:0 50%}}.page-fade{animation:pageIn .45s ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}h1,h2,h3{position:relative}h1{-webkit-text-fill-color:#0000;animation:h1Glow 4s ease-in-out infinite;background:linear-gradient(120deg,#667eea,#764ba2 35%,#f093fb 65%,#764ba2);-webkit-background-clip:text;background-clip:text;background-size:200% auto;filter:drop-shadow(0 0 20px rgba(240,147,251,.1));font-weight:900;letter-spacing:-1px}@keyframes h1Glow{0%,to{background-position:0;filter:drop-shadow(0 0 15px rgba(240,147,251,.1))}50%{background-position:100%;filter:drop-shadow(0 0 30px rgba(102,126,234,.2))}}h2{background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px rgba(102,126,234,.12));font-weight:800}h2,h3{-webkit-text-fill-color:#0000}h3{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-weight:700}:root{--primary:#3b82f6;--primary-dark:#2563eb;--text-main:#1e293b;--text-light:#64748b;--bg-page:#fff;--glass-bg:#ffffffd9;--glass-border:#ffffff80}*{box-sizing:border-box;margin:0;padding:0}body{color:#1e293b;color:var(--text-main);font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;line-height:1.6}button{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:10px;box-shadow:0 4px 6px #3b82f633;color:#fff;cursor:pointer;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 15px #3b82f64d;transform:translateY(-2px)}button:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}input,select,textarea{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;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:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a;outline:none}a{color:#3b82f6;color:var(--primary);font-weight:500;text-decoration:none;transition:color .2s}a:hover{color:#2563eb;color:var(--primary-dark)}
/*# sourceMappingURL=main.bba5efc9.css.map*/