*{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh;overflow:hidden;position:relative;width:100%}.App>*{transition:opacity .5s ease-in-out}.landing-page{background-image:url(/static/media/lnding.b8511878e1532bbe1a0c.png);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;display:grid;height:100vh;overflow:hidden;place-items:center;position:relative;width:100vw}.landing-content{animation:fadeInUp 1s ease-out;color:#fff;max-width:600px;padding:2rem;position:relative;text-align:center;transition:opacity .5s ease-in-out;z-index:2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo-section{margin-bottom:2rem}.anchor-icon{background:none;box-shadow:none;color:#f44;filter:none;font-size:8rem;margin-bottom:1rem}.logo-text{align-items:center;display:flex;font-size:3rem;font-weight:700;justify-content:center;letter-spacing:2px;text-shadow:0 2px 8px #00000040}.logo-letter{font-family:inherit}.logo-red{color:#f44;font-weight:900}.logo-white{color:#fff;font-weight:700}.anchor-text{color:#f44}.point-text{color:#fff}.taglines{margin-bottom:3rem}.tagline-1{font-size:1.5rem;margin-bottom:1rem;opacity:.9}.tagline-1,.tagline-2{font-weight:300;line-height:1.4}.tagline-2{font-size:1.2rem;opacity:.8}.click-hint{animation:pulse 2s ease-in-out infinite;font-size:.9rem;margin-top:2rem;opacity:.6;text-align:center}.landing-page:hover{background-image:url(/static/media/lnding.b8511878e1532bbe1a0c.png);background-position:50%;background-repeat:no-repeat;background-size:cover}.landing-page:hover .landing-content{opacity:1}.landing-page:not(:hover) .landing-content{opacity:0}.landing-page:hover .anchor-icon{transform:scale(1.1);transition:transform .3s ease}.landing-page:hover .click-hint{opacity:1;transition:opacity .3s ease}@media (max-width:768px){.landing-content{max-width:90%;padding:1rem}.logo-text{font-size:2rem}.anchor-icon{font-size:6rem}.tagline-1{font-size:1.3rem}.tagline-2{font-size:1rem}}@media (max-width:480px){.logo-text{font-size:1.8rem}.anchor-icon{font-size:5rem}.tagline-1{font-size:1.1rem}}.homepage{background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;font-family:Segoe UI,Roboto,Arial,sans-serif;height:auto;margin:0;min-height:100vh;overflow:visible;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.homepage::-webkit-scrollbar{display:none}.dashboard-container,.homepage{-ms-overflow-style:none;scrollbar-width:none}.dashboard-container{flex:1 1;height:auto;min-height:100vh;overflow-x:hidden;overflow-y:visible}.analytics-dashboard-container::-webkit-scrollbar,.dashboard-container::-webkit-scrollbar,.dashboard-layout::-webkit-scrollbar,.system-capabilities-main-container::-webkit-scrollbar{display:none}.dashboard-container::-webkit-scrollbar{display:none}*,.analytics-dashboard-container,.dashboard-container,.dashboard-layout,.system-capabilities-main-container{-ms-overflow-style:none;scrollbar-width:none}*{box-sizing:border-box}::-webkit-scrollbar{display:none}.background-video,.background-video-container,.video-overlay{display:none}.dashboard-header{background:#0000;color:#1e293b;margin-bottom:10px;padding:20px 20px 15px;position:relative;z-index:2}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-text{text-align:left}.header-time-date{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.header-time-date .current-time-display{background:#0000;border:none;box-shadow:none;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1.5rem;font-weight:900;letter-spacing:1px;padding:0;text-shadow:0 2px 4px #0000001a}.header-time-date .current-date-display{color:#1e293b;font-size:.9rem;font-weight:700;text-align:right;text-shadow:0 1px 2px #0000001a}.welcome-title{color:#1e293b;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;text-shadow:0 2px 4px #0000001a}.system-subtitle{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 4px;text-shadow:0 1px 2px #0000001a}.system-description{font-size:.85rem;margin:0;opacity:.8}.dashboard-layout{display:flex;gap:24px;height:auto;justify-content:center;margin:0 auto;max-width:1600px;min-height:calc(100vh - 180px);overflow:visible;padding:0 20px 32px;position:relative;width:100%;z-index:2}@media (max-width:1200px){.dashboard-layout{gap:16px;max-width:1400px;padding:0 16px 24px;width:100%}.dashboard-content,.dashboard-layout{height:auto;min-height:calc(100vh - 120px)}.dashboard-content{padding:16px}.dashboard-container{max-width:none;padding:20px}.dashboard-header{margin-bottom:8px;padding:15px 20px 10px}.welcome-title{font-size:1.8rem}.system-subtitle{font-size:.9rem}.header-time-date .current-time-display{font-size:1.3rem}.header-time-date .current-date-display{font-size:.8rem}.analytics-dashboard-container{margin:0 auto 16px;max-width:1400px}.system-capabilities-main-container{max-width:100%}.capabilities-grid{gap:16px;grid-template-columns:repeat(3,1fr);max-width:100%}.capability-card{padding:16px}.capability-icon{height:56px;margin-bottom:16px;width:56px}.capability-title{font-size:1.2rem;margin-bottom:12px}.capability-description{font-size:.9rem;margin-bottom:16px}}.dashboard-content{flex:1 1;height:calc(100vh - 180px);padding:24px;position:relative;z-index:2}.dashboard-container{background:#0000;display:flex;flex-direction:column;margin-bottom:60px;max-width:none;overflow:visible;padding:16px 12px;position:relative;transition:all .3s ease;width:100%}.dashboard-container:before{background:#1e2a5e;border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.info-panel-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:24px;box-shadow:0 20px 60px #00000014,0 8px 25px #0000000a;display:flex;flex:1 1;flex-direction:column;max-width:400px;min-width:340px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.info-panel-container:before{background:linear-gradient(90deg,#4a90e2,#2f3b70 50%,#4a90e2);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.dashboard-main-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#3b82f6);-webkit-background-clip:text;background-clip:text;color:#1e293b;flex-shrink:0;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin:12px 0 24px;padding-bottom:16px;position:relative;text-align:center;text-shadow:0 2px 4px #0000001a}.dashboard-main-title:after{content:none}.dashboard-sections{display:flex;flex:1 1;flex-direction:column;gap:12px;height:auto;max-height:none;min-height:auto;overflow:visible;padding:0;position:relative;z-index:201}.chart-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:8px;position:relative;z-index:202}.dashboard-section{background:#fff;border:1px solid #2f3b701a;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;justify-content:flex-start;min-height:220px;overflow:visible;padding:12px;position:relative;transition:all .3s ease;z-index:203}.dashboard-section .section-subtitle{display:none!important}.dashboard-section:has(.vessels-list){overflow:hidden}.dashboard-section:nth-child(2),.dashboard-section:nth-child(2) .chart-container,.dashboard-section:nth-child(2) .forecast-content,.dashboard-section:nth-child(2) .performance-summary{overflow:visible!important}.section-title{color:#1e293b;flex-shrink:0;font-size:1.2rem;font-weight:700;letter-spacing:.05em;margin:0 0 20px;padding-bottom:12px;position:relative;text-align:left;text-transform:uppercase}.section-title:after{content:none}.info-section{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 16px #0000000f,0 1px 4px #0000000a;flex-shrink:0;margin-bottom:16px;overflow:hidden;transition:all .3s ease}.info-section:hover{border-color:#3b82f64d;box-shadow:0 8px 24px #0000001a,0 2px 8px #0000000f;transform:translateY(-2px)}.info-header{background:linear-gradient(135deg,#1e293b,#3b82f6);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.5px;margin:0;padding:12px 16px;text-shadow:0 1px 2px #0003;text-transform:uppercase}.info-header:after{background:#fff3;bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.current-time-display{border-radius:12px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1.6rem;font-weight:800;letter-spacing:1px;margin:16px;padding:20px;text-shadow:0 1px 2px #0000001a}.calendar-display,.current-time-display{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;box-shadow:0 4px 16px #0000000f,0 1px 4px #0000000a;color:#1e293b;text-align:center;transition:all .3s ease}.calendar-display{border-radius:12px;font-size:.9rem;font-weight:700;margin:12px;padding:16px}.events-display{padding:12px}.no-events{color:#64748b;font-style:italic;font-weight:500;margin:0}.event-item-info{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:12px 0;transition:all .3s ease}.event-item-info:hover{background:#3b82f60d;border-radius:8px;margin:0 -8px;padding:12px 8px}.event-item-info:last-child{border-bottom:none}.event-indicator{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 2px 8px #3b82f64d;color:#fff;font-size:.8rem;height:20px;width:20px}.event-title{color:#1e293b;font-size:.85rem;font-weight:700;margin-bottom:4px}.event-time{color:#64748b;font-size:.75rem;font-weight:500}.users-section{margin-bottom:0}.users-list-info{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;max-height:160px;overflow-y:auto;padding:12px}.user-item-info{align-items:center;border-bottom:1px solid #e2e8f0cc;display:flex;gap:12px;padding:12px 0;transition:all .3s ease}.user-item-info:hover{background:#3b82f60d;border-radius:8px;margin:0 -8px;padding:12px 8px}.user-item-info:last-child{border-bottom:none}.user-avatar-info{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:32px;justify-content:center;transition:all .3s ease;width:32px}.user-info-details{flex:1 1}.user-name-info{color:#1e293b;font-size:.85rem;font-weight:700;margin-bottom:4px}.user-role-info{color:#3b82f6;font-size:.75rem;font-weight:600}.no-users{color:#9ca3af;font-size:.75rem;padding:16px;text-align:center}.no-users p{margin:0}.chart-container{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:inset 0 2px 4px #00000005;display:flex;flex:1 1;justify-content:center;margin-bottom:8px;max-height:300px;min-height:180px;padding:8px;z-index:204}.yearly-growth-note{background:#2f3b7014;border-radius:8px;color:#2f3b70;font-size:.82rem;line-height:1.35;margin-top:10px;padding:10px 14px}.chart-container{height:150px;min-height:150px;overflow:visible;position:relative;width:100%}.chart-container *{overflow:visible!important}.chart-container>div{height:100%!important;width:100%!important}.peak-quarter-info{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;justify-content:space-between;margin-top:16px;min-height:60px;overflow:visible;padding:16px;padding:16px 20px;position:relative;text-align:center;z-index:205}.peak-quarter-info p{color:#2f3b70;font-size:.95rem;font-weight:600;margin:0}.monthly-performance-info{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;justify-content:space-between;margin-top:16px;min-height:60px;overflow:visible;padding:16px 20px}.monthly-performance-info p{color:#2f3b70;font-size:.95rem;font-weight:600;margin:0}.service-distribution-list{min-width:350px;padding:16px 0;width:100%}.service-item{margin-bottom:16px;min-width:350px;width:100%}.service-header{display:flex;justify-content:space-between;margin-bottom:8px}.service-name{font-weight:500}.service-count,.service-name{color:#2f3b70;font-size:.9rem}.service-count{font-weight:700}.service-progress-bar{background:#e9ecef;border-radius:4px;height:8px;min-width:300px;overflow:hidden;width:100%}.service-progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.ai-insights-btn{transition:all .2s ease}.ai-insights-btn:hover:not(:disabled){background-color:#1e2a5e!important;box-shadow:0 2px 4px #2f3b704d;transform:translateY(-1px)}.ai-insights-btn:active:not(:disabled){transform:translateY(0)}.vessels-list{flex:1 1;flex-direction:column;gap:12px;height:246px}.vessel-item,.vessels-list{display:flex;overflow:hidden}.vessel-item{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #2f3b701a;border-radius:12px;box-shadow:0 4px 12px #0000000f;flex-shrink:0;max-height:70px;min-height:70px;padding:16px}.vessel-item:hover{background:#fff;border-color:#2f3b7033;box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.vessel-rank{margin-right:15px}.rank-number{align-items:center;background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border:2px solid #2f3b701a;border-radius:50%;box-shadow:0 2px 4px #0000000d;color:#64748b;display:flex;font-size:1.1rem;font-weight:700;height:42px;justify-content:center;width:42px}.rank-number.top-vessel{background:linear-gradient(135deg,#2f3b70,#4a90e2);border:2px solid #ffffff4d;box-shadow:0 4px 8px #2f3b704d;color:#fff}.vessel-name{color:#000;font-size:1.2rem;margin-bottom:8px}.vessels-list .vessel-item .vessel-info .vessel-name{color:#000!important}.vessel-count{color:#4a90e2;font-size:1rem;font-weight:600}.vessel-badge{background:#f8f9fa;border:1px solid #2f3b701a;border-radius:12px;color:#2f3b70;flex-shrink:0;font-size:.9rem;font-weight:600;margin-left:12px;padding:6px 12px}.performance-summary{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;font-size:.9rem;justify-content:space-between;margin-top:16px;min-height:60px;overflow:visible;padding:16px 20px}.performance-summary p{color:#2f3b70;font-size:.95rem;font-weight:600;margin:0}.vessel-types-list{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto}.vessel-type-item{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #2f3b7014;border-radius:6px;box-shadow:0 2px 4px #00000005;display:flex;justify-content:space-between;padding:8px 10px;transition:all .3s ease}.type-info{flex:1 1}.type-name{color:#2f3b70;font-size:.8rem;font-weight:600;margin-bottom:2px}.type-count{color:#4a90e2;font-size:.7rem;font-weight:500}.type-percentage{background:linear-gradient(135deg,#4a90e2,#2f3b70);border-radius:12px;color:#fff;font-size:.7rem;font-weight:600;min-width:40px;padding:4px 8px;text-align:center}.efficiency-metrics{display:flex;flex:1 1;flex-direction:column;gap:8px}.efficiency-item{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #2f3b7014;border-radius:12px;box-shadow:0 4px 12px #0000000f;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px 20px;transition:all .3s ease}.efficiency-item:hover{box-shadow:0 4px 8px #0000000f;transform:translateY(-1px)}.efficiency-label{color:#2f3b70;flex:1 1;font-size:.9rem;font-weight:600}.efficiency-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4a90e2,#2f3b70);-webkit-background-clip:text;background-clip:text;color:#4a90e2;font-size:1.1rem;font-weight:700}.peak-performance-metrics{display:flex;flex-direction:column;gap:16px}.performance-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:16px;display:flex;justify-content:space-between;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.performance-item:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.performance-item:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.performance-label{color:#64748b;font-size:.9rem;font-weight:600}.performance-value{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.performance-day,.performance-month,.performance-quarter{color:#1e293b;font-size:1.1rem;font-weight:700}.performance-count{color:#64748b;font-size:.9rem;font-weight:600}.forecast-content{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:16px;overflow:visible;padding:20px;position:relative}.forecast-content:before{background:linear-gradient(135deg,#10b981,#059669);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.forecast-metrics{display:flex;flex-direction:column;gap:20px}.forecast-item{align-items:center;background:#fffc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.forecast-item:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.forecast-label{color:#64748b;font-size:.9rem;font-weight:600}.forecast-value{color:#1e293b;font-size:1.3rem;font-weight:700;text-align:right}.forecast-trend{color:#fff;font-size:.8rem;font-weight:500;margin-top:4px;text-align:right}.error-container,.loading-container{align-items:center;color:#2f3b70;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border-top-color:#2f3b70;margin-bottom:15px}.error-container{color:#dc3545}.main-dashboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 8px 32px #0000001a;flex:1 1;overflow:visible}.dashboard-title{background:linear-gradient(135deg,#2f3b70,#4a90e2);color:#fff;margin:0;padding:20px 24px}.dashboard-title h3{font-size:1.4rem;font-weight:600;margin:0}.dashboard-content{height:calc(100% - 60px);overflow-y:auto;padding:15px}.analytics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);height:100%}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:16px;transition:all .3s ease}.metric-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.metric-card h4{border-bottom:2px solid #f3f4f6;color:#374151;font-size:.85rem;font-weight:700;letter-spacing:.8px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.status-chart{display:flex;flex-direction:column;gap:6px}.status-item{align-items:center;display:flex;font-size:.8rem;gap:8px}.status-indicator{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:14px;width:14px}.status-indicator.docked{background:#10b981}.status-indicator.at-sea{background:#3b82f6}.status-indicator.maintenance{background:#f59e0b}.efficiency-score{padding:8px 0;text-align:center}.score-circle{align-items:center;box-shadow:0 4px 12px #10b9814d;display:flex;height:70px;justify-content:center;margin:0 auto 12px;position:relative;width:70px}.score-circle,.score-circle:before{background:linear-gradient(135deg,#10b981,#059669);border-radius:50%}.score-circle:before{bottom:-4px;content:"";left:-4px;opacity:.2;position:absolute;right:-4px;top:-4px;z-index:-1}.score-number{color:#fff;font-size:1.4rem;font-weight:800;text-shadow:0 1px 2px #0000001a}.score-label{color:#6b7280;font-size:.8rem;font-weight:500;margin:0}.crew-metrics{display:flex;flex-direction:column;gap:6px}.crew-item{align-items:center;display:flex;font-size:.8rem;justify-content:space-between}.crew-role{color:#4a5568}.crew-count{color:#2f3b70;font-weight:600}.operations-list{display:flex;flex-direction:column;gap:6px}.operation-item{align-items:center;display:flex;font-size:.75rem;gap:8px}.operation-status{border-radius:50%;height:8px;width:8px}.operation-status.completed{background:#10b981}.operation-status.in-progress{background:#f59e0b}.operation-status.scheduled{background:#6b7280}.operation-time{color:#6b7280;font-size:.7rem;margin-left:auto}.fuel-metrics{display:flex;flex-direction:column;gap:6px}.fuel-item{display:flex;font-size:.8rem;justify-content:space-between}.fuel-label{color:#4a5568}.fuel-value{color:#2f3b70;font-weight:600}.fuel-trend{align-items:center;color:#fff;display:flex;font-size:.75rem;gap:4px}.trend-indicator.up{color:#fff}.compliance-bar,.maintenance-score{margin-bottom:8px}.compliance-bar{background:#f3f4f6;border-radius:6px;box-shadow:inset 0 1px 2px #0000001a;height:10px;overflow:hidden;width:100%}.compliance-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:6px;box-shadow:0 1px 3px #10b9814d;height:100%;transition:width .5s ease}.compliance-text{color:#fff;font-size:.75rem;font-weight:600}.maintenance-items{display:flex;flex-direction:column;gap:4px}.maintenance-items span{color:#4a5568;font-size:.7rem}.right-sidebar{display:flex;flex-direction:column;gap:12px;height:100%;width:280px}.info-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:8px;box-shadow:0 4px 16px #0000001a;flex:1 1;overflow:hidden}.info-panel h4{background:linear-gradient(135deg,#2f3b70,#4a90e2);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin:0;padding:10px 12px;text-transform:uppercase}.time-panel{display:flex;flex-direction:column;gap:8px;padding:12px}.current-time{color:#2f3b70;font-family:Courier New,monospace;font-size:1.4rem;font-weight:700;margin:0;text-align:center}.calendar-widget{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:.8rem;font-weight:500;padding:8px;text-align:center}.upcoming-events{display:flex;flex-direction:column;gap:8px;margin-top:8px}.event-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:8px;padding:6px 0}.event-item:last-child{border-bottom:none}.event-item.completed{opacity:.7}.event-item.completed .event-title{color:#9ca3af;text-decoration:line-through}.event-indicator{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:16px;justify-content:center;width:16px}.event-item.upcoming .event-indicator{background:#3b82f6;color:#fff}.event-item.completed .event-indicator{background:#10b981;color:#fff}.event-content{display:flex;flex:1 1;flex-direction:column}.event-title{color:#374151;font-size:.8rem;font-weight:600;margin-bottom:2px}.event-time{color:#6b7280;font-size:.7rem}.no-events{color:#9ca3af;font-size:.8rem;padding:20px 0;text-align:center}.users-panel{flex:1 1}.users-list{padding:12px}.user-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:8px;padding:8px 0}.user-item:last-child{border-bottom:none}.user-avatar{background:linear-gradient(135deg,#2f3b70,#4a90e2);flex-shrink:0;font-size:.8rem;font-weight:600;height:32px;width:32px}.user-info{flex:1 1}.user-name{color:#1f2937;font-size:.8rem;margin-bottom:2px}.user-role{color:#6b7280;font-size:.7rem}.hero-text h1{color:#fff;font-family:Segoe UI,Arial,sans-serif;font-size:3.5rem;font-weight:800;letter-spacing:.2px;line-height:1.2;margin-bottom:2.5rem;text-shadow:none}.cta-button{align-items:center;background-color:#b6cfff;border-radius:10px;bottom:2.5rem;box-shadow:0 4px 16px #2c365021;cursor:pointer;display:flex;height:54px;justify-content:center;position:fixed;right:2.5rem;transition:background .18s,box-shadow .18s,transform .18s;width:54px;z-index:100}.cta-button:hover{background-color:#232b45;box-shadow:0 6px 24px #2c36502e;transform:translateY(-2px) scale(1.04)}.arrow-icon{color:#fff;font-size:1.5rem;font-weight:700}.center-title{color:#232b45;font-family:Segoe UI,Arial,sans-serif;font-size:3rem;font-weight:800;letter-spacing:.5px;margin:0 auto;text-align:center;width:100%}.homepage-main-content{contain:layout;flex:1 1;height:auto;left:0;margin:0 0 0 250px;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:0 0 40px;position:relative}@media (max-width:1200px){.homepage-main-content{height:auto;margin-left:250px;min-height:100vh;padding:0 0 40px}}.homepage-main-content::-webkit-scrollbar{display:none}.analytics-dashboard-container{background:#0000;display:block;margin:0 auto;max-width:1600px;min-height:auto;overflow:visible;padding:10px 20px 20px;position:relative;visibility:visible;width:100%;z-index:200}.analytics-dashboard-container::-webkit-scrollbar{display:none}.system-capabilities-main-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:1px solid #e2e8f0;box-shadow:0 4px 20px #0000001a;display:block;margin:60px auto 0;max-width:1600px;overflow:visible;padding:40px 20px;position:relative;visibility:visible;width:100%;z-index:1}.system-capabilities-main-container::-webkit-scrollbar{display:none}.homepage *{-ms-overflow-style:none;scrollbar-width:none}.homepage ::-webkit-scrollbar{display:none}.system-capabilities-content{z-index:2}.system-capabilities-content,.system-capabilities-section{background:#0000;display:block;position:relative;visibility:visible}.system-capabilities-section{margin-left:auto;margin-right:auto;margin-top:0;max-width:100%;padding:0;z-index:3}.capabilities-title{color:#1e293b;font-size:1.8rem;font-weight:700;letter-spacing:-.01em;margin-bottom:20px;position:relative;text-align:center}.capabilities-title:after{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#06b6d4);border-radius:2px;bottom:-12px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.capabilities-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:1000px;padding:0 20px}.capability-card{background:#0000;display:block;overflow:visible;padding:12px;position:relative;visibility:visible;z-index:4}.capability-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;box-shadow:0 3px 8px #3b82f633;color:#fff;display:flex;height:48px;justify-content:center;margin-bottom:12px;transition:all .3s ease;width:48px}.capability-title{color:#1e293b;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:8px;text-align:left}.capability-description{color:#475569;font-size:.85rem;font-weight:500;line-height:1.4;margin-bottom:12px;text-align:left}.capability-features{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:20px;color:#000;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}@media (max-width:1200px){.capabilities-grid{gap:24px;grid-template-columns:repeat(3,1fr)}.capability-card{padding:28px}}@media (max-width:1024px){.dashboard-layout{flex-direction:column;gap:20px;height:auto;min-height:calc(100vh - 140px);overflow-y:visible;padding:0 20px 24px}.dashboard-sections{gap:20px;grid-template-columns:1fr}.dashboard-container{padding:24px}.header-content{align-items:center;flex-direction:column;gap:20px}.header-text{text-align:center}.header-time-date{align-items:center}.dashboard-main-title{font-size:1.8rem}.welcome-title{font-size:2rem}.capabilities-grid{gap:24px;grid-template-columns:1fr}.capabilities-title{font-size:1.6rem;margin-bottom:16px}.capability-card{padding:12px}.capability-icon{height:44px;width:44px}.capability-title{font-size:1rem}}@media (max-width:768px){.homepage{flex-direction:column;height:100vh}.homepage-main-content{height:auto;margin-left:0;margin-top:60px;min-height:calc(100vh - 60px);padding:0 0 40px}.dashboard-header{margin-bottom:8px;padding:15px 16px 10px}.header-content{align-items:center;flex-direction:column;gap:16px}.header-text{text-align:center}.header-time-date{align-items:center}.header-time-date .current-time-display{color:#fff;font-size:1.4rem;font-weight:900;text-shadow:0 2px 4px #00000080}.header-time-date .current-date-display{color:#fff;font-size:.9rem;font-weight:700;text-shadow:0 1px 2px #00000080}.welcome-title{font-size:1.8rem}.system-subtitle{font-size:1rem}.system-description{font-size:.85rem}.dashboard-layout{gap:16px;padding:0 16px 20px}.dashboard-container{padding:20px}.dashboard-main-title{font-size:1.6rem}.dashboard-sections{gap:16px}.dashboard-section{min-height:300px;padding:20px}.info-panel-container{padding:20px}.chart-container{min-height:160px;padding:8px}.right-sidebar{flex-direction:column;width:100%}.dashboard-content,.time-panel,.users-list{padding:16px}.system-capabilities-section{margin-top:40px;padding:0 16px}.capabilities-title{font-size:1.5rem;margin-bottom:20px}.capabilities-grid{gap:16px}.capability-card{padding:14px}.capability-icon{height:48px;margin-bottom:12px;width:48px}.capability-title{font-size:1.2rem;margin-bottom:12px}.capability-description{font-size:.9rem;margin-bottom:16px}.feature-tag{font-size:.75rem;padding:6px 12px}}@media (max-width:480px){.dashboard-header{padding:24px 12px 16px}.header-content{align-items:center;flex-direction:column;gap:12px}.header-text{text-align:center}.header-time-date{align-items:center}.header-time-date .current-time-display{color:#fff;font-size:1.2rem;font-weight:900;text-shadow:0 2px 4px #00000080}.header-time-date .current-date-display{color:#fff;font-size:.8rem;font-weight:700;text-shadow:0 1px 2px #00000080}.welcome-title{font-size:1.5rem}.system-subtitle{font-size:.9rem}.system-description{font-size:.8rem}.dashboard-layout{gap:12px;padding:0 12px 16px}.dashboard-content,.metric-card,.time-panel,.users-list{padding:12px}.current-time{font-size:1.2rem}.user-item{padding:8px 0}.user-avatar{font-size:.7rem;height:28px;width:28px}.user-name{font-size:.75rem}.user-role{font-size:.65rem}.system-capabilities-section{margin-top:30px;padding:0 12px}.capabilities-title{font-size:1.3rem;margin-bottom:16px}.capabilities-grid{gap:12px}.capability-card{padding:10px}.capability-icon{height:40px;margin-bottom:10px;width:40px}.capability-title{font-size:1.1rem;margin-bottom:10px}.capability-description{font-size:.85rem;margin-bottom:12px}.feature-tag{font-size:.7rem;padding:4px 8px}.dashboard-sections{gap:20px;grid-template-columns:1fr;padding:0 0 20px}.dashboard-section{min-height:260px;padding:20px}.analytics-dashboard-container{margin:10px;min-height:300px;padding:16px;width:calc(100% - 20px)}.system-capabilities-main-container{margin:40px auto 0;max-width:100%;padding:30px 16px;position:relative}.capabilities-grid{gap:24px;grid-template-columns:1fr;padding:0 10px}}@media (max-width:1600px){.analytics-dashboard-container{margin:0 auto;max-width:1400px;padding:8px 16px 20px;width:100%}.dashboard-sections{display:flex;flex-direction:column;gap:12px;height:auto;max-height:none}.chart-row{gap:12px;grid-template-columns:repeat(3,1fr)}.dashboard-section{min-height:200px}}@media (max-width:1200px){.analytics-dashboard-container{margin:0 auto;max-width:1200px;padding:8px 12px 20px;width:100%}.dashboard-sections{display:flex;flex-direction:column;gap:12px;height:auto;max-height:none}.chart-row{gap:12px;grid-template-columns:repeat(3,1fr)}.dashboard-section{min-height:200px}}@media (max-width:768px){.analytics-dashboard-container{margin:0 auto;max-width:100%;min-height:auto;padding:8px 8px 20px;width:100%}.dashboard-sections{display:flex;flex-direction:column;gap:12px;height:auto;max-height:none}.chart-row{gap:12px;grid-template-columns:1fr}.dashboard-section{min-height:200px;padding:12px}.chart-container{min-height:120px;padding:6px}}body,html{height:auto;margin:0;padding:0}.scheduling-container,body,html{min-height:100vh;overflow-x:hidden;overflow-y:auto}.scheduling-container{align-items:center;background:#0000;box-sizing:border-box;display:flex;flex-direction:column;padding:10px;position:relative;transform:none;width:100%;will-change:auto}.scheduling-overlay{display:none}.scheduling-content{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;padding-bottom:20px;position:relative;width:100%;z-index:1}.modern-calendar{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex:1 1;flex-direction:column;height:100%;margin-bottom:0;margin-top:40px;max-height:100%;min-height:0;overflow:hidden}.calendar-header-modern{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #ffffff1a;color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.calendar-header-left{align-items:center;display:flex;gap:20px}.calendar-title-modern{align-items:center;display:flex;gap:12px}.calendar-icon-modern{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}.calendar-title-text{font-size:1.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.today-btn-modern{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.today-btn-modern:hover{background:#ffffff4d;transform:translateY(-1px)}.calendar-navigation-modern{align-items:center;display:flex;gap:16px}.nav-btn-modern{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.nav-btn-modern:hover{background:#ffffff4d;transform:scale(1.1)}.month-year-modern{font-size:1.3rem;font-weight:600;margin:0;min-width:200px;text-align:center;text-shadow:0 2px 4px #0000001a}.calendar-header-right{align-items:center;display:flex}.create-button-container{position:relative}.create-btn-modern{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.create-btn-modern:hover{background:#ffffff4d;transform:translateY(-1px)}.create-btn-modern svg{height:18px;width:18px}.dropdown-arrow{height:14px;transition:transform .3s ease;width:14px}.create-dropdown-modern{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 8px 32px #00000026;margin-top:8px;min-width:220px;padding:8px 0;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item-modern{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;padding:12px 16px;transition:all .2s ease}.dropdown-item-modern:hover{background:#f7fafc;color:#667eea}.dropdown-item-modern svg{color:#667eea;height:18px;width:18px}.calendar-grid-modern{padding:0}.weekday-header-modern{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(7,1fr)}.weekday-modern{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:16px 8px;text-align:center;text-transform:uppercase}.weekday-modern.current-day{background:#667eea1a;color:#667eea}.calendar-days-modern{grid-gap:1px;background:#e2e8f0;display:grid;flex:1 1;gap:1px;grid-template-columns:repeat(7,1fr);min-height:0;overflow-x:hidden;overflow-y:auto}.calendar-day-modern{background:#fff;border:1px solid #0000;display:flex;flex-direction:column;min-height:100px;padding:6px;position:relative;transition:all .2s ease}.calendar-day-modern:hover{background:#f8fafc;box-shadow:0 4px 12px #0000001a;transform:scale(1.02);z-index:10}.calendar-day-modern.other-month{background:#f8fafc;color:#a0aec0}.calendar-day-modern.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700}.calendar-day-modern.today .day-number-modern{color:#fff}.calendar-day-modern.selected{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;font-weight:600}.calendar-day-modern.selected .day-number-modern{color:#fff}.calendar-day-modern.past-date{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.calendar-day-modern.non-clickable{cursor:not-allowed;opacity:.6}.day-number-modern{color:#1f2937;font-size:1rem;font-weight:600;margin-bottom:4px}.weather-indicator-modern{font-size:.7rem;font-weight:500;margin-top:2px;opacity:.8}.vessel-container-modern{position:relative}.vessel-bar-modern .vessel-bar-content{align-items:center;display:flex;gap:6px;justify-content:space-between;width:100%}.vessel-bar-modern .vessel-main-info{display:flex;flex:1 1;flex-direction:column;gap:1px;justify-content:center;min-width:0;overflow:hidden}.vessel-bar-modern .vessel-name{font-size:.7rem;font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #0003;white-space:nowrap}.vessel-bar-modern .vessel-time{background:#ffffff26;border-radius:3px;color:#ffffffe6;font-size:.6rem;font-weight:600;line-height:1.1;opacity:.95;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.vessel-bar-modern .vessel-bar-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.vessel-bar-modern .vessel-type{background:#ffffff40;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;font-size:.55rem;font-weight:600;opacity:.95;padding:2px 6px;white-space:nowrap}.vessel-bar-modern .vessel-delete-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:16px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:16px}.vessel-bar-modern .vessel-delete-btn:hover{background:#ef4444e6;border-color:#ef4444;box-shadow:0 2px 8px #ef444466;transform:scale(1.15)}.schedule-overflow-indicator{align-items:center;background:#1d4ed8;border-radius:999px;box-shadow:0 4px 12px #1d4ed859;color:#fff;cursor:pointer;display:flex;font-size:.65rem;font-weight:700;gap:6px;justify-content:center;padding:4px 10px;position:absolute;right:6px;top:6px;z-index:5}.schedule-overflow-popover{background:#fff;border:1px solid #3b82f633;border-radius:10px;box-shadow:0 12px 28px #0f172a40;color:#1f2937;max-height:200px;overflow-y:auto;padding:12px 14px;position:absolute;right:0;top:115%;width:220px;z-index:10}.overflow-popover-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.schedule-overflow-popover:before{border-color:#0000 #0000 #fff;border-style:solid;border-width:0 6px 6px;content:"";filter:drop-shadow(0 -2px 4px rgba(15,23,42,.2));position:absolute;right:16px;top:-6px}.overflow-title{color:#1e3a8a;font-size:.72rem;font-weight:700}.overflow-close-button{align-items:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:999px;color:#1e3a8a;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;transition:background .2s ease,transform .2s ease;width:20px}.overflow-close-button:hover{background:#3b82f633;transform:scale(1.05)}.overflow-list{gap:10px;list-style:none;margin:0;padding:0}.overflow-item,.overflow-list{display:flex;flex-direction:column}.overflow-item{background:#f9fafbd9;border:1px solid #3b82f633;border-radius:8px;cursor:pointer;gap:6px;padding:8px;transition:box-shadow .2s ease,transform .2s ease}.overflow-item:hover{box-shadow:0 6px 16px #3b82f640;transform:translateY(-2px)}.overflow-item-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.overflow-item-name{color:#1f2937;flex:1 1;font-size:.72rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-item-chips{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.overflow-chip{background:#3b82f626;border-radius:999px;color:#1d4ed8;font-size:.58rem;font-weight:600;padding:2px 6px}.overflow-chip.type{background:#10b98126;color:#047857}.overflow-delete-btn{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:999px;color:#b91c1c;cursor:pointer;display:flex;font-size:.8rem;font-weight:700;height:18px;justify-content:center;line-height:1;padding:0;transition:background .2s ease,transform .2s ease;width:18px}.overflow-delete-btn:hover{background:#ef444433;transform:scale(1.05)}.overflow-item-meta{color:#4b5563;display:flex;flex-wrap:wrap;font-size:.6rem;gap:6px}.overflow-meta{background:#3b82f61a;border-radius:6px;padding:2px 6px}.overflow-item-purpose{color:#1f2937;font-size:.6rem;line-height:1.3}.vessel-entry-modern{background:#667eea1a;border:1px solid #667eea33;border-radius:6px;cursor:pointer;margin-top:3px;min-height:24px;padding:4px 6px;transition:all .2s ease}.vessel-entry-modern:hover{background:#667eea33;transform:translateY(-1px)}.vessel-info-modern{display:flex;flex-direction:column;gap:2px}.vessel-name-modern{color:#667eea;font-size:.75rem;font-weight:600;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vessel-time-modern{color:#667eea;font-size:.65rem;line-height:1;opacity:.8}.weather-legend-modern{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;margin-bottom:0;margin-top:10px;min-height:60px;padding:16px 20px}.weather-legend-title{color:#1a202c;font-size:.9rem;font-weight:700}.weather-legend-items{display:flex;flex-wrap:wrap;gap:10px}.weather-error-banner{background:#ef44441f;border-radius:8px;color:#b91c1c;font-size:.85rem;font-weight:600;margin:8px 20px 0;padding:10px 14px}.weather-item-modern{align-items:center;color:#2d3748;display:flex;font-size:.8rem;font-weight:500;gap:6px}.weather-indicator{border-radius:50%;height:12px;width:12px}.weather-indicator.sunny{background:#facc15}.weather-indicator.cloudy{background:#9ca3af}.weather-indicator.light-rain{background:#60a5fa}.weather-indicator.rain{background:#f87171}.weather-indicator.heavy-rain{background:#ef4444}.weather-indicator.storm{background:#7f1d1d}.weather-tooltip-modern{pointer-events:none;position:fixed;z-index:10000}.tooltip-content-modern{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:320px;padding:0}.tooltip-header-modern{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;padding:16px 20px}.tooltip-date-modern{font-size:.9rem;font-weight:600;margin-bottom:4px}.tooltip-title-modern{font-size:.8rem;opacity:.9}.tooltip-body-modern{padding:20px}.recommendation-header-modern{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.recommendation-title-modern{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600;margin:0}.priority-badge-modern{border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.priority-badge-modern.success{background:#d1fae5;color:#065f46}.priority-badge-modern.warning{background:#fef3c7;color:#92400e}.priority-badge-modern.danger{background:#fee2e2;color:#991b1b}.priority-badge-modern.info{background:#dbeafe;color:#1e40af}.recommendation-message-modern{color:#4a5568;font-size:.85rem;line-height:1.5;margin:0}.modal-overlay-modern{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;padding:10px;position:fixed;top:0;width:100%;z-index:10000}@media (max-width:768px){.modal-overlay-modern{align-items:flex-start;padding:20px 15px 15px}}@media (max-width:480px){.modal-overlay-modern{align-items:flex-start;padding:10px}}.date-modal-modern{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:550px;overflow:hidden;width:95%}@media (max-width:768px){.date-modal-modern{border-radius:8px;margin:10px;max-height:90vh;max-width:none;width:98%}}@media (max-width:480px){.date-modal-modern{border-radius:6px;margin:5px;max-height:95vh;width:100%}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content-modern{display:flex;flex:1 1;flex-direction:column;max-height:100%;overflow:hidden;padding:0}.weather-warning-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;border-top:6px solid #f59e0b;box-shadow:0 24px 60px #0f172a40;display:flex;flex-direction:column;gap:16px;max-width:460px;padding:24px 28px;width:95%}.weather-warning-modal.warning{border-top-color:#f59e0b}.weather-warning-modal.danger{border-top-color:#ef4444}.weather-warning-header{display:flex;flex-direction:column;gap:6px}.weather-warning-title{color:#1f2937;font-size:1.1rem;font-weight:700}.weather-warning-message{color:#374151;font-size:.95rem;line-height:1.5;margin:0}.weather-warning-question{color:#1f2937;font-size:.9rem;font-weight:600;margin:0}.weather-warning-actions{display:flex;gap:10px;justify-content:flex-end}.weather-warning-cancel,.weather-warning-proceed{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 18px;transition:transform .2s ease,box-shadow .2s ease}.weather-warning-cancel{background:#f3f4f6;color:#4b5563}.weather-warning-cancel:hover{box-shadow:0 6px 12px #6b728033;transform:translateY(-1px)}.weather-warning-proceed{background:#f97316;box-shadow:0 10px 20px #f9731640;color:#fff}.weather-warning-modal.danger .weather-warning-proceed{background:#ef4444;box-shadow:0 10px 20px #ef444459}.weather-warning-proceed:hover{box-shadow:0 12px 20px #ef444459;transform:translateY(-1px)}.modal-header-modern{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}@media (max-width:768px){.modal-header-modern{border-radius:8px 8px 0 0;padding:14px 20px}}@media (max-width:480px){.modal-header-modern{border-radius:6px 6px 0 0;padding:12px 16px}}.modal-header-modern h2{font-size:1.2rem;font-weight:700;margin:0}@media (max-width:768px){.modal-header-modern h2{font-size:1.1rem}}@media (max-width:480px){.modal-header-modern h2{font-size:1rem}}.close-button-modern{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:8px;transition:all .2s ease;width:32px}.close-button-modern:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body-modern{flex:1 1;margin-bottom:0;max-height:calc(85vh - 140px);overflow-y:auto;padding:16px 24px 8px}@media (max-width:768px){.modal-body-modern{max-height:calc(90vh - 120px);padding:14px 20px 6px}}@media (max-width:480px){.modal-body-modern{max-height:calc(95vh - 100px);padding:12px 16px 4px}}.form-section-modern{display:flex;flex-direction:column;gap:12px}@media (max-width:768px){.form-section-modern{gap:10px}}@media (max-width:480px){.form-section-modern{gap:8px}}.date-display-modern{background:#f8fafc;border-left:3px solid #667eea;border-radius:6px;color:#2d3748;font-size:.9rem;padding:12px}.entry-exists-indicator{color:#48bb78;font-weight:600;margin-left:12px}.entry-actions-modern{text-align:center}.entry-exists-message{color:#64748b;font-size:.9rem;margin-bottom:24px}.vessel-form-modern{display:flex;flex-direction:column;gap:20px}.form-group-modern{display:flex;flex-direction:column;gap:6px}.form-group-modern label{color:#2d3748;font-size:.85rem;font-weight:600}.form-input-modern,.form-select-modern{background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:.85rem;padding:10px 12px;transition:all .2s ease}@media (max-width:768px){.form-input-modern,.form-select-modern{font-size:.9rem;padding:12px 14px}}@media (max-width:480px){.form-input-modern,.form-select-modern{font-size:1rem;padding:14px 16px}}.form-input-modern:focus,.form-select-modern:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.mooring-operations-section-modern{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding-bottom:8px}@media (max-width:768px){.mooring-operations-section-modern{gap:8px;margin-bottom:14px}}@media (max-width:480px){.mooring-operations-section-modern{gap:10px;margin-bottom:12px}}.mooring-help-text{color:#64748b;font-size:.75rem;margin:0}.checkbox-group-modern{display:flex;flex-direction:column;gap:4px}.checkbox-label-modern{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:6px;transition:background-color .2s ease}.checkbox-label-modern:hover{background:#f8fafc}.checkbox-input-modern{accent-color:#667eea;height:14px;width:14px}.checkbox-text-modern{color:#2d3748;font-size:.8rem;font-weight:500}.modal-actions-modern{background:#0000;box-sizing:border-box;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;margin-top:8px;padding:16px 24px;width:100%}@media (max-width:768px){.modal-actions-modern{gap:6px;padding:14px 20px}}@media (max-width:480px){.modal-actions-modern{flex-direction:column;gap:4px;padding:12px 16px}}.cancel-btn-modern,.clear-btn-modern,.save-btn-modern{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 20px;transition:all .2s ease}@media (max-width:768px){.cancel-btn-modern,.clear-btn-modern,.save-btn-modern{font-size:.9rem;padding:12px 24px}}@media (max-width:480px){.cancel-btn-modern,.clear-btn-modern,.save-btn-modern{font-size:.95rem;padding:14px 20px;width:100%}}.cancel-btn-modern{background:#f7fafc;border:2px solid #e2e8f0;color:#64748b}.cancel-btn-modern:hover{background:#edf2f7;border-color:#cbd5e0}.clear-btn-modern{background:#fed7d7;border:2px solid #feb2b2;color:#c53030}.clear-btn-modern:hover{background:#feb2b2;border-color:#fc8181}.save-btn-modern{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #0000;color:#fff}.save-btn-modern:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.assign-workers-btn-modern{background:linear-gradient(135deg,#48bb78,#38a169);border:2px solid #0000;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.assign-workers-btn-modern:hover{box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}@media (max-width:768px){.assign-workers-btn-modern{font-size:.9rem;padding:12px 24px}}@media (max-width:480px){.assign-workers-btn-modern{font-size:.95rem;padding:14px 20px;width:100%}}.worker-assignment-info{color:#4a5568;font-size:.95rem;margin-bottom:20px}.workers-list-modern{background:#f7fafc;border-radius:8px;margin-bottom:20px;max-height:400px;overflow-y:auto;padding:10px}.worker-checkbox-label-modern{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;margin-bottom:8px;padding:12px;transition:background .2s ease}.worker-checkbox-label-modern:hover{background:#f0f4f8;border-color:#cbd5e0}.worker-checkbox-input-modern{accent-color:#48bb78;cursor:pointer;height:18px;margin-right:12px;width:18px}.worker-checkbox-text-modern{color:#2d3748;font-size:.9rem;font-weight:500}.selected-workers-summary{background:#edf2f7;border-radius:8px;margin-bottom:20px;margin-top:20px;padding:16px}.selected-workers-summary strong{color:#2d3748;display:block;font-size:.95rem;margin-bottom:12px}.selected-workers-list{display:flex;flex-wrap:wrap;gap:8px}.selected-worker-tag{background:linear-gradient(135deg,#48bb78,#38a169);border-radius:20px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:6px 12px}.report-nav-btns{bottom:20px;display:flex;position:fixed;right:20px;z-index:1000}@media (max-width:768px){.scheduling-container{padding:10px}.calendar-header-modern{flex-direction:column;gap:16px;padding:20px}.calendar-header-left,.calendar-navigation-modern{justify-content:center;width:100%}.calendar-days-modern{gap:0}.calendar-day-modern{min-height:80px;padding:4px}.day-number-modern{font-size:.9rem}.vessel-entry-modern{padding:2px 4px}.vessel-name-modern{font-size:.7rem}.weather-legend-modern{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.weather-legend-items{gap:12px}.modal-body-modern{padding:20px}.modal-actions-modern{flex-direction:column}}.calendar-layout{display:flex;flex:1 1;gap:8px;margin-top:0;min-height:0;overflow-x:hidden;overflow-y:auto}.calendar-sidebar{flex-direction:column;flex-shrink:0;gap:12px;justify-content:flex-start;margin-top:40px;width:280px}.calendar-main,.calendar-sidebar{align-self:stretch;display:flex;height:100%;max-height:100%;min-height:0;overflow:hidden}.calendar-main{flex:1 1;flex-direction:column;min-width:0}.upcoming-vessels-widget{background:linear-gradient(135deg,#059669,#10b981)}.upcoming-vessel-card{align-items:flex-start;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;display:flex;flex-direction:row;flex-shrink:0;gap:12px;justify-content:space-between;margin-bottom:6px;min-height:70px;overflow:hidden;padding:10px 12px;transition:all .2s ease}.upcoming-vessel-card:last-child{margin-bottom:0}.upcoming-vessel-card:hover{background:#ffffff26;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.recent-vessels-widget{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;flex:0 0 auto;flex-direction:column;height:380px;overflow:hidden}.widget-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;min-height:36px;padding:8px 12px}.widget-header h3{font-size:.85rem;font-weight:600;margin:0}.vessel-count{background:#fff3;border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 8px}.finished-vessels-scroll{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:8px;position:relative;scrollbar-color:#ffffff4d #0000;scrollbar-width:thin}.finished-vessels-scroll::-webkit-scrollbar{width:6px}.finished-vessels-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.finished-vessels-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.finished-vessels-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.no-vessels-message{opacity:.8;padding:24px;text-align:center}.no-vessels-message p{font-size:.9rem;font-weight:500;margin:0}.finished-vessel-card{align-items:flex-start;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;display:flex;flex-direction:row;flex-shrink:0;gap:12px;justify-content:space-between;margin-bottom:6px;min-height:70px;overflow:hidden;padding:10px 12px;transition:all .2s ease}.finished-vessel-card:last-child{margin-bottom:0}.finished-vessel-card:hover{background:#ffffff26;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.vessel-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0;overflow:hidden}.vessel-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.vessel-name{word-wrap:break-word;color:#fff;flex:1 1;font-size:.75rem;font-weight:600;line-height:1.3;margin:0;min-width:120px;overflow-wrap:break-word;padding:0;text-align:left;white-space:normal}.control-number-label{background:#ffffff26;border-radius:4px;color:#fff;flex-shrink:0;font-size:.65rem;font-weight:500;opacity:.9;padding:2px 6px;white-space:nowrap}.vessel-date-row{gap:8px;margin-top:4px}.vessel-date-row,.vessel-details{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%}.vessel-details{gap:6px;margin:0;padding:0}.vessel-date{background:#ffffff26;flex-shrink:0;font-size:.6rem;white-space:nowrap}.vessel-date,.vessel-time{border-radius:4px;display:inline-block;font-weight:500;opacity:.9;padding:2px 6px}.vessel-meta{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;margin:0;padding:0;width:100%}.vessel-type{background:#10b98140;color:#fff;display:inline-block;font-size:.5rem;font-weight:500}.voyage-id{display:inline-block;font-size:.5rem;opacity:.8}.voyage-id,.voyage-number-label{background:#ffffff26;border-radius:4px;font-weight:500;padding:2px 6px;white-space:nowrap}.voyage-number-label{color:#fff;flex-shrink:0;font-size:.65rem;opacity:.9}.vessel-status{align-items:center;display:flex;flex-shrink:0;margin-left:auto}.status-badge{border-radius:6px;font-size:.55rem;line-height:1.2;padding:4px 8px;white-space:nowrap}.status-badge.completed{background:#10b98133;border:1px solid #10b9814d;color:#fff}.upcoming-vessels-widget{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;flex:0 0 auto;flex-direction:column;height:380px;margin-bottom:12px;overflow:hidden}.upcoming-vessels-scroll{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:8px;position:relative;scrollbar-color:#ffffff4d #0000;scrollbar-width:thin}.upcoming-vessels-scroll::-webkit-scrollbar{width:6px}.upcoming-vessels-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.upcoming-vessels-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.upcoming-vessels-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.status-badge.upcoming{background:#3b82f633;border:1px solid #3b82f64d;color:#fff}.report-nav-btns{align-items:center;bottom:20px!important;display:flex!important;flex-shrink:0;gap:8px;height:auto;isolation:isolate;left:auto!important;margin:0!important;min-height:60px;padding:0!important;pointer-events:auto;position:fixed!important;right:20px!important;top:auto!important;transform:none!important;will-change:auto;z-index:99999!important}.report-nav-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#1e293b;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:100px;padding:.75rem 1.5rem;text-align:center;transition:all .2s ease;white-space:nowrap}.report-nav-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e0;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.report-nav-btn:disabled{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:default;opacity:1;transform:translateY(-2px)}.report-nav-btn:disabled:hover{box-shadow:0 4px 8px #3b82f666}@media (max-width:1024px){.calendar-sidebar{width:240px}.calendar-layout{gap:8px}}@media (max-width:768px){.calendar-layout{flex:1 1;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto}.calendar-sidebar{flex-shrink:0;height:auto;order:2;width:100%}.calendar-main{flex:1 1;min-height:0;order:1}.recent-vessels-widget,.upcoming-vessels-widget{height:380px}.finished-vessels-scroll{flex:1 1;min-height:0}.report-nav-btns{bottom:15px;gap:8px;min-height:auto;padding:0;right:15px}.report-nav-btn{font-size:.85rem;min-width:100px;padding:10px 20px}}@media (max-width:480px){.calendar-layout{flex:1 1;gap:6px;overflow-x:hidden;overflow-y:auto}.calendar-sidebar{flex-shrink:0;height:auto}.calendar-main{flex:1 1;min-height:0}.recent-vessels-widget,.upcoming-vessels-widget{height:380px}.finished-vessels-scroll{flex:1 1;min-height:0}.report-nav-btns{bottom:10px;flex-wrap:nowrap;gap:6px;min-height:auto;padding:0;right:10px}.report-nav-btn{flex:none;font-size:.8rem;max-width:none;min-width:80px;padding:8px 16px}}.vessel-container-modern{display:flex;flex-direction:column;gap:1px;margin-top:4px;max-height:calc(100% - 20px);overflow:hidden}.vessel-bar-modern{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #fff3;border-radius:6px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.65rem;margin:0 0 2px;max-height:32px;min-height:24px;overflow:hidden;padding:8px 10px;transition:all .3s ease;width:100%}.vessel-bar-modern:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#ffffff4d;box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.vessel-bar-content{align-items:center;display:flex;gap:6px;justify-content:space-between;width:100%}.vessel-main-info{display:flex;flex:1 1;flex-direction:column;gap:1px;justify-content:center;min-width:0;overflow:hidden}.vessel-name{font-size:.7rem;font-weight:700;line-height:1.2;max-width:100%;text-shadow:0 1px 2px #0003}.vessel-name,.vessel-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vessel-time{background:#ffffff26;border-radius:3px;color:#ffffffe6;font-size:.6rem;font-weight:600;line-height:1.1;opacity:.95;padding:1px 4px}.vessel-bar-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.vessel-type{background:#ffffff40;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;font-size:.55rem;font-weight:600;opacity:.95;padding:2px 6px;white-space:nowrap}.vessel-delete-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:16px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:16px}.vessel-delete-btn:hover{background:#ef4444e6;border-color:#ef4444;box-shadow:0 2px 8px #ef444466;transform:scale(1.15)}.crew-availability-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border-radius:0;box-shadow:none;box-sizing:border-box;height:auto;margin:0;max-height:none;min-height:auto;overflow:visible;padding:0;width:100%}.user-message{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:6px;box-shadow:0 2px 8px #2196f31a;margin:0 0 12px;padding:8px 12px;position:relative;text-align:center;z-index:10}.user-message-text{color:#1565c0;font-size:.8rem;font-weight:600;margin:0}.crew-availability-table-wrapper{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 12px #0000000f;box-sizing:border-box;display:block;height:auto;margin:0;max-width:100%;overflow:visible;padding:0;position:relative;width:100%}.crew-availability-table{background:#fff;border:none;border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:none;color:#2c3e50;display:table;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.8rem;height:auto;min-height:400px;overflow:hidden;table-layout:fixed;width:100%}.crew-availability-table thead{display:table-header-group}.crew-availability-table tbody{display:table-row-group}.crew-availability-table tr{display:table-row}.crew-availability-table td,.crew-availability-table th{background:#fff;border:1px solid #e8ecf0;display:table-cell;font-size:.7rem;font-weight:500;height:auto;max-width:70px;min-height:32px;min-width:60px;overflow:visible;padding:2px 4px;text-align:center;text-overflow:clip;transition:all .2s ease;vertical-align:middle;white-space:normal;width:auto}.crew-availability-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:.7rem;font-weight:700;letter-spacing:.3px;max-width:100px;overflow:hidden;padding:6px 4px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.crew-availability-table th.current-day-header{background:linear-gradient(135deg,#2f3b70,#1e2a5e);border:2px solid #2f3b70;box-shadow:0 4px 16px #2f3b704d;color:#fff;font-weight:800}.crew-availability-table td{background:#fff;font-size:.75rem;transition:all .2s ease}.crew-availability-table td:first-child{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-right:2px solid #dee2e6;color:#2c3e50;font-weight:600;height:auto;left:0;max-width:160px;min-height:32px;min-width:160px;overflow:hidden;padding-left:8px;position:-webkit-sticky;position:sticky;text-align:left;text-overflow:ellipsis;white-space:nowrap;z-index:10}.crew-availability-table tr:nth-child(2n) td:first-child{background:linear-gradient(135deg,#f1f3f4,#e8eaed)}.crew-availability-table tr:nth-child(2n) td:not(:first-child){background:#fafbfc}.crew-availability-table tr:hover td:not(:first-child){background:#f8f9fa;transform:scale(1.01);transition:all .2s ease}.table-title{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:1.2rem;font-weight:800;letter-spacing:.5px;margin:0;padding:16px 20px;text-align:center;text-transform:uppercase}.crew-availability-table th{box-shadow:0 1px 3px #0000000d}.crew-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:.9rem;font-weight:700;letter-spacing:.3px;min-width:160px;padding:12px 16px;text-align:left;text-transform:uppercase}.date-number{color:inherit;display:block;font-size:1.1rem;font-weight:800;margin-top:2px}.crew-name-cell{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-right:2px solid #dee2e6;color:#2c3e50;font-weight:600;height:32px;left:0;max-width:160px;min-width:160px;overflow:hidden;padding-left:8px;position:-webkit-sticky;position:sticky;text-align:left;text-overflow:ellipsis;white-space:nowrap;z-index:10}.crew-name-cell.current-user{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-right:2px solid #2196f3}.crew-name{color:#2c3e50;font-size:.8rem;font-weight:600}.your-row{color:#2196f3;font-size:.65rem;font-weight:600;letter-spacing:.3px;margin-top:3px;opacity:.9;text-transform:uppercase}.availability-available{background:linear-gradient(135deg,#d4edda,#c3e6cb)!important;border:2px solid #28a745!important;border-radius:8px!important;box-shadow:0 2px 8px #28a74533!important;color:#155724!important;font-weight:700!important;transition:all .2s ease!important}.availability-available:hover{background:linear-gradient(135deg,#c3e6cb,#b8dacc)!important;box-shadow:0 4px 12px #28a7454d!important;transform:translateY(-1px)!important}.availability-unavailable{background:linear-gradient(135deg,#f8d7da,#f5c6cb)!important;border:2px solid #dc3545!important;border-radius:8px!important;box-shadow:0 2px 8px #dc354533!important;color:#721c24!important;font-weight:700!important}.availability-assigned{background:linear-gradient(135deg,#2f3b70,#1e2a5e)!important;border:2px solid #2f3b70!important;border-radius:8px!important;box-shadow:0 2px 8px #2f3b704d!important;color:#fff!important;font-weight:700!important}.availability-past{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:1px solid #dee2e6!important;border-radius:6px!important;color:#adb5bd!important;font-weight:500!important;opacity:.6!important}.availability-partial{background:linear-gradient(135deg,#fff3cd,#ffeaa7)!important;border:2px solid #ffc107!important;border-radius:8px!important;box-shadow:0 2px 8px #ffc10733!important;color:#856404!important;font-weight:700!important}.clickable-availability{border-radius:8px!important;cursor:pointer!important;transition:all .2s ease!important}.clickable-availability:hover{box-shadow:0 4px 12px #00000026!important;transform:translateY(-2px)!important}.non-clickable{cursor:default!important}.availability-cell{align-items:center;border:1px solid #e8ecf0;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-weight:600;height:auto;justify-content:center;max-width:70px;min-height:32px;min-width:60px;padding:4px;text-align:center;transition:all .2s ease;width:100%}.availability-status{font-size:.7rem;font-weight:700;margin-bottom:2px}.unavailable-times-list{font-size:.55rem;line-height:1.2;margin-top:2px;width:100%}.time-range-display{background:#ffffff4d;border-radius:3px;color:inherit;font-weight:600;margin:1px 0;overflow:hidden;padding:1px 2px;text-overflow:ellipsis;white-space:nowrap}.time-range-display.more-times{font-style:italic;opacity:.8}.today-indicator{background:#ffffffb3;border-radius:3px;color:#2f3b70;display:inline-block;font-size:.55rem;font-weight:700;letter-spacing:.4px;margin-top:2px;padding:1px 3px;text-transform:uppercase}.crew-availability-table th:first-child{background:#f8f9fa;border-right:2px solid #4156a1;color:#2f3b70;font-weight:700;left:0;max-width:160px;min-width:160px;overflow:hidden;padding-left:8px;position:-webkit-sticky;position:sticky;text-align:left;text-overflow:ellipsis;white-space:nowrap;z-index:10}.save-availability-btn{display:flex;justify-content:center;margin-bottom:12px;margin-top:16px;padding:0}.save-availability-btn button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 3px 12px #28a7454d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;letter-spacing:.3px;min-width:160px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.save-availability-btn button:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.save-availability-btn button:disabled{box-shadow:0 2px 8px #28a74533;cursor:not-allowed;opacity:.6;transform:none}.comprehensive-worker-details{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 12px #0000000f;box-sizing:border-box;display:flex;flex-direction:column;margin:16px 0;max-width:100%;overflow:hidden;padding:24px;position:relative;width:100%}.details-header{border-bottom:2px solid #e9ecef;margin-bottom:20px;padding-bottom:16px;text-align:center}.details-header h3{color:#2c3e50;font-size:1.3rem;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.details-header p{color:#6c757d;font-size:.85rem;font-style:italic;margin:0}.worker-cards-container{grid-gap:16px;background:#f8f9fa;border-radius:8px;box-sizing:border-box;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:80px;margin-top:16px;max-height:500px;min-height:300px;overflow-x:hidden;overflow-y:auto;padding:16px 16px 80px;position:relative;scrollbar-color:#2f3b70 #f1f1f1;scrollbar-width:auto;transition:all .3s ease;width:100%}.worker-cards-container.has-selected{gap:0;grid-template-columns:1fr;max-height:none;overflow-y:visible;padding:16px}.hidden-worker-card{display:none}.worker-cards-container::-webkit-scrollbar{width:12px}.worker-cards-container::-webkit-scrollbar-track{background:#e9ecef;border-radius:6px}.worker-cards-container::-webkit-scrollbar-thumb{background:#2f3b70;border:3px solid #f8f9fa;border-radius:6px}.worker-cards-container::-webkit-scrollbar-thumb:hover{background:#1e2a5e}.worker-cards-container.has-selected::-webkit-scrollbar{display:none}.worker-cards-container.has-selected{scrollbar-width:none}.worker-card{background:#fff;border:1.5px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;flex-direction:column;height:auto;min-height:80px;overflow:visible;padding:16px;position:relative;transition:all .3s ease;width:100%;z-index:1}.worker-card:not(.selected){height:auto;max-height:none;min-height:80px}.worker-card.selected{animation:expandCard .3s ease-out;background:linear-gradient(135deg,#f8f9fa,#fff);border-color:#2f3b70;box-shadow:0 6px 20px #2f3b7026;grid-column:1/-1;height:auto;max-height:none;min-height:400px;overflow-y:visible;padding:24px;position:relative;transform:translateY(0);width:100%;z-index:10}@keyframes expandCard{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.worker-card.selected::-webkit-scrollbar{width:8px}.worker-card.selected::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.worker-card.selected::-webkit-scrollbar-thumb{background:#2f3b70;border-radius:4px}.worker-card.selected::-webkit-scrollbar-thumb:hover{background:#1e2a5e}.worker-name-only{align-items:center;display:flex;justify-content:center;padding:8px 0;width:100%}.worker-name-only .worker-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#2f3b70;display:-webkit-box;font-size:.9rem;font-weight:600;margin:0;overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-word}.worker-card:hover{border-color:#2f3b70;box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.worker-card-header{align-items:flex-start;border-bottom:2px solid #e9ecef;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;margin-bottom:12px;min-height:70px;padding-bottom:12px}.worker-header-right{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.worker-name-and-status{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0;overflow:visible;padding-right:8px}.status-indicator{border-radius:4px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.5px;max-width:100%;padding:4px 10px;text-transform:uppercase;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.status-on-duty{background:linear-gradient(135deg,#2f3b70,#1e2a5e);color:#fff}.status-highly-available,.status-on-duty{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;max-width:none;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;padding:6px 12px;white-space:nowrap;width:auto}.status-highly-available{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;color:#155724}.status-available{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:1px solid #17a2b8;color:#0c5460;line-height:1}.status-available,.status-limited{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;max-width:none;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;padding:6px 12px;white-space:nowrap;width:auto}.status-limited{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;color:#856404}.status-unavailable{align-items:center;background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;box-sizing:border-box;color:#721c24;display:inline-flex;justify-content:center;max-width:none;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;padding:6px 12px;white-space:nowrap;width:auto}.quick-stats{grid-gap:8px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:grid;flex-shrink:0;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;padding:12px 8px}.quick-stats:before{border-bottom:2px solid #dee2e6;color:#495057;content:"This Week";font-size:.7rem;font-weight:700;grid-column:1/-1;letter-spacing:.5px;margin-bottom:4px;padding-bottom:6px;text-align:center;text-transform:uppercase}.quick-stat{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:5px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:10px 6px;transition:all .2s ease}.quick-stat:hover{border-color:#2f3b70;box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.quick-stat-number{color:#2f3b70;font-size:1.4rem;font-weight:800;line-height:1.1;margin-bottom:4px}.quick-stat-label{color:#6c757d;font-size:.65rem;font-weight:700;letter-spacing:.5px;line-height:1.1;text-align:center;text-transform:uppercase;word-break:break-word}.worker-details{animation:slideDown .3s ease-out;border-top:1.5px solid #f1f3f4;display:flex;flex-direction:column;gap:16px;margin-top:16px;padding-top:16px;width:100%}.worker-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;flex:1 1;font-size:.9rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.worker-type{background:linear-gradient(135deg,#2f3b70,#1e2a5e);border-radius:4px;box-shadow:0 2px 4px #2f3b7033;font-size:.65rem;font-weight:700;letter-spacing:.5px;padding:4px 8px}.close-worker-details-btn,.worker-type{color:#fff;text-transform:uppercase;white-space:nowrap}.close-worker-details-btn{background:linear-gradient(135deg,#6c757d,#5a6268);border:none;border-radius:6px;box-shadow:0 2px 4px #6c757d33;cursor:pointer;font-size:.75rem;font-weight:600;letter-spacing:.3px;padding:6px 12px;transition:all .2s ease}.close-worker-details-btn:hover{background:linear-gradient(135deg,#5a6268,#495057);box-shadow:0 4px 8px #6c757d4d;transform:translateY(-1px)}.close-worker-details-btn:active{transform:translateY(0)}.availability-summary{margin-bottom:12px}.summary-stats{display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.stat-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:50px;padding:8px 6px;text-align:center;transition:all .2s ease}.stat-item:hover{transform:translateY(-1px)}.stat-item.available{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745}.stat-item.unavailable{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545}.stat-item.assigned{background:linear-gradient(135deg,#2f3b70,#1e2a5e);border:1px solid #2f3b70}.stat-number{color:#2c3e50;display:block;font-size:1.1rem;font-weight:700;line-height:1.2;margin-bottom:2px}.stat-item.available .stat-number{color:#155724}.stat-item.unavailable .stat-number{color:#721c24}.stat-item.assigned .stat-number{color:#fff}.stat-label{display:block;font-size:.6rem;font-weight:600;letter-spacing:.3px;line-height:1.1;text-align:center;text-transform:uppercase;word-break:break-word}.stat-item.available .stat-label{color:#155724}.stat-item.unavailable .stat-label{color:#721c24}.stat-item.assigned .stat-label{color:#fff;opacity:.95}.weekly-schedule{margin-bottom:12px}.schedule-header{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:.85rem;font-weight:700;letter-spacing:.3px;margin-bottom:16px;padding:8px 0;text-transform:uppercase}.schedule-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.schedule-day{align-items:center;background:#f8f9fa;border:1.5px solid #e9ecef;border-radius:5px;display:flex;flex-direction:column;font-size:.6rem;justify-content:center;min-height:40px;padding:6px 4px;position:relative;text-align:center;transition:all .2s ease;word-break:break-word}.schedule-day:hover{transform:translateY(-1px)}.schedule-day.available{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;color:#155724}.schedule-day.unavailable{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;color:#721c24}.schedule-day.assigned{background:linear-gradient(135deg,#2f3b70,#1e2a5e);border-color:#2f3b70;color:#fff}.schedule-day.past-day{background:#f8f9fa;border-color:#dee2e6;color:#adb5bd;opacity:.6}.schedule-day.today{border-color:#2f3b70;border-width:2px;box-shadow:0 3px 10px #0000001f}.day-name{font-size:.5rem;font-weight:600;margin-bottom:2px;text-transform:uppercase}.day-date{font-size:.7rem;font-weight:700;margin-bottom:1px}.today-badge{background:#ffc107;border-radius:3px;box-shadow:0 2px 4px #0003;color:#212529;font-size:.4rem;font-weight:700;letter-spacing:.1px;padding:2px 4px;position:absolute;right:-4px;text-transform:uppercase;top:-4px}.worker-actions{padding-top:8px;text-align:center}.edit-availability-btn{background:linear-gradient(135deg,#2f3b70,#1e2a5e);border:none;border-radius:6px;box-shadow:0 2px 6px #2f3b7033;color:#fff;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.3px;padding:6px 12px;text-transform:uppercase;transition:all .3s ease;width:100%}.edit-availability-btn:hover{background:linear-gradient(135deg,#1e2a5e,#152041);box-shadow:0 4px 12px #2f3b704d;transform:translateY(-1px)}.edit-availability-btn:active{transform:translateY(0)}@media (max-width:1200px){.worker-cards-container{gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.comprehensive-worker-details{margin:12px 0;max-height:60vh;padding:12px}.worker-cards-container{gap:12px;grid-template-columns:1fr;max-height:400px;overflow-y:auto;padding:12px}.worker-card{min-height:70px;padding:10px}.worker-card.selected{max-height:none;min-height:350px;width:100%}.worker-card-header{flex-direction:column;gap:12px}.worker-header-right{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.close-worker-details-btn{font-size:.7rem;padding:5px 10px}.calendar-grid-container{gap:10px;grid-template-columns:repeat(3,1fr)}.calendar-day-cell{min-height:250px;padding:8px}.calendar-day-date{font-size:1.2rem}.calendar-status-badge{font-size:.6rem;padding:3px 6px}.calendar-time-item{font-size:.65rem;padding:3px 4px}.calendar-block-label{font-size:.6rem}.worker-name{font-size:.85rem}.worker-type{font-size:.6rem;padding:2px 4px}.summary-stats{gap:4px}.stat-number{font-size:.9rem}.stat-label{font-size:.6rem}.schedule-day{font-size:.55rem;padding:3px 1px}.day-status{font-size:.5rem}.edit-availability-btn{font-size:.7rem;padding:5px 10px}}@media (max-width:480px){.comprehensive-worker-details{margin:8px 0;max-height:55vh;padding:8px}.details-header h3{font-size:1rem}.details-header p{font-size:.75rem}.worker-cards-container{gap:10px;max-height:350px;overflow-y:auto;padding:10px}.worker-card{min-height:60px;padding:8px}.worker-card.selected{max-height:none;min-height:300px;width:100%}.worker-card-header{gap:10px}.worker-header-right{align-items:flex-start;flex-direction:column;gap:6px;width:100%}.close-worker-details-btn{font-size:.65rem;padding:4px 8px;width:100%}.calendar-grid-container{gap:8px;grid-template-columns:repeat(2,1fr)}.calendar-day-cell{min-height:200px;padding:6px}.calendar-day-name{font-size:.7rem}.calendar-day-date{font-size:1rem}.calendar-today-badge{font-size:.45rem;padding:1px 3px}.calendar-status-badge{font-size:.55rem;padding:2px 4px}.calendar-time-item{font-size:.6rem;padding:2px 3px}.calendar-block-label{font-size:.55rem}.calendar-assigned-message,.calendar-no-available,.calendar-past-message{font-size:.65rem;min-height:30px;padding:6px}.worker-card-header{align-items:flex-start;flex-direction:column;gap:3px}.worker-name{font-size:.8rem}.worker-type{font-size:.55rem;padding:2px 3px}.summary-stats{flex-direction:column;gap:3px}.stat-item{padding:4px 3px}.stat-number{font-size:.8rem}.stat-label{font-size:.55rem}.schedule-grid{gap:2px}.schedule-day{font-size:.5rem;padding:2px 1px}.day-status{font-size:.45rem}.edit-availability-btn{font-size:.65rem;padding:4px 8px}}@media (max-width:768px){.crew-availability-table-wrapper{max-height:70vh}.crew-availability-table{font-size:.65rem}.crew-availability-table td,.crew-availability-table th{font-size:.6rem;height:28px;max-width:60px;min-width:50px;padding:3px}.crew-availability-table th{font-size:.6rem;height:28px;padding:4px 3px}.availability-cell{height:28px;max-width:60px;min-width:50px;padding:3px}.crew-availability-table td:first-child,.crew-availability-table th:first-child{height:28px;max-width:140px;min-width:140px;padding-left:6px}.save-availability-btn button{font-size:.75rem;min-width:120px;padding:8px 16px}}@media (max-width:480px){.crew-availability-table-wrapper{max-height:65vh}.crew-availability-table{font-size:.6rem}.crew-availability-table td,.crew-availability-table th{font-size:.55rem;height:24px;max-width:50px;min-width:45px;padding:2px}.crew-availability-table th{font-size:.55rem;height:24px;padding:3px 2px}.availability-cell{height:24px;max-width:50px;min-width:45px;padding:2px}.crew-availability-table td:first-child,.crew-availability-table th:first-child{height:24px;max-width:120px;min-width:120px;padding-left:4px}.save-availability-btn button{font-size:.65rem;min-width:100px;padding:6px 12px}}.time-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;box-sizing:border-box;height:100vh;justify-content:center;left:0;margin:0!important;min-height:100vh;min-width:100vw;padding:20px;position:fixed;right:0;top:0;transform:translateZ(0);width:100vw;z-index:10000}.time-modal-content,.time-modal-overlay{display:flex;overflow-y:auto;overscroll-behavior:contain}.time-modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;flex-direction:column;flex-shrink:0;left:50%;margin:0;max-height:calc(100vh - 40px);max-width:500px;position:absolute;top:50%;transform:translate(-100%,-50%);width:90%}.time-modal-header{align-items:center;background:linear-gradient(135deg,#2f3b70,#1e2a5e);border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.time-modal-header h3{font-size:1.3rem;font-weight:700;margin:0}.time-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.time-modal-close:hover{background:#fff3;transform:rotate(90deg)}.time-modal-body{flex:1 1;padding:24px}.time-modal-instruction{color:#2c3e50;font-size:.95rem;line-height:1.5;margin:0 0 12px}.time-modal-note{background:#f8f9fa;border-left:3px solid #2f3b70;border-radius:6px;color:#6c757d;font-size:.85rem;font-style:italic;margin:0 0 20px;padding:12px}.time-range-input{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:16px}.time-input-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.time-input-group label{color:#2c3e50;font-size:.85rem;font-weight:600}.time-input-group input[type=time]{background:#fff;border:2px solid #dee2e6;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.95rem;font-weight:600;padding:8px 12px;transition:all .2s ease}.time-input-group input[type=time]:focus{border-color:#2f3b70;box-shadow:0 0 0 3px #2f3b701a;outline:none}.remove-time-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:24px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.remove-time-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.add-time-btn{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:8px;padding:12px;transition:all .2s ease;width:100%}.add-time-btn:hover{background:linear-gradient(135deg,#138496,#117a8b);box-shadow:0 4px 12px #17a2b84d;transform:translateY(-1px)}.time-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.cancel-btn{background:#fff;border:2px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.cancel-btn:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.save-time-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:all .2s ease}.save-time-btn:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}@media (max-width:768px){.time-modal-overlay{align-items:center;padding:10px}.time-modal-content{max-height:calc(95vh - 20px);max-width:none;width:95%}}@media (max-width:480px){.time-modal-overlay{align-items:center;padding:10px}.time-modal-content{border-radius:8px;max-height:calc(100vh - 20px);max-width:none;width:100%}.time-modal-header{padding:16px 18px}.time-modal-header h3{font-size:1.1rem}.time-modal-body{padding:18px}.time-modal-footer{flex-direction:column;gap:10px;padding:16px 18px}.cancel-btn,.save-time-btn{width:100%}}.day-unavailable-indicator{align-items:center;background:#ffc107;border-radius:50%;box-shadow:0 1px 3px #0003;color:#856404;display:flex;font-size:.5rem;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:2px 4px;position:absolute;right:2px;top:2px}.calendar-grid-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr);margin-top:12px;width:100%}.calendar-day-cell{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;max-height:500px;min-height:300px;overflow:hidden;padding:10px;position:relative;transition:all .2s ease}.calendar-day-cell:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.calendar-day-cell.today-cell{background:linear-gradient(135deg,#f8f9fa,#fff);border-color:#2f3b70;border-width:3px;box-shadow:0 4px 12px #2f3b7040}.calendar-day-cell.past-day{background:#f8f9fa;border-color:#dee2e6;opacity:.6}.calendar-day-cell.assigned{background:linear-gradient(135deg,#e3f2fd,#fff);border-color:#2f3b70}.calendar-day-cell.available{background:linear-gradient(135deg,#d4edda,#fff);border-color:#28a745}.calendar-day-cell.partial-unavailable{background:linear-gradient(135deg,#fff3cd,#fff);border-color:#ffc107}.calendar-day-cell.unavailable{background:linear-gradient(135deg,#f8d7da,#fff);border-color:#dc3545}.calendar-cell-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;position:relative}.calendar-day-name{color:#6c757d;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.calendar-day-date{color:#2f3b70;font-size:1.5rem;font-weight:800;line-height:1}.calendar-today-badge{background:#2f3b70;border-radius:3px;color:#fff;font-size:.5rem;font-weight:700;letter-spacing:.3px;padding:2px 4px;position:absolute;right:-4px;text-transform:uppercase;top:-4px}.calendar-cell-status{display:flex;justify-content:center;margin-bottom:10px}.calendar-status-badge{border-radius:4px;font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:4px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.calendar-status-badge.past-day{background:#e9ecef;color:#6c757d}.calendar-status-badge.assigned{background:linear-gradient(135deg,#2f3b70,#1e2a5e);color:#fff}.calendar-status-badge.available{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.calendar-status-badge.partial-unavailable{background:linear-gradient(135deg,#ffc107,#ff9800);color:#856404}.calendar-status-badge.unavailable{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.calendar-cell-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}.calendar-assigned-message,.calendar-no-available,.calendar-past-message{align-items:center;border-radius:4px;display:flex;font-size:.75rem;font-weight:600;gap:6px;justify-content:center;min-height:40px;padding:8px;text-align:center}.calendar-past-message{background:#f8f9fa;color:#6c757d}.calendar-assigned-message{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;flex-direction:column}.calendar-no-available{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;flex-direction:column}.calendar-icon{font-size:1.2rem}.calendar-time-block{background:#fff9;border-radius:4px;display:flex;flex-direction:column;gap:4px;min-width:0;padding:6px;width:100%}.calendar-time-block.unavailable-block{border:1px solid #dc3545}.calendar-time-block.available-block{border:1px solid #28a745}.calendar-block-label{font-size:.65rem;font-weight:700;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.calendar-time-block.unavailable-block .calendar-block-label{color:#721c24}.calendar-time-block.available-block .calendar-block-label{color:#155724}.calendar-time-list{display:flex;flex-direction:column;gap:3px;min-width:0;width:100%}.calendar-time-item{word-wrap:break-word;border-radius:3px;font-family:Courier New,monospace;font-size:.65rem;font-weight:600;line-height:1.3;min-height:auto;overflow:visible;padding:4px;text-align:center;white-space:normal}.calendar-time-item.unavailable-time{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;color:#721c24}.calendar-time-item.available-time{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;color:#155724}.calendar-cell-content::-webkit-scrollbar{width:4px}.calendar-cell-content::-webkit-scrollbar-track{background:#0000}.calendar-cell-content::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:2px}.calendar-cell-content::-webkit-scrollbar-thumb:hover{background:#adb5bd}.analytics-title{color:#222;font-size:1.35rem;font-weight:700;letter-spacing:1px;margin-bottom:18px}.analytics-chart-area{align-items:center;display:flex;gap:32px}.analytics-legend{display:flex;flex-direction:column;gap:18px}.analytics-legend-item{align-items:center;color:#2d3e5e;display:flex;font-size:1.08rem;font-weight:500;gap:10px}.analytics-legend-dot{border-radius:50%;display:inline-block;height:18px;margin-right:6px;width:18px}.analytics-legend-label{color:#2d3e5e;font-weight:500}.additional-container{align-items:flex-start;background:#fff;border-radius:18px;box-shadow:0 2px 12px #2c3e501a;display:flex;justify-content:flex-start;min-height:320px;min-width:280px;padding:32px 24px}.suggested-files-container{background:#eaf3ff;border-radius:24px;box-shadow:0 6px 32px #2c3e501a;margin:38px auto 0;max-width:700px;min-height:520px;padding:38px 48px}.suggested-files-title{color:#222;font-size:1.6rem;font-weight:700;letter-spacing:1px;margin-bottom:28px}.suggested-files-empty{color:#888;font-size:1.08rem;margin-top:24px;text-align:center}.suggested-file-card{background:#fff;border:none;border-radius:18px;box-shadow:0 2px 12px #2c3e501a;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:480px;overflow:hidden;padding:0;position:relative}.suggested-file-header{align-items:center;display:flex;gap:16px;padding:22px 28px 10px}.suggested-file-icon{color:#222;flex-shrink:0;font-size:2.2rem}.suggested-file-date{color:#222;font-size:1.18rem;font-weight:700;margin-bottom:2px}.suggested-file-meta{color:#444;font-size:1.02rem}.suggested-file-divider{background:#222;height:8px;width:100%}.suggested-file-list{padding:12px 28px 22px}.suggested-file-ul{list-style:none;margin:0;padding:0}.suggested-file-li{align-items:center;color:#222;display:flex;font-size:1.13rem;gap:8px;margin-bottom:10px}.suggested-file-doc-icon{color:#222;font-size:1.35rem}.suggested-file-appointment{font-weight:500}.report-details-section{background:linear-gradient(135deg,#eaf3ff,#f5f7fa);border-radius:16px;box-shadow:0 2px 12px #2c3e500a;margin-top:32px;min-height:300px;padding:32px}.report-details-section h3{color:#2d3e5e;font-size:1.3rem;font-weight:700;letter-spacing:1px;margin-bottom:18px}.report-details-day{background:#fff;border-radius:12px;box-shadow:0 1px 6px #2c3e500a;margin-bottom:28px;padding:18px 20px}.report-details-day strong{color:#2d3e5e;font-size:1.08rem}.appointment-card{align-items:center;background:#6a78c0;border-radius:6px;box-shadow:0 1px 4px #2c3e5014;color:#fff;cursor:pointer;display:flex;font-weight:500;margin-bottom:10px;padding:8px 16px;transition:background .2s}.appointment-card .icon{color:gold;font-weight:700;margin-right:8px}.appointment-details{align-items:flex-start;align-items:center;background:#eaf3ff;border-radius:24px;box-shadow:0 6px 32px #2c3e501a;display:flex;flex-direction:column;justify-content:flex-start;margin-left:42px;margin-top:38px;max-width:700px;min-height:520px;padding:38px 48px}.appointment-details-label{color:#6a78c0;display:inline-block;font-weight:700;margin-right:8px}.report-page{background:linear-gradient(#ffffffb3,#ffffffb3),url(/static/media/apone.2e7aa14bf3b794afe234.png) 50%/cover no-repeat;display:flex;height:100vh;min-height:100vh;overflow:hidden}.report-page-bg{background:linear-gradient(#ffffffb3,#ffffffb3),url(/static/media/apone.2e7aa14bf3b794afe234.png) 50%/cover no-repeat fixed;margin:0;min-height:100vh;overflow-x:auto;overflow-y:auto;padding:0;position:relative;width:100vw}.report-main-container{background:linear-gradient(#ffffffb3,#ffffffb3);border-radius:20px;box-shadow:0 8px 32px #0000001f;margin:0 auto;max-width:1000px;padding:40px}.report-sidebar{background:linear-gradient(135deg,#6a78c0,#4e5d94);border-radius:24px;box-shadow:0 8px 32px #2c3e501f;color:#fff;height:calc(100vh - 48px);margin:24px 18px;min-width:200px;overflow:hidden;padding:32px 0 0;position:relative;width:250px}.report-logo,.report-sidebar{align-items:center;display:flex;flex-direction:column}.report-logo{margin-bottom:40px;margin-top:8px}.anchor-icon{color:#ffe14d;filter:drop-shadow(0 2px 8px #ffe14d88);font-size:3.5rem;margin-bottom:10px}.anchorpoint-title{color:#fff;font-size:2rem;font-weight:700;letter-spacing:2px;text-shadow:0 2px 8px #4e5d94}.anchor{color:#fff}.point{color:#ffe14d}.report-nav{display:flex;flex-direction:column;gap:20px;margin-top:24px;padding:0 12px;width:100%}.nav-item{align-items:center;border-radius:12px 0 0 12px;box-shadow:0 2px 8px #2c3e5014;color:#fff;display:flex;font-size:1.18rem;font-weight:500;gap:14px;letter-spacing:1px;padding:14px 32px;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}.nav-item.active,.nav-item:hover{background:linear-gradient(90deg,#ffe14d,#fffbe6);box-shadow:0 4px 16px #ffe14d44;color:#4e5d94}.report-main{display:block;flex:1 1;max-height:calc(100vh - 80px);overflow-y:auto;padding:40px 0}.report-table-container{background:#fff;border-radius:8px;box-shadow:0 4px 16px #2f3b7014;display:flex;flex-direction:column;height:calc(100vh - 160px);margin:0 auto 32px;max-height:calc(100vh - 160px);overflow:hidden;padding:0;position:relative;width:100%}.add-row-btn{align-items:center;background:#ffe14d;border:none;border-radius:50%;box-shadow:0 2px 8px #ffe14d44;color:#4e5d94;cursor:pointer;display:flex;font-size:2rem;font-weight:700;height:38px;justify-content:center;margin:18px auto 0;position:static;transition:background .2s,box-shadow .2s;width:38px}.add-row-btn:hover{background:#fffbe6;box-shadow:0 4px 16px #ffe14d88}.report-table{background:#fff;border:1px solid #e5e7eb;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 12px #0000001a;color:#333;display:flex;flex:1 1;flex-direction:column;font-size:.9rem;height:100%;margin:0;overflow:hidden;table-layout:fixed;width:100%}.report-table thead{background:linear-gradient(90deg,#1e40af,#3b82f6);border-radius:12px 12px 0 0;color:#fff;display:block;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:10}.report-table tbody{display:block;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:#2f3b70 #f1f1f1;scrollbar-width:thin;width:100%}.report-table thead tr,.report-table tr{display:table;table-layout:fixed;width:100%}.report-table tbody::-webkit-scrollbar{width:10px}.report-table tbody::-webkit-scrollbar-track{background:#f1f5f9;border-radius:5px}.report-table tbody::-webkit-scrollbar-thumb{background:#2f3b70;border:2px solid #f1f5f9;border-radius:5px}.report-table tbody::-webkit-scrollbar-thumb:hover{background:#1e2a5e}.report-table tbody tr:hover td{background:#f8fafc}.report-table tbody tr:nth-child(2n) td{background:#fafafa}.report-table tbody tr:nth-child(2n):hover td{background:#f1f5f9}.report-table td:first-child{padding-left:30px;position:relative}.report-table td:first-child:before{color:#3b82f6;content:"•";font-size:1.2rem;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.report-table th{padding-left:35px}.report-table th:before{background:#fff;border-radius:50%;content:"";height:16px;left:12px;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:16px}.report-table th:first-child:before{background:#fff;border-radius:4px;height:14px;width:14px}.report-table th:nth-child(2):before,.report-table th:nth-child(3):before,.report-table th:nth-child(4):before,.report-table th:nth-child(5):before,.report-table th:nth-child(6):before,.report-table th:nth-child(7):before{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px #3b82f6;height:12px;width:12px}.report-table td,.report-table th{border:none;border-right:1px solid #e5e7eb;display:table-cell;font-weight:400;overflow:hidden;padding:16px 20px;text-align:left;text-overflow:ellipsis;transition:background .2s;vertical-align:middle;white-space:nowrap}.report-table th{background:linear-gradient(90deg,#1e40af,#3b82f6);border-right:1px solid #3b82f6;font-size:.85rem;position:relative;text-transform:uppercase}.report-table th:last-child{border-right:none}.report-table td{background:#fff;border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:.9rem}.report-table td:last-child{border-right:none}.report-table tbody tr:last-child td{border-bottom:none}.report-table td:first-child,.report-table th:first-child{min-width:140px;width:140px}.report-table td:nth-child(2),.report-table th:nth-child(2){min-width:100px;width:100px}.report-table td:nth-child(3),.report-table th:nth-child(3){min-width:180px;width:180px}.report-table td:nth-child(4),.report-table th:nth-child(4){min-width:120px;width:120px}.report-table td:nth-child(5),.report-table th:nth-child(5){min-width:160px;width:160px}.report-table td:nth-child(6),.report-table th:nth-child(6){min-width:120px;width:120px}.report-table td:nth-child(7),.report-table th:nth-child(7){min-width:100px;width:100px}.report-table th{border-bottom:3px solid #dbeafe;color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:1px}.report-table .work-header th,.report-table th{background:linear-gradient(90deg,#6a78c0,#4e5d94)}.report-table .work-header th{border-bottom:3px solid #ffe14d;box-shadow:0 2px 8px #2c3e5014;color:#ffe14d;font-size:1.18rem;letter-spacing:1.5px;text-align:center}.report-table .work-subheader th{background:#eaf3ff;color:#2d3e5e;font-size:1.08rem;text-align:center}.report-table tr{border-radius:12px;overflow:hidden}.report-table tr:nth-child(2n) td:not(.highlight){background:#f5f7fa}.report-table tr:nth-child(odd) td:not(.highlight){background:#fff}.report-table td.highlight{background:#ffe14d!important;border-radius:8px;box-shadow:0 0 8px #ffe14d44;color:#222;font-weight:700;text-align:center}.report-table td{border-bottom:1.5px solid #dbeafe}.report-table tr:last-child td{border-bottom:none}.report-table select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F3B70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;overflow:visible;padding-right:40px;text-overflow:clip}.report-table select,.report-table select option{word-wrap:break-word;min-width:100%;white-space:normal}.report-table select option{background:#fff;border:none;color:#2f3b70;font-weight:500;max-width:none;padding:12px 16px}.report-table select option:hover{background:#e3f2fd;color:#1a2332}.report-table select option:checked{background:#2f3b70;color:#fff}.report-save-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:12px;box-shadow:0 4px 16px #28a7454d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.5px;opacity:1;padding:16px 32px;text-transform:uppercase;transition:all .3s ease}.report-save-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.report-save-btn:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.report-save-btn:not(:hover){box-shadow:0 4px 16px #28a7454d;transform:translateY(0)}.report-save-message{border-radius:8px;box-shadow:0 2px 8px #0000001a;font-size:1rem;font-weight:600;margin-top:16px;padding:12px 24px}.report-save-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.report-save-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@keyframes slideInFromRight{0%{opacity:0;transform:translateY(-50%) translateX(20px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.report-transaction-table{background:#fff;border:1px solid #e8f0fe;border-radius:16px;box-shadow:0 8px 32px #2f3b701f;display:block;height:-webkit-fit-content;height:fit-content;overflow:hidden;position:relative;width:100%}.report-table-body{display:block;height:auto;max-height:none;overflow:visible}.report-table-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;display:grid;font-size:.9rem;font-weight:700;grid-template-columns:1.2fr 1.5fr .8fr 1.8fr 1fr;letter-spacing:.8px;overflow:hidden;position:relative;text-transform:uppercase;width:100%;z-index:2}.report-table-header-cell{align-items:center;border-right:1px solid #ffffff26;display:flex;gap:6px;max-width:100%;overflow:hidden;padding:8px 6px;text-overflow:ellipsis;white-space:nowrap}.report-table-row{background:#fff;border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:1.2fr 1.5fr .8fr 1.8fr 1fr;height:auto;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.report-table-row:hover{background:#3b82f60d;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-1px)}.report-table-row:nth-child(2n){background:#f8fafc80}.report-table-cell{align-items:center;border-right:1px solid #f1f5f9;color:#1f2937;display:flex;font-size:.85rem;font-weight:500;justify-content:flex-start;max-width:100%;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.report-table-cell.date{align-items:center;color:#1e40af;display:flex;font-weight:600;gap:8px}.report-table-cell.updated-by{align-items:center;color:#6b7280;display:flex;font-size:.9rem;font-weight:400;gap:8px}.report-date-indicator{background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;width:8px}.report-user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:32px;justify-content:center;width:32px}.report-empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #0000000d;overflow:hidden;padding:80px 40px;position:relative;text-align:center}.report-empty-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;box-shadow:0 8px 24px #3b82f64d;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.report-empty-title{color:#1e40af;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:12px}.report-empty-description{color:#64748b;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:400px}@media (max-width:1400px){.report-page-bg{padding:5px}.report-main-container{margin:10px auto;max-width:95%;padding:20px}}@media (max-width:1200px){.report-table-container{overflow-x:auto;padding:8px 4px;width:100%}.report-table{min-width:800px}.report-table td,.report-table th{font-size:.95rem;padding:8px 6px}}@media (max-width:768px){.report-page-bg{padding:2px}.report-main-container{margin:5px auto;padding:15px}.report-table-container{padding:8px 4px}}.analytics-scrollable{scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin}.analytics-scrollable::-webkit-scrollbar{height:12px;width:12px}.analytics-scrollable::-webkit-scrollbar-track{background:#f7fafc;border-radius:6px}.analytics-scrollable::-webkit-scrollbar-thumb{background:#cbd5e0;border:2px solid #f7fafc;border-radius:6px}.analytics-scrollable::-webkit-scrollbar-thumb:hover{background:#a0aec0}.report-table-scrollable{-ms-overflow-style:none;scrollbar-width:none}.report-table-scrollable::-webkit-scrollbar{display:none}.report-table-container-scrollable{-ms-overflow-style:none;scrollbar-width:none}.report-table-container-scrollable::-webkit-scrollbar{display:none}.payroll-center-content{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;min-height:100vh;overflow-y:auto;padding:10px 12px;position:relative;z-index:1}.payroll-center-content:before{content:none}.payroll-center-content>*{position:relative;z-index:1}.payroll-profile{align-items:center;display:flex;flex-direction:column;margin-bottom:16px}.payroll-avatar{align-items:center;background:#ffe6f6;border-radius:50%;color:#f39;display:flex;font-size:2rem;font-weight:700;height:56px;justify-content:center;margin-bottom:10px;width:56px}.payroll-name{font-size:1.1rem;font-weight:700;margin-bottom:2px}.payroll-email{color:#888;font-size:.95rem;margin-bottom:6px}.payroll-date{color:#666;font-size:1rem;margin-bottom:12px}.payroll-table-container{padding:18px 0;width:350px}.payroll-table{border-collapse:collapse;font-size:1.08rem;table-layout:fixed;width:100%}.payroll-table td{border:1.5px solid #444;height:38px;padding:10px 0 10px 10px}.payroll-table tr td:first-child,.payroll-value{font-weight:500}.payroll-value{color:#233a6c;text-align:right}.payroll-regular-bg{min-height:100vh;padding:40px 20px}.payroll-profile-section,.payroll-regular-bg{align-items:center;display:flex;flex-direction:column}.payroll-profile-section{margin-bottom:32px;text-align:center}.payroll-profile-avatar{align-items:center;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border-radius:50%;box-shadow:0 4px 16px #ff6b9d4d;color:#fff;display:flex;font-size:24px;font-weight:700;height:80px;justify-content:center;margin-bottom:16px;width:80px}.payroll-profile-name{color:#2d3e5e;font-size:1.8rem;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.payroll-profile-email{color:#6c757d;font-size:1rem;font-weight:500;margin:0 0 4px}.payroll-profile-date{color:#8e9aaf;font-size:.9rem;font-style:italic;margin:0}.payroll-profile-date-highlight{color:#2d3e5e;font-weight:600}.payroll-worker-dropdown-container{margin-top:24px;max-width:300px;width:100%}.payroll-worker-dropdown{position:relative;width:100%}.payroll-worker-dropdown-btn{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#2d3e5e;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;padding:12px 16px;transition:all .2s ease;width:100%}.payroll-worker-dropdown-btn:focus,.payroll-worker-dropdown-btn:hover{border-color:#2f3b70;box-shadow:0 4px 12px #2f3b7026}.payroll-worker-dropdown-arrow{color:#6c757d;font-size:.8rem}.payroll-worker-dropdown-menu{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 8px 24px #0000001f;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.payroll-worker-dropdown-item{border-bottom:1px solid #f8f9fa;color:#2d3e5e;cursor:pointer;font-weight:500;padding:12px 16px;transition:all .2s ease}.payroll-worker-dropdown-item:last-child{border-bottom:none}.payroll-worker-dropdown-item:focus,.payroll-worker-dropdown-item:hover{background:#f8f9fa;color:#2f3b70}.payroll-details-card{background:#fff;border-radius:20px;box-shadow:0 8px 32px #0000001f;overflow:visible;padding:40px;position:relative;width:100%}.payroll-details-header{border-bottom:2px solid #f8f9fa;margin-bottom:32px;padding-bottom:20px;text-align:center}.payroll-details-title{color:#2d3e5e;font-size:1.4rem;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase}.payroll-details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.payroll-details-group-bar{display:none!important}.payroll-details-row{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.payroll-details-row-total{background:#e3f2fd;border:1px solid #2196f3}.payroll-details-label-total,.payroll-details-value-total{color:#1976d2}.payroll-details-row-balance{background:#fff3cd;border:1px solid #ffc107}.payroll-details-label-balance,.payroll-details-value-balance{color:#856404}.payroll-details-row-deductions{background:#d4edda;border:1px solid #c3e6cb}.payroll-details-label-deductions,.payroll-details-value-deductions{color:#155724}.payroll-details-label{color:#2d3e5e;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.payroll-details-value{color:#2d3e5e;font-size:1.1rem;font-weight:700}.payroll-details-final-total{align-items:center;background:linear-gradient(135deg,#2f3b70,#4156a1);border-radius:12px;box-shadow:0 4px 16px #2f3b704d;display:flex;justify-content:space-between;margin-top:32px;padding:20px}.payroll-details-final-label{color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.payroll-details-final-value{color:#fff;font-size:1.4rem;font-weight:800}.worker-selection-container{margin-top:12px;text-align:center}.worker-dropdown{display:inline-block;position:relative}.worker-dropdown-button{background:#233a6c;border:none;border-radius:6px;box-shadow:0 2px 6px #233a6c33;color:#fff;cursor:pointer;font-size:.9rem;min-width:180px;padding:8px 14px;transition:all .2s ease}.worker-dropdown-button:hover{background:#1a2a4a;box-shadow:0 4px 12px #233a6c4d}.worker-dropdown-menu{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.worker-dropdown-item{border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;font-size:.9rem;padding:10px 16px;transition:background-color .2s}.worker-dropdown-item:hover{background:#f5f5f5}.worker-dropdown-item:last-child{border-bottom:none}.manager-view{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 16px 48px #0000001f,0 4px 16px #00000014;max-width:1200px;padding:30px}.manager-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff3;border:1px solid #fff6;border-radius:20px;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d;color:#fffffff2;margin-bottom:30px;padding:24px}.manager-controls{margin-bottom:15px}.back-button{background:#233a6c;border-radius:6px;box-shadow:0 2px 6px #233a6c33;font-size:.95rem;padding:10px 16px;transition:all .2s ease}.back-button:hover{background:#1a2a4a;box-shadow:0 4px 12px #233a6c4d}.manager-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#06b6d4);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-weight:900;letter-spacing:.5px;margin-bottom:20px;text-align:center;text-shadow:0 4px 8px #0003}.manager-view{background:none;box-sizing:border-box;max-width:100%;padding:20px}.manager-view::-webkit-scrollbar{height:8px;width:8px}.manager-view::-webkit-scrollbar-track{background:#e0e0e0;border-radius:4px}.manager-view::-webkit-scrollbar-thumb{background:#b0b0b0;border-radius:4px}.manager-view::-webkit-scrollbar-thumb:hover{background:#909090}.manager-view::-webkit-scrollbar-corner{background:#e0e0e0}.manager-table-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff3;border:1px solid #fff6;border-radius:20px;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d;contain:layout style paint;max-width:100%;overflow-x:auto;padding:20px;width:100%}.table-instructions{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #bbdefb;border-radius:8px;margin-bottom:16px;padding:12px 16px;text-align:center}.table-instructions p{color:#1976d2;font-size:.95rem;font-weight:500;margin:0}.table-instructions strong{color:#1565c0}.manager-table{background:#ffffff1a;border-collapse:collapse;color:#fffffff2;font-size:.95rem;min-width:100%;table-layout:auto}.manager-table,.manager-table th{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff4d}.manager-table th{background:linear-gradient(135deg,#1e3a8ae6,#3b82f6e6 50%,#06b6d4e6);font-weight:800;letter-spacing:.05em;overflow:hidden;padding:12px 8px;text-overflow:ellipsis;text-shadow:0 2px 4px #0000004d;width:auto}.manager-table th:first-child,.manager-table th:nth-child(4),.manager-table th:nth-child(5){text-align:center}.manager-table th:nth-child(4),.manager-table th:nth-child(5),.manager-table th:nth-child(6),.manager-table th:nth-child(7){word-wrap:break-word;font-size:.8rem;line-height:1.2;padding:10px 6px;text-align:center;white-space:nowrap;width:12%}.manager-table td,.manager-table th{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;color:#fffffff2;font-weight:600;min-width:80px;padding:10px 8px;text-align:center;text-shadow:0 1px 2px #0003}.manager-table th:first-child,.manager-table th:nth-child(2),.manager-table th:nth-child(3){text-align:center}.manager-table td:first-child,.manager-table td:nth-child(2),.manager-table td:nth-child(3){word-wrap:break-word;overflow-wrap:break-word;padding:10px 12px;text-align:left;white-space:normal}.manager-table td:first-child,.manager-table th:first-child{min-width:100px;width:10%}.manager-table td:nth-child(2),.manager-table td:nth-child(3),.manager-table th:nth-child(2),.manager-table th:nth-child(3){min-width:120px;width:12%}.worker-userid-cell{word-wrap:break-word;color:#ffffffe6;font-family:Courier New,monospace;font-size:.85rem;font-weight:500;overflow-wrap:break-word;text-align:left;white-space:normal}.worker-firstname-cell,.worker-lastname-cell{word-wrap:break-word;color:#fffffff2;font-weight:500;overflow-wrap:break-word;text-align:left;white-space:normal}.manager-table td:nth-child(n+4){text-align:right}.manager-table td:nth-child(4),.manager-table td:nth-child(5),.manager-table td:nth-child(6),.manager-table td:nth-child(7),.manager-table th:nth-child(4),.manager-table th:nth-child(5),.manager-table th:nth-child(6),.manager-table th:nth-child(7){word-wrap:break-word;font-size:.8rem;line-height:1.2;padding:8px 6px;white-space:nowrap;width:12%}.manager-table td:nth-child(8),.manager-table th:nth-child(8){white-space:nowrap;width:6%}.manager-table td:nth-child(9),.manager-table th:nth-child(9){font-size:.7rem;padding:6px 4px;white-space:nowrap;width:7%}.manager-table td:nth-child(10),.manager-table th:nth-child(10){font-size:.7rem;padding:6px 4px;white-space:nowrap;width:9%}.manager-table td:nth-child(11),.manager-table th:nth-child(11){font-size:.7rem;padding:6px 4px;white-space:nowrap;width:8%}.manager-table td:nth-child(12),.manager-table th:nth-child(12){font-size:.7rem;padding:6px 4px;white-space:nowrap;width:9%}.manager-table td:nth-child(13),.manager-table th:nth-child(13){white-space:nowrap;width:8%}.manager-table td{background:#233a6c;border:1px solid #4a5a7a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-table tr:nth-child(2n) td{background:#2a4470}.grand-total-row,.grand-total-row td{background:#1a2a4a!important}.grand-total-row td{font-weight:700}.table-input{background:#0000;padding:4px}.table-input,.vess-input{border:none;color:#fff;outline:none;text-align:center}.vess-input{background:#ffffff1a;border-radius:4px;font-size:.85rem;max-width:100%;min-width:60px;padding:6px 8px;transition:all .2s ease;width:100%}.vess-input:focus{background:#fff3;border:none;box-shadow:0 0 0 2px #ffffff1a}.vess-input::placeholder{color:#fff9;font-size:.8rem}.dropdown-arrow-btn{align-items:center!important;background:#ffffff1a!important;border:none!important;border-radius:4px!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-size:16px!important;font-weight:700!important;justify-content:center!important;line-height:1!important;min-width:32px!important;padding:6px 8px!important;transition:all .2s ease!important}.dropdown-arrow-btn:hover{background:#fff3!important;border:none!important}.dropdown-menu{background:#fff;border:1px solid #bfc8e2;border-radius:8px;box-shadow:0 4px 16px #00000026;left:0;margin-top:2px;min-width:120px;padding:4px 0;position:absolute;top:100%;z-index:1000}.dropdown-item{background:#0000;border-radius:6px;color:#232f4b;cursor:pointer;font-size:.9rem;font-weight:400;padding:10px 18px;transition:background .15s}.dropdown-item:hover{background:#e6f0ff;font-weight:600}.table-input:focus{background:#ffffff1a;border-radius:4px}.table-input::placeholder{color:#fff9}.table-input-readonly{background:#f5f5f5;border:none;color:#888;pointer-events:none}.worker-name-cell{font-weight:500;min-width:150px;padding-left:12px!important;text-align:left}.save-section{margin-top:20px;text-align:center}.save-controls{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.save-button{background:#28a745;border:none;border-radius:6px;box-shadow:0 2px 8px #28a7454d;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.save-button:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.save-button:disabled{background:#6c757d;box-shadow:none}.save-message{border-radius:4px;font-size:.9rem;margin-top:12px;padding:8px 16px}.save-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.save-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.clear-data-button{background:#dc3545;border:none;border-radius:6px;box-shadow:0 2px 8px #dc35454d;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.clear-data-button:hover{background:#c82333;box-shadow:0 4px 12px #dc354566;transform:translateY(-1px)}.clear-data-button:active{box-shadow:0 2px 8px #dc35454d;transform:translateY(0)}.auto-save-status{border-radius:4px;display:inline-block;font-size:.9rem;font-weight:500;margin-top:8px;padding:6px 12px}.auto-save-status.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.auto-save-status.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.manager-table{font-size:.8rem}.manager-table td,.manager-table th{padding:6px 4px}.manager-table td:first-child,.manager-table th:first-child{padding-left:8px;width:15%}.manager-table td:nth-child(2),.manager-table td:nth-child(3),.manager-table td:nth-child(4),.manager-table td:nth-child(5),.manager-table th:nth-child(2),.manager-table th:nth-child(3),.manager-table th:nth-child(4),.manager-table th:nth-child(5){font-size:.4rem;min-width:70px;width:12%}.manager-table td:nth-child(6),.manager-table th:nth-child(6){min-width:45px;white-space:nowrap;width:6%}.manager-table td:nth-child(7),.manager-table th:nth-child(7){font-size:.65rem;min-width:50px;white-space:nowrap;width:7%}.manager-table td:nth-child(8),.manager-table th:nth-child(8){font-size:.65rem;min-width:65px;white-space:nowrap;width:9%}.manager-table td:nth-child(9),.manager-table th:nth-child(9){font-size:.65rem;min-width:60px;white-space:nowrap;width:8%}.manager-table td:nth-child(10),.manager-table th:nth-child(10){font-size:.65rem;min-width:65px;white-space:nowrap;width:9%}.manager-table td:nth-child(11),.manager-table th:nth-child(11){min-width:55px;white-space:nowrap;width:8%}.vess-input{font-size:.8rem;padding:4px 6px}.dropdown-arrow-btn{font-size:14px!important;min-width:28px!important;padding:4px 6px!important}.mooring-bubble{left:0;margin-bottom:20px;position:relative;top:0}.back-button{font-size:.85rem;padding:8px 12px}.manager-table-container,.manager-view{padding:10px}}@media (max-width:480px){.manager-table{font-size:.7rem}.manager-table td,.manager-table th{padding:4px 2px}.manager-table td:first-child,.manager-table th:first-child{min-width:80px;padding-left:4px;width:8%}.manager-table td:nth-child(2),.manager-table td:nth-child(3),.manager-table th:nth-child(2),.manager-table th:nth-child(3){font-size:.45rem;min-width:90px;width:10%}.manager-table td:nth-child(4),.manager-table td:nth-child(5),.manager-table td:nth-child(6),.manager-table td:nth-child(7),.manager-table th:nth-child(4),.manager-table th:nth-child(5),.manager-table th:nth-child(6),.manager-table th:nth-child(7){font-size:.45rem;min-width:60px;width:10%}.manager-table td:nth-child(8),.manager-table th:nth-child(8){min-width:40px;white-space:nowrap;width:6%}.manager-table td:nth-child(9),.manager-table th:nth-child(9){font-size:.6rem;min-width:45px;white-space:nowrap;width:7%}.manager-table td:nth-child(10),.manager-table th:nth-child(10){font-size:.6rem;min-width:55px;white-space:nowrap;width:9%}.manager-table td:nth-child(11),.manager-table th:nth-child(11){font-size:.6rem;min-width:50px;white-space:nowrap;width:8%}.manager-table td:nth-child(12),.manager-table th:nth-child(12){font-size:.6rem;min-width:55px;white-space:nowrap;width:9%}.manager-table td:nth-child(13),.manager-table th:nth-child(13){min-width:50px;white-space:nowrap;width:8%}.vess-input{font-size:.7rem;padding:3px 4px}.dropdown-arrow-btn{font-size:12px!important;min-width:24px!important;padding:3px 4px!important}.dropdown-menu{min-width:100px}.dropdown-item{font-size:.8rem;padding:8px 12px}.manager-table-container,.manager-view{padding:5px}}.manager-toggle-btn{align-items:center;background:#2d3e5e;border-radius:6px;box-shadow:0 2px 4px #2d3e5e33;display:flex;font-size:14px;justify-content:center;margin-top:12px;padding:8px 16px;transition:all .2s ease}.manager-toggle-btn:hover{background:#394b6d;box-shadow:0 4px 8px #2d3e5e4d;transform:translateY(-1px)}.manager-toggle-btn:active{box-shadow:0 2px 4px #2d3e5e33;transform:translateY(0)}.pricing-config-button{background:#233a6c;border:none;border-radius:6px;box-shadow:0 2px 6px #233a6c33;font-size:.95rem;height:auto;line-height:1;margin-left:12px;padding:10px 16px;transition:all .2s ease}.pricing-config-button:hover{background:#1a2a4a;box-shadow:0 4px 12px #233a6c4d}.pricing-config-panel{border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 16px #0000001a;margin-bottom:24px;padding:24px}.pricing-config-panel h3{border-bottom:2px solid #f8f9fa;color:#2d3e5e;font-size:1.4rem;margin:0 0 20px;padding-bottom:12px}.pricing-config-grid{grid-gap:24px;gap:24px;margin-bottom:24px}.pricing-config-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.pricing-config-group h4{border-bottom:1px solid #dee2e6;color:#2d3e5e;font-size:1.1rem;margin:0 0 16px;padding-bottom:8px}.pricing-input-group{margin-bottom:16px}.pricing-input-group label{color:#495057;font-size:.9rem;font-weight:500;margin-bottom:6px}.pricing-input{border:2px solid #e9ecef;border-radius:6px;color:#495057;padding:10px 12px;transition:all .2s ease}.pricing-input:focus{border-color:#2f3b70;box-shadow:0 0 0 3px #2f3b701a}.pricing-config-actions{border-top:1px solid #e9ecef;padding-top:16px;text-align:center}.pricing-save-button{background:#233a6c;border-radius:6px;box-shadow:0 2px 8px #233a6c33;padding:12px 24px;transition:all .2s ease}.pricing-save-button:hover{background:#1a2a4a;box-shadow:0 4px 12px #233a6c4d;transform:translateY(-1px)}.pricing-save-button:active{box-shadow:0 2px 8px #233a6c33;transform:translateY(0)}.alice-approval-view{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 12px 48px #2f3b7026;contain:layout style paint;margin:0 auto;max-width:1400px;overflow:hidden;padding:0;transform:translateZ(0);width:100%;will-change:auto}.approval-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#1d4ed8);border-radius:16px;box-shadow:0 12px 48px #1e3a8a66;color:#fff;margin-bottom:32px;overflow:hidden;padding:40px 32px;position:relative}.approval-header:before{background:radial-gradient(circle,#fff3 0,#ffffff0d 70%);height:200px;right:-60px;top:-60px;width:200px}.approval-header:after,.approval-header:before{border-radius:50%;content:"";position:absolute;z-index:1}.approval-header:after{background:radial-gradient(circle,#ffffff26 0,#ffffff08 70%);bottom:-80px;height:160px;left:-80px;width:160px}.approval-title-section{gap:24px;margin-bottom:0;position:relative;text-align:center;z-index:2}.approval-title-icon,.approval-title-section{align-items:center;display:flex;justify-content:center}.approval-title-icon{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 8px 24px #0003;color:#fff;flex-shrink:0;height:72px;width:72px}.approval-title-content{flex:1 1;text-align:center}.approval-title-content h2{color:#fff;font-size:2.8rem;font-weight:800;letter-spacing:.8px;line-height:1.1;margin:0 0 16px;text-shadow:0 4px 12px #0009}.approval-title-content p{color:#fff;font-size:1.4rem;font-weight:600;line-height:1.5;margin:0;opacity:1;text-shadow:0 2px 4px #00000080}.loading-container{padding:40px 20px}.notification-banner{animation:slideInDown .5s ease-out;border-radius:8px;box-shadow:0 4px 12px #4caf504d;gap:12px;margin-bottom:20px;padding:16px 20px}.notification-icon{font-size:1.5rem}.notification-text{flex:1 1}.notification-text p{font-size:.9rem}.notification-banner{align-items:center;animation:slideInFromTop .5s ease-out;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;box-shadow:0 4px 16px #4caf504d;color:#fff;display:flex;gap:16px;margin-bottom:0;padding:20px 24px;position:relative;z-index:2}.notification-icon{color:#fff;height:24px;width:24px}.notification-text strong{display:block;font-size:1.1rem;font-weight:600;margin-bottom:4px}.notification-text p{font-size:.95rem;line-height:1.4;margin:0;opacity:.9}.no-data-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;margin:20px;overflow:hidden;padding:60px 40px;position:relative;text-align:center}.no-data-container:before{background:#3b82f61a;height:100px;right:-20px;top:-20px;width:100px}.no-data-container:after,.no-data-container:before{border-radius:50%;content:"";position:absolute;z-index:1}.no-data-container:after{background:#3b82f60d;bottom:-30px;height:80px;left:-30px;width:80px}.no-data-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;box-shadow:0 8px 24px #3b82f64d;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 24px;position:relative;width:80px;z-index:2}.no-data-container h3{color:#1e40af;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:12px;position:relative;z-index:2}.no-data-container p{color:#64748b;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:400px;position:relative;z-index:2}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.approval-header{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding-bottom:20px;text-align:center}.approval-header h2{color:#2f3b70;font-size:2rem;font-weight:700;margin-bottom:10px}.approval-header p{color:#6c757d;font-size:1.1rem;margin:0}.approval-table-container{border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;overflow-x:auto}.approval-table,.approval-table-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout style paint;transform:translateZ(0);will-change:auto}.approval-table{background:#fff;border-collapse:collapse;font-size:.9rem;width:100%}.approval-table th{background:#2f3b70;border:1px solid #1a2a4a;color:#fff;font-weight:600;padding:12px 8px;text-align:center}.approval-table td{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;border:1px solid #dee2e6;contain:layout style;padding:10px 8px;text-align:center;transform:translateZ(0);will-change:auto}.approval-table .worker-name-cell{background:#f8f9fa;color:#2f3b70;font-weight:500;text-align:left}.approval-table .grand-total-row{font-weight:600}.approval-table .grand-total-row,.approval-table .grand-total-row td{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e9ecef;contain:layout style;transform:translateZ(0);will-change:auto}.approval-table .grand-total-row td{border-top:2px solid #2f3b70}.approval-table tr{-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout style;transform:translateZ(0);will-change:auto}.approval-table tbody tr:nth-child(2n),.approval-table tbody tr:nth-child(2n) td{background:#f8f9fa}.approval-actions{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;padding:32px}.approval-actions-content{align-items:center;display:flex;gap:24px;justify-content:space-between;margin:0 auto;max-width:1000px}.approval-info{align-items:center;display:flex;flex:1 1;gap:16px}.approval-info-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.approval-info-text strong{color:#1e40af;display:block;font-size:1.1rem;font-weight:600;margin-bottom:4px}.approval-info-text p{color:#64748b;font-size:.95rem;line-height:1.4;margin:0}.approve-payroll-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 4px 16px #10b9814d;display:flex;gap:12px;justify-content:center;min-width:200px;padding:16px 32px}.approve-payroll-button:hover:not(:disabled){box-shadow:0 8px 24px #10b98166}.approve-payroll-button:disabled{background:#6b7280;box-shadow:0 4px 16px #6b728033}.button-content{align-items:center;display:flex;gap:12px}.button-spinner{border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.approval-message{align-items:center;border-radius:10px;display:flex;gap:12px;margin-left:auto;margin-right:auto;max-width:1000px;padding:16px 20px}.message-icon{flex-shrink:0}.approve-payroll-button{background:#28a745;border:none;border-radius:8px;box-shadow:0 4px 12px #28a7454d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:15px;padding:15px 30px;transition:all .3s ease}.approve-payroll-button:hover:not(:disabled){background:#218838;box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.approve-payroll-button:active:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(0)}.approve-payroll-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.approval-message{border-radius:6px;margin-top:10px;padding:12px 20px}.approval-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.approval-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.payroll-days-container{border-radius:0 0 16px 16px;margin:0 auto;max-width:1200px;width:100%}.payroll-days-container,.payroll-days-header{background:linear-gradient(135deg,#f8fafc,#fff);padding:20px}.payroll-days-header{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #2f3b700f;margin-bottom:20px;overflow:hidden;position:relative;text-align:center}.payroll-days-header:before{background:linear-gradient(90deg,#2f3b70,#4a90e2 50%,#2f3b70);content:"";height:4px;left:0;position:absolute;right:0;top:0}.payroll-days-header h3{color:#2f3b70;font-size:1.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px}.payroll-days-header p{color:#64748b;font-size:1rem;font-weight:500;line-height:1.5;margin:0}.payroll-days-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.payroll-day-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #0000001a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.payroll-day-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.payroll-day-card.pending{background:linear-gradient(135deg,#fff9e6,#fff);border-color:#ffc107}.payroll-day-card.approved{background:linear-gradient(135deg,#e8f5e8,#fff);border-color:#28a745}.payroll-day-card.pending:hover{border-color:#e0a800;box-shadow:0 8px 30px #ffc1074d}.payroll-day-card.approved:hover{border-color:#1e7e34;box-shadow:0 8px 30px #28a7454d}.payroll-day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.payroll-day-date{color:#2f3b70;font-size:1.3rem;font-weight:700}.payroll-day-status{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.payroll-day-status.pending{background:#ffc107;color:#856404}.payroll-day-status.approved{background:#28a745;color:#fff}.payroll-day-info{margin-bottom:20px}.payroll-day-created-by,.payroll-day-last-modified{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:8px}.payroll-day-created-by .label,.payroll-day-last-modified .label{color:#6c757d;font-weight:500}.payroll-day-created-by .value,.payroll-day-last-modified .value{color:#2f3b70;font-weight:600}.payroll-day-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:center;padding-top:16px}.approved-indicator,.pending-indicator{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:8px}.pending-indicator{color:#ffc107}.back-to-days-button{align-items:center;background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:20px;padding:10px 16px;transition:all .3s ease}.back-to-days-button:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.no-payroll-days-message{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #2f3b7014;grid-column:1/-1;margin:15px 0;overflow:hidden;padding:40px 30px;position:relative;text-align:center}.no-payroll-days-message:before{background:linear-gradient(135deg,#2f3b701a,#2f3b700d);border-radius:50%;content:"";height:120px;position:absolute;right:-50px;top:-50px;width:120px;z-index:1}.no-payroll-days-message:after{background:linear-gradient(135deg,#2f3b7014,#2f3b7008);border-radius:50%;bottom:-30px;content:"";height:80px;left:-30px;position:absolute;width:80px;z-index:1}.no-payroll-days-icon{align-items:center;background:linear-gradient(135deg,#2f3b70,#4a90e2);border-radius:50%;box-shadow:0 4px 16px #2f3b7033;color:#fff;display:flex;font-size:32px;height:80px;justify-content:center;margin:0 auto 20px;position:relative;width:80px;z-index:2}.no-payroll-days-message h3{color:#2f3b70;font-size:1.6rem;font-weight:700;letter-spacing:.5px;margin-bottom:12px;position:relative;z-index:2}.no-payroll-days-message p{color:#64748b;font-size:1rem;font-weight:500;line-height:1.5;margin:0 auto;max-width:400px;position:relative;z-index:2}.past-approved-section{margin-top:10px;width:100%}.past-approved-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:15px;text-align:center}.past-approved-header h3{color:#2f3b70;font-size:1.4rem;font-weight:700;margin-bottom:6px}.past-approved-header p{color:#6c757d;font-size:.9rem;margin:0}.past-approved-grid{margin-top:20px}@media (max-width:768px){.no-payroll-days-message{margin:20px 0;padding:60px 40px}.no-payroll-days-icon{font-size:40px;height:100px;margin-bottom:24px;width:100px}.no-payroll-days-message h3{font-size:1.6rem}.no-payroll-days-message p{font-size:1.1rem}.approval-header{margin-bottom:24px;padding:32px 24px}.approval-title-section{flex-direction:column;gap:20px;text-align:center}.approval-title-icon{height:64px;width:64px}.approval-title-content h2{font-size:2.2rem;letter-spacing:.6px}.approval-title-content p{font-size:1.2rem;font-weight:500}.payroll-days-container{padding:24px}.payroll-days-header{margin-bottom:32px;padding:24px}.payroll-days-header h3{font-size:1.8rem}.payroll-days-header p{font-size:1.1rem}}@media (max-width:480px){.no-payroll-days-message{padding:40px 24px}.no-payroll-days-icon{font-size:32px;height:80px;margin-bottom:20px;width:80px}.no-payroll-days-message h3{font-size:1.4rem}.no-payroll-days-message p{font-size:1rem}.approval-header{margin-bottom:20px;padding:24px 16px}.approval-title-icon{height:56px;width:56px}.approval-title-content h2{font-size:1.8rem;letter-spacing:.4px}.approval-title-content p{font-size:1rem;font-weight:500}.payroll-days-container{padding:16px}.payroll-days-header{margin-bottom:24px;padding:20px}.payroll-days-header h3{font-size:1.6rem}.payroll-days-header p{font-size:1rem}}.payroll-access-message{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;margin:20px 0;padding:40px 20px;text-align:center}.payroll-access-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;box-shadow:0 8px 24px #3b82f64d;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.payroll-access-message h4{color:#1e40af;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:16px}.payroll-access-message p{color:#64748b;font-size:1.1rem;line-height:1.6;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:500px}.payroll-access-features{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:400px}.payroll-access-feature{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:12px;padding:12px 16px;transition:all .3s ease}.payroll-access-feature:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.payroll-access-feature svg{color:#10b981;flex-shrink:0}.payroll-access-feature span{color:#374151;font-size:.95rem;font-weight:500}@media (max-width:768px){.payroll-access-message{padding:30px 15px}.payroll-access-icon{height:60px;width:60px}.payroll-access-message h4{font-size:1.3rem}.payroll-access-message p{font-size:1rem}.payroll-access-features{gap:12px}.payroll-access-feature{padding:10px 12px}}.payroll-approval-report-container{margin:0 auto;max-width:1200px;padding:20px;width:100%}.approval-report-header{margin-bottom:30px;text-align:center}.approval-report-header h2{color:#2f3b70;font-size:2.5rem;font-weight:700;margin-bottom:10px}.approval-report-header p{color:#666;font-size:1.1rem;margin:0}.approval-report-content{width:100%}.pending-approvals-section{margin-bottom:40px}.pending-approvals-section h3{color:#2f3b70;font-size:1.8rem;font-weight:600;margin-bottom:20px}.pending-approvals-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.approval-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 20px #00000014;cursor:pointer;overflow:hidden;transition:all .3s ease}.approval-card.pending{border-color:orange}.approval-card.approved{border-color:#28a745;cursor:default}.approval-card.pending:hover{border-color:#ff8c00;box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.approval-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.approval-date{color:#2f3b70;font-size:1.2rem;font-weight:600}.approval-status{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.approval-status.pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.approval-status.approved{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.approval-card-info{padding:20px}.approval-created-by,.approval-last-modified{display:flex;justify-content:space-between;margin-bottom:8px}.approval-created-by .label,.approval-last-modified .label{color:#666;font-size:.9rem;font-weight:500}.approval-created-by .value,.approval-last-modified .value{color:#2f3b70;font-size:.9rem;font-weight:600}.approval-card-actions{background:#f8f9fa;border-top:1px solid #e9ecef;padding:20px}.approved-indicator,.review-indicator{align-items:center;color:#2f3b70;display:flex;font-size:.9rem;font-weight:600;gap:8px}.review-indicator{color:#ff8c00}.approved-indicator{color:#28a745}.past-approved-section{margin-top:40px}.past-approved-section h3{color:#2f3b70;font-size:1.8rem;font-weight:600;margin-bottom:10px}.past-approved-section p{color:#666;font-size:1rem;margin-bottom:20px}.past-approved-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.no-payroll-data-message{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:60px 20px;text-align:center}.no-payroll-icon{color:#ccc;margin-bottom:20px}.no-payroll-data-message h3{color:#2f3b70;font-size:1.5rem;font-weight:600;margin-bottom:10px}.no-payroll-data-message p{color:#666;font-size:1rem;margin:0}.payroll-approval-detail-view{margin:0 auto;max-width:1400px;padding:20px;width:100%}.approval-detail-header{margin-bottom:30px}.approval-detail-title-section{align-items:center;display:flex;gap:20px;margin-bottom:20px}.back-to-approval-button{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#2f3b70;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 16px;transition:all .3s ease}.back-to-approval-button:hover{background:#e9ecef;border-color:#adb5bd;transform:translateX(-2px)}.approval-detail-title-content h2{color:#2f3b70;font-size:2.2rem;font-weight:700;margin:0 0 8px}.approval-detail-title-content p{color:#666;font-size:1rem;margin:0}@media (max-width:768px){.approval-report-header h2{font-size:2rem}.past-approved-grid,.pending-approvals-grid{grid-template-columns:1fr}.approval-detail-title-section{align-items:flex-start;flex-direction:column;gap:15px}.approval-detail-title-content h2{font-size:1.8rem}}.alice-empty-payroll{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:40px 20px}.empty-payroll-content{max-width:500px;text-align:center}.empty-payroll-icon{color:#6b7280;margin-bottom:24px}.empty-payroll-content h2{color:#2f3b70;font-size:2rem;font-weight:700;margin-bottom:12px}.empty-payroll-content p{color:#6b7280;font-size:1.1rem;margin:0}.access-denied{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:40px 20px}.access-denied h2{color:#dc2626;font-size:2rem;font-weight:700;margin-bottom:12px}.access-denied p{color:#6b7280;font-size:1.1rem;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.loading-spinner{border:4px solid #e5e7eb;height:40px;margin-bottom:16px;width:40px}.loading-container p{color:#6b7280;font-size:1.1rem;margin:0}.alice-payroll-validation{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 8px 32px #0000001f;margin:0 auto;max-width:1600px;overflow:hidden;padding:24px;position:relative;width:100%}.alice-payroll-validation:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);content:"";height:4px;left:0;position:absolute;right:0;top:0}.validation-header{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0cc;border-radius:12px;margin-bottom:40px;padding:24px;position:relative;z-index:1}.back-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:24px;padding:12px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.back-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.validation-header h2{color:#1e293b;font-size:2.4rem;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;text-shadow:0 2px 4px #0000001a}.validation-header p{color:#64748b;font-size:1.1rem;font-weight:500;margin:0}.validation-table-container{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;margin-bottom:32px;overflow-x:auto;width:100%}.validation-table{border-collapse:collapse;font-size:.9rem;min-width:1200px;table-layout:auto;width:100%}.validation-table th{word-wrap:break-word;background:linear-gradient(135deg,#1e293b,#334155);border:none;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.05em;min-width:100px;padding:16px 14px;position:relative;text-align:left;text-transform:uppercase;white-space:normal}.validation-table th:first-child{min-width:180px;width:15%}.validation-table th.gross-earnings-column,.validation-table th.net-amount-column{min-width:130px;width:12%}.validation-table th:after{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.validation-table th.gross-earnings-column,.validation-table th.net-amount-column{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;color:#fff;font-weight:800}.validation-table td{word-wrap:break-word;background:#fff;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:500;min-width:100px;padding:14px;vertical-align:middle;white-space:normal}.validation-table td:first-child{min-width:180px;width:15%}.validation-table td.gross-earnings-column,.validation-table td.net-amount-column{min-width:130px;white-space:nowrap;width:12%}.validation-table td.gross-earnings-column,.validation-table td.net-amount-column{background-color:#e0f2fe!important;border-left:2px solid #0ea5e9;border-right:2px solid #0ea5e9;color:#0c4a6e;font-weight:600}.validation-table tr:hover{background:linear-gradient(135deg,#f8fafc,#fff)}.validation-table tr:hover td.gross-earnings-column,.validation-table tr:hover td.net-amount-column{background-color:#bae6fd!important}.validation-table .grand-total-row{background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#06b6d4);border-top:3px solid #3b82f6;font-weight:700}.validation-table .grand-total-row td{background:#0000;border:none;color:#fff;font-family:inherit;font-size:.95rem;font-weight:800;padding:20px 16px;text-align:center;text-shadow:0 2px 4px #0000004d}.validation-table .grand-total-row td.gross-earnings-column,.validation-table .grand-total-row td.net-amount-column{background:linear-gradient(135deg,#0284c7,#0369a1)!important;border-left:2px solid #0ea5e9;border-right:2px solid #0ea5e9}.validation-table .grand-total-row td:first-child{border-bottom-left-radius:16px;color:#fff;font-size:1.1rem;font-weight:900;text-align:left;text-shadow:0 2px 4px #0000004d}.validation-table .grand-total-row td:last-child{border-bottom-right-radius:16px;color:#fff;font-weight:900;text-shadow:0 2px 4px #0000004d}.payroll-tabs{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-bottom:3px solid #1e3a8a33;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;gap:12px;margin-bottom:32px;padding:20px}.tab-button{align-items:center;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;color:#1e293b;display:flex;font-size:1rem;gap:.5rem}.tab-button:hover{background:#f8fafc;border-color:#cbd5e0;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.tab-button.active{border:none;transform:translateY(-2px)}.tab-button.active:hover{box-shadow:0 4px 8px #3b82f666}.tab-button.active:before{display:none}.payroll-tab-content{min-height:400px}.empty-state{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #1e3a8a33;border-radius:24px;box-shadow:0 12px 40px #0000001a;justify-content:center;margin:30px 0;padding:80px 40px}.empty-icon{color:#64748b;margin-bottom:24px;opacity:.8}.empty-state h3{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:16px;text-shadow:none}.empty-state p{font-size:1.1rem;font-weight:500;line-height:1.6;max-width:400px}.history-card{background:#ffffff14;border:1px solid #ffffff26}.history-card:hover{background:#ffffff1f;border-color:#ffffff40;box-shadow:0 8px 32px #0003;transform:translateY(-4px)}.status-badge.approved{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d;color:#fff;text-shadow:0 1px 2px #0003}.worker-name{color:#1e293b;font-size:1rem}.earnings{color:#059669}.deduction,.earnings{font-size:1rem;font-weight:700}.deduction{color:#dc2626}.total-deductions{color:#dc2626}.net-amount,.total-deductions{font-size:1.1rem;font-weight:800}.net-amount{color:#059669}.net-amount.negative{color:#dc2626}.grand-total-row{background:linear-gradient(135deg,#1e293b,#334155)}.grand-total-row td{border-bottom:none;font-size:1.1rem;text-shadow:0 1px 2px #0000001a}.validation-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:20px;margin-top:32px}.validation-summary{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;flex:1 1;min-width:300px;padding:24px}.validation-summary h3{color:#1e293b;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 24px;text-shadow:0 2px 4px #0000001a}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.summary-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:12px 16px}.summary-item .label{color:#64748b;font-size:.95rem;font-weight:700}.summary-item .value{color:#1e293b;font-size:1.1rem;font-weight:800}.action-buttons{flex-direction:column;flex-shrink:0;min-width:180px}.approve-button{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:12px;box-shadow:0 6px 20px #05966966;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:.05em;padding:16px 32px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.approve-button:hover:not(:disabled){box-shadow:0 12px 32px #05966980;transform:translateY(-3px)}.approve-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.alice-payroll-list{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #1e3a8a1a;border-radius:24px;box-shadow:0 12px 40px #0000001a;margin:0 auto;max-width:1200px;padding:30px;width:100%}.payroll-list-header{background:#1e3a8a0d;border:1px solid #1e3a8a1a;border-radius:16px;margin-bottom:40px;padding:24px;text-align:center}.payroll-list-header h2{color:#1e293b;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;text-shadow:none}.payroll-list-header p{color:#64748b;font-size:1.2rem;font-weight:600;margin:0}.payroll-list-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.payroll-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #1e3a8a1a;border-radius:16px;box-shadow:0 8px 32px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.payroll-card:hover{background:#fff;border-color:#3b82f6;box-shadow:0 16px 48px #1e3a8a33;transform:translateY(-8px)}.payroll-card-header{align-items:center;background:linear-gradient(135deg,#1e3a8a0d,#fffc);border-bottom:2px solid #1e3a8a1a;display:flex;justify-content:space-between;padding:24px}.payroll-card-header h3{color:#1e293b;font-size:1.4rem;font-weight:800;margin:0;text-shadow:none}.status-badge{box-shadow:0 2px 8px #0000001a;font-size:.85rem;font-weight:700;padding:8px 16px}.status-badge.pending{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;color:#fff;text-shadow:0 1px 2px #0003}.payroll-card-content{background:#fffc;padding:24px}.payroll-info{border-bottom:1px solid #1e3a8a1a;display:flex;justify-content:space-between;margin-bottom:16px;padding:8px 0}.payroll-info:last-child{border-bottom:none;margin-bottom:0}.payroll-info .label{color:#64748b;font-size:.95rem;font-weight:600}.payroll-info .value{color:#1e293b;font-size:.95rem;font-weight:700}.payroll-card-actions{background:linear-gradient(135deg,#1e3a8a0d,#fffc);border-top:2px solid #1e3a8a1a;padding:20px 24px;text-align:center}.review-text{color:#3b82f6;font-size:1rem;font-weight:700;text-shadow:none}.approval-message{border-radius:8px;font-weight:500;margin-top:20px;padding:12px 16px;text-align:center}.approval-message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.approval-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}@media (max-width:1024px){.alice-payroll-validation{max-width:95vw;padding:20px}.validation-actions{flex-direction:column;gap:20px}.summary-grid{grid-template-columns:1fr}.validation-table-container{overflow-x:auto}.validation-table{min-width:700px}}@media (max-width:768px){.alice-payroll-validation{margin:8px;padding:16px}.validation-header{margin-bottom:24px;padding:16px}.validation-header h2{font-size:1.8rem}.action-buttons,.validation-summary{min-width:100%}.payroll-list-grid{grid-template-columns:1fr}}.manager-view{margin:0;width:100%}.manager-header,.manager-view{background:#0000;border-radius:0;box-shadow:none;overflow:visible;padding:0;position:relative}.manager-header{align-items:center;color:#1e293b;display:flex;justify-content:space-between;margin-bottom:24px}.manager-controls{display:flex;gap:20px;position:relative;z-index:1}.pricing-config-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.05em;overflow:hidden;padding:12px 24px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.pricing-config-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.pricing-config-button:hover:before{left:100%}.pricing-config-button:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:#1d4ed8;box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.manager-header h2{color:#1e293b;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin:0}.manager-table-container{background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:24px;overflow:visible;padding:0;position:relative}.manager-table{background:#fff;border:1px solid #e2e8f0;border-collapse:initial;border-radius:16px;border-spacing:0;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;overflow:hidden;width:100%}.manager-table th{background:linear-gradient(135deg,#1e293b,#334155);border:none;color:#fff;font-family:inherit;font-size:.8rem;font-weight:700;letter-spacing:.08em;min-width:90px;padding:16px 12px;position:relative;text-align:center;text-shadow:0 1px 3px #0003;text-transform:uppercase;white-space:nowrap}.manager-table thead tr:nth-child(2) th{font-size:.75rem;letter-spacing:.04em;padding:10px 8px;text-align:center}.manager-table th:after{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:0 0 2px 2px;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.manager-table th:first-child{border-top-left-radius:16px}.manager-table th:last-child{border-top-right-radius:16px}.manager-table td{background:#fff;border-bottom:1px solid #f1f5f9;color:#1e293b;font-family:inherit;font-weight:600;padding:20px 16px;text-align:right;transition:all .3s cubic-bezier(.4,0,.2,1);vertical-align:middle}.manager-table tr:hover td{background:#f8fafc;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.manager-table tr:last-child td{border-bottom:none}.manager-table tr:nth-child(2n) td{background:#f8fafc;color:#1e293b}.manager-table tr:nth-child(odd) td{background:#fff;color:#1e293b}.worker-name-cell{background:inherit;border-left:4px solid #3b82f6;color:#1e293b;font-family:inherit;font-size:.95rem;font-weight:700;padding-left:24px}.amount-input,.count-input{background:#fff;border:2px solid #d1d5db;border-radius:8px;box-shadow:0 2px 4px #0000000a;color:#1e293b;font-family:inherit;font-size:.9rem;font-weight:600;padding:10px 14px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.amount-input:focus,.count-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 4px 8px #00000014;outline:none;transform:translateY(-1px)}.amount-input:hover,.count-input:hover{border-color:#3b82f6;box-shadow:0 4px 8px #00000014;transform:translateY(-1px)}.net-total-cell,.total-cell{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:2px solid #bbf7d0;border-radius:8px;box-shadow:0 2px 4px #0000000a;color:#047857;font-family:inherit;font-size:.95rem;font-weight:700;padding:12px 16px;text-align:center}.grand-total-row{background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#06b6d4);border-top:3px solid #3b82f6;font-weight:700}.grand-total-row td{background:#0000;border:none;color:#fff;font-family:inherit;font-size:.95rem;font-weight:800;padding:20px 16px;text-align:center;text-shadow:0 2px 4px #0000004d}.grand-total-row td:first-child{border-bottom-left-radius:16px;color:#fff;font-size:1.1rem;font-weight:900;text-align:left;text-shadow:0 2px 4px #0000004d}.grand-total-row td:last-child{border-bottom-right-radius:16px;color:#fff;font-weight:900}.manager-table .grand-total-row .worker-name-cell,.manager-table .grand-total-row td,.manager-table .grand-total-row th{color:#fff!important}.manager-actions{background:#0000;border-radius:0;flex-wrap:wrap;margin-top:32px;padding:24px 24px 12px}.manager-actions,.save-payroll-button{align-items:center;border:none;display:flex;gap:12px;justify-content:center}.save-payroll-button{background:linear-gradient(135deg,#059669,#047857);border-radius:12px;box-shadow:0 6px 20px #0596694d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.save-payroll-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.save-payroll-button:hover:before{left:100%}.save-payroll-button:hover:not(:disabled){box-shadow:0 12px 32px #05966966;transform:translateY(-3px)}.save-payroll-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.clear-table-button{align-items:center;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:12px;box-shadow:0 6px 20px #dc26264d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:12px;justify-content:center;letter-spacing:.05em;overflow:hidden;padding:16px 32px;position:relative;text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.clear-table-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.clear-table-button:hover:before{left:100%}.clear-table-button:hover{box-shadow:0 12px 32px #dc262666;transform:translateY(-3px)}.save-message{border-radius:12px;box-shadow:0 4px 16px #0000001a;font-size:1rem;font-weight:600;margin-top:8px;order:2;padding:12px 20px;text-align:center;width:100%}.save-message.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7}.save-message.error{background:linear-gradient(135deg,#fee2e2,#fca5a5);border:1px solid #f87171}.pricing-config-panel{background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;box-shadow:0 8px 32px #00000014;margin-bottom:32px;overflow:hidden;padding:32px;position:relative}.pricing-config-panel:before{background:linear-gradient(90deg,#8b5cf6,#3b82f6,#06b6d4);content:"";height:4px;left:0;position:absolute;right:0;top:0}.pricing-config-panel h3{color:#1e293b;font-size:1.8rem;font-weight:700;margin-bottom:24px;text-align:center}.pricing-config-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.pricing-config-group{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0cc;border-radius:16px;padding:24px}.pricing-config-group h4{color:#1e293b;font-size:1.2rem;font-weight:600;margin-bottom:20px;text-align:center}.pricing-input-group{margin-bottom:20px}.pricing-input-group label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.pricing-input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #00000005;color:#1e293b;font-size:1rem;font-weight:500;padding:14px 18px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.pricing-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none;transform:translateY(-1px)}.pricing-config-actions{display:flex;gap:16px;justify-content:center}.pricing-save-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 6px 20px #3b82f64d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.pricing-save-button:hover{box-shadow:0 12px 32px #3b82f666;transform:translateY(-2px)}@media (max-width:768px){.manager-view{padding:20px}.manager-header{flex-direction:column;gap:20px;padding:24px;text-align:center}.manager-header h2{font-size:1.8rem}.manager-table-container{overflow-x:auto;padding:20px}.manager-table{min-width:800px}.pricing-config-grid{grid-template-columns:1fr}.manager-actions{flex-direction:column}}@media (max-width:480px){.manager-view{padding:16px}.manager-header{padding:20px}.manager-header h2{font-size:1.6rem}.manager-table-container{padding:16px}.pricing-config-panel{padding:20px}}.worker-payroll-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;margin:0 auto;max-width:600px;padding:40px}.worker-payroll-header{margin-bottom:30px;text-align:center}.worker-avatar{align-items:center;background:linear-gradient(135deg,#ec4899,#be185d);border-radius:50%;box-shadow:0 8px 32px #ec48994d;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.worker-name{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 8px}.worker-email{margin:0 0 8px}.billing-date,.worker-email{color:#6b7280;font-size:.9rem}.billing-date{margin:0 0 20px}.manager-toggle-container{margin-bottom:30px;text-align:center}.manager-toggle-btn{background:#1e3a8a;border:none;border-radius:8px;box-shadow:0 4px 16px #1e3a8a4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.manager-toggle-btn:hover{background:#1e40af;box-shadow:0 6px 20px #1e3a8a66;transform:translateY(-2px)}.worker-payroll-details{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:30px}.payroll-item{align-items:center;background:#f8fafc;border-left:4px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:8px;padding:16px 20px;position:relative}.payroll-item:before{color:#6b7280;content:"(";font-size:1.2rem;font-weight:700;left:8px;position:absolute;top:50%;transform:translateY(-50%)}.payroll-label{color:#374151;font-size:1rem;font-weight:600}.payroll-value{color:#1f2937;font-size:1.1rem;font-weight:700}.payroll-total{background:#1e3a8a;border-left:4px solid #1e40af;color:#fff}.payroll-total .payroll-label,.payroll-total .payroll-value{color:#fff;font-weight:700}.no-payroll-message{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:40px;text-align:center}.no-payroll-message p{color:#6b7280;font-size:1.1rem;margin:0}.manager-view-details{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-top:30px;padding:30px}.manager-view-details h3{color:#1f2937;font-size:1.3rem;font-weight:700;margin:0 0 20px;text-align:center}.manager-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:center;background:#f8fafc;border-left:3px solid #3b82f6;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.detail-label{color:#374151;font-size:.9rem}.detail-value{color:#1f2937;font-size:.9rem}@media (max-width:768px){.worker-payroll-container{padding:20px}.worker-avatar{font-size:1.5rem;height:60px;width:60px}.worker-name{font-size:1.3rem}.manager-details-grid{grid-template-columns:1fr}}.sidebar{align-items:stretch;background:#232b45!important;box-shadow:1px 0 8px #1e283c0a;display:flex;flex-direction:column;flex-shrink:0!important;height:100vh;left:0;max-width:250px!important;min-height:100vh!important;min-width:250px!important;overflow:hidden;padding:16px 0 12px;position:fixed;top:0;width:250px!important;z-index:1000}.sidebar-header{background:#232b45;margin-bottom:24px;position:relative;z-index:1001}.sidebar-header,.sidebar-logo-container{align-items:center;display:flex;flex-direction:column}.sidebar-logo-container{margin-bottom:16px;margin-top:8px;padding:0 24px}.sidebar-anchor-logo{height:48px;margin-bottom:8px;width:50px}.sidebar-anchor-svg{margin-bottom:8px}.sidebar-anchor-svg svg{animation:anchorWave 3.5s ease-in-out infinite;transform-origin:50% 50%}@keyframes anchorWave{0%{transform:rotate(0deg) translateY(0)}25%{transform:rotate(2deg) translateY(-2px)}50%{transform:rotate(0deg) translateY(0)}75%{transform:rotate(-2deg) translateY(-2px)}to{transform:rotate(0deg) translateY(0)}}.sidebar-title{font-size:2rem;font-weight:700;letter-spacing:1.2px;text-align:center}.sidebar-title-minimal{color:#fff;font-size:1.8rem;font-weight:600;letter-spacing:.5px}.sidebar-title-red{color:#e74c3c}.sidebar-nav{background:#232b45;display:flex;flex:1 1;flex-direction:column;gap:4px;margin-bottom:16px;padding:0 16px;position:relative;z-index:1001}.sidebar-nav-item{align-items:center;background:none;border:none;border-radius:10px;color:#b0b6c7;cursor:pointer;display:flex;font-size:1.1rem;font-weight:500;gap:14px;margin-bottom:0;outline:none;padding:10px 16px;text-align:left;transition:background .16s,color .16s;width:100%}.sidebar-nav-icon{color:#b0b6c7;font-family:Material Symbols Outlined;font-size:1.5rem;margin-right:6px;opacity:1;transition:color .16s}.sidebar-nav-item.active,.sidebar-nav-item:focus{background:#232b45;color:#ffe066}.sidebar-nav-item.active .sidebar-nav-icon{color:#ffe066}.sidebar-nav-item:hover:not(.active){background:#232b45;color:#fff}.sidebar-nav-item:hover .sidebar-nav-icon{color:#fff}.sidebar-logout-btn-minimal{background:#232b45;border:none;border-radius:5px;box-shadow:0 1px 4px #2c36500a;color:#e3e6f0;cursor:pointer;font-size:1rem;font-weight:500;margin:16px 18px 0;padding:8px 0;transition:background .16s,color .16s}.sidebar-logout-btn-minimal:hover{background:#2e3652;color:gold}.sidebar-logo-minimal{margin-bottom:10px}.sidebar-info-minimal,.sidebar-logo-minimal{align-items:center;display:flex;justify-content:center}.sidebar-info-minimal{margin:32px 0 16px}@keyframes notificationPulse{0%{box-shadow:0 0 0 0 #ff4444b3;opacity:1;transform:scale(1)}50%{box-shadow:0 0 0 8px #f440;opacity:.8;transform:scale(1.1)}to{box-shadow:0 0 0 0 #f440;opacity:1;transform:scale(1)}}.sidebar-notification-btn.has-notification{background:#232b45!important;border-color:#ff6b6b66!important;box-shadow:0 0 20px #ff6b6b4d}.sidebar-notification-btn.has-notification .notification-glow-indicator{display:block!important}@media (max-width:1200px){.sidebar{max-width:280px;min-width:280px;width:280px}.sidebar-nav{padding:0 16px}.sidebar-nav-item{font-size:1rem;padding:8px 12px}.sidebar-nav-icon{font-size:1.3rem}.sidebar-title{font-size:2rem}}@media (max-width:768px){.sidebar{align-items:center;box-shadow:0 1px 8px #1e283c0a;flex-direction:row;min-height:0;min-height:auto;padding:8px 0;width:100vw}.sidebar-logo-container{flex-direction:row;gap:8px;margin:0 12px 0 8px}.sidebar-title{font-size:1.2rem}.sidebar-nav{flex:1 1;flex-direction:row;gap:0;margin:0;padding:0}.sidebar-nav-item{flex:1 1;font-size:.9rem;justify-content:center;margin-bottom:0;padding:8px 4px}.sidebar-nav-icon{font-size:1.2rem}.user-profile-section{display:none!important}.logout-btn{font-size:.9rem!important;margin:0 8px 0 0!important;padding:8px 12px!important;width:auto!important}}#root,.App,body{background:linear-gradient(#ffffffb3,#ffffffb3),url(/static/media/apone.2e7aa14bf3b794afe234.png) 50%/cover no-repeat!important;margin:0;min-height:100vh;padding:0;width:100vw}.info-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #0000001a,0 8px 32px #00000014,inset 0 1px 0 #fffc;display:flex;flex-direction:column;margin:20px auto;max-height:calc(100vh - 40px);max-width:98vw;min-width:1400px;padding:40px;width:1600px;z-index:2}.info-content,.info-header{overflow:hidden;position:relative}.info-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:16px;box-shadow:0 8px 32px #1e3a8a4d;flex-shrink:0;margin-bottom:24px;padding:24px;text-align:center}.info-header:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);content:"";height:4px;left:0;position:absolute;right:0;top:0}.info-title{color:#fff;font-size:2.2rem;font-weight:900;letter-spacing:-.02em;margin-bottom:8px;text-shadow:0 2px 4px #0000001a}.info-subtitle{color:#e2e8f0;font-size:1.2rem;font-weight:600;margin:0;text-shadow:0 1px 2px #0000001a}.info-controls{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 16px #0000000a;flex-shrink:0;justify-content:space-between;margin-bottom:20px;padding:16px}.info-controls,.info-stats{align-items:center;display:flex}.info-count{color:#475569;font-size:1rem;font-weight:500}.info-count strong{color:#1e293b;font-weight:700}.info-actions{align-items:center;display:flex;gap:16px}.search-container{align-items:center;display:flex;position:relative}.search-icon{color:#64748b;left:16px;position:absolute;z-index:1}.info-search{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;color:#1e293b;font-size:1rem;font-weight:500;min-width:300px;outline:none;padding:14px 20px 14px 52px;transition:all .3s cubic-bezier(.4,0,.2,1)}.info-search:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626,0 8px 20px #0000001a;transform:translateY(-2px)}.info-search::placeholder{color:#94a3b8}.sort-container{position:relative}.sort-button{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;color:#1e293b;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:10px;padding:14px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.sort-button:hover{border-color:#3b82f6;color:#3b82f6}.sort-arrow{transition:transform .2s ease}.sort-container:hover .sort-arrow{transform:rotate(180deg)}.sort-dropdown{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #0000001f;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.sort-option{color:#475569;cursor:pointer;font-weight:500;padding:12px 16px;transition:background-color .2s ease}.sort-option:hover{background:#f1f5f9}.sort-option.active{background:#6b7280;color:#fff}.action-buttons{display:flex;gap:12px}.action-btn{align-items:center;border:none;border-radius:12px;box-shadow:0 6px 20px #00000026;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:10px;letter-spacing:.05em;padding:14px 24px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.add-btn:hover{box-shadow:0 12px 32px #10b98180;transform:translateY(-3px)}.edit-btn{background:#6b7280;color:#fff}.edit-btn:hover{box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.delete-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.delete-btn:hover:not(:disabled){box-shadow:0 12px 32px #ef444480;transform:translateY(-3px)}.delete-btn:disabled{background:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed;transform:none}.table-container{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 16px #00000014;flex:1 1;min-height:0;overflow:auto;width:100%}.info-table{background:#fff;border-collapse:collapse;min-width:1400px;table-layout:auto;width:100%}.info-table th{background:linear-gradient(135deg,#1e293b,#334155);border:none;color:#fff;font-size:.85rem;font-weight:800;letter-spacing:.08em;padding:20px 16px;position:relative;text-align:left;text-shadow:0 1px 2px #0000001a;text-transform:uppercase}.info-table th:after{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.info-table th:first-child{border-top-left-radius:16px}.info-table th:last-child{border-top-right-radius:16px}.checkbox-column{text-align:center;width:60px}.info-table td:first-child,.info-table th:first-child{max-width:60px;min-width:60px;width:60px}.info-table td:nth-child(2),.info-table th:nth-child(2){min-width:180px;width:200px}.info-table td:nth-child(3),.info-table td:nth-child(4),.info-table th:nth-child(3),.info-table th:nth-child(4){min-width:150px;width:180px}.info-table td:nth-child(5),.info-table th:nth-child(5){min-width:200px;width:250px}.info-table td:nth-child(6),.info-table th:nth-child(6){min-width:130px;width:150px}.info-table td:nth-child(7),.info-table th:nth-child(7){min-width:150px;width:180px}.info-table td:nth-child(8),.info-table th:nth-child(8){min-width:120px;width:140px}.info-table td:nth-child(9),.info-table th:nth-child(9){min-width:100px;width:120px}.user-row{border-bottom:1px solid #f1f5f9;transition:all .2s ease}.user-row:hover{background:#f8fafc;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.user-row.row-selected{background:#f1f5f9;border-left:4px solid #6b7280}.info-table td{word-wrap:break-word;background:#fff;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.95rem;font-weight:600;overflow-wrap:break-word;padding:20px 16px;vertical-align:middle;white-space:normal}.row-checkbox,.select-all-checkbox{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;box-shadow:0 4px 12px #3b82f64d;color:#fff;font-size:.9rem;font-weight:700;height:40px;justify-content:center;width:40px}.user-name{color:#1e293b;font-weight:600}.firstname-cell,.lastname-cell,.user-name{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.password-mask{color:#64748b;font-family:Courier New,monospace;font-size:1.1rem;letter-spacing:2px}.phone-number{color:#475569;font-weight:500}.role-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:6px 12px;text-transform:uppercase}.role-badge.senior-supervisor{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.role-badge.scheduler{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.role-badge.worker{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.role-badge.dock-worker{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.role-badge.mechanic{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.date-text{color:#64748b;font-weight:500}.status-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:6px 12px;text-transform:uppercase}.status-badge.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.inactive{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.table-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.9rem;padding:8px 12px;transition:all .2s ease;width:100%}.table-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.table-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.loading-row{background:#f8fafc}.loading-cell{padding:60px 20px;text-align:center}.loading-spinner{border:3px solid #e2e8f0;height:32px;margin:0 auto 16px;width:32px}.empty-row{background:#f8fafc}.empty-cell{padding:60px 20px;text-align:center}.empty-state{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px}.empty-state svg{color:#cbd5e1}.empty-state h3{color:#475569;font-size:1.2rem;font-weight:600;margin:0}.empty-state p{font-size:.95rem;margin:0}@media (max-width:1200px){.info-content{padding:32px 24px;width:95vw}.info-controls{align-items:stretch;flex-direction:column;gap:20px}.info-actions{flex-wrap:wrap;justify-content:center}.info-content{margin:16px;max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);min-width:800px;padding:24px}.table-container{flex:1 1;min-height:0}.info-table{min-width:800px}}@media (max-width:768px){.info-content{border-radius:16px;margin:16px;max-height:calc(100vh - 32px);min-width:600px;padding:24px 16px}.info-title{font-size:2rem}.info-controls{padding:16px}.info-search{min-width:200px}.action-buttons{flex-direction:column}.action-btn{justify-content:center}.table-container{flex:1 1;min-height:0;overflow-x:auto}.info-table{min-width:700px}}@media (max-width:480px){.info-title{font-size:1.8rem}.info-subtitle{font-size:1rem}.info-table td,.info-table th{font-size:.85rem;padding:12px 8px}.user-avatar{font-size:.8rem;height:32px;width:32px}}.email-cell{border-bottom:1px solid #0000000d;color:#4b5563;font-size:.95rem;min-width:200px;padding:16px 20px;white-space:normal}.email-cell,.email-text{word-wrap:break-word;overflow-wrap:break-word}.email-text{color:#3b82f6;font-weight:500}.date-cell,.phone-cell,.role-cell,.status-cell,.userid-cell{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.userid-cell{font-family:Courier New,monospace;font-size:.85rem}.user-id-text{word-wrap:break-word;color:#64748b;font-weight:500;overflow-wrap:break-word}.notification-content{background:#0000;color:#1a2332;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:32px}.notification-header{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #2f3b701a;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin-bottom:32px;padding:32px}.notification-title{color:#1a2332;font-size:2rem;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-shadow:none;text-transform:none}.notification-controls{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.notification-filters{display:flex;gap:12px}.filter-btn{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#374151;font-size:.9rem;padding:10px 20px;transition:all .2s ease}.filter-btn:hover{background:#f8fafc;border-color:#2f3b70;box-shadow:0 2px 8px #00000026}.filter-btn.active{background:#2f3b70;border-color:#2f3b70;box-shadow:0 2px 8px #2f3b704d}.notification-actions{align-items:center;display:flex;gap:16px}.sort-select{background:#fff;border:2px solid #e0e4f7;border-radius:8px;color:#2f3b70;font-weight:500;outline:none;padding:8px 12px}.sort-select:focus{border-color:#2f3b70}.mark-all-read-btn{background:#4caf50;border-radius:8px;font-weight:500;padding:8px 16px;transition:background .2s ease}.mark-all-read-btn:hover{background:#45a049}.notification-list{display:flex;flex-direction:column;gap:0}.notification-item{background:#fff;border-left:4px solid #0000;gap:16px;padding:20px;transition:all .2s ease}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#f8f9ff;border-left-color:#2f3b70}.notification-icon{border-radius:12px;box-shadow:0 2px 8px #0000001a;font-size:24px;height:48px;width:48px}.notification-content-main{flex:1 1;min-width:0}.notification-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.notification-item-title{color:#2f3b70;font-size:1.1rem;font-weight:600;line-height:1.3;margin:0}.notification-item-actions{align-items:center;display:flex;gap:12px}.notification-time{font-size:.85rem;font-weight:400}.delete-notification-btn{font-size:12px;height:24px;transition:all .2s ease;width:24px}.notification-details{animation:slideDown .3s ease-out;overflow:hidden}.notification-message{color:#1a2332;font-size:1rem;line-height:1.6;margin:0;padding:8px 0}.expand-icon{cursor:pointer;transition:transform .3s ease}.unread-indicator{background:#2f3b70;height:8px;position:absolute;right:20px;top:20px;width:8px}.no-notifications{align-items:center;color:#1a2332;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:80px 20px;text-align:center}.no-notifications-icon{margin-bottom:24px;opacity:.7;transition:opacity .3s ease}.no-notifications-icon:hover{opacity:1}.no-notifications-title{color:#374151;font-size:1.5rem;font-weight:600;letter-spacing:.025em;margin:0 0 8px}.no-notifications-subtitle{color:#6b7280;font-size:1rem;font-weight:400;line-height:1.5;margin:0;max-width:280px}.notification-title-section{margin-bottom:24px;text-align:center}.notification-subtitle{color:#6b7280;font-size:1rem;font-weight:400;line-height:1.5;margin:0}.notification-badges{align-items:center;display:flex;gap:8px}.priority-badge,.status-badge{border-radius:12px;box-shadow:0 2px 4px #0003;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.notification-footer{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.notification-type{background:#667eea1a;border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.notification-item{align-items:flex-start;background:#0000;border-bottom:1px solid #e5e7eb;border-left:6px solid #0000;border-radius:0;box-shadow:none;color:#1a2332;cursor:pointer;display:flex;gap:24px;margin:0;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.notification-item:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.notification-item:hover{background:#f8f9fa}.notification-item:hover:before{opacity:0}.notification-item.unread{background:#0000;border-left-color:#667eea}.notification-item.expanded{background:linear-gradient(135deg,#f0f4ff,#fff);border:2px solid #1e3a8a;border-radius:8px;box-shadow:inset 0 0 0 1px #1e3a8a33,0 6px 20px #1e3a8a33;margin:4px 0;position:relative;transform:scale(1.02);z-index:1}.notification-item.expanded:before{display:none;opacity:0}.notification-item.expanded .notification-icon{box-shadow:0 6px 16px #1e3a8a4d;transform:scale(1.1)}.notification-item.expanded .notification-item-title{color:#1e3a8a;font-weight:700}.notification-icon{align-items:center;border-radius:18px;box-shadow:0 4px 12px #0003;display:flex;flex-shrink:0;font-size:28px;height:70px;justify-content:center;transition:all .3s ease;width:70px}.notification-item:hover .notification-icon{transform:scale(1.05)}.notification-item-title{color:#1a2332;font-size:1.4rem;font-weight:700;line-height:1.4;margin:0 0 12px;transition:color .3s ease,font-weight .3s ease}.notification-time{align-items:center;color:#6c757d;display:flex;font-size:.9rem;font-weight:500;gap:4px}.delete-notification-btn{align-items:center;background:#0000;border:2px solid #1e3a8a;border-radius:50%;box-shadow:none;color:#1e3a8a;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.delete-notification-btn:hover{background:#1e3a8a;box-shadow:0 4px 12px #1e3a8a4d;color:#fff;transform:scale(1.1)}.unread-indicator{animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 4px #667eea4d;height:10px;margin-left:auto;width:10px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.filter-btn{background:#fff;border:2px solid #667eea;border-radius:30px;box-shadow:0 2px 8px #0000001a;color:#667eea;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.filter-btn:hover{transform:translateY(-2px)}.filter-btn.active,.filter-btn:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.sort-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;transition:all .3s ease}.sort-select:hover{background:#ffffff4d;border-color:#ffffff80}.sort-select option{background:#667eea;color:#fff}.mark-all-read-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.mark-all-read-btn:hover{box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}@media (max-width:768px){.notification-content{padding:16px}.notification-controls{align-items:stretch;flex-direction:column}.notification-actions,.notification-filters{justify-content:center}.notification-item-header{flex-direction:column;gap:8px}.notification-item-actions{align-self:flex-end}}.analytics-page-bg{margin:0;min-height:100vh;padding:0;width:100vw}.analytics-main-container{align-items:flex-start;display:flex;justify-content:flex-start;margin:0;max-width:100vw;min-height:100vh;overflow:hidden;padding:0}.analytics-content-wrapper{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fffc;border-radius:16px;box-shadow:0 20px 60px #00000026,0 8px 24px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:auto;margin:10px;max-width:calc(100vw - 260px);min-height:calc(100vh - 20px);overflow:visible;padding:20px;position:relative;width:calc(100vw - 260px)}.analytics-header{align-items:center;background:linear-gradient(135deg,#1e3a8a0d,#3b82f60d 50%,#06b6d40d);border:1px solid #1e3a8a1a;border-radius:12px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:24px;padding:16px 0;text-align:center}.analytics-title{color:#1e2a5e;flex:1 1;font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0;text-align:center}.analytics-refresh-btn{background:#2f3b70;border:none;border-radius:6px;box-shadow:0 2px 8px #2f3b704d;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-left:auto;margin-right:20px;padding:8px 16px;transition:all .3s ease}.analytics-refresh-btn:hover{background:#1e2a5e;transform:translateY(-2px)}.analytics-scrollable{display:flex;flex:1 1;flex-direction:column;height:auto;margin-right:-8px;max-height:none;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:8px;position:relative;width:100%}.analytics-scrollable::-webkit-scrollbar{width:10px}.analytics-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}.analytics-scrollable::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:5px}.analytics-scrollable::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.analytics-loading{color:#2f3b70}.analytics-error{color:#dc3545}.analytics-no-data{padding:40px;text-align:center}.analytics-no-data p{color:#6c757d}.analytics-no-data .analytics-no-data-subtitle{color:#666;font-size:14px}.analytics-content-container{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:20px;height:auto;min-height:auto;overflow:visible;padding-bottom:40px;padding-top:8px;width:100%}.analytics-card{background:#fff;border:1px solid #1e3a8a14;border-radius:12px;box-shadow:0 4px 20px #00000014;flex-shrink:0;height:auto;margin-bottom:0;min-height:auto;overflow:visible;padding:16px}.analytics-card-title{color:#2f3b70;font-size:1rem;font-weight:700;letter-spacing:.3px;margin-bottom:12px}.analytics-kpi-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.analytics-kpi-item{border:1px solid #1e3a8a1a;border-radius:10px;box-shadow:0 4px 12px #0000000d;padding:14px;text-align:center}.analytics-kpi-item-total{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.analytics-kpi-item-years{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#22c55e33}.analytics-kpi-item-services{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b33}.analytics-kpi-item-vessels{word-wrap:break-word;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e933;overflow-wrap:break-word}.analytics-kpi-value{font-size:2rem;font-weight:700;margin-bottom:6px}.analytics-kpi-value-total{color:#1e3a8a}.analytics-kpi-value-years{color:#059669}.analytics-kpi-value-services{color:#d97706}.analytics-kpi-value-vessels{color:#0284c7}.analytics-kpi-label{color:#64748b;font-size:.8rem;font-weight:600}.analytics-kpi-subtitle{color:#64748b;font-size:.7rem;margin-top:3px;opacity:.8}.analytics-two-column{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;height:auto;margin-bottom:8px;min-height:auto}.analytics-section-header{color:#2f3b70;font-size:.9rem;font-weight:600;margin-bottom:6px}.analytics-progress-container{align-items:center;display:flex;margin-bottom:6px}.analytics-progress-label{color:#6c757d;font-size:.8rem;width:50px}.analytics-progress-bar{background:#e9ecef;border-radius:5px;flex:1 1;height:10px;margin:0 8px;overflow:hidden}.analytics-progress-fill{border-radius:10px;height:100%}.analytics-progress-fill-quarter{background:linear-gradient(90deg,#2f3b70,#4a6fa5)}.analytics-progress-fill-month{background:linear-gradient(90deg,#28a745,#5cb85c)}.analytics-progress-value{font-size:1.1rem;font-weight:700}.analytics-progress-value-quarter{color:#2f3b70}.analytics-progress-value-month{color:#28a745}.analytics-service-item{margin-bottom:8px;padding-bottom:1px}.analytics-service-header{display:flex;justify-content:space-between;margin-bottom:4px}.analytics-service-count,.analytics-service-name{color:#2f3b70;font-size:.8rem}.analytics-service-count{font-weight:700}.analytics-service-bar{background:#e9ecef;border-radius:3px;height:6px;overflow:hidden}.analytics-service-fill{border-radius:4px;height:100%}.analytics-year-item{flex-shrink:0;height:auto;margin-bottom:10px;min-height:auto}.analytics-year-header{display:flex;justify-content:space-between;margin-bottom:4px}.analytics-year-count,.analytics-year-label{color:#2f3b70;font-size:.8rem}.analytics-year-count{font-weight:700}.analytics-year-bar{background:#e9ecef;border-radius:5px;height:10px;overflow:hidden}.analytics-year-fill{background:linear-gradient(90deg,#2f3b70,#4a6fa5);border-radius:6px;height:100%}.analytics-year-note{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:16px;padding:16px 20px}.analytics-note-item{align-items:center;display:flex;gap:8px}.analytics-note-label{color:#1e3a8a;font-size:.9rem;font-weight:700}.analytics-note-value{color:#3b82f6;font-size:.9rem;font-weight:500}.analytics-vessel-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-shrink:0;height:auto;min-height:auto;padding:12px 0;transition:all .2s ease}.analytics-vessel-item:last-child{border-bottom:none}.analytics-vessel-rank{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:28px;justify-content:center;margin-right:12px;width:28px}.analytics-vessel-rank-first{background:#2f3b70;color:#fff}.analytics-vessel-rank-other{background:#f5f5f5;color:#666}.analytics-vessel-info{flex:1 1;min-width:0}.analytics-vessel-name{color:#2f3b70;font-size:.9rem;font-weight:500;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-vessel-operations{color:#888;font-size:.75rem}.analytics-vessel-badge{background:#f8f9fa;border-radius:12px;color:#2f3b70;flex-shrink:0;font-size:.8rem;font-weight:600;padding:4px 8px}.analytics-vessel-note{background:#2f3b7014;border-radius:6px;color:#2f3b70;font-size:.82rem;line-height:1.3;margin-top:12px;padding:10px 12px}.analytics-predictive-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.analytics-predictive-section{margin-bottom:16px}.analytics-predictive-card{border-radius:8px;margin-bottom:12px;padding:16px}.analytics-predictive-card-forecast{background:#f8f9fa}.analytics-predictive-card-peak{background:#fff3cd}.analytics-predictive-card-service{background:#d1ecf1}.analytics-predictive-card-capacity{background:#e8f5e8}.analytics-predictive-header{display:flex;justify-content:space-between;margin-bottom:8px}.analytics-predictive-label{color:#6c757d;font-size:.9rem}.analytics-predictive-value{color:#2f3b70;font-weight:700}.analytics-predictive-value-peak{color:#ffc107}.analytics-predictive-value-service{color:#17a2b8}.analytics-predictive-value-capacity{color:#28a745}.analytics-predictive-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.analytics-predictive-fill{background:linear-gradient(90deg,#28a745,#5cb85c);border-radius:4px;height:100%}.analytics-predictive-subtitle{color:#6c757d;font-size:.8rem;margin-top:5px}.analytics-insights-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.analytics-insight-card{border-radius:12px;padding:18px;text-align:center}.analytics-insight-card-peak{background:#f8f9fa;border:1px solid #e9ecef}.analytics-insight-card-vessel{background:#fff3cd;border:1px solid #ffeaa7}.analytics-insight-card-service{background:#d1ecf1;border:1px solid #bee5eb}.analytics-insight-value{font-size:2rem;font-weight:700;margin-bottom:6px}.analytics-insight-value-peak{color:#2f3b70}.analytics-insight-value-service,.analytics-insight-value-vessel{color:#2f3b70;font-size:1rem;word-break:break-word}.analytics-insight-label{color:#2f3b70;font-size:.9rem;font-weight:600;margin-bottom:5px}.analytics-insight-subtitle{color:#6c757d;font-size:.8rem}.analytics-card-component{background:#fff;border:1px solid #1e3a8a14;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:visible;padding:24px;transition:all .3s ease}.analytics-card-component-title{color:#2f3b70;font-size:1.1rem;font-weight:700;letter-spacing:.3px;margin-bottom:16px}.analytics-bar-item{align-items:center;display:flex;margin-bottom:8px}.analytics-bar-label{color:#6c757d;font-size:.9rem;width:80px}.analytics-bar-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.analytics-bar-fill{background:linear-gradient(135deg,#2f3b70,#4156a1);border-radius:6px;height:100%}.analytics-bar-value{color:#2f3b70;font-weight:600;margin-left:8px;text-align:right;width:50px}.analytics-list-item{border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:8px 0}.analytics-list-label{color:#2f3b70;font-weight:600}.analytics-list-value{color:#2f3b70}.analytics-list-empty{color:#6c757d}.service-distribution-info{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;justify-content:space-between;margin-top:16px;min-height:60px;overflow:visible;padding:16px 20px}.service-distribution-info p{color:#2f3b70;font-size:.95rem;font-weight:600;margin:0}.assets-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding:2rem}.assets-center-content{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-container{padding:2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:50px;margin:0 auto 1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.access-denied{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:3rem;text-align:center}.access-denied h2{color:#ef4444;margin-bottom:1rem}.assets-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.assets-title-section{align-items:center;display:flex;gap:1rem}.assets-title-section h1{color:#1e2a5e;font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0}.add-asset-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.add-asset-button:hover{box-shadow:0 4px 8px #3b82f666;transform:translateY(-2px)}.add-asset-button:active{transform:translateY(0)}.assets-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.tab-button{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.tab-button:hover{background:#f1f5f9;color:#3b82f6}.tab-button.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 2px 4px #3b82f64d;color:#fff}.save-message{animation:slideDown .3s ease;border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.save-message.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.save-message.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.assets-content{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:2rem}.empty-state{padding:4rem 2rem;text-align:center}.empty-icon{color:#cbd5e1;height:80px;margin:0 auto 1.5rem;width:80px}.empty-state h3{color:#1e293b;font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#64748b;margin-bottom:2rem}.assets-inventory-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.asset-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.asset-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.asset-card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.asset-name-section h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.asset-location{color:#64748b;display:block;font-size:.875rem}.stock-status-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.375rem .75rem;text-transform:uppercase}.asset-stock-info,.stock-main{margin-bottom:1rem}.stock-amount{align-items:baseline;display:flex;gap:.5rem;margin-bottom:.5rem}.stock-value{color:#1e293b;font-size:2rem;font-weight:700}.stock-unit{color:#64748b;font-size:1rem;font-weight:500}.stock-capacity{color:#64748b;font-size:.875rem}.stock-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin:1rem 0;overflow:hidden;width:100%}.stock-progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.asset-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.detail-label{color:#64748b;flex:1 1;font-weight:500;text-align:center}.detail-value{color:#1e293b;flex:1 1;font-weight:600;text-align:center}.asset-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem}.action-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.625rem 1rem;transition:all .2s ease}.action-button:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.edit-button:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.delete-button:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#1e293b;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.cancel-button,.save-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button{background:#f1f5f9;color:#64748b}.cancel-button:hover{background:#e2e8f0}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.save-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.save-button:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.save-button:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.assets-container{padding:1rem}.assets-header{align-items:flex-start;flex-direction:column;gap:1rem}.assets-tabs{flex-wrap:wrap}.tab-button{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;font-size:.85rem;padding:.625rem 1rem}.assets-inventory-grid,.form-row{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}}.login-signup-split-bg{align-items:stretch;background:#d1d5db;box-sizing:border-box;display:flex;min-height:100vh;padding:24px;width:100vw}.login-signup-split-container{border-radius:20px;display:flex;gap:8px;height:calc(100vh - 48px);margin:0 auto;max-width:none;overflow:hidden;width:100%}.login-left-panel{background:#fff;border-bottom-left-radius:inherit;border-bottom-right-radius:0;border-top-left-radius:inherit;border-top-right-radius:0;box-shadow:none;display:flex;flex:0 0 370px;flex-direction:column;justify-content:flex-start;max-height:100vh;max-width:370px;min-width:320px;overflow-y:auto;padding:24px 16px}.login-right-panel{align-items:center;background:#00000040;border-bottom-left-radius:0;border-bottom-right-radius:inherit;border-top-left-radius:0;border-top-right-radius:inherit;box-shadow:none;color:#fff;display:flex;flex:1 1 auto;height:100%;justify-content:center;min-height:0;overflow:hidden;position:relative}.login-bg-video{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:0}.right-content{padding:32px 24px;text-align:center;width:100%;z-index:2}.login-signup-split-container{background:#0000;border-radius:24px;box-shadow:0 8px 32px #2c3e501a}.right-title{color:#fff;font-size:2.2rem;font-weight:700;margin-top:2rem;text-shadow:0 2px 8px #00000080}.form-section{align-items:stretch;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:flex-start;margin:0 auto;max-width:320px;padding:0;width:100%}.logo-section{margin-bottom:1rem;text-align:center}.logo-section .hero-logo{animation:waterWave 2.5s ease-in-out infinite;filter:none;margin-bottom:16px;max-width:120px;position:relative;transition:all .3s ease;width:120px}@keyframes waterWave{0%,to{transform:scale(1.05) translateY(0) rotate(0deg)}25%{transform:scale(1.12) translateY(-6px) rotate(3deg)}50%{transform:scale(1.05) translateY(0) rotate(0deg)}75%{transform:scale(1.12) translateY(-6px) rotate(-3deg)}}.logo-section .hero-title{font-size:1.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-shadow:none}.logo-section .leo-text{color:#1e3a8a}.logo-section .marines-text{color:#ff4848}.logo-section .hero-quote{color:#6b7280;font-size:.9rem;font-style:italic;font-weight:400;line-height:1.4;text-shadow:none}.login-title{color:#2f3b70;font-size:2rem;font-weight:700;letter-spacing:.5px;margin-bottom:2rem}.input-field{background:#fafbfc;border:2px solid #e8ecf4;border-radius:12px;box-shadow:0 2px 8px #2c3e5008;font-weight:500;margin-bottom:1.4rem;padding:1.2rem 2.8rem 1.2rem 1.4rem;transition:all .3s ease}.input-field:focus{background:#fff;border:2px solid #5c6ab0;box-shadow:0 4px 16px #5c6ab026;transform:translateY(-1px)}.input-field::placeholder{color:#9ca3af;font-weight:400}.main-btn.login-btn{background:linear-gradient(135deg,#ff4848,#ff7979);border-radius:12px;box-shadow:0 4px 16px #ff484840;font-weight:700;letter-spacing:.5px;margin-bottom:1.4rem;padding:1.2rem 0;transition:all .3s ease}.main-btn.login-btn:hover{background:linear-gradient(135deg,#ff7979,#ff4848);box-shadow:0 6px 24px #ff484859;transform:translateY(-2px)}.main-btn.login-btn:active{box-shadow:0 2px 8px #ff484840;transform:translateY(0)}.eye-icon{align-items:center;background:none;border:none;bottom:0;color:#b0b7d1;cursor:pointer;display:flex;font-size:1.25rem;height:100%;justify-content:center;line-height:1;outline:none;padding:0;position:absolute;right:12px;top:0;transform:translateY(-5px);transition:color .2s;width:40px;z-index:3}.eye-icon svg{display:block;height:18px;width:18px}.eye-icon:hover{color:#5c6ab0}.password-input-wrapper{align-items:center;display:flex;margin-bottom:.6rem}.forgot-password,.switch-link{color:#1e3a8a;cursor:pointer;font-weight:600;margin-left:.3rem;text-decoration:underline;transition:color .2s}.forgot-password:hover,.switch-link:hover{color:#1e40af}.login-title{color:#222;font-size:1.6rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.input-field{background:#f5f5f5;border:none;border-radius:.4rem;font-size:1rem;margin-bottom:1rem;outline:none;padding:.9rem 1.1rem;transition:box-shadow .2s;width:100%}.input-field:focus{box-shadow:0 0 0 2px #ff8b8b}.password-input-wrapper{position:relative;width:100%}.main-btn.login-btn{background:#ff4848;border:none;border-radius:.4rem;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:1.2rem;padding:.9rem 0;transition:background .2s;width:100%}.main-btn.login-btn:hover{background:#f55}.forgot-password{color:#ff5c5c;cursor:pointer;font-size:.98rem;margin-bottom:1.2rem;text-align:left;width:100%}.social-login-group{flex-direction:column;margin:1.2rem 0}.social-btn,.social-login-group{display:flex;gap:.7rem;width:100%}.social-btn{align-items:center;background:#ededed;border:none;border-radius:.4rem;color:#222;cursor:pointer;font-size:1rem;font-weight:500;justify-content:center;padding:.8rem 0;transition:background .2s}.signup-link-row{color:#222;font-size:1rem;margin-top:24px;text-align:center;width:100%}.switch-link{color:#1e3a8a;cursor:pointer;font-weight:600;margin-left:.3rem;text-decoration:underline}.anchor-logo{display:block;height:auto;margin:0 auto 18px;max-width:90px}.right-quote{font-style:italic;margin-top:6px}.hero-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:100%;padding:60px 40px;text-align:center}.hero-logo{filter:drop-shadow(0 6px 20px rgba(0,0,0,.25));margin-bottom:32px;max-width:120px;transition:all .3s ease;width:120px}.hero-logo:hover{filter:drop-shadow(0 8px 24px rgba(0,0,0,.35));transform:scale(1.08)}.hero-title{color:#fff;font-size:2.8rem;font-weight:800;letter-spacing:1.2px;line-height:1.2;margin-bottom:20px;text-align:center;text-shadow:0 4px 24px #0006,0 2px 4px #0000004d}.hero-quote{color:#f8fafc;font-size:1.25rem;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;max-width:480px;opacity:.95;text-align:center;text-shadow:0 2px 12px #00000040}@media (max-width:1200px){.login-signup-split-bg{padding:10px}.login-signup-split-container{height:calc(100vh - 20px);max-width:100%}.login-left-panel{flex:0 0 300px;max-width:300px;min-width:280px;padding:20px 12px}.login-right-panel{flex:1 1;min-width:0}.form-section{max-width:280px}.hero-title{font-size:1.8rem}.hero-quote{font-size:.9rem}}@media (max-width:1024px){.login-signup-split-container{flex-direction:column;height:auto;min-height:100vh}.login-left-panel,.login-right-panel{flex:1 1 auto;min-height:50vh}.hero-content,.login-left-panel{padding:40px 30px}.hero-title{font-size:2.2rem}.hero-logo{max-width:90px;width:90px}.hero-quote{font-size:1.1rem}}@media (max-width:768px){.login-signup-split-bg{padding:10px}.form-section{max-width:100%;padding:30px 24px 36px}.login-title{font-size:1.8rem}.input-field{margin-bottom:1.2rem;padding:1rem 1.2rem}.main-btn.login-btn{padding:1rem 0}}@media (max-width:480px){.hero-title{font-size:1.8rem}.hero-logo{max-width:70px;width:70px}.hero-quote{font-size:1rem}.form-section{padding:24px 20px 30px}}.popup-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.popup-container{animation:popupSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin-top:-24px;max-height:90vh;max-width:400px;overflow-y:auto;width:90%}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 24px}.popup-header h3{color:#1f2937;font-weight:700;margin:0}.close-btn,.popup-header h3{font-size:1.5rem;line-height:1}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;padding:4px 8px;transition:all .2s;width:40px}.close-btn:hover{background:#f3f4f6;color:#374151}.popup-content{padding:0 24px 24px}.popup-message{color:#374151;font-size:1rem;line-height:1.5;margin:0 0 20px;text-align:center}.input-group{margin-bottom:20px}.input-group label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.popup-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .2s;width:100%}.popup-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.popup-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.popup-error,.popup-success{font-size:.9rem;margin-bottom:16px;padding:12px}.popup-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a}.popup-buttons{display:flex;gap:12px;justify-content:flex-end}.popup-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;min-width:100px;padding:10px 20px;transition:all .2s}.cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.cancel-btn:hover{background:#e5e7eb}.submit-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.error-message,.success-message{font-size:.9rem;margin-bottom:16px;padding:12px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a}@media (max-width:480px){.popup-container{margin:20px;width:95%}.popup-header{padding:16px 20px 0}.popup-content{padding:0 20px 20px}.popup-buttons{flex-direction:column}.popup-btn{width:100%}}.select-field{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' stroke='%23222' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #ddd;border-radius:8px;color:#333;font-size:1rem;padding:12px 44px 12px 16px}
/*# sourceMappingURL=main.245cf969.css.map*/