*{box-sizing:border-box;margin:0}*,body{padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root,.container,body{min-height:100vh}.container{background:#fff;border-radius:0;box-shadow:none;margin:0;max-width:100%;overflow:hidden}.header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:12px 30px;text-align:center}.header h1{font-size:2em;font-weight:300;margin-bottom:0}.header p{font-size:1.1em;opacity:.9}.user-info{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:10px 30px}.user-email{color:#6c757d;font-weight:500}#userRole{color:#667eea;font-size:12px;font-weight:600;text-transform:uppercase}.nav-tabs{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex}.nav-tab{background:none;border:none;color:#6c757d;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 20px;transition:all .3s ease}.nav-tab.active{background:#fff;border-bottom:3px solid #667eea;color:#495057}.nav-tab:hover{background:#e9ecef}.content{padding:15px 30px}.tab-content{display:none}.tab-content.active{display:block}.form-group{margin-bottom:12px}.form-group label{color:#495057;display:block;font-weight:600;margin-bottom:8px}.form-control{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-control.textarea{font-family:inherit;min-height:120px;resize:vertical}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background:#495057;color:#fff}.btn-primary:hover{background:#343a40;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.alert{border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px 20px}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.table-container{border:1px solid #dee2e6;border-radius:6px;overflow-x:auto;overflow-y:hidden;width:100%}.tickets-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.tickets-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.tickets-table th{border-bottom:2px solid #dee2e6;color:#495057;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.col-ticket-id,.col-vault{width:180px}.col-chain{width:120px}.col-type{width:180px}.col-title{width:auto}.col-status{text-align:left;width:150px}.col-priority{text-align:left;width:100px}.col-created{text-align:left;width:120px}.tickets-table tbody{display:block;max-height:calc(100vh - 350px);overflow-x:hidden;overflow-y:auto}.tickets-table tbody tr,.tickets-table thead{display:table;table-layout:fixed;width:100%}.tickets-table tbody::-webkit-scrollbar{width:8px}.tickets-table tbody::-webkit-scrollbar-track{background:#f1f1f1}.tickets-table tbody::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.tickets-table tbody::-webkit-scrollbar-thumb:hover{background:#555}.ticket-row{background:#fff;border-bottom:1px solid #e9ecef;border-left:3px solid #0000;cursor:pointer;transition:all .2s ease}.ticket-row:hover{background:#f8f9fa;border-left-color:#667eea;box-shadow:0 2px 4px #0000000d}.ticket-row:last-child{border-bottom:none}.tickets-table td{overflow:hidden;padding:16px 8px;text-overflow:ellipsis;white-space:nowrap}.ticket-id-compact{color:#495057;font-size:14px;font-weight:700}.linear-id{color:#6c757d;font-size:11px;font-weight:400;margin-left:8px}.ticket-vault{word-wrap:break-word;color:#667eea;font-size:13px;font-weight:600;overflow-wrap:break-word;white-space:normal}.ticket-chain,.ticket-description-preview,.ticket-type{color:#212529;font-size:13px;font-weight:500}.ticket-description-preview{line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-date{color:#6c757d;font-size:12px}.priority-badge,.status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;min-width:70px;padding:6px 12px;text-align:center;text-transform:uppercase;white-space:nowrap}.status-submitted{background:#fff3cd;color:#856404}.status-in-progress,.status-in-review{background:#cce5ff;color:#004085}.status-blocked{background:#f8d7da;color:#721c24}.status-complete,.status-done{background:#d4edda;color:#155724}.status-closed,.status-unknown{background:#e9ecef;color:#495057}.priority-low{background:#e2e3e5;color:#383d41}.priority-medium{background:#cce5ff;color:#004085}.priority-high{background:#ffeaa7;color:#856404}.priority-critical,.priority-urgent{background:#f8d7da;color:#721c24}.priority-unknown{background:#e9ecef;color:#495057}.priority-p1{background:#f8d7da;color:#721c24}.priority-p2{background:#ffeaa7;color:#856404}.priority-p3{background:#cce5ff;color:#004085}.priority-p4{background:#e2e3e5;color:#383d41}.priority-container,.status-container{display:inline-block;position:relative}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:95vh;max-height:95vh;max-width:1400px;overflow:hidden;width:95%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef;flex-shrink:0;padding:20px 30px}.modal-header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.modal-title-section{display:flex;flex-direction:column;gap:8px}.modal-title{color:#000;font-family:Monaco,Courier New,monospace;font-size:28px;font-weight:700;margin:0}.modal-title-section .linear-id-badge{color:#6c757d;font-size:14px;font-weight:400;margin-left:12px}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:#e9ecef;color:#495057}.modal-badges{display:flex;gap:12px}.priority-badge-large,.status-badge-large{border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.status-select,.status-select-wrapper{position:relative}.status-select{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:20px;color:inherit;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 32px 8px 16px;text-transform:uppercase;transition:all .2s ease}.status-select.status-submitted{background:#fff3cd;color:#856404}.status-select.status-in-progress,.status-select.status-in-review{background:#cce5ff;color:#004085}.status-select.status-blocked{background:#f8d7da;color:#721c24}.status-select.status-complete,.status-select.status-done{background:#d4edda;color:#155724}.status-select.status-closed{background:#e9ecef;color:#495057}.status-select-wrapper:after{content:"▼";font-size:10px;opacity:.7;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.status-select:disabled{cursor:not-allowed;opacity:.6}.status-select:hover:not(:disabled){opacity:.9}.status-select:focus{outline:2px solid #667eea4d;outline-offset:2px}.status-select-inline{background:#fff;border:2px solid #e9ecef;border-radius:6px;color:#212529;cursor:pointer;font-size:14px;font-weight:500;min-width:150px;padding:6px 12px;transition:all .2s ease}.status-select-inline:disabled{cursor:not-allowed;opacity:.6}.status-select-inline:hover:not(:disabled){border-color:#667eea}.status-select-inline:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.priority-select-inline{background:#fff;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.priority-select-inline:disabled{cursor:not-allowed;opacity:.6}.priority-select-inline:hover:not(:disabled){border-color:#667eea}.priority-select-inline:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.priority-select-inline.priority-p1{border-color:#dc3545;color:#dc3545}.priority-select-inline.priority-p2{border-color:#fd7e14;color:#fd7e14}.priority-select-inline.priority-p3{border-color:#28a745;color:#28a745}.priority-badge-inline{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.modal-body{grid-gap:30px;align-items:start;display:grid;flex:1 1;gap:30px;grid-template-columns:1fr 1fr;min-height:0;overflow-y:auto;padding:20px 30px;scroll-behavior:smooth}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#a0aec0}.ticket-detail-section{display:flex;flex-direction:column;gap:16px}.detail-field{margin-bottom:0}.detail-field.full-width{grid-column:1/-1;width:100%}.detail-label{color:#495057;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.detail-value{word-wrap:break-word;color:#212529;font-size:14px;line-height:1.5}.detail-title{color:#212529;line-height:1.4;margin-bottom:4px}.detail-title,.detail-vault{font-size:16px;font-weight:600}.detail-vault{color:#667eea}.detail-description{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;font-size:14px;line-height:1.6;max-height:200px;overflow-y:auto;padding:12px 16px;white-space:pre-wrap}.detail-resolution{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;padding:16px}.ticket-id-value{font-family:Monaco,Courier New,monospace;font-size:14px;font-weight:700}.linear-id-badge{color:#6c757d;font-size:12px;font-weight:400;margin-left:8px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.comments-section-wrapper{border-left:1px solid #e9ecef;padding-left:30px}.comments-section,.comments-section-wrapper{display:flex;flex-direction:column;height:100%;min-height:0}.comments-section-title{color:#495057;font-size:18px;font-weight:700}.comment-form-full,.comments-section-title{flex-shrink:0;margin-bottom:16px}.comment-textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:14px;margin-bottom:10px;max-height:120px;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.comment-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.comment-submit-btn{font-size:16px;padding:14px;width:100%}.comment-submit-btn:disabled{cursor:not-allowed;opacity:.5}.comments-list-full{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding-right:8px}.comment-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;flex-shrink:0;padding:12px 16px;transition:all .2s ease}.comment-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(2px)}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.comment-author{color:#667eea;font-size:14px;font-weight:600}.comment-timestamp{color:#6c757d;font-size:12px}.comment-body{word-wrap:break-word;color:#212529;font-size:14px;line-height:1.6;white-space:pre-wrap}.no-comments{background:#f8f9fa;border-radius:8px;color:#6c757d;font-style:italic;padding:40px;text-align:center}.filter-bar{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px}.btn-refresh{margin-right:auto}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#495057;font-size:14px;font-weight:600;margin:0}.filter-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:14px;min-width:120px;padding:6px 12px}.filter-select:focus{border-color:#667eea;outline:none}.filter-actions{display:flex;gap:8px;margin-left:auto}.btn-filter{border-radius:4px;font-size:13px;padding:6px 12px}.loading{color:#6c757d;padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:30px;margin:0 auto 20px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{color:#6c757d;padding:60px 20px;text-align:center}.empty-state h3{color:#495057;margin-bottom:10px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-number{font-size:2.5em;font-weight:700;margin-bottom:5px}.stat-label{color:#6c757d;font-size:.9em;font-weight:500;text-transform:uppercase}.stat-total{color:#6f42c1}.stat-open{color:#ffc107}.stat-pending{color:#007bff}.stat-resolved{color:#28a745}.stat-urgent{color:#dc3545}.stat-high{color:#fd7e14}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.controls,.tickets-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.tickets-container{overflow:hidden}.tickets-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.tickets-header h2{color:#495057;margin:0}.ticket-card{border-bottom:1px solid #e9ecef;padding:25px;transition:background-color .3s ease}.ticket-card:hover{background:#f8f9fa}.ticket-card:last-child{border-bottom:none}.ticket-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.ticket-id{color:#495057;font-size:1.1em;font-weight:700}.ticket-badges{display:flex;gap:8px}.badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.badge-status-open{background:#fff3cd;color:#856404}.badge-status-pending{background:#cce5ff;color:#004085}.badge-status-resolved{background:#d4edda;color:#155724}.badge-priority-urgent{background:#f8d7da;color:#721c24}.badge-priority-high{background:#ffeaa7;color:#856404}.badge-priority-medium{background:#cce5ff;color:#004085}.badge-priority-low{background:#e2e3e5;color:#383d41}.ticket-meta{grid-gap:15px;display:grid;font-size:14px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:15px}.meta-item{display:flex;flex-direction:column}.meta-label{color:#6c757d;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.meta-value{color:#495057}.ticket-description{background:#f8f9fa;border-left:4px solid #dc3545;border-radius:6px;font-size:14px;margin-bottom:15px;padding:15px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.nav-tab{font-size:14px;padding:12px 15px}.tickets-header{display:none}.ticket-row{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.ticket-cell{justify-content:flex-start;padding:4px 0;width:100%}.ticket-date-cell{justify-content:flex-start;text-align:left}.ticket-controls{flex-wrap:wrap;gap:8px;justify-content:space-between;width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.modal-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.modal-overlay{padding:0}.modal-body,.modal-header{padding:20px}.detail-grid{grid-template-columns:1fr}.filter-bar{align-items:stretch;flex-direction:column}.filter-actions{flex-direction:column;margin-left:0;width:100%}.btn-filter{width:100%}}
/*# sourceMappingURL=main.548f8a9a.css.map*/