/* App Shell Redesign — P3 page-header scaffold (GS-265). Only rendered under
   the new shell (the macro emits nothing when the flag is off). */

.psh-band {
    padding: 20px 0 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    --ph-accent: var(--ws-accent, var(--accent));
}

.psh-band--ai  { --ph-accent: #E0A63C; }
.psh-band--mp  { --ph-accent: #34C08F; }
.psh-band--biz { --ph-accent: #4B8DE8; }
.psh-band--admin { --ph-accent: #3FB6CB; }

.psh-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.psh-crumb {
    color: var(--text-muted);
    text-decoration: none;
}
a.psh-crumb:hover { color: var(--text-secondary); }

.psh-crumb--ws {
    color: var(--ph-accent);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.psh-crumb--current { color: var(--text-secondary); font-weight: 600; }
.psh-crumb-sep { color: var(--text-muted); opacity: 0.6; }

.psh-headrow {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.psh-heading { min-width: 0; }

.psh-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.15;
}

.psh-subtitle {
    margin: 6px 0 0;
    font-size: 0.9rem;
    color: var(--text-secondary);
    max-width: 70ch;
}

.psh-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Convenience style for actions passed into the slot (optional — pages may
   bring their own button classes). */
.psh-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface);
    color: var(--text-primary);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.psh-action:hover { border-color: var(--ph-accent); color: var(--ph-accent); }

/* GS-808: the current page inside a shared sub-nav row (Comms) reads as
   current instead of looking like just another destination. */
.psh-action--active {
    border-color: var(--ph-accent);
    color: var(--ph-accent);
    background: color-mix(in srgb, var(--ph-accent) 14%, transparent);
}

.psh-action--primary {
    background: var(--ph-accent);
    border-color: var(--ph-accent);
    color: #0E1117;
}
.psh-action--primary:hover { color: #0E1117; opacity: 0.9; }

@media (max-width: 640px) {
    .psh-title { font-size: 1.35rem; }
    .psh-headrow { align-items: flex-start; }
}
