.resizable-sidebar{position:relative;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .2s ease;flex-shrink:0}.sidebar-logo{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-icon{width:32px;height:32px;object-fit:contain}.logo-full{height:32px;width:auto;object-fit:contain}.resizable-sidebar.minimized .logo-full{display:none}.resizable-sidebar:not(.minimized) .logo-icon{display:none}.resizable-sidebar.minimized{width:48px!important}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.nav-list{list-style:none;padding:0;margin:0}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin:.125rem .5rem;color:var(--text-secondary);text-decoration:none;border-radius:6px;transition:all .15s;font-size:.875rem;font-weight:500;position:relative}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:50%;background-color:var(--accent-blue);border-radius:0 2px 2px 0}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{position:absolute;top:-4px;right:-4px;background:var(--accent-red);color:#fff;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;padding:0 4px;border:2px solid var(--bg-secondary)}.nav-badge-text{background:var(--accent-red);color:#fff;border-radius:10px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;padding:0 6px;margin-left:auto}.resizable-sidebar.minimized .nav-label,.resizable-sidebar.minimized .nav-badge-text{display:none}.resizable-sidebar.minimized .nav-link{justify-content:center;padding:.625rem;margin:.125rem .25rem;position:relative}.resizable-sidebar.minimized .nav-badge{position:absolute;top:4px;right:4px}.projects-sidebar-header{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin:.125rem .5rem;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .15s;-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:500}.projects-sidebar-header-minimized{display:flex;align-items:center;justify-content:center;padding:.5rem;margin:.125rem .25rem;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .15s;width:32px;height:32px}.projects-sidebar-header-minimized:hover{background-color:var(--bg-hover);color:var(--text-primary)}.expand-icon{margin-left:auto;font-size:.75rem;color:var(--text-tertiary);transition:transform .2s}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background-color .2s;z-index:10}.resize-handle:hover{background-color:var(--accent-blue)}.resize-handle:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background-color:var(--border-color)}.sidebar-toggle{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s;z-index:10}.sidebar-toggle:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.resizable-sidebar.minimized .sidebar-toggle{left:50%;transform:translate(-50%)}.resizable-sidebar::-webkit-scrollbar{width:6px}.resizable-sidebar::-webkit-scrollbar-track{background:transparent}.resizable-sidebar::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.resizable-sidebar::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.icon-placeholder{width:16px;height:16px;background:var(--bg-tertiary);border-radius:2px}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.onboarding-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:420px;overflow:hidden}.onboarding-header{text-align:center;padding:2rem 2rem 1.5rem;background:linear-gradient(135deg,var(--accent-blue) 0%,#6366f1 100%);color:#fff}.onboarding-header h1{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.onboarding-greeting{font-size:1rem;opacity:.9;margin:0}.onboarding-greeting strong{color:#fff}.onboarding-content{padding:1.5rem 2rem}.role-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:8px}.role-label{font-size:.8125rem;color:var(--text-secondary)}.role-badge{padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:600}.role-admin{background:#ef444426;color:#ef4444}.role-project_owner{background:#f59e0b26;color:#f59e0b}.role-core_member,.role-developer{background:#3b82f626;color:#3b82f6}.role-intern{background:#10b98126;color:#10b981}.role-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1.25rem}.quick-tips{background:var(--bg-tertiary);border-radius:8px;padding:1rem}.quick-tips h3{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0 0 .625rem}.quick-tips ul{margin:0;padding:0;list-style:none}.quick-tips li{position:relative;padding-left:1rem;margin-bottom:.375rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.quick-tips li:last-child{margin-bottom:0}.quick-tips li:before{content:"→";position:absolute;left:0;color:var(--accent-blue);font-size:.75rem}.onboarding-footer{padding:1.25rem 2rem;border-top:1px solid var(--border-color)}.btn-get-started{width:100%;padding:.875rem;font-size:.9375rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;background:var(--accent-blue);color:#fff;transition:background .15s ease}.btn-get-started:hover{background:var(--accent-blue-hover, #2563eb)}@media (max-width: 480px){.onboarding-modal{margin:.5rem}.onboarding-header,.onboarding-content,.onboarding-footer{padding-left:1.25rem;padding-right:1.25rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card{width:100%;max-width:320px;text-align:center;padding:2rem}.login-logo{width:80px;height:80px;margin-bottom:1.5rem;border-radius:16px}.login-card h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 2rem}.error-message{background-color:#f23f421a;color:var(--accent-red);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;text-align:left}.google-login-btn{width:100%;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:500;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;background-color:var(--bg-secondary);color:var(--text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-login-btn:hover{background-color:var(--bg-tertiary);border-color:var(--text-tertiary)}.google-login-btn:disabled{opacity:.5;cursor:not-allowed}.google-icon{flex-shrink:0}.login-note{margin-top:1.5rem;font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.skeleton-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;border-radius:4px;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-title{width:60%;height:10px;margin-bottom:.75rem}.skeleton-value{width:40%;height:24px}.skeleton-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.skeleton-table-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.skeleton-header{height:10px;width:80%}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-cell{height:14px;width:70%}.skeleton-text{padding:.5rem 0}.skeleton-project-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem}.skeleton-project-name{flex:1;height:14px}.skeleton-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-tertiary);animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}.core-member-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-subtitle{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem}.velocity-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.velocity-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;align-items:center;gap:1rem}.velocity-icon{font-size:2rem;flex-shrink:0}.velocity-content{flex:1}.velocity-value{font-size:2rem;font-weight:600;color:var(--text-primary);line-height:1.2}.velocity-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.dashboard-widget{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.widget-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.dashboard-widgets-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.widget-half{margin-bottom:0}.table-container{overflow-x:auto}.timeline-table{width:100%;border-collapse:collapse}.timeline-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.timeline-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.timeline-row{cursor:pointer;transition:background-color .2s}.timeline-row:hover{background:var(--bg-tertiary)}.timeline-row.health-critical{border-left:3px solid var(--accent-red)}.timeline-row.health-at-risk{border-left:3px solid var(--accent-yellow)}.timeline-row.health-healthy{border-left:3px solid var(--accent-green)}.project-name-cell{display:flex;align-items:center;gap:.5rem;font-weight:500}.health-indicator{font-size:1rem}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;background:var(--bg-tertiary)}.days-critical{color:var(--accent-red);font-weight:600}.progress-bar-container{position:relative;width:100%;height:20px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent-blue);transition:width .3s}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:600;color:var(--text-primary);z-index:1}.blockers-cell{font-size:.85rem}.blocker-badge{color:var(--accent-red);font-weight:500}.no-blockers{color:var(--text-tertiary)}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.review-content{flex:1}.review-task-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.review-assignee{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.review-description{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.review-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-approve{background:var(--accent-green);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-approve:hover{background:#059669}.btn-reject{background:var(--accent-red);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-reject:hover{background:#dc2626}.btn-reject:disabled{opacity:.5;cursor:not-allowed}.workload-list{display:flex;flex-direction:column;gap:1rem}.workload-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.workload-item.workload-overloaded{border-left:3px solid var(--accent-red)}.workload-item.workload-free{border-left:3px solid var(--accent-green)}.workload-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.workload-emoji{font-size:1.5rem}.workload-info{flex:1}.workload-name{font-weight:600;color:var(--text-primary)}.workload-status{font-size:.85rem;color:var(--text-secondary)}.workload-tasks{font-size:.9rem;color:var(--text-primary);margin-bottom:.75rem}.btn-view-tasks{background:var(--accent-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s;width:100%}.btn-view-tasks:hover{background:var(--accent-blue-hover)}@media (max-width: 768px){.dashboard-widgets-row{grid-template-columns:1fr}.velocity-metrics{grid-template-columns:repeat(2,1fr)}.review-item{flex-direction:column}.review-actions{width:100%}.review-actions button{flex:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.new-project-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.new-project-modal.extended{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:.25rem;line-height:1}.section-tabs{display:flex;gap:.25rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.section-tab{padding:.5rem 1rem;background:none;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .2s}.section-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.section-tab.active{color:var(--accent-blue);background:#3b82f61a}.form-section{min-height:200px}.new-project-form{padding:1.5rem;overflow-y:auto;flex:1}.form-error{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--accent-red);font-size:.875rem;margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.form-hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-tertiary)}.empty-hint{font-size:.8125rem;color:var(--text-tertiary);font-style:italic}.member-section{margin-bottom:1rem}.member-section-label{display:block;font-size:.75rem;color:var(--text-tertiary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.member-chips{display:flex;flex-wrap:wrap;gap:.5rem}.member-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.member-chip:hover{border-color:var(--accent-blue);color:var(--text-primary)}.member-chip.selected{background:#3b82f626;border-color:var(--accent-blue);color:var(--accent-blue)}.chip-check{font-size:.7rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--accent-blue);border:none;color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.projects-list-page{padding:0;background-color:transparent;min-height:100vh;color:var(--text-primary);max-width:1400px;margin:0 auto}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.projects-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.btn-primary{background-color:var(--accent-blue);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.projects-section{margin-bottom:2rem}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.section-header-collapsible{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;margin-bottom:1rem}.section-header-collapsible:hover{opacity:.8}.collapse-icon{color:var(--text-tertiary);font-size:.875rem}.projects-table{width:100%;background-color:var(--bg-secondary);border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.projects-table thead{background-color:var(--bg-tertiary)}.projects-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.projects-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.projects-table tbody tr{transition:background-color .15s}.projects-table tbody tr:hover{background-color:var(--bg-hover)}.project-row{cursor:pointer}.project-name-cell{min-width:200px}.project-name{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.project-description-small{font-size:.75rem;color:var(--text-secondary)}.delivery-cell{min-width:120px}.delivery-bar{position:relative;height:24px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden}.delivery-fill{position:absolute;top:0;left:0;height:100%;background-color:var(--accent-green);transition:width .3s}.delivery-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:500;color:var(--text-primary);z-index:1}.owner-cell,.date-cell{color:var(--text-secondary);font-size:.875rem}.empty-state{text-align:center;padding:3rem;color:var(--text-tertiary)}.project-detail-page{padding:0;background-color:transparent;min-height:100vh;color:var(--text-primary);max-width:1400px;margin:0 auto}.project-header-detail{margin-bottom:2rem}.project-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-danger-outline{background:transparent;border:1px solid var(--accent-red);color:var(--accent-red);padding:.5rem 1rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-outline:hover:not(:disabled){background:#ef44441a}.btn-danger-outline:disabled{opacity:.5;cursor:not-allowed}.back-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-size:.875rem;transition:color .2s}.back-button:hover{color:var(--text-primary)}.project-header-content{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.project-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.project-meta-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-toggle-container{display:flex;align-items:center;margin-left:.5rem}.status-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label-text{font-size:.8125rem;font-weight:500;color:var(--text-secondary);min-width:50px}.status-toggle-input{position:absolute;opacity:0;width:0;height:0}.status-toggle-slider{position:relative;display:inline-block;width:44px;height:24px;background-color:var(--bg-tertiary);border-radius:24px;transition:background-color .3s;border:1px solid var(--border-color)}.status-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .3s}.status-toggle-input:checked+.status-toggle-slider{background-color:var(--accent-green);border-color:var(--accent-green)}.status-toggle-input:checked+.status-toggle-slider:before{transform:translate(20px)}.status-toggle-input:focus+.status-toggle-slider{outline:2px solid var(--accent-blue);outline-offset:2px}.status-toggle-label:hover .toggle-label-text{color:var(--text-primary)}.status-toggle-label:hover .status-toggle-slider{border-color:var(--accent-blue)}.project-description{color:var(--text-secondary);margin-top:.5rem;line-height:1.5}.project-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.tab-button{background:none;border:none;color:var(--text-secondary);padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.project-tab-content{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color);animation:fadeIn var(--transition-normal) ease-in;min-height:400px}.project-table-container{background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.table-header-actions{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:flex-end}.btn-add-task{background-color:var(--accent-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-task:hover{background-color:var(--accent-blue-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.25rem}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:var(--accent-blue)}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end}.table-toolbar{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem}.btn-add-row{background-color:var(--accent-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-row:hover{background-color:var(--accent-blue-hover)}.table-wrapper{overflow-x:auto}.notion-table{width:100%;border-collapse:collapse}.notion-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.notion-table td{padding:.5rem 1rem;border-bottom:1px solid var(--border-color);min-height:40px}.notion-table tbody tr{transition:background-color .1s}.notion-table tbody tr:hover{background-color:var(--bg-hover)}.table-row{cursor:default}.notion-table tbody tr.table-row.priority-urgent .cell-task{border-left:3px solid rgba(239,68,68,.5)}.notion-table tbody tr.table-row.priority-urgent:hover .cell-task{border-left-color:#ef4444b3}.notion-table tbody tr.table-row.status-done{opacity:.85}.notion-table tbody tr.table-row.status-done .cell-task .editable-cell-display{text-decoration:line-through;color:var(--text-tertiary)}.notion-table tbody tr.table-row.status-done .cell-status .status-select-button-neutral,.notion-table tbody tr.table-row.status-done .cell-priority .priority-select-button-neutral{opacity:.9}.empty-table-state{text-align:center;padding:3rem;color:var(--text-tertiary)}.btn-add-first{background-color:var(--accent-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;margin-top:1rem;cursor:pointer;transition:background-color .2s}.btn-add-first:hover{background-color:var(--accent-blue-hover)}.editable-cell-display{padding:.25rem .5rem;border-radius:4px;cursor:text;min-height:24px;display:flex;align-items:center;transition:background-color .15s}.editable-cell-display:hover{background-color:var(--bg-hover)}.editable-cell-input{width:100%;background-color:var(--bg-tertiary);border:2px solid var(--accent-blue);border-radius:4px;padding:.25rem .5rem;color:var(--text-primary);font-size:.875rem;outline:none}.editable-cell-input:focus{background-color:var(--bg-secondary)}.placeholder{color:var(--text-tertiary);font-style:italic}.text-muted{color:var(--text-tertiary)}.status-select,.priority-select,.assignee-select,.date-picker{position:relative;display:inline-block}.status-select-button,.priority-select-button,.assignee-select-button,.date-picker-button{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.375rem .75rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s;min-width:100px;text-align:left}.status-select-button:hover,.priority-select-button:hover,.assignee-select-button:hover,.date-picker-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.status-select-button-neutral,.priority-select-button-neutral{color:var(--text-tertiary);font-weight:500}.status-select-dropdown,.priority-select-dropdown,.assignee-select-dropdown,.date-picker-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;min-width:150px;overflow:hidden}.status-option,.priority-option,.assignee-option{display:block;width:100%;background:none;border:none;color:var(--text-primary);padding:.625rem 1rem;text-align:left;cursor:pointer;font-size:.875rem;transition:background-color .15s}.status-option:hover,.priority-option:hover,.assignee-option:hover{background-color:var(--bg-hover)}.status-option.selected,.priority-option.selected,.assignee-option.selected{background-color:var(--bg-active)}.assignee-select-loading{padding:.375rem .75rem;color:var(--text-secondary);font-size:.875rem}.date-picker-dropdown{padding:1rem;min-width:250px}.date-picker-input{width:100%;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:.5rem;color:var(--text-primary);font-size:.875rem;margin-bottom:.5rem}.date-picker-input:focus{outline:none;border-color:var(--accent-blue)}.date-picker-clear{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.375rem .75rem;border-radius:4px;font-size:.875rem;cursor:pointer;width:100%;transition:all .15s}.date-picker-clear:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.btn-icon-delete{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .15s;line-height:1}.btn-icon-delete:hover{color:var(--accent-red);background-color:var(--bg-hover)}.cell-task{min-width:200px}.cell-status,.cell-priority{min-width:120px}.cell-assignee{min-width:150px}.cell-due-date{min-width:140px}.cell-actions{min-width:100px;text-align:center}.btn-mark-done{padding:.3rem .6rem;font-size:.75rem;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.btn-mark-done:hover{color:var(--accent-green);border-color:#10b98166;background:#10b98114}.documents-panel{display:flex;flex-direction:column;gap:2rem}.documents-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.timeline-links-content{display:flex;flex-direction:column;gap:1.5rem}.timeline-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.timeline-row:last-child{border-bottom:none}.timeline-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.timeline-value{font-size:.875rem;color:var(--text-primary)}.links-section{margin-top:1rem}.links-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.links-list{display:flex;flex-direction:column;gap:.5rem}.link-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:6px;text-decoration:none;color:var(--accent-blue);transition:background-color .15s;border:1px solid var(--border-color)}.link-item:hover{background:var(--bg-hover);border-color:var(--border-hover)}.link-icon{font-size:1rem}.link-name{font-size:.875rem;font-weight:500}.documents-toolbar{display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #3a3a3a}.file-input-hidden{display:none}.btn-upload,.btn-add-link{background-color:var(--accent-blue);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-upload:hover,.btn-add-link:hover{background-color:var(--accent-blue-hover)}.link-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.link-input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:.625rem;color:var(--text-primary);font-size:.875rem}.link-input:focus{outline:none;border-color:var(--accent-blue)}.link-form-actions{display:flex;gap:.5rem}.btn-primary-small,.btn-secondary-small{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;border:none}.btn-primary-small{background-color:#4a9eff;color:#fff}.btn-primary-small:hover{background-color:#3a8eef}.btn-secondary-small{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary-small:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-tertiary);border-radius:6px;transition:background-color .15s;border:1px solid var(--border-color)}.document-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.document-info{display:flex;align-items:center;gap:.75rem;flex:1}.document-icon{font-size:1.25rem}.document-link{color:var(--accent-blue);text-decoration:none;font-size:.875rem}.document-link:hover{text-decoration:underline;color:var(--accent-blue-hover)}.document-size,.document-type{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.health-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.team-member-select{display:flex;flex-direction:column;gap:.5rem}.assigned-members{display:flex;flex-wrap:wrap;gap:.375rem}.no-members,.team-loading{color:var(--text-tertiary);font-size:.875rem}.member-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:.8125rem}.member-name{color:var(--text-primary)}.remove-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:2px}.remove-btn:hover{color:var(--accent-red);background:#ef44441a}.add-member-btn{background:none;border:1px dashed var(--border-color);color:var(--text-secondary);padding:.375rem .75rem;border-radius:4px;font-size:.8125rem;cursor:pointer;transition:all .15s ease;align-self:flex-start}.add-member-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.member-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-md)}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;cursor:pointer;transition:background .1s ease}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item .user-name{font-size:.875rem;color:var(--text-primary)}.dropdown-empty{padding:.75rem;text-align:center;color:var(--text-tertiary);font-size:.8125rem}.role-tag{font-size:.6875rem;padding:.125rem .375rem;border-radius:3px;font-weight:500}.role-tag.role-admin{background:#ef444426;color:#ef4444}.role-tag.role-project_owner{background:#f59e0b26;color:#f59e0b}.role-tag.role-core_member,.role-tag.role-developer{background:#3b82f626;color:#3b82f6}.role-tag.role-intern{background:#10b98126;color:#10b981}.meetings-panel{padding:0}.panel-toolbar{margin-bottom:1.5rem}.meetings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.meeting-card-compact{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s;position:relative}.meeting-card-compact:hover{border-color:var(--accent-blue);transform:translateY(-2px)}.meeting-card-compact.expanded{grid-column:1 / -1;cursor:default}.meeting-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.meeting-date-compact{display:flex;flex-direction:column}.date-day{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.date-time{font-size:.75rem;color:var(--text-tertiary)}.meeting-type-badge{padding:.2rem .6rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:capitalize}.meeting-type-badge.type-client{background:#3b82f626;color:#3b82f6}.meeting-type-badge.type-internal{background:#10b98126;color:#10b981}.meeting-type-badge.type-standup{background:#f59e0b26;color:#f59e0b}.meeting-summary-preview{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meeting-card-footer{display:flex;flex-wrap:wrap;gap:.5rem}.meeting-meta-badge{font-size:.7rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px}.meeting-expanded{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.meeting-expanded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.meeting-expanded-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.meeting-section strong{display:block;font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.meeting-section p{margin:0;font-size:.875rem;color:var(--text-primary);line-height:1.5}.meeting-section ul{margin:0;padding-left:1.25rem}.meeting-section li{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.btn-collapse{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;font-size:.8125rem;cursor:pointer;margin-top:.5rem;transition:all .2s}.btn-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-delete{background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--accent-red);padding:.35rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-icon-delete:hover{background:#ef44441a;border-color:var(--accent-red)}.meeting-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.5rem;margin-bottom:1.5rem}.meeting-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.meeting-form .form-group{margin-bottom:1rem}.meeting-form .form-group label{display:block;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.35rem}.meeting-form .form-group input,.meeting-form .form-group select,.meeting-form .form-group textarea{width:100%;padding:.625rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem}.meeting-form .form-group input:focus,.meeting-form .form-group select:focus,.meeting-form .form-group textarea:focus{outline:none;border-color:var(--accent-blue)}.meeting-form .form-group textarea{resize:vertical;min-height:80px}@media (max-width: 640px){.meetings-grid,.meeting-form .form-row{grid-template-columns:1fr}}.projects-sidebar-section{margin-bottom:.5rem}.projects-sidebar-header{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;margin:.125rem .5rem;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .15s;-webkit-user-select:none;user-select:none}.projects-sidebar-header:hover{background-color:var(--bg-hover);color:var(--text-primary)}.expand-icon{margin-left:auto;font-size:.75rem;color:var(--text-tertiary)}.projects-sidebar-content{padding-left:1rem;margin-top:.25rem}.projects-subsection{margin-bottom:.75rem}.projects-subsection-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--text-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.delivered-header{cursor:pointer;-webkit-user-select:none;user-select:none}.delivered-header:hover{color:var(--text-secondary)}.subsection-label{flex:1}.subsection-count{color:var(--text-tertiary);font-weight:400}.expand-icon-small{font-size:.625rem;margin-left:auto}.projects-list{list-style:none;padding:0;margin:0}.projects-list li{margin:.125rem 0}.project-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:6px;transition:all .15s;font-size:.875rem}.project-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.project-link.active{background-color:var(--bg-active);color:var(--text-primary)}.project-name{flex:1}.project-health-dot{width:8px;height:8px;border-radius:50%}.project-health-dot.healthy{background-color:var(--accent-green)}.project-health-dot.at-risk{background-color:var(--accent-yellow)}.project-health-dot.critical{background-color:var(--accent-red)}.projects-loading,.projects-empty{padding:.5rem 1rem;color:var(--text-tertiary);font-size:.75rem;font-style:italic}.project-overview{display:flex;flex-direction:column;gap:2rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.overview-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.overview-table{width:100%;border-collapse:collapse}.overview-table tbody tr{border-bottom:1px solid var(--border-color)}.overview-table tbody tr:last-child{border-bottom:none}.field-label{padding:.75rem .5rem .75rem 0;color:var(--text-secondary);font-size:.875rem;font-weight:500;width:140px;vertical-align:top}.overview-table td:last-child{padding:.75rem 0;color:var(--text-primary);font-size:.875rem}.contact-admin-placeholder{color:var(--text-tertiary);font-style:italic;font-size:.9rem}.editable-field-display{padding:.25rem .5rem;border-radius:4px;cursor:text;min-height:24px;display:inline-block;transition:background-color .15s}.editable-field-display:hover{background-color:var(--bg-hover)}.editable-field-input,.editable-field-textarea,.editable-field-select{width:100%;background-color:var(--bg-tertiary);border:2px solid var(--accent-blue);border-radius:4px;padding:.5rem;color:var(--text-primary);font-size:.875rem;outline:none;font-family:inherit}.editable-field-input:focus,.editable-field-textarea:focus,.editable-field-select:focus{background-color:var(--bg-secondary)}.editable-field-textarea{resize:vertical;min-height:60px}.external-link{color:var(--accent-blue);text-decoration:none}.external-link:hover{text-decoration:underline}.editable-link{cursor:text}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;text-align:center}.stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.meetings-panel{display:flex;flex-direction:column;gap:1.5rem}.meeting-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.form-group input,.form-group textarea,.form-group select{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:.625rem;color:var(--text-primary);font-size:.875rem;font-family:inherit}.meetings-list{display:flex;flex-direction:column;gap:1rem}.meeting-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.meeting-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.meeting-date{font-weight:600;color:var(--text-primary);flex:1}.meeting-type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;background-color:#5865f226;color:var(--accent-blue);text-transform:capitalize}.meeting-section{margin-bottom:1rem}.meeting-section:last-child{margin-bottom:0}.meeting-section strong{color:var(--text-secondary);font-size:.875rem;display:block;margin-bottom:.5rem}.meeting-section p{color:var(--text-primary);line-height:1.6;margin:0}.meeting-section ul{margin:.5rem 0 0 1.5rem;padding:0;color:var(--text-primary)}.meeting-section li{margin-bottom:.25rem}.payments-panel{display:flex;flex-direction:column;gap:1.5rem}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center}.summary-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.summary-value{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.summary-value.positive{color:var(--accent-green)}.summary-value.negative{color:var(--accent-red)}.summary-card.primary{border-color:var(--accent-blue);background:#3b82f60d}.payment-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;padding:.75rem 1rem;font-size:.8125rem;color:#f59e0b}.payment-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.payments-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.payments-table th{background:var(--bg-tertiary);padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.payments-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.payments-table tbody tr:last-child td{border-bottom:none}.payments-table tbody tr:hover{background-color:var(--bg-hover)}.invoice-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.invoice-status.pending{background-color:#f0b23226;color:var(--accent-yellow)}.invoice-status.sent{background-color:#5865f226;color:var(--accent-blue)}.invoice-status.paid{background-color:#23a55a26;color:var(--accent-green)}.invoice-status.overdue{background-color:#f23f4226;color:var(--accent-red)}.change-requests-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.change-requests-table{width:100%;border-collapse:collapse}.change-requests-table th{background:var(--bg-tertiary);padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.change-requests-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.change-requests-table tbody tr:hover{background-color:var(--bg-hover)}.cr-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.cr-status.requested{background-color:#5865f226;color:var(--accent-blue)}.cr-status.approved{background-color:#23a55a26;color:var(--accent-green)}.cr-status.rejected{background-color:#f23f4226;color:var(--accent-red)}.cr-status.delivered{background-color:#23a55a26;color:var(--accent-green)}.panel-toolbar{display:flex;gap:.5rem;margin-bottom:1rem}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-height:400px;align-items:start}.kanban-column{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.75rem;min-height:320px;transition:border-color .2s,box-shadow .2s}.kanban-column.drop-target{border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f640}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border-color)}.kanban-column-title{font-size:.875rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.kanban-column-count{font-size:.75rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:999px}.kanban-column-cards{display:flex;flex-direction:column;gap:.5rem;min-height:200px}.kanban-card-wrapper{position:relative;touch-action:none}.kanban-card-wrapper.clickable:hover .kanban-card{border-color:var(--accent-blue)}.kanban-card-drag-handle{position:absolute;left:0;top:0;bottom:0;width:20px;cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:8px 0 0 8px}.kanban-card-drag-handle:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.kanban-card-drag-handle:active{cursor:grabbing}.kanban-card-drag-handle:before{content:"⋮⋮";font-size:.75rem;letter-spacing:-.2em}.kanban-card-click-area{padding-left:20px}.kanban-card-wrapper:not(.clickable) .kanban-card-click-area{padding-left:0}.kanban-card-added-by,.kanban-card-assigned-by{display:block;font-size:.65rem;color:var(--text-tertiary);margin-bottom:.25rem;font-style:italic}.kanban-card-wrapper:active{cursor:grabbing}.kanban-card-wrapper.dragging{opacity:.5}.kanban-card-wrapper.overlay{cursor:grabbing;transform:rotate(2deg);box-shadow:0 12px 24px #00000040}.kanban-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.kanban-card:hover{border-color:var(--border-hover)}.kanban-card.overdue{border-left:3px solid var(--accent-red)}.kanban-card.status-done{opacity:.82;background:var(--bg-secondary);border-color:var(--border-color)}.kanban-card.status-done .kanban-card-title{text-decoration:line-through;color:var(--text-tertiary)}.kanban-card.status-done .kanban-card-desc,.kanban-card.status-done .kanban-card-meta{color:var(--text-tertiary)}.kanban-card.status-done .kanban-card-priority{opacity:.8}.kanban-card-proof-badge{font-size:.7rem;color:var(--text-tertiary);margin-top:.25rem}.kanban-card-status-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;margin-bottom:.5rem}.kanban-card-status-badge.submitted-for-approval{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.kanban-card-status-badge.approved{background:#23a55a26;color:var(--accent-green);border:1px solid rgba(35,165,90,.3)}.kanban-card.status-review{border-left:3px solid #f59e0b;background:linear-gradient(to right,rgba(245,158,11,.06) 0%,transparent 12px)}.kanban-card.status-rejected{border-left:3px solid #ef4444;background:linear-gradient(to right,rgba(239,68,68,.08) 0%,transparent 12px)}.kanban-card-rejection-alert{background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:.875rem;margin-bottom:.75rem;font-size:.8125rem}.rejection-header{margin-bottom:.5rem}.rejection-title{font-weight:500;color:#dc2626;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.rejection-reason{color:var(--text-primary);margin-bottom:.375rem;line-height:1.4}.rejection-reason strong{color:var(--text-primary);font-weight:600}.rejection-by{color:var(--text-secondary);font-size:.8rem;margin-top:.25rem}.rejection-by strong{color:var(--text-primary);font-weight:500}.kanban-column.read-only .kanban-card-wrapper{cursor:default}.kanban-column.read-only .kanban-card-drag-handle{display:none}.kanban-card.priority-urgent{border-left:3px solid rgba(239,68,68,.6);background:linear-gradient(to right,rgba(239,68,68,.06) 0%,transparent 12px);box-shadow:0 1px 2px #ef44440a}.kanban-card.priority-urgent:hover{border-left-color:#ef4444d9}.kanban-card-overlay{min-width:260px;box-shadow:0 8px 20px #0003}.kanban-card-title{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem;line-height:1.35}.kanban-card-desc{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-tertiary)}.kanban-card-priority{text-transform:capitalize;padding:.15rem .4rem;border-radius:4px;background:var(--bg-tertiary)}.kanban-card-due.overdue{color:var(--accent-red);font-weight:500}.kanban-card-assignee,.kanban-card-project{margin-left:auto;color:var(--text-tertiary);font-size:.75rem}@media (max-width: 900px){.kanban-board{grid-template-columns:1fr}}.completion-proof-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem;overflow-y:auto;box-sizing:border-box}.completion-proof-sheet{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:min(420px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;box-sizing:border-box}.completion-proof-header{padding:1rem 1.25rem;flex-shrink:0;border-bottom:1px solid var(--border-color);position:relative}.completion-proof-header h3{margin:0 0 .25rem;font-size:1.125rem;color:var(--text-primary)}.completion-proof-subtitle{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.completion-proof-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.completion-proof-close:hover{color:var(--text-primary)}.completion-proof-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.completion-proof-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem}.completion-proof-body .form-group{margin-bottom:1rem}.completion-proof-body .form-group label{display:block;margin-bottom:.35rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.completion-proof-body textarea{width:100%;padding:.625rem .875rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;resize:vertical}.completion-proof-file-input-hidden{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.completion-proof-dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:8px;transition:border-color .2s,background .2s}.completion-proof-dropzone.drag-over{border-color:var(--accent-blue);background:#3b82f614}.completion-proof-choose-btn{display:inline-block;padding:.5rem 1rem;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:filter .2s}.completion-proof-choose-btn:hover{filter:brightness(1.1)}.completion-proof-drop-hint{font-size:.8125rem;color:var(--text-tertiary)}.completion-proof-accepted{font-size:.75rem;color:var(--text-tertiary);opacity:.9}.completion-proof-previews{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.completion-proof-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:100px}.completion-proof-preview-thumb{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-color);flex-shrink:0}.completion-proof-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.completion-proof-preview-thumb .completion-proof-preview-name{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:.25rem;font-size:.65rem;color:var(--text-tertiary);text-align:center;word-break:break-all}.completion-proof-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;color:#fff;cursor:pointer;font-size:.875rem;line-height:1;border-radius:4px;padding:0;transition:background .2s}.completion-proof-remove:hover{background:var(--accent-red)}.completion-proof-preview-filename{font-size:.7rem;color:var(--text-tertiary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.completion-proof-error{margin:.5rem 0 0;font-size:.8125rem;color:var(--accent-red)}.completion-proof-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;flex-shrink:0;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.completion-proof-actions .btn-primary{margin-left:auto}.completion-proof-view-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem;overflow-y:auto;box-sizing:border-box}.completion-proof-view-sheet{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:min(480px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;box-sizing:border-box}.completion-proof-view-header{padding:1rem 1.25rem;flex-shrink:0;border-bottom:1px solid var(--border-color);position:relative}.completion-proof-view-header h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);line-height:1.35}.completion-proof-view-subtitle{margin:0;font-size:.8125rem;color:var(--text-secondary)}.completion-proof-view-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.completion-proof-view-close:hover{color:var(--text-primary)}.completion-proof-view-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem}.completion-proof-view-section{margin-bottom:1.25rem}.completion-proof-view-section:last-child{margin-bottom:0}.completion-proof-view-section label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.5rem}.completion-proof-view-text{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.completion-proof-view-empty{margin:0;font-size:.875rem;color:var(--text-tertiary)}.completion-proof-view-images{display:flex;flex-wrap:wrap;gap:.75rem}.completion-proof-view-img-wrap{display:block;width:120px;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);flex-shrink:0;transition:border-color .2s,box-shadow .2s;padding:0;background:none;cursor:pointer}.completion-proof-view-img-wrap:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px #00000026}.completion-proof-view-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.completion-proof-view-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;flex-shrink:0;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.completion-proof-view-actions .btn-primary{margin-left:auto}.completion-proof-view-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1002;padding:2rem;box-sizing:border-box;cursor:pointer}.completion-proof-view-lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff26;border:none;color:#fff;font-size:2rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .2s}.completion-proof-view-lightbox-close:hover{background:#ffffff40}.completion-proof-view-lightbox-img{max-width:100%;max-height:calc(100vh - 4rem);width:auto;height:auto;object-fit:contain;cursor:default}.admin-todos-view{padding:2rem;max-width:1400px;margin:0 auto}.admin-todos-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.admin-todos-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.subtitle{color:var(--text-secondary);font-size:.875rem}.role-section{margin-bottom:2.5rem}.role-header{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.users-list{display:flex;flex-direction:column;gap:1rem}.user-todos-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.user-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;transition:background .2s}.user-header:hover{background:var(--bg-hover)}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-size:1rem;font-weight:500;color:var(--text-primary)}.user-email{font-size:.875rem;color:var(--text-tertiary)}.user-header-actions{display:flex;align-items:center;gap:1rem}.btn-view-kanban{padding:.4rem .75rem;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:filter .2s}.btn-view-kanban:hover{filter:brightness(1.1)}.user-todo-count{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.btn-back{padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:background .2s,color .2s}.btn-back:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-kanban-view .admin-todos-header{flex-wrap:wrap;gap:1rem}.expand-icon{font-size:.75rem;transition:transform .2s;color:var(--text-tertiary)}.expand-icon.expanded{transform:rotate(180deg)}.user-todos-list{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-primary);display:flex;flex-direction:column;gap:1rem}.my-tasks-page{padding:2rem;max-width:1200px;margin:0 auto}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.tasks-header h1{font-size:2rem;font-weight:600;color:var(--text-primary)}.todo-create-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.625rem .875rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-blue)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.tasks-page-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.todos-admin-tabs{display:flex;gap:.25rem}.todos-admin-tabs .tab-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s}.todos-admin-tabs .tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.todos-admin-tabs .tab-btn.active{color:var(--accent-blue);background:#3b82f61a}.todo-project-filters-wrap{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.todo-project-filters-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.todo-project-filters{display:flex;flex-wrap:wrap;gap:.5rem;max-height:120px;overflow-y:auto;overflow-x:hidden;padding:.25rem 0}.todo-project-bubble{flex-shrink:0;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,color .2s;white-space:nowrap}.todo-project-bubble:hover{border-color:var(--accent-blue);color:var(--text-primary);background:var(--bg-hover)}.todo-project-bubble.selected{border-color:var(--accent-blue);background:#3b82f626;color:var(--accent-blue)}.todo-project-bubble.selected:hover{background:#3b82f638}.todo-filters{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.filter-label{font-size:.875rem;color:var(--text-secondary)}.filter-select{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;min-width:180px}.filter-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.todos-list{display:flex;flex-direction:column;gap:.75rem}.todo-item-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;transition:border-color .2s,background .2s}.todo-item-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}.todo-item-card.completed{opacity:.75}.todo-item-card.completed .todo-item-title{text-decoration:line-through;color:var(--text-tertiary)}.todo-item-card.priority-urgent{border-left:3px solid rgba(239,68,68,.5);background:linear-gradient(to right,rgba(239,68,68,.05) 0%,var(--bg-secondary) 14px)}.todo-item-card.priority-urgent:hover{border-left-color:#ef4444b3}.todo-item-card.overdue{border-left:3px solid rgba(239,68,68,.35)}.todo-item-main{flex:1;min-width:0;cursor:default}.todo-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.todo-item-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.35;flex:1}.todo-item-badges{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.todo-item-status,.todo-item-priority{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:capitalize;color:var(--text-tertiary);background:var(--bg-tertiary);border:none}.todo-item-desc{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.todo-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.75rem;color:var(--text-tertiary)}.todo-item-assignee{font-weight:500;color:var(--text-secondary)}.todo-item-due.overdue{color:var(--accent-red);font-weight:500}.todo-item-assigned-by{color:var(--text-tertiary);font-size:.7rem;font-style:italic}.todo-item-actions{flex-shrink:0}.todo-item-delete{padding:.3rem .55rem;font-size:.7rem;font-weight:500;color:var(--text-tertiary);background:transparent;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.todo-item-delete:hover{color:var(--accent-red);border-color:#ef444466;background:#ef44440f}.todo-item-card.editing{flex-direction:column;gap:1rem}.todo-title-input{width:100%;padding:.625rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem}.todo-item-card.editing select{padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary)}.btn-save,.btn-cancel{padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer;font-size:.875rem;font-weight:500}.btn-save{background:var(--accent-blue);color:#fff}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-primary{padding:.5rem 1rem;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{padding:.5rem 1rem;background:#ef444426;color:var(--accent-red);border:1px solid var(--accent-red);border-radius:6px;font-size:.875rem;cursor:pointer}.btn-danger:hover{filter:brightness(1.1)}.edit-todo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;box-sizing:border-box}.edit-todo-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:min(480px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;box-sizing:border-box}.edit-todo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;flex-shrink:0;border-bottom:1px solid var(--border-color)}.edit-todo-modal-header h3{margin:0;color:var(--text-primary);font-size:1.125rem}.edit-todo-modal-close{background:none;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.edit-todo-modal-close:hover{color:var(--text-primary)}.edit-todo-modal-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.edit-todo-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.edit-todo-completion-proof{padding:.75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.edit-todo-proof-text{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.45}.edit-todo-proof-images{display:flex;flex-wrap:wrap;gap:.5rem}.edit-todo-proof-thumb{display:block;width:72px;height:72px;border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.edit-todo-proof-thumb img{width:100%;height:100%;object-fit:cover}.status-note{margin-top:.5rem;padding:.5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:.75rem;color:#f59e0b;font-style:italic}.edit-todo-rejection-info{margin-top:1rem}.rejection-info-box{background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:1rem}.rejection-info-header{margin-bottom:.75rem}.rejection-info-title{font-weight:500;color:#dc2626;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.rejection-info-reason{margin-bottom:.5rem}.rejection-info-reason strong{display:block;margin-bottom:.25rem;color:var(--text-primary);font-size:.8125rem;font-weight:600}.rejection-info-reason p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.rejection-info-by{font-size:.8125rem;color:var(--text-secondary);margin-top:.5rem}.rejection-info-by strong{color:var(--text-primary);font-weight:500}.rejection-info-date{font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(239,68,68,.15)}.edit-todo-modal-actions{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 1.5rem;flex-shrink:0;border-top:1px solid var(--border-color);background:var(--bg-secondary)}@media (max-width: 480px){.edit-todo-modal-overlay{padding:.5rem}.edit-todo-modal{max-height:calc(100vh - 1rem);max-width:none}.edit-todo-modal-header,.edit-todo-modal-body,.edit-todo-modal-actions{padding:.75rem 1rem}.edit-todo-modal-actions{gap:.5rem}.edit-todo-modal-actions button{flex:1;min-width:0}}.todo-item-card.clickable{cursor:pointer}.todo-item-card.clickable:hover{border-color:var(--accent-blue)}.todo-item-proof-indicator{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.2rem .5rem;background:#10b9811a;border-radius:4px;font-size:.7rem;color:#10b981}.todo-item-proof-indicator .proof-icon{font-size:.65rem}.todo-item-proof-indicator .proof-label{font-weight:500}.todo-item-status.status-done{background:#10b98126;color:#10b981}.todo-item-status.status-in_progress{background:#3b82f626;color:#3b82f6}.todo-item-status.status-review{background:#f59e0b26;color:#f59e0b}.todo-item-status.status-blocked,.todo-item-priority.priority-urgent{background:#ef444426;color:#ef4444}.todo-item-priority.priority-high{background:#f59e0b26;color:#f59e0b}.todo-item-delete{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;border-radius:4px}.user-management-page{max-width:1200px;margin:0 auto;padding:0 1rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.page-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0}.role-hierarchy-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem}.hierarchy-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:.75rem;font-weight:600}.hierarchy-items{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.hierarchy-item{display:flex;align-items:center;gap:.5rem}.hierarchy-desc{font-size:.75rem;color:var(--text-tertiary)}.hierarchy-arrow{color:var(--text-tertiary);font-size:.875rem}.user-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.section-icon{font-size:1rem}.users-grid{display:flex;flex-direction:column;gap:.5rem}.user-card{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;transition:border-color .2s}.user-card:hover{border-color:var(--border-hover)}.user-card.current-user{border-color:var(--accent-blue);background:#5865f20d}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:var(--text-primary);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.you-badge{font-size:.65rem;padding:.15rem .4rem;background:var(--accent-blue);color:#fff;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.user-email{font-size:.8125rem;color:var(--text-tertiary);margin-top:.125rem}.user-meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.user-joined{font-size:.75rem;color:var(--text-tertiary)}.user-actions{display:flex;gap:.5rem;flex-shrink:0}.role-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.role-admin{background:#f0b23226;color:var(--accent-yellow)}.role-project-owner{background:#5865f226;color:var(--accent-blue)}.role-core-member{background:#23a55a26;color:var(--accent-green)}.role-intern{background:#8e8e8e26;color:var(--text-secondary)}.btn-edit{padding:.4rem .75rem;font-size:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.btn-edit:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.btn-save{padding:.4rem .75rem;font-size:.75rem;background:var(--accent-blue);border:none;color:#fff;border-radius:6px;cursor:pointer;transition:background .2s}.btn-save:hover{background:var(--accent-blue-hover)}.btn-cancel{padding:.4rem .75rem;font-size:.75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.role-select{padding:.3rem .6rem;font-size:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;cursor:pointer}.role-select:focus{outline:none;border-color:var(--accent-blue)}.pending-invites-section{border-top:1px solid var(--border-color);padding-top:2rem;margin-top:1rem}.pending-invites-list{display:flex;flex-direction:column;gap:.5rem}.pending-invite-card{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;padding:.875rem 1.25rem}.invite-info{flex:1}.invite-name{font-weight:500;color:var(--text-primary)}.invite-email{font-size:.8125rem;color:var(--text-tertiary);margin-top:.125rem}.invite-meta{display:flex;align-items:center;gap:.75rem}.invite-date{font-size:.75rem;color:var(--text-tertiary)}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:1.25rem;color:var(--text-tertiary);transition:all .2s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-delete:hover{background:#f23f421a;color:var(--accent-red)}@media (max-width: 768px){.user-card{flex-wrap:wrap}.user-actions{width:100%;margin-top:.75rem;justify-content:flex-end}.hierarchy-items{flex-direction:column;align-items:flex-start}.hierarchy-arrow{display:none}.pending-invite-card{flex-wrap:wrap}.invite-meta{width:100%;margin-top:.5rem}}.invite-page{max-width:560px;margin:0 auto;padding:0 1rem}.invite-page h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.invite-page-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0 0 2rem}.invite-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.5rem}.invite-form .form-group{margin-bottom:1.25rem}.invite-form .form-group:last-of-type{margin-bottom:1.5rem}.invite-form label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem}.invite-form input[type=text],.invite-form input[type=email]{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;background-color:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s}.invite-form input:focus{outline:none;border-color:var(--accent-blue)}.invite-form input::placeholder{color:var(--text-tertiary)}.invite-form select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238e8e8e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.invite-form select:focus{outline:none;border-color:var(--accent-blue)}.invite-role-hint{margin-top:.5rem;font-size:.8125rem;color:var(--text-tertiary);line-height:1.5;background:var(--bg-tertiary);padding:.75rem;border-radius:6px;border-left:3px solid var(--accent-blue)}.invite-error{background-color:#f23f421a;color:var(--accent-red);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;border:1px solid rgba(242,63,66,.3);font-size:.875rem}.invite-success{background-color:#10b9811a;color:var(--accent-green);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;border:1px solid rgba(16,185,129,.3);font-size:.875rem}.loading-text,.empty-text{color:var(--text-tertiary);font-size:.875rem;padding:1rem 0}.pending-invites-section{margin-top:2.5rem}.pending-invites-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.form-actions{display:flex;justify-content:flex-end}.btn-primary{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background-color:var(--accent-blue);color:#fff;transition:background-color .2s}.btn-primary:hover{background-color:var(--accent-blue-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.invite-link-box{margin-top:1.5rem;background:var(--bg-secondary);border:1px solid var(--accent-green);border-radius:10px;padding:1.25rem;animation:fadeSlideIn .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-link-label{font-size:.875rem;color:var(--accent-green);font-weight:500;margin:0 0 .75rem}.invite-link-row{display:flex;gap:.5rem}.invite-link-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;background-color:var(--bg-tertiary);color:var(--text-primary);font-family:monospace}.invite-link-input:focus{outline:none}.btn-secondary{padding:.75rem 1rem;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;background-color:var(--bg-tertiary);color:var(--text-primary);transition:all .2s;white-space:nowrap}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.accept-invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:2rem}.accept-invite-card{width:100%;max-width:420px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:var(--shadow-lg)}.accept-invite-card h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.accept-invite-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0 0 1.5rem;line-height:1.5}.accept-invite-subtitle strong{color:var(--text-primary)}.accept-invite-form{margin-bottom:1rem}.accept-invite-form .form-group{margin-bottom:1.25rem}.accept-invite-form label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem}.accept-invite-form input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;background-color:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s}.accept-invite-form input:focus{outline:none;border-color:var(--accent-blue)}.accept-invite-form input::placeholder{color:var(--text-tertiary)}.accept-invite-form input.read-only{background-color:var(--bg-primary);color:var(--text-tertiary);cursor:not-allowed}.accept-invite-loading{text-align:center;color:var(--text-secondary);padding:2rem 0}.accept-invite-error{color:var(--accent-red);margin-bottom:1rem}.accept-invite-back{display:block;text-align:center;color:var(--text-tertiary);font-size:.875rem;text-decoration:none;transition:color .2s}.accept-invite-back:hover{color:var(--accent-blue)}.accept-invite-email-note{color:var(--text-secondary);font-size:.875rem;margin:0 0 1.5rem}.accept-invite-email-note strong{color:var(--accent-blue)}.btn-google{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;background-color:var(--bg-tertiary);color:var(--text-primary);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem}.btn-google:hover{background-color:var(--bg-hover);border-color:var(--accent-blue)}.btn-google:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.invite-link-row{flex-direction:column}.btn-secondary{width:100%}.accept-invite-card{padding:1.5rem}}.requests-page{padding:2rem;max-width:1400px;margin:0 auto}.requests-header{margin-bottom:2rem}.requests-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.requests-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.request-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .2s,box-shadow .2s}.request-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.request-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.request-title-section{flex:1}.request-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.request-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--text-secondary)}.request-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;background:#f59e0b26;color:#f59e0b;white-space:nowrap}.request-description{padding-top:1rem;border-top:1px solid var(--border-color)}.request-description strong{display:block;color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.request-description p{color:var(--text-primary);margin:0;line-height:1.5}.request-proof-section{padding-top:1rem;border-top:1px solid var(--border-color)}.request-proof-section strong{display:block;color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.request-proof-text{background:var(--bg-tertiary);border-radius:6px;padding:.75rem;color:var(--text-primary);line-height:1.5;margin-bottom:.75rem}.request-proof-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.request-proof-image{display:block;border-radius:6px;overflow:hidden;border:1px solid var(--border-color);aspect-ratio:1}.request-proof-image img{width:100%;height:100%;object-fit:cover}.request-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-approve,.btn-reject,.btn-view-details{flex:1;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-approve{background:var(--accent-green);color:#fff}.btn-approve:hover:not(:disabled){background:#059669}.btn-reject{background:var(--accent-red);color:#fff}.btn-reject:hover:not(:disabled){background:#dc2626}.btn-view-details{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-view-details:hover{background:var(--bg-hover)}.btn-approve:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{font-size:1.125rem;margin:0}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1e1e1e;--bg-secondary: #252525;--bg-tertiary: #2a2a2a;--bg-hover: #2f2f2f;--bg-active: #363636;--border-color: #3a3a3a;--border-hover: #4a4a4a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #8e8e8e;--accent-blue: #5865f2;--accent-blue-hover: #4752c4;--accent-green: #23a55a;--accent-yellow: #f0b232;--accent-red: #f23f42;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--transition-fast: .15s;--transition-normal: .2s;--transition-slow: .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}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-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}#root{min-height:100vh}.loading{padding:2rem;text-align:center;font-size:1rem;color:var(--text-secondary);opacity:0;animation:fadeIn .3s ease-in forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error{padding:1rem 1.5rem;text-align:center;font-size:.875rem;color:var(--accent-red);background-color:#f23f421a;border:1px solid rgba(242,63,66,.3);border-radius:6px;margin:1rem}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.auth-container{width:100%;max-width:400px;padding:2rem}.login-page{width:100%}.login-card{background:var(--bg-secondary);padding:2.5rem;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.login-card h1{margin-bottom:.5rem;color:var(--text-primary);font-size:1.75rem;font-weight:600}.login-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.9375rem}.error-message{background-color:#f23f421a;color:var(--accent-red);padding:.875rem 1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid rgba(242,63,66,.3);font-size:.875rem}.google-login-btn,.submit-btn{width:100%;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;margin-bottom:1rem;transition:all .2s}.google-login-btn{background-color:var(--accent-blue);color:#fff}.google-login-btn:hover{background-color:var(--accent-blue-hover)}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.submit-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.divider{text-align:center;margin:1.5rem 0;color:var(--text-tertiary);position:relative;font-size:.875rem}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background-color:var(--border-color)}.divider:before{left:0}.divider:after{right:0}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem}.form-group input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;background-color:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--accent-blue)}.form-group input::placeholder{color:var(--text-tertiary)}.toggle-mode{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.875rem}.link-btn{background:none;border:none;color:var(--accent-blue);cursor:pointer;text-decoration:none;font-size:.875rem;transition:color .2s}.link-btn:hover{color:var(--accent-blue-hover);text-decoration:underline}.app-layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.app-header{background-color:var(--bg-secondary);color:var(--text-primary);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:100%}.app-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-secondary);font-size:.875rem}.logout-btn{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.logout-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.app-content{display:flex;flex:1;overflow:hidden;position:relative}.sidebar{width:240px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);padding:.75rem 0;overflow-y:auto;flex-shrink:0}.sidebar-nav{width:100%}.nav-list{list-style:none;padding:0}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;margin:.125rem .5rem;color:var(--text-secondary);text-decoration:none;transition:all .15s;border-radius:6px;font-size:.9375rem;font-weight:500}.nav-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background-color:var(--bg-active);color:var(--text-primary)}.nav-icon{font-size:1.125rem;width:20px;text-align:center}.nav-label{flex:1}.main-content{flex:1;padding:2rem;background-color:var(--bg-primary);color:var(--text-primary);overflow-y:auto;animation:fadeIn .2s ease-in}.founder-dashboard{max-width:1400px;margin:0 auto}.dashboard-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.dashboard-header-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--accent-blue)}.founder-dashboard h1,.project-dashboard h1{margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:600}.founder-dashboard h2{margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-top:2rem}.section-title-with-icon{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-top:2rem}.section-title-with-icon svg{color:var(--text-secondary)}.dashboard-cards,.financial-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.card{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);transition:all .2s}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary);flex-shrink:0}.card:hover .card-icon{color:var(--accent-blue);background:#5865f21a}.card h3{font-size:.75rem;color:var(--text-tertiary);margin:0;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.card-value{font-size:2rem;font-weight:600;color:var(--text-primary);line-height:1.2}.card-value.positive{color:var(--accent-green)}.card-value.negative{color:var(--accent-red)}.card-subtitle{font-size:.7rem;color:var(--text-tertiary);margin-top:.25rem}.highlight-card{border-color:var(--accent-green);background:#10b9810d}.highlight-card .card-icon{background:#10b98126;color:var(--accent-green)}.highlight-card-secondary{border-color:var(--accent-blue);background:#3b82f60d}.highlight-card-secondary .card-icon{background:#3b82f626;color:var(--accent-blue)}.financial-overview-compact{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;margin-bottom:1.5rem}.section-title-small{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-weight:500}.financial-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.financial-item{display:flex;align-items:center;gap:.5rem}.financial-label{font-size:.75rem;color:var(--text-secondary)}.financial-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.financial-divider{width:1px;height:16px;background:var(--border-color)}@media (max-width: 768px){.financial-row{flex-direction:column;align-items:flex-start;gap:.5rem}.financial-divider{display:none}}.team-pulse-section{margin-top:2rem}.team-pulse-section h2{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.team-pulse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.team-member-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.member-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.efficiency-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:4px;font-weight:500;text-transform:uppercase}.efficiency-high{background:#10b98126;color:var(--accent-green)}.efficiency-good{background:#3b82f626;color:var(--accent-blue)}.efficiency-medium{background:#f59e0b26;color:var(--accent-yellow)}.efficiency-low{background:#ef444426;color:var(--accent-red)}.member-stats{display:flex;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.stat-value.warning{color:var(--accent-red)}.stat-label{font-size:.65rem;color:var(--text-tertiary);text-transform:uppercase}.member-note{margin-top:.75rem;font-size:.7rem;color:var(--accent-red);font-style:italic}.financial-snapshot,.projects-section,.health-summary{margin-bottom:2rem}table{width:100%;background:var(--bg-secondary);border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}thead{background-color:var(--bg-tertiary)}th{padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}tr:hover{background-color:var(--bg-hover)}.project-row{cursor:pointer;transition:background-color .15s}.project-row:hover{background-color:var(--bg-hover)}.empty-state{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.status-badge,.health-badge,.priority-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-active{background-color:#23a55a26;color:var(--accent-green)}.status-on_hold{background-color:#f0b23226;color:var(--accent-yellow)}.status-completed{background-color:#5865f226;color:var(--accent-blue)}.status-cancelled{background-color:#f23f4226;color:var(--accent-red)}.health-badge.healthy{background-color:#23a55a26;color:var(--accent-green)}.health-badge.at-risk{background-color:#f0b23226;color:var(--accent-yellow)}.health-badge.critical{background-color:#f23f4226;color:var(--accent-red)}.priority-low{background-color:#8e8e8e26;color:var(--text-tertiary)}.priority-medium{background-color:#f0b23226;color:var(--accent-yellow)}.priority-high{background-color:#f23f4226;color:var(--accent-red)}.priority-urgent{background-color:#f23f4240;color:var(--accent-red);font-weight:600}.warning{color:var(--accent-yellow);font-weight:500}.overdue{color:var(--accent-red);font-weight:500}.health-summary{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.health-breakdown{display:flex;gap:2rem;flex-wrap:wrap}.health-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.health-indicator{width:8px;height:8px;border-radius:50%}.health-indicator.healthy{background-color:var(--accent-green)}.health-indicator.at-risk{background-color:var(--accent-yellow)}.health-indicator.critical{background-color:var(--accent-red)}.project-header{background:var(--bg-secondary);padding:2rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--border-color)}.project-title-section{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.project-meta{display:flex;gap:.5rem}.project-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.project-dates{display:flex;gap:2rem;color:var(--text-secondary);font-size:.875rem}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.stat-card h3{font-size:.75rem;color:var(--text-tertiary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-value{font-size:2rem;font-weight:600;color:var(--text-primary)}.tasks-section,.meetings-section,.change-requests-section{background:var(--bg-secondary);padding:2rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--border-color)}.tasks-section h2,.meetings-section h2,.change-requests-section h2{margin-bottom:1.5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.task-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem}.meetings-subsection{margin-bottom:2rem}.meetings-subsection h3{margin-bottom:1rem;color:var(--text-secondary);font-size:1rem;font-weight:500}.commercials-note{background:#f0b2321a;padding:1rem;border-radius:6px;color:var(--accent-yellow);margin-top:1rem;border:1px solid rgba(240,178,50,.2);font-size:.875rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}::selection{background-color:#5865f24d;color:var(--text-primary)}
