*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f5f6fa;color:#1a1a2e}a{color:#3d5afe;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:24px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e0e0}.app-logo{height:32px;width:auto}.header-actions{display:flex;align-items:center;gap:12px}.app-body{display:flex;flex:1;min-height:0}.app-sidebar{width:220px;flex-shrink:0;background:#fff;border-right:1px solid #e0e0e0;padding:16px 0}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.sidebar-section{display:flex;flex-direction:column}.sidebar-section-project{padding-top:8px;border-top:1px solid #eee}.sidebar-section-label{padding:4px 24px 6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#999}.sidebar-project-select{display:block;width:calc(100% - 32px);margin:0 16px 8px;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:.875rem;font-weight:500;color:#1a1a2e;background:#f9fafb;cursor:pointer}.sidebar-project-select:focus{outline:none;border-color:#3d5afe;box-shadow:0 0 0 3px #3d5afe1f}.sidebar-nav a{padding:10px 24px;color:#444;font-weight:500;border-left:3px solid transparent}.sidebar-nav a:hover{background:#f5f6fa;color:#1a1a2e}.sidebar-nav a.active{color:#3d5afe;background:#eef1ff;border-left-color:#3d5afe}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-parent{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 24px;border:none;border-left:3px solid transparent;background:none;color:#444;font-weight:500;font-size:inherit;font-family:inherit;text-align:left;cursor:pointer}.sidebar-nav-parent:hover{background:#f5f6fa;color:#1a1a2e}.sidebar-nav-parent.active{color:#3d5afe;background:#eef1ff;border-left-color:#3d5afe}.sidebar-chevron{width:16px;height:16px;flex-shrink:0;transition:transform .15s ease}.sidebar-nav-group.expanded .sidebar-chevron{transform:rotate(180deg)}.sidebar-nav-child{padding:8px 24px 8px 36px!important;font-size:.875rem;font-weight:500}.app-main{flex:1;padding:24px 32px;overflow:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h2{margin:0}.table-card{padding:0;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th{background:#f9fafb;font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.03em}.data-table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f5f6fa}.table-link{font-weight:500}.empty-cell{text-align:center;color:#888;padding:32px 16px!important}.table-progress{min-width:120px}.text-muted{color:#999}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-top:1px solid #eee}.page-info{font-size:.9rem;color:#666}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-panel{background:#fff;border-radius:12px;width:100%;max-width:440px;max-height:90vh;overflow:auto;box-shadow:0 12px 40px #0000002e}.modal-panel-wide{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.05rem;font-weight:600;color:#1a1a2e}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;padding:0 4px}.modal-body{padding:20px}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-field{display:flex;flex-direction:column;gap:6px}.modal-form .form-field>span,.modal-form label:not(.checkbox-row)>span:first-child,.modal-form label:not(.checkbox-row){font-size:.8rem;font-weight:500;color:#555}.modal-form input:not([type=checkbox]),.modal-form select,.modal-form textarea{display:block;width:100%;margin:0;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1a1a2e;background:#fff;transition:border-color .15s,box-shadow .15s}.modal-form input:not([type=checkbox]):focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:#5b6af0;box-shadow:0 0 0 3px #5b6af026}.modal-form fieldset{border:1px solid #e8eaed;border-radius:8px;padding:12px;margin:0}.modal-form fieldset legend{font-size:.8rem;font-weight:500;color:#555;padding:0 4px}.modal-form .checkbox-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.modal-form .checkbox-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.9rem;color:#1a1a2e;transition:background .15s}.modal-form .checkbox-row:hover{background:#f5f6fa}.modal-form .checkbox-row input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:#5b6af0;cursor:pointer}.modal-form .checkbox-row span{flex:1;min-width:0}.modal-body label{display:block;margin:0 0 4px;font-size:.85rem;color:#666}.modal-footer{padding:12px 20px 20px;border-top:1px solid #eee}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.form-error{color:#c62828;font-size:.9rem;margin:8px 0 0}.form-status{color:#2e7d32;font-size:.9rem;margin:8px 0 0}.card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 4px #00000014;margin-bottom:16px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-primary{background:#5b6af0;color:#fff;box-shadow:0 2px 8px #5b6af040}.btn-primary:hover{background:#4a58e0}.btn-secondary{background:#e0e0e0;color:#333}input{display:block;width:100%;padding:8px;margin:8px 0 16px;border:1px solid #ccc;border-radius:6px}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.status-uploaded{background:#e3f2fd;color:#1565c0}.status-queued{background:#ede7f6;color:#4527a0}.status-processing{background:#fff3e0;color:#e65100}.status-transcribing,.status-transcribed{background:#fff8e1;color:#f57f17}.status-diarizing,.status-diarized{background:#e0f7fa;color:#00695c}.status-aligning{background:#e8eaf6;color:#283593}.status-identifying_speakers{background:#fce4ec;color:#ad1457}.status-summarizing,.status-summarized{background:#f3e5f5;color:#6a1b9a}.status-indexing{background:#e0f2f1;color:#00695c}.status-completed{background:#e8f5e9;color:#2e7d32}.status-failed{background:#ffebee;color:#c62828}.progress-container{margin-top:16px}.progress-container.compact{display:flex;align-items:center;gap:8px;margin-top:8px}.progress-container.compact .progress-bar{flex:1;margin:0}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3d5afe,#536dfe);border-radius:4px;transition:width .4s ease}.progress-label{margin:6px 0 0;font-size:.85rem;color:#666}.progress-container.compact .progress-label{margin:0;min-width:36px;text-align:right}.speaker-hint{color:#666;font-size:.9rem;margin:0 0 12px}.speaker-id{margin:0 0 8px;font-size:.85rem;color:#666;font-family:monospace}.speaker-fields label{margin:0 0 4px;font-size:.85rem;color:#666}.speaker-fields input{margin:0 0 10px}.speaker-entry{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}.speaker-entry:last-of-type{border-bottom:none}.speaker-context{margin:8px 0 0;padding:10px 12px;background:#f5f6fa;border-radius:6px}.speaker-context-summary{margin:0 0 6px;font-size:.85rem;color:#666}.speaker-quote{margin:0 0 4px;font-size:.85rem;color:#333;font-style:italic}.btn-sm{margin-top:8px;padding:4px 10px;font-size:.8rem}audio{display:none}.label-status{margin-top:8px;font-size:.85rem;color:#2e7d32}.label-status-error{color:#c62828}.action-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.action-item{margin:0}.action-item-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease}.action-item-row:hover{background:#f5f6f9}.action-item-row input[type=checkbox]{width:16px;height:16px;margin:3px 0 0;flex-shrink:0;cursor:pointer}.action-item-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;line-height:1.4}.action-task{font-weight:500}.ticket-key-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.02em;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ticket-prefix-code{font-size:.85rem;font-weight:600;color:#4338ca}.field-hint{margin:-2px 0 8px;font-size:.8rem;color:#6b7280}.action-meta{color:#666;font-size:.9rem}.action-items-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px}.action-sync-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;border:1px solid rgba(0,0,0,.08);text-transform:capitalize}.action-sync-pending{background:#fff3e0;border-color:#ffa726;color:#e65100}.action-sync-created{background:#e8f5e9;border-color:#66bb6a;color:#1b5e20}.action-sync-failed{background:#ffebee;border-color:#ef5350;color:#b71c1c}.action-sync-link{font-size:.85rem;text-decoration:underline}.action-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 0 36px}.ticket-action-btn{border:1px solid #d7dae4;background:#fff;color:#374151;border-radius:7px;padding:3px 10px;font-size:.8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ticket-action-btn:hover:not(:disabled){background:#f5f6f9;border-color:#c3c8d6}.ticket-action-btn:disabled{opacity:.6;cursor:default}.action-comment-box{display:flex;flex-direction:column;gap:8px;margin:8px 0 0 36px;max-width:520px}.action-comment-actions{display:flex;justify-content:flex-end;gap:8px}.action-sync-error{color:#c62828;font-size:.85rem}.picker-label{display:block;font-weight:600;font-size:.9rem;color:#1a1a2e;margin-bottom:8px}.integration-picker{display:flex;flex-direction:column;gap:8px}.integration-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid #e2e4ec;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.integration-option:hover{border-color:#c7cbe0;background:#fafbff}.integration-option-active{border-color:#6366f1;background:#f5f5ff;box-shadow:0 0 0 1px #6366f1}.integration-option-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;flex-shrink:0;border:1px solid rgba(0,0,0,.06);overflow:hidden}.integration-option-avatar img{width:22px;height:22px;object-fit:contain}.integration-option-initial{color:#fff;font-weight:700;font-size:1rem}.integration-option-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.integration-option-name{font-weight:600;color:#1a1a2e}.integration-option-sub{font-size:.85rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-option-check{width:20px;height:20px;color:#6366f1;flex-shrink:0}.ticket-draft-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.ticket-draft-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #e8eaef;border-radius:10px;background:#fafbfc}.ticket-draft-header{margin-bottom:4px;color:#1a1a2e}.ticket-draft-description{min-height:110px;resize:vertical;font-family:inherit;line-height:1.45}.ticket-draft-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.ticket-draft-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:200px}.ticket-draft-hint{font-size:.78rem;color:#6b7280}.inline-spinner{display:flex;justify-content:center;padding:8px 0}.qa-hint{color:#666;font-size:.9rem;margin:0 0 12px}.qa-entry{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.qa-question{margin:0;padding:10px 14px;background:#e8ecf4;border-radius:10px 10px 10px 2px;font-weight:500;color:#1a1d27;line-height:1.5}.qa-answer{margin:0;padding:10px 14px;background:#fff;border:1px solid #e0e4ec;border-radius:2px 10px 10px;line-height:1.6}.qa-form{display:flex;gap:8px;align-items:flex-start;margin-top:12px}.qa-form input{flex:1;margin:0}.qa-form .btn{flex-shrink:0;margin-top:0}.auth-card{background:#1a1d27d9;backdrop-filter:blur(20px);border:1px solid #2e3345;border-radius:14px;padding:28px;box-shadow:0 16px 48px #0000004d}.auth-card h2{margin:0 0 6px;font-size:1.35rem;font-weight:600;color:#f0f2f8;letter-spacing:-.02em}.auth-subtitle{margin:0 0 20px;font-size:.88rem;color:#8b92a8;line-height:1.5}.auth-field{margin-bottom:14px}.auth-field-row{display:flex;gap:12px}.auth-field-row .auth-field{flex:1}.auth-field label{display:block;margin:0 0 6px;font-size:.78rem;font-weight:500;color:#8b92a8;letter-spacing:.02em}.auth-field input{width:100%;padding:10px 14px;margin:0;background:#1a1d27;border:1px solid #2e3345;border-radius:8px;color:#f0f2f8;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#555d75}.auth-field input:focus{outline:none;border-color:#5b6af0;box-shadow:0 0 0 3px #5b6af033}.auth-error{margin:0 0 14px;padding:10px 12px;font-size:.85rem;color:#ef5350;background:#ef53501a;border:1px solid rgba(239,83,80,.2);border-radius:8px}.auth-success{margin:0 0 14px;padding:10px 12px;font-size:.85rem;color:#43a047;background:#43a0471a;border:1px solid rgba(67,160,71,.2);border-radius:8px}.auth-divider{display:flex;align-items:center;margin:16px 0;color:#555d75;font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#2e3345}.auth-divider span{padding:0 12px}.auth-links{margin:16px 0 0;text-align:center;font-size:.85rem}.auth-links a{color:#8b92a8}.auth-links a:hover{color:#5b6af0}.btn-block{display:block;width:100%;text-align:center;margin-bottom:8px}.btn-outline{background:transparent;color:#8b92a8;border:1px solid #2e3345}.btn-outline:hover{color:#f0f2f8;border-color:#555d75}.auth-spinner,.page-spinner{width:32px;height:32px;margin:16px auto;border:3px solid #2e3345;border-top-color:#5b6af0;border-radius:50%;animation:auth-spin .7s linear infinite}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;padding:48px 24px}.page-loading .page-spinner{margin:0}.page-loading-message{margin:16px 0 0;color:#8b92a8;font-size:.9375rem}@keyframes auth-spin{to{transform:rotate(360deg)}}
