:root { --bg:#fafaf7; --fg:#1d1d1b; --muted:#6b6b66; --line:#e2e2dc; --accent:#2b5fd9; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--fg); }
header.top { display:flex; align-items:baseline; gap:1.5rem; padding:.8rem 1.25rem; border-bottom:1px solid var(--line); background:var(--card); }
header.top .brand { font-weight:700; text-decoration:none; color:var(--fg); }
header.top nav a { color:var(--accent); }
main { max-width: 1100px; margin: 0 auto; padding: 1.25rem; }
h1 { font-size:1.5rem; margin:.4rem 0 1rem; } h2 { font-size:1.1rem; margin:1.6rem 0 .6rem; }
a { color: var(--accent); } a.small { font-size:.8rem; font-weight:400; margin-left:.5rem; }
.muted { color: var(--muted); } code { background:#f0f0ea; padding:.1rem .3rem; border-radius:3px; }
table { border-collapse: collapse; width:100%; background:var(--card); }
th, td { text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); }
td.num { text-align:right; font-variant-numeric: tabular-nums; }
ul.projects { list-style:none; padding:0; } ul.projects li { padding:.4rem 0; border-bottom:1px solid var(--line); }
dl.meta { display:grid; grid-template-columns: 6rem 1fr; gap:.2rem .8rem; margin:0 0 1rem; }
dl.meta dt { color:var(--muted); } dl.meta dd { margin:0; }
form.project label, form.manual label { display:block; margin:.6rem 0; }
form.project input, form.manual input, form.manual textarea { width:100%; padding:.4rem .5rem; border:1px solid var(--line); border-radius:4px; font:inherit; }
form.project label.check input { width:auto; }
form.inline { display:inline; }
button { font:inherit; padding:.35rem .8rem; border:1px solid var(--accent); background:var(--accent); color:#fff; border-radius:4px; cursor:pointer; }
button.secondary { background:#fff; color:var(--accent); }
.errors { background:#fdecec; border:1px solid #f3b4b4; padding:.5rem 1rem; border-radius:4px; margin-bottom:1rem; }
.errors ul { margin:0; padding-left:1.2rem; }
section.suggest { background:var(--card); border:1px solid var(--line); border-radius:6px; padding:.6rem 1rem; margin-bottom:1rem; }
section.suggest ul { list-style:none; padding:0; margin:0; } section.suggest li { padding:.2rem 0; }
.chip { display:inline-block; font-size:.75rem; padding:.05rem .45rem; border-radius:999px; background:#ecece6; color:#444; margin-right:.25rem; white-space:nowrap; }
.chip.prio { font-weight:600; color:#fff; background:#888; }
.chip.prio.critical { background:#b3261e; } .chip.prio.high { background:#d9632b; } .chip.prio.medium { background:#c9a227; color:#222; } .chip.prio.low { background:#5b8def; }
.badge { display:inline-block; font-size:.72rem; padding:.05rem .4rem; border-radius:3px; margin-right:.25rem; border:1px solid var(--line); background:#f6f6f1; white-space:nowrap; }
.badge.size { font-weight:700; text-transform:uppercase; }
.badge.risk.high, .badge.diff.high { background:#fdecec; border-color:#f3b4b4; }
.badge.risk.medium, .badge.diff.medium { background:#fff6dc; border-color:#f1dc9a; }
.badge.risk.low, .badge.diff.low { background:#e9f6ea; border-color:#b9dfbd; }
.status { display:inline-block; font-size:.78rem; padding:.05rem .5rem; border-radius:3px; background:#eee; }
.status-planning, .status-revising, .status-implementing { background:#e3ecff; color:#1d3f9e; }
.status-plan_ready { background:#fff2cc; color:#6b4f00; }
.status-approved, .status-implemented { background:#e6f0ff; color:#1d3f9e; }
.status-mr_open { background:#e2f5e4; color:#1e6b2a; }
.status-failed { background:#fdecec; color:#8a1c1c; }
.status-cancelled { background:#eee; color:#555; }
p.crumbs { color:var(--muted); margin:0 0 .3rem; }
.statusline { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin:.5rem 0 1rem; }
section.plan { background:var(--card); border:1px solid var(--line); border-radius:6px; padding:.8rem 1.2rem; margin-bottom:1rem; }
section.plan h3 { font-size:.95rem; margin:1rem 0 .3rem; }
section.plan p.summary { font-size:1.02rem; }
section.plan ol.steps li { margin:.4rem 0; }
section.plan ul.questions { background:#fff6dc; border:1px solid #f1dc9a; padding:.5rem 1.5rem; border-radius:4px; }
section.plan ul.files { columns: 2; }
.actions { display:flex; flex-wrap:wrap; gap:1.5rem; align-items:flex-start; margin:1rem 0; }
.actions form.approve, .actions form.revise { flex:1 1 20rem; }
.actions textarea { width:100%; padding:.4rem .5rem; border:1px solid var(--line); border-radius:4px; font:inherit; display:block; margin:.3rem 0 .5rem; }
pre.log { background:#1e1e1c; color:#e8e8e0; padding:.8rem 1rem; border-radius:6px; font-size:.8rem; line-height:1.4; max-height:32rem; overflow:auto; white-space:pre-wrap; word-break:break-word; }
pre.log .t { color:#8a8a80; }
details .body { background:var(--card); border:1px solid var(--line); padding:.6rem 1rem; border-radius:4px; }
form.project .row { display:flex; gap:1rem; } form.project .row label { flex:1; }
p.small { font-size:.85rem; }
fieldset.tools { border:1px solid var(--line); border-radius:6px; padding:.4rem 1rem .8rem; margin:.8rem 0; }
fieldset.tools legend { color:var(--muted); font-size:.85rem; padding:0 .3rem; }
fieldset.tools select { font:inherit; padding:.3rem .4rem; }
fieldset.tools textarea { width:100%; font: .85rem/1.4 ui-monospace, monospace; padding:.4rem .5rem; border:1px solid var(--line); border-radius:4px; }
.actions form.questions { flex: 1 1 100%; background:#fff9e6; border:1px solid #f1dc9a; border-radius:6px; padding:.6rem 1.2rem 1rem; }
.actions form.questions h3 { margin:.3rem 0 .6rem; font-size:.95rem; }
fieldset.q { border:0; border-top:1px solid #f1dc9a; padding:.5rem 0 .3rem; margin:0; }
fieldset.q legend { font-weight:600; padding:0; margin-bottom:.3rem; }
fieldset.q label.opt { display:block; padding:.15rem 0 .15rem .2rem; }
fieldset.q label.opt input[type=radio] { margin-right:.4rem; }
fieldset.q input.other { width: 60%; padding:.25rem .4rem; border:1px solid var(--line); border-radius:4px; font:inherit; }
fieldset.q .rec { font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:#1e6b2a; background:#e2f5e4; padding:.05rem .4rem; border-radius:3px; margin-left:.3rem; }
