*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.app-container{min-height:100vh}h1,h2,h3,h4{margin-bottom:.5em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{color:#666;font-size:1rem}p{margin-bottom:1em}small{color:#666;font-size:.85em}.btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s,opacity .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn.primary{background:#2563eb;color:#fff}.btn.primary:hover:not(:disabled){background:#1d4ed8}.btn.secondary{background:#64748b;color:#fff}.btn.secondary:hover:not(:disabled){background:#475569}.btn.small{font-size:.85rem;padding:5px 12px}.btn.danger{background:#ef4444;color:#fff}.btn.success{background:#22c55e;color:#fff}input,select,textarea{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:10px;width:100%}input:focus,select:focus,textarea:focus{border-color:#2563eb;outline:none}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group small{display:block;margin-top:.25rem}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:1rem;padding:10px 15px}.empty-state{color:#666;font-style:italic;padding:1rem;text-align:center}.back-link{background:none;border:none;color:#2563eb;cursor:pointer;display:inline-block;font-size:1rem;margin-bottom:1rem;padding:0}.back-link:hover{text-decoration:underline}.home-page{margin:0 auto;max-width:800px;padding:2rem}.home-page .hero{padding:3rem 0;text-align:center}.home-page .hero h1{color:#2563eb;font-size:3rem;margin-bottom:.5rem}.home-page .hero p{color:#666;font-size:1.25rem}.home-page .actions{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.action-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:2rem}.action-card h2{color:#333}.action-card p{color:#666}.action-card form{display:flex;gap:.5rem}.code-input{font-family:monospace;font-size:1.25rem;letter-spacing:2px;text-align:center;text-transform:uppercase}.create-page,.join-page{margin:0 auto;max-width:600px;padding:2rem}.create-page header,.join-page header{margin-bottom:2rem}.create-form,.join-form{padding:2rem}.create-form,.join-form,.project-preview{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.project-preview{margin-bottom:2rem;padding:1.5rem}.project-preview h2{color:#2563eb}.project-page{margin:0 auto;max-width:1200px;padding:2rem}.project-info,.project-page header{margin-bottom:1.5rem}.project-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:1.5rem}.project-info .description{font-size:1.1rem}.project-info .meta{color:#666;display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1rem}.invite-section{margin-bottom:1.5rem}.invite-code{align-items:center;background:#e0e7ff;border-radius:8px;display:inline-flex;gap:1rem;padding:1rem 1.5rem}.invite-code strong{font-family:monospace;font-size:1.25rem;letter-spacing:2px}.dashboard-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:1.5rem}.participant-list ul{list-style:none}.participant-item{border-bottom:1px solid #eee;padding:.75rem 0}.participant-item:last-child{border-bottom:none}.participant-name{font-weight:500}.participant-skills,.participant-tools{color:#666}.task-list .add-form{display:flex;gap:.5rem;margin-bottom:1rem}.task-list .add-form input{flex:1}.task-columns{display:flex;flex-direction:column;gap:1.5rem}.task-column h4{border-bottom:2px solid #eee;margin-bottom:.75rem;padding-bottom:.5rem}.task-item{background:#f8fafc;border-left:3px solid #ddd;border-radius:6px;margin-bottom:.5rem;padding:.75rem}.task-item.status-todo{border-left-color:#94a3b8}.task-item.status-in-progress{border-left-color:#f59e0b}.task-item.status-done{border-left-color:#22c55e;opacity:.7}.task-title{font-weight:500;margin-bottom:.5rem}.task-actions,.task-assignee{align-items:center;display:flex;gap:.5rem}.task-actions select,.task-assignee select{font-size:.85rem;padding:5px 8px;width:auto}.material-list .add-form{display:flex;gap:.5rem;margin-bottom:1rem}.material-list .add-form input:first-of-type{flex:2}.material-list .quantity-input{flex:1;max-width:80px}.material-sections{display:flex;flex-direction:column;gap:1.5rem}.material-section h4{border-bottom:2px solid #eee;margin-bottom:.75rem;padding-bottom:.5rem}.material-item{align-items:center;background:#f8fafc;border-left:3px solid #ddd;border-radius:6px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;padding:.75rem}.material-item.status-needed{border-left-color:#ef4444}.material-item.status-claimed{border-left-color:#f59e0b}.material-item.status-delivered{border-left-color:#22c55e;opacity:.7}.material-info{flex:1;min-width:150px}.material-name{font-weight:500}.material-qty{color:#666;margin-left:.5rem}.material-assignee select{font-size:.85rem;padding:5px 8px;width:auto}.material-actions{display:flex;gap:.5rem}@media (max-width:600px){.home-page .hero h1{font-size:2rem}.dashboard-grid{grid-template-columns:1fr}.project-info .meta{flex-direction:column;gap:.5rem}.material-item{align-items:flex-start;flex-direction:column}}