/* ─── Inbox ──────────────────────────────────────────────────────────────── */

.inbox {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.inbox-header {
    margin-bottom: 1rem;
}

.inbox-title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--foreground);
}

/* ── Tabs ── */

.inbox-tabs {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 1.5rem;
}

.inbox-tab {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.875rem;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--foreground-subtle);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s;
}

.inbox-tab:hover { color: var(--foreground); }

.inbox-tab.active {
    color: var(--foreground);
    font-weight: 500;
    border-bottom-color: var(--accent);
}

/* ── Groups (All tab) ── */

.inbox-group {
    margin-bottom: 1.5rem;
}

.inbox-group-summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    cursor: pointer;
    padding: 0.375rem 0;
    margin-bottom: 0.5rem;
    user-select: none;
}

.inbox-group-summary::-webkit-details-marker { display: none; }

.inbox-group-summary::before {
    content: "▸";
    font-size: 0.6rem;
    color: var(--foreground-subtle);
    transition: transform 0.15s;
    display: inline-block;
    width: 0.75rem;
}

details[open] .inbox-group-summary::before {
    transform: rotate(90deg);
}

.inbox-group-label {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--foreground-subtle);
}

.inbox-group-items {
    border: 1px solid var(--border);
    border-radius: 0.625rem;
    overflow: hidden;
}

/* ── Inbox list (flat tabs) ── */

.inbox-list {
    border: 1px solid var(--border);
    border-radius: 0.625rem;
    overflow: hidden;
}

/* ── Inbox item row ── */

.inbox-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border);
    background-color: white;
    transition: background-color 0.1s;
}

.inbox-item:last-child { border-bottom: none; }
.inbox-item:hover { background-color: var(--surface); }

/* Unread dot */
.inbox-unread-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background-color: transparent;
}

.inbox-item--unread .inbox-unread-dot {
    background-color: var(--accent);
}

.inbox-item--unread .inbox-item-title {
    font-weight: 600;
}

/* Type label pill */
.inbox-type-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    border: 1px solid;
    flex-shrink: 0;
    white-space: nowrap;
}

.inbox-type-label--discussion {
    color: hsl(214, 80%, 35%);
    background-color: hsl(214, 100%, 95%);
    border-color: hsl(214, 60%, 80%);
}

.inbox-type-label--task {
    color: var(--foreground-subtle);
    background-color: var(--surface);
    border-color: var(--border);
}

/* Item body */
.inbox-item-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.inbox-item-title {
    font-family: var(--font-serif);
    font-size: 0.9375rem;
    color: var(--foreground);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-item-title:hover { color: var(--accent); }

.inbox-item-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.inbox-item-time {
    flex-shrink: 0;
    white-space: nowrap;
}

/* ── Empty states ── */

.inbox-empty {
    padding: 3rem;
    text-align: center;
}

/* ── Follow button ── */

.follow-btn {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    background: none;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    padding: 0.2rem 0.6rem;
    color: var(--foreground-subtle);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background-color 0.15s;
    text-decoration: none;
    display: inline-block;
}

.follow-btn:hover {
    color: var(--foreground);
    border-color: var(--foreground-subtle);
}

.follow-btn--active {
    color: var(--accent);
    border-color: var(--accent);
}

.follow-btn--active:hover {
    color: hsl(0, 70%, 45%);
    border-color: hsl(0, 70%, 45%);
}

.follow-btn--locked {
    color: var(--foreground-subtle);
    border-color: transparent;
    cursor: default;
    opacity: 0.7;
}
