.projects-dashboard{max-width:1600px;padding:var(--spacing-xl);background:var(--background-color);min-height:100vh;margin:0 auto}.dashboard-header{margin-bottom:var(--spacing-xl)}.dashboard-header .back-btn{background:var(--background-color);color:var(--text-primary);border:2px solid var(--border-color);padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);margin-bottom:var(--spacing-lg);font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.dashboard-header .back-btn:hover{background:var(--card-bg);border-color:var(--primary-color);transform:translate(-3px)}.dashboard-header-content{justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.dashboard-header h1{color:var(--text-primary);flex:1;margin:0;font-size:2rem}.dashboard-header .btn-primary{background:var(--primary-color);color:#fff;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;font-weight:600}.dashboard-header .btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #5a67d84d}.dashboard-header .btn-secondary,.dashboard-header-actions .btn-secondary,.dashboard-header-actions button.btn-secondary{color:#f74c00!important;cursor:pointer!important;white-space:nowrap!important;visibility:visible!important;opacity:1!important;background:#1a1a1a!important;border:2px solid #f74c00!important;border-radius:8px!important;align-items:center!important;min-width:120px!important;min-height:40px!important;padding:12px 24px!important;font-weight:600!important;display:inline-flex!important}.dashboard-header .btn-secondary:hover,.dashboard-header-actions .btn-secondary:hover,.dashboard-header-actions button.btn-secondary:hover{transform:translateY(-2px);color:#fff!important;background:#f74c00!important}.projects-board{gap:var(--spacing-xl);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1200px){.projects-board{grid-template-columns:1fr}}.project-column{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);min-height:500px;transition:all var(--transition-normal)}.project-column:hover{border-color:var(--primary-color);box-shadow:0 4px 16px #00000014}.column-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:3px solid var(--border-color);align-items:center;gap:var(--spacing-sm);font-size:1.3rem;font-weight:700;display:flex}.column-header.planned{color:var(--primary-color);border-bottom-color:var(--primary-color)}.column-header.in-progress{color:#f59e0b;border-bottom-color:#f59e0b}.column-header.completed{color:#10b981;border-bottom-color:#10b981}.project-cards{gap:var(--spacing-md);flex-direction:column;display:flex}.project-card{background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast)}.project-card:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.project-card:active{transform:translateY(-1px)}.project-card h3{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1.15rem;font-weight:700}.project-description{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.9rem;line-height:1.6}.project-meta{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.meta-item{background:var(--card-bg);color:var(--text-secondary);padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);font-size:.85rem;font-weight:600}.modal-overlay{z-index:1000;padding:var(--spacing-lg);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content.modal-large{max-width:900px}.modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}.close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:2rem;line-height:1;display:flex}.close-btn:hover{background:var(--background-color);color:var(--text-primary)}.modal-body{padding:var(--spacing-xl)}.modal-footer{justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--border-color);display:flex}.form-input,.form-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background-color);color:var(--text-primary);margin-bottom:var(--spacing-md);font-family:inherit;font-size:1rem}.form-textarea{resize:vertical;min-height:100px}.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);outline:none}.btn-primary,.btn-secondary,.btn-delete{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:1rem;font-weight:600}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #5a67d84d}.btn-secondary{color:var(--primary-color);border:2px solid var(--primary-color);background:0 0}.btn-secondary:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.btn-delete,.btn-delete.btn-sm{background:var(--color-error);color:#fff;padding:var(--spacing-sm)var(--spacing-md)}.btn-delete:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-sm{padding:var(--spacing-sm)var(--spacing-md);font-size:.9rem}.project-details{margin-bottom:var(--spacing-xl)}.project-details .description{color:var(--text-primary);margin-bottom:var(--spacing-lg);line-height:1.6}.cost-summary{background:var(--background-color);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.cost-summary p{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600}.parts-table{border-collapse:collapse;width:100%;margin-top:var(--spacing-lg)}.parts-table thead{background:var(--background-color)}.parts-table th{padding:var(--spacing-md);text-align:left;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-weight:600}.parts-table td{padding:var(--spacing-md);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.parts-table tr:hover{background:var(--background-color)}.parts-table a{color:var(--primary-color);font-size:1.2rem;text-decoration:none}.parts-table a:hover{opacity:.8}.parts-table input[type=checkbox]{cursor:pointer;width:20px;height:20px}.inline-form{background:var(--background-color);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-top:var(--spacing-lg)}.inline-form h4{color:var(--text-primary);margin-bottom:var(--spacing-md)}.form-buttons{gap:var(--spacing-md);margin-top:var(--spacing-lg);display:flex}.empty-state{color:var(--text-secondary);text-align:center;padding:var(--spacing-xl);font-style:italic}.loading{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}@media (max-width:768px){.projects-dashboard{padding:var(--spacing-md)}.dashboard-header-content{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.dashboard-header h1{width:100%;font-size:1.5rem}.dashboard-header .btn-primary{width:100%;padding:var(--spacing-md);text-align:center;justify-content:center}.dashboard-header .back-btn{text-align:center;width:100%}.projects-board{gap:var(--spacing-lg);grid-template-columns:1fr}.project-column{min-height:auto}.column-header{font-size:1.1rem}.modal-content{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}.modal-footer{flex-direction:column}.modal-footer button{width:100%}.form-buttons{flex-direction:column}.form-buttons button{width:100%}.parts-table{font-size:.9rem}.parts-table th,.parts-table td{padding:var(--spacing-sm)}button{min-height:44px}input,select,textarea{min-height:44px;font-size:16px!important}}.builds-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--border-color)}.builds-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.builds-header h2{color:var(--text-primary);align-items:center;gap:var(--spacing-sm);margin:0;font-size:1.5rem;display:flex}.builds-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.build-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-normal);overflow:hidden}.build-card:hover{border-color:var(--primary-color);box-shadow:0 4px 16px #0000001a}.build-card.expanded{border-color:var(--primary-color)}.build-card-header{padding:var(--spacing-lg);cursor:pointer;gap:var(--spacing-md);flex-direction:column;display:flex}.build-card-header:hover{background:var(--background-color)}.build-card-title{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.build-card-title h3{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.build-status{padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-md);text-transform:uppercase;font-size:.8rem;font-weight:600}.build-status.planning{color:var(--primary-color);background:#5a67d826}.build-status.in_progress{color:#f59e0b;background:#f59e0b26}.build-status.completed{color:#10b981;background:#10b98126}.build-status.on_hold{color:#9ca3af;background:#9ca3af26}.build-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.build-progress{gap:var(--spacing-xs);flex-direction:column;display:flex}.progress-info{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.progress-label{color:var(--text-secondary)}.progress-percentage{color:var(--text-primary);font-weight:600}.progress-bar{background:var(--background-color);border-radius:var(--radius-sm);height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary-color),#818cf8);border-radius:var(--radius-sm);height:100%;transition:width var(--transition-normal)}.progress-fill.complete{background:linear-gradient(90deg,#10b981,#34d399)}.build-meta{gap:var(--spacing-lg);color:var(--text-secondary);flex-wrap:wrap;font-size:.85rem;display:flex}.build-meta-item{align-items:center;gap:var(--spacing-xs);display:flex}.build-meta-item strong{color:var(--text-primary)}.build-expand-indicator{padding:var(--spacing-sm);color:var(--text-secondary);border-top:1px solid var(--border-color);background:var(--background-color);justify-content:center;align-items:center;font-size:.85rem;display:flex}.build-details{padding:var(--spacing-lg);background:var(--background-color);border-top:1px solid var(--border-color)}.build-details-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.build-details-header h4{color:var(--text-primary);margin:0;font-size:1rem}.build-projects-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.build-project-item{padding:var(--spacing-md);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.build-project-item:hover{border-color:var(--primary-color);transform:translate(4px)}.build-project-info{align-items:center;gap:var(--spacing-md);display:flex}.build-project-info .project-name{color:var(--text-primary);font-weight:600}.build-project-info .project-status{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-size:.75rem;font-weight:600}.build-project-info .project-status.planned{color:var(--primary-color);background:#5a67d826}.build-project-info .project-status.in_progress{color:#f59e0b;background:#f59e0b26}.build-project-info .project-status.completed{color:#10b981;background:#10b98126}.unlink-btn{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none}.unlink-btn:hover{color:var(--color-error);background:#ef44441a}.build-no-projects{color:var(--text-secondary);padding:var(--spacing-lg);text-align:center;font-style:italic}.build-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex}.build-actions .btn-sm{flex:1}.builds-empty{background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center}.builds-empty p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.link-build-dropdown{display:inline-block;position:relative}.link-build-select{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);cursor:pointer;font-size:.85rem}.link-build-select:focus{border-color:var(--primary-color);outline:none}.build-header{padding:var(--spacing-lg);justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.build-title{flex:1}.build-title h3{color:var(--text-primary);margin:0 0 var(--spacing-xs)0;font-size:1.2rem;font-weight:700}.section-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:.95rem}.empty-message{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center;background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius-lg);font-style:italic}.empty-message-small{color:var(--text-secondary);padding:var(--spacing-md);text-align:center;font-style:italic}.btn-icon{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;font-size:1rem}.btn-icon:hover{background:var(--background-color);color:var(--text-primary)}.btn-icon.btn-delete:hover{color:var(--color-error);background:#ef44441a}.btn-small{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:.8rem}.btn-small.btn-danger{background:var(--color-error);color:#fff}.btn-small.btn-danger:hover{background:#dc2626}.btn-link{color:var(--primary-color);cursor:pointer;padding:var(--spacing-xs);transition:all var(--transition-fast);background:0 0;border:none;font-size:.85rem;text-decoration:underline}.btn-link:hover{color:var(--primary-hover)}.progress-text{color:var(--text-secondary);margin-top:var(--spacing-xs);font-size:.85rem}.project-status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.project-status-dot.planned{background:var(--primary-color)}.project-status-dot.in-progress{background:#f59e0b}.project-status-dot.completed{background:#10b981}.project-status-text{color:var(--text-secondary);text-transform:capitalize;font-size:.8rem}.form-error{color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);background:#ef44441a}.form-hint{color:var(--text-secondary);margin-top:var(--spacing-md);font-size:.85rem;font-style:italic}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:600;display:block}.dashboard-header-actions{gap:var(--spacing-md);display:flex}.build-card.status-planning{border-left:4px solid var(--primary-color)}.build-card.status-in-progress{border-left:4px solid #f59e0b}.build-card.status-completed{border-left:4px solid #10b981}.build-card.status-on-hold{border-left:4px solid #9ca3af}@media (max-width:768px){.builds-grid{grid-template-columns:1fr}.builds-header{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.builds-header .btn-primary{width:100%}.build-meta{gap:var(--spacing-sm);flex-direction:column}.build-actions{flex-direction:column}.dashboard-header-actions{flex-direction:column;width:100%}.dashboard-header-actions button{width:100%}}