*{box-sizing:border-box;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f6f7f9;color:#1c2733}.app{max-width:720px;margin:0 auto;padding:12px}header{padding:12px 4px}h1{font-size:18px}.who{color:#5b6b7b;font-size:13px;margin-top:2px}nav{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px}nav button{border:1px solid #d6dde4;background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;white-space:nowrap;cursor:pointer}nav button.on{background:#1c2733;color:#fff;border-color:#1c2733}main{background:#fff;border:1px solid #e3e8ee;border-radius:12px;min-height:320px;padding:14px}.center-msg{display:flex;align-items:center;justify-content:center;min-height:200px;color:#5b6b7b;text-align:center;padding:16px}.center-msg.error{color:#b3261e}.task-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1px solid #d6dde4;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.chip.on{background:#1c2733;color:#fff;border-color:#1c2733}.chip.create{margin-left:auto;background:#0b6e4f;color:#fff;border-color:#0b6e4f;font-weight:600}.task-form{border:1px solid #cfe3da;background:#f4faf7;border-radius:10px;padding:10px;margin-bottom:12px;display:grid;gap:8px}.task-form input,.task-form textarea,.task-form select{border:1px solid #d6dde4;border-radius:8px;padding:8px 10px;font:inherit;width:100%}.task-form .row{display:flex;gap:8px;flex-wrap:wrap}.task-form .row>*{flex:1;min-width:140px}button.primary{background:#0b6e4f;color:#fff;border:none;border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}button.danger{background:#fff;color:#b3261e;border:1px solid #b3261e;border-radius:8px;padding:8px 12px;cursor:pointer}.task{border:1px solid #e3e8ee;border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;background:#fff}.task.overdue{border-color:#e5a29c;background:#fff8f7}.task.done,.task.cancelled{opacity:.65}.task-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.task-head .title{font-weight:600;font-size:15px}.st{font-size:12px;border-radius:999px;padding:2px 9px;white-space:nowrap}.st-open{background:#eef2f6;color:#445}.st-doing{background:#fff3d6;color:#8a6100}.st-done{background:#e0f2e9;color:#0b6e4f}.st-cancelled{background:#f3e0e0;color:#944}.task-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#5b6b7b;margin-top:4px}.task-meta .red{color:#b3261e;font-weight:700}.gray{color:#8a97a5}.task-detail{border-top:1px dashed #e3e8ee;margin-top:8px;padding-top:8px;cursor:default}.detail-text{white-space:pre-wrap;font-size:14px;margin-bottom:8px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.actions button{border:1px solid #d6dde4;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}.actions button.primary{border:none;background:#0b6e4f;color:#fff}.events{display:grid;gap:4px;margin-bottom:8px}.ev{font-size:13px}.ev-status i{color:#8a6100}.cmt-row{display:flex;gap:6px}.cmt-row input{flex:1;border:1px solid #d6dde4;border-radius:8px;padding:8px 10px;font:inherit}.cmt-row button{border:1px solid #1c2733;background:#1c2733;color:#fff;border-radius:8px;padding:8px 14px;cursor:pointer}
