*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7f6;color:#1f2d27;line-height:1.6}a{color:#1d6b57;text-decoration:none}h1,h2,h3{margin:.6em 0 .4em}h2{font-size:1.2rem}h3{font-size:1rem}.center{display:flex;min-height:100vh;align-items:center;justify-content:center}.muted{color:#6b7a73;font-size:.9rem}.error{color:#b3261e}.warn{color:#8a5a00;background:#fff4dd;padding:6px 10px;border-radius:6px}.shell{max-width:880px;margin:0 auto}.topbar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 14px;background:#173f35;color:#fff}.topbar a{color:#cfe6dd;margin-right:12px}.topbar a.on{color:#fff;font-weight:600}.topbar .who{margin-left:auto;font-size:.9rem}.brand{margin-right:8px}.main{padding:12px 14px 60px}.card{background:#fff;border-radius:10px;padding:12px 14px;margin:12px 0;border:1px solid #e3e9e6}.card.todo,.list li.todo{border-left:4px solid #d98a00}.card.urgent,.list li.urgent{border-left:4px solid #b3261e}.card.info,.list li.info{border-left:4px solid #8aa79c}.list{list-style:none;padding:0;margin:0}.list li{background:#fff;border:1px solid #e3e9e6;border-radius:10px;padding:10px 12px;margin:8px 0;word-break:break-word}.tag{background:#e6f0ec;color:#1d6b57;border-radius:10px;padding:0 8px;font-size:.8rem}label{display:block;margin:8px 0;font-size:.9rem}input,select,textarea{display:block;width:100%;padding:8px;border:1px solid #c9d4cf;border-radius:8px;font:inherit;background:#fff}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1 1 140px;min-width:0}button{padding:8px 14px;border-radius:8px;border:1px solid #1d6b57;background:#fff;color:#1d6b57;font:inherit;cursor:pointer}button.primary{background:#1d6b57;color:#fff}button:disabled{opacity:.5}button.link{border:0;background:none;padding:0 6px;text-decoration:underline;color:#1d6b57}blockquote{margin:8px 0;padding:8px 12px;background:#f1f6f4;border-left:3px solid #8aa79c;border-radius:4px}.grid{width:100%;border-collapse:collapse;font-size:.9rem}.grid th,.grid td{border-bottom:1px solid #e3e9e6;padding:6px 4px;text-align:left}.pre{white-space:pre-wrap;word-break:break-word}.login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}.login .card{width:100%;max-width:380px}
