*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0e1a;color:#e8eaed;font-family:Poppins,sans-serif}.ims-wrapper{display:flex;min-height:100vh;width:100%}.ims-sidebar{background:#1a1f2e;border-right:1px solid #2d3748;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;transition:transform .3s ease;width:260px;z-index:1000}.ims-sidebar::-webkit-scrollbar{width:6px}.ims-sidebar::-webkit-scrollbar-track{background:#1a1f2e}.ims-sidebar::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.ims-logo{border-bottom:1px solid #2d3748;display:flex;padding:24px 20px}.ims-logo.logo-left{justify-content:flex-start}.ims-logo.logo-center{justify-content:center}.ims-logo.logo-right{justify-content:flex-end}.ims-logo a{display:block}.ims-logo h2{color:#fff;font-size:20px;font-weight:700;margin:0}.ims-logo p{color:#718096;font-size:12px;margin:4px 0 0}.ims-nav{flex:1;padding:16px 0}.ims-nav-item{align-items:center;border-left:3px solid transparent;color:#a0aec0;display:flex;font-size:14px;font-weight:500;padding:12px 20px;position:relative;text-decoration:none;transition:all .2s ease}.ims-nav-item.active,.ims-nav-item:hover{background:#2d3748;border-left-color:#333f9d;color:#fff}.ims-nav-item i{font-size:18px;margin-right:12px;width:20px}.ims-nav-item .badge{background:#c53030;border-radius:12px;color:#fff;font-size:11px;margin-left:auto;padding:2px 8px}.ims-user-section{border-top:1px solid #2d3748;padding:16px 20px}.ims-user-profile{align-items:center;background:#2d3748;border-radius:8px;color:#e8eaed;display:flex;margin-bottom:10px;padding:10px;text-decoration:none;transition:background .2s ease}.ims-user-profile:hover{background:#4a5568;color:#fff}.assignee-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;margin-right:12px;text-transform:uppercase;width:36px}.assignee-avatar img{border-radius:50%;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ims-user-info{flex:1;min-width:0}.ims-user-name{color:#fff;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ims-user-role{color:#718096;font-size:12px}.ims-logout-btn{align-items:center;background:transparent;border:1px solid #e53e3e;border-radius:6px;color:#fc8181;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;padding:10px 16px;transition:all .2s ease;width:100%}.ims-logout-btn:hover{background:#742a2a;color:#fff}.ims-logout-btn i{margin-right:8px}.ims-switch-btn{align-items:center;background:transparent;border:1px solid #667eea;border-radius:6px;color:#a3bffa;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;margin-bottom:10px;padding:10px 16px;text-decoration:none;transition:all .2s ease;width:100%}.ims-switch-btn:hover{background:#333f9d;border-color:#333f9d;color:#fff}.ims-switch-btn i{margin-right:8px}.ims-switch-btn.coordinator-mode{border-color:#48bb78;color:#9ae6b4}.ims-switch-btn.coordinator-mode:hover{background:#276749;border-color:#276749;color:#fff}.coordinator-mode-indicator{align-items:center;background:rgba(72,187,120,.1);border:1px solid #48bb78;border-radius:6px;color:#9ae6b4;display:flex;font-size:12px;gap:8px;margin-bottom:15px;padding:8px 12px}.coordinator-mode-indicator i{color:#48bb78}.ims-notification-btn{align-items:center;background:transparent;border:1px solid #4a5568;border-radius:6px;color:#a0aec0;cursor:pointer;display:flex;font-size:18px;justify-content:center;margin-bottom:10px;padding:10px 16px;position:relative;text-decoration:none;transition:all .2s ease;width:100%}.ims-notification-btn:hover{background:#2d3748;border-color:#63b3ed;color:#63b3ed}.notification-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:6px;text-align:center;top:6px}.ims-login-section{display:flex;flex-direction:column;gap:10px}.ims-login-btn{align-items:center;background:#2d3748;border:1px solid #333f9d;border-radius:8px;color:#4d79ff;cursor:pointer;display:flex;font-size:13px;font-weight:500;justify-content:flex-start;padding:12px 16px;text-decoration:none;transition:all .2s ease;width:100%}.ims-login-btn:hover{background:#333f9d;color:#fff;transform:translateY(-2px)}.ims-login-btn i{font-size:18px;margin-right:10px}.ims-main{display:flex;flex:1;flex-direction:column;margin-left:260px;min-height:100vh}.ims-header{background:#1a1f2e;border-bottom:1px solid #2d3748;padding:20px 32px;position:sticky;top:0;z-index:100}.ims-content{flex:1;padding:32px}@media (max-width:1024px){.ims-sidebar{transform:translateX(-100%)}.ims-main{margin-left:0;padding-bottom:70px}.ims-content{padding:20px 16px 80px}.ims-header{padding:16px 20px}.ims-sidebar{z-index:1001}}.text-center{text-align:center}.table{background:#1a1f2e;border-radius:8px;color:#e8eaed;overflow:hidden}.table thead{background:#2d3748}.table thead th{border:none;color:#a0aec0;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-transform:uppercase}.table tbody td{border-color:#2d3748;padding:16px 20px;vertical-align:middle}.table tbody tr:hover{background:#2d3748}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn-primary{background:#333f9d;color:#fff}.btn-primary:hover{background:#4d79ff;color:#fff}.btn i{margin-right:6px}.form-group{margin-bottom:20px}.form-label{color:#a0aec0;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-control,.form-select{background:#2d3748;border:1px solid #4a5568;border-radius:6px;color:#e8eaed;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.form-control:focus,.form-select:focus{background:#1a1f2e;border-color:#333f9d;color:#fff;outline:none}.form-control:-webkit-autofill,.form-control:-webkit-autofill:focus,.form-control:-webkit-autofill:hover{-webkit-text-fill-color:#fff;-webkit-box-shadow:inset 0 0 0 1000px #2d3748;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.form-control::-moz-placeholder{color:#718096}.form-control::placeholder{color:#718096}.card{background:#1a1f2e;border:1px solid #2d3748;border-radius:8px;padding:24px}.card,.card-title{margin-bottom:20px}.card-title{color:#fff;font-size:18px;font-weight:600}.swal2-popup{background:#1a1f2e!important;color:#e8eaed!important}.swal2-title{color:#fff!important}.swal2-html-container{color:#a0aec0!important}.swal2-confirm{background:#333f9d!important}.swal2-confirm:hover{background:#4d79ff!important}.swal2-cancel{background:#742a2a!important}.swal2-input{background:#2d3748!important;border:1px solid #4a5568!important;color:#e8eaed!important}.swal2-input:focus{border-color:#333f9d!important}.ims-footer{background:#1a1f2e;border-top:1px solid #2d3748;color:#718096;font-size:13px;padding:16px 32px;text-align:center}.ims-footer a{color:#667eea;font-weight:500;text-decoration:none}.ims-footer a:hover{color:#8b5cf6;text-decoration:underline}.ims-nav-group{margin-bottom:4px}.ims-nav-group-toggle{align-items:center;background:transparent;border:none;border-left:3px solid transparent;color:#a0aec0;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;justify-content:space-between;padding:12px 20px;transition:all .2s ease;width:100%}.ims-nav-group-toggle:hover{background:#2d3748;color:#fff}.ims-nav-group-toggle.active{background:rgba(51,63,157,.1);border-left-color:#333f9d;color:#4d79ff}.ims-nav-group-toggle .toggle-left{align-items:center;display:flex}.ims-nav-group-toggle i.group-icon{font-size:18px;margin-right:12px;width:20px}.ims-nav-group-toggle i.chevron{font-size:16px;transition:transform .2s ease}.ims-nav-group.open .ims-nav-group-toggle i.chevron{transform:rotate(90deg)}.ims-nav-group-items{background:#151a26;max-height:0;overflow:hidden;transition:max-height .3s ease}.ims-nav-group.open .ims-nav-group-items{max-height:500px}.ims-nav-group-items .ims-nav-item{border-left:none;font-size:13px;padding-left:52px}.ims-nav-group-items .ims-nav-item i{font-size:16px}.pwa-modal{align-items:center;background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.pwa-modal-content{background:#1a1f2e;border-radius:16px;max-width:400px;padding:32px;position:relative;text-align:center;width:100%}.pwa-modal-close{background:transparent;border:none;color:#a0aec0;cursor:pointer;font-size:24px;position:absolute;right:16px;top:16px}.pwa-modal-header{margin-bottom:24px}.pwa-modal-header h2{color:#fff;font-size:20px;margin-top:16px}.pwa-modal-body{color:#a0aec0;text-align:left}.pwa-step{align-items:flex-start;background:#0f1419;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px}.pwa-step-number{align-items:center;background:#8b5cf6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.pwa-step-text{flex:1}.pwa-step-text strong{color:#fff;display:block;margin-bottom:4px}.pwa-step-icon{color:#8b5cf6;font-size:20px}.pwa-install-banner{align-items:center;background:linear-gradient(135deg,#1a1f2e,#2d3748);border:1px solid #4a5568;border-radius:16px;bottom:-100%;box-shadow:0 8px 32px rgba(0,0,0,.4);display:flex;gap:16px;justify-content:space-between;left:50%;max-width:420px;padding:16px 20px;position:fixed;transform:translateX(-50%);transition:bottom .4s ease;width:calc(100% - 32px);z-index:9999}.pwa-install-banner.show{bottom:90px}@media (min-width:1025px){.pwa-install-banner.show{bottom:30px}}.pwa-install-content{align-items:center;display:flex;flex:1;gap:12px}.pwa-install-icon{align-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.pwa-install-icon i{color:#fff;font-size:24px}.pwa-install-text{display:flex;flex-direction:column;gap:2px}.pwa-install-text strong{color:#fff;font-size:14px;font-weight:600}.pwa-install-text span{color:#a0aec0;font-size:12px}.pwa-install-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.pwa-install-btn{align-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 16px;transition:transform .2s,box-shadow .2s}.pwa-install-btn:hover{box-shadow:0 4px 12px rgba(124,58,237,.4);transform:scale(1.05)}.pwa-install-btn i{font-size:16px}.pwa-install-dismiss{align-items:center;background:transparent;border:1px solid #4a5568;border-radius:8px;color:#a0aec0;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.pwa-install-dismiss:hover{background:#2d3748;border-color:#667eea;color:#fff}.pwa-install-dismiss i{font-size:18px}@media (max-width:480px){.pwa-install-banner{padding:20px;text-align:center}.pwa-install-banner,.pwa-install-content{flex-direction:column}.pwa-install-actions{justify-content:center;width:100%}.pwa-install-btn{flex:1}}.feedback-floating-container{align-items:flex-end;bottom:30px;display:flex;flex-direction:column;gap:12px;position:fixed;right:30px;z-index:999}.feedback-floating-btn{align-items:center;animation:pulse-feedback 2s infinite;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(139,92,246,.4);cursor:pointer;display:flex;height:60px;justify-content:center;transition:all .3s ease;width:60px}.feedback-floating-btn i{color:#fff;font-size:28px}.feedback-floating-btn:hover{animation:none;box-shadow:0 6px 20px rgba(139,92,246,.6);transform:scale(1.1)}.feedback-menu{background:#1a1f2e;border-radius:12px;bottom:75px;box-shadow:0 8px 24px rgba(0,0,0,.3);min-width:240px;opacity:0;overflow:hidden;position:absolute;right:0;transform:translateY(10px) scale(.95);transition:all .3s ease;visibility:hidden}.feedback-menu.active{opacity:1;transform:translateY(0) scale(1);visibility:visible}.feedback-menu-item{align-items:center;background:transparent;border:none;color:#e8eaed;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 18px;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.feedback-menu-item:hover{background:#2d3748}.feedback-menu-item i{color:#8b5cf6;font-size:20px}.feedback-menu-item:not(:last-child){border-bottom:1px solid #2d3748}@keyframes pulse-feedback{0%,to{box-shadow:0 4px 12px rgba(139,92,246,.4)}50%{box-shadow:0 4px 20px rgba(139,92,246,.7)}}@media (max-width:768px){.feedback-floating-container{bottom:90px;right:20px}.feedback-floating-btn{height:50px;width:50px}.feedback-floating-btn i{font-size:24px}.feedback-menu{bottom:65px;min-width:220px}.feedback-menu-item{font-size:13px;padding:12px 16px}}.calendar-floating-container{align-items:flex-start;bottom:30px;display:flex;flex-direction:column;gap:12px;left:280px;position:fixed;z-index:1001}@media (max-width:1024px){.calendar-floating-container{left:20px}}.calendar-floating-btn{align-items:center;background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(66,153,225,.4);cursor:pointer;display:flex;height:56px;justify-content:center;position:relative;transition:all .3s ease;width:56px}.calendar-floating-btn i{color:#fff;font-size:26px}.calendar-floating-btn:hover{box-shadow:0 6px 20px rgba(66,153,225,.6);transform:scale(1.1)}.calendar-badge{align-items:center;background:#e53e3e;border-radius:10px;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 6px;position:absolute;right:-4px;top:-4px}.calendar-widget-panel{background:#1a1f2e;border-radius:16px;bottom:70px;box-shadow:0 8px 32px rgba(0,0,0,.4);left:0;opacity:0;overflow:hidden;position:absolute;transform:translateY(20px) scale(.95);transition:all .3s ease;visibility:hidden;width:320px}.calendar-widget-panel.active{opacity:1;transform:translateY(0) scale(1);visibility:visible}.calendar-widget-header{align-items:center;background:#151a26;border-bottom:1px solid #2d3748;display:flex;justify-content:space-between;padding:16px 20px}.calendar-widget-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.calendar-widget-actions{display:flex;gap:8px}.calendar-widget-close,.calendar-widget-link{align-items:center;background:#2d3748;border:none;border-radius:8px;color:#a0aec0;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;text-decoration:none;transition:all .2s ease;width:32px}.calendar-widget-close:hover,.calendar-widget-link:hover{background:#4a5568;color:#fff}.calendar-mini-month{border-bottom:1px solid #2d3748;padding:16px}.calendar-mini-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-mini-title{color:#fff;font-size:14px;font-weight:600}.calendar-mini-nav{align-items:center;background:transparent;border:1px solid #4a5568;border-radius:6px;color:#a0aec0;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.calendar-mini-nav:hover{background:#2d3748;border-color:#667eea;color:#fff}.calendar-mini-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px;text-align:center}.calendar-mini-weekdays span{color:#718096;font-size:11px;font-weight:600;padding:4px}.calendar-mini-days{display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;border-radius:6px;color:#e8eaed;cursor:pointer;display:flex;font-size:12px;justify-content:center;position:relative;transition:all .2s ease}.calendar-day:not(.empty):hover{background:#2d3748}.calendar-day.empty{cursor:default}.calendar-day.today{background:#333f9d;color:#fff;font-weight:600}.calendar-day.has-items{font-weight:600}.calendar-dot{background:#4299e1;border-radius:50%;bottom:2px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.calendar-day.today .calendar-dot{background:#fff}.calendar-upcoming{max-height:200px;overflow-y:auto}.calendar-upcoming-header{background:#1a1f2e;padding:12px 16px 8px;position:sticky;top:0}.calendar-upcoming-header h4{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.calendar-upcoming-list{padding:0 12px 12px}.calendar-upcoming-item{align-items:center;background:#2d3748;border-radius:10px;display:flex;gap:12px;margin-bottom:8px;padding:10px 12px;text-decoration:none;transition:all .2s ease}.calendar-upcoming-item:last-child{margin-bottom:0}.calendar-upcoming-item:hover{background:#4a5568;transform:translateX(4px)}.calendar-item-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.calendar-item-icon i{font-size:18px}.calendar-item-content{flex:1;min-width:0}.calendar-item-title{color:#e8eaed;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item-meta{display:flex;gap:8px;margin-top:2px}.calendar-item-date,.calendar-item-time{color:#718096;font-size:11px}.calendar-empty,.calendar-loading{align-items:center;color:#718096;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:24px}.calendar-loading i{animation:spin 1s linear infinite;font-size:24px}.calendar-empty i{color:#4a5568;font-size:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar-widget-footer{background:#151a26;border-top:1px solid #2d3748;display:flex;gap:8px;padding:12px 16px}.calendar-widget-btn{align-items:center;background:#2d3748;border:none;border-radius:8px;color:#e8eaed;cursor:pointer;display:flex;flex:1;font-size:12px;font-weight:500;gap:6px;justify-content:center;padding:10px 12px;text-decoration:none;transition:all .2s ease}.calendar-widget-btn i{font-size:16px}.calendar-widget-btn:hover{background:#4a5568}.calendar-widget-btn.primary{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.calendar-widget-btn.primary:hover{box-shadow:0 4px 12px rgba(66,153,225,.4)}@media (max-width:768px){.calendar-floating-container{bottom:90px}.calendar-floating-btn{height:50px;width:50px}.calendar-floating-btn i{font-size:22px}.calendar-widget-panel{bottom:65px;max-width:320px;width:calc(100vw - 40px)}}body.calendar-page .calendar-floating-container{display:none}.pwa-update-toast{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);display:flex;gap:12px;left:50%;max-width:400px;padding:12px 16px;position:fixed;top:-80px;transform:translateX(-50%);transition:top .4s ease;width:calc(100% - 32px);z-index:10001}.pwa-update-toast.show{top:20px}.pwa-update-content{align-items:center;color:#fff;display:flex;flex:1;font-size:14px;font-weight:500;gap:8px}.pwa-update-content i{font-size:20px}.pwa-update-btn{background:#fff;border:none;border-radius:6px;color:#059669;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:transform .2s}.pwa-update-btn:hover{transform:scale(1.05)}.pwa-update-dismiss{align-items:center;background:transparent;border:none;color:hsla(0,0%,100%,.8);cursor:pointer;display:flex;justify-content:center;padding:4px}.pwa-update-dismiss:hover{color:#fff}.pwa-update-dismiss i{font-size:18px}

/*# sourceMappingURL=layout.css.map*/