.project-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.project-toolbar h2 { margin:0 0 6px; }
.project-toolbar select { margin-left:10px; max-width:100%; }
.project-lanes { display:grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:16px; overflow-x:auto; padding:16px 2px; align-items:start; }
.project-lane { background:var(--bg); border:1px solid var(--border); border-top:3px solid #94a3b8; border-radius:12px; padding:12px; min-height:280px; }
.project-lane[data-lane="in_progress"] { border-top-color:#3b82f6; }
.project-lane[data-lane="blocked"] { border-top-color:#ef4444; }
.project-lane[data-lane="completed"] { border-top-color:#22c55e; }
.project-lane.drag-over { outline:2px solid #3b82f6; }
.project-lane-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.project-lane h3 { font-size:14px; margin:0; }
.project-lane h3 span { opacity:.6; margin-left:8px; }
.project-card { background:var(--surface,#fff); border:1px solid var(--border); box-shadow:0 2px 4px #00000008; border-radius:8px; padding:14px; margin-bottom:12px; }
.project-task-title { display:block; text-align:left; font:inherit; font-weight:600; color:inherit; width:100%; margin:8px 0; overflow-wrap:anywhere; }
.project-description { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.6; margin:8px 0 14px; }
.project-card .project-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.project-card .hint { white-space:normal; overflow-wrap:anywhere; }
.project-card-project { font-size:12px; font-weight:600; color:var(--text); background:var(--bg); border:1px solid var(--border); border-radius:5px; padding:4px 7px; margin-bottom:10px; overflow-wrap:anywhere; }
.project-card-footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.project-card-footer select, .project-toolbar select { border:1px solid var(--border); border-radius:6px; padding:8px; background:var(--surface,#fff); color:inherit; }
.project-card-footer .btn { padding:6px; font-size:12px; }
.project-empty { padding:32px 12px; text-align:center; color:var(--text-muted); }
#projectDialog { border:1px solid var(--border); border-radius:16px; padding:0; width:min(540px,94vw); max-height:90dvh; background:var(--surface,#fff); color:var(--text); margin:auto; }
#projectDialog::backdrop { background:#0008; }
.project-form-error { color:#dc2626; }
.project-form-grid, .project-filters { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0; }
.project-form-grid > *, .project-filters > label { flex:1 1 150px; min-width:0; }
.project-filters input:not([type=checkbox]), .project-filters select, .project-detail-section input:not([type=file]), .project-detail-section textarea { display:block; width:100%; box-sizing:border-box; padding:8px; border:1px solid var(--border); border-radius:6px; color:inherit; background:var(--surface,#fff); }
.project-check { display:flex; align-items:center; gap:6px; }
.project-progress-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:20px 0; }
.project-progress { padding:12px; border:1px solid var(--border); border-radius:8px; }
.project-progress progress { width:100%; accent-color:#7c3aed; }
.project-card-meta { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; margin:8px 0; }
.project-priority { border:1px solid var(--border); border-radius:4px; padding:3px 6px; }
.priority-urgent, .project-overdue { color:#b91c1c !important; font-weight:600; font-size:12px; }
.priority-high { color:#b45309; }
.priority-low { color:#047857; }
.project-dependencies label { display:block; padding:5px 0; font-size:13px; }
.project-dependencies input { width:auto; }
.project-detail-section { padding:20px 24px; border-top:1px solid var(--border); }
.project-detail-section h3 { margin:20px 0 10px; }
.project-comment { padding:12px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.project-comment p { white-space:pre-wrap; margin:8px 0; font-size:13px; }
.project-comment time { font-size:11px; opacity:.7; }
.project-detail-section details { margin:14px 0; }
.project-trash-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; }
.project-trash-row span { overflow-wrap:anywhere; }
@media(max-width:600px) { .project-lanes { grid-template-columns:repeat(4,minmax(260px,85vw)); scroll-snap-type:x proximity; } .project-lane { scroll-snap-align:start; } }
