*{box-sizing:border-box}
body{margin:0;display:flex;height:100vh;font:14px/1.4 system-ui,sans-serif;color:#1d1d1f}
button{font:inherit;padding:4px 10px;border:1px solid #bbb;border-radius:6px;background:#fff;cursor:pointer}
button:hover{background:#f0f0f5}button.danger{color:#b00020;border-color:#e3a0a8}
#side{width:260px;background:#f4f4f6;padding:12px;overflow:auto;flex-shrink:0}
#side h4{margin:16px 0 4px;font-size:12px;text-transform:uppercase;color:#666;letter-spacing:.04em}
#side ul{list-style:none;padding:0;margin:0}#side li{padding:6px 8px;border-radius:6px;cursor:pointer}
#side li:hover{background:#e8e8ef}#side li.on{background:#dcdcea;font-weight:600}
#side li.none{color:#888;cursor:default;font-style:italic}#side li.none:hover{background:none}
.me small{display:block;color:#777;font-size:12px}.st{display:block;color:#777;font-size:12px;font-weight:400}
.actions{display:flex;gap:6px;margin-top:10px}.wide{width:100%;margin-top:16px}
#main{flex:1;display:flex;flex-direction:column;padding:16px 20px;min-width:0}
#main>h3{margin:0 0 8px}#log{flex:1;overflow:auto;padding-right:4px}
.m{margin:6px 0;padding:8px 10px;border-radius:8px;background:#f5f5f7;max-width:75%}
.m.user{background:#dbeafe;margin-left:auto}.m.handoff{font-style:italic;background:#fff7d6;max-width:100%}
.m.approval{background:#ffe4e4;max-width:100%}.m .who{font-weight:600;margin-right:4px}
.chatform{display:flex;gap:6px;padding-top:8px}.chatform input{flex:1;padding:6px 8px;border:1px solid #bbb;border-radius:6px;font:inherit}
.card{max-width:520px;display:flex;flex-direction:column;gap:12px}
.card label{display:flex;flex-direction:column;gap:4px;font-weight:600}.card label.inline{flex-direction:row;align-items:center;gap:6px;font-weight:400}
.card input:not([type]),.card input[name],.card textarea{padding:6px 8px;border:1px solid #bbb;border-radius:6px;font:inherit;font-weight:400}
.card fieldset{border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;gap:6px}
.note,.hint p{color:#555;font-size:13px;margin:4px 0}.err{color:#b00020;margin:0}
.off{opacity:.55}.botbar{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.badge{background:#eef;padding:2px 8px;border-radius:10px;font-size:13px}.badge.off{background:#fdd;color:#900}
#badge{color:#b00020;font-weight:600}
.ap{display:flex;align-items:center;gap:8px;max-width:100%}.ap span{flex:1}
