body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; background: #0d1117; color: #e6e6e6; }
header { background: #161b22; padding: 12px 24px; display:flex; align-items:center; gap:24px; border-bottom:1px solid #30363d; }
header nav { display:flex; gap:16px; }
header nav a { color:#8b949e; text-decoration:none; font-size:0.9em; }
header nav a:hover { color:#e6e6e6; }
.brand { color: #58a6ff; font-weight:700; text-decoration:none; font-size:1.1em; margin-right:8px; }
footer { text-align:center; padding:16px; margin-top:32px; border-top:1px solid #21262d; }
main { padding: 24px; max-width: 1100px; margin: 0 auto; }

/* toolbar */
.toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.toolbar h1 { margin:0; }
.badge-count { background:#21262d; border:1px solid #30363d; border-radius:12px; padding:2px 10px; font-size:0.7em; vertical-align:middle; }
.scan-info { margin:4px 0 12px; }

/* panels */
.panel { background:#161b22; border:1px solid #30363d; border-radius:8px; padding:12px 16px; margin:12px 0; }
.constraints { font-size:0.88em; color:#8b949e; }

/* table */
table { width:100%; border-collapse:collapse; margin-top:8px; }
th { text-align:left; padding:8px 10px; border-bottom:2px solid #30363d; font-size:0.85em; color:#8b949e; text-transform:uppercase; letter-spacing:.05em; }
td { padding:10px; border-bottom:1px solid #21262d; vertical-align:top; }
tr:hover td { background:#161b22; }
a { color:#58a6ff; text-decoration:none; }
a:hover { text-decoration:underline; }

/* prize */
.prize { font-weight:700; color:#3fb950; white-space:nowrap; }
.prize-large { font-size:1.8em; font-weight:700; color:#3fb950; }

/* urgency */
.urgent { color:#f85149; font-weight:700; }
.soon { color:#e3b341; }
.warn { color:#e3b341; }

/* progress bar */
.progress-bar { background:#21262d; border-radius:4px; height:6px; width:120px; margin-bottom:4px; }
.progress-fill { background:#238636; border-radius:4px; height:6px; }

/* status badges */
.badge { padding:3px 10px; border-radius:12px; font-size:0.8em; border:1px solid; white-space:nowrap; }
.status-scaffolded { background:#21262d33; border-color:#8b949e; color:#8b949e; }
.status-ai_build_in_progress { background:#1f6feb33; border-color:#58a6ff; color:#58a6ff; }
.status-pending_manual { background:#e3b34133; border-color:#e3b341; color:#e3b341; }
.status-ready_to_submit { background:#23863633; border-color:#3fb950; color:#3fb950; }
.status-submitted { background:#6e40c933; border-color:#bc8cff; color:#bc8cff; }
.status-abandoned { background:#f8514933; border-color:#f85149; color:#f85149; }

/* project detail */
.project-header { display:flex; align-items:baseline; gap:16px; margin-bottom:16px; }
.project-header h1 { margin:0; flex:1; }
.meta-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.meta-grid > div { background:#161b22; border:1px solid #30363d; border-radius:6px; padding:10px 14px; }

/* task columns */
.task-cols { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
@media(max-width:680px){ .task-cols { grid-template-columns:1fr; } }
.task-col h2 { font-size:1em; margin:0 0 8px; }
.tasks { padding:0; margin:0; }
.tasks li { list-style:none; padding:6px 0; border-bottom:1px solid #21262d; display:flex; align-items:flex-start; gap:8px; }
.tasks li.done { color:#6e7681; text-decoration:line-through; }
.check-btn { background:none; border:none; cursor:pointer; font-size:1.1em; padding:0; line-height:1; }

/* misc */
.small { font-size:0.82em; }
.muted { color:#8b949e; }
code { background:#21262d; padding:2px 6px; border-radius:4px; font-size:0.88em; }
button { background:#238636; color:white; border:none; padding:7px 16px; border-radius:6px; cursor:pointer; font-size:0.9em; }
button:hover { background:#2ea043; }
select { background:#21262d; color:#e6e6e6; border:1px solid #30363d; border-radius:6px; padding:5px 10px; }
