:root{--ink:#20252b;--paper:#f6f4e8;--line:#d9d8c4;--muted:#6d7566;--accent:#c8e86a;--dark:#273631}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--dark)}
.bar{display:flex;align-items:center;gap:14px;padding:14px 22px;background:var(--paper);border-bottom:2px solid var(--ink)}
.bar h1{font-size:18px;margin:0;letter-spacing:.2px}
.bar .who{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.bar .who img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1.5px solid var(--ink)}
.bar a{color:var(--ink)}
.floors{display:flex;gap:6px;padding:14px 22px;flex-wrap:wrap}
.floors button{font:600 14px inherit;padding:7px 15px;border-radius:20px;border:1.5px solid #55655c;background:transparent;color:#e6ecd9;cursor:pointer}
.floors button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}
main{padding:0 22px 40px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.room{background:var(--paper);border:1.5px solid var(--ink);border-radius:12px;padding:14px 16px}
.room h2{font-size:15px;margin:0 0 2px}
.room .sub{font-size:12px;color:var(--muted);margin-bottom:10px}
.staff{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.chip{display:flex;align-items:center;gap:9px;font-size:13px;background:#eceada;border:1px solid var(--line);border-radius:9px;padding:5px 7px}
.chip img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--ink);background:#dcdccb;flex:none}
.chip b{font-weight:600}
.chip small{color:var(--muted);font-size:11px;display:block}
.chip .grow{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip button{border:0;background:none;font-size:17px;color:#8a8f7d;cursor:pointer;padding:0 4px}
.chip button:hover{color:#b4443c}
.empty{font-size:13px;color:var(--muted);margin-bottom:10px}
.add{font:600 13px inherit;border:1.5px dashed #9aa48c;background:transparent;border-radius:9px;padding:7px 12px;cursor:pointer;color:var(--ink)}
.add:hover{border-style:solid;background:#eceada}
dialog{border:2px solid var(--ink);border-radius:14px;padding:0;width:min(460px,92vw);background:var(--paper)}
dialog::backdrop{background:#0e181466}
.pick-head{padding:14px 16px;border-bottom:1px solid var(--line)}
.pick-head input{width:100%;height:40px;border:1.5px solid #bcc4b4;border-radius:9px;padding:0 12px;font:15px inherit;background:#fffef7}
.pick-list{max-height:52vh;overflow:auto;padding:8px}
.pick-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;padding:7px 8px;border-radius:9px;cursor:pointer;font:inherit}
.pick-list button:hover{background:#eceada}
.pick-list button.busy{cursor:not-allowed;opacity:.5}
.pick-list button.busy:hover{background:none}
.pick-list button.busy small{color:#9a5a4e}
.pick-list img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--ink);background:#dcdccb}
.pick-list small{display:block;color:var(--muted);font-size:11px}
.pick-foot{padding:10px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.pick-foot button{font:600 14px inherit;border:1.5px solid var(--ink);background:var(--accent);border-radius:9px;padding:7px 16px;cursor:pointer}
.note{color:#e6ecd9;padding:0 22px 18px;font-size:13px;max-width:640px;line-height:1.6}
.note a{color:var(--accent)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;background:var(--ink);color:#f2f5e6;padding:9px 16px;border-radius:20px;font-size:13px}
.toast[hidden]{display:none}
.title-rename{margin-left:6px;padding:1px 5px;border:0;border-radius:6px;background:transparent;color:#7c8a74;
  font:600 14px/1 Arial,sans-serif;cursor:pointer;vertical-align:middle}
.title-rename:hover{background:#cbf45b;color:#26372a}

