.rio-topbar {
display: flex;
align-items: center;
gap: var(--rio-s4);
padding: 0 var(--rio-s5);
height: var(--rio-topbar-h);
background: var(--rio-surface);
border-bottom: 1px solid var(--rio-border-soft);
position: sticky;
top: 0;
z-index: var(--rio-z-topbar);
}
.rio-topbar-brand {
font-weight: var(--rio-fw-bold);
font-size: var(--rio-fs-lg);
color: var(--rio-text-strong);
letter-spacing: var(--rio-tracking-heading);
}
.rio-topbar-brand:hover { text-decoration: none; }
.rio-topbar-nav {
margin-inline-start: auto;
display: flex;
align-items: center;
gap: var(--rio-s4);
flex-wrap: wrap;
}
.rio-topbar-identity {
color: var(--rio-text-muted);
font-size: var(--rio-fs-md);
font-weight: var(--rio-fw-regular);
}
.rio-topbar-link {
color: var(--rio-text-muted);
font-size: var(--rio-fs-md);
font-weight: var(--rio-fw-medium);
}
.rio-topbar-link:hover { color: var(--rio-text); }
.rio-topbar-bell {
position: relative;
display: inline-flex;
align-items: center;
}
.rio-topbar-bell__badge {
position: absolute;
top: -6px;
inset-inline-end: -8px;
min-width: 16px;
height: 16px;
padding: 0 4px;
border-radius: 999px;
background: var(--rio-accent, #b22222);
color: #fff;
font-size: 11px;
font-weight: var(--rio-fw-bold);
line-height: 16px;
text-align: center;
font-variant-numeric: tabular-nums;
}
.rio-topbar-logout { display: inline; }
.rio-topbar-account__toggle {
padding: 0.35rem 0.55rem 0.35rem 0.4rem;
gap: 0.5rem;
font-weight: var(--rio-fw-medium);
}
.rio-topbar-account__avatar {
width: 26px; height: 26px;
border-radius: 50%;
background: var(--rio-brand-tint, var(--rio-accent-soft));
color: var(--rio-brand-text, var(--rio-accent));
font-weight: var(--rio-fw-bold);
font-size: var(--rio-fs-sm);
display: inline-flex;
align-items: center; justify-content: center;
font-variant-numeric: tabular-nums;
}
.rio-topbar-account__email {
font-size: var(--rio-fs-md);
color: var(--rio-text);
max-width: 22ch;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rio-topbar-account__who {
margin: 0;
font-size: var(--rio-fs-sm);
color: var(--rio-text);
font-weight: var(--rio-fw-semibold);
word-break: break-all;
}
.rio-topbar-account__panel {
min-width: 240px;
}
.rio-topbar-account__panel .rio-topbar-logout { flex: 1; }
.rio-topbar-account__panel .rio-topbar-logout .rio-button { width: 100%; }
.rio-sidebar-toggle {
display: none;
background: none;
border: 1px solid var(--rio-border);
border-radius: var(--rio-radius-sm);
padding: var(--rio-s1) var(--rio-s2);
color: var(--rio-text);
cursor: pointer;
}