:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f1f5f9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}body{background-color:#0f172a;min-width:320px;min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.auth-loading-container{background-color:#0f172a;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.auth-loading-spinner{border:3px solid #6366f133;border-top-color:#6366f1;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite auth-spin}.auth-loading-text{color:#94a3b8;font-size:.95rem;font-weight:500}@keyframes auth-spin{to{transform:rotate(360deg)}}.login-viewport{box-sizing:border-box;background-color:#0f172a;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{box-sizing:border-box;background-color:#1e293b;border:1px solid #ffffff14;border-radius:.75rem;width:100%;max-width:420px;padding:2.25rem 2rem;box-shadow:0 10px 25px -5px #0006,0 8px 10px -6px #0000004d}.login-brand{text-align:center;margin-bottom:2rem}.login-logo{color:#818cf8;background:#6366f126;border:1px solid #6366f14d;border-radius:.75rem;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.25rem;display:inline-flex}.login-title{color:#f8fafc;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:#94a3b8;margin:0;font-size:.875rem}.login-error-banner{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.login-error-icon{color:#ef4444;flex-shrink:0}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:#cbd5e1;font-size:.875rem;font-weight:500}.form-input{color:#f8fafc;box-sizing:border-box;background-color:#0f172a;border:1px solid #334155;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-input::placeholder{color:#64748b}.form-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f140}.form-input:disabled{opacity:.6;cursor:not-allowed}.login-submit-btn{color:#fff;cursor:pointer;box-sizing:border-box;background-color:#4f46e5;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-height:46px;margin-top:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:background-color .15s,transform .1s;display:flex}.login-submit-btn:hover:not(:disabled){background-color:#4338ca}.login-submit-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f180}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-loading-wrapper{align-items:center;gap:.6rem;display:flex}.submit-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite auth-spin}.dashboard-layout{box-sizing:border-box;flex-direction:column;gap:2rem;width:100%;max-width:960px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.dashboard-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.5rem;display:flex}.dashboard-title{color:#f8fafc;margin:.4rem 0 .25rem;font-size:1.75rem;font-weight:700}.dashboard-subtitle{color:#94a3b8;margin:0;font-size:.9rem}.role-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.role-admin{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.role-pm{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e94d}.role-developer{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.signout-btn{color:#cbd5e1;cursor:pointer;background-color:#0000;border:1px solid #334155;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.signout-btn:hover{color:#f8fafc;background-color:#ffffff0d;border-color:#64748b}.signout-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f166}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.metric-card{background-color:#1e293b;border:1px solid #ffffff14;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.metric-label{color:#94a3b8;font-size:.875rem;font-weight:500}.metric-value{color:#f8fafc;font-size:2rem;font-weight:700}.metric-alert{color:#f87171}.metric-success{color:#34d399}.section-card{background-color:#1e293b;border:1px solid #ffffff14;border-radius:.75rem;padding:1.5rem}.section-heading{color:#f8fafc;margin:0 0 1.25rem;font-size:1.1rem;font-weight:600}.loading-text,.empty-text{color:#94a3b8;margin:0;font-size:.95rem}.project-list,.task-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.project-list-item,.task-list-item{background-color:#0f172a;border:1px solid #ffffff0d;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.project-title,.task-title{color:#f1f5f9;font-size:.95rem;font-weight:500}.project-task-count{color:#94a3b8;background:#ffffff0f;border-radius:.25rem;padding:.25rem .6rem;font-size:.85rem}.task-info{flex-direction:column;gap:.2rem;display:flex}.task-status{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.priority-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.priority-critical{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.priority-high{color:#fb923c;background:#f9731626;border:1px solid #f973164d}.priority-medium{color:#facc15;background:#eab30826;border:1px solid #eab3084d}.priority-low{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.activity-card{background-color:#1e293b;border:1px solid #ffffff14;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.activity-header{justify-content:space-between;align-items:center;display:flex}.connection-badge{background:#ffffff0d;border:1px solid #ffffff14;border-radius:9999px;align-items:center;gap:.4rem;padding:.25rem .6rem;display:inline-flex}.status-dot{border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.status-dot-live{background-color:#22c55e;box-shadow:0 0 8px #22c55e80}.status-dot-offline{background-color:#64748b}.connection-text{color:#cbd5e1;letter-spacing:.02em;font-size:.75rem;font-weight:600}.activity-scroll-area{max-height:22rem;padding-right:.25rem;overflow-y:auto}.activity-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.activity-item{background-color:#0f172a;border:1px solid #ffffff0d;border-radius:.5rem;align-items:center;padding:.75rem 1rem;display:flex}.activity-main-line{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.875rem;line-height:1.4;display:flex}.activity-actor{color:#f8fafc;font-weight:600}.activity-action{color:#94a3b8}.status-badge-inline{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff1a;border-radius:.25rem;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.activity-arrow{color:#64748b;-webkit-user-select:none;user-select:none;font-size:.85rem}.activity-meta{color:#64748b;margin-left:.2rem;font-size:.8rem}.header-actions{align-items:center;gap:.75rem;display:flex}.view-tasks-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.view-tasks-btn:hover{background-color:#2563eb}.back-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:.375rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:background-color .15s,color .15s}.back-btn:hover{color:#f8fafc;background-color:#ffffff14}.header-nav-row{margin-bottom:.5rem}.filter-bar{background-color:#1e293b;border:1px solid #ffffff14;border-radius:.75rem;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.filter-group{flex-direction:column;flex:1;gap:.35rem;min-width:140px;display:flex}.filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.filter-select,.filter-input{color:#f1f5f9;background-color:#0f172a;border:1px solid #ffffff1f;border-radius:.375rem;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.filter-select:focus,.filter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.filter-action-group{align-items:flex-end;padding-bottom:.1rem;display:flex}.clear-filters-btn{color:#f87171;cursor:pointer;background-color:#ef444426;border:1px solid #ef44444d;border-radius:.375rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:background-color .15s}.clear-filters-btn:hover{background-color:#ef444440}.tasks-table-wrapper{width:100%;overflow-x:auto}.tasks-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.tasks-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff14;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.tasks-table td{color:#e2e8f0;border-bottom:1px solid #ffffff0a;padding:.9rem 1rem}.task-table-row{cursor:pointer;transition:background-color .15s}.task-table-row:hover,.task-table-row:focus-visible{background-color:#ffffff0a;outline:none}.task-title-cell{align-items:center;gap:.5rem;display:flex}.task-row-title{color:#f8fafc;font-weight:600}.task-row-id{color:#64748b;font-size:.8rem}.due-date-cell{align-items:center;gap:.5rem;display:flex}.overdue-tag{color:#f87171;text-transform:uppercase;background-color:#ef444426;border:1px solid #ef44444d;border-radius:.25rem;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.assignee-cell{color:#94a3b8;font-size:.85rem}.task-detail-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.task-detail-grid{grid-template-columns:1fr}}.task-detail-title-row{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.task-detail-id-badge{color:#94a3b8;background-color:#ffffff14;border-radius:.25rem;padding:.2rem .5rem;font-size:.85rem;font-weight:600}.task-description-text{color:#cbd5e1;margin:0;line-height:1.6}.status-updater-row{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.status-label{color:#94a3b8;font-size:.875rem}.status-select-control{min-width:180px}.updating-spinner-text{color:#94a3b8;font-size:.85rem;font-style:italic}.property-list{flex-direction:column;gap:.85rem;display:flex}.property-item{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding-bottom:.6rem;display:flex}.property-label{color:#94a3b8;font-size:.85rem}.property-value{color:#f1f5f9;font-size:.85rem;font-weight:500}.notification-bell-container{display:inline-flex;position:relative}.notification-bell-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background-color .15s,color .15s,border-color .15s;display:flex;position:relative}.notification-bell-btn:hover{color:#f8fafc;background-color:#ffffff0f;border-color:#fff3}.notification-bell-btn:focus-visible{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f6}.notification-bell-svg{width:1.25rem;height:1.25rem}.notification-badge{color:#fff;background-color:#ef4444;border:2px solid #0f172a;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notification-dropdown{z-index:100;background-color:#1e293b;border:1px solid #ffffff1a;border-radius:.75rem;flex-direction:column;width:340px;max-width:90vw;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0006}.notification-dropdown-header{background-color:#0f172a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.notification-dropdown-title{color:#f8fafc;font-size:.875rem;font-weight:600}.mark-all-read-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;transition:color .15s}.mark-all-read-btn:hover{color:#60a5fa;text-decoration:underline}.notification-dropdown-body{max-height:22rem;overflow-y:auto}.notification-empty-text{text-align:center;color:#94a3b8;margin:0;padding:1.5rem 1rem;font-size:.875rem}.notification-list{margin:0;padding:0;list-style:none}.notification-item{border-bottom:1px solid #ffffff0a;padding:.85rem 1rem;transition:background-color .15s}.notification-item:last-child{border-bottom:none}.notification-item-unread{cursor:pointer;background-color:#3b82f60f}.notification-item-unread:hover,.notification-item-unread:focus-visible{background-color:#3b82f61f;outline:none}.notification-item-content{align-items:flex-start;gap:.65rem;display:flex}.notification-unread-dot{background-color:#3b82f6;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.35rem;box-shadow:0 0 6px #3b82f699}.notification-text-wrapper{flex-direction:column;flex:1;gap:.25rem;display:flex}.notification-msg{color:#f1f5f9;word-break:break-word;margin:0;font-size:.825rem;line-height:1.4}.notification-time{color:#64748b;font-size:.75rem}.admin-nav-btn{color:#cbd5e1;cursor:pointer;background-color:#0000;border:1px solid #334155;border-radius:.5rem;padding:.55rem .95rem;font-size:.875rem;font-weight:500;transition:all .15s}.admin-nav-btn:hover{color:#f8fafc;background-color:#ffffff0d;border-color:#64748b}.admin-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #6366f166}.primary-action-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:.5rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.primary-action-btn:hover:not(:disabled){background-color:#4338ca}.primary-action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #6366f180}.primary-action-btn:disabled{opacity:.6;cursor:not-allowed}.form-card{background:linear-gradient(#1e293b 0%,#172033 100%);border-color:#6366f140}.form-card-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.text-cancel-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:.85rem;transition:color .15s}.text-cancel-btn:hover{color:#f1f5f9}.admin-crud-form{flex-direction:column;gap:1.25rem;margin-top:1.25rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.required-indicator{color:#ef4444}.form-actions-row{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.submit-action-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:.375rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.submit-action-btn:hover:not(:disabled){background-color:#4338ca}.submit-action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #6366f180}.submit-action-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-action-btn{color:#94a3b8;cursor:pointer;background-color:#0000;border:1px solid #334155;border-radius:.375rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.cancel-action-btn:hover:not(:disabled){color:#f1f5f9;background-color:#ffffff0d;border-color:#64748b}.cancel-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-crud-table{width:100%}.table-item-primary{color:#f8fafc;font-weight:600}.table-item-secondary{color:#94a3b8}.table-actions-inline{justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.action-edit-btn{color:#60a5fa;cursor:pointer;background-color:#3b82f61f;border:1px solid #3b82f640;border-radius:.375rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;transition:all .15s}.action-edit-btn:hover:not(:disabled){color:#93c5fd;background-color:#3b82f638;border-color:#3b82f673}.action-edit-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #3b82f666}.action-edit-btn:disabled{opacity:.45;cursor:not-allowed}.action-delete-btn{color:#f87171;cursor:pointer;background-color:#ef44441f;border:1px solid #ef444440;border-radius:.375rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;transition:all .15s}.action-delete-btn:hover:not(:disabled){color:#fca5a5;background-color:#ef444438;border-color:#ef444473}.action-delete-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ef444466}.action-delete-btn:disabled{opacity:.4;cursor:not-allowed}.table-row-active{background-color:#6366f114}.table-row-self{background-color:#ffffff05}.user-name-cell{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.self-user-badge{color:#a5b4fc;letter-spacing:.02em;background-color:#6366f126;border:1px solid #6366f14d;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.role-selector-cell{align-items:center;gap:.6rem;display:flex}.role-select-input{color:#f1f5f9;letter-spacing:.03em;cursor:pointer;background-color:#0f172a;border:1px solid #ffffff26;border-radius:.375rem;outline:none;padding:.35rem .65rem;font-size:.8rem;font-weight:600;transition:border-color .15s}.role-select-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f14d}.role-select-input:disabled{opacity:.6;cursor:not-allowed;border-color:#ffffff14}.role-select-admin{color:#f87171}.role-select-pm{color:#38bdf8}.role-select-developer{color:#34d399}.inline-updating-text{color:#94a3b8;font-size:.75rem;font-style:italic}
