
/* --- User management table + modal --- */
.account-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(360px,1.3fr);gap:16px;align-items:start;max-width:980px}
.account-summary{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
.account-avatar{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-size:25px}
.account-summary h2{margin:0;font-size:19px}.account-role{display:inline-flex;margin-top:3px;color:var(--text-secondary);font-size:12px;font-weight:700}
.account-summary dl{grid-column:1/-1;margin:8px 0 0;border-top:1px solid var(--border)}
.account-summary dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.account-summary dt{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.account-summary dd{margin:0;overflow-wrap:anywhere;font-size:13px}
.account-password-card>.muted{margin:.15rem 0 1rem;font-size:12.5px;line-height:1.5}
.account-password-form{display:grid;gap:12px}.account-password-form>label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:700}
.account-password-input{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px}.account-password-input input{min-width:0;height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font:inherit}.account-password-input .icon-btn{width:40px;height:40px}
.account-password-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.account-password-actions span{font-size:12.5px}.account-password-actions span.good{color:var(--success-text);font-weight:700}.account-password-actions span.bad{color:var(--danger-text);font-weight:700}
.active-sessions-card{margin-bottom:16px}.active-sessions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.active-sessions-head p{margin:.2rem 0 0;font-size:12px}.active-sessions-head .btn-ghost{flex:0 0 auto}
.active-session-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.active-session-summary span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px}.active-session-summary span b{color:var(--text-primary);font-size:13px}.active-session-summary small{margin-left:auto;color:var(--text-muted);font-size:11px}.active-session-summary small.bad{color:var(--danger-text);font-weight:700}
.active-session-list{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}
.active-session-row{display:grid;grid-template-columns:10px minmax(180px,1.3fr) minmax(150px,.85fr) minmax(140px,.75fr) auto;gap:12px;align-items:center;padding:11px 12px;border-top:1px solid var(--border)}.active-session-row:first-child{border-top:0}
.active-session-presence{width:9px;height:9px;border-radius:50%;background:var(--text-muted)}.active-session-row.online .active-session-presence{background:#1D9E75;box-shadow:0 0 0 4px rgba(29,158,117,.12)}
.active-session-person,.active-session-time,.active-session-device{display:flex;min-width:0;flex-direction:column;gap:2px}.active-session-person strong,.active-session-time strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.active-session-person span,.active-session-time span,.active-session-device span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:11.5px}.active-session-person small,.active-session-time small,.active-session-device small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px}
.active-session-device{position:relative;padding-left:23px}.active-session-device>.ti{position:absolute;top:2px;left:0;color:var(--accent-text);font-size:17px}.active-session-end{min-height:34px;padding:6px 9px;white-space:nowrap}.active-session-current{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:800;white-space:nowrap}
.active-session-empty{display:flex;min-height:90px;align-items:center;justify-content:center;gap:8px;color:var(--text-muted)}.active-session-empty .ti{font-size:22px}.active-session-empty p{margin:0}
.um-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:.2rem 0 .8rem}
.um-bar input[type=search]{flex:1;min-width:200px;padding:.5rem .7rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:13.5px}
.um-count{font-size:12px;color:var(--text-muted);white-space:nowrap}
.um-bulk,.um-bulk-all{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);white-space:nowrap}
.um-mini{padding:.35rem .6rem;font-size:12px}
.um-table td{text-align:left;padding:6px 8px;font-size:12.5px;border:1px solid var(--border)}
.um-table th{text-align:left}
.um-table tr.um-off td{opacity:.55}
.um-email{color:var(--text-secondary);max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.um-login{white-space:nowrap;font-variant-numeric:tabular-nums}
.um-chip{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;text-transform:uppercase}
.um-chip.on{background:rgba(29,158,117,.15);color:#1D9E75}
.um-chip.off{background:rgba(216,90,48,.15);color:#D85A30}
.um-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#1D9E75;vertical-align:middle;animation:paFlick 1.6s ease-in-out infinite}
.um-modal{min-width:300px;max-width:560px;text-align:left}
.um-modal-t{font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px;margin:0}
.um-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:.4rem 0 .8rem}
.um-grid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}
.um-grid input,.um-grid select{padding:.5rem .6rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13.5px;font-weight:400}
.um-actions{display:flex;gap:8px;flex-wrap:wrap}
.um-actions .btn-ghost,.um-actions .btn-accent{padding:.5rem .8rem;font-size:13px;text-decoration:none}
.um-logs{max-height:240px;overflow-y:auto;margin-top:.6rem;border:1px solid var(--border);border-radius:9px;padding:.5rem .6rem;background:var(--surface-1)}
.um-bar select{padding:.5rem .55rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.um-sortable{cursor:pointer;user-select:none;white-space:nowrap}
.um-sortable:hover{color:var(--accent)}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.active-session-row{grid-template-columns:10px minmax(0,1fr) auto}.active-session-time,.active-session-device{grid-column:2}.active-session-end,.active-session-current{grid-column:3;grid-row:1/4}.active-session-summary small{width:100%;margin-left:0}}
@media(max-width:560px){.account-summary dl>div{grid-template-columns:1fr;gap:2px}.account-password-actions .btn-accent{width:100%;justify-content:center}.active-sessions-head{align-items:stretch;flex-direction:column}.active-sessions-head .btn-ghost{align-self:flex-start}.active-session-row{grid-template-columns:10px minmax(0,1fr)}.active-session-time,.active-session-device{grid-column:2}.active-session-end,.active-session-current{grid-column:2;grid-row:auto;justify-self:start}.active-session-summary{align-items:flex-start;flex-direction:column}}

.account-avatar img,.account-picture-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.account-picture-row{display:flex;align-items:center;gap:16px;margin:10px 0}
.account-picture-preview{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:22px;font-weight:800;overflow:hidden;border:2px solid var(--accent-border)}
.account-picture-controls{display:flex;flex-wrap:wrap;gap:8px}
.account-picture-upload{cursor:pointer}
.account-avatar-grid{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 12px}
.account-avatar-choice{width:52px;height:52px;padding:0;border-radius:50%;border:2px solid var(--border);background:transparent;cursor:pointer;overflow:hidden}
.account-avatar-choice img{width:100%;height:100%;display:block}
.account-avatar-choice:hover{border-color:var(--accent)}
.account-avatar-choice.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.account-picture-card footer{display:flex;align-items:center;gap:12px}
.account-pw-overlay{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(15,23,42,.48)}
.account-pw-overlay[hidden]{display:none}
.account-pw-dialog{width:100%;max-width:540px;max-height:88vh;overflow:auto;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--bg);box-shadow:0 24px 60px rgba(15,23,42,.3)}
.account-password-open{margin-top:14px}
.account-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;align-items:start}
.account-picture-preview.pannable{cursor:grab;touch-action:none}
.account-picture-preview.pannable:active{cursor:grabbing}
.account-password-open{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;width:auto;padding:9px 16px}
.account-summary .account-password-open{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;min-height:0;margin-top:12px;padding:9px 16px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:600}
.account-summary .account-password-open i{font-size:16px}
.account-today-updates-card{grid-column:1/-1;overflow:hidden;padding:0}.account-today-updates-intro{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,color-mix(in srgb,var(--accent-bg) 76%,#f8f7f1),var(--surface-1))}.account-today-updates-intro>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--accent);color:#fff;font-size:24px}.account-today-updates-intro .card-title{margin:0}.account-today-updates-intro p{margin:5px 0 0;line-height:1.5}
.account-today-updates-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.account-today-updates-controls label{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;min-height:66px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);cursor:pointer}.account-today-updates-controls input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.account-today-updates-switch{position:relative;width:42px;height:24px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);transition:background .16s ease,border-color .16s ease}.account-today-updates-switch:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface-1);box-shadow:0 1px 3px rgba(0,0,0,.22);content:"";transition:transform .16s ease}.account-today-updates-controls input:checked+.account-today-updates-switch{border-color:var(--accent);background:var(--accent)}.account-today-updates-controls input:checked+.account-today-updates-switch:after{transform:translateX(18px)}.account-today-updates-controls input:focus-visible+.account-today-updates-switch{outline:3px solid var(--accent-bg);outline-offset:3px}.account-today-updates-controls input:disabled+.account-today-updates-switch{opacity:.55}.account-today-updates-controls label:has(input:disabled){cursor:wait;opacity:.72}.account-today-updates-controls b,.account-today-updates-controls small{display:block}.account-today-updates-controls small{margin-top:3px;color:var(--text-muted);line-height:1.4}.account-today-updates-card>footer{padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:var(--type-help)}
@media(max-width:620px){.account-today-updates-controls{grid-template-columns:1fr}.account-today-updates-intro{padding:16px}.account-today-updates-controls{padding:14px 16px}}
