/* ============================================
   NOPROXi — Studio Layout
   OpenAI pattern: sidebar on page bg,
   content panel floats as rounded white card
   ============================================ */

.studio-layout {
    display: flex;
    height: 100%;
    background: var(--canvas-100);
    overflow: hidden;
}

/* --- Sidebar (transparent, sits on page bg) --- */
.sidebar {
    width: 172px;
    height: 100%;
    background: transparent;
    display: flex;
    flex-direction: column;
    transition: width 0.3s var(--ease);
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    flex-shrink: 0;
    z-index: 5;
}
.sidebar::-webkit-scrollbar { display: none; }

.sidebar.collapsed { width: 64px; }
.sidebar.collapsed .sidebar-nav { padding: 8px; align-items: center; }
.sidebar.collapsed .nav-item {
    width: 36px; height: 36px;
    padding: 0;
    justify-content: center;
    border-radius: var(--radius-lg);
}
.sidebar.collapsed .nav-item svg { margin: 0; }
.sidebar.collapsed .sidebar-bottom { padding: 12px 8px; display: flex; flex-direction: column; align-items: center; }
.sidebar.collapsed .sb-user-row { width: 44px; justify-content: center; }
.sidebar.collapsed .user-pill { padding: 0; justify-content: center; flex: none; }
.sidebar.collapsed .sidebar-top { justify-content: center; padding: 16px 8px; }

.sidebar-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 14px 8px;
}

/* ── Motion curves — smooth, no overshoot (CEO/CRM/User validated) ── */
:root {
    --spring-open:  cubic-bezier(0.25, 0.46, 0.45, 0.94);  /* gentle start, ease-out, no bounce */
    --spring-close: cubic-bezier(0.55, 0, 1, 0.45);         /* decisive ease-in exit */
    --spring-morph: cubic-bezier(0.4, 0, 0.2, 1);           /* Material standard — deliberate, not theatrical */
}

/* ── Hamburger button ── */
.sidebar-toggle {
    width: 32px; height: 32px;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 5px;
    border: none; background: transparent;
    border-radius: var(--radius-full);
    cursor: pointer; color: var(--canvas-500);
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
    padding: 0;
}
.sidebar-toggle:hover { background: var(--terra-50); color: var(--terra); }
[data-theme="dark"] .sidebar-toggle:hover { background: rgba(224,124,88,0.12); color: #e07c58; }

/* ── Hamburger lines ── */
.hb-line {
    display: block;
    width: 18px; height: 1.75px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition-property: transform, opacity, width;
    transition-duration: 300ms;
    transition-timing-function: var(--spring-morph);
}
.hb-top  { transition-delay: 0ms; }
.hb-mid  { transition-delay: 40ms; }
.hb-bot  { transition-delay: 80ms; }

/* ── Morph to X when sidebar is open (mobile) ── */
.sidebar.mobile-open .sidebar-toggle .hb-top {
    transform: rotate(45deg) translate(4.5px, 4.5px);
    transition-delay: 80ms;
}
.sidebar.mobile-open .sidebar-toggle .hb-mid {
    transform: scaleX(0);
    opacity: 0;
    transition-delay: 40ms;
}
.sidebar.mobile-open .sidebar-toggle .hb-bot {
    transform: rotate(-45deg) translate(4.5px, -4.5px);
    transition-delay: 0ms;
}

.sidebar-logo {
    overflow: hidden;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}
.sidebar-logo .logo-svg { width: 24px; height: 24px; }
.sidebar-logo .logo-name { font-size: 14.5px; }
.sidebar.collapsed .sidebar-logo { opacity: 0; width: 0; }

.sidebar-nav {
    flex: 1;
    padding: 2px 8px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: none;
    background: transparent;
    border-radius: var(--radius-xl);
    font-family: var(--font);
    font-size: 13px;
    font-weight: 500;
    color: var(--canvas-600);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    white-space: nowrap;
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
    transform: translateX(0);
}
/* Sliding accent bar on the left edge */
.nav-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 0;
    background: var(--terra);
    border-radius: 0 3px 3px 0;
    transform: translateY(-50%);
    transition: height 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
    opacity: 0;
}
.nav-item:hover {
    background: var(--terra-50);
    color: var(--terra-700);
    transform: translateX(4px);
}
.nav-item:hover::before {
    height: 60%;
    opacity: 1;
}
.nav-item:hover svg {
    color: var(--terra);
}
.nav-item:active {
    transform: translateX(4px) scale(0.97);
}
.nav-item.active {
    background: var(--terra-50);
    color: var(--terra-700);
    font-weight: 600;
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(217,119,87,0.1);
}
.nav-item.active::before {
    height: 60%;
    opacity: 1;
}
.nav-item.active svg {
    color: var(--terra);
}

/* Dark mode overrides — match sidebar text to main content style */
[data-theme="dark"] .sidebar {
    background: rgba(0, 0, 0, 0.15);
}
[data-theme="dark"] .sidebar .logo-name {
    color: #fff;
}
[data-theme="dark"] .tab-header h1 {
    color: #fff;
}
[data-theme="dark"] .tab-header p {
    color: #ccc;
}
[data-theme="dark"] .user-name {
    color: #fff;
}
[data-theme="dark"] .user-plan-badge {
    color: #fff;
}
[data-theme="dark"] .nav-item {
    color: #fff;
    font-weight: 500;
}
[data-theme="dark"] .nav-item svg {
    color: #ccc;
}
[data-theme="dark"] .nav-item:hover {
    background: rgba(255,255,255,0.07);
    color: #fff;
}
[data-theme="dark"] .nav-item:hover svg {
    color: #fff;
}
[data-theme="dark"] .nav-item.active {
    background: rgba(217,119,87,0.1);
    color: #fff;
    box-shadow: none;
    font-weight: 600;
}
[data-theme="dark"] .nav-item.active svg {
    color: #D97757;
}
.nav-item svg { flex-shrink: 0; width: 17px; height: 17px; transition: color 0.25s ease, transform 0.25s cubic-bezier(0.34,1.56,0.64,1); }

/* Sign Out — red accent on hover */
.nav-item-signout:hover {
    background: var(--red-50) !important;
    color: var(--red-500) !important;
}
.nav-item-signout:hover::before {
    background: var(--red-500) !important;
}
.nav-item-signout:hover svg {
    color: var(--red-500) !important;
}
[data-theme="dark"] .nav-item-signout:hover {
    background: rgba(239,68,68,0.1) !important;
    color: #f87171 !important;
}
[data-theme="dark"] .nav-item-signout:hover svg {
    color: #f87171 !important;
}

.nav-label {
    overflow: hidden;
    transition: opacity 0.2s ease;
}
.sidebar.collapsed .nav-label { opacity: 0; width: 0; }

/* --- Sidebar-bottom theme icon button ---
   Small icon button beside the user avatar. Hides in collapsed state
   (theme is still accessible from Settings). */
.sb-user-row {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 2px;
}
.user-plan-row {
    display: flex;
    align-items: center;
    gap: 4px;
}
/* Bell + theme icons in sb-user-row, right of user-pill — desktop only */
.sb-user-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
    flex-shrink: 0;
}
.sb-top-icon-btn {
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    border: none; background: transparent;
    border-radius: var(--radius-md);
    cursor: pointer;
    color: var(--canvas-500);
    flex-shrink: 0;
    position: relative;
    transition: background 0.18s ease, color 0.18s ease;
}
.sb-top-icon-btn:hover { background: var(--terra-50); color: var(--terra); }
.sb-top-icon-btn:hover .tcb-icon { transform: rotate(25deg) scale(1.1); }
[data-theme="dark"] .sb-top-icon-btn:hover { background: rgba(224,124,88,0.12); color: #e07c58; }
.sidebar.collapsed .sb-user-actions { display: none; }
@media (max-width: 768px) { .sb-user-actions { display: none !important; } }

/* Mobile-only theme icon — inline in user-plan-row next to plan badge */
.sb-mobile-theme-btn {
    display: none;
    width: 20px; height: 20px;
    flex-shrink: 0;
    align-items: center; justify-content: center;
    border: none; background: transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--canvas-500);
    padding: 0;
    transition: color 0.18s ease;
}
.sb-mobile-theme-btn .tcb-icon { width: 14px; height: 14px; }
.sb-mobile-theme-btn .tcb-icon svg { width: 14px; height: 14px; }
.sb-mobile-theme-btn:hover { color: var(--terra); }
.sb-mobile-theme-btn:hover .tcb-icon { transform: rotate(25deg) scale(1.1); }
[data-theme="dark"] .sb-mobile-theme-btn:hover { color: #e07c58; }
@media (max-width: 768px) { .sb-mobile-theme-btn { display: flex; } }
.sb-theme-btn {
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    border: none; background: transparent;
    border-radius: var(--radius-md);
    cursor: pointer;
    color: var(--canvas-500);
    flex-shrink: 0;
    transition: background 0.18s ease, color 0.18s ease;
}
.sb-theme-btn:hover {
    background: var(--terra-50);
    color: var(--terra);
    transform: rotate(30deg) scale(1.1);
}
[data-theme="dark"] .sb-theme-btn:hover {
    background: rgba(224,124,88,0.12);
    color: #e07c58;
}
.sidebar.collapsed .sb-theme-btn { display: none; }
.sidebar.collapsed .user-plan-row { display: none; }

/* Shared icon animation — used by sidebar, atlas, and settings buttons */
.tcb-icon {
    width: 20px; height: 20px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.18s ease;
}
.tcb-icon.tcb-spin {
    transform: rotate(180deg) scale(0.5);
    opacity: 0;
}
.tcb-text {
    white-space: nowrap;
    transition: opacity 0.2s ease, width 0.3s var(--ease);
}

/* Atlas sidebar compact variant */
.atlas-theme-btn {
    display: flex; align-items: center; gap: 8px;
    width: auto; margin: 0; padding: 8px 12px;
    border: none; background: transparent;
    border-radius: var(--radius-md);
    font-family: var(--font); font-size: 13.5px; font-weight: 500;
    color: var(--canvas-500); cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease;
}
.atlas-theme-btn:hover { background: var(--canvas-200); color: var(--canvas-700); }

.sidebar-bottom {
    padding: 6px 8px 8px;
    margin-top: auto;
    flex-shrink: 0;
}

.user-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    overflow: hidden;
    border-radius: var(--radius-xl);
    flex: 1;
    min-width: 0;
    transition: background 0.25s ease, transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.user-pill:hover {
    background: var(--terra-50);
    transform: translateX(4px);
}
[data-theme="dark"] .user-pill:hover {
    background: rgba(224,124,88,0.1);
}

.user-avatar {
    width: 28px; height: 28px;
    background: linear-gradient(135deg, var(--terra-100), var(--terra-200));
    color: var(--terra-700);
    border-radius: var(--radius-md);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700;
    flex-shrink: 0;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s ease;
}
.user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-pill:hover .user-avatar {
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(217,119,87,0.2);
}

.user-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 2px;
}
.user-name {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.user-plan-badge {
    font-size: 9px;
    font-weight: 600;
    color: var(--terra);
    background: var(--terra-50);
    padding: 1px 6px;
    border-radius: var(--radius-full);
    width: fit-content;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: all 0.2s ease;
}
.plan-badge-btn {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 1px 5px 1px 6px;
}
.plan-badge-btn:hover {
    filter: brightness(1.1);
    transform: scale(1.06);
}
.plan-badge-btn svg {
    opacity: 0.6;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.plan-badge-btn:hover svg {
    opacity: 1;
    transform: translateX(2px);
}
.user-plan-badge.plan-sub {
    color: var(--white);
    background: linear-gradient(135deg, var(--terra), var(--terra-700));
}
.user-plan-badge.plan-lifetime {
    color: var(--white);
    background: linear-gradient(135deg, var(--canvas-700), var(--canvas-900));
}
[data-theme="dark"] .user-plan-badge { background: rgba(224,124,88,0.12); color: #e07c58; }
[data-theme="dark"] .user-plan-badge.plan-sub { background: linear-gradient(135deg, #e07c58, #c46a4a); color: #fff; }
[data-theme="dark"] .user-plan-badge.plan-lifetime { background: linear-gradient(135deg, var(--canvas-500), var(--canvas-700)); color: #fff; }

.sidebar.collapsed .user-name { opacity: 0; width: 0; }
.sidebar.collapsed .user-plan-badge { opacity: 0; width: 0; height: 0; padding: 0; }
.sidebar.collapsed .user-info { gap: 0; }

/* --- Main Content (floating white card) --- */
.studio-main {
    flex: 1;
    overflow-y: auto;
    background: var(--white);
    border-radius: var(--radius-2xl);
    margin: 6px 6px 6px 0;
    box-shadow: var(--shadow-sm);
    transition: margin 0.35s var(--ease), border-radius 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

[data-theme="dark"] .studio-main {
    background: rgba(0, 0, 0, 0.15);
}

/* Custom scrollbar — inset to match rounded card */
.studio-main::-webkit-scrollbar { width: 8px; }
.studio-main::-webkit-scrollbar-track {
    background: transparent;
    margin-top: 16px;
    margin-bottom: 16px;
}
.studio-main::-webkit-scrollbar-thumb {
    background: var(--canvas-200);
    border-radius: 100px;
    border: 2px solid var(--white);
    background-clip: padding-box;
}
.studio-main::-webkit-scrollbar-thumb:hover { background: var(--canvas-300); border: 2px solid var(--white); background-clip: padding-box; }
[data-theme="dark"] .studio-main::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.08);
    border-color: rgba(0,0,0,0.15);
    background-clip: padding-box;
}
[data-theme="dark"] .studio-main::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(0,0,0,0.15);
    background-clip: padding-box;
}
.studio-main { scrollbar-width: thin; scrollbar-color: var(--canvas-200) transparent; }

.tab-content {
    display: none;
    animation: fadeUp 0.3s var(--ease);
}
.tab-content.active { display: block; }

.tab-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px 10px;
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 10;
    border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
}
.tab-header h1 {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--canvas-950);
}
.tab-header p {
    font-size: 12.5px;
    color: var(--text-secondary);
    margin-top: 1px;
}

.tab-body {
    padding: 16px 24px;
}

/* ============================================
   Atlas Mode — full-screen chat takeover
   Sidebar hides, content goes edge-to-edge
   ============================================ */
/* Lock the entire layout to exactly viewport height in atlas mode */
.studio-layout.atlas-mode {
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    overflow: hidden;
}
.studio-layout.atlas-mode .sidebar {
    width: 0;
    min-width: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
}
.studio-layout.atlas-mode .studio-main {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    height: 100%;
}

#tab-atlas {
    display: none;
}
#tab-atlas.active {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
#tab-atlas .atlas-chat {
    height: 100%;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Responsive */
@media (max-width: 768px) {
    .sidebar { width: 64px; }
    .nav-label, .sidebar-logo, .user-name { opacity: 0; width: 0; }
    .tab-header { padding: 14px 16px 10px; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
    .tab-header h1 { font-size: 12.5px; }
    .tab-body { padding: 14px 16px; }
    .analytics-grid { grid-template-columns: 1fr 1fr; }
    .atlas-history.open { width: 180px; min-width: 180px; }
    .atlas-history-item { font-size: 12.5px; padding: 7px 10px; }
    .atlas-history-search { font-size: 12.5px; }
    .atlas-history-search-wrap { padding: 6px 10px; }
    .atlas-history-bottom button { font-size: 12px; }
    .atlas-suggestions { grid-template-columns: 1fr 1fr; gap: 6px; max-width: 420px; }
    .atlas-chip { font-size: 12px; padding: 8px 12px; gap: 6px; }
    .atlas-chip svg { width: 14px; height: 14px; }
    .atlas-welcome-icon svg { width: 32px; height: 32px; }
    .atlas-welcome h2 { font-size: 16px; margin-bottom: 4px; }
    .atlas-welcome p { font-size: 12px; margin-bottom: 14px; max-width: 360px; }
    .atlas-empty { padding: 16px 16px 0; }
    .atlas-messages-area { padding: 14px 16px; }
    .atlas-input-bar { padding: 8px 14px 12px; }
    .atlas-compose { padding: 4px; }
    .atlas-attach-btn, .atlas-voice-btn { width: 32px; height: 32px; }
    .atlas-send-btn { width: 32px; height: 32px; }
    .atlas-compose-input { font-size: 13.5px; padding: 8px 4px; }
    .atlas-input-hint { font-size: 10.5px; margin-top: 6px; }
    .atlas-topbar { padding: 6px 12px; min-height: 38px; }
    .atlas-topbar-right span { display: none; }
    .studio-main { margin: 4px 4px 4px 0; border-radius: var(--radius-xl); }
}
/* Studio mobile top bar — hidden on desktop */
.studio-mobile-topbar {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--white);
    border-bottom: 1px solid var(--canvas-150, var(--canvas-100));
    flex-shrink: 0;
}
/* ── Hamburger menu button — animated morph to × ── */
.studio-mobile-menu-btn {
    width: 38px; height: 38px;
    border: none; background: transparent;
    border-radius: 12px;
    color: var(--canvas-600);
    cursor: pointer;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 4.5px;
    padding: 0;
    flex-shrink: 0;
    transition: background 0.2s var(--ease), color 0.2s var(--ease);
    -webkit-tap-highlight-color: transparent;
}
.studio-mobile-menu-btn:hover,
.studio-mobile-menu-btn:active { background: var(--canvas-100); color: var(--canvas-800); }
.studio-mobile-menu-btn.is-open {
    background: rgba(217,119,87,0.1);
    color: var(--terra);
}

/* Animated bars */
.hmb-bar {
    display: block;
    width: 18px; height: 1.5px;
    background: currentColor;
    border-radius: 2px;
    transform-origin: center;
    transition:
        transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
        opacity 0.2s ease,
        width 0.25s var(--ease);
}
/* Open state — morph to × */
.studio-mobile-menu-btn.is-open .hmb-top {
    transform: translateY(6px) rotate(45deg);
}
.studio-mobile-menu-btn.is-open .hmb-mid {
    opacity: 0;
    width: 0;
}
.studio-mobile-menu-btn.is-open .hmb-bot {
    transform: translateY(-6px) rotate(-45deg);
}

.studio-mobile-topbar .logo .logo-svg { width: 26px; height: 26px; }
.studio-mobile-topbar .logo-name { font-size: 14.5px; font-weight: 700; }
[data-theme="dark"] .studio-mobile-topbar { background: var(--bg-card); border-bottom-color: rgba(255,255,255,0.09); }
[data-theme="dark"] .studio-mobile-menu-btn { color: var(--text-secondary); }
[data-theme="dark"] .studio-mobile-menu-btn:hover { background: rgba(255,255,255,0.06); color: var(--text-primary); }
[data-theme="dark"] .studio-mobile-menu-btn.is-open { background: rgba(224,124,88,0.12); color: #E07C58; }

/* Sidebar mobile overlay — animated backdrop */
.sidebar-mobile-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(18, 12, 8, 0);
    backdrop-filter: blur(0px) saturate(1);
    -webkit-backdrop-filter: blur(0px) saturate(1);
    z-index: 99;
    pointer-events: none;
    transition: background 280ms ease-in, backdrop-filter 280ms ease-in, -webkit-backdrop-filter 280ms ease-in;
}
.sidebar-mobile-overlay.open {
    background: rgba(18, 12, 8, 0.45);
    backdrop-filter: blur(6px) saturate(0.8);
    -webkit-backdrop-filter: blur(6px) saturate(0.8);
    pointer-events: auto;
    transition: background 380ms ease-out, backdrop-filter 380ms ease-out, -webkit-backdrop-filter 380ms ease-out;
}
[data-theme="dark"] .sidebar-mobile-overlay.open { background: rgba(0, 0, 0, 0.6); }

@media (max-width: 767px) {
    /* Show mobile topbar */
    #screen-studio.active { display: flex; flex-direction: column; }
    .studio-mobile-topbar { display: flex; }
    .studio-layout { flex: 1; min-height: 0; }

    /* Sidebar — smooth animated drawer (no overshoot, gentle start) */
    .sidebar {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: 220px;
        background: var(--canvas-100);
        z-index: 100;
        transform: translateX(-100%) scaleX(0.96);
        transform-origin: left center;
        opacity: 0;
        transition:
            transform 280ms var(--spring-close),
            opacity    180ms ease-in 40ms;
        pointer-events: auto;
        overflow-y: auto;
        box-shadow: none;
    }
    .sidebar.mobile-open {
        transform: translateX(0) scaleX(1);
        opacity: 1;
        box-shadow: 6px 0 32px rgba(0,0,0,0.18);
        transition:
            transform 380ms var(--spring-open),
            opacity    220ms ease-out;
    }
    /* Override atlas-mode sidebar collapse when mobile drawer is open */
    .studio-layout.atlas-mode .sidebar {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: 220px;
        transform: translateX(-100%) scaleX(0.96);
        transform-origin: left center;
        opacity: 0;
        transition:
            transform 280ms var(--spring-close),
            opacity    180ms ease-in 40ms;
        pointer-events: auto;
        overflow-y: auto;
    }
    .studio-layout.atlas-mode .sidebar.mobile-open {
        transform: translateX(0) scaleX(1);
        opacity: 1;
        box-shadow: 6px 0 32px rgba(0,0,0,0.18);
        transition:
            transform 380ms var(--spring-open),
            opacity    220ms ease-out;
    }
    [data-theme="dark"] .sidebar.mobile-open { background: var(--bg-card); }

    /* Force expanded layout in mobile drawer */
    .sidebar.mobile-open .nav-label { opacity: 1; width: auto; }
    .sidebar.mobile-open .sidebar-logo { opacity: 1; width: auto; }
    .sidebar.mobile-open .user-name { opacity: 1; width: auto; }

    /* Hide sidebar profile bell on mobile — topbar already has one */
    .user-pill .notif-bell { display: none !important; }
    /* Tighten user-pill gap now that the bell is gone */
    .user-pill { gap: 8px; }

    .studio-main { margin: 0; border-radius: 0; }
    .tab-header { padding: 12px 14px 8px; border-radius: 0; flex-wrap: wrap; gap: 8px; }
    .tab-body { padding: 12px 14px; }
    .analytics-grid { grid-template-columns: 1fr 1fr; }
    .tab-header .btn { font-size: 11px; padding: 6px 12px; }
    .creator-stats-row { grid-template-columns: repeat(2, 1fr); }
    .creator-grid-2col { grid-template-columns: 1fr; }
    .creator-apply-banner { flex-direction: column; align-items: flex-start; gap: 12px; }
    /* Appeal pipeline — stack vertically on mobile */
    .appeal-pipeline { flex-direction: column; gap: 0; }
    .appeal-step { flex-direction: row; gap: 10px; }
    .appeal-step-info { align-items: flex-start; text-align: left; }
    .appeal-step-connector { width: 2px; height: 20px; min-width: 2px; margin: 0 0 0 clamp(14px, 1.1vw, 17px); }
    .rejection-actions { gap: 6px; }
    .rejection-btn { padding: 7px 12px; font-size: 12.5px; }
    /* Atlas fullscreen mobile — hide studio topbar, atlas becomes primary header */
    #screen-studio.atlas-active .studio-mobile-topbar { display: none !important; }
    /* Atlas compact mobile */
    .atlas-suggestions { grid-template-columns: 1fr 1fr; gap: 5px; max-width: 100%; }
    .atlas-chip { font-size: 11px; padding: 7px 10px; gap: 5px; border-radius: 8px; }
    .atlas-chip svg { width: 12px; height: 12px; }
    .atlas-welcome-icon svg { width: 28px; height: 28px; }
    .atlas-welcome h2 { font-size: 14.5px; }
    .atlas-welcome p { font-size: 11px; margin-bottom: 12px; line-height: 1.5; }
    .atlas-empty { padding: 12px 12px 0; }
    .atlas-input-bar { padding: 6px 10px 10px; }
    .atlas-compose { padding: 3px; }
    .atlas-attach-btn, .atlas-voice-btn { width: 30px; height: 30px; }
    .atlas-send-btn { width: 30px; height: 30px; }
    .atlas-compose-input { font-size: 13px; padding: 7px 4px; }
    .atlas-input-hint { font-size: 10px; }
    .atlas-topbar { padding: 4px 10px; min-height: 34px; }
    /* Atlas fullscreen: topbar is the primary header */
    .studio-layout.atlas-mode .atlas-topbar { padding: 10px 16px; min-height: 44px; border-bottom: 1px solid var(--canvas-150, var(--canvas-100)); }
    [data-theme="dark"] .studio-layout.atlas-mode .atlas-topbar { border-bottom-color: rgba(255,255,255,0.06); }
    .atlas-model-btn { font-size: 12.5px; padding: 4px 8px; }
    .atlas-nav-btn { display: none; }
    .atlas-history-toggle {
        display: flex;
        width: 28px; height: 28px;
        border-radius: 8px;
    }
    .atlas-history-toggle svg { width: 14px; height: 14px; }
    .studio-layout.atlas-mode .atlas-history-toggle { width: 30px; height: 30px; }
    .studio-layout.atlas-mode .atlas-history-toggle svg { width: 15px; height: 15px; }
    /* Atlas menu btn — show on mobile for sidebar nav */
    .atlas-topbar-menu-btn { width: 30px; height: 30px; }
    .studio-layout.atlas-mode .atlas-topbar-menu-btn { width: 34px; height: 34px; }
    /* History sidebar — compact fonts */
    .atlas-history.open { width: 200px; min-width: 200px; }
    .atlas-history-head { padding: 10px 10px 6px; }
    .atlas-sidebar-logo-btn { width: 30px; height: 30px; }
    .atlas-sidebar-newchat { width: 30px; height: 30px; }
    .atlas-history-search-wrap { margin: 2px 8px 6px; padding: 5px 10px; }
    .atlas-history-search { font-size: 12.5px; }
    .atlas-history-item { font-size: 12.5px; padding: 7px 10px; }
    .atlas-history-dots { width: 24px; height: 24px; }
    .atlas-history-list { padding: 0 6px 10px; }
    .atlas-history-bottom { padding: 6px 8px; }
    .atlas-history-bottom button { font-size: 12px; }
}

/* ============================================
   Creator Partner Tab
   ============================================ */
.creator-tab-body {
    display: flex; flex-direction: column;
    gap: 32px;
}

/* Partner Dashboard */
.creator-dashboard {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.5vw, 22px);
}
.creator-dashboard > * {
    border-radius: var(--radius-lg);
}

/* Help Bar */
.creator-helpbar {
    display: flex;
    gap: 8px;
    align-items: center;
}
.chb-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-secondary);
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.chb-btn:hover {
    color: var(--text-primary);
    background: var(--bg-card);
    border-color: var(--border-strong);
}

/* Creator Footer Links */
.creator-footer-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 8px 0 4px;
}
.creator-footer-links a {
    font-size: 12.5px;
    font-weight: 500;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.15s;
}
.creator-footer-links a:hover { color: var(--text-primary); }
.cfl-dot { font-size: 11px; color: var(--text-muted); opacity: 0.5; }

/* Apply Banner */
.creator-apply-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--bg-card);
    border-radius: var(--radius-xl);
    padding: clamp(20px, 1.8vw, 28px);
    box-shadow: var(--shadow-sm);
}

.cab-left {
    display: flex; gap: 16px;
    align-items: flex-start;
}

.cab-icon {
    flex-shrink: 0;
    width: clamp(40px, 3vw, 48px); height: clamp(40px, 3vw, 48px);
    background: var(--terra-50);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--terra);
}

.cab-left h2 {
    font-family: var(--font-display);
    font-size: clamp(16px, 1.1vw, 18px); font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.cab-left p {
    font-size: clamp(13px, 0.85vw, 14px); line-height: 1.6;
    color: var(--text-secondary);
    max-width: 480px;
}

.creator-apply-btn {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 8px;
    white-space: nowrap;
}

/* === Rejection Card + Appeal System === */
.rejection-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: clamp(18px, 2vw, 28px);
    box-shadow: var(--shadow-sm);
}
.rejection-card-top {
    display: flex;
    align-items: flex-start;
    gap: clamp(12px, 1.2vw, 16px);
    margin-bottom: 12px;
}
.rejection-icon {
    flex-shrink: 0;
    width: clamp(40px, 3vw, 48px);
    height: clamp(40px, 3vw, 48px);
    background: #fef2f2;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #dc3545;
}
.rejection-text h2 {
    font-family: var(--font-display);
    font-size: clamp(16px, 1.1vw, 18px);
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 4px;
}
.rejection-text p {
    font-size: clamp(13px, 0.85vw, 14px);
    line-height: 1.6;
    color: var(--text-secondary);
}
.rejection-countdown {
    font-size: clamp(12.5px, 0.8vw, 13.5px);
    color: var(--text-muted);
    margin-bottom: 16px;
    padding: 10px 14px;
    background: var(--bg-subtle, var(--canvas-50));
    border-radius: var(--radius-md);
    border-left: 3px solid var(--canvas-300);
}
.rejection-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.rejection-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: clamp(12.5px, 0.82vw, 13.5px);
    font-weight: 600;
    border-radius: var(--radius-md);
    white-space: nowrap;
}
.btn-ghost {
    background: none;
    border: 1px solid var(--border);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s;
}
.btn-ghost:hover {
    background: var(--canvas-50);
    border-color: var(--canvas-300);
    color: var(--text-primary);
}

/* Appeal Tracking Pipeline */
.appeal-tracker {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: clamp(18px, 2vw, 24px);
    margin-top: 12px;
    box-shadow: var(--shadow-sm);
}
.appeal-tracker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.appeal-tracker-head h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 15px);
    font-weight: 700;
    color: var(--text-primary);
}
.appeal-tracker-date {
    font-size: clamp(11px, 0.75vw, 12.5px);
    color: var(--text-muted);
    font-weight: 500;
}
.appeal-pipeline {
    display: flex;
    align-items: flex-start;
}
.appeal-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 0 0 auto;
}
.appeal-step-dot {
    width: clamp(28px, 2.2vw, 34px);
    height: clamp(28px, 2.2vw, 34px);
    border-radius: 50%;
    background: var(--canvas-100);
    border: 2px solid var(--canvas-200);
    display: flex; align-items: center; justify-content: center;
    color: var(--canvas-400);
    transition: all 0.3s;
    flex-shrink: 0;
}
.appeal-step.completed .appeal-step-dot,
.appeal-step.active .appeal-step-dot {
    background: var(--terra-50);
    border-color: var(--terra);
    color: var(--terra);
}
.appeal-step.approved .appeal-step-dot {
    background: #dcfce7;
    border-color: #22c55e;
    color: #22c55e;
}
.appeal-step.denied .appeal-step-dot {
    background: #fef2f2;
    border-color: #dc3545;
    color: #dc3545;
}
.appeal-step-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.appeal-step-label {
    font-size: clamp(12px, 0.8vw, 13px);
    font-weight: 700;
    color: var(--text-muted);
}
.appeal-step.completed .appeal-step-label,
.appeal-step.active .appeal-step-label {
    color: var(--text-primary);
}
.appeal-step-desc {
    font-size: clamp(10px, 0.68vw, 11px);
    color: var(--text-muted);
    margin-top: 2px;
}
.appeal-step-connector {
    flex: 1;
    height: 2px;
    background: var(--canvas-200);
    min-width: 24px;
    margin: clamp(14px, 1.1vw, 17px) 6px 0;
    border-radius: 1px;
    transition: background 0.3s;
}
.appeal-step-connector.filled {
    background: var(--terra);
}

/* FAQ Section */
.rejection-faq {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: clamp(18px, 2vw, 24px);
    margin-top: 12px;
    box-shadow: var(--shadow-sm);
}
.rejection-faq-head {
    margin-bottom: 12px;
}
.rejection-faq-head h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 15px);
    font-weight: 700;
    color: var(--text-primary);
}
.faq-item {
    border-bottom: 1px solid var(--canvas-100);
}
.faq-item:last-child {
    border-bottom: none;
}
.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    font-size: clamp(13px, 0.85vw, 14px);
    font-weight: 600;
    color: var(--text-primary);
    text-align: left;
    transition: color 0.15s;
}
.faq-question:hover {
    color: var(--terra);
}
.faq-chevron {
    flex-shrink: 0;
    color: var(--canvas-400);
    transition: transform 0.25s ease;
}
.faq-item.open .faq-chevron {
    transform: rotate(180deg);
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0;
}
.faq-item.open .faq-answer {
    max-height: 200px;
    padding: 0 0 12px;
}
.faq-answer p {
    font-size: clamp(12.5px, 0.8vw, 13.5px);
    line-height: 1.65;
    color: var(--text-secondary);
}

/* Appeal Modal */
.creator-appeal-modal {
    width: clamp(320px, 92vw, 440px) !important;
}
.appeal-modal-icon {
    width: 44px; height: 44px;
    background: var(--terra-50);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--terra);
    margin-bottom: 12px;
}
.label-optional {
    font-weight: 400;
    color: var(--text-muted);
    font-size: 11px;
}
.appeal-upload-zone {
    border: 1.5px dashed var(--canvas-200);
    border-radius: var(--radius-md);
    transition: all 0.2s;
    overflow: hidden;
}
.appeal-upload-zone.drag-over {
    border-color: var(--terra);
    background: var(--terra-50);
}
.upload-zone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px;
    cursor: pointer;
    color: var(--canvas-400);
    text-align: center;
}
.upload-zone-content:hover {
    color: var(--terra);
}
.upload-zone-content span {
    font-size: 12.5px;
    font-weight: 500;
}
.upload-hint {
    font-size: 10.5px !important;
    color: var(--text-muted) !important;
    font-weight: 400 !important;
}
.appeal-file-list {
    display: flex;
    flex-direction: column;
}
.appeal-file-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--bg-subtle);
    border-top: 1px solid var(--canvas-100);
    font-size: 12.5px;
}
.appeal-file-name {
    flex: 1;
    font-weight: 500;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.appeal-file-size {
    font-size: 11px;
    color: var(--text-muted);
    flex-shrink: 0;
}
.appeal-file-remove {
    width: 20px; height: 20px;
    display: flex; align-items: center; justify-content: center;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 16px;
    border-radius: 4px;
    transition: all 0.15s;
    flex-shrink: 0;
}
.appeal-file-remove:hover {
    background: #fef2f2;
    color: #dc3545;
}
.appeal-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px 0;
}
.appeal-success-icon {
    width: 52px; height: 52px;
    background: #dcfce7;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #22c55e;
    margin-bottom: 12px;
}
.appeal-success h3 {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
}
.appeal-success p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-secondary);
    max-width: 320px;
}

/* Dark theme — rejection, appeal, FAQ */
[data-theme="dark"] .rejection-icon { background: rgba(220,53,69,0.12); }
[data-theme="dark"] .rejection-countdown { background: var(--canvas-100); border-left-color: var(--canvas-400); }
[data-theme="dark"] .btn-ghost { border-color: var(--canvas-300); color: var(--canvas-500); }
[data-theme="dark"] .btn-ghost:hover { background: var(--canvas-100); color: var(--text-primary); border-color: var(--canvas-400); }
[data-theme="dark"] .appeal-step-dot { background: var(--canvas-200); border-color: var(--canvas-400); }
[data-theme="dark"] .appeal-step.completed .appeal-step-dot,
[data-theme="dark"] .appeal-step.active .appeal-step-dot { background: rgba(217,119,87,0.15); }
[data-theme="dark"] .appeal-step.approved .appeal-step-dot { background: rgba(34,197,94,0.15); border-color: #22c55e; }
[data-theme="dark"] .appeal-step.denied .appeal-step-dot { background: rgba(220,53,69,0.15); }
[data-theme="dark"] .appeal-step-connector { background: var(--canvas-300); }
[data-theme="dark"] .appeal-upload-zone { border-color: var(--canvas-300); }
[data-theme="dark"] .appeal-upload-zone.drag-over { background: rgba(217,119,87,0.08); }
[data-theme="dark"] .appeal-file-row { background: var(--canvas-100); border-top-color: var(--canvas-200); }
[data-theme="dark"] .appeal-file-remove:hover { background: rgba(220,53,69,0.12); }
[data-theme="dark"] .appeal-success-icon { background: rgba(34,197,94,0.12); }
[data-theme="dark"] .faq-item { border-bottom-color: var(--canvas-200); }

/* Stats Row */
.creator-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.5vw, 22px);
}

.creator-stat-card {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(14px, 1.2vw, 18px);
    box-shadow: var(--shadow-sm);
    display: flex; gap: 12px;
    align-items: center;
}

.csc-icon {
    width: clamp(34px, 2.5vw, 40px); height: clamp(34px, 2.5vw, 40px);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.csc-icon svg {
    width: clamp(16px, 1.2vw, 20px); height: clamp(16px, 1.2vw, 20px);
}

.csc-earnings, .csc-clicks, .csc-signups, .csc-conv {
    background: var(--terra-50); color: var(--terra);
}

.csc-label {
    display: block;
    font-size: clamp(10.5px, 0.7vw, 12px); font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
}

.csc-value {
    font-family: var(--font-display);
    font-size: clamp(17px, 1.3vw, 20px); font-weight: 800;
    color: var(--text-primary);
}

/* Referral Link Section */
.creator-ref-section {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(16px, 1.4vw, 22px);
    box-shadow: var(--shadow-sm);
}

.creator-ref-section h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 14.5px); font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.creator-ref-row {
    display: flex; gap: 8px;
    margin-bottom: 10px;
}

.creator-ref-input {
    flex: 1;
    padding: 8px 12px;
    background: var(--bg-subtle);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: clamp(13px, 0.85vw, 14px);
    color: var(--text-primary);
    outline: none;
}

.creator-copy-btn {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 8px 14px;
    font-size: 13.5px;
    font-weight: 600;
    transition: all 0.2s ease;
}
.creator-copy-btn:hover {
    background: var(--terra) !important;
    color: #fff !important;
    border-color: var(--terra) !important;
}

.creator-promo-code {
    font-size: 12.5px;
    color: var(--text-muted);
}

.creator-promo-code strong {
    color: var(--terra);
    font-family: var(--font-mono);
    margin-left: 6px;
    font-size: 13px;
    letter-spacing: 0.05em;
}

/* Two-column grid */
.creator-grid-2col {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: clamp(14px, 1.5vw, 22px);
}

/* Earnings Chart Card */
.creator-chart-card {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(16px, 1.4vw, 22px);
    box-shadow: var(--shadow-sm);
}

.ccc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.ccc-header h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 14.5px); font-weight: 700;
    color: var(--text-primary);
}

.ccc-period-pills {
    display: flex; gap: 4px;
}

.ccc-period-pills .pill-btn {
    padding: 4px 12px;
    font-size: 12.5px;
    border-radius: var(--radius-full);
    border: 1px solid var(--border-strong);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s;
}

.ccc-period-pills .pill-btn.active {
    background: var(--terra);
    color: #fff;
    border-color: var(--terra);
}

.ccc-chart-area {
    height: 120px;
    margin-bottom: 8px;
    position: relative;
}

.creator-earnings-chart {
    width: 100%; height: 100%;
}

.ccc-empty-chart {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    color: var(--text-muted);
    font-weight: 500;
}

.ccc-chart-labels {
    display: flex; justify-content: space-between;
    font-size: 11px; color: var(--text-muted);
    font-weight: 600;
}

/* Referrals Card */
.creator-referrals-card {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(16px, 1.4vw, 22px);
    box-shadow: var(--shadow-sm);
}

.creator-referrals-card h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 14.5px); font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 14px;
}

.creator-referrals-list {
    max-height: 220px;
    overflow-y: auto;
    scrollbar-width: none;
}
.creator-referrals-list::-webkit-scrollbar { display: none; }

.creator-referral-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-strong);
    font-size: 13.5px;
}
.creator-referral-row:last-child { border-bottom: none; }
.crr-name { font-weight: 600; color: var(--text-primary); flex: 1; }
.crr-stage { font-weight: 700; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 12px; }
.crr-date { color: var(--text-muted); font-size: 12.5px;
}

.creator-referral-empty {
    text-align: center;
    padding: 32px 16px;
    color: var(--text-muted);
}

.creator-referral-empty svg {
    margin-bottom: 12px;
    color: var(--text-muted);
}

.creator-referral-empty p {
    font-size: 13.5px; line-height: 1.6;
}

/* Resources Grid */
.creator-resources-section {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(16px, 1.4vw, 22px);
    box-shadow: var(--shadow-sm);
}

.creator-resources-section h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 14.5px); font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 14px;
}

.creator-resources-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.2vw, 20px);
}

.creator-resource-card {
    background: var(--bg-subtle);
    border-radius: var(--radius-md);
    padding: clamp(14px, 1.2vw, 18px) clamp(12px, 1vw, 16px);
    cursor: pointer;
    transition: all 0.2s var(--ease);
}

.creator-resource-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.crc-icon {
    width: clamp(32px, 2.2vw, 36px); height: clamp(32px, 2.2vw, 36px);
    background: var(--terra-50);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    color: var(--terra);
    margin-bottom: 10px;
}

.creator-resource-card strong {
    display: block;
    font-size: clamp(13px, 0.85vw, 14px); font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 3px;
}

.creator-resource-card span {
    font-size: clamp(11px, 0.72vw, 12.5px); line-height: 1.5;
    color: var(--text-secondary);
}

/* Tier Progress */
.creator-tier-section {
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    padding: clamp(16px, 1.4vw, 22px);
    box-shadow: var(--shadow-sm);
}

.creator-tier-section h3 {
    font-family: var(--font-display);
    font-size: clamp(13.5px, 0.9vw, 14.5px); font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 14px;
}

.creator-tier-card {
    background: var(--bg-subtle);
    border-radius: var(--radius-md);
    padding: clamp(14px, 1.2vw, 18px);
}

.ctc-current {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.ctc-badge {
    padding: 3px 12px;
    border-radius: var(--radius-full);
    font-size: 11px; font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ctc-bronze { background: rgba(136,150,168,0.12); color: #8896a8; }
.ctc-silver { background: rgba(212,160,32,0.1); color: #d4a020; }
.ctc-gold { background: rgba(139,127,186,0.1); color: #8b7fba; }
.ctc-platinum { background: rgba(217,119,87,0.1); color: var(--terra); }

.ctc-progress-text {
    font-size: 12.5px;
    color: var(--text-secondary);
}

.ctc-progress-text strong { color: var(--terra); }

.ctc-progress-bar {
    height: 6px;
    background: var(--border-strong);
    border-radius: 3px;
    margin-bottom: 16px;
    overflow: hidden;
}

.ctc-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--terra), var(--terra-300));
    border-radius: 3px;
    transition: width 0.5s var(--ease);
}

.ctc-tiers-row {
    display: flex; justify-content: space-between;
}

.ctc-tier {
    display: flex; flex-direction: column;
    align-items: center; gap: 4px;
    font-size: 12.5px; font-weight: 600;
    color: var(--text-muted);
}

.ctc-tier small {
    font-size: 11px;
    color: var(--text-muted);
    opacity: 0.7;
}

.ctc-tier-dot {
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--canvas-100);
    display: flex; align-items: center; justify-content: center;
    color: var(--canvas-400);
    transition: all 0.3s var(--ease);
}

.ctc-dot-active {
    background: var(--terra-50);
    color: var(--terra);
    box-shadow: 0 0 10px rgba(217,119,87,0.25);
}

/* Creator Apply Modal */
.creator-modal {
    width: clamp(300px, 90vw, 400px);
    max-width: 90vw;
    padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 24px) clamp(18px, 3vw, 24px);
    position: relative;
    background: var(--bg-card);
    border-radius: var(--radius-2xl);
    box-shadow: 0 32px 80px rgba(19,19,20,0.14), 0 0 0 1px rgba(0,0,0,0.03);
    max-height: 80vh;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.creator-modal::-webkit-scrollbar {
    display: none;
}

.creator-modal .modal-close {
    position: absolute;
    top: 12px; right: 12px;
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border: none;
    background: var(--canvas-100);
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--canvas-500);
    font-size: 20px;
    transition: all 0.2s var(--ease);
}
.creator-modal .modal-close:hover {
    background: var(--canvas-200);
    color: var(--canvas-900);
    transform: rotate(90deg);
}

.creator-modal h2 {
    font-family: var(--font-display);
    font-size: clamp(14.5px, 1.2vw, 17px); font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 4px;
    letter-spacing: -0.02em;
}

.creator-modal .modal-desc {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 16px;
    line-height: 1.55;
}

.creator-modal .form-group {
    margin-bottom: 12px;
}

.creator-modal label,
.creator-modal .label {
    display: block;
    font-size: 12.5px; font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 5px;
    letter-spacing: 0.01em;
}

.creator-modal .form-input {
    width: 100%;
    padding: 8px 12px;
    background: var(--bg-subtle);
    border: 1.5px solid rgba(0,0,0,0.06);
    border-radius: var(--radius-sm);
    font-size: 13.5px;
    color: var(--text-primary);
    outline: none;
    font-family: var(--font);
    transition: all 0.2s var(--ease);
    box-sizing: border-box;
}

.creator-modal .form-input:focus {
    border-color: var(--terra);
    box-shadow: 0 0 0 3px rgba(217,119,87,0.08);
    background: var(--bg-card);
}

.creator-modal .form-input::placeholder {
    color: var(--text-muted);
}

/* Custom Select Dropdown */
.custom-select {
    position: relative;
    cursor: pointer;
}
/* When dropdown is open inside a modal, expand space so options aren't clipped */
.modal-body .custom-select.open {
    margin-bottom: 180px;
    transition: margin-bottom 0.2s var(--ease);
}

.cs-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: var(--bg-subtle);
    border: 1.5px solid rgba(0,0,0,0.06);
    border-radius: var(--radius-sm);
    font-size: 13.5px;
    color: var(--text-primary);
    transition: all 0.2s var(--ease);
}

.cs-trigger svg {
    flex-shrink: 0;
    color: var(--text-muted);
    transition: transform 0.2s var(--ease);
}

.custom-select.open .cs-trigger {
    border-color: var(--terra);
    box-shadow: 0 0 0 3px rgba(217,119,87,0.08);
}

.custom-select.open .cs-trigger svg {
    transform: rotate(180deg);
}

.cs-value[data-placeholder="true"] {
    color: var(--text-muted);
}

.cs-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0; right: 0;
    background: var(--bg-card);
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: 10;
    display: none;
    overflow: hidden;
}

.custom-select.open .cs-dropdown {
    display: block;
    animation: modalIn 0.2s var(--ease);
}

.cs-option {
    padding: 7px 12px;
    font-size: 13.5px;
    color: var(--text-primary);
    transition: all 0.15s;
    cursor: pointer;
}

.cs-option:hover {
    background: var(--terra-50);
    color: var(--terra-700);
}

.cs-option.selected {
    background: var(--terra-50);
    color: var(--terra);
    font-weight: 600;
}

/* Dark mode custom select */
[data-theme="dark"] .cs-trigger {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.08);
    color: #fff;
}
[data-theme="dark"] .custom-select.open .cs-trigger {
    border-color: var(--terra);
    box-shadow: 0 0 0 3px rgba(217,119,87,0.12);
}
[data-theme="dark"] .cs-dropdown {
    background: var(--bg-elevated);
    border-color: rgba(255,255,255,0.09);
}
[data-theme="dark"] .cs-option {
    color: var(--text-secondary);
}
[data-theme="dark"] .cs-option:hover {
    background: rgba(217,119,87,0.12);
    color: var(--terra);
}
[data-theme="dark"] .cs-option.selected {
    background: rgba(217,119,87,0.15);
    color: var(--terra);
}

.creator-modal textarea.form-input {
    resize: vertical;
    min-height: 56px;
    line-height: 1.5;
}

.creator-modal .btn-primary {
    padding: 9px 20px;
    font-size: 13.5px;
    font-weight: 700;
    border-radius: var(--radius-sm);
    margin-top: 2px;
}

/* Override base .modal constraints */
.modal.creator-modal {
    width: clamp(300px, 90vw, 400px);
    max-width: 90vw;
    max-height: 80vh;
    padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 24px) clamp(18px, 3vw, 24px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Creator modal responsive */
@media (max-width: 480px) {
    .creator-modal, .modal.creator-modal {
        padding: 16px 14px 14px;
    }
    .creator-modal h2 { font-size: 14.5px; }
    .creator-modal .modal-desc { font-size: 12.5px; margin-bottom: 12px; }
    .creator-modal label, .creator-modal .label { font-size: 12px; margin-bottom: 4px; }
    .creator-modal .form-group { margin-bottom: 10px; }
    .creator-modal .form-input { padding: 7px 10px; font-size: 13px; }
    .cs-trigger { padding: 7px 10px; font-size: 13px; }
    .cs-option { padding: 6px 10px; font-size: 13px; }
    .creator-modal .btn-primary { padding: 8px 16px; font-size: 13px; }
    .creator-modal .modal-close { width: 26px; height: 26px; font-size: 18px; top: 10px; right: 10px; }
}

/* Dark mode overrides */
[data-theme="dark"] .creator-apply-banner { background: var(--bg-card); }
[data-theme="dark"] .cab-icon { background: rgba(217,119,87,0.12); }
[data-theme="dark"] .cab-left h2 { color: #fff; }
[data-theme="dark"] .creator-stat-card { background: var(--bg-card); }
[data-theme="dark"] .csc-value { color: #fff; }
[data-theme="dark"] .creator-ref-section { background: var(--bg-card); }
[data-theme="dark"] .creator-ref-section h3 { color: #fff; }
[data-theme="dark"] .creator-ref-input { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); color: #fff; }
[data-theme="dark"] .creator-chart-card { background: var(--bg-card); }
[data-theme="dark"] .ccc-header h3 { color: #fff; }
[data-theme="dark"] .creator-referrals-card { background: var(--bg-card); }
[data-theme="dark"] .creator-referrals-card h3 { color: #fff; }
[data-theme="dark"] .creator-resources-section { background: var(--bg-card); }
[data-theme="dark"] .creator-resources-section h3 { color: #fff; }
[data-theme="dark"] .creator-resource-card { background: rgba(255,255,255,0.03); }
[data-theme="dark"] .creator-resource-card strong { color: #eee; }
[data-theme="dark"] .crc-icon { background: rgba(217,119,87,0.1); }
[data-theme="dark"] .creator-tier-section { background: var(--bg-card); }
[data-theme="dark"] .creator-tier-section h3 { color: #fff; }
[data-theme="dark"] .creator-tier-card { background: rgba(255,255,255,0.03); }
[data-theme="dark"] .creator-modal { background: var(--bg-card); }
[data-theme="dark"] .creator-modal .modal-close { background: rgba(255,255,255,0.06); color: #888; }
[data-theme="dark"] .creator-modal .modal-close:hover { background: rgba(255,255,255,0.1); color: #fff; }
[data-theme="dark"] .creator-modal h2 { color: #fff; }
[data-theme="dark"] .creator-modal .modal-desc { color: #999; }
[data-theme="dark"] .creator-modal label, [data-theme="dark"] .creator-modal .label { color: #ccc; }
[data-theme="dark"] .creator-modal .form-input { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); color: #fff; }
[data-theme="dark"] .creator-modal .form-input:focus { border-color: var(--terra); box-shadow: 0 0 0 3px rgba(217,119,87,0.12); background: rgba(255,255,255,0.06); }
[data-theme="dark"] .creator-modal .form-input::placeholder { color: #555; }

/* ── Creator Document Modal ── */
.creator-doc-modal {
    width: 720px;
    max-width: 92vw;
    max-height: 85vh;
    padding: 0;
    background: var(--bg-card);
    border-radius: var(--radius-xl);
    box-shadow: 0 25px 80px rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: cdmSlideUp 0.3s ease;
}
@keyframes cdmSlideUp {
    from { opacity: 0; transform: translateY(24px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.cdm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    background: var(--bg-subtle);
}
.cdm-tabs {
    display: flex;
    gap: 4px;
}
.cdm-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: var(--font-body);
}
.cdm-tab:hover {
    background: rgba(0,0,0,0.04);
    color: var(--text-primary);
}
.cdm-tab.active {
    background: var(--bg-card);
    color: var(--text-primary);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04);
}
.cdm-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    font-size: 22px;
    color: var(--text-muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
}
.cdm-close:hover {
    background: rgba(0,0,0,0.06);
    color: var(--text-primary);
    transform: rotate(90deg);
}
.cdm-content {
    display: none;
    overflow-y: auto;
    padding: 0 32px 32px;
    flex: 1;
}
.cdm-content.active { display: block; }
.cdm-content::-webkit-scrollbar { width: 5px; }
.cdm-content::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 4px; }

/* Hero Section */
.cdm-hero {
    padding: 32px 0 24px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 28px;
}
.cdm-hero-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--terra);
    background: var(--terra-50);
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 12px;
}
.cdm-hero h1 {
    font-family: var(--font-display);
    font-size: clamp(22px, 1.6vw, 27px);
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.03em;
    margin-bottom: 6px;
}
.cdm-hero p {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Sections */
.cdm-section {
    margin-bottom: 32px;
}
.cdm-section h2 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.02em;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}
.cdm-section-desc {
    font-size: 14.5px;
    color: var(--text-secondary);
    margin-bottom: 16px;
    line-height: 1.6;
}

/* Flow Steps */
.cdm-flow {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.cdm-flow-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
}
.cdm-flow-num {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--terra);
    color: white;
    font-size: 14.5px;
    font-weight: 800;
    font-family: var(--font-display);
    margin-bottom: 4px;
}
.cdm-flow-step strong {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-primary);
}
.cdm-flow-step span {
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.5;
}
.cdm-flow-arrow {
    color: var(--text-muted);
    padding-top: 6px;
    flex-shrink: 0;
}

/* Dashboard Grid */
.cdm-dash-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.cdm-dash-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border-radius: var(--radius-md);
    background: var(--bg-subtle);
    border: 1px solid var(--border);
}
.cdm-dash-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cdm-dash-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 2px;
}
.cdm-dash-item span {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Tier Cards */
.cdm-tiers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.cdm-tier-card {
    padding: 18px 14px;
    border-radius: var(--radius-md);
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    text-align: center;
    border-top: 3px solid var(--border);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    transition: all 0.3s var(--ease);
}
.cdm-tier-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.cdm-tier-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    margin-bottom: 6px;
    position: relative;
    overflow: hidden;
}
.cdm-tier-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    transform: scaleY(0);
    transform-origin: bottom;
    z-index: 0;
}
.cdm-tier-card:hover .cdm-tier-icon::before {
    animation: tierIconFill 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;
}
/* Bronze: cool moonlight blue-gray */
.cdm-tier-bronze .cdm-tier-icon { background: rgba(160,174,192,0.12); color: #8896a8; }
.cdm-tier-bronze .cdm-tier-icon::before { background: rgba(160,174,192,0.22); }
/* Silver: warm solar amber */
.cdm-tier-silver .cdm-tier-icon { background: rgba(234,179,56,0.1); color: #d4a020; }
.cdm-tier-silver .cdm-tier-icon::before { background: rgba(234,179,56,0.2); }
/* Gold: cosmic violet-steel */
.cdm-tier-gold .cdm-tier-icon { background: rgba(139,128,186,0.1); color: #8b7fba; }
.cdm-tier-gold .cdm-tier-icon::before { background: rgba(139,128,186,0.2); }
/* Platinum: deep ember / singularity orange */
.cdm-tier-platinum .cdm-tier-icon { background: rgba(217,119,87,0.1); color: var(--terra); }
.cdm-tier-platinum .cdm-tier-icon::before { background: rgba(217,119,87,0.2); }
@keyframes tierIconFill {
    0% { transform: scaleY(0); }
    100% { transform: scaleY(1); }
}

/* ====== 3D Globe — rotating ball effect ====== */

/* Surface scrolls left to simulate globe spinning */
@keyframes globeSpin {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
/* Saturn body — highlight shifts to simulate rotation */
@keyframes saturnBodySpin {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}
/* Star glow pulse */
@keyframes tierStarGlow {
    0%, 100% { box-shadow: 0 0 6px 2px rgba(232,160,64,0.25); }
    50% { box-shadow: 0 0 14px 5px rgba(232,160,64,0.5); }
}

/* --- Globe container (Moon, Mars, Star) --- */
.tier-globe {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    display: inline-block;
}
/* The image is 2x wide and scrolls to simulate rotation */
.tier-globe img {
    width: 200%;
    height: 100%;
    object-fit: cover;
    animation: globeSpin 15s linear infinite;
}
/* 3D sphere lighting overlay — highlight top-left, shadow edges */
.tier-globe::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 30%,
        rgba(255,255,255,0.25) 0%,
        rgba(255,255,255,0.08) 20%,
        transparent 45%,
        rgba(0,0,0,0.12) 70%,
        rgba(0,0,0,0.3) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Speed variations per tier */
.cdm-tier-bronze .tier-globe img { animation-duration: 18s; }
.cdm-tier-silver .tier-globe img   { animation-duration: 14s; }
.cdm-tier-platinum .tier-globe img { animation-duration: 22s; }

/* Star globe — add glow ring */
.tier-globe-star {
    box-shadow: 0 0 8px 2px rgba(232,160,64,0.35);
    animation: tierStarGlow 2.5s ease-in-out infinite;
}

/* --- Saturn (CSS-built: spinning body + static ring) --- */
.tier-saturn {
    position: relative;
    width: 38px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Planet body — gradient sphere that rotates via background shift */
.tier-saturn-body {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 30%, rgba(255,255,255,0.2) 0%, transparent 40%),
        repeating-linear-gradient(
            180deg,
            #d4c078 0%, #c8b060 8%, #b8a050 16%, #d0be70 24%, #c0a850 32%
        );
    background-size: 100% 100%, 200% 100%;
    animation: saturnBodySpin 12s linear infinite;
    position: relative;
    z-index: 2;
    box-shadow:
        inset -4px -2px 6px rgba(0,0,0,0.25),
        inset 2px 2px 4px rgba(255,255,255,0.15);
}
/* Ring — static 3D ellipse around the body */
.tier-saturn-ring {
    position: absolute;
    width: 36px;
    height: 36px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(68deg);
    border-radius: 50%;
    border: 2.5px solid transparent;
    background:
        linear-gradient(180deg, rgba(160,140,120,0.5), rgba(120,110,150,0.4), rgba(160,140,120,0.3)) padding-box,
        linear-gradient(180deg, #a08c78, #8b7fba, #a08c78) border-box;
    z-index: 1;
    pointer-events: none;
}
/* Outer ring (second ring layer via box-shadow) */
.tier-saturn-ring::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid rgba(139,127,186,0.25);
    pointer-events: none;
}

/* --- Dot-sized globe (progress dots, 12px) --- */
.tier-globe-dot {
    width: 12px;
    height: 12px;
    display: inline-block;
}
.tier-globe-dot img {
    animation-duration: 20s;
}
/* Dot-sized Saturn */
.tier-saturn-dot {
    width: 18px;
    height: 14px;
    display: inline-flex;
}
.tier-saturn-dot .tier-saturn-body {
    width: 8px;
    height: 8px;
}
.tier-saturn-dot .tier-saturn-ring {
    width: 16px;
    height: 16px;
    border-width: 1.5px;
}
.tier-saturn-dot .tier-saturn-ring::after {
    display: none;
}

/* --- Chip-sized globe (payout chip, 16px) --- */
.tier-globe-chip {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 3px;
}
.tier-globe-chip img {
    animation-duration: 20s;
}
.tier-globe-chip.tier-globe-star {
    box-shadow: 0 0 5px 1px rgba(232,160,64,0.3);
}
/* Chip-sized Saturn */
.tier-saturn-chip {
    width: 24px;
    height: 16px;
    display: inline-flex;
    vertical-align: middle;
    margin-right: 3px;
}
.tier-saturn-chip .tier-saturn-body {
    width: 10px;
    height: 10px;
}
.tier-saturn-chip .tier-saturn-ring {
    width: 22px;
    height: 22px;
    border-width: 1.5px;
}
.tier-saturn-chip .tier-saturn-ring::after {
    display: none;
}
.cdm-tier-card:nth-child(1) .cdm-tier-icon::before { animation: tierIconFill 0.5s 0.1s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.cdm-tier-card:nth-child(2) .cdm-tier-icon::before { animation: tierIconFill 0.5s 0.2s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.cdm-tier-card:nth-child(3) .cdm-tier-icon::before { animation: tierIconFill 0.5s 0.3s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.cdm-tier-card:nth-child(4) .cdm-tier-icon::before { animation: tierIconFill 0.5s 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.cdm-tier-card strong {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-primary);
}
.cdm-tier-card span {
    font-size: 12.5px;
    color: var(--text-muted);
}
.cdm-tier-rate {
    font-family: var(--font-display);
    font-size: clamp(20px, 1.4vw, 25px);
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 4px;
}
.cdm-tier-bronze { border-top-color: #8896a8; }
.cdm-tier-bronze .cdm-tier-rate { color: #8896a8; }
.cdm-tier-silver { border-top-color: #d4a020; }
.cdm-tier-silver .cdm-tier-rate { color: #d4a020; }
.cdm-tier-gold { border-top-color: #8b7fba; }
.cdm-tier-gold .cdm-tier-rate { color: #8b7fba; }
.cdm-tier-platinum { border-top-color: var(--terra); }
.cdm-tier-platinum .cdm-tier-rate { color: var(--terra); }

/* Tips */
.cdm-tips {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cdm-tip {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.5;
}
.cdm-tip-num {
    font-family: var(--font-display);
    font-size: 12.5px;
    font-weight: 800;
    color: var(--terra);
    flex-shrink: 0;
    opacity: 0.7;
}

/* FAQ */
.cdm-faq {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.cdm-faq-item {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.cdm-faq-item summary {
    padding: 12px 16px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-primary);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.15s ease;
}
.cdm-faq-item summary:hover { background: var(--bg-subtle); }
.cdm-faq-item summary::after {
    content: '+';
    font-size: 18px;
    font-weight: 400;
    color: var(--text-muted);
    transition: transform 0.2s ease;
}
.cdm-faq-item[open] summary::after {
    content: '−';
}
.cdm-faq-item summary::-webkit-details-marker { display: none; }
.cdm-faq-item p {
    padding: 0 16px 14px;
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.7;
}

/* Legal Sections */
.cdm-legal p {
    font-size: 14.5px;
    color: var(--text-secondary);
    line-height: 1.75;
    margin-bottom: 10px;
}
.cdm-legal ul {
    padding-left: 20px;
    margin-bottom: 12px;
}
.cdm-legal li {
    font-size: 14.5px;
    color: var(--text-secondary);
    line-height: 1.75;
    margin-bottom: 4px;
}
.cdm-legal strong {
    color: var(--text-primary);
}

/* Explain List (Guide detailed breakdowns) */
.cdm-explain-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.cdm-explain {
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--border);
    transition: background 0.15s;
}
.cdm-explain:hover {
    background: var(--bg-subtle);
}
.cdm-explain-label {
    font-size: 13.5px;
    font-weight: 800;
    font-family: var(--font-display);
    letter-spacing: -0.01em;
    margin-bottom: 4px;
    color: var(--text-primary);
}
.cdm-explain p {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0;
}
.cdm-explain code {
    font-family: var(--font-mono);
    font-size: 13px;
    background: rgba(0,0,0,0.04);
    padding: 1px 5px;
    border-radius: 3px;
    color: var(--terra);
}
[data-theme="dark"] .cdm-explain code { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .cdm-explain:hover { background: rgba(255,255,255,0.02); }

/* ── Payout Page (v3 — Stripe-inspired) ── */

/* Top Row: Balance Cards */
.po-top-row { margin: 20px 0 0; }
.po-balance-card {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.po-balance-card > div {
    padding: 20px 24px;
    border-right: 1px solid var(--border);
}
.po-balance-card > div:last-child { border-right: none; }
.po-bal-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    margin-bottom: 6px;
}
.po-bal-amount {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: clamp(18px, 1.3vw, 21px);
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.03em;
    line-height: 1;
}
.po-bal-muted { color: var(--text-muted); font-size: clamp(16px, 1.1vw, 18px); }
.po-bal-action {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 28px !important;
}
.po-request-btn {
    padding: 8px 22px;
    font-size: 13.5px;
    font-weight: 700;
    font-family: var(--font-body);
    color: white;
    background: var(--canvas-900);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}
.po-request-btn:hover { background: var(--canvas-800); }
.po-request-btn:disabled { opacity: 0.2; cursor: not-allowed; }

/* Info Strip */
.po-info-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 0;
    flex-wrap: wrap;
}
.po-info-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--bg-subtle);
    border-radius: 20px;
    border: 1px solid var(--border);
}
.po-info-chip svg { opacity: 0.5; }
.po-info-tier {
    color: var(--terra);
    background: var(--terra-50);
    border-color: rgba(217,119,87,0.15);
}
.po-info-tier svg { opacity: 0.7; color: var(--terra); }
.po-info-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--terra);
    text-decoration: none;
    margin-left: auto;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s;
}
.po-info-link:hover { background: var(--terra-50); }
.po-info-link.active .po-schedule-chevron { transform: rotate(180deg); }
.po-schedule-chevron { transition: transform 0.2s ease; }

/* Schedule Dropdown */
.po-schedule-dropdown {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.2s ease;
    opacity: 0;
}
.po-schedule-dropdown.open {
    max-height: 300px;
    opacity: 1;
    margin-bottom: 8px;
}
.po-sched-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding-bottom: 4px;
}
.po-sched-card {
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg-subtle);
}
.po-sched-card strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--text-primary);
    margin-bottom: 4px;
}
.po-sched-card p {
    font-size: 12.5px;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0;
}

/* Payment Method (horizontal) */
.po-pay-section {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0 16px;
    border-bottom: 1px solid var(--border);
}
.po-pay-label {
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    flex-shrink: 0;
}
.po-pay-methods {
    display: flex;
    gap: 6px;
}
.po-pay-opt { cursor: pointer; }
.po-pay-opt input { display: none; }
.po-pay-card {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    transition: all 0.15s;
    background: var(--bg-card);
}
.po-pay-card:hover { border-color: var(--text-muted); }
.po-pay-card span {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}
.po-pay-opt input:checked + .po-pay-card {
    border-color: var(--terra);
    background: var(--terra-50);
}

/* Payout Method Cards */
.po-method-section {
    padding: 0 0 16px;
}
.po-method-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.po-method-header h3 {
    font-family: var(--font-display);
    font-size: 14.5px;
    font-weight: 800;
    color: var(--text-primary);
}
.po-method-status {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-muted);
}
.po-method-status.po-status-ok {
    color: var(--emerald-500);
}
.po-method-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.po-method-card {
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px 14px 14px;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
}
.po-method-card:hover {
    border-color: var(--text-muted);
    background: var(--bg-subtle);
}
.po-method-card.po-mc-selected {
    border-color: var(--terra);
    background: var(--terra-50);
}
.po-mc-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 10px;
}
.po-mc-check {
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--emerald-500);
    color: white;
    display: flex; align-items: center; justify-content: center;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s;
}
.po-mc-check.visible {
    opacity: 1;
    transform: scale(1);
}
.po-method-card strong {
    display: block;
    font-size: 13.5px;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--text-primary);
    margin-bottom: 2px;
}
.po-method-card > span {
    font-size: 12px;
    color: var(--text-muted);
}
.po-mc-connected {
    display: none;
    font-size: 11px;
    font-family: 'JetBrains Mono', monospace;
    color: var(--terra);
    margin-top: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Setup Form */
.po-setup-form {
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 20px 22px;
    background: var(--bg-subtle);
    animation: poSetupIn 0.2s ease;
}
@keyframes poSetupIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
.po-setup-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}
.po-setup-header strong {
    display: block;
    font-size: 14.5px;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--text-primary);
}
.po-setup-header span {
    font-size: 13px;
    color: var(--text-muted);
}
.po-setup-field {
    margin-bottom: 14px;
}
.po-setup-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-secondary);
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.po-setup-field input {
    width: 100%;
    padding: 9px 12px;
    font-size: 14.5px;
    font-family: var(--font-body);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg-card);
    color: var(--text-primary);
    transition: border-color 0.15s;
    outline: none;
    box-sizing: border-box;
}
.po-setup-field input:focus {
    border-color: var(--terra);
}
.po-setup-prefix {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: border-color 0.15s;
}
.po-setup-prefix:focus-within { border-color: var(--terra); }
.po-setup-prefix span {
    padding: 9px 10px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--text-muted);
    background: var(--bg-subtle);
    border-right: 1px solid var(--border);
    flex-shrink: 0;
}
.po-setup-prefix input {
    border: none !important;
    border-radius: 0 !important;
    flex: 1;
}
.po-setup-row { }
.po-setup-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.po-setup-toggle {
    display: flex;
    gap: 0;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    width: fit-content;
}
.po-toggle-btn {
    padding: 7px 18px;
    font-size: 13.5px;
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-muted);
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.15s;
}
.po-toggle-btn.active {
    background: var(--terra);
    color: white;
}
.po-setup-note {
    font-size: 12.5px;
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0 0 16px;
    padding: 10px 12px;
    background: var(--bg-card);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--border);
}
.po-setup-actions {
    display: flex;
    gap: 8px;
    padding-top: 4px;
}
.po-setup-save {
    padding: 8px 20px;
    font-size: 13.5px;
    font-weight: 700;
    font-family: var(--font-body);
    color: white;
    background: var(--canvas-900);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background 0.15s;
}
.po-setup-save:hover { background: var(--canvas-800); }
.po-setup-cancel {
    padding: 8px 16px;
    font-size: 13.5px;
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-muted);
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all 0.15s;
}
.po-setup-cancel:hover { background: var(--bg-card); color: var(--text-primary); }

[data-theme="dark"] .po-method-card { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-method-card:hover { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.02); }
[data-theme="dark"] .po-method-card.po-mc-selected { border-color: var(--terra); background: rgba(217,119,87,0.06); }
[data-theme="dark"] .po-method-card svg path[fill="#4a5568"] { fill: #a0aec0; }
[data-theme="dark"] .po-setup-form { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-setup-header { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-setup-field input { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .po-setup-prefix { border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .po-setup-prefix span { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-setup-note { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-setup-save { background: #e8e8e8; color: #1a1a1e; }
[data-theme="dark"] .po-setup-cancel { border-color: rgba(255,255,255,0.08); }

/* Transactions */
.po-tx-section {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-top: 16px;
}
.po-tx-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
}
.po-tx-header h3 {
    font-family: var(--font-display);
    font-size: 14.5px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.01em;
}
.po-tx-filters {
    display: flex;
    gap: 2px;
    background: var(--bg-subtle);
    border-radius: 6px;
    padding: 2px;
    border: 1px solid var(--border);
}
.po-tx-filter {
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-muted);
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s;
}
.po-tx-filter:hover { color: var(--text-primary); }
.po-tx-filter.active {
    color: var(--text-primary);
    background: var(--bg-card);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.po-tx-list { min-height: 140px; }
.po-tx-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    text-align: center;
}
.po-tx-empty strong {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 4px;
}
.po-tx-empty p {
    font-size: 12.5px;
    color: var(--text-muted);
    line-height: 1.6;
    max-width: 240px;
    margin: 0;
}

/* Transaction Row */
.po-tx-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 18px;
    border-bottom: 1px solid var(--border);
    font-size: 13.5px;
    transition: background 0.1s;
    gap: 12px;
}
.po-tx-row:last-child { border-bottom: none; }
.po-tx-row:hover { background: var(--bg-subtle); }
.po-tx-info { flex: 1; min-width: 0; }
.po-tx-info strong {
    display: block;
    font-size: 13.5px; font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 1px;
}
.po-tx-info span {
    font-size: 12.5px; color: var(--text-muted);
    display: block;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.po-tx-right {
    display: flex; align-items: center; gap: 10px;
    flex-shrink: 0;
}
.po-tx-amount {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700; font-size: 13.5px;
    white-space: nowrap;
}
.po-tx-credit { color: var(--emerald-500); }
.po-tx-debit { color: var(--text-primary); }
.po-tx-status {
    font-size: 10.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.04em;
    padding: 2px 7px; border-radius: 4px;
    white-space: nowrap;
}
.po-tx-held { background: rgba(212,168,83,0.1); color: #c49a3a; }
.po-tx-available { background: rgba(16,185,129,0.1); color: var(--emerald-500); }
.po-tx-paid { background: rgba(99,91,255,0.08); color: #635bff; }
.po-tx-pending { background: rgba(212,168,83,0.1); color: #c49a3a; }
.po-tx-date { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--text-muted); white-space: nowrap; }

/* Dark Mode — Payout */
[data-theme="dark"] .po-balance-card { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-balance-card > div { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-request-btn { background: #e8e8e8; color: #1a1a1e; }
[data-theme="dark"] .po-info-chip { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-sched-card { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-pay-card { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-pay-card:hover { border-color: rgba(255,255,255,0.15); }
[data-theme="dark"] .po-pay-opt input:checked + .po-pay-card { background: rgba(217,119,87,0.06); border-color: var(--terra); }
[data-theme="dark"] .po-pay-card svg path[fill="#4a5568"] { fill: #a0aec0; }
[data-theme="dark"] .po-tx-section { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-tx-header { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-tx-filters { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-tx-filter.active { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .po-tx-row { border-color: rgba(255,255,255,0.04); }
[data-theme="dark"] .po-tx-row:hover { background: rgba(255,255,255,0.02); }
[data-theme="dark"] .po-pay-section { border-color: rgba(255,255,255,0.06); }

/* Dark Mode — Modal */
[data-theme="dark"] .creator-doc-modal { background: var(--bg-card); box-shadow: 0 25px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.09); }
[data-theme="dark"] .cdm-header { background: var(--bg); border-color: rgba(255,255,255,0.09); }
[data-theme="dark"] .cdm-tab:hover { background: rgba(255,255,255,0.05); }
[data-theme="dark"] .cdm-tab.active { background: var(--bg-card); box-shadow: 0 1px 3px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.09); }
[data-theme="dark"] .cdm-close:hover { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .cdm-content::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); }
[data-theme="dark"] .cdm-dash-item, [data-theme="dark"] .cdm-tier-card, [data-theme="dark"] .cdm-tip, [data-theme="dark"] .cdm-faq-item { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .cdm-faq-item summary:hover { background: rgba(255,255,255,0.03); }

/* Responsive */
@media (max-width: 900px) {
    .creator-stats-row { grid-template-columns: repeat(2, 1fr); }
    .creator-grid-2col { grid-template-columns: 1fr; }
    .creator-resources-grid { grid-template-columns: repeat(2, 1fr); }
    .cdm-flow { flex-direction: column; align-items: center; }
    .cdm-flow-arrow { transform: rotate(90deg); }
    .cdm-tiers { grid-template-columns: repeat(2, 1fr); }
    .cdm-dash-grid { grid-template-columns: 1fr; }
    .po-balance-card { grid-template-columns: 1fr 1fr; }
    .po-bal-action { grid-column: 1 / -1; justify-content: flex-start; padding: 12px 24px 16px !important; }
    .po-sched-grid { grid-template-columns: 1fr; }
    .po-method-grid { grid-template-columns: repeat(2, 1fr); }
    .po-setup-2col { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .creator-apply-banner { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rejection-card { padding: 14px; }
    .rejection-card-top { gap: 10px; }
    .rejection-icon { width: 36px; height: 36px; border-radius: 10px; }
    .rejection-icon svg { width: 24px; height: 24px; }
    .rejection-actions { gap: 5px; }
    .rejection-btn { padding: 6px 10px; font-size: 12px; gap: 5px; }
    .rejection-btn svg { width: 13px; height: 13px; }
    .appeal-tracker { padding: 14px; margin-top: 8px; }
    .appeal-step-dot { width: 26px; height: 26px; }
    .rejection-faq { padding: 14px; margin-top: 8px; }
    .faq-question { padding: 10px 0; font-size: 12.5px; }
    .faq-answer p { font-size: 12px; }
    .creator-appeal-modal { width: 94vw !important; padding: 16px !important; }
    .appeal-modal-icon { width: 38px; height: 38px; }
    .upload-zone-content { padding: 12px; }
    .creator-stats-row { grid-template-columns: 1fr 1fr; gap: 8px; }
    .creator-resources-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .creator-doc-modal { max-width: 98vw; }
    .cdm-content { padding: 0 18px 24px; }
    .cdm-tiers { grid-template-columns: 1fr 1fr; }
    /* Creator compact fonts */
    .creator-tab-body { gap: 16px; }
    .creator-stat-card { padding: 10px; gap: 8px; }
    .csc-icon { width: 30px; height: 30px; border-radius: 8px; }
    .csc-icon svg { width: 14px; height: 14px; }
    .csc-label { font-size: 9.5px; letter-spacing: 0.04em; }
    .csc-value { font-size: 14.5px; }
    .creator-ref-section { padding: 12px 14px; }
    .creator-ref-section h3 { font-size: 12.5px; margin-bottom: 8px; }
    .creator-ref-input { font-size: 12px; padding: 6px 10px; }
    .creator-copy-btn { font-size: 12px; padding: 6px 10px; }
    .creator-promo-code { font-size: 11px; }
    .creator-chart-card { padding: 12px 14px; }
    .ccc-header h3 { font-size: 12.5px; }
    .ccc-period-pills .pill-btn { font-size: 10.5px; padding: 3px 9px; }
    .ccc-chart-labels { font-size: 10px; }
    .creator-referrals-card { padding: 12px 14px; }
    .creator-referrals-card h3 { font-size: 12.5px; margin-bottom: 10px; }
    .creator-referral-row { padding: 7px 0; font-size: 12px; }
    .crr-stage { font-size: 10.5px; }
    .crr-date { font-size: 10.5px; }
    .creator-resources-section { padding: 12px 14px; }
    .creator-resources-section h3 { font-size: 12.5px; margin-bottom: 10px; }
    .creator-resource-card { padding: 10px; }
    .crc-icon { width: 28px; height: 28px; border-radius: 7px; margin-bottom: 6px; }
    .creator-resource-card strong { font-size: 12px; }
    .creator-resource-card span { font-size: 10.5px; }
    .creator-tier-section { padding: 12px 14px; }
    .creator-tier-section h3 { font-size: 12.5px; }
    .ctc-badge { font-size: 9.5px; padding: 2px 10px; }
    .ctc-progress-text { font-size: 11px; }
    .ctc-tier { font-size: 10.5px; }
    .ctc-tier small { font-size: 9.5px; }
    .creator-helpbar .chb-btn { font-size: 11px; padding: 4px 10px; }
    .creator-footer-links a { font-size: 10.5px; }
    .cab-left h2 { font-size: 14.5px; }
    .cab-left p { font-size: 12px; }
    .cab-icon { width: 36px; height: 36px; border-radius: 10px; }
    /* Creator Doc Modal (Guide / Privacy / Terms) — compact */
    .creator-doc-modal { border-radius: 14px; }
    .cdm-header { padding: 8px 10px; }
    .cdm-tabs { gap: 3px; }
    .cdm-tab { font-size: 12px; padding: 6px 10px; gap: 5px; border-radius: 7px; }
    .cdm-tab svg { width: 12px; height: 12px; }
    .cdm-close { width: 26px; height: 26px; font-size: 18px; }
    .cdm-content { padding: 0 14px 20px; }
    .cdm-hero { padding: 16px 0 12px; }
    .cdm-hero-badge { font-size: 10px; padding: 3px 10px; letter-spacing: 0.08em; }
    .cdm-hero h1 { font-size: 18px; }
    .cdm-hero p { font-size: 12px; }
    .cdm-section { margin-bottom: 16px; }
    .cdm-section h2 { font-size: 13.5px; margin-bottom: 8px; padding-bottom: 6px; }
    .cdm-section-desc { font-size: 12px; margin-bottom: 10px; }
    .cdm-flow-step { padding: 12px; min-width: 120px; }
    .cdm-flow-num { width: 26px; height: 26px; font-size: 12.5px; }
    .cdm-flow-step strong { font-size: 12px; }
    .cdm-flow-step span { font-size: 10.5px; }
    .cdm-flow-arrow svg { width: 16px; height: 16px; }
    .cdm-explain { padding: 10px 12px; }
    .cdm-explain-label { font-size: 11px; margin-bottom: 3px; }
    .cdm-explain p { font-size: 11px; line-height: 1.5; }
    .cdm-explain code { font-size: 10.5px; padding: 1px 5px; }
    .cdm-tier-card { padding: 12px 8px; }
    .cdm-tier-icon { width: 34px; height: 34px; margin-bottom: 6px; }
    .cdm-tier-rate { font-size: 16px; }
    .cdm-tier-card strong { font-size: 11px; }
    .cdm-tier-card span { font-size: 10px; }
    .cdm-tip { padding: 10px 12px; font-size: 11px; line-height: 1.5; }
    .cdm-tip-num { font-size: 11px; min-width: 22px; }
    .cdm-faq-item summary { font-size: 12px; padding: 9px 12px; }
    .cdm-faq-item p { font-size: 11px; padding: 0 12px 10px; line-height: 1.5; }
    .cdm-legal p { font-size: 12px; line-height: 1.6; margin-bottom: 6px; }
    .cdm-legal ul { margin: 4px 0 8px 16px; }
    .cdm-legal li { font-size: 12px; margin-bottom: 3px; }
    .cdm-legal strong { font-size: 12px; }
    /* Payouts page — compact */
    .po-top-row { margin: 12px 0 0; }
    .po-balance-card { padding: 0; border-radius: 12px; }
    .po-balance-card > div { padding: 10px 14px; }
    .po-bal-label { font-size: 10px; }
    .po-bal-amount { font-size: 16px; }
    .po-bal-muted { font-size: 13.5px; }
    .po-request-btn { font-size: 12px; padding: 7px 16px; }
    .po-info-strip { gap: 5px; padding: 10px 0; flex-wrap: wrap; }
    .po-info-chip { font-size: 10.5px; padding: 4px 8px; gap: 4px; }
    .po-info-chip svg { width: 11px; height: 11px; }
    .po-info-link { font-size: 10.5px; padding: 4px 8px; }
    .po-sched-card { padding: 10px 12px; }
    .po-sched-card strong { font-size: 11px; }
    .po-sched-card p { font-size: 10.5px; }
    .po-method-section { margin-top: 16px; }
    .po-method-header h3 { font-size: 12.5px; }
    .po-method-status { font-size: 10.5px; }
    .po-method-card { padding: 10px; border-radius: 10px; }
    .po-method-card svg { width: 22px; height: 22px; }
    .po-method-card strong { font-size: 11px; }
    .po-method-card > span { font-size: 10px; }
    .po-mc-connected { font-size: 10px; }
    .po-setup-form { padding: 12px; border-radius: 10px; }
    .po-setup-header strong { font-size: 12.5px; }
    .po-setup-header span { font-size: 10.5px; }
    .po-setup-field label { font-size: 10.5px; }
    .po-setup-field input { font-size: 12px; padding: 7px 10px; }
    .po-setup-note { font-size: 10.5px; padding: 8px 10px; }
    .po-setup-save, .po-setup-cancel { font-size: 12px; padding: 7px 14px; }
    .po-tx-section { margin-top: 16px; border-radius: 12px; }
    .po-tx-header h3 { font-size: 12.5px; }
    .po-tx-filters { gap: 2px; }
    .po-tx-filter { font-size: 10.5px; padding: 4px 8px; }
    .po-tx-empty { padding: 20px 14px; }
    .po-tx-empty svg { width: 22px; height: 22px; }
    .po-tx-empty strong { font-size: 12px; }
    .po-tx-empty p { font-size: 10.5px; }
    .po-tx-row { padding: 9px 12px; }
    .po-tx-info strong { font-size: 12px; }
    .po-tx-info span { font-size: 10.5px; }
    .po-tx-amount { font-size: 12.5px; }
    .po-tx-status { font-size: 9.5px; padding: 2px 6px; }
    .po-tx-date { font-size: 10.5px; }
}

/* ---- Shortcuts Strip (Sessions tab) ---- */
/* Shortcuts strip — collapsible accordion */
.shortcuts-strip {
    margin: 0 0 2px;
    background: var(--canvas-50);
    border-bottom: 1px solid var(--canvas-150);
    font-family: var(--font);
}
.shortcuts-strip-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 18px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    color: var(--canvas-500);
    transition: background 0.15s ease;
}
.shortcuts-strip-toggle:hover {
    background: rgba(0,0,0,0.02);
}
.shortcuts-strip-toggle-left {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
}
.shortcuts-strip-badge {
    font-size: 10.5px;
    font-weight: 500;
    color: var(--canvas-400);
    background: var(--canvas-100);
    padding: 2px 8px;
    border-radius: var(--radius-full, 50px);
}
.shortcuts-strip-chevron {
    transition: transform 0.25s ease;
    color: var(--canvas-400);
    flex-shrink: 0;
}
.shortcuts-strip.collapsed .shortcuts-strip-chevron {
    transform: rotate(0deg);
}
.shortcuts-strip:not(.collapsed) .shortcuts-strip-chevron {
    transform: rotate(180deg);
}
.shortcuts-strip-body {
    overflow: hidden;
    max-height: 200px;
    padding: 0 18px 12px;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.25s ease;
    opacity: 1;
}
.shortcuts-strip.collapsed .shortcuts-strip-body {
    max-height: 0;
    padding: 0 18px;
    opacity: 0;
}
.shortcuts-strip-hint {
    font-size: 11px;
    font-weight: 400;
    color: var(--canvas-400);
    margin-bottom: 8px;
}
.shortcuts-strip-items {
    display: flex;
    align-items: stretch;
    gap: 8px;
}
.shortcuts-strip-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 6px;
    background: var(--white);
    border: 1px solid var(--canvas-150);
    border-radius: 8px;
    transition: border-color 0.15s ease;
}
.shortcuts-strip-item:hover {
    border-color: var(--canvas-300);
}
.shortcuts-strip-keys {
    display: flex;
    align-items: center;
    gap: 3px;
}
.shortcuts-strip-keys kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 6px;
    font-family: var(--font);
    font-size: 12px;
    font-weight: 700;
    color: var(--canvas-800);
    background: var(--canvas-50);
    border: 1px solid var(--canvas-200);
    border-radius: 5px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.shortcuts-strip-or {
    font-size: 10px;
    color: var(--canvas-400);
    font-weight: 500;
}
.shortcuts-strip-action {
    font-size: 11px;
    color: var(--canvas-500);
    font-weight: 500;
    white-space: nowrap;
}
/* Dark theme */
[data-theme="dark"] .shortcuts-strip { background: var(--canvas-100); border-bottom-color: var(--canvas-300); }
[data-theme="dark"] .shortcuts-strip-toggle:hover { background: rgba(255,255,255,0.03); }
[data-theme="dark"] .shortcuts-strip-badge { background: var(--canvas-200); color: var(--canvas-500); }
[data-theme="dark"] .shortcuts-strip-item { background: var(--canvas-50); border-color: var(--canvas-200); }
[data-theme="dark"] .shortcuts-strip-item:hover { border-color: var(--canvas-400); }
[data-theme="dark"] .shortcuts-strip-keys kbd { background: var(--canvas-200); border-color: var(--canvas-300); color: var(--text-secondary); }

/* Shortcuts strip — responsive */
@media (min-width: 1200px) {
    .shortcuts-strip-toggle { padding: 12px 24px; }
    .shortcuts-strip-body { padding: 0 24px 14px; }
    .shortcuts-strip.collapsed .shortcuts-strip-body { padding: 0 24px; }
    .shortcuts-strip-items { gap: 10px; }
    .shortcuts-strip-item { padding: 10px 8px; }
}
@media (max-width: 768px) {
    .shortcuts-strip-toggle { padding: 8px 14px; }
    .shortcuts-strip-body { padding: 0 14px 10px; }
    .shortcuts-strip.collapsed .shortcuts-strip-body { padding: 0 14px; }
    .shortcuts-strip-hint { display: none; }
    .shortcuts-strip-items { gap: 6px; }
    .shortcuts-strip-item { padding: 6px 4px; }
    .shortcuts-strip-keys kbd { min-width: 20px; height: 20px; font-size: 10.5px; padding: 0 4px; }
    .shortcuts-strip-action { font-size: 10px; }
}
/* ── First-session tour banner ───────────────────────────────────────────── */
.session-tour-banner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-left: 3px solid var(--terra);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
}
[data-theme="dark"] .session-tour-banner { background: var(--bg-elevated); }
.session-tour-banner-content { display: flex; align-items: flex-start; gap: 10px; flex: 1; min-width: 0; }
.session-tour-banner-icon { flex-shrink: 0; margin-top: 1px; color: var(--terra); }
.session-tour-banner-text { flex: 1; min-width: 0; }
.session-tour-banner-text strong { color: var(--text-primary); display: block; margin-bottom: 4px; }
.session-tour-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 4px; }
.session-tour-step { display: inline-flex; align-items: center; gap: 5px; }
.session-tour-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 17px; height: 17px; border-radius: 50%;
    background: var(--terra); color: #fff;
    font-size: 10px; font-weight: 600; flex-shrink: 0;
}
.session-tour-link {
    background: none; border: none; padding: 0; cursor: pointer;
    color: var(--terra); font-size: 13px; font-weight: 500;
    text-decoration: underline; text-underline-offset: 2px;
}
.session-tour-link:hover { opacity: 0.8; }
.session-tour-sep { color: var(--canvas-400); flex-shrink: 0; }
.session-tour-banner-dismiss {
    flex-shrink: 0; background: none; border: none; padding: 2px; cursor: pointer;
    color: var(--text-muted); border-radius: 4px; line-height: 1;
    margin-top: 1px;
}
.session-tour-banner-dismiss:hover { color: var(--text-secondary); background: var(--canvas-200); }

@media (max-width: 480px) {
    .shortcuts-strip { display: none; }
    /* Creator Doc Modal — extra compact */
    .creator-doc-modal { border-radius: 12px; max-height: 92vh; }
    .cdm-header { padding: 6px 8px; }
    .cdm-tab { font-size: 11px; padding: 5px 8px; gap: 4px; border-radius: 6px; }
    .cdm-tab svg { width: 11px; height: 11px; }
    .cdm-close { width: 24px; height: 24px; font-size: 17px; }
    .cdm-content { padding: 0 12px 16px; }
    .cdm-hero { padding: 12px 0 10px; }
    .cdm-hero-badge { font-size: 9.5px; padding: 2px 8px; }
    .cdm-hero h1 { font-size: 16px; }
    .cdm-hero p { font-size: 11px; }
    .cdm-section { margin-bottom: 14px; }
    .cdm-section h2 { font-size: 13px; margin-bottom: 6px; padding-bottom: 5px; }
    .cdm-section-desc { font-size: 11px; margin-bottom: 8px; }
    .cdm-flow-step { padding: 10px; }
    .cdm-flow-num { width: 24px; height: 24px; font-size: 12px; }
    .cdm-flow-step strong { font-size: 11px; }
    .cdm-flow-step span { font-size: 10px; }
    .cdm-explain { padding: 8px 10px; }
    .cdm-explain-label { font-size: 10.5px; }
    .cdm-explain p { font-size: 10.5px; }
    .cdm-tier-card { padding: 10px 6px; }
    .cdm-tier-icon { width: 30px; height: 30px; }
    .cdm-tier-rate { font-size: 14.5px; }
    .cdm-tier-card strong { font-size: 10.5px; }
    .cdm-tier-card span { font-size: 9.5px; }
    .cdm-tip { padding: 8px 10px; font-size: 10.5px; }
    .cdm-tip-num { font-size: 10.5px; min-width: 20px; }
    .cdm-faq-item summary { font-size: 11px; padding: 8px 10px; }
    .cdm-faq-item p { font-size: 10.5px; padding: 0 10px 8px; }
    .cdm-legal p { font-size: 11px; margin-bottom: 5px; }
    .cdm-legal li { font-size: 11px; }
    /* Payouts — extra compact */
    .po-balance-card > div { padding: 8px 12px; }
    .po-bal-label { font-size: 9.5px; }
    .po-bal-amount { font-size: 14.5px; }
    .po-bal-muted { font-size: 12.5px; }
    .po-request-btn { font-size: 11px; padding: 6px 14px; }
    .po-info-chip { font-size: 10px; padding: 3px 7px; }
    .po-method-card { padding: 8px; }
    .po-method-card svg { width: 20px; height: 20px; }
    .po-method-card strong { font-size: 10.5px; }
    .po-method-card > span { font-size: 9.5px; }
    .po-tx-header h3 { font-size: 12px; }
    .po-tx-filter { font-size: 10px; padding: 3px 7px; }
    .po-tx-row { padding: 8px 10px; }
    .po-tx-info strong { font-size: 11px; }
    .po-tx-info span { font-size: 10px; }
    .po-tx-amount { font-size: 12px; }
    .po-tx-status { font-size: 9px; }
    .po-tx-date { font-size: 10px; }
}

/* ── #18: Notification Center ── */
.notif-bell {
    position: relative;
    background: none; border: none; cursor: pointer;
    color: var(--canvas-500); padding: 4px; border-radius: 6px;
    transition: color 0.2s, background 0.2s;
    display: flex; align-items: center; justify-content: center;
}
.notif-bell:hover { color: var(--canvas-800); background: var(--canvas-200); }
.notif-badge {
    position: absolute; top: -2px; right: -4px;
    background: var(--terra-500); color: #fff; font-size: 9px; font-weight: 700;
    min-width: 14px; height: 14px; border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    padding: 0 3px; line-height: 1;
}
/* ── Notification Panel — enterprise grade popover ── */
/* ── Notification Panel — full-height right-side drawer (enterprise-style) ── */
.notif-panel {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: 320px;
    background: var(--canvas-50, #fdfaf7);
    border-left: 1px solid rgba(0,0,0,0.07);
    border-radius: 0;
    z-index: 501;
    display: flex; flex-direction: column;
    overflow: hidden;
    /* Hidden: slide off-screen to the right */
    transform: translateX(100%);
    pointer-events: none;
    visibility: hidden;
    transition:
        transform 280ms cubic-bezier(0.55, 0, 1, 0.45),
        visibility 0ms linear 280ms;
}
[data-theme="dark"] .notif-panel {
    background: #1E1A17;
    border-color: rgba(255,255,255,0.08);
    box-shadow: -4px 0 40px rgba(0,0,0,0.45);
}
.notif-panel.notif-open {
    transform: translateX(0);
    pointer-events: auto;
    visibility: visible;
    box-shadow: -4px 0 32px rgba(0,0,0,0.13);
    transition:
        transform 340ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
        visibility 0ms linear 0ms;
}
[data-theme="dark"] .notif-panel.notif-open {
    box-shadow: -4px 0 40px rgba(0,0,0,0.45);
}

/* Header */
.notif-panel-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--canvas-200);
    flex-shrink: 0;
}
.notif-panel-title {
    font-size: 13px; font-weight: 600;
    color: var(--canvas-800); letter-spacing: 0;
}
.notif-head-actions {
    display: flex; align-items: center; gap: 4px;
}
.notif-clear-all-btn {
    background: none; border: none; cursor: pointer;
    font-size: 11px; color: var(--canvas-400);
    padding: 4px 6px; border-radius: 6px;
    transition: color 0.15s, background 0.15s;
}
.notif-clear-all-btn:hover { color: var(--terra); background: var(--terra-50); }
.notif-panel-close-btn {
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    background: none; border: none; cursor: pointer;
    border-radius: 8px;
    color: var(--canvas-400);
    transition: color 0.15s, background 0.15s;
}
.notif-panel-close-btn:hover { background: var(--terra-50); color: var(--terra); }
[data-theme="dark"] .notif-panel-close-btn:hover { background: rgba(224,124,88,0.12); color: #e07c58; }

/* Body */
.notif-panel-body {
    overflow-y: auto; flex: 1;
}
/* Empty state */
.notif-empty-state {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 44px 20px; gap: 10px; color: var(--canvas-400);
}
.notif-empty-state p { font-size: 12px; margin: 0; color: var(--canvas-400); }
/* JS-rendered fallback empty text */
.notif-empty {
    text-align: center; color: var(--canvas-400); font-size: 12px;
    padding: 44px 20px; margin: 0;
}

/* Notification items */
.notif-item {
    display: flex; gap: 10px; padding: 11px 16px;
    border-bottom: 1px solid var(--canvas-150, var(--canvas-200));
    cursor: pointer; transition: background 0.15s;
    position: relative;
}
.notif-item:last-child { border-bottom: none; }
.notif-item:hover { background: var(--canvas-100, var(--canvas-200)); }
.notif-item.unread { background: var(--terra-50); }
.notif-item.unread::before {
    content: ''; position: absolute;
    left: 0; top: 0; bottom: 0; width: 3px;
    background: var(--terra);
    border-radius: 0 2px 2px 0;
}
.notif-item.unread:hover { background: rgba(224,124,88,0.1); }
.notif-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--terra-500); flex-shrink: 0; margin-top: 4px;
}
.notif-item:not(.unread) .notif-dot { background: transparent; }
.notif-content { flex: 1; min-width: 0; }
.notif-title { font-size: 12px; font-weight: 600; color: var(--canvas-800); margin: 0; }
.notif-msg { font-size: 11px; color: var(--canvas-500); margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notif-time { font-size: 10px; color: var(--canvas-400); margin-top: 3px; }


/* Mobile topbar: right-align bell button */
.studio-mobile-topbar .topbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}
/* Topbar bell — larger touch target */
.notif-bell-topbar {
    width: 38px; height: 38px;
    padding: 8px !important;
    border-radius: 10px;
    color: var(--canvas-600) !important;
}
.notif-bell-topbar:hover { color: var(--terra) !important; background: var(--terra-50) !important; }
[data-theme="dark"] .notif-bell-topbar:hover { background: rgba(224,124,88,0.12) !important; }

/* ── Notification backdrop overlay — all viewports ── */
.notif-drawer-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(4px) saturate(0.8);
    -webkit-backdrop-filter: blur(4px) saturate(0.8);
    z-index: 500;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 280ms ease-out, visibility 0ms linear 280ms;
}
.notif-drawer-overlay.open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition: opacity 280ms ease-out, visibility 0ms linear 0ms;
}

/* Mobile: narrow width, keep full height from top */
@media (max-width: 767px) {
    .notif-panel {
        width: min(300px, calc(100vw - 40px));
    }
    .notif-panel-head { border-bottom: 2px solid var(--terra); }
}

/* Body scroll lock while notif drawer open */
body.notif-drawer-open { overflow: hidden; }

/* ============================================
   Atlas Action Cards & Canvas Overlay
   ============================================ */

/* ── Inline action card (rendered in chat) ── */
.atlas-action-card {
    margin: 8px 0 4px 28px;
    background: var(--canvas-50, #f7f8fa);
    border: 1px solid var(--canvas-200, #e2e5ec);
    border-radius: 12px;
    overflow: hidden;
    max-width: 340px;
    animation: aacFadeIn 0.22s ease;
}
@keyframes aacFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.aac-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid var(--canvas-150, #eaedf3);
}

.aac-icon-wrap {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.aac-header-text {
    flex: 1;
    min-width: 0;
}

.aac-title {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--canvas-800, #1a1d2e);
    line-height: 1.2;
}

.aac-subtitle {
    font-size: 11px;
    color: var(--canvas-500, #7a7d94);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aac-expand-btn {
    width: 26px;
    height: 26px;
    border: 1px solid var(--canvas-200, #e2e5ec);
    border-radius: 6px;
    background: transparent;
    color: var(--canvas-500);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
.aac-expand-btn:hover { background: var(--canvas-100); color: var(--canvas-800); }

.aac-session-badge {
    margin: 8px 14px 4px;
    display: inline-block;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--terra, #43c59e);
    background: var(--terra-10, #43c59e18);
    border-radius: 20px;
    padding: 2px 10px;
    letter-spacing: 0.02em;
}

.aac-actions {
    display: flex;
    gap: 8px;
    padding: 10px 14px 12px;
    flex-wrap: wrap;
}

.aac-primary-btn {
    flex: 1;
    min-width: 100px;
    padding: 7px 12px;
    background: var(--terra, #43c59e);
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    white-space: nowrap;
}
.aac-primary-btn:hover { opacity: 0.88; transform: translateY(-1px); }
.aac-primary-btn:active { transform: translateY(0); }

.aac-secondary-btn {
    padding: 7px 12px;
    background: transparent;
    color: var(--canvas-600, #5a5d74);
    border: 1px solid var(--canvas-200, #e2e5ec);
    border-radius: 7px;
    font-size: 11.5px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.aac-secondary-btn:hover { background: var(--canvas-100); color: var(--canvas-800); }

/* Dark theme */
.dark .atlas-action-card {
    background: var(--canvas-100, #1e2130);
    border-color: var(--canvas-200, #2a2d3e);
}
.dark .aac-header { border-bottom-color: var(--canvas-200, #2a2d3e); }
.dark .aac-title  { color: var(--canvas-800, #e8eaf6); }
.dark .aac-subtitle { color: var(--canvas-500, #7a7d94); }
.dark .aac-expand-btn { border-color: var(--canvas-200); }
.dark .aac-expand-btn:hover { background: var(--canvas-150, #252838); }
.dark .aac-secondary-btn { border-color: var(--canvas-200); color: var(--canvas-500); }
.dark .aac-secondary-btn:hover { background: var(--canvas-150); color: var(--canvas-800); }

/* ── Canvas overlay (expand view) ── */
.atlas-canvas-overlay {
    position: fixed;
    inset: 0;
    z-index: 9500;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    animation: canvasOverlayIn 0.2s ease;
}
@keyframes canvasOverlayIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.atlas-canvas-panel {
    width: min(72vw, 860px);
    height: 100%;
    background: var(--canvas-0, #ffffff);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 32px rgba(0,0,0,0.18);
    animation: canvasPanelIn 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes canvasPanelIn {
    from { transform: translateX(60px); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

.atlas-canvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid var(--canvas-150, #eaedf3);
    flex-shrink: 0;
    background: var(--canvas-50, #f7f8fa);
}

.atlas-canvas-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.atlas-canvas-icon { font-size: 18px; }

.atlas-canvas-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--canvas-800, #1a1d2e);
}

.atlas-canvas-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.atlas-canvas-open-btn {
    padding: 5px 12px;
    background: var(--terra, #43c59e);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}
.atlas-canvas-open-btn:hover { opacity: 0.85; }

.atlas-canvas-close-btn {
    width: 30px;
    height: 30px;
    border: 1px solid var(--canvas-200, #e2e5ec);
    border-radius: 7px;
    background: transparent;
    color: var(--canvas-500);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}
.atlas-canvas-close-btn:hover { background: var(--canvas-100); color: var(--canvas-800); }

.atlas-canvas-body {
    flex: 1;
    overflow: auto;
    padding: 0;
    position: relative;
}

.atlas-canvas-loading,
.atlas-canvas-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 13px;
    color: var(--canvas-400, #a0a3b8);
}

/* Dark theme canvas */
.dark .atlas-canvas-panel   { background: var(--canvas-50, #16192b); }
.dark .atlas-canvas-header  { background: var(--canvas-100, #1e2130); border-color: var(--canvas-200, #2a2d3e); }
.dark .atlas-canvas-title   { color: var(--canvas-800, #e8eaf6); }
.dark .atlas-canvas-close-btn { border-color: var(--canvas-200); }
.dark .atlas-canvas-close-btn:hover { background: var(--canvas-150); }

@media (max-width: 768px) {
    .atlas-canvas-panel { width: 100vw; }
    .atlas-action-card  { margin-left: 0; max-width: 100%; }
}

/* ── Atlas message markdown rendering ── */
.ai-content p { margin: 0 0 8px; line-height: 1.6; }
.ai-content p:last-child { margin-bottom: 0; }
.ai-content h3.atlas-md-h2 { font-size: 13px; font-weight: 700; margin: 12px 0 4px; color: var(--canvas-800); }
.ai-content h4.atlas-md-h3 { font-size: 12px; font-weight: 700; margin: 10px 0 4px; color: var(--canvas-700); }
.ai-content strong { font-weight: 700; }
.ai-content em { font-style: italic; }
.ai-content ul.atlas-md-ul, .ai-content ol.atlas-md-ol { margin: 6px 0 8px 16px; padding: 0; }
.ai-content ul.atlas-md-ul li, .ai-content ol.atlas-md-ol li { margin-bottom: 3px; line-height: 1.55; font-size: inherit; }
.ai-content ul.atlas-md-ul { list-style: disc; }
.ai-content ol.atlas-md-ol { list-style: decimal; }
.ai-content hr.atlas-md-hr { border: none; border-top: 1px solid var(--canvas-200); margin: 10px 0; }
.ai-content code.atlas-inline-code {
    background: var(--canvas-100);
    border-radius: 4px;
    padding: 1px 5px;
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 0.85em;
    color: var(--terra);
}
.ai-content pre.atlas-code-block {
    background: var(--canvas-100);
    border: 1px solid var(--canvas-200);
    border-radius: 8px;
    padding: 12px 14px;
    margin: 8px 0;
    overflow-x: auto;
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 12px;
    line-height: 1.5;
}
.ai-content pre.atlas-code-block code { background: none; padding: 0; color: inherit; font-size: inherit; }
.ai-content .atlas-arrow { color: var(--terra); font-weight: 600; }
.dark .ai-content code.atlas-inline-code { background: var(--canvas-150); }
.dark .ai-content pre.atlas-code-block { background: var(--canvas-100); border-color: var(--canvas-200); }

/* ── Atlas topbar: mobile/desktop visibility helpers ── */
.atlas-hide-on-mobile { display: flex; }
.atlas-show-on-mobile { display: none; }
body.is-capacitor .atlas-hide-on-mobile { display: none !important; }
body.is-capacitor .atlas-show-on-mobile { display: flex !important; }

/* Atlas back chevron button */
.atlas-back-btn {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    color: var(--text-secondary);
}
.atlas-back-btn:hover { color: var(--terra); }

/* ── Reduced motion — respect user accessibility preference ── */
@media (prefers-reduced-motion: reduce) {
    .sidebar,
    .sidebar-mobile-overlay,
    .hb-line {
        transition-duration: 120ms !important;
        transition-timing-function: linear !important;
    }
    .sidebar { transform: translateX(-100%) !important; }
    .sidebar.mobile-open { transform: translateX(0) !important; }
}
