/* Profile dropdown redesign */
.pm-panel { overflow: hidden; border-radius: 1.4rem !important; border: 1px solid var(--nv-border); box-shadow: 0 40px 80px -30px rgba(40, 14, 84, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.04) inset; }
.pm-head { display: flex; align-items: center; gap: 0.85rem; padding: 1.1rem 1.15rem; color: #FFFFFF; background-image: radial-gradient(circle at 100% 0, rgba(243, 220, 167, 0.4) 0, transparent 55%), radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1.3px), linear-gradient(135deg, #7040C8, #3A1B63); background-size: auto, 18px 18px, auto; }
.pm-av { position: relative; flex-shrink: 0; }
.pm-av img { width: 3.2rem; height: 3.2rem; border-radius: 999px; object-fit: cover; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 5px rgba(243, 220, 167, 0.3); }
.pm-name { margin: 0; font-family: var(--nv-font-display); font-size: 1.02rem; font-weight: 800; letter-spacing: -0.01em; color: #FFFFFF; }
.pm-mail { margin: 0.1rem 0 0.4rem; font-size: 0.74rem; color: rgba(244, 238, 251, 0.8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pm-tier { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: #F3DCA7; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(243, 220, 167, 0.35); }
.pm-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-bottom: 1px solid var(--nv-border-soft); }
.pm-stats > div { padding: 0.75rem 0.5rem; text-align: center; border-inline-end: 1px solid var(--nv-border-soft); }
.pm-stats > div:last-child { border-inline-end: 0; }
.pm-stats dt { font-size: 0.6rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nv-muted); }
.pm-stats dd { margin: 0.15rem 0 0; font-family: var(--nv-font-display); font-size: 0.98rem; font-weight: 800; color: var(--nv-text); font-variant-numeric: tabular-nums; }
.pm-list { padding: 0.5rem; display: flex; flex-direction: column; gap: 0.1rem; }
.pm-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.65rem; border-radius: 0.85rem; color: var(--nv-text); text-decoration: none; transition: background 0.2s ease; }
.pm-item:hover, .pm-item:focus-visible { background: var(--nv-hover); outline: none; }
.pm-ic { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.1rem; height: 2.1rem; border-radius: 0.7rem; font-size: 1.05rem; color: var(--nv-accent); background: color-mix(in srgb, var(--nv-accent) 12%, transparent); border: 1px solid color-mix(in srgb, var(--nv-accent) 20%, transparent); transition: transform 0.2s ease; }
.pm-item:hover .pm-ic { transform: scale(1.06); }
.pm-tx { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
.pm-tx strong { font-size: 0.84rem; font-weight: 700; color: var(--nv-text); }
.pm-tx small { font-size: 0.7rem; color: var(--nv-muted); }
.pm-go { font-size: 0.75rem; color: var(--nv-muted); }
.pm-badge { min-width: 1.35rem; height: 1.35rem; padding: 0 0.4rem; border-radius: 999px; font-size: 0.68rem; font-weight: 800; line-height: 1.35rem; text-align: center; color: #FFFFFF; background: var(--nv-down); }
.pm-foot { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem 0.9rem; border-top: 1px solid var(--nv-border-soft); background: color-mix(in srgb, var(--nv-accent) 5%, var(--nv-card)); }
.pm-last { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.7rem; color: var(--nv-muted); }
.pm-logout { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.8rem; border-radius: 0.65rem; font-size: 0.78rem; font-weight: 700; color: var(--nv-down); text-decoration: none; border: 1px solid color-mix(in srgb, var(--nv-down) 30%, transparent); background: color-mix(in srgb, var(--nv-down) 8%, transparent); transition: background 0.2s ease; }
.pm-logout:hover { background: color-mix(in srgb, var(--nv-down) 16%, transparent); }
@media (max-width: 380px) { .pm-last { display: none; } .pm-foot { justify-content: flex-end; } }

/* hide the sidebar profile card while the sidebar is collapsed to the mini rail */
@media (min-width: 1024px) {
    .mini-sidebar:not(.expand-menu) .sidebar .sb-profile { display: none; }
}

/* ticket details banner: keep the subject on one line */
.dp-hero.tk-hero > div { min-width: 0; flex: 1 1 0; }
.dp-hero.tk-hero h1 { font-size: clamp(1.2rem, 1rem + 0.9vw, 1.7rem); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* status pills on the dark banners: solid light chip with dark text so they stay readable */
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill { background: rgba(255, 255, 255, 0.94); border: 1px solid rgba(255, 255, 255, 0.6); box-shadow: 0 6px 14px -8px rgba(20, 8, 40, 0.6); }
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-up { color: #4B2A99; }
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-amber, .dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-gold { color: #8A5A00; }
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-down { color: #B4233F; }
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-violet, .dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-accent { color: #5B2FA8; }
.dp-hero:not([data-v="graphite"]):not([data-v="sunrise"]) .nv-pill-muted { color: #4A4458; }
