/* ==========================================================================
   Sidebar Redesign — Calm + Dark + Card variant
   Sourced from Equuinity Redesign handoff bundle (claude.ai/design).
   All tokens & rules scoped under [data-nav-layout="sidebar"] so the legacy
   top-nav is unaffected.
   ========================================================================== */

[data-nav-layout="sidebar"] {
    /* Strikemaster Blue */
    --sm-50:  #f0f9ff;
    --sm-100: #e0f2fe;
    --sm-200: #bae6fd;
    --sm-300: #7dd3fc;
    --sm-400: #38bdf8;
    --sm-500: #0ea5e9;
    --sm-600: #0284c7;
    --sm-700: #0369a1;
    --sm-800: #075985;
    --sm-900: #0c4a6e;
    --sm-950: #082f49;

    /* Equine Purple */
    --eq-500: #d946ef;
    --eq-600: #c026d3;
    --eq-700: #a21caf;

    /* Indigo bridge */
    --ind-500: #6366f1;
    --ind-600: #4f46e5;
    --ind-700: #4338ca;
    --ind-900: #312e81;

    /* Neutrals */
    --gray-50:  #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-700: #374151;
    --gray-900: #111827;

    /* Semantic */
    --success-500: #22c55e;
    --warning-500: #f59e0b;
    --danger-500:  #ef4444;

    /* Foregrounds / borders */
    --fg-1: var(--gray-900);
    --fg-2: var(--gray-700);
    --fg-3: var(--gray-500);
    --fg-4: var(--gray-400);
    --border-1: var(--gray-200);

    /* Signature gradient */
    --grad-primary: linear-gradient(to right, #2563eb, #9333ea);

    /* Type families */
    --ff-sans: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --ff-serif: 'Baskervville', 'Baskerville', Georgia, serif;
    --ff-mono: ui-monospace, 'SF Mono', Menlo, monospace;

    /* Motion */
    --ease-std: cubic-bezier(0.4, 0, 0.2, 1);

    background:
        radial-gradient(1200px 600px at 90% -10%, rgba(217,70,239,.06), transparent 60%),
        radial-gradient(800px 500px at -10% 110%, rgba(14,165,233,.06), transparent 60%),
        var(--gray-50);
    min-height: 100vh;
    font-family: var(--ff-sans);
    color: var(--fg-1);
}

[data-nav-layout="sidebar"] .nav-shell {
    display: flex;
    align-items: stretch;
    min-height: 100vh;
    position: relative;
    z-index: 1;
}

[data-nav-layout="sidebar"] .nav-shell main.nav-main {
    flex: 1;
    min-width: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ── Plain text policy footer (replaces the giant marketing footer) ── */
[data-nav-layout="sidebar"] .nav-policy-footer {
    margin-top: auto;
    padding: 18px 14px 24px;
    background: transparent;
    color: var(--fg-3);
    font-family: var(--ff-sans);
    font-size: 12px;
    border-top: 1px solid var(--border-1);
}
@media (min-width: 640px) {
    [data-nav-layout="sidebar"] .nav-policy-footer { padding: 18px 20px 24px; }
}
@media (min-width: 1024px) {
    [data-nav-layout="sidebar"] .nav-policy-footer { padding: 18px 28px 24px; }
}
[data-nav-layout="sidebar"] .nav-policy-footer-row {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
}
[data-nav-layout="sidebar"] .nav-policy-footer a {
    color: var(--fg-3);
    text-decoration: none;
    transition: color 120ms;
}
[data-nav-layout="sidebar"] .nav-policy-footer a:hover {
    color: var(--sm-700);
    text-decoration: underline;
}
[data-nav-layout="sidebar"] .nav-page {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
[data-nav-layout="sidebar"] .nav-page > .legacy-page-main {
    flex: 1;
}

/* ── Sidebar surface (dark variant per the design's documented default) ── */
[data-nav-layout="sidebar"] aside.nav-aside {
    width: 248px;
    flex-shrink: 0;
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    padding: 20px 18px;
    box-sizing: border-box;
    background: var(--sm-950);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4), 4px 0 24px -16px rgba(0, 0, 0, 0.4);
    color: #fff;
    transition: width 280ms var(--ease-std);
}

@media (max-width: 768px) {
    [data-nav-layout="sidebar"] aside.nav-aside {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 60;
        width: 86vw;
        max-width: 320px;
        transform: translateX(-100%);
    }
    [data-nav-layout="sidebar"] aside.nav-aside[data-mobile-open="true"] {
        transform: translateX(0);
    }
    [data-nav-layout="sidebar"] .nav-mobile-scrim {
        position: fixed;
        inset: 0;
        background: rgba(8, 14, 24, 0.55);
        backdrop-filter: blur(2px);
        z-index: 55;
    }
    [data-nav-layout="sidebar"] .nav-mobile-toggle {
        display: inline-flex !important;
    }
}
@media (min-width: 769px) {
    [data-nav-layout="sidebar"] .nav-mobile-toggle,
    [data-nav-layout="sidebar"] .nav-mobile-scrim {
        display: none !important;
    }
}

/* ── Brand ── */
[data-nav-layout="sidebar"] .nav-brand {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    color: #fff;
    text-decoration: none;
    padding: 2px 0 6px;
}
[data-nav-layout="sidebar"] .nav-brand svg {
    max-width: 100%;
    height: auto;
}
[data-nav-layout="sidebar"] .nav-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--grad-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px -8px rgba(99, 102, 241, 0.6);
    flex-shrink: 0;
    color: #fff;
}
[data-nav-layout="sidebar"] .nav-brand-name {
    font-family: var(--ff-serif);
    font-weight: 400;
    font-size: 22px;
    letter-spacing: -0.01em;
    line-height: 1;
    color: #fff;
}
[data-nav-layout="sidebar"] .nav-brand-tag {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 2px;
}

/* ── Search ── */
[data-nav-layout="sidebar"] .nav-search {
    position: relative;
}
[data-nav-layout="sidebar"] .nav-search > .material-symbols-outlined {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: rgba(255, 255, 255, 0.55);
    pointer-events: none;
}
[data-nav-layout="sidebar"] .nav-search input {
    width: 100%;
    padding: 9px 56px 9px 34px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    font-size: 12.5px;
    font-family: var(--ff-sans);
    outline: none;
    box-sizing: border-box;
    color: #fff;
    transition: all 150ms;
}
[data-nav-layout="sidebar"] .nav-search input::placeholder {
    color: rgba(255, 255, 255, 0.45);
}
[data-nav-layout="sidebar"] .nav-search input:focus {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.3);
}
[data-nav-layout="sidebar"] .nav-search-kbd {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
    font-family: var(--ff-mono);
    letter-spacing: 0.04em;
}

/* ── Section label ── */
[data-nav-layout="sidebar"] .nav-section-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    margin: 18px 6px 8px;
}

/* ── Nav list ── */
[data-nav-layout="sidebar"] nav.nav-list {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    margin-right: -6px;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] nav.nav-list::-webkit-scrollbar {
    width: 6px;
}
[data-nav-layout="sidebar"] nav.nav-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
}
[data-nav-layout="sidebar"] nav.nav-list::-webkit-scrollbar-track {
    background: transparent;
}

/* ── Top-level nav button ── */
[data-nav-layout="sidebar"] .nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    font-family: var(--ff-sans);
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.005em;
    text-align: left;
    color: rgba(255, 255, 255, 0.78);
    background: transparent;
    border: 1px solid transparent;
    box-shadow: none;
    transition: background 140ms var(--ease-std), color 140ms var(--ease-std), box-shadow 180ms var(--ease-std);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .nav-item:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}
[data-nav-layout="sidebar"] .nav-item[aria-current="true"],
[data-nav-layout="sidebar"] .nav-item.is-active {
    /* Card active state, dark — from prototype */
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.18);
}
[data-nav-layout="sidebar"] .nav-item-icon {
    font-size: 18px;
    width: 20px;
    text-align: center;
    opacity: 0.9;
    flex-shrink: 0;
    line-height: 1;
}
/* Font Awesome icons (e.g. .fa-horse) sit a touch heavier than Material Symbols
   at the same font-size. Knock back to 16px so the row height stays consistent. */
[data-nav-layout="sidebar"] i.nav-item-icon {
    font-size: 16px;
}
[data-nav-layout="sidebar"] .nav-item-label {
    flex: 1;
}
[data-nav-layout="sidebar"] .nav-item-chev {
    font-size: 14px;
    opacity: 0.55;
    transition: transform 200ms var(--ease-std);
}
[data-nav-layout="sidebar"] .nav-item[aria-expanded="true"] .nav-item-chev {
    transform: rotate(90deg);
}

/* ── Sub-items ── */
[data-nav-layout="sidebar"] .nav-sub {
    overflow: hidden;
    max-height: 0;
    transition: max-height 280ms var(--ease-std);
}
[data-nav-layout="sidebar"] .nav-sub[data-open="true"] {
    max-height: 400px;
}
[data-nav-layout="sidebar"] .nav-sub-inner {
    padding: 4px 0 6px 30px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
[data-nav-layout="sidebar"] .nav-sub-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 0;
    padding: 6px 10px;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.62);
    font-weight: 500;
    font-size: 12.5px;
    text-align: left;
    transition: color 120ms;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .nav-sub-item:hover {
    color: #fff;
}
[data-nav-layout="sidebar"] .nav-sub-item[aria-current="true"] {
    color: #fff;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .nav-sub-bullet {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-sub-item:hover .nav-sub-bullet,
[data-nav-layout="sidebar"] .nav-sub-item[aria-current="true"] .nav-sub-bullet {
    background: var(--sm-300);
}

/* ── Sidebar footer (game time / season block) ── */
[data-nav-layout="sidebar"] .nav-footer {
    padding-top: 12px;
    margin-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
[data-nav-layout="sidebar"] .nav-season {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
}
[data-nav-layout="sidebar"] .nav-season-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-season-meta {
    min-width: 0;
    flex: 1;
}
[data-nav-layout="sidebar"] .nav-season-primary {
    font-family: var(--ff-serif);
    font-size: 14px;
    color: #fff;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .nav-season-secondary {
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.55);
    font-family: var(--ff-mono);
    margin-top: 3px;
    letter-spacing: 0.02em;
}

/* ── Top bar (sticky in main column) ── */
[data-nav-layout="sidebar"] .nav-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    backdrop-filter: blur(16px) saturate(160%);
    border-bottom: 1px solid transparent;
    transition: border-color 200ms, box-shadow 200ms;
}
[data-nav-layout="sidebar"] .nav-topbar[data-scrolled="true"] {
    border-bottom-color: var(--border-1);
    box-shadow: 0 4px 16px -8px rgba(15, 23, 42, 0.12);
}
/* Shared content rail: topbar inner + .dash-sb + policy footer all share
   the same 1400px max-width (matching the docs detail layout) and centered
   alignment. The hero is the exception — it runs full-bleed across the
   main column. */
[data-nav-layout="sidebar"] .nav-topbar-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 16px;
}
@media (min-width: 640px) {
    [data-nav-layout="sidebar"] .nav-topbar-inner { padding: 12px 20px; }
}
@media (min-width: 1024px) {
    [data-nav-layout="sidebar"] .nav-topbar-inner { padding: 12px 28px; }
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .nav-topbar-inner {
        padding: 10px 14px;
        gap: 8px;
    }
}
/* On mobile, drop the breadcrumb to make room for the hamburger + chips. */
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .nav-breadcrumb {
        display: none !important;
    }
}
[data-nav-layout="sidebar"] .nav-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
    /* Flush-left: no padding/margin so the first crumb (Equuinity) sits at
       the same column as the dashboard cards' left edges. */
    padding-left: 0;
    margin-left: 0;
}
[data-nav-layout="sidebar"] .nav-breadcrumb-root,
[data-nav-layout="sidebar"] .nav-breadcrumb-section {
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-3);
    letter-spacing: 0.04em;
    white-space: nowrap;
    text-decoration: none;
    transition: color 120ms;
}
[data-nav-layout="sidebar"] a.nav-breadcrumb-root:hover,
[data-nav-layout="sidebar"] a.nav-breadcrumb-section:hover {
    color: var(--sm-700);
}
[data-nav-layout="sidebar"] .nav-breadcrumb-sep {
    font-size: 11px;
    color: var(--fg-4);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-breadcrumb-page {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* ── Currency chips ── */
[data-nav-layout="sidebar"] .nav-currency {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 12px 6px 6px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 999px;
    cursor: pointer;
    text-decoration: none;
    transition: background 140ms, transform 140ms, box-shadow 140ms;
    font-family: var(--ff-sans);
}
[data-nav-layout="sidebar"] .nav-currency:hover {
    background: var(--gray-50);
    transform: translateY(-1px);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
[data-nav-layout="sidebar"] .nav-currency-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    color: #fff;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-currency-glyph[data-kind="eq"] {
    background: linear-gradient(135deg, var(--sm-500), var(--ind-600));
    font-family: var(--ff-serif);
    font-size: 15px;
    box-shadow: 0 2px 6px -2px rgba(99, 102, 241, 0.5);
}
[data-nav-layout="sidebar"] .nav-currency-glyph[data-kind="co"] {
    background: linear-gradient(135deg, #f59e0b, #b45309);
    font-size: 12px;
    box-shadow: 0 2px 6px -2px rgba(245, 158, 11, 0.55);
}
[data-nav-layout="sidebar"] .nav-currency-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
[data-nav-layout="sidebar"] .nav-currency-label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--fg-3);
    line-height: 1;
}
[data-nav-layout="sidebar"] .nav-currency-value {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    font-family: var(--ff-mono);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    margin-top: 2px;
    white-space: nowrap;
}

/* ── Top bar icon buttons ── */
[data-nav-layout="sidebar"] .nav-iconbtn {
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--border-1);
    background: #fff;
    color: var(--fg-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .nav-iconbtn:hover {
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .nav-iconbtn .material-symbols-outlined {
    font-size: 18px;
}
[data-nav-layout="sidebar"] .nav-iconbtn-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    font-family: var(--ff-sans);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
}

/* ── Top bar divider ── */
[data-nav-layout="sidebar"] .nav-divider {
    width: 1px;
    height: 24px;
    background: var(--border-1);
    flex-shrink: 0;
}

/* ── User chip ── */
[data-nav-layout="sidebar"] .nav-userchip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 12px 4px 4px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 999px;
    cursor: pointer;
    text-decoration: none;
    transition: background 140ms;
    font-family: var(--ff-sans);
}
[data-nav-layout="sidebar"] .nav-userchip:hover {
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .nav-userchip-avatar {
    position: relative;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-userchip-avatar > img,
[data-nav-layout="sidebar"] .nav-userchip-avatar > .nav-userchip-avatar-fallback {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    object-fit: cover;
    background: linear-gradient(135deg, var(--sm-500), var(--eq-600));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    border: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .nav-userchip-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--success-500);
    border: 2px solid #fff;
}
[data-nav-layout="sidebar"] .nav-userchip-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
[data-nav-layout="sidebar"] .nav-userchip-name {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.15;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .nav-userchip-tag {
    color: var(--fg-3);
    font-weight: 500;
}
[data-nav-layout="sidebar"] .nav-userchip-sub {
    font-size: 10.5px;
    color: var(--fg-3);
    line-height: 1.2;
    margin-top: 1px;
    white-space: nowrap;
}

/* ── Mobile open toggle (rendered in topbar) ── */
[data-nav-layout="sidebar"] .nav-mobile-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--border-1);
    background: #fff;
    color: var(--fg-2);
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Page content wrapper inside main column (top-of-file definition wins;
   see also the .nav-page block earlier that adds flex column + auto-stretch
   so the policy footer sticks to the bottom even on short pages). ── */

/* ── Generic popover used by topbar dropdowns ── */
[data-nav-layout="sidebar"] .nav-popover {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 280px;
    max-width: 360px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    box-shadow: 0 20px 50px -12px rgba(15, 23, 42, 0.22), 0 4px 10px -4px rgba(15, 23, 42, 0.08);
    z-index: 200;
    overflow: hidden;
    animation: nav-pop-in 180ms cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes nav-pop-in {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0)    scale(1); }
}
[data-nav-layout="sidebar"] .nav-popover-header {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-1);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
[data-nav-layout="sidebar"] .nav-popover-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .nav-popover-link {
    border: 0;
    background: transparent;
    color: var(--sm-600);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .nav-popover-list {
    padding: 4px 0;
    max-height: 360px;
    overflow-y: auto;
}
[data-nav-layout="sidebar"] .nav-popover-item {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    padding: 9px 14px;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    color: var(--fg-1);
    text-decoration: none;
    font-family: var(--ff-sans);
}
[data-nav-layout="sidebar"] .nav-popover-item:hover {
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .nav-popover-item.is-danger {
    color: var(--danger-500);
}
[data-nav-layout="sidebar"] .nav-popover-item .material-symbols-outlined {
    font-size: 18px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .nav-popover-item-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
[data-nav-layout="sidebar"] .nav-popover-item-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--fg-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .nav-popover-item-sub {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Unread emphasis — bold label + accent dot indicator */
[data-nav-layout="sidebar"] .nav-popover-item.is-unread {
    background: color-mix(in oklab, var(--ind-600) 6%, transparent);
}
[data-nav-layout="sidebar"] .nav-popover-item.is-unread:hover {
    background: color-mix(in oklab, var(--ind-600) 11%, var(--bg-1, #fff));
}
[data-nav-layout="sidebar"] .nav-popover-item.is-unread .nav-popover-item-label {
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .nav-popover-item.is-unread .nav-popover-item-sub {
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .nav-popover-item.is-unread .material-symbols-outlined {
    color: var(--ind-600);
}
/* Right-aligned timestamp pill */
[data-nav-layout="sidebar"] .nav-popover-item-time {
    flex-shrink: 0;
    font-size: 10.5px;
    color: var(--fg-4);
    align-self: flex-start;
    margin-top: 1px;
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .nav-popover-item.is-unread .nav-popover-item-time {
    color: var(--ind-600);
    font-weight: 700;
}

/* Dark-mode overrides */
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item.is-unread {
    background: rgba(99, 102, 241, .14);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item.is-unread:hover {
    background: rgba(99, 102, 241, .22);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item.is-unread .nav-popover-item-label {
    color: #f1f5f9;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item.is-unread .material-symbols-outlined,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item.is-unread .nav-popover-item-time {
    color: #a5b4fc;
}

/* ── Reset main page padding/colors that the legacy app wraps in.
   Background transparency cascades through; flex/sizing handled by the
   earlier .nav-page block. ── */
[data-nav-layout="sidebar"] .nav-page > .legacy-page-main {
    background: transparent !important;
}

/* ── Legacy page-content rails normalize to the same 1400px cap as
   .dash-sb / .nav-topbar-inner / .nav-policy-footer-row so every page
   shares one shared content column. ── */
[data-nav-layout="sidebar"] .nav-page .container,
[data-nav-layout="sidebar"] .nav-page .max-w-screen-sm,
[data-nav-layout="sidebar"] .nav-page .max-w-screen-md,
[data-nav-layout="sidebar"] .nav-page .max-w-screen-lg,
[data-nav-layout="sidebar"] .nav-page .max-w-screen-xl,
[data-nav-layout="sidebar"] .nav-page .max-w-screen-2xl,
[data-nav-layout="sidebar"] .nav-page .max-w-7xl,
[data-nav-layout="sidebar"] .nav-page .max-w-6xl,
[data-nav-layout="sidebar"] .nav-page .max-w-5xl {
    max-width: 1400px !important;
}

/* ── User popover (extended profile dropdown — mirrors legacy nav, no balances) ── */
[data-nav-layout="sidebar"] .nav-popover-user {
    width: 320px;
    max-width: 90vw;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}
[data-nav-layout="sidebar"] .nav-userpop-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .nav-userpop-avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid var(--border-1);
    background: linear-gradient(135deg, var(--sm-500), var(--eq-600));
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .nav-userpop-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
[data-nav-layout="sidebar"] .nav-userpop-avatar-fallback {
    color: #fff;
    font-weight: 700;
    font-size: 18px;
}
[data-nav-layout="sidebar"] .nav-userpop-meta {
    min-width: 0;
    flex: 1;
}
[data-nav-layout="sidebar"] .nav-userpop-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .nav-userpop-email {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .nav-userpop-tier {
    font-size: 11px;
    font-weight: 700;
    color: var(--sm-700);
    margin-top: 3px;
}

[data-nav-layout="sidebar"] .nav-userpop-sub-strip {
    padding: 12px 16px;
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .nav-userpop-sub-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .nav-userpop-sub-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .nav-userpop-sub-badge {
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    letter-spacing: 0.02em;
}
[data-nav-layout="sidebar"] .nav-userpop-sub-cta {
    display: block;
    width: 100%;
    padding: 7px 10px;
    background: var(--eq-700);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    text-align: center;
    border-radius: 6px;
    text-decoration: none;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .nav-userpop-sub-cta:hover {
    background: var(--eq-800, #86198f);
}

/* ────────────────────────────────────────────────────────────────────
   Dashboard (sidebar layout) — mirrors Dashboard.jsx from the
   Equuinity Redesign handoff. Scoped to .dash-sb so it can't bleed
   into the legacy dashboard.
   ──────────────────────────────────────────────────────────────────── */

[data-nav-layout="sidebar"] .dash-sb {
    /* Constrained, centered rail (matches the docs detail layout's 1400px
       max-width). The hero is a sibling that lives OUTSIDE this rail and
       runs full-bleed across the main column. */
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 14px 60px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
    width: 100%;
}
@media (min-width: 640px) { [data-nav-layout="sidebar"] .dash-sb { padding: 18px 20px 60px; } }
@media (min-width: 1024px) { [data-nav-layout="sidebar"] .dash-sb { padding: 22px 28px 80px; } }

/* ── Hero — full-bleed across the main content column, sitting flush
   against the sticky topbar. The hero background extends edge-to-edge
   while its inner content (title + pills + season card) stays aligned
   to the same 1600px rail as the rest of the page. ── */
[data-nav-layout="sidebar"] .dash-sb-hero {
    position: relative;
    width: 100%;
    border-radius: 0;
    overflow: hidden;
    min-height: 168px;
    background-color: var(--ind-900);
    background-size: cover;
    background-position: center;
    box-shadow: none;
}
[data-nav-layout="sidebar"] .dash-sb-hero-scrim {
    position: absolute; inset: 0;
    background: linear-gradient(105deg, rgba(12,30,56,.78) 0%, rgba(12,30,56,.45) 50%, rgba(74,4,78,.35) 100%);
    pointer-events: none;
}
[data-nav-layout="sidebar"] .dash-sb-hero-inner {
    position: relative;
    /* Match the dashboard rail (1400px max-width, centered) so the hero's
       headline/pills/season indicator align with the cards underneath.
       The hero's background still spans the full main column. */
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    min-height: 168px;
    color: #fff;
    gap: 24px;
    flex-wrap: wrap;
}
@media (min-width: 640px) { [data-nav-layout="sidebar"] .dash-sb-hero-inner { padding: 24px 20px; } }
@media (min-width: 1024px) { [data-nav-layout="sidebar"] .dash-sb-hero-inner { padding: 28px 28px; } }
[data-nav-layout="sidebar"] .dash-sb-hero-text { max-width: 560px; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-hero-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-title {
    font-family: var(--ff-serif);
    font-weight: 400;
    font-size: 32px;
    letter-spacing: -.01em;
    line-height: 1.05;
    margin: 0;
    color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.3);
}
[data-nav-layout="sidebar"] .dash-sb-hero-sub {
    font-size: 13.5px;
    opacity: .92;
    margin: 8px 0 0;
    color: #fff;
    line-height: 1.55;
}
[data-nav-layout="sidebar"] .dash-sb-hero-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-self: flex-end;
    align-items: center;
}
[data-nav-layout="sidebar"] .dash-sb-hero-btn {
    padding: 10px 16px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-hero-btn:hover { background: rgba(255,255,255,.08); }
[data-nav-layout="sidebar"] .dash-sb-hero-btn-glass {
    background: rgba(255,255,255,.16);
    border-color: rgba(255,255,255,.3);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
[data-nav-layout="sidebar"] .dash-sb-hero-btn-glass:hover { background: rgba(255,255,255,.22); }
[data-nav-layout="sidebar"] .dash-sb-hero-btn-solid {
    background: #fff;
    color: #4338ca;
    border-color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
[data-nav-layout="sidebar"] .dash-sb-hero-btn-solid:hover { background: #f1f5f9; color: #312e81; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-hero-btn-solid { color: #4338ca; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-hero-btn-solid:hover { color: #312e81; }
[data-nav-layout="sidebar"] .dash-sb-hero-btn .material-symbols-outlined { font-size: 16px; }

/* ── Quick Stats strip ───────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-quickstats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .dash-sb-quickstats { grid-template-columns: repeat(2, 1fr); } }
[data-nav-layout="sidebar"] .dash-sb-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(15,23,42,.08);
    text-decoration: none;
    color: inherit;
    transition: transform 140ms var(--ease-std), box-shadow 140ms var(--ease-std);
}
[data-nav-layout="sidebar"] .dash-sb-stat:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px -2px rgba(15,23,42,.12);
}
[data-nav-layout="sidebar"] .dash-sb-stat-chip {
    width: 40px; height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-stat-chip .material-symbols-outlined { font-size: 22px; }
[data-nav-layout="sidebar"] .dash-sb-stat-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .1em;
}
[data-nav-layout="sidebar"] .dash-sb-stat-value {
    font-family: var(--ff-serif);
    font-size: 26px;
    line-height: 1.1;
    margin-top: 2px;
    color: var(--fg-1);
    font-weight: 400;
}

/* ── 2-column grid ───────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
}
@media (max-width: 1024px) { [data-nav-layout="sidebar"] .dash-sb-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .dash-sb-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

/* ── Generic card ────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-card {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,23,42,.08);
}
[data-nav-layout="sidebar"] .dash-sb-card-head {
    padding: 14px 18px 8px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 1px solid var(--border-1);
    gap: 12px;
}
[data-nav-layout="sidebar"] .dash-sb-kicker {
    font-size: 10px;
    font-weight: 700;
    color: var(--eq-700);
    text-transform: uppercase;
    letter-spacing: .14em;
}
[data-nav-layout="sidebar"] .dash-sb-title {
    font-family: var(--ff-serif);
    font-size: 18px;
    font-weight: 400;
    margin: 2px 0 0;
    line-height: 1.1;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .dash-sb-card-action-ghost {
    padding: 6px 12px;
    border-radius: 8px;
    background: transparent;
    color: var(--ind-600);
    border: 1px solid var(--border-1);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: background 140ms;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .dash-sb-card-action-ghost:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-card-action-ghost .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-card-foot {
    display: block;
    padding: 10px 16px;
    text-align: center;
    background: var(--gray-50);
    border-top: 1px solid var(--border-1);
    font-size: 12px;
    color: var(--ind-600);
    font-weight: 600;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .dash-sb-card-foot:hover { background: var(--gray-100); }
[data-nav-layout="sidebar"] .dash-sb-empty {
    padding: 32px 20px;
    text-align: center;
    color: var(--fg-3);
    font-size: 13px;
}
[data-nav-layout="sidebar"] .dash-sb-empty .material-symbols-outlined { font-size: 32px; color: var(--fg-4); display: block; margin-bottom: 6px; }

/* ── News card ───────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-news-featured {
    border-bottom: 1px solid var(--border-1);
    background: linear-gradient(135deg, rgba(99,102,241,.04) 0%, rgba(217,70,239,.04) 100%);
}
[data-nav-layout="sidebar"] .dash-sb-news-featured-body { padding: 14px 18px 16px; }
[data-nav-layout="sidebar"] .dash-sb-news-featured-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
[data-nav-layout="sidebar"] .dash-sb-news-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--grad-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px -4px rgba(99,102,241,.5);
}
[data-nav-layout="sidebar"] .dash-sb-news-pill .material-symbols-outlined { font-size: 11px; }
[data-nav-layout="sidebar"] .dash-sb-news-time { font-size: 10.5px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .dash-sb-news-title {
    font-family: var(--ff-serif);
    font-size: 18px;
    line-height: 1.2;
    margin: 0;
    font-weight: 400;
    letter-spacing: -.005em;
}
[data-nav-layout="sidebar"] .dash-sb-news-title a { color: var(--fg-1); text-decoration: none; }
[data-nav-layout="sidebar"] .dash-sb-news-title a:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .dash-sb-news-body {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--fg-2);
    margin: 6px 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-news-readmore {
    font-size: 12px;
    font-weight: 700;
    color: var(--ind-600);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .dash-sb-news-readmore .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-news-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border-1);
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-news-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-news-row:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-date-badge {
    flex-shrink: 0;
    width: 52px;
    text-align: center;
    border-radius: 10px;
    padding: 6px 0 7px;
    background: linear-gradient(180deg, #f0f9ff 0%, #fdf4ff 100%);
    border: 1px solid var(--sm-100, #e0f2fe);
}
[data-nav-layout="sidebar"] .dash-sb-date-day {
    font-family: var(--ff-serif);
    font-size: 22px;
    line-height: 1;
    color: var(--ind-700);
    font-weight: 400;
}
[data-nav-layout="sidebar"] .dash-sb-date-month {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--ind-600);
    text-transform: uppercase;
    margin-top: 3px;
}
[data-nav-layout="sidebar"] .dash-sb-news-row-body { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-news-row-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
[data-nav-layout="sidebar"] .dash-sb-news-row-title {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.3;
    margin-bottom: 3px;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-row-title:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .dash-sb-news-row-body-excerpt {
    font-size: 11.5px;
    color: var(--fg-3);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Competitions card ───────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-comp-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 16px;
    gap: 12px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-comp-row:last-of-type { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-comp-row:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-comp-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-comp-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .dash-sb-comp-sub { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
[data-nav-layout="sidebar"] .dash-sb-comp-sub > span:first-child { font-size: 11px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .dash-sb-comp-dot { color: var(--fg-4); }
[data-nav-layout="sidebar"] .dash-sb-grade-chip {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}
[data-nav-layout="sidebar"] .dash-sb-comp-date { text-align: right; flex-shrink: 0; }
[data-nav-layout="sidebar"] .dash-sb-comp-date-day { font-size: 11.5px; color: var(--fg-2); font-weight: 600; }
[data-nav-layout="sidebar"] .dash-sb-comp-date-entries { font-size: 10.5px; color: var(--ind-600); margin-top: 2px; }

/* ── Game Time card ──────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-gametime { padding: 16px 18px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-title {
    font-family: var(--ff-serif);
    font-size: 22px;
    line-height: 1.1;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .dash-sb-gametime-sub { font-size: 11.5px; color: var(--fg-3); margin-top: 4px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-icon { font-size: 28px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-progress-wrap { margin-bottom: 12px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-progress-meta { display: flex; justify-content: space-between; margin-bottom: 6px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-pct { font-size: 11px; font-weight: 700; color: var(--fg-1); }
[data-nav-layout="sidebar"] .dash-sb-gametime-track { width: 100%; height: 6px; background: var(--gray-200); border-radius: 999px; overflow: hidden; }
[data-nav-layout="sidebar"] .dash-sb-gametime-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--info-500, #3b82f6), var(--success-500));
    border-radius: 999px;
}
[data-nav-layout="sidebar"] .dash-sb-gametime-state {
    padding: 8px 12px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .02em;
}
[data-nav-layout="sidebar"] .dash-sb-gametime-state .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-gametime-state.is-active {
    background: rgba(34,197,94,.08);
    border: 1px solid rgba(34,197,94,.25);
    color: #15803d;
}
[data-nav-layout="sidebar"] .dash-sb-gametime-state.is-off {
    background: rgba(59,130,246,.08);
    border: 1px solid rgba(59,130,246,.25);
    color: #1d4ed8;
}

/* ── Pregnancies card ────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-preg-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-preg-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-preg-row:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-preg-avatar {
    width: 42px; height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, #be185d, #831843);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
}
[data-nav-layout="sidebar"] .dash-sb-preg-avatar .material-symbols-outlined { font-size: 22px; }
[data-nav-layout="sidebar"] .dash-sb-preg-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-preg-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .dash-sb-preg-sub {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .dash-sb-preg-sire { color: var(--ind-600); }
[data-nav-layout="sidebar"] .dash-sb-preg-donor { color: #7e22ce; font-weight: 600; }
[data-nav-layout="sidebar"] .dash-sb-preg-sep { color: var(--fg-4); margin: 0 4px; }
[data-nav-layout="sidebar"] .dash-sb-preg-due { font-size: 11px; color: #be185d; margin-top: 4px; font-weight: 600; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
[data-nav-layout="sidebar"] .dash-sb-preg-due.is-pending { color: #b45309; font-style: italic; }
[data-nav-layout="sidebar"] .dash-sb-preg-days { color: var(--fg-4); font-weight: 500; }
[data-nav-layout="sidebar"] .dash-sb-preg-lock {
    display: inline-flex; align-items: center; gap: 2px;
    color: var(--fg-4); font-weight: 500;
}
[data-nav-layout="sidebar"] .dash-sb-preg-lock .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .dash-sb-preg-progress { width: 60px; flex-shrink: 0; text-align: right; }
[data-nav-layout="sidebar"] .dash-sb-preg-pct { font-size: 12px; font-weight: 700; color: var(--fg-1); margin-bottom: 4px; }
[data-nav-layout="sidebar"] .dash-sb-preg-track {
    width: 56px; height: 5px;
    background: var(--gray-200);
    border-radius: 999px;
    overflow: hidden;
    margin-left: auto;
}
[data-nav-layout="sidebar"] .dash-sb-preg-fill { height: 100%; background: #ec4899; border-radius: 999px; }
[data-nav-layout="sidebar"] .dash-sb-preg-row.is-late .dash-sb-preg-fill,
[data-nav-layout="sidebar"] .dash-sb-preg-tr.is-late .dash-sb-preg-fill,
[data-nav-layout="sidebar"] .dash-sb-preg-card.is-late .dash-sb-preg-fill { background: #a855f7; }
[data-nav-layout="sidebar"] .dash-sb-preg-row.is-pending .dash-sb-preg-fill,
[data-nav-layout="sidebar"] .dash-sb-preg-tr.is-pending .dash-sb-preg-fill,
[data-nav-layout="sidebar"] .dash-sb-preg-card.is-pending .dash-sb-preg-fill {
    background: #f59e0b;
    animation: dash-sb-preg-pulse 1.6s ease-in-out infinite;
}
@keyframes dash-sb-preg-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .55; }
}

/* ── Pregnancies table (desktop) ─────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-preg-table-wrap { overflow-x: auto; }
[data-nav-layout="sidebar"] .dash-sb-preg-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}
[data-nav-layout="sidebar"] .dash-sb-preg-table thead th {
    text-align: left;
    padding: 8px 10px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .dash-sb-preg-table tbody td {
    padding: 10px;
    border-bottom: 1px solid var(--border-1);
    vertical-align: middle;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .dash-sb-preg-table tbody tr:last-child td { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-preg-table tbody tr:hover { background: var(--gray-50); }

[data-nav-layout="sidebar"] .dash-sb-preg-mare {
    display: flex; align-items: center; gap: 10px; min-width: 0;
}
[data-nav-layout="sidebar"] .dash-sb-preg-mare-img {
    flex-shrink: 0;
    display: block;
}
[data-nav-layout="sidebar"] .dash-sb-preg-mare-img img {
    width: 72px; height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    background: linear-gradient(135deg, #fce7f3, #f5d0fe);
}
[data-nav-layout="sidebar"] .dash-sb-preg-mare-meta { min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-preg-name-link {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .dash-sb-preg-name-link:hover { color: var(--ind-600); }
[data-nav-layout="sidebar"] .dash-sb-preg-donor-line { font-size: 11px; color: var(--fg-3); margin-top: 2px; }
[data-nav-layout="sidebar"] .dash-sb-preg-donor { color: #7e22ce; font-weight: 600; text-decoration: none; }
[data-nav-layout="sidebar"] .dash-sb-preg-donor:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .dash-sb-preg-sire-link { color: var(--ind-600); font-weight: 600; text-decoration: none; font-size: 12.5px; }
[data-nav-layout="sidebar"] .dash-sb-preg-sire-link:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .dash-sb-preg-muted { color: var(--fg-4); font-size: 12px; }

[data-nav-layout="sidebar"] .dash-sb-preg-housing {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 12px; color: var(--fg-2);
}
[data-nav-layout="sidebar"] .dash-sb-preg-housing .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .dash-sb-preg-facility {
    font-size: 10.5px;
    color: var(--fg-4);
    margin-top: 2px;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-nav-layout="sidebar"] .dash-sb-preg-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .dash-sb-preg-status .dash-sb-preg-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-confirmed { background: rgba(34,197,94,.15); color: #15803d; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-confirmed .dash-sb-preg-dot { background: #22c55e; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-late { background: rgba(168,85,247,.15); color: #7e22ce; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-late .dash-sb-preg-dot { background: #a855f7; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-pending { background: rgba(245,158,11,.18); color: #b45309; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-pending .dash-sb-preg-dot {
    background: #f59e0b;
    animation: dash-sb-preg-pulse 1.6s ease-in-out infinite;
}

[data-nav-layout="sidebar"] .dash-sb-preg-due-cell { white-space: nowrap; }
[data-nav-layout="sidebar"] .dash-sb-preg-days { font-size: 10.5px; color: var(--fg-4); margin-top: 2px; }
[data-nav-layout="sidebar"] .dash-sb-preg-lock {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: 10px; color: var(--fg-4); margin-top: 2px;
}
[data-nav-layout="sidebar"] .dash-sb-preg-lock .material-symbols-outlined { font-size: 11px; }

[data-nav-layout="sidebar"] .dash-sb-preg-progress-cell {
    display: flex; align-items: center; gap: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-preg-progress-cell .dash-sb-preg-track {
    flex: 1; min-width: 60px; max-width: 120px; margin-left: 0;
}
[data-nav-layout="sidebar"] .dash-sb-preg-progress-cell .dash-sb-preg-pct {
    margin-bottom: 0; font-size: 11px;
}

[data-nav-layout="sidebar"] .dash-sb-preg-th-progress { width: 130px; }

/* Hide cards on desktop, show on mobile */
[data-nav-layout="sidebar"] .dash-sb-preg-cards { display: none; }
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .dash-sb-preg-table-wrap { display: none; }
    [data-nav-layout="sidebar"] .dash-sb-preg-cards { display: block; }
}

[data-nav-layout="sidebar"] .dash-sb-preg-card {
    display: flex;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-preg-card:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-preg-card:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-preg-card-img {
    width: 64px; height: 44px;
    border-radius: 8px; object-fit: cover;
    border: 1px solid var(--border-1);
    flex-shrink: 0;
    background: linear-gradient(135deg, #fce7f3, #f5d0fe);
}
[data-nav-layout="sidebar"] .dash-sb-preg-card-body { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-preg-card-head {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .dash-sb-preg-warning {
    display: flex; align-items: center; gap: 4px;
    font-size: 11px; color: #b91c1c; margin: 4px 0;
}
[data-nav-layout="sidebar"] .dash-sb-preg-warning .material-symbols-outlined { font-size: 14px; }

/* Header count pill */
[data-nav-layout="sidebar"] .dash-sb-preg-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 18px;
    padding: 0 6px;
    margin-left: 6px;
    border-radius: 999px;
    background: rgba(236,72,153,.12);
    color: #be185d;
    font-size: 11px;
    font-weight: 700;
    vertical-align: middle;
}

/* Row alignment: top-align so multi-line meta sits under the image */
[data-nav-layout="sidebar"] .dash-sb-preg-row { align-items: flex-start; }

/* Name + status row */
[data-nav-layout="sidebar"] .dash-sb-preg-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .dash-sb-preg-name-row .dash-sb-preg-name {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}
[data-nav-layout="sidebar"] .dash-sb-preg-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-confirmed { background: rgba(34,197,94,.15); color: #15803d; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-late      { background: rgba(168,85,247,.15); color: #7e22ce; }
[data-nav-layout="sidebar"] .dash-sb-preg-status.is-pending   { background: rgba(245,158,11,.18); color: #b45309; }

/* Tag chips for LFG / Recipient / housing */
[data-nav-layout="sidebar"] .dash-sb-preg-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 5px;
}
[data-nav-layout="sidebar"] .dash-sb-preg-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 6px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .dash-sb-preg-tag .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .dash-sb-preg-tag.is-recipient { background: rgba(168,85,247,.12); color: #7e22ce; }
[data-nav-layout="sidebar"] .dash-sb-preg-tag.is-lfg       { background: rgba(16,185,129,.12); color: #047857; }
[data-nav-layout="sidebar"] .dash-sb-preg-tag.is-housing   { background: var(--gray-100); color: var(--fg-2); }
[data-nav-layout="sidebar"] .dash-sb-preg-tag.is-warning   { background: rgba(239,68,68,.12); color: #b91c1c; }

/* ── Activity Feed card ──────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-activity-list { padding: 8px 8px; }
[data-nav-layout="sidebar"] .dash-sb-activity-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 10px;
    border-radius: 10px;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-activity-row:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-activity-icon {
    width: 32px; height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .dash-sb-activity-icon .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .dash-sb-activity-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-activity-title { font-size: 13px; font-weight: 600; color: var(--fg-1); line-height: 1.3; }
[data-nav-layout="sidebar"] .dash-sb-activity-sub { font-size: 11.5px; color: var(--fg-3); margin-top: 2px; }
[data-nav-layout="sidebar"] .dash-sb-activity-when { font-size: 10.5px; color: var(--fg-4); margin-top: 3px; }

/* ── Featured news cover (image or fallback gradient) ── */
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover {
    position: relative;
    height: 168px;
    background-size: cover;
    background-position: center 40%;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover-scrim {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,30,56,0) 0%, rgba(12,30,56,.25) 45%, rgba(12,30,56,.85) 100%);
    pointer-events: none;
}
/* When using a color fallback, the scrim is much lighter — the gradient
   itself is already the "image", so we just need a touch of depth at the
   bottom for chip legibility. */
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover.has-color .dash-sb-news-featured-cover-scrim {
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.45) 100%);
}
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover-meta {
    position: absolute; left: 14px; top: 14px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover-title {
    position: absolute;
    left: 14px; right: 14px; bottom: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    text-shadow: 0 1px 6px rgba(0,0,0,.55);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-news-featured-cover-title:hover {
    text-decoration: underline;
}
[data-nav-layout="sidebar"] .dash-sb-news-comments {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .dash-sb-news-comments .material-symbols-outlined {
    font-size: 14px;
}
/* Decorative glyph centered on the color fallback so it doesn't look empty. */
[data-nav-layout="sidebar"] .dash-sb-news-featured-glyph {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -60%);
    font-size: 64px;
    color: rgba(255, 255, 255, 0.18);
    pointer-events: none;
    user-select: none;
}

/* ────────────────────────────────────────────────────────────────────
   Card accent system — each section gets a top accent strip + tinted
   card-head background + colored kicker. CSS variables drive the values
   so individual cards just set the modifier class.
   ──────────────────────────────────────────────────────────────────── */

/* Accent CSS variable contract per card */
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-news     { --accent-color: #4f46e5; --accent-tint: rgba(99,102,241,.06);  --accent-tint-2: rgba(217,70,239,.05); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-comp     { --accent-color: #b45309; --accent-tint: rgba(245,158,11,.08);  --accent-tint-2: rgba(252,211,77,.06); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-time     { --accent-color: #0e7490; --accent-tint: rgba(14,165,233,.08);  --accent-tint-2: rgba(34,197,94,.06); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-preg     { --accent-color: #be185d; --accent-tint: rgba(236,72,153,.07);  --accent-tint-2: rgba(217,70,239,.05); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-activity { --accent-color: #4338ca; --accent-tint: rgba(99,102,241,.06);  --accent-tint-2: rgba(56,189,248,.05); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-foals    { --accent-color: #15803d; --accent-tint: rgba(34,197,94,.08);   --accent-tint-2: rgba(132,204,22,.05); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-threads  { --accent-color: #ea580c; --accent-tint: rgba(249,115,22,.08);  --accent-tint-2: rgba(251,146,60,.05); }
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-stats    { --accent-color: #4f46e5; --accent-tint: rgba(99,102,241,.07);  --accent-tint-2: rgba(56,189,248,.05); }

/* Apply accent treatments to any card with a modifier */
[data-nav-layout="sidebar"] .dash-sb-card[class*="is-accent-"] {
    border-top: 3px solid var(--accent-color);
}
[data-nav-layout="sidebar"] .dash-sb-card[class*="is-accent-"] .dash-sb-card-head {
    background: linear-gradient(135deg, var(--accent-tint) 0%, var(--accent-tint-2) 100%);
}
[data-nav-layout="sidebar"] .dash-sb-card[class*="is-accent-"] .dash-sb-kicker {
    color: var(--accent-color);
}
/* GameTime card uses a different head structure (no .dash-sb-card-head); paint
   the whole card padding strip instead so the accent still reads. */
[data-nav-layout="sidebar"] .dash-sb-card.is-accent-time {
    background: linear-gradient(180deg, var(--accent-tint) 0%, #ffffff 80%);
}

/* Hero gets a deeper, livelier overlay */
[data-nav-layout="sidebar"] .dash-sb-hero-scrim {
    background: linear-gradient(105deg,
        rgba(12,30,56,.78) 0%,
        rgba(67,56,202,.55) 35%,
        rgba(190,24,93,.45) 70%,
        rgba(74,4,78,.50) 100%);
}

/* ── Recent Foals ─────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-count-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .dash-sb-foal-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-foal-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-foal-row:hover { background: rgba(34,197,94,.05); }
[data-nav-layout="sidebar"] .dash-sb-foal-image {
    width: 56px; height: 40px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-foal-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-foal-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .dash-sb-foal-row:hover .dash-sb-foal-name { color: #15803d; }
[data-nav-layout="sidebar"] .dash-sb-foal-breed { font-size: 11px; color: var(--fg-3); margin-top: 2px; }
[data-nav-layout="sidebar"] .dash-sb-foal-when { font-size: 11px; color: var(--fg-4); flex-shrink: 0; }

/* ── Popular Threads ──────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-thread-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-thread-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-thread-row:hover { background: rgba(249,115,22,.04); }
[data-nav-layout="sidebar"] .dash-sb-thread-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-thread-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--fg-1);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-thread-row:hover .dash-sb-thread-title { color: #ea580c; }
[data-nav-layout="sidebar"] .dash-sb-thread-sub {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .dash-sb-thread-cat { color: var(--ind-600); font-weight: 600; }
[data-nav-layout="sidebar"] .dash-sb-thread-comments {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #fed7aa;
    color: #9a3412;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-thread-comments .material-symbols-outlined { font-size: 12px; }

/* ── Game Statistics ──────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-stats-body {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
[data-nav-layout="sidebar"] .dash-sb-stats-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-stats-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}
[data-nav-layout="sidebar"] .dash-sb-stats-row > span:first-child { color: var(--fg-3); }
[data-nav-layout="sidebar"] .dash-sb-stats-row > span:last-child { font-weight: 700; color: var(--fg-1); font-variant-numeric: tabular-nums; }
[data-nav-layout="sidebar"] .dash-sb-stats-row-tight { padding: 4px 0; font-size: 12.5px; }
[data-nav-layout="sidebar"] .dash-sb-stats-block {
    padding-top: 12px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .dash-sb-stats-block-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-stats-genders {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
[data-nav-layout="sidebar"] .dash-sb-gender-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
}
[data-nav-layout="sidebar"] .dash-sb-gender-chip strong { font-weight: 700; }

/* ────────────────────────────────────────────────────────────────────
   Hero — quick info pills + season indicator (mirrors legacy hero).
   Layout-only overrides; padding/max-width handled by the canonical
   .dash-sb-hero-inner rule above (which provides rail alignment).
   ──────────────────────────────────────────────────────────────────── */

[data-nav-layout="sidebar"] .dash-sb-hero-inner {
    flex-direction: row;
    align-items: stretch;
    min-height: 0;
}
[data-nav-layout="sidebar"] .dash-sb-hero-left {
    flex: 1 1 320px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-self: flex-end;
}
[data-nav-layout="sidebar"] .dash-sb-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    padding: 5px 10px;
    background: rgba(255, 255, 255, 0.16);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, 0.92);
    margin: 0;
    text-transform: none;
}
[data-nav-layout="sidebar"] .dash-sb-hero-kicker .material-symbols-outlined { font-size: 14px; color: #fcd34d; }

/* Quick info pills — modeled on the legacy hero's flex-wrap row */
[data-nav-layout="sidebar"] .dash-sb-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    transition: background 140ms, transform 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-hero-pill:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-1px);
}
[data-nav-layout="sidebar"] .dash-sb-hero-pill .material-symbols-outlined { font-size: 18px; }
[data-nav-layout="sidebar"] .dash-sb-hero-pill-num {
    font-weight: 800;
    font-size: 18px;
    line-height: 1;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .dash-sb-hero-pill-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
    letter-spacing: .02em;
}

/* Season indicator (right-side glass card) */
[data-nav-layout="sidebar"] .dash-sb-hero-season {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 18px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    min-width: 320px;
    color: #fff;
    flex-shrink: 0;
}
@media (max-width: 760px) {
    [data-nav-layout="sidebar"] .dash-sb-hero-season {
        flex-direction: column;
        gap: 12px;
        min-width: 0;
        width: 100%;
    }
}

[data-nav-layout="sidebar"] .dash-sb-hero-season-current {
    flex: 0 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding-right: 4px;
    min-width: 110px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-icon .material-symbols-outlined { font-size: 36px; }
[data-nav-layout="sidebar"] .dash-sb-hero-season-name {
    font-family: var(--ff-serif);
    font-size: 22px;
    line-height: 1.1;
    margin-top: 2px;
    color: #fff;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-year {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    border: 1px solid transparent;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-pill .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .dash-sb-hero-season-pill.is-active {
    background: rgba(34, 197, 94, 0.22);
    color: #bbf7d0;
    border-color: rgba(187, 247, 208, 0.35);
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-pill.is-off {
    background: rgba(56, 189, 248, 0.22);
    color: #bae6fd;
    border-color: rgba(186, 230, 253, 0.35);
}

[data-nav-layout="sidebar"] .dash-sb-hero-season-calendar {
    flex: 1;
    min-width: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.18);
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
@media (max-width: 760px) {
    [data-nav-layout="sidebar"] .dash-sb-hero-season-calendar {
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        padding-left: 0;
        padding-top: 12px;
    }
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-calendar-label {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.85);
    padding: 4px 0;
    border-radius: 6px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-row .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-hero-season-row.is-current {
    background: rgba(255, 255, 255, 0.18);
    margin: 0 -8px;
    padding: 4px 8px;
    color: #fff;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-row-name { flex: 1; }
[data-nav-layout="sidebar"] .dash-sb-hero-season-row-date {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.65);
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .dash-sb-hero-season-next {
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.55);
}

/* Hero title slightly smaller now that pills sit underneath it */
[data-nav-layout="sidebar"] .dash-sb-hero-title {
    font-size: 28px;
}
@media (min-width: 768px) {
    [data-nav-layout="sidebar"] .dash-sb-hero-title { font-size: 32px; }
}

/* Ad slot container — centers the rendered ad in the column without forcing
   a card chrome around it (the ad component supplies its own styling). */
[data-nav-layout="sidebar"] .dash-sb-ad-slot {
    display: flex;
    justify-content: center;
}
[data-nav-layout="sidebar"] .dash-sb-ad-slot:empty { display: none; }

/* Landscape mare image (replaces the .dash-sb-preg-avatar gradient block).
   Same proportions as the foal-row image so they read as a set. */
[data-nav-layout="sidebar"] .dash-sb-preg-image {
    width: 64px;
    height: 44px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    flex-shrink: 0;
    background: linear-gradient(135deg, #fce7f3, #f5d0fe);
}

/* ════════════════════════════════════════════════════════════════════
   DARK THEME — applied via [data-theme="dark"] on the <html> element.
   Toggle persists in the `theme` cookie (set by /preferences/theme).
   Three layers of coverage:
     1. Sidebar-layout token redefinitions (CSS vars under data-nav-layout)
     2. Dashboard-specific tints (.dash-sb-* surfaces)
     3. Global Tailwind utility overrides for legacy pages (bg-white,
        bg-gray-*, text-gray-*, divides, borders) so non-redesigned
        pages don't burn the user's eyes.
   Per-page Tailwind tweaks may still be required to fully polish
   non-sidebar pages.
   ════════════════════════════════════════════════════════════════════ */

/* ── Sidebar-layout tokens (override the light values) ────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] {
    --gray-50:  #141c2e;
    --gray-100: #1f293f;
    --gray-200: rgba(148, 163, 184, 0.18);
    --gray-300: rgba(148, 163, 184, 0.30);
    --gray-400: #64748b;
    --gray-500: #94a3b8;
    --gray-700: #e2e8f0;
    --gray-900: #f8fafc;

    --fg-1: #f1f5f9;
    --fg-2: #cbd5e1;
    --fg-3: #94a3b8;
    --fg-4: #64748b;

    --border-1: rgba(148, 163, 184, 0.18);
    --eq-700: #e879f9;
    --ind-600: #a5b4fc;
    --ind-700: #c7d2fe;
    --sm-700: #7dd3fc;
    --sm-600: #38bdf8;

    background:
        radial-gradient(1200px 600px at 90% -10%, rgba(217,70,239,.12), transparent 60%),
        radial-gradient(800px 500px at -10% 110%, rgba(14,165,233,.10), transparent 60%),
        #0b1322;
}

/* Sidebar rail stays the same dark ink. */
/* Topbar surface tints to match dark page */
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-topbar {
    background: rgba(15, 22, 38, 0.92);
    border-bottom-color: rgba(148, 163, 184, 0.18);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-topbar[data-scrolled="true"] {
    box-shadow: 0 4px 16px -8px rgba(0,0,0,.6);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-currency,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-iconbtn,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userchip,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-mobile-toggle {
    background: #1f293f;
    border-color: rgba(148, 163, 184, 0.22);
    color: var(--fg-2);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-currency:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-iconbtn:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userchip:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-mobile-toggle:hover {
    background: #2a3654;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-iconbtn-badge {
    border-color: #1f293f;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-user {
    background: #1a2236;
    border-color: rgba(148, 163, 184, 0.22);
    color: var(--fg-1);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-item:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-list a:hover {
    background: rgba(148, 163, 184, 0.10);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-header,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userpop-header,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userpop-sub-strip {
    border-color: rgba(148, 163, 184, 0.18);
    background: rgba(148, 163, 184, 0.04);
}

/* ── Dashboard cards in dark mode ─────────────────────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-card,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-stat {
    background: #1a2236;
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 1px 3px rgba(0,0,0,.4);
    color: var(--fg-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-stat:hover {
    box-shadow: 0 4px 12px -2px rgba(0,0,0,.5);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-card-foot {
    background: rgba(148, 163, 184, 0.06);
    border-top-color: rgba(148, 163, 184, 0.18);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-card-action-ghost {
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.22);
    color: var(--ind-600);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-news-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-comp-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-preg-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-foal-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-thread-row {
    border-bottom-color: rgba(148, 163, 184, 0.12);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-news-row:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-comp-row:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-preg-row:hover {
    background: rgba(148, 163, 184, 0.06);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-news-featured-body {
    background: linear-gradient(135deg, rgba(99,102,241,.10) 0%, rgba(217,70,239,.08) 100%);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-date-badge {
    background: linear-gradient(180deg, rgba(56,189,248,.10) 0%, rgba(217,70,239,.08) 100%);
    border-color: rgba(99, 102, 241, 0.28);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-date-day { color: #c7d2fe; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-date-month { color: #a5b4fc; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-gametime-track,
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-preg-track {
    background: rgba(148, 163, 184, 0.18);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-stats-block {
    border-top-color: rgba(148, 163, 184, 0.16);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-policy-footer {
    border-top-color: rgba(148, 163, 184, 0.16);
}

/* Accent card heads — soften the gradient overlays so they read on dark */
html[data-theme="dark"] [data-nav-layout="sidebar"] .dash-sb-card[class*="is-accent-"] .dash-sb-card-head {
    background: linear-gradient(135deg,
        color-mix(in oklab, var(--accent-color) 18%, transparent) 0%,
        color-mix(in oklab, var(--accent-color) 8%, transparent) 100%);
}

/* Horse listing surfaces — the grid container (list mode) and individual
   tile cards (grid mode) both hardcode background:#fff, which leaves the
   light-mode-only background behind the dark text tokens. Repaint both
   so columns/tiles match the surrounding dark card. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-horse-grid.is-list,
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-horse-card {
    background: #1a2236;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-horse-grid.is-list {
    border-top-color: rgba(148, 163, 184, 0.18);
    border-bottom-color: rgba(148, 163, 184, 0.18);
}
/* Sticky header row uses --gray-50 already (dark-token-correct), but lift
   it to the same surface tier as the body so the seam isn't visible. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-horse-list-head {
    background: #141c2e;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card:hover {
    background: rgba(148, 163, 184, 0.06);
}

/* Category filter pills (status tabs + player categories) — same fix:
   inactive pills hardcode background:#fff and a #fff-mix hover, the
   active state already uses the vivid category color so it stays fine. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-cat-pill {
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.22);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-cat-pill:hover {
    background: color-mix(in oklab, var(--cat-color) 18%, #1a2236);
    border-color: color-mix(in oklab, var(--cat-color) 45%, transparent);
}
/* Inactive count badge — the rgba(0,0,0,.06) tint disappears on dark;
   flip to a light tint so the count still reads. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-cat-pill:not(.is-active) .profile-cat-pill-count {
    background: rgba(255, 255, 255, 0.10);
}

/* View toggle (grid/list) — active button hardcodes background:#fff which
   leaves a bright tab on the dark filter row. Repaint so the active
   indicator pops without burning the surrounding chrome. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-view-toggle button.is-active {
    background: #2a3654;
    color: var(--fg-1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* ── Global Tailwind override layer for legacy pages ─────────────────
   Catches the most common surface utilities so non-redesigned pages
   become readable on dark immediately. Per-page polishing may still
   be needed for unique color tokens (yellow-50, indigo-50, etc.). */

html[data-theme="dark"],
html[data-theme="dark"] body {
    background: #0b1322 !important;
    color: #e2e8f0;
}

/* Default surface utilities → dark slate */
html[data-theme="dark"] .bg-white { background-color: #1a2236 !important; }
html[data-theme="dark"] .bg-gray-50 { background-color: #141c2e !important; }
html[data-theme="dark"] .bg-gray-100 { background-color: #1f293f !important; }
html[data-theme="dark"] .bg-gray-200 { background-color: #243049 !important; }

/* Pastel section tints flatten to subtle tinted-on-dark */
html[data-theme="dark"] .bg-sky-50,
html[data-theme="dark"] .bg-blue-50,
html[data-theme="dark"] .bg-strikemaster-50 { background-color: rgba(56,189,248,.10) !important; }
html[data-theme="dark"] .bg-indigo-50 { background-color: rgba(99,102,241,.12) !important; }
html[data-theme="dark"] .bg-purple-50,
html[data-theme="dark"] .bg-fuchsia-50 { background-color: rgba(168,85,247,.12) !important; }
html[data-theme="dark"] .bg-pink-50,
html[data-theme="dark"] .bg-rose-50 { background-color: rgba(244,114,182,.12) !important; }
html[data-theme="dark"] .bg-emerald-50,
html[data-theme="dark"] .bg-green-50 { background-color: rgba(34,197,94,.12) !important; }
html[data-theme="dark"] .bg-yellow-50,
html[data-theme="dark"] .bg-amber-50,
html[data-theme="dark"] .bg-orange-50 { background-color: rgba(245,158,11,.14) !important; }
html[data-theme="dark"] .bg-red-50 { background-color: rgba(239,68,68,.14) !important; }

/* Common gradient page backgrounds (dashboard hero wash etc.) → quiet */
html[data-theme="dark"] .bg-gradient-to-br.from-blue-50,
html[data-theme="dark"] .bg-gradient-to-b.from-white,
html[data-theme="dark"] .bg-gradient-to-br.from-sky-100 {
    background-image: linear-gradient(to bottom right, #0f1626, #0b1322) !important;
}

/* Text utilities */
html[data-theme="dark"] .text-gray-900 { color: #f1f5f9 !important; }
html[data-theme="dark"] .text-gray-800 { color: #e2e8f0 !important; }
html[data-theme="dark"] .text-gray-700 { color: #cbd5e1 !important; }
html[data-theme="dark"] .text-gray-600 { color: #94a3b8 !important; }
html[data-theme="dark"] .text-gray-500 { color: #94a3b8 !important; }
html[data-theme="dark"] .text-gray-400 { color: #64748b !important; }
html[data-theme="dark"] .text-black { color: #f1f5f9 !important; }

/* Borders and dividers */
html[data-theme="dark"] .border-gray-100 { border-color: rgba(148,163,184,.12) !important; }
html[data-theme="dark"] .border-gray-200 { border-color: rgba(148,163,184,.18) !important; }
html[data-theme="dark"] .border-gray-300 { border-color: rgba(148,163,184,.24) !important; }
html[data-theme="dark"] .divide-gray-100 > :not([hidden]) ~ :not([hidden]) { border-color: rgba(148,163,184,.12) !important; }
html[data-theme="dark"] .divide-gray-200 > :not([hidden]) ~ :not([hidden]) { border-color: rgba(148,163,184,.18) !important; }

/* Form inputs — make them readable */
html[data-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
    background-color: #141c2e;
    color: #e2e8f0;
    border-color: rgba(148,163,184,.24);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #64748b; }

/* Hover states for white surfaces */
html[data-theme="dark"] .hover\:bg-gray-50:hover { background-color: rgba(148,163,184,.06) !important; }
html[data-theme="dark"] .hover\:bg-gray-100:hover { background-color: rgba(148,163,184,.10) !important; }
html[data-theme="dark"] .hover\:bg-white:hover { background-color: #243049 !important; }

/* ════════════════════════════════════════════════════════════════════
   Shared content-page chrome (news index, docs index, roadmap, etc.)
   reuses .dash-sb-* primitives. Additions below cover the patterns
   that don't exist on the dashboard.
   ════════════════════════════════════════════════════════════════════ */

/* Hero subtitle + stats card --------------------------------------- */
[data-nav-layout="sidebar"] .dash-sb-hero-subtitle {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.55;
    max-width: 640px;
    margin: 8px 0 0;
}
[data-nav-layout="sidebar"] .dash-sb-hero-link {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.5);
    text-underline-offset: 3px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-stats {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 14px 20px;
    background: rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    backdrop-filter: blur(12px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 14px;
    color: #fff;
    flex-shrink: 0;
    align-self: flex-end;
}
[data-nav-layout="sidebar"] .dash-sb-hero-stat { text-align: center; }
[data-nav-layout="sidebar"] .dash-sb-hero-stat-value {
    font-family: var(--ff-serif);
    font-size: 28px;
    line-height: 1;
    color: #fff;
}
[data-nav-layout="sidebar"] .dash-sb-hero-stat-label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .dash-sb-hero-stat-divider {
    width: 1px;
    height: 32px;
    background: rgba(255, 255, 255, 0.22);
}

/* Filter bar (active-category indicator) ------------------------- */
[data-nav-layout="sidebar"] .dash-sb-filter-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .dash-sb-filter-bar-label { font-size: 12px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .dash-sb-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
[data-nav-layout="sidebar"] .dash-sb-filter-chip .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-filter-clear {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--fg-3);
    text-decoration: none;
    font-size: 12px;
}
[data-nav-layout="sidebar"] .dash-sb-filter-clear:hover { color: var(--fg-1); }
[data-nav-layout="sidebar"] .dash-sb-filter-clear .material-symbols-outlined { font-size: 16px; }

/* News article card (full-width with cover) --------------------- */
[data-nav-layout="sidebar"] .dash-sb-news-article-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-article-cover {
    position: relative;
    height: 200px;
    background-size: cover;
    background-position: center 40%;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-news-article-cover-meta {
    position: absolute; left: 16px; bottom: 14px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .dash-sb-news-cat-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
[data-nav-layout="sidebar"] .dash-sb-news-cat-chip .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .dash-sb-news-date-float {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 56px;
    text-align: center;
    border-radius: 10px;
    padding: 7px 0 8px;
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(10px) saturate(150%);
    backdrop-filter: blur(10px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 4px 14px -4px rgba(15, 23, 42, 0.25);
}
[data-nav-layout="sidebar"] .dash-sb-news-date-float .dash-sb-date-day { color: var(--ind-700); font-size: 24px; }
[data-nav-layout="sidebar"] .dash-sb-news-date-float .dash-sb-date-month { color: var(--ind-600); margin-top: 4px; }
[data-nav-layout="sidebar"] .dash-sb-news-article-body {
    padding: 16px 20px 18px;
    background: linear-gradient(135deg, rgba(99,102,241,.04) 0%, rgba(217,70,239,.04) 100%);
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-news-article-link:hover .dash-sb-news-article-body {
    background: linear-gradient(135deg, rgba(99,102,241,.08) 0%, rgba(217,70,239,.08) 100%);
}
[data-nav-layout="sidebar"] .dash-sb-news-article-body .dash-sb-news-title { margin: 6px 0 8px; }
[data-nav-layout="sidebar"] .dash-sb-news-article-body .dash-sb-news-body {
    -webkit-line-clamp: 2;
}
[data-nav-layout="sidebar"] .dash-sb-news-article-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
}
[data-nav-layout="sidebar"] .dash-sb-news-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .dash-sb-news-meta-chip .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .dash-sb-news-article-footer .dash-sb-news-readmore {
    margin-left: auto;
}

/* Categories list (right column) -------------------------------- */
[data-nav-layout="sidebar"] .dash-sb-cat-list { padding: 6px 0; }
[data-nav-layout="sidebar"] .dash-sb-cat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    color: var(--fg-2);
    text-decoration: none;
    transition: background 120ms;
}
[data-nav-layout="sidebar"] .dash-sb-cat-row:hover { background: var(--gray-50); color: var(--fg-1); }
[data-nav-layout="sidebar"] .dash-sb-cat-row.is-active {
    background: rgba(99, 102, 241, 0.08);
    color: var(--ind-700);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .dash-sb-cat-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}
[data-nav-layout="sidebar"] .dash-sb-cat-name .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .dash-sb-cat-dot {
    width: 10px; height: 10px;
    border-radius: 999px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-cat-count {
    font-size: 11px;
    color: var(--fg-3);
    font-variant-numeric: tabular-nums;
}

/* Recent comments rows ----------------------------------------- */
[data-nav-layout="sidebar"] .dash-sb-comment-row {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-comment-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-comment-row:hover { background: rgba(249,115,22,.04); }
[data-nav-layout="sidebar"] .dash-sb-comment-avatar {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fcd34d, #b45309);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .dash-sb-comment-body { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-comment-quote {
    font-size: 12.5px;
    color: var(--fg-2);
    line-height: 1.45;
    margin: 0 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-comment-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .dash-sb-comment-author { color: var(--fg-2); font-weight: 600; }
[data-nav-layout="sidebar"] .dash-sb-comment-on {
    font-size: 10.5px;
    color: var(--ind-600);
    margin-top: 4px;
}

/* Pagination wrapper ------------------------------------------- */
[data-nav-layout="sidebar"] .dash-sb-pagination { padding: 12px 18px; }

/* Section grid (docs index, roadmap) --------------------------- */
[data-nav-layout="sidebar"] .dash-sb-section-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
@media (max-width: 1024px) {
    [data-nav-layout="sidebar"] .dash-sb-section-grid { grid-template-columns: 1fr; }
}

/* Doc row (chevron-tail rows for guide lists, roadmap features) */
[data-nav-layout="sidebar"] .dash-sb-doc-list { padding: 4px 0; }
[data-nav-layout="sidebar"] .dash-sb-doc-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border-1);
    text-decoration: none;
    color: inherit;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-doc-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .dash-sb-doc-row:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .dash-sb-doc-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .dash-sb-doc-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.3;
}
[data-nav-layout="sidebar"] .dash-sb-doc-desc {
    font-size: 12px;
    color: var(--fg-3);
    margin-top: 3px;
    line-height: 1.5;
}
[data-nav-layout="sidebar"] .dash-sb-doc-arrow {
    font-size: 16px;
    color: var(--fg-4);
    flex-shrink: 0;
    margin-top: 2px;
    transition: transform 140ms, color 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-doc-row:hover .dash-sb-doc-arrow {
    transform: translateX(2px);
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .dash-sb-title-icon {
    font-size: 18px;
    color: var(--accent-color, var(--ind-600));
    vertical-align: -3px;
    margin-right: 4px;
}

/* Roadmap intro/bullet ---------------------------------------- */
[data-nav-layout="sidebar"] .dash-sb-roadmap-intro {
    padding: 12px 18px 0;
}
[data-nav-layout="sidebar"] .dash-sb-roadmap-row {
    align-items: flex-start;
}
[data-nav-layout="sidebar"] .dash-sb-roadmap-bullet {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--accent-color, var(--ind-600));
    margin-top: 7px;
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent-color, #4f46e5) 18%, transparent);
}

/* Prose blocks (intro paragraphs, help cards) ------------------ */
[data-nav-layout="sidebar"] .dash-sb-prose {
    padding: 14px 18px 16px;
    color: var(--fg-2);
    font-size: 13.5px;
    line-height: 1.6;
}
[data-nav-layout="sidebar"] .dash-sb-prose p { margin: 0 0 8px; }
[data-nav-layout="sidebar"] .dash-sb-prose p:last-child { margin: 0; }
[data-nav-layout="sidebar"] .dash-sb-prose strong { color: var(--fg-1); }
[data-nav-layout="sidebar"] .dash-sb-prose a {
    color: var(--ind-600);
    text-decoration: none;
    border-bottom: 1px dashed var(--ind-600);
}
[data-nav-layout="sidebar"] .dash-sb-prose a:hover {
    color: var(--ind-700);
    border-bottom-style: solid;
}

/* ════════════════════════════════════════════════════════════════════
   News index — magazine-style redesign.
   Tiered layout: featured hero card + responsive 2-column tile grid.
   ════════════════════════════════════════════════════════════════════ */

/* ── Category strip (above the main grid) ─────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-cat-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .dash-sb-cat-pill {
    --cat-color: var(--ind-600);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px 7px 10px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-2);
    text-decoration: none;
    transition: all 140ms;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .dash-sb-cat-pill .material-symbols-outlined { font-size: 15px; color: var(--cat-color); }
[data-nav-layout="sidebar"] .dash-sb-cat-pill:hover {
    background: color-mix(in oklab, var(--cat-color) 8%, #fff);
    border-color: color-mix(in oklab, var(--cat-color) 35%, transparent);
    color: var(--fg-1);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px -4px color-mix(in oklab, var(--cat-color) 40%, transparent);
}
[data-nav-layout="sidebar"] .dash-sb-cat-pill.is-active {
    background: var(--cat-color);
    border-color: var(--cat-color);
    color: #fff;
    box-shadow: 0 4px 14px -4px color-mix(in oklab, var(--cat-color) 60%, transparent);
}
[data-nav-layout="sidebar"] .dash-sb-cat-pill.is-active .material-symbols-outlined { color: #fff; }
[data-nav-layout="sidebar"] .dash-sb-cat-pill-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
    background: rgba(0, 0, 0, 0.06);
    color: inherit;
}
[data-nav-layout="sidebar"] .dash-sb-cat-pill.is-active .dash-sb-cat-pill-count {
    background: rgba(255, 255, 255, 0.22);
}

/* ── Featured article card (full-width, big background) ───────────── */
[data-nav-layout="sidebar"] .dash-sb-news-feature {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.18);
    transition: transform 220ms var(--ease-std), box-shadow 220ms var(--ease-std);
}
[data-nav-layout="sidebar"] .dash-sb-news-feature:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px -10px rgba(15, 23, 42, 0.22);
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-cover {
    position: relative;
    min-height: 380px;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px;
    color: #fff;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-scrim {
    position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(12,30,56,.15) 0%, rgba(12,30,56,.0) 30%, rgba(12,30,56,.85) 100%),
        linear-gradient(15deg, rgba(74,4,78,.35), rgba(12,30,56,.0) 60%);
    pointer-events: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-glyph {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -55%);
    font-size: 96px;
    color: rgba(255, 255, 255, 0.15);
    pointer-events: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-meta-top {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    z-index: 1;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-body {
    position: relative;
    z-index: 1;
    max-width: 720px;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-meta .material-symbols-outlined { font-size: 13px; vertical-align: -2px; margin-right: 3px; }
[data-nav-layout="sidebar"] .dash-sb-news-feature-meta-dot { color: rgba(255, 255, 255, 0.45); }
[data-nav-layout="sidebar"] .dash-sb-news-feature-title {
    font-family: var(--ff-serif);
    font-size: 36px;
    line-height: 1.05;
    margin: 0 0 10px;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.4);
    letter-spacing: -0.01em;
    font-weight: 400;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-excerpt {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.18);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #fff;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-news-feature:hover .dash-sb-news-feature-cta {
    background: rgba(255, 255, 255, 0.26);
}
[data-nav-layout="sidebar"] .dash-sb-news-feature-cta .material-symbols-outlined { font-size: 14px; }

@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .dash-sb-news-feature-cover { min-height: 280px; padding: 18px; }
    [data-nav-layout="sidebar"] .dash-sb-news-feature-title { font-size: 26px; }
}

/* ── Magazine tile grid ───────────────────────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-news-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .dash-sb-news-grid { grid-template-columns: 1fr; }
}

[data-nav-layout="sidebar"] .dash-sb-news-tile {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    transition: transform 180ms var(--ease-std), box-shadow 180ms var(--ease-std), border-color 180ms;
}
[data-nav-layout="sidebar"] .dash-sb-news-tile:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--ind-600) 30%, var(--border-1));
    box-shadow: 0 14px 30px -12px rgba(15, 23, 42, 0.18);
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-cover {
    position: relative;
    height: 168px;
    background-size: cover;
    background-position: center;
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-glyph {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -55%);
    font-size: 56px;
    color: rgba(255, 255, 255, 0.20);
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-cat {
    position: absolute;
    top: 12px; left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px -2px rgba(0,0,0,.35);
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-cat .material-symbols-outlined { font-size: 11px; }
[data-nav-layout="sidebar"] .dash-sb-news-tile-body { padding: 14px 16px 16px; }
[data-nav-layout="sidebar"] .dash-sb-news-tile-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--fg-3);
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .dash-sb-news-tile-meta .material-symbols-outlined { font-size: 12px; vertical-align: -2px; margin-right: 2px; }
[data-nav-layout="sidebar"] .dash-sb-news-tile-title {
    font-family: var(--ff-serif);
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 6px;
    color: var(--fg-1);
    font-weight: 400;
    letter-spacing: -0.005em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 140ms;
}
[data-nav-layout="sidebar"] .dash-sb-news-tile:hover .dash-sb-news-tile-title { color: var(--ind-700); }
[data-nav-layout="sidebar"] .dash-sb-news-tile-excerpt {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--fg-2);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Trending discussion (right column) ───────────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-news-trend {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px -8px rgba(234, 88, 12, 0.35);
    background: #fff;
    border: 1px solid var(--border-1);
    border-top: 3px solid #ea580c;
    transition: transform 180ms var(--ease-std), box-shadow 180ms var(--ease-std);
}
[data-nav-layout="sidebar"] .dash-sb-news-trend:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -8px rgba(234, 88, 12, 0.4);
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-link { display: block; color: inherit; text-decoration: none; }
[data-nav-layout="sidebar"] .dash-sb-news-trend-cover {
    position: relative;
    height: 120px;
    background-size: cover;
    background-position: center;
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-scrim {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.45) 100%);
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-pill {
    position: absolute;
    top: 12px; left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: linear-gradient(135deg, #f97316, #c2410c);
    border-radius: 999px;
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px -3px rgba(234, 88, 12, .55);
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-pill .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .dash-sb-news-trend-body { padding: 14px 16px 16px; }
[data-nav-layout="sidebar"] .dash-sb-news-trend-meta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    font-weight: 700;
    color: #c2410c;
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-meta .material-symbols-outlined { font-size: 13px; }
[data-nav-layout="sidebar"] .dash-sb-news-trend-title {
    font-family: var(--ff-serif);
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 8px;
    color: var(--fg-1);
    font-weight: 400;
}
[data-nav-layout="sidebar"] .dash-sb-news-trend-cta {
    font-size: 12px;
    color: #ea580c;
    font-weight: 700;
}

/* ── By the numbers (bottom of right column) ──────────────────────── */
[data-nav-layout="sidebar"] .dash-sb-news-numbers {
    background: linear-gradient(135deg, var(--ind-900), var(--eq-950, #4a044e));
    color: #fff;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 8px 20px -8px rgba(67, 56, 202, 0.5);
}
[data-nav-layout="sidebar"] .dash-sb-news-numbers-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
[data-nav-layout="sidebar"] .dash-sb-news-numbers-stat { text-align: center; }
[data-nav-layout="sidebar"] .dash-sb-news-numbers-value {
    font-family: var(--ff-serif);
    font-size: 26px;
    line-height: 1;
    color: #fff;
}
[data-nav-layout="sidebar"] .dash-sb-news-numbers-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.70);
    margin-top: 5px;
}

/* ════════════════════════════════════════════════════════════════════
   Docs index — content + sticky TOC layout (matches the internal docs
   pages' design language). Reuses .docs-section / .docs-note classes
   already defined in resources/css/app.css.
   ════════════════════════════════════════════════════════════════════ */

[data-nav-layout="sidebar"] .docs-page-grid {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) 220px;
    gap: 28px;
    align-items: start;
}
@media (max-width: 1100px) {
    [data-nav-layout="sidebar"] .docs-page-grid {
        grid-template-columns: 220px minmax(0, 1fr);
    }
}
@media (max-width: 900px) {
    [data-nav-layout="sidebar"] .docs-page-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Left docs nav — mirrors the right TOC: sticky, white card, scrolls
   independently of the page when content is taller than the viewport. */
[data-nav-layout="sidebar"] .docs-leftnav { display: block; }
@media (max-width: 900px) {
    [data-nav-layout="sidebar"] .docs-leftnav { display: none; }
}
[data-nav-layout="sidebar"] .docs-leftnav-sticky {
    position: sticky;
    top: 84px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

[data-nav-layout="sidebar"] .docs-content {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 16px;
    padding: 28px 32px 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .docs-content { padding: 20px 18px 8px; }
}

/* Inline icon next to a doc-section heading, sized to read alongside it. */
[data-nav-layout="sidebar"] .docs-content h3 .docs-h-icon,
[data-nav-layout="sidebar"] .docs-content h2 .docs-h-icon {
    color: var(--ind-600);
    margin-right: 8px;
    vertical-align: -3px;
}
[data-nav-layout="sidebar"] .docs-content h3 .docs-h-icon.material-symbols-outlined,
[data-nav-layout="sidebar"] .docs-content h2 .docs-h-icon.material-symbols-outlined {
    font-size: 20px;
}
[data-nav-layout="sidebar"] .docs-content h3 .docs-h-icon.fa-horse,
[data-nav-layout="sidebar"] .docs-content h3 i.docs-h-icon {
    font-size: 16px;
    width: 20px;
    text-align: center;
    vertical-align: 0;
}

/* Right-side TOC */
[data-nav-layout="sidebar"] .docs-toc {
    display: block;
}
@media (max-width: 900px) {
    [data-nav-layout="sidebar"] .docs-toc { display: none; }
}
[data-nav-layout="sidebar"] .docs-toc-sticky {
    position: sticky;
    top: 84px; /* below the topbar */
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    padding: 16px 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}
[data-nav-layout="sidebar"] .docs-toc-label {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fg-3);
    margin: 0 0 10px;
    padding: 0 8px;
}
[data-nav-layout="sidebar"] .docs-toc-list {
    display: flex;
    flex-direction: column;
    font-size: 12.5px;
}
[data-nav-layout="sidebar"] .docs-toc-link {
    display: block;
    padding: 5px 8px 5px 12px;
    border-left: 2px solid transparent;
    color: var(--fg-3);
    text-decoration: none;
    line-height: 1.35;
    transition: color 120ms, border-color 120ms;
}
[data-nav-layout="sidebar"] .docs-toc-link:hover {
    color: var(--fg-1);
    border-left-color: var(--gray-300);
}
[data-nav-layout="sidebar"] .docs-toc-link-h3 {
    padding-left: 24px;
    font-size: 12px;
}

/* ════════════════════════════════════════════════════════════════════
   Stable profile (sidebar variant) — hero + avatar overlap + stacked
   sections (Custom profile / Horses / Facilities / Achievements).
   ════════════════════════════════════════════════════════════════════ */

/* Make the profile hero a touch taller so the banner image breathes. */
[data-nav-layout="sidebar"] .profile-hero {
    min-height: 240px;
    background-size: cover;
    background-position: center;
}
[data-nav-layout="sidebar"] .profile-hero-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    max-height: 140px;
    max-width: 60%;
    width: auto;
    z-index: 2;
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.4));
    opacity: 0.92;
    pointer-events: none;
}

/* Profile info bar — overlaps the hero by way of negative margin. */
[data-nav-layout="sidebar"] .profile-info-bar {
    position: relative;
    margin-top: -56px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 16px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.18);
    z-index: 2;
}
[data-nav-layout="sidebar"] .profile-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    margin-top: -42px;
}
[data-nav-layout="sidebar"] .profile-avatar {
    width: 96px;
    height: 96px;
    border-radius: 999px;
    border: 4px solid #fff;
    box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.25);
    object-fit: cover;
    background: #fff;
}
[data-nav-layout="sidebar"] .profile-avatar-badge {
    position: absolute;
    bottom: -6px;
    right: -8px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: 0 4px 12px -3px rgba(15, 23, 42, 0.25);
}
[data-nav-layout="sidebar"] .profile-info-meta {
    flex: 1;
    min-width: 0;
}
[data-nav-layout="sidebar"] .profile-info-name {
    font-family: var(--ff-serif);
    font-size: 28px;
    line-height: 1.1;
    color: var(--fg-1);
    margin: 0;
    font-weight: 400;
    letter-spacing: -0.01em;
}
[data-nav-layout="sidebar"] .profile-info-tag {
    font-size: 16px;
    color: var(--fg-3);
    font-family: var(--ff-mono);
    margin-left: 6px;
}
[data-nav-layout="sidebar"] .profile-info-status {
    font-size: 13px;
    color: var(--fg-3);
    font-style: italic;
    margin: 4px 0 0;
}
[data-nav-layout="sidebar"] .profile-info-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 8px;
}
[data-nav-layout="sidebar"] .profile-info-meta-item {
    font-size: 12px;
    color: var(--fg-3);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
[data-nav-layout="sidebar"] .profile-info-meta-item .material-symbols-outlined,
[data-nav-layout="sidebar"] .profile-info-meta-item i { font-size: 13px; color: var(--ind-600); }
[data-nav-layout="sidebar"] .profile-info-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .profile-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--border-1);
    color: var(--fg-2);
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 140ms, border-color 140ms;
}
[data-nav-layout="sidebar"] .profile-action-btn:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .profile-action-btn.is-primary {
    background: var(--grad-primary);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 14px -4px rgba(99, 102, 241, 0.55);
}
[data-nav-layout="sidebar"] .profile-action-btn.is-primary:hover { filter: brightness(1.08); }
[data-nav-layout="sidebar"] .profile-action-btn .material-symbols-outlined { font-size: 16px; }

/* Quick stats strip on the profile (4 cells; reuses .dash-sb-stat). */
[data-nav-layout="sidebar"] .profile-quickstats { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 768px) { [data-nav-layout="sidebar"] .profile-quickstats { grid-template-columns: repeat(2, 1fr); } }

/* Custom profile HTML (user-supplied markup, scoped inside this card). */
[data-nav-layout="sidebar"] .profile-custom-html {
    padding: 18px 22px;
    color: var(--fg-2);
    line-height: 1.65;
    font-size: 14px;
}
[data-nav-layout="sidebar"] .profile-custom-html h2,
[data-nav-layout="sidebar"] .profile-custom-html h3,
[data-nav-layout="sidebar"] .profile-custom-html h4 {
    font-family: var(--ff-serif);
    color: var(--fg-1);
    margin: 14px 0 8px;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .profile-custom-html h2 { font-size: 22px; }
[data-nav-layout="sidebar"] .profile-custom-html h3 { font-size: 18px; }
[data-nav-layout="sidebar"] .profile-custom-html p { margin: 0 0 10px; }
[data-nav-layout="sidebar"] .profile-custom-html a { color: var(--ind-600); }

/* View toggle (grid / list) in the Horses card-head right-side. */
[data-nav-layout="sidebar"] .profile-view-toggle {
    display: inline-flex;
    background: var(--gray-100);
    border-radius: 8px;
    padding: 2px;
}
[data-nav-layout="sidebar"] .profile-view-toggle button {
    border: 0;
    background: transparent;
    color: var(--fg-3);
    padding: 5px 9px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .profile-view-toggle button.is-active {
    background: #fff;
    color: var(--fg-1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
[data-nav-layout="sidebar"] .profile-view-toggle .material-symbols-outlined { font-size: 18px; }

/* Filter row under the Horses card-head. */
[data-nav-layout="sidebar"] .profile-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .profile-filter-search {
    position: relative;
    flex: 1 1 200px;
    min-width: 200px;
}
[data-nav-layout="sidebar"] .profile-filter-search .material-symbols-outlined {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--fg-4);
    font-size: 18px;
}
[data-nav-layout="sidebar"] .profile-filter-search input,
[data-nav-layout="sidebar"] .profile-filter-select {
    width: 100%;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--fg-1);
    font-family: var(--ff-sans);
    outline: none;
    transition: border-color 120ms, box-shadow 120ms;
}
[data-nav-layout="sidebar"] .profile-filter-search input { padding-left: 34px; }
[data-nav-layout="sidebar"] .profile-filter-select {
    flex: 0 0 auto;
    width: auto;
    min-width: 130px;
    cursor: pointer;
    /* Strip the OS-native arrow and paint our own chevron so the control
       looks the same on every platform. */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 32px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px 14px;
}
[data-nav-layout="sidebar"] .profile-filter-select:hover {
    border-color: var(--gray-300);
}
[data-nav-layout="sidebar"] .profile-filter-search input:focus,
[data-nav-layout="sidebar"] .profile-filter-select:focus {
    border-color: var(--sm-400);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.18);
}

/* Horse grid (default) and list mode. */
[data-nav-layout="sidebar"] .profile-horse-grid {
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
[data-nav-layout="sidebar"] .profile-horse-card {
    display: block;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 160ms var(--ease-std), box-shadow 160ms var(--ease-std), border-color 160ms;
}
[data-nav-layout="sidebar"] .profile-horse-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.18);
    border-color: color-mix(in oklab, var(--ind-600) 25%, var(--border-1));
}
[data-nav-layout="sidebar"] .profile-horse-image-wrap {
    position: relative;
    background: linear-gradient(135deg, #fef3c7, #fcd34d);
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .profile-horse-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
[data-nav-layout="sidebar"] .profile-horse-status-row {
    position: absolute;
    bottom: 8px;
    left: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
[data-nav-layout="sidebar"] .profile-horse-status {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.25);
}
[data-nav-layout="sidebar"] .profile-horse-status .material-symbols-outlined { font-size: 11px; }
[data-nav-layout="sidebar"] .profile-horse-body { padding: 10px 12px 12px; }
[data-nav-layout="sidebar"] .profile-horse-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.25;
    margin-bottom: 3px;
}
[data-nav-layout="sidebar"] .profile-horse-meta {
    font-size: 11.5px;
    color: var(--fg-3);
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

/* ── List-mode horse rows — table-style layout with all columns ──── */
[data-nav-layout="sidebar"] .profile-horse-grid.is-list {
    padding: 0;
    background: #fff;
    border-top: 1px solid var(--border-1);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card {
    display: grid;
    grid-template-columns: 88px minmax(220px, 2fr) 1.4fr 0.7fr 0.9fr 1fr 1fr 1.6fr;
    align-items: center;
    gap: 14px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--border-1);
    border-radius: 0;
    background: transparent;
    border-left: 0;
    border-right: 0;
    border-top: 0;
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card:hover {
    background: var(--gray-50);
    transform: none;
    box-shadow: none;
    border-color: transparent transparent var(--border-1) transparent;
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-image-wrap {
    width: 88px;
    height: 56px;
    aspect-ratio: auto;
    border-radius: 8px;
    flex-shrink: 0;
    border: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-status-row { display: none; }
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-body { padding: 0; min-width: 0; }
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-meta-grid { display: none; }

/* List-only columns — hidden in grid mode, shown in list mode. */
[data-nav-layout="sidebar"] .profile-horse-col { display: none; min-width: 0; }
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col { display: block; }
/* Per-row labels hidden in list mode (column header row above takes over). */
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-label { display: none; }

/* List header row — shares the same column template as the body rows. */
[data-nav-layout="sidebar"] .profile-horse-list-head {
    display: grid;
    grid-template-columns: 88px minmax(220px, 2fr) 1.4fr 0.7fr 0.9fr 1fr 1fr 1.6fr;
    align-items: center;
    gap: 14px;
    padding: 10px 18px;
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
    position: sticky;
    top: 0;
    z-index: 1;
}
[data-nav-layout="sidebar"] .profile-horse-list-head-cell {
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .profile-horse-col-value {
    font-size: 12.5px;
    color: var(--fg-2);
    line-height: 1.35;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .profile-horse-col-muted { color: var(--fg-4); }
[data-nav-layout="sidebar"] .profile-horse-col-status-chips { flex-wrap: wrap; gap: 4px; }
[data-nav-layout="sidebar"] .profile-horse-col-status-chips .profile-horse-status {
    font-size: 9.5px;
    padding: 2px 7px;
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
}

/* Identity block extras (brand badge, name, sex glyph, tagline). */
[data-nav-layout="sidebar"] .profile-horse-name {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .profile-horse-brand-img {
    height: 16px;
    width: auto;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .profile-horse-brand-text {
    font-size: 9.5px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    letter-spacing: .04em;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .profile-horse-name-text { color: var(--fg-1); }
[data-nav-layout="sidebar"] .profile-horse-sex { font-size: 14px; flex-shrink: 0; }
[data-nav-layout="sidebar"] .profile-horse-tagline {
    font-size: 11px;
    color: var(--fg-3);
    font-style: italic;
    margin: 3px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Keuring pill — neutralize legacy badge classes inside the new chrome. */
[data-nav-layout="sidebar"] .profile-horse-keuring-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(99, 102, 241, 0.10);
    color: var(--ind-700);
}

/* Responsive list mode — drop secondary columns as the viewport tightens.
   Header row mirrors the body row at each breakpoint so columns align. */
@media (max-width: 1200px) {
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head {
        grid-template-columns: 88px minmax(200px, 2fr) 1.2fr 0.9fr 1fr 1.6fr;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-breed,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-keuring,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head-cell.profile-horse-col-breed,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head-cell.profile-horse-col-keuring {
        display: none;
    }
}
@media (max-width: 900px) {
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head {
        grid-template-columns: 88px 1fr 1.4fr;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-energy,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-discipline,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head-cell.profile-horse-col-energy,
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head-cell.profile-horse-col-discipline {
        display: none;
    }
}
@media (max-width: 640px) {
    /* Below 640px the row collapses to a stacked layout; the header row
       is hidden because column-by-column reading no longer applies. */
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card {
        grid-template-columns: 64px 1fr;
        row-gap: 6px;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-list-head { display: none; }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-image-wrap { width: 64px; height: 44px; }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-age {
        grid-column: 2 / -1;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-status {
        grid-column: 1 / -1;
    }
    /* On stacked mobile, bring the per-row labels back so each value is identifiable. */
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-label { display: block; }
}

/* Facility grid */
[data-nav-layout="sidebar"] .profile-facility-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .profile-facility-card {
    display: block;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 160ms, box-shadow 160ms, border-color 160ms;
}
[data-nav-layout="sidebar"] .profile-facility-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.18);
    border-color: color-mix(in oklab, #15803d 25%, var(--border-1));
}
[data-nav-layout="sidebar"] .profile-facility-banner {
    height: 100px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .profile-facility-banner.has-color .material-symbols-outlined {
    font-size: 40px;
    color: rgba(255, 255, 255, 0.6);
}
[data-nav-layout="sidebar"] .profile-facility-body { padding: 12px 14px; }
[data-nav-layout="sidebar"] .profile-facility-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .profile-facility-meta {
    font-size: 11.5px;
    color: var(--fg-3);
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .profile-facility-meta .material-symbols-outlined,
[data-nav-layout="sidebar"] .profile-facility-meta i { font-size: 12px; }

/* Achievements section */
[data-nav-layout="sidebar"] .profile-achievements {
    padding: 0 0 8px;
}
[data-nav-layout="sidebar"] .profile-achievements-block + .profile-achievements-block {
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .profile-achievements-label {
    padding: 14px 18px 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .profile-badge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
    padding: 0 18px 14px;
}
[data-nav-layout="sidebar"] .profile-badge {
    text-align: center;
    padding: 12px 10px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    /* Center content both axes. Lives in the stylesheet (not inline) so any
       future Alpine x-show on the tile won't wipe display:flex — same gotcha
       as .profile-achievement-card. */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .profile-badge img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    margin: 0 auto 6px;
}
[data-nav-layout="sidebar"] .profile-badge .material-symbols-outlined {
    font-size: 36px;
    color: var(--eq-700);
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .profile-badge-name {
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.25;
}
[data-nav-layout="sidebar"] .profile-badge-date {
    font-size: 10.5px;
    color: var(--fg-3);
    margin-top: 3px;
}

[data-nav-layout="sidebar"] .profile-achievement-list {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
}
/* Year-grid achievement cards. Flex/center props live in the stylesheet
   (not inline) because Alpine's x-show toggle wipes inline `display` when
   it reveals the card, which would otherwise drop us back to block layout
   and break vertical centering. min-height gives each card enough vertical
   room for `justify-content: center` to be visible — cards with thin
   content otherwise collapse to content height and "centered" looks the
   same as top-aligned. */
[data-nav-layout="sidebar"] .profile-achievement-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 110px;
}
[data-nav-layout="sidebar"] .profile-achievement-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}
[data-nav-layout="sidebar"] .profile-achievement-row + .profile-achievement-row {
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .profile-achievement-icon {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .profile-achievement-icon .material-symbols-outlined,
[data-nav-layout="sidebar"] .profile-achievement-icon i { font-size: 14px; }
[data-nav-layout="sidebar"] .profile-achievement-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .profile-achievement-title { font-size: 13px; font-weight: 700; color: var(--fg-1); line-height: 1.25; }
[data-nav-layout="sidebar"] .profile-achievement-sub { font-size: 11.5px; color: var(--fg-3); margin-top: 2px; }

/* Send-message modal */
[data-nav-layout="sidebar"] .profile-modal {
    position: fixed; inset: 0;
    background: rgba(8, 14, 24, 0.55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 16px;
}
[data-nav-layout="sidebar"] .profile-modal-card {
    background: #fff;
    border-radius: 14px;
    width: 100%;
    max-width: 520px;
    box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .profile-modal-head {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-1);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
[data-nav-layout="sidebar"] .profile-modal-head h3 {
    font-family: var(--ff-serif);
    font-size: 18px;
    margin: 0;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .profile-modal-head button {
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--fg-3);
    padding: 4px;
}
[data-nav-layout="sidebar"] .profile-modal-body {
    padding: 16px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
[data-nav-layout="sidebar"] .profile-modal-body label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .profile-modal-body input,
[data-nav-layout="sidebar"] .profile-modal-body textarea {
    padding: 9px 12px;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    font-size: 13px;
    font-family: var(--ff-sans);
    color: var(--fg-1);
    outline: none;
}
[data-nav-layout="sidebar"] .profile-modal-body input:focus,
[data-nav-layout="sidebar"] .profile-modal-body textarea:focus {
    border-color: var(--sm-400);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.18);
}
[data-nav-layout="sidebar"] .profile-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
}

/* Custom profile card — no .dash-sb-card-head, no accent strip; content
   pads naturally and the user's own headings do all the labelling. */
[data-nav-layout="sidebar"] .profile-custom-card {
    border-top-width: 1px;  /* override accent class top-border if added later */
}
[data-nav-layout="sidebar"] .profile-custom-card .profile-custom-html {
    padding: 22px;
}

/* Filter empty state + match counter (Horses card). */
[data-nav-layout="sidebar"] .profile-horse-empty {
    padding: 32px 18px;
    text-align: center;
    color: var(--fg-3);
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
[data-nav-layout="sidebar"] .profile-horse-empty .material-symbols-outlined {
    font-size: 36px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .profile-horse-empty-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .profile-horse-count {
    padding: 10px 18px;
    text-align: right;
    font-size: 11px;
    color: var(--fg-3);
    border-top: 1px solid var(--border-1);
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .profile-horse-count > span { font-weight: 700; color: var(--fg-1); }

/* Player-defined category strip on the profile Horses card. Each pill takes
   the user's category color via a --cat-color CSS variable. */
[data-nav-layout="sidebar"] .profile-cat-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 18px 4px;
}
[data-nav-layout="sidebar"] .profile-cat-pill {
    --cat-color: var(--ind-600);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px 6px 10px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-2);
    cursor: pointer;
    transition: all 140ms;
    white-space: nowrap;
    font-family: var(--ff-sans);
}
[data-nav-layout="sidebar"] .profile-cat-pill .material-symbols-outlined { font-size: 14px; color: var(--cat-color); }
[data-nav-layout="sidebar"] .profile-cat-pill:hover {
    background: color-mix(in oklab, var(--cat-color) 8%, #fff);
    border-color: color-mix(in oklab, var(--cat-color) 35%, transparent);
    color: var(--fg-1);
    transform: translateY(-1px);
}
[data-nav-layout="sidebar"] .profile-cat-pill.is-active {
    background: var(--cat-color);
    border-color: var(--cat-color);
    color: #fff;
    box-shadow: 0 4px 14px -4px color-mix(in oklab, var(--cat-color) 60%, transparent);
}
[data-nav-layout="sidebar"] .profile-cat-pill.is-active .material-symbols-outlined { color: #fff; }
[data-nav-layout="sidebar"] .profile-cat-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--cat-color);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .profile-cat-pill.is-active .profile-cat-dot {
    background: #fff;
}
[data-nav-layout="sidebar"] .profile-cat-pill-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
    background: rgba(0, 0, 0, 0.06);
    color: inherit;
}
[data-nav-layout="sidebar"] .profile-cat-pill.is-active .profile-cat-pill-count {
    background: rgba(255, 255, 255, 0.22);
}

/* ── Achievements: summary strip + per-year accordion ────────────── */
[data-nav-layout="sidebar"] .profile-ach-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 14px 18px 4px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .profile-ach-summary { grid-template-columns: repeat(2, 1fr); } }
[data-nav-layout="sidebar"] .profile-ach-summary-tile {
    --tile-color: var(--ind-600);
    background: color-mix(in oklab, var(--tile-color) 8%, #fff);
    border: 1px solid color-mix(in oklab, var(--tile-color) 22%, transparent);
    border-radius: 12px;
    padding: 12px 14px;
}
[data-nav-layout="sidebar"] .profile-ach-summary-value {
    font-family: var(--ff-serif);
    font-size: 24px;
    line-height: 1;
    color: var(--tile-color);
}
[data-nav-layout="sidebar"] .profile-ach-summary-value-text {
    font-size: 14px;
    font-weight: 700;
    color: var(--tile-color);
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .profile-ach-summary-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 4px;
}

/* Achievements filter row (discipline + type) */
[data-nav-layout="sidebar"] .profile-ach-filter-row {
    display: flex;
    gap: 8px;
    padding: 12px 18px;
    flex-wrap: wrap;
    border-top: 1px solid var(--border-1);
}

/* Year accordion */
[data-nav-layout="sidebar"] .profile-ach-year + .profile-ach-year { border-top: 1px solid var(--border-1); }
[data-nav-layout="sidebar"] .profile-ach-year-head {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 16px;
    background: var(--gray-50);
    border: 0;
    border-top: 1px solid var(--border-1);
    cursor: pointer;
    text-align: left;
    font-family: var(--ff-sans);
    transition: background 120ms;
}
[data-nav-layout="sidebar"] .profile-ach-year:first-of-type .profile-ach-year-head { border-top: 1px solid var(--border-1); }
[data-nav-layout="sidebar"] .profile-ach-year-head:hover { background: var(--gray-100); }
[data-nav-layout="sidebar"] .profile-ach-year-chev {
    font-size: 16px;
    color: var(--fg-3);
    transition: transform 200ms;
}
[data-nav-layout="sidebar"] .profile-ach-year-label {
    font-family: var(--ff-serif);
    font-size: 14px;
    color: var(--fg-1);
    flex: 1;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .profile-ach-year-count {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--fg-3);
    background: rgba(0, 0, 0, 0.06);
    padding: 1px 8px;
    border-radius: 999px;
}

/* Header info-bar links — same look as the static meta items, but they
   pulse a hint that they're clickable on hover. Anchor scroll lands the
   target section just below the sticky topbar. */
[data-nav-layout="sidebar"] .profile-info-meta-item.is-link {
    text-decoration: none;
    cursor: pointer;
    transition: color 120ms;
}
[data-nav-layout="sidebar"] .profile-info-meta-item.is-link:hover {
    color: var(--ind-700);
}
[data-nav-layout="sidebar"] .profile-info-meta-item.is-link:hover .material-symbols-outlined,
[data-nav-layout="sidebar"] .profile-info-meta-item.is-link:hover i {
    color: var(--ind-700);
}

/* Anchor offset so #horses / #facilities / #achievements clear the sticky
   topbar (≈64px) when scrolled into view. */
[data-nav-layout="sidebar"] #horses,
[data-nav-layout="sidebar"] #facilities,
[data-nav-layout="sidebar"] #achievements {
    scroll-margin-top: 80px;
}
html[data-nav-layout="sidebar"] { scroll-behavior: smooth; }

/* ── Memorial / deceased state on the horses list ─────────────────── */
[data-nav-layout="sidebar"] .profile-horse-card.is-memorial {
    background: linear-gradient(180deg, transparent 0%, rgba(107, 114, 128, 0.04) 100%);
}
[data-nav-layout="sidebar"] .profile-horse-card.is-memorial .profile-horse-image {
    filter: grayscale(40%);
    opacity: 0.92;
}
[data-nav-layout="sidebar"] .profile-horse-deceased-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #6b7280;
    flex-shrink: 0;
    margin-left: 2px;
}
[data-nav-layout="sidebar"] .profile-horse-deceased-badge .material-symbols-outlined { font-size: 12px; }

/* Memorial column (replaces Status when on the Memorial tab). */
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col-memorial {
    display: none;
}
[data-nav-layout="sidebar"] .profile-horse-grid.is-list:has(.profile-horse-col-memorial) .profile-horse-col-memorial,
[data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card.is-memorial .profile-horse-col-memorial {
    display: block;
}

/* ════════════════════════════════════════════════════════════════════
   Sales dashboard — listing rows + offer rows
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .sales-thumb {
    width: 88px;
    height: 56px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    background: linear-gradient(135deg, #fef3c7, #fcd34d);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .sales-offer-row,
[data-nav-layout="sidebar"] .sales-listing-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border-1);
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .sales-offer-row:last-child,
[data-nav-layout="sidebar"] .sales-listing-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .sales-offer-row:hover,
[data-nav-layout="sidebar"] .sales-listing-row:hover { background: var(--gray-50); }

[data-nav-layout="sidebar"] .sales-offer-meta,
[data-nav-layout="sidebar"] .sales-listing-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .sales-offer-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .sales-offer-name:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .sales-offer-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .sales-offer-sub a { color: var(--ind-600); text-decoration: none; }

[data-nav-layout="sidebar"] .sales-listing-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .sales-listing-name a { color: var(--fg-1); text-decoration: none; }
[data-nav-layout="sidebar"] .sales-listing-name a:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .sales-priority-star {
    font-size: 16px;
    color: #c026d3;
}
[data-nav-layout="sidebar"] .sales-listing-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 3px;
}

[data-nav-layout="sidebar"] .sales-offer-amount,
[data-nav-layout="sidebar"] .sales-listing-pricing {
    text-align: right;
    flex-shrink: 0;
    min-width: 120px;
}
[data-nav-layout="sidebar"] .sales-offer-price,
[data-nav-layout="sidebar"] .sales-price-main {
    font-family: var(--ff-mono);
    font-size: 16px;
    font-weight: 700;
    color: #15803d;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
[data-nav-layout="sidebar"] .sales-offer-expires {
    font-size: 10.5px;
    color: var(--fg-4);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .sales-price-coins {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-family: var(--ff-mono);
    font-weight: 700;
    color: #b45309;
    font-variant-numeric: tabular-nums;
    justify-content: flex-end;
}
[data-nav-layout="sidebar"] .sales-price-coins.is-main { font-size: 16px; }
[data-nav-layout="sidebar"] .sales-price-coins.is-secondary { font-size: 11.5px; }
[data-nav-layout="sidebar"] .sales-price-coins .material-symbols-outlined { font-size: 13px; }
[data-nav-layout="sidebar"] .sales-listing-fee-label {
    font-size: 10.5px;
    color: var(--fg-3);
    margin-top: 1px;
}
[data-nav-layout="sidebar"] .sales-listing-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .sales-flag {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .sales-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    color: var(--fg-2);
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 120ms;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .sales-action-btn:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .sales-action-btn.is-primary {
    background: #fef9c3;
    border-color: #fde047;
    color: #854d0e;
}
[data-nav-layout="sidebar"] .sales-action-btn.is-primary:hover { background: #fde047; }
[data-nav-layout="sidebar"] .sales-action-btn .material-symbols-outlined { font-size: 16px; }

@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .sales-offer-row,
    [data-nav-layout="sidebar"] .sales-listing-row { flex-wrap: wrap; }
    [data-nav-layout="sidebar"] .sales-listing-pricing { text-align: left; min-width: 0; flex: 1; }
    [data-nav-layout="sidebar"] .sales-listing-flags { justify-content: flex-start; }
}

/* ════════════════════════════════════════════════════════════════════
   Facilities index — tile grid + notice banners + quick links
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .dash-sb-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid var(--border-1);
    background: #fff;
    font-size: 13px;
}
[data-nav-layout="sidebar"] .dash-sb-notice .material-symbols-outlined { font-size: 22px; flex-shrink: 0; }
[data-nav-layout="sidebar"] .dash-sb-notice-body { flex: 1; }
[data-nav-layout="sidebar"] .dash-sb-notice-body strong { color: var(--fg-1); }
[data-nav-layout="sidebar"] .dash-sb-notice-body a {
    color: var(--ind-600);
    text-decoration: none;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .dash-sb-notice-body a:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .dash-sb-notice.is-warning {
    background: #fffbeb;
    border-color: #fde68a;
}
[data-nav-layout="sidebar"] .dash-sb-notice.is-warning .material-symbols-outlined { color: #b45309; }
[data-nav-layout="sidebar"] .dash-sb-notice.is-info {
    background: #eef2ff;
    border-color: #c7d2fe;
}
[data-nav-layout="sidebar"] .dash-sb-notice.is-info .material-symbols-outlined { color: #4338ca; }

[data-nav-layout="sidebar"] .facility-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}
[data-nav-layout="sidebar"] .facility-tile {
    display: block;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    transition: transform 160ms var(--ease-std), box-shadow 160ms var(--ease-std), border-color 160ms;
}
[data-nav-layout="sidebar"] .facility-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -10px rgba(15, 23, 42, .18);
    border-color: color-mix(in oklab, #15803d 25%, var(--border-1));
}
[data-nav-layout="sidebar"] .facility-tile.is-locked {
    opacity: 0.6;
    pointer-events: auto;
}
[data-nav-layout="sidebar"] .facility-tile.is-locked .facility-tile-banner img {
    filter: grayscale(100%);
}

[data-nav-layout="sidebar"] .facility-tile-banner {
    position: relative;
    height: 120px;
    background: var(--gray-100);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .facility-tile-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms;
}
[data-nav-layout="sidebar"] .facility-tile:hover .facility-tile-banner img { transform: scale(1.04); }
[data-nav-layout="sidebar"] .facility-tile-banner-scrim {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.40) 100%);
}
[data-nav-layout="sidebar"] .facility-tile-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
[data-nav-layout="sidebar"] .facility-tile-badge .material-symbols-outlined { font-size: 11px; }
[data-nav-layout="sidebar"] .facility-tile-repair-dot {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}
[data-nav-layout="sidebar"] .facility-tile-repair-dot.is-good { background: #22c55e; }
[data-nav-layout="sidebar"] .facility-tile-repair-dot.is-fair { background: #f59e0b; }
[data-nav-layout="sidebar"] .facility-tile-repair-dot.is-poor { background: #ef4444; }

[data-nav-layout="sidebar"] .facility-tile-body { padding: 14px 16px 16px; }
[data-nav-layout="sidebar"] .facility-tile-name {
    font-family: var(--ff-serif);
    font-size: 18px;
    color: var(--fg-1);
    line-height: 1.2;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .facility-tile-sub {
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .facility-tile-sub a { color: var(--ind-600); text-decoration: none; font-weight: 700; }
[data-nav-layout="sidebar"] .facility-tile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .facility-tile-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .facility-tile-meta .material-symbols-outlined { font-size: 14px; color: var(--fg-4); }
[data-nav-layout="sidebar"] .facility-tile-repair-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .facility-tile-repair-pct {
    font-size: 11px;
    font-weight: 800;
    font-family: var(--ff-mono);
}
[data-nav-layout="sidebar"] .facility-tile-repair-pct.is-good { color: #15803d; }
[data-nav-layout="sidebar"] .facility-tile-repair-pct.is-fair { color: #b45309; }
[data-nav-layout="sidebar"] .facility-tile-repair-pct.is-poor { color: #b91c1c; }
[data-nav-layout="sidebar"] .facility-tile-repair-track {
    height: 5px;
    background: var(--gray-200);
    border-radius: 999px;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .facility-tile-repair-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 200ms;
}
[data-nav-layout="sidebar"] .facility-tile-repair-fill.is-good { background: #22c55e; }
[data-nav-layout="sidebar"] .facility-tile-repair-fill.is-fair { background: #f59e0b; }
[data-nav-layout="sidebar"] .facility-tile-repair-fill.is-poor { background: #ef4444; }

[data-nav-layout="sidebar"] .facility-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .facility-quick-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--fg-2);
    text-decoration: none;
    transition: background 120ms, border-color 120ms;
}
[data-nav-layout="sidebar"] .facility-quick-link:hover {
    background: var(--gray-50);
    border-color: var(--gray-300);
    color: var(--fg-1);
}

/* ════════════════════════════════════════════════════════════════════
   Facility detail (visitor variant) — hero, info bar with SoR, detail
   list, public horses tile grid.
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .facility-hero { min-height: 240px; background-position: center; }

[data-nav-layout="sidebar"] .facility-info-bar {
    /* Same overlap pattern as the user profile info bar. */
    margin-top: -56px;
}
[data-nav-layout="sidebar"] .facility-sor {
    margin-top: -42px;
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 14px;
    border: 4px solid #fff;
    background: #1a2236;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.25);
}
[data-nav-layout="sidebar"] .facility-sor-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: 0.7;
}
[data-nav-layout="sidebar"] .facility-sor-value {
    font-family: var(--ff-serif);
    font-size: 30px;
    line-height: 1;
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .facility-sor-value span { font-size: 16px; }
[data-nav-layout="sidebar"] .facility-sor-value.is-good { color: #86efac; }
[data-nav-layout="sidebar"] .facility-sor-value.is-fair { color: #fcd34d; }
[data-nav-layout="sidebar"] .facility-sor-value.is-poor { color: #fca5a5; }

/* Detail list (overview + amenities cards) */
[data-nav-layout="sidebar"] .facility-detail-list {
    display: flex;
    flex-direction: column;
}
[data-nav-layout="sidebar"] .facility-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px;
    border-bottom: 1px solid var(--border-1);
    font-size: 13px;
    color: var(--fg-3);
    gap: 12px;
}
[data-nav-layout="sidebar"] .facility-detail-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .facility-detail-row > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .facility-detail-row .material-symbols-outlined {
    font-size: 16px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .facility-detail-value {
    font-weight: 700;
    color: var(--fg-1);
    text-decoration: none;
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .facility-detail-link { color: var(--ind-600); }
[data-nav-layout="sidebar"] .facility-detail-link:hover { color: var(--ind-700); text-decoration: underline; }

/* Public horses grid (banner-style cards) */
[data-nav-layout="sidebar"] .facility-horse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .facility-horse-tile {
    display: block;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 160ms var(--ease-std), box-shadow 160ms var(--ease-std), border-color 160ms;
}
[data-nav-layout="sidebar"] .facility-horse-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.18);
    border-color: color-mix(in oklab, var(--ind-600) 25%, var(--border-1));
}
[data-nav-layout="sidebar"] .facility-horse-tile.is-boarder {
    border-color: #6ee7b7;
}
[data-nav-layout="sidebar"] .facility-horse-tile.is-boarder:hover {
    border-color: #15803d;
}
[data-nav-layout="sidebar"] .facility-horse-tile-image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: linear-gradient(135deg, #fef3c7, #fcd34d);
}
[data-nav-layout="sidebar"] .facility-horse-tile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms;
}
[data-nav-layout="sidebar"] .facility-horse-tile:hover .facility-horse-tile-image img { transform: scale(1.05); }
[data-nav-layout="sidebar"] .facility-horse-tile-boarder {
    position: absolute;
    top: 8px;
    left: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #15803d;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.25);
}
[data-nav-layout="sidebar"] .facility-horse-tile-boarder .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .facility-horse-tile-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 12px 10px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .60) 100%);
    color: #fff;
}
[data-nav-layout="sidebar"] .facility-horse-tile-name {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 700;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
[data-nav-layout="sidebar"] .facility-horse-tile-brand { height: 14px; width: auto; }
[data-nav-layout="sidebar"] .facility-horse-tile-tag {
    font-size: 11px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .facility-horse-tile-meta {
    padding: 8px 12px 10px;
    font-size: 11.5px;
    color: var(--fg-3);
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

/* ── Facility owner sections (capacity breakdown + quick actions) ─── */
[data-nav-layout="sidebar"] .facility-capacity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    padding: 16px 18px;
}
[data-nav-layout="sidebar"] .facility-capacity-tile {
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 12px;
    padding: 14px 16px;
}
[data-nav-layout="sidebar"] .facility-capacity-label {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--fg-3);
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .facility-capacity-value {
    font-family: var(--ff-serif);
    font-size: 28px;
    line-height: 1;
    color: var(--fg-1);
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .facility-capacity-value > span {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--fg-3);
    margin-left: 2px;
    font-family: var(--ff-sans);
}
/* The "out of N" sub-line can wrap chips below it when needed. */
[data-nav-layout="sidebar"] .facility-capacity-sub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}
[data-nav-layout="sidebar"] .facility-capacity-track {
    height: 6px;
    background: var(--gray-200);
    border-radius: 999px;
    overflow: hidden;
    margin-top: 8px;
}
[data-nav-layout="sidebar"] .facility-capacity-fill { height: 100%; border-radius: 999px; }
[data-nav-layout="sidebar"] .facility-capacity-sub {
    margin-top: 8px;
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .facility-capacity-breakdown { padding: 14px 16px 12px; }
[data-nav-layout="sidebar"] .facility-capacity-breakdown-list {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
[data-nav-layout="sidebar"] .facility-capacity-breakdown-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .facility-capacity-breakdown-list .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .facility-capacity-breakdown-name { flex: 1; }
[data-nav-layout="sidebar"] .facility-capacity-breakdown-val {
    font-family: var(--ff-mono);
    font-weight: 700;
    color: var(--fg-1);
}

/* Quick actions grid */
[data-nav-layout="sidebar"] .facility-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 10px;
    padding: 16px 18px;
}
[data-nav-layout="sidebar"] .facility-action-tile {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform 140ms, box-shadow 140ms, border-color 140ms;
}
[data-nav-layout="sidebar"] .facility-action-tile:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px -8px rgba(15, 23, 42, .18);
    border-color: var(--gray-300);
}
[data-nav-layout="sidebar"] .facility-action-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .facility-action-icon .material-symbols-outlined,
[data-nav-layout="sidebar"] .facility-action-icon i { font-size: 18px; }
[data-nav-layout="sidebar"] .facility-action-title {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .facility-action-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .facility-actions-footer {
    padding: 12px 18px 14px;
    border-top: 1px solid var(--border-1);
    text-align: center;
}
[data-nav-layout="sidebar"] .facility-actions-deeplink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ind-600);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .facility-actions-deeplink:hover { color: var(--ind-700); text-decoration: underline; }
[data-nav-layout="sidebar"] .facility-actions-deeplink .material-symbols-outlined { font-size: 14px; }

/* ════════════════════════════════════════════════════════════════════
   Facility manage view (owner-only) — barns, amenities, horse rows,
   boarding summary, deep-link footer.
   ════════════════════════════════════════════════════════════════════ */

[data-nav-layout="sidebar"] .manage-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    text-decoration: none;
    transition: background 120ms;
    margin-right: 4px;
}
[data-nav-layout="sidebar"] .manage-back-link:hover { background: rgba(255, 255, 255, 0.28); }
[data-nav-layout="sidebar"] .manage-back-link .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .manage-nav-position {
    margin-left: 6px;
    font-family: var(--ff-mono);
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.10);
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

/* ── Barns & stalls list ─────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-barn-list {
    display: flex;
    flex-direction: column;
}
[data-nav-layout="sidebar"] .manage-barn-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-barn-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .manage-barn-row.is-warning {
    background: #fffbeb;
}
[data-nav-layout="sidebar"] .manage-barn-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-barn-icon .material-symbols-outlined { font-size: 20px; }
[data-nav-layout="sidebar"] .manage-barn-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-barn-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-barn-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}

/* ── Amenities grid ──────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-amenity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .manage-amenity-tile {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    padding: 12px 14px;
}
[data-nav-layout="sidebar"] .manage-amenity-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .manage-amenity-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-amenity-icon .material-symbols-outlined { font-size: 18px; }
[data-nav-layout="sidebar"] .manage-amenity-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .08em;
}
[data-nav-layout="sidebar"] .manage-amenity-count {
    font-family: var(--ff-serif);
    font-size: 22px;
    line-height: 1;
    color: var(--fg-1);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .manage-amenity-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border-1);
    padding-top: 8px;
}
[data-nav-layout="sidebar"] .manage-amenity-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 0;
    font-size: 12px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-amenity-list-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-nav-layout="sidebar"] .manage-amenity-list-cap {
    font-family: var(--ff-mono);
    font-weight: 700;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-amenity-list-more {
    font-size: 11.5px;
    color: var(--ind-600);
    font-weight: 600;
    justify-content: flex-start !important;
}

/* ── Horse rows (assign / boarders) ──────────────────────────────── */
[data-nav-layout="sidebar"] .manage-horse-list {
    display: flex;
    flex-direction: column;
}
[data-nav-layout="sidebar"] .manage-horse-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-horse-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .manage-horse-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-horse-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .manage-horse-name:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .manage-horse-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .manage-horse-sub a { color: var(--ind-600); text-decoration: none; }
[data-nav-layout="sidebar"] .manage-horse-list-more {
    padding: 10px 18px;
    font-size: 12px;
    color: var(--fg-3);
    text-align: center;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-horse-list-more a { color: var(--ind-600); font-weight: 700; text-decoration: none; margin-left: 4px; }

/* ── Boarding card ───────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-boarding-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    vertical-align: 2px;
    text-transform: uppercase;
}
[data-nav-layout="sidebar"] .manage-boarding-badge.is-open { background: #dcfce7; color: #15803d; }
[data-nav-layout="sidebar"] .manage-boarding-badge.is-closed { background: #f3f4f6; color: #6b7280; }
[data-nav-layout="sidebar"] .manage-boarding-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-boarding-stat {
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 10px;
    padding: 12px 14px;
    text-align: center;
}
[data-nav-layout="sidebar"] .manage-boarding-stat-value {
    font-family: var(--ff-serif);
    font-size: 24px;
    line-height: 1;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-boarding-stat-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 5px;
}

/* ── Deep-link footer ────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-deep-link-footer {
    text-align: center;
    padding: 18px 14px;
    border-top: 1px solid var(--border-1);
    margin-top: 8px;
}
[data-nav-layout="sidebar"] .manage-deep-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    color: var(--fg-2);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background 120ms, border-color 120ms;
}
[data-nav-layout="sidebar"] .manage-deep-link:hover {
    background: var(--gray-50);
    border-color: var(--gray-300);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-deep-link .material-symbols-outlined { font-size: 16px; color: var(--ind-600); }
[data-nav-layout="sidebar"] .manage-deep-link-note {
    margin: 8px 0 0;
    font-size: 11.5px;
    color: var(--fg-3);
}

/* ── Manage view (Phase 1) — inline name editing, amenity rows, stall rows ─ */

[data-nav-layout="sidebar"] .manage-name-edit-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
[data-nav-layout="sidebar"] .manage-name-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    border: 0;
    color: inherit;
    cursor: pointer;
    margin-left: 6px;
    transition: background 120ms;
    vertical-align: 4px;
}
[data-nav-layout="sidebar"] .manage-name-edit-btn:hover { background: rgba(255, 255, 255, 0.32); }
[data-nav-layout="sidebar"] .manage-name-edit-btn .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .manage-name-edit-btn-inline {
    width: 18px;
    height: 18px;
    background: var(--gray-100);
    color: var(--fg-3);
    margin-left: 4px;
    vertical-align: 1px;
}
[data-nav-layout="sidebar"] .manage-name-edit-btn-inline:hover { background: var(--gray-200); color: var(--fg-1); }
[data-nav-layout="sidebar"] .manage-name-edit-btn-inline .material-symbols-outlined { font-size: 12px; }

[data-nav-layout="sidebar"] .manage-name-edit-form {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}
[data-nav-layout="sidebar"] .manage-name-edit-form input {
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.95);
    color: var(--fg-1);
    font-family: var(--ff-serif);
    font-size: 22px;
    min-width: 280px;
}

/* Inline form (used for amenity name edit, etc.) */
[data-nav-layout="sidebar"] .manage-inline-form {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .manage-inline-form input[type="text"] {
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid var(--border-1);
    background: #fff;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
    min-width: 160px;
}

/* Repair-state pill */
[data-nav-layout="sidebar"] .manage-sor-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    font-family: var(--ff-mono);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-sor-pill.is-good { background: #dcfce7; color: #15803d; }
[data-nav-layout="sidebar"] .manage-sor-pill.is-fair { background: #fef3c7; color: #b45309; }
[data-nav-layout="sidebar"] .manage-sor-pill.is-poor { background: #fee2e2; color: #b91c1c; }

/* Barn block */
[data-nav-layout="sidebar"] .manage-barn-block {
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-barn-block:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .manage-barn-block-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .manage-barn-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Stall list inside a barn */
[data-nav-layout="sidebar"] .manage-stall-list {
    background: #fff;
}
[data-nav-layout="sidebar"] .manage-stall-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1.5fr) auto auto auto;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 36px;
    border-top: 1px solid var(--border-1);
    font-size: 13px;
}
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .manage-stall-row {
        grid-template-columns: 28px 1fr auto;
        gap: 8px;
        padding-left: 18px;
    }
    [data-nav-layout="sidebar"] .manage-stall-row > form,
    [data-nav-layout="sidebar"] .manage-stall-row > select {
        grid-column: 1 / -1;
    }
}
[data-nav-layout="sidebar"] .manage-stall-icon { font-size: 18px; color: var(--fg-4); }
[data-nav-layout="sidebar"] .manage-stall-meta { min-width: 0; }
[data-nav-layout="sidebar"] .manage-stall-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-stall-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .manage-stall-occupied {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .manage-stall-occupied a { color: inherit; text-decoration: none; font-weight: 700; }
[data-nav-layout="sidebar"] .manage-stall-occupied a:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .manage-stall-empty { font-style: italic; color: var(--fg-4); }
[data-nav-layout="sidebar"] .manage-stall-empty-row {
    padding: 12px 18px;
    color: var(--fg-3);
    font-size: 12.5px;
    font-style: italic;
    background: #fff;
    border-top: 1px solid var(--border-1);
}

/* Unassigned stalls block */
[data-nav-layout="sidebar"] .manage-unassigned-stalls {
    border-top: 1px solid var(--border-1);
    background: #fffbeb;
}
[data-nav-layout="sidebar"] .manage-unassigned-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .manage-unassigned-head .material-symbols-outlined {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fef3c7;
    color: #b45309;
    flex-shrink: 0;
    font-size: 22px;
}
[data-nav-layout="sidebar"] .manage-unassigned-form {
    padding: 0 18px 14px;
    margin: 0;
}
[data-nav-layout="sidebar"] .manage-unassigned-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 6px;
    margin: 8px 0 12px;
}
[data-nav-layout="sidebar"] .manage-unassigned-stall {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    font-size: 12.5px;
    cursor: pointer;
}
[data-nav-layout="sidebar"] .manage-unassigned-stall input[type="checkbox"] { accent-color: var(--ind-600); }
[data-nav-layout="sidebar"] .manage-unassigned-stall .material-symbols-outlined { font-size: 16px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .manage-unassigned-stall-name { flex: 1; min-width: 0; font-weight: 700; color: var(--fg-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-nav-layout="sidebar"] .manage-unassigned-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .manage-unassigned-no-barn {
    padding: 14px 18px;
    font-size: 12.5px;
    color: var(--fg-3);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* Amenity rows (paddocks / pastures / training / land / other).
   Sections are arranged in a responsive grid so multiple categories can
   sit side-by-side on wider viewports — kills the long vertical scroll. */
[data-nav-layout="sidebar"] .manage-amenity-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .manage-amenity-section {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .manage-amenity-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-amenity-section-title {
    font-family: var(--ff-serif);
    font-size: 16px;
    color: var(--fg-1);
    flex: 1;
}
[data-nav-layout="sidebar"] .manage-amenity-section-count {
    font-size: 11px;
    font-weight: 800;
    color: var(--fg-3);
    background: rgba(0, 0, 0, 0.06);
    padding: 2px 9px;
    border-radius: 999px;
}
[data-nav-layout="sidebar"] .manage-amenity-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-amenity-section .manage-amenity-row:first-of-type {
    border-top: 0;
}
[data-nav-layout="sidebar"] .manage-amenity-row-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-amenity-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-amenity-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin-top: 2px;
}

/* Horse-row form variant */
[data-nav-layout="sidebar"] .manage-horse-row-form {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--border-1);
    margin: 0;
}
[data-nav-layout="sidebar"] .manage-horse-row-form select { min-width: 180px; }
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .manage-horse-row-form { flex-wrap: wrap; }
    [data-nav-layout="sidebar"] .manage-horse-row-form select,
    [data-nav-layout="sidebar"] .manage-horse-row-form button { flex: 1; }
}

/* Disabled action button */
[data-nav-layout="sidebar"] .profile-action-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── Manage view (Phase 1, tightened) — chip grid for stalls ──────── */

/* Barn header chevron + clickable head — div with role="button" since
   it nests buttons + forms; an actual <button> would auto-close early. */
[data-nav-layout="sidebar"] .manage-barn-block-head {
    width: 100%;
    background: var(--gray-50);
    text-align: left;
    cursor: pointer;
    transition: background 120ms;
    user-select: none;
}
[data-nav-layout="sidebar"] .manage-barn-block-head:hover { background: var(--gray-100); }
[data-nav-layout="sidebar"] .manage-barn-block-head:focus-visible {
    outline: 2px solid var(--ind-600);
    outline-offset: -2px;
}
[data-nav-layout="sidebar"] .manage-barn-chev {
    font-size: 18px;
    color: var(--fg-3);
    transition: transform 200ms;
    flex-shrink: 0;
}

/* Sub-line: small inline stat chips */
[data-nav-layout="sidebar"] .manage-barn-sub {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 4px;
    font-size: 11.5px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .manage-stat-chip .material-symbols-outlined,
[data-nav-layout="sidebar"] .manage-stat-chip i { font-size: 11px; }
[data-nav-layout="sidebar"] .manage-stat-chip.is-occupied { background: #dbeafe; color: #1d4ed8; }
[data-nav-layout="sidebar"] .manage-stat-chip.is-empty    { background: var(--gray-100); color: var(--fg-3); }
[data-nav-layout="sidebar"] .manage-stat-chip.is-warn     { background: #fef3c7; color: #b45309; }
[data-nav-layout="sidebar"] .manage-stat-chip.is-over     { background: #fee2e2; color: #b91c1c; }
[data-nav-layout="sidebar"] .manage-stat-chip.is-room     { background: #dcfce7; color: #15803d; }

/* Filter pills inside a barn */
[data-nav-layout="sidebar"] .manage-stall-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding: 12px 18px 6px;
    background: #fff;
}
[data-nav-layout="sidebar"] .manage-stall-filters button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px 5px 12px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 999px;
    color: var(--fg-2);
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 120ms;
}
[data-nav-layout="sidebar"] .manage-stall-filters button:hover {
    background: var(--gray-100);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-stall-filters button.is-active {
    background: var(--ind-600);
    border-color: var(--ind-600);
    color: #fff;
    box-shadow: 0 4px 12px -4px rgba(99, 102, 241, .55);
}
[data-nav-layout="sidebar"] .manage-stall-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    padding: 0 5px;
    border-radius: 999px;
    font-size: 10px;
    background: rgba(0, 0, 0, 0.06);
    color: inherit;
}
[data-nav-layout="sidebar"] .manage-stall-filters button.is-active .manage-stall-filter-count {
    background: rgba(255, 255, 255, 0.22);
}

/* Compact stall chip grid — replaces the row layout */
[data-nav-layout="sidebar"] .manage-stall-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 6px;
    padding: 8px 18px 14px;
    background: #fff;
}
[data-nav-layout="sidebar"] .manage-stall-chip {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    font-size: 12px;
    cursor: pointer;
    transition: all 120ms;
    min-width: 0;
    text-align: left;
    font-family: var(--ff-sans);
}
[data-nav-layout="sidebar"] .manage-stall-chip-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-stall-chip:hover {
    background: var(--gray-50);
    border-color: var(--gray-300);
    transform: translateY(-1px);
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-selected {
    border-color: var(--ind-600);
    background: rgba(99, 102, 241, .06);
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}
[data-nav-layout="sidebar"] .manage-stall-chip-dot {
    width: 8px; height: 8px;
    border-radius: 999px;
    background: var(--gray-300);
    flex-shrink: 0;
}
/* Status colors (ring outside the dot for occupancy + fill for repair) */
[data-nav-layout="sidebar"] .manage-stall-chip.is-occupied .manage-stall-chip-dot,
[data-nav-layout="sidebar"] .manage-stall-chip-dot.is-occupied {
    background: var(--ind-600);
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .25);
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-empty .manage-stall-chip-dot,
[data-nav-layout="sidebar"] .manage-stall-chip-dot.is-empty {
    background: var(--gray-300);
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-fair { border-color: #fde68a; background: linear-gradient(180deg, #fffbeb 0%, #fff 100%); }
[data-nav-layout="sidebar"] .manage-stall-chip.is-poor { border-color: #fecaca; background: linear-gradient(180deg, #fef2f2 0%, #fff 100%); }
[data-nav-layout="sidebar"] .manage-stall-chip-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-stall-chip-sor {
    font-family: var(--ff-mono);
    font-size: 10.5px;
    color: var(--fg-3);
    font-weight: 700;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-poor .manage-stall-chip-sor { color: #b91c1c; }
[data-nav-layout="sidebar"] .manage-stall-chip.is-fair .manage-stall-chip-sor { color: #b45309; }

/* Second line: assigned horse + boarder badge */
[data-nav-layout="sidebar"] .manage-stall-chip-horse {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 6px;
    border-radius: 5px;
    background: rgba(99, 102, 241, .08);
    color: var(--ind-700);
    font-size: 11px;
    font-weight: 700;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-stall-chip-horse i.fa-horse { font-size: 10px; flex-shrink: 0; }
[data-nav-layout="sidebar"] .manage-stall-chip-horse-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-stall-chip-boarder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #15803d;
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    flex-shrink: 0;
}

/* Boarder accent — emerald tint replaces the indigo ownership tint */
[data-nav-layout="sidebar"] .manage-stall-chip.is-boarder .manage-stall-chip-dot {
    background: #15803d;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, .30);
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-boarder .manage-stall-chip-horse {
    background: rgba(34, 197, 94, .10);
    color: #15803d;
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-boarder {
    border-color: #6ee7b7;
}
[data-nav-layout="sidebar"] .manage-stall-chip.is-boarder.is-selected {
    border-color: #15803d;
    background: rgba(34, 197, 94, .06);
    box-shadow: 0 0 0 2px rgba(34, 197, 94, .18);
}

/* Stall action drawer — appears below the chip grid when a chip is clicked */
[data-nav-layout="sidebar"] .manage-stall-drawer {
    background: var(--gray-50);
    border-top: 1px solid var(--border-1);
    border-bottom: 1px solid var(--border-1);
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-stall-drawer-close {
    background: transparent;
    border: 0;
    color: var(--fg-3);
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-close:hover {
    background: var(--gray-100);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-stall-drawer-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-status {
    font-size: 12.5px;
    color: var(--fg-2);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-status .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .manage-stall-drawer-status a { color: var(--ind-600); text-decoration: none; }
[data-nav-layout="sidebar"] .manage-stall-drawer-status a:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .manage-stall-drawer-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
}

/* Paddock / pasture occupancy controls */
[data-nav-layout="sidebar"] .manage-amenity-occ-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px 2px 8px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    border: 0;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--ff-sans);
    transition: background 120ms;
}
[data-nav-layout="sidebar"] .manage-amenity-occ-btn:hover { background: #bfdbfe; }
[data-nav-layout="sidebar"] .manage-amenity-occ-btn.is-quiet {
    cursor: default;
    background: var(--gray-100);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-amenity-occ-btn .material-symbols-outlined {
    font-size: 13px;
    transition: transform 200ms;
}
[data-nav-layout="sidebar"] .manage-amenity-occ-btn i.fa-horse { font-size: 11px; }

/* Expanded horse list under a paddock/pasture row */
[data-nav-layout="sidebar"] .manage-amenity-horses {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}
[data-nav-layout="sidebar"] .manage-amenity-horse {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid var(--border-1);
    font-size: 11.5px;
    font-weight: 700;
    color: var(--fg-1);
    text-decoration: none;
    transition: all 120ms;
}
[data-nav-layout="sidebar"] .manage-amenity-horse:hover {
    border-color: var(--ind-600);
    color: var(--ind-700);
}
[data-nav-layout="sidebar"] .manage-amenity-horse i.fa-horse {
    font-size: 10px;
    color: var(--fg-3);
}

/* "At this facility" — compact responsive grid (used to be a tall stacked
   list). 280px-min cards so multiple horses sit side-by-side on desktop. */
[data-nav-layout="sidebar"] .manage-assigned-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 6px;
    padding: 10px 18px 14px;
}
[data-nav-layout="sidebar"] .manage-assigned-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    transition: border-color 120ms;
}
[data-nav-layout="sidebar"] .manage-assigned-row:hover {
    border-color: var(--gray-300);
}
[data-nav-layout="sidebar"] .manage-assigned-thumb {
    width: 40px;
    height: 32px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    background: linear-gradient(135deg, #fef3c7, #fcd34d);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-assigned-meta {
    flex: 1;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-assigned-name {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.2;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-assigned-name:hover { color: var(--ind-700); }
[data-nav-layout="sidebar"] .manage-assigned-boarder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 7px;
    border-radius: 999px;
    background: #15803d;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-assigned-sub {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-assigned-sub .material-symbols-outlined {
    font-size: 13px;
    color: var(--ind-600);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-assigned-unassign {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: transparent;
    border: 1px solid var(--border-1);
    color: var(--fg-3);
    cursor: pointer;
    flex-shrink: 0;
    transition: all 120ms;
}
[data-nav-layout="sidebar"] .manage-assigned-unassign:hover {
    background: #fee2e2;
    border-color: #fecaca;
    color: #b91c1c;
}
[data-nav-layout="sidebar"] .manage-assigned-unassign .material-symbols-outlined { font-size: 14px; }

/* ── Manage page horse-name spots — tighten brand + sex glyph alignment ── */

/* Compact line-up so brand img + name + sex glyph share a baseline. */
[data-nav-layout="sidebar"] .manage-horse-name,
[data-nav-layout="sidebar"] .manage-assigned-name,
[data-nav-layout="sidebar"] .manage-amenity-horse {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .manage-assigned-name {
    flex-wrap: nowrap;
}
[data-nav-layout="sidebar"] .manage-assigned-name-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-assigned-name .profile-horse-brand-img {
    height: 13px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-amenity-horse .profile-horse-brand-img {
    height: 11px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-stall-chip-horse .profile-horse-brand-img {
    height: 11px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-stall-chip-horse .profile-horse-brand-text,
[data-nav-layout="sidebar"] .manage-amenity-horse .profile-horse-brand-text,
[data-nav-layout="sidebar"] .manage-assigned-name .profile-horse-brand-text {
    font-size: 9px;
    padding: 1px 4px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-status .profile-horse-brand-img {
    height: 14px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-stall-drawer-status .profile-horse-brand-text {
    font-size: 10px;
    padding: 2px 6px;
    flex-shrink: 0;
}

/* ──────────────────────────────────────────────────────────────────
   Boarding services card (manage view)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-boarding-status-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    padding: 14px 18px;
    border-top: 1px solid var(--border-1);
    border-bottom: 1px solid var(--border-1);
    background: var(--bg-2);
}
[data-nav-layout="sidebar"] .manage-boarding-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}
[data-nav-layout="sidebar"] .manage-boarding-status-pill .material-symbols-outlined {
    font-size: 16px;
}
[data-nav-layout="sidebar"] .manage-boarding-status-pill.is-on {
    background: rgba(21, 128, 61, .12);
    color: #15803d;
}
[data-nav-layout="sidebar"] .manage-boarding-status-pill.is-off {
    background: var(--bg-3);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-boarding-stat-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-left: auto;
}
[data-nav-layout="sidebar"] .manage-boarding-stat {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    font-size: 12px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-boarding-stat-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-boarding-stat-label {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .manage-boarding-pending-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 6px;
    border-radius: 999px;
    background: #b45309;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

/* Upsell when not Gold/Platinum */
[data-nav-layout="sidebar"] .manage-boarding-upsell {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 16px 18px 18px;
    padding: 16px 18px;
    border: 1px solid #fde68a;
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border-radius: 12px;
    color: #78350f;
}
[data-nav-layout="sidebar"] .manage-boarding-upsell > .material-symbols-outlined {
    font-size: 28px;
    color: #b45309;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-upsell-title {
    font-weight: 800;
    font-size: 14px;
    color: #78350f;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .manage-boarding-upsell-body {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #92400e;
}
[data-nav-layout="sidebar"] .manage-boarding-upsell-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 8px;
    background: #b45309;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s;
}
[data-nav-layout="sidebar"] .manage-boarding-upsell-cta:hover { background: #92400e; }
[data-nav-layout="sidebar"] .manage-boarding-upsell-cta .material-symbols-outlined { font-size: 15px; }

/* Form */
[data-nav-layout="sidebar"] .manage-boarding-form {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Master accept switch */
[data-nav-layout="sidebar"] .manage-boarding-master {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--border-1);
    background: var(--bg-2);
    border-radius: 12px;
    cursor: pointer;
    user-select: none;
}
[data-nav-layout="sidebar"] .manage-boarding-master input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
[data-nav-layout="sidebar"] .manage-boarding-master-track {
    position: relative;
    width: 40px;
    height: 22px;
    border-radius: 999px;
    background: var(--bg-4, #d1d5db);
    flex-shrink: 0;
    transition: background .15s;
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .manage-boarding-master-track.is-on { background: #15803d; }
[data-nav-layout="sidebar"] .manage-boarding-master-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    transition: left .15s;
}
[data-nav-layout="sidebar"] .manage-boarding-master-thumb.is-on { left: 20px; }
[data-nav-layout="sidebar"] .manage-boarding-master-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] .manage-boarding-master-title {
    font-weight: 700;
    font-size: 14px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-boarding-master-sub {
    font-size: 12px;
    color: var(--fg-3);
    line-height: 1.4;
}

/* Two-col layout */
[data-nav-layout="sidebar"] .manage-boarding-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
@media (min-width: 900px) {
    [data-nav-layout="sidebar"] .manage-boarding-grid {
        grid-template-columns: 1fr 1fr;
    }
}
[data-nav-layout="sidebar"] .manage-boarding-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
[data-nav-layout="sidebar"] .manage-boarding-col-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--fg-4);
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border-1);
}

/* Field */
[data-nav-layout="sidebar"] .manage-boarding-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
[data-nav-layout="sidebar"] .manage-boarding-field-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-boarding-field-optional {
    font-weight: 500;
    color: var(--fg-4);
    font-size: 11px;
}
[data-nav-layout="sidebar"] .manage-boarding-field-hint {
    font-size: 11.5px;
    color: var(--fg-4);
    line-height: 1.4;
}
[data-nav-layout="sidebar"] .manage-boarding-error {
    font-size: 11.5px;
    color: #b91c1c;
    font-weight: 600;
}

[data-nav-layout="sidebar"] .manage-boarding-currency-input {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    background: var(--bg-1);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .manage-boarding-currency-input:focus-within {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}
[data-nav-layout="sidebar"] .manage-boarding-currency-prefix,
[data-nav-layout="sidebar"] .manage-boarding-currency-suffix {
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-3);
    background: var(--bg-2);
    display: flex;
    align-items: center;
}
[data-nav-layout="sidebar"] .manage-boarding-currency-suffix { border-left: 1px solid var(--border-1); }
[data-nav-layout="sidebar"] .manage-boarding-currency-prefix { border-right: 1px solid var(--border-1); }
[data-nav-layout="sidebar"] .manage-boarding-currency-input input {
    flex: 1;
    border: none;
    outline: none;
    padding: 8px 10px;
    font-size: 14px;
    background: transparent;
    color: var(--fg-1);
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-plain-input {
    border: 1px solid var(--border-1);
    border-radius: 8px;
    background: var(--bg-1);
    padding: 8px 10px;
    font-size: 14px;
    color: var(--fg-1);
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
[data-nav-layout="sidebar"] .manage-boarding-plain-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}
[data-nav-layout="sidebar"] .manage-boarding-textarea {
    border: 1px solid var(--border-1);
    border-radius: 8px;
    background: var(--bg-1);
    padding: 9px 11px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--fg-1);
    outline: none;
    font-family: inherit;
    resize: vertical;
    transition: border-color .15s, box-shadow .15s;
}
[data-nav-layout="sidebar"] .manage-boarding-textarea:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}

/* Inline checkbox toggle */
[data-nav-layout="sidebar"] .manage-boarding-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    background: var(--bg-1);
    cursor: pointer;
    user-select: none;
}
[data-nav-layout="sidebar"] .manage-boarding-toggle input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    accent-color: #6366f1;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-toggle-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] .manage-boarding-toggle-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-boarding-toggle-sub {
    font-size: 11.5px;
    color: var(--fg-4);
    line-height: 1.4;
}

/* Boarding stalls picker */
[data-nav-layout="sidebar"] .manage-boarding-stalls {
    border-top: 1px solid var(--border-1);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
[data-nav-layout="sidebar"] .manage-boarding-stalls-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .manage-boarding-stalls-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-boarding-stalls-sub {
    font-size: 12px;
    color: var(--fg-3);
    line-height: 1.4;
    margin-top: 2px;
    max-width: 540px;
}
[data-nav-layout="sidebar"] .manage-boarding-stalls-actions {
    display: flex;
    gap: 6px;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-action {
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    color: var(--fg-2);
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-action:hover {
    background: var(--bg-2);
    border-color: var(--border-2, var(--border-1));
}
[data-nav-layout="sidebar"] .manage-boarding-stall-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-group-head {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-boarding-stall-group-head .material-symbols-outlined {
    font-size: 15px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .manage-boarding-stall-group-count {
    margin-left: auto;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--fg-4);
    text-transform: none;
    letter-spacing: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 6px;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    background: var(--bg-1);
    cursor: pointer;
    user-select: none;
    transition: background .12s, border-color .12s;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip:hover {
    background: var(--bg-2);
    border-color: #a5b4fc;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip.is-on {
    background: rgba(99, 102, 241, .08);
    border-color: #6366f1;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: #6366f1;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip-name {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--fg-1);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip-occupant {
    color: var(--fg-4);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-stall-chip-occupant .material-symbols-outlined { font-size: 13px; }
[data-nav-layout="sidebar"] .manage-boarding-stall-chip-occupant .fa-horseshoe { font-size: 12px; }
[data-nav-layout="sidebar"] .manage-boarding-stall-chip.has-occupant.is-on .manage-boarding-stall-chip-occupant { color: #b45309; }

[data-nav-layout="sidebar"] .manage-boarding-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px dashed var(--border-1);
    border-radius: 10px;
    color: var(--fg-3);
    font-size: 12.5px;
    background: var(--bg-2);
}
[data-nav-layout="sidebar"] .manage-boarding-empty .material-symbols-outlined {
    color: var(--fg-4);
    font-size: 18px;
}

/* Action row */
[data-nav-layout="sidebar"] .manage-boarding-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--border-1);
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .manage-boarding-preview {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    color: var(--fg-2);
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    margin-right: auto;
    transition: background .12s;
}
[data-nav-layout="sidebar"] .manage-boarding-preview:hover { background: var(--bg-2); }
[data-nav-layout="sidebar"] .manage-boarding-preview .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .manage-boarding-save {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: filter .12s, transform .08s;
}
[data-nav-layout="sidebar"] .manage-boarding-save:hover { filter: brightness(1.06); }
[data-nav-layout="sidebar"] .manage-boarding-save:active { transform: translateY(1px); }
[data-nav-layout="sidebar"] .manage-boarding-save .material-symbols-outlined { font-size: 16px; }

/* ──────────────────────────────────────────────────────────────────
   Manage view — tab navigation
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-tabs-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
[data-nav-layout="sidebar"] .manage-tabs {
    display: flex;
    gap: 4px;
    padding: 6px;
    background: var(--bg-2);
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow-x: auto;
    scrollbar-width: thin;
    position: sticky;
    top: 12px;
    z-index: 5;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    background: color-mix(in oklab, var(--bg-2) 88%, transparent);
}
[data-nav-layout="sidebar"] .manage-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: none;
    background: transparent;
    color: var(--fg-3);
    font-size: 13px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .12s, color .12s;
    flex: 1 1 auto;
    justify-content: center;
}
[data-nav-layout="sidebar"] .manage-tab:hover {
    background: color-mix(in oklab, var(--fg-1) 6%, transparent);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-tab.is-active {
    background: var(--bg-1);
    color: var(--fg-1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px rgba(99, 102, 241, .25);
}
[data-nav-layout="sidebar"] .manage-tab .material-symbols-outlined,
[data-nav-layout="sidebar"] .manage-tab .manage-tab-icon-fa {
    font-size: 18px;
    color: var(--fg-4);
    transition: color .12s;
}
[data-nav-layout="sidebar"] .manage-tab.is-active .material-symbols-outlined,
[data-nav-layout="sidebar"] .manage-tab.is-active .manage-tab-icon-fa {
    color: #6366f1;
}
[data-nav-layout="sidebar"] .manage-tab-label {
    font-weight: 600;
}
[data-nav-layout="sidebar"] .manage-tab-count {
    font-size: 11px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--fg-1) 8%, transparent);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-tab.is-active .manage-tab-count {
    background: rgba(99, 102, 241, .14);
    color: #4f46e5;
}
[data-nav-layout="sidebar"] .manage-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    color: #fff;
}
[data-nav-layout="sidebar"] .manage-tab-badge.is-warning { background: #b45309; }
[data-nav-layout="sidebar"] .manage-tab-badge.is-info { background: #2563eb; }

[data-nav-layout="sidebar"] .manage-tab-panel {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (max-width: 700px) {
    [data-nav-layout="sidebar"] .manage-tabs { padding: 4px; }
    [data-nav-layout="sidebar"] .manage-tab {
        padding: 8px 12px;
        font-size: 12px;
        flex: 0 0 auto;
    }
    [data-nav-layout="sidebar"] .manage-tab-label {
        display: none;
    }
    [data-nav-layout="sidebar"] .manage-tab.is-active .manage-tab-label {
        display: inline;
    }
}

/* ──────────────────────────────────────────────────────────────────
   State of repair breakdown (Overview tab)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-sor-attention-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    background: rgba(180, 83, 9, .12);
    color: #b45309;
}
[data-nav-layout="sidebar"] .manage-sor-attention-pill .material-symbols-outlined { font-size: 15px; }

[data-nav-layout="sidebar"] .manage-sor-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
    border-top: 1px solid var(--border-1);
}
@media (min-width: 700px) {
    [data-nav-layout="sidebar"] .manage-sor-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    [data-nav-layout="sidebar"] .manage-sor-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

[data-nav-layout="sidebar"] .manage-sor-row {
    border: 1px solid var(--border-1);
    border-radius: 12px;
    padding: 12px 14px;
    background: var(--bg-1);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
[data-nav-layout="sidebar"] .manage-sor-row-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
[data-nav-layout="sidebar"] .manage-sor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
}
[data-nav-layout="sidebar"] .manage-sor-icon .material-symbols-outlined { font-size: 18px; }
[data-nav-layout="sidebar"] .manage-sor-row-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-sor-row-label {
    font-weight: 700;
    color: var(--fg-1);
    font-size: 13px;
}
[data-nav-layout="sidebar"] .manage-sor-row-sub {
    font-size: 11.5px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .manage-sor-row-value {
    font-size: 18px;
    font-weight: 800;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-sor-row-track {
    height: 5px;
    border-radius: 999px;
    background: var(--bg-3);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .manage-sor-row-fill {
    height: 100%;
    border-radius: 999px;
    transition: width .25s ease;
}
[data-nav-layout="sidebar"] .manage-sor-row-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    font-size: 11px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-sor-row-foot-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
[data-nav-layout="sidebar"] .manage-sor-row-foot-item.is-warn {
    color: #b45309;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .manage-sor-row-foot-item .material-symbols-outlined { font-size: 13px; }

[data-nav-layout="sidebar"] .manage-sor-attention {
    border-top: 1px solid var(--border-1);
    padding: 16px 18px;
    background: var(--bg-2);
}
[data-nav-layout="sidebar"] .manage-sor-attention-head {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fg-3);
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .manage-sor-attention-head .material-symbols-outlined {
    font-size: 16px;
    color: #b45309;
}
[data-nav-layout="sidebar"] .manage-sor-attention-link {
    margin-left: auto;
    font-size: 11.5px;
    color: #4f46e5;
    text-transform: none;
    letter-spacing: 0;
    text-decoration: none;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .manage-sor-attention-link:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .manage-sor-attention-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 6px;
}
[data-nav-layout="sidebar"] .manage-sor-attention-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 9px;
}
[data-nav-layout="sidebar"] .manage-sor-attention-icon .material-symbols-outlined { font-size: 18px; }
[data-nav-layout="sidebar"] .manage-sor-attention-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-sor-attention-name {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--fg-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-sor-attention-type {
    font-size: 10.5px;
    color: var(--fg-4);
    text-transform: uppercase;
    letter-spacing: .04em;
}
[data-nav-layout="sidebar"] .manage-sor-attention-badge {
    border: 1px solid;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    flex-shrink: 0;
}

/* ──────────────────────────────────────────────────────────────────
   Horse housing breakdown (Overview tab)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-housing-total {
    font-size: 13px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-housing-total strong {
    color: var(--fg-1);
    font-size: 16px;
    font-weight: 800;
    margin-right: 2px;
}
[data-nav-layout="sidebar"] .manage-housing-bar-wrap {
    padding: 16px 18px 8px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-housing-bar {
    display: flex;
    height: 12px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--bg-3);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .04);
}
[data-nav-layout="sidebar"] .manage-housing-bar-seg {
    height: 100%;
    transition: width .25s ease;
}
[data-nav-layout="sidebar"] .manage-housing-bar-seg + .manage-housing-bar-seg {
    border-left: 2px solid var(--bg-1);
}

[data-nav-layout="sidebar"] .manage-housing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px 18px 16px;
}
@media (min-width: 700px) {
    [data-nav-layout="sidebar"] .manage-housing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    [data-nav-layout="sidebar"] .manage-housing-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
[data-nav-layout="sidebar"] .manage-housing-tile {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    background: var(--bg-1);
    transition: opacity .15s;
}
[data-nav-layout="sidebar"] .manage-housing-tile.is-empty { opacity: 0.5; }
[data-nav-layout="sidebar"] .manage-housing-tile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-housing-tile-icon .material-symbols-outlined { font-size: 20px; }
[data-nav-layout="sidebar"] .manage-housing-tile-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .manage-housing-tile-label {
    font-weight: 700;
    font-size: 13px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-housing-tile-numbers {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-housing-tile-count {
    font-size: 18px;
    font-weight: 800;
    color: var(--fg-1);
    line-height: 1;
}
[data-nav-layout="sidebar"] .manage-housing-tile-pct {
    font-size: 10.5px;
    color: var(--fg-4);
    font-weight: 600;
    margin-top: 2px;
}

[data-nav-layout="sidebar"] .manage-housing-warning {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 18px 18px;
    padding: 10px 12px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    border-radius: 9px;
    color: #78350f;
    font-size: 12px;
    line-height: 1.45;
}
[data-nav-layout="sidebar"] .manage-housing-warning .material-symbols-outlined {
    font-size: 16px;
    color: #b45309;
    flex-shrink: 0;
    margin-top: 1px;
}
[data-nav-layout="sidebar"] .manage-housing-warning a {
    color: #b45309;
    font-weight: 700;
    text-decoration: underline;
}

/* ──────────────────────────────────────────────────────────────────
   Boarders card (Overview tab)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-boarders-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .manage-boarders-status .material-symbols-outlined { font-size: 15px; }
[data-nav-layout="sidebar"] .manage-boarders-status.is-on { background: rgba(21, 128, 61, .12); color: #15803d; }
[data-nav-layout="sidebar"] .manage-boarders-status.is-off { background: var(--bg-3); color: var(--fg-3); }

[data-nav-layout="sidebar"] .manage-boarders-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 16px 18px;
    border-top: 1px solid var(--border-1);
}
@media (min-width: 700px) {
    [data-nav-layout="sidebar"] .manage-boarders-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    [data-nav-layout="sidebar"] .manage-boarders-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
[data-nav-layout="sidebar"] .manage-boarders-tile {
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 11px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .manage-boarders-tile-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .manage-boarders-tile-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--fg-1);
    line-height: 1.1;
}
[data-nav-layout="sidebar"] .manage-boarders-tile-value.is-attention { color: #b45309; }
[data-nav-layout="sidebar"] .manage-boarders-tile-sub {
    font-size: 11.5px;
    color: var(--fg-3);
}

[data-nav-layout="sidebar"] .manage-boarders-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 18px 16px;
}
[data-nav-layout="sidebar"] .manage-boarders-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    color: var(--fg-2);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .12s;
}
[data-nav-layout="sidebar"] .manage-boarders-action:hover { background: var(--bg-2); }
[data-nav-layout="sidebar"] .manage-boarders-action .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .manage-boarders-action.is-primary {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
    border-color: transparent;
}
[data-nav-layout="sidebar"] .manage-boarders-action.is-primary:hover { filter: brightness(1.06); }

/* ──────────────────────────────────────────────────────────────────
   Inline boarder rosters (Boarding tab)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-roster-block {
    border-top: 1px solid var(--border-1);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .manage-roster-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .manage-roster-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 800;
    font-size: 13px;
    color: var(--fg-1);
    text-transform: uppercase;
    letter-spacing: .04em;
}
[data-nav-layout="sidebar"] .manage-roster-title .material-symbols-outlined {
    font-size: 18px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-roster-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    color: #fff;
}
[data-nav-layout="sidebar"] .manage-roster-count.is-pending { background: #b45309; }
[data-nav-layout="sidebar"] .manage-roster-count.is-active { background: #15803d; }
[data-nav-layout="sidebar"] .manage-roster-meta-text {
    margin-left: auto;
    font-size: 12px;
    color: var(--fg-3);
    font-weight: 600;
}

[data-nav-layout="sidebar"] .manage-roster-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 11px;
}
[data-nav-layout="sidebar"] .manage-roster-row-main {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
[data-nav-layout="sidebar"] .manage-roster-thumb {
    width: 56px;
    height: 56px;
    border-radius: 9px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--bg-3);
}
[data-nav-layout="sidebar"] .manage-roster-thumb.is-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fg-4);
    font-size: 22px;
}
[data-nav-layout="sidebar"] .manage-roster-meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .manage-roster-name {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-weight: 700;
    font-size: 14px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-roster-name a {
    color: var(--fg-1);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .manage-roster-name a:hover { color: #4f46e5; }
[data-nav-layout="sidebar"] .manage-roster-name-deleted {
    color: var(--fg-4);
    font-style: italic;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .manage-roster-sub {
    font-size: 12px;
    color: var(--fg-3);
    line-height: 1.4;
    word-break: break-word;
}
[data-nav-layout="sidebar"] .manage-roster-sub strong { color: var(--fg-2); font-weight: 700; }
[data-nav-layout="sidebar"] .manage-roster-stall {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-roster-stall .material-symbols-outlined { font-size: 14px; color: #4f46e5; }
[data-nav-layout="sidebar"] .manage-roster-stall.is-warn { color: #b45309; font-weight: 600; }
[data-nav-layout="sidebar"] .manage-roster-stall.is-warn .material-symbols-outlined { color: #b45309; font-size: 15px; }
[data-nav-layout="sidebar"] .manage-roster-stall-barn { color: var(--fg-4); font-size: 11.5px; }

[data-nav-layout="sidebar"] .manage-roster-note {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin-top: 4px;
    padding: 6px 10px;
    background: var(--bg-2);
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--fg-2);
    font-style: italic;
}
[data-nav-layout="sidebar"] .manage-roster-note .material-symbols-outlined {
    font-size: 14px;
    color: var(--fg-4);
    flex-shrink: 0;
    margin-top: 1px;
}

[data-nav-layout="sidebar"] .manage-roster-bottom-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-top: 4px;
    font-size: 11.5px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .manage-roster-bottom-row > * {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
[data-nav-layout="sidebar"] .manage-roster-pay {
    font-weight: 700;
}
[data-nav-layout="sidebar"] .manage-roster-pay .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .manage-roster-pay-paid { color: #15803d; }
[data-nav-layout="sidebar"] .manage-roster-pay-due { color: #b45309; }
[data-nav-layout="sidebar"] .manage-roster-pay-overdue { color: #b91c1c; }
[data-nav-layout="sidebar"] .manage-roster-perm { color: #0369a1; }
[data-nav-layout="sidebar"] .manage-roster-perm .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .manage-roster-since {}

[data-nav-layout="sidebar"] .manage-roster-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border-1);
}
[data-nav-layout="sidebar"] .manage-roster-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    color: var(--fg-2);
    transition: background .12s, border-color .12s, filter .12s;
    text-decoration: none;
}
[data-nav-layout="sidebar"] .manage-roster-btn .material-symbols-outlined { font-size: 15px; }
[data-nav-layout="sidebar"] .manage-roster-btn:hover { background: var(--bg-2); }
[data-nav-layout="sidebar"] .manage-roster-btn.is-active { background: var(--bg-2); border-color: #6366f1; }
[data-nav-layout="sidebar"] .manage-roster-btn.is-accept {
    background: linear-gradient(135deg, #15803d, #16a34a);
    color: #fff;
    border-color: transparent;
}
[data-nav-layout="sidebar"] .manage-roster-btn.is-accept:hover { filter: brightness(1.06); }
[data-nav-layout="sidebar"] .manage-roster-btn.is-decline {
    background: var(--bg-1);
    color: #b91c1c;
    border-color: #fecaca;
}
[data-nav-layout="sidebar"] .manage-roster-btn.is-decline:hover { background: #fef2f2; }
[data-nav-layout="sidebar"] .manage-roster-btn.is-secondary {}
[data-nav-layout="sidebar"] .manage-roster-btn.is-danger-ghost {
    color: #b91c1c;
    border-color: #fecaca;
}
[data-nav-layout="sidebar"] .manage-roster-btn.is-danger-ghost:hover { background: #fef2f2; }
[data-nav-layout="sidebar"] .manage-roster-btn.is-danger {
    background: #b91c1c;
    color: #fff;
    border-color: transparent;
}
[data-nav-layout="sidebar"] .manage-roster-btn.is-danger:hover { filter: brightness(1.05); }
[data-nav-layout="sidebar"] .manage-roster-btn.is-ghost {
    background: transparent;
    border-color: transparent;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-roster-btn.is-ghost:hover { color: var(--fg-1); }

[data-nav-layout="sidebar"] .manage-roster-drawer {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-2);
    border-radius: 9px;
}
[data-nav-layout="sidebar"] .manage-roster-drawer-form { margin: 0; }
[data-nav-layout="sidebar"] .manage-roster-drawer-label {
    display: block;
    margin-bottom: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-roster-drawer-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
[data-nav-layout="sidebar"] .manage-roster-drawer-input,
[data-nav-layout="sidebar"] .manage-roster-drawer-select {
    flex: 1;
    min-width: 200px;
    padding: 7px 10px;
    border: 1px solid var(--border-1);
    border-radius: 7px;
    background: var(--bg-1);
    color: var(--fg-1);
    font-size: 13px;
    outline: none;
    transition: border-color .12s, box-shadow .12s;
}
[data-nav-layout="sidebar"] .manage-roster-drawer-input:focus,
[data-nav-layout="sidebar"] .manage-roster-drawer-select:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}
[data-nav-layout="sidebar"] .manage-roster-drawer-hint {
    margin: 8px 0 0;
    font-size: 11.5px;
    color: var(--fg-4);
}

/* ──────────────────────────────────────────────────────────────────
   Boarding card 1 — empty state when no rosters
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-boarding-empty-state {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 22px 18px;
    border-top: 1px solid var(--border-1);
    background: var(--bg-1);
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-boarding-empty-state > .material-symbols-outlined {
    font-size: 32px;
    color: var(--fg-4);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-boarding-empty-state-title {
    font-weight: 800;
    font-size: 14px;
    color: var(--fg-1);
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .manage-boarding-empty-state-body {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--fg-3);
    max-width: 540px;
}
[data-nav-layout="sidebar"] .manage-boarding-empty-state-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-2);
    color: var(--fg-2);
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .12s;
}
[data-nav-layout="sidebar"] .manage-boarding-empty-state-link:hover { background: var(--bg-3); }
[data-nav-layout="sidebar"] .manage-boarding-empty-state-link .material-symbols-outlined { font-size: 15px; }

/* ──────────────────────────────────────────────────────────────────
   Amenity actions drawer (Property tab)
   ────────────────────────────────────────────────────────────────── */
@keyframes spin { to { transform: rotate(360deg); } }

[data-nav-layout="sidebar"] .manage-amenity-block {
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .manage-amenity-block:last-child {
    border-bottom: none;
}
[data-nav-layout="sidebar"] .manage-amenity-block .manage-amenity-row {
    border-bottom: none;
}

[data-nav-layout="sidebar"] .profile-action-btn.is-active {
    background: rgba(99, 102, 241, .14);
    border-color: #6366f1;
    color: #4f46e5;
}

[data-nav-layout="sidebar"] .manage-amenity-actions-drawer {
    padding: 12px 14px 14px;
    background: var(--bg-2);
    border-top: 1px dashed var(--border-1);
}
[data-nav-layout="sidebar"] .manage-amenity-actions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

[data-nav-layout="sidebar"] .manage-amenity-action-card {
    background: var(--bg-1);
    border: 1px solid var(--border-1);
    border-radius: 10px;
    padding: 11px 13px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .manage-amenity-action-card.is-disabled {
    opacity: 0.7;
}
[data-nav-layout="sidebar"] .manage-amenity-action-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .manage-amenity-action-title .material-symbols-outlined {
    font-size: 16px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-amenity-action-help {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-amenity-action-help strong {
    color: var(--fg-1);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .manage-amenity-action-thumb {
    width: 100%;
    max-height: 120px;
    object-fit: cover;
    border-radius: 7px;
    background: var(--bg-3);
}
[data-nav-layout="sidebar"] .manage-amenity-action-form {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: stretch;
    margin: 0;
}
[data-nav-layout="sidebar"] .manage-amenity-action-form .profile-filter-select {
    flex: 1;
    min-width: 140px;
    padding: 6px 9px;
    font-size: 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 7px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .manage-amenity-action-form .profile-action-btn {
    padding: 6px 11px;
    font-size: 12px;
}
[data-nav-layout="sidebar"] .manage-amenity-file-input {
    flex: 1;
    min-width: 140px;
    padding: 5px 6px;
    font-size: 11.5px;
    color: var(--fg-2);
    background: var(--bg-2);
    border: 1px dashed var(--border-1);
    border-radius: 7px;
}
[data-nav-layout="sidebar"] .profile-action-btn.is-danger-ghost {
    color: #b91c1c;
    border: 1px solid #fecaca;
    background: var(--bg-1);
}
[data-nav-layout="sidebar"] .profile-action-btn.is-danger-ghost:hover {
    background: #fef2f2;
}

/* ──────────────────────────────────────────────────────────────────
   Past boarders (Boarding tab — Boarders card)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-past-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 9px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--fg-2);
    transition: background .12s;
}
[data-nav-layout="sidebar"] .manage-past-toggle:hover {
    background: var(--bg-2);
}
[data-nav-layout="sidebar"] .manage-past-toggle > .material-symbols-outlined:first-child {
    font-size: 17px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-past-chevron {
    margin-left: auto;
    font-size: 17px;
    color: var(--fg-4);
    transition: transform .15s ease;
}
[data-nav-layout="sidebar"] .manage-roster-count.is-quiet {
    background: var(--bg-3);
    color: var(--fg-3);
}

[data-nav-layout="sidebar"] .manage-past-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
}
[data-nav-layout="sidebar"] .manage-past-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    padding: 8px 12px;
    border: 1px solid var(--border-1);
    background: var(--bg-1);
    border-radius: 8px;
}
[data-nav-layout="sidebar"] .manage-past-row-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-past-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-past-status-pill .material-symbols-outlined { font-size: 12px; }
[data-nav-layout="sidebar"] .manage-past-status-pill.is-declined {
    background: rgba(185, 28, 28, .1);
    color: #b91c1c;
}
[data-nav-layout="sidebar"] .manage-past-status-pill.is-ended {
    background: var(--bg-3);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .manage-past-row-name {
    font-size: 13px;
    color: var(--fg-1);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .manage-past-row-name a {
    color: var(--fg-1);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .manage-past-row-name a:hover { color: #4f46e5; }
[data-nav-layout="sidebar"] .manage-past-owner {
    color: var(--fg-3);
    font-weight: 400;
    font-size: 12px;
}
[data-nav-layout="sidebar"] .manage-past-row-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    font-size: 11.5px;
    color: var(--fg-3);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .manage-past-info-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
[data-nav-layout="sidebar"] .manage-past-info-item .material-symbols-outlined { font-size: 13px; }
[data-nav-layout="sidebar"] .manage-past-reason {
    font-style: italic;
    color: var(--fg-4);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

/* ──────────────────────────────────────────────────────────────────
   Custom amenity images (Property tab — manage)
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .manage-amenity-thumb {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .manage-amenity-thumb.is-custom {
    object-fit: cover;
    background: var(--bg-3);
    border: 1px solid var(--border-1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
[data-nav-layout="sidebar"] .manage-amenity-thumb.is-icon .material-symbols-outlined {
    font-size: 22px;
}

/* Barn header — swap warehouse icon for custom image when set */
[data-nav-layout="sidebar"] .manage-barn-icon.has-image {
    overflow: hidden;
    border: 1px solid var(--border-1);
    background: var(--bg-3);
    padding: 0;
}
[data-nav-layout="sidebar"] .manage-barn-icon-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ──────────────────────────────────────────────────────────────────
   Public facility — amenity image gallery
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .facility-amenity-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    padding: 16px 18px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .facility-amenity-tile {
    display: flex;
    flex-direction: column;
    margin: 0;
    background: var(--bg-1);
    border: 1px solid var(--border-1);
    border-radius: 11px;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}
[data-nav-layout="sidebar"] .facility-amenity-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
[data-nav-layout="sidebar"] .facility-amenity-tile-image {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--bg-3);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .facility-amenity-tile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
[data-nav-layout="sidebar"] .facility-amenity-tile-type {
    position: absolute;
    top: 8px;
    left: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--fg-1);
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
[data-nav-layout="sidebar"] .facility-amenity-tile-type .material-symbols-outlined {
    font-size: 13px;
}
[data-nav-layout="sidebar"] .facility-amenity-tile-meta {
    padding: 9px 12px 11px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] .facility-amenity-tile-name {
    font-weight: 700;
    font-size: 13.5px;
    color: var(--fg-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .facility-amenity-tile-sub {
    font-size: 11.5px;
    color: var(--fg-3);
}

/* Inline subhead inside facility-detail-list when amenities are folded in */
[data-nav-layout="sidebar"] .facility-detail-subhead {
    padding: 14px 18px 6px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--fg-4);
    border-top: 1px solid var(--border-1);
    margin-top: 4px;
}

/* ==================================================================
   Surface tokens (--bg-N) — used by the manage / facility / boarding
   views. Defined here so dark mode can override cleanly.
   ================================================================== */
[data-nav-layout="sidebar"] {
    --bg-1: #ffffff;
    --bg-2: var(--gray-50);    /* #f9fafb */
    --bg-3: var(--gray-100);   /* #f3f4f6 */
    --bg-4: var(--gray-200);   /* #e5e7eb */
}
html[data-theme="dark"] [data-nav-layout="sidebar"] {
    --bg-1: #1f293f;                          /* card surface */
    --bg-2: #141c2e;                          /* drawer / row alt */
    --bg-3: rgba(148, 163, 184, .10);         /* track / inset */
    --bg-4: rgba(148, 163, 184, .18);         /* deeper inset */
}

/* ==================================================================
   Dark-mode patches — places that hardcode light-mode hex values and
   need brighter / muted equivalents for legibility on dark surfaces.
   ================================================================== */

/* Status pills (boarding + boarders + housing) ─────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-status-pill.is-on,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarders-status.is-on {
    background: rgba(34, 197, 94, .18);
    color: #4ade80;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-pay-paid { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-pay-due { color: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-pay-overdue { color: #f87171; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-perm { color: #38bdf8; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-stall .material-symbols-outlined { color: #a5b4fc; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-stall.is-warn,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-stall.is-warn .material-symbols-outlined {
    color: #fbbf24;
}

/* Past boarders pill ─────────────────────────────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-past-status-pill.is-declined {
    background: rgba(248, 113, 113, .18);
    color: #fca5a5;
}

/* Active tab outline + roster count pills ─────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-tab.is-active {
    box-shadow: 0 0 0 1px rgba(165, 180, 252, .35);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-tab-badge.is-warning,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-tab-badge.is-info,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-count.is-pending,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-count.is-active,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-pending-pill {
    /* keep white text — just ensure backgrounds aren't muddied by parent surface */
    color: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-tab-badge.is-warning,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-count.is-pending,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-pending-pill { background: #d97706; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-count.is-active { background: #16a34a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-count.is-quiet {
    background: rgba(148, 163, 184, .15);
    color: var(--fg-3);
}

/* Warning callout — boarding upsell ─────────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell {
    background: linear-gradient(135deg, rgba(245, 158, 11, .14), rgba(245, 158, 11, .08));
    border-color: rgba(245, 158, 11, .35);
    color: #fde68a;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell > .material-symbols-outlined { color: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell-title { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell-body { color: #fde68a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell-cta {
    background: #d97706;
    color: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-upsell-cta:hover { background: #b45309; }

/* Warning callout — housing unassigned banner ────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-housing-warning {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .30);
    color: #fde68a;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-housing-warning .material-symbols-outlined { color: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-housing-warning a { color: #fbbf24; }

/* Master switch track (off state) ───────────────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-master-track {
    background: rgba(148, 163, 184, .25);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-master-track.is-on {
    background: #16a34a;
}

/* Danger / decline buttons + their hover (was light pink) ── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-btn.is-decline,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-btn.is-danger-ghost,
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn.is-danger-ghost {
    border-color: rgba(248, 113, 113, .35);
    color: #fca5a5;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-btn.is-decline:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-btn.is-danger-ghost:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn.is-danger-ghost:hover {
    background: rgba(248, 113, 113, .12);
    color: #fecaca;
}

/* SoR breakdown — attention pill + warn rows ────────────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-attention-pill {
    background: rgba(245, 158, 11, .14);
    color: #fcd34d;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-attention-head .material-symbols-outlined { color: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-attention-link { color: #a5b4fc; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-row-foot-item.is-warn { color: #fcd34d; }

/* Boarders card "attention" value (pending count) ─────── */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarders-tile-value.is-attention { color: #fbbf24; }

/* Form focus ring — indigo accent already legible, leave it */

/* Save button gradient — indigo gradient, fine on either mode  */

/* File input dashed border — needs slightly stronger contrast */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-file-input {
    background: rgba(148, 163, 184, .08);
    border-color: rgba(148, 163, 184, .30);
    color: var(--fg-2);
}

/* Tour gallery — overlay pill on photo stays light by design.
   The tile's name+sub area will pick up bg-1/fg-1 automatically. */

/* Subhead inside Facility details when Tour is present */
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-detail-subhead {
    color: var(--fg-3);
    border-top-color: var(--border-1);
}

/* Boarding stall chip occupant icon (horseshoe) — slight tint on dark */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-boarding-stall-chip.has-occupant.is-on .manage-boarding-stall-chip-occupant {
    color: #fbbf24;
}

/* ==================================================================
   Dark mode — Property + Horses tab legacy class patches
   (these classes hardcode #fff / #fffbeb backgrounds; override here
   so dark mode picks up the surface tokens.)
   ================================================================== */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-tile,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-section,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-horse,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-assigned-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-chip,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-list,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-grid,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-filters,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-empty-row,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-unassigned-stall,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-deep-link,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-inline-form input[type="text"] {
    background: var(--bg-1);
    color: var(--fg-1);
}

/* Warning rows / banners */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-barn-row.is-warning,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-unassigned-stalls {
    background: rgba(245, 158, 11, .12);
    color: #fde68a;
}

/* Hover state for barn-block-head — light gray hover blends into card on dark */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-barn-block-head:hover {
    background: var(--bg-2);
}

/* Chip variants for stalls (selected / occupied / etc) — keep accent
   tints translucent so they read on the darker chip surface */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-chip:hover {
    background: var(--bg-2);
}

/* Stat chips on rows (is-room / is-empty / is-over) commonly use light
   solid backgrounds via legacy global classes — coerce to translucent */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stat-chip {
    background: var(--bg-2);
    color: var(--fg-2);
    border-color: var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stat-chip.is-room {
    background: rgba(34, 197, 94, .14);
    color: #4ade80;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stat-chip.is-over {
    background: rgba(248, 113, 113, .14);
    color: #fca5a5;
}

/* Capacity tile + breakdown background (Capacity Breakdown card on Overview tab) */
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-capacity-tile,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-capacity-breakdown {
    background: var(--bg-2);
    border-color: var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-capacity-track {
    background: var(--bg-3);
}

/* Inline name-edit form inputs */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-inline-form input[type="text"],
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-action-form select,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-action-form input,
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-filter-select {
    background: var(--bg-2);
    color: var(--fg-1);
    border-color: var(--border-1);
}

/* Generic profile-action-btn (Move stall / Repair / etc) — reset white default */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn {
    background: var(--bg-1);
    color: var(--fg-2);
    border-color: var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn:hover {
    background: var(--bg-2);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn.is-active {
    background: rgba(99, 102, 241, .18);
    border-color: #818cf8;
    color: #c7d2fe;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-action-btn.is-primary {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
    border-color: transparent;
}

/* SoR pills used inline (manage-sor-pill is-good / is-fair / is-poor) */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-pill.is-good {
    background: rgba(34, 197, 94, .18); color: #4ade80;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-pill.is-fair {
    background: rgba(245, 158, 11, .18); color: #fbbf24;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-sor-pill.is-poor {
    background: rgba(248, 113, 113, .18); color: #fca5a5;
}

/* Roster thumb fallback bg (the placeholder horse icon) */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-roster-thumb,
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-amenity-thumb.is-custom {
    background: var(--bg-3);
}

/* Stall-drawer: nested form rows have their own surface */
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-stall-drawer-row {
    background: var(--bg-2);
}

/* ==================================================================
   Dark mode — facilities index + facility tile classes
   ================================================================== */
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-tile,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-quick-link,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-action-tile,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-horse-tile {
    background: var(--bg-1);
    color: var(--fg-1);
    border-color: var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-tile {
    box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-tile:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-tile-banner {
    background: var(--bg-2);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-quick-link:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-action-tile:hover,
html[data-theme="dark"] [data-nav-layout="sidebar"] .facility-horse-tile:hover {
    background: var(--bg-2);
}

/* Dark mode — facility/profile info bar (the white banner below the hero) */
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-info-bar {
    background: var(--bg-1);
    border-color: var(--border-1);
    box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .55);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .profile-avatar {
    border-color: var(--bg-1);
    background: var(--bg-1);
    box-shadow: 0 8px 20px -6px rgba(0, 0, 0, .55);
}

/* ──────────────────────────────────────────────────────────────────
   Topbar currency chips → mobile relocation
   ────────────────────────────────────────────────────────────────── */
[data-nav-layout="sidebar"] .nav-currency-group {
    display: contents;
}
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .nav-currency-group {
        display: none !important;
    }
}

/* Currency strip inside the user popover — only renders on mobile */
[data-nav-layout="sidebar"] .nav-userpop-currency-strip {
    display: none;
}
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .nav-userpop-currency-strip {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 12px 14px;
        border-bottom: 1px solid var(--border-1);
    }
}
[data-nav-layout="sidebar"] .nav-userpop-currency {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    background: var(--bg-1);
    color: var(--fg-1);
    text-decoration: none;
    transition: background .12s, border-color .12s;
}
[data-nav-layout="sidebar"] .nav-userpop-currency:hover {
    background: var(--bg-2);
    border-color: color-mix(in oklab, var(--ind-600) 35%, var(--border-1));
}
[data-nav-layout="sidebar"] .nav-userpop-currency .nav-currency-glyph {
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .nav-userpop-currency-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}
[data-nav-layout="sidebar"] .nav-userpop-currency-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .nav-userpop-currency-value {
    font-size: 14px;
    font-weight: 800;
    color: var(--fg-1);
    font-family: var(--ff-mono, inherit);
}

/* Dark-mode tints */
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userpop-currency {
    background: var(--bg-2);
    border-color: var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-userpop-currency:hover {
    background: rgba(99, 102, 241, .14);
}

/* Mobile: pin every topbar popover (messages, notifications, user chip)
   to the right edge of the viewport so they never get cut off. */
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .nav-popover {
        position: fixed;
        top: 60px;
        right: 12px;
        left: auto;
        width: min(340px, calc(100vw - 24px));
        min-width: 0;
        max-width: none;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
    }
}

/* Topbar right-side actions (messages, notifications, user chip).
   Always pinned to the far right of the topbar. On desktop the
   breadcrumb's flex:1 already does the job; on mobile (breadcrumb
   hidden) we need an explicit margin-left:auto to pull the group right. */
[data-nav-layout="sidebar"] .nav-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
    flex-shrink: 0;
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .nav-actions {
        gap: 8px;
    }
}

/* ──────────────────────────────────────────────────────────────────
   Profile horse listing — mobile fixes (≤640px)
   List mode uses an 8-column grid that overflows on phones, and the
   default grid's 220px minimum can squeeze too tight. Force a 2-up
   card grid below 640px and disable list mode visually so cards stay
   readable.
   ────────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .profile-horse-grid {
        padding: 10px 12px;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    /* Mobile list mode — single-column rows with image left + text right.
       (The desktop 8-column table doesn't fit on phones; this gives the
       toggle a real meaningful alternative to the 2-up card grid.) */
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 10px 12px;
        background: transparent;
        border-top: none;
        border-bottom: none;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card {
        display: grid;
        grid-template-columns: 76px 1fr;
        align-items: center;
        gap: 10px;
        padding: 8px 10px;
        background: var(--bg-1);
        border: 1px solid var(--border-1);
        border-radius: 10px;
        border-bottom: 1px solid var(--border-1);
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-card:hover {
        background: var(--bg-2);
        transform: none;
        box-shadow: none;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-image-wrap {
        width: 76px;
        height: 56px;
        aspect-ratio: auto;
        border-radius: 7px;
        border: 1px solid var(--border-1);
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-status-row { display: none; }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-body {
        padding: 0;
        min-width: 0;
    }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-meta-grid { display: flex; }
    [data-nav-layout="sidebar"] .profile-horse-grid.is-list .profile-horse-col {
        display: none;
    }

    /* Sticky list-mode header doesn't make sense in single-column rows — hide it. */
    [data-nav-layout="sidebar"] .profile-horse-list-head { display: none !important; }

    /* Tighten the card body — smaller fonts, less padding so 2-up cards
       don't overflow on narrow phones. */
    [data-nav-layout="sidebar"] .profile-horse-card { font-size: 12px; }
    [data-nav-layout="sidebar"] .profile-horse-body { padding: 8px 10px 10px; }
    [data-nav-layout="sidebar"] .profile-horse-name { font-size: 13px; }
    [data-nav-layout="sidebar"] .profile-horse-meta { font-size: 11px; }
    [data-nav-layout="sidebar"] .profile-horse-status {
        font-size: 9px;
        padding: 1px 6px;
    }
    [data-nav-layout="sidebar"] .profile-horse-tagline { display: none; }
}

/* Very narrow phones (≤380px) — collapse the 2-up grid mode to single
   column. List mode is already single-column with row layout. */
@media (max-width: 380px) {
    [data-nav-layout="sidebar"] .profile-horse-grid.is-grid {
        grid-template-columns: 1fr;
    }
}

/* Online-players pip — green badge on the people icon in the topbar. */
[data-nav-layout="sidebar"] .nav-online-link { text-decoration: none; }
[data-nav-layout="sidebar"] .nav-online-pip {
    background: #16a34a;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-online-pip {
    background: #22c55e;
    border-color: var(--bg-1);
}

/* Per-row layout for popover items with a quick-action button (mark-read).
   Wraps the link + the button so the row can highlight as a unit. */
[data-nav-layout="sidebar"] .nav-popover-row {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--border-1);
    transition: background .12s;
}
[data-nav-layout="sidebar"] .nav-popover-row:last-child {
    border-bottom: none;
}
[data-nav-layout="sidebar"] .nav-popover-row > .nav-popover-item {
    flex: 1;
    border-bottom: none;
}
/* The is-unread class lives on the row wrapper now — promote the same
   visual state to the row's anchor child. */
[data-nav-layout="sidebar"] .nav-popover-row.is-unread {
    background: color-mix(in oklab, var(--ind-600) 6%, transparent);
}
[data-nav-layout="sidebar"] .nav-popover-row.is-unread:hover {
    background: color-mix(in oklab, var(--ind-600) 11%, var(--bg-1));
}
[data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item-label {
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item-sub {
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item > .material-symbols-outlined {
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item-time {
    color: var(--ind-600);
    font-weight: 700;
}

/* Quick mark-as-read button on each unread row */
[data-nav-layout="sidebar"] .nav-popover-row-mark {
    flex-shrink: 0;
    width: 36px;
    border: none;
    background: transparent;
    color: var(--fg-3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px dashed var(--border-1);
    transition: color .12s, background .12s;
}
[data-nav-layout="sidebar"] .nav-popover-row-mark:hover {
    color: var(--ind-600);
    background: color-mix(in oklab, var(--ind-600) 14%, var(--bg-1));
}
[data-nav-layout="sidebar"] .nav-popover-row-mark .material-symbols-outlined {
    font-size: 16px;
}

/* Header actions cluster — "Mark all read" + "View all" on the same row */
[data-nav-layout="sidebar"] .nav-popover-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .nav-popover-header-actions .nav-popover-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 4px 8px;
    cursor: pointer;
    border-radius: 6px;
}
[data-nav-layout="sidebar"] .nav-popover-header-actions .nav-popover-link:hover {
    background: var(--bg-2);
}
[data-nav-layout="sidebar"] .nav-popover-header-actions .nav-popover-link .material-symbols-outlined {
    font-size: 18px;
}

/* Dark-mode tweaks for new row chrome */
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-row.is-unread {
    background: rgba(99, 102, 241, .14);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-row.is-unread:hover {
    background: rgba(99, 102, 241, .22);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item > .material-symbols-outlined,
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-row.is-unread .nav-popover-item-time {
    color: #a5b4fc;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .nav-popover-row-mark:hover {
    background: rgba(99, 102, 241, .22);
    color: #a5b4fc;
}

/* ──────────────────────────────────────────────────────────────────
   Inbox views — notifications + messages
   ────────────────────────────────────────────────────────────────── */

/* Notification inbox toolbar (header right side) */
[data-nav-layout="sidebar"] .inbox-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
[data-nav-layout="sidebar"] .inbox-toolbar .profile-filter-select {
    min-width: 160px;
}
[data-nav-layout="sidebar"] .inbox-toolbar .profile-action-btn .material-symbols-outlined {
    font-size: 16px;
}

/* Notification list rows */
[data-nav-layout="sidebar"] .inbox-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .inbox-row {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--border-1);
    background: var(--bg-1);
    transition: background .12s;
}
[data-nav-layout="sidebar"] .inbox-row:last-child { border-bottom: none; }
[data-nav-layout="sidebar"] .inbox-row:hover { background: var(--bg-2); }
[data-nav-layout="sidebar"] .inbox-row.is-unread {
    background: color-mix(in oklab, var(--ind-600) 5%, var(--bg-1));
    border-left: 3px solid var(--ind-600);
}
[data-nav-layout="sidebar"] .inbox-row.is-unread:hover {
    background: color-mix(in oklab, var(--ind-600) 10%, var(--bg-1));
}

[data-nav-layout="sidebar"] .inbox-row-main {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex: 1;
    padding: 14px 18px;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
[data-nav-layout="sidebar"] .inbox-row-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--bg-3);
    color: var(--fg-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
[data-nav-layout="sidebar"] .inbox-row-icon .material-symbols-outlined { font-size: 20px; }
[data-nav-layout="sidebar"] .inbox-row.is-unread .inbox-row-icon {
    background: rgba(99, 102, 241, .15);
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .inbox-row-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
[data-nav-layout="sidebar"] .inbox-row-title {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .inbox-row.is-unread .inbox-row-title {
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .inbox-row-title-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
[data-nav-layout="sidebar"] .inbox-row-cat {
    flex-shrink: 0;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--bg-3);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .inbox-row-message {
    font-size: 12.5px;
    color: var(--fg-3);
    line-height: 1.45;
}
[data-nav-layout="sidebar"] .inbox-row.is-unread .inbox-row-message {
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .inbox-row-meta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--fg-4);
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .inbox-row-meta .material-symbols-outlined { font-size: 13px; }

[data-nav-layout="sidebar"] .inbox-row-actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 14px;
    border-left: 1px dashed var(--border-1);
}
[data-nav-layout="sidebar"] .inbox-row-action {
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    border-radius: 7px;
    color: var(--fg-3);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .12s, color .12s;
}
[data-nav-layout="sidebar"] .inbox-row-action:hover {
    background: var(--bg-2);
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .inbox-row-action.is-danger:hover {
    color: #dc2626;
    background: rgba(220, 38, 38, .1);
}
[data-nav-layout="sidebar"] .inbox-row-action .material-symbols-outlined { font-size: 18px; }

[data-nav-layout="sidebar"] .inbox-pagination {
    padding: 14px 18px;
    border-top: 1px solid var(--border-1);
}

/* Messages page chrome — scoped to .messages-page so dark mode picks up
   the chat panes without rewriting the entire Tailwind layout. */
[data-nav-layout="sidebar"] .messages-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .messages-toolbar { margin-bottom: 12px; }
}

/* Dark-mode patches for the messages page Tailwind chrome. */
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .bg-white {
    background: var(--bg-1) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .bg-indigo-50 {
    background: rgba(99, 102, 241, .12) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .border-indigo-200 {
    border-color: rgba(99, 102, 241, .3) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .bg-gray-50 {
    background: var(--bg-2) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .bg-gray-100 {
    background: var(--bg-3) !important;
    color: var(--fg-1) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .border-gray-100,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .border-gray-200,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .border-gray-300,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .divide-gray-100 > *,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .divide-gray-200 > * {
    border-color: var(--border-1) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-900,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-800,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-700 {
    color: var(--fg-1) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-600,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-500 {
    color: var(--fg-3) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-400,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-gray-300 {
    color: var(--fg-4) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page input[type="text"],
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page textarea {
    background: var(--bg-2) !important;
    color: var(--fg-1) !important;
    border-color: var(--border-1) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page input[type="text"]:disabled,
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page textarea:disabled {
    background: var(--bg-3) !important;
    color: var(--fg-3) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .hover\:bg-gray-50:hover {
    background: var(--bg-2) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .bg-indigo-100 {
    background: rgba(99, 102, 241, .25) !important;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .messages-page .text-indigo-700 {
    color: #c7d2fe !important;
}

/* ════════════════════════════════════════════════════════════════════
   Horse profile (show-improved) — sidebar redesign
   Wraps the legacy Tailwind cards in dash-sb tokens so dark mode + the
   modern surface treatment apply to the existing layout.
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .hp-page { background: transparent; }
[data-nav-layout="sidebar"] .hp-page .dash-sb { gap: 22px; }
[data-nav-layout="sidebar"] .hp-header { width: 100%; }
[data-nav-layout="sidebar"] .hp-main { width: 100%; }

/* Image frame */
[data-nav-layout="sidebar"] .hp-image-frame {
    position: relative;
    background: var(--gray-100);
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(15,23,42,.08);
    display: flex;
    align-items: center;
    justify-content: center;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-image-frame {
    box-shadow: 0 4px 18px rgba(0,0,0,.4);
}

/* Image badges (deceased, retired, housing) */
[data-nav-layout="sidebar"] .hp-image-badge {
    position: absolute;
    top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #fff;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
[data-nav-layout="sidebar"] .hp-image-badge .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .hp-image-badge.is-deceased { left: 14px; background: rgba(15,23,42,.85); }
[data-nav-layout="sidebar"] .hp-image-badge.is-retired  { left: 14px; background: rgba(71,85,105,.85); }
[data-nav-layout="sidebar"] .hp-image-badge.is-housing  { right: 14px; }
[data-nav-layout="sidebar"] .hp-image-badge.is-pastured  { background: rgba(5,150,105,.88); }
[data-nav-layout="sidebar"] .hp-image-badge.is-paddocked { background: rgba(180,83,9,.88); }

/* Loading overlay */
[data-nav-layout="sidebar"] .hp-image-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.92);
    z-index: 50;
    text-align: center;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-image-loading { background: rgba(20,28,46,.92); }
[data-nav-layout="sidebar"] .hp-image-loading.hidden { display: none; }
[data-nav-layout="sidebar"] .hp-image-loading-spinner {
    width: 44px; height: 44px;
    border: 3px solid rgba(99,102,241,.25);
    border-top-color: var(--ind-600);
    border-radius: 50%;
    margin: 0 auto 10px;
    animation: spin 1s linear infinite;
}
[data-nav-layout="sidebar"] .hp-image-loading-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--fg-1);
    margin: 0;
}
[data-nav-layout="sidebar"] .hp-image-loading-sub {
    font-size: 11.5px;
    color: var(--fg-3);
    margin: 4px 0 0;
}

/* Brand overlay (Add brand on the image) */
[data-nav-layout="sidebar"] .hp-brand-overlay {
    position: absolute;
    bottom: 12px;
    left: 12px;
    z-index: 30;
}
[data-nav-layout="sidebar"] .hp-brand-overlay-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(15,23,42,.55);
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-brand-overlay-btn:hover { background: rgba(15,23,42,.75); }
[data-nav-layout="sidebar"] .hp-brand-overlay-btn .material-symbols-outlined { font-size: 14px; }

[data-nav-layout="sidebar"] .hp-brand-menu {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    width: 240px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    padding: 10px;
    z-index: 40;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-brand-menu {
    background: var(--gray-100);
    box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
[data-nav-layout="sidebar"] .hp-brand-menu-head {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    padding: 4px 4px 8px;
}
[data-nav-layout="sidebar"] .hp-brand-menu-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 220px;
    overflow-y: auto;
}
[data-nav-layout="sidebar"] .hp-brand-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: transparent;
    color: var(--fg-2);
    font-size: 12.5px;
    cursor: pointer;
    text-align: left;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-brand-menu-item:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .hp-brand-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
}

/* Achievement ribbon */
[data-nav-layout="sidebar"] .hp-ribbon-overlay {
    position: absolute;
    bottom: 12px;
    left: 12px;
    z-index: 40;
}
[data-nav-layout="sidebar"] .hp-ribbon-img {
    height: 80px;
    width: auto;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,.35));
}
[data-nav-layout="sidebar"] .hp-ribbon-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(15,23,42,.92);
    color: #fff;
    font-size: 11.5px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 140ms;
    pointer-events: none;
    box-shadow: 0 6px 16px rgba(0,0,0,.3);
}
[data-nav-layout="sidebar"] .hp-ribbon-overlay:hover .hp-ribbon-tooltip { opacity: 1; }
[data-nav-layout="sidebar"] .hp-ribbon-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(15,23,42,.92);
}

/* Info card name + edit toggle */
[data-nav-layout="sidebar"] .hp-info-name {
    font-size: 19px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-info-edit-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px; height: 28px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid transparent;
    color: var(--fg-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 140ms, color 140ms;
}
[data-nav-layout="sidebar"] .hp-info-edit-btn:hover {
    background: var(--gray-100);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .hp-info-edit-btn .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .hp-info-name-input {
    width: 100%;
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    background: #fff;
    color: var(--fg-1);
    border: 1px solid var(--border-1);
    border-radius: 8px;
}
[data-nav-layout="sidebar"] .hp-info-name-input:focus { outline: none; border-color: var(--ind-600); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-name-input { background: var(--gray-100); }

[data-nav-layout="sidebar"] .hp-info-tagline {
    font-size: 12px;
    font-style: italic;
    color: var(--fg-3);
    text-align: center;
    margin: 4px 0 0;
    cursor: pointer;
    transition: color 140ms;
}
[data-nav-layout="sidebar"] .hp-info-tagline:hover { color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-info-tagline-input {
    width: 100%;
    padding: 5px 8px;
    font-size: 12px;
    font-style: italic;
    text-align: center;
    background: #fff;
    color: var(--fg-2);
    border: 1px solid var(--border-1);
    border-radius: 6px;
}
[data-nav-layout="sidebar"] .hp-info-tagline-input:focus { outline: none; border-color: var(--ind-600); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-tagline-input { background: var(--gray-100); }
[data-nav-layout="sidebar"] .hp-info-add-tagline {
    background: transparent;
    border: none;
    color: var(--fg-4);
    font-size: 11.5px;
    cursor: pointer;
    transition: color 140ms;
}
[data-nav-layout="sidebar"] .hp-info-add-tagline:hover { color: var(--fg-2); }

/* Edit action bar (template + save/cancel) */
[data-nav-layout="sidebar"] .hp-info-edit-bar {
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-info-edit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-info-edit-actions { display: inline-flex; gap: 6px; }
[data-nav-layout="sidebar"] .hp-info-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border-radius: 6px;
    border: none;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-info-btn .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-info-btn.is-template { background: rgba(168,85,247,.12); color: #7e22ce; }
[data-nav-layout="sidebar"] .hp-info-btn.is-template:hover { background: rgba(168,85,247,.20); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-btn.is-template { color: #d8b4fe; }
[data-nav-layout="sidebar"] .hp-info-btn.is-save { background: #16a34a; color: #fff; }
[data-nav-layout="sidebar"] .hp-info-btn.is-save:hover { background: #15803d; }
[data-nav-layout="sidebar"] .hp-info-btn.is-cancel { background: var(--gray-200); color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-info-btn.is-cancel:hover { background: var(--gray-300); color: var(--fg-1); }

/* Template dropdown */
[data-nav-layout="sidebar"] .hp-template-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    width: 240px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    padding: 6px;
    z-index: 50;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-template-menu {
    background: var(--gray-100);
    box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
[data-nav-layout="sidebar"] .hp-template-empty {
    padding: 10px;
    text-align: center;
    color: var(--fg-3);
    font-size: 12.5px;
}
[data-nav-layout="sidebar"] .hp-template-empty a {
    color: #7e22ce;
    text-decoration: none;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-template-empty a:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .hp-template-item {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 6px 10px;
    border-radius: 6px;
    background: transparent;
    border: none;
    color: var(--fg-2);
    font-size: 12.5px;
    text-align: left;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-template-item:hover { background: var(--gray-50); color: var(--fg-1); }
[data-nav-layout="sidebar"] .hp-template-default { color: #f59e0b; }
[data-nav-layout="sidebar"] .hp-template-foot {
    border-top: 1px solid var(--border-1);
    margin-top: 4px;
    padding-top: 6px;
    text-align: center;
}
[data-nav-layout="sidebar"] .hp-template-foot a {
    font-size: 11.5px;
    color: #7e22ce;
    text-decoration: none;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-template-foot a:hover { text-decoration: underline; }

/* Status pills (in info table) */
[data-nav-layout="sidebar"] .hp-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
[data-nav-layout="sidebar"] .hp-status-pill .material-symbols-outlined,
[data-nav-layout="sidebar"] .hp-status-pill .fa-tombstone-blank { font-size: 12px; }
[data-nav-layout="sidebar"] .hp-status-pill.is-deceased { background: rgba(15,23,42,.85); color: #fff; }
[data-nav-layout="sidebar"] .hp-status-pill.is-retired  { background: var(--gray-200); color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-status-pill.is-pastured  { background: rgba(5,150,105,.15); color: #047857; }
[data-nav-layout="sidebar"] .hp-status-pill.is-paddocked { background: rgba(245,158,11,.15); color: #b45309; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-pill.is-pastured  { color: #34d399; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-pill.is-paddocked { color: #fbbf24; }
[data-nav-layout="sidebar"] .hp-status-note {
    margin-left: 6px;
    font-size: 11px;
    color: var(--fg-4);
}

/* ════════════════════════════════════════════════════════════════════
   Horse profile tabs — desktop file-folder + mobile dropdown
   Each tab has a `data-color` attribute (blue/red/purple/emerald/amber/
   indigo/yellow/rose/slate). CSS attribute selectors fan that out into
   per-tab background/text/active styles, keeping the color separation
   users rely on while removing the legacy Tailwind-class soup.
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .hp-tabs-wrap {
    border-bottom: 1px solid var(--border-1);
    background: transparent;
}
[data-nav-layout="sidebar"] .hp-tabs {
    padding: 8px 8px 0;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    gap: 2px;
    align-items: flex-end;
}
[data-nav-layout="sidebar"] .hp-tabs::-webkit-scrollbar { display: none; }

[data-nav-layout="sidebar"] .hp-tab {
    --hp-tab-bg: rgba(99,102,241,.08);
    --hp-tab-bg-hover: rgba(99,102,241,.16);
    --hp-tab-fg: var(--ind-600);
    --hp-tab-active-bg: #fff;
    --hp-tab-active-fg: #4338ca;
    --hp-tab-active-border: #6366f1;

    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    flex-shrink: 0;
    border: 1px solid var(--border-1);
    border-bottom: none;
    border-top: 3px solid transparent;
    border-radius: 10px 10px 0 0;
    background: var(--hp-tab-bg);
    color: var(--hp-tab-fg);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 140ms, color 140ms, transform 140ms;
    margin-bottom: -1px;
    position: relative;
    z-index: 1;
}
[data-nav-layout="sidebar"] .hp-tab i { font-size: 12px; }
[data-nav-layout="sidebar"] .hp-tab:hover { background: var(--hp-tab-bg-hover); }
[data-nav-layout="sidebar"] .hp-tab.active {
    background: var(--hp-tab-active-bg);
    color: var(--hp-tab-active-fg);
    border-top-color: var(--hp-tab-active-border);
    border-bottom-color: var(--hp-tab-active-bg);
    font-weight: 700;
    z-index: 2;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab.active {
    background: rgba(148,163,184,.06);
    border-bottom-color: rgba(148,163,184,.06);
}

/* Color variants — each maps to one of the original Tailwind palettes */
[data-nav-layout="sidebar"] [data-color="blue"]    { --hp-tab-bg: rgba(59,130,246,.08);   --hp-tab-bg-hover: rgba(59,130,246,.16);   --hp-tab-fg: #2563eb; --hp-tab-active-fg: #1d4ed8; --hp-tab-active-border: #3b82f6; }
[data-nav-layout="sidebar"] [data-color="red"]     { --hp-tab-bg: rgba(239,68,68,.08);    --hp-tab-bg-hover: rgba(239,68,68,.16);    --hp-tab-fg: #dc2626; --hp-tab-active-fg: #b91c1c; --hp-tab-active-border: #ef4444; }
[data-nav-layout="sidebar"] [data-color="purple"]  { --hp-tab-bg: rgba(168,85,247,.08);   --hp-tab-bg-hover: rgba(168,85,247,.16);   --hp-tab-fg: #9333ea; --hp-tab-active-fg: #7e22ce; --hp-tab-active-border: #a855f7; }
[data-nav-layout="sidebar"] [data-color="emerald"] { --hp-tab-bg: rgba(16,185,129,.08);   --hp-tab-bg-hover: rgba(16,185,129,.16);   --hp-tab-fg: #059669; --hp-tab-active-fg: #047857; --hp-tab-active-border: #10b981; }
[data-nav-layout="sidebar"] [data-color="amber"]   { --hp-tab-bg: rgba(245,158,11,.10);   --hp-tab-bg-hover: rgba(245,158,11,.18);   --hp-tab-fg: #b45309; --hp-tab-active-fg: #92400e; --hp-tab-active-border: #f59e0b; }
[data-nav-layout="sidebar"] [data-color="indigo"]  { --hp-tab-bg: rgba(99,102,241,.08);   --hp-tab-bg-hover: rgba(99,102,241,.16);   --hp-tab-fg: #4f46e5; --hp-tab-active-fg: #4338ca; --hp-tab-active-border: #6366f1; }
[data-nav-layout="sidebar"] [data-color="yellow"]  { --hp-tab-bg: rgba(234,179,8,.12);    --hp-tab-bg-hover: rgba(234,179,8,.20);    --hp-tab-fg: #a16207; --hp-tab-active-fg: #854d0e; --hp-tab-active-border: #eab308; }
[data-nav-layout="sidebar"] [data-color="rose"]    { --hp-tab-bg: rgba(244,63,94,.08);    --hp-tab-bg-hover: rgba(244,63,94,.16);    --hp-tab-fg: #e11d48; --hp-tab-active-fg: #be123c; --hp-tab-active-border: #f43f5e; }
[data-nav-layout="sidebar"] [data-color="slate"]   { --hp-tab-bg: rgba(100,116,139,.10);  --hp-tab-bg-hover: rgba(100,116,139,.18);  --hp-tab-fg: #475569; --hp-tab-active-fg: #334155; --hp-tab-active-border: #64748b; }

/* Brighter foregrounds in dark mode */
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="blue"]    { --hp-tab-fg: #93c5fd; --hp-tab-active-fg: #bfdbfe; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="red"]     { --hp-tab-fg: #fca5a5; --hp-tab-active-fg: #fecaca; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="purple"]  { --hp-tab-fg: #d8b4fe; --hp-tab-active-fg: #e9d5ff; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="emerald"] { --hp-tab-fg: #6ee7b7; --hp-tab-active-fg: #a7f3d0; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="amber"]   { --hp-tab-fg: #fcd34d; --hp-tab-active-fg: #fde68a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="indigo"]  { --hp-tab-fg: #a5b4fc; --hp-tab-active-fg: #c7d2fe; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="yellow"]  { --hp-tab-fg: #fde047; --hp-tab-active-fg: #fef08a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="rose"]    { --hp-tab-fg: #fda4af; --hp-tab-active-fg: #fecdd3; }
html[data-theme="dark"] [data-nav-layout="sidebar"] [data-color="slate"]   { --hp-tab-fg: #cbd5e1; --hp-tab-active-fg: #e2e8f0; }

/* Tab content panel */
[data-nav-layout="sidebar"] .hp-tab-panel {
    padding: 22px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-top: none;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab-panel {
    background: rgba(148,163,184,.04);
}

/* In-tab section header — replaces the per-color gradient banner that
   used to live at the top of each tab. Picks up its accent color from
   the same data-color attribute as the tab buttons. */
[data-nav-layout="sidebar"] .hp-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 10px;
    background: var(--hp-tab-bg);
    border: 1px solid transparent;
    border-left: 3px solid var(--hp-tab-active-border);
}
[data-nav-layout="sidebar"] .hp-section-header h2 {
    font-size: 15px;
    font-weight: 700;
    color: var(--hp-tab-active-fg);
    margin: 0;
    letter-spacing: -.005em;
}
[data-nav-layout="sidebar"] .hp-section-header-icon {
    width: 30px; height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--hp-tab-active-border);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-section-header-icon i { font-size: 14px; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-section-header {
    background: var(--hp-tab-bg-hover);
}

/* Prominent headline stat tiles (e.g. Total Performance, Discipline Score). */
[data-nav-layout="sidebar"] .hp-headline-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .hp-headline-stats { grid-template-columns: 1fr; }
}
[data-nav-layout="sidebar"] .hp-headline-stats-single { grid-template-columns: 1fr; }
[data-nav-layout="sidebar"] .hp-headline-stat {
    --hp-stat-tint: rgba(99,102,241,.08);
    --hp-stat-fg: #4338ca;
    --hp-stat-border: rgba(99,102,241,.30);

    text-align: center;
    padding: 16px;
    border-radius: 12px;
    background: var(--hp-stat-tint);
    border: 1px solid var(--hp-stat-border);
}
[data-nav-layout="sidebar"] .hp-headline-stat[data-tone="blue"]          { --hp-stat-tint: rgba(59,130,246,.10);  --hp-stat-fg: #1d4ed8; --hp-stat-border: rgba(59,130,246,.30); }
[data-nav-layout="sidebar"] .hp-headline-stat[data-tone="strikemaster"]  { --hp-stat-tint: rgba(217,70,239,.10);  --hp-stat-fg: #a21caf; --hp-stat-border: rgba(217,70,239,.30); }
[data-nav-layout="sidebar"] .hp-headline-stat[data-tone="emerald"]       { --hp-stat-tint: rgba(16,185,129,.10);  --hp-stat-fg: #047857; --hp-stat-border: rgba(16,185,129,.30); }
[data-nav-layout="sidebar"] .hp-headline-stat[data-tone="amber"]         { --hp-stat-tint: rgba(245,158,11,.12);  --hp-stat-fg: #92400e; --hp-stat-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-headline-stat[data-tone="rose"]          { --hp-stat-tint: rgba(244,63,94,.10);   --hp-stat-fg: #be123c; --hp-stat-border: rgba(244,63,94,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-headline-stat[data-tone="blue"]         { --hp-stat-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-headline-stat[data-tone="strikemaster"] { --hp-stat-fg: #f0abfc; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-headline-stat[data-tone="emerald"]      { --hp-stat-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-headline-stat[data-tone="amber"]        { --hp-stat-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-headline-stat[data-tone="rose"]         { --hp-stat-fg: #fda4af; }
[data-nav-layout="sidebar"] .hp-headline-stat-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--hp-stat-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .hp-headline-stat-label .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .hp-headline-stat-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--hp-stat-fg);
    line-height: 1.1;
}
[data-nav-layout="sidebar"] .hp-headline-stat-sub {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 4px;
}

/* ═══ Performance tab: badge strip ═══ */
[data-nav-layout="sidebar"] .hp-badge-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    margin-bottom: 22px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 12px;
}
[data-nav-layout="sidebar"] .hp-badge-group {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
[data-nav-layout="sidebar"] .hp-badge-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--fg-3);
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .hp-badge {
    --badge-bg: var(--gray-100);
    --badge-fg: var(--fg-2);
    --badge-border: var(--border-1);

    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--badge-bg);
    color: var(--badge-fg);
    border: 1px solid var(--badge-border);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .hp-badge .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-badge-sub { font-size: 10px; opacity: .75; margin-left: 2px; }
[data-nav-layout="sidebar"] .hp-badge-link {
    font-size: 11px;
    color: var(--ind-600);
    text-decoration: none;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-badge-link:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .hp-badge[data-tone="neutral"]  { --badge-bg: var(--gray-100); --badge-fg: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="blue"]     { --badge-bg: rgba(59,130,246,.14);  --badge-fg: #1d4ed8; --badge-border: rgba(59,130,246,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="red"]      { --badge-bg: rgba(239,68,68,.14);   --badge-fg: #b91c1c; --badge-border: rgba(239,68,68,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="amber"]    { --badge-bg: rgba(245,158,11,.16);  --badge-fg: #92400e; --badge-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="emerald"]  { --badge-bg: rgba(16,185,129,.14);  --badge-fg: #047857; --badge-border: rgba(16,185,129,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="bronze"]   { --badge-bg: rgba(217,119,6,.16);   --badge-fg: #b45309; --badge-border: rgba(217,119,6,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="silver"]   { --badge-bg: rgba(148,163,184,.20); --badge-fg: #475569; --badge-border: rgba(148,163,184,.40); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="gold"]     { --badge-bg: rgba(234,179,8,.18);   --badge-fg: #854d0e; --badge-border: rgba(234,179,8,.35); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="platinum"] { --badge-bg: rgba(168,85,247,.16);  --badge-fg: #7e22ce; --badge-border: rgba(168,85,247,.30); }
[data-nav-layout="sidebar"] .hp-badge[data-tone="schooling"]{ --badge-bg: var(--gray-100);       --badge-fg: var(--fg-2); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="blue"]     { --badge-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="red"]      { --badge-fg: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="amber"]    { --badge-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="emerald"]  { --badge-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="bronze"]   { --badge-fg: #fdba74; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="silver"]   { --badge-fg: #cbd5e1; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="gold"]     { --badge-fg: #fde047; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge[data-tone="platinum"] { --badge-fg: #d8b4fe; }

[data-nav-layout="sidebar"] .hp-badge-action {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff;
    color: var(--fg-3);
    border: 1px solid var(--border-1);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms, color 140ms, border-color 140ms;
}
[data-nav-layout="sidebar"] .hp-badge-action:hover {
    background: rgba(99,102,241,.10);
    color: var(--ind-600);
    border-color: rgba(99,102,241,.30);
}
[data-nav-layout="sidebar"] .hp-badge-action .material-symbols-outlined { font-size: 14px; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-badge-action { background: var(--gray-100); }

/* ═══ Performance tab: stats grid (compact) ═══ */
[data-nav-layout="sidebar"] .hp-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 22px;
}
@media (max-width: 900px) { [data-nav-layout="sidebar"] .hp-stat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { [data-nav-layout="sidebar"] .hp-stat-grid { grid-template-columns: repeat(2, 1fr); } }
[data-nav-layout="sidebar"] .hp-stat-card {
    --stat-bg: #fff;
    --stat-border: var(--border-1);
    --stat-accent: var(--fg-3);
    --stat-value-fg: var(--fg-1);

    background: var(--stat-bg);
    border: 1px solid var(--stat-border);
    border-radius: 10px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-stat-card[data-role="primary"] {
    --stat-bg: linear-gradient(160deg, rgba(99,102,241,.10) 0%, rgba(59,130,246,.06) 100%);
    --stat-border: rgba(99,102,241,.35);
    --stat-accent: #4338ca;
    --stat-value-fg: #1e3a8a;
}
[data-nav-layout="sidebar"] .hp-stat-card[data-role="secondary"] {
    --stat-bg: rgba(59,130,246,.06);
    --stat-border: rgba(59,130,246,.22);
    --stat-accent: #2563eb;
    --stat-value-fg: #1d4ed8;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-card { --stat-bg: rgba(148,163,184,.04); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-card[data-role="primary"] {
    --stat-bg: linear-gradient(160deg, rgba(99,102,241,.18) 0%, rgba(59,130,246,.10) 100%);
    --stat-accent: #c7d2fe;
    --stat-value-fg: #e0e7ff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-card[data-role="secondary"] {
    --stat-bg: rgba(59,130,246,.10);
    --stat-accent: #93c5fd;
    --stat-value-fg: #bfdbfe;
}
[data-nav-layout="sidebar"] .hp-stat-card-row-main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}
[data-nav-layout="sidebar"] .hp-stat-card-head {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--stat-accent);
    min-width: 0;
}
[data-nav-layout="sidebar"] .hp-stat-card-icon { font-size: 12px; flex-shrink: 0; }
[data-nav-layout="sidebar"] .hp-stat-card-title {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .hp-stat-card-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--stat-value-fg);
    line-height: 1;
}
/* Stacked composition bar — each segment width is the contributor's
   share of the total positive sum, color-coded to match the breakdown
   rows below. Gives an at-a-glance read on how the stat was built. */
[data-nav-layout="sidebar"] .hp-stat-stack {
    display: flex;
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--gray-200);
    margin: 2px 0 6px;
}
[data-nav-layout="sidebar"] .hp-stat-seg {
    display: block;
    height: 100%;
}
[data-nav-layout="sidebar"] .hp-stat-seg.is-base     { background: var(--gray-400); }
[data-nav-layout="sidebar"] .hp-stat-seg.is-training { background: #22c55e; }
[data-nav-layout="sidebar"] .hp-stat-seg.is-care     { background: #14b8a6; }
[data-nav-layout="sidebar"] .hp-stat-seg.is-traits   { background: #10b981; }
[data-nav-layout="sidebar"] .hp-stat-seg.is-medical  { background: #a855f7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-seg.is-base { background: var(--gray-500); }

/* Clear, labeled breakdown rows */
[data-nav-layout="sidebar"] .hp-stat-breakdown {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 11px;
    line-height: 1.25;
}
[data-nav-layout="sidebar"] .hp-stat-bd-row {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-stat-bd-dot {
    width: 8px; height: 8px;
    border-radius: 2px;
    background: var(--gray-400);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-base     { background: var(--gray-400); }
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-training { background: #22c55e; }
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-care     { background: #14b8a6; }
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-traits   { background: #10b981; }
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-neg      { background: #ef4444; }
[data-nav-layout="sidebar"] .hp-stat-bd-dot.is-medical  { background: #a855f7; }
[data-nav-layout="sidebar"] .hp-stat-bd-label { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .hp-stat-bd-value {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .hp-stat-bd-row.is-training .hp-stat-bd-value,
[data-nav-layout="sidebar"] .hp-stat-bd-row.is-care .hp-stat-bd-value,
[data-nav-layout="sidebar"] .hp-stat-bd-row.is-traits .hp-stat-bd-value { color: #15803d; }
[data-nav-layout="sidebar"] .hp-stat-bd-row.is-neg .hp-stat-bd-value     { color: #b91c1c; }
[data-nav-layout="sidebar"] .hp-stat-bd-row.is-medical .hp-stat-bd-value { color: #6d28d9; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-bd-row.is-training .hp-stat-bd-value,
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-bd-row.is-care .hp-stat-bd-value,
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-bd-row.is-traits .hp-stat-bd-value { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-bd-row.is-neg .hp-stat-bd-value     { color: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stat-bd-row.is-medical .hp-stat-bd-value { color: #c4b5fd; }

/* ═══ Pedigree tab ═══ */
/* Breed composition card */
[data-nav-layout="sidebar"] .hp-composition-card { margin-bottom: 18px; }
[data-nav-layout="sidebar"] .hp-composition-card .hp-card-head h3 {
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}
[data-nav-layout="sidebar"] .hp-card-head-meta {
    margin-left: auto;
    font-size: 11.5px;
    color: var(--fg-4);
    font-weight: 400;
}
[data-nav-layout="sidebar"] .hp-composition-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
[data-nav-layout="sidebar"] .hp-composition-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(99,102,241,.10);
    color: var(--ind-600);
    border: 1px solid rgba(99,102,241,.25);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-composition-pill { color: #a5b4fc; }
[data-nav-layout="sidebar"] .hp-composition-pill strong {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: var(--ind-700);
    opacity: .85;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-composition-pill strong { color: #c7d2fe; }

/* Pedigree chart wrapper */
[data-nav-layout="sidebar"] .hp-pedigree-chart {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    margin-bottom: 22px;
    overflow: hidden;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-pedigree-chart { background: rgba(148,163,184,.04); }
[data-nav-layout="sidebar"] .hp-pedigree-chart-inner {
    padding: 18px;
    overflow-x: auto;
}
@media (min-width: 768px) { [data-nav-layout="sidebar"] .hp-pedigree-chart-inner { display: flex; justify-content: center; padding: 24px; } }

/* Pedigree cards */
[data-nav-layout="sidebar"] .hp-ped-card {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    padding: 12px;
    position: relative;
    transition: border-color 140ms, transform 140ms;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-ped-card { background: rgba(148,163,184,.06); }
[data-nav-layout="sidebar"] .hp-ped-card.is-current {
    background: linear-gradient(135deg, rgba(16,185,129,.10) 0%, rgba(34,197,94,.06) 100%);
    border: 2px solid #10b981;
    text-align: center;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-ped-card.is-current {
    background: linear-gradient(135deg, rgba(16,185,129,.16) 0%, rgba(34,197,94,.10) 100%);
}
[data-nav-layout="sidebar"] .hp-ped-card.is-compact { padding: 8px; }
[data-nav-layout="sidebar"] .hp-ped-card.is-grandparent { padding: 9px; border-radius: 9px; }
[data-nav-layout="sidebar"] .hp-ped-card.is-mini {
    padding: 5px 7px;
    border-radius: 7px;
    background: var(--gray-50);
    border-color: var(--border-1);
    font-size: 10px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-ped-card.is-mini { background: rgba(148,163,184,.04); }

/* Pedigree image frames */
[data-nav-layout="sidebar"] .hp-ped-img-frame {
    background: var(--gray-100);
    border: 1px solid var(--border-1);
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-ped-img-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-lg    { width: 120px; height: 80px; margin: 0 auto 8px; }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-md    { width: 96px;  height: 64px; }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-sm    { width: 60px;  height: 40px; }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-xs    { width: 48px;  height: 32px; }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-tiny  { width: 36px;  height: 24px; background: #fff; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-ped-img-frame.is-tiny { background: var(--gray-100); }
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .hp-ped-img-frame.is-link { display: block; }

/* Pedigree tags (deceased / retired) */
[data-nav-layout="sidebar"] .hp-ped-tag {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
}
[data-nav-layout="sidebar"] .hp-ped-tag.is-deceased {
    background: rgba(15,23,42,.85);
    color: #fff;
}
[data-nav-layout="sidebar"] .hp-ped-tag.is-retired {
    background: var(--gray-200);
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-ped-tag.is-small { font-size: 8px; padding: 1px 4px; }
[data-nav-layout="sidebar"] .hp-ped-tag.is-mini { font-size: 7px; padding: 0 3px; line-height: 1.4; }

/* Pedigree connector lines */
[data-nav-layout="sidebar"] .hp-ped-connector {
    position: absolute;
    background: var(--border-1);
}
[data-nav-layout="sidebar"] .hp-ped-connector.is-right {
    right: 0;
    top: 50%;
    width: 8px;
    height: 1px;
    transform: translateX(100%);
}
[data-nav-layout="sidebar"] .hp-ped-connector.is-right.is-mid {
    transform: translateX(100%) translateY(-50%);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-ped-connector { background: var(--gray-300); }

/* Override the inline bg-gray-300 etc lines used for pedigree connectors */
[data-nav-layout="sidebar"] .hp-pedigree-chart-inner .bg-gray-300 { background: var(--border-1) !important; }
[data-nav-layout="sidebar"] .hp-pedigree-chart-inner .bg-gray-200 { background: var(--border-1) !important; opacity: .6; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-pedigree-chart-inner .bg-gray-300 { background: var(--gray-300) !important; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-pedigree-chart-inner .bg-gray-200 { background: var(--gray-300) !important; opacity: .5; }

/* Offspring card */
[data-nav-layout="sidebar"] .hp-offspring-card { margin-bottom: 22px; }
[data-nav-layout="sidebar"] .hp-offspring-card .hp-card-head h3 { font-size: 14px; text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-offspring-empty {
    text-align: center;
    padding: 28px 16px;
    color: var(--fg-3);
    font-size: 13px;
}
[data-nav-layout="sidebar"] .hp-offspring-empty p { margin: 0; }
[data-nav-layout="sidebar"] .hp-offspring-table-wrap { overflow-x: auto; margin: 0 -18px -18px; }
[data-nav-layout="sidebar"] .hp-offspring-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
[data-nav-layout="sidebar"] .hp-offspring-table thead th {
    background: var(--gray-50);
    border-top: 1px solid var(--border-1);
    border-bottom: 1px solid var(--border-1);
    padding: 8px 12px;
    text-align: left;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .hp-offspring-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-1);
    color: var(--fg-2);
    vertical-align: top;
}
[data-nav-layout="sidebar"] .hp-offspring-table tbody tr:last-child td { border-bottom: none; }
[data-nav-layout="sidebar"] .hp-offspring-table tbody tr:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .hp-offspring-table tbody tr.hp-off-row.is-expected {
    background: rgba(245,158,11,.06);
}
[data-nav-layout="sidebar"] .hp-offspring-table tbody tr.hp-off-row.is-expected:hover {
    background: rgba(245,158,11,.10);
}
@media (max-width: 1023px) {
    [data-nav-layout="sidebar"] .hp-offspring-table .hp-off-col-owner { display: none; }
    [data-nav-layout="sidebar"] .hp-offspring-table tbody td:nth-child(5) { display: none; }
}
@media (max-width: 767px) {
    [data-nav-layout="sidebar"] .hp-offspring-table .hp-off-col-breed,
    [data-nav-layout="sidebar"] .hp-offspring-table .hp-off-col-keuring,
    [data-nav-layout="sidebar"] .hp-offspring-table .hp-off-col-points { display: none; }
    [data-nav-layout="sidebar"] .hp-offspring-table tbody td:nth-child(3),
    [data-nav-layout="sidebar"] .hp-offspring-table tbody td:nth-child(6),
    [data-nav-layout="sidebar"] .hp-offspring-table tbody td:nth-child(7) { display: none; }
}

/* Card action link in card heads */
[data-nav-layout="sidebar"] .hp-card-action-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--ind-600);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-card-action-link:hover { text-decoration: underline; }
[data-nav-layout="sidebar"] .hp-card-action-link i { font-size: 10px; }

/* Breeding rankings */
[data-nav-layout="sidebar"] .hp-rankings-card { margin-bottom: 22px; }
[data-nav-layout="sidebar"] .hp-rankings-card .hp-card-head h3 { font-size: 14px; text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-rank-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
@media (max-width: 640px) { [data-nav-layout="sidebar"] .hp-rank-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-rank-card {
    --rk-tint-1: rgba(59,130,246,.10);
    --rk-tint-2: rgba(59,130,246,.04);
    --rk-fg: #1d4ed8;
    --rk-border: rgba(59,130,246,.25);

    padding: 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--rk-tint-1) 0%, var(--rk-tint-2) 100%);
    border: 1px solid var(--rk-border);
}
[data-nav-layout="sidebar"] .hp-rank-card[data-tone="blue"]  { --rk-tint-1: rgba(59,130,246,.12); --rk-tint-2: rgba(59,130,246,.04); --rk-fg: #1d4ed8; --rk-border: rgba(59,130,246,.28); }
[data-nav-layout="sidebar"] .hp-rank-card[data-tone="pink"]  { --rk-tint-1: rgba(236,72,153,.12); --rk-tint-2: rgba(236,72,153,.04); --rk-fg: #be185d; --rk-border: rgba(236,72,153,.28); }
[data-nav-layout="sidebar"] .hp-rank-card[data-tone="amber"] { --rk-tint-1: rgba(245,158,11,.14); --rk-tint-2: rgba(245,158,11,.05); --rk-fg: #b45309; --rk-border: rgba(245,158,11,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-card[data-tone="blue"]  { --rk-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-card[data-tone="pink"]  { --rk-fg: #f9a8d4; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-card[data-tone="amber"] { --rk-fg: #fcd34d; }
[data-nav-layout="sidebar"] .hp-rank-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
[data-nav-layout="sidebar"] .hp-rank-card-head strong {
    font-size: 13px;
    color: var(--fg-1);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .hp-rank-position { font-size: 22px; line-height: 1; }
[data-nav-layout="sidebar"] .hp-rank-pos-num {
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-rank-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    text-align: center;
}
[data-nav-layout="sidebar"] .hp-rank-stat strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .hp-rank-stat span {
    font-size: 10.5px;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-rank-stat.is-primary strong { color: var(--rk-fg); }
[data-nav-layout="sidebar"] .hp-rank-stat.is-yellow strong { color: #ca8a04; }
[data-nav-layout="sidebar"] .hp-rank-stat.is-green strong { color: #16a34a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-stat.is-yellow strong { color: #fde047; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-stat.is-green strong { color: #4ade80; }

[data-nav-layout="sidebar"] .hp-rank-disciplines { margin-bottom: 4px; }
[data-nav-layout="sidebar"] .hp-rank-discipline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-rank-discipline {
    padding: 10px 12px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 8px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-discipline { background: rgba(148,163,184,.04); }
[data-nav-layout="sidebar"] .hp-rank-discipline-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-rank-discipline-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--fg-2);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .hp-rank-discipline-pos {
    font-size: 11px;
    font-weight: 700;
    color: var(--fg-4);
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-rank-discipline-pos.is-top[data-tone="blue"] { color: #2563eb; }
[data-nav-layout="sidebar"] .hp-rank-discipline-pos.is-top[data-tone="pink"] { color: #db2777; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-discipline-pos.is-top[data-tone="blue"] { color: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-rank-discipline-pos.is-top[data-tone="pink"] { color: #f9a8d4; }
[data-nav-layout="sidebar"] .hp-rank-discipline-pts {
    font-size: 11px;
    color: var(--fg-3);
    font-variant-numeric: tabular-nums;
}

/* ═══ Genetics tab ═══ */
/* Purchase CTA card (color genetics) */
[data-nav-layout="sidebar"] .hp-purchase-card {
    --pc-tint: rgba(59,130,246,.10);
    --pc-tint-2: rgba(99,102,241,.05);
    --pc-fg: #1d4ed8;
    --pc-border: rgba(59,130,246,.30);

    display: flex;
    gap: 22px;
    padding: 22px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--pc-tint) 0%, var(--pc-tint-2) 100%);
    border: 1px solid var(--pc-border);
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-purchase-card { flex-direction: column; } }
[data-nav-layout="sidebar"] .hp-purchase-icon {
    width: 72px; height: 72px;
    flex-shrink: 0;
    border-radius: 18px;
    background: rgba(255,255,255,.7);
    color: var(--pc-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--pc-border);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-icon { background: rgba(255,255,255,.08); }
[data-nav-layout="sidebar"] .hp-purchase-icon i { font-size: 30px; }
[data-nav-layout="sidebar"] .hp-purchase-body { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .hp-purchase-kicker {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--pc-fg);
    display: block;
    margin-bottom: 4px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-kicker { color: #93c5fd; }
[data-nav-layout="sidebar"] .hp-purchase-title {
    font-family: var(--ff-serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--fg-1);
    margin: 0 0 6px;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .hp-purchase-desc {
    font-size: 13px;
    color: var(--fg-2);
    line-height: 1.55;
    margin: 0 0 14px;
}
[data-nav-layout="sidebar"] .hp-purchase-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}
@media (max-width: 640px) { [data-nav-layout="sidebar"] .hp-purchase-features { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-purchase-feature {
    --pf-tint: rgba(59,130,246,.08);
    --pf-fg: #1d4ed8;

    display: flex;
    gap: 10px;
    padding: 12px;
    background: var(--pf-tint);
    border-radius: 10px;
}
[data-nav-layout="sidebar"] .hp-purchase-feature[data-tone="blue"]    { --pf-tint: rgba(59,130,246,.08);  --pf-fg: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-purchase-feature[data-tone="emerald"] { --pf-tint: rgba(16,185,129,.08); --pf-fg: #047857; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-feature[data-tone="blue"]    { --pf-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-feature[data-tone="emerald"] { --pf-fg: #6ee7b7; }
[data-nav-layout="sidebar"] .hp-purchase-feature i { color: var(--pf-fg); font-size: 16px; flex-shrink: 0; margin-top: 2px; }
[data-nav-layout="sidebar"] .hp-purchase-feature strong { display: block; font-size: 12.5px; font-weight: 700; color: var(--fg-1); margin-bottom: 4px; }
[data-nav-layout="sidebar"] .hp-purchase-feature ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 11.5px;
    color: var(--fg-3);
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] .hp-purchase-feature li { padding-left: 10px; position: relative; }
[data-nav-layout="sidebar"] .hp-purchase-feature li::before {
    content: '';
    position: absolute;
    left: 0; top: 7px;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--pf-fg);
}
[data-nav-layout="sidebar"] .hp-purchase-pricebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    background: rgba(255,255,255,.5);
    border: 1px solid var(--pc-border);
    border-radius: 12px;
    flex-wrap: wrap;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-pricebar { background: rgba(255,255,255,.04); }
[data-nav-layout="sidebar"] .hp-purchase-price { display: flex; flex-direction: column; }
[data-nav-layout="sidebar"] .hp-purchase-price-value { font-size: 28px; font-weight: 700; color: var(--fg-1); line-height: 1; }
[data-nav-layout="sidebar"] .hp-purchase-price-meta { font-size: 11px; color: var(--fg-3); margin-top: 2px; }
[data-nav-layout="sidebar"] .hp-purchase-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 10px;
    border: none;
    background: #2563eb;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-purchase-cta:hover { background: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-purchase-cta.is-amber { background: #d97706; }
[data-nav-layout="sidebar"] .hp-purchase-cta.is-amber:hover { background: #b45309; }
[data-nav-layout="sidebar"] .hp-purchase-cta.is-disabled,
[data-nav-layout="sidebar"] .hp-purchase-cta:disabled {
    background: var(--gray-300);
    color: var(--fg-3);
    cursor: not-allowed;
}
[data-nav-layout="sidebar"] .hp-purchase-cta-disabled {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-purchase-cta-disabled span {
    font-size: 11.5px;
    color: #b91c1c;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-purchase-cta-disabled span { color: #fca5a5; }

/* Genetic Analysis Report header card */
[data-nav-layout="sidebar"] .hp-gen-report .hp-card-head h3 { font-size: 16px; text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-gen-report-meta {
    margin-left: auto;
    font-size: 11.5px;
    color: var(--fg-3);
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-gen-report-sep { color: var(--fg-4); margin: 0 4px; }
[data-nav-layout="sidebar"] .hp-gen-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-gen-summary { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-gen-summary-tile {
    padding: 12px;
    background: var(--gray-50);
    border-radius: 10px;
    border: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-gen-summary-tile.is-pheno {
    background: rgba(59,130,246,.08);
    border-color: rgba(59,130,246,.25);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gen-summary-tile.is-pheno { background: rgba(59,130,246,.14); }
[data-nav-layout="sidebar"] .hp-gen-summary-tile .hp-subheading { margin-bottom: 6px; }
[data-nav-layout="sidebar"] .hp-gen-summary-tile .hp-subheading i { margin-right: 4px; }
[data-nav-layout="sidebar"] .hp-gen-summary-name { font-size: 15px; font-weight: 700; color: var(--fg-1); line-height: 1.2; }
[data-nav-layout="sidebar"] .hp-gen-summary-sub { font-size: 12px; color: var(--fg-3); margin-top: 2px; }
[data-nav-layout="sidebar"] .hp-gen-summary-meta { font-size: 10.5px; color: var(--fg-4); margin-top: 4px; }
[data-nav-layout="sidebar"] .hp-gen-markers { display: flex; align-items: center; gap: 12px; }
[data-nav-layout="sidebar"] .hp-gen-marker-total {
    font-size: 28px;
    font-weight: 700;
    color: var(--fg-1);
    line-height: 1;
}
[data-nav-layout="sidebar"] .hp-gen-marker-split {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-gen-marker-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-gen-marker-row[data-tone="emerald"] { color: #15803d; }
[data-nav-layout="sidebar"] .hp-gen-marker-row[data-tone="blue"]    { color: #1d4ed8; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gen-marker-row[data-tone="emerald"] { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gen-marker-row[data-tone="blue"]    { color: #93c5fd; }
[data-nav-layout="sidebar"] .hp-gen-marker-row strong { font-weight: 700; }

/* Gene category tables */
[data-nav-layout="sidebar"] .hp-gene-card {
    --gc-tint: rgba(100,116,139,.10);
    --gc-fg: var(--fg-2);

    padding: 0;
    overflow: hidden;
    margin-bottom: 14px;
}
[data-nav-layout="sidebar"] .hp-gene-card[data-tone="red"]     { --gc-tint: rgba(239,68,68,.10);  --gc-fg: #dc2626; }
[data-nav-layout="sidebar"] .hp-gene-card[data-tone="amber"]   { --gc-tint: rgba(245,158,11,.12); --gc-fg: #b45309; }
[data-nav-layout="sidebar"] .hp-gene-card[data-tone="purple"]  { --gc-tint: rgba(168,85,247,.10); --gc-fg: #7e22ce; }
[data-nav-layout="sidebar"] .hp-gene-card[data-tone="neutral"] { --gc-tint: rgba(100,116,139,.10); --gc-fg: var(--fg-2); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gene-card[data-tone="red"]    { --gc-fg: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gene-card[data-tone="amber"]  { --gc-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gene-card[data-tone="purple"] { --gc-fg: #d8b4fe; }
[data-nav-layout="sidebar"] .hp-gene-card .hp-card-head {
    padding: 12px 16px;
    margin: 0;
    background: var(--gc-tint);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-gene-card .hp-card-head h3 { font-size: 13px; color: var(--gc-fg); text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-gene-icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    background: rgba(255,255,255,.7);
    color: var(--gc-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-gene-icon { background: rgba(255,255,255,.08); }
[data-nav-layout="sidebar"] .hp-gene-icon i { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-gene-table-wrap { overflow-x: auto; }
[data-nav-layout="sidebar"] .hp-gene-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}
[data-nav-layout="sidebar"] .hp-gene-table thead th {
    padding: 8px 14px;
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
    text-align: left;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-gene-table tbody td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-1);
    color: var(--fg-2);
    vertical-align: middle;
}
[data-nav-layout="sidebar"] .hp-gene-table tbody tr:last-child td { border-bottom: none; }
[data-nav-layout="sidebar"] .hp-gene-table tbody tr:hover { background: var(--gray-50); }
[data-nav-layout="sidebar"] .hp-gene-name { font-weight: 600; color: var(--fg-1); }
[data-nav-layout="sidebar"] .hp-gene-desc { font-size: 11px; color: var(--fg-4); margin-top: 2px; }
[data-nav-layout="sidebar"] .hp-allele-pair {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: monospace;
    font-weight: 700;
}
[data-nav-layout="sidebar"] .hp-allele {
    background: var(--gray-100);
    padding: 2px 8px;
    border-radius: 5px;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .hp-allele-sep { color: var(--fg-4); }
[data-nav-layout="sidebar"] .hp-zygosity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-zygosity-dots { display: inline-flex; gap: 2px; }
[data-nav-layout="sidebar"] .hp-zygosity-dots i { font-size: 5px; }
[data-nav-layout="sidebar"] .hp-zygosity.is-homo   { background: rgba(59,130,246,.14); color: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-zygosity.is-hetero { background: rgba(16,185,129,.14); color: #15803d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-zygosity.is-homo   { color: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-zygosity.is-hetero { color: #4ade80; }
@media (max-width: 600px) { [data-nav-layout="sidebar"] .hp-zygosity-label { display: none; } }
[data-nav-layout="sidebar"] .hp-expression {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-expression i { font-size: 11px; }
[data-nav-layout="sidebar"] .hp-expression.is-strong   { color: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-expression.is-moderate { color: #15803d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-expression.is-strong   { color: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-expression.is-moderate { color: #4ade80; }

/* Breeding Suitability card */
[data-nav-layout="sidebar"] .hp-breeding-card .hp-card-head h3 { font-size: 16px; text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-breeding-purchase {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    background: var(--gray-50);
    border-radius: 10px;
    border: 1px solid var(--border-1);
    margin-bottom: 18px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .hp-breeding-purchase-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .hp-breeding-purchase-meta strong {
    display: block;
    font-size: 13.5px;
    color: var(--fg-1);
    margin-bottom: 2px;
}
[data-nav-layout="sidebar"] .hp-breeding-purchase-meta strong i { color: #d97706; margin-right: 4px; }
[data-nav-layout="sidebar"] .hp-breeding-purchase-meta span { font-size: 12px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-breeding-owner-only {
    font-size: 12px;
    font-style: italic;
    color: var(--fg-4);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* BSI score panel */
[data-nav-layout="sidebar"] .hp-bsi {
    --bsi-tint-1: rgba(34,197,94,.15);
    --bsi-tint-2: rgba(16,185,129,.05);
    --bsi-fg: #15803d;
    --bsi-border: rgba(34,197,94,.30);

    display: flex;
    align-items: center;
    gap: 22px;
    padding: 18px 22px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--bsi-tint-1) 0%, var(--bsi-tint-2) 100%);
    border: 1px solid var(--bsi-border);
}
[data-nav-layout="sidebar"] .hp-bsi[data-tone="blue"]    { --bsi-tint-1: rgba(59,130,246,.15);  --bsi-tint-2: rgba(99,102,241,.05); --bsi-fg: #1d4ed8; --bsi-border: rgba(59,130,246,.30); }
[data-nav-layout="sidebar"] .hp-bsi[data-tone="amber"]   { --bsi-tint-1: rgba(245,158,11,.18); --bsi-tint-2: rgba(245,158,11,.06); --bsi-fg: #b45309; --bsi-border: rgba(245,158,11,.32); }
[data-nav-layout="sidebar"] .hp-bsi[data-tone="red"]     { --bsi-tint-1: rgba(239,68,68,.15);  --bsi-tint-2: rgba(239,68,68,.05);  --bsi-fg: #b91c1c; --bsi-border: rgba(239,68,68,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-bsi[data-tone="emerald"] { --bsi-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-bsi[data-tone="blue"]    { --bsi-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-bsi[data-tone="amber"]   { --bsi-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-bsi[data-tone="red"]     { --bsi-fg: #fca5a5; }
[data-nav-layout="sidebar"] .hp-bsi-score { flex-shrink: 0; }
[data-nav-layout="sidebar"] .hp-bsi-value {
    font-size: 56px;
    font-weight: 700;
    color: var(--bsi-fg);
    line-height: 1;
}
[data-nav-layout="sidebar"] .hp-bsi-max { font-size: 18px; color: var(--fg-3); font-weight: 600; }
[data-nav-layout="sidebar"] .hp-bsi-meta { display: flex; flex-direction: column; gap: 2px; }
[data-nav-layout="sidebar"] .hp-bsi-meta strong { font-size: 16px; color: var(--fg-1); font-weight: 700; }
[data-nav-layout="sidebar"] .hp-bsi-meta span { font-size: 13px; color: var(--bsi-fg); font-weight: 600; }
[data-nav-layout="sidebar"] .hp-bsi-meta em { font-size: 11px; color: var(--fg-4); font-style: normal; margin-top: 4px; }

/* 4 breeding metric cards */
[data-nav-layout="sidebar"] .hp-breeding-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-breeding-metrics { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-breed-metric {
    --bm-tint: rgba(59,130,246,.08);
    --bm-fg: #1d4ed8;

    padding: 14px;
    background: var(--bm-tint);
    border: 1px solid var(--border-1);
    border-radius: 12px;
}
[data-nav-layout="sidebar"] .hp-breed-metric[data-tone="blue"]    { --bm-tint: rgba(59,130,246,.08);  --bm-fg: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-breed-metric[data-tone="emerald"] { --bm-tint: rgba(16,185,129,.08); --bm-fg: #047857; }
[data-nav-layout="sidebar"] .hp-breed-metric[data-tone="purple"]  { --bm-tint: rgba(168,85,247,.08); --bm-fg: #7e22ce; }
[data-nav-layout="sidebar"] .hp-breed-metric[data-tone="amber"]   { --bm-tint: rgba(245,158,11,.10); --bm-fg: #b45309; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric[data-tone="blue"]    { --bm-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric[data-tone="emerald"] { --bm-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric[data-tone="purple"]  { --bm-fg: #d8b4fe; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric[data-tone="amber"]   { --bm-fg: #fcd34d; }
[data-nav-layout="sidebar"] .hp-breed-metric .hp-meter-fill { background: var(--bm-fg); }
[data-nav-layout="sidebar"] .hp-breed-metric-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .hp-breed-metric-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--bm-fg);
}
[data-nav-layout="sidebar"] .hp-breed-metric-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--bm-fg);
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .hp-breed-metric-rows {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 10px;
    font-size: 11.5px;
}
[data-nav-layout="sidebar"] .hp-breed-metric-row {
    display: flex;
    justify-content: space-between;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-breed-metric-row-value { font-weight: 600; color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-breed-metric-row-value.is-pos { color: #16a34a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric-row-value.is-pos { color: #4ade80; }
[data-nav-layout="sidebar"] .hp-breed-metric-verdict {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 600;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric-verdict { border-top-color: rgba(255,255,255,.08); }
[data-nav-layout="sidebar"] .hp-breed-metric-verdict.is-good { color: #15803d; }
[data-nav-layout="sidebar"] .hp-breed-metric-verdict.is-warn { color: #b45309; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric-verdict.is-good { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-metric-verdict.is-warn { color: #fcd34d; }

/* Fertility analysis */
[data-nav-layout="sidebar"] .hp-fertility { margin-bottom: 18px; }
[data-nav-layout="sidebar"] .hp-fertility-heading {
    font-size: 12px;
    margin-bottom: 8px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .hp-fertility-heading i { margin-right: 6px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-fertility-panel {
    --fp-tint: rgba(16,185,129,.10);
    --fp-fg: #047857;
    --fp-border: rgba(16,185,129,.30);

    padding: 14px 16px;
    background: var(--fp-tint);
    border: 1px solid var(--fp-border);
    border-radius: 12px;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="blue"]    { --fp-tint: rgba(59,130,246,.10);  --fp-fg: #1d4ed8; --fp-border: rgba(59,130,246,.30); }
[data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="amber"]   { --fp-tint: rgba(245,158,11,.12); --fp-fg: #b45309; --fp-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="red"]     { --fp-tint: rgba(239,68,68,.10);  --fp-fg: #b91c1c; --fp-border: rgba(239,68,68,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="emerald"] { --fp-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="blue"]    { --fp-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="amber"]   { --fp-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-panel[data-tone="red"]     { --fp-fg: #fca5a5; }
[data-nav-layout="sidebar"] .hp-fertility-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .hp-fertility-title { font-size: 13px; font-weight: 700; color: var(--fp-fg); }
[data-nav-layout="sidebar"] .hp-fertility-sub { font-size: 11px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-fertility-score { text-align: right; }
[data-nav-layout="sidebar"] .hp-fertility-score strong { display: block; font-size: 24px; font-weight: 700; color: var(--fp-fg); line-height: 1; }
[data-nav-layout="sidebar"] .hp-fertility-score span { font-size: 11px; color: var(--fp-fg); font-weight: 600; }
[data-nav-layout="sidebar"] .hp-fertility-rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 14px;
    margin-top: 10px;
    font-size: 11.5px;
}
@media (max-width: 480px) { [data-nav-layout="sidebar"] .hp-fertility-rows { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-fertility-row {
    display: flex;
    justify-content: space-between;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-fertility-row-wide { grid-column: 1 / -1; }
[data-nav-layout="sidebar"] .hp-fertility-row strong { font-weight: 600; color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-fertility-row strong.is-good { color: #15803d; }
[data-nav-layout="sidebar"] .hp-fertility-row strong.is-warn { color: #b45309; }
[data-nav-layout="sidebar"] .hp-fertility-row strong.is-bad  { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-row strong.is-good { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-row strong.is-warn { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-fertility-row strong.is-bad  { color: #fca5a5; }

/* Breeding recommendations */
[data-nav-layout="sidebar"] .hp-recommend { margin-bottom: 18px; }
[data-nav-layout="sidebar"] .hp-recommend-card {
    --rc-tint: rgba(16,185,129,.10);
    --rc-fg: #047857;
    --rc-icon-bg: rgba(16,185,129,.20);

    display: flex;
    gap: 14px;
    padding: 16px;
    background: var(--rc-tint);
    border: 1px solid var(--border-1);
    border-radius: 12px;
}
[data-nav-layout="sidebar"] .hp-recommend-card[data-tone="emerald"] { --rc-tint: rgba(16,185,129,.10); --rc-fg: #047857; --rc-icon-bg: rgba(16,185,129,.22); }
[data-nav-layout="sidebar"] .hp-recommend-card[data-tone="blue"]    { --rc-tint: rgba(59,130,246,.08); --rc-fg: #1d4ed8; --rc-icon-bg: rgba(59,130,246,.20); }
[data-nav-layout="sidebar"] .hp-recommend-card[data-tone="amber"]   { --rc-tint: rgba(245,158,11,.10); --rc-fg: #b45309; --rc-icon-bg: rgba(245,158,11,.22); }
[data-nav-layout="sidebar"] .hp-recommend-card[data-tone="neutral"] { --rc-tint: var(--gray-50); --rc-fg: var(--fg-2); --rc-icon-bg: var(--gray-200); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-recommend-card[data-tone="emerald"] { --rc-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-recommend-card[data-tone="blue"]    { --rc-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-recommend-card[data-tone="amber"]   { --rc-fg: #fcd34d; }
[data-nav-layout="sidebar"] .hp-recommend-icon {
    width: 36px; height: 36px;
    border-radius: 999px;
    background: var(--rc-icon-bg);
    color: var(--rc-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-recommend-icon i { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-recommend-body strong { display: block; font-size: 14px; color: var(--fg-1); margin-bottom: 8px; }
[data-nav-layout="sidebar"] .hp-recommend-body ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12.5px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .hp-recommend-body li { display: flex; align-items: flex-start; gap: 6px; }
[data-nav-layout="sidebar"] .hp-recommend-body li i { color: var(--rc-fg); font-size: 11px; margin-top: 3px; flex-shrink: 0; }
[data-nav-layout="sidebar"] .hp-recommend-alt {
    margin: 10px 0 0;
    font-size: 11.5px;
    color: var(--fg-3);
}

/* Reproductive Analysis */
[data-nav-layout="sidebar"] .hp-reproductive { margin-bottom: 18px; }
[data-nav-layout="sidebar"] .hp-reproductive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-reproductive-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-reproductive-tile {
    padding: 12px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 10px;
}
[data-nav-layout="sidebar"] .hp-reproductive-tile .hp-subheading { margin-bottom: 8px; }
[data-nav-layout="sidebar"] .hp-reproductive-body { display: flex; flex-direction: column; gap: 6px; }
[data-nav-layout="sidebar"] .hp-reproductive-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-reproductive-status.is-good  { color: #15803d; }
[data-nav-layout="sidebar"] .hp-reproductive-status.is-warn  { color: #b45309; }
[data-nav-layout="sidebar"] .hp-reproductive-status.is-preg  { color: #be185d; }
[data-nav-layout="sidebar"] .hp-reproductive-status.is-info  { color: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-reproductive-status.is-muted { color: var(--fg-4); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-status.is-good { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-status.is-warn { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-status.is-preg { color: #f9a8d4; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-status.is-info { color: #93c5fd; }
[data-nav-layout="sidebar"] .hp-reproductive-status-meta { font-size: 11px; color: var(--fg-3); font-weight: 500; margin-left: 4px; }
[data-nav-layout="sidebar"] .hp-reproductive-meta {
    font-size: 11.5px;
    color: var(--fg-3);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-reproductive-meta.is-warn { color: #b45309; }
[data-nav-layout="sidebar"] .hp-reproductive-meta.is-info { color: #1d4ed8; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-meta.is-warn { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-meta.is-info { color: #93c5fd; }
[data-nav-layout="sidebar"] .hp-reproductive-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-reproductive-row strong { font-weight: 700; color: var(--fg-1); }
[data-nav-layout="sidebar"] .hp-reproductive-row strong.is-good { color: #15803d; }
[data-nav-layout="sidebar"] .hp-reproductive-row strong.is-warn { color: #b45309; }
[data-nav-layout="sidebar"] .hp-reproductive-row strong.is-bad  { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-row strong.is-good { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-row strong.is-warn { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-reproductive-row strong.is-bad  { color: #fca5a5; }
[data-nav-layout="sidebar"] .hp-reproductive-row-sub {
    font-size: 11px;
    color: var(--fg-4);
    padding-top: 2px;
    border-top: 1px dashed var(--border-1);
    margin-top: 2px;
}

/* Breeding guidelines flyout */
[data-nav-layout="sidebar"] .hp-guide {
    position: relative;
    display: flex;
    justify-content: flex-end;
}
[data-nav-layout="sidebar"] .hp-guide-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--border-1);
    color: var(--fg-3);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms, color 140ms;
}
[data-nav-layout="sidebar"] .hp-guide-trigger:hover {
    background: rgba(59,130,246,.10);
    color: #1d4ed8;
    border-color: rgba(59,130,246,.30);
}
[data-nav-layout="sidebar"] .hp-guide-trigger i:last-child { font-size: 9px; transition: transform 180ms; }
[data-nav-layout="sidebar"] .hp-guide-trigger i.rotate-180 { transform: rotate(180deg); }
[data-nav-layout="sidebar"] .hp-guide-popover {
    position: absolute;
    bottom: calc(100% + 8px);
    right: 0;
    width: 320px;
    padding: 14px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid var(--border-1);
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    z-index: 30;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-guide-popover {
    background: var(--gray-100);
    box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
[data-nav-layout="sidebar"] .hp-guide-title {
    font-size: 13px;
    font-weight: 700;
    color: #1d4ed8;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-guide-title { color: #93c5fd; }
[data-nav-layout="sidebar"] .hp-guide-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 12px;
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .hp-guide-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-guide-list li i { font-size: 12px; margin-top: 2px; flex-shrink: 0; }

/* ═══ Personality tab ═══ */
/* Archetype hero — full-bleed gradient with big icon + meta strip */
[data-nav-layout="sidebar"] .hp-archetype {
    --arch-tint-1: rgba(168,85,247,.18);
    --arch-tint-2: rgba(168,85,247,.06);
    --arch-fg: #7e22ce;
    --arch-fg-strong: #581c87;
    --arch-border: rgba(168,85,247,.30);

    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 22px 24px;
    margin-bottom: 22px;
    border-radius: 16px;
    border: 1px solid var(--arch-border);
    background: linear-gradient(135deg, var(--arch-tint-1) 0%, var(--arch-tint-2) 100%);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .hp-archetype[data-tone="amber"]   { --arch-tint-1: rgba(245,158,11,.20); --arch-tint-2: rgba(245,158,11,.06); --arch-fg: #b45309; --arch-fg-strong: #78350f; --arch-border: rgba(245,158,11,.35); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="violet"]  { --arch-tint-1: rgba(139,92,246,.18); --arch-tint-2: rgba(139,92,246,.06); --arch-fg: #6d28d9; --arch-fg-strong: #4c1d95; --arch-border: rgba(139,92,246,.32); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="blue"]    { --arch-tint-1: rgba(59,130,246,.18); --arch-tint-2: rgba(59,130,246,.06); --arch-fg: #1d4ed8; --arch-fg-strong: #1e3a8a; --arch-border: rgba(59,130,246,.32); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="emerald"] { --arch-tint-1: rgba(16,185,129,.18); --arch-tint-2: rgba(16,185,129,.06); --arch-fg: #047857; --arch-fg-strong: #064e3b; --arch-border: rgba(16,185,129,.32); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="orange"]  { --arch-tint-1: rgba(249,115,22,.20); --arch-tint-2: rgba(249,115,22,.06); --arch-fg: #c2410c; --arch-fg-strong: #7c2d12; --arch-border: rgba(249,115,22,.32); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="teal"]    { --arch-tint-1: rgba(20,184,166,.18); --arch-tint-2: rgba(20,184,166,.06); --arch-fg: #0f766e; --arch-fg-strong: #134e4a; --arch-border: rgba(20,184,166,.32); }
[data-nav-layout="sidebar"] .hp-archetype[data-tone="pink"]    { --arch-tint-1: rgba(236,72,153,.18); --arch-tint-2: rgba(236,72,153,.06); --arch-fg: #be185d; --arch-fg-strong: #831843; --arch-border: rgba(236,72,153,.32); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="amber"]   { --arch-fg: #fcd34d; --arch-fg-strong: #fde68a; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="violet"]  { --arch-fg: #c4b5fd; --arch-fg-strong: #e9d5ff; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="blue"]    { --arch-fg: #93c5fd; --arch-fg-strong: #bfdbfe; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="emerald"] { --arch-fg: #6ee7b7; --arch-fg-strong: #a7f3d0; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="orange"]  { --arch-fg: #fdba74; --arch-fg-strong: #fed7aa; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="teal"]    { --arch-fg: #5eead4; --arch-fg-strong: #99f6e4; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="pink"]    { --arch-fg: #f9a8d4; --arch-fg-strong: #fbcfe8; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype[data-tone="purple"]  { --arch-fg: #d8b4fe; --arch-fg-strong: #e9d5ff; }

/* Decorative radial glow behind the icon */
[data-nav-layout="sidebar"] .hp-archetype-glow {
    position: absolute;
    top: 50%;
    left: 60px;
    width: 280px;
    height: 280px;
    transform: translateY(-50%);
    background: radial-gradient(circle, var(--arch-tint-1) 0%, transparent 65%);
    filter: blur(20px);
    pointer-events: none;
}
[data-nav-layout="sidebar"] .hp-archetype-icon {
    position: relative;
    width: 84px;
    height: 84px;
    border-radius: 22px;
    background: rgba(255,255,255,.65);
    border: 1px solid var(--arch-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--arch-fg);
    flex-shrink: 0;
    box-shadow: 0 8px 22px -8px var(--arch-tint-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype-icon {
    background: rgba(255,255,255,.08);
    box-shadow: 0 8px 22px -8px rgba(0,0,0,.6);
}
[data-nav-layout="sidebar"] .hp-archetype-icon i { font-size: 38px; }
[data-nav-layout="sidebar"] .hp-archetype-body { position: relative; flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .hp-archetype-kicker {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--arch-fg);
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .hp-archetype-name {
    font-family: var(--ff-serif);
    font-size: 28px;
    font-weight: 400;
    color: var(--arch-fg-strong);
    margin: 0 0 6px;
    line-height: 1.1;
}
[data-nav-layout="sidebar"] .hp-archetype-desc {
    font-size: 13px;
    color: var(--fg-2);
    line-height: 1.55;
    margin: 0 0 12px;
}
[data-nav-layout="sidebar"] .hp-archetype-stats {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .hp-archetype-stat {
    display: flex;
    align-items: baseline;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.6);
    border: 1px solid var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype-stat { background: rgba(255,255,255,.08); }
[data-nav-layout="sidebar"] .hp-archetype-stat strong {
    font-size: 16px;
    font-weight: 700;
    color: var(--arch-fg-strong);
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .hp-archetype-stat span {
    font-size: 11px;
    color: var(--fg-3);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-archetype-stat.is-pos strong { color: #15803d; }
[data-nav-layout="sidebar"] .hp-archetype-stat.is-neg strong { color: #b91c1c; }
[data-nav-layout="sidebar"] .hp-archetype-stat.is-mix strong { color: #b45309; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype-stat.is-pos strong { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype-stat.is-neg strong { color: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-archetype-stat.is-mix strong { color: #fcd34d; }

@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .hp-archetype { flex-direction: column; align-items: flex-start; padding: 18px; }
    [data-nav-layout="sidebar"] .hp-archetype-icon { width: 64px; height: 64px; border-radius: 16px; }
    [data-nav-layout="sidebar"] .hp-archetype-icon i { font-size: 28px; }
    [data-nav-layout="sidebar"] .hp-archetype-name { font-size: 22px; }
}

/* Stat impact divergence chart */
[data-nav-layout="sidebar"] .hp-impact-legend {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
    font-size: 11px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-impact-legend span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-impact-legend i { font-size: 8px; }
[data-nav-layout="sidebar"] .hp-impact-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-impact-row {
    display: grid;
    grid-template-columns: 110px 1fr 50px;
    align-items: center;
    gap: 10px;
}
[data-nav-layout="sidebar"] .hp-impact-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--fg-2);
    text-align: right;
}
[data-nav-layout="sidebar"] .hp-impact-chart {
    position: relative;
    height: 16px;
    display: flex;
    align-items: center;
}
[data-nav-layout="sidebar"] .hp-impact-axis {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--gray-300);
    transform: translateX(-50%);
}
[data-nav-layout="sidebar"] .hp-impact-bar {
    position: absolute;
    height: 8px;
    border-radius: 4px;
    top: 50%;
    transform: translateY(-50%);
    transition: width 220ms;
}
[data-nav-layout="sidebar"] .hp-impact-bar-pos {
    left: 50%;
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%);
}
[data-nav-layout="sidebar"] .hp-impact-bar-neg {
    right: 50%;
    background: linear-gradient(270deg, #dc2626 0%, #ef4444 100%);
}
[data-nav-layout="sidebar"] .hp-impact-net {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
[data-nav-layout="sidebar"] .hp-impact-net.is-pos { color: #15803d; }
[data-nav-layout="sidebar"] .hp-impact-net.is-neg { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-impact-net.is-pos { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-impact-net.is-neg { color: #fca5a5; }

/* Trait cards */
[data-nav-layout="sidebar"] .hp-trait-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
[data-nav-layout="sidebar"] .hp-trait-card {
    --tc-tint: var(--gray-100);
    --tc-border: var(--border-1);
    --tc-fg: var(--fg-2);
    --tc-icon-bg: var(--gray-200);
    --tc-icon-fg: var(--fg-2);

    position: relative;
    background: #fff;
    border: 1px solid var(--tc-border);
    border-radius: 12px;
    padding: 14px;
    overflow: hidden;
    transition: border-color 160ms, box-shadow 160ms, transform 160ms;
}
[data-nav-layout="sidebar"] .hp-trait-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    background: var(--tc-icon-fg);
}
[data-nav-layout="sidebar"] .hp-trait-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15,23,42,.08);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-card { background: rgba(148,163,184,.04); }
[data-nav-layout="sidebar"] .hp-trait-card[data-type="positive"] {
    --tc-icon-bg: rgba(16,185,129,.16); --tc-icon-fg: #16a34a;
    --tc-tint: rgba(16,185,129,.06); --tc-border: rgba(16,185,129,.25);
}
[data-nav-layout="sidebar"] .hp-trait-card[data-type="negative"] {
    --tc-icon-bg: rgba(239,68,68,.16); --tc-icon-fg: #dc2626;
    --tc-tint: rgba(239,68,68,.06); --tc-border: rgba(239,68,68,.25);
}
[data-nav-layout="sidebar"] .hp-trait-card[data-type="mixed"] {
    --tc-icon-bg: rgba(245,158,11,.18); --tc-icon-fg: #d97706;
    --tc-tint: rgba(245,158,11,.06); --tc-border: rgba(245,158,11,.28);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-card[data-type="positive"] { --tc-icon-fg: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-card[data-type="negative"] { --tc-icon-fg: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-card[data-type="mixed"]    { --tc-icon-fg: #fcd34d; }

[data-nav-layout="sidebar"] .hp-trait-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .hp-trait-icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: var(--tc-icon-bg);
    color: var(--tc-icon-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-trait-icon i { font-size: 16px; }
[data-nav-layout="sidebar"] .hp-trait-title-wrap { min-width: 0; }
[data-nav-layout="sidebar"] .hp-trait-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .hp-trait-type {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--tc-icon-fg);
}
[data-nav-layout="sidebar"] .hp-trait-desc {
    font-size: 12.5px;
    color: var(--fg-3);
    line-height: 1.5;
    margin: 0 0 10px;
}
[data-nav-layout="sidebar"] .hp-trait-effects {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 8px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-trait-effect {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
    line-height: 1.4;
}
[data-nav-layout="sidebar"] .hp-trait-effect i { font-size: 13px; flex-shrink: 0; margin-top: 1px; }
[data-nav-layout="sidebar"] .hp-trait-effect.is-pos { color: #15803d; }
[data-nav-layout="sidebar"] .hp-trait-effect.is-neg { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-effect.is-pos { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-trait-effect.is-neg { color: #fca5a5; }

/* Empty state */
[data-nav-layout="sidebar"] .hp-trait-empty {
    text-align: center;
    padding: 40px 24px;
}
[data-nav-layout="sidebar"] .hp-trait-empty-icon {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: var(--gray-100);
    color: var(--fg-4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 12px;
}
[data-nav-layout="sidebar"] .hp-trait-empty h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0 0 6px;
}
[data-nav-layout="sidebar"] .hp-trait-empty p {
    font-size: 13px;
    color: var(--fg-3);
    margin: 0 auto;
    max-width: 420px;
    line-height: 1.5;
}

/* ═══ Health tab ═══ */
[data-nav-layout="sidebar"] .hp-health-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-health-summary { grid-template-columns: repeat(2, 1fr); } }
[data-nav-layout="sidebar"] .hp-health-tile {
    --tile-tint: rgba(99,102,241,.08);
    --tile-fg: #4338ca;
    --tile-border: rgba(99,102,241,.25);

    text-align: center;
    padding: 12px;
    border-radius: 12px;
    background: var(--tile-tint);
    border: 1px solid var(--tile-border);
}
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="emerald"] { --tile-tint: rgba(16,185,129,.10); --tile-fg: #047857; --tile-border: rgba(16,185,129,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="green"]   { --tile-tint: rgba(34,197,94,.10);  --tile-fg: #15803d; --tile-border: rgba(34,197,94,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="blue"]    { --tile-tint: rgba(59,130,246,.10);  --tile-fg: #1d4ed8; --tile-border: rgba(59,130,246,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="amber"]   { --tile-tint: rgba(245,158,11,.12);  --tile-fg: #b45309; --tile-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="red"]     { --tile-tint: rgba(239,68,68,.10);   --tile-fg: #b91c1c; --tile-border: rgba(239,68,68,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="violet"]  { --tile-tint: rgba(139,92,246,.10);  --tile-fg: #6d28d9; --tile-border: rgba(139,92,246,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="purple"]  { --tile-tint: rgba(168,85,247,.10);  --tile-fg: #7e22ce; --tile-border: rgba(168,85,247,.28); }
[data-nav-layout="sidebar"] .hp-health-tile[data-tone="gray"]    { --tile-tint: var(--gray-100); --tile-fg: var(--fg-2); --tile-border: var(--border-1); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="emerald"] { --tile-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="green"]   { --tile-fg: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="blue"]    { --tile-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="amber"]   { --tile-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="red"]     { --tile-fg: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="violet"]  { --tile-fg: #c4b5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile[data-tone="purple"]  { --tile-fg: #d8b4fe; }
[data-nav-layout="sidebar"] .hp-health-tile-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-health-tile-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--tile-fg);
    line-height: 1.1;
    margin: 4px 0 2px;
}
[data-nav-layout="sidebar"] .hp-health-tile-value[data-direction="down"] { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-health-tile-value[data-direction="down"] { color: #fca5a5; }
[data-nav-layout="sidebar"] .hp-health-tile-sub {
    font-size: 11px;
    color: var(--fg-3);
}

/* Care & Nutrition */
[data-nav-layout="sidebar"] .hp-care-card { border-color: rgba(16,185,129,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-care-card { border-color: rgba(16,185,129,.40); }
[data-nav-layout="sidebar"] .hp-care-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-care-metrics { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-care-metric {
    --care-tint: var(--gray-100);
    --care-fg: var(--fg-1);
    --care-border: var(--border-1);

    padding: 12px;
    border-radius: 10px;
    background: var(--care-tint);
    border: 1px solid var(--care-border);
    color: var(--care-fg);
}
[data-nav-layout="sidebar"] .hp-care-metric[data-tone="emerald"] { --care-tint: rgba(16,185,129,.10); --care-fg: #047857; --care-border: rgba(16,185,129,.28); }
[data-nav-layout="sidebar"] .hp-care-metric[data-tone="amber"]   { --care-tint: rgba(245,158,11,.12); --care-fg: #b45309; --care-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-care-metric[data-tone="red"]     { --care-tint: rgba(239,68,68,.10);  --care-fg: #b91c1c; --care-border: rgba(239,68,68,.28); }
[data-nav-layout="sidebar"] .hp-care-metric[data-tone="neutral"] { --care-tint: var(--gray-50); --care-fg: var(--fg-1); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-care-metric[data-tone="emerald"] { --care-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-care-metric[data-tone="amber"]   { --care-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-care-metric[data-tone="red"]     { --care-fg: #fca5a5; }
[data-nav-layout="sidebar"] .hp-care-metric .hp-meter-fill { color: var(--care-fg); }
[data-nav-layout="sidebar"] .hp-care-metric-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-care-metric-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--care-fg);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .hp-care-metric-suffix {
    font-size: 12px;
    font-weight: 500;
    color: var(--fg-3);
    margin-left: 2px;
}
[data-nav-layout="sidebar"] .hp-care-metric-sub {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .hp-care-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-care-detail-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-subheading {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--fg-3);
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .hp-care-empty {
    font-size: 12.5px;
    color: var(--fg-3);
    font-style: italic;
    margin: 0;
}
[data-nav-layout="sidebar"] .hp-feed-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .hp-feed-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
}
[data-nav-layout="sidebar"] .hp-feed-thumb {
    width: 28px; height: 28px;
    border-radius: 6px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    object-fit: contain;
    padding: 2px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-feed-name { flex: 1; min-width: 0; color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-feed-category {
    font-size: 11px;
    color: var(--fg-4);
    margin-left: 4px;
}
[data-nav-layout="sidebar"] .hp-feed-amount {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--fg-1);
    font-size: 12px;
}
[data-nav-layout="sidebar"] .hp-balance-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Notice strips (fertility, warnings) */
[data-nav-layout="sidebar"] .hp-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 18px;
    border: 1px solid var(--border-1);
    background: var(--gray-50);
}
[data-nav-layout="sidebar"] .hp-notice > i,
[data-nav-layout="sidebar"] .hp-notice > .material-symbols-outlined {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}
[data-nav-layout="sidebar"] .hp-notice strong { color: var(--fg-1); font-size: 13px; }
[data-nav-layout="sidebar"] .hp-notice p { margin: 2px 0 0; font-size: 12px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-notice ul { margin: 4px 0 0 16px; padding: 0; font-size: 12px; color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-notice-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
[data-nav-layout="sidebar"] .hp-notice.is-info {
    background: rgba(16,185,129,.08);
    border-color: rgba(16,185,129,.30);
}
[data-nav-layout="sidebar"] .hp-notice.is-info > i { color: #059669; }
[data-nav-layout="sidebar"] .hp-notice.is-warn {
    background: rgba(245,158,11,.10);
    border-color: rgba(245,158,11,.30);
}
[data-nav-layout="sidebar"] .hp-notice.is-warn > i,
[data-nav-layout="sidebar"] .hp-notice.is-warn > .material-symbols-outlined { color: #b45309; }
[data-nav-layout="sidebar"] .hp-notice.is-danger {
    background: rgba(239,68,68,.08);
    border-color: rgba(239,68,68,.30);
}
[data-nav-layout="sidebar"] .hp-notice.is-danger > i { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-notice.is-info > i { color: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-notice.is-warn > i,
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-notice.is-warn > .material-symbols-outlined { color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-notice.is-danger > i { color: #fca5a5; }

/* Condition + Muscle 2-up grid */
[data-nav-layout="sidebar"] .hp-health-meters-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 18px;
}
@media (max-width: 768px) { [data-nav-layout="sidebar"] .hp-health-meters-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-health-meters-grid .hp-card { margin-bottom: 0; }
[data-nav-layout="sidebar"] .hp-meter-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-meter-inline {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    align-items: center;
    gap: 10px;
}
[data-nav-layout="sidebar"] .hp-meter-inline .hp-meter-label {
    font-size: 12px;
    color: var(--fg-2);
    text-align: right;
}
[data-nav-layout="sidebar"] .hp-meter-inline .hp-meter-value {
    font-size: 12px;
    min-width: 38px;
    text-align: right;
}

/* Breed Insights */
[data-nav-layout="sidebar"] .hp-breed-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
[data-nav-layout="sidebar"] .hp-breed-fact {
    --bf-tint: var(--gray-100);
    --bf-fg: var(--fg-1);

    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    background: var(--bf-tint);
    border-radius: 10px;
}
[data-nav-layout="sidebar"] .hp-breed-fact[data-tone="emerald"] { --bf-tint: rgba(16,185,129,.10); --bf-fg: #047857; }
[data-nav-layout="sidebar"] .hp-breed-fact[data-tone="amber"]   { --bf-tint: rgba(245,158,11,.10); --bf-fg: #b45309; }
[data-nav-layout="sidebar"] .hp-breed-fact[data-tone="red"]     { --bf-tint: rgba(239,68,68,.10);  --bf-fg: #b91c1c; }
[data-nav-layout="sidebar"] .hp-breed-fact[data-tone="blue"]    { --bf-tint: rgba(59,130,246,.10); --bf-fg: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-breed-fact[data-tone="indigo"]  { --bf-tint: rgba(99,102,241,.10); --bf-fg: #4338ca; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-fact[data-tone="emerald"] { --bf-fg: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-fact[data-tone="amber"]   { --bf-fg: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-fact[data-tone="red"]     { --bf-fg: #fca5a5; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-fact[data-tone="blue"]    { --bf-fg: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-fact[data-tone="indigo"]  { --bf-fg: #a5b4fc; }
[data-nav-layout="sidebar"] .hp-breed-fact > i { color: var(--bf-fg); font-size: 18px; flex-shrink: 0; margin-top: 2px; }
[data-nav-layout="sidebar"] .hp-breed-fact strong { display: block; font-size: 13px; color: var(--fg-1); font-weight: 700; }
[data-nav-layout="sidebar"] .hp-breed-fact span { font-size: 11px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .hp-breed-bonus-list {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    font-size: 11.5px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
[data-nav-layout="sidebar"] .hp-breed-bonus-list li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--fg-2); }
[data-nav-layout="sidebar"] .hp-breed-bonus-list em { font-style: normal; font-weight: 700; }
[data-nav-layout="sidebar"] .hp-breed-bonus-list em.is-pos   { color: #15803d; }
[data-nav-layout="sidebar"] .hp-breed-bonus-list em.is-train { color: #2563eb; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-bonus-list em.is-pos   { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-breed-bonus-list em.is-train { color: #93c5fd; }

/* Vet card */
[data-nav-layout="sidebar"] .hp-vet-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
[data-nav-layout="sidebar"] .hp-vet-conditions { margin-top: 14px; }
[data-nav-layout="sidebar"] .hp-vet-conditions .hp-subheading { margin-bottom: 6px; }

/* Generic compact action button used in card heads */
[data-nav-layout="sidebar"] .hp-card-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 8px;
    border: none;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-card-action .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-card-action.is-primary { background: #059669; }
[data-nav-layout="sidebar"] .hp-card-action.is-primary:hover { background: #047857; }
[data-nav-layout="sidebar"] .hp-card-action.is-teal { background: #0d9488; }
[data-nav-layout="sidebar"] .hp-card-action.is-teal:hover { background: #0f766e; }

/* ═══ Generic content card used across tabs ═══ */
[data-nav-layout="sidebar"] .hp-card {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 22px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-card { background: rgba(148,163,184,.04); }
[data-nav-layout="sidebar"] .hp-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
[data-nav-layout="sidebar"] .hp-card-head h3 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    text-transform: uppercase;
    letter-spacing: .04em;
}
[data-nav-layout="sidebar"] .hp-card-head-icon { font-size: 18px; }
[data-nav-layout="sidebar"] .hp-card-head-sub {
    font-size: 12.5px;
    color: var(--fg-3);
    margin: 2px 0 0;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
}
[data-nav-layout="sidebar"] .hp-card-footnote {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border-1);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 11px;
    color: var(--fg-4);
}
[data-nav-layout="sidebar"] .hp-card-footnote i { color: var(--fg-4); margin-right: 4px; }

/* ═══ Energy/recovery meters ═══ */
[data-nav-layout="sidebar"] .hp-meter-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 640px) { [data-nav-layout="sidebar"] .hp-meter-grid { grid-template-columns: 1fr; } }
[data-nav-layout="sidebar"] .hp-meter {
    --meter-color: #22c55e;
    --meter-text: #15803d;
}
[data-nav-layout="sidebar"] .hp-meter[data-tone="good"] { --meter-color: #22c55e; --meter-text: #15803d; }
[data-nav-layout="sidebar"] .hp-meter[data-tone="warn"] { --meter-color: #f59e0b; --meter-text: #b45309; }
[data-nav-layout="sidebar"] .hp-meter[data-tone="bad"]  { --meter-color: #ef4444; --meter-text: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-meter[data-tone="good"] { --meter-text: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-meter[data-tone="warn"] { --meter-text: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-meter[data-tone="bad"]  { --meter-text: #fca5a5; }
[data-nav-layout="sidebar"] .hp-meter-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .hp-meter-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .hp-meter-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--meter-text);
}
[data-nav-layout="sidebar"] .hp-meter-track {
    width: 100%;
    height: 8px;
    background: var(--gray-200);
    border-radius: 999px;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .hp-meter-fill {
    height: 100%;
    background: var(--meter-color);
    border-radius: 999px;
    transition: width 300ms;
}
[data-nav-layout="sidebar"] .hp-meter-hint {
    margin: 6px 0 0;
    font-size: 10.5px;
    color: var(--fg-4);
}

/* ═══ Energy quick actions ═══ */
[data-nav-layout="sidebar"] .hp-energy-actions {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border-1);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
[data-nav-layout="sidebar"] .hp-energy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    border: none;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-energy-btn.is-boost { background: #eab308; }
[data-nav-layout="sidebar"] .hp-energy-btn.is-boost:hover { background: #ca8a04; }
[data-nav-layout="sidebar"] .hp-energy-btn.is-full { background: #059669; }
[data-nav-layout="sidebar"] .hp-energy-btn.is-full:hover { background: #047857; }
[data-nav-layout="sidebar"] .hp-energy-btn-coin { width: 12px; height: 12px; display: inline; }

[data-nav-layout="sidebar"] .hp-energy-card-compact { padding: 14px 18px; }
[data-nav-layout="sidebar"] .hp-energy-compact-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
[data-nav-layout="sidebar"] .hp-energy-card-compact .hp-card-head { margin-bottom: 0; }
[data-nav-layout="sidebar"] .hp-energy-card-compact .hp-card-head h3 { text-transform: none; letter-spacing: 0; font-size: 13px; }
[data-nav-layout="sidebar"] .hp-energy-compact-bar {
    display: flex;
    align-items: center;
    gap: 10px;
}
[data-nav-layout="sidebar"] .hp-energy-compact-bar .hp-meter-track { width: 110px; height: 6px; }
[data-nav-layout="sidebar"] .hp-energy-compact-bar[data-tone="good"] .hp-meter-fill { background: #22c55e; }
[data-nav-layout="sidebar"] .hp-energy-compact-bar[data-tone="warn"] .hp-meter-fill { background: #f59e0b; }
[data-nav-layout="sidebar"] .hp-energy-compact-bar[data-tone="bad"] .hp-meter-fill  { background: #ef4444; }
[data-nav-layout="sidebar"] .hp-energy-compact-status {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--fg-2);
}

/* ═══ Active buffs ═══ */
[data-nav-layout="sidebar"] .hp-buffs-card {
    background: linear-gradient(135deg, rgba(168,85,247,.08) 0%, rgba(99,102,241,.05) 100%);
    border-color: rgba(168,85,247,.25);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buffs-card {
    background: linear-gradient(135deg, rgba(168,85,247,.14) 0%, rgba(99,102,241,.10) 100%);
    border-color: rgba(168,85,247,.35);
}
[data-nav-layout="sidebar"] .hp-buffs-card .hp-card-head h3 { font-size: 16px; text-transform: none; letter-spacing: 0; }
[data-nav-layout="sidebar"] .hp-buffs-list { display: flex; flex-direction: column; gap: 10px; }
[data-nav-layout="sidebar"] .hp-buff-row {
    --buff-color: var(--ind-600);
    --buff-tint: rgba(99,102,241,.12);
    --buff-border: rgba(99,102,241,.25);

    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid var(--buff-border);
    border-radius: 10px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buff-row { background: rgba(148,163,184,.06); }
[data-nav-layout="sidebar"] .hp-buff-row[data-tone="amber"]   { --buff-color: #b45309; --buff-tint: rgba(245,158,11,.16); --buff-border: rgba(245,158,11,.30); }
[data-nav-layout="sidebar"] .hp-buff-row[data-tone="emerald"] { --buff-color: #047857; --buff-tint: rgba(16,185,129,.14); --buff-border: rgba(16,185,129,.30); }
[data-nav-layout="sidebar"] .hp-buff-row[data-tone="blue"]    { --buff-color: #1d4ed8; --buff-tint: rgba(59,130,246,.14);  --buff-border: rgba(59,130,246,.30); }
[data-nav-layout="sidebar"] .hp-buff-row[data-tone="purple"]  { --buff-color: #7e22ce; --buff-tint: rgba(168,85,247,.14); --buff-border: rgba(168,85,247,.30); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buff-row[data-tone="amber"]   { --buff-color: #fcd34d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buff-row[data-tone="emerald"] { --buff-color: #6ee7b7; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buff-row[data-tone="blue"]    { --buff-color: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-buff-row[data-tone="purple"]  { --buff-color: #d8b4fe; }
[data-nav-layout="sidebar"] .hp-buff-icon {
    width: 38px; height: 38px;
    border-radius: 10px;
    background: var(--buff-tint);
    color: var(--buff-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .hp-buff-icon .material-symbols-outlined { font-size: 20px; }
[data-nav-layout="sidebar"] .hp-buff-meta { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .hp-buff-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--fg-1);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
[data-nav-layout="sidebar"] .hp-buff-source { font-size: 11px; color: var(--fg-3); font-weight: 500; }
[data-nav-layout="sidebar"] .hp-buff-detail {
    font-size: 12px;
    color: var(--fg-3);
    margin: 2px 0 0;
}
[data-nav-layout="sidebar"] .hp-buff-time { text-align: right; flex-shrink: 0; }
[data-nav-layout="sidebar"] .hp-buff-time-left {
    font-size: 12px;
    font-weight: 600;
    color: var(--buff-color);
}
[data-nav-layout="sidebar"] .hp-buff-time-exact {
    font-size: 10.5px;
    color: var(--fg-4);
    margin: 1px 0 0;
}

/* ═══ Generic collapsible card (used by Grade Access) ═══ */
[data-nav-layout="sidebar"] .hp-collapsible {
    border: 1px solid var(--border-1);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
}
[data-nav-layout="sidebar"] .hp-collapsible-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: var(--gray-50);
    border: none;
    cursor: pointer;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-collapsible-head:hover { background: var(--gray-100); }
[data-nav-layout="sidebar"] .hp-collapsible-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0;
}
[data-nav-layout="sidebar"] .hp-collapsible-head h3 .material-symbols-outlined { font-size: 18px; color: var(--ind-600); }
[data-nav-layout="sidebar"] .hp-collapsible-head-actions { display: inline-flex; align-items: center; gap: 10px; }
[data-nav-layout="sidebar"] .hp-collapsible-chev {
    width: 18px; height: 18px;
    color: var(--fg-3);
    transition: transform 180ms;
}
[data-nav-layout="sidebar"] .hp-collapsible-chev.rotate-180 { transform: rotate(180deg); }
[data-nav-layout="sidebar"] .hp-collapsible-body {
    padding: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-collapsible-body { background: rgba(148,163,184,.04); }

/* Soft scoped overrides for common in-tab Tailwind cards: lift shadows,
   round corners more, harmonise borders, and ensure dark mode reads. */
[data-nav-layout="sidebar"] .hp-tab-panel .bg-white {
    background: #fff;
    border-radius: 12px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab-panel .bg-white {
    background: rgba(148,163,184,.04);
}
[data-nav-layout="sidebar"] .hp-tab-panel .shadow,
[data-nav-layout="sidebar"] .hp-tab-panel .shadow-sm,
[data-nav-layout="sidebar"] .hp-tab-panel .shadow-md {
    box-shadow: 0 1px 3px rgba(15,23,42,.06);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab-panel .shadow,
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab-panel .shadow-sm,
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tab-panel .shadow-md {
    box-shadow: 0 1px 3px rgba(0,0,0,.4);
}

/* Mobile tab dropdown */
[data-nav-layout="sidebar"] .hp-tabs-mobile {
    padding: 12px;
    position: relative;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--border-1);
    background: var(--hp-tab-bg);
    color: var(--hp-tab-fg);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms, border-color 140ms;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-trigger:hover { background: var(--hp-tab-bg-hover); }
[data-nav-layout="sidebar"] .hp-tabs-mobile-trigger-meta { display: inline-flex; align-items: center; gap: 10px; }
[data-nav-layout="sidebar"] .hp-tabs-mobile-trigger-meta i { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-tabs-mobile-chev {
    font-size: 12px;
    transition: transform 200ms;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-chev.is-open { transform: rotate(180deg); }

[data-nav-layout="sidebar"] .hp-tabs-mobile-hint {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(99,102,241,.12);
    color: var(--ind-600);
    font-size: 11.5px;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-hint .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .hp-tabs-mobile-hint-close {
    background: transparent;
    border: none;
    color: var(--ind-600);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-hint-close .material-symbols-outlined { font-size: 12px; }

[data-nav-layout="sidebar"] .hp-tabs-mobile-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 12px;
    right: 12px;
    z-index: 30;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(15,23,42,.15);
    padding: 4px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-tabs-mobile-menu {
    background: var(--gray-100);
    box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: transparent;
    border: none;
    color: var(--fg-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    transition: background 140ms;
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-item:hover {
    background: var(--hp-tab-bg);
    color: var(--hp-tab-fg);
}
[data-nav-layout="sidebar"] .hp-tabs-mobile-item i {
    color: var(--hp-tab-fg);
    width: 16px;
    text-align: center;
}

/* Status boxes (For Sale / At Stud / Pregnancy) */
[data-nav-layout="sidebar"] .hp-status-box {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-status-box h3 {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}
[data-nav-layout="sidebar"] .hp-status-box.is-sale {
    background: linear-gradient(135deg, rgba(34,197,94,.10) 0%, rgba(16,185,129,.06) 100%);
    border-color: rgba(34,197,94,.30);
}
[data-nav-layout="sidebar"] .hp-status-box.is-sale h3 { color: #15803d; }
[data-nav-layout="sidebar"] .hp-status-box.is-stud {
    background: linear-gradient(135deg, rgba(59,130,246,.10) 0%, rgba(99,102,241,.06) 100%);
    border-color: rgba(59,130,246,.30);
}
[data-nav-layout="sidebar"] .hp-status-box.is-stud h3 { color: #1d4ed8; }
[data-nav-layout="sidebar"] .hp-status-box.is-preg {
    background: linear-gradient(135deg, rgba(236,72,153,.10) 0%, rgba(244,114,182,.06) 100%);
    border-color: rgba(236,72,153,.30);
}
[data-nav-layout="sidebar"] .hp-status-box.is-preg h3 { color: #be185d; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-sale {
    background: linear-gradient(135deg, rgba(34,197,94,.16) 0%, rgba(16,185,129,.10) 100%);
    border-color: rgba(34,197,94,.40);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-sale h3 { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-stud {
    background: linear-gradient(135deg, rgba(59,130,246,.18) 0%, rgba(99,102,241,.12) 100%);
    border-color: rgba(59,130,246,.40);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-stud h3 { color: #93c5fd; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-preg {
    background: linear-gradient(135deg, rgba(236,72,153,.18) 0%, rgba(244,114,182,.12) 100%);
    border-color: rgba(236,72,153,.40);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-status-box.is-preg h3 { color: #f9a8d4; }

/* Info card (replaces bg-white rounded-lg shadow) */
[data-nav-layout="sidebar"] .hp-info-card {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,23,42,.06);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-card {
    background: rgba(148,163,184,.04);
}
[data-nav-layout="sidebar"] .hp-info-thead {
    background: #eef0f3;
    border-bottom: 1px solid var(--border-1);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-thead {
    background: rgba(148, 163, 184, 0.10);
}
[data-nav-layout="sidebar"] .hp-info-thead h1 { color: var(--fg-1); }
[data-nav-layout="sidebar"] .hp-info-thead th {
    padding-top: 24px;
    padding-bottom: 16px;
}
[data-nav-layout="sidebar"] .hp-info-thead-secondary {
    padding: 8px 14px;
    background: rgba(99,102,241,.08);
    border-bottom: 1px solid var(--border-1);
    color: var(--ind-700);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-thead-secondary {
    background: rgba(99,102,241,.14);
    color: var(--ind-600);
}
[data-nav-layout="sidebar"] .hp-info-card table tbody tr td {
    color: var(--fg-2);
    border-color: var(--border-1);
    padding-top: 6px;
    padding-bottom: 6px;
}
[data-nav-layout="sidebar"] .hp-info-card table tbody tr.bg-white { background: transparent; }
[data-nav-layout="sidebar"] .hp-info-card table tbody tr.bg-gray-50 { background: var(--gray-50); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-info-card table tbody tr.bg-gray-50 { background: rgba(148,163,184,.04); }

/* Registrations rows */
[data-nav-layout="sidebar"] .hp-registrations > div {
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .hp-registrations > div:last-child { border-bottom: none; }

/* Stats bar */
[data-nav-layout="sidebar"] .hp-stats-bar {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15,23,42,.06);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-stats-bar { background: rgba(148,163,184,.04); }
@media (max-width: 640px) { [data-nav-layout="sidebar"] .hp-stats-bar { grid-template-columns: repeat(2, 1fr); } }
[data-nav-layout="sidebar"] .hp-stat { text-align: center; }
[data-nav-layout="sidebar"] .hp-stat-value {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
}
[data-nav-layout="sidebar"] .hp-stat-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--fg-3);
    margin-top: 4px;
}
[data-nav-layout="sidebar"] .hp-stat-sub {
    font-size: 11px;
    margin-top: 2px;
    font-weight: 600;
}

/* Neutral navbar at the top of the horse profile */
[data-nav-layout="sidebar"] .hp-navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 10px;
}
[data-nav-layout="sidebar"] .hp-navbar-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fg-3);
    font-size: 12.5px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .hp-navbar-meta .fa-horse { color: var(--fg-4); }
[data-nav-layout="sidebar"] .hp-navbar-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .hp-navbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: #fff;
    color: var(--fg-2);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 140ms, border-color 140ms;
}
[data-nav-layout="sidebar"] .hp-navbar-btn:hover {
    background: var(--gray-100);
    border-color: var(--gray-300);
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .hp-navbar-btn.is-disabled {
    color: var(--fg-4);
    cursor: not-allowed;
    background: transparent;
    pointer-events: none;
}
[data-nav-layout="sidebar"] .hp-navbar-btn .material-symbols-outlined { font-size: 16px; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-navbar-btn { background: var(--gray-100); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-navbar-btn:hover { background: var(--gray-50); }
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .hp-navbar-btn-label { display: none; }
    [data-nav-layout="sidebar"] .hp-navbar-meta span { display: none; }
}
[data-nav-layout="sidebar"] .hp-navbar-picker { position: relative; }

/* Horse picker dropdown (used by hp-navbar) */
[data-nav-layout="sidebar"] .hp-horse-picker {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    width: 220px;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    z-index: 50;
    padding: 4px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .hp-horse-picker {
    background: var(--gray-100);
    box-shadow: 0 12px 30px rgba(0,0,0,.5);
}
[data-nav-layout="sidebar"] .hp-horse-picker-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 12.5px;
    color: var(--fg-2);
    text-decoration: none;
}
[data-nav-layout="sidebar"] .hp-horse-picker-item:hover { background: var(--gray-50); color: var(--fg-1); }
[data-nav-layout="sidebar"] .hp-horse-picker-item.is-current {
    background: rgba(99,102,241,.10);
    color: var(--ind-600);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .hp-horse-picker-current {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--ind-600);
    background: rgba(99,102,241,.18);
    padding: 1px 6px;
    border-radius: 999px;
}

/* Property tab toolbar — bulk repair strip */
[data-nav-layout="sidebar"] .manage-property-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 16px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245,158,11,.08) 0%, rgba(249,115,22,.06) 100%);
    border: 1px solid rgba(245,158,11,.22);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .manage-property-toolbar {
    background: linear-gradient(135deg, rgba(245,158,11,.12) 0%, rgba(249,115,22,.10) 100%);
    border-color: rgba(245,158,11,.30);
}
[data-nav-layout="sidebar"] .manage-property-toolbar-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
[data-nav-layout="sidebar"] .manage-property-toolbar-meta > .material-symbols-outlined {
    width: 36px; height: 36px;
    border-radius: 9px;
    background: #f59e0b;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
}
[data-nav-layout="sidebar"] .manage-property-toolbar-meta strong {
    display: block;
    font-size: 13.5px;
    color: var(--fg-1);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .manage-property-toolbar-meta span {
    font-size: 12px;
    color: var(--fg-3);
    line-height: 1.4;
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .manage-property-toolbar { flex-direction: column; align-items: stretch; }
    [data-nav-layout="sidebar"] .manage-property-toolbar form { align-self: stretch; }
    [data-nav-layout="sidebar"] .manage-property-toolbar form button { width: 100%; justify-content: center; }
}

/* ════════════════════════════════════════════════════════════════════
   Land Registry — sidebar redesign
   Card-based layout with hero, facility selector, and amenity grid.
   Tokens (--gray-*, --fg-*, --border-1) auto-remap in dark mode.
   ════════════════════════════════════════════════════════════════════ */
[data-nav-layout="sidebar"] .landreg-top-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 16px;
    margin-bottom: 18px;
}
@media (max-width: 900px) {
    [data-nav-layout="sidebar"] .landreg-top-grid { grid-template-columns: 1fr; }
}

[data-nav-layout="sidebar"] .landreg-card .dash-sb-card-head {
    align-items: center;
    border-bottom: 1px solid var(--border-1);
    padding: 14px 18px;
}
[data-nav-layout="sidebar"] .landreg-card-glyph {
    font-size: 32px;
    color: var(--fg-3);
    opacity: .7;
}
[data-nav-layout="sidebar"] .landreg-card-cta .landreg-card-glyph { color: #059669; opacity: .9; }

[data-nav-layout="sidebar"] .landreg-form,
[data-nav-layout="sidebar"] .landreg-card-body {
    padding: 16px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
[data-nav-layout="sidebar"] .landreg-cta-copy {
    color: var(--fg-2);
    font-size: 13.5px;
    line-height: 1.5;
    margin: 0;
}

[data-nav-layout="sidebar"] .landreg-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    margin-bottom: 4px;
    display: block;
}

[data-nav-layout="sidebar"] .landreg-select {
    width: 100%;
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: var(--gray-50);
    color: var(--fg-1);
    font-size: 13px;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20fill%3D%22%239ca3af%22%20d%3D%22M3%205l4%204%204-4z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 32px;
    transition: border-color 140ms, background-color 140ms;
}
[data-nav-layout="sidebar"] .landreg-select:focus {
    outline: none;
    border-color: var(--ind-600);
    background-color: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-select:focus { background-color: var(--gray-100); }

[data-nav-layout="sidebar"] .landreg-search {
    position: relative;
}
[data-nav-layout="sidebar"] .landreg-search > .material-symbols-outlined {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--fg-4);
    font-size: 18px;
    pointer-events: none;
}
[data-nav-layout="sidebar"] .landreg-search input {
    width: 100%;
    padding: 9px 12px 9px 34px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: var(--gray-50);
    color: var(--fg-1);
    font-size: 13px;
}
[data-nav-layout="sidebar"] .landreg-search input::placeholder { color: var(--fg-4); }
[data-nav-layout="sidebar"] .landreg-search input:focus {
    outline: none;
    border-color: var(--ind-600);
    background: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-search input:focus { background: var(--gray-100); }

[data-nav-layout="sidebar"] .landreg-btn-primary,
[data-nav-layout="sidebar"] .landreg-btn-success,
[data-nav-layout="sidebar"] .landreg-btn-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 8px;
    border: none;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background 140ms, transform 60ms;
}
[data-nav-layout="sidebar"] .landreg-btn-primary { background: var(--ind-600); color: #fff; }
[data-nav-layout="sidebar"] .landreg-btn-primary:hover { background: var(--ind-700); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-btn-primary { background: #6366f1; color: #fff; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-btn-primary:hover { background: #818cf8; }

[data-nav-layout="sidebar"] .landreg-btn-success { background: #059669; color: #fff; }
[data-nav-layout="sidebar"] .landreg-btn-success:hover { background: #047857; }

[data-nav-layout="sidebar"] .landreg-btn-buy {
    width: 100%;
    background: #059669;
    color: #fff;
}
[data-nav-layout="sidebar"] .landreg-btn-buy:hover { background: #047857; }
[data-nav-layout="sidebar"] .landreg-btn-primary .material-symbols-outlined,
[data-nav-layout="sidebar"] .landreg-btn-success .material-symbols-outlined,
[data-nav-layout="sidebar"] .landreg-btn-buy .material-symbols-outlined { font-size: 18px; }

/* Registry section */
[data-nav-layout="sidebar"] .landreg-registry .dash-sb-card-head {
    align-items: center;
}
[data-nav-layout="sidebar"] .landreg-facility-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(14,165,233,.12);
    color: var(--sm-700);
    font-size: 11.5px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .landreg-facility-tag .material-symbols-outlined { font-size: 14px; }

[data-nav-layout="sidebar"] .landreg-filters {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 16px 18px 8px;
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
}
@media (max-width: 768px) {
    [data-nav-layout="sidebar"] .landreg-filters { grid-template-columns: 1fr; }
}
[data-nav-layout="sidebar"] .landreg-filters .landreg-select,
[data-nav-layout="sidebar"] .landreg-filters .landreg-search input {
    background: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-filters .landreg-select,
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-filters .landreg-search input {
    background: var(--gray-100);
}
[data-nav-layout="sidebar"] .landreg-count {
    padding: 8px 18px 14px;
    font-size: 12px;
    color: var(--fg-3);
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .landreg-count span { font-weight: 700; color: var(--fg-1); }

/* Amenities grid */
[data-nav-layout="sidebar"] .landreg-grid-wrap { padding: 18px; }
[data-nav-layout="sidebar"] .landreg-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}

[data-nav-layout="sidebar"] .landreg-amenity {
    background: var(--gray-50);
    border: 1px solid var(--border-1);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    transition: border-color 160ms, box-shadow 160ms, transform 160ms;
}
[data-nav-layout="sidebar"] .landreg-amenity:hover {
    border-color: var(--ind-600);
    box-shadow: 0 6px 16px rgba(15,23,42,.08);
    transform: translateY(-1px);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-amenity {
    background: rgba(148,163,184,.04);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-amenity:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,.4);
}

[data-nav-layout="sidebar"] .landreg-amenity-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .landreg-amenity-title-wrap { min-width: 0; }
[data-nav-layout="sidebar"] .landreg-amenity-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0 0 4px;
    line-height: 1.3;
}
[data-nav-layout="sidebar"] .landreg-amenity-type {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(99,102,241,.12);
    color: var(--ind-600);
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}
[data-nav-layout="sidebar"] .landreg-amenity-cost {
    font-size: 17px;
    font-weight: 700;
    color: #059669;
    white-space: nowrap;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-amenity-cost { color: #34d399; }

[data-nav-layout="sidebar"] .landreg-amenity-desc {
    font-size: 12.5px;
    color: var(--fg-2);
    line-height: 1.5;
    margin: 0 0 12px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

[data-nav-layout="sidebar"] .landreg-amenity-meta {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
[data-nav-layout="sidebar"] .landreg-amenity-meta li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .landreg-amenity-meta li .material-symbols-outlined { font-size: 16px; }
[data-nav-layout="sidebar"] .landreg-amenity-meta li.is-warn { color: #b45309; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-amenity-meta li.is-warn { color: #fbbf24; }
[data-nav-layout="sidebar"] .landreg-amenity-meta li.is-muted { color: var(--fg-4); }

[data-nav-layout="sidebar"] .landreg-amenity-form {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--border-1);
}

[data-nav-layout="sidebar"] .landreg-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .landreg-qty-row .landreg-label { margin-bottom: 0; }
[data-nav-layout="sidebar"] .landreg-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .landreg-qty-btn {
    width: 30px; height: 30px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: #fff;
    color: var(--fg-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms;
}
[data-nav-layout="sidebar"] .landreg-qty-btn:hover { background: var(--gray-100); }
[data-nav-layout="sidebar"] .landreg-qty-btn .material-symbols-outlined { font-size: 16px; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-qty-btn { background: var(--gray-100); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-qty-btn:hover { background: var(--gray-50); }

[data-nav-layout="sidebar"] .landreg-qty-input {
    width: 56px;
    text-align: center;
    padding: 6px 4px;
    border: 1px solid var(--border-1);
    border-radius: 8px;
    background: #fff;
    color: var(--fg-1);
    font-size: 13px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .landreg-qty-input:focus {
    outline: none;
    border-color: var(--ind-600);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-qty-input { background: var(--gray-100); }
[data-nav-layout="sidebar"] .landreg-qty-input::-webkit-outer-spin-button,
[data-nav-layout="sidebar"] .landreg-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
[data-nav-layout="sidebar"] .landreg-qty-input { -moz-appearance: textfield; }

[data-nav-layout="sidebar"] .landreg-amenity-total {
    font-size: 12.5px;
    color: var(--fg-3);
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
[data-nav-layout="sidebar"] .landreg-amenity-total .total-cost {
    font-size: 14px;
    font-weight: 700;
    color: #059669;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .landreg-amenity-total .total-cost { color: #34d399; }

[data-nav-layout="sidebar"] .landreg-error {
    font-size: 12px;
    color: #dc2626;
    padding: 8px 10px;
    background: rgba(239,68,68,.10);
    border-radius: 6px;
    margin-top: auto;
}

/* Empty states */
[data-nav-layout="sidebar"] .landreg-empty {
    text-align: center;
    padding: 48px 20px;
    color: var(--fg-3);
}
[data-nav-layout="sidebar"] .landreg-empty.hidden,
[data-nav-layout="sidebar"] .landreg-grid.hidden { display: none; }
[data-nav-layout="sidebar"] .landreg-empty > .material-symbols-outlined {
    font-size: 48px;
    color: var(--fg-4);
    display: block;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .landreg-empty p { margin: 0; font-size: 13px; }

[data-nav-layout="sidebar"] .landreg-empty-card {
    padding: 56px 24px;
    text-align: center;
}
[data-nav-layout="sidebar"] .landreg-empty-card > .material-symbols-outlined {
    font-size: 56px;
    color: var(--fg-4);
    display: block;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .landreg-empty-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0 0 6px;
}
[data-nav-layout="sidebar"] .landreg-empty-copy {
    font-size: 13px;
    color: var(--fg-3);
    margin: 0;
}

/* ════════════════════════════════════════════════════════════════════
   Amenity Marketplace — sidebar redesign (index, my-listings, create)
   ════════════════════════════════════════════════════════════════════ */

/* Shared buttons */
[data-nav-layout="sidebar"] .amkt-btn-primary,
[data-nav-layout="sidebar"] .amkt-btn-buy,
[data-nav-layout="sidebar"] .amkt-btn-secondary,
[data-nav-layout="sidebar"] .amkt-btn-cancel,
[data-nav-layout="sidebar"] .amkt-btn-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 8px;
    border: none;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background 140ms, transform 60ms, color 140ms;
    line-height: 1.2;
}
[data-nav-layout="sidebar"] .amkt-btn-primary { background: var(--ind-600); color: #fff; }
[data-nav-layout="sidebar"] .amkt-btn-primary:hover { background: var(--ind-700); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-primary { background: #6366f1; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-primary:hover { background: #818cf8; }

[data-nav-layout="sidebar"] .amkt-btn-buy {
    width: 100%;
    background: #1d4ed8;
    color: #fff;
}
[data-nav-layout="sidebar"] .amkt-btn-buy:hover { background: #1e40af; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-buy { background: #3b82f6; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-buy:hover { background: #60a5fa; }

[data-nav-layout="sidebar"] .amkt-btn-secondary {
    background: var(--gray-100);
    color: var(--fg-2);
}
[data-nav-layout="sidebar"] .amkt-btn-secondary:hover { background: var(--gray-200); color: var(--fg-1); }

[data-nav-layout="sidebar"] .amkt-btn-cancel {
    padding: 6px 10px;
    background: transparent;
    color: #b91c1c;
    border: 1px solid rgba(239,68,68,.4);
}
[data-nav-layout="sidebar"] .amkt-btn-cancel:hover {
    background: rgba(239,68,68,.10);
    color: #991b1b;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-cancel {
    color: #fca5a5;
    border-color: rgba(239,68,68,.45);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-cancel:hover {
    background: rgba(239,68,68,.15);
    color: #fecaca;
}
[data-nav-layout="sidebar"] .amkt-btn-cancel .material-symbols-outlined,
[data-nav-layout="sidebar"] .amkt-btn-buy .material-symbols-outlined,
[data-nav-layout="sidebar"] .amkt-btn-primary .material-symbols-outlined,
[data-nav-layout="sidebar"] .amkt-btn-edit .material-symbols-outlined { font-size: 16px; }

[data-nav-layout="sidebar"] .amkt-btn-edit {
    padding: 6px 10px;
    background: transparent;
    color: var(--ind-600);
    border: 1px solid rgba(99,102,241,.4);
}
[data-nav-layout="sidebar"] .amkt-btn-edit:hover {
    background: rgba(99,102,241,.10);
    color: var(--ind-700);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-edit {
    color: #a5b4fc;
    border-color: rgba(99,102,241,.45);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-btn-edit:hover {
    background: rgba(99,102,241,.18);
    color: #c7d2fe;
}

[data-nav-layout="sidebar"] .amkt-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
[data-nav-layout="sidebar"] .amkt-row-actions form { margin: 0; }

/* Empty card (used by index + my-listings) */
[data-nav-layout="sidebar"] .amkt-empty-card {
    text-align: center;
    padding: 56px 24px;
}
[data-nav-layout="sidebar"] .amkt-empty-card > .material-symbols-outlined {
    font-size: 56px;
    color: var(--fg-4);
    display: block;
    margin-bottom: 10px;
}
[data-nav-layout="sidebar"] .amkt-empty-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0 0 6px;
}
[data-nav-layout="sidebar"] .amkt-empty-copy {
    font-size: 13px;
    color: var(--fg-3);
    margin: 0 0 18px;
}

/* Pagination wrapper */
[data-nav-layout="sidebar"] .amkt-pagination { margin-top: 18px; }
[data-nav-layout="sidebar"] .amkt-pagination nav { display: flex; justify-content: center; }

/* Condition bar (shared) */
[data-nav-layout="sidebar"] .amkt-condition { margin: 4px 0 14px; }
[data-nav-layout="sidebar"] .amkt-condition-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .amkt-condition-label { color: var(--fg-3); font-weight: 600; }
[data-nav-layout="sidebar"] .amkt-condition-value { font-weight: 700; }
[data-nav-layout="sidebar"] .amkt-condition-value.is-good { color: #15803d; }
[data-nav-layout="sidebar"] .amkt-condition-value.is-fair { color: #b45309; }
[data-nav-layout="sidebar"] .amkt-condition-value.is-poor { color: #b91c1c; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-condition-value.is-good { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-condition-value.is-fair { color: #fbbf24; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-condition-value.is-poor { color: #fca5a5; }
[data-nav-layout="sidebar"] .amkt-condition-track {
    width: 100%;
    height: 6px;
    background: var(--gray-200);
    border-radius: 999px;
    overflow: hidden;
}
[data-nav-layout="sidebar"] .amkt-condition-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 240ms;
}
[data-nav-layout="sidebar"] .amkt-condition-fill.is-good { background: #22c55e; }
[data-nav-layout="sidebar"] .amkt-condition-fill.is-fair { background: #f59e0b; }
[data-nav-layout="sidebar"] .amkt-condition-fill.is-poor { background: #ef4444; }

/* ── Index: listings grid ───────────────────────────────────────── */
[data-nav-layout="sidebar"] .amkt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

[data-nav-layout="sidebar"] .amkt-listing {
    background: #fff;
    border: 1px solid var(--border-1);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 160ms, box-shadow 160ms, transform 160ms;
    box-shadow: 0 1px 3px rgba(15,23,42,.06);
}
[data-nav-layout="sidebar"] .amkt-listing:hover {
    border-color: var(--ind-600);
    box-shadow: 0 8px 22px rgba(15,23,42,.10);
    transform: translateY(-2px);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-listing {
    background: rgba(148,163,184,.04);
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-listing:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
}

[data-nav-layout="sidebar"] .amkt-listing-image {
    position: relative;
    height: 180px;
    background: var(--gray-100);
    overflow: hidden;
}
[data-nav-layout="sidebar"] .amkt-listing-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
[data-nav-layout="sidebar"] .amkt-listing-type {
    position: absolute;
    top: 10px; left: 10px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(15,23,42,.7);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    backdrop-filter: blur(4px);
}

[data-nav-layout="sidebar"] .amkt-listing-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
[data-nav-layout="sidebar"] .amkt-listing-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
[data-nav-layout="sidebar"] .amkt-listing-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0;
    line-height: 1.3;
    min-width: 0;
}
[data-nav-layout="sidebar"] .amkt-listing-grade {
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(99,102,241,.12);
    color: var(--ind-600);
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .amkt-listing-desc {
    font-size: 12.5px;
    color: var(--fg-2);
    line-height: 1.5;
    margin: 0 0 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

[data-nav-layout="sidebar"] .amkt-listing-foot {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .amkt-listing-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 6px;
}
[data-nav-layout="sidebar"] .amkt-listing-price-label {
    font-size: 12px;
    color: var(--fg-3);
    font-weight: 600;
}
[data-nav-layout="sidebar"] .amkt-listing-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--fg-1);
}
[data-nav-layout="sidebar"] .amkt-listing-seller {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--fg-3);
    margin-bottom: 12px;
}
[data-nav-layout="sidebar"] .amkt-listing-seller .material-symbols-outlined { font-size: 14px; }
[data-nav-layout="sidebar"] .amkt-listing-seller strong { color: var(--fg-2); font-weight: 600; }

[data-nav-layout="sidebar"] .amkt-purchase-form { display: flex; flex-direction: column; gap: 8px; }

/* Generic form bits (used across all three views) */
[data-nav-layout="sidebar"] .amkt-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    display: block;
    margin-bottom: 4px;
}
[data-nav-layout="sidebar"] .amkt-select,
[data-nav-layout="sidebar"] .amkt-input,
[data-nav-layout="sidebar"] .amkt-textarea {
    width: 100%;
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid var(--border-1);
    background: var(--gray-50);
    color: var(--fg-1);
    font-size: 13px;
    font-family: inherit;
}
[data-nav-layout="sidebar"] .amkt-select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20fill%3D%22%239ca3af%22%20d%3D%22M3%205l4%204%204-4z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 32px;
}
[data-nav-layout="sidebar"] .amkt-textarea { resize: vertical; line-height: 1.5; }
[data-nav-layout="sidebar"] .amkt-select:focus,
[data-nav-layout="sidebar"] .amkt-input:focus,
[data-nav-layout="sidebar"] .amkt-textarea:focus {
    outline: none;
    border-color: var(--ind-600);
    background: #fff;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-select:focus,
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-input:focus,
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-textarea:focus {
    background: var(--gray-100);
}

/* ── My listings: table ─────────────────────────────────────────── */
[data-nav-layout="sidebar"] .amkt-mylistings-count {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(99,102,241,.12);
    color: var(--ind-600);
    font-size: 11.5px;
    font-weight: 600;
}
[data-nav-layout="sidebar"] .amkt-table-wrap { overflow-x: auto; }
[data-nav-layout="sidebar"] .amkt-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
[data-nav-layout="sidebar"] .amkt-table thead th {
    text-align: left;
    padding: 10px 14px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    background: var(--gray-50);
    border-bottom: 1px solid var(--border-1);
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .amkt-table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-1);
    color: var(--fg-2);
    vertical-align: middle;
}
[data-nav-layout="sidebar"] .amkt-table tbody tr:last-child td { border-bottom: none; }
[data-nav-layout="sidebar"] .amkt-table tbody tr:hover { background: var(--gray-50); }

[data-nav-layout="sidebar"] .amkt-mare-cell {
    display: flex; align-items: center; gap: 12px; min-width: 0;
}
[data-nav-layout="sidebar"] .amkt-table-img {
    width: 44px; height: 44px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--border-1);
}
[data-nav-layout="sidebar"] .amkt-table-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--fg-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[data-nav-layout="sidebar"] .amkt-table-type { font-size: 13px; color: var(--fg-1); }
[data-nav-layout="sidebar"] .amkt-table-grade {
    font-size: 11px;
    color: var(--fg-3);
    margin-top: 2px;
}
[data-nav-layout="sidebar"] .amkt-table-condition {
    display: flex; align-items: center; gap: 8px;
}
[data-nav-layout="sidebar"] .amkt-table-condition .amkt-condition-track {
    width: 64px; height: 5px;
    flex-shrink: 0;
}
[data-nav-layout="sidebar"] .amkt-table-price { font-weight: 700; color: var(--fg-1); white-space: nowrap; }
[data-nav-layout="sidebar"] .amkt-table-time { font-size: 12px; color: var(--fg-3); white-space: nowrap; }
[data-nav-layout="sidebar"] .amkt-table-buyer { font-size: 12px; color: var(--fg-3); }
[data-nav-layout="sidebar"] .amkt-table-buyer strong { color: var(--fg-2); font-weight: 600; }
[data-nav-layout="sidebar"] .amkt-table-muted { color: var(--fg-4); }

[data-nav-layout="sidebar"] .amkt-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}
[data-nav-layout="sidebar"] .amkt-status.is-active { background: rgba(34,197,94,.15); color: #15803d; }
[data-nav-layout="sidebar"] .amkt-status.is-sold { background: rgba(59,130,246,.15); color: #1d4ed8; }
[data-nav-layout="sidebar"] .amkt-status.is-other { background: var(--gray-100); color: var(--fg-2); }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-status.is-active { color: #4ade80; }
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-status.is-sold { color: #93c5fd; }

/* ── Create: listing form layout ───────────────────────────────── */
[data-nav-layout="sidebar"] .amkt-create-wrap {
    max-width: 880px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[data-nav-layout="sidebar"] .amkt-create-preview-body {
    padding: 18px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .amkt-create-preview-body { flex-direction: column; }
}

[data-nav-layout="sidebar"] .amkt-create-image {
    width: 144px;
    height: 144px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid var(--border-1);
    flex-shrink: 0;
    background: var(--gray-100);
}
@media (max-width: 640px) {
    [data-nav-layout="sidebar"] .amkt-create-image { width: 100%; height: 200px; }
}
[data-nav-layout="sidebar"] .amkt-create-info { flex: 1; min-width: 0; }
[data-nav-layout="sidebar"] .amkt-create-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--fg-1);
    margin: 0 0 10px;
}
[data-nav-layout="sidebar"] .amkt-create-meta {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 6px 14px;
}
[data-nav-layout="sidebar"] .amkt-create-meta li {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
[data-nav-layout="sidebar"] .amkt-create-meta li span {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fg-3);
    font-weight: 700;
}
[data-nav-layout="sidebar"] .amkt-create-meta li strong {
    font-size: 13px;
    color: var(--fg-1);
    font-weight: 600;
}

[data-nav-layout="sidebar"] .amkt-resale {
    margin-top: 10px;
    padding: 12px 14px;
    background: rgba(59,130,246,.08);
    border: 1px solid rgba(59,130,246,.18);
    border-radius: 10px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-resale {
    background: rgba(59,130,246,.12);
    border-color: rgba(59,130,246,.30);
}
[data-nav-layout="sidebar"] .amkt-resale-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12.5px;
    color: var(--fg-2);
    padding: 2px 0;
}
[data-nav-layout="sidebar"] .amkt-resale-row strong { color: var(--fg-1); font-weight: 700; }
[data-nav-layout="sidebar"] .amkt-resale-tip {
    margin: 6px 0 0;
    font-size: 11px;
    color: var(--fg-3);
    font-style: italic;
}

[data-nav-layout="sidebar"] .amkt-create-form {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
[data-nav-layout="sidebar"] .amkt-form-field { display: flex; flex-direction: column; }
[data-nav-layout="sidebar"] .amkt-form-error {
    margin: 6px 0 0;
    font-size: 12px;
    color: #b91c1c;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-form-error { color: #fca5a5; }
[data-nav-layout="sidebar"] .amkt-form-hint {
    margin: 6px 0 0;
    font-size: 11.5px;
    color: var(--fg-4);
}

[data-nav-layout="sidebar"] .amkt-create-notes {
    padding: 12px 14px;
    background: rgba(245,158,11,.08);
    border: 1px solid rgba(245,158,11,.22);
    border-radius: 10px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-create-notes {
    background: rgba(245,158,11,.10);
    border-color: rgba(245,158,11,.30);
}
[data-nav-layout="sidebar"] .amkt-create-notes-head {
    display: flex; align-items: center; gap: 6px;
    color: #b45309;
    margin-bottom: 6px;
    font-size: 13px;
}
html[data-theme="dark"] [data-nav-layout="sidebar"] .amkt-create-notes-head { color: #fbbf24; }
[data-nav-layout="sidebar"] .amkt-create-notes-head .material-symbols-outlined { font-size: 18px; }
[data-nav-layout="sidebar"] .amkt-create-notes ul {
    list-style: disc;
    padding-left: 22px;
    margin: 0;
}
[data-nav-layout="sidebar"] .amkt-create-notes ul li {
    font-size: 12px;
    color: var(--fg-2);
    line-height: 1.55;
}

[data-nav-layout="sidebar"] .amkt-create-actions {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

[data-nav-layout="sidebar"] .amkt-error-list {
    list-style: disc;
    padding-left: 20px;
    margin: 4px 0 0;
}
[data-nav-layout="sidebar"] .amkt-error-list li {
    font-size: 12.5px;
    color: var(--fg-2);
}
