code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:2rem;width:100%}.login-card h2{color:#333;margin-bottom:1.5rem;text-align:center}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.btn-primary{width:100%}.auth-toggle{margin-top:1rem;text-align:center}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.info-message{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;color:#0c5460;margin-top:1rem;padding:.75rem;text-align:center}.info-message p{font-size:.9rem;margin:0}.password-hint{color:#666;font-size:.85rem;font-style:italic;font-weight:400}.form-text{color:#6c757d}.form-group input::placeholder{color:#999}.navbar{align-items:center;background-color:#007bff;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.navbar-brand h1{font-size:1.5rem;font-weight:600;margin:0}.navbar-content{align-items:center;display:flex;gap:1rem}.notifications{cursor:pointer;font-size:1.2rem;position:relative}.notification-badge{background-color:#dc3545;border-radius:50%;color:#fff;font-size:.7rem;min-width:16px;padding:2px 6px;position:absolute;right:-8px;text-align:center;top:-8px}.user-info{align-items:center;display:flex;gap:1rem}.user-info span{font-weight:500}.btn-link{color:#fff;cursor:pointer;font-size:1rem}.btn-link:hover{color:#cce7ff}@media (max-width:768px){.navbar{padding:1rem}.navbar-brand h1{font-size:1.2rem}.user-info span{display:none}}.share-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.share-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;overflow:hidden;width:90%}.share-dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.share-dialog-header h3{font-size:1.25rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.close-btn:hover{background-color:#f3f4f6}.share-dialog-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151}.form-group input[type=number]{border:1px solid #d1d5db;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.form-group input[type=number]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.expiration-inputs{display:flex;gap:1rem}.input-with-label{align-items:center;display:flex;flex:1 1;gap:.5rem}.input-with-label input{flex:1 1}.form-text,.input-suffix{color:#6b7280;font-size:.875rem}.form-text{display:block;margin-top:.25rem}.checkbox-group label{align-items:flex-start;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;height:1rem;margin-top:.125rem;width:1rem}.share-dialog-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.share-dialog-footer .btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s}.share-dialog-footer .btn-secondary{background-color:#e5e7eb;color:#374151}.share-dialog-footer .btn-secondary:hover{background-color:#d1d5db}.share-dialog-footer .btn-primary{background-color:#3b82f6;color:#fff}.share-dialog-footer .btn-primary:hover{background-color:#2563eb}.comments-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:15px}.comments-section h4{color:#374151;font-size:1.1rem;margin:0 0 15px}.comment-error{background-color:#fee2e2;border-radius:4px;color:#991b1b;font-size:.9rem;margin-bottom:15px;padding:10px}.comments-list{margin-bottom:15px;max-height:400px;overflow-y:auto}.no-comments{color:#9ca3af;font-style:italic;padding:20px;text-align:center}.comment-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:10px;padding:12px;position:relative}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.comment-author{color:#1f2937;font-size:.95rem;font-weight:600}.comment-date{color:#6b7280;font-size:.85rem}.comment-text{word-wrap:break-word;color:#374151;line-height:1.5;white-space:pre-wrap}.comment-delete-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:0;padding:4px;position:absolute;right:10px;top:10px;transition:opacity .2s}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{transform:scale(1.1)}.comment-form{display:flex;flex-direction:column;gap:10px}.comment-form textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.95rem;min-height:60px;padding:10px;resize:vertical;width:100%}.comment-form textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.comment-form textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.comment-form button{align-self:flex-end;background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:8px 20px;transition:background-color .2s}.comment-form button:hover:not(:disabled){background-color:#2563eb}.comment-form button:disabled{background-color:#9ca3af;cursor:not-allowed}.activity-log{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:15px}.activity-log h4{color:#374151;font-size:1.1rem;margin:0 0 15px}.no-activity{color:#9ca3af;font-style:italic;padding:20px;text-align:center}.activity-timeline{max-height:400px;overflow-y:auto}.activity-item{background-color:#fff;border-left:3px solid #d1d5db;border-radius:6px;display:flex;gap:12px;margin-bottom:10px;padding:12px;transition:all .2s}.activity-item:hover{box-shadow:0 2px 4px #0000000d}.activity-created{border-left-color:#10b981}.activity-status-changed{border-left-color:#3b82f6}.activity-commented{border-left-color:#8b5cf6}.activity-deleted{border-left-color:#ef4444}.activity-default{border-left-color:#6b7280}.activity-icon{align-items:center;display:flex;font-size:1.5rem;justify-content:center;min-width:30px}.activity-content{flex:1 1}.activity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.activity-user{color:#1f2937;font-size:.95rem;font-weight:600}.activity-time{color:#6b7280;font-size:.85rem}.activity-description{color:#374151;font-size:.95rem;line-height:1.4}.activity-change{color:#6b7280;font-size:.9rem}.activity-change strong{color:#374151}.file-attachments{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;padding:1rem}.attachments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.attachments-header h4{color:#374151;font-size:1rem;font-weight:600;margin:0}.upload-btn{background-color:#3b82f6;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.upload-btn:hover{background-color:#2563eb}.upload-btn:active{background-color:#1d4ed8}.error-message{background-color:#fee2e2;border-radius:6px;color:#991b1b;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.file-list{display:flex;flex-direction:column;gap:.5rem}.file-item{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:.75rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.file-item:hover{border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.file-icon{flex-shrink:0;font-size:1.5rem}.file-info{flex:1 1;min-width:0}.file-name{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .2s;word-break:break-word}.file-name:hover{color:#2563eb;text-decoration:underline}.file-size{color:#6b7280;font-size:.75rem;margin-top:.25rem}.download-btn{border-radius:4px;color:#6b7280;flex-shrink:0;font-size:1.2rem;padding:.5rem;text-decoration:none;transition:background-color .2s,color .2s}.download-btn:hover{background-color:#f3f4f6;color:#374151}.delete-file-btn{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;flex-shrink:0;font-size:1.2rem;padding:.5rem;transition:background-color .2s}.delete-file-btn:hover:not(:disabled){background-color:#fee2e2}.delete-file-btn:disabled{cursor:not-allowed;opacity:.5}.no-files{color:#6b7280;font-size:.875rem;padding:2rem 1rem;text-align:center}.task-item{background:#fff;border:1px solid #e1e5e9;border-radius:8px;padding:1rem;transition:box-shadow .2s,transform .2s}.task-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.task-item.overdue{background-color:#fff5f5;border-left:4px solid #dc3545}.task-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.task-title{color:#333;flex:1 1;font-size:1.1rem;margin:0 .5rem 0 0}.task-actions{display:flex;gap:.25rem}.task-actions .btn{border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-sm,.task-actions .btn{font-size:.8rem;padding:.25rem .5rem}.btn-danger:hover{background-color:#c82333}.task-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#666;display:-webkit-box;line-height:1.4;margin:.5rem 0;overflow:hidden}.task-meta{display:flex;gap:.5rem;margin:.75rem 0}.task-priority,.task-status{border-radius:4px;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.status-todo{background-color:#e9ecef;color:#495057}.status-inprogress{background-color:#fff3cd;color:#856404}.status-done{background-color:#d4edda;color:#155724}.priority-high{background-color:#f8d7da;color:#721c24}.priority-medium{background-color:#fff3cd;color:#856404}.priority-low{background-color:#d1ecf1;color:#0c5460}.task-dates{font-size:.9rem;margin:.75rem 0}.due-date{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.overdue-indicator{color:#dc3545;font-weight:500}.created-date{color:#666}.task-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:.75rem 0}.tag{background-color:#e9ecef;border-radius:12px;color:#495057;font-size:.75rem;padding:.25rem .5rem}.assigned-users,.task-files{color:#666;font-size:.9rem;margin:.5rem 0}.task-expandable-section{border-top:1px solid #e5e7eb;margin-top:15px;padding-top:10px}.expand-btn{align-items:center;background-color:#f3f4f6;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;justify-content:space-between;padding:10px 15px;text-align:left;transition:background-color .2s;width:100%}.expand-btn:hover{background-color:#e5e7eb}@media (max-width:480px){.task-header{flex-direction:column;gap:.5rem}.task-actions{align-self:flex-end}}.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}.modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3{color:#333;margin:0}.btn-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.btn-close:hover{color:#333}.task-form{padding:1.5rem}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e1e5e9;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.btn{transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-secondary:hover{background-color:#545b62}@media (max-width:768px){.modal-content{margin:1rem;width:95%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.task-list-container{margin:0 auto;max-width:1200px;padding:1rem}.task-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.task-list-header h2{color:#333;margin:0}.task-controls{background-color:#f8f9fa;border-radius:8px;display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem}.filter-controls,.sort-controls{align-items:center;display:flex;gap:.5rem}.filter-controls label,.sort-controls label{color:#555;font-weight:500}.filter-controls select,.sort-controls select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem}.task-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.loading{padding:2rem}.empty-state,.loading{color:#666;text-align:center}.empty-state{padding:3rem}.empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.task-controls{flex-direction:column;gap:1rem}.task-grid{grid-template-columns:1fr}.task-list-header{align-items:stretch;flex-direction:column;gap:1rem}}.notifications-container{display:flex;flex-direction:column;gap:.5rem;max-width:400px;position:fixed;right:1rem;top:80px;z-index:1001}.notification{animation:slideIn .3s ease-out;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:1rem}.notification-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.notification-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.notification-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.notification-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.notification-content{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.notification-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;opacity:.7;padding:0;width:20px}.notification-close:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.notifications-container{left:1rem;max-width:none;right:1rem}}.task-board{background:#f7f7fa;display:flex;gap:24px;min-height:70vh;padding:24px}.task-column{align-items:stretch;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000012;display:flex;flex:1 1;flex-direction:column;min-width:250px;padding:16px}.task-column h3{color:#555;letter-spacing:1px;margin-bottom:16px;text-align:center}.task-card{background:#e6f7ff;border:1px solid #91d5ff;border-radius:6px;box-shadow:0 1px 3px #0000000a;cursor:grab;margin-bottom:12px;padding:12px 10px;transition:box-shadow .2s}.task-card:active{box-shadow:0 2px 8px #0000001a;cursor:grabbing}.task-title{font-weight:700;margin-bottom:4px}.task-desc{color:#666;font-size:.95em;margin-bottom:6px}.task-meta{color:#888;font-size:.85em}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding:0}.btn{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;padding:.75rem 1rem;text-align:center;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-link{background:none;border:none;color:#007bff;padding:0;text-decoration:underline}.btn-link:hover:not(:disabled){color:#0056b3}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}
/*# sourceMappingURL=main.5f84fd95.css.map*/