body.auth-pending .app-shell,body.auth-pending #welcome{visibility:hidden}
.auth-dialog{width:min(440px,calc(100vw - 28px));border:0;border-radius:22px;padding:0;color:#172e3d;box-shadow:0 28px 80px #10273733}
.auth-dialog::backdrop{background:#102737d9}
.auth-card{padding:32px;display:grid;gap:18px;background:#fff}
.auth-brand{display:flex;align-items:center;gap:12px;font-size:1.6rem;font-weight:750}
.auth-card h1{font-size:1.45rem;margin:0}.auth-card p{margin:0;line-height:1.5}
.auth-card form{display:grid;gap:16px}.auth-card .btn{width:100%}
.auth-status{min-height:48px;font-size:.92rem;color:#4a626f}
.account-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-label{font-size:.82rem;max-width:230px;overflow-wrap:anywhere}
.account-controls[hidden],.role-switch[hidden]{display:none}
.account-admin{width:min(880px,calc(100vw - 24px));max-height:90vh;border:0;border-radius:18px;padding:24px;overflow:auto;color:#172e3d}
.account-admin form{display:grid;gap:14px}.account-admin fieldset{border:1px solid #d8e5df;border-radius:10px;padding:12px}.account-admin .account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d8e5df}
.presence-trigger{gap:7px}.presence-trigger span{color:#39765c}.presence-trigger[hidden]{display:none}
.presence-dialog{width:min(740px,calc(100vw - 28px));max-height:min(760px,90dvh);border:1px solid #d9e4de;border-radius:20px;padding:0;color:#172e3d;box-shadow:0 24px 90px #10273730;background:#fff}
.presence-dialog[open]{display:flex;flex-direction:column}.presence-dialog::backdrop{background:#10273777;backdrop-filter:blur(3px)}
.presence-header{padding:22px 24px 16px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-shrink:0}.presence-header h2{font-size:1.4rem;margin:5px 0 0}.presence-eyebrow{font-size:.67rem;letter-spacing:.12em;color:#567564;font-weight:700;margin:0}
.presence-toolbar{padding:0 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.presence-toolbar p{font-size:.82rem;color:#597065;margin:0;line-height:1.4}.presence-toolbar .presence-warning{color:#866020}
.presence-list{min-height:0;overflow:auto;padding:0 24px}.presence-person{display:flex;align-items:center;gap:12px;border-top:1px solid #e7eee9;padding:16px 0}.presence-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#edf4ee;color:#39634d;font-size:.9rem;font-weight:700;flex-shrink:0}
.presence-person-info{flex:1;min-width:0}.presence-person-info strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.presence-role{font-size:.75rem;color:#738174}.presence-person-info p{font-size:.78rem;color:#5c6d76;margin:5px 0 0;line-height:1.4;overflow-wrap:anywhere}
.presence-state{display:flex;align-items:center;gap:6px;font-size:.73rem;color:#697870;flex-shrink:0;max-width:145px}.presence-state i{width:7px;height:7px;border-radius:50%;background:#acb9b1;flex-shrink:0}.presence-state.is-online{color:#256144}.presence-state.is-online i{background:#319663;box-shadow:0 0 0 3px #e9f5ee}
.presence-empty{padding:30px 12px;text-align:center;color:#687b70;font-size:.9rem}.presence-footer{padding:15px 24px 20px;border-top:1px solid #e7eee9;flex-shrink:0;display:flex;align-items:center;gap:16px}.presence-footer p{margin:0;flex:1;font-size:.75rem;line-height:1.5;color:#697870}.presence-footer [hidden]{display:none}
@media(max-width:540px){.presence-header{padding:18px 16px 14px}.presence-toolbar{padding:0 16px 12px}.presence-list{padding:0 16px}.presence-person{display:grid;grid-template-columns:36px 1fr;gap:7px 10px}.presence-state{grid-column:2;max-width:none}.presence-footer{padding:14px 16px;flex-wrap:wrap}.presence-footer p{min-width:180px}}
