.dashboard-container{display:flex;min-height:calc(100vh - 80px);background:var(--light)}.sidebar{width:280px;background:#fff;border-right:1px solid #e5e7eb;padding:2rem 0;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.menu-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .3s;text-align:left;font-size:1rem;color:var(--gray);position:relative}.menu-item:hover{background:var(--light);color:var(--dark)}.menu-item.active{background:var(--primary);color:#fff}.menu-icon{font-size:1.5rem}.badge{position:absolute;right:1rem;background:var(--accent);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.content-section{display:none}.content-section.active{display:block}.section-header{margin-bottom:2rem}.section-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--dark)}.section-header p{color:var(--gray);font-size:1rem}.card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.card h3{font-size:1.25rem;margin-bottom:1.5rem;color:var(--dark)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem}.stat-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.stat-info{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:var(--dark);margin-bottom:.25rem}.stat-label{color:var(--gray);font-size:.875rem}.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}.timeline{position:relative}.timeline-item{position:relative;padding-left:3rem;padding-bottom:2rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:1.125rem;top:2.5rem;bottom:-.5rem;width:2px;background:#e5e7eb}.timeline-item:last-child:before{display:none}.timeline-marker{position:absolute;left:0;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:#e5e7eb;border:4px solid white;box-shadow:0 0 0 2px #e5e7eb}.timeline-item.completed .timeline-marker{background:var(--secondary);box-shadow:0 0 0 2px var(--secondary)}.timeline-item.active .timeline-marker{background:var(--primary);box-shadow:0 0 0 2px var(--primary);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 2px var(--primary)}50%{box-shadow:0 0 0 6px #6366f133}}.timeline-content h4{font-size:1.125rem;margin-bottom:.5rem;color:var(--dark)}.timeline-content p{color:var(--gray);font-size:.875rem}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.action-btn{background:var(--light);border:2px solid #e5e7eb;padding:1.5rem;border-radius:12px;cursor:pointer;transition:all .3s;text-align:center}.action-btn:hover{background:#fff;border-color:var(--primary);transform:translateY(-2px)}.action-btn span{display:block;font-size:2rem;margin-bottom:.5rem}.action-btn div{color:var(--dark);font-weight:600}.updates-list{display:flex;flex-direction:column;gap:1rem}.update-item{display:flex;gap:1rem;padding:1rem;background:var(--light);border-radius:8px}.update-icon{font-size:1.5rem}.update-content strong{display:block;margin-bottom:.25rem;color:var(--dark)}.update-content p{color:var(--gray);font-size:.875rem;margin-bottom:.5rem}.update-content small{color:var(--gray);font-size:.75rem}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.project-header h2{font-size:1.75rem;margin-bottom:.5rem;color:var(--dark)}.project-header p{color:var(--gray)}.status-badge{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem}.status-progress{background:#dbeafe;color:#1e40af}.status-paid{background:#d1fae5;color:#065f46}.progress-section{margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:600;color:var(--dark)}.progress-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);transition:width .5s ease}.project-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item strong{color:var(--gray);font-size:.875rem}.detail-item span,.preview-link{color:var(--dark);font-size:1rem}.preview-link{color:var(--primary);text-decoration:none}.preview-link:hover{text-decoration:underline}.checklist{display:flex;flex-direction:column;gap:1rem}.checklist-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--light);border-radius:8px;cursor:pointer;transition:background .3s}.checklist-item:hover{background:#e5e7eb}.checklist-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checklist-item input[type=checkbox]:checked+span{text-decoration:line-through;color:var(--gray)}.upload-zone{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.file-upload-area{background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:12px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s}.file-upload-area:hover{background:#ffffff26;border-color:#ffffff80}.upload-content h4{margin-bottom:1rem}.upload-note{margin-top:1rem;opacity:.8;font-size:.875rem}.file-categories{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.category-tab{padding:.75rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:600;color:var(--gray)}.category-tab:hover{border-color:var(--primary);color:var(--primary)}.category-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.file-card{background:var(--light);padding:1.5rem;border-radius:12px;border:2px solid #e5e7eb;transition:all .3s}.file-card:hover{border-color:var(--primary);transform:translateY(-2px)}.file-icon{font-size:3rem;margin-bottom:1rem;text-align:center}.file-info h4{font-size:1rem;margin-bottom:.5rem;color:var(--dark);word-break:break-word}.file-meta{color:var(--gray);font-size:.875rem;margin-bottom:1rem}.file-actions{display:flex;gap:.5rem}.btn-icon{padding:.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .3s;font-size:1rem}.btn-icon:hover{border-color:var(--primary);background:var(--primary);color:#fff}.empty-state{text-align:center;padding:3rem;color:var(--gray)}.empty-state h3{margin-top:1rem;margin-bottom:.5rem;color:var(--dark)}.messages-container{max-width:900px}.messages-card{display:flex;flex-direction:column;height:600px}.messages-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;gap:1rem;max-width:80%}.message.sent{margin-left:auto;flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.message.sent .message-avatar{background:var(--secondary)}.message-content{flex:1}.message-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem}.message-header strong{color:var(--dark)}.message-header span{color:var(--gray)}.message-content p{background:var(--light);padding:1rem;border-radius:12px;color:var(--dark);line-height:1.5}.message.sent .message-content p{background:var(--primary);color:#fff}.message-input-area{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem}.message-input-area textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;resize:none;font-family:inherit}.message-input-area textarea:focus{outline:none;border-color:var(--primary)}.invoice-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.invoice-stat{text-align:center;padding:2rem;background:var(--light);border-radius:12px}.invoice-stat h3{font-size:2rem;color:var(--primary);margin-bottom:.5rem}.invoice-stat p{color:var(--gray)}.invoices-list{display:flex;flex-direction:column;gap:1rem}.invoice-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--light);border-radius:12px}.invoice-info strong{display:block;margin-bottom:.25rem;color:var(--dark)}.invoice-info p{color:var(--gray);font-size:.875rem}.invoice-details{display:flex;align-items:center;gap:1rem}.invoice-amount{font-weight:700;font-size:1.25rem;color:var(--dark)}.payment-note{background:linear-gradient(135deg,var(--secondary) 0%,#059669 100%);color:#fff}.payment-note h4{margin-bottom:.5rem}.category-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.category-btn{background:var(--light);border:2px solid #e5e7eb;padding:2rem;border-radius:12px;cursor:pointer;transition:all .3s;text-align:center}.category-btn:hover{background:#fff;border-color:var(--primary);transform:translateY(-2px)}.category-btn span{display:block;font-size:2.5rem;margin-bottom:.5rem}.category-btn div{color:var(--dark);font-weight:600}@media(max-width:768px){.dashboard-container{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid #e5e7eb}.sidebar-menu{flex-direction:row;overflow-x:auto}.menu-item span:last-child{display:none}.overview-grid,.quick-actions,.stats-grid,.project-details,.invoice-summary,.category-buttons{grid-template-columns:1fr}}
