*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{min-height:100vh;background:#f5f5f5}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:#333;font-size:1.5rem}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:#f5f5f5}.login-box{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{margin-bottom:30px;color:#333;text-align:center;font-size:1.5rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.error{color:#e74c3c;margin-bottom:15px;padding:10px;background:#fadbd8;border-radius:5px;font-size:.9rem}button{width:100%;padding:12px;background:#2563eb;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}button:hover:not(:disabled){background:#1d4ed8}button:disabled{background:#ccc;cursor:not-allowed}.welcome-container{min-height:100vh;background:#f5f5f5}.welcome-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.welcome-header h1{font-size:1.5rem;color:#111827}.header-actions{display:flex;align-items:center;gap:20px}.global-filter{display:flex;align-items:center;gap:10px}.global-filter label{font-size:.9rem;font-weight:600;color:#374151;white-space:nowrap}.global-status-select{padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.9rem;cursor:pointer;transition:all .2s;min-width:160px}.global-status-select:hover{border-color:#9ca3af}.global-status-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.logout-btn{width:auto;padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db}.logout-btn:hover{background:#f9fafb;border-color:#9ca3af}.welcome-content{padding:40px;max-width:1400px;margin:0 auto}.welcome-content h2{font-size:2rem;margin-bottom:10px;color:#111827}.welcome-content p{font-size:1.1rem;line-height:1.6;margin-bottom:30px;color:#6b7280}.github-dashboard{margin-top:20px}.github-dashboard.loading,.github-dashboard.error{text-align:center;padding:40px}.error-message{color:#dc2626;font-size:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.dashboard-header h3{font-size:1.5rem;margin:0;color:#111827}.dashboard-actions{display:flex;align-items:center;gap:12px}.user-filter-container{display:flex;align-items:center;gap:10px}.user-filter-label{font-size:.9rem;font-weight:600;color:#374151;white-space:nowrap}.user-filter-select{padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.9rem;cursor:pointer;transition:all .2s;min-width:180px}.user-filter-select:hover{border-color:#9ca3af}.user-filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.refresh-btn{width:auto;padding:6px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;font-size:.9rem;font-weight:500;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#111827}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.pr-count{background:#eff6ff;color:#1e40af;padding:5px 15px;border-radius:20px;font-size:.9rem;font-weight:600}.table-container{overflow-x:auto;max-height:600px;overflow-y:auto;border-radius:6px;border:1px solid #e5e7eb}.pr-table{width:100%;border-collapse:collapse;color:#374151}.pr-table thead{background:#f9fafb;position:sticky;top:0;z-index:10}.pr-table th{padding:12px 15px;text-align:left;font-weight:600;border-bottom:1px solid #e5e7eb;color:#111827}.th-content{display:flex;flex-direction:column;gap:8px}.th-content span{font-size:.9rem}.sort-button{background:transparent!important;border:none;color:#111827;font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 0;text-align:left;width:auto;display:inline-flex;align-items:center;gap:6px;transition:color .2s;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sort-button:hover{color:#6b7280;background:transparent!important}.sort-button:focus{outline:none;background:transparent!important;box-shadow:none}.sort-button:active{color:#374151;background:transparent!important}.table-filter{padding:6px 10px;border-radius:4px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.85rem;cursor:pointer;transition:all .2s;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.table-filter:hover{border-color:#9ca3af}.table-filter:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.table-filter option{background:#fff;color:#374151}.pr-table tbody tr{border-bottom:1px solid #f3f4f6}.pr-table tbody tr:last-child{border-bottom:none}.pr-table td{padding:12px 15px;vertical-align:middle;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.user-cell{display:flex;align-items:center;gap:10px;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid #e5e7eb;flex-shrink:0}.repo-badge{display:inline-block;background:#f3f4f6;color:#374151;padding:4px 12px;border-radius:12px;font-size:.85rem;white-space:nowrap;font-weight:500;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.status-open{background:#dcfce7;color:#166534}.status-closed{background:#fee2e2;color:#991b1b}.status-merged{background:#ede9fe;color:#6b21a8}.pr-link{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.pr-link:hover{color:#1d4ed8;text-decoration:underline}.pr-link:visited{color:#7c3aed}.no-results{text-align:center;padding:40px;color:#6b7280;font-style:italic;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.asana-dashboard{margin-top:40px}.asana-dashboard.loading,.asana-dashboard.error{text-align:center;padding:40px}.task-count{background:#fef3c7;color:#92400e;padding:5px 15px;border-radius:20px;font-size:.9rem;font-weight:600}.task-table{width:100%;border-collapse:collapse;color:#374151}.task-table thead{background:#f9fafb;position:sticky;top:0;z-index:10}.task-table th{padding:12px 15px;text-align:left;font-weight:600;border-bottom:1px solid #e5e7eb;color:#111827}.task-table tbody tr{border-bottom:1px solid #f3f4f6}.task-table tbody tr:last-child{border-bottom:none}.task-table td{padding:12px 15px;vertical-align:middle;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.project-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:4px 12px;border-radius:12px;font-size:.85rem;white-space:nowrap;font-weight:500;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.task-link{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.task-link:hover{color:#1d4ed8;text-decoration:underline}.task-link:visited{color:#7c3aed}.status-incomplete{background:#dbeafe;color:#1e40af}.status-completed{background:#dcfce7;color:#166534}.subtask-row{background:#f9fafb}.subtask-row td{padding-left:25px}.subtask-indent{color:#9ca3af;margin-right:8px;font-weight:600}.subtask-row .task-link{font-size:.95rem;color:#4b5563}.subtask-row .task-link:hover{color:#2563eb}.actions-status-widget{background:#fff;border-radius:8px;padding:30px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;margin-bottom:30px}.widget-header{margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.widget-header.closed{margin-bottom:0;padding-bottom:0;border-bottom:none}.widget-header h3{font-size:1.5rem;margin:0 0 5px;color:#111827}.status-link{font-size:1.1rem;color:#2563eb;text-decoration:none;font-weight:500;transition:all .2s;background:#eff6ff;padding:8px 16px;border-radius:6px;border:1px solid #bfdbfe}.status-link:hover{text-decoration:none;background:#dbeafe}@media (prefers-color-scheme: dark){.status-link{background:#1e3a8a;border-color:#1e40af;color:#bfdbfe}.status-link:hover{background:#1e40af;color:#eff6ff}}.widget-subtitle{font-size:1rem;color:#6b7280;margin:0}.actions-table-container{max-height:none;overflow:visible}.service-name-cell{color:#111827;font-size:.95rem}.badges-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.badge-link{display:inline-flex;transition:opacity .2s;height:20px}.badge-link:hover{opacity:.8}.team-dashboard{margin-top:30px}.team-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.team-dashboard-header.closed{margin-bottom:0;padding-bottom:0;border-bottom:none}.team-dashboard-title h2{font-size:1.5rem;margin:0 0 5px;color:#111827}.team-dashboard-title p{font-size:1rem;color:#6b7280;margin:0}.team-dashboard-filters{display:flex;align-items:center;gap:20px}.team-dashboard-content{background:#fff;border-radius:8px;padding:30px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}
