*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:#212529;background:#f9fafb}.data-grid{width:100%}.data-grid-header{background:#f8f9fa;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:2}.data-grid-row{display:grid;grid-template-columns:30px 1fr 18% 8% 9% 10% 10% 120px;align-items:center;border-bottom:1px solid #dee2e6;cursor:pointer}.data-grid-row--header{cursor:default}.data-grid-row:not(.data-grid-row--header):hover{background:#f8f9fa}.data-grid-th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.data-grid-cell{padding:1rem;font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;min-width:0}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-open{background:#cfe2ff;color:#004085}.status-in-progress{background:#fff3cd;color:#856404}.status-completed{background:#d4edda;color:#155724}.priority-urgent{color:#ff5733;font-weight:600}.priority-high{color:#dc3545;font-weight:600}.priority-medium{color:#ffc107;font-weight:600}.priority-low{color:#28a745;font-weight:600}.progress-bar{height:4px;background:#e9ecef;border-radius:2px;overflow:hidden;width:100px}.progress-fill{height:100%;background:#06c;transition:width .3s ease}.expand-btn{background:none;border:none;color:#6c757d;cursor:pointer;padding:.25rem;font-size:1rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.expand-btn:hover{color:#212529}.kanban-row{background:#f8f9fa;border-bottom:1px solid #dee2e6;contain:layout style paint}.sub-ticket-item{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:1rem;margin-bottom:.5rem}.sub-ticket-item:last-child{margin-bottom:0}.sub-ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sub-ticket-title{font-weight:500;color:#212529}.btn{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#06c;color:#fff;border-color:#06c}.btn-primary:hover{background:#0052a3;border-color:#0052a3}.btn-secondary{background:#6c757d;color:#fff;border-color:#6c757d}.btn-secondary:hover{background:#5a6268;border-color:#545b62}.btn-outline{background:#fff;color:#06c;border-color:#06c}.btn-outline:hover{background:#06c;color:#fff}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-container.modal-sm{max-width:480px}.modal-container.modal-lg{max-width:800px}.modal-header{padding:1.5rem;border-bottom:1px solid #dee2e6;display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600;color:#212529;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f8f9fa;color:#212529}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #dee2e6;display:flex;gap:.5rem;justify-content:flex-end}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#495057}.form-control{width:100%;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;background:#fff}select.form-control{appearance:auto;background:#fff;border:1px solid #ced4da;cursor:pointer}.form-control:focus{outline:none;border-color:#06c;box-shadow:0 0 0 .2rem #0066cc40}.form-control:disabled{background:#e9ecef;opacity:1}.form-row{display:flex;gap:1rem;margin-left:-.5rem;margin-right:-.5rem}.form-row .form-group{flex:1;padding:0 .5rem}textarea.form-control{resize:vertical;min-height:80px}.alert{padding:.75rem 1rem;margin-bottom:1rem;border-radius:4px;font-size:.875rem}.alert-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.text-muted{color:#6c757d}.text-small{font-size:.875rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#6c757d}.spinner{width:2rem;height:2rem;border:3px solid #e9ecef;border-top-color:#06c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:500;color:#495057;margin-bottom:.5rem}.empty-state-text{font-size:.875rem}.assignee-cell{display:flex;flex-direction:column;gap:8px}.account-manager{display:flex;align-items:center}.manager-info{display:flex;align-items:center;gap:4px;font-size:13px}.manager-label{color:#6b7280;font-weight:500}.manager-name{color:#1f2937}.manager-info.text-muted{color:#9ca3af}.taskflow-assignees{display:flex;align-items:center}.assignees-group{display:flex;align-items:center;gap:6px;cursor:pointer}.assignee-badge{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.assignee-initials{color:#fff;font-size:11px;font-weight:600}.more-assignees{color:#6b7280;font-size:12px;font-weight:500}.add-assignee-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px dashed #D1D5DB;border-radius:4px;background:transparent;color:#6b7280;font-size:12px;cursor:pointer;transition:all .2s}.add-assignee-btn:hover{border-color:#9ca3af;background:#f9fafb;color:#374151}.plus-icon{font-size:14px;font-weight:600}.btn-text{font-size:11px}.master-info{display:flex;align-items:center;gap:12px}.master-title-line{font-weight:500;display:flex;align-items:center;gap:8px}.master-meta,.master-actions{display:flex;gap:8px}.expand-btn.expanded{transform:rotate(90deg)}.kanban-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#6c757d;font-size:14px}.kanban-container{background:#f8f9fa;padding:16px}.kanban-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.kanban-heading{margin:0;font-size:14px;font-weight:600}.kanban-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;min-height:200px}.kanban-column{background:#fff;border-radius:8px;border:1px solid #dee2e6;padding:12px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.kanban-column-header--open{border-bottom:2px solid #ffc107}.kanban-column-header--progress{border-bottom:2px solid #17a2b8}.kanban-column-header--completed{border-bottom:2px solid #28a745}.kanban-column-label{font-weight:600;font-size:13px}.kanban-column-label--open{color:#856404}.kanban-column-label--progress{color:#0c5460}.kanban-column-label--completed{color:#155724}.kanban-column-count{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.kanban-column-count--open{background:#fff3cd;color:#856404}.kanban-column-count--progress{background:#d1ecf1;color:#0c5460}.kanban-column-count--completed{background:#d4edda;color:#155724}.kanban-column-body{display:flex;flex-direction:column;gap:8px}.sub-ticket-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}.sub-ticket-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.sub-ticket-card.completed{opacity:.9}.stc-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.stc-title{font-weight:500;font-size:13px;margin-bottom:4px}.stc-type{font-size:11px;color:#6c757d}.stc-priority{font-size:11px;margin-top:2px;display:flex;align-items:center;gap:4px}.stc-priority-badge{font-size:10px;padding:2px 0;border-radius:4px;font-weight:500}.stc-actions{display:flex;gap:4px}.stc-btn{padding:2px 6px!important;font-size:10px!important}.stc-detail{font-size:11px;color:#6c757d;margin-bottom:6px}.stc-tasks{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.stc-tasks-title{font-size:11px;font-weight:500;margin-bottom:4px}.stc-tasks-title.completed{color:#28a745}.stc-task-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.stc-task-check-done{font-size:10px;color:#28a745}.stc-task-checkbox{width:12px;height:12px}.stc-task-label{font-size:10px}.stc-task-label.done{text-decoration:line-through;color:#9ca3af}.stc-task-label.pending{color:#495057}.stc-tasks-more{font-size:10px;color:#6c757d}.group-header-content{display:flex;align-items:center;gap:12px}.group-header-arrow{transition:transform .2s;font-size:12px}.group-header-arrow.expanded{transform:rotate(90deg)}.group-header-label{font-weight:600;font-size:14px}.group-header-count{background-color:#e5e7eb;padding:2px 8px;border-radius:12px;font-size:12px}.group-header-summary{font-size:12px;color:#6b7280;margin-left:auto}.compact-text{font-size:13px;color:#374151}.compact-text.help{cursor:help}.mention-tag{color:#06c;background-color:#e6f3ff;padding:0 4px;border-radius:3px;font-weight:500;cursor:pointer}.pre-contract-controls{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.pre-contract-filter{display:flex;align-items:center;gap:.5rem}.pre-contract-filter label{font-size:.875rem;color:#6c757d}.pre-contract-filter input{margin-right:.25rem}.group-header-row{padding:.75rem 1rem;background:#f1f3f5;border-bottom:1px solid #dee2e6;cursor:pointer}.group-header-row:hover{background:#e9ecef}.show-more-row{padding:.75rem 1rem;text-align:center;color:#06c;cursor:pointer;font-size:.875rem;font-weight:500;border-bottom:1px solid #dee2e6;background:#f8f9fa}.show-more-row:hover{background:#e9ecef;text-decoration:underline}
