*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}*{-webkit-overflow-scrolling:touch}@media (max-width:768px){body{font-size:14px}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px}}.profile-image-container{align-items:center;display:inline-flex;gap:8px}.profile-image{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;justify-content:center;overflow:hidden;position:relative}.profile-image.small{font-size:10px;height:24px;width:24px}.profile-image.medium{font-size:12px;height:32px;width:32px}.profile-image.large{font-size:16px;height:48px;width:48px}.profile-image.extra-large{font-size:20px;height:64px;width:64px}.profile-img{display:block;height:100%;object-fit:cover;width:100%}.profile-initials{align-items:center;color:#fff;display:flex;font-weight:600;height:100%;justify-content:center;text-transform:uppercase;width:100%}.profile-name{color:#374151;font-size:14px;font-weight:500}.profile-image:hover{box-shadow:0 4px 8px #00000026;transform:scale(1.05);transition:transform .2s ease}.profile-image:first-child{background:linear-gradient(135deg,#667eea,#764ba2)}.profile-image:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.profile-image:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.profile-image:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.profile-image:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.profile-image-inline{align-items:center;display:inline-flex;gap:6px;vertical-align:middle}.profile-image-inline .profile-image{font-size:9px;height:20px;width:20px}.profile-image-inline .profile-name{font-size:13px}.task-comments{border-top:2px solid #f1f5f9;margin-top:30px;padding-top:25px}.comments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.comments-header h4{color:#1e3c72;font-size:1.2rem;font-weight:600;margin:0}.comment-hint{color:#6b7280;font-size:.8rem;font-style:italic}.comments-list{max-height:none!important;overflow:visible!important;padding-right:5px}.no-comments{padding:40px 20px}.no-comments-icon{font-size:2rem;margin-bottom:10px}.no-comments p{font-size:.9rem;margin:0}.comment-item{animation:slideInComment .3s ease-out;display:flex;gap:12px;margin-bottom:20px}@keyframes slideInComment{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.comment-avatar,.comment-item .profile-image-container{flex-shrink:0}.comment-header .profile-image-container{margin-right:4px}.comment-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex:1 1;padding:15px;position:relative}.comment-content:before{border-right:8px solid #f8fafc;left:-8px}.comment-content:after,.comment-content:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";height:0;position:absolute;top:15px;width:0}.comment-content:after{border-right:8px solid #e2e8f0;left:-9px}.comment-header{gap:10px}.comment-author{color:#1e3c72;font-size:.9rem}.comment-time{color:#6b7280;font-size:.8rem}.comment-actions{gap:5px;margin-left:auto}.comment-delete,.comment-edit{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;opacity:.7;padding:4px 6px;transition:all .2s}.comment-edit{color:#3b82f6}.comment-edit:hover{background:#3b82f61a;opacity:1}.comment-delete{color:#ef4444}.comment-delete:hover{background:#ef44441a;opacity:1}.comment-text{word-wrap:break-word;color:#374151;font-size:.9rem;line-height:1.5}.mention{cursor:pointer!important;display:inline-block!important;font-size:.9em!important;line-height:1.4!important;margin:0 2px!important;position:relative!important;text-decoration:none!important;transition:all .2s ease!important}.comment-text .mention,.mention{background:#dbeafe!important;border:1px solid #60a5fa!important;border-radius:4px!important;color:#1e40af!important;font-weight:600!important;padding:2px 6px!important}.comment-text .mention-me{background:#fef3c7!important;border:1px solid #fbbf24!important;color:#92400e!important;font-weight:700!important}.mention:hover{background:#bfdbfe!important;border-color:#3b82f6!important;box-shadow:0 4px 8px #3b82f666!important;transform:translateY(-1px)!important}.mention:before{content:"";font-weight:900;margin-right:1px}.mention-me{animation:mentionPulse 2s ease-in-out;background:#fef3c7!important;border:1px solid #fbbf24!important;box-shadow:0 2px 8px #fbbf244d;color:#92400e!important;font-weight:700!important}.mention-me:hover{background:#fde68a!important;border-color:#f59e0b!important;box-shadow:0 6px 20px #ef444499;transform:translateY(-1px)}@keyframes mentionPulse{0%{box-shadow:0 0 0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.comment-mentions{border-top:1px solid #e5e7eb;font-size:.8rem;margin-top:10px;padding-top:10px}.mentions-label{color:#6b7280;margin-right:8px}.mentioned-user{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:15px;box-shadow:0 1px 3px #0ea5e933;color:#0369a1;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:4px;margin-right:8px;padding:4px 10px}.mentioned-user:before{color:#0284c7;content:"@";font-weight:700;margin-right:2px}.comment-form{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:border-color .2s}.comment-form:focus-within{border-color:#1e3c72}.comment-input-container{display:flex;gap:12px;margin-bottom:12px}.current-user-avatar{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;height:36px;justify-content:center;width:36px}.comment-input-wrapper{flex:1 1;position:relative}.comment-input{line-height:1.5;transition:border-color .2s}.comment-input:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a}.comment-input::placeholder{color:#9ca3af}.mention-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:200px;overflow-y:auto;width:280px}.mention-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background-color .2s}.mention-item:last-child{border-bottom:none}.mention-item:hover{background:#f8fafc}.mention-item.no-results{color:#6b7280;cursor:default;font-style:italic;justify-content:center}.mention-item.no-results:hover{background:#fff}.mention-avatar{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:28px;justify-content:center;width:28px}.mention-info{flex:1 1}.mention-name{color:#1e3c72;font-size:.9rem;font-weight:600}.mention-department{color:#6b7280;font-size:.8rem}.comment-actions{display:flex;justify-content:flex-end}.comment-actions .btn-primary{font-size:.9rem;padding:8px 16px}.comment-actions .btn-primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.edit-comment-form{margin-top:10px}.edit-comment-input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.9rem;line-height:1.4;margin-bottom:8px;min-height:60px;padding:8px 12px;resize:vertical;width:100%}.edit-comment-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.edit-comment-actions{display:flex;gap:8px}.btn-sm{border-radius:4px;font-size:.8rem;padding:6px 12px}.comment-footer{border-top:1px solid #f3f4f6;margin-top:10px;padding-top:8px}.reply-button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.8rem;padding:4px 0;transition:color .2s}.reply-button:hover{color:#3b82f6}.replies-list{border-left:2px solid #e5e7eb;margin-top:15px;padding-left:20px}.reply-item{display:flex;gap:10px;margin-bottom:12px}.reply-avatar{font-size:.8rem!important;height:30px!important;width:30px!important}.reply-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;padding:12px}.reply-input-container{display:flex;gap:10px;margin-bottom:10px}.reply-input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;flex:1 1;font-size:.85rem;line-height:1.4;min-height:50px;padding:8px 12px;resize:vertical}.reply-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.reply-actions{display:flex;gap:8px;justify-content:flex-end}.btn-secondary{background:#f3f4f6}.btn-secondary:hover{background:#e5e7eb}@media (max-width:768px){.comments-header{align-items:flex-start;flex-direction:column;gap:8px}.comment-input-container{gap:8px}.comment-avatar,.current-user-avatar{font-size:.8rem;height:32px;width:32px}.mention-list{width:250px}.comment-actions{justify-content:stretch}.comment-actions .btn-primary{width:100%}}@media (max-width:480px){.task-comments{margin-top:20px;padding-top:20px}.comment-form{padding:12px}.mention-list{left:20px!important;width:calc(100vw - 40px)}}.task-modal-overlay{align-items:center;background:#0009;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.task-modal-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.task-modal-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:24px 28px}.task-header-info{flex:1 1;margin-right:16px}.task-modal-title{color:#fff;font-size:1.5rem;font-weight:700;line-height:1.4;margin:0 0 12px}.task-header-badges{display:flex;flex-wrap:wrap;gap:8px}.task-header-badges .priority-badge,.task-header-badges .status-badge{border-radius:16px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.task-header-badges .priority-badge{background:#fff3;border:1px solid #ffffff4d;color:#fff}.task-header-badges .status-badge{background:#ffffffe6;color:#374151}.task-close-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:1.2rem;font-weight:700;padding:8px 12px;transition:all .2s}.task-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.task-modal-body{flex:1 1;gap:24px;overflow-y:auto;padding:24px 28px}.task-loading,.task-modal-body{display:flex;flex-direction:column}.task-loading{align-items:center;color:#6b7280;justify-content:center;padding:60px 20px}.task-meta-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.task-meta-row{display:flex;gap:32px;margin-bottom:12px}.task-meta-row:last-child{margin-bottom:0}.task-meta-item{align-items:center;display:flex;flex:1 1;gap:8px}.meta-label{color:#374151;min-width:60px}.meta-value{color:#6b7280;font-weight:500}.task-description{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.task-description h4{color:#374151;font-size:1.1rem;font-weight:600;margin:0 0 16px}.task-description-content{color:#4b5563;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.task-comments-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.task-comments-section h4{color:#374151;font-size:1.1rem;font-weight:600;margin:0 0 16px}.comments-list{margin-bottom:20px;max-height:300px;overflow-y:auto}.comment-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px}.comment-item:last-child{margin-bottom:0}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.comment-author{color:#374151;font-weight:600}.comment-date{color:#6b7280;font-size:.85rem}.comment-content{color:#4b5563;line-height:1.5;white-space:pre-wrap}.no-comments{color:#9ca3af;font-style:italic;margin:0;padding:20px;text-align:center}.comment-form{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px;padding-top:16px}.comment-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.9rem;min-height:80px;padding:12px;resize:vertical;width:100%}.comment-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.comment-submit-btn{align-self:flex-end;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.comment-submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.comment-submit-btn:disabled{cursor:not-allowed;opacity:.6}.task-error{align-items:center;color:#ef4444;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.task-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:20px 28px}.task-action-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.task-action-btn:hover{background:#4b5563;transform:translateY(-1px)}.priority-low{background:#4caf501a!important;border:1px solid #4caf504d!important;color:#4caf50!important}.priority-normal{background:#2196f31a!important;border:1px solid #2196f34d!important;color:#2196f3!important}.priority-high{background:#ff98001a!important;border:1px solid #ff98004d!important;color:#ff9800!important}.priority-urgent{background:#f443361a!important;border:1px solid #f443364d!important;color:#f44336!important}.status-badge.requested{background:#667eea1a!important;color:#667eea!important}.status-badge.in_progress{background:#43e97b1a!important;color:#43e97b!important}.status-badge.completed{background:#4facfe1a!important;color:#4facfe!important}.claim-link-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s ease;width:100%}.claim-link-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.claim-link-btn:active{transform:translateY(0)}@media (max-width:768px){.task-modal-overlay{padding:10px}.task-modal-container{max-height:95vh}.task-modal-body,.task-modal-footer,.task-modal-header{padding:16px 20px}.task-meta-row{flex-direction:column;gap:12px}.task-modal-title{font-size:1.3rem}}.notifications-container{display:inline-block;position:relative}.notification-bell{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;font-size:1.2rem;height:45px;justify-content:center;position:relative;transition:all .3s ease;width:45px}.notification-bell:hover{background:#f8fafc;border-color:#1e3c72;box-shadow:0 4px 12px #1e3c7226;transform:translateY(-1px)}.notification-bell.has-notifications{animation:notification-pulse 2s infinite;background:linear-gradient(135deg,#1e3c72,#2a5298);border-color:#1e3c72;color:#fff}@keyframes notification-pulse{0%,to{box-shadow:0 2px 8px #1e3c724d;transform:scale(1)}50%{box-shadow:0 4px 15px #1e3c7266;transform:scale(1.05)}}.notification-badge{align-items:center;animation:badge-bounce .6s ease-out;background:#ff4757;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:22px;justify-content:center;position:absolute;right:-8px;top:-8px;width:22px}@keyframes badge-bounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.notifications-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.notifications-dropdown{animation:dropdown-appear .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 50px #00000026;max-height:500px;overflow:hidden;position:absolute;right:0;top:55px;width:380px;z-index:1000}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notifications-dropdown .notifications-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-bottom:1px solid #f1f5f9;color:#fff;display:flex;justify-content:space-between;min-height:60px;padding:20px 24px}.notifications-dropdown .notifications-header h3{font-size:1.1rem;font-weight:600;line-height:1;margin:0}.notifications-dropdown .notifications-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.notifications-dropdown .clear-all-btn,.notifications-dropdown .delete-all-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px;transition:all .2s}.notifications-dropdown .clear-all-btn:hover,.notifications-dropdown .delete-all-btn:hover{background:#ffffff4d}.notifications-dropdown .delete-all-btn{background:#ef444433;border:1px solid #ef44444d}.notifications-dropdown .delete-all-btn:hover{background:#ef44444d}.notifications-dropdown .notifications-header .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:28px}.notifications-dropdown .notifications-header .close-btn:hover{background:#fff3}.notifications-list{max-height:400px;overflow-y:auto}.no-notifications{color:#9ca3af;padding:60px 20px;text-align:center}.no-notifications .empty-icon{display:block;font-size:3rem;margin-bottom:16px;opacity:.5}.no-notifications p{font-size:.95rem;margin:0}.notification-item{align-items:flex-start;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;padding:16px 24px;position:relative;transition:all .2s}.notification-item:hover{background:#f8fafc}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#fef7f0;border-left:4px solid #1e3c72}.notification-item.unread:hover{background:#fef2e8}.notification-icon{flex-shrink:0;font-size:1.3rem;margin-right:12px;margin-top:2px}.notification-content{flex:1 1;min-width:0}.notification-title{color:#1e3c72;font-size:.9rem;font-weight:600;line-height:1.4;margin-bottom:4px}.notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4b5563;display:-webkit-box;font-size:.85rem;line-height:1.4;margin-bottom:6px;overflow:hidden}.notification-time{color:#9ca3af;font-size:.75rem;font-weight:500}.unread-indicator{background:#1e3c72;border-radius:50%;flex-shrink:0;height:8px;margin-left:8px;margin-top:8px;width:8px}@media (max-width:768px){.notification-bell{border-width:2px;font-size:1.1rem;height:40px;width:40px}.notification-badge{border-width:2px;font-size:.65rem;height:20px;right:-6px;top:-6px;width:20px}.notifications-dropdown{max-height:450px;max-width:340px;right:-8px;top:50px;width:calc(100vw - 32px)}.notifications-dropdown .notifications-header{padding:14px 16px}.notifications-dropdown .notifications-header h3{font-size:.95rem}.notifications-dropdown .notifications-actions{align-items:center;display:flex;gap:8px}.notifications-dropdown .clear-all-btn{font-size:.7rem;padding:4px 8px}.notifications-dropdown .notifications-header .close-btn{flex-shrink:0;font-size:1.2rem;height:24px;width:24px}.notifications-list{max-height:350px}.notification-item{padding:14px 18px}.notification-icon{font-size:1.2rem;margin-right:10px}.notification-title{font-size:.85rem}.notification-message{font-size:.8rem}.notification-time{font-size:.7rem}.no-notifications{padding:50px 20px}.no-notifications .empty-icon{font-size:2.5rem}.no-notifications p{font-size:.9rem}}@media (max-width:480px){.notification-bell{font-size:1rem;height:36px;width:36px}.notification-badge{font-size:.6rem;height:18px;right:-5px;top:-5px;width:18px}.notifications-dropdown{border-radius:10px;max-height:380px;max-width:320px;right:-10px;width:calc(100vw - 20px)}.notifications-dropdown .notifications-header{padding:12px 14px}.notifications-dropdown .notifications-header h3{font-size:.9rem}.notifications-dropdown .notifications-actions{align-items:center;display:flex;gap:6px}.notifications-dropdown .clear-all-btn{font-size:.65rem;padding:3px 6px;white-space:nowrap}.notifications-dropdown .notifications-header .close-btn{flex-shrink:0;font-size:1.1rem;height:22px;width:22px}.notifications-list{max-height:300px}.notification-item{padding:12px 14px}.notification-icon{font-size:1.1rem;margin-right:8px}.notification-title{font-size:.8rem}.notification-message{-webkit-line-clamp:2;font-size:.75rem}.notification-time{font-size:.65rem}.unread-indicator{height:6px;margin-left:6px;margin-top:6px;width:6px}.no-notifications{padding:40px 16px}.no-notifications .empty-icon{font-size:2rem;margin-bottom:12px}.no-notifications p{font-size:.85rem}}.layout{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;height:60px;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-left{gap:20px}.sidebar-toggle{background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;padding:8px 12px;transition:background .2s}.sidebar-toggle:hover{background:#fff3}.header-title{font-size:1.5rem;font-weight:600;margin:0}.header-logo{filter:brightness(0) invert(1);height:36px;max-width:200px;object-fit:contain}.header-right{gap:16px}.header-right,.user-menu{align-items:center;display:flex}.user-profile-container{position:relative}.user-profile-link{align-items:center;background:#ffffff1a;border-radius:20px;color:#fff;cursor:pointer;display:flex;gap:12px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.user-profile-link:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.header-user-name{color:#fff!important;font-weight:500}.user-avatar{background:#fff3;font-size:16px;height:32px;overflow:hidden;position:relative;width:32px}.user-avatar .avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-avatar .avatar-placeholder{align-items:center;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);color:#fff;display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;width:100%}.user-dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:8px;min-width:180px;padding:8px;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{align-items:center;background:none;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;text-decoration:none;transition:all .2s;width:100%}.dropdown-item:hover{background:#f3f4f6;color:#1e3c72}.dropdown-icon{font-size:16px;text-align:center;width:20px}.logout-btn{color:#ef4444}.logout-btn:hover{background:#fef2f2;color:#dc2626}.main-container{display:flex;flex:1 1;overflow:hidden;position:relative}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:60px;transition:opacity .3s ease;z-index:99}.sidebar-overlay.show{display:block}.sidebar{background:#fff;box-shadow:2px 0 10px #0000000d;max-height:calc(100vh - 60px);overflow-y:auto;transition:transform .3s ease,width .3s ease;width:220px;z-index:100}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#f1f5f9}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar.closed{width:70px}.sidebar-nav{display:flex;flex-direction:column;min-height:100%}.nav-item{align-items:center;border-left:3px solid #0000;color:#64748b;display:flex;padding:12px 20px;position:relative;text-decoration:none;transition:all .2s}.nav-item:hover{background:#f1f5f9}.nav-item.active,.nav-item:hover{border-left-color:#1e3c72;color:#1e3c72}.nav-item.active{background:linear-gradient(90deg,#1e3c721a,#2a52980d);font-weight:600}.nav-icon{font-size:20px;margin-right:12px;min-width:20px;text-align:center}.nav-text{font-size:14px;font-weight:500}.sidebar.closed .nav-icon{margin-right:0}.sidebar.closed .nav-item{justify-content:center;padding:12px}.content{background:#f8fafc;flex:1 1;height:calc(100vh - 80px);overflow-y:auto;padding:10px}@media (max-width:768px){.header{height:56px;padding:0 12px}.header-title{font-size:1.1rem}.header-logo{height:28px;max-width:150px}.header-left{gap:12px}.header-right{gap:8px}.user-profile-link{gap:8px;padding:6px 12px}.header-user-name{font-size:13px}.user-avatar{height:32px;width:32px}.user-avatar .avatar-placeholder{font-size:13px}.sidebar-toggle{font-size:20px;padding:6px 10px}.sidebar-overlay{top:56px}.sidebar{box-shadow:4px 0 20px #00000026;height:calc(100vh - 56px);left:0;position:fixed;top:56px;transform:translateX(-100%);width:280px;z-index:100}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%);width:280px}.content{height:calc(100vh - 56px);padding:16px 12px;width:100%}.user-dropdown-menu{min-width:150px;padding:6px;right:0}.dropdown-item{font-size:13px;gap:10px;padding:10px}.dropdown-icon{font-size:15px;width:18px}}.admin-menu-toggle{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 20px;text-align:left;transition:all .2s;width:100%}.admin-menu-toggle:hover{background:#f1f5f9;border-left-color:#1e3c72;color:#1e3c72}.admin-menu-toggle.open{background:linear-gradient(90deg,#1e3c721a,#2a52980d);border-left-color:#1e3c72;color:#1e3c72;font-weight:600}.accordion-arrow{font-size:12px;transition:transform .2s}.admin-menu-toggle.open .accordion-arrow{transform:rotate(0deg)}.admin-submenu{background:#f8fafc;overflow:hidden;transition:max-height .3s ease-out}.admin-submenu.closed{max-height:0}.admin-submenu.open{max-height:500px}.submenu-item{border-left:3px solid #0000;padding-left:40px!important}.submenu-item:hover{background:#e2e8f0;border-left-color:#1e3c72}.submenu-item.active{background:linear-gradient(90deg,#1e3c7226,#2a529814);border-left-color:#1e3c72;font-weight:600}.sidebar.closed .admin-menu-toggle{justify-content:center;padding:12px}.sidebar.closed .accordion-arrow,.sidebar.closed .admin-submenu,.sidebar.closed .nav-text{display:none}@media (max-width:480px){.header{height:52px;padding:0 8px}.header-title{font-size:.95rem}.header-logo{height:24px;max-width:120px}.header-left{gap:8px}.header-right{gap:4px}.user-profile-link{border-radius:18px;gap:6px;padding:4px 8px}.header-user-name{display:none}.user-avatar{height:32px;width:32px}.sidebar-toggle{font-size:18px;padding:6px 8px}.sidebar-overlay{top:52px}.sidebar{max-width:280px;top:52px;width:85vw}.content,.sidebar{height:calc(100vh - 52px)}.content{padding:12px 8px}.nav-item{font-size:14px;padding:10px 16px}.nav-icon{font-size:18px;margin-right:10px}.submenu-item{padding-left:36px!important}.user-dropdown-menu{font-size:13px;min-width:140px}}.vacation-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.vacation-form-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.vacation-form-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.vacation-form-header h3{font-size:1.3rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.close-button:hover{background:#fff3}.vacation-form{padding:24px}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkbox-label{color:#495057}.form-checkbox{margin-right:8px;transform:scale(1.2);width:auto!important}.vacation-days-info{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-left:4px solid #667eea;border-radius:8px;color:#495057;font-size:.95rem;margin:20px 0;padding:12px 16px}.vacation-days-info strong{color:#667eea;font-weight:600}.btn-cancel,.btn-submit{border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;min-width:100px;padding:12px 24px;transition:all .2s}.btn-cancel{background:#f8f9fa;border:2px solid #dee2e6;color:#6c757d}.btn-cancel:hover{background:#e9ecef;border-color:#adb5bd}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.btn-submit:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}@media (max-width:640px){.vacation-form-container{margin:10px;width:95%}.vacation-form,.vacation-form-header{padding:16px}.form-row{gap:0;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.notice-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.notice-modal-container{animation:noticeModalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:700px;overflow:hidden;width:90%}@keyframes noticeModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notice-modal-header{align-items:flex-start;background:linear-gradient(135deg,#3b82f6,#1e40af);border-bottom:2px solid #f1f5f9;color:#fff;display:flex;justify-content:space-between;padding:24px 24px 20px}.notice-header-info{flex:1 1;margin-right:16px}.notice-modal-title{color:#fff;font-size:1.5rem;font-weight:700;line-height:1.4;margin:0 0 8px}.notice-pinned-badge{background:#fbbf24;border-radius:12px;color:#92400e;font-size:.75rem;font-weight:600;padding:4px 8px}.notice-close-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:1.5rem;padding:4px;transition:background-color .2s}.notice-close-btn:hover{background-color:#fff3}.notice-modal-body{flex:1 1;overflow-y:auto;padding:24px}.notice-loading{padding:40px 20px;text-align:center}.loading-spinner{border:3px solid #e5e7eb;margin:0 auto 16px}.notice-meta-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px}.notice-meta-item{align-items:center;display:flex;font-size:.875rem;gap:8px}.meta-label{color:#64748b;font-weight:600}.meta-value{color:#1f2937}.notice-content{margin-bottom:24px}.notice-content-text{word-wrap:break-word;background:#fefefe;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-family:inherit;font-size:1rem;line-height:1.6;margin:0;padding:20px;white-space:pre-wrap}.notice-attachments{margin-top:24px}.notice-attachments h4{color:#1e3c72;font-size:1.1rem;font-weight:600;margin:0 0 12px}.attachment-item{background:#f8fafc;padding:12px 16px}.attachment-item:hover{background:#e2e8f0;border-color:#cbd5e1}.attachment-icon{font-size:1.2rem}.attachment-name{flex:1 1;font-weight:500}.attachment-size{color:#64748b;font-size:.875rem}.notice-error{color:#ef4444;padding:40px 20px;text-align:center}.notice-error p{font-size:1rem;margin:0}.notice-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:20px 24px}.notice-action-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:background-color .2s}.notice-action-btn:hover{background:#1e40af}@media (max-width:768px){.notice-modal-container{max-height:90vh;width:95%}.notice-modal-header{padding:20px 20px 16px}.notice-modal-title{font-size:1.25rem}.notice-modal-body{padding:20px}.notice-meta-info{flex-direction:column;gap:8px}.notice-content-text{font-size:.9rem;padding:16px}}.request-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.request-tasks-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;height:80vh;max-height:80vh;max-width:900px;overflow:hidden;width:90%}.request-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.request-modal-title{align-items:center;display:flex;gap:12px}.request-modal-title h2{font-size:1.4rem;font-weight:600;margin:0}.request-task-count{background:#fff3;border-radius:12px;font-size:.9rem;font-weight:500;padding:4px 8px}.request-modal-close-btn{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;padding:8px;transition:background-color .2s}.request-modal-close-btn:hover{background-color:#ffffff1a}.request-modal-filters{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;gap:20px;padding:16px 24px}.request-filter-group{align-items:center;display:flex;gap:8px}.request-filter-group label{color:#495057;font-size:.9rem;font-weight:500}.request-filter-group select{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;min-width:120px;padding:6px 12px}.request-modal-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0}.request-modal-content::-webkit-scrollbar{width:8px}.request-modal-content::-webkit-scrollbar-track{background:#f1f1f1}.request-modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.request-modal-content::-webkit-scrollbar-thumb:hover{background:#555}.request-loading-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.request-loading-spinner{animation:request-spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}@keyframes request-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.request-empty-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.request-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.request-empty-state h3{color:#495057;margin:0 0 8px}.request-empty-state p{font-size:.9rem;margin:0}.request-tasks-list{padding:16px 24px 24px}.request-task-item{background:#fff;border:1px solid #e9ecef;margin-bottom:12px;padding:16px;transition:all .2s ease}.request-task-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.request-task-item:last-child{margin-bottom:0}.request-task-priority{display:flex;gap:8px;margin-bottom:12px}.request-priority-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.request-priority-badge.priority-low{background-color:#d1ecf1;color:#0c5460}.request-priority-badge.priority-normal{background-color:#d4edda;color:#155724}.request-priority-badge.priority-high{background-color:#fff3cd;color:#856404}.request-priority-badge.priority-urgent{background-color:#f8d7da;color:#721c24}.request-category-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:4px 8px;text-transform:capitalize}.request-task-main-content{flex:1 1}.request-task-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.request-task-title{color:#2c3e50;flex:1 1;font-size:1.1rem;font-weight:600;line-height:1.4;margin:0}.request-status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 12px;white-space:nowrap}.request-status-badge.requested{background-color:#fff3cd;color:#856404}.request-status-badge.in_progress{background-color:#cce7ff;color:#004085}.request-status-badge.completed{background-color:#d4edda;color:#155724}.request-task-description{color:#6c757d;font-size:.9rem;line-height:1.5;margin-bottom:12px}.request-task-meta{display:flex;flex-wrap:wrap;font-size:.85rem;gap:20px}.request-meta-item{display:flex;gap:6px}.request-meta-label{color:#6c757d;font-weight:500}.request-meta-value{color:#495057}.request-meta-value.request-due-date{font-weight:500}.request-modal-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px 24px}.request-btn-primary,.request-btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.request-btn-secondary{background-color:#6c757d;color:#fff}.request-btn-secondary:hover{background-color:#5a6268}.request-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.request-btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}@media (max-width:768px){.request-tasks-modal{max-height:90vh;width:95%}.request-modal-header{padding:16px 20px}.request-modal-title h2{font-size:1.2rem}.request-modal-filters{flex-direction:column;gap:12px;padding:12px 20px}.request-tasks-list{padding:12px 20px 20px}.request-task-item{padding:12px}.request-task-header{align-items:flex-start}.request-task-header,.request-task-meta{flex-direction:column;gap:8px}.request-modal-footer{flex-direction:column;padding:16px 20px}.request-btn-primary,.request-btn-secondary{width:100%}}.vacation-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.vacation-detail-modal .modal-header{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-bottom:1px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.vacation-detail-modal .modal-title{align-items:center;display:flex;gap:12px}.vacation-detail-modal .modal-title h2{font-size:1.3rem;font-weight:600;margin:0}.vacation-detail-modal .vacation-count{background:#fff3;border-radius:12px;font-size:.85rem;font-weight:500;padding:4px 8px}.vacation-detail-modal .modal-close-btn{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;padding:8px;transition:background-color .2s}.vacation-detail-modal .modal-close-btn:hover{background-color:#ffffff1a}.vacation-detail-modal .modal-content{flex:1 1;overflow-y:auto;padding:0}.vacation-detail-modal .empty-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.vacation-detail-modal .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.vacation-detail-modal .empty-state h3{color:#495057;margin:0 0 8px}.vacation-detail-modal .empty-state p{font-size:.9rem;margin:0}.vacation-list{padding:20px 24px}.vacation-item{background:#fafbfc;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;position:relative;transition:all .2s ease}.vacation-item:hover{background:#f0fdf4;border-color:#10b981;box-shadow:0 4px 12px #10b9811a;transform:translateY(-1px)}.vacation-item:last-child{margin-bottom:0}.vacation-icon{align-items:center;display:flex;flex-shrink:0;font-size:2rem;justify-content:center}.vacation-info{flex:1 1}.vacation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.employee-name{color:#2c3e50;font-size:1.1rem;margin:0}.vacation-type-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.vacation-details{display:flex;flex-direction:column;gap:8px}.detail-item{font-size:.9rem}.detail-label{min-width:80px}.vacation-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px;margin-left:auto}.action-btn{align-items:center;background:none;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;justify-content:center;min-height:36px;min-width:36px;padding:8px;transition:all .2s ease}.action-btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.edit-btn{background:#f0f9ff;border-color:#0ea5e9}.edit-btn:hover{background:#0ea5e9}.delete-btn{background:#fef2f2;border-color:#ef4444}.delete-btn:hover:not(:disabled){background:#ef4444;color:#fff}.delete-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.delete-btn:disabled:hover{box-shadow:none;transform:none}.vacation-detail-modal .modal-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.vacation-detail-modal .btn-primary,.vacation-detail-modal .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.vacation-detail-modal .btn-secondary{background-color:#6c757d;color:#fff}.vacation-detail-modal .btn-secondary:hover{background-color:#5a6268}.vacation-detail-modal .btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.vacation-detail-modal .btn-primary:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}@media (max-width:768px){.vacation-detail-modal{max-height:90vh;width:95%}.vacation-detail-modal .modal-header{padding:16px 20px}.vacation-detail-modal .modal-title h2{font-size:1.1rem}.vacation-list{padding:16px 20px}.vacation-item{flex-direction:column;gap:12px;padding:12px}.vacation-icon{font-size:1.5rem}.vacation-header{align-items:flex-start;flex-direction:column;gap:8px}.detail-item{flex-direction:column;gap:4px}.detail-label{font-weight:600;min-width:auto}.vacation-detail-modal .modal-footer{flex-direction:column;padding:16px 20px}.vacation-detail-modal .btn-primary,.vacation-detail-modal .btn-secondary{width:100%}}.vacation-edit-form{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.vacation-edit-form .form-header{align-items:center;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-bottom:1px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.vacation-edit-form .form-header h2{font-size:1.3rem;font-weight:600;margin:0}.vacation-edit-form .close-btn{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;padding:8px;transition:background-color .2s}.vacation-edit-form .close-btn:hover{background-color:#ffffff1a}.vacation-edit-form .form-content{flex:1 1;overflow-y:auto;padding:24px}.vacation-edit-form .form-group{margin-bottom:20px}.vacation-edit-form .form-group:last-child{margin-bottom:0}.vacation-edit-form .form-group label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.vacation-edit-form .form-group input,.vacation-edit-form .form-group select,.vacation-edit-form .form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;transition:all .2s ease;width:100%}.vacation-edit-form .form-group input:focus,.vacation-edit-form .form-group select:focus,.vacation-edit-form .form-group textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a;outline:none}.vacation-edit-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.vacation-edit-form .checkbox-group{margin-bottom:16px}.vacation-edit-form .checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:500;margin-bottom:0}.vacation-edit-form .checkbox-label input[type=checkbox]{margin-right:8px;transform:scale(1.2);width:auto}.vacation-edit-form .radio-group{display:flex;gap:20px;margin-top:8px}.vacation-edit-form .radio-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.vacation-edit-form .radio-label input[type=radio]{margin-right:8px;transform:scale(1.1);width:auto}.vacation-edit-form .form-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.vacation-edit-form .btn-cancel,.vacation-edit-form .btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s}.vacation-edit-form .btn-cancel{background-color:#6b7280;color:#fff}.vacation-edit-form .btn-cancel:hover{background-color:#4b5563}.vacation-edit-form .btn-submit{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.vacation-edit-form .btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.vacation-edit-form .btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.vacation-edit-form{max-height:95vh;width:95%}.vacation-edit-form .form-header{padding:16px 20px}.vacation-edit-form .form-header h2{font-size:1.1rem}.vacation-edit-form .form-content{padding:20px}.vacation-edit-form .form-row{gap:12px;grid-template-columns:1fr}.vacation-edit-form .radio-group{flex-direction:column;gap:12px}.vacation-edit-form .form-actions{flex-direction:column}.vacation-edit-form .btn-cancel,.vacation-edit-form .btn-submit{width:100%}}.dashboard{background:#0000;box-sizing:border-box;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:calc(100vh - 120px);overflow:hidden;padding:0}.dashboard-main-container{display:flex;flex:1 1;gap:0;height:100%;min-height:0;overflow:hidden}.dashboard-content-area{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-y:auto;padding:10px}.dashboard-top-section{grid-gap:20px;display:grid;flex:0 0 auto;gap:20px;grid-template-columns:1fr 1fr;max-height:250px}.memo-section,.notices-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;height:90%;overflow:hidden;padding:16px}.dashboard-section-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.dashboard-section-header h3{color:#1e3c72;font-size:1.1rem;font-weight:600;margin:0}.dashboard-edit-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;padding:6px 12px;transition:all .2s}.dashboard-edit-btn:hover{background:#f8fafc;border-color:#1e3c72;color:#1e3c72}.dashboard-view-all-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;padding:6px 12px;transition:all .2s}.dashboard-view-all-btn:hover{background:#1e3c72;border-color:#1e3c72;color:#fff}.notices-list{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.notice-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:all .2s}.notice-item.clickable{cursor:pointer}.notice-item.important{background:linear-gradient(45deg,#fef3c7,#fef9c3);border-color:#fbbf24}.notice-item:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.notice-item.clickable:hover{background:#e5e7eb;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.notice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.notice-header h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.notice-date{color:#6b7280;font-size:.75rem}.important-badge{background:#f59e0b;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px}.no-notices{align-items:center;display:flex;font-size:.875rem;justify-content:center;padding:32px;text-align:center}.notice-item p{color:#4b5563;font-size:.875rem;line-height:1.5;margin:0}.memo-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.duty-content{scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.duty-content::-webkit-scrollbar{width:6px}.duty-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.duty-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.duty-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cleaning-duties-list{scrollbar-color:#c7d2fe #f3f4f6;scrollbar-width:thin}.cleaning-duties-list::-webkit-scrollbar{width:6px}.cleaning-duties-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.cleaning-duties-list::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:3px}.cleaning-duties-list::-webkit-scrollbar-thumb:hover{background:#a5b4fc}.memo-textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;flex:1 1 auto;font-family:inherit;font-size:.875rem;height:100%;line-height:1.5;min-height:120px;padding:12px;resize:none;width:100%}.memo-textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.memo-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#4b5563;flex:1 1 auto;font-family:inherit;font-size:.875rem;height:100%;line-height:1.6;margin:0;min-height:120px;overflow-y:auto;padding:12px;white-space:pre-wrap}.dashboard-stats{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;box-shadow:0 4px 12px #1e3c7233;display:flex;flex:0 0 auto;gap:20px;justify-content:center;margin-bottom:16px;padding:16px}.dashboard-bottom-section{display:flex;flex:1 1 auto;gap:20px;min-height:0}.notice-image-section{background:linear-gradient(180deg,#fff,#f8fafc);border-right:2px solid #e2e8f0;box-shadow:4px 0 24px #0000000f;display:flex;flex-direction:column;flex-shrink:0;height:100%;max-width:420px;min-width:420px;overflow:hidden;padding:20px;position:relative;width:420px}.full-notice-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;color:#fff!important}.full-notice-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea)!important;transform:translateY(-2px)}.upload-notice-btn{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;color:#fff!important}.upload-notice-btn:hover{background:linear-gradient(135deg,#059669,#047857)!important;transform:translateY(-2px)}.delete-notice-btn{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:none!important;color:#fff!important;padding:6px 10px!important}.delete-notice-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;transform:translateY(-2px)}.shift-schedule-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important;border:none!important;color:#fff!important}.shift-schedule-btn:hover{background:linear-gradient(135deg,#d97706,#b45309)!important;transform:translateY(-2px)}.tasks-summary{display:flex;flex:1 1;flex-direction:column;gap:20px;max-width:450px;min-width:350px}.calendar-container{display:flex;flex:1.2 1;flex-direction:column;min-height:500px}.dashboard-stats-section,.request-tasks-section,.urgent-alerts-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:20px}.dashboard-stats-section.compact{padding:16px}.stats-grid-compact{display:flex;gap:12px;justify-content:center}.stat-card-compact{align-items:center;border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:12px 16px;transition:transform .2s}.stat-card-compact:hover{transform:translateY(-2px)}.stat-card-compact.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card-compact.completed{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card-compact.in-progress{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.stat-card-compact .stat-number{font-size:1.8rem;font-weight:700;margin-bottom:4px}.stat-card-compact .stat-label{font-size:.8rem;font-weight:500;opacity:.9}.stats-grid{grid-gap:15px;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.stat-card{border-radius:10px;padding:20px 15px;text-align:center;transition:transform .2s}.stat-card.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.completed{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card.in-progress{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.stat-card.requested{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.completion-rate{margin-top:10px}.rate-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.rate-percentage{color:#4facfe;font-size:1.2rem;font-weight:600}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px}.progress-fill{background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:4px;transition:width .5s ease}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:15px;transition:all .2s}.alert-item.overdue{background:#fef2f2;border:1px solid #fecaca}.alert-item.urgent{background:#fff7ed;border:1px solid #fed7aa}.alert-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.alert-icon{flex-shrink:0;font-size:1.5rem}.alert-content{flex:1 1}.alert-title{color:#1f2937;font-weight:600;margin-bottom:2px}.alert-description{color:#6b7280;font-size:.9rem;margin-bottom:8px}.alert-tasks{display:flex;flex-direction:column;gap:4px;margin-top:8px}.alert-task{background:#ffffff80;border-left:3px solid;border-radius:4px;color:#374151;font-size:.8rem;padding:4px 8px}.more-tasks{color:#9ca3af;font-size:.75rem}.no-alerts{color:#10b981;padding:30px 20px;text-align:center}.no-alerts p{font-size:1.1rem;font-weight:500;margin:0}.dashboard-request-tasks-list{display:flex;flex-direction:column;gap:12px;max-height:280px;overflow-y:auto}.request-task-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.request-task-item:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.request-task-item .task-header{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.request-task-item .task-id{background:#e5e7eb;border-radius:4px;color:#6b7280;font-family:Courier New,monospace;font-size:.7rem;font-weight:700;padding:2px 6px;text-align:center}.request-task-item .task-priority{flex-shrink:0}.request-task-item .priority-badge{border-radius:12px;font-size:.7rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.request-task-item .task-content{flex:1 1;min-width:0}.request-task-item .task-title{color:#1e293b;font-size:.9rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-task-item .task-meta{color:#64748b;display:flex;font-size:.75rem;gap:8px;justify-content:space-between}.request-task-item .task-due,.request-task-item .task-requester{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-task-item .task-status{flex-shrink:0}.request-task-item .status-badge{border-radius:12px;font-size:.7rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-badge.requested{background:#667eea1a;border:1px solid #667eea4d;color:#667eea}.status-badge.in_progress{background:#43e97b1a;border:1px solid #43e97b4d;color:#43e97b}.status-badge.completed{background:#4facfe1a;border:1px solid #4facfe4d;color:#4facfe}.no-requests{color:#6b7280;padding:30px 20px;text-align:center}.no-requests p{font-size:.9rem;margin:0}.vacation-calendar-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex:1 1;flex-direction:column;min-height:500px;overflow:hidden;padding:16px}.notice-image-container{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease}.notice-image-container:hover{background:linear-gradient(135deg,#667eea25,#764ba225);border-color:#667eea;transform:scale(1.01)}.notice-image{border-radius:12px;height:100%;object-fit:contain;transition:transform .3s ease;width:100%}.notice-image:hover{transform:scale(1.02)}.notice-image-placeholder{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.notice-image-placeholder p:first-child{filter:grayscale(1);font-size:5rem;margin:0 0 20px;opacity:.5}.notice-image-placeholder p:last-child{color:#6b7280;font-size:1.1rem;font-weight:500;margin:0}.notice-image-controls{align-items:center;display:flex;gap:8px}.notice-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;overflow:hidden;padding:10px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.notice-upload-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.notice-upload-btn:hover:before{left:100%}.notice-upload-btn:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-3px)}.notice-upload-btn:active{transform:translateY(-1px)}.notice-delete-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:10px;box-shadow:0 4px 12px #ef44444d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.notice-delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444480;transform:translateY(-3px)}.notice-delete-btn:active{transform:translateY(-1px)}.image-modal-overlay{animation:fadeIn .2s ease-in-out;background:#000000e6}.image-modal-content{align-items:flex-start;box-sizing:border-box;display:flex;height:95vh;justify-content:center;overflow:auto;width:65vw}.image-modal-img{border-radius:8px;box-shadow:0 8px 32px #00000080;cursor:zoom-in;height:auto;min-width:100%;object-fit:contain;width:auto}.image-modal-close{background:#fff;box-shadow:0 2px 8px #0000004d;color:#333;font-size:20px;height:36px;right:-40px;top:-40px;width:36px}.image-modal-close:hover{background:#f3f4f6}@media (max-width:768px){.image-modal-close{right:10px;top:10px}.image-modal-content{max-height:95vh;max-width:95vw}}.in-progress-list,.requests-list,.today-tasks-list{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.task-item{align-items:center;background:#f8fafc;cursor:pointer;display:flex;gap:12px;min-height:60px;padding:12px;transition:all .2s}.task-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.task-info{flex-direction:column;gap:4px;overflow:hidden}.task-info h4{color:#1e293b;font-size:14px;overflow:hidden}.task-info h4,.task-info p{margin:0;text-overflow:ellipsis;white-space:nowrap}.task-info p{color:#64748b;font-size:12px}.task-meta{color:#64748b;font-size:11px;gap:8px}.task-meta span{white-space:nowrap}.today-task-item:hover{border-color:#1e3c72;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.task-info{flex:1 1}.task-info h4{color:#1e3c72;font-size:1rem;font-weight:600;margin:0 0 8px}.task-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4b5563;display:-webkit-box;font-size:.875rem;line-height:1.4;margin:0 0 12px;overflow:hidden}.task-meta{align-items:center;color:#6b7280;font-size:.75rem;gap:12px}.no-tasks{color:#9ca3af;padding:40px 20px}.no-tasks p{font-size:1.1rem;margin:0}.vacation-controls{align-items:center;display:flex;gap:16px}.dashboard-add-vacation-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 10px #667eea4d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.dashboard-add-vacation-btn:hover{box-shadow:0 4px 20px #667eea66;transform:translateY(-2px)}.dashboard-add-vacation-btn:active{transform:translateY(0)}.calendar-controls{align-items:center;display:flex;gap:16px}.calendar-controls button{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;font-weight:600;padding:6px 12px;transition:all .2s}.calendar-controls button:hover{background:#1e3c72;color:#fff}.calendar-controls span{color:#1e3c72;font-weight:600;min-width:100px;text-align:center}.calendar{flex:1 1 auto;margin-top:12px;min-height:0}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-weekdays>div{color:#6b7280;font-size:.875rem;font-weight:600;padding:8px 4px;text-align:center}.calendar-days{grid-gap:4px;display:grid;flex:1 1 auto;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fafbfc;border:1px solid #f3f4f6;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;min-height:80px;overflow:hidden;padding:4px;position:relative;transition:all .2s}.calendar-day:hover{background:#f1f5f9;border-color:#e2e8f0}.calendar-day.current-month{background:#fff}.calendar-day.other-month{background:#f9fafb;color:#9ca3af}.calendar-day.today{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;font-weight:600}.calendar-day.today:hover{background:linear-gradient(135deg,#2a5298,#1e3c72)}.day-number{display:block;flex-shrink:0;font-size:.9rem;font-weight:500;margin-bottom:2px;text-align:center}.vacation-indicators{align-items:center;display:flex;flex-direction:column;gap:1px;max-height:calc(100% - 20px);overflow:hidden}.vacation-dot{background:#3b82f6;border-radius:8px;box-sizing:border-box;color:#fff;font-size:.55rem;font-weight:600;line-height:1.2;max-width:100%;min-width:18px;overflow:hidden;padding:1px 3px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vacation-dot.annual{background:#10b981}.vacation-dot.half{background:#f59e0b}.vacation-dot.special{background:#8b5cf6}.more-vacations{background:#6b7280;border-radius:6px;color:#fff;cursor:help;font-size:.5rem;font-weight:600;line-height:1.2;min-width:16px;padding:1px 3px;text-align:center}.section-title{color:#1e3c72;font-size:1.5rem;font-weight:700;margin:0 0 24px;text-align:center}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;flex-direction:column;min-width:80px;padding:20px}.stat-number{font-size:2.5rem;margin-bottom:5px}.stat-label{font-size:1rem;opacity:.9}.dashboard-content{margin:0 auto;max-width:1400px}.status-columns{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr 1fr}.status-column{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;min-height:500px;overflow:hidden}.column-header{color:#fff;font-size:1.2rem;font-weight:600;padding:20px 25px;text-align:center;text-shadow:1px 1px 2px #0003}.status-column.requested .column-header{background:linear-gradient(135deg,#667eea,#764ba2)}.status-column.in-progress .column-header{background:linear-gradient(135deg,#f093fb,#f5576c)}.status-column.completed .column-header{background:linear-gradient(135deg,#4facfe,#00f2fe)}.column-header h3{font-size:1.3rem;margin:0}.tasks-list{gap:15px;padding:20px}.task-card{background:#fff;border:1px solid #e8eaed;border-radius:12px;box-shadow:0 4px 12px #00000014;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.task-card:hover{border-color:#1e3c72;box-shadow:0 8px 25px #1e3c7226;transform:translateY(-3px)}.task-card:before{background:linear-gradient(135deg,#1e3c72,#2a5298);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.task-priority{border-radius:12px;display:inline-block;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.5px;min-width:45px;padding:3px 8px;text-align:center;text-transform:uppercase}.task-title{font-size:1.1rem;margin:0 0 10px}.task-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;overflow:hidden}.task-meta{border-top:1px solid #f0f0f0;color:#888;padding-top:15px}.task-meta>div{margin-bottom:6px}.task-meta strong{color:#1e3c72;font-weight:600}.task-assignee{color:#4caf50}.task-reporter{color:#2196f3}.task-dates{display:flex;justify-content:space-between}.task-dates>div{margin-bottom:0}@media (max-width:1200px){.dashboard-top-section{gap:20px;grid-template-columns:1fr}.dashboard-bottom-section{flex-direction:column;gap:20px}.notice-image-section{min-height:300px;min-width:100%;order:1}.tasks-summary{max-width:none;min-width:100%;order:2}.calendar-container{order:3}.stats-grid{gap:12px;grid-template-columns:1fr}.status-columns{gap:20px;grid-template-columns:1fr}.dashboard-stats{gap:20px}}@media (max-width:768px){.dashboard{padding:8px}.dashboard-top-section{gap:8px;grid-template-columns:1fr;margin-bottom:8px;max-height:none;min-height:auto}.dashboard-bottom-section{flex-direction:column;gap:8px}.notice-image-section{min-height:250px;min-width:100%;order:1}.tasks-summary{gap:8px;max-width:none;min-width:100%;order:2}.calendar-container{order:3}.stats-grid{gap:8px;grid-template-columns:1fr}.in-progress-section,.memo-section,.my-requests-section,.notice-image-section,.notices-section,.today-tasks-section,.vacation-calendar-section{border-radius:8px;padding:10px}.memo-section,.notices-section{height:auto}.dashboard-section-header{margin-bottom:8px;padding-bottom:6px}.dashboard-section-header h3{font-size:.95rem}.dashboard-stats{flex-wrap:wrap;gap:8px;justify-content:center;padding:10px}.stat-item{min-width:65px;padding:10px}.stat-number{font-size:1.6rem;margin-bottom:3px}.stat-label{font-size:.8rem}.stats-grid-compact{gap:6px}.stat-card-compact{min-width:60px;padding:8px 10px}.stat-card-compact .stat-number{font-size:1.4rem;margin-bottom:2px}.stat-card-compact .stat-label{font-size:.7rem}.today-task-item{flex-direction:column;gap:8px}.dashboard-request-tasks-list{gap:8px;max-height:300px}.request-task-item{gap:6px;padding:8px}.request-task-item .task-title{font-size:.9rem;margin-bottom:3px}.request-task-item .task-meta{flex-wrap:wrap;font-size:.7rem;gap:4px}.request-task-item .task-id{font-size:.65rem;padding:2px 5px}.request-task-item .priority-badge,.request-task-item .status-badge{font-size:.65rem;padding:3px 6px}.vacation-calendar-section{min-height:380px}.vacation-controls{align-items:stretch;flex-direction:column;gap:8px}.calendar-controls{gap:10px;justify-content:center}.calendar-controls span{font-size:.85rem;min-width:85px}.calendar-controls button{font-size:.9rem;padding:5px 10px}.calendar-weekdays>div{font-size:.75rem;padding:5px 2px}.calendar-day{min-height:48px;padding:3px}.day-number{font-size:.75rem}.vacation-dot{font-size:.5rem;min-width:15px;padding:1px 3px}.tasks-list{gap:8px}.task-card,.tasks-list{padding:10px}.dashboard-add-vacation-btn{font-size:.85rem;padding:9px 14px;width:100%}.notice-item{padding:10px}.notice-header{margin-bottom:6px}.notice-header h4{font-size:.9rem}.notice-item p{font-size:.8rem;line-height:1.4}.notice-date{font-size:.7rem}.important-badge{font-size:.65rem;padding:2px 6px}.notices-list{gap:8px}.memo-display,.memo-textarea{font-size:.85rem;min-height:100px;padding:10px}.dashboard-edit-btn,.dashboard-view-all-btn{font-size:.75rem;padding:5px 9px}.no-notices,.no-requests{padding:20px 15px}.no-notices p,.no-requests p{font-size:.85rem}}@media (max-width:480px){.dashboard{padding:6px}.dashboard-top-section{gap:6px;margin-bottom:6px;min-height:auto}.dashboard-bottom-section,.tasks-summary{gap:6px}.dashboard-stats{flex-direction:row;gap:6px;padding:8px}.stat-item{min-width:55px;padding:8px 6px}.stat-number{font-size:1.4rem;margin-bottom:2px}.stat-label{font-size:.7rem}.stat-card-compact{min-width:50px;padding:6px 8px}.stat-card-compact .stat-number{font-size:1.2rem;margin-bottom:1px}.stat-card-compact .stat-label{font-size:.65rem}.memo-section,.notices-section,.request-tasks-section,.today-tasks-section,.vacation-calendar-section{border-radius:6px;padding:8px}.dashboard-section-header{margin-bottom:6px;padding-bottom:4px}.dashboard-section-header h3{font-size:.9rem}.dashboard-edit-btn,.dashboard-view-all-btn{font-size:.7rem;padding:4px 7px}.notices-list{gap:6px}.notice-item{padding:8px}.notice-header{margin-bottom:4px}.notice-header h4{font-size:.85rem}.notice-item p{font-size:.75rem;line-height:1.3}.notice-date{font-size:.65rem}.important-badge{font-size:.6rem;padding:1px 5px}.memo-display,.memo-textarea{font-size:.8rem;min-height:90px;padding:8px}.dashboard-request-tasks-list{gap:6px;max-height:280px}.request-task-item{gap:5px;padding:6px}.request-task-item .task-header{gap:3px}.request-task-item .task-id{font-size:.6rem;padding:1px 4px}.request-task-item .task-title{font-size:.85rem;margin-bottom:2px}.request-task-item .task-meta{font-size:.65rem;gap:3px}.request-task-item .priority-badge,.request-task-item .status-badge{font-size:.6rem;padding:2px 5px}.vacation-calendar-section{min-height:320px}.vacation-controls{gap:6px}.calendar-controls{gap:8px}.calendar-controls button{font-size:.8rem;padding:4px 9px}.calendar-controls span{font-size:.8rem;min-width:75px}.dashboard-add-vacation-btn{font-size:.8rem;padding:7px 12px}.calendar-weekdays>div{font-size:.7rem;padding:4px 1px}.calendar-days{gap:2px}.calendar-day{min-height:40px;padding:2px}.day-number{font-size:.7rem;margin-bottom:1px}.vacation-dot{padding:0 2px}.more-vacations,.vacation-dot{font-size:.45rem;min-width:12px}.task-card{padding:8px}.task-title{font-size:.9rem;margin-bottom:6px}.task-description{font-size:.75rem;margin-bottom:10px}.task-meta{font-size:.7rem;padding-top:10px}.no-notices,.no-requests{padding:15px 10px}.no-notices p,.no-requests p{font-size:.8rem}}.vacation-legend{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:16px;margin-bottom:12px;padding:8px 12px}.legend-item{color:#475569;font-size:.875rem;gap:6px}.legend-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.legend-dot.annual{background:#3b82f6}.legend-dot.sick{background:#ef4444}.legend-dot.special{background:#8b5cf6}.calendar-day.clickable{cursor:pointer;transition:all .2s ease}.calendar-day.clickable:hover{background-color:#f0f9ff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;transform:scale(1.02)}.calendar-day.clickable:active{transform:scale(.98)}.mypage{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:20px}.mypage-container{background:#fff;border-radius:20px;box-shadow:0 15px 35px #0000001a;margin:0 auto;max-width:1200px;overflow:hidden}.mypage-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:30px 40px}.mypage-header h2{font-size:1.8rem;font-weight:600;margin:0}.edit-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:25px;padding:10px 20px}.edit-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.edit-actions{display:flex;gap:12px}.cancel-btn,.save-btn{border:none;border-radius:25px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.cancel-btn{background:#fff3;border:2px solid #ffffff4d}.cancel-btn:hover{background:#ffffff4d}.save-btn{background:#28a745;border:2px solid #28a745}.save-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.profile-content{display:grid;grid-template-columns:300px 1fr;min-height:600px}.profile-sidebar{background:#f8f9fc;border-right:1px solid #e9ecf1;padding:40px 30px}.avatar-section{text-align:center}.avatar-container{margin-bottom:20px;position:relative}.avatar-image{object-fit:cover}.avatar-image,.avatar-placeholder{border:4px solid #fff;border-radius:50%;box-shadow:0 8px 25px #00000026;height:120px;width:120px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:2rem;font-weight:600;justify-content:center;margin:0 auto}.avatar-upload{margin-top:15px}.avatar-input{display:none}.avatar-upload-btn{background:#667eea;border-radius:20px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.avatar-upload-btn:hover{background:#5a67d8;transform:translateY(-2px)}.user-info h3{color:#2d3748;font-size:1.4rem;font-weight:600;margin:0 0 8px}.position{color:#667eea;font-size:1.1rem;font-weight:600;margin:0 0 4px}.department{color:#718096;font-size:1rem;margin:0}.profile-main{padding:40px}.profile-form{display:flex;flex-direction:column;gap:40px}.form-section{background:#f8f9fc;border-radius:15px;padding:30px}.form-section h4{border-bottom:2px solid #e9ecf1;color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 25px;padding-bottom:10px}.form-grid{grid-gap:25px;gap:25px}.form-group{gap:8px}.form-group label{color:#4a5568;font-size:.95rem;font-weight:500}.form-input,.form-select{background:#fff;border:2px solid #e9ecf1;border-radius:10px;font-size:1rem;padding:12px 16px;transition:all .3s ease}.form-input:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input:disabled{background:#f7fafc;color:#4a5568;cursor:not-allowed}.form-select{cursor:pointer}.mypage-loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#667eea}@media (max-width:900px){.profile-content{grid-template-columns:1fr}.profile-main,.profile-sidebar{padding:30px 20px}.mypage-header{flex-direction:column;gap:15px;padding:20px;text-align:center}}@media (max-width:600px){.mypage{padding:10px}.mypage-container{border-radius:15px}.form-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column;width:100%}.cancel-btn,.edit-btn,.save-btn{text-align:center;width:100%}.avatar-image,.avatar-placeholder{height:100px;width:100px}.form-section{padding:20px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:450px;overflow:hidden;padding:40px;position:relative;width:100%}.login-card:before{background:linear-gradient(90deg,#1e3c72,#2a5298);content:"";height:4px;left:0;position:absolute;right:0;top:0}.login-header{margin-bottom:32px;text-align:center}.login-header h2{color:#1e3c72;font-size:28px;font-weight:700;margin:0 0 8px}.login-header p{color:#64748b;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-input{background-color:#fafafa;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s}.form-input:focus{background-color:#fff;border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.form-input::placeholder{color:#9ca3af}.login-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s}.login-btn:hover:not(:disabled){box-shadow:0 4px 12px #1e3c7266;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px;text-align:center}.login-footer p{color:#64748b;font-size:14px;margin:0}.toggle-btn{background:none;border:none;color:#1e3c72;cursor:pointer;font-size:14px;font-weight:600;margin-left:8px;text-decoration:underline}.toggle-btn:hover{color:#2a5298}@media (max-width:480px){.login-container{padding:16px}.login-card{padding:32px 24px}.form-row{grid-template-columns:1fr}.login-header h2{font-size:24px}}.login-btn:disabled{position:relative}.login-btn:disabled:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;margin:auto;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:16px}.remember-group{margin:8px 0}.remember-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:8px}.remember-checkbox{accent-color:#1e3c72;cursor:pointer;height:16px;margin:0;width:16px}.remember-text{color:#64748b;-webkit-user-select:none;user-select:none}.remember-info{align-items:center;background-color:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:8px 12px}.remember-info strong{color:#1e3c72}.clear-saved-btn{background:none;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:12px;padding:2px 8px;transition:all .2s}.clear-saved-btn:hover{background-color:#ef4444;color:#fff}.tasks-page{box-sizing:border-box;margin:0;max-width:100%;overflow-x:hidden;padding:20px;width:100%}.page-header{border-bottom:1px solid #e2e8f0;padding-bottom:12px}.date-filter-container{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;display:flex!important;gap:10px;padding:8px 12px}.date-range-buttons{background:#f1f5f9;border-radius:6px;display:flex;gap:2px;padding:3px}.date-range-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.date-range-btn:hover{background:#e2e8f0;color:#475569}.date-range-btn.active{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important;font-weight:600}.date-filter{align-items:center;display:flex;gap:8px}.date-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:12px;height:20px;min-width:140px;padding:6px 10px}.date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.clear-date-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:36px;padding:6px 10px;transition:background .2s}.clear-date-btn:hover{background:#dc2626}.view-toggle{background:#f1f5f9;border-radius:6px;display:flex;gap:2px;padding:3px}.view-btn{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:11px;font-weight:500;padding:4px 8px;transition:all .2s}.view-btn:hover{background:#1e3c721a;color:#1e3c72}.view-btn.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1e3c72;font-weight:600}.tasks-stats{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:15px;box-shadow:0 8px 25px #1e3c724d;display:flex;gap:30px;justify-content:center;margin-bottom:30px;padding:20px}.page-header h1{font-size:1.3rem;font-weight:600}.btn-primary{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;box-shadow:0 2px 6px #1e3c7233;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 3px 10px #1e3c724d}.task-tabs{background:#f1f5f9;border-radius:12px;display:flex;gap:4px;margin-bottom:30px;overflow-x:auto;padding:4px}.tab{background:#0000;border-radius:8px;padding:12px 20px;white-space:nowrap}.tab:hover{background:#1e3c721a;color:#1e3c72}.tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1e3c72;font-weight:600}.tasks-list{display:flex;flex-direction:column;gap:20px}.task-item{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:24px;transition:all .3s ease}.task-item:hover{border-color:#1e3c72;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.task-header{align-items:flex-start;justify-content:space-between;margin-bottom:16px}.task-meta-line{display:flex;flex-wrap:wrap;gap:8px}.category-badge,.priority-badge,.status-badge{border-radius:15px;font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.task-priority.compact{border-radius:10px;display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.3px;margin-bottom:4px;padding:2px 6px;text-transform:uppercase}.task-priority.compact.priority-low{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.task-priority.compact.priority-normal{background:#2196f31a;border:1px solid #2196f34d;color:#2196f3}.task-priority.compact.priority-high{background:#ff98001a;border:1px solid #ff98004d;color:#ff9800}.task-priority.compact.priority-urgent{background:#f443361a;border:1px solid #f443364d;color:#f44336}.priority-low{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.priority-normal{background:#2196f31a;border:1px solid #2196f34d;color:#2196f3}.priority-high{background:#ff98001a;border:1px solid #ff98004d;color:#ff9800}.priority-urgent{background:#f443361a;border:1px solid #f443364d;color:#f44336}.status-requested{background:#677eea1a;border:1px solid #677eea4d;color:#667eea}.status-in_progress{background:#f093fb1a;border:1px solid #f093fb4d;color:#f093fb}.status-completed{background:#4facfe1a;border:1px solid #4facfe4d;color:#4facfe}.status-problem{background:#ff576c1a;border:1px solid #ff576c4d;color:#f5576c}.status-cancelled{background:#9ca3af1a;border:1px solid #9ca3af4d;color:#6b7280}.category-badge{background:#8b5cf61a;border:1px solid #8b5cf64d;color:#8b5cf6}.status-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;padding:6px 12px}.status-select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.task-title{color:#1e3c72;font-size:1rem;line-height:1.3;margin:0 0 8px}.task-description{color:#4b5563;font-size:.85rem;line-height:1.5;margin:0 0 15px}.task-details{grid-gap:20px;border-top:1px solid #f3f4f6;display:grid;font-size:.875rem;gap:20px;grid-template-columns:1fr 1fr;padding-top:16px}.task-dates>div,.task-people>div{color:#6b7280;margin-bottom:6px}.task-dates strong,.task-people strong{color:#1e3c72;font-weight:600}.modal{border-radius:16px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-width:600px;width:100%}.modal-header{flex-shrink:0;padding:24px 24px 16px}.modal-header h2{font-size:1.5rem}.close-btn{color:#9ca3af;font-size:2rem}.task-form{flex:1 1;min-height:0;overflow-y:auto;padding:20px 24px 24px}.task-form::-webkit-scrollbar{width:8px}.task-form::-webkit-scrollbar-track{background:#f1f1f1}.task-form::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.task-form::-webkit-scrollbar-thumb:hover{background:#555}.form-row{grid-gap:16px;gap:16px}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a}.form-group textarea{min-height:80px}.form-actions{border-top:1px solid #f3f4f6}.form-actions button{padding:10px 20px}.form-actions button[type=button]{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.form-actions button[type=button]:hover{background:#f3f4f6}.kanban-board{margin-bottom:40px}.tasks-page:not(.admin-tasks-page) .mobile-kanban-tabs{display:none}.kanban-columns{grid-gap:20px;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;max-width:100%;width:100%}@media (max-width:768px){.tasks-page:not(.admin-tasks-page){padding:12px 12px 40px}.tasks-page:not(.admin-tasks-page) .page-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px}.tasks-page:not(.admin-tasks-page) .page-header h1{font-size:1.1rem}.tasks-page:not(.admin-tasks-page) .date-and-view{display:flex;flex-direction:column;gap:12px;width:100%}.tasks-page:not(.admin-tasks-page) .header-actions{flex-direction:column;gap:10px;width:100%}.tasks-page:not(.admin-tasks-page) .date-filter-container{flex-direction:column;gap:8px;padding:10px;width:100%}.tasks-page:not(.admin-tasks-page) .date-range-buttons{flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:3px;width:100%}.tasks-page:not(.admin-tasks-page) .date-range-btn{font-size:11px;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 12px;white-space:nowrap}.tasks-page:not(.admin-tasks-page) .date-filter{flex-direction:row;width:100%}.tasks-page:not(.admin-tasks-page) .date-input{flex:1 1;font-size:13px;min-width:0}.tasks-page:not(.admin-tasks-page) .clear-date-btn{font-size:11px;height:auto;padding:8px 12px}.tasks-page:not(.admin-tasks-page) .view-toggle{justify-content:stretch;width:100%}.tasks-page:not(.admin-tasks-page) .view-btn{flex:1 1;font-size:12px;padding:10px 12px;text-align:center}.tasks-page:not(.admin-tasks-page) .action-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.tasks-page:not(.admin-tasks-page) .report-controls{display:flex;gap:8px;width:100%}.tasks-page:not(.admin-tasks-page) .report-controls button{flex:1 1;font-size:11px;padding:10px 12px;white-space:nowrap}.tasks-page:not(.admin-tasks-page) .btn-primary{font-size:13px;padding:12px 16px;width:100%}.tasks-page:not(.admin-tasks-page) .btn-secondary{font-size:11px;padding:10px 12px}.tasks-page:not(.admin-tasks-page) .tasks-stats{flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:20px;padding:15px}.tasks-page:not(.admin-tasks-page) .kanban-columns{display:block;gap:0;overflow-x:hidden;width:100%}.tasks-page:not(.admin-tasks-page) .kanban-column{display:none!important;min-height:auto}.tasks-page:not(.admin-tasks-page) .kanban-column.mobile-active{display:block!important}.tasks-page:not(.admin-tasks-page) .kanban-column .column-header{display:none;font-size:.9rem;padding:12px}.tasks-page:not(.admin-tasks-page) .kanban-tasks-list{gap:10px;padding:8px}.task-card-v2{padding:12px}.task-card-header{align-items:flex-start;flex-direction:column;gap:8px}.priority-indicator{gap:6px}.priority-icon{font-size:14px}.priority-text{font-size:10px}.assignee-info{gap:6px}.assignee-name{font-size:11px}.task-card-title h4{font-size:.9rem;line-height:1.3}.task-card-content{font-size:.8rem}.task-details{gap:16px}.form-row,.task-details{grid-template-columns:1fr}.task-header{flex-direction:column;gap:12px}.task-meta-line{gap:6px}.category-badge,.priority-badge,.status-badge{font-size:.6rem;padding:4px 8px}.task-actions{align-self:flex-start;width:100%}.status-select{font-size:.8rem;padding:8px 12px;width:100%}.task-title{font-size:.95rem}.task-description{font-size:.8rem;line-height:1.4}.modal{margin:10px;max-height:calc(100vh - 20px)}.modal-header{padding:16px}.modal-header h2,.modal-header h3{font-size:1.2rem}.task-form{padding:16px}.form-group{margin-bottom:16px}.form-group label{font-size:.8rem;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{font-size:.85rem;padding:10px}.form-actions{flex-direction:column;gap:10px;margin-top:16px;padding-top:16px}.form-actions button{font-size:.9rem;padding:12px 16px;width:100%}.task-tabs{gap:6px;margin-bottom:20px;overflow-x:auto;padding:6px}.tab{font-size:.85rem;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 16px}.mobile-kanban-tabs{background:#f1f5f9;border-radius:12px;display:flex;gap:4px;margin-bottom:16px;padding:4px}.mobile-kanban-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:12px 8px;transition:all .2s;white-space:nowrap}.mobile-kanban-tab:hover{background:#1e3c721a;color:#1e3c72}.mobile-kanban-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1e3c72;font-weight:600}.mobile-kanban-tab.requested.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mobile-kanban-tab.in-progress.active{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.mobile-kanban-tab.completed.active{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}}@media (max-width:480px){.tasks-page{padding:8px 8px 30px}.page-header{gap:10px;margin-bottom:12px}.page-header h1{font-size:1rem}.date-and-view{gap:10px}.date-filter-container{gap:6px;padding:8px}.date-range-btn{font-size:10px;padding:6px 10px}.date-input{font-size:12px;padding:6px 8px}.clear-date-btn{font-size:10px;padding:6px 10px}.view-btn{font-size:11px;padding:8px 10px}.btn-primary{font-size:12px;padding:10px 14px}.report-controls button{font-size:10px;padding:8px 10px}.task-tabs{flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:4px}.tab{font-size:.75rem;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 12px;text-align:center}.kanban-column{min-height:250px}.kanban-column .column-header{font-size:.85rem;padding:10px}.kanban-tasks-list{gap:8px;padding:6px}.task-card-v2{padding:10px}.task-card-header{gap:6px}.priority-icon{font-size:12px}.priority-text{font-size:9px}.assignee-name{font-size:10px}.task-card-title h4{font-size:.85rem;line-height:1.2}.task-card-content{font-size:.75rem}.task-item{padding:16px}.task-title{font-size:.9rem}.task-description{font-size:.75rem}.category-badge,.priority-badge,.status-badge{font-size:.55rem;padding:3px 6px}.modal{border-radius:12px;margin:5px;max-height:calc(100vh - 10px)}.modal-header{padding:12px}.modal-header h2,.modal-header h3{font-size:1.1rem}.close-btn{font-size:1.5rem;height:28px;width:28px}.task-form{padding:12px}.form-group{margin-bottom:12px}.form-group label{font-size:.75rem}.form-group input,.form-group select,.form-group textarea{font-size:.8rem;padding:8px}.form-actions{flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.form-actions button{font-size:.85rem;padding:10px 14px;width:100%}}.tasks-page:not(.admin-tasks-page) .kanban-column{background:#fff;border:3px solid #0000;border-radius:15px;box-shadow:0 10px 30px #0000001a;box-sizing:border-box;max-width:100%;min-height:500px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.kanban-column .column-header{color:#fff;font-size:.95rem;font-weight:600;padding:12px 15px;text-align:center;text-shadow:1px 1px 2px #0003}.kanban-column.requested .column-header{background:linear-gradient(135deg,#667eea,#764ba2)}.kanban-column.in-progress .column-header{background:linear-gradient(135deg,#f093fb,#f5576c)}.kanban-column.completed .column-header{background:linear-gradient(135deg,#4facfe,#00f2fe)}.kanban-column .column-header h3{font-size:1rem;margin:0}.kanban-tasks-list{display:flex;flex-direction:column;gap:8px;padding:10px}.kanban-task-card{background:#fff;border:1px solid #e8eaed;border-radius:6px;box-shadow:0 2px 6px #0000000d;cursor:pointer;overflow:hidden;padding:10px;position:relative;text-align:center;transition:all .3s ease}.kanban-task-card:hover{border-color:#1e3c72;box-shadow:0 6px 20px #1e3c721f;transform:translateY(-2px)}.kanban-task-card:before{background:linear-gradient(135deg,#1e3c72,#2a5298);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.kanban-task-card .task-title{color:#1e3c72;font-size:.8rem;font-weight:600;line-height:1.2;margin:0 0 4px}.kanban-task-card .task-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.7rem;line-height:1.3;margin:0 0 8px;overflow:hidden}.kanban-task-card .task-meta{align-items:center;color:#888;display:flex;font-size:.65rem;justify-content:space-between;padding-top:6px;text-align:left}.kanban-task-card .task-reporter{align-items:center;display:flex;flex:1 1;gap:5px}.kanban-task-card .task-dates{display:flex;flex:1 1;flex-direction:column;gap:2px;text-align:right}.kanban-task-card .task-dates>div{line-height:1.4;margin-bottom:0}.kanban-task-card .task-meta strong{color:#1e3c72;font-weight:600}.tasks-page.dragging-active{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.tasks-page.dragging-active *{cursor:grabbing!important}.tasks-page.dragging-active .kanban-task-card:not(.dragging){pointer-events:none}.tasks-page.dragging-active .kanban-column{pointer-events:auto}.kanban-task-card{cursor:grab;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.kanban-task-card:hover{box-shadow:0 15px 40px #1e3c7240;cursor:grab;transform:translateY(-3px) scale(1.03)}.kanban-task-card:active{cursor:grabbing;transform:scale(.98)}.kanban-task-card.dragging{opacity:.3;pointer-events:none;transform:scale(.95);transition:all .2s ease}.ghost-card{animation:ghost-float .6s ease-in-out infinite alternate;background:#fff;border:2px solid #1e3c72;border-radius:8px;box-shadow:0 20px 60px #1e3c7266;cursor:grabbing;max-width:280px;opacity:.95;padding:12px;pointer-events:none;position:fixed;transform:rotate(5deg) scale(1.05);z-index:9999}@keyframes ghost-float{0%{box-shadow:0 20px 60px #1e3c7266;transform:rotate(5deg) scale(1.05)}to{box-shadow:0 25px 70px #1e3c7280;transform:rotate(3deg) scale(1.08)}}.ghost-card .task-title{color:#1e3c72;font-size:.95rem;font-weight:600;line-height:1.3;margin:0 0 6px}.ghost-card .task-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.8rem;line-height:1.4;margin:0 0 10px;overflow:hidden}.ghost-card .task-meta{color:#888;font-size:.75rem;padding-top:8px}.ghost-card .task-meta strong{color:#1e3c72;font-weight:600}.dragging-active .kanban-column{transform:scale(1.02)}.kanban-column.drag-over{animation:magnetic-pulse .8s infinite alternate;background:linear-gradient(135deg,#1e3c721a,#2a529814);border:3px solid #1e3c72;box-shadow:0 0 30px #1e3c7266,inset 0 0 20px #1e3c721a;transform:scale(1.05)}@keyframes magnetic-pulse{0%{box-shadow:0 0 30px #1e3c7266,inset 0 0 20px #1e3c721a;transform:scale(1.05)}to{box-shadow:0 0 40px #1e3c7299,inset 0 0 30px #1e3c7226;transform:scale(1.08)}}.empty-column{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:10px;color:#9ca3af;font-size:.85rem;font-style:italic;font-weight:500;margin:15px 0;padding:40px 15px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.dragging-active .empty-column{animation:magnetic-attract 1s infinite;background:#1e3c7214;border-color:#1e3c72;color:#1e3c72;font-weight:600;transform:scale(1.05)}.kanban-column.drag-over .empty-column{animation:drop-zone-ready .6s infinite alternate;background:#1e3c7226;border-color:#2a5298;transform:scale(1.1)}@keyframes magnetic-attract{0%,to{background:#1e3c7214;transform:scale(1.05)}50%{background:#1e3c721f;transform:scale(1.08)}}@keyframes drop-zone-ready{0%{background:#1e3c7226;border-color:#2a5298;transform:scale(1.1)}to{background:#1e3c7233;border-color:#1e3c72;transform:scale(1.12)}}.dragging-active .kanban-task-card:not(.dragging){filter:grayscale(.3);opacity:.4;transform:scale(.95)}.dragging-active .kanban-column .column-header{text-shadow:2px 2px 4px #0000004d;transform:scale(1.02)}.kanban-column.drag-over .column-header{animation:header-magnetic .6s infinite alternate;transform:scale(1.05)}@keyframes header-magnetic{0%{text-shadow:2px 2px 8px #1e3c7299;transform:scale(1.05)}to{text-shadow:2px 2px 12px #1e3c72cc;transform:scale(1.08)}}.task-detail-modal{max-height:90vh;max-width:900px;overflow-y:auto}.task-detail-content{display:flex;gap:0;max-height:calc(90vh - 80px);overflow-y:auto;padding:0}.task-detail-main{border-right:1px solid #e5e7eb;flex:1 1;padding:24px}.task-detail-header{margin-bottom:20px}.task-detail-header h3{color:#1e3c72;font-size:1.4rem;font-weight:600;line-height:1.3;margin:0 0 12px}.task-badges{flex-wrap:wrap;gap:6px;margin-bottom:12px}.task-badges .category-badge,.task-badges .department-badge,.task-badges .priority-badge,.task-badges .status-badge{font-size:.7rem;padding:3px 8px}.task-content-section{margin-bottom:24px}.task-content-section h4{border-bottom:2px solid #e5e7eb;color:#1e3c72;font-size:1.1rem;font-weight:600;margin:0 0 12px;padding-bottom:8px}.task-content-section .task-description{background:#f9fafb;border-left:4px solid #1e3c72;border-radius:8px;color:#374151;font-size:1rem;line-height:1.7;margin:0;padding:16px}.task-detail-sidebar{background:#f8fafc;display:flex;flex-direction:column;gap:20px;min-width:280px;padding:20px;width:280px}.sidebar-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.sidebar-section h4{border-bottom:1px solid #e5e7eb;color:#1e3c72;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.sidebar-info-grid{grid-gap:12px;display:grid;gap:12px}.sidebar-info-item{display:flex;flex-direction:column;gap:4px}.sidebar-info-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.sidebar-info-value{color:#374151;font-size:.9rem;font-weight:500}.task-detail-actions{background:#f9fafb;border-top:1px solid #e5e7eb;gap:12px;padding:16px 24px}.task-detail-actions .status-select{border-radius:6px;font-size:.85rem;padding:8px 12px}.task-detail-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.task-detail-actions .status-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;min-width:120px;padding:8px 15px}.task-detail-actions .status-select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}@media (max-width:768px){.task-detail-modal{max-height:95vh;max-width:95vw}.task-detail-content{flex-direction:column}.task-detail-main{border-bottom:1px solid #e5e7eb;border-right:none;padding:16px}.task-detail-sidebar{flex-direction:row;flex-wrap:wrap;gap:12px;min-width:auto;padding:16px;width:100%}.sidebar-section{flex:1 1;min-width:calc(50% - 6px)}.task-detail-actions{padding:12px 16px}.task-content-section .task-description{font-size:.9rem;padding:12px}}@media (max-width:480px){.task-detail-sidebar{flex-direction:column}.sidebar-section{min-width:auto}.sidebar-info-grid{gap:8px}.sidebar-info-label{font-size:.7rem}.sidebar-info-value{font-size:.85rem}}.assignment-type-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:20px;padding:12px}.radio-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background .2s}.radio-option:hover{background:#fff}.radio-option input[type=radio]{cursor:pointer;height:18px;width:18px}.radio-option span{color:#334155;font-size:.95rem;font-weight:500}.create-task-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.create-task-modal{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.create-task-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 24px 16px}.create-task-modal-header h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0}.create-task-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.create-task-close-btn:hover{background:#f3f4f6;color:#374151}.create-task-form{flex:1 1;min-height:0;overflow-y:auto;padding:20px 24px 24px}.create-task-form::-webkit-scrollbar{width:8px}.create-task-form::-webkit-scrollbar-track{background:#f1f1f1}.create-task-form::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.create-task-form::-webkit-scrollbar-thumb:hover{background:#555}.load-more-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea40;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin:16px 0;overflow:hidden;padding:12px 16px;position:relative;transition:all .3s ease;width:100%}.load-more-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.load-more-btn:active{box-shadow:0 4px 15px #667eea40;transform:translateY(0)}.load-more-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.load-more-btn:hover:before{left:100%}@media (prefers-color-scheme:dark){.load-more-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 15px #4f46e540}.load-more-btn:hover{background:linear-gradient(135deg,#4338ca,#6d28d9);box-shadow:0 8px 25px #4f46e566}}.date-and-view{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.date-filter-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:-10px;padding-bottom:10px;position:relative;z-index:2}.header-actions{margin-top:-5px;padding-top:15px;position:relative;z-index:1}.action-buttons,.report-controls{align-items:center}.report-controls{display:flex;gap:8px}.report-mode-select{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;min-width:140px;padding:8px 12px;transition:all .2s}.report-mode-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.report-mode-select:hover{border-color:#9ca3af}.action-buttons .btn-secondary{align-items:center;background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.action-buttons .btn-secondary:hover{background:#4b5563;transform:translateY(-1px)}.action-buttons .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.loading-container{background:linear-gradient(135deg,#667eea,#764ba2);height:100vh}.loading-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;min-width:350px;padding:40px;text-align:center}@keyframes spin-reverse{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.loading-spinner-wrapper{height:80px;margin:0 auto 30px;position:relative;width:80px}.loading-spinner{animation:spin 1.5s linear infinite;border-right:4px solid #0000;border-top:4px solid #0000;border-color:#667eea #667eea #0000 #0000;border-style:solid;border-width:4px;height:80px;position:absolute;width:80px}.loading-spinner-inner{animation:spin-reverse 1s linear infinite;border-bottom:4px solid #0000;border-left:4px solid #0000;border-color:#0000 #0000 #764ba2 #764ba2;border-radius:50%;border-style:solid;border-width:4px;height:60px;left:10px;position:absolute;top:10px;width:60px}.loading-text{margin-bottom:30px}.loading-text h2{color:#333;display:inline-block;font-size:24px;margin:0}.loading-dots{display:inline-block;margin-left:5px}.loading-dots .dot{animation:dot-bounce 1.4s ease-in-out infinite both;color:#667eea;display:inline-block;font-size:24px}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.loading-progress{margin-top:20px;width:100%}.progress-bar{background:#f0f0f0;border-radius:3px;height:6px;width:100%}.progress-fill{animation:progress 2s ease-in-out infinite;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px}@keyframes progress{0%{margin-left:0;width:0}50%{margin-left:0;width:75%}to{margin-left:100%;width:100%}}.admin-tasks-page{overflow-x:hidden}.admin-layout,.admin-tasks-page{height:100%;margin:0;padding:0;width:100%}.admin-layout{display:flex;gap:0;overflow:hidden}.admin-sidebar{background:#fff;border-right:1px solid #e9ecef;box-shadow:2px 0 4px #0000000d;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow-y:auto;scrollbar-color:#c1c1c1 #0000;scrollbar-width:thin;width:280px}.admin-sidebar::-webkit-scrollbar{width:8px}.admin-sidebar::-webkit-scrollbar-track{background:#0000;border-radius:4px;margin:8px 0}.admin-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);background-clip:content-box;border:2px solid #0000;border-radius:20px;opacity:.7;-webkit-transition:all .3s ease;transition:all .3s ease}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd8,#6b4190);background-clip:content-box;border:1px solid #0000;opacity:1;transform:scaleY(1.1)}.admin-sidebar::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#4e5bc6,#5e377e);background-clip:content-box;border:0 solid #0000;opacity:1;transform:scaleY(1.2)}.admin-sidebar::-webkit-scrollbar-corner{background:#0000}.admin-main-content{background:#f8fafc;flex:1 1;height:100%;min-width:0;overflow-x:hidden;overflow-y:auto;padding:0 20px 20px}.admin-main-content .analytics-view,.admin-main-content .individual-view,.admin-main-content .kanban-board,.admin-main-content .report-view,.admin-main-content .tasks-list{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:20px}.content-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin:-20px -20px 20px;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.content-header h1{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.sidebar-section{border-bottom:1px solid #e9ecef}.sidebar-section:last-child{border-bottom:none}.sidebar-title{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:15px}.employee-list{display:flex;flex-direction:column;gap:8px}.employee-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .2s ease;width:100%}.employee-item:hover{background:#e9ecef;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.employee-item.active{background:#007bff;border-color:#007bff;color:#fff}.employee-avatar{flex-shrink:0}.employee-avatar:not(.profile-image-container){align-items:center;background:#6c757d;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.employee-avatar.all{background:#28a745}.employee-item.active .employee-avatar{background:#fff3;border:2px solid #ffffff4d}.employee-info{flex:1 1;gap:2px}.employee-name{font-size:14px;font-weight:600}.employee-detail{font-size:12px;opacity:.7}.employee-item.active .employee-detail{opacity:.9}.task-count{background:#007bff;border-radius:12px;color:#fff;font-size:12px;font-weight:600;min-width:24px;padding:4px 8px;text-align:center}.employee-item.active .task-count{background:#fff3;border:1px solid #ffffff4d}.department-group{margin-bottom:12px}.department-header{background:#e9ecef;border:2px solid #0000;border-radius:6px;color:#495057;cursor:default;font-size:13px;font-weight:600;gap:8px;margin-bottom:6px;padding:8px 40px 8px 12px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.department-header:hover{background:#dee2e6;border-color:#ced4da}.department-header:active{cursor:grabbing}.department-header.dragging{background:#007bff;border-color:#0056b3;box-shadow:0 10px 30px #0000004d;color:#fff;opacity:.6;transform:rotate(3deg) scale(1.05);z-index:1000}.department-header.drag-over{background:linear-gradient(135deg,#28a745,#20c997);border-color:#20c997;box-shadow:0 6px 20px #28a74566;color:#fff;transform:scale(1.05)}.department-header.drag-over:before{animation:pulse 1s infinite;background:linear-gradient(90deg,#ffc107,#fd7e14);border-radius:2px;content:"";height:4px;left:-2px;position:absolute;right:-2px;top:-4px}.department-toggle{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s}.department-toggle:hover{background:#0000001a}.toggle-icon{color:#6c757d;font-size:10px;transition:transform .3s ease}.toggle-icon.expanded{transform:rotate(0deg)}.toggle-icon:not(.expanded){transform:rotate(-90deg)}.department-info{align-items:center;border-radius:4px;cursor:pointer;display:flex;flex:1 1;justify-content:space-between;padding:4px 8px;position:relative;transition:background-color .2s}.department-info:hover{background:#007bff1a}.department-name{align-items:center;display:flex;flex:1 1;gap:6px}.department-name:before{content:"📁";font-size:12px}.drag-handle{align-items:center;background:#fffc;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#adb5bd;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .3s ease;width:20px}.department-header:hover .drag-handle{color:#6c757d;opacity:1}.drag-handle:hover{background:#f8f9fa;border-color:#ced4da;box-shadow:0 2px 8px #00000026;color:#495057;transform:translateY(-50%) scale(1.1)}.drag-handle:active{background:#e9ecef;transform:translateY(-50%) scale(.95)}.department-header.dragging .drag-handle{background:#ffffff4d;border-color:#ffffff80;color:#ffffffe6;opacity:1}.department-header.drag-over .drag-handle{background:#fff3;border-color:#fff6;color:#ffffffe6;opacity:1}.department-count{background:#6c757d;border-radius:8px;color:#fff;font-size:11px;padding:2px 6px}.department-group .employee-item{animation:slideIn .3s ease-out;border-left:2px solid #e9ecef;margin-left:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.department-employees{overflow:hidden;transition:max-height .3s ease-out}.department-employees.collapsed{max-height:0}.department-employees.expanded{max-height:1000px}.employee-list{scrollbar-color:#c1c1c1 #0000;scrollbar-width:thin}.employee-list::-webkit-scrollbar{width:6px}.employee-list::-webkit-scrollbar-track{background:#0000;border-radius:3px}.employee-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:15px;-webkit-transition:all .3s ease;transition:all .3s ease}.employee-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd8,#6b4190)}.department-employees::-webkit-scrollbar{width:6px}.department-employees::-webkit-scrollbar-track{background:#0000;border-radius:3px}.department-employees::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:15px;-webkit-transition:all .3s ease;transition:all .3s ease}.department-employees::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd8,#6b4190)}.filter-list{display:flex;flex-direction:column;gap:12px}.filter-item{gap:6px}.filter-item label{color:#495057;font-size:13px;font-weight:500}.filter-select-sidebar{background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s}.filter-select-sidebar:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.selected-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px}.summary-employee{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:12px}.summary-stats{display:flex;flex-direction:column;gap:8px}.stat-row{align-items:center;display:flex;font-size:14px;justify-content:space-between}.stat-value{color:#007bff;font-weight:600}.selected-employee-info{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:20px;padding:20px}.selected-employee-info h3{font-size:20px;margin-bottom:10px}.employee-stats{display:flex;font-size:14px;gap:15px;opacity:.95}.stat-separator{opacity:.6}.department-badge{background:#6c757d;border-radius:3px;color:#fff;font-size:11px;font-weight:500;margin-left:5px;padding:3px 8px}.analytics-view{padding:20px 0}.analytics-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.analytics-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:25px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.analytics-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-5px)}.analytics-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.analytics-card h3{align-items:center;color:#2c3e50;display:flex;font-size:20px;font-weight:700;gap:10px;margin-bottom:25px}.analytics-card h3:before{content:"📊";font-size:24px}.priority-graph-container{padding:10px 0}.priority-graph{display:flex;flex-direction:column;gap:30px}.priority-bars{align-items:flex-end;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;display:flex;height:250px;justify-content:space-around;padding:20px 15px 60px;position:relative}.priority-bars:before{background:#dee2e6;bottom:50px;content:"";height:1px;left:15px;position:absolute;right:15px}.priority-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:80px}.priority-bar-wrapper{align-items:flex-end;display:flex;height:150px;margin-bottom:15px;position:relative;width:45px}.priority-bar-fill{align-items:flex-start;border-radius:8px 8px 4px 4px;box-shadow:0 4px 15px #0003;display:flex;justify-content:center;overflow:hidden;padding-top:8px;position:relative;transition:height 1s cubic-bezier(.4,0,.2,1);width:100%}.priority-bar-fill:after{background:linear-gradient(180deg,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.priority-bar-count{color:#fff;font-size:14px;font-weight:700;position:relative;z-index:1}.priority-bar-label{align-items:center;display:flex;flex-direction:column;gap:5px;text-align:center}.priority-icon{font-size:16px}.priority-text{color:#2c3e50;font-size:12px;font-weight:600}.priority-percentage{background:#e9ecef;border-radius:8px;color:#6c757d;font-size:10px;font-weight:500;padding:1px 4px}.priority-summary{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:center;padding:15px}.total-tasks{align-items:center;display:flex;flex-direction:column;gap:5px}.summary-label{color:#6c757d;font-size:14px;font-weight:500}.summary-count{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:24px;font-weight:700}.employee-tasks-chart{display:flex;flex-direction:column;gap:20px}.employee-stat-row{grid-gap:20px;align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e9ecef;border-radius:12px;display:grid;gap:20px;grid-template-columns:180px 1fr 140px;overflow:hidden;padding:18px;position:relative;transition:all .3s ease}.employee-stat-row:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 4px 15px #0000001a;transform:translateX(5px)}.employee-stat-row:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.employee-info{display:flex;flex-direction:column;gap:4px}.employee-info .emp-name{color:#2c3e50;font-size:16px;font-weight:700}.employee-info .emp-dept{background:#e9ecef;border-radius:12px;color:#6c757d;display:inline-block;font-size:13px;font-weight:500;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.task-counts{display:flex;gap:12px}.count-badge{align-items:center;box-shadow:0 2px 8px #0000001a;display:flex;font-size:13px;font-weight:600;gap:5px;padding:6px 12px;transition:transform .2s ease}.count-badge:hover{transform:scale(1.05)}.count-badge.total{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.count-badge.total:before{content:"📋"}.count-badge.progress{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#fff}.count-badge.progress:before{content:"⏳"}.count-badge.completed{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.count-badge.completed:before{content:"✅"}.completion-rate{align-items:center;display:flex;gap:15px}.rate-bar{background:#e9ecef;box-shadow:inset 0 2px 4px #0000001a;flex:1 1;height:12px;overflow:hidden}.rate-bar,.rate-fill{border-radius:20px;position:relative}.rate-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.rate-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#ffffff4d,#0000 50%,#ffffff4d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.rate-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:15px;font-weight:700;min-width:45px;text-align:right}.priority-chart{display:flex;flex-direction:column;gap:16px}.priority-stat{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:6px solid;border-radius:12px;display:flex;justify-content:space-between;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.priority-stat:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.priority-stat.urgent{border-left-color:#dc3545}.priority-stat.high{border-left-color:#fd7e14}.priority-stat.normal{border-left-color:#28a745}.priority-stat.low{border-left-color:#6c757d}.priority-label{align-items:center;display:flex;font-size:16px;font-weight:700;gap:8px}.priority-label.urgent{color:#dc3545}.priority-label.urgent:before{content:"🚨"}.priority-label.high{color:#fd7e14}.priority-label.high:before{content:"⚡"}.priority-label.normal{color:#28a745}.priority-label.normal:before{content:"📌"}.priority-label.low{color:#6c757d}.priority-label.low:before{content:"🔽"}.priority-count{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;color:#2c3e50;font-size:18px;font-weight:700;padding:6px 12px}.department-chart{display:flex;flex-direction:column;gap:16px}.dept-stat{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e9ecef;border-radius:12px;display:flex;gap:15px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.dept-stat:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.dept-stat:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.dept-name{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:700;gap:8px;min-width:100px}.dept-name:before{content:"🏢";font-size:18px}.dept-count{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;color:#2c3e50;font-size:16px;font-weight:700;min-width:60px;padding:4px 10px}.dept-bar{background:#e9ecef;box-shadow:inset 0 2px 4px #0000001a;flex:1 1;height:24px;overflow:hidden}.dept-bar,.dept-bar-fill{border-radius:12px;position:relative}.dept-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.dept-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#ffffff4d,#0000 50%,#ffffff4d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.dept-percentage{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;color:#2c3e50;font-size:14px;font-weight:600;min-width:45px;padding:4px 10px;text-align:center}.admin-tasks-page .kanban-task-card.compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;margin-bottom:10px;min-height:auto;padding:14px 16px;position:relative;transition:all .2s ease}.admin-tasks-page .kanban-task-card.compact:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.admin-tasks-page .kanban-task-card.compact:before{border-radius:8px 8px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.admin-tasks-page .kanban-task-card.compact.priority-bg-urgent{background:#fff;border:2px solid #dc3545}.admin-tasks-page .kanban-task-card.compact.priority-bg-urgent:before{background:#dc3545}.admin-tasks-page .kanban-task-card.compact.priority-bg-urgent:hover{background:#fff;border-color:#dc3545;box-shadow:0 4px 12px #dc354533}.admin-tasks-page .kanban-task-card.compact.priority-bg-high{background:#fff;border:2px solid #f59e0b}.admin-tasks-page .kanban-task-card.compact.priority-bg-high:before{background:#f59e0b}.admin-tasks-page .kanban-task-card.compact.priority-bg-high:hover{background:#fff;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b33}.admin-tasks-page .kanban-task-card.compact.priority-bg-normal{background:#fff;border:2px solid #10b981}.admin-tasks-page .kanban-task-card.compact.priority-bg-normal:before{background:#10b981}.admin-tasks-page .kanban-task-card.compact.priority-bg-normal:hover{background:#fff;border-color:#10b981;box-shadow:0 4px 12px #10b98133}.admin-tasks-page .kanban-task-card.compact.priority-bg-low{background:#fff;border:2px solid #6b7280}.admin-tasks-page .kanban-task-card.compact.priority-bg-low:before{background:#6b7280}.admin-tasks-page .kanban-task-card.compact.priority-bg-low:hover{background:#fff;border-color:#6b7280;box-shadow:0 4px 12px #6b728033}.admin-tasks-page .task-card-v2{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;padding:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.admin-tasks-page .task-card-v2:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.admin-tasks-page .task-card-v2.urgent-priority{border-color:#ef4444;box-shadow:0 2px 8px #ef444433}.admin-tasks-page .task-card-v2.high-priority{border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b33}.admin-tasks-page .task-card-v2.normal-priority{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.admin-tasks-page .task-card-v2.low-priority{border-color:#6b7280;box-shadow:0 2px 8px #6b728033}.admin-tasks-page .task-card-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.admin-tasks-page .priority-indicator{background:#0000000d;gap:4px;padding:4px 8px}.admin-tasks-page .priority-icon{font-size:12px}.admin-tasks-page .priority-text{font-size:8px;font-weight:700;letter-spacing:.5px}.admin-tasks-page .assignee-info{align-items:center;display:flex;gap:6px}.admin-tasks-page .assignee-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:600;height:24px;justify-content:center;width:24px}.admin-tasks-page .assignee-avatar-img{border-radius:50%;font-size:10px;height:24px!important;min-height:24px;min-width:24px;width:24px!important}.admin-tasks-page .assignee-name{color:#64748b;font-size:10px;font-weight:500}.admin-tasks-page .task-card-title h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;display:-webkit-box;font-size:14px;font-weight:600;line-height:1.4;margin:0 0 10px;overflow:hidden}.admin-tasks-page .task-card-content{min-height:40px}.admin-tasks-page .task-description{background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:11px;line-height:1.4;padding:8px}.admin-tasks-page .exception-preview{background:#ef44440d;border:1px solid #ef444433;border-radius:6px;padding:8px}.admin-tasks-page .exception-summary{display:flex;flex-direction:column;gap:4px}.admin-tasks-page .exception-line{align-items:center;display:flex;font-size:10px;gap:6px}.admin-tasks-page .exception-line .icon{flex-shrink:0}.admin-tasks-page .exception-line .text{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-tasks-page .exception-line.critical{background:#ef44441a;border-left:2px solid #ef4444;border-radius:4px;padding:4px 6px}.admin-tasks-page .exception-line.critical .text{color:#dc2626;font-weight:600}.admin-tasks-page .task-card-v2.exception-task{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#ef4444}.admin-tasks-page .task-card-v2.exception-task:before{background:#ef4444;border-radius:0 10px 0 8px;color:#fff;content:"⚠️ 예외처리";font-size:8px;font-weight:600;padding:2px 6px;position:absolute;right:-1px;top:-1px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.admin-tasks-page .kanban-task-card.compact{display:none}.admin-tasks-page .kanban-task-card.compact.exception-task{animation:exception-pulse 2s infinite;border:2px solid #dc3545;box-shadow:0 4px 16px #dc354533,0 0 0 1px #dc35451a}.admin-tasks-page .kanban-task-card.compact.exception-task:hover{border-color:#c82333;box-shadow:0 8px 32px #dc35454d,0 0 0 2px #dc354533;transform:translateY(-3px) scale(1.02)}.admin-tasks-page .kanban-task-card.compact.exception-task:before{background:linear-gradient(90deg,#dc3545,#c82333)!important;height:4px!important}@keyframes exception-pulse{0%,to{box-shadow:0 4px 16px #dc354533,0 0 0 1px #dc35451a}50%{box-shadow:0 4px 16px #dc35454d,0 0 0 2px #dc354533}}.admin-tasks-page .kanban-task-card.compact .task-assignee-badge{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#374151;font-size:9px;font-weight:600;padding:3px 6px;position:absolute;right:10px;top:8px;z-index:1}.admin-tasks-page .kanban-task-card.compact .task-title-center{color:#111827;font-size:12px;font-weight:600;line-height:1.4;margin:0 0 6px;overflow:hidden;padding:0;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.admin-tasks-page .kanban-task-card.compact .task-description-compact{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:10px;line-height:1.3;margin-bottom:8px;overflow:hidden;padding:0 8px;text-align:center;word-break:break-word}.admin-tasks-page .exception-details{background:#ef44440d;border:1px solid #ef44441a;border-radius:6px;display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:8px}.admin-tasks-page .exception-item{align-items:flex-start;display:flex;gap:6px;padding:3px 0}.admin-tasks-page .exception-label{flex-shrink:0;font-size:12px;text-align:center;width:16px}.admin-tasks-page .exception-value{color:#374151;flex:1 1;font-size:9px;line-height:1.3;word-break:break-word}.admin-tasks-page .exception-item.product .exception-value{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:8px;overflow:hidden}.admin-tasks-page .exception-item.issue{background:#ef44441a;border-left:3px solid #ef4444;border-radius:4px;padding:4px 6px}.admin-tasks-page .exception-item.issue .exception-value{color:#dc2626;font-size:9px;font-weight:600}.admin-tasks-page .kanban-task-card.exception-task{border-left:4px solid #ef4444}.admin-tasks-page .kanban-task-card.exception-task .task-title-center{color:#dc2626;font-weight:700}.admin-tasks-page .exception-table-preview{margin-top:4px}.admin-tasks-page .exception-mini{display:flex;flex-direction:column;gap:2px}.admin-tasks-page .exception-mini-item{align-items:center;color:#6b7280;display:flex;font-size:10px;gap:4px}.admin-tasks-page .exception-mini-item.issue{background:#ef44441a;border-radius:3px;color:#dc2626;font-weight:600;padding:2px 4px}.admin-tasks-page .task-row.exception-row{background:#ef444405;border-left:3px solid #ef4444}.admin-tasks-page .task-row.exception-row:hover{background:#ef44440d}.admin-tasks-page .exception-modal-details{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:20px}.admin-tasks-page .exception-modal-grid{grid-gap:16px;display:grid;gap:16px}.admin-tasks-page .exception-modal-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:12px}.admin-tasks-page .exception-modal-label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:6px}.admin-tasks-page .exception-modal-value{color:#1f2937;font-size:14px;line-height:1.5;margin-left:20px;word-break:break-word}.admin-tasks-page .exception-modal-item.product-item{grid-column:1/-1}.admin-tasks-page .exception-modal-item.product-item .exception-modal-value{background:#f9fafb;border-radius:4px;color:#6b7280;font-family:monospace;font-size:13px;margin-left:0;margin-top:4px;padding:8px}.admin-tasks-page .exception-modal-item.issue-item{background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #ef4444}.admin-tasks-page .exception-modal-item.issue-item .exception-modal-label{color:#dc2626}.admin-tasks-page .exception-modal-item.issue-item .exception-modal-value{color:#dc2626;font-weight:600}.admin-tasks-page .kanban-task-card.compact .task-info-row{align-items:center;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:12px;justify-content:space-between;margin-top:6px;padding-top:6px}.admin-tasks-page .kanban-task-card.compact .task-category{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#374151;font-size:11px;font-weight:500;padding:2px 6px}.admin-tasks-page .kanban-task-card.compact .task-dates{color:#6b7280;font-size:11px;font-weight:500}.admin-tasks-page .task-department{color:#666;font-size:11px;font-style:italic;margin-top:4px}.admin-tasks-page .tasks-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden}.admin-tasks-page .tasks-table-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:15px 20px}.admin-tasks-page .tasks-table-header h3{align-items:center;color:#1e293b;display:flex;font-size:16px;font-weight:600;gap:6px;margin:0}.admin-tasks-page .tasks-table-header h3:before{content:"📋";font-size:14px}.admin-tasks-page .search-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;padding:6px 12px;transition:all .2s ease;width:200px}.admin-tasks-page .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none;transform:translateY(-1px)}.admin-tasks-page .search-input::placeholder{color:#94a3b8}.admin-tasks-page .table-wrapper{background:#fff;overflow-x:auto}.admin-tasks-page .tasks-table{border-collapse:initial;border-spacing:0;font-size:12px;line-height:1.4;width:100%}.admin-tasks-page .tasks-table th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-bottom:1px solid #cbd5e1;color:#475569;font-size:10px;font-weight:600;letter-spacing:.5px;padding:10px 15px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.admin-tasks-page .tasks-table th.sortable{cursor:pointer;padding-right:35px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.admin-tasks-page .tasks-table th.sortable:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#334155;transform:translateY(-1px)}.admin-tasks-page .tasks-table th.sortable.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom-color:#3b82f6;color:#1e40af}.admin-tasks-page .tasks-table th .sort-indicator{animation:sortBounce .3s ease;color:#3b82f6;font-size:14px;font-weight:900;position:absolute;right:8px;top:50%;transform:translateY(-50%)}@keyframes sortBounce{0%{opacity:0;transform:translateY(-50%) scale(.8)}50%{opacity:.7;transform:translateY(-50%) scale(1.2)}to{opacity:1;transform:translateY(-50%) scale(1)}}.admin-tasks-page .tasks-table th.sortable:before{border-bottom:6px solid #94a3b8;border-left:4px solid #0000;border-right:4px solid #0000;content:"";height:0;opacity:.3;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:0}.admin-tasks-page .tasks-table th.sortable:hover:before{opacity:.6}.admin-tasks-page .tasks-table th:first-child{border-top-left-radius:0}.admin-tasks-page .tasks-table th:last-child{border-top-right-radius:0}.admin-tasks-page .tasks-table td{background:#fff;border-bottom:1px solid #f1f5f9;font-size:11px;padding:12px 15px;transition:background-color .2s ease;vertical-align:middle}.admin-tasks-page .task-row{cursor:pointer;position:relative;transition:all .2s ease}.admin-tasks-page .task-row:hover{background-color:#f8fafc!important;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.admin-tasks-page .task-row.exception-row{background:linear-gradient(135deg,#fef2f2,#fee2e2)!important;border-left:4px solid #dc3545;position:relative}.admin-tasks-page .task-row.exception-row:before{align-items:center;background:#dc3545;border-radius:50%;color:#fff;content:"⚠️";display:flex;font-size:10px;height:20px;justify-content:center;left:-2px;position:absolute;top:50%;transform:translateY(-50%);width:20px;z-index:1}.admin-tasks-page .task-row.exception-row:hover{background:linear-gradient(135deg,#fecaca,#fca5a5)!important}.admin-tasks-page .priority-indicator{align-items:center;border-radius:20px;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:center;min-width:80px;padding:6px 12px}.admin-tasks-page .priority-indicator.priority-urgent{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;color:#991b1b}.admin-tasks-page .priority-indicator.priority-high{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;color:#92400e}.admin-tasks-page .priority-indicator.priority-normal{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;color:#065f46}.admin-tasks-page .priority-indicator.priority-low{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #9ca3af;color:#374151}.admin-tasks-page .title-cell{max-width:350px;min-width:250px}.admin-tasks-page .title-content{display:flex;flex-direction:column;gap:6px}.admin-tasks-page .task-title-text{color:#1e293b;font-size:15px;font-weight:700;line-height:1.4;margin-bottom:2px}.admin-tasks-page .task-description-preview{background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:13px;line-height:1.4;padding:6px 12px}.admin-tasks-page .category-tag{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:2px solid #a5b4fc;border-radius:16px;color:#4338ca;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;min-width:60px;padding:6px 12px;text-align:center;text-transform:uppercase}.admin-tasks-page .assignee-name{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;display:inline-block;font-weight:600;min-width:70px;padding:8px 12px;text-align:center}.admin-tasks-page .status-select-table{border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.5px;min-width:90px;padding:8px 12px;text-transform:uppercase;transition:all .2s ease}.admin-tasks-page .status-select-table:focus{box-shadow:0 4px 12px #0000001a;outline:none;transform:translateY(-1px)}.admin-tasks-page .status-select-table.status-requested{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.admin-tasks-page .status-select-table.status-in_progress{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1e40af}.admin-tasks-page .status-select-table.status-completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;color:#065f46}.admin-tasks-page .status-select-table.status-problem{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#ef4444;color:#991b1b}.admin-tasks-page .status-select-table.status-cancelled{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#9ca3af;color:#374151}.admin-tasks-page .date-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:13px;font-weight:600;padding:8px 12px!important;text-align:center;white-space:nowrap}.admin-tasks-page .action-btn.view-btn-small{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase;transition:all .2s ease}.admin-tasks-page .action-btn.view-btn-small:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.admin-tasks-page .empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;margin:20px;padding:60px 20px;text-align:center}.admin-tasks-page .empty-state:before{content:"📝";display:block;font-size:48px;margin-bottom:16px}.admin-tasks-page .empty-state p{font-size:16px;font-weight:600;margin:0}.admin-tasks-page .report-view.compact{padding:16px}.admin-tasks-page .report-header-compact{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.admin-tasks-page .report-title-compact{align-items:center;display:flex;gap:12px}.admin-tasks-page .report-title-compact h2{color:#1e293b;font-size:18px;font-weight:700;margin:0}.admin-tasks-page .report-date-compact{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:12px;padding:4px 8px}.admin-tasks-page .report-summary-inline{align-items:center;display:flex;gap:16px}.admin-tasks-page .summary-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;min-width:60px;padding:8px 12px}.admin-tasks-page .summary-item .summary-number{color:#1e293b;font-size:18px;font-weight:700}.admin-tasks-page .summary-item .summary-label{color:#64748b;font-size:10px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.admin-tasks-page .summary-item.completed .summary-number{color:#10b981}.admin-tasks-page .summary-item.progress .summary-number{color:#3b82f6}.admin-tasks-page .summary-item.urgent .summary-number{color:#ef4444}.admin-tasks-page .btn-print-compact{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.admin-tasks-page .btn-print-compact:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.admin-tasks-page .employee-reports-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.admin-tasks-page .employee-report-card-compact{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s ease}.admin-tasks-page .employee-report-card-compact:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.admin-tasks-page .employee-header-compact{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.admin-tasks-page .employee-info-compact{align-items:center;display:flex;gap:8px}.admin-tasks-page .employee-name-compact h4{color:#1e293b;font-size:14px;font-weight:600;margin:0}.admin-tasks-page .department-compact{background:#f8fafc;border-radius:4px;color:#64748b;display:inline-block;font-size:11px;margin-top:2px;padding:2px 6px}.admin-tasks-page .metrics-compact{text-align:right}.admin-tasks-page .metric-compact{align-items:center;display:flex;flex-direction:column}.admin-tasks-page .metric-compact .metric-value{color:#10b981;font-size:16px;font-weight:700}.admin-tasks-page .metric-compact .metric-label{color:#64748b;font-size:9px;letter-spacing:.5px;text-transform:uppercase}.admin-tasks-page .status-row-compact{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.admin-tasks-page .status-chip{align-items:center;border:1px solid;border-radius:6px;display:flex;flex-direction:column;font-size:10px;min-width:35px;padding:4px 8px}.admin-tasks-page .status-chip .count{font-size:12px;font-weight:700}.admin-tasks-page .status-chip .label{margin-top:1px;opacity:.8}.admin-tasks-page .status-chip.total{background:#f8fafc;border-color:#e2e8f0;color:#475569}.admin-tasks-page .status-chip.completed{background:#ecfdf5;border-color:#10b981;color:#065f46}.admin-tasks-page .status-chip.progress{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.admin-tasks-page .status-chip.requested{background:#fffbeb;border-color:#f59e0b;color:#92400e}.admin-tasks-page .status-chip.problem{background:#fef2f2;border-color:#ef4444;color:#991b1b}.admin-tasks-page .priority-row-compact{display:flex;flex-wrap:wrap;gap:4px}.admin-tasks-page .priority-chip{align-items:center;border-radius:12px;display:flex;font-size:10px;font-weight:600;gap:4px;padding:3px 6px}.admin-tasks-page .priority-chip.urgent{background:#fef2f2;color:#991b1b}.admin-tasks-page .priority-chip.high{background:#fffbeb;color:#92400e}.admin-tasks-page .priority-chip.normal{background:#ecfdf5;color:#065f46}.admin-tasks-page .priority-chip.low{background:#f8fafc;color:#475569}.admin-tasks-page .priority-chip .priority-icon{font-size:8px}.admin-tasks-page .issues-compact{display:flex;gap:6px;margin-top:8px}.admin-tasks-page .issue-badge{border-radius:8px;font-size:9px;font-weight:600;padding:2px 6px}.admin-tasks-page .issue-badge.overdue,.admin-tasks-page .issue-badge.problem{background:#fef2f2;color:#991b1b}.admin-tasks-page .report-footer-compact{border-top:1px solid #e2e8f0;margin-top:20px;padding:16px;text-align:center}.admin-tasks-page .footer-text{color:#64748b;font-size:11px}.user-info-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:16px;font-weight:500;margin-bottom:20px;padding:12px 20px}.user-info-bar span{align-items:center;display:inline-flex;gap:8px}.report-view{background:#fff;padding:20px 20px 100px}.report-header{align-items:flex-start;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.report-title-section h2{color:#2c3e50;font-size:28px;font-weight:700;margin-bottom:10px}.report-meta{color:#6c757d;gap:20px}.print-btn,.report-meta{display:flex;font-size:14px}.print-btn{align-items:center;background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;gap:8px;padding:10px 20px;transition:background .3s}.print-btn:hover{background:#5a6268}.report-summary{margin-bottom:40px}.report-summary h3{color:#2c3e50;font-size:22px;font-weight:600;margin-bottom:20px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:20px;text-align:center}.summary-card.urgent{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.summary-number{font-size:36px;font-weight:700;margin-bottom:8px}.summary-label{font-size:16px;opacity:.9}.employee-reports{display:flex;flex-direction:column;gap:25px}.employee-report-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden;page-break-inside:avoid}.employee-report-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:space-between;padding:20px}.employee-basic-info{align-items:center;display:flex;gap:15px}.employee-name-info h4{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 8px}.employee-details{display:flex;font-size:14px;gap:12px}.employee-details .department{background:#007bff}.employee-details .department,.employee-details .position{border-radius:4px;color:#fff;font-weight:500;padding:4px 8px}.employee-details .position{background:#6c757d}.employee-metrics{display:flex;gap:20px}.metric{text-align:center}.metric-value{color:#2c3e50;display:block;font-size:24px;font-weight:700}.metric-label{color:#6c757d;font-size:12px;margin-top:4px}.employee-report-body{padding:20px}.report-section{margin-bottom:25px}.report-section h5{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:6px}.status-breakdown{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.status-item{align-items:center;background:#f8f9fa;border-left:4px solid #6c757d;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.status-item.completed{background:#d4edda;border-left-color:#28a745}.status-item.progress{background:#fff3cd;border-left-color:#ffc107}.status-item.requested{background:#d1ecf1;border-left-color:#17a2b8}.status-item.problem{background:#f8d7da;border-left-color:#dc3545}.status-label{font-size:14px;font-weight:500}.status-count{font-size:14px;font-weight:600}.priority-breakdown{display:flex;flex-wrap:wrap;gap:10px}.priority-item{align-items:center;border-radius:20px;display:flex;font-size:13px;font-weight:500;justify-content:space-between;min-width:80px;padding:6px 12px}.priority-item.urgent{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.priority-item.high{background:#fff3e0;border:1px solid #ffcc02;color:#ef6c00}.priority-item.normal{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.priority-item.low{background:#f3f4f6;border:1px solid #dee2e6;color:#6c757d}.report-section.issues{background:#fff5f5;border-left:4px solid #dc3545;border-radius:8px;padding:15px}.issues-list{display:flex;flex-direction:column;gap:10px}.issue-item{align-items:center;background:#fff;border:1px solid #fee;border-radius:6px;display:flex;gap:12px;padding:10px}.issue-item.overdue{border-left:4px solid #ffc107}.issue-item.problem{border-left:4px solid #dc3545}.issue-icon{font-size:18px}.issue-content{align-items:center;display:flex;flex:1 1;justify-content:space-between}.issue-title{color:#2c3e50;font-weight:500}.issue-count{color:#dc3545;font-weight:600}.recent-tasks{display:flex;flex-direction:column;gap:8px}.recent-task{align-items:center;background:#e8f5e8;border-left:4px solid #28a745;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.recent-task .task-title{color:#2c3e50;font-weight:500}.recent-task .task-category{background:#28a745;border-radius:4px;color:#fff;font-size:12px;padding:2px 8px}.more-tasks{color:#6c757d;font-size:13px;font-style:italic;padding:8px;text-align:center}.progress-section{margin-top:20px}.progress-bar-container{background:#f8f9fa;border-radius:8px;padding:15px}.progress-bar{background:#e9ecef;border-radius:10px;display:flex;height:20px;margin-bottom:10px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease}.progress-fill.completed{background:linear-gradient(90deg,#28a745,#20c997)}.progress-fill.progress{background:linear-gradient(90deg,#ffc107,#fd7e14)}.progress-legend{display:flex;gap:20px;justify-content:center}.legend-item{align-items:center;display:flex;font-size:14px;gap:8px}.legend-color{border-radius:2px;height:12px;width:12px}.legend-color.completed{background:#28a745}.legend-color.progress{background:#ffc107}.report-footer{grid-gap:40px;border-top:2px solid #e9ecef;display:grid;gap:40px;grid-template-columns:2fr 1fr;margin-top:40px;padding-top:30px}.report-notes h4{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:15px}.report-notes ul{list-style:none;padding:0}.report-notes li{border-bottom:1px solid #f8f9fa;color:#6c757d;font-size:14px;padding:6px 0}.report-notes li:before{content:"📌 ";margin-right:8px}.report-signature{text-align:right}.report-signature p{color:#6c757d;font-size:13px;margin:4px 0}@media print{.report-view{background:#fff;padding:0}.employee-selector-section,.filter-section,.page-header{display:none}.employee-report-card{border:1px solid #ddd;box-shadow:none;margin-bottom:20px;page-break-inside:avoid}.print-btn{display:none}.report-header{border-bottom:2px solid #000}.summary-card{background:#f8f9fa!important;border:1px solid #ddd;color:#000!important}}.individual-view{padding:20px 0}.empty-icon{font-size:64px}.empty-state h3{color:#2c3e50;font-size:24px;margin-bottom:10px}.empty-state p{color:#6c757d;font-size:16px;line-height:1.5}.employee-detail-report{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.detail-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:30px}.employee-profile{align-items:center;display:flex;gap:20px}.profile-avatar{align-items:center;background:#fff3;border:3px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.profile-info h2{font-size:32px;font-weight:700;margin-bottom:8px}.profile-details{display:flex;gap:15px}.profile-details .department,.profile-details .position{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:14px;font-weight:500;padding:6px 12px}.key-metrics{display:flex;gap:20px}.metric-card{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;min-width:100px;padding:20px;text-align:center}.metric-number{font-size:28px;font-weight:700;margin-bottom:5px}.metric-label{font-size:14px;opacity:.9}.attention-section,.recent-activity-section,.status-analysis-section,.timeline-section{border-bottom:1px solid #e9ecef;padding:30px}.attention-section:last-child,.recent-activity-section:last-child,.status-analysis-section:last-child,.timeline-section:last-child{border-bottom:none}.attention-section h3,.recent-activity-section h3,.status-analysis-section h3,.timeline-section h3{color:#2c3e50;font-size:22px;font-weight:600;margin-bottom:25px}.timeline{padding-left:30px;position:relative}.timeline:before{background:#e9ecef;bottom:0;content:"";left:15px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:30px;padding-left:40px;position:relative}.timeline-marker{align-items:center;background:#fff;border:3px solid #e9ecef;border-radius:50%;display:flex;font-size:12px;font-weight:600;height:30px;justify-content:center;left:-25px;position:absolute;top:0;width:30px;z-index:1}.timeline-item.completed .timeline-marker{background:#28a745;border-color:#28a745;color:#fff}.timeline-item.in_progress .timeline-marker{background:#ffc107;border-color:#ffc107;color:#fff}.timeline-item.requested .timeline-marker{background:#17a2b8;border-color:#17a2b8;color:#fff}.timeline-item.problem .timeline-marker{background:#dc3545;border-color:#dc3545;color:#fff}.task-card-timeline{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.task-header-timeline{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.task-header-timeline h4{color:#2c3e50;flex:1 1;font-size:18px;font-weight:600;margin-right:15px}.task-badges{display:flex;gap:8px}.task-description-timeline{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:15px}.task-meta-timeline{align-items:center;display:flex;font-size:13px;justify-content:space-between}.date-info{display:flex;gap:15px}.created-date,.due-date{color:#6c757d}.category{background:#e9ecef;border-radius:4px;color:#495057;font-weight:500;padding:4px 8px}.status-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.status-analysis-card{background:#f8f9fa;border:1px solid #e9ecef;border-left:4px solid;border-radius:8px;padding:20px}.status-analysis-card.requested{border-left-color:#17a2b8}.status-analysis-card.in-progress{border-left-color:#ffc107}.status-analysis-card.completed{border-left-color:#28a745}.status-analysis-card.problem{border-left-color:#dc3545}.status-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:15px}.task-list-mini{display:flex;flex-direction:column;gap:8px}.mini-task-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:4px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.mini-task-item.urgent{border-left:3px solid #dc3545}.task-title-mini{color:#2c3e50;flex:1 1;font-weight:500;margin-right:10px}.more-items,.task-date-mini{color:#6c757d;font-size:12px}.more-items{font-style:italic;padding:8px;text-align:center}.attention-section{background:#fff5f5}.attention-cards{display:flex;flex-direction:column;gap:20px}.attention-card{background:#fff;border:1px solid #fee;border-left:4px solid;border-radius:8px;padding:20px}.attention-card.overdue{border-left-color:#ffc107}.attention-card.problem{border-left-color:#dc3545}.attention-card h4{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:15px}.attention-list{display:flex;flex-direction:column;gap:10px}.attention-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:10px 15px}.attention-item .task-title{color:#2c3e50;flex:1 1;font-weight:500;margin-right:15px}.delay-days,.problem-status{background:#dc3545;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px}.delay-days{background:#ffc107;color:#000}.activity-summary p{color:#6c757d;font-size:16px;margin-bottom:20px}.recent-tasks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.recent-task-card{background:#fff;border:1px solid #e9ecef;border-left:4px solid;border-radius:8px;padding:15px}.recent-task-card.requested{border-left-color:#17a2b8}.recent-task-card.in_progress{border-left-color:#ffc107}.recent-task-card.completed{border-left-color:#28a745}.recent-task-card.problem{border-left-color:#dc3545}.recent-task-card h5{color:#2c3e50;font-size:14px;font-weight:600;line-height:1.3;margin-bottom:8px}.task-info{align-items:center;display:flex;font-size:12px;justify-content:space-between}.task-info .status{border-radius:3px;font-weight:500;padding:2px 6px}.task-info .status.requested{background:#d1ecf1;color:#0c5460}.task-info .status.in_progress{background:#fff3cd;color:#856404}.task-info .status.completed{background:#d4edda;color:#155724}.task-info .status.problem{background:#f8d7da;color:#721c24}.admin-tasks-page .department-reports{display:flex;flex-direction:column;gap:30px}.admin-tasks-page .department-report-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.admin-tasks-page .department-section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.admin-tasks-page .department-section-header h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.admin-tasks-page .dept-employee-count{background:#3b82f6;border-radius:16px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.admin-tasks-page .department-report-section .employee-reports-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.admin-tasks-page .department-report-section .employee-report-card-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.task-info .date{color:#6c757d}.admin-tasks-page .efficiency-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.admin-tasks-page .efficiency-section h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.admin-tasks-page .efficiency-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-tasks-page .efficiency-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.admin-tasks-page .efficiency-header h4{color:#64748b;font-size:14px;font-weight:500;margin:0 0 12px}.admin-tasks-page .efficiency-content{align-items:baseline;display:flex;gap:4px;justify-content:center}.admin-tasks-page .large-number{color:#1e293b;font-size:36px;font-weight:700}.admin-tasks-page .efficiency-label{color:#64748b;font-size:14px;font-weight:500}.admin-tasks-page .monthly-stats-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.admin-tasks-page .monthly-stats-section h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.admin-tasks-page .chart-container{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;height:200px;padding:20px;position:relative}.admin-tasks-page .month-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.admin-tasks-page .month-label{color:#64748b;font-size:12px;font-weight:500;margin-bottom:8px}.admin-tasks-page .bar-container{display:flex;flex:1 1;flex-direction:column;justify-content:flex-end;min-height:120px;position:relative;width:100%}.admin-tasks-page .bar{border-radius:4px 4px 0 0;bottom:0;position:absolute;transition:all .3s ease;width:100%}.admin-tasks-page .total-bar{background:#e2e8f0;z-index:1}.admin-tasks-page .completed-bar{background:#22c55e;z-index:2}.admin-tasks-page .bar-labels{color:#64748b;font-size:11px;margin-top:8px;text-align:center}.admin-tasks-page .completed-count{color:#22c55e;font-weight:600}.admin-tasks-page .chart-legend{display:flex;gap:12px;position:absolute;right:10px;top:10px}.admin-tasks-page .legend-item{align-items:center;color:#64748b;display:flex;font-size:11px;gap:4px}.admin-tasks-page .legend-color{border-radius:2px;height:12px;width:12px}.admin-tasks-page .legend-color.total{background:#e2e8f0}.admin-tasks-page .legend-color.completed{background:#22c55e}.admin-tasks-page .category-analysis-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.admin-tasks-page .category-analysis-section h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.admin-tasks-page .category-stats{display:flex;flex-direction:column;gap:12px}.admin-tasks-page .category-stat-item{grid-gap:12px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:2fr 3fr 1fr;padding:12px}.admin-tasks-page .category-info{align-items:center;display:flex;justify-content:space-between}.admin-tasks-page .category-name{color:#1e293b;font-weight:500}.admin-tasks-page .category-count{color:#64748b;font-size:12px}.admin-tasks-page .category-progress{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.admin-tasks-page .progress-bar{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:4px;height:100%;transition:width .3s ease}.admin-tasks-page .category-percentage{color:#22c55e;font-size:14px;font-weight:600;text-align:right}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.task-card-skeleton{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:12px;padding:16px}.skeleton-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.skeleton-avatar,.skeleton-content,.skeleton-controls,.skeleton-priority,.skeleton-title,.skeleton-title-large{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.skeleton-priority{border-radius:10px;height:20px;width:60px}.skeleton-avatar{border-radius:50%;height:24px;width:24px}.skeleton-title{border-radius:9px;height:18px;margin-bottom:10px;width:80%}.skeleton-content{border-radius:7px;height:14px;width:60%}.skeleton-title-large{border-radius:16px;height:32px;width:200px}.skeleton-controls{border-radius:20px;height:40px;width:150px}.admin-tasks-page .kanban-board .mobile-kanban-tabs,.admin-tasks-page .mobile-kanban-tabs,.tasks-page.admin-tasks-page .kanban-board .mobile-kanban-tabs,.tasks-page.admin-tasks-page .mobile-kanban-tabs,div.tasks-page.admin-tasks-page .kanban-board .mobile-kanban-tabs,div.tasks-page.admin-tasks-page .mobile-kanban-tabs{background:#f1f5f9!important;border-radius:12px!important;box-sizing:border-box!important;display:flex!important;gap:4px!important;margin-bottom:16px!important;opacity:1!important;padding:4px!important;visibility:visible!important;width:100%!important}.admin-tasks-page .mobile-kanban-tab,.tasks-page.admin-tasks-page .mobile-kanban-tab,div.tasks-page.admin-tasks-page .mobile-kanban-tab{background:#0000!important;border:none!important;border-radius:8px!important;color:#64748b!important;cursor:pointer!important;display:block!important;flex:1 1!important;font-size:.85rem!important;font-weight:500!important;padding:12px 8px!important;transition:all .2s!important;visibility:visible!important;white-space:nowrap!important}.admin-tasks-page .mobile-kanban-tab.active,.tasks-page.admin-tasks-page .mobile-kanban-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#1e3c72;font-weight:600}.admin-tasks-page .mobile-kanban-tab.requested.active,.tasks-page.admin-tasks-page .mobile-kanban-tab.requested.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-tasks-page .mobile-kanban-tab.in-progress.active,.tasks-page.admin-tasks-page .mobile-kanban-tab.in-progress.active{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.admin-tasks-page .mobile-kanban-tab.completed.active,.tasks-page.admin-tasks-page .mobile-kanban-tab.completed.active{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}@media (min-width:769px){.admin-tasks-page .kanban-board .mobile-kanban-tabs,.admin-tasks-page .mobile-kanban-tabs,.tasks-page.admin-tasks-page .kanban-board .mobile-kanban-tabs,.tasks-page.admin-tasks-page .mobile-kanban-tabs,div.tasks-page.admin-tasks-page .mobile-kanban-tabs{display:none!important}}.admin-tasks-page .kanban-board{margin-bottom:40px}.admin-tasks-page .kanban-columns,.tasks-page.admin-tasks-page .kanban-columns,div.tasks-page.admin-tasks-page .kanban-columns{display:block!important;gap:0!important;overflow-x:hidden;width:100%}.admin-tasks-page .kanban-column,.tasks-page.admin-tasks-page .kanban-column,div.tasks-page.admin-tasks-page .kanban-column{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;box-sizing:border-box;display:none!important;max-width:100%;min-height:auto;overflow:hidden;width:100%}.admin-tasks-page .kanban-column.mobile-active,.tasks-page.admin-tasks-page .kanban-column.mobile-active,div.tasks-page.admin-tasks-page .kanban-column.mobile-active{display:block!important}@media (min-width:769px){.admin-tasks-page .kanban-columns,.tasks-page.admin-tasks-page .kanban-columns,div.tasks-page.admin-tasks-page .kanban-columns{grid-gap:20px!important;box-sizing:border-box;display:grid!important;gap:20px!important;grid-template-columns:1fr 1fr 1fr!important;max-width:100%;width:100%}.admin-tasks-page .kanban-column,.tasks-page.admin-tasks-page .kanban-column,div.tasks-page.admin-tasks-page .kanban-column{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;box-sizing:border-box;display:block!important;max-width:100%;min-height:500px;overflow:hidden;width:100%}}.admin-tasks-page .kanban-tasks-list{display:flex;flex-direction:column;gap:8px;padding:10px}@media (max-width:768px){.admin-sidebar{display:none}.admin-main-content{padding:12px;width:100%}.content-header{align-items:flex-start;flex-direction:column;gap:12px;margin:-12px -12px 12px;padding:12px}.content-header h1{font-size:1.25rem;margin:0}.date-and-view,.date-filter-container{width:100%}.date-range-buttons{-webkit-overflow-scrolling:touch;display:flex;gap:4px;overflow-x:auto;padding:4px}.date-range-btn{flex-shrink:0;font-size:.75rem;padding:6px 10px;white-space:nowrap}.date-filter{margin-top:8px}.header-actions{flex-wrap:wrap;width:100%}.view-toggle{-webkit-overflow-scrolling:touch;display:flex;gap:4px;overflow-x:auto;width:100%}.view-btn{flex-shrink:0;font-size:.75rem;padding:8px 10px;white-space:nowrap}.btn-primary{font-size:.85rem;margin-top:8px;padding:8px 12px;width:100%}.admin-tasks-page .kanban-column .column-header,.tasks-page.admin-tasks-page .kanban-column .column-header{display:none!important}.admin-tasks-page .tasks-table-header{flex-direction:column;gap:12px;padding:12px}.admin-tasks-page .table-controls{flex-direction:column;gap:8px;width:100%}.admin-tasks-page .search-input{font-size:14px;width:100%!important}.admin-tasks-page .refresh-btn{padding:10px;width:100%}.admin-tasks-page .table-wrapper{overflow-x:visible}.admin-tasks-page .tasks-table{display:block}.admin-tasks-page .tasks-table thead{display:none}.admin-tasks-page .tasks-table tbody{display:block}.admin-tasks-page .tasks-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:block;margin-bottom:16px;padding:16px}.admin-tasks-page .tasks-table td{border:none!important;display:block;padding:8px 0!important;text-align:left!important}.admin-tasks-page .tasks-table td:before{color:#1e3c72;content:attr(data-label);display:block;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.admin-tasks-page .tasks-table td:first-child,.admin-tasks-page .tasks-table td:last-child{border-radius:0}.admin-tasks-page .analytics-view{padding:12px 0}.admin-tasks-page .analytics-grid{gap:16px;grid-template-columns:1fr}.admin-tasks-page .analytics-card{border-radius:12px;padding:16px}.admin-tasks-page .analytics-card h3{font-size:16px;margin-bottom:16px}.admin-tasks-page .priority-bars{height:200px;padding:15px 10px 50px}.admin-tasks-page .priority-bar-container{max-width:60px}.admin-tasks-page .priority-bar-wrapper{height:120px;margin-bottom:10px;width:38px}.admin-tasks-page .priority-bar-count{font-size:12px}.admin-tasks-page .priority-icon{font-size:14px}.admin-tasks-page .priority-text{font-size:10px}.admin-tasks-page .priority-percentage{font-size:9px;padding:1px 3px}.admin-tasks-page .priority-summary{padding:12px}.admin-tasks-page .summary-label{font-size:12px}.admin-tasks-page .summary-count{font-size:20px}.admin-tasks-page .department-chart{gap:12px}.admin-tasks-page .dept-stat{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.admin-tasks-page .dept-name{font-size:14px;min-width:auto}.admin-tasks-page .dept-name:before{font-size:16px}.admin-tasks-page .dept-count{align-self:flex-start;font-size:14px;min-width:auto}.admin-tasks-page .dept-bar{height:20px;width:100%}.admin-tasks-page .dept-percentage{align-self:flex-end;font-size:13px}.admin-tasks-page .employee-stat-row{gap:12px;grid-template-columns:1fr;padding:14px}.admin-tasks-page .employee-info .emp-name{font-size:14px}.admin-tasks-page .employee-info .emp-dept{font-size:12px}.admin-tasks-page .task-counts{flex-wrap:wrap;gap:8px}.admin-tasks-page .count-badge{font-size:12px;padding:5px 10px}.admin-tasks-page .completion-rate{align-items:stretch;flex-direction:column;gap:8px}.admin-tasks-page .rate-bar{height:10px}.admin-tasks-page .rate-percentage{align-self:flex-end;font-size:14px}.admin-tasks-page .report-view.compact{padding:12px}.admin-tasks-page .report-header-compact{flex-direction:column;gap:12px;padding:12px}.admin-tasks-page .report-title-compact{align-items:flex-start;flex-direction:column;gap:6px;width:100%}.admin-tasks-page .report-title-compact h2{font-size:16px}.admin-tasks-page .report-date-compact{font-size:11px}.admin-tasks-page .report-summary-inline{flex-wrap:wrap;gap:8px;width:100%}.admin-tasks-page .summary-item{flex:1 1;min-width:calc(50% - 4px);padding:8px}.admin-tasks-page .summary-item .summary-number{font-size:16px}.admin-tasks-page .summary-item .summary-label{font-size:9px}.admin-tasks-page .btn-print-compact{font-size:13px;padding:10px 16px;width:100%}.admin-tasks-page .department-report-section{margin-bottom:16px;padding:12px}.admin-tasks-page .department-section-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:8px}.admin-tasks-page .department-section-header h3{font-size:16px}.admin-tasks-page .dept-employee-count{font-size:11px;padding:3px 10px}.admin-tasks-page .department-report-section .employee-reports-grid,.admin-tasks-page .employee-reports-grid{gap:12px;grid-template-columns:1fr}.admin-tasks-page .department-report-section .employee-report-card-compact,.admin-tasks-page .employee-report-card-compact{padding:12px}.admin-tasks-page .employee-header-compact{align-items:flex-start;flex-direction:column;gap:8px}.admin-tasks-page .employee-info-compact{gap:8px}.admin-tasks-page .employee-name-compact h4{font-size:13px}.admin-tasks-page .department-compact{font-size:10px}.admin-tasks-page .metrics-compact{text-align:left;width:100%}.admin-tasks-page .metric-compact{flex-direction:row;justify-content:space-between}.admin-tasks-page .metric-compact .metric-value{font-size:14px}.admin-tasks-page .metric-compact .metric-label{font-size:9px}.admin-tasks-page .status-row-compact{gap:4px}.admin-tasks-page .status-chip{font-size:9px;min-width:30px;padding:3px 6px}.admin-tasks-page .status-chip .count{font-size:11px}.admin-tasks-page .priority-row-compact{gap:3px}.admin-tasks-page .priority-chip{font-size:9px;padding:2px 5px}.admin-tasks-page .priority-chip .priority-icon{font-size:7px}.admin-tasks-page .issues-compact{gap:4px;margin-top:6px}.admin-tasks-page .issue-badge{font-size:8px;padding:2px 5px}.admin-tasks-page .efficiency-section{margin:20px 0;padding:12px}.admin-tasks-page .efficiency-section h3{font-size:16px;margin-bottom:12px}.admin-tasks-page .efficiency-grid{gap:12px;grid-template-columns:1fr}.admin-tasks-page .report-footer-compact{margin-top:16px;padding:12px}.admin-tasks-page .footer-text{font-size:10px}}@media (max-width:480px){.admin-main-content{padding:8px}.content-header{margin:-8px -8px 8px;padding:8px}.content-header h1{font-size:1.1rem}.date-range-btn,.view-btn{font-size:.7rem;padding:6px 8px}.admin-tasks-page .analytics-card{padding:12px}.admin-tasks-page .analytics-card h3{font-size:14px;margin-bottom:12px}.admin-tasks-page .priority-bars{height:180px;padding:12px 8px 40px}.admin-tasks-page .priority-bar-container{max-width:50px}.admin-tasks-page .priority-bar-wrapper{height:100px;margin-bottom:8px;width:32px}.admin-tasks-page .priority-bar-count{font-size:11px}.admin-tasks-page .priority-icon{font-size:12px}.admin-tasks-page .priority-text{font-size:9px}.admin-tasks-page .priority-percentage{font-size:8px}.admin-tasks-page .summary-label{font-size:11px}.admin-tasks-page .summary-count{font-size:18px}.admin-tasks-page .dept-stat{padding:10px}.admin-tasks-page .dept-count,.admin-tasks-page .dept-name{font-size:13px}.admin-tasks-page .dept-percentage{font-size:12px}.admin-tasks-page .employee-stat-row{padding:12px}.admin-tasks-page .employee-info .emp-name{font-size:13px}.admin-tasks-page .employee-info .emp-dept{font-size:11px}.admin-tasks-page .count-badge{font-size:11px;padding:4px 8px}.admin-tasks-page .report-view.compact{padding:10px}.admin-tasks-page .report-header-compact{gap:10px;padding:10px}.admin-tasks-page .report-title-compact h2{font-size:14px}.admin-tasks-page .report-date-compact{font-size:10px;padding:3px 6px}.admin-tasks-page .summary-item{padding:6px}.admin-tasks-page .summary-item .summary-number{font-size:14px}.admin-tasks-page .summary-item .summary-label{font-size:8px}.admin-tasks-page .btn-print-compact{font-size:12px;padding:8px 12px}.admin-tasks-page .department-report-section{padding:10px}.admin-tasks-page .department-section-header h3{font-size:14px}.admin-tasks-page .dept-employee-count{font-size:10px;padding:2px 8px}.admin-tasks-page .department-report-section .employee-report-card-compact,.admin-tasks-page .employee-report-card-compact{padding:10px}.admin-tasks-page .employee-name-compact h4{font-size:12px}.admin-tasks-page .department-compact{font-size:9px}.admin-tasks-page .metric-compact .metric-value{font-size:13px}.admin-tasks-page .metric-compact .metric-label{font-size:8px}.admin-tasks-page .status-chip{font-size:8px;padding:2px 5px}.admin-tasks-page .status-chip .count{font-size:10px}.admin-tasks-page .priority-chip{font-size:8px;padding:2px 4px}.admin-tasks-page .issue-badge{font-size:7px;padding:1px 4px}.admin-tasks-page .efficiency-section{padding:10px}.admin-tasks-page .efficiency-section h3{font-size:14px}.admin-tasks-page .footer-text{font-size:9px}}.team-requests-page{margin:0 auto;max-width:1400px;padding:24px}.team-requests-header{margin-bottom:32px}.team-requests-header h1{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:8px}.team-requests-header p{color:#64748b;font-size:14px}.team-requests-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.team-requests-empty{padding:80px 20px;text-align:center}.team-requests-empty p{color:#64748b;font-size:16px}.team-task-list{display:flex;flex-direction:column;gap:0}.team-task-card{border-bottom:1px solid #e2e8f0;padding:20px 24px;transition:background-color .2s}.team-task-card:last-child{border-bottom:none}.team-task-card:hover{background-color:#f8fafc}.team-task-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.team-task-title{color:#1e293b;font-size:16px;font-weight:600;margin:0}.team-status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px}.team-status-badge.requested{background-color:#dbeafe;color:#1e40af}.team-status-badge.in_progress{background-color:#fef3c7;color:#92400e}.team-status-badge.completed{background-color:#d1fae5;color:#065f46}.team-status-badge.problem{background-color:#fee2e2;color:#991b1b}.team-status-badge.cancelled{background-color:#e5e7eb;color:#4b5563}.team-task-body{margin-bottom:16px}.team-task-description{color:#475569;font-size:14px;line-height:1.6;margin-bottom:16px}.team-task-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:12px}.team-meta-item{align-items:center;color:#64748b;display:flex;font-size:13px}.team-meta-item strong{color:#334155;font-weight:600;margin-right:6px}.team-task-actions{display:flex;gap:8px;justify-content:flex-end}.btn-team-assign{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-team-assign:hover{background-color:#2563eb;box-shadow:0 4px 6px #2563eb33;transform:translateY(-1px)}.team-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.team-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.team-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 24px 16px}.team-modal-header h2{color:#1e293b;font-size:20px;font-weight:700;margin:0}.team-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;transition:all .2s;width:32px}.team-close-btn:hover{background-color:#f1f5f9;color:#64748b}.team-modal-body{padding:24px}.team-form-group{margin-bottom:20px}.team-form-group:last-child{margin-bottom:0}.team-form-group label{color:#334155;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.team-task-display{color:#1e293b;font-size:15px;font-weight:500}.team-current-assignee{color:#475569;font-size:14px}.team-form-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.team-form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.team-members-list{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:300px;overflow-y:auto;padding:8px}.team-member-checkbox{background-color:#fff;border-radius:6px;margin-bottom:4px;padding:8px 12px;transition:all .2s}.team-member-checkbox:hover{background-color:#f1f5f9}.team-member-checkbox label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.team-member-checkbox input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;margin-right:12px;width:18px}.team-member-name{color:#334155;font-size:14px}.team-selected-count{background-color:#dbeafe;border-radius:6px;color:#1e40af;font-size:13px;font-weight:600;margin-top:12px;padding:8px 12px;text-align:center}.team-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-team-secondary{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-team-secondary:hover{background-color:#f8fafc;border-color:#94a3b8}.btn-team-primary{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-team-primary:hover{background-color:#2563eb;box-shadow:0 4px 6px #2563eb33}.team-loading{align-items:center;color:#64748b;display:flex;font-size:16px;justify-content:center;min-height:400px}@media (max-width:768px){.team-requests-page{padding:16px}.team-requests-header h1{font-size:24px}.team-task-meta{grid-template-columns:1fr}.team-modal-content{width:95%}}.log-filters{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:20px;margin-bottom:24px;padding:16px}.filter-group{gap:4px}.filter-group label{color:#64748b;font-size:12px;font-weight:500}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:120px;padding:8px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.logs-list{display:flex;flex-direction:column;gap:12px}.log-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease}.log-item:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.log-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.log-action{align-items:center;display:flex;gap:12px}.action-badge{border-radius:4px;color:#fff;font-weight:500;padding:4px 8px;text-transform:uppercase}.log-task-title{color:#1f2937;font-weight:500}.log-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.log-user{background:#ede9fe;border-radius:12px;color:#4f46e5;font-size:12px;font-weight:500;padding:2px 8px}.log-date{color:#6b7280;font-size:12px}.log-details{background:#f8fafc;border-radius:6px;margin-top:8px;padding:12px}.log-changes{display:flex;flex-direction:column;gap:8px}.change-item{align-items:center;display:flex;font-size:14px;gap:8px}.change-item strong{color:#374151;min-width:80px}.change-from{background:#fee2e2;border-radius:4px;color:#dc2626;font-size:12px;padding:2px 6px}.change-arrow{color:#6b7280;font-weight:700}.change-to{background:#dcfce7;border-radius:4px;color:#16a34a;font-size:12px;padding:2px 6px}.deleted-task-info{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:8px;padding:12px}.deleted-task-info div{color:#7f1d1d;font-size:13px;line-height:1.4;margin-bottom:6px}.deleted-task-info div:last-child{margin-bottom:0}.deleted-task-info div:first-child{color:#991b1b;font-weight:600}.log-technical{border-top:1px solid #f1f5f9;margin-top:8px;padding-top:8px}.log-technical small{color:#94a3b8;font-size:11px}.empty-logs{color:#6b7280;padding:40px;text-align:center}.error-message{margin-bottom:24px;padding:16px}.error-message p{color:#dc2626;margin-bottom:12px}.error-message button{border-radius:6px;padding:8px 16px}.error-message button:hover{background:#b91c1c}.pagination{margin-top:32px;padding:16px}.pagination-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s ease}.pagination-btn:hover:not(:disabled){background:#2563eb}.pagination-btn:disabled{background:#d1d5db;cursor:not-allowed}.pagination-info{color:#6b7280;font-size:14px}.page-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px}@media (max-width:768px){.log-filters{align-items:stretch;flex-direction:column;gap:12px}.log-header{flex-direction:column;gap:8px}.change-item,.log-meta{align-items:flex-start}.change-item{flex-direction:column;gap:4px}.pagination{flex-direction:column;gap:12px}}.admin-users-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{border-bottom:2px solid #e9ecef;margin-bottom:20px;padding-bottom:15px}.header-actions{align-items:center;display:flex;gap:12px}.page-header h1{color:#2c3e50}.create-btn{background:#007bff;font-size:14px;padding:12px 20px;transition:background-color .2s}.create-btn:hover{background:#0056b3}.excel-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background-color .2s}.excel-btn:hover{background:#218838}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.loading{color:#6c757d}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-top:20px;overflow:hidden}.users-table{border-collapse:collapse;font-size:14px;width:100%}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table thead th{font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.users-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.users-table tbody tr:hover{background-color:#f8f9fa}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody td{color:#495057;padding:14px 12px;vertical-align:middle}.user-name-cell{align-items:center;display:flex;gap:12px}.user-name-cell .profile-image-container{align-items:center;display:flex;gap:0}.user-name-cell .profile-image{box-shadow:0 1px 3px #0000001a;flex-shrink:0}.user-name-cell .profile-image:hover{box-shadow:0 1px 3px #0000001a;transform:none}.user-name-text{color:#2c3e50;font-weight:600;white-space:nowrap}.username-cell{color:#6c757d;font-family:Courier New,monospace;white-space:nowrap}.email-cell{color:#495057;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:#6c757d;font-size:13px;white-space:nowrap}.admin-toggle-btn-small{border:none;border-radius:16px;cursor:pointer;font-size:11px;font-weight:600;min-width:75px;padding:6px 12px;text-align:center;transition:all .2s ease;white-space:nowrap}.admin-toggle-btn-small.admin-active{background:linear-gradient(135deg,gold,#ff8c00);box-shadow:0 2px 6px #ff8c0040;color:#fff}.admin-toggle-btn-small.admin-active:hover{background:linear-gradient(135deg,#ff8c00,#ff6b00);box-shadow:0 3px 8px #ff8c0059;transform:translateY(-1px)}.admin-toggle-btn-small.admin-inactive{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 2px 6px #6c757d40;color:#fff}.admin-toggle-btn-small.admin-inactive:hover{background:linear-gradient(135deg,#495057,#343a40);box-shadow:0 3px 8px #6c757d59;transform:translateY(-1px)}.action-buttons-table{display:flex;gap:6px;justify-content:center}.delete-btn-small,.edit-btn-small{align-items:center;background:none;border:2px solid;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;padding:6px 10px;transition:all .2s ease}.edit-btn-small{border-color:#007bff;color:#007bff}.edit-btn-small:hover{background:#007bff;color:#fff;transform:translateY(-1px)}.delete-btn-small{border-color:#dc3545;color:#dc3545}.delete-btn-small:hover{background:#dc3545;color:#fff;transform:translateY(-1px)}.users-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:20px}.user-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.user-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.user-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.user-card-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;font-weight:600;height:50px;text-transform:uppercase;width:50px}.user-main-info{flex:1 1}.user-name{color:#2c3e50;font-size:18px;margin:0}.user-username{color:#6c757d;font-size:14px;margin:2px 0 0}.user-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.user-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:#6c757d;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#495057;font-size:14px}.user-card-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding-top:16px}.delete-btn,.edit-btn{align-items:center;background:none;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.edit-btn{border-color:#007bff;color:#007bff}.edit-btn:hover{background:#007bff;color:#fff;transform:translateY(-1px)}.delete-btn{border-color:#dc3545;color:#dc3545}.delete-btn:hover{background:#dc3545;color:#fff;transform:translateY(-1px)}.no-users{color:#6c757d;font-size:16px;padding:40px;text-align:center}.modal{box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:90vw;width:600px}.modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:20px 25px}.modal-header h2{color:#2c3e50;font-size:20px}.close-btn{color:#6c757d;font-size:24px;height:30px;padding:0;transition:background-color .2s;width:30px}.close-btn:hover{background:#e9ecef;color:#495057}.user-form{padding:25px}.form-row{display:flex;gap:15px;margin-bottom:20px}.form-group{flex:1 1}.form-group label{color:#495057}.form-group input,.form-group select{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input::placeholder{color:#adb5bd}.form-actions{border-top:1px solid #e9ecef;margin-top:30px}.form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s}.form-actions button[type=button]{background:#6c757d;color:#fff}.form-actions button[type=button]:hover{background:#545b62}.form-actions button[type=submit]{background:#28a745;color:#fff}.form-actions button[type=submit]:hover{background:#218838}@media (max-width:1200px){.users-table{font-size:13px}.users-table thead th{font-size:12px;padding:12px 8px}.users-table tbody td{padding:12px 8px}}@media (max-width:768px){.admin-users-page{padding:10px}.page-header{flex-direction:column;gap:15px;text-align:center}.users-table-container{border-radius:8px;overflow-x:auto}.users-table{font-size:12px;min-width:800px}.users-table thead th{font-size:11px;padding:10px 6px}.users-table tbody td{padding:10px 6px}.user-name-text{font-size:13px}.form-row{flex-direction:column;gap:10px}.modal{width:95vw}.no-users{font-size:14px;padding:30px 20px}}.excel-upload-content{padding:20px 0}.upload-section{border-bottom:1px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.upload-section:last-child{border-bottom:none;margin-bottom:0}.upload-section h3{color:#2c3e50;font-size:18px;margin-bottom:10px}.upload-section p{color:#6c757d;margin-bottom:15px}.template-btn{background:#17a2b8;font-size:14px;margin-bottom:20px;padding:10px 16px;transition:background-color .2s}.template-btn:hover{background:#138496}.template-info{background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:6px;padding:15px}.template-info h4{color:#495057;font-size:14px;margin-bottom:10px}.template-info ul{margin:0;padding-left:20px}.template-info li{color:#6c757d;font-size:13px;margin-bottom:5px}.template-info strong{color:#495057}.file-upload{display:inline-block;position:relative}.file-upload input[type=file]{left:-9999px;position:absolute}.file-upload-label{background:#007bff;border-radius:6px;color:#fff;display:inline-block;font-size:14px;padding:12px 20px;transition:background-color .2s}.file-upload-label:hover{background:#0056b3}.file-upload-label.uploading{background:#6c757d;cursor:not-allowed}.upload-result{border-radius:6px;padding:15px}.upload-result.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.upload-result.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.upload-result h3{font-size:16px;margin:0 0 10px}.upload-result p{font-size:14px;margin:0}.result-details{border-top:1px solid #0000001a;margin-top:15px;padding-top:15px}.result-details h4{font-size:14px;font-weight:600;margin:0 0 10px}.result-details ul{margin:0;max-height:200px;overflow-y:auto;padding-left:20px}.result-details li{font-size:13px;margin-bottom:5px}.success-item{color:#155724}.error-item{color:#721c24}.admin-toggle-btn{border:none;border-radius:20px;cursor:pointer;font-size:12px;font-weight:600;min-width:80px;padding:6px 12px;text-align:center;transition:all .3s ease}.admin-toggle-btn.admin-active{background:linear-gradient(135deg,gold,#ff8c00);box-shadow:0 2px 8px #ff8c004d;color:#fff}.admin-toggle-btn.admin-active:hover{background:linear-gradient(135deg,#ff8c00,#ff6b00);box-shadow:0 4px 12px #ff8c0066;transform:translateY(-1px)}.admin-toggle-btn.admin-inactive{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 2px 8px #6c757d4d;color:#fff}.admin-toggle-btn.admin-inactive:hover{background:linear-gradient(135deg,#495057,#343a40);box-shadow:0 4px 12px #6c757d66;transform:translateY(-1px)}.tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:24px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s}.tab:hover{background:#f8fafc;color:#334155}.tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.departments-section{padding:20px 0}.departments-section h2{color:#1e293b;font-size:1.5rem;margin-bottom:20px}.departments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.department-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .2s}.department-card:hover{box-shadow:0 4px 12px #00000026}.department-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.department-header h3{color:#1e293b;font-size:1.2rem;margin:0}.department-code{background:#e0e7ff;border-radius:12px;color:#3730a3;font-size:.85rem;font-weight:600;padding:4px 12px}.department-manager{margin-bottom:16px}.manager-info{align-items:center;display:flex;gap:12px;margin-bottom:12px}.manager-info .label{color:#64748b;font-size:.9rem;font-weight:600}.manager-info .value{color:#1e293b;font-weight:500}.manager-edit{align-items:center;display:flex;gap:8px;margin-top:8px}.manager-edit select{border:1px solid #cbd5e1;border-radius:6px;flex:1 1;font-size:.9rem;padding:8px 12px}.edit-manager-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background .2s}.edit-manager-btn:hover{background:#2563eb}.cancel-btn-small{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background .2s}.cancel-btn-small:hover{background:#dc2626}.department-members{border-top:1px solid #e2e8f0;padding-top:12px}.members-count{color:#64748b;font-size:.9rem}.no-departments{color:#64748b;font-size:1.1rem;padding:40px;text-align:center}.select-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.select-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;width:600px}.select-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.select-modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.select-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.select-modal-close:hover{background-color:#e9ecef;color:#495057}.select-modal-body{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:20px 24px}.search-section{margin-bottom:16px}.search-input{border:1px solid #ddd;border-radius:4px;padding:10px 12px}.search-input:focus{box-shadow:0 0 0 2px #007bff40}.items-list{border:1px solid #dee2e6;border-radius:4px;flex:1 1;max-height:300px;min-height:200px;overflow-y:auto}.loading,.no-items{color:#6c757d;font-size:14px;padding:40px 20px;text-align:center}.item-row{align-items:center;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;padding:12px 16px;transition:background-color .2s ease}.item-row:last-child{border-bottom:none}.item-row:hover{background-color:#f8f9fa}.item-row.selected{background-color:#e7f3ff;border-color:#007bff}.item-info{align-items:center;display:flex;gap:8px}.item-code{color:#007bff;font-size:13px;font-weight:500}.item-name{color:#495057;font-size:14px}.item-extra{color:#6c757d;font-size:12px;margin-left:8px}.selected-info{background-color:#e8f5e8;border:1px solid #28a745;border-radius:4px;color:#155724;font-size:14px;margin-top:16px;padding:12px}.select-modal-footer{background-color:#f8f9fa;border-radius:0 0 8px 8px;border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn{border-radius:4px;justify-content:center;min-height:36px;text-decoration:none;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#545b62}@media (max-width:768px){.select-modal{margin:20px;width:95vw}.select-modal-body,.select-modal-footer,.select-modal-header{padding:16px}}.logistics-page{margin:0 auto}.logistics-page-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.logistics-page-header h1{color:#1e3c72;font-size:2rem;font-weight:700;margin:0}.logistics-btn-primary{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;box-shadow:0 4px 12px #1e3c724d;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.logistics-btn-primary:hover{box-shadow:0 6px 20px #1e3c7266;transform:translateY(-2px)}.logistics-view-tabs{gap:8px;margin-bottom:16px;width:-webkit-fit-content;width:fit-content}.logistics-type-filter-tabs,.logistics-view-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;padding:4px}.logistics-type-filter-tabs{gap:4px;margin-bottom:24px;overflow-x:auto;scrollbar-width:thin}.logistics-type-filter-tabs::-webkit-scrollbar{height:4px}.logistics-type-filter-tabs::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}.logistics-type-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-weight:500;gap:6px;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.logistics-type-tab:hover{background:#4299e11a;color:#2b6cb0}.logistics-type-tab.active{background:#3182ce;background:var(--tab-color,#3182ce);box-shadow:0 2px 4px #0000001a;color:#fff}.logistics-type-tab:first-child{--tab-color:#3182ce}.logistics-tab-icon{font-size:14px}.logistics-tab-label{font-size:13px;font-weight:600}.logistics-header-actions{align-items:center;display:flex;gap:16px}.logistics-view-toggle{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.logistics-toggle-btn{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.logistics-toggle-btn:hover{background:#1e3c721a;color:#1e3c72}.logistics-toggle-btn.active{background:#1e3c72;color:#fff}.logistics-tabs-container{margin-bottom:30px}.logistics-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:8px;padding:4px}.logistics-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.logistics-tab:hover{background:#1e3c721a;color:#1e3c72}.logistics-tab.active{background:#1e3c72;box-shadow:0 2px 8px #1e3c724d;color:#fff}.exceptions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.logistics-calendar-view{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:24px}.logistics-calendar-grid{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.logistics-calendar-header{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding-bottom:16px}.logistics-calendar-nav{align-items:center;display:flex;gap:20px;justify-content:center}.logistics-calendar-header h3{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0}.logistics-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.logistics-legend-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:6px}.logistics-legend-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.logistics-legend-dot.outbound{background:#ff9800}.logistics-legend-dot.missing{background:#f44336}.logistics-legend-dot.complaint{background:#9c27b0}.calendar{display:flex;flex-direction:column}.logistics-calendar-weekdays{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.logistics-weekday{background:#f8fafc;border-radius:6px;color:#6b7280;font-weight:600;padding:12px;text-align:center}.logistics-calendar-days{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.logistics-calendar-day{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;min-height:80px;padding:8px;position:relative;transition:all .2s ease}.logistics-calendar-day:hover{background:#f8fafc;border-color:#1e3c72}.logistics-calendar-day.today{background:#1e3c721a;border-color:#1e3c72;font-weight:600}.logistics-calendar-day.other-month{background:#f8fafc;color:#9ca3af}.logistics-calendar-day.other-month .logistics-day-number{color:#9ca3af}.logistics-calendar-day.has-exceptions{background:#1e3c720d;cursor:pointer}.logistics-calendar-day.has-exceptions:hover{background:#1e3c721a;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.logistics-calendar-day.empty{background:#0000;border:none;cursor:default}.logistics-day-number{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:4px}.logistics-day-exceptions{display:flex;flex-wrap:wrap;gap:2px;margin-top:auto}.logistics-exception-dot{align-items:center;border-radius:8px;color:#fff;display:flex;font-size:.7rem;font-weight:600;height:16px;justify-content:center;min-width:16px;text-align:center}.logistics-exception-dot.outbound{background:#ff9800}.logistics-exception-dot.missing{background:#f44336}.logistics-exception-dot.complaint{background:#9c27b0}.logistics-exception-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;height:-webkit-fit-content;height:fit-content;padding:16px;transition:all .2s ease}.logistics-exception-card:hover{border-color:#1e3c72;box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}.logistics-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.logistics-card-badges{display:flex;flex-wrap:wrap;gap:6px}.logistics-card-date{color:#6b7280;flex-shrink:0;font-size:.75rem;margin-left:8px}.logistics-card-content{display:flex;flex-direction:column;gap:10px}.logistics-card-title{color:#1e3c72;font-size:.9rem;font-weight:600;line-height:1.3;margin:0}.logistics-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4b5563;display:-webkit-box;font-size:.8rem;line-height:1.4;margin:0;overflow:hidden}.logistics-card-details{display:flex;flex-direction:column;gap:6px;margin-top:4px}.logistics-detail-item{align-items:center;display:flex;font-size:.75rem;gap:8px;justify-content:space-between}.logistics-detail-label{color:#6b7280;flex-shrink:0;font-weight:500}.logistics-detail-value{color:#374151;font-weight:500;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.logistics-status-badge,.logistics-type-badge{border-radius:12px;font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.logistics-type-outbound_error{background:#ff98001a;border:1px solid #ff98004d;color:#ff9800}.logistics-type-missing_shipment{background:#f443361a;border:1px solid #f443364d;color:#f44336}.logistics-type-complaint{background:#9c27b01a;border:1px solid #9c27b04d;color:#9c27b0}.logistics-status-reported{background:#ffc1071a;border:1px solid #ffc1074d;color:#ffc107}.logistics-status-in_progress{background:#2196f31a;border:1px solid #2196f34d;color:#2196f3}.logistics-status-resolved{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.logistics-modal-overlay{background:#00000080;padding:20px}.logistics-modal{max-width:600px;width:100%}.logistics-modal-header{flex-shrink:0;margin-bottom:20px;padding:24px 24px 0}.logistics-modal-actions{align-items:center;display:flex;gap:12px}.logistics-cancel-btn,.logistics-edit-btn,.logistics-save-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:6px 12px;transition:all .2s ease}.logistics-edit-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.logistics-edit-btn:hover{background:#e5e7eb}.logistics-save-btn{background:#10b981;color:#fff}.logistics-save-btn:hover{background:#059669}.logistics-cancel-btn{background:#ef4444;color:#fff}.logistics-cancel-btn:hover{background:#dc2626}.logistics-modal-header h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0}.logistics-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.logistics-close-btn:hover{background:#f3f4f6;color:#374151}.logistics-exception-form{flex:1 1;overflow-y:auto;padding:0 24px 24px}.logistics-form-group{margin-bottom:20px}.logistics-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.logistics-form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600}.logistics-form-group input,.logistics-form-group select,.logistics-form-group textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.875rem;transition:border-color .2s;width:100%}.logistics-form-group input:focus,.logistics-form-group select:focus,.logistics-form-group textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a}.logistics-form-group input[type=date]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M6.75 13.5h.008v.008H6.75V13.5zm2.25 0h.008v.008H9V13.5zm2.25 0h.008v.008h-.008V13.5zm2.25 0h.008v.008H13.5V13.5zm2.25 0h.008v.008h-.008V13.5zm2.25 0h.008v.008H18V13.5zM7.5 15.75h.008v.008H6.75v-.008zm2.25 0h.008v.008H9v-.008zm2.25 0h.008v.008H12v-.008zm2.25 0h.008v.008H13.5v-.008zm2.25 0h.008v.008H16.5v-.008zm2.25 0h.008v.008H18v-.008zm-12 3.75V15m0 0V9.75m0 5.25 9 .75m-9-6L15 9m-8.25 6.75v-4.5m0 0v-1.5m0 5.25 9 .75'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding:10px 40px 10px 12px;position:relative}.logistics-form-group input[type=date]::-webkit-calendar-picker-indicator{background:#0000;color:#0000;cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.logistics-form-group input[type=date]:hover{background-color:#f8fafc;border-color:#1e3c72}.logistics-form-group input[type=date]:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.logistics-form-actions{border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.logistics-form-actions button{border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.logistics-form-actions button[type=button]{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.logistics-form-actions button[type=button]:hover{background:#f3f4f6}.logistics-date-modal-content{flex:1 1;overflow-y:auto;padding:0 24px 24px}.logistics-date-summary{background:#f8fafc;border-radius:8px;margin-bottom:20px;padding:12px}.summary-stats-compact{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.logistics-stat-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001a;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:6px;padding:6px 12px}.logistics-stat-chip.outbound{background:#ff98000d;border-color:#ff98004d}.logistics-stat-chip.missing{background:#f443360d;border-color:#f443364d}.logistics-stat-chip.complaint{background:#9c27b00d;border-color:#9c27b04d}.logistics-stat-icon{font-size:.75rem}.logistics-stat-text{white-space:nowrap}.logistics-stat-item{align-items:center;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:60px;padding:8px 12px}.logistics-stat-item.outbound{background:#ff98001a;border:1px solid #ff98004d}.logistics-stat-item.missing{background:#f443361a;border:1px solid #f443364d}.logistics-stat-item.complaint{background:#9c27b01a;border:1px solid #9c27b04d}.logistics-stat-label{color:#6b7280;font-size:.75rem;font-weight:500}.logistics-stat-count{color:#1e3c72;font-size:1.25rem;font-weight:700}.logistics-date-exceptions-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.logistics-mini-exception-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;transition:all .2s ease}.logistics-mini-exception-card:hover{border-color:#1e3c72;box-shadow:0 2px 8px #0000001a}.logistics-mini-card-header{display:flex;gap:6px;margin-bottom:8px}.logistics-mini-card-content h5{color:#1e3c72;font-size:.875rem;font-weight:600;margin:0 0 6px}.logistics-mini-card-content p{color:#4b5563;font-size:.8rem;line-height:1.4;margin:0 0 8px}.logistics-mini-details{color:#6b7280;display:flex;flex-direction:column;font-size:.75rem;gap:4px}.logistics-mini-exception-card.clickable{cursor:pointer}.logistics-day-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:85vh;max-width:1200px;overflow:hidden;width:90%}.logistics-day-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.logistics-day-modal-date{align-items:center;display:flex;gap:12px}.logistics-day-modal-icon{font-size:28px}.logistics-day-modal-date h2{align-items:baseline;display:flex;gap:8px;margin:0}.logistics-day-modal-year{font-size:18px;opacity:.9}.logistics-day-modal-month-day{font-size:28px;font-weight:700}.logistics-day-modal-stats{background:#f8f9fa;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;overflow-x:auto;padding:20px 32px}.logistics-day-stat-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;min-width:100px;padding:12px 20px;transition:all .3s ease}.logistics-day-stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.logistics-day-stat-card.type-wrong_shipping{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ff9800}.logistics-day-stat-card.type-missing_shipping{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336}.logistics-day-stat-card.type-complaint{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-color:#9c27b0}.logistics-day-stat-card.type-damage{background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-color:#e91e63}.logistics-day-stat-card.type-quality{background:linear-gradient(135deg,#ede7f6,#d1c4e9);border-color:#673ab7}.logistics-day-stat-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.logistics-day-stat-value{color:#1e3c72;font-size:24px;font-weight:700;margin-top:4px}.logistics-day-modal-body{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:24px 32px}.logistics-day-cards-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.logistics-day-exception-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:280px;overflow:hidden;transition:all .3s ease}.logistics-day-exception-card:hover{border-color:#667eea;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.logistics-day-card-header{align-items:center;background:linear-gradient(135deg,#f6f8fb,#e9ecef);border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.logistics-day-card-number{background:#fff;border:2px solid #667eea;border-radius:20px;color:#667eea;font-size:14px;font-weight:700;padding:4px 10px}.logistics-day-card-body{display:flex;flex:1 1;flex-direction:column;padding:20px}.logistics-day-card-info{display:flex;flex-direction:column;gap:12px}.logistics-day-info-row{align-items:center;display:flex;gap:12px}.logistics-day-info-label{color:#6b7280;font-size:13px;font-weight:600;min-width:80px}.logistics-day-info-value{background:#f6f8fb;border-radius:6px;color:#1e3c72;flex:1 1;font-size:12px;font-weight:500;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.logistics-day-card-footer{background:#f6f8fb;border-top:1px solid #e2e8f0;padding:16px 20px}.logistics-day-detail-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .3s ease;width:100%}.logistics-day-detail-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.logistics-day-btn-arrow{font-size:16px;transition:transform .3s ease}.logistics-day-detail-btn:hover .logistics-day-btn-arrow{transform:translateX(4px)}.logistics-day-no-data{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 20px;text-align:center}.logistics-day-no-data-icon{font-size:64px;opacity:.5}.logistics-day-no-data p{color:#6b7280;font-size:16px;margin:0;transition:all .2s ease}.logistics-mini-exception-card.clickable:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.logistics-mini-exception-card.clickable:hover .logistics-mini-card-header .logistics-type-outbound_error{border-color:#ff9800;box-shadow:0 2px 4px #ff98004d}.logistics-mini-exception-card.clickable:hover .logistics-mini-card-header .logistics-type-missing_shipment{border-color:#f44336;box-shadow:0 2px 4px #f443364d}.logistics-mini-exception-card.clickable:hover .logistics-mini-card-header .logistics-type-complaint{border-color:#9c27b0;box-shadow:0 2px 4px #9c27b04d}.logistics-detail-indicator{color:#6b7280;font-size:.7rem;font-weight:500;margin-left:auto;transition:color .2s ease}.logistics-mini-exception-card:hover .logistics-detail-indicator{color:#1e3c72}.logistics-detail-modal{display:flex;flex-direction:column;max-height:90vh;max-width:700px}.logistics-detail-modal-content{flex:1 1;overflow-y:auto;padding:0 24px 24px}.complaint-details{display:flex;flex-direction:column;gap:24px}.logistics-detail-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.logistics-detail-section h3{color:#1e3c72;font-size:1.1rem;font-weight:600;margin:0 0 12px}.logistics-detail-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.logistics-detail-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.logistics-detail-row:last-child{border-bottom:none}.logistics-detail-row .label{color:#6b7280;flex-shrink:0;font-weight:500}.logistics-detail-row .value{color:#374151;font-weight:500;text-align:right}.description-box,.reason-box{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#374151;font-size:.9rem;line-height:1.5;padding:12px}.logistics-edit-form{display:flex;flex-direction:column;gap:16px}.logistics-edit-row{display:flex;flex-direction:column;gap:6px}.logistics-edit-row label{color:#374151;font-size:.875rem;font-weight:500}.logistics-edit-row input,.logistics-edit-row select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:8px 12px;transition:border-color .2s}.logistics-edit-row input:focus,.logistics-edit-row select:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a;outline:none}.logistics-edit-textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.9rem;line-height:1.5;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.logistics-edit-textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a;outline:none}.logistics-comments-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.logistics-comments-list{padding:12px}.logistics-comment-item{border-bottom:1px solid #f3f4f6;padding:12px 0}.logistics-comment-item:last-child{border-bottom:none}.logistics-comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.logistics-comment-author{color:#1e3c72;font-size:.875rem;font-weight:600}.logistics-comment-time{color:#6b7280;font-size:.75rem}.logistics-delete-comment-btn{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;font-size:.75rem;padding:2px 6px;transition:background-color .2s}.logistics-delete-comment-btn:hover{background:#fef2f2}.logistics-comment-text{color:#374151;font-size:.875rem;line-height:1.5}.logistics-no-comments{color:#9ca3af;font-style:italic;padding:20px;text-align:center}.logistics-comment-input{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px}.logistics-comment-input textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;margin-bottom:8px;min-height:60px;padding:8px 12px;resize:vertical;width:100%}.logistics-comment-input textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a;outline:none}.logistics-add-comment-btn{background:#1e3c72;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.logistics-add-comment-btn:hover:not(:disabled){background:#2a5298}.logistics-add-comment-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.logistics-page{padding:12px}.logistics-page-header{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:20px;padding-bottom:16px}.logistics-page-header h1{font-size:1.5rem}.logistics-header-actions{flex-direction:column;gap:10px;width:100%}.logistics-view-toggle{width:100%}.logistics-toggle-btn{flex:1 1;font-size:.85rem;padding:10px 14px}.logistics-btn-primary{font-size:.95rem;padding:12px 20px;width:100%}.logistics-type-filter-tabs{margin-bottom:16px;padding:3px}.logistics-type-tab{font-size:.85rem;padding:8px 10px}.logistics-tab-icon{font-size:13px}.logistics-tab-label{font-size:12px}.logistics-filters-section{margin-bottom:16px;padding:14px}.logistics-search-filters{flex-direction:column;gap:10px}.logistics-filter-select,.logistics-search-input{min-width:100%;width:100%}.exceptions-grid{gap:12px;grid-template-columns:1fr}.logistics-exception-card{padding:14px}.logistics-card-header{align-items:flex-start;flex-direction:column;gap:10px}.logistics-card-date{font-size:.85rem;margin-left:0}.logistics-card-title{font-size:.95rem}.logistics-card-body{padding:12px 0}.logistics-card-info-item{font-size:.85rem;padding:8px 0}.logistics-calendar-view{padding:12px}.logistics-calendar-header{align-items:flex-start;flex-direction:column;gap:10px}.logistics-calendar-legend{flex-wrap:wrap;gap:6px}.logistics-calendar-legend-item{font-size:.8rem}.logistics-calendar-day{font-size:.75rem;min-height:70px;padding:6px 4px}.logistics-day-number{font-size:.85rem}.summary-stats-compact{gap:4px}.logistics-stat-chip{font-size:.7rem;padding:3px 6px}.logistics-stat-icon{font-size:.65rem}.logistics-detail-modal{margin:10px;max-height:90vh;max-width:95vw}.logistics-modal-header h2{font-size:1.3rem}.logistics-detail-grid{gap:12px;grid-template-columns:1fr}.logistics-detail-item label{font-size:.8rem}.logistics-detail-item .value{font-size:.9rem}.logistics-comment-header{align-items:flex-start;flex-direction:column;gap:6px}.logistics-delete-comment-btn{align-self:flex-end}.logistics-form-row{gap:14px;grid-template-columns:1fr}.logistics-form-group label{font-size:.9rem}.logistics-form-group input,.logistics-form-group select,.logistics-form-group textarea{font-size:.9rem;padding:10px}.logistics-form-actions{flex-direction:column;gap:10px}.logistics-form-actions button{padding:12px;width:100%}.logistics-select-field{align-items:stretch;flex-direction:column}.logistics-select-btn{border-radius:0 0 4px 4px;margin-top:-1px;padding:10px}.logistics-selected-value{font-size:.9rem;padding:10px}}@media (max-width:480px){.logistics-page{padding:8px}.logistics-page-header{gap:12px;margin-bottom:16px;padding-bottom:12px}.logistics-page-header h1{font-size:1.3rem}.logistics-header-actions{gap:8px}.logistics-toggle-btn{font-size:.8rem;padding:8px 12px}.logistics-btn-primary{font-size:.9rem;padding:10px 16px}.logistics-type-filter-tabs{margin-bottom:12px;padding:2px}.logistics-type-tab{font-size:.8rem;padding:6px 8px}.logistics-tab-icon{font-size:12px}.logistics-tab-label{font-size:11px}.logistics-filters-section{margin-bottom:12px;padding:12px}.logistics-search-filters{gap:8px}.logistics-filter-select,.logistics-search-input{font-size:.85rem;padding:8px 10px}.exceptions-grid{gap:10px}.logistics-exception-card{padding:12px}.logistics-card-header{gap:8px}.logistics-card-date{font-size:.8rem}.logistics-card-title{font-size:.9rem}.logistics-card-body{padding:10px 0}.logistics-card-info-item{font-size:.8rem;padding:6px 0}.logistics-card-actions{gap:6px}.logistics-card-actions button{font-size:.8rem;padding:6px 10px}.logistics-calendar-view{padding:10px}.logistics-calendar-header{gap:8px}.logistics-calendar-legend{gap:4px}.logistics-calendar-legend-item{font-size:.75rem;padding:4px 6px}.logistics-calendar-day{font-size:.7rem;min-height:60px;padding:4px 2px}.logistics-day-number{font-size:.8rem}.summary-stats-compact{gap:3px}.logistics-stat-chip{font-size:.65rem;padding:2px 4px}.logistics-detail-modal{margin:5px;max-width:98vw}.logistics-modal-header h2{font-size:1.2rem}.logistics-modal-close{font-size:1.2rem;height:28px;width:28px}.logistics-detail-grid{gap:10px}.logistics-detail-item label{font-size:.75rem}.logistics-detail-item .value{font-size:.85rem}.logistics-form-row{gap:12px}.logistics-form-actions{gap:8px}.logistics-form-actions button{font-size:.85rem;padding:10px}.logistics-select-btn,.logistics-selected-value{font-size:.85rem;padding:8px}.exceptions-table-container{background:#0000;box-shadow:none;overflow-x:visible}.exceptions-table{display:block;min-width:0}.exceptions-table thead{display:none}.exceptions-table tbody{display:block}.exceptions-table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 6px #0000001a;display:block;margin-bottom:12px;overflow:hidden}.exceptions-table tbody tr:hover{box-shadow:0 3px 10px #0000001f;transform:translateY(-1px)}.exceptions-table tbody tr.clickable-row:hover{background-color:#f8fafc}.exceptions-table td{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.85rem;justify-content:space-between;padding:10px 14px;text-align:right}.exceptions-table td:last-child{border-bottom:none}.exceptions-table td:before{color:#64748b;content:attr(data-label);flex:0 0 85px;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase}.exceptions-table td:first-child{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px 14px}.exceptions-table td .logistics-type-badge{font-size:.75rem;margin-left:auto;padding:4px 8px}.exceptions-table td .status-select{font-size:.8rem;margin-left:auto;max-width:110px;padding:6px 8px}.exceptions-table td .btn{font-size:.8rem;margin-left:auto;padding:6px 10px}.exceptions-table td .logistics-thumbnail{border-radius:6px;height:50px;margin-left:auto;object-fit:cover;width:50px}.exceptions-table td .no-image{font-size:1.75rem;margin-left:auto}.logistics-modal{border-radius:10px;max-height:96vh;max-width:98vw}.logistics-modal-extra-large{width:98vw}.logistics-detail-modal-header{align-items:stretch;border-radius:10px 10px 0 0;flex-direction:column;gap:12px;padding:16px 18px}.logistics-detail-modal-header:before{height:3px}.logistics-modal-title-section{padding-right:50px}.logistics-modal-title-section h2{color:#1e3c72;font-size:1.2rem}.detail-type-badge,.logistics-detail-type-badge{align-self:flex-start;font-size:.7rem;padding:5px 10px}.logistics-modal-header-actions{gap:8px;justify-content:flex-start;padding-right:45px}.logistics-edit-actions{gap:6px}.logistics-edit-actions button{border-radius:6px;font-size:.8rem;padding:8px 12px}.logistics-modal-close{border-radius:6px;font-size:20px;height:36px;position:absolute;right:14px;top:14px;width:36px}.logistics-detail-modal-body{padding:14px}.logistics-compact-info-grid{gap:10px;margin-bottom:14px}.logistics-info-card{padding:12px}.logistics-info-card h3{font-size:.95rem;margin-bottom:10px}.logistics-info-row{gap:6px;padding:8px 0}.logistics-info-label{font-size:.8rem}.logistics-info-value{font-size:.85rem}.logistics-dates-section{gap:8px;margin-bottom:14px;padding:12px}.logistics-date-item{font-size:.85rem}.logistics-action-content-compact{font-size:.85rem;max-height:70px;padding:10px}.logistics-comments-container-compact{padding:12px}.logistics-comment-item{margin-bottom:8px;padding:10px}.logistics-comment-header{font-size:.8rem}.logistics-comment-content{font-size:.85rem}.logistics-detail-modal-footer{border-radius:0 0 10px 10px;padding:12px 16px}.logistics-section-title{font-size:1rem;margin-bottom:10px}.logistics-exception-type-grid{gap:8px;grid-template-columns:1fr}.logistics-form-grid{gap:12px}.logistics-form-group label{font-size:.85rem}.logistics-form-group input,.logistics-form-group select,.logistics-form-group textarea{font-size:.85rem;padding:8px}}.logistics-select-field{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;display:flex}.logistics-selected-value{align-items:center;background:none;border:none;color:#495057;display:flex;flex:1 1;font-size:14px;min-height:40px;padding:10px 12px}.logistics-selected-value:empty:before{color:#6c757d;content:attr(placeholder)}.logistics-select-btn{background-color:#007bff;border:none;border-radius:0 3px 3px 0;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:background-color .3s ease;white-space:nowrap}.logistics-select-btn:hover{background-color:#0056b3}.logistics-select-field:focus-within{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.logistics-filters-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:20px}.logistics-search-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.logistics-filter-select,.logistics-search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px;padding:10px 12px}.logistics-search-input{flex:1 1;min-width:200px}.logistics-filter-select:focus,.logistics-search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.exceptions-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;overflow:hidden}.exceptions-table{border-collapse:collapse;font-size:14px;width:100%}.exceptions-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:14px 12px;text-align:left;white-space:nowrap}.exceptions-table td{border-bottom:1px solid #dee2e6;color:#495057;padding:12px;vertical-align:middle}.exceptions-table tbody tr:hover{background-color:#f8f9fa}.exceptions-table tbody tr.clickable-row{cursor:pointer}.exceptions-table tbody tr.clickable-row:hover{background-color:#e8f4f8;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px);transition:all .2s ease}.logistics-type-badge{border-radius:8px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;padding:5px 10px;text-shadow:0 1px 2px #0003}.logistics-type-badge.logistics-type-wrong_shipping,.logistics-type-badge.type-wrong_shipping{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 2px 4px #ff98004d}.logistics-type-badge.logistics-type-missing_shipping,.logistics-type-badge.type-missing_shipping{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 2px 4px #f443364d}.logistics-type-badge.logistics-type-complaint,.logistics-type-badge.type-complaint{background:linear-gradient(135deg,#9c27b0,#7b1fa2);box-shadow:0 2px 4px #9c27b04d}.logistics-type-badge.logistics-type-damage,.logistics-type-badge.type-damage{background:linear-gradient(135deg,#e91e63,#c2185b);box-shadow:0 2px 4px #e91e634d}.logistics-type-badge.logistics-type-quality,.logistics-type-badge.type-quality{background:linear-gradient(135deg,#673ab7,#512da8);box-shadow:0 2px 4px #673ab74d}.logistics-exception-dot.logistics-type-wrong_shipping{background-color:#dc3545}.logistics-exception-dot.logistics-type-missing_shipping{background-color:#fd7e14}.logistics-exception-dot.logistics-type-complaint{background-color:#6f42c1}.logistics-exception-dot.logistics-type-damage{background-color:#e83e8c}.logistics-exception-dot.logistics-type-quality{background-color:#20c997}.exception-create-modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:1000px;overflow:hidden;position:relative;width:85vw}.logistics-exception-modal-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 4px 12px #3b82f626;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 28px}.logistics-modal-title-section h2{font-size:22px;font-weight:600;margin:0 0 6px}.logistics-modal-subtitle{font-size:13px;font-weight:400;letter-spacing:.2px;margin:0;opacity:.95}.logistics-modal-close-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.logistics-modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.logistics-exception-modal-body{background:#f8f9fa;flex:1 1;max-height:calc(85vh - 80px);min-height:0;overflow-x:hidden;overflow-y:scroll;padding:28px 32px;scrollbar-color:#cbd5e0 #f1f5f9;scrollbar-width:thin}.exception-create-modal::-webkit-scrollbar{width:8px}.exception-create-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.exception-create-modal::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.exception-create-modal::-webkit-scrollbar-thumb:hover{background:#a0aec0}.logistics-exception-modal-body::-webkit-scrollbar{width:8px}.logistics-exception-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.logistics-exception-modal-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.logistics-exception-modal-body::-webkit-scrollbar-thumb:hover{background:#a0aec0}.logistics-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:28px;padding:20px}.logistics-section-title{border-bottom:2px solid #f3f4f6;font-size:16px;gap:8px;padding-bottom:10px}.exception-type-grid,.logistics-exception-type-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.exception-type-card{align-items:center!important;background:#fff!important;border:2px solid #e2e8f0!important;border-radius:12px!important;cursor:pointer!important;display:flex!important;gap:8px!important;justify-content:center!important;min-width:100px!important;overflow:hidden!important;padding:14px 18px!important;position:relative!important;transition:all .3s ease!important;-webkit-user-select:none!important;user-select:none!important}.exception-type-card:hover{background:#f0f9ff!important;border-color:var(--type-color)!important;box-shadow:0 6px 20px #0003!important;transform:translateY(-3px)!important}.exception-type-card.selected{background:var(--type-color)!important;border-color:var(--type-color)!important;box-shadow:0 4px 12px #00000040!important;color:#fff!important;transform:scale(1.05)!important}.exception-type-card.selected:before{align-items:center;background:#ffffff4d;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:8px;top:4px;width:20px}.logistics-type-icon{font-size:18px;transition:all .3s ease}.exception-type-card:hover .logistics-type-icon{transform:scale(1.1)}.exception-type-card:active{transform:scale(.96)!important;transition:transform .1s ease!important}.exception-type-card[style*="--type-color: #dc3545"]:hover{background:#dc35451a!important;border-color:#dc3545!important}.exception-type-card[style*="--type-color: #fd7e14"]:hover{background:#fd7e141a!important;border-color:#fd7e14!important}.exception-type-card[style*="--type-color: #6f42c1"]:hover{background:#6f42c11a!important;border-color:#6f42c1!important}.exception-type-card[style*="--type-color: #e83e8c"]:hover{background:#e83e8c1a!important;border-color:#e83e8c!important}.exception-type-card[style*="--type-color: #20c997"]:hover{background:#20c9971a!important;border-color:#20c997!important}.logistics-type-label{font-size:13px;font-weight:600;letter-spacing:-.3px}.logistics-info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.logistics-info-card{background:#f7fafc;border:1px solid #e2e8f0}.logistics-info-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000000d}.logistics-card-label{align-items:center;color:#4a5568;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.logistics-label-icon{font-size:16px}.logistics-select-field-modern{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .3s ease}.logistics-select-field-modern:hover{border-color:#cbd5e0;box-shadow:0 0 0 3px #4299e11a}.logistics-selected-value-modern{color:#2d3748;flex:1 1;font-size:14px}.logistics-select-arrow{color:#a0aec0;font-size:12px}.logistics-detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.logistics-input-group{display:flex;flex-direction:column}.logistics-input-group.full-width{grid-column:1/-1}.logistics-modern-label{align-items:center;color:#4a5568;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px}.logistics-modern-label.required:after{color:#e53e3e;content:" *"}.logistics-modern-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.logistics-modern-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #4299e11a;outline:none}.logistics-modern-textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;resize:vertical;transition:all .3s ease}.logistics-modern-textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #4299e11a;outline:none}.logistics-date-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.logistics-date-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.logistics-form-buttons{border-top:2px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.logistics-cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.logistics-cancel-btn:hover{background:#f7fafc;border-color:#cbd5e0}.logistics-submit-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;box-shadow:0 4px 12px #48bb784d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.logistics-submit-btn:hover{box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}@media (max-width:768px){.logistics-exception-create-modal{margin:10px;max-height:90vh;width:95vw}.logistics-exception-modal-body,.logistics-exception-modal-footer,.logistics-exception-modal-header{padding:16px 20px}.logistics-modal-title-section h2{font-size:20px}.logistics-date-grid,.logistics-info-grid{grid-template-columns:1fr}}.logistics-exception-count{align-items:center;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:600;gap:2px;height:20px;justify-content:center;margin:1px;min-width:24px;transition:all .2s ease}.logistics-exception-count:hover{box-shadow:0 2px 4px #0003;transform:scale(1.1)}.logistics-exception-count.type-wrong_shipping{background-color:#dc3545}.logistics-exception-count.type-missing_shipping{background-color:#fd7e14}.logistics-exception-count.type-complaint{background-color:#6f42c1}.logistics-exception-count.type-damage{background-color:#e83e8c}.logistics-exception-count.type-quality{background-color:#20c997}.logistics-type-initial{font-size:10px;font-weight:700}.logistics-count-number{font-size:11px;font-weight:600}.logistics-legend-color{border-radius:50%;display:inline-block;height:12px;margin-right:4px;width:12px}.logistics-legend-color.logistics-type-wrong_shipping{background-color:#dc3545}.logistics-legend-color.logistics-type-missing_shipping{background-color:#fd7e14}.logistics-thumbnail{border:1px solid #ddd;border-radius:4px;cursor:pointer;height:40px;object-fit:cover;transition:all .2s ease;width:40px}.logistics-thumbnail:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff4d;transform:scale(1.1)}.no-image{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#6c757d;display:inline-block;font-size:18px;height:40px;line-height:40px;text-align:center;width:40px}.logistics-clear-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-top:4px;padding:4px 8px;transition:background-color .2s ease}.logistics-clear-btn:hover{background-color:#5a6268}.stats-modal-high-z{z-index:15000!important}.logistics-legend-color.logistics-type-complaint{background-color:#6f42c1}.logistics-legend-color.logistics-type-damage{background-color:#e83e8c}.logistics-legend-color.logistics-type-quality{background-color:#20c997}.status-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.status-select.logistics-status-reported{background-color:#fff3cd;color:#856404}.status-select.logistics-status-in_progress{background-color:#cce5ff;color:#004085}.status-select.logistics-status-resolved{background-color:#d4edda;color:#155724}.status-select.logistics-status-cancelled{background-color:#f8d7da;color:#721c24}.logistics-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px}.logistics-pagination .logistics-btn{align-items:center;display:flex;height:40px;justify-content:center;min-width:40px}.logistics-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;min-height:36px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.logistics-btn:disabled{cursor:not-allowed;opacity:.6}.logistics-btn-primary{background-color:#007bff;color:#fff}.logistics-btn-primary:hover:not(:disabled){background-color:#0056b3}.logistics-btn-secondary{background-color:#6c757d}.logistics-btn-secondary:hover:not(:disabled){background-color:#545b62}.logistics-btn-danger{background-color:#dc3545;color:#fff}.logistics-btn-danger:hover:not(:disabled){background-color:#c82333}.logistics-btn-outline{background-color:initial;border:1px solid #007bff;color:#007bff}.logistics-btn-outline:hover:not(:disabled){background-color:#007bff;color:#fff}.logistics-btn-sm{min-height:30px}.logistics-modal{border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:90vw;overflow:hidden;width:500px}.logistics-modal-large{max-width:95vw;width:800px}.logistics-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 24px}.logistics-modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.logistics-modal-close{background:none;border:none;border-radius:4px;color:#6c757d;font-size:24px;height:30px;width:30px}.logistics-modal-close:hover{background-color:#e9ecef;color:#495057}.logistics-modal-body{flex:1 1;overflow-y:auto;padding:24px}.logistics-modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.logistics-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.logistics-form-group{display:flex;flex-direction:column}.logistics-form-group.full-width{grid-column:1/-1}.logistics-form-group label{color:#495057;font-size:14px;font-weight:500;margin-bottom:6px}.logistics-form-group input,.logistics-form-group select,.logistics-form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .3s ease}.logistics-form-group input:focus,.logistics-form-group select:focus,.logistics-form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.logistics-form-group textarea{min-height:80px;resize:vertical}.logistics-loading{color:#6c757d;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.logistics-search-filters{align-items:stretch;flex-direction:column}.logistics-filter-select,.logistics-search-input{width:100%}.exceptions-table-container{background:#0000;box-shadow:none;overflow-x:visible}.exceptions-table{display:block;min-width:0}.exceptions-table thead{display:none}.exceptions-table tbody{display:block}.exceptions-table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:block;margin-bottom:16px;overflow:hidden}.exceptions-table tbody tr:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.exceptions-table tbody tr.clickable-row:hover{background-color:#f8fafc}.exceptions-table td{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:12px 16px;text-align:right}.exceptions-table td:last-child{border-bottom:none}.exceptions-table td:before{color:#64748b;content:attr(data-label);flex:0 0 100px;font-size:.85rem;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase}.exceptions-table td:first-child{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:14px 16px}.exceptions-table td .logistics-type-badge{margin-left:auto}.exceptions-table td .status-select{margin-left:auto;max-width:120px}.exceptions-table td .btn{margin-left:auto}.exceptions-table td .logistics-thumbnail{border-radius:8px;height:60px;margin-left:auto;object-fit:cover;width:60px}.exceptions-table td .no-image{font-size:2rem;margin-left:auto}.logistics-form-grid{grid-template-columns:1fr}}.logistics-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.logistics-modal{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column}.logistics-modal-extra-large{display:flex;flex-direction:column;height:90vh;margin:20px auto;max-width:1400px;width:95vw}.logistics-detail-modal-header{align-items:flex-start;background:#fff;border:none;border-bottom:2px solid #e2e8f0;border-radius:16px 16px 0 0;box-shadow:0 2px 8px #0000000d;color:#1e3c72;display:flex;justify-content:space-between;overflow:hidden;padding:24px 32px;position:relative}.logistics-detail-modal-header:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#4ade80,#3b82f6,#8b5cf6,#ec4899);background-size:200% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.logistics-modal-title-section{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:0;padding-right:20px}.logistics-modal-title-section h2{color:#1e3c72;font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.logistics-modal-header-actions{align-items:flex-start;flex-shrink:0;padding-right:60px}.logistics-edit-actions{align-items:center}.logistics-modal-close{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 4px #0000000d;color:#64748b;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:44px;justify-content:center;line-height:1;padding:0;position:absolute;right:20px;top:20px;transition:all .3s ease;width:44px;z-index:10}.logistics-modal-close:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;box-shadow:0 4px 16px #ef444466;color:#fff;transform:scale(1.1) rotate(90deg)}.logistics-modal-close:active{box-shadow:0 2px 8px #ef44444d;transform:scale(1.05) rotate(90deg)}.detail-type-badge,.logistics-detail-type-badge{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.logistics-detail-modal-body{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:28px;scrollbar-color:#cbd5e0 #f1f5f9;scrollbar-width:thin}.logistics-detail-modal-body::-webkit-scrollbar{width:8px}.logistics-detail-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.logistics-detail-modal-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.logistics-detail-modal-body::-webkit-scrollbar-thumb:hover{background:#a0aec0}.logistics-compact-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 2fr;margin-bottom:24px}.logistics-info-card-large,.logistics-info-card-small{grid-column:span 1}.logistics-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px;transition:all .3s ease}.logistics-info-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.logistics-info-card h3{align-items:center;border-bottom:2px solid #f3f4f6;color:#1f2937;display:flex;font-size:15px;font-weight:700;gap:8px;margin:0 0 16px;padding-bottom:10px}.logistics-info-items{display:flex;flex-direction:column;gap:12px}.logistics-info-item{align-items:center;border-radius:6px;display:flex;justify-content:space-between;min-height:28px;padding:4px 8px;transition:background-color .2s}.logistics-info-item:hover{background-color:#f9fafb}.logistics-info-item .label{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:600;gap:6px;min-width:80px}.logistics-info-item .value{color:#111827;flex:1 1;font-size:14px;font-weight:500;margin-left:12px;text-align:right;word-break:break-word}.logistics-compact-status-badge{border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px}.logistics-compact-status-badge.logistics-status-reported{background:#f59e0b}.logistics-compact-status-badge.logistics-status-in_progress{background:#3b82f6}.logistics-compact-status-badge.logistics-status-resolved{background:#10b981}.logistics-compact-status-badge.logistics-status-cancelled{background:#ef4444}.logistics-dates-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:8px;display:flex;gap:20px;margin-bottom:20px;padding:16px}.logistics-date-item{flex:1 1;text-align:center}.logistics-date-label{color:#0369a1;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.logistics-date-value{color:#0c4a6e;display:block;font-size:14px;font-weight:600}.logistics-action-section{margin-bottom:20px}.logistics-action-section h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;margin:0 0 8px}.logistics-action-section h3:before{content:"⚡";font-size:16px;margin-right:8px}.logistics-action-content-compact{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-size:13px;line-height:1.5;max-height:80px;overflow-y:auto;padding:12px}.logistics-comments-section-compact{margin-bottom:20px}.logistics-comments-section-compact h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;margin:0 0 12px}.logistics-comments-section-compact h3:before{content:"💬";font-size:16px;margin-right:8px}.logistics-comments-container-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.logistics-comments-section-compact h3{display:none}.logistics-comments-container-compact .task-comments{border-top:none;margin-top:0;padding-top:0}.logistics-comments-container-compact .comments-list{max-height:none!important;overflow-y:visible!important}.logistics-profile-image-placeholder{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;text-transform:uppercase;width:40px}.logistics-profile-image-container,.logistics-profile-image-placeholder{align-items:center;display:flex;justify-content:center}.logistics-section-title{align-items:center;border-bottom:2px solid #e5e7eb;color:#1f2937;display:flex;font-size:18px;font-weight:700;margin:0 0 16px;padding-bottom:8px}.logistics-section-title:before{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:2px;content:"";height:20px;margin-right:12px;width:4px}.logistics-detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.logistics-detail-row{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.logistics-detail-field{display:flex;flex-direction:column;gap:8px}.logistics-detail-field.full-width{grid-column:1/-1}.logistics-detail-field label{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.logistics-detail-value{color:#1f2937;font-size:16px;line-height:1.5}.logistics-detail-value strong{color:#1e3c72}.logistics-detail-content{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#374151;font-size:15px;line-height:1.6;min-height:50px;padding:16px}.logistics-action-content{min-height:80px}.logistics-no-data{color:#9ca3af;font-style:italic}.logistics-detail-status-badge{border-radius:20px;box-shadow:0 2px 4px #0000001a;display:inline-block;font-size:14px;font-weight:600;max-width:-webkit-fit-content;max-width:fit-content;padding:8px 16px;text-align:center}.logistics-detail-status-badge.logistics-status-reported{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.logistics-detail-status-badge.logistics-status-in_progress{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.logistics-detail-status-badge.logistics-status-resolved{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.logistics-detail-status-badge.logistics-status-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.logistics-comments-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:hidden;padding:24px;width:100%}.logistics-detail-modal-footer{background:linear-gradient(180deg,#fff 0,#f8fafc);border-radius:0 0 16px 16px;border-top:2px solid #e2e8f0;box-shadow:0 -2px 8px #00000008;display:flex;justify-content:flex-end;padding:24px 32px}.logistics-btn-lg{font-size:16px;font-weight:700;letter-spacing:.5px;min-width:140px;padding:14px 36px}@media (max-width:1200px){.logistics-detail-row{gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width:1000px){.logistics-compact-info-grid{gap:16px;grid-template-columns:1fr}}@media (max-width:768px){.logistics-modal-extra-large{border-radius:0;height:100vh;margin:0;width:100vw}.logistics-modal{border-radius:12px;max-height:95vh;max-width:95vw}.logistics-modal-extra-large{width:95vw}.logistics-detail-modal-header{align-items:stretch;border-radius:12px 12px 0 0;flex-direction:column;gap:14px;padding:18px 20px}.logistics-detail-modal-header:before{height:3px}.logistics-modal-title-section{align-items:flex-start;flex:1 1;flex-direction:column;gap:10px;min-width:0;padding-right:50px}.logistics-modal-title-section h2{color:#1e3c72;font-size:1.3rem;line-height:1.3}.detail-type-badge,.logistics-detail-type-badge{align-self:flex-start;font-size:.75rem;padding:6px 12px}.logistics-modal-header-actions{align-items:center;flex-direction:row;gap:10px;justify-content:flex-start;padding-right:50px;width:100%}.logistics-edit-actions{display:flex;flex:1 1;gap:8px}.logistics-edit-actions button{border-radius:8px;flex:1 1;font-size:.85rem;padding:10px 14px;white-space:nowrap}.logistics-modal-close{border-radius:8px;flex-shrink:0;font-size:22px;height:38px;position:absolute;right:16px;top:16px;width:38px}.logistics-detail-modal-body{padding:16px}.logistics-compact-info-grid{gap:12px;grid-template-columns:1fr;margin-bottom:16px}.logistics-info-card{padding:14px}.logistics-info-card h3{font-size:1rem;margin-bottom:12px}.logistics-info-row{flex-direction:column;gap:8px;padding:10px 0}.logistics-info-label{font-size:.85rem;min-width:auto}.logistics-info-value{font-size:.9rem}.logistics-dates-section{flex-direction:column;gap:10px;margin-bottom:16px;padding:14px}.logistics-date-item{font-size:.9rem;text-align:left}.logistics-action-content-compact{font-size:.9rem;max-height:80px;padding:12px}.logistics-comments-container-compact{padding:14px}.logistics-comment-item{margin-bottom:10px;padding:12px}.logistics-comment-header{font-size:.85rem}.logistics-comment-content{font-size:.9rem}.logistics-detail-modal-footer{border-radius:0 0 12px 12px;flex-direction:column;gap:8px;padding:14px 18px}.logistics-detail-modal-footer button{width:100%}.logistics-edit-form{display:flex;flex-direction:column;gap:16px}.logistics-form-section{margin-bottom:16px}.logistics-section-title{font-size:1.1rem;margin-bottom:12px}.logistics-exception-type-grid{gap:10px;grid-template-columns:1fr 1fr}.logistics-form-grid{gap:14px;grid-template-columns:1fr}.logistics-form-group label{font-size:.9rem}.logistics-form-group input,.logistics-form-group select,.logistics-form-group textarea{font-size:.9rem;padding:10px}}.logistics-modal-header-actions{align-items:center;display:flex;gap:12px}.logistics-edit-actions{display:flex;gap:8px}.detail-type-badge{background:#ffffff40;border:1px solid #fff6;border-radius:20px;box-shadow:0 2px 8px #00000026;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.detail-type-badge.type-wrong_shipping{background:#dc35454d;border-color:#dc354580}.detail-type-badge.type-missing_shipping{background:#fd7e144d;border-color:#fd7e1480}.detail-type-badge.type-complaint{background:#6f42c14d;border-color:#6f42c180}.detail-type-badge.type-damage{background:#e83e8c4d;border-color:#e83e8c80}.detail-type-badge.type-quality{background:#20c9974d;border-color:#20c99780}.logistics-edit-form{background:#f8f9fa;overflow:visible;padding-right:0}.logistics-edit-form .logistics-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:28px;padding:20px}.logistics-edit-form .logistics-section-title{align-items:center;border-bottom:2px solid #f3f4f6;color:#1f2937;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 16px;padding-bottom:10px}.logistics-modern-select{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:14px 18px;transition:all .3s ease;width:100%}.logistics-modern-select:focus{background:#fafbfc;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.logistics-btn-success{background:#10b981;border:none;color:#fff}.logistics-btn-success:hover{background:#059669}.logistics-btn-sm{font-size:12px;padding:6px 12px}@media (max-width:768px){.logistics-modal-header-actions{align-items:stretch;flex-direction:column;gap:8px;padding-right:50px}.logistics-edit-actions{justify-content:stretch}.logistics-edit-actions .logistics-btn{flex:1 1}.logistics-edit-form{max-height:60vh}}.logistics-header-buttons{align-items:center;display:flex;gap:12px}.logistics-btn-secondary{background:linear-gradient(135deg,#64748b,#475569);border:2px solid #0000;border-radius:10px;box-shadow:0 2px 8px #64748b40;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.3px;min-width:120px;padding:12px 28px;transition:all .3s ease}.logistics-btn-secondary:hover{background:linear-gradient(135deg,#475569,#334155);border-color:#334155;box-shadow:0 4px 16px #64748b66;transform:translateY(-2px)}.logistics-btn-secondary:active{box-shadow:0 2px 8px #64748b4d;transform:translateY(0)}.logistics-complaint-stats-modal{max-height:90vh;max-width:1000px;overflow-y:auto;width:90vw}.logistics-stats-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px}.logistics-filter-group{display:flex;flex-direction:column;gap:8px}.logistics-filter-group label{color:#374151;font-size:14px;font-weight:600}.logistics-date-range{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.logistics-date-range input[type=date]{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:14px;min-width:140px;padding:8px 12px}.logistics-date-range span{color:#6b7280;font-weight:500}.logistics-partner-filter,.logistics-product-filter{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.logistics-partner-filter:focus,.logistics-product-filter:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.logistics-filter-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.logistics-stats-content{display:flex;flex-direction:column;gap:24px}.logistics-stats-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.logistics-stats-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;padding:20px;text-align:center}.logistics-stats-card h3{font-size:14px;font-weight:600;margin:0 0 8px;opacity:.9}.logistics-stats-number{font-size:24px;font-weight:700;margin:0}.logistics-stats-section{border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.logistics-stats-section h3{border-bottom:2px solid #e2e8f0;color:#1e3c72;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.logistics-stats-table{overflow-x:auto}.logistics-stats-table table{border-collapse:collapse;font-size:14px;width:100%}.logistics-stats-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#374151;font-weight:600;padding:12px 8px;text-align:left}.logistics-stats-table td{border-bottom:1px solid #f3f4f6;color:#6b7280;padding:10px 8px}.logistics-stats-table tr:hover{background:#f9fafb}.logistics-stats-chart{margin-top:16px}.logistics-chart-bars{align-items:flex-end;background:#f8fafc;border-radius:8px;display:flex;gap:8px;height:200px;justify-content:space-between;padding:16px}.logistics-chart-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;max-width:80px}.logistics-bar-label{color:#6b7280;font-size:11px;margin-bottom:8px;text-align:center;writing-mode:horizontal-tb}.logistics-bar-container{align-items:flex-end;display:flex;flex:1 1;justify-content:center;margin-bottom:8px;width:100%}.logistics-bar-fill{background:linear-gradient(0deg,#1e3c72,#2a5298);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s ease;width:20px}.logistics-bar-fill:hover{background:linear-gradient(0deg,#2a5298,#1e3c72);transform:scaleY(1.1)}.logistics-bar-value{color:#374151;font-size:12px;font-weight:600}.logistics-image-upload-container{margin-top:16px}.logistics-image-upload-area{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px;padding:24px;transition:all .3s ease}.logistics-image-upload-area:hover{background:#f1f5f9;border-color:#667eea}.logistics-image-upload-area.dragging{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;border-width:3px;transform:scale(1.02)}.logistics-image-upload-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.logistics-image-upload-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.logistics-upload-icon{font-size:1.2rem}.logistics-image-preview-container{margin-top:16px}.logistics-images-preview-wrapper{display:flex;flex-direction:column;gap:16px;width:100%}.logistics-images-preview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));width:100%}.logistics-image-preview-item{aspect-ratio:1;background:#f8fafc;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;position:relative}.logistics-image-preview-item img{display:block;height:100%;object-fit:cover;width:100%}.logistics-add-more-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.logistics-add-more-button:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.logistics-image-preview{border-radius:8px;box-shadow:0 4px 12px #0000001a;display:inline-block;overflow:hidden;position:relative}.logistics-image-preview img{display:block;height:auto;max-height:200px;max-width:300px;width:auto}.logistics-image-remove-btn{align-items:center;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .3s ease;width:24px}.logistics-image-remove-btn:hover{background:#dc3545;transform:scale(1.1)}.logistics-upload-placeholder{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.logistics-upload-icon-large{animation:float 3s ease-in-out infinite;font-size:4rem;opacity:.6}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logistics-upload-hints{color:#64748b;margin-top:8px}.logistics-upload-hints p{font-size:.95rem;margin:4px 0}.logistics-upload-hint-sub{color:#94a3b8;font-size:.85rem!important;font-style:italic}.logistics-image-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:16px}.logistics-image-section h3{color:#1e3c72;font-size:1.1rem;font-weight:600;margin:0 0 16px}.logistics-attached-image-container{border-radius:8px;cursor:pointer;display:inline-block;overflow:hidden;position:relative;transition:transform .3s ease}.logistics-attached-image-container:hover{transform:scale(1.02)}.logistics-attached-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block;height:auto;max-height:200px;max-width:300px;width:auto}.logistics-image-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;font-size:.9rem;left:0;opacity:0;padding:12px;position:absolute;right:0;text-align:center;transition:opacity .3s ease}.logistics-attached-image-container:hover .logistics-image-overlay{opacity:1}.logistics-image-modal-overlay{align-items:center;background:#000000e6;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.logistics-image-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;cursor:default;max-height:90vh;max-width:90vw;overflow:hidden}.logistics-image-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.logistics-image-modal-header h3{color:#1e3c72;font-size:1.2rem;font-weight:600;margin:0}.logistics-image-modal-close{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:24px;padding:4px 8px;transition:all .3s ease}.logistics-image-modal-close:hover{background:#e2e8f0;color:#374151}.logistics-image-modal-body{align-items:center;display:flex;justify-content:center;padding:20px;position:relative;text-align:center}.logistics-image-modal-content{border-radius:8px;height:auto;max-height:70vh;max-width:100%;width:auto}.logistics-image-nav-btn{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.logistics-image-nav-btn:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.logistics-image-nav-prev{left:20px}.logistics-image-nav-next{right:20px}@media (max-width:768px){.logistics-header-buttons{align-items:stretch;flex-direction:column;gap:8px}.logistics-stats-filters{padding:16px}.logistics-filter-group{width:100%}.logistics-date-range{align-items:stretch;flex-direction:column}.logistics-date-range input[type=date]{width:100%}.logistics-filter-buttons{flex-direction:column}.logistics-filter-buttons button{width:100%}.logistics-stats-summary{grid-template-columns:repeat(2,1fr)}.logistics-chart-bars{height:150px;padding:12px}.logistics-bar-label{font-size:10px}.logistics-complaint-stats-modal,.logistics-export-modal{max-height:85vh;width:95vw}.export-type-checkboxes{gap:12px;grid-template-columns:1fr}.filter-row{align-items:flex-start;flex-direction:column}.filter-row label{margin-bottom:4px}}.logistics-export-modal{max-height:80vh;max-width:90vw;overflow-y:auto;width:600px}.export-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.export-section h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 16px}.export-type-checkboxes{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.export-type-checkbox{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s}.export-type-checkbox:hover{background:#f0f9ff;border-color:#3b82f6}.export-type-checkbox input[type=checkbox]{cursor:pointer;margin:0}.checkbox-label{color:#374151;font-weight:500}.export-type-actions{display:flex;gap:8px;margin-bottom:12px}.select-all-btn,.select-none-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .2s}.select-all-btn:hover{background:#f3f4f6;border-color:#9ca3af}.select-none-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.export-note{color:#6b7280;font-size:.9rem;font-style:italic;margin:0}.export-filters{grid-gap:16px;display:grid;gap:16px}.filter-row{align-items:center;gap:12px}.filter-row label{color:#374151;font-weight:500;min-width:80px}.filter-row input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:.9rem;padding:8px 12px;transition:border-color .2s}.filter-row input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.export-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.export-btn-primary,.export-btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .2s}.export-btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.export-btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.export-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.export-btn-primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.stats-page{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh}.stats-page-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.stats-page-header h1{color:#1e3c72;font-size:2rem;font-weight:700;margin:0}.stats-filters{display:flex;gap:20px}.date-range-filter{align-items:center;display:flex;gap:12px}.date-inputs{align-items:center;display:flex;gap:8px}.date-inputs input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px}.stats-btn-primary{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.stats-btn-primary:hover{box-shadow:0 4px 12px #1e3c724d;transform:translateY(-2px)}.stats-btn-secondary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.stats-btn-secondary:hover{background:#e2e8f0}.stats-error,.stats-loading{align-items:center;color:#64748b;display:flex;font-size:1.2rem;height:400px;justify-content:center}.stats-summary-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.stats-summary-section h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0 0 20px}.stats-summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stats-summary-card{align-items:center;border-left:4px solid;border-radius:12px;display:flex;gap:16px;padding:20px;transition:transform .3s ease}.stats-summary-card:hover{transform:translateY(-2px)}.stats-summary-card.total{background:linear-gradient(135deg,#667eea,#764ba2);border-left-color:#667eea;color:#fff}.stats-summary-card.resolved{background:linear-gradient(135deg,#11998e,#38ef7d);border-left-color:#11998e;color:#fff}.stats-summary-card.in-progress{background:linear-gradient(135deg,#fdbb2d,#22c1c3);border-left-color:#fdbb2d;color:#fff}.stats-summary-card.rate{background:linear-gradient(135deg,#667eea,#764ba2);border-left-color:#667eea;color:#fff}.stats-icon{font-size:2rem;opacity:.9}.stats-content{flex:1 1}.stats-number{font-size:2rem;font-weight:700;margin-bottom:4px}.stats-label{font-size:.9rem;opacity:.9}.logistics-stats-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.logistics-stats-section h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0 0 20px}.stats-chart-container{margin-top:20px}.stats-chart-horizontal{display:flex;flex-direction:column;gap:16px}.chart-bar-horizontal{align-items:center;display:flex;gap:16px}.chart-label{color:#374151;font-weight:600;min-width:100px}.chart-bar-container{background:#f1f5f9;border-radius:15px;flex:1 1;height:30px;overflow:hidden;position:relative}.chart-bar-fill{border-radius:15px;display:block;height:100%;min-height:100%;position:relative;transition:width .8s ease}.chart-bar-fill.type-wrong_shipping{background:linear-gradient(90deg,#dc3545,#ff6b7d)}.chart-bar-fill.type-missing_shipping{background:linear-gradient(90deg,#fd7e14,#ffa726)}.chart-bar-fill.type-complaint{background:linear-gradient(90deg,#6f42c1,#9c88ff)}.chart-bar-fill.type-damage{background:linear-gradient(90deg,#e83e8c,#ff6bcf)}.chart-bar-fill.type-quality{background:linear-gradient(90deg,#20c997,#4fd1c7)}.chart-value{color:#fff;font-size:.9rem;font-weight:600;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.stats-chart-vertical{align-items:end;display:flex;gap:20px;height:300px;justify-content:center;padding:20px 0}.chart-bar-vertical{align-items:center;display:flex;flex-direction:column;gap:8px}.chart-bar-container-vertical{align-items:end;background:#f1f5f9;border-radius:20px;display:flex;height:200px;overflow:hidden;width:40px}.chart-bar-fill-vertical{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:20px 20px 0 0;min-height:4px;transition:height .8s ease;width:100%}.chart-value-vertical{color:#374151;font-weight:600}.chart-label-vertical{color:#64748b;font-size:.9rem}.stats-table-container{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.stats-table{background:#fff;border-collapse:collapse;width:100%}.stats-table td,.stats-table th{border-bottom:1px solid #e2e8f0;padding:12px 16px;text-align:left}.stats-table th{color:#374151;font-weight:600}.stats-table th,.stats-table tr:hover{background:#f8fafc}.rank-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.rank-badge.rank-1{background:linear-gradient(135deg,gold,#ffed4e);color:#92400e}.rank-badge.rank-2{background:linear-gradient(135deg,silver,#e5e7eb);color:#374151}.rank-badge.rank-3{background:linear-gradient(135deg,#cd7f32,#d97706)}.rank-badge:not(.rank-1):not(.rank-2):not(.rank-3){background:#64748b}.partner-name,.product-name{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.percentage-bar{background:#f1f5f9;border-radius:10px;height:20px;min-width:100px;overflow:hidden;position:relative}.percentage-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;height:100%;transition:width .8s ease}.percentage-text{color:#374151;font-size:.8rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stats-card{border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.stats-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stats-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.assignee-name{color:#374151}.stats-badge{background:#667eea;border-radius:4px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px}.stats-breakdown{display:flex;flex-direction:column;gap:8px}.breakdown-item{align-items:center;display:flex;justify-content:space-between}.breakdown-label{color:#64748b;font-size:.9rem}.breakdown-value{border-radius:4px;font-size:.9rem;font-weight:600;padding:2px 8px}.breakdown-value.resolved{background:#dcfce7;color:#166534}.breakdown-value.in-progress{background:#fef3c7;color:#92400e}.breakdown-value.reported{background:#e0e7ff;color:#3730a3}.clickable-card{cursor:pointer;overflow:hidden;position:relative}.clickable-card:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.clickable-card:hover:before{left:100%}.clickable-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;width:90%}.modal-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:20px 60px 20px 24px;position:relative}.modal-header h3{font-size:1.25rem}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:32px}.modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.modal-content{flex:1 1;padding:20px 24px}.modal-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.modal-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#1e3c72;height:40px;margin-bottom:16px;width:40px}.modal-loading p{color:#64748b;font-size:1rem;margin:0}.exception-list{display:flex;flex-direction:column;gap:8px}.exception-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s}.exception-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.exception-summary{background:#f8fafc;border-bottom:1px solid #0000;cursor:pointer;padding:16px;transition:all .2s}.exception-summary:hover{background:#f1f5f9}.summary-main{align-items:center;display:flex;justify-content:space-between;width:100%}.summary-left{flex:1 1}.summary-left,.summary-right{align-items:center;display:flex;gap:12px}.product-name{color:#374151;flex:1 1;font-size:.95rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-name{color:#64748b;font-size:.9rem;font-weight:500}.expand-icon{color:#9ca3af;font-size:.8rem;margin-left:8px;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.exception-type-badge{align-items:center;background:#e2e8f0;border-radius:4px;color:#475569;display:inline-flex;font-size:.8rem;font-weight:600;padding:4px 8px}.exception-type-badge[data-type=wrong_shipping]{background:#fecaca;color:#dc2626}.exception-type-badge[data-type=missing_shipping]{background:#fed7aa;color:#ea580c}.exception-type-badge[data-type=complaint]{background:#e0e7ff;color:#3730a3}.exception-type-badge[data-type=damage]{background:#fce7f3;color:#be185d}.exception-type-badge[data-type=quality]{background:#d1fae5;color:#065f46}.exception-id{color:#64748b;font-size:.9rem;font-weight:500}.exception-status{align-items:center;display:flex}.status-badge{font-size:.8rem}.status-badge.status-resolved{background:#dcfce7;color:#166534}.status-badge.status-in_progress{background:#fef3c7;color:#92400e}.status-badge.status-reported{background:#e0e7ff;color:#3730a3}.exception-details{animation:slideDown .2s ease-out;background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding:20px}.exception-info{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{align-items:center;gap:8px}.info-label{color:#64748b;font-size:.9rem;min-width:50px}.info-value{color:#374151}.exception-action,.exception-description,.exception-discovery{border-top:1px solid #f1f5f9;padding-top:12px}.action-label,.description-label,.discovery-label{color:#64748b;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.action-text,.description-text,.discovery-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#374151;font-size:.9rem;line-height:1.5;margin:0;padding:12px 16px}.discovery-text{background:#f5f3ff;border-color:#d8b4fe;color:#581c87}.action-text{background:#fffbeb;border-color:#fed7aa;color:#92400e}.modal-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.modal-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.modal-empty h4{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 8px}.modal-empty p{color:#64748b;font-size:.95rem;margin:0}@media (max-width:768px){.stats-page{padding:12px}.stats-page-header{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.stats-page-header h1{font-size:1.6rem;font-weight:800;letter-spacing:-.5px}.logistics-header-buttons,.stats-filters{flex-direction:column;gap:10px;width:100%}.logistics-header-buttons{display:flex}.stats-btn-primary,.stats-btn-secondary{border-radius:10px;font-size:1rem;font-weight:700;letter-spacing:-.3px;min-height:50px;padding:16px 20px;width:100%}.date-range-filter{align-items:stretch}.date-inputs,.date-range-filter{flex-direction:column;gap:10px}.date-inputs input{border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-weight:600;min-height:50px;padding:14px;width:100%}.date-inputs input:focus{border-color:#1e3c72;outline:none}.date-inputs span{color:#64748b;font-size:1.2rem;font-weight:700}.logistics-stats-section,.stats-summary-section{border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:20px;padding:20px}.logistics-stats-section h2,.stats-summary-section h2{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;margin-bottom:20px}.stats-summary-grid{gap:12px;grid-template-columns:1fr}.stats-summary-card{border-radius:16px;box-shadow:0 4px 12px #0000001f;gap:18px;padding:24px}.stats-icon{font-size:2.5rem}.stats-number{font-size:2.2rem;font-weight:800}.stats-label{font-size:1rem;font-weight:600;letter-spacing:-.3px}.stats-chart-horizontal{gap:12px}.chart-bar-horizontal{align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;flex-direction:column;gap:10px;margin-bottom:12px;padding:18px}.chart-label{color:#1e3c72;font-size:1.05rem;font-weight:800;letter-spacing:-.3px;margin-bottom:6px;min-width:auto}.chart-value{font-size:1rem;font-weight:800}.chart-bar-container{border-radius:21px;display:block;height:42px;overflow:hidden;position:relative}.chart-bar-fill{border-radius:21px;display:block;height:100%;min-height:42px}.stats-chart-vertical{gap:12px;height:250px}.chart-bar-container-vertical{height:150px;width:30px}.chart-label-vertical,.chart-value-vertical{font-size:.85rem}.stats-table-container{border:none}.stats-table{display:block;min-width:0}.stats-table thead{display:none}.stats-table tbody{display:block}.stats-table tbody tr{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;display:block;margin-bottom:20px;overflow:hidden}.stats-table tbody tr:last-child{margin-bottom:0}.stats-table td{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:1rem;justify-content:space-between;line-height:1.6;padding:16px 20px}.stats-table td:last-child{border-bottom:none}.stats-table td:before{color:#475569;content:attr(data-label);font-size:.9rem;font-weight:800;letter-spacing:-.3px;min-width:90px}.stats-table td[data-label=\C21C\C704]{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;justify-content:center;padding:18px 20px}.stats-table td[data-label=\C21C\C704]:before{display:none}.stats-table td[data-label=\AC70\B798\CC98\CF54\B4DC],.stats-table td[data-label=\D488\BAA9\CF54\B4DC]{background:#f8fafc;font-family:Courier New,monospace;font-weight:600}.stats-table td[data-label=\AC70\B798\CC98\BA85],.stats-table td[data-label=\D488\BAA9\BA85]{background:#fefce8;border-left:4px solid #fbbf24}.stats-table td[data-label=\AC74\C218]{background:#f0f9ff;font-size:1.1rem}.stats-table td[data-label=\BE44\C728]{align-items:stretch;background:#f8fafc;flex-direction:column;gap:10px;padding:18px 20px}.stats-table td[data-label=\BE44\C728]:before{align-self:flex-start;margin-bottom:6px}.stats-table .percentage-bar{border-radius:14px;height:28px;min-width:100%;width:100%}.stats-table .percentage-text{font-size:.95rem;font-weight:700}.stats-table .partner-name,.stats-table .product-name{color:#1e3c72;font-size:1.05rem;font-weight:700;line-height:1.4;max-width:none;text-align:right}.stats-table .rank-badge{box-shadow:0 2px 8px #00000026;font-size:1.1rem;font-weight:800;height:40px;width:40px}.stats-grid{gap:12px;grid-template-columns:1fr}.stats-card{border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 3px 10px #00000014;padding:20px}.stats-card-header{margin-bottom:18px}.assignee-name{font-size:1.1rem;font-weight:800}.stats-badge{font-size:.95rem;font-weight:700;padding:6px 12px}.breakdown-label{font-size:.95rem;font-weight:600}.breakdown-value{font-size:1rem;font-weight:700;padding:4px 10px}.modal-container{max-height:90vh;width:95%}.modal-header{padding:18px 60px 18px 20px}.modal-header h3{font-size:1.2rem}.modal-close-btn{font-size:1.3rem;height:36px;position:absolute;right:18px;top:18px;width:36px}.modal-content{padding:18px 20px}.exception-info{grid-template-columns:1fr}.exception-item{border-radius:12px;box-shadow:0 3px 10px #00000014;margin-bottom:16px}.exception-summary{padding:18px}.summary-main{align-items:flex-start;flex-direction:column;gap:14px}.summary-left,.summary-right{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.summary-right{border-top:2px solid #e2e8f0;padding-top:14px}.product-name{flex:1 1;font-size:1rem;font-weight:700;line-height:1.4}.partner-name{flex:1 1;font-size:.95rem;font-weight:600}.expand-icon{font-size:1rem;margin-left:10px}.exception-details{gap:16px;padding:20px}.exception-type-badge,.status-badge{font-size:.85rem;font-weight:700;padding:6px 12px}.info-label{font-size:.9rem;font-weight:700}.info-value{font-size:.95rem;font-weight:600}.action-text,.description-text,.discovery-text{font-size:.95rem;line-height:1.6;padding:14px 16px}}@media (max-width:480px){.stats-page{padding:10px}.stats-page-header{gap:12px;padding:14px}.stats-page-header h1{font-size:1.4rem;font-weight:800;letter-spacing:-.5px}.logistics-header-buttons,.stats-filters{gap:8px}.stats-btn-primary,.stats-btn-secondary{font-size:.95rem;font-weight:700;min-height:48px;padding:15px 18px}.date-inputs input{font-size:.95rem;font-weight:600;min-height:48px;padding:13px}.date-inputs span{font-size:1.1rem;font-weight:700}.logistics-stats-section,.stats-summary-section{border-radius:14px;box-shadow:0 2px 10px #00000014;margin-bottom:18px;padding:18px}.logistics-stats-section h2,.stats-summary-section h2{font-size:1.35rem;font-weight:800;letter-spacing:-.5px;margin-bottom:18px}.stats-summary-grid{gap:10px}.stats-summary-card{border-radius:14px;box-shadow:0 3px 10px #0000001a;gap:16px;padding:20px}.stats-icon{font-size:2.2rem}.stats-number{font-size:2rem;font-weight:800}.stats-label{font-size:.95rem;font-weight:600;letter-spacing:-.3px}.stats-chart-horizontal{gap:10px}.chart-bar-horizontal{background:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000f;gap:8px;margin-bottom:10px;padding:16px}.chart-label{font-size:1rem;font-weight:800;margin-bottom:8px}.chart-value{font-size:.95rem;font-weight:800}.chart-bar-container{border-radius:19px;display:block;height:38px;overflow:hidden;position:relative}.chart-bar-fill{border-radius:19px;display:block;height:100%;min-height:38px}.stats-chart-vertical{gap:8px;height:200px;padding:15px 0}.chart-bar-container-vertical{height:120px;width:25px}.chart-label-vertical,.chart-value-vertical{font-size:.8rem}.stats-table tbody tr{border-radius:14px;box-shadow:0 3px 10px #00000014;margin-bottom:18px}.stats-table td{font-size:.95rem;line-height:1.5;padding:14px 18px}.stats-table td:before{font-size:.85rem;font-weight:800;min-width:85px}.stats-table td[data-label=\C21C\C704]{padding:16px 18px}.stats-table td[data-label=\AC74\C218]{font-size:1.05rem}.stats-table .percentage-bar{height:26px}.stats-table .partner-name,.stats-table .product-name{font-size:1rem;font-weight:700}.stats-table .rank-badge{font-size:1rem;font-weight:800;height:36px;width:36px}.stats-grid{gap:10px}.stats-card{border-radius:10px;box-shadow:0 2px 8px #00000014;padding:18px}.stats-card-header{margin-bottom:16px}.assignee-name{font-size:1.05rem;font-weight:800}.stats-badge{font-size:.9rem;font-weight:700;padding:5px 10px}.breakdown-label{font-size:.9rem;font-weight:600}.breakdown-value{font-size:.95rem;font-weight:700;padding:4px 9px}.modal-container{max-height:92vh;width:98%}.modal-header{padding:16px 55px 16px 18px}.modal-header h3{font-size:1.15rem}.modal-close-btn{font-size:1.2rem;height:32px;right:16px;top:16px;width:32px}.modal-content{padding:14px 16px}.exception-item{border-radius:10px;margin-bottom:14px}.exception-summary{padding:16px}.summary-main{gap:12px}.product-name{font-size:.95rem;font-weight:700}.partner-name{font-size:.9rem;font-weight:600}.exception-type-badge{font-size:.8rem;font-weight:700;padding:5px 10px}.exception-id,.status-badge{font-size:.8rem}.status-badge{font-weight:700;padding:5px 10px}.exception-details{gap:16px;padding:18px}.expand-icon{font-size:.95rem}.info-label{font-size:.85rem;font-weight:700}.info-value{font-size:.9rem;font-weight:600}.action-text,.description-text,.discovery-text{font-size:.9rem;line-height:1.6;padding:12px 14px}.modal-empty .empty-icon{font-size:2.5rem}.modal-empty h4{font-size:1.1rem}.modal-empty p{font-size:.85rem}}@media (max-width:768px){.stats-page{background:#fff!important;padding:0!important}.stats-page-header{align-items:stretch!important;background:#6366f1!important;border-radius:0!important;box-shadow:0 2px 4px #0000001a!important;flex-direction:column!important;gap:12px!important;margin:0!important;padding:16px!important}.stats-page-header h1{color:#fff!important;font-size:1.3rem!important;font-weight:700!important;margin:0!important}.stats-filters{width:100%!important}.date-range-filter,.stats-filters{flex-direction:column!important;gap:10px!important}.date-range-filter{align-items:stretch!important}.date-inputs{align-items:center!important;flex-direction:row!important;gap:8px!important}.date-inputs input{background:#fff!important;border:1px solid #d1d5db!important;border-radius:6px!important;flex:1 1!important;font-size:14px!important;padding:10px!important}.date-inputs span{color:#fff!important;font-size:14px!important;font-weight:600!important}.stats-btn-primary,.stats-btn-secondary{border-radius:6px!important;font-size:14px!important;font-weight:600!important;padding:10px 16px!important;width:100%!important}.stats-btn-primary{background:#fff!important;border:none!important;color:#6366f1!important}.stats-btn-secondary{background:#f0f0f0!important;border:1px solid #d1d5db!important;color:#374151!important}.logistics-stats-section,.stats-summary-section{background:#fff!important;border-bottom:8px solid #f3f4f6!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:16px!important}.logistics-stats-section h2,.stats-summary-section h2{border-bottom:2px solid #e5e7eb!important;color:#111827!important;font-size:1.1rem!important;font-weight:700!important;margin:0 0 12px!important;padding-bottom:8px!important}.stats-summary-grid{gap:12px!important;grid-template-columns:1fr!important}.stats-summary-card{border-left:4px solid!important;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;gap:12px!important;padding:16px!important}.stats-icon{font-size:2rem!important}.stats-number{font-size:1.8rem!important;font-weight:700!important;margin-bottom:4px!important}.stats-label{font-size:.9rem!important;font-weight:600!important}.stats-chart-horizontal{gap:12px!important}.chart-bar-horizontal{align-items:stretch!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:8px!important;flex-direction:column!important;gap:8px!important;margin-bottom:8px!important;padding:12px!important}.chart-label{color:#374151!important;font-size:.95rem!important;font-weight:700!important;margin-bottom:4px!important;min-width:auto!important}.chart-bar-container,.chart-bar-fill{border-radius:18px!important;height:36px!important}.chart-bar-fill{min-height:36px!important}.chart-value{font-size:.9rem!important;font-weight:700!important}.stats-chart-vertical{gap:12px!important;height:250px!important;padding:12px 0!important}.chart-bar-container-vertical{height:150px!important;width:30px!important}.chart-label-vertical,.chart-value-vertical{font-size:.85rem!important;font-weight:600!important}.stats-table-container{border:none!important;overflow-x:visible!important}.stats-table{display:block!important;min-width:0!important}.stats-table thead{display:none!important}.stats-table tbody,.stats-table tbody tr{display:block!important}.stats-table tbody tr{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;margin-bottom:12px!important;overflow:hidden!important}.stats-table tbody tr:last-child{margin-bottom:0!important}.stats-table td{align-items:center!important;border-bottom:1px solid #f3f4f6!important;display:flex!important;font-size:.9rem!important;justify-content:space-between!important;padding:12px 16px!important}.stats-table td:last-child{border-bottom:none!important}.stats-table td:before{color:#6b7280!important;content:attr(data-label)!important;font-size:.85rem!important;font-weight:700!important;min-width:80px!important}.stats-table td[data-label=\C21C\C704]{background:#f9fafb!important;border-bottom:1px solid #e5e7eb!important;justify-content:center!important;padding:14px 16px!important}.stats-table td[data-label=\C21C\C704]:before{display:none!important}.stats-table td[data-label=\AC70\B798\CC98\CF54\B4DC],.stats-table td[data-label=\D488\BAA9\CF54\B4DC]{background:#f9fafb!important;font-family:Courier New,monospace!important;font-weight:600!important}.stats-table td[data-label=\AC70\B798\CC98\BA85],.stats-table td[data-label=\D488\BAA9\BA85]{background:#fffbeb!important}.stats-table td[data-label=\AC74\C218]{background:#f0f9ff!important;font-size:1rem!important;font-weight:700!important}.stats-table td[data-label=\BE44\C728]{align-items:stretch!important;background:#f9fafb!important;flex-direction:column!important;gap:8px!important;padding:14px 16px!important}.stats-table td[data-label=\BE44\C728]:before{align-self:flex-start!important;margin-bottom:4px!important}.stats-table .percentage-bar{border-radius:12px!important;height:24px!important;min-width:100%!important;width:100%!important}.stats-table .percentage-text{font-size:.85rem!important;font-weight:700!important}.stats-table .partner-name,.stats-table .product-name{color:#111827!important;font-size:.95rem!important;font-weight:600!important;max-width:none!important;text-align:right!important;white-space:normal!important}.stats-table .rank-badge{font-size:1rem!important;font-weight:700!important;height:36px!important;width:36px!important}.stats-grid{gap:12px!important;grid-template-columns:1fr!important}.stats-card{border:1px solid #e5e7eb!important;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;padding:16px!important}.stats-card:hover{box-shadow:0 4px 8px #00000026!important;transform:translateY(-2px)!important}.stats-card-header{margin-bottom:12px!important}.assignee-name{font-size:1rem!important;font-weight:700!important}.stats-badge{padding:4px 8px!important}.breakdown-label,.stats-badge{font-size:.85rem!important;font-weight:600!important}.breakdown-value{font-size:.9rem!important;font-weight:700!important;padding:4px 8px!important}.modal-container{border-radius:8px!important;max-height:90vh!important;width:95%!important}.modal-header{padding:16px 55px 16px 16px!important}.modal-header h3{font-size:1.1rem!important;font-weight:700!important}.modal-close-btn{font-size:1.2rem!important;height:32px!important;right:16px!important;top:16px!important;width:32px!important}.modal-content{padding:16px!important}.exception-list{gap:12px!important}.exception-item{border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;margin-bottom:0!important}.exception-summary{padding:14px!important}.summary-main{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}.summary-left,.summary-right{align-items:center!important;display:flex!important;gap:8px!important;justify-content:space-between!important;width:100%!important}.summary-right{border-top:1px solid #e5e7eb!important;padding-top:10px!important}.product-name{font-size:.9rem!important;font-weight:700!important;line-height:1.4!important}.partner-name,.product-name{flex:1 1!important;white-space:normal!important}.partner-name{font-size:.85rem!important;font-weight:600!important}.expand-icon{font-size:.9rem!important;margin-left:8px!important}.exception-type-badge{font-size:.75rem!important;font-weight:700!important;padding:4px 8px!important}.exception-id{font-size:.8rem!important}.status-badge{font-size:.75rem!important;font-weight:700!important;padding:4px 8px!important}.exception-details{gap:12px!important;padding:14px!important}.exception-info{grid-template-columns:1fr!important}.exception-info,.info-item{gap:8px!important}.info-label{font-weight:700!important;min-width:60px!important}.info-label,.info-value{font-size:.85rem!important}.info-value{font-weight:600!important}.action-text,.description-text,.discovery-text{font-size:.85rem!important;line-height:1.5!important;padding:12px!important}.modal-empty .empty-icon{font-size:2.5rem!important}.modal-empty h4{font-size:1.1rem!important;font-weight:700!important}.modal-empty p{font-size:.9rem!important}.stats-error,.stats-loading{font-size:1rem!important;height:300px!important}.modal-loading{padding:40px 20px!important}.modal-loading .loading-spinner{height:36px!important;width:36px!important}.modal-loading p{font-size:.9rem!important}}@media (max-width:480px){.stats-page-header h1{font-size:1.2rem!important}.date-inputs{flex-direction:column!important;gap:8px!important}.date-inputs input{width:100%!important}.stats-number{font-size:1.6rem!important}.chart-bar-horizontal{padding:10px!important}.stats-table td{padding:10px 14px!important}.stats-table td:before{min-width:70px!important}}.logistics-logs-page{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.page-header{border-left:4px solid #3b82f6;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:32px}.page-header h1{color:#1e293b;font-size:28px}.page-description{color:#64748b;font-size:16px}.filter-section{border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.filter-form{width:100%}.filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.filter-item{display:flex;flex-direction:column}.filter-item label{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}.filter-item input,.filter-item select{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.filter-item input:focus,.filter-item select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.logs-section{border-radius:16px}.logs-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:24px}.logs-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.loading{color:#64748b;padding:60px}.no-logs{padding:60px;text-align:center}.no-logs-icon{font-size:48px;margin-bottom:16px}.no-logs p{color:#64748b;font-size:16px;margin:0}.logs-table{overflow-x:auto}.table-header,.table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:80px 120px 120px 120px 150px 180px 80px;padding:16px 24px}.table-header{background:#f8fafc;font-size:14px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.table-row{border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.col-exception-id,.col-id{color:#3b82f6;font-weight:600}.col-action,.col-type{align-items:center;display:flex}.col-user{font-weight:500}.col-time{color:#64748b;font-size:13px}.col-actions{display:flex;justify-content:center}.action-badge,.type-badge{background-color:var(--badge-color);border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:600;min-width:60px;padding:4px 8px;text-align:center}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-secondary:disabled{background:#d1d5db;cursor:not-allowed}.btn-detail{background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;padding:6px 8px;transition:all .2s ease}.btn-detail:hover{background:#e5e7eb}.pagination{gap:16px;padding:24px}.page-info{color:#374151;font-weight:500}.log-detail-modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.modal-header{background:#f8fafc;justify-content:between;padding:24px}.modal-header h3{color:#1e293b;flex:1 1;font-size:20px}.modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px}.modal-close:hover{background:#e5e7eb}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{background:#f8fafc;border-top:1px solid #e5e7eb;padding:24px}.detail-grid{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.detail-item{flex-direction:column;gap:4px}.detail-item .label{color:#374151;font-size:14px;font-weight:600}.detail-item .value{color:#1e293b;font-size:15px}.changes-section,.new-values-section,.old-values-section{margin-bottom:24px}.changes-section h4,.new-values-section h4,.old-values-section h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 12px}.json-display{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;max-height:300px;overflow-x:auto;overflow-y:auto;padding:16px;white-space:pre-wrap}@media (max-width:768px){.logistics-logs-page{padding:16px}.page-header{padding:20px}.filter-section{padding:16px}.filter-grid{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.filter-actions .btn{flex:1 1;justify-content:center}.table-header,.table-row{font-size:13px;grid-template-columns:repeat(7,minmax(100px,1fr));padding:12px 16px}.logs-table{min-width:700px}.modal-overlay{padding:10px}.modal-body{padding:16px}.detail-grid{grid-template-columns:1fr}}.estimates-page{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.page-header{background:linear-gradient(135deg,#1e40af,#3730a3);box-shadow:0 4px 20px #1e40af40;color:#fff}.header-title p{color:#ffffffd9;font-weight:500}.btn-primary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;color:#000}.btn-primary:hover{background:#ffffff40;border-color:#fff6;color:#fff;transform:translateY(-1px)}.filters-section{border-radius:10px;box-shadow:0 1px 3px #00000014;padding:18px}.search-input{font-size:.9rem;padding:11px 14px}.estimates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.estimate-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:16px;transition:all .2s}.estimate-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001f}.estimate-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.estimate-info{flex:1 1}.estimate-title{font-size:1rem;margin:0 0 4px}.estimate-client{color:#6b7280;font-size:.85rem;font-weight:500;margin:2px 0}.estimate-date{color:#9ca3af;font-size:.8rem;margin:2px 0 0}.estimate-file-icon{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;flex-shrink:0;font-size:1.4rem;height:36px;justify-content:center;width:36px}.estimate-amount{color:#059669;font-size:.9rem;font-weight:600;margin:4px 0 0}.estimate-images-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:12px}.images-preview-label{color:#475569;font-size:.85rem;font-weight:600;margin-bottom:8px}.preview-image-item{background:#e2e8f0;border-radius:6px;cursor:pointer;padding-top:100%;position:relative;transition:transform .2s;width:100%}.preview-image-item:hover{transform:scale(1.05)}.preview-image-thumbnail{object-fit:cover}.preview-image-overlay,.preview-image-thumbnail{height:100%;left:0;position:absolute;top:0;width:100%}.preview-image-overlay{align-items:center;background:#000000b3;color:#fff;display:flex;font-size:1.2rem;font-weight:700;justify-content:center}.estimate-details{margin-bottom:12px}.detail-item{align-items:flex-start;margin-bottom:6px;padding:1px 0}.detail-label{color:#6b7280;flex-shrink:0;min-width:50px}.detail-label,.detail-value{font-size:.8rem;font-weight:500}.detail-value{color:#374151;flex:1 1;text-align:left;word-break:break-all}.estimate-actions{border-top:1px solid #f3f4f6;display:flex;gap:6px;padding-top:12px}.btn-delete,.btn-download,.btn-edit,.btn-preview{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:500;padding:6px 10px;text-align:center;transition:all .2s}.btn-download{background:#eff6ff;color:#1d4ed8}.btn-download:hover{background:#dbeafe}.btn-preview{background:#f0fdf4;color:#166534}.btn-preview:hover{background:#dcfce7}.btn-edit{background:#fffbeb;color:#d97706}.btn-edit:hover{background:#fef3c7}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#fee2e2}.empty-state{border:1px solid #f1f5f9;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:40px 20px}.empty-state h3{font-size:1.25rem;margin:0 0 8px}.empty-state p{font-size:.9rem;margin:0 0 16px}.estimates-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.estimates-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.estimates-modal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.estimates-modal-header h2{color:#111827;font-size:1.2rem;font-weight:600;margin:0}.estimates-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.estimates-close-btn:hover{background:#f3f4f6;color:#374151}.estimates-modal-content{flex:1 1;overflow-y:auto;padding:20px}.estimates-upload-form{display:flex;flex-direction:column;gap:14px}.form-row{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr 1fr}.form-group{gap:6px}.form-group label:after{color:#dc2626;content:" *"}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.file-upload-area{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:24px 16px;text-align:center;transition:all .2s}.file-upload-area:hover{background:#eff6ff;border-color:#3b82f6}.file-upload-label{color:#374151;font-size:.9rem;width:100%}.file-hint{color:#6b7280;margin-top:8px}.estimates-upload-progress{margin-top:12px}.estimates-progress-bar{background:#f3f4f6;border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden;width:100%}.estimates-progress-fill{background:#3b82f6;border-radius:4px;height:100%;transition:width .3s}.estimates-form-actions{background:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;margin:16px -20px -20px;padding:16px 20px}.estimates-btn-secondary{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.estimates-btn-secondary:hover{background:#f3f4f6;color:#374151}.estimates-btn-primary{background:#3b82f6;border:1px solid #3b82f6;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.estimates-btn-primary:hover{background:#2563eb;border-color:#2563eb}.estimates-btn-primary:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.preview-content{padding:16px 0}.preview-info{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:16px}.preview-info h3{color:#111827;font-size:1.1rem;font-weight:600;margin:0 0 12px}.preview-details{grid-gap:8px;display:grid;gap:8px}.preview-item{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.preview-item strong{color:#6b7280;font-weight:500}.preview-file{background:#f3f4f6;border-radius:8px;justify-content:space-between;padding:16px}.file-info,.preview-file{align-items:center;display:flex}.file-info{gap:12px}.file-icon{font-size:1.2rem}.file-name{color:#111827;font-size:.9rem}.file-size{color:#6b7280}.loading-container{background:#fff;border-radius:10px;padding:40px}.loading-spinner{border-top-color:#3b82f6;height:32px;margin-bottom:12px;width:32px}.error-message,.loading-container p{font-size:.9rem}.error-message{margin-bottom:20px;padding:12px 16px}@media (max-width:768px){.estimates-page{padding:16px}.page-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.header-title h1{font-size:1.5rem}.estimates-grid,.form-row{grid-template-columns:1fr}.modal{margin:10px;width:95%}.form-actions{flex-direction:column}.estimate-actions{flex-wrap:wrap}}@media (max-width:480px){.filters-section{padding:14px}.modal-content,.modal-header{padding:16px}.file-upload-area{padding:20px 12px}.estimate-card{padding:14px}}.current-file-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #00000005;margin-bottom:12px;padding:10px 12px}.file-info-row{align-items:center;color:#475569;display:flex;font-size:.8rem;gap:8px}.current-file-name{color:#1e293b;flex:1 1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:2px 6px}.file-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:1.1rem}.modal{border:1px solid #ffffff1a;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:80vh;max-width:420px;width:70%}.modal-header{background:linear-gradient(135deg,#fafafa,#f4f4f5);border-bottom:1px solid #f1f5f9;padding:16px 20px 10px}.modal-header h2{align-items:center;color:#1e293b;display:flex;font-size:1rem;gap:6px}.close-btn{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:50%;color:#64748b;font-size:1.1rem;height:28px;position:absolute;right:16px;top:12px;width:28px}.close-btn:hover{background:#fff;color:#ef4444;transform:scale(1.05)}.upload-form{padding:16px 20px}.form-group{margin-bottom:14px}.form-group label{font-size:.85rem;width:90%}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.85rem;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none;transform:translateY(-1px)}.form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:14px}.file-upload-area{margin-top:8px}.file-upload-label{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:block;font-size:.85rem;font-weight:500;padding:12px 16px;text-align:center;transition:all .2s}.file-upload-label:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#94a3b8;transform:translateY(-2px)}.file-hint{color:#64748b;display:block;font-size:.8rem;font-style:italic;margin-top:6px}.form-actions{border-top:1px solid #f1f5f9;gap:10px;margin-top:16px;padding-top:14px}.btn-primary,.btn-secondary{border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:hover{box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.btn-secondary{background:#fff;border-color:#d1d5db;color:#6b7280}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.edit-modal{max-width:550px!important;width:65%!important}.edit-modal .modal-header{padding:12px 16px 8px!important}.edit-modal .modal-header h2{font-size:.9rem!important}.edit-modal .close-btn{font-size:1rem!important;height:24px!important;right:12px!important;top:10px!important;width:24px!important}.edit-modal .upload-form{padding:12px 16px!important}.edit-modal .form-group{margin-bottom:10px!important}.edit-modal .form-group label{font-size:.8rem!important;margin-bottom:4px!important}.edit-modal .form-group input,.edit-modal .form-group select,.edit-modal .form-group textarea{border-radius:6px!important;font-size:.8rem!important;padding:8px 10px!important}.edit-modal .form-row{gap:8px!important;margin-bottom:10px!important}.edit-modal .current-file-info{margin-bottom:8px!important;padding:8px 10px!important}.edit-modal .file-info-row{font-size:.75rem!important;gap:6px!important}.edit-modal .file-upload-label{font-size:.8rem!important;padding:8px 12px!important}.edit-modal .form-actions{gap:8px!important;margin-top:12px!important;padding-top:10px!important}.edit-modal .btn-primary,.edit-modal .btn-secondary{font-size:.8rem!important;padding:8px 16px!important}.search-input-group{display:flex;gap:8px}.search-input-group input{flex:1 1}.btn-search{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 16px;transition:all .2s;white-space:nowrap}.btn-search:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.estimates-search-modal{max-width:700px}.estimates-search-modal-body{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow:hidden;padding:20px}.search-box-modal{display:flex;gap:10px}.search-box-modal input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:12px 16px;transition:border-color .2s}.search-box-modal input:focus{border-color:#3b82f6;outline:none}.btn-search-modal{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-search-modal:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-search-modal:disabled{background:#94a3b8;cursor:not-allowed}.search-results{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;min-height:300px;overflow-y:auto}.results-list{display:flex;flex-direction:column}.result-item{background:#fff;border-bottom:1px solid #e2e8f0;cursor:pointer;padding:16px;transition:all .2s}.result-item:hover{background:#f0f9ff;border-left:3px solid #3b82f6;padding-left:13px}.result-item:last-child{border-bottom:none}.result-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.result-main strong{color:#1e293b;font-size:1rem;font-weight:600}.result-code{background:#f1f5f9;border-radius:6px;color:#64748b;font-family:Courier New,monospace;font-size:.85rem;font-weight:500;padding:4px 10px}.result-sub{color:#64748b;font-size:.875rem;margin-top:4px}.empty-state,.loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-state{font-size:1rem}.empty-state p{color:#475569;margin:0 0 8px}.empty-state small{color:#94a3b8;font-size:.875rem}.image-preview-container{grid-gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:12px;padding:12px}.image-preview-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px;position:relative;transition:all .2s}.image-preview-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000001a}.preview-thumbnail{border-radius:6px;height:120px;margin-bottom:8px;object-fit:cover;width:100%}.image-info{display:flex;flex-direction:column;gap:4px}.image-name{color:#1e293b;font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{color:#64748b;font-size:.7rem}.btn-remove-image{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s;width:24px}.btn-remove-image:hover{background:#dc2626;transform:scale(1.1)}.image-viewer-overlay{animation:fadeIn .2s ease-out;background:#000000f2;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.image-viewer-container,.image-viewer-overlay{align-items:center;display:flex;justify-content:center}.image-viewer-container{flex-direction:column;height:100%;padding:60px 80px 120px;position:relative;width:100%}.image-viewer-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:50px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:50px;z-index:10}.image-viewer-close:hover{background:#fff3;transform:rotate(90deg)}.image-viewer-counter{background:#00000080;border-radius:20px;color:#fff;font-size:1rem;font-weight:500;left:50%;padding:8px 16px;position:absolute;top:20px;transform:translateX(-50%);z-index:10}.image-viewer-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;max-width:1200px;width:100%}.image-viewer-image{border-radius:8px;box-shadow:0 8px 32px #00000080;max-height:100%;max-width:100%;object-fit:contain}.image-viewer-filename{background:#00000080;border-radius:8px;color:#fff;font-size:.9rem;margin-top:20px;padding:8px 16px;text-align:center}.image-viewer-next,.image-viewer-prev{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:3rem;height:60px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;width:60px;z-index:10}.image-viewer-prev{left:20px}.image-viewer-next{right:20px}.image-viewer-next:hover,.image-viewer-prev:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.image-viewer-thumbnails{background:#00000080;border-radius:12px;bottom:20px;display:flex;gap:10px;left:50%;max-width:90%;overflow-x:auto;padding:10px;position:absolute;transform:translateX(-50%)}.thumbnail-item{border:3px solid #0000;border-radius:6px;flex-shrink:0;height:60px;width:60px}.thumbnail-item:hover{border-color:#ffffff80;transform:scale(1.05)}.thumbnail-item.active{border-color:#3b82f6}@media (max-width:768px){.image-viewer-container{padding:80px 20px 100px}.image-viewer-next,.image-viewer-prev{font-size:2rem;height:50px;width:50px}.image-viewer-prev{left:10px}.image-viewer-next{right:10px}.image-viewer-thumbnails{max-width:95%;padding:8px}.thumbnail-item{height:50px;width:50px}}.current-images-section{margin-bottom:15px}.images-label{color:#64748b;font-size:.9rem;font-weight:500;margin-bottom:10px}.current-images-grid{display:grid}.current-image-item{aspect-ratio:1;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;position:relative}.current-image-item img{height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;transition:all .2s;width:24px}.remove-image-btn:hover{background:#dc2626;transform:scale(1.1)}.new-images-preview{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px}.preview-image-item{background:#eff6ff;border:2px dashed #3b82f6;border-radius:8px;height:100px;overflow:hidden;padding:0;width:100px}.preview-image-item img{height:100%;object-fit:cover;width:100px}.remove-preview-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;transition:all .2s;width:24px}.remove-preview-btn:hover{background:#dc2626;transform:scale(1.1)}.preview-image-item .image-name{background:#000000b3;bottom:0;color:#fff;font-size:.7rem;left:0;overflow:hidden;padding:4px 6px;position:absolute;right:0;text-overflow:ellipsis;white-space:nowrap}.estimates-detail-modal{max-height:90vh;max-width:800px}.detail-section{background:#f8fafc;margin-bottom:20px;padding:20px}.detail-row{grid-gap:16px;border-bottom:1px solid #e2e8f0;display:grid;gap:16px;grid-template-columns:150px 1fr;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row.full-width{grid-template-columns:1fr}.detail-label{color:#475569;font-size:.95rem;font-weight:600}.detail-value{color:#1e293b;font-size:.95rem}.detail-value.highlight{color:#2563eb;font-size:1.1rem;font-weight:600}.detail-value.notes{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:12px;white-space:pre-wrap}.status-badge{border-radius:12px;font-size:.85rem;padding:4px 12px}.status-badge.status-draft{background:#f1f5f9;color:#64748b}.status-badge.status-sent{background:#dbeafe;color:#1e40af}.status-badge.status-approved{background:#d1fae5;color:#065f46}.status-badge.status-rejected{color:#991b1b}.status-badge.status-completed{background:#e0e7ff;color:#3730a3}.section-title{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.file-list{gap:12px}.file-item{border-radius:8px;gap:12px;padding:12px}.file-icon{font-size:2rem}.file-info{flex:1 1}.file-name{color:#1e293b}.file-size{color:#64748b;font-size:.85rem}.btn-download{background:#3b82f6;color:#fff;font-weight:500;padding:8px 16px;transition:background .2s}.btn-download:hover{background:#2563eb}.detail-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.detail-image-item{aspect-ratio:1;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s}.detail-image-item:hover{border-color:#3b82f6;transform:scale(1.05)}.detail-image-item img{height:100%;object-fit:cover;width:100%}.detail-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.estimates-btn-danger{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.estimates-btn-danger:hover{background:#dc2626}.estimate-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.estimate-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.estimate-logs-page{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.page-header{background:linear-gradient(135deg,#059669,#047857);border-radius:12px;box-shadow:0 4px 20px #05966940;margin-bottom:24px;padding:24px 28px}.header-title h1{font-size:1.75rem;font-weight:600;margin:0}.header-title p{color:#000000d9;font-size:.9rem;margin:4px 0 0}.refresh-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.refresh-btn:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-1px)}.estimate-stats-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:20px;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-icon{font-size:2.5rem;opacity:.8}.stat-info{flex:1 1}.stat-number{color:#111827;font-size:2rem;font-weight:700;margin-bottom:4px}.stat-label{color:#6b7280;font-size:.9rem}.search-box{margin-bottom:16px}.search-input{background:#fff;font-size:.95rem}.search-input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a}.filter-controls{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-input:focus,.filter-select:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a}.logs-section{background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-header{grid-template-columns:180px 120px 140px 1fr 180px}.header-cell{align-items:center;display:flex;justify-content:center;width:100%}.table-row{grid-template-columns:180px 120px 140px 1fr 180px}.cell{align-items:flex-start;padding-right:12px}.timestamp-cell{flex-direction:column;justify-content:center}.timestamp{color:#6b7280;font-size:.8rem;line-height:1.3}.action-cell{justify-content:flex-start}.action-badge{align-items:center;border-radius:20px;display:flex;font-size:.8rem;gap:6px;padding:6px 10px}.action-icon{font-size:.9rem}.user-cell{justify-content:flex-start}.user-info{align-items:center;gap:8px}.user-avatar{align-items:center;background:#e5e7eb;border-radius:50%;display:flex;font-size:.8rem;height:28px;justify-content:center;width:28px}.username{color:#374151;font-size:.85rem;font-weight:500}.estimate-cell{align-items:flex-start;flex-direction:column;justify-content:flex-start}.estimate-info{width:100%}.estimate-title{color:#111827;font-size:.9rem;font-weight:600;line-height:1.3;margin-bottom:4px}.estimate-client,.estimate-date{color:#6b7280;font-size:.8rem;margin-bottom:2px}.file-cell{align-items:flex-start;flex-direction:column;justify-content:flex-start}.file-info{width:100%}.file-name{font-size:.85rem;line-height:1.3;margin-bottom:4px;word-break:break-all}.file-size{font-size:.8rem}.loading-spinner{border-top-color:#059669}@media (max-width:1200px){.table-header,.table-row{grid-template-columns:160px 100px 120px 1fr 160px}}@media (max-width:768px){.estimate-logs-page{padding:16px}.page-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.header-title h1{font-size:1.5rem}.estimate-stats-section{grid-template-columns:repeat(2,1fr)}.filter-controls,.table-header,.table-row{grid-template-columns:1fr}.table-header,.table-row{gap:12px}.table-header{display:none}.table-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;margin-bottom:12px;padding:16px}.cell{margin-bottom:8px;padding-right:0}.cell:last-child{margin-bottom:0}.timestamp-cell:before{color:#6b7280;content:"시간: ";font-weight:600}.action-cell:before{content:"활동: "}.action-cell:before,.user-cell:before{color:#6b7280;font-weight:600;margin-right:8px}.user-cell:before{content:"사용자: "}.estimate-cell:before{content:"견적서: "}.estimate-cell:before,.file-cell:before{color:#6b7280;font-weight:600;margin-bottom:4px}.file-cell:before{content:"파일: "}}@media (max-width:480px){.estimate-stats-section{grid-template-columns:1fr}.stat-card{padding:16px}.stat-number{font-size:1.5rem}.filters-section{padding:16px}}.task-reports-page{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.reports-page-header{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;box-shadow:0 4px 20px #6366f140;color:#fff;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 28px}.reports-header-title h1{font-size:1.75rem;font-weight:600;margin:0}.reports-header-title p{color:#ffffffd9;font-size:.9rem;margin:4px 0 0}.filters-section{border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.filter-row{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-group{gap:6px}.filter-group label{color:#374151;font-size:.9rem}.filter-input,.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:10px 12px;transition:all .2s}.filter-input:focus,.filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.reports-section{background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.section-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.section-header h2{color:#111827;font-size:1.25rem}.count-badge{background:#6366f1;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 12px}.reports-table{width:100%}.table-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;font-size:.9rem;font-weight:600;grid-template-columns:150px 120px 80px 80px 100px 120px 100px;padding:16px 20px}.table-body{max-height:600px;overflow-y:auto}.table-row{border-bottom:1px solid #f3f4f6;display:grid;grid-template-columns:150px 120px 80px 80px 100px 120px 100px;padding:16px 20px;transition:all .2s}.table-row:hover{background:#f8fafc}.table-row:last-child{border-bottom:none}.cell{align-items:center;display:flex;font-size:.85rem;padding-right:0}.cell,.user-cell{justify-content:center}.user-cell{align-items:flex-start;flex-direction:column}.user-info{display:flex;flex-direction:column;gap:2px;width:100%}.user-name{color:#111827;font-size:.9rem}.user-username{color:#6b7280;font-size:.8rem}.count-cell{justify-content:center}.count-number{color:#374151;font-size:1rem;font-weight:600}.count-number.completed{color:#059669}.status-badge{border-radius:20px;font-size:.75rem;padding:4px 10px;white-space:nowrap}.status-badge.status-submitted{background:#dbeafe;color:#1d4ed8}.status-badge.status-reviewed{background:#d1fae5;color:#065f46}.status-badge.status-rejected{background:#fee2e2;color:#dc2626}.actions-cell{justify-content:center}.btn-view{align-items:center;background:#eff6ff;border:none;border-radius:5px;color:#1d4ed8;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:4px;padding:6px 10px;transition:all .2s}.btn-view:hover{background:#dbeafe}.btn-secondary{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.btn-secondary:hover{background:#f3f4f6}.btn-primary{align-items:center;background:#6366f1;border:1px solid #6366f1;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 18px;transition:all .2s}.btn-primary:hover{background:#4f46e5;border-color:#4f46e5}.pagination{background:#f9fafb;border-top:1px solid #e5e7eb;padding:20px}.btn-page{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:all .2s}.btn-page:hover:not(:disabled){background:#f3f4f6}.btn-page:disabled{cursor:not-allowed;opacity:.5}.btn-page.active{background:#6366f1;border-color:#6366f1;color:#fff}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px}.loading-spinner{border:3px solid #f3f4f6;border-top-color:#6366f1}.loading-container p{color:#6b7280;font-size:1rem;margin:0}.empty-state{padding:60px 20px}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-state h3{color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 12px}.empty-state p{color:#6b7280;font-size:1rem}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;display:flex;justify-content:space-between;margin:20px;padding:16px 20px}.error-message button{background:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px}.access-denied{background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.access-denied h2{color:#dc2626;margin-bottom:12px}.access-denied p{color:#6b7280;font-size:1rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{box-shadow:0 20px 40px #00000026;max-height:85vh;max-width:500px;overflow-y:auto;width:90%}.modal.large-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0}.modal-header h3{color:#111827;font-size:1.2rem;font-weight:600;margin:0}.modal-header-actions{align-items:center;display:flex;gap:12px}.btn-download-pdf{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-download-pdf:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-download-pdf:active{transform:translateY(0)}.close-btn{align-items:center;border-radius:6px;display:flex;height:32px;justify-content:center;width:32px}.modal-content{max-height:calc(80vh - 100px);overflow-y:auto;padding:24px}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.report-info-section{margin-bottom:24px}.report-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.meta-item{color:#374151;font-size:.9rem}.meta-item strong{color:#111827;font-weight:600}.review-comment{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.review-comment strong{color:#111827;font-size:.9rem;font-weight:600}.review-comment p{color:#374151;line-height:1.5;margin:8px 0 0}.summary-section{margin-bottom:24px}.summary-section h4{color:#111827;font-size:1.1rem;font-weight:600;margin:0 0 16px}.summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.summary-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:16px}.summary-card.completed{background:#f0fdf4;border-color:#bbf7d0}.summary-card.in-progress{background:#fef3c7;border-color:#fde68a}.summary-card.pending{background:#fef2f2;border-color:#fecaca}.card-icon{font-size:1.5rem}.card-content{flex:1 1}.card-number{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:2px}.card-label{color:#6b7280;font-size:.8rem;font-weight:500}.tasks-section{margin-bottom:24px}.tasks-section h4{color:#111827;font-size:1.1rem;font-weight:600;margin:0 0 16px}.no-tasks{font-style:italic;padding:20px}.tasks-list{max-height:400px;overflow-y:auto}.task-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px}.task-item.completed{border-left:4px solid #059669}.task-item.in_progress{border-left:4px solid #f59e0b}.task-item.requested{border-left:4px solid #6b7280}.task-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.task-number{background:#f3f4f6;color:#6b7280;font-size:.8rem}.task-number,.task-priority,.task-status{border-radius:12px;font-weight:600;padding:2px 8px}.task-priority,.task-status{font-size:.75rem;white-space:nowrap}.task-status.completed{background:#d1fae5;color:#065f46}.task-status.in_progress{background:#fef3c7;color:#92400e}.task-status.requested{background:#f3f4f6;color:#6b7280}.task-priority.urgent{background:#fee2e2;color:#dc2626}.task-priority.high{background:#fed7aa;color:#ea580c}.task-priority.normal{background:#dbeafe;color:#2563eb}.task-priority.low{background:#f3f4f6;color:#6b7280}.task-title{color:#111827;font-weight:600;line-height:1.4;margin-bottom:6px}.task-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin-bottom:8px}.task-meta{color:#9ca3af;display:flex;font-size:.8rem;gap:16px}.task-meta span{align-items:center;display:flex;gap:4px}.review-actions{border-top:1px solid #e5e7eb;padding-top:20px;text-align:center}.form-group{margin-bottom:16px}.form-group label{font-size:.9rem;margin-bottom:6px}.form-select,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:10px 12px;transition:all .2s;width:100%}.form-select:focus,.form-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-textarea{min-height:80px}.form-actions{border-top:1px solid #e5e7eb;padding-top:16px}.tasks-by-status-container{display:flex;flex-direction:column;gap:20px}.task-status-group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.status-group-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;font-size:1rem;font-weight:600;gap:12px;padding:16px 20px}.status-group-header.completed{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.status-group-header.in_progress{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.status-group-header.requested{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.status-group-header.problem{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.status-group-header.cancelled{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff}.status-icon{font-size:1.2rem}.status-title{flex:1 1}.status-count{background:#ffffff4d;border-radius:20px;font-size:.85rem;padding:4px 12px}.status-group-tasks{padding:8px}.task-accordion-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden;transition:all .3s ease}.task-accordion-item:hover{box-shadow:0 2px 8px #00000014}.task-accordion-item.expanded{box-shadow:0 4px 12px #0000001a}.task-accordion-header{align-items:center;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s}.task-accordion-header:hover{background:#f3f4f6}.task-header-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.task-index{color:#6b7280;font-size:.85rem;font-weight:500;min-width:30px}.task-title-text{color:#111827;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-badge{font-size:1rem}.expand-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:transform .2s}.task-accordion-content{animation:slideDown .3s ease;background:#fff;border-top:1px solid #e5e7eb;padding:20px}.task-description-box{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:14px}.task-description-box strong{color:#374151;display:block;font-size:.85rem;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.task-description-box p{color:#111827;line-height:1.6;margin:0;white-space:pre-wrap}.task-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.info-value{color:#111827;font-size:.9rem;font-weight:500}.info-value.due-date{color:#dc2626}.no-tasks{font-size:.95rem;padding:32px}.empty-content,.no-tasks{color:#6b7280;text-align:center}.empty-content{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:48px}.empty-content p{font-size:.95rem;margin:0}@media (max-width:1200px){.table-header,.table-row{grid-template-columns:130px 100px 70px 70px 90px 100px 80px}.summary-cards,.task-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.task-reports-page{padding:12px}.reports-page-header{flex-direction:column;gap:12px;padding:16px;text-align:left}.reports-header-title h1{font-size:1.4rem}.reports-header-title p{font-size:.85rem}.filters-section{padding:16px}.filter-row{gap:12px;grid-template-columns:1fr}.filter-group label{font-size:.85rem}.filter-input,.filter-select{font-size:.85rem;padding:10px}.btn-secondary{font-size:.85rem;padding:10px 16px;width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:8px;padding:16px}.section-header h2{font-size:1.1rem}.count-badge{font-size:.75rem;padding:3px 10px}.table-header{display:none}.table-body{max-height:none}.table-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000d;display:block;margin-bottom:12px;padding:14px}.table-row:hover{box-shadow:0 4px 12px #0000001a}.cell{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.cell:last-child{border-bottom:none}.cell:before{color:#6b7280;content:attr(data-label);flex-shrink:0;font-size:.8rem;font-weight:600;min-width:80px}.user-cell{align-items:center;flex-direction:row;justify-content:space-between}.user-cell:before{content:"제출자"}.user-info{text-align:right}.user-name{font-size:.85rem}.user-username{font-size:.75rem}.count-cell{justify-content:space-between}.count-number{font-size:.9rem}.status-cell{justify-content:space-between}.btn-view{font-size:.8rem;justify-content:center;padding:8px 12px;width:100%}.pagination{gap:6px;padding:16px}.btn-page{font-size:.85rem;padding:8px 10px}.page-numbers{gap:4px}.empty-state,.loading-container{padding:40px 20px}.empty-icon{font-size:3rem}.empty-state h3{font-size:1.2rem}.empty-state p{font-size:.9rem}.modal{margin:10px;max-height:90vh;width:95%}.modal.large-modal{max-width:none;width:95%}.modal-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.modal-header h3{font-size:1.1rem}.modal-header-actions{flex-direction:column;width:100%}.btn-download-pdf{font-size:.85rem;justify-content:center;padding:10px 16px;width:100%}.close-btn{position:absolute;right:16px;top:16px}.modal-content{padding:16px}.report-meta{gap:10px;grid-template-columns:1fr}.meta-item{border-bottom:1px solid #f3f4f6;font-size:.85rem;padding:8px 0}.meta-item:last-child{border-bottom:none}.review-comment{font-size:.85rem;padding:12px}.summary-section h4,.tasks-section h4{font-size:1rem;margin-bottom:12px}.summary-cards{gap:10px;grid-template-columns:repeat(2,1fr)}.summary-card{align-items:flex-start;flex-direction:column;padding:12px}.card-icon,.card-number{font-size:1.3rem}.card-label{font-size:.75rem}.task-status-group{margin-bottom:12px}.status-group-header{font-size:.9rem;padding:12px 16px}.status-icon{font-size:1rem}.status-count{font-size:.75rem;padding:3px 10px}.status-group-tasks{padding:6px}.task-accordion-item{margin-bottom:6px}.task-accordion-header{padding:12px}.task-header-left{gap:8px}.task-index{font-size:.75rem;min-width:25px}.task-title-text{font-size:.85rem}.priority-badge{font-size:.9rem}.expand-btn{font-size:.75rem}.task-accordion-content{padding:14px}.task-description-box{font-size:.85rem;padding:12px}.task-description-box strong{font-size:.8rem}.task-info-grid{gap:12px;grid-template-columns:1fr}.info-label{font-size:.7rem}.info-value{font-size:.85rem}.form-actions{flex-direction:column;gap:10px}.form-actions button{padding:12px 16px;width:100%}.btn-primary{font-size:.85rem;padding:12px 18px}.review-actions{padding-top:16px}.review-actions .btn-primary{width:100%}}@media (max-width:480px){.task-reports-page{padding:10px}.reports-page-header{padding:14px}.reports-header-title h1{font-size:1.2rem}.reports-header-title p{font-size:.8rem}.filters-section{padding:12px}.filter-group label{font-size:.8rem}.filter-input,.filter-select{font-size:.8rem;padding:8px 10px}.table-row{padding:12px}.cell{font-size:.8rem;padding:6px 0}.cell:before{font-size:.75rem;min-width:70px}.user-name{font-size:.8rem}.user-username{font-size:.7rem}.modal-header{padding:12px}.modal-header h3{font-size:1rem}.modal-content{padding:12px}.summary-cards{grid-template-columns:1fr}.summary-card{padding:10px}.card-number{font-size:1.2rem}.card-label{font-size:.7rem}.task-accordion-header{padding:10px}.task-title-text{font-size:.8rem}.task-accordion-content{padding:12px}.task-description-box{font-size:.8rem;padding:10px}.info-label{font-size:.65rem}.info-value{font-size:.8rem}.btn-view{font-size:.75rem;padding:6px 10px}.btn-download-pdf{font-size:.8rem;padding:8px 12px}}.quotation-create-page{background-color:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.quotation-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.header-left{align-items:center;display:flex;gap:15px}.btn-back{background:#f0f0f0;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:none;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-back:hover{background:#e5e5e5}.quotation-header h1{color:#333;font-size:28px;margin:0}.quotation-actions{gap:10px}.alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:15px}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.alert-success p{margin:0 0 15px}.download-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.btn-download{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-download-internal{background-color:#28a745;color:#fff}.btn-download-internal:hover{background-color:#218838;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-download-external{background-color:#007bff;color:#fff}.btn-download-external:hover{background-color:#0056b3;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.quotation-form{display:flex;flex-direction:column;gap:20px}.form-section{background:#fff;box-shadow:0 2px 4px #0000001a;padding:25px}.form-section h2{border-bottom:2px solid #007bff;color:#333;margin:0 0 20px;padding-bottom:10px}.section-header h2{border:none;padding:0}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column}.form-group-full{grid-column:1/-1}.form-group input,.form-group textarea{border-radius:4px;padding:10px 12px}.form-group input:focus,.form-group textarea:focus{border-color:#007bff}.material-type-select{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px;transition:all .3s}.material-type-select:hover{background-color:#e9ecef;border-color:#007bff}.material-type-select:focus{border-color:#007bff;outline:none}.readonly-input{background-color:#f9f9f9;cursor:not-allowed}.items-table td{padding:0}.table-input{background-color:initial;border:none;box-sizing:border-box;font-family:inherit;font-size:11px;height:100%;margin:0;min-height:32px;outline:none;padding:6px 4px;width:100%}.table-input:focus{background-color:#fff9e6;box-shadow:inset 0 0 0 2px #007bff}.table-input.readonly-input{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.table-input.readonly-input:focus{background-color:#f8f9fa;box-shadow:none}.col-action{min-width:45px;width:4%}.cell-center{padding:8px}.item-image-upload{align-items:center;display:flex;flex-direction:column;gap:8px;padding:4px}.btn-file-upload{background-color:#007bff;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:11px;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-file-upload:hover{background-color:#0056b3;transform:translateY(-1px)}.image-preview-mini{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:150px}.mini-image-item{border:1px solid #dee2e6;border-radius:4px;height:40px;overflow:hidden;position:relative;width:40px}.mini-image-item img{display:block;height:100%;object-fit:cover;width:100%}.btn-remove-mini{align-items:center;background-color:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;line-height:1;padding:0;position:absolute;right:-4px;top:-4px;transition:all .2s;width:16px}.btn-remove-mini:hover{background-color:#c82333;transform:scale(1.1)}.btn-table-remove{background-color:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;line-height:1;padding:4px 8px;transition:all .2s}.btn-table-remove:hover{background-color:#c82333;transform:scale(1.1)}.btn-add-item,.btn-save,.btn-save-large{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-save{background-color:#007bff;color:#fff}.btn-save:hover:not(:disabled){background-color:#0056b3}.btn-save:disabled{background-color:#ccc;cursor:not-allowed}.btn-add-item{background-color:#28a745;color:#fff}.btn-add-item:hover{background-color:#218838}.btn-save-large{background-color:#007bff;color:#fff;font-size:16px;padding:15px 40px}.btn-save-large:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-save-large:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.btn-save-request-large{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 40px;transition:all .3s}.btn-save-request-large:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-save-request-large:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.quotation-footer{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:30px 0}.image-upload-area{background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:40px;text-align:center;transition:all .3s}.image-upload-area:focus{background-color:#f0f8ff;border-color:#007bff;outline:none}.image-upload-area.dragging{background-color:#e3f2fd;border-color:#007bff;transform:scale(1.02)}.upload-instruction{margin-bottom:20px}.upload-instruction p{color:#555;font-size:16px;margin:8px 0}.upload-instruction-sub{color:#999;font-size:13px}.btn-upload{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-upload:hover{background-color:#0056b3;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.attachments-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.attachment-item{border:1px solid #ddd}.attachment-item.pending{background-color:#fffbf0;border:2px dashed #ffc107}.attachment-item.pending:hover{box-shadow:0 4px 8px #ffc1074d}.attachment-thumbnail{height:200px}.attachment-filename{font-size:13px;margin:0 0 10px}.pending-badge{background-color:#fff3cd;border-radius:4px;color:#856404;display:block;font-size:11px;font-weight:600;margin-bottom:8px;padding:4px 8px;text-align:center}.btn-delete-attachment{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px;transition:all .3s;width:100%}.btn-delete-attachment:hover{background-color:#c82333}.upload-disabled-message{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;padding:30px;text-align:center}.upload-disabled-message p{color:#999;font-size:15px;margin:0}@media (max-width:768px){.quotation-create-page{padding:0}.quotation-header{align-items:flex-start;border-radius:0;flex-direction:column;gap:15px;margin-bottom:0;padding:16px}.header-left{gap:10px;width:100%}.btn-back{align-items:center;display:flex;font-size:14px;justify-content:center;padding:10px 14px}.quotation-header h1{font-size:1.3rem}.btn-save,.quotation-actions{width:100%}.form-grid{grid-template-columns:1fr}.form-section{border-radius:0;margin-bottom:0;padding:15px}.items-table-wrapper{gap:20px}.table-section{border-radius:0}.purchase-table-section{border-radius:0;padding:15px}.items-table{font-size:10px;table-layout:auto}.items-table th{font-size:10px;padding:6px 3px}.table-input{font-size:10px;min-height:28px;padding:4px 3px}.col-index{min-width:30px}.col-small{min-width:50px}.col-medium{min-width:65px}.col-product-name{min-width:100px}.col-action{min-width:40px}.table-scroll{overflow-x:auto}.image-preview-mini{max-width:100px}.mini-image-item{height:30px;width:30px}.btn-file-upload{font-size:10px;padding:4px 8px}}.quotation-list-page{background-color:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.quotation-list-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.quotation-list-header h1{color:#333;font-size:28px;margin:0}.search-section{margin-bottom:10px;padding:20px;position:relative}.filter-section,.search-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filter-section{align-items:center;display:flex;gap:10px;margin-bottom:20px;padding:15px 20px}.filter-section label{color:#333;font-weight:600}.status-filter{border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 15px;transition:border-color .3s}.status-filter:focus{border-color:#007bff;outline:none}.search-input{border:2px solid #ddd;font-size:15px;padding:12px 40px 12px 15px;transition:border-color .3s}.search-input:focus{border-color:#007bff}.btn-clear-search{background:none;border:none;color:#999;cursor:pointer;font-size:20px;padding:5px 10px;position:absolute;right:30px;top:50%;transform:translateY(-50%)}.btn-clear-search:hover{color:#333}.no-results{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:60px}.no-results p{color:#666;font-size:18px}.btn-create{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:20px;box-shadow:0 2px 6px #6366f14d;color:#fff;font-size:14px;font-weight:500;line-height:1.3;padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn-create:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.empty-state p{margin-bottom:20px}.btn-create-large{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:24px;box-shadow:0 3px 8px #6366f14d;color:#fff;display:inline-block;font-size:15px;font-weight:500;line-height:1.3;padding:12px 32px;text-decoration:none;transition:all .2s ease}.btn-create-large:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 6px 16px #6366f166;transform:translateY(-2px)}.quotation-list-container{display:flex;flex-direction:column;gap:15px}.quotation-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:all .3s}.quotation-card:hover{box-shadow:0 4px 8px #00000026}.quotation-card-requested{background:linear-gradient(90deg,#fffbf0 0,#fff 10%);border-left:6px solid #ffc107}.quotation-card-requested:hover{box-shadow:0 4px 12px #ffc1074d;transform:translateY(-2px)}.quotation-card-completed{background:linear-gradient(90deg,#f0fff4 0,#fff 10%);border-left:6px solid #28a745}.quotation-card-completed:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.quotation-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background-color .2s}.quotation-header:hover{background-color:#f8f9fa}.quotation-header.expanded{background-color:#e3f2fd;border-bottom:2px solid #007bff}.quotation-card-requested .quotation-header.expanded{background-color:#fff9e6;border-bottom:2px solid #ffc107}.quotation-card-completed .quotation-header.expanded{background-color:#e6f7ed;border-bottom:2px solid #28a745}.quotation-info{grid-gap:12px;align-items:center;display:grid;flex:1 1;gap:12px;grid-template-columns:50px 100px 1fr 150px 120px 100px 120px;padding-right:20px}.quotation-left{align-items:center;display:flex;flex-shrink:0;justify-content:center}.quotation-badges{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.quotation-center,.quotation-title-row{align-items:center;display:flex;min-width:0}.quotation-title-row{gap:10px;width:100%}.expand-arrow{color:#6c757d;flex-shrink:0;font-size:14px;transition:transform .2s}.quotation-number{color:#6c757d;flex-shrink:0;font-size:13px;font-weight:700}.quotation-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#007bff;display:-webkit-box;flex:1 1;font-size:13px;font-weight:600;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis}.quotation-author,.quotation-date,.quotation-items,.quotation-receiver{color:#666;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quotation-receiver,.status-badge{font-weight:600}.status-badge{border-radius:10px;display:inline-block;font-size:11px;padding:3px 8px}.status-requested{background-color:#fff3cd;border:1px solid #ffc107;color:#856404}.status-completed{background-color:#d4edda;border:1px solid #28a745;color:#155724}.company-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.company-gamseongpack,.company-leejin{color:#666}.quotation-receiver{color:#333;font-weight:500}.quotation-actions{display:flex;flex-wrap:wrap;gap:8px}.quotation-detail{animation:slideDown .3s ease-out;background-color:#fff;border-top:2px solid #e9ecef;padding:20px}.quotation-card-requested .quotation-detail{background-color:#fffef9;border-top:2px solid #ffc107}.quotation-card-completed .quotation-detail{background-color:#f9fefb;border-top:2px solid #28a745}.action-buttons{flex-wrap:wrap;gap:5px}.quotation-btn-delete,.quotation-btn-download,.quotation-btn-edit,.quotation-btn-preview,.quotation-btn-status{align-items:center;border:none;border-radius:16px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;height:30px;justify-content:center;line-height:1;min-width:70px;padding:0 14px;text-align:center;text-decoration:none;transition:all .2s ease;white-space:nowrap}.quotation-btn-status.quotation-btn-complete{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.quotation-btn-status.quotation-btn-complete:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 6px #10b9814d;transform:translateY(-1px)}.quotation-btn-status.quotation-btn-request{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.quotation-btn-status.quotation-btn-request:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 2px 6px #f59e0b4d;transform:translateY(-1px)}.quotation-btn-edit{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.quotation-btn-edit:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 6px #8b5cf64d;transform:translateY(-1px)}.quotation-btn-preview{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.quotation-btn-preview:hover{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 2px 6px #64748b4d;transform:translateY(-1px)}.quotation-btn-download.quotation-btn-internal{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.quotation-btn-download.quotation-btn-internal:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 6px #3b82f64d;transform:translateY(-1px)}.quotation-btn-download.quotation-btn-external{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.quotation-btn-download.quotation-btn-external:hover{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 2px 6px #06b6d44d;transform:translateY(-1px)}.quotation-btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.quotation-btn-delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 6px #ef44444d;transform:translateY(-1px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;margin:20px 0;padding:16px}.detail-section:first-child{margin-top:0}.detail-section:last-child{margin-bottom:0}.detail-section h3{align-items:center;border-bottom:3px solid #1e3c72;color:#1e3c72;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 16px;padding-bottom:10px}.quotation-info-table{border:1px solid #e2e8f0;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.quotation-info-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap;width:120px}.quotation-info-table td{background-color:#fff;border:1px solid #e2e8f0;color:#1a1a1a;font-size:14px;font-weight:500;padding:12px 16px}.quotation-info-table tr:hover{background-color:#f8fafc}.quotation-info-table tr:hover th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.quotation-info-table tr:hover td{background-color:#f8fafc}.detail-grid{grid-gap:14px 20px;display:grid;gap:14px 20px;grid-template-columns:repeat(3,1fr)}.detail-item{align-items:center;display:flex;font-size:14px;gap:8px}.detail-item label{color:#666;flex-shrink:0;font-size:13px;font-weight:700}.detail-item span{color:#1a1a1a;font-size:14px;font-weight:500;word-break:break-word}.detail-items-table{border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-top:8px;overflow-x:auto}.detail-items-table table{border:none;border-collapse:initial;border-radius:10px;border-spacing:0;overflow:hidden;width:100%}.detail-items-table th{background:linear-gradient(135deg,#1e3c72,#2a5298);border-bottom:none;color:#fff;font-size:14px;font-weight:700;letter-spacing:.3px;padding:14px 12px;position:-webkit-sticky;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:10}.detail-items-table th:first-child{padding-left:16px;text-align:left}.detail-items-table th:last-child{padding-right:16px}.detail-items-table td{background:#fff;border-bottom:1px solid #e2e8f0;color:#1a1a1a;font-size:14px;padding:14px 12px;text-align:center;vertical-align:middle}.detail-items-table td:first-child{color:#1e3c72;font-weight:600;padding-left:16px;text-align:left}.detail-items-table td:last-child{padding-right:16px}.detail-items-table tbody tr{transition:all .2s ease}.detail-items-table tbody tr:hover{background-color:#f1f5f9;box-shadow:0 2px 4px #0000000d;transform:scale(1.01)}.detail-items-table tbody tr:last-child td{border-bottom:none}.detail-items-table tbody tr:nth-child(2n){background-color:#f8fafc}.detail-items-table tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.detail-summary{grid-gap:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);padding:20px}.detail-summary-item{background:#fff;border-radius:6px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:8px;padding:12px}.detail-summary-item strong{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-summary-item span{color:#1e3c72;font-size:18px;font-weight:700}.detail-summary-item .profit-rate{color:#10b981;font-size:20px}.detail-summary-item .profit-amount{color:#3b82f6;font-size:20px}.items-table-wrapper{display:flex;flex-direction:column;gap:30px;margin-top:20px}.table-section{background-color:#fff;border-radius:4px;overflow:hidden}.table-section-title{border-bottom:3px solid #007bff;color:#333;font-size:16px;font-weight:700;margin:0 0 15px;padding:10px 0}.purchase-table-section{background-color:#f8fbff;border:2px solid #b3d9ff;border-radius:8px;padding:20px}.purchase-title{border-bottom-color:#06c;color:#06c}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:visible}.items-table{background-color:#fff;border-collapse:collapse;font-size:11px;table-layout:fixed;width:100%}.items-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.items-table th{background-color:#e9ecef;color:#495057;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.items-table td,.items-table th{border:1px solid #dee2e6;font-size:11px;overflow:hidden;padding:8px 4px;vertical-align:middle}.items-table td{background-color:#fff}.items-table tbody tr:hover{background-color:#f8f9fa}.col-index{min-width:35px;width:3%}.col-small{min-width:55px;width:6%}.col-medium{min-width:70px;width:8%}.col-product-name{min-width:120px;width:12%}.cell-center{color:#6c757d;font-weight:600;text-align:center}.cell-text{padding-left:8px;text-align:left}.cell-number{padding-right:8px;text-align:right}.item-images-view{align-items:center;display:flex;justify-content:center;padding:4px}.image-thumbnails{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:150px}.thumbnail-item{border:1px solid #dee2e6;border-radius:4px;cursor:pointer;height:40px;overflow:hidden;transition:all .2s;width:40px}.thumbnail-item:hover{border-color:#007bff;box-shadow:0 2px 8px #0003;transform:scale(1.1)}.thumbnail-item img{display:block;height:100%;object-fit:cover;width:100%}.no-images{color:#999;font-size:11px}.image-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.image-modal-content{animation:scaleIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 40px #00000080;max-height:90%;max-width:90%;padding:20px;position:relative}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-modal-close{align-items:center;background-color:#dc3545;border:none;border-radius:50%;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:40px;justify-content:center;line-height:1;position:absolute;right:-15px;top:-15px;transition:all .2s;width:40px}.image-modal-close:hover{background-color:#c82333;transform:scale(1.1)}.image-modal-img{border-radius:4px;display:block;max-height:80vh;max-width:100%}.attachments-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:12px}.attachment-item{background-color:#fff;border-radius:8px;flex-direction:column;overflow:hidden;transition:all .3s}.attachment-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.attachment-thumbnail-wrapper{cursor:pointer;flex-shrink:0;height:180px;overflow:hidden;width:100%}.attachment-thumbnail{display:block;height:100%;object-fit:cover;pointer-events:none;width:100%}.attachment-info{background-color:#fff;display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:12px;pointer-events:auto}.attachment-filename{color:#555;font-size:12px;font-weight:500;line-height:1.4;margin:0;word-break:break-word}.btn-download-attachment{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:block;font-size:13px;font-weight:600;padding:10px 12px;position:relative;text-align:center;transition:all .3s;width:100%;z-index:10}.btn-download-attachment:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 8px #3b82f666;transform:translateY(-1px)}.btn-download-attachment:active{box-shadow:0 1px 2px #3b82f64d;transform:translateY(0)}@media (max-width:768px){.quotation-list-page{background-color:#f0f2f5;padding:8px}.quotation-list-header{flex-direction:column;gap:10px;padding:14px}.quotation-list-header h1{font-size:1.25rem}.btn-create{font-size:14px;width:100%}.btn-create,.search-section{padding:12px}.search-input{font-size:14px;padding:10px 40px 10px 12px}.filter-section{flex-wrap:wrap;gap:6px;padding:10px 12px}.filter-section label{font-size:13px}.status-filter{font-size:13px;padding:7px 10px}.quotation-list-container{gap:10px}.quotation-card{border-radius:8px}.quotation-header{gap:8px;padding:12px}.quotation-info{flex-direction:column;gap:10px}.quotation-left{justify-content:space-between;width:100%}.quotation-badges{flex-direction:row;gap:6px}.quotation-center{width:100%}.quotation-title-row{gap:6px}.quotation-title{font-size:14px;white-space:normal;word-break:break-word}.quotation-meta{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.quotation-meta span{font-size:12px}.quotation-actions{display:flex;flex-wrap:wrap;gap:4px}.quotation-btn-delete,.quotation-btn-download,.quotation-btn-edit,.quotation-btn-status{flex:1 1 auto;font-size:11px;height:30px;min-width:65px;padding:0 12px}.quotation-detail{padding:16px}.detail-section{margin:16px 0;padding:14px}.detail-section h3{font-size:15px;margin-bottom:12px;padding-bottom:8px}.detail-grid{gap:12px;grid-template-columns:1fr}.detail-item{font-size:13px;gap:5px}.detail-item label{font-size:11px}.detail-item span{font-size:14px}.detail-items-table{overflow-x:auto}.detail-items-table table{font-size:12px;min-width:600px}.detail-items-table th{font-size:12px;padding:10px 8px}.detail-items-table td{font-size:13px;padding:10px 8px}.detail-summary{gap:12px;grid-template-columns:1fr;padding:16px}.detail-summary-item{padding:10px}.detail-summary-item strong{font-size:12px}.detail-summary-item span{font-size:16px}.detail-summary-item .profit-amount,.detail-summary-item .profit-rate{font-size:18px}}@media (max-width:480px){.quotation-list-page{padding:6px}.quotation-list-header{gap:8px;padding:10px}.quotation-list-header h1{font-size:1.1rem}.btn-create{font-size:13px}.btn-create,.search-section{padding:10px}.search-input{font-size:13px;padding:8px 36px 8px 10px}.btn-clear-search{right:18px}.filter-section{gap:6px;padding:8px 10px}.filter-section label{font-size:12px}.status-filter{font-size:12px;padding:6px 8px}.quotation-list-container{gap:8px}.quotation-card{border-radius:6px}.quotation-header{gap:6px;padding:10px}.expand-arrow{font-size:11px}.company-badge,.status-badge{font-size:10px;padding:3px 8px}.quotation-number{font-size:12px}.quotation-title{font-size:13px}.quotation-meta span{font-size:11px}.quotation-actions{gap:4px}.quotation-btn-delete,.quotation-btn-download,.quotation-btn-edit,.quotation-btn-status{font-size:10px;height:28px;min-width:60px;padding:0 10px}.quotation-detail{padding:14px}.detail-section{margin:12px 0;padding:12px}.detail-section h3{font-size:14px;margin-bottom:10px;padding-bottom:6px}.detail-grid{gap:10px}.detail-item{font-size:12px;gap:4px}.detail-item label{font-size:10px}.detail-item span{font-size:13px}.detail-items-table table{font-size:11px;min-width:550px}.detail-items-table th{font-size:11px;padding:8px 6px}.detail-items-table td{font-size:12px;padding:8px 6px}.detail-summary{gap:10px;padding:14px}.detail-summary-item{padding:8px}.detail-summary-item strong{font-size:11px}.detail-summary-item span{font-size:15px}.detail-summary-item .profit-amount,.detail-summary-item .profit-rate{font-size:16px}.empty-state,.no-results{padding:25px 12px}.btn-create-large{font-size:14px;padding:10px 24px}}@media (max-width:768px){.quotation-list-page{background:#fff!important;padding:0!important}.quotation-list-header{background:#4f46e5!important;border-radius:0!important;box-shadow:0 2px 4px #0000001a!important;margin:0!important;padding:16px!important}.quotation-list-header h1{color:#fff!important;font-size:1.3rem!important;font-weight:700!important;margin:0 0 10px!important}.btn-create{background:#fff!important;border-radius:6px!important;color:#4f46e5!important;font-size:14px!important;font-weight:600!important;padding:10px!important;width:100%!important}.search-section{background:#fff!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:12px!important}.search-input{background:#f9fafb!important;border:1px solid #d1d5db!important;border-radius:6px!important;font-size:14px!important;padding:8px 35px 8px 12px!important}.search-input:focus{background:#fff!important;border-color:#4f46e5!important}.btn-clear-search{right:20px!important}.filter-section{align-items:center!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;gap:8px!important;margin:0!important;padding:8px 12px 12px!important}.filter-section label{color:#6b7280!important;font-size:12px!important;font-weight:600!important;margin:0!important}.status-filter{background:#f9fafb!important;border:1px solid #d1d5db!important;border-radius:6px!important;flex:1 1!important;font-size:13px!important;padding:6px 8px!important}.quotation-list-container{gap:0!important;padding:0!important}.quotation-card{background:#fff!important;border:1px solid #e5e7eb!important;border-bottom:8px solid #f3f4f6!important;border-radius:0!important;box-shadow:none!important;margin-bottom:8px!important;overflow:hidden!important}.quotation-card-requested{border-left:4px solid #f59e0b!important}.quotation-card-completed{border-left:4px solid #10b981!important}.quotation-header{display:flex!important;flex-direction:column!important;gap:8px!important;padding:12px!important}.quotation-info{border-collapse:collapse!important;display:table!important;padding:0!important;width:100%!important}.quotation-left{display:table-row!important}.expand-arrow{color:#6b7280!important;font-size:12px!important;width:20px!important}.expand-arrow,.quotation-badges{display:table-cell!important;vertical-align:middle!important}.quotation-badges{padding-right:8px!important}.company-badge,.status-badge{border-radius:4px!important;display:inline-block!important;font-size:10px!important;font-weight:700!important;margin-right:4px!important;padding:3px 8px!important}.status-requested{background:#fef3c7!important;color:#92400e!important}.status-completed{background:#d1fae5!important;color:#065f46!important}.company-leejin{background:#dbeafe!important;color:#1e40af!important}.company-gamseongpack{background:#e0e7ff!important;color:#5b21b6!important}.quotation-center{display:table-row!important}.quotation-title-row{display:table-cell!important;padding:4px 0!important}.quotation-number{color:#6b7280!important;font-size:11px!important;font-weight:700!important;margin-right:6px!important}.quotation-title{color:#111827!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important}.quotation-author,.quotation-date,.quotation-items,.quotation-receiver{background:none!important;border:none!important;color:#6b7280!important;display:inline-block!important;font-size:12px!important;margin-right:12px!important;padding:0!important}.quotation-author:before,.quotation-date:before,.quotation-items:before,.quotation-receiver:before{content:""!important;margin-right:4px!important}.quotation-receiver{color:#111827!important;font-weight:600!important}.quotation-actions{background:none!important;border-top:none!important;display:flex!important;flex-wrap:nowrap!important;gap:4px!important;padding:12px!important}.quotation-btn-delete,.quotation-btn-download,.quotation-btn-edit,.quotation-btn-status{align-items:center!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;color:#374151!important;display:flex!important;flex:1 1!important;font-size:10px!important;font-weight:600!important;height:44px!important;justify-content:center!important;line-height:1!important;margin:0!important;min-width:0!important;overflow:hidden!important;padding:8px 6px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.quotation-btn-edit{border-color:#3b82f6!important;color:#3b82f6!important}.quotation-btn-download{border-color:#10b981!important;color:#10b981!important}.quotation-btn-delete{border-color:#ef4444!important;color:#ef4444!important}.quotation-btn-status{border-color:#f59e0b!important;color:#f59e0b!important}.quotation-btn-complete{border-color:#10b981!important;color:#10b981!important}.quotation-btn-external,.quotation-btn-internal{border-color:#6366f1!important;color:#6366f1!important}.quotation-detail{background:#f9fafb!important;border-top:1px solid #e5e7eb!important;padding:12px!important}.detail-section{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:6px!important;box-shadow:none!important;margin-bottom:8px!important;padding:12px!important}.detail-section h3{border-bottom:2px solid #e5e7eb!important;color:#111827!important;font-size:13px!important;font-weight:700!important;margin:0 0 10px!important;padding:0 0 8px!important}.detail-section h3:before{content:""!important}.quotation-info-table{border-collapse:collapse!important;font-size:12px!important;width:100%!important}.quotation-info-table tr{border-bottom:1px solid #f3f4f6!important}.quotation-info-table th{background:#f9fafb!important;color:#6b7280!important;font-size:11px!important;font-weight:600!important;text-align:left!important;width:25%!important}.quotation-info-table td,.quotation-info-table th{border-radius:0!important;padding:6px 8px!important}.quotation-info-table td{background:#fff!important;color:#111827!important;font-size:12px!important;font-weight:500!important}.item-detail-card{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:6px!important;margin-bottom:8px!important}.item-detail-card,.item-detail-header{box-shadow:none!important;padding:8px!important}.item-detail-header{background:#4f46e5!important;border-radius:6px 6px 0 0!important;color:#fff!important;font-size:13px!important;font-weight:700!important;margin:-8px -8px 8px!important}.item-detail-header:before{content:""!important}.purchase-section,.sales-section{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:4px!important;margin:0 0 6px!important;padding:8px!important}.item-section h4{border-bottom:1px solid #e5e7eb!important;color:#6b7280!important;font-size:11px!important;font-weight:700!important;margin:0 0 6px!important;padding:0 0 4px!important}.item-detail-table{border-collapse:collapse!important;font-size:11px!important;width:100%!important}.item-detail-table tr{border-bottom:1px solid #f3f4f6!important}.item-detail-table tr:last-child{border-bottom:none!important}.item-detail-table th{background:#f9fafb!important;color:#6b7280!important;font-size:10px!important;font-weight:600!important;text-align:left!important;width:32%!important}.item-detail-table td,.item-detail-table th{border-radius:0!important;padding:5px 6px!important}.item-detail-table td{background:#fff!important;color:#111827!important;font-size:11px!important;font-weight:500!important}.detail-summary{display:flex!important;flex-direction:column!important;gap:6px!important}.detail-summary-item{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:4px!important;box-shadow:none!important;display:flex!important;justify-content:space-between!important;padding:8px!important}.detail-summary-item strong{color:#6b7280!important;font-size:11px!important;font-weight:600!important}.detail-summary-item span{color:#111827!important;font-size:14px!important;font-weight:700!important}.detail-summary-item .profit-rate{color:#10b981!important;font-size:15px!important}.detail-summary-item .profit-amount{color:#3b82f6!important;font-size:15px!important}.items-table-wrapper{display:block!important;overflow:visible!important}.table-section{margin-bottom:12px!important}.table-section-title{background:#4f46e5!important;border-radius:6px 6px 0 0!important;color:#fff!important;font-size:12px!important;font-weight:700!important;margin:0!important;padding:8px 10px!important}.purchase-title{background:#059669!important}.table-scroll{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:0 0 6px 6px!important;border-top:none!important;overflow:visible!important}.items-table{display:block!important;width:100%!important}.items-table thead{display:none!important}.items-table tbody,.items-table tbody tr{display:block!important}.items-table tbody tr{background:#fff!important;border-bottom:1px solid #e5e7eb!important;padding:10px!important}.items-table tbody tr:last-child{border-bottom:none!important}.items-table tbody td{align-items:center!important;border:none!important;color:#111827!important;display:flex!important;font-size:12px!important;justify-content:space-between!important;padding:6px 0!important}.items-table tbody td:before{color:#6b7280!important;content:attr(data-label)!important;flex-shrink:0!important;font-size:11px!important;font-weight:600!important;width:100px!important}.items-table tbody td.cell-center,.items-table tbody td.col-index{background:#f9fafb!important;border-radius:4px!important;color:#4f46e5!important;font-size:13px!important;font-weight:700!important;margin:-10px -10px 8px!important;padding:8px 10px!important}.items-table tbody td.cell-center:before,.items-table tbody td.col-index:before{content:"품목 "!important}.items-table tbody td.cell-text{text-align:right!important}.items-table tbody td.cell-number{font-weight:600!important;text-align:right!important}.purchase-table-section .items-table tbody tr td:first-child{background:#f0fdf4!important;border-radius:4px!important;color:#059669!important;font-size:13px!important;font-weight:700!important;margin:-10px -10px 8px!important;padding:8px 10px!important}.purchase-table-section .items-table tbody tr td:first-child:before{color:#059669!important;content:"품목: "!important}.item-images-view{margin-top:8px!important}.image-thumbnails{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-end!important}.thumbnail-item{border:2px solid #e5e7eb!important;border-radius:4px!important;cursor:pointer!important;height:50px!important;overflow:hidden!important;width:50px!important}.thumbnail-item img{height:100%!important;object-fit:cover!important;width:100%!important}.no-images{color:#9ca3af!important;font-size:11px!important}.attachments-grid{grid-gap:6px!important;display:grid!important;gap:6px!important;grid-template-columns:repeat(3,1fr)!important}.attachment-item{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:4px!important;box-shadow:none!important;overflow:hidden!important}.attachment-thumbnail{height:100px!important;object-fit:cover!important;width:100%!important}.btn-download-attachment{background:#4f46e5!important;border:none!important;color:#fff!important;font-size:10px!important;font-weight:600!important;padding:6px!important;width:100%!important}.empty-state,.no-results{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:6px!important;box-shadow:none!important;margin:12px!important;padding:30px 20px!important;text-align:center!important}.empty-state p,.no-results p{color:#6b7280!important;font-size:14px!important;font-weight:500!important}.btn-create-large{background:#4f46e5!important;border-radius:6px!important;color:#fff!important;font-size:14px!important;font-weight:600!important;padding:10px 20px!important}.loading{color:#6b7280!important;font-size:14px!important;font-weight:500!important;padding:30px!important}}@media (max-width:480px){.quotation-list-header h1{font-size:1.2rem!important}.quotation-title{font-size:13px!important}.attachments-grid{grid-template-columns:repeat(2,1fr)!important}.image-thumbnails{max-width:100px!important}.thumbnail-item{height:30px!important;width:30px!important}.image-modal-content{max-height:95%!important;max-width:95%!important;padding:10px!important}.image-modal-close{font-size:20px!important;height:32px!important;right:-10px!important;top:-10px!important;width:32px!important}.image-modal-img{max-height:70vh!important}}.quotation-logs-page{background-color:#f5f5f5;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.logs-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.logs-header h1{color:#333;font-size:28px;margin:0}.filters-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{color:#555;font-size:13px;font-weight:600}.filter-date,.filter-input,.filter-select{border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.filter-date:focus,.filter-input:focus,.filter-select:focus{border-color:#007bff;outline:none}.btn-reset-filter{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.btn-reset-filter:hover{background-color:#5a6268}.logs-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;padding:20px}.logs-table{border-collapse:collapse;min-width:1000px;width:100%}.logs-table thead{background-color:#f8f9fa}.logs-table th{border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.logs-table td{border-bottom:1px solid #dee2e6;color:#555;font-size:14px;padding:12px}.logs-table tbody tr:hover{background-color:#f8f9fa}.log-time{color:#666;font-size:13px;white-space:nowrap}.action-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.badge-create{background-color:#d4edda;color:#155724}.badge-view{background-color:#d1ecf1;color:#0c5460}.badge-update{background-color:#fff3cd;color:#856404}.badge-delete{background-color:#f8d7da;color:#721c24}.badge-download{background-color:#e2e3e5;color:#383d41}.badge-default{background-color:#e9ecef;color:#495057}.log-title{color:#007bff;font-weight:500}.log-ip{color:#666;font-family:monospace;font-size:13px}.log-details{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading{color:#666;font-size:18px;padding:50px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;padding:20px;text-align:center}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:60px;text-align:center}.empty-state p{color:#666;font-size:18px;margin:0}.logs-summary{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:15px;padding:15px 20px;text-align:right}.logs-summary p{color:#666;font-size:14px;font-weight:500;margin:0}@media (max-width:768px){.quotation-logs-page{padding:10px}.logs-header{align-items:flex-start;flex-direction:column;gap:15px}.filter-row{align-items:stretch;flex-direction:column}.btn-reset-filter,.filter-date,.filter-group,.filter-input,.filter-select{width:100%}.logs-table-container{padding:10px}.logs-table td,.logs-table th{font-size:13px;padding:8px}}.notices-page{background:#f8fafc;min-height:100vh;padding:20px}.notices-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:60vh;justify-content:center}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#1e3c72}.notices-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.notices-header-left{align-items:center;display:flex;gap:16px}.notices-header-left h1{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0}.notice-count{background:#1e3c72;border-radius:12px;color:#fff;font-size:.875rem;font-weight:500;padding:4px 12px}.notices-header-right{align-items:center;display:flex;gap:16px}.search-box{align-items:center;display:flex;position:relative}.search-input{border:2px solid #e2e8f0;padding:10px 40px 10px 16px;transition:all .2s;width:250px}.search-input:focus{box-shadow:0 0 0 3px #1e3c721a}.search-icon{color:#6b7280;font-size:16px;position:absolute;right:12px}.create-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s}.create-btn:hover{box-shadow:0 4px 12px #1e3c724d;transform:translateY(-1px)}.notices-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.notices-table{border-collapse:collapse;width:100%}.notices-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#374151;font-size:.875rem;font-weight:600;padding:16px;text-align:left}.notices-table tbody td{border-bottom:1px solid #f1f5f9;font-size:.875rem;padding:16px;vertical-align:middle;white-space:nowrap;word-break:keep-all}.notices-table tbody tr{transition:background-color .2s}.notices-table tbody tr:hover{background:#f8fafc}.notices-table tbody tr.pinned{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-left:4px solid #f59e0b}.notices-table tbody tr.pinned:hover{background:linear-gradient(135deg,#fef3c7,#fde68a)}.title-cell{max-width:0;width:100%}.notice-title{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-weight:500;gap:8px;overflow:hidden;text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.notice-title:hover{color:#1e3c72;text-decoration:underline}.pin-icon{color:#f59e0b;font-size:16px}.pin-badge{background:#f59e0b;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:2px 8px}.delete-btn{background:none;padding:6px;transition:background-color .2s}.delete-btn:hover{background:#fee2e2}.no-notices{color:#6b7280}.empty-icon{display:block;font-size:3rem;margin-bottom:16px}.no-notices p{font-size:1rem;margin:0}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:95vh;max-width:95vw;overflow:hidden;width:95vw}.detail-modal{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.notice-detail-header{align-items:center;display:flex;flex:1 1;gap:12px}.modal-header h2{color:#1e3c72;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:4px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.notice-form{max-height:70vh;overflow-y:auto;padding:24px}.form-group label{color:#374151;font-size:.875rem}.form-input,.form-textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:.875rem;padding:12px;transition:all .2s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.form-textarea{font-family:inherit;line-height:1.5;resize:vertical}.checkbox-group{align-items:center;display:flex}.checkbox-label input[type=checkbox]{accent-color:#1e3c72;height:18px;width:18px}.checkbox-text{color:#4b5563;font-size:.875rem}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.cancel-btn{background:#f3f4f6;color:#374151;font-size:.875rem;padding:10px 20px;transition:all .2s}.cancel-btn:hover{background:#e5e7eb}.submit-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);font-size:.875rem;padding:10px 20px;transition:all .2s}.submit-btn:hover{box-shadow:0 4px 12px #1e3c724d;transform:translateY(-1px)}.notice-detail-meta{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#6b7280;display:flex;font-size:.875rem;gap:24px;padding:16px 24px}.notice-detail-content{max-height:60vh;overflow-y:auto;padding:24px}.content-text{line-height:1.6}.content-text p{margin:0 0 12px}.content-text p:last-child{margin-bottom:0}@media (max-width:768px){.notices-page{padding:10px}.notices-header{align-items:stretch;flex-direction:column;gap:16px;padding:16px}.notices-header-left{align-items:flex-start;flex-direction:column;gap:8px}.notices-header-left h1{font-size:1.25rem}.notices-header-right{flex-direction:column;gap:12px}.search-input{width:100%}.create-btn{padding:12px 20px;width:100%}.notices-table-container{overflow-x:auto}.notices-table{min-width:600px}.modal{margin:10px;max-height:calc(100vh - 20px)}.modal-header h2{font-size:1.1rem}.notice-form{padding:16px}}@media (max-width:480px){.notices-page{padding:8px}.notices-header{padding:12px}.notices-header-left h1{font-size:1.1rem}.notice-count{font-size:.75rem;padding:3px 8px}.create-btn{font-size:.8rem;padding:10px 16px}.search-input{font-size:.8rem;padding:8px 36px 8px 12px}.notices-table{font-size:.75rem}.notices-table tbody td,.notices-table thead th{font-size:.75rem;padding:12px 8px}.modal{margin:8px;max-height:calc(100vh - 16px)}.modal-header{padding:14px 16px}.modal-header h2{font-size:1rem}.notice-form{padding:12px}.form-group label{font-size:.8rem}.form-input,.form-textarea{font-size:.8rem;padding:10px}.editor-toolbar{gap:6px;padding:6px 8px}.editor-btn{font-size:.75rem;padding:5px 8px}.rich-editor{font-size:.8rem;min-height:300px}.notice-detail-meta{flex-direction:column;font-size:.75rem;gap:8px;padding:12px 16px}.notice-detail-content{padding:16px}.content-text{font-size:.85rem}}.editor-toolbar{background:#f8fafc;border:2px solid #e2e8f0;border-bottom:none;border-radius:8px 8px 0 0;gap:8px;margin-bottom:0;padding:8px 12px}.editor-btn,.editor-toolbar{align-items:center;display:flex}.editor-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.875rem;gap:4px;padding:6px 12px;transition:all .2s}.editor-btn:hover{background:#f3f4f6;border-color:#9ca3af}.editor-btn.file-upload-btn,.editor-btn.image-upload-btn{background:#1e3c72;border-color:#1e3c72;color:#fff}.editor-btn.file-upload-btn:hover,.editor-btn.image-upload-btn:hover{background:#2a5298;border-color:#2a5298}.editor-divider{background:#d1d5db;height:20px;margin:0 8px;width:1px}.rich-editor{border-radius:0 0 8px 8px!important;border-top:none!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;resize:vertical}.wysiwyg-editor{max-height:70vh;min-height:500px;overflow-y:auto;position:relative}.wysiwyg-editor:empty:before{color:#9ca3af;content:"공지사항 내용을 입력하세요...";pointer-events:none;position:absolute}.wysiwyg-editor:focus:empty:before{content:""}.wysiwyg-editor div{margin:8px 0}.wysiwyg-editor div:first-child{margin-top:0}.wysiwyg-editor div:last-child{margin-bottom:0}.image-wrapper{display:block;margin:20px 0;position:relative;text-align:center}.image-wrapper img{border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;height:auto;max-width:100%;transition:all .2s}.image-wrapper img:hover{box-shadow:0 4px 12px #00000026}.image-wrapper.selected img{outline:2px solid #1e3c72;outline-offset:2px}.resize-controls{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;font-size:13px;gap:10px;left:50%;padding:8px 12px;position:absolute;top:-50px;transform:translateX(-50%);white-space:nowrap;z-index:20}.resize-controls button{background:#f8f9fa;border:1px solid #d1d5db;border-radius:5px;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s}.resize-controls button:hover{background:#e9ecef;border-color:#adb5bd}.size-display{color:#1e3c72;font-weight:600;min-width:50px;padding:0 5px;text-align:center}.drag-handle{background:#1e3c72;border-radius:5px;color:#fff;cursor:grab;font-size:12px;padding:4px 8px;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:hover{background:#2a5298}.wysiwyg-editor strong{color:#1f2937;font-weight:700}.wysiwyg-editor em{color:#374151;font-style:italic}.wysiwyg-editor u{text-decoration:underline;-webkit-text-decoration-color:#1e3c72;text-decoration-color:#1e3c72}.wysiwyg-editor p{line-height:1.6;margin:8px 0}.wysiwyg-editor p:first-child{margin-top:0}.wysiwyg-editor p:last-child{margin-bottom:0}.uploaded-images{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:16px}.uploaded-images h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 12px}.image-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.image-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.image-item img{border-radius:6px;height:120px;margin-bottom:8px;object-fit:cover;width:100%}.image-controls{display:flex;flex-direction:column;gap:8px}.size-slider{accent-color:#1e3c72;width:100%}.image-controls span{color:#6b7280;font-size:.75rem;text-align:center}.insert-btn{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:background-color .2s}.insert-btn:hover{background:#059669}.remove-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:4px 8px;transition:background-color .2s}.remove-btn:hover{background:#dc2626}.attached-files{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:16px}.attached-files h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 12px}.file-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.file-icon{color:#6b7280;font-size:16px}.file-name{color:#374151;flex:1 1;font-size:.875rem;font-weight:500}.file-size{color:#9ca3af;font-size:.75rem}.content-text{color:#374151;line-height:1.7}.content-text.html-content{word-wrap:break-word;overflow-wrap:break-word}.content-text p,.content-text.html-content p{margin:0 0 16px}.content-text strong,.content-text.html-content strong{color:#1f2937;font-weight:700}.content-text em,.content-text.html-content em{font-style:italic}.content-text u,.content-text.html-content u{text-decoration:underline}.content-text img,.content-text.html-content img{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:16px auto;max-width:100%}.content-text a,.content-text.html-content a{color:#1e3c72;text-decoration:none}.content-text a:hover,.content-text.html-content a:hover{text-decoration:underline}.content-text.html-content br{content:"";display:block;margin:8px 0}.attachment-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:20px;padding:16px}.attachment-section h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 12px}.attachment-list{display:flex;flex-direction:column;gap:8px}.attachment-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#374151;display:flex;gap:8px;padding:8px 12px;text-decoration:none;transition:all .2s}.attachment-item:hover{background:#f3f4f6;color:#1e3c72;text-decoration:none}.download-icon{margin-left:auto;opacity:.7;transition:opacity .2s}.attachment-item:hover .download-icon{opacity:1}.meal-duty-btn{background:linear-gradient(135deg,#f59e0b,#ea580c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s}.meal-duty-btn:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.meal-duty-modal{max-width:800px}.meal-duty-month-selector{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:20px;justify-content:center;padding:20px}.month-nav-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:1rem;padding:8px 16px;transition:all .2s}.month-nav-btn:hover{background:#f3f4f6;border-color:#9ca3af}.current-month{color:#1e3c72;font-size:1.125rem;font-weight:600;min-width:150px;text-align:center}.meal-duty-table-container{max-height:60vh;overflow-y:auto;padding:24px}.meal-duty-table{border-collapse:collapse;width:100%}.meal-duty-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#374151;font-size:.875rem;font-weight:600;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.meal-duty-table tbody td{border-bottom:1px solid #f1f5f9;font-size:.875rem;padding:12px;vertical-align:middle}.meal-duty-table tbody tr:hover{background:#f8fafc}.duty-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.875rem;max-width:200px;padding:8px 12px;transition:all .2s;width:100%}.duty-select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.duty-status{align-items:center;display:inline-flex;gap:6px}.duty-status .assigned{color:#10b981;font-weight:500}.duty-status .unassigned{color:#6b7280}.modal-footer{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:16px 24px}.close-modal-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s}.close-modal-btn:hover{background:#e5e7eb}.member-badge{background:#e0e7ff;border-radius:12px;color:#3730a3;display:inline-block;font-size:.75rem;font-weight:500;padding:4px 12px}.meal-duty-tabs{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:flex}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:16px;transition:all .2s}.tab-btn:hover{background:#f3f4f6;color:#374151}.tab-btn.active{background:#fff;border-bottom-color:#1e3c72;color:#1e3c72}.team-management-container{max-height:60vh;overflow-y:auto;padding:24px}.team-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.team-header h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.create-team-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s}.create-team-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.teams-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.team-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s}.team-card:hover{border-color:#1e3c72;box-shadow:0 4px 12px #1e3c721a}.team-card.empty{background:#f8fafc;border-style:dashed}.team-card-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.team-card-header h4{color:#1e3c72;font-size:1rem;font-weight:600;margin:0}.team-status{border-radius:12px;font-size:.75rem;font-weight:500;padding:4px 8px}.team-status.empty{background:#fee2e2;color:#991b1b}.edit-team-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.75rem;font-weight:600;padding:6px 12px;transition:all .2s}.edit-team-btn:hover{background:#e5e7eb}.create-team-card-btn{background:#fff;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:12px;transition:all .2s;width:100%}.create-team-card-btn:hover{background:#f8fafc;border-color:#1e3c72;color:#1e3c72}.team-members{display:flex;flex-direction:column;gap:8px}.member-item{background:#f8fafc;border-radius:6px;gap:8px;padding:8px 12px}.member-item,.member-number{align-items:center;display:flex}.member-number{background:#1e3c72;border-radius:50%;color:#fff;font-size:.75rem;font-weight:600;height:24px;justify-content:center;width:24px}.member-name{color:#374151;flex:1 1;font-size:.875rem;font-weight:500}.no-members{color:#9ca3af;font-size:.875rem;margin:16px 0;text-align:center}.team-edit-form{gap:12px}.form-group-small,.team-edit-form{display:flex;flex-direction:column}.form-group-small{gap:6px}.form-group-small label{color:#6b7280;font-size:.75rem;font-weight:600}.team-member-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.875rem;padding:8px 12px;transition:all .2s}.team-member-select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;outline:none}.product-upload-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{align-items:center;background:#fff;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding:10px}.page-header h1{font-weight:700;margin:0}.company-info{align-items:center;display:flex;gap:10px}.company-name{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px}.upload-section{margin-bottom:40px}.upload-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px}.upload-card h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0 0 10px}.upload-description{color:#6b7280;line-height:1.6;margin-bottom:25px}.file-input-section{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.file-input{display:none}.file-input-label{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:inline-block;font-weight:500;padding:12px 20px;transition:all .2s ease}.file-input-label:hover{background:#f1f5f9;border-color:#1e3c72;color:#1e3c72}.selected-file{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#059669;font-weight:500;padding:8px 12px}.upload-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;box-shadow:0 4px 12px #1e3c724d;color:#fff;cursor:pointer;font-weight:600;margin-bottom:25px;padding:12px 24px;transition:all .3s ease}.upload-btn:hover:not(:disabled){box-shadow:0 6px 20px #1e3c7266;transform:translateY(-2px)}.upload-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.upload-btn.uploading{background:#6b7280}.required-columns{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.required-columns h3{color:#374151;font-size:1.1rem;margin:0 0 15px}.columns-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.column-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;padding:8px 12px;text-align:center}.upload-result{border:1px solid;border-radius:8px;margin-top:20px;padding:20px}.upload-result.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.upload-result.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.error-content h3,.success-content h3{font-size:1.2rem;margin:0 0 15px}.result-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.stat-item{align-items:center;display:flex;gap:8px}.stat-label{font-weight:500}.stat-value{border-radius:4px;font-weight:700;padding:4px 8px}.stat-value.success{background:#d1fae5;color:#065f46}.stat-value.error{background:#fecaca;color:#991b1b}.error-details{margin-top:15px}.error-details h4{color:#7f1d1d;margin:0 0 10px}.error-details ul{margin:0;padding-left:20px}.error-details li{font-size:.875rem;margin-bottom:5px}.products-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.section-header h2{color:#1e3c72;font-size:1.5rem;font-weight:600;margin:0}.search-form{display:flex;gap:8px}.search-input{border-radius:6px;font-size:.875rem;min-width:250px;padding:8px 12px}.search-input:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a}.search-btn{background:#1e3c72;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px;transition:background .2s}.search-btn:hover{background:#2a5298}.loading{font-style:italic;padding:40px}.products-table-container{margin-bottom:20px;overflow-x:auto}.products-table{background:#fff;border-collapse:collapse;width:100%}.products-table td,.products-table th{border-bottom:1px solid #e2e8f0;padding:12px;text-align:left}.products-table th{background:#f8fafc;color:#374151;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.products-table tr:hover{background:#f8fafc}.product-code{color:#1e3c72;font-family:monospace;font-weight:600}.product-name{font-weight:500;min-width:200px}.price{font-family:monospace;font-weight:500;text-align:right}.date{color:#6b7280;font-size:.875rem}.no-products{color:#6b7280;font-style:italic;padding:40px;text-align:center}.pagination{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:20px}.page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:8px 12px;transition:all .2s}.page-btn:hover:not(:disabled){background:#f3f4f6;border-color:#1e3c72}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-btn.active{background:#1e3c72;border-color:#1e3c72;color:#fff}.page-numbers{display:flex;gap:4px}@media (max-width:768px){.product-upload-page{padding:15px}.page-header{align-items:flex-start;flex-direction:column;gap:15px}.upload-card{padding:20px}.file-input-section{align-items:flex-start;flex-direction:column}.file-input-label{text-align:center;width:100%}.columns-grid{grid-template-columns:repeat(2,1fr)}.result-stats{flex-direction:column;gap:10px}.section-header{align-items:flex-start;flex-direction:column}.search-form{width:100%}.search-input{flex:1 1;min-width:0}.products-table{font-size:.875rem}.products-table td,.products-table th{padding:8px}.pagination{gap:4px}.page-numbers,.pagination{flex-wrap:wrap}}.partners-page{background-color:#f8f9fa;min-height:100vh;padding:24px}.partners-page-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px}.partners-page-header h1{color:#2c3e50;font-size:28px;font-weight:600;margin:0}.partners-header-actions{display:flex;gap:12px}.partners-search-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:20px}.partners-search-form{width:100%}.partners-search-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.partners-search-input{flex:2 1;min-width:200px}.partners-filter-input,.partners-search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px}.partners-filter-input{flex:1 1;min-width:150px}.partners-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;overflow:hidden}.partners-table{border-collapse:collapse;font-size:14px;width:100%}.partners-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:14px 12px;text-align:left;white-space:nowrap}.partners-table td{border-bottom:1px solid #dee2e6;color:#495057;padding:12px;vertical-align:middle}.partners-table tbody tr:hover{background-color:#f8f9fa}.partners-table td:last-child{white-space:nowrap}.partners-table .btn{margin-right:8px}.partners-loading{color:#6c757d;font-size:16px;padding:60px 20px;text-align:center}.partners-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px}.partners-pagination .partners-btn{align-items:center;display:flex;height:40px;justify-content:center;min-width:40px}.partners-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.partners-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;width:500px}.partners-modal-large{max-width:95vw;width:800px}.partners-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 24px}.partners-modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.partners-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.partners-modal-close:hover{background-color:#e9ecef;color:#495057}.partners-modal-body{flex:1 1;overflow-y:auto;padding:24px}.partners-modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.partners-upload-info{background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:16px}.partners-upload-info h4{color:#2c3e50;font-size:16px;margin:0 0 12px}.partners-upload-info p{color:#495057;font-size:14px;margin:0 0 8px}.partners-upload-info ul{color:#495057;font-size:14px;margin:8px 0 0 20px}.partners-upload-info li{margin-bottom:4px}.partners-file-upload{margin-bottom:20px}.partners-file-input-label{align-items:center;background-color:#f8f9fa;border:2px dashed #ddd;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .3s ease;width:100%}.partners-file-input-label:hover{background-color:#e7f3ff;border-color:#007bff}.partners-file-input-text{color:#6c757d;font-size:14px}.partners-file-input-button{background-color:#007bff;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:6px 12px}.partners-file-input-hidden{display:none}.partners-file-selected{align-items:center;background-color:#e8f5e8;border:1px solid #28a745;border-radius:4px;display:flex;gap:8px;margin-top:12px;padding:10px 12px}.partners-file-icon{font-size:16px}.partners-file-name{color:#155724;flex:1 1;font-size:14px;font-weight:500}.partners-file-remove{align-items:center;background:none;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;padding:0;width:20px}.partners-file-remove:hover{background-color:#f8d7da}.partners-upload-progress{align-items:center;display:flex;gap:8px}.partners-spinner{animation:partners-spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes partners-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.partners-upload-result{background-color:#f8f9fa;border-radius:4px;margin-top:16px;padding:16px}.partners-upload-result h4{color:#2c3e50;font-size:16px;margin:0 0 12px}.partners-upload-result p{color:#495057;font-size:14px;margin:0 0 12px}.partners-error-details{margin-top:12px}.partners-error-details h5{color:#dc3545;font-size:14px;margin:0 0 8px}.partners-error-details ul{color:#dc3545;font-size:13px;margin:0 0 0 20px;max-height:150px;overflow-y:auto}.partners-error-details li{margin-bottom:4px}.partners-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.partners-form-group{display:flex;flex-direction:column}.partners-form-group.partners-full-width{grid-column:1/-1}.partners-form-group label{color:#495057;font-size:14px;font-weight:500;margin-bottom:6px}.partners-form-group input,.partners-form-group select,.partners-form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .3s ease}.partners-form-group input:focus,.partners-form-group select:focus,.partners-form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.partners-form-group textarea{min-height:80px;resize:vertical}.partners-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;min-height:36px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.partners-btn:disabled{cursor:not-allowed;opacity:.6}.partners-btn-primary{background-color:#007bff;color:#fff}.partners-btn-primary:hover:not(:disabled){background-color:#0056b3}.partners-btn-secondary{background-color:#6c757d;color:#fff}.partners-btn-secondary:hover:not(:disabled){background-color:#545b62}.partners-btn-success{background-color:#28a745;color:#fff}.partners-btn-success:hover:not(:disabled){background-color:#1e7e34}.partners-btn-danger{background-color:#dc3545;color:#fff}.partners-btn-danger:hover:not(:disabled){background-color:#c82333}.partners-btn-outline{background-color:initial;border:1px solid #007bff;color:#007bff}.partners-btn-outline:hover:not(:disabled){background-color:#007bff;color:#fff}.partners-btn-sm{font-size:12px;min-height:30px;padding:6px 12px}@media (max-width:768px){.partners-page{padding:16px}.partners-page-header{align-items:stretch;flex-direction:column;gap:16px}.partners-header-actions{justify-content:center}.partners-search-row{flex-direction:column}.partners-filter-input,.partners-search-input{width:100%}.partners-table-container{overflow-x:auto}.partners-table{min-width:800px}.partners-modal{margin:20px;width:95vw}.partners-form-grid{grid-template-columns:1fr}}@media (max-width:480px){.partners-page{padding:12px}.partners-modal-body,.partners-page-header,.partners-search-filters{padding:16px}.partners-modal-footer{padding:12px 16px}}.notification-settings-page{background:#f5f5f5;margin:0 auto;max-width:900px;min-height:100vh;padding:20px}.settings-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;margin-bottom:40px;padding:30px;text-align:center}.settings-header h1{font-size:2rem;margin-bottom:10px}.settings-subtitle{font-size:1.1rem;margin-bottom:20px;opacity:.95}.permission-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:10px;display:flex;gap:15px;padding:15px 20px}.permission-label{color:#fff;font-size:1rem;font-weight:500}.permission-badge{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:20px;font-size:1.1rem;font-weight:600;padding:5px 12px}.permission-request-btn{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s}.permission-request-btn:hover{background:#f57c00;transform:translateY(-1px)}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:25px;transition:transform .2s,box-shadow .2s}.settings-section:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.section-header{border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:15px}.section-header h2{color:#333;font-size:1.4rem;margin-bottom:5px}.section-description{color:#666;font-size:.95rem}.priority-filters{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.filter-item{border:2px solid #e0e0e0;border-radius:10px;padding:15px;transition:all .3s}.filter-item:hover{transform:translateX(5px)}.filter-item.priority-urgent{background:#fff5f5;border-color:#ffcdd2}.filter-item.priority-urgent:hover{background:#ffebee}.filter-item.priority-high{background:#fff8f5;border-color:#ffe0b2}.filter-item.priority-high:hover{background:#fff3e0}.filter-item.priority-normal{background:#f5f8ff;border-color:#bbdefb}.filter-item.priority-normal:hover{background:#e3f2fd}.filter-item.priority-low{background:#f5fff5;border-color:#c8e6c9}.filter-item.priority-low:hover{background:#e8f5e9}.filter-label{align-items:center;cursor:pointer;display:flex}.filter-label input[type=checkbox]{cursor:pointer;height:20px;margin-right:10px;width:20px}.priority-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:600;gap:5px;padding:5px 12px}.priority-badge.urgent{background:#ff5252;color:#fff}.priority-badge.high{background:#ff9800;color:#fff}.priority-badge.normal{background:#2196f3;color:#fff}.priority-badge.low{background:#4caf50;color:#fff}.filter-description{color:#666;display:block;font-size:.85rem;margin-left:30px;margin-top:8px}.switch-label{align-items:center;cursor:pointer;display:inline-flex;position:relative;-webkit-user-select:none;user-select:none}.switch-label input{height:0;opacity:0;width:0}.switch{background-color:#ccc;border-radius:34px;display:inline-block;height:26px;margin-right:12px;position:relative;transition:.4s;width:50px}.switch:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.4s;width:20px}input:checked+.switch{background-color:#667eea}input:checked+.switch:before{transform:translateX(24px)}.label-text{color:#333;font-size:1rem}.type-filters .filter-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.type-filters .filter-item{background:#f8f9fa;border-radius:8px;padding:12px 15px;transition:background .3s}.type-filters .filter-item:hover{background:#e9ecef}.reminder-settings{grid-gap:15px;display:grid;gap:15px;margin-top:20px}.reminder-item{background:#f8f9fa;border-radius:8px;padding:12px 15px;transition:background .3s}.reminder-item:hover{background:#e9ecef}.quiet-hours-settings{margin-top:20px}.quiet-hours-toggle{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.quiet-hours-time{align-items:center;background:#f0f4ff;border:2px dashed #667eea;border-radius:8px;display:flex;gap:20px;padding:20px}.time-input-group{display:flex;flex-direction:column;gap:8px}.time-input-group label{color:#666;font-size:.9rem;font-weight:500}.time-input-group input[type=time]{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;padding:8px 12px;transition:border-color .3s}.time-input-group input[type=time]:focus{border-color:#667eea;outline:none}.time-separator{color:#999;font-size:1.2rem;margin-top:20px}.channel-settings{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.channel-item{background:#f8f9fa;border-radius:8px;padding:15px;position:relative;transition:background .3s}.channel-item:hover{background:#e9ecef}.coming-soon{background:#ffd93d;border-radius:12px;color:#333;font-size:.75rem;font-weight:600;padding:2px 8px;position:absolute;right:10px;top:10px}.kakao-channel{background:#fffbf0;border:2px solid #fee500}.kakao-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.connection-status{border-radius:15px;font-size:.85rem;font-weight:600;padding:4px 10px}.connection-status.connected{background:#e8f5e8;color:#2e7d32}.connection-status.disconnected{background:#ffebee;color:#c62828}.kakao-controls{margin-bottom:10px}.kakao-connect-btn{background:#fee500;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s;width:100%}.kakao-connect-btn:hover{background:#fdd835;transform:translateY(-1px)}.kakao-actions{display:flex;gap:10px}.kakao-test-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:8px 16px;transition:all .3s}.kakao-test-btn:hover{background:#45a049}.kakao-disconnect-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:8px 16px;transition:all .3s}.kakao-disconnect-btn:hover{background:#da190b}.kakao-description{color:#666;font-size:.85rem;line-height:1.4}.sound-settings{margin-top:20px}.sound-item{margin-bottom:15px;padding:12px 15px}.sound-item,.sound-volume{background:#f8f9fa;border-radius:8px}.sound-volume{padding:20px}.sound-volume label{color:#333;display:block;font-weight:500;margin-bottom:10px}.volume-slider{-webkit-appearance:none;background:#ddd;border-radius:3px;height:6px;outline:none;width:100%}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#667eea;border-radius:50%;cursor:pointer;height:20px;-webkit-transition:background .3s;transition:background .3s;width:20px}.volume-slider::-webkit-slider-thumb:hover{background:#5a67d8}.volume-slider::-moz-range-thumb{background:#667eea;border-radius:50%;cursor:pointer;height:20px;-moz-transition:background .3s;transition:background .3s;width:20px}.test-notifications{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.test-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .3s}.test-btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.test-btn.urgent{background:#ff5252}.test-btn.high{background:#ff9800}.test-btn.normal{background:#2196f3}.test-btn.low{background:#4caf50}.settings-footer{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:20px;justify-content:center;margin-top:40px;padding:20px}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);font-size:1.1rem;padding:15px 40px;transition:all .3s}.save-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.save-status{animation:fadeIn .3s;background:#4caf50;border-radius:6px;color:#fff;font-weight:500;padding:10px 20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.notification-settings-page{padding:10px}.settings-header{padding:20px}.settings-header h1{font-size:1.5rem}.settings-section{padding:15px}.channel-settings,.priority-filters,.test-notifications,.type-filters .filter-grid{grid-template-columns:1fr}.quiet-hours-time{flex-direction:column}.time-separator{margin:10px 0}}.alimtalk-test-page{background-color:#f5f5f5;min-height:100vh;padding:20px}.test-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:900px;padding:40px}.test-container h1{color:#333;font-size:28px;margin-bottom:10px}.subtitle{color:#666;font-size:14px;margin-bottom:30px}.test-form{display:flex;flex-direction:column;gap:30px}.form-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.form-section h2{border-bottom:2px solid #4caf50;color:#444;font-size:20px;padding-bottom:8px}.form-group,.form-section h2{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4caf50;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.form-group small{color:#888;display:block;font-size:12px;margin-top:6px}.checkbox-label{align-items:center;color:#555;cursor:pointer;display:flex;font-weight:600;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.checkbox-label span{font-size:14px}.template-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.template-btn{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .3s,transform .1s}.template-btn:hover{background-color:#1976d2;transform:translateY(-1px)}.template-btn:active{transform:translateY(0)}.submit-btn{align-self:flex-start;background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:background-color .3s,transform .1s}.submit-btn:hover:not(:disabled){background-color:#45a049;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.response-section{border:2px solid;border-radius:8px;margin-top:30px;padding:24px}.response-section.success{background-color:#e8f5e9;border-color:#4caf50}.response-section.error{background-color:#ffebee;border-color:#f44336}.response-section h2{color:#333;font-size:20px;margin-bottom:16px}.response-details{gap:16px}.response-details,.response-item{display:flex;flex-direction:column}.response-item{gap:8px}.response-item strong{color:#333;font-size:14px}.response-item pre{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:13px;max-height:400px;overflow-x:auto;overflow-y:auto;padding:16px}.error-message p{color:#c62828;font-size:14px}.api-info{background:#f0f7ff;border-left:4px solid #2196f3;border-radius:8px;margin-top:40px;padding:24px}.api-info h3{color:#1976d2;font-size:18px;margin-bottom:16px}.api-info ul{list-style:none;margin:0;padding:0}.api-info li{color:#555;font-size:14px;line-height:1.6;padding:8px 0 8px 24px;position:relative}.api-info li:before{color:#2196f3;content:"•";font-weight:700;left:8px;position:absolute}@media (max-width:768px){.test-container{padding:20px}.test-container h1{font-size:24px}.form-section{padding:16px}.submit-btn{width:100%}}.contacts-page{background-color:#f5f7fa;min-height:100vh;padding:24px}.contacts-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:32px}.contacts-header-left{flex:1 1}.contacts-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:8px}.contacts-subtitle{color:#6b7280;font-size:14px}.contacts-header-right{align-items:center;display:flex;gap:10px}.contacts-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s;white-space:nowrap}.contacts-btn:disabled{cursor:not-allowed;opacity:.5}.contacts-btn-edit{background-color:#3b82f6;color:#fff}.contacts-btn-edit:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 6px #2563eb33}.contacts-btn-save{background-color:#10b981;color:#fff}.contacts-btn-save:hover:not(:disabled){background-color:#059669;box-shadow:0 4px 6px #05966933}.contacts-btn-cancel{background-color:#ef4444;color:#fff}.contacts-btn-cancel:hover{background-color:#dc2626;box-shadow:0 4px 6px #dc262633}.contacts-controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-box{flex:1 1;min-width:300px}.search-input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.department-filter{min-width:200px}.department-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 16px;transition:border-color .2s;width:100%}.department-select:focus{border-color:#3b82f6;outline:none}.contacts-content{display:flex;flex-direction:column;gap:32px}.department-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.department-title{background:linear-gradient(90deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e5e7eb;color:#1a1a1a;font-size:20px;font-weight:600;margin:0;padding:20px 24px}.member-count{color:#6b7280;font-size:14px;font-weight:400;margin-left:8px}.contacts-table-wrapper{overflow-x:auto}.contacts-table{border-collapse:collapse;width:100%}.contacts-table thead{background-color:#f9fafb}.contacts-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 24px;text-align:left;text-transform:uppercase}.contacts-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.contacts-table tbody tr:hover{background-color:#f9fafb}.contacts-table tbody tr.edit-mode{background-color:#eff6ff}.contacts-table tbody tr.edit-mode:hover{background-color:#dbeafe}.contacts-table tbody tr:last-child{border-bottom:none}.contacts-table td{color:#374151;font-size:14px;padding:16px 24px}.user-name{align-items:center;color:#1a1a1a;display:flex;font-weight:600;gap:12px}.user-avatar-small{border:2px solid #e5e7eb;border-radius:50%;height:32px;object-fit:cover;width:32px}.user-position{color:#6b7280;font-size:13px}.user-direct-line a,.user-phone a{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .2s}.user-direct-line a:hover,.user-phone a:hover{color:#2563eb;text-decoration:underline}.user-email a{color:#059669;font-size:13px;text-decoration:none;transition:color .2s}.user-email a:hover{color:#047857;text-decoration:underline}.edit-input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-input::placeholder{color:#9ca3af}.loading{align-items:center;display:flex;font-size:16px;justify-content:center;min-height:400px}.no-results{color:#9ca3af;padding:64px 24px;text-align:center}.no-results p{font-size:16px;margin:0}@media (max-width:768px){.contacts-page{background-color:#f8fafc;padding:16px}.contacts-header{flex-direction:column;gap:16px;margin-bottom:24px}.contacts-header h1{font-size:1.6rem;font-weight:800;letter-spacing:-.5px}.contacts-subtitle{font-size:.95rem;font-weight:500}.contacts-header-right{gap:12px;width:100%}.contacts-btn{border-radius:10px;flex:1 1;font-size:1rem;font-weight:700;justify-content:center;min-height:50px;padding:14px 18px}.contacts-controls{flex-direction:column;gap:12px;margin-bottom:20px}.department-filter,.search-box{min-width:100%}.department-select,.search-input{border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-weight:600;min-height:50px;padding:14px 18px}.department-select:focus,.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.contacts-content{gap:20px}.department-section{border-radius:16px;box-shadow:0 2px 12px #00000014}.department-title{font-size:1.3rem;font-weight:800;letter-spacing:-.3px;padding:18px 20px}.member-count{font-size:.95rem;font-weight:600}.contacts-table-wrapper{overflow-x:visible}.contacts-table{display:block;min-width:0}.contacts-table thead{display:none}.contacts-table tbody{display:block}.contacts-table tbody tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:block;margin-bottom:16px;overflow:hidden;padding:16px}.contacts-table tbody tr:last-child{margin-bottom:0}.contacts-table tbody tr:hover{background:#f9fafb;box-shadow:0 4px 12px #0000001a}.contacts-table tbody tr.edit-mode{background:#eff6ff;border:2px solid #3b82f6}.contacts-table tbody tr.edit-mode:hover{background:#dbeafe}.contacts-table td{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;font-size:1rem;justify-content:space-between;padding:12px 0}.contacts-table td:last-child{border-bottom:none}.contacts-table td:before{color:#64748b;content:attr(data-label);font-size:.9rem;font-weight:800;letter-spacing:-.3px;min-width:100px}.contacts-table td.user-name{border-bottom:2px solid #e5e7eb;flex-direction:row;justify-content:flex-start;margin-bottom:12px;padding:0 0 16px}.contacts-table td.user-name:before{display:none}.contacts-table td.user-name span{color:#1e3c72;font-size:1.15rem;font-weight:800}.user-avatar-small{border:2px solid #3b82f6;height:40px;width:40px}.contacts-table td.user-position{background:#f8fafc;border-radius:8px;margin-bottom:4px;padding:12px}.contacts-table td.user-phone{background:#eff6ff;border-radius:8px;margin-bottom:4px;padding:12px}.contacts-table td.user-phone a{font-size:1.05rem;font-weight:700}.contacts-table td.user-direct-line{background:#f0f9ff;border-radius:8px;margin-bottom:4px;padding:12px}.contacts-table td.user-direct-line a{font-size:1.05rem;font-weight:700}.contacts-table td.user-email{background:#ecfdf5;border-radius:8px;padding:12px}.contacts-table td.user-email a{font-size:.95rem;font-weight:600;word-break:break-all}.edit-input{border:2px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:600;min-width:200px;padding:10px 14px;width:auto}.edit-input:focus{border-color:#3b82f6}}@media (max-width:480px){.contacts-page{padding:12px}.contacts-header h1{font-size:1.4rem}.contacts-subtitle{font-size:.9rem}.contacts-btn,.department-select,.search-input{font-size:.95rem;min-height:48px;padding:13px 16px}.department-title{font-size:1.2rem;padding:16px 18px}.member-count{font-size:.9rem}.contacts-table tbody tr{border-radius:10px;margin-bottom:14px;padding:14px}.contacts-table td{font-size:.95rem;padding:10px 0}.contacts-table td:before{font-size:.85rem;min-width:90px}.contacts-table td.user-name span{font-size:1.1rem}.user-avatar-small{height:36px;width:36px}.contacts-table td.user-direct-line a,.contacts-table td.user-phone a{font-size:1rem}.contacts-table td.user-email a,.edit-input{font-size:.9rem}.edit-input{min-width:180px;padding:9px 12px}}.cleaning-duties-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:32px}.page-header h1{color:#1e3c72;font-size:2rem;margin:0 0 8px}.page-description{color:#6b7280;font-size:.95rem;margin:0}.week-selector{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.week-nav-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.week-nav-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.week-info{color:#fff;text-align:center}.week-info h2{font-size:1.75rem;font-weight:600;margin:0 0 8px}.week-dates{font-size:1.1rem;margin:0;opacity:.9}.loading{color:#6b7280;font-size:1.1rem;padding:48px;text-align:center}.no-data{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.no-data p{color:#666;font-size:16px;margin:10px 0}.no-data code{background:#f5f5f5;border-radius:6px;color:#e74c3c;display:inline-block;font-family:Courier New,monospace;font-size:14px;margin-top:15px;padding:8px 16px}.cleaning-areas-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cleaning-area-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:all .3s ease}.cleaning-area-card:hover{border-color:#667eea;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.area-header{border-bottom:2px solid #f3f4f6;margin-bottom:16px;padding-bottom:12px}.area-header h3{color:#1e3c72;font-size:1.25rem;font-weight:600;margin:0 0 8px}.area-description{color:#6b7280;font-size:.875rem;margin:0}.current-assignee-box{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;margin-bottom:16px;padding:12px 16px}.current-assignee-box .label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px;opacity:.9}.assignee-list{display:flex;flex-wrap:wrap;gap:4px}.assignee-name{font-size:1rem;font-weight:600}.duty-assignment{margin-bottom:16px}.duty-assignment label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.user-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;padding:10px 12px;transition:all .3s ease;width:100%}.user-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.user-select:hover{border-color:#9ca3af}.user-checkbox-list{background:#fff;border:2px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px}.user-checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.user-checkbox-item:hover{background:#f3f4f6}.user-checkbox-item input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.user-checkbox-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.user-checkbox-item span{color:#374151;font-size:.9rem;font-weight:500}.user-checkbox-item input[type=checkbox]:checked+span{color:#667eea;font-weight:600}.user-checkbox-item input[type=checkbox]:disabled+span{color:#9ca3af}.user-checkbox-item:has(input[type=checkbox]:disabled){cursor:not-allowed;opacity:.7}.user-checkbox-item:has(input[type=checkbox]:disabled):hover{background:#0000}.duty-info{border-top:1px solid #f3f4f6;padding-top:12px}.current-assignee{color:#374151;font-size:.9rem;margin-bottom:12px}.current-assignee strong{color:#1e3c72;font-weight:600}.action-buttons{display:flex;gap:8px;margin-top:12px}.save-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .3s ease}.save-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.save-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.cancel-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .3s ease}.cancel-btn:hover{background:#4b5563;transform:translateY(-1px)}.edit-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:8px 14px;transition:all .3s ease}.edit-btn:hover{background:#2563eb;transform:scale(1.05)}.delete-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:8px 14px;transition:all .3s ease}.delete-btn:hover{background:#dc2626;transform:scale(1.05)}.add-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 16px;transition:all .3s ease;width:100%}.add-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.cleaning-duties-page{padding:16px}.page-header h1{font-size:1.5rem}.week-selector{flex-direction:column;gap:16px}.week-nav-btn{width:100%}.cleaning-areas-grid{grid-template-columns:1fr}.week-info h2{font-size:1.5rem}}.App{height:100vh;overflow:hidden}.app-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:16px;width:40px}.app-loading p{font-size:16px;font-weight:500;margin:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.663dbac7.css.map*/