/* Personal status: the account-menu entry, the badge on avatars and the dialog. */
.user-avatar{position:relative}
#user-status-btn{display:flex;align-items:center;gap:8px}
#user-status-btn svg{flex:none;color:var(--text3)}
.ust-menu-emoji{flex:none;font-size:15px;line-height:1}
.ust-menu-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}

#status-modal .modal{max-width:460px}
.ust-field{display:flex;gap:8px;align-items:center}
.ust-field .form-input{flex:1;min-width:0}
.ust-emoji-btn{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border2);border-radius:var(--r-sm);background:var(--bg2);color:var(--text3);cursor:pointer;font-size:18px}
.ust-emoji-btn:hover,.ust-emoji-btn[aria-expanded="true"]{border-color:var(--pf-s2,#8ea6ca);background:var(--bg3)}
.ust-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:8px 0 0;padding:6px;border:1px solid var(--border2);border-radius:var(--r-md);background:var(--bg2)}
.ust-pick{border:0;background:none;border-radius:var(--r-sm);padding:5px 0;font-size:18px;line-height:1.2;cursor:pointer}
.ust-pick:hover{background:var(--bg3)}
.ust-pick.on{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.ust-pick-none{grid-column:1/-1;font-size:var(--ui-label);color:var(--text3);padding:6px}
.ust-sub{margin:14px 0 6px;font-size:var(--ui-label);font-weight:600;color:var(--text2)}
.ust-presets{display:flex;flex-direction:column;border:1px solid var(--border2);border-radius:var(--r-md);overflow:hidden;background:var(--bg2)}
.ust-preset{display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--border2);background:none;padding:8px 12px;text-align:left;font:inherit;font-size:var(--ui-body);color:var(--text);cursor:pointer}
.ust-preset:last-child{border-bottom:0}
.ust-preset:hover{background:var(--bg3)}
.ust-preset-e{flex:none;width:20px;text-align:center;font-size:16px}
.ust-preset-t{flex:1;min-width:0}
.ust-preset-c{flex:none;font-size:var(--ui-caption);color:var(--text3)}
.ust-row{display:flex;align-items:center;gap:10px;margin:14px 0 0}
.ust-row .form-input{flex:1;max-width:200px}
.ust-check{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:var(--ui-body);cursor:pointer}
.ust-hint{margin:12px 0 0;font-size:var(--ui-caption);color:var(--text3);line-height:1.5}
.ust-err{margin:10px 0 0;font-size:var(--ui-label);color:var(--red);font-weight:600}
#status-actions{display:flex;align-items:center;gap:8px}

/* Header: the status as a pill beside the avatar, the bell crossed out while notifications are paused */
.user-st-pill{display:inline-flex;align-items:center;gap:6px;max-width:220px;margin-left:8px;padding:3px 10px;border:1px solid var(--border2);border-radius:999px;background:var(--bg2);color:var(--text);font:inherit;font-size:var(--ui-label);line-height:1.3;cursor:pointer}
.user-st-pill:hover{border-color:var(--pf-s2,#8ea6ca);background:var(--bg3)}
.ust-pill-e{flex:none;font-size:14px;line-height:1}
.ust-pill-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ust-pill-p{flex:none;display:inline-flex;color:var(--text3)}
@media (max-width:1100px){.ust-pill-t{display:none}.user-st-pill{padding:3px 7px;margin-left:6px}.user-st-pill:has(.ust-pill-p) .ust-pill-t{display:none}}
#notif-bell-btn.paused{color:var(--text3)}

/* Dialog tabs and the rest */
.ust-tabs{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--border2)}
.ust-tabs button{border:0;background:none;padding:6px 12px 8px;font:inherit;font-size:var(--ui-body);color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ust-tabs button.on{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}
.ust-preset-wrap{position:relative;display:flex;border-bottom:1px solid var(--border2)}
.ust-preset-wrap:last-child{border-bottom:0}
.ust-preset-wrap .ust-preset{flex:1;border-bottom:0}
.ust-preset-x{flex:none;width:30px;border:0;background:none;color:var(--text3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ust-preset-x:hover{color:var(--red);background:var(--bg3)}
.ust-preset-p{flex:none;display:inline-flex;color:var(--text3);margin-left:6px}
.ust-row .btn-end{margin-left:auto}
.ust-check.off{opacity:.55;cursor:default}
.ust-form{margin:14px 0 0;padding:12px;border:1px solid var(--border2);border-radius:var(--r-md);background:var(--bg2)}
.ust-days{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0 0}
.ust-day{border:1px solid var(--border2);background:var(--bg);border-radius:var(--r-sm);padding:4px 9px;font:inherit;font-size:var(--ui-label);cursor:pointer;color:var(--text2)}
.ust-day.on{background:color-mix(in srgb,var(--accent) 16%,var(--bg));border-color:var(--accent);color:var(--text);font-weight:600}
.ust-sch-list{display:flex;flex-direction:column;border:1px solid var(--border2);border-radius:var(--r-md);overflow:hidden;background:var(--bg2)}
.ust-sch{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--border2)}
.ust-sch:last-child{border-bottom:0}
.ust-sch.off .ust-sch-main{opacity:.5}
.ust-sch-main{flex:1;min-width:0;display:flex;flex-direction:column}
.ust-sch-t{display:flex;align-items:center;font-size:var(--ui-body);overflow-wrap:anywhere}
.ust-sch-w{font-size:var(--ui-caption);color:var(--text3);font-variant-numeric:tabular-nums}
.ust-sch-on{display:inline-flex;align-items:center;cursor:pointer}
.ust-row .aset-lab{flex:none}
.ust-row input[type="time"],.ust-row input[type="date"]{max-width:130px}
.ust-auto{margin:0 0 4px;align-items:flex-start}
.ust-auto-eg{color:var(--text3)}
.ust-tabs+.ust-auto{margin-top:2px}

/* The status pill slides out from beside the avatar and slides back; a new status swaps in with a small rise. */
.user-st-pill{overflow:hidden;white-space:nowrap}
.user-st-pill.ust-in{animation:ust-slide-in var(--mo-slow) var(--mo-out) both}
.user-st-pill.ust-out{animation:ust-slide-out var(--mo-base) var(--mo-in) both;pointer-events:none}
.user-st-pill.ust-swap > *{animation:ust-rise var(--mo-base) var(--mo-out) both}
@keyframes ust-slide-in{from{max-width:0;opacity:0;transform:translateX(-14px);padding-left:0;padding-right:0;margin-left:0;border-width:0}to{max-width:220px;opacity:1;transform:none}}
@keyframes ust-slide-out{from{max-width:220px;opacity:1;transform:none}to{max-width:0;opacity:0;transform:translateX(-14px);padding-left:0;padding-right:0;margin-left:0;border-width:0}}
@keyframes ust-rise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.user-st-pill.ust-in,.user-st-pill.ust-out,.user-st-pill.ust-swap > *{animation:none}}

/* The bell appears with a little swing and is crossed out while a status pauses notifications; it comes back with a soft pop. */
.ust-bell-anim{transform-origin:50% 15%;animation:ust-bell-swing var(--mo-long) var(--mo-out)}
.ust-bell-anim .ust-slash{stroke-dasharray:29;stroke-dashoffset:29;animation:ust-draw var(--mo-base) calc(var(--mo-base) + 20ms) var(--mo-out) forwards}
.ust-bell-back{animation:ust-bell-pop var(--mo-base) var(--mo-out)}
@keyframes ust-bell-swing{0%{opacity:0;transform:scale(.5) rotate(0)}30%{opacity:1;transform:scale(1.15) rotate(-16deg)}50%{transform:rotate(12deg)}70%{transform:rotate(-7deg)}100%{transform:rotate(0)}}
@keyframes ust-bell-pop{from{opacity:.4;transform:scale(.7)}to{opacity:1;transform:none}}
@keyframes ust-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.ust-bell-anim,.ust-bell-back{animation:none}.ust-bell-anim .ust-slash{animation:none;stroke-dashoffset:0}}

/* Your suggestions: up to five, edited in place */
.ust-sug-h{display:flex;align-items:center;gap:8px}
.ust-sug-n{font-weight:400;color:var(--text3);font-size:var(--ui-caption)}
.ust-sug-edit{margin-left:auto;border:0;background:none;color:var(--accent-ink);cursor:pointer;font:inherit;font-size:var(--ui-label)}
.ust-sug-edit:hover{text-decoration:underline}
.ust-sug{border:1px solid var(--border2);border-radius:var(--r-md);background:var(--bg2);padding:8px 10px}
.ust-sug-row{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:6px 8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border2)}
.ust-sug-row:last-of-type{border-bottom:0}
.ust-sug-pick{grid-column:1 / -1}
.ust-sug-c{grid-column:2}
.ust-sug-p{grid-column:1 / -1;display:inline-flex;align-items:center;gap:6px;font-size:var(--ui-label);color:var(--text2)}
.ust-sug-p.off{opacity:.55}
.ust-sug-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.ust-sug-msg{margin-left:auto;font-size:var(--ui-caption);color:var(--text3)}
.ust-sug-msg.bad{color:var(--red)}
@media (max-width:520px){.ust-sug-c{grid-column:1 / -1}}
.ust-sug-eb{width:36px;height:36px}
