:root { --bg:#faf7f2; --ink:#222; --muted:#6b6b6b; --accent:#2f5d8a; --line:#e2dccf; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 Georgia, 'Times New Roman', serif; background:var(--bg); color:var(--ink); }
button, input, textarea, select { font:inherit; }
.login { max-width:340px; margin:15vh auto; padding:24px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.login h1 { margin-top:0; }
.login label { display:block; margin:12px 0 4px; font-size:14px; color:var(--muted); }
.login select, .login input { width:100%; padding:8px; border:1px solid var(--line); border-radius:4px; }
.err { color:#b00020; min-height:1.4em; font-size:14px; }
.layout { display:flex; min-height:100vh; }
nav { width:260px; padding:20px; border-right:1px solid var(--line); background:#fff; flex-shrink:0; }
nav h2 { margin:0 0 4px; font-size:20px; }
nav .who { font-size:13px; color:var(--muted); margin-bottom:16px; }
nav ol { list-style:none; padding:0; margin:0 0 16px; }
nav li a { display:flex; justify-content:space-between; padding:6px 8px; border-radius:4px; color:var(--ink); text-decoration:none; font-size:15px; }
nav li a:hover { background:var(--bg); }
nav li a.active { background:var(--accent); color:#fff; }
nav li .dot { color:#3a9a5b; }
nav li a.active .dot { color:#fff; }
nav .tools button { display:block; width:100%; margin-bottom:6px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:4px; cursor:pointer; }
main { flex:1; max-width:760px; padding:32px 28px; }
main h1 { margin-top:0; }
.desc { color:var(--muted); }
textarea { width:100%; min-height:260px; padding:12px; border:1px solid var(--line); border-radius:6px; background:#fff; resize:vertical; }
.status { font-size:13px; color:var(--muted); margin:6px 0 20px; }
.next { padding:14px 16px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:4px; }
.next a { color:var(--accent); }
details { margin-top:20px; font-size:14px; }
details li { margin:4px 0; }
details button { margin-left:8px; }
.primary { background:var(--accent); color:#fff; border:0; padding:8px 14px; border-radius:4px; cursor:pointer; width:100%; margin-top:14px; }
@media (max-width:700px) { .layout { flex-direction:column; } nav { width:auto; border-right:0; border-bottom:1px solid var(--line); } }
