/* Page-specific styles */
.login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: var(--bg);
  background-image: linear-gradient(180deg, var(--brand-strong) 0, var(--brand-strong) 220px, transparent 220px); }
.login-wrap { align-items: start; }
.login-card { width: min(400px, 100%); margin: 1.5rem auto; }
.login-brand { text-align: center; color: #fff; margin-bottom: 1.25rem; }
.login-brand img { display: block; margin: 0 auto; border-radius: 11px; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.login-brand h1 { color: #fff; font-size: 1.6rem; margin: .4rem 0 .1rem; }
.login-brand p { margin: 0; font-size: .9rem; opacity: .9; }
.login-card .input { height: 42px; }
.btn-block { width: 100%; height: 42px; justify-content: center; }
.demo-list { list-style: none; margin: 0; padding: 0; }
.demo-list li { display: flex; align-items: center; gap: .75rem; padding: .5rem 0; border-top: 1px solid var(--border-soft); }
.demo-list li:first-child { border-top: 0; }
.demo-who { flex: 1; min-width: 0; }
.login-foot { text-align: center; margin: 1rem 0 0; }

.ic.inline { display: inline-block; vertical-align: -2px; }
.page-container { min-height: 100%; }

/* Inbox: back button and side close only on small screens */
.thread-head [data-action='back'] { display: none !important; }
#thread-side > [data-action='side'] { display: none !important; }
@media (max-width: 900px) { .thread-head [data-action='back'] { display: inline-grid !important; } }
@media (min-width: 1201px) { .thread-head [data-action='side'] { display: none; } }
@media (max-width: 1200px) { #thread-side > [data-action='side'] { display: inline-flex !important; } }
.thread-head .input { min-height: 30px; padding: .2rem .45rem; font-size: .85rem; }

.kpi:hover { border-color: var(--border); }
a.card.kpi:hover { box-shadow: var(--shadow-lg); }
details summary { cursor: pointer; }

#page-root { height: 100%; }
.tick { width: 16px; height: 11px; display: inline-block; vertical-align: -1px; margin-right: 3px; color: var(--muted); flex-shrink: 0; }
.tick.read { color: #53bdeb; }
.msg { white-space: normal; }
.msg .body { white-space: pre-wrap; }
.masked { white-space: nowrap; }
.thread-head > div[style*='min-width:0'] { min-width: 180px !important; }
@media (max-width: 760px) { #toast-root { top: 4.5rem; bottom: auto; left: 1rem; right: 1rem; } .toast { max-width: none; } }

/* ---------- Lists / tags membership picker ---------- */
.member-list { max-height: 50vh; overflow-y: auto; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); }
.member-row { display: flex; align-items: center; gap: .6rem; padding: .5rem .75rem; border-top: 1px solid var(--border-soft); cursor: pointer; min-height: 44px; }
.member-row:first-child { border-top: 0; }
.member-row:hover { background: var(--hover); }
.member-row[hidden] { display: none; }
.member-row input { width: 18px; height: 18px; accent-color: var(--brand); flex-shrink: 0; }
.member-row .xsmall { margin-left: auto; }
