a { color: inherit; text-decoration: none; }
nav a { white-space: nowrap; border-radius: 6px; padding: .5rem .65rem; }
nav a:hover { background: #e7e5e4; }
.card { border: 1px solid #e7e5e4; background: #fff; border-radius: 8px; padding: 1rem; box-shadow: 0 1px 2px rgba(41,37,36,.04); }
.btn-primary { min-height: 2.5rem; border-radius: 6px; background: #a45f16; color: white; padding: .55rem .9rem; font-weight: 600; }
.btn-light { min-height: 2.5rem; border-radius: 6px; border: 1px solid #d6d3d1; background: white; padding: .5rem .8rem; font-size: .9rem; }
.input, select, textarea { width: 100%; border: 1px solid #d6d3d1; border-radius: 6px; background: white; padding: .65rem .75rem; }
.section-title { font-size: 1.2rem; font-weight: 700; color: #1c1917; }
.empty { border: 1px dashed #d6d3d1; border-radius: 8px; padding: 1rem; color: #78716c; background: #fafaf9; }
.status { border-radius: 999px; padding: .25rem .55rem; font-size: .75rem; border: 1px solid #d6d3d1; background: #fafaf9; }
.status-planned { background: #eff6ff; border-color: #bfdbfe; color: #1e3a8a; }
.status-active { background: #fef3c7; border-color: #fde68a; color: #78350f; }
.status-stalled { background: #fee2e2; border-color: #fecaca; color: #7f1d1d; }
.status-done { background: #dcfce7; border-color: #bbf7d0; color: #14532d; }
.status-idea { background: #f5f5f4; color: #57534e; }
.upload-drop { position: relative; display: flex; min-height: 8rem; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; border: 2px dashed #d6d3d1; border-radius: 8px; background: #fafaf9; padding: 1rem; text-align: center; transition: border-color .15s ease, background .15s ease; }
.upload-drop-large { min-height: 11rem; }
.upload-drop:hover, .upload-drop-active { border-color: #a45f16; background: #fff7ed; }
.upload-drop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.upload-title { font-weight: 700; color: #1c1917; }
.upload-copy { max-width: 18rem; font-size: .9rem; color: #78716c; }
.timeline-shell { overflow-x: auto; padding-bottom: 1rem; }
.timeline-shell svg { min-width: 920px; }
.gantt .bar { fill: #bfdbfe; }
.gantt .bar-progress { fill: #60a5fa; }
.gantt .gantt-active .bar { fill: #fde68a; }
.gantt .gantt-active .bar-progress { fill: #d97706; }
.gantt .gantt-stalled .bar { fill: #fecaca; }
.gantt .gantt-stalled .bar-progress { fill: #b45309; }
.gantt .gantt-done .bar { fill: #bbf7d0; }
.gantt .gantt-done .bar-progress { fill: #16a34a; }
.gantt .lower-text, .gantt .upper-text, .gantt .bar-label { fill: #44403c; font-family: inherit; }
