/* ====================================================================
   VELVET GARAGE — Midnight Gold Luxury Design System
   Avto Nostalgija Member Dashboard
   ==================================================================== */

:root {
    /* === VELVET GARAGE: MIDNIGHT GOLD PALETTE === */
    --bg-body: #060810;
    --bg-gradient-deep: #0A0F1A;

    /* Gold accent system */
    --gold-primary: #C9A84C;
    --gold-bright: #F0C040;
    --gold-pale: #E8D5A3;
    --gold-glow: rgba(201, 168, 76, 0.4);
    --gold-glow-strong: rgba(240, 192, 64, 0.6);

    /* Platinum/silver */
    --platinum: #E8E8E8;
    --platinum-dim: #B0B0B0;

    /* Mesh orb colors */
    --bg-mesh-1: #1A1200;
    --bg-mesh-2: #0D0B1E;
    --bg-mesh-3: #0A1A0D;

    /* Glass Panels */
    --glass-surface: rgba(255, 255, 255, 0.02);
    --glass-border: rgba(255, 255, 255, 0.07);
    --glass-highlight: rgba(255, 255, 255, 0.12);
    --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);

    /* Gold glass */
    --gold-border: rgba(201, 168, 76, 0.3);
    --gold-surface: rgba(201, 168, 76, 0.06);

    /* Text */
    --text-primary: #F8FAFC;
    --text-secondary: #94A3B8;
    --text-muted: #4A5568;
    --text-gold: #D4AF6A;

    /* Status */
    --success-color: #10B981;
    --danger-color: #EF4444;
    --warning-color: #F59E0B;

    /* Legacy mapped to gold */
    --primary-color: #C9A84C;
    --primary-glow: rgba(201, 168, 76, 0.4);

    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
}

/* === VELVET GARAGE: KEYFRAME ANIMATIONS === */

/* Table row entrance from left */
@keyframes rowEnter {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Garage card entrance */
@keyframes cardReveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Slide panel entrance from right */
@keyframes panelSlideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ── Custom Tooltip — Velvet Garage ─────────────────────────── */
.vg-tooltip {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    background: rgba(8, 12, 22, 0.96);
    border: 1px solid rgba(201, 168, 76, 0.28);
    color: #E8D5A3;
    font-family: 'Poppins', sans-serif;
    font-size: 0.76rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    padding: 6px 11px;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(201, 168, 76, 0.08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    max-width: 220px;
    white-space: normal;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 0.14s ease, transform 0.14s ease;
}
.vg-tooltip.vg-tip-visible {
    opacity: 1;
    transform: translateY(0);
}
/* ── Global Scrollbar — Velvet Garage ───────────────────────── */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.25) transparent;
}

*::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background: rgba(201, 168, 76, 0.2);
    border-radius: 99px;
}

*::-webkit-scrollbar-thumb:hover {
    background: rgba(201, 168, 76, 0.45);
}

*::-webkit-scrollbar-corner {
    background: transparent;
}
/* ─────────────────────────────────────────────────────────── */

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--bg-body);
    color: var(--text-primary);
    line-height: 1.5;
    background-image:
        radial-gradient(at 15% 15%, rgba(201, 168, 76, 0.08) 0px, transparent 55%),
        radial-gradient(at 85% 5%, rgba(10, 15, 26, 0.9) 0px, transparent 50%),
        radial-gradient(at 50% 90%, rgba(201, 168, 76, 0.05) 0px, transparent 45%);
    background-attachment: fixed;
    height: 100vh;
    overflow: hidden;
}

/* === VELVET GARAGE: BACKGROUND ORBS === */
.bg-orbs {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.18;
}

.orb-1 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #C9A84C 0%, transparent 70%);
    top: -200px;
    left: -150px;
}

.orb-2 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, #3D2B6B 0%, transparent 70%);
    bottom: -100px;
    right: -100px;
}

.orb-3 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, #0A2A14 0%, transparent 70%);
    top: 40%;
    right: 30%;
}

/* Layout Structure */
.app-container {
    display: flex;
    height: 100vh;
    overflow: hidden;
    padding: 16px;
    gap: 16px;
    position: relative;
    z-index: 1;
}

/* Glass Sidebar */
.sidebar {
    width: 280px;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--glass-surface);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-xl);
    display: flex;
    flex-direction: column;
    padding: 32px 24px;
    box-shadow: var(--glass-shadow);
    transition: width 0.22s ease, padding 0.22s ease, opacity 0.15s ease, border-width 0.22s ease;
}

.app-container.sidebar-collapsed .sidebar {
    width: 0;
    padding: 0;
    opacity: 0;
    border-width: 0;
}

.logo-area {
    margin-bottom: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

/* Gold Gradient Logo Text */
.logo-area h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--platinum-dim) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.01em;
}

.badge-pro {
    background: linear-gradient(135deg, var(--gold-primary), var(--gold-bright));
    color: #0A0800;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 99px;
    box-shadow: 0 4px 12px rgba(201, 168, 76, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nav-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    text-decoration: none;
    color: var(--text-secondary);
    border-radius: var(--radius-lg);
    font-weight: 500;
    transition: all 0.15s ease;
    position: relative;
    overflow: hidden;
}

.nav-item:hover {
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.05);
}

.nav-item.active {
    background: rgba(201, 168, 76, 0.1);
    color: var(--gold-bright);
    border: 1px solid rgba(201, 168, 76, 0.2);
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.08);
}

/* Active Indicator */
.nav-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 16px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(to bottom, var(--gold-bright), var(--gold-primary));
    box-shadow: 0 0 10px var(--gold-primary);
}

/* Main Content - Floating Glass Pane */
.main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--glass-surface);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--glass-shadow);
    position: relative;
}

.top-bar {
    height: 80px;
    background: transparent;
    border-bottom: 1px solid var(--glass-border);
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.breadcrumbs {
    font-size: 0.9rem;
    color: var(--text-muted);
}

.breadcrumbs .current {
    color: var(--text-gold);
    font-weight: 600;
}

/* Gold Search Bar */
.search-bar {
    background: rgba(0, 0, 0, 0.2);
    padding: 10px 20px;
    border-radius: 99px;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 380px;
    color: var(--text-secondary);
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.search-bar:focus-within {
    background: rgba(0, 0, 0, 0.4);
    border-color: rgba(201, 168, 76, 0.4);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.08);
    color: var(--text-primary);
}

.search-bar input {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-family: inherit;
    font-size: 0.95rem;
    color: white;
}

.search-bar input::placeholder {
    color: var(--text-muted);
}

/* Content Area */
.content-area {
    flex: 1;
    overflow-y: auto;
    padding: 32px;
}

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

.table-header h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--platinum) 0%, var(--gold-pale) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.01em;
}

.count-badge {
    background: rgba(201, 168, 76, 0.1);
    color: var(--gold-bright);
    border: 1px solid rgba(201, 168, 76, 0.25);
    font-size: 0.8rem;
    padding: 3px 12px;
    border-radius: 99px;
    margin-left: 12px;
    font-family: 'Space Mono', monospace;
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* Gold Buttons */
.btn {
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.95rem;
    border: none;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--gold-primary) 0%, var(--gold-bright) 100%);
    color: #0A0800;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(201, 168, 76, 0.35);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(201, 168, 76, 0.5);
}

.btn-outline {
    background: rgba(201, 168, 76, 0.05);
    border: 1px solid rgba(201, 168, 76, 0.2);
    color: var(--gold-pale);
    backdrop-filter: blur(4px);
}

.btn-outline:hover {
    background: rgba(201, 168, 76, 0.1);
    border-color: rgba(201, 168, 76, 0.4);
    transform: translateY(-1px);
    color: var(--gold-bright);
}

.btn-danger {
    background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
    color: white;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.35);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(239, 68, 68, 0.5);
}

.btn-outline-danger {
    background: rgba(239, 68, 68, 0.05);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #FCA5A5;
    backdrop-filter: blur(4px);
}

.btn-outline-danger:hover {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.6);
    transform: translateY(-1px);
    color: white;
}

/* Table Container */
.table-container {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    border: none;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.table-scroll-wrapper {
    overflow-x: auto;
    overflow-y: auto;
    /* Required for Infinite Scroll Observer */
    max-height: calc(100vh - 250px);
    /* Keep table within view to trigger scrolling */
    width: 100%;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.2) transparent;
    padding-bottom: 20px;
    will-change: scroll-position;
    transform: translateZ(0);
    /* Hardware accelerate scrolling */
}

/* Floating Table Styling — Auto-fit: all columns visible without horizontal scroll */
.data-table {
    width: 100%;
    table-layout: fixed;
    /* forces columns to share available width */
    border-collapse: separate;
    border-spacing: 0 12px;
    margin-top: -12px;
}

/* Header shelf: position anchor for top gold shimmer line */
.data-table thead tr {
    position: relative;
}

.data-table thead tr::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            transparent 0%, rgba(201, 168, 76, 0.5) 20%,
            rgba(240, 192, 64, 0.8) 50%, rgba(201, 168, 76, 0.5) 80%,
            transparent 100%);
    pointer-events: none;
    z-index: 1;
}

.data-table th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #0f111a;
    /* Solid color computed instead of expensive blur/gradient */
    color: var(--gold-pale);
    font-family: 'Space Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 16px 10px 14px 10px;
    border: none;
    border-bottom: 2px solid var(--gold-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Floating Row */
.data-table td {
    padding: 11px 10px;
    background: #14161f;
    /* Computed solid color to bypass GPU blending */
    border-top: 1px solid var(--glass-border);
    border-bottom: 1px solid var(--glass-border);
    color: var(--text-primary);
    font-size: 0.88rem;
    text-align: center;
    /* Center cell content to match header */
    transition: background 0.1s ease;
    /* Text truncation — required with table-layout:fixed */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 0;
    /* magic: makes text-overflow work inside fixed-layout table cells */
}

/* Rounded row edges */
.data-table td:first-child {
    border-left: 3px solid transparent;
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
    transition: border-left-color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
}

/* Maintain left-alignment for the Identity (Name) column specifically */
.data-table td:nth-child(3) {
    text-align: left;
}

.data-table td:last-child {
    border-right: 1px solid var(--glass-border);
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* Table row entrance */
.data-table tbody tr {
    animation: rowEnter 0.15s ease both;
}

/* Gold hover effect */
.data-table tr:hover td {
    background: rgba(201, 168, 76, 0.05);
    border-top-color: rgba(201, 168, 76, 0.15);
    border-bottom-color: rgba(201, 168, 76, 0.15);
}

/* Gold left border sweep on hover */
.data-table tr:hover td:first-child {
    border-left-color: var(--gold-bright) !important;
}

/* Sticky Columns — background must match the effective row cell color to avoid a dark stripe.
   Computed: body #060810 + main-content rgba(255,255,255,0.02) + td rgba(255,255,255,0.03) ≈ #12141c */
.data-table td:nth-child(1),
.data-table td:nth-child(2) {
    position: sticky;
    z-index: 20;
    background: #14161f;
    /* Fast solid color matching the td base */
}

.data-table tr:hover td:nth-child(1),
.data-table tr:hover td:nth-child(2) {
    background: rgba(201, 168, 76, 0.05);
}

.data-table td:nth-child(1) {
    left: 0;
}

.data-table td:nth-child(2) {
    left: 14px;
    border-right: 1px solid rgba(0, 0, 0, 0.5);
    /* Flat trick instead of box-shadow */
}


/* Empty/Null Value styling */
.empty-val {
    color: var(--text-muted);
    font-style: italic;
    opacity: 0.5;
}

/* === VELVET GARAGE: STATS CARDS === */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

.stat-card {
    background: linear-gradient(160deg, rgba(201, 168, 76, 0.07) 0%, rgba(10, 9, 5, 0.8) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    cursor: default;
    border: 1px solid var(--gold-border);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}


/* Icon as large faded watermark */
.stat-icon {
    position: absolute;
    bottom: -10px;
    right: -10px;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.06;
    pointer-events: none;
    z-index: 0;
    border-radius: 0;
    background: none;
    border: none;
    box-shadow: none;
}

.stat-icon svg {
    width: 80px;
    height: 80px;
    stroke: var(--gold-bright);
}

.icon-blue,
.icon-green,
.icon-purple {
    color: var(--gold-bright);
}

.stat-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 2;
}

.stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-gold);
    font-weight: 600;
}

.stat-value {
    font-family: 'Poppins', sans-serif;
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold-primary) 60%, var(--gold-pale) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -0.02em;
}

/* Hover: subtle lift */
.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(201, 168, 76, 0.1);
    border-color: rgba(201, 168, 76, 0.5);
}

/* === VELVET GARAGE: SLIDE PANEL === */
.slide-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 200;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.slide-overlay.open {
    opacity: 1;
    pointer-events: all;
}

.slide-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 500px;
    height: 100vh;
    background: linear-gradient(180deg, rgba(14, 10, 2, 0.98) 0%, rgba(6, 8, 16, 0.98) 100%);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-left: 1px solid var(--gold-border);
    box-shadow: -20px 0 80px rgba(0, 0, 0, 0.7), -4px 0 20px rgba(201, 168, 76, 0.05);
    color: white;
    z-index: 210;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
    transition: none;
}

.slide-panel.open {
    animation: panelSlideIn 0.2s ease-out forwards;
    pointer-events: all;
}

/* Panel hero header */
.slide-header {
    padding: 28px 28px 24px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
    background: rgba(201, 168, 76, 0.03);
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    flex-shrink: 0;
}

/* Gold top accent line */
.slide-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold-primary), var(--gold-bright), var(--gold-primary), transparent);
}

.panel-hero {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 44px;
}

.panel-avatar-wrap {
    flex-shrink: 0;
    position: relative;
}

.panel-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 1.4rem;
    color: white;
    text-transform: uppercase;
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.5), 0 0 16px rgba(201, 168, 76, 0.2);
}

.panel-hero-text {
    flex: 1;
    min-width: 0;
}

.slide-header h2,
#detailName {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    background: linear-gradient(135deg, var(--platinum) 0%, var(--gold-pale) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.01em;
    margin: 0 0 6px 0;
}

.panel-status-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    border-radius: 99px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-family: 'Poppins', sans-serif;
}

.panel-status-chip.active {
    background: rgba(16, 185, 129, 0.15);
    color: #34D399;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.panel-status-chip.inactive {
    background: rgba(239, 68, 68, 0.12);
    color: #F87171;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--glass-border);
    cursor: pointer;
    color: var(--text-muted);
    transition: all 0.2s ease;
}

.close-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border-color: rgba(255, 255, 255, 0.2);
}

/* Car hero card */
.car-hero-card {
    background: linear-gradient(145deg, rgba(40, 28, 0, 0.6) 0%, rgba(6, 8, 16, 0.8) 100%);
    border: 1px solid var(--gold-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 0 16px rgba(201, 168, 76, 0.3);
}

.car-hero-logo-area {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at 50% 60%, rgba(30, 22, 5, 0.7) 0%, transparent 80%);
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
}

.car-hero-logo-area img {
    max-width: 45%;
    max-height: 70%;
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.6)) drop-shadow(0 0 12px rgba(201, 168, 76, 0.25));
}

.car-hero-info {
    padding: 16px 20px;
}

/* Detail sections */
.slide-content {
    padding: 24px 28px;
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.2) transparent;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.detail-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.detail-section-title,
.detail-section h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--gold-primary);
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.2);
    margin: 0;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.detail-label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    color: var(--text-muted);
    font-weight: 500;
    flex-shrink: 0;
    min-width: 100px;
}

.detail-val {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: var(--text-primary);
    font-weight: 500;
    text-align: right;
}

.detail-grid {
    display: flex;
    flex-direction: column;
}

.notes-box {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.6;
    font-style: italic;
    min-height: 60px;
}

/* Footer */
.slide-footer {
    border-top: 1px solid rgba(201, 168, 76, 0.15);
    background: rgba(0, 0, 0, 0.3);
    padding: 16px 20px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.slide-footer-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.slide-footer-row .btn {
    flex: 1;
    justify-content: center;
    white-space: nowrap;
    min-width: 0;
}

.slide-footer-secondary .btn {
    padding: 8px 6px;
    font-size: 0.78rem;
}

.slide-footer-secondary #deleteMemberBtn {
    flex: 0 0 auto;
    padding: 8px 14px;
}

.slide-footer .btn-outline {
    border-color: var(--gold-border);
    color: var(--gold-pale);
    background: rgba(201, 168, 76, 0.05);
}

.slide-footer .btn-outline:hover {
    background: rgba(201, 168, 76, 0.12);
    border-color: var(--gold-bright);
    color: var(--gold-bright);
}

/* Status Badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 99px;
    font-size: 0.75rem;
    font-weight: 600;
}

.status-active {
    background-color: rgba(16, 185, 129, 0.15);
    color: #34D399;
}

.status-inactive {
    background-color: rgba(239, 68, 68, 0.12);
    color: #F87171;
}

/* --- View Toggles (Gold Theme) --- */
.view-toggles {
    display: flex;
    background: rgba(201, 168, 76, 0.06);
    border: 1px solid rgba(201, 168, 76, 0.15);
    padding: 4px;
    border-radius: 10px;
    gap: 4px;
}

.btn-icon {
    border: none;
    background: transparent;
    padding: 7px;
    border-radius: 7px;
    cursor: pointer;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.btn-icon:hover {
    background: rgba(201, 168, 76, 0.1);
    color: var(--gold-bright);
}

.btn-icon.active {
    background: rgba(201, 168, 76, 0.18);
    color: var(--gold-bright);
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.25);
}

.divider-vertical {
    width: 1px;
    height: 24px;
    background: var(--glass-border);
    margin: 0 8px;
}

/* === VELVET GARAGE: GARAGE GRID === */
.garage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 28px;
    padding-bottom: 40px;
}

.garage-card {
    background: linear-gradient(160deg, rgba(30, 22, 5, 0.9) 0%, rgba(6, 8, 16, 0.95) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--gold-border);
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    position: relative;
    animation: cardReveal 0.2s ease both;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}


/* Gold rim glow on hover */
.garage-card:hover {
    border-color: rgba(201, 168, 76, 0.7);
    box-shadow:
        0 0 0 1px rgba(201, 168, 76, 0.3),
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 40px rgba(201, 168, 76, 0.1);
}

.garage-img-area {
    height: 190px;
    background: radial-gradient(ellipse at 50% 60%, rgba(30, 22, 5, 0.8) 0%, rgba(6, 8, 16, 1) 80%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--gold-border);
    position: relative;
    z-index: 2;
    overflow: hidden;
}

/* Subtle floor reflection */
.garage-img-area::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(to top, rgba(201, 168, 76, 0.04), transparent);
    pointer-events: none;
}

.garage-brand-logo {
    max-width: 55%;
    max-height: 55%;
    opacity: 0.92;
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.6)) drop-shadow(0 0 12px rgba(201, 168, 76, 0.2));
    transition: filter 0.15s ease, transform 0.15s ease;
    position: relative;
    z-index: 3;
}

.garage-card:hover .garage-brand-logo {
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.6)) drop-shadow(0 0 20px rgba(201, 168, 76, 0.35));
    transform: scale(1.1);
}

.garage-brand-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(201, 168, 76, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 4px 12px;
    border-radius: 99px;
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--gold-pale);
    border: 1px solid rgba(201, 168, 76, 0.3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    z-index: 4;
}

.garage-body {
    padding: 20px 22px 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.garage-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: 4px;
    color: var(--platinum);
    letter-spacing: 0.01em;
    line-height: 1.3;
}

.garage-subtitle {
    font-family: 'Poppins', sans-serif;
    color: var(--text-gold);
    font-size: 0.8rem;
    margin-bottom: 16px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
}

.garage-meta {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(201, 168, 76, 0.15);
    padding-top: 14px;
}

.meta-owner {
    color: var(--text-primary);
    font-size: 0.88rem;
    font-weight: 600;
}

.meta-id {
    font-family: 'Space Mono', monospace;
    color: var(--text-gold);
    font-size: 0.72rem;
    background: rgba(201, 168, 76, 0.08);
    padding: 3px 8px;
    border-radius: 4px;
    border: 1px solid rgba(201, 168, 76, 0.2);
    letter-spacing: 0.04em;
}

/* Utilities */
.hidden {
    display: none !important;
}

/* --- Avatars & Identities --- */
.identity-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    /* allows flex container to shrink below content size */
    overflow: hidden;
}

.avatar-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 0.9rem;
    color: white;
    flex-shrink: 0;
    text-transform: uppercase;
    border: 2px solid transparent;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* Active member avatar gets gold ring */
.avatar-circle.avatar-active {
    border-color: rgba(201, 168, 76, 0.6);
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.25);
}

/* Avatar Colors */
.avatar-0 {
    background: linear-gradient(135deg, #3B82F6, #2563EB);
}

.avatar-1 {
    background: linear-gradient(135deg, #10B981, #059669);
}

.avatar-2 {
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
}

.avatar-3 {
    background: linear-gradient(135deg, #F59E0B, #D97706);
}

.avatar-4 {
    background: linear-gradient(135deg, #EC4899, #DB2777);
}

.avatar-5 {
    background: linear-gradient(135deg, #6366F1, #4F46E5);
}

.identity-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.4;
    min-width: 0;
    /* allows text to truncate */
    overflow: hidden;
    flex: 1;
}

.member-name {
    font-weight: 700;
    color: var(--platinum);
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.member-id {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.04em;
}

/* Column Toggle Dropdown */
.column-toggle-wrapper {
    position: relative;
    margin-left: auto;
}

.column-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 12px;
    background: rgba(14, 10, 2, 0.98);
    backdrop-filter: blur(20px);
    border: 1px solid var(--gold-border);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
    padding: 16px;
    width: 260px;
    z-index: 100;
    display: none;
    max-height: 400px;
    overflow-y: auto;
}

.column-dropdown.show {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.col-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    color: var(--text-primary);
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    transition: background 0.2s;
}

.col-checkbox:hover {
    background: rgba(201, 168, 76, 0.05);
}

.col-checkbox input {
    accent-color: var(--gold-primary);
    width: 16px;
    height: 16px;
}

/* --- STATUS BORDERS for Floating Rows --- */
.data-table tr[data-status="active"] td:first-child {
    border-left: 3px solid #10B981;
    box-shadow: inset 10px 0 20px -10px rgba(16, 185, 129, 0.2);
}

.data-table tr[data-status="inactive"] td:first-child {
    border-left: 3px solid #EF4444;
    box-shadow: inset 10px 0 20px -10px rgba(239, 68, 68, 0.2);
}

/* Ambient Branding - Brand logo ghost in last column */
.data-table tr.has-brand-bg td:last-child {
    position: relative;
    overflow: hidden;
}

.data-table tr.has-brand-bg td:last-child::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -20px;
    width: 120px;
    height: 120px;
    background-image: var(--row-bg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}

.data-table tr:hover.has-brand-bg td:last-child::after {
    opacity: 0.18;
    transform: translateY(-50%);
}

/* Ensure text is above ghost logo */
.data-table td>* {
    position: relative;
    z-index: 2;
}

/* VIN Plate ID Styling */
.vin-style {
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.06em;
    background: rgba(201, 168, 76, 0.14);
    padding: 2px 7px;
    border-radius: 4px;
    border: 1px solid rgba(201, 168, 76, 0.35);
    font-size: 0.7rem;
    color: var(--gold-pale);
    font-weight: 400;
}

/* Liquid Copy Button */
.liquid-copy-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--glass-border);
    border-radius: 99px;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    width: 28px;
    height: 28px;
    overflow: hidden;
    color: var(--text-secondary);
}

.liquid-copy-btn:hover {
    border-color: var(--gold-primary);
    color: #0A0800;
    background: var(--gold-primary);
}

.liquid-copy-btn .btn-text {
    opacity: 0;
    white-space: nowrap;
    width: 0;
    margin: 0;
    font-size: 0.7rem;
    font-weight: 600;
    display: none;
}

/* Copied state */
.liquid-copy-btn.copied {
    width: 90px;
    background: #10B981;
    border-color: #10B981;
    color: white;
}

.liquid-copy-btn.copied .btn-text {
    display: block;
    opacity: 1;
    width: auto;
    margin-left: 6px;
}

/* === CLICK TO COPY TEXT === */
.click-to-copy {
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-block;
    max-width: 100%;
    /* Pill specific layout */
    padding: 2px 8px;
    margin: -2px -8px;
    /* off-set so it doesn't shift the layout */
    border-radius: 99px;
}

.click-to-copy:hover {
    color: var(--gold-primary);
    background: rgba(201, 168, 76, 0.1);
    /* Soft gold pill background */
}

/* Global elevated tooltip portal */
.global-copy-tooltip {
    position: fixed;
    transform: translateX(-50%) translateY(0);
    background: #1a1d27;
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
    font-size: 0.65rem;
    font-weight: 700;
    font-family: 'Space Mono', monospace;
    padding: 4px 8px;
    border-radius: 99px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0.15s ease, left 0.1s linear, top 0.1s linear;
    white-space: nowrap;
    z-index: 999999;
    /* Max elevation above all modals/tables */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* Green Copied State */
.click-to-copy.copied {
    color: #10B981 !important;
    background: rgba(16, 185, 129, 0.15) !important;
    transition: none;
    /* Strip transition so it doesn't linger after 1.5s */
}

/* Keyframes for global bubble pop */
@keyframes globalBubblePopFade {
    0% {
        transform: translateX(-50%) translateY(0) scale(0.6);
        opacity: 0;
        visibility: visible;
    }

    15% {
        transform: translateX(-50%) translateY(-10px) scale(1.1);
        opacity: 1;
        visibility: visible;
    }

    30% {
        transform: translateX(-50%) translateY(-6px) scale(1);
        opacity: 1;
        visibility: visible;
    }

    70% {
        transform: translateX(-50%) translateY(-6px) scale(1);
        opacity: 1;
        visibility: visible;
    }

    100% {
        transform: translateX(-50%) translateY(-14px) scale(0.8);
        opacity: 0;
        visibility: hidden;
    }
}

.global-copy-tooltip.pop-up-fade {
    background: #10B981;
    color: #ffffff;
    border-color: #10B981;
    animation: globalBubblePopFade 1.5s forwards ease-out;
}

/* Filter bar */
.filter-bar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    min-height: 0;
}

/* ============================================================
   EXCEL-LIKE COLUMN FILTERS — Velvet Garage
   ============================================================ */

/* Column header inner layout */
.th-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Center column headers to match cell data */
    gap: 5px;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
}

/* Maintain left-alignment for the Identity (Name) column header specifically */
.data-table th:nth-child(3) .th-inner {
    justify-content: flex-start;
}

.th-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Column header icon */
.th-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--gold-primary);
    opacity: 0.70;
    transition: opacity 0.2s ease;
}

th:hover .th-icon {
    opacity: 1;
}

/* Funnel icon button */
.filter-funnel-btn {
    flex-shrink: 0;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 3px;
    border-radius: 4px;
    cursor: pointer;
    color: var(--gold-primary);
    opacity: 0.35;
    transition: opacity 0.2s ease, color 0.2s ease, transform 0.15s ease, background 0.2s ease;
    line-height: 0;
}

/* =========================================
   RADAR FUNNEL SMART TAGS
   ========================================= */
.radar-smart-tag {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-family: 'Space Mono', monospace;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.radar-smart-tag.tag-loyal {
    background: rgba(201, 168, 76, 0.15);
    color: var(--gold-bright);
    border-color: rgba(201, 168, 76, 0.3);
}

.radar-smart-tag.tag-newbie {
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    border-color: rgba(56, 189, 248, 0.3);
}

.radar-smart-tag.tag-missing-email {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
    border-color: rgba(249, 115, 22, 0.3);
}

.radar-smart-tag.tag-missing {
    background: rgba(156, 163, 175, 0.1);
    color: #9ca3af;
    border-color: rgba(156, 163, 175, 0.2);
    text-decoration: line-through;
    text-decoration-color: rgba(156, 163, 175, 0.5);
}

th:hover .filter-funnel-btn {
    opacity: 0.85;
    background: rgba(201, 168, 76, 0.08);
}

.filter-funnel-btn:hover {
    opacity: 1 !important;
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.15);
    transform: scale(1.15);
}

.filter-funnel-btn.filter-active {
    opacity: 1;
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.12);
    filter: drop-shadow(0 0 5px var(--gold-glow-strong));
}

/* Floating filter popup */
.col-filter-popup {
    position: fixed;
    z-index: 9000;
    width: 270px;
    background: rgba(8, 6, 1, 0.97);
    backdrop-filter: blur(28px) saturate(1.4);
    -webkit-backdrop-filter: blur(28px) saturate(1.4);
    border: 1px solid var(--gold-border);
    border-radius: 16px;
    box-shadow:
        0 20px 70px rgba(0, 0, 0, 0.85),
        0 0 0 1px rgba(201, 168, 76, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    padding: 16px;
    animation: popupFadeIn 0.18s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes popupFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.filter-popup-title {
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--gold-pale);
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--gold-border);
    letter-spacing: 0.02em;
}

.filter-popup-section {
    margin-bottom: 12px;
}

.filter-popup-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-gold);
    margin-bottom: 6px;
}

/* Shared input style: text, search, date */
.filter-text-input,
.filter-popup-search,
.filter-date-input {
    width: 100%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--gold-border);
    border-radius: 8px;
    color: var(--platinum);
    padding: 7px 11px;
    font-size: 0.82rem;
    font-family: 'Poppins', sans-serif;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.filter-text-input:focus,
.filter-popup-search:focus,
.filter-date-input:focus {
    border-color: var(--gold-primary);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12);
}

.filter-text-input::placeholder,
.filter-popup-search::placeholder {
    color: var(--text-muted);
}

/* Date inputs - fix calendar icon color */
.filter-date-input::-webkit-calendar-picker-indicator {
    filter: invert(0.7) sepia(1) saturate(3) hue-rotate(3deg);
    cursor: pointer;
    opacity: 0.6;
}

.filter-popup-search {
    margin-bottom: 8px;
}

/* Checkbox list */
.filter-select-all {
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
}

.filter-option-list {
    max-height: 190px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    scrollbar-width: thin;
    scrollbar-color: var(--gold-border) transparent;
}

.filter-option-list::-webkit-scrollbar {
    width: 4px;
}

.filter-option-list::-webkit-scrollbar-track {
    background: transparent;
}

.filter-option-list::-webkit-scrollbar-thumb {
    background: var(--gold-border);
    border-radius: 2px;
}

.filter-option-item label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 0.82rem;
    padding: 5px 7px;
    border-radius: 7px;
    transition: background 0.15s ease, color 0.15s ease;
    user-select: none;
}

.filter-option-item label:hover {
    background: var(--gold-surface);
    color: var(--gold-pale);
}

/* Custom checkbox style */
.filter-option-item input[type=checkbox],
.filter-select-all input[type=checkbox] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    border: 1.5px solid var(--gold-border);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    position: relative;
    transition: background 0.15s, border-color 0.15s;
}

.filter-option-item input[type=checkbox]:checked,
.filter-select-all input[type=checkbox]:checked {
    background: var(--gold-primary);
    border-color: var(--gold-primary);
}

.filter-option-item input[type=checkbox]:checked::after,
.filter-select-all input[type=checkbox]:checked::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 1px;
    width: 5px;
    height: 8px;
    border: 2px solid #1a1000;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.filter-select-all input[type=checkbox]:indeterminate {
    background: rgba(201, 168, 76, 0.3);
    border-color: var(--gold-primary);
}

.filter-select-all input[type=checkbox]:indeterminate::after {
    content: '';
    position: absolute;
    left: 2px;
    top: 5px;
    width: 8px;
    height: 2px;
    background: var(--gold-bright);
    border: none;
    transform: none;
}

/* Popup action buttons row */
.filter-popup-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--gold-border);
}

.filter-popup-actions .filter-apply-btn {
    flex: 1;
    padding: 8px 12px;
    font-size: 0.8rem;
}

.filter-popup-actions .filter-clear-btn {
    padding: 8px 12px;
    font-size: 0.8rem;
}

/* Active filter chips */
.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--gold-surface);
    border: 1px solid var(--gold-border);
    border-radius: 20px;
    padding: 4px 8px 4px 12px;
    font-size: 0.74rem;
    font-family: 'Poppins', sans-serif;
    color: var(--gold-pale);
    animation: chipFadeIn 0.2s ease both;
}

@keyframes chipFadeIn {
    from {
        opacity: 0;
        transform: scale(0.88);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.chip-label {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chip-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--gold-primary);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    transition: color 0.15s, background 0.15s;
    padding: 0;
}

.chip-remove:hover {
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.12);
}

/* Clear all filters button */
.filter-clear-all {
    display: inline-flex;
    align-items: center;
    background: none;
    border: 1px solid rgba(239, 68, 68, 0.35);
    color: rgba(239, 68, 68, 0.75);
    border-radius: 20px;
    padding: 4px 14px;
    font-size: 0.74rem;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.filter-clear-all:hover {
    border-color: #ef4444;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.07);
}

/* ============================================================
   RICH GROUPED CELLS — Combined multi-line table cells
   ============================================================ */

.combined-cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow: hidden;
    min-width: 0;
}

/* Primary line: bold, platinum */
.cell-primary {
    font-size: 0.88rem;
    color: var(--platinum);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Secondary line: smaller, gold-muted */
.cell-secondary {
    font-size: 0.74rem;
    color: var(--text-gold);
    opacity: 0.72;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Contact: email in Inter, phone in gold */
.cell-email {
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0.01em;
}

.cell-phone {
    color: var(--gold-primary);
    opacity: 0.85;
    font-size: 0.78rem;
}

/* Car cell: logo inline with brand name */
.car-cell-top {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    min-width: 0;
}

.car-cell-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
    opacity: 0.85;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5));
}

.car-cell-top .cell-primary {
    font-weight: 700;
}

/* Dates: paid status color coding */
.cell-paid-ok {
    color: var(--success-color) !important;
    opacity: 0.9;
}

.cell-paid-none {
    color: var(--text-muted) !important;
    opacity: 0.7;
}

/* Actions bar */
.actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ============================================================
   SMART PRESETS SHELF
   ============================================================ */

.smart-presets-shelf {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}

.smart-preset-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--gold-border);
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 0.75rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.smart-preset-btn:hover {
    background: var(--gold-surface);
    border-color: var(--gold-primary);
    color: var(--gold-pale);
}

.smart-preset-btn.active {
    background: rgba(201, 168, 76, 0.15);
    border-color: var(--gold-primary);
    color: var(--gold-bright);
}

.preset-icon {
    font-size: 0.8rem;
    line-height: 1;
}

.preset-count {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
}

.smart-preset-btn.active .preset-count {
    background: rgba(201, 168, 76, 0.2);
    color: var(--gold-primary);
}

/* ============================================================
   FILTER MATCH COUNT (live count in popup)
   ============================================================ */

.filter-match-count {
    font-size: 0.72rem;
    color: var(--gold-primary);
    font-family: 'Poppins', sans-serif;
    text-align: right;
    padding: 4px 2px 0;
    min-height: 18px;
    transition: color 0.15s ease;
}

.filter-match-count.zero {
    color: rgba(239, 68, 68, 0.75);
}

/* ============================================================
   DATE SHORTCUT BUTTONS (in date filter popup)
   ============================================================ */

.filter-date-shortcuts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding-bottom: 10px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--gold-border);
}

.date-shortcut-btn {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--gold-border);
    border-radius: 14px;
    padding: 4px 10px;
    font-size: 0.72rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.date-shortcut-btn:hover {
    background: var(--gold-surface);
    border-color: var(--gold-primary);
    color: var(--gold-pale);
}

.date-shortcut-btn.active {
    background: rgba(201, 168, 76, 0.15);
    border-color: var(--gold-primary);
    color: var(--gold-bright);
}

/* ============================================================
   CHIP EXCLUDE TOGGLE (= / ≠ button on filter chips)
   ============================================================ */

.chip-exclude-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gold-border);
    border-radius: 10px;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 0.72rem;
    font-family: 'Space Mono', monospace;
    width: 20px;
    height: 18px;
    padding: 0;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.chip-exclude-toggle:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.5);
    color: rgba(239, 68, 68, 0.9);
}

/* ============================================================
   FILTER CHIP VARIANTS
   ============================================================ */

/* Exclude chip: red tint */
.filter-chip-exclude {
    background: rgba(239, 68, 68, 0.07);
    border-color: rgba(239, 68, 68, 0.35);
    color: rgba(239, 68, 68, 0.85);
}

.filter-chip-exclude .chip-exclude-toggle {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.4);
    color: rgba(239, 68, 68, 0.85);
}

.filter-chip-exclude .chip-remove {
    color: rgba(239, 68, 68, 0.7);
}

/* Preset chip: gold-tinted, no exclude toggle */
.filter-chip-preset {
    background: rgba(201, 168, 76, 0.1);
    border-color: rgba(201, 168, 76, 0.4);
    color: var(--gold-pale);
    padding: 4px 8px 4px 12px;
}

/* ============================================================
   CELL QUICK FILTER BUTTON
   ============================================================ */

.cell-quick-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 0.7rem;
    padding: 1px 4px;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, border-color 0.1s ease;
    flex-shrink: 0;
}

.car-cell-top:hover .cell-quick-filter-btn,
tr:hover .cell-quick-filter-btn {
    opacity: 1;
}

.cell-quick-filter-btn:hover {
    background: rgba(201, 168, 76, 0.12);
    border-color: var(--gold-border);
    color: var(--gold-primary);
}

/* ============================================================
   SIDEBAR HAMBURGER TOGGLE BUTTON
   ============================================================ */

.sidebar-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    cursor: pointer;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.sidebar-toggle-btn:hover {
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.06);
    border-color: rgba(201, 168, 76, 0.3);
}

/* ============================================================
   COLUMN SORTING
   ============================================================ */

th.th-sortable {
    cursor: pointer;
    user-select: none;
}

th.th-sorted .th-label {
    color: var(--gold-bright);
}

.sort-btn {
    font-size: 0.65rem;
    color: var(--text-muted);
    opacity: 0.4;
    margin-left: 2px;
    flex-shrink: 0;
    pointer-events: none;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.sort-btn.active {
    color: var(--gold-primary);
    opacity: 1;
}

th.th-sortable:hover .sort-btn {
    opacity: 0.75;
    color: var(--gold-pale);
}

/* ============================================================
   AUTOCOMPLETE IN TEXT FILTER
   ============================================================ */

.filter-autocomplete-list {
    margin-top: 4px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.autocomplete-item {
    padding: 7px 11px;
    font-size: 0.82rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-secondary);
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.1s ease, color 0.1s ease;
}

.autocomplete-item:hover {
    background: var(--gold-surface);
    color: var(--gold-pale);
}

/* ============================================================
   FILTER BOOKMARKS
   ============================================================ */

.bookmark-wrapper {
    position: relative;
}

.bookmark-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 240px;
    background: rgba(14, 10, 4, 0.97);
    border: 1px solid var(--gold-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(201, 168, 76, 0.08);
    padding: 8px;
    z-index: 500;
    flex-direction: column;
    gap: 4px;
    pointer-events: all;
}

.bookmark-dropdown.show {
    display: flex;
}

.bookmark-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 8px;
    transition: background 0.1s ease;
}

.bookmark-item:hover {
    background: var(--gold-surface);
}

.bookmark-name {
    flex: 1;
    font-size: 0.8rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bookmark-apply,
.bookmark-delete {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.8rem;
    line-height: 1;
    padding: 3px 6px;
    border-radius: 5px;
    transition: background 0.1s ease, color 0.1s ease;
    flex-shrink: 0;
}

.bookmark-apply {
    color: var(--gold-primary);
}

.bookmark-apply:hover {
    background: rgba(201, 168, 76, 0.12);
    color: var(--gold-bright);
}

.bookmark-delete {
    color: var(--text-muted);
    font-size: 1rem;
}

.bookmark-delete:hover {
    background: rgba(239, 68, 68, 0.1);
    color: rgba(239, 68, 68, 0.9);
}

.bookmark-empty {
    font-size: 0.78rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-muted);
    padding: 8px 10px;
    text-align: center;
}

.bookmark-save-btn {
    width: 100%;
    margin-top: 4px;
    padding: 8px;
    font-size: 0.78rem;
    border-top: 1px solid var(--gold-border);
    border-radius: 0 0 8px 8px;
}

.bookmark-save-btn.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ============================================================
   COMMAND PALETTE
   ============================================================ */

.cmd-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 9000;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
}

.cmd-overlay.show {
    display: flex;
}

.cmd-palette {
    width: 560px;
    max-width: calc(100vw - 40px);
    background: rgba(8, 6, 14, 0.98);
    border: 1px solid var(--gold-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(201, 168, 76, 0.12);
    overflow: hidden;
    animation: cmdPop 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes cmdPop {
    from {
        opacity: 0;
        transform: scale(0.94) translateY(-8px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.cmd-input-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--glass-border);
}

.cmd-search-icon {
    color: var(--text-muted);
    flex-shrink: 0;
}

.cmd-input {
    flex: 1;
    background: none;
    border: none;
    outline: none;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-primary);
    caret-color: var(--gold-primary);
}

.cmd-input::placeholder {
    color: var(--text-muted);
}

.cmd-esc-hint {
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: 6px;
    padding: 2px 7px;
    font-size: 0.7rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    flex-shrink: 0;
}

.cmd-results {
    max-height: 340px;
    overflow-y: auto;
    padding: 6px;
}

.cmd-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.1s ease;
}

.cmd-item:hover,
.cmd-item.cmd-active {
    background: var(--gold-surface);
}

.cmd-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
    color: #fff;
}

.cmd-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    background: var(--glass-surface);
    border-radius: 8px;
    border: 1px solid var(--glass-border);
}

.cmd-item-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.cmd-item-label {
    font-size: 0.875rem;
    font-family: 'Poppins', sans-serif;
    color: var(--text-primary);
}

.cmd-item-sub {
    font-size: 0.72rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmd-badge {
    font-size: 0.65rem;
    font-family: 'Space Mono', monospace;
    background: rgba(201, 168, 76, 0.1);
    color: var(--gold-primary);
    border: 1px solid var(--gold-border);
    border-radius: 5px;
    padding: 2px 6px;
    flex-shrink: 0;
}

.cmd-empty {
    padding: 24px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-style: italic;
}

.cmd-footer {
    display: flex;
    gap: 16px;
    padding: 10px 20px;
    border-top: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.01);
}

.cmd-footer span {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.65rem;
    color: var(--text-muted);
    font-family: 'Poppins', sans-serif;
}

.cmd-footer kbd {
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: 4px;
    padding: 1px 5px;
    font-size: 0.65rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-secondary);
}

/* ============================================================
   BULK ACTION BAR
   ============================================================ */

.bulk-action-bar {
    position: fixed;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    background: rgba(8, 6, 14, 0.97);
    border: 1px solid var(--gold-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.8);
    z-index: 3000;
    transition: bottom 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
    white-space: nowrap;
}

.bulk-action-bar.show {
    bottom: 24px;
}

.bulk-count {
    font-size: 0.85rem;
    font-family: 'Poppins', sans-serif;
    color: var(--gold-pale);
    font-weight: 600;
}

.bulk-actions {
    display: flex;
    gap: 8px;
}

.btn-sm {
    padding: 6px 14px;
    font-size: 0.78rem;
}

/* Checkbox column in table */
.select-col {
    width: 36px;
    padding: 0 8px !important;
    text-align: center;
}

.row-select-cb {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    border: 1.5px solid rgba(201, 168, 76, 0.35);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    position: relative;
    transition: border-color 0.15s, background 0.15s;
    flex-shrink: 0;
}

.row-select-cb:hover {
    border-color: rgba(201, 168, 76, 0.7);
    background: rgba(201, 168, 76, 0.06);
}

.row-select-cb:checked {
    background: var(--gold-primary, #C9A84C);
    border-color: var(--gold-primary, #C9A84C);
}

.row-select-cb:checked::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 1px;
    width: 5px;
    height: 8px;
    border: 2px solid #0a0a0a;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

/* ============================================================
   GARAGE WALL VIEW
   ============================================================ */

.garage-wall {
    padding: 24px;
    overflow-y: auto;
    height: calc(100vh - 280px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gwall-section {
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.gwall-section:hover {
    border-color: var(--gold-border);
}

.gwall-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: rgba(201, 168, 76, 0.04);
    border-bottom: 1px solid var(--glass-border);
}

.gwall-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gwall-logo {
    height: 28px;
    width: 48px;
    object-fit: contain;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

.gwall-logo-placeholder {
    font-size: 1.4rem;
    opacity: 0.3;
}

.gwall-brand-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gold-pale);
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0.5px;
}

.gwall-count {
    font-size: 0.75rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 2px 10px;
}

.gwall-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 20px;
}

.gwall-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 6px 12px 6px 6px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.gwall-chip:hover {
    background: var(--gold-surface);
    border-color: var(--gold-border);
    transform: translateY(-1px);
}

.gwall-chip-avatar {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.gwall-chip-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.gwall-chip-name {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
}

.gwall-chip-sub {
    font-size: 0.65rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.gwall-empty {
    padding: 40px;
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
}

/* ============================================================
   FLEET STATISTICS VIEW
   ============================================================ */

.stats-view {
    padding: 24px;
    overflow-y: auto;
    height: calc(100vh - 280px);
}

.sv-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
}

.sv-panel {
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: 20px;
}

.sv-panel-wide {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.sv-panel-full {
    grid-column: 1 / 4;
}

.sv-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--gold-pale);
    font-family: 'Poppins', sans-serif;
    margin-bottom: 16px;
    letter-spacing: 0.3px;
}

.sv-sub {
    font-weight: 400;
    color: var(--text-muted);
    font-size: 0.75rem;
}

/* Brand bar chart */
.sv-brand-chart {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sv-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sv-bar-label {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 110px;
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--text-secondary);
    overflow: hidden;
}

.sv-bar-label span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sv-brand-logo {
    height: 14px;
    width: 20px;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}

.sv-bar-track {
    flex: 1;
    height: 8px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 4px;
    overflow: hidden;
}

.sv-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-bright));
    border-radius: 4px;
    transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.sv-bar-count {
    width: 28px;
    text-align: right;
    font-size: 0.72rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    flex-shrink: 0;
}

/* Donut chart */
.sv-ratio-wrap {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 8px;
}

.sv-ratio-ring {
    position: relative;
    width: 90px;
    height: 90px;
    flex-shrink: 0;
}

.sv-donut {
    width: 90px;
    height: 90px;
    transform: rotate(-90deg);
}

.sv-donut-bg {
    stroke: rgba(255, 255, 255, 0.06);
}

.sv-donut-fill {
    stroke: var(--gold-primary);
    stroke-linecap: round;
    transition: stroke-dasharray 0.8s ease;
}

.sv-donut-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.sv-donut-pct {
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Space Mono', monospace;
    color: var(--gold-bright);
    line-height: 1;
}

.sv-donut-hint {
    font-size: 0.55rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.sv-ratio-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sv-legend-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.sv-legend-row strong {
    margin-left: auto;
    color: var(--text-primary);
    font-family: 'Space Mono', monospace;
}

.sv-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.sv-dot-active {
    background: var(--gold-primary);
}

.sv-dot-inactive {
    background: var(--text-muted);
}

/* T-shirt grid */
.sv-shirt-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.sv-shirt-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: rgba(201, 168, 76, 0.06);
    border: 1px solid var(--gold-border);
    border-radius: 10px;
    padding: 10px 14px;
    min-width: 52px;
}

.sv-shirt-size {
    font-size: 0.72rem;
    font-weight: 700;
    font-family: 'Space Mono', monospace;
    color: var(--gold-pale);
}

.sv-shirt-count {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
    font-family: 'Space Mono', monospace;
}

/* Year histogram */
.sv-year-chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 80px;
    padding-top: 24px;
    position: relative;
}

.sv-year-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: 100%;
    justify-content: flex-end;
    position: relative;
}

.sv-year-tip {
    position: absolute;
    top: -20px;
    font-size: 0.6rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    opacity: 0;
    transition: opacity 0.15s ease;
}

.sv-year-col:hover .sv-year-tip {
    opacity: 1;
}

.sv-year-bar {
    width: 100%;
    background: linear-gradient(to top, var(--gold-primary), var(--gold-bright));
    border-radius: 3px 3px 0 0;
    min-height: 2px;
    transition: height 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.sv-year-lbl {
    font-size: 0.58rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    white-space: nowrap;
}

/* ============================================================
   TIMELINE VIEW
   ============================================================ */

.timeline-view {
    overflow-y: auto;
    height: calc(100vh - 280px);
    padding: 20px 24px;
}

.tl-wrap {
    min-width: 600px;
}

.tl-axis {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
    position: sticky;
    top: 0;
    background: var(--bg-body);
    z-index: 10;
    padding: 8px 0;
    border-bottom: 1px solid var(--glass-border);
}

.tl-name-col {
    width: 160px;
    flex-shrink: 0;
    font-size: 0.7rem;
    color: var(--text-muted);
    padding-right: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tl-track,
.tl-track-header {
    flex: 1;
    position: relative;
    height: 20px;
}

.tl-tick {
    position: absolute;
    transform: translateX(-50%);
    font-size: 0.62rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    white-space: nowrap;
    top: 2px;
}

.tl-rows {
    display: flex;
    flex-direction: column;
}

.tl-row {
    display: flex;
    align-items: center;
    min-height: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    cursor: pointer;
    transition: background 0.1s ease;
}

.tl-row:hover {
    background: rgba(201, 168, 76, 0.04);
}

.tl-track {
    position: relative;
    height: 12px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 6px;
    overflow: visible;
}

.tl-bar {
    position: absolute;
    top: 0;
    height: 100%;
    border-radius: 6px;
    transition: opacity 0.2s ease;
}

.tl-bar-active {
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-bright));
    opacity: 0.75;
}

.tl-bar-inactive {
    background: rgba(148, 163, 184, 0.25);
}

.tl-row:hover .tl-bar {
    opacity: 1;
}

.tl-empty {
    padding: 40px;
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
}

/* ============================================================
   SLOVENIA MAP VIEW
   ============================================================ */

.map-view {
    overflow-y: auto;
    height: calc(100vh - 280px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 24px;
}

.map-wrap {
    width: 100%;
    max-width: 700px;
}

.map-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gold-pale);
    font-family: 'Poppins', sans-serif;
    margin-bottom: 20px;
}

.map-svg-container {
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: 16px;
    margin-bottom: 16px;
    overflow: hidden;
}

.map-svg {
    width: 100%;
    height: auto;
}

.map-outline {
    fill: rgba(201, 168, 76, 0.04);
    stroke: rgba(201, 168, 76, 0.2);
    stroke-width: 1;
}

.map-count {
    font-size: 8px;
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    fill: rgba(255, 255, 255, 0.9);
    pointer-events: none;
}

.map-label {
    font-size: 6.5px;
    font-family: 'Poppins', sans-serif;
    fill: rgba(255, 255, 255, 0.55);
    pointer-events: none;
}

.map-region {
    transition: opacity 0.15s ease;
}

.map-region:hover {
    opacity: 0.85;
}

.map-region:hover circle {
    stroke: var(--gold-bright);
    stroke-width: 2.5;
}

.map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.map-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    padding: 6px 12px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    font-size: 0.75rem;
    font-family: 'Poppins', sans-serif;
}

.map-legend-item:hover {
    background: var(--gold-surface);
    border-color: var(--gold-border);
}

.map-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.map-legend-name {
    color: var(--text-secondary);
}

.map-legend-count {
    font-family: 'Space Mono', monospace;
    color: var(--gold-pale);
    font-size: 0.8rem;
    margin-left: 4px;
}


/* ===========================================================
   MEMBER CARD GENERATOR
   =========================================================== */


.card-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.card-modal-overlay.open {
    opacity: 1;
    pointer-events: all;
}

.card-modal {
    background: linear-gradient(160deg, rgba(20, 15, 5, 0.98) 0%, rgba(6, 8, 16, 0.98) 100%);
    border: 1px solid var(--gold-border);
    border-radius: 24px;
    padding: 32px;
    width: min(720px, 92vw);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.8), 0 0 60px rgba(201, 168, 76, 0.07);
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}

.card-modal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(90deg, transparent, var(--gold-primary), var(--gold-bright), var(--gold-primary), transparent);
}

.card-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-modal-header h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold-bright), var(--gold-pale));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.card-modal-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    min-height: 80px;
}

.card-modal-preview canvas {
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), 0 4px 20px rgba(201, 168, 76, 0.15);
    max-width: 100%;
}

.card-generating {
    color: var(--text-muted);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

@keyframes cardSpin {
    to {
        transform: rotate(360deg);
    }
}

.card-generating-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid var(--gold-border);
    border-top-color: var(--gold-bright);
    border-radius: 50%;
    animation: cardSpin 0.8s linear infinite;
}

.card-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-modal-hint {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.02em;
}

/* MEMBER CARD TEMPLATE — landscape credit card: 680×432px */
.mc-card {
    width: 680px;
    height: 432px;
    font-family: 'Poppins', sans-serif;
    position: relative;
    flex-shrink: 0;
}

.mc-front {
    width: 680px;
    height: 432px;
    background: linear-gradient(135deg, #0E0B02 0%, #1B1608 20%, #0C1122 50%, #0E0B02 75%, #1A1507 100%);
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 32px 36px 28px 36px;
    box-sizing: border-box;
    border: 1px solid rgba(201, 168, 76, 0.3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.4);
}

/* Diagonal shimmer */
.mc-stripe {
    position: absolute;
    width: 250%;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(201, 168, 76, 0.0) 30%,
            rgba(240, 192, 64, 0.4) 50%,
            rgba(201, 168, 76, 0.0) 70%,
            transparent 100%);
    transform: rotate(-18deg);
    top: 44%;
    left: -80%;
    pointer-events: none;
}

/* Top-left ambient glow */
.mc-front::before {
    content: '';
    position: absolute;
    top: -100px;
    left: -80px;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.10) 0%, transparent 65%);
    pointer-events: none;
    border-radius: 50%;
}

/* Bottom-right purple accent */
.mc-front::after {
    content: '';
    position: absolute;
    bottom: -80px;
    right: -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(60, 40, 160, 0.12) 0%, transparent 65%);
    pointer-events: none;
    border-radius: 50%;
}

/* Watermark — low opacity large text center-right */
.mc-watermark {
    position: absolute;
    right: 44px;
    top: 50%;
    transform: translateY(-50%);
    width: 180px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.15;
    pointer-events: none;
    z-index: 1;
}

/* ---- TOP ROW: club name | status chip ---- */
.mc-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.mc-club-name {
    font-family: 'Space Mono', monospace;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    color: rgba(240, 192, 64, 0.75);
    text-transform: uppercase;
}

/* Status chip — now sits inline in the top row */
.mc-status-chip {
    font-family: 'Space Mono', monospace;
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 99px;
    position: static;
    /* NOT absolute anymore */
}

.mc-status-chip.active {
    background: rgba(16, 185, 129, 0.15);
    color: #34D399;
    border: 1px solid rgba(16, 185, 129, 0.35);
}

.mc-status-chip.inactive {
    background: rgba(239, 68, 68, 0.12);
    color: #F87171;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

/* ---- MIDDLE ROW: avatar + name ---- */
.mc-middle {
    display: flex;
    align-items: center;
    gap: 18px;
    position: relative;
    z-index: 2;
}

.mc-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 1.35rem;
    color: white;
    text-transform: uppercase;
    flex-shrink: 0;
    box-shadow:
        0 0 0 2px rgba(201, 168, 76, 0.45),
        0 0 18px rgba(201, 168, 76, 0.18),
        0 4px 16px rgba(0, 0, 0, 0.5);
}

/* Avatar color classes */
.avatar-0 {
    background: linear-gradient(135deg, #D4A017 0%, #8B6000 100%);
}

.avatar-1 {
    background: linear-gradient(135deg, #6366F1 0%, #3730A3 100%);
}

.avatar-2 {
    background: linear-gradient(135deg, #10B981 0%, #047857 100%);
}

.avatar-3 {
    background: linear-gradient(135deg, #F59E0B 0%, #92400E 100%);
}

.avatar-4 {
    background: linear-gradient(135deg, #EF4444 0%, #991B1B 100%);
}

.avatar-5 {
    background: linear-gradient(135deg, #8B5CF6 0%, #5B21B6 100%);
}

.mc-member-name {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #F4F4F5;
    letter-spacing: 0.01em;
    line-height: 1.15;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.7);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 330px;
}

/* ---- BOTTOM ROW: car info | ID block ---- */
.mc-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

/* Car info — left side */
.mc-car-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.mc-car-brand {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: #C9A84C;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.mc-car-sub {
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    color: rgba(232, 213, 163, 0.55);
    letter-spacing: 0.05em;
}

/* ID block — right side */
.mc-id-block {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mc-id-label {
    font-family: 'Space Mono', monospace;
    font-size: 0.48rem;
    letter-spacing: 0.25em;
    color: rgba(201, 168, 76, 0.4);
    text-transform: uppercase;
}

.mc-id {
    font-family: 'Space Mono', monospace;
    font-size: 1.05rem;
    font-weight: 700;
    color: rgba(240, 192, 64, 0.95);
    letter-spacing: 0.06em;
}

.mc-year {
    font-family: 'Space Mono', monospace;
    font-size: 0.52rem;
    letter-spacing: 0.12em;
    color: rgba(201, 168, 76, 0.4);
    text-transform: uppercase;
}

/* ============================================================
   RADAR VIEW (Smart Renewal)
   ============================================================ */

.radar-view {
    padding: 16px 24px;
    height: calc(100vh - 120px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.radar-header {
    display: flex;
    flex-shrink: 0;
    gap: 16px;
    margin-bottom: 0px;
}

.radar-stat-card {
    flex: 1;
    background: var(--surface-card);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    overflow: hidden;
}

.radar-stat-card.lapsed {
    border-left: 4px solid #EF4444;
}

.radar-stat-card.at-risk {
    border-left: 4px solid #F59E0B;
}

.radar-stat-card.renewed {
    border-left: 4px solid #10B981;
}

.radar-stat-value {
    font-family: 'Space Mono', monospace;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--text-primary);
}

.radar-stat-label {
    font-size: 0.8rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.radar-progress-bg {
    height: 6px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    overflow: hidden;
    margin-top: auto;
}

.radar-progress-fill {
    height: 100%;
    background: var(--gold-primary);
    border-radius: 3px;
    transition: width 1s ease-out;
}

/* Radar List */
.radar-section {
    background: var(--surface-card);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 1;
    min-height: 0;
    border-bottom-right-radius: 0;
}

.radar-toolbar {
    padding: 10px 16px;
    border-bottom: 1px solid var(--glass-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.radar-tabs {
    display: flex;
    gap: 8px;
    background: rgba(255, 255, 255, 0.03);
    padding: 4px;
    border-radius: 8px;
}

.radar-tab {
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--text-secondary);
    cursor: pointer;
    border: none;
    background: transparent;
    transition: all 0.2s;
}

.radar-tab.active {
    background: var(--gold-primary);
    color: #000;
    font-weight: 600;
}

.radar-list-container {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    /* Ensure scrollbar is visible and usable */
    position: relative;
}

.radar-row {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid var(--glass-border);
    transition: background 0.15s;
    gap: 12px;
}

.radar-row:hover {
    background: rgba(255, 255, 255, 0.02);
}

.radar-col-info {
    flex: 2;
}

.radar-col-car {
    flex: 2;
}

.radar-col-status {
    flex: 1;
    text-align: right;
}

.radar-col-actions {
    flex: 1.5;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.radar-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
    display: block;
}

.radar-meta {
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-top: 2px;
    display: block;
}

.radar-label-red {
    color: #EF4444;
    font-weight: 600;
    font-size: 0.85rem;
    background: rgba(239, 68, 68, 0.1);
    padding: 4px 8px;
    border-radius: 4px;
}

.radar-label-yellow {
    color: #F59E0B;
    font-weight: 600;
    font-size: 0.85rem;
    background: rgba(245, 158, 11, 0.1);
    padding: 4px 8px;
    border-radius: 4px;
}

.btn-radar-action {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.btn-radar-action:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--text-secondary);
}

.btn-radar-confirm {
    background: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.3);
    color: #10B981;
}

.btn-radar-confirm:hover {
    background: #10B981;
    color: #fff;
}


/* ======================================================
   VELVET GARAGE — EDIT MEMBER MODAL
   ====================================================== */

/* Overlay */
.edit-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.edit-modal-overlay.open {
    opacity: 1;
    pointer-events: all;
}

/* Modal dialog */
.edit-modal {
    width: 100%;
    max-width: 660px;
    max-height: 88vh;
    background: linear-gradient(160deg, rgba(20, 14, 2, 0.98) 0%, rgba(6, 8, 16, 0.98) 100%);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border: 1px solid rgba(201, 168, 76, 0.35);
    border-radius: 24px;
    box-shadow:
        0 40px 120px rgba(0, 0, 0, 0.8),
        0 0 60px rgba(201, 168, 76, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.25s ease;
    position: relative;
}

/* Gold top shimmer */
.edit-modal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--gold-primary) 25%,
            var(--gold-bright) 50%,
            var(--gold-primary) 75%,
            transparent 100%);
    z-index: 1;
}

.edit-modal-overlay.open .edit-modal {
    transform: translateY(0) scale(1);
}

/* Header */
.edit-modal-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 28px 18px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
    background: rgba(201, 168, 76, 0.03);
    flex-shrink: 0;
    position: relative;
}

.edit-modal-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Space Mono', monospace;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold-pale);
    flex: 1;
}

.edit-modal-title svg {
    color: var(--gold-primary);
    flex-shrink: 0;
}

/* Member name badge in header */
.edit-modal-member-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: 99px;
    padding: 4px 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.edit-modal-close {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--glass-border);
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.edit-modal-close:hover {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
    color: #F87171;
}

/* Scrollable body */
.edit-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.2) transparent;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Section title */
.edit-section-title {
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--gold-primary);
    padding: 20px 0 10px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.18);
    margin-bottom: 16px;
}

.edit-section-title:first-child {
    padding-top: 4px;
}

/* Two-column form grid */
.edit-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 8px;
}

.edit-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.edit-field-full {
    grid-column: 1 / -1;
}

/* Labels */
.edit-label {
    font-family: 'Space Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
}

/* Inputs / Selects / Textarea */
.edit-input {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--text-primary);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    width: 100%;
}

.edit-input::placeholder {
    color: var(--text-muted);
    opacity: 0.5;
}

.edit-input:focus {
    background: rgba(201, 168, 76, 0.04);
    border-color: rgba(201, 168, 76, 0.5);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.08);
}

.edit-input:hover:not(:focus) {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.045);
}

/* Select dropdown — override system arrow */
.edit-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}

.edit-select option {
    background: #0e0c14;
    color: var(--text-primary);
}

/* Textarea */
.edit-textarea {
    min-height: 90px;
    resize: vertical;
    line-height: 1.6;
}

/* Footer */
.edit-modal-footer {
    padding: 18px 28px;
    border-top: 1px solid rgba(201, 168, 76, 0.15);
    background: rgba(0, 0, 0, 0.3);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.edit-modal-footer-btns {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.edit-modal-footer-btns .btn-outline {
    min-width: 110px;
}

.edit-modal-footer-btns .btn-primary {
    min-width: 180px;
    justify-content: center;
}

/* Error message */
.edit-modal-error {
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    color: #F87171;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 8px;
    padding: 8px 14px;
    display: none;
}

.edit-modal-error.visible {
    display: block;
}

/* Save button — saving state */
.edit-modal-saving .edit-save-label {
    display: none;
}

.edit-modal-saving .edit-save-spinner {
    display: inline !important;
}

.edit-modal-saving {
    opacity: 0.7;
    pointer-events: none;
    cursor: not-allowed;
}

/* ======================================================
   VELVET GARAGE — SUCCESS TOAST
   ====================================================== */

.vg-toast {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 9999;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.18) 0%, rgba(6, 8, 16, 0.95) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 14px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 30px rgba(16, 185, 129, 0.1);
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    color: #34D399;
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
}

.vg-toast.show {
    transform: translateY(0);
    opacity: 1;
}

.vg-toast-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.vg-toast-sub {
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(52, 211, 153, 0.7);
    display: block;
    margin-top: 2px;
}


/* ======================================================
   VELVET GARAGE — ADD MEMBER MODAL (step wizard)
   ====================================================== */

/* Step indicator in header */
.add-modal-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Space Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.add-step {
    color: var(--text-muted);
    padding: 4px 10px;
    border-radius: 99px;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    cursor: default;
}

.add-step.active {
    color: var(--gold-bright);
    background: rgba(201, 168, 76, 0.1);
    border-color: rgba(201, 168, 76, 0.3);
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.15);
}

.add-step.done {
    color: #34D399;
    border-color: rgba(16, 185, 129, 0.25);
    background: rgba(16, 185, 129, 0.06);
}

.add-step-sep {
    color: var(--text-muted);
    opacity: 0.4;
    font-size: 1rem;
}

/* Step content panels */
.add-form-step {
    animation: fadeStepIn 0.2s ease both;
}

@keyframes fadeStepIn {
    from {
        opacity: 0;
        transform: translateX(16px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Step hero (icon + title + subtitle) */
.add-step-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px 20px;
    background: rgba(201, 168, 76, 0.04);
    border: 1px solid rgba(201, 168, 76, 0.1);
    border-radius: 14px;
}

.add-step-icon {
    font-size: 2rem;
    line-height: 1;
    flex-shrink: 0;
}

.add-step-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}

.add-step-subtitle {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Required asterisk */
.add-required {
    color: var(--gold-bright);
    font-size: 0.75rem;
    margin-left: 2px;
}

/* Input invalid state (shown after failed validation) */
.edit-input.input-invalid {
    border-color: rgba(239, 68, 68, 0.6);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
    animation: shakeField 0.3s ease;
}

@keyframes shakeField {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}

/* Live car logo preview */
.add-car-preview {
    background: linear-gradient(145deg, rgba(30, 22, 5, 0.7) 0%, rgba(6, 8, 16, 0.9) 100%);
    border: 1px solid rgba(201, 168, 76, 0.15);
    border-radius: 14px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.add-car-preview.has-logo {
    border-color: rgba(201, 168, 76, 0.35);
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.08);
}

.add-car-preview img {
    max-height: 65px;
    max-width: 40%;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 10px rgba(201, 168, 76, 0.2));
}

.add-car-preview-name {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--platinum);
}

.add-car-preview-hint {
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    color: var(--text-muted);
    font-style: italic;
}


/* ======================================================
   VELVET GARAGE — NEW MEMBER MODAL  (nm- namespace)
   Two-panel fullscreen: left card preview · right form
   ====================================================== */

/* Overlay */
.nm-overlay {
    position: fixed;
    inset: 0;
    z-index: 500;
    background: rgba(0, 0, 0, 0.88);
    /* Darkened slightly to compensate for removed blur */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease;
}

.nm-overlay.nm-open {
    opacity: 1;
    pointer-events: all;
}

/* Dialog container — wide two-column layout */
.nm-dialog {
    width: 100%;
    max-width: 1160px;
    height: 92vh;
    max-height: 860px;
    display: flex;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.95);
    /* Simplified shadow for performance */
    transform: scale(0.96) translateY(24px) translateZ(0);
    /* Force GPU acceleration */
    will-change: transform, opacity;
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.nm-overlay.nm-open .nm-dialog {
    transform: scale(1) translateY(0) translateZ(0);
}

/* ── LEFT PANEL ── preview */
.nm-preview-panel {
    width: 300px;
    flex-shrink: 0;
    background: linear-gradient(160deg,
            rgba(18, 14, 6, 1) 0%,
            rgba(22, 16, 5, 1) 50%,
            rgba(10, 12, 24, 1) 100%);
    border-right: 1px solid rgba(201, 168, 76, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 22px 28px;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

/* Background shimmer dots */
.nm-preview-panel::before {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.04) 0%, transparent 70%);
    top: -100px;
    left: -60px;
    pointer-events: none;
}

.nm-preview-label {
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: rgba(201, 168, 76, 0.4);
    text-transform: uppercase;
    align-self: flex-start;
}

/* Member card */
.nm-card {
    width: 100%;
    background: linear-gradient(145deg,
            rgba(28, 20, 4, 0.95) 0%,
            rgba(12, 10, 22, 0.95) 100%);
    border: 1px solid rgba(201, 168, 76, 0.3);
    border-radius: 18px;
    padding: 18px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
    /* Simplified shadow */
    transition: border-color 0.3s ease;
}

/* Top gold shimmer line on card */
.nm-card-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--gold-primary) 30%,
            var(--gold-bright) 50%,
            var(--gold-primary) 70%,
            transparent 100%);
    opacity: 0.7;
}

.nm-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.nm-card-club {
    font-family: 'Space Mono', monospace;
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--gold-primary);
    text-transform: uppercase;
}

.nm-card-status {
    font-family: 'Poppins', sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    color: #34D399;
    transition: color 0.2s ease;
}

.nm-card-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(201, 168, 76, 0.15);
    border: 2px solid rgba(201, 168, 76, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--gold-pale);
    margin-bottom: 10px;
    transition: all 0.2s ease;
}

/* Avatar color classes from app.js (reused) */
.nm-card-avatar.avatar-amber {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.3);
    color: #FCD34D;
}

.nm-card-avatar.avatar-rose {
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(244, 63, 94, 0.25);
    color: #FDA4AF;
}

.nm-card-avatar.avatar-violet {
    background: rgba(139, 92, 246, 0.12);
    border-color: rgba(139, 92, 246, 0.25);
    color: #C4B5FD;
}

.nm-card-avatar.avatar-sky {
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(14, 165, 233, 0.25);
    color: #7DD3FC;
}

.nm-card-avatar.avatar-emerald {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.25);
    color: #6EE7B7;
}

.nm-card-name {
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 2px;
    transition: all 0.15s ease;
}

.nm-card-id {
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    color: var(--text-muted);
    margin-bottom: 12px;
    transition: all 0.15s ease;
}

.nm-card-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201, 168, 76, 0.2), transparent);
    margin-bottom: 12px;
}

.nm-card-car-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nm-card-logo-wrap {
    width: 40px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nm-card-car-brand {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-secondary);
    transition: all 0.15s ease;
}

.nm-card-car-model {
    font-family: 'Poppins', sans-serif;
    font-size: 0.7rem;
    color: var(--text-muted);
    transition: all 0.15s ease;
}

/* Hint rows below card */
.nm-preview-hints {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nm-hint-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.72rem;
    color: var(--text-muted);
}

.nm-hint-row svg {
    flex-shrink: 0;
    color: rgba(201, 168, 76, 0.4);
}

/* ── RIGHT PANEL ── form */
.nm-form-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: rgba(18, 17, 28, 0.98);
    min-height: 0;
}

/* Form header */
.nm-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 26px 28px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.nm-form-header-left {
    flex: 1;
}

.nm-form-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.02em;
    margin-bottom: 3px;
}

.nm-form-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-left: 30px;
}

.nm-close-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.nm-close-btn:hover {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.25);
    color: #F87171;
}

/* Scrollable body */
.nm-form-body {
    flex: 1;
    overflow-y: auto;
    padding: 4px 28px 20px;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.15) transparent;
    will-change: scroll-position, transform;
    transform: translateZ(0);
    /* Hardware acceleration for smooth scrolling */
    -webkit-overflow-scrolling: touch;
}

/* Numbered sections */
.nm-section {
    padding: 18px 0 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.nm-section:last-child {
    border-bottom: none;
}

.nm-section-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 14px;
}

.nm-section-num {
    font-family: 'Space Mono', monospace;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--gold-primary);
    letter-spacing: 0.05em;
    opacity: 0.7;
}

.nm-section-name {
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Two-column grid */
.nm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.nm-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nm-field-full {
    grid-column: 1 / -1;
}

/* Labels */
.nm-label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.35);
    letter-spacing: 0.01em;
    padding-left: 2px;
}

.nm-req {
    color: var(--gold-primary);
    font-style: normal;
    font-size: 0.8em;
}

/* Inputs */
.nm-input {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 9px 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    color: var(--text-primary);
    outline: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}

.nm-input::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.nm-input:hover:not(:focus) {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.09);
}

.nm-input:focus {
    border-color: rgba(201, 168, 76, 0.45);
    background: rgba(201, 168, 76, 0.03);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.07);
}

.nm-input:-webkit-autofill,
.nm-input:-webkit-autofill:hover,
.nm-input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #0e1420 inset;
    -webkit-text-fill-color: #F8FAFC;
    caret-color: #F8FAFC;
    border-color: rgba(201, 168, 76, 0.35);
    transition: background-color 9999s ease-in-out 0s;
}

.nm-input-invalid {
    border-color: rgba(239, 68, 68, 0.5) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08) !important;
    animation: nmShake 0.3s ease;
}

@keyframes nmShake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-4px);
    }

    75% {
        transform: translateX(4px);
    }
}

/* Select */
.nm-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
    cursor: pointer;
}

.nm-select option {
    background: #0a0914;
    color: var(--text-primary);
}

/* Textarea */
.nm-textarea {
    min-height: 80px;
    resize: vertical;
    line-height: 1.6;
}

/* Footer */
.nm-form-footer {
    padding: 16px 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nm-footer-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* Cancel button */
.nm-btn-cancel {
    padding: 10px 20px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    color: var(--text-muted);
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nm-btn-cancel:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
}

/* Save button — totally different: solid green */
.nm-btn-save {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    border-radius: 10px;
    background: linear-gradient(135deg, #059669 0%, #10B981 100%);
    border: none;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(16, 185, 129, 0.3);
    transition: all 0.2s ease;
}

.nm-btn-save:hover {
    background: linear-gradient(135deg, #047857 0%, #059669 100%);
    box-shadow: 0 6px 28px rgba(16, 185, 129, 0.45);
    transform: translateY(-1px);
}

.nm-save-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.nm-saving .nm-save-label {
    display: none;
}

.nm-saving .nm-save-saving {
    display: inline !important;
}

.nm-saving {
    opacity: 0.7;
    pointer-events: none;
}

/* Error */
.nm-footer-error {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    color: #F87171;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.18);
    border-radius: 8px;
    padding: 8px 14px;
    display: none;
}

.nm-footer-error.nm-error-visible {
    display: block;
}

/* ======================================================
   nm- SMART FORM COMPONENTS: pills, toggles, autofill badge
   ====================================================== */

/* Toggle button group (Status, Spol, Kartica) */
.nm-toggle-group {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.nm-toggle-btn {
    flex: 1;
    min-width: 60px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-muted);
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: center;
}

.nm-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.14);
    color: var(--text-secondary);
}

.nm-toggle-btn.nm-toggle-active {
    background: rgba(201, 168, 76, 0.12);
    border-color: rgba(201, 168, 76, 0.4);
    color: var(--gold-bright);
    box-shadow: 0 0 10px rgba(201, 168, 76, 0.08);
}

/* Size pill buttons */
.nm-pills {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.nm-pill {
    padding: 6px 14px;
    border-radius: 99px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    letter-spacing: 0.02em;
}

.nm-pill:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--text-secondary);
}

.nm-pill.nm-pill-active {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.2) 0%, rgba(201, 168, 76, 0.1) 100%);
    border-color: rgba(201, 168, 76, 0.5);
    color: var(--gold-bright);
    box-shadow: 0 0 12px rgba(201, 168, 76, 0.15);
}

/* Autofill indicator badge */
.nm-autofill-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    color: #34D399;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 6px;
    padding: 1px 6px;
    margin-left: 6px;
    vertical-align: middle;
    animation: badgePop 0.2s ease;
}

@keyframes badgePop {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Date input — style the native calendar icon gold */
.nm-date {
    color-scheme: dark;
    cursor: pointer;
}

.nm-date::-webkit-calendar-picker-indicator {
    filter: invert(0.7) sepia(1) saturate(3) hue-rotate(5deg);
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.15s ease;
}

.nm-date::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}

/* Number input — hide spinners */
.nm-input[type="number"]::-webkit-outer-spin-button,
.nm-input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.nm-input[type="number"] {
    -moz-appearance: textfield;
}

/* ======================================================
   nm- FIELD HINTS  (email/phone validation feedback)
   ====================================================== */

.nm-field-hint {
    font-family: 'Poppins', sans-serif;
    font-size: 0.7rem;
    font-weight: 500;
    padding-left: 2px;
    min-height: 1em;
    transition: all 0.15s ease;
}

.nm-hint-ok {
    color: #34D399;
}

.nm-hint-err {
    color: #F87171;
}

/* Soft red border on invalid but non-required fields */
.nm-input-warn {
    border-color: rgba(239, 68, 68, 0.35) !important;
}

/* ======================================================
   nm- ADDRESS AUTOCOMPLETE DROPDOWN
   ====================================================== */

.nm-address-wrap {
    position: relative;
}

.nm-address-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 999;
    background: rgba(14, 12, 28, 0.98);
    border: 1px solid rgba(201, 168, 76, 0.2);
    border-radius: 12px;
    overflow: hidden;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.7),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    display: none;
    max-height: 220px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(201, 168, 76, 0.15) transparent;
}

.nm-address-dropdown.nm-addr-open {
    display: block;
    animation: nmDropIn 0.15s ease;
}

@keyframes nmDropIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.nm-addr-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    transition: background 0.1s ease;
}

.nm-addr-row:last-child {
    border-bottom: none;
}

.nm-addr-row:hover,
.nm-addr-row.nm-addr-active {
    background: rgba(201, 168, 76, 0.07);
}

.nm-addr-row svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.nm-addr-primary {
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
}

.nm-addr-secondary {
    font-family: 'Poppins', sans-serif;
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-top: 1px;
}

.nm-addr-loading {
    padding: 12px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    color: var(--text-muted);
    font-style: italic;
}


/* ======================================================
   nm- FLOATING ORBS (overlay backdrop ambient glow)
   ====================================================== */

.nm-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    /* This is OK because it's hardware accelerated below */
    pointer-events: none;
    z-index: 0;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    will-change: transform;
    /* Crucial for animation performance */
    transform: translateZ(0);
}

.nm-orb-1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.18) 0%, transparent 70%);
    top: -15%;
    left: -10%;
    animation: nmOrb1 14s ease-in-out infinite alternate;
}

.nm-orb-2 {
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(99, 60, 180, 0.15) 0%, transparent 70%);
    bottom: -10%;
    right: -8%;
    animation: nmOrb2 18s ease-in-out infinite alternate;
}

.nm-orb-3 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(201, 140, 40, 0.12) 0%, transparent 70%);
    top: 40%;
    right: 20%;
    animation: nmOrb3 22s ease-in-out infinite alternate;
}

.nm-orb-4 {
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(14, 80, 160, 0.12) 0%, transparent 70%);
    bottom: 20%;
    left: 15%;
    animation: nmOrb4 16s ease-in-out infinite alternate;
}

@keyframes nmOrb1 {
    0% {
        transform: translate(0, 0) scale(1);
    }

    33% {
        transform: translate(80px, 60px) scale(1.08);
    }

    66% {
        transform: translate(30px, 120px) scale(0.95);
    }

    100% {
        transform: translate(100px, 40px) scale(1.05);
    }
}

@keyframes nmOrb2 {
    0% {
        transform: translate(0, 0) scale(1);
    }

    40% {
        transform: translate(-70px, -50px) scale(1.1);
    }

    100% {
        transform: translate(-120px, 30px) scale(0.92);
    }
}

@keyframes nmOrb3 {
    0% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(60px, -80px) scale(1.15);
    }

    100% {
        transform: translate(-40px, 60px) scale(0.9);
    }
}

@keyframes nmOrb4 {
    0% {
        transform: translate(0, 0) scale(1);
    }

    60% {
        transform: translate(50px, -40px) scale(1.2);
    }

    100% {
        transform: translate(-30px, 50px) scale(0.88);
    }
}

/* Particle canvas in preview panel */
.nm-particles-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.7;
}

/* ============================================================
   NOTIFICATION CENTER — Obvestila
   ============================================================ */

/* Nav badge */
.nav-notif-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gold-primary), var(--gold-bright));
    color: #0A0800;
    font-size: 0.6rem;
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    border-radius: 99px;
    padding: 0 5px;
    margin-left: auto;
    font-family: 'Space Mono', monospace;
}

/* Notification view container */
.notif-view {
    padding: 0;
    height: 100%;
    overflow-y: auto;
}

.nc-wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 32px 32px 60px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Header */
.nc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.nc-header-left {
    flex: 1;
}

.nc-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--platinum) 0%, var(--gold-pale) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nc-subtitle {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-top: 4px;
}

/* Config status banners */
.nc-config-warn {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #FCD34D;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.88rem;
}

.nc-config-ok {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.25);
    color: #6EE7B7;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 0.85rem;
}

/* Stats row */
.nc-stats-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.nc-stat-card {
    flex: 1;
    min-width: 130px;
    background: linear-gradient(160deg, rgba(201, 168, 76, 0.07) 0%, rgba(10, 9, 5, 0.6) 100%);
    border: 1px solid var(--gold-border);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    transition: transform 0.15s ease;
}

.nc-stat-card:hover {
    transform: translateY(-2px);
}

.nc-stat-card.nc-stat-err {
    border-color: rgba(239, 68, 68, 0.35);
    background: rgba(239, 68, 68, 0.06);
}

.nc-stat-icon {
    font-size: 1.4rem;
}

.nc-stat-val {
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--gold-bright), var(--gold-primary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
}

.nc-stat-lbl {
    font-size: 0.72rem;
    color: var(--text-muted);
    text-align: center;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Tabs */
.nc-tabs {
    display: flex;
    gap: 4px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 4px;
}

.nc-tab {
    flex: 1;
    padding: 10px 16px;
    border: none;
    background: transparent;
    border-radius: 9px;
    color: var(--text-secondary);
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nc-tab:hover {
    color: var(--gold-pale);
    background: rgba(201, 168, 76, 0.05);
}

.nc-tab.active {
    background: rgba(201, 168, 76, 0.12);
    color: var(--gold-bright);
    border: 1px solid rgba(201, 168, 76, 0.25);
    font-weight: 600;
}

/* Tab content */
.nc-tab-content {
    min-height: 400px;
}

/* === CAMPAIGN TAB === */
.nc-campaign-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.nc-compose-panel,
.nc-preview-panel {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nc-panel-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--gold-pale);
    margin-bottom: 4px;
}

.nc-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nc-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-gold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nc-input,
.nc-select,
.nc-textarea {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--text-primary);
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.15s ease;
    width: 100%;
}

.nc-input:focus,
.nc-select:focus,
.nc-textarea:focus {
    border-color: rgba(201, 168, 76, 0.5);
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.08);
}

.nc-select {
    appearance: none;
    cursor: pointer;
}

.nc-textarea {
    resize: vertical;
    min-height: 180px;
    line-height: 1.6;
    font-size: 0.85rem;
}

.nc-campaign-actions {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.nc-campaign-info {
    font-size: 0.85rem;
    min-height: 24px;
    line-height: 1.5;
}

/* Email preview */
.nc-email-preview {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 20px;
    flex: 1;
    min-height: 280px;
    font-size: 0.85rem;
    line-height: 1.7;
    color: var(--text-primary);
    overflow-y: auto;
}

.nc-preview-empty {
    color: var(--text-muted);
    font-size: 0.85rem;
    font-style: italic;
    text-align: center;
    padding: 60px 20px;
}

.nc-preview-to,
.nc-preview-subject {
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 0.82rem;
}

.nc-preview-label {
    color: var(--text-gold);
    font-weight: 600;
    font-size: 0.75rem;
    margin-right: 6px;
    text-transform: uppercase;
}

.nc-preview-body {
    white-space: pre-wrap;
    word-break: break-word;
}

/* === AUTOMATION TAB === */
.nc-automation-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nc-section-header-row {
    padding-bottom: 4px;
}

.nc-sub {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.nc-rules-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nc-rule-row {
    display: grid;
    grid-template-columns: 56px 1fr auto auto;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 16px 20px;
    transition: border-color 0.15s ease;
}

.nc-rule-row.nc-rule-enabled {
    border-color: rgba(201, 168, 76, 0.2);
    background: rgba(201, 168, 76, 0.04);
}

.nc-rule-label {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--text-primary);
}

.nc-rule-tpl {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.nc-rule-tpl span {
    color: var(--gold-pale);
}

.nc-select-sm {
    padding: 6px 10px;
    font-size: 0.82rem;
    border-radius: 8px;
    min-width: 160px;
}

/* Toggle switch */
.nc-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
}

.nc-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.nc-switch-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.nc-switch-slider::before {
    content: '';
    position: absolute;
    height: 16px;
    width: 16px;
    left: 2px;
    top: 2px;
    background: var(--text-muted);
    border-radius: 50%;
    transition: all 0.2s ease;
}

.nc-switch input:checked+.nc-switch-slider {
    background: rgba(201, 168, 76, 0.3);
    border-color: rgba(201, 168, 76, 0.5);
}

.nc-switch input:checked+.nc-switch-slider::before {
    transform: translateX(18px);
    background: var(--gold-bright);
    box-shadow: 0 0 8px rgba(201, 168, 76, 0.6);
}

/* Badges */
.nc-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 99px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.nc-badge-active {
    background: rgba(16, 185, 129, 0.15);
    color: #6EE7B7;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.nc-badge-off {
    background: rgba(100, 116, 139, 0.15);
    color: var(--text-muted);
    border: 1px solid rgba(100, 116, 139, 0.2);
}

.nc-badge-ok {
    background: rgba(16, 185, 129, 0.12);
    color: #6EE7B7;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.nc-badge-err {
    background: rgba(239, 68, 68, 0.12);
    color: #FCA5A5;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.nc-badge-auto {
    background: rgba(139, 92, 246, 0.12);
    color: #C4B5FD;
    border: 1px solid rgba(139, 92, 246, 0.25);
}

.nc-badge-camp {
    background: rgba(201, 168, 76, 0.12);
    color: var(--gold-pale);
    border: 1px solid var(--gold-border);
}

.nc-rule-status {
    display: flex;
    align-items: center;
}

/* === TEMPLATES TAB === */
.nc-templates-wrap {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 20px;
    align-items: start;
}

.nc-templates-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nc-tpl-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 12px 14px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nc-tpl-card:hover {
    border-color: rgba(201, 168, 76, 0.25);
    background: rgba(201, 168, 76, 0.04);
}

.nc-tpl-card.nc-tpl-editing {
    border-color: rgba(201, 168, 76, 0.5);
    background: rgba(201, 168, 76, 0.08);
}

.nc-tpl-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.nc-tpl-info {
    flex: 1;
    min-width: 0;
}

.nc-tpl-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}

.nc-tpl-auto-badge {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #6EE7B7;
    background: rgba(110, 231, 183, 0.1);
    border: 1px solid rgba(110, 231, 183, 0.25);
    border-radius: 10px;
    padding: 1px 7px;
    margin-left: 6px;
    vertical-align: middle;
    white-space: nowrap;
}

.nc-tpl-sub {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nc-tpl-editor {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.nc-tpl-save-msg {
    font-size: 0.85rem;
    min-height: 20px;
}

/* === HISTORY TAB === */
.nc-history-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.nc-history-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}

.nc-history-count {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.nc-history-empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.nc-history-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 6px;
    font-size: 0.83rem;
}

.nc-history-table thead th {
    background: rgba(255, 255, 255, 0.03);
    color: var(--gold-pale);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 10px 14px;
    border-bottom: 1px solid var(--gold-border);
    text-align: left;
}

.nc-history-table tbody td {
    background: rgba(255, 255, 255, 0.02);
    padding: 10px 14px;
    border-top: 1px solid var(--glass-border);
    border-bottom: 1px solid var(--glass-border);
    color: var(--text-primary);
    vertical-align: middle;
}

.nc-history-table tbody td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-left: 1px solid var(--glass-border);
}

.nc-history-table tbody td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-right: 1px solid var(--glass-border);
}

.nc-hist-time {
    font-family: 'Space Mono', monospace;
    font-size: 0.72rem;
    color: var(--text-muted);
}

.nc-hist-to small {
    display: block;
    color: var(--text-muted);
    font-size: 0.72rem;
}

.nc-hist-subject {
    color: var(--text-secondary);
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nc-hist-err {
    font-size: 0.72rem;
    color: #FCA5A5;
    margin-top: 3px;
}

/* === EMAIL SEND TOAST === */
@keyframes toastSlideIn {
    from {
        transform: translateX(120%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.email-send-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    background: #141820;
    border: 1px solid var(--gold-border);
    border-radius: 16px;
    padding: 16px 20px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7), 0 0 24px rgba(201, 168, 76, 0.1);
    min-width: 300px;
    max-width: 380px;
    animation: toastSlideIn 0.3s ease-out;
    display: flex;
    align-items: center;
}

.email-toast-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    flex-direction: column;
}

.email-toast-icon {
    font-size: 1.6rem;
}

.email-toast-text {
    flex: 1;
    min-width: 0;
    width: 100%;
}

.email-toast-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--gold-pale);
    margin-bottom: 2px;
}

.email-toast-sub {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.email-toast-progress {
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 99px;
    margin-top: 8px;
    overflow: hidden;
}

.email-toast-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-bright));
    border-radius: 99px;
    transition: width 0.4s ease;
    box-shadow: 0 0 8px rgba(201, 168, 76, 0.6);
}


/* Btn-sm override */
.btn-sm {
    padding: 8px 14px;
    font-size: 0.82rem;
    border-radius: 8px;
}

/* ============================================================
   NOTIFICATION SYSTEM ENHANCEMENTS v2
   ============================================================ */

/* Campaign tab panel title row */
.nc-panel-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.nc-draft-badge {
    background: rgba(201, 168, 76, 0.1);
    border: 1px solid rgba(201, 168, 76, 0.3);
    color: var(--gold-pale);
    border-radius: 8px;
    padding: 5px 12px;
    font-size: 0.8rem;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    transition: all 0.15s ease;
}

.nc-draft-badge:hover {
    background: rgba(201, 168, 76, 0.2);
}

/* Live recipient count pill */
.nc-recipient-count {
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 99px;
    margin-left: 8px;
    display: inline-block;
    transition: all 0.2s ease;
}

.nc-count-ok {
    background: rgba(16, 185, 129, 0.12);
    color: #6EE7B7;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.nc-count-zero {
    background: rgba(239, 68, 68, 0.1);
    color: #FCA5A5;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

/* Opt-out note under segment dropdown */
.nc-optout-note {
    font-size: 0.78rem;
    color: #FCA5A5;
    margin-top: 4px;
}

/* Body label row */
.nc-body-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
}

/* Variable cheat-sheet button */
.nc-var-btn {
    background: rgba(201, 168, 76, 0.08);
    border: 1px solid rgba(201, 168, 76, 0.2);
    color: var(--gold-pale);
    border-radius: 7px;
    padding: 4px 10px;
    font-size: 0.78rem;
    font-family: 'Space Mono', monospace;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.nc-var-btn:hover {
    background: rgba(201, 168, 76, 0.16);
    border-color: rgba(201, 168, 76, 0.4);
}

/* Variable cheat-sheet popover */
.nc-var-popover {
    position: fixed;
    z-index: 20000;
    background: #1a1d2a;
    border: 1px solid var(--gold-border);
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
    min-width: 260px;
    max-width: 320px;
}

.nc-var-popover-title {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    padding: 2px 8px 8px;
    border-bottom: 1px solid var(--glass-border);
    margin-bottom: 6px;
}

.nc-var-item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.12s;
}

.nc-var-item:hover {
    background: rgba(201, 168, 76, 0.1);
}

.nc-var-item code {
    font-family: 'Space Mono', monospace;
    font-size: 0.78rem;
    color: var(--gold-bright);
    white-space: nowrap;
    flex-shrink: 0;
}

.nc-var-item span {
    font-size: 0.78rem;
    color: var(--text-muted);
}

/* Campaign footer */
.nc-campaign-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
    gap: 10px;
}

/* Preview member row */
.nc-preview-member-row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.nc-input-sm {
    flex: 1;
}

/* Automation section header */
.nc-section-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 8px;
    gap: 16px;
}

/* Automation N-days input */
.nc-rule-row {
    grid-template-columns: 56px 1fr auto auto auto;
}

.nc-rule-days {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nc-days-input {
    width: 60px;
    padding: 6px 8px;
    border-radius: 8px;
    border: 1px solid var(--glass-border);
    background: rgba(0, 0, 0, 0.3);
    color: var(--text-primary);
    font-family: 'Space Mono', monospace;
    font-size: 0.85rem;
    text-align: center;
    outline: none;
    transition: border-color 0.15s;
}

.nc-days-input:focus {
    border-color: rgba(201, 168, 76, 0.5);
}

.nc-days-label {
    font-size: 0.72rem;
    color: var(--text-muted);
    white-space: nowrap;
}

/* ===== OPT-OUT TAB ===== */
.nc-optout-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.nc-optout-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 4px;
}

.nc-optout-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 480px;
    overflow-y: auto;
}

.nc-optout-row {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 12px 16px;
    transition: border-color 0.15s;
}

.nc-optout-row.nc-optout-active {
    border-color: rgba(239, 68, 68, 0.25);
    background: rgba(239, 68, 68, 0.04);
}

.nc-optout-member {
    flex: 1;
    min-width: 0;
}

.nc-optout-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}

.nc-optout-email {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.nc-optout-status {
    min-width: 90px;
}

/* ===== SEND REPORT MODAL ===== */
.nc-report-modal {
    max-width: 440px;
}

.nc-report-body {
    padding: 20px 24px;
}

.nc-report-stats {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.nc-report-stat {
    flex: 1;
    text-align: center;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 14px 10px;
}

.nc-report-stat.nc-report-ok {
    border-color: rgba(16, 185, 129, 0.3);
    background: rgba(16, 185, 129, 0.06);
}

.nc-report-stat.nc-report-fail {
    border-color: rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.06);
}

.nc-report-stat-val {
    font-size: 2rem;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
    margin-bottom: 4px;
}

.nc-report-ok .nc-report-stat-val {
    color: #6EE7B7;
}

.nc-report-fail .nc-report-stat-val {
    color: #FCA5A5;
}

.nc-report-stat-lbl {
    font-size: 0.72rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nc-report-bar-wrap {
    height: 5px;
    background: rgba(255, 255, 255, 0.07);
    border-radius: 99px;
    overflow: hidden;
    margin-bottom: 14px;
}

.nc-report-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-bright));
    border-radius: 99px;
    transition: width 0.6s ease;
}

.nc-report-errors {
    margin-top: 10px;
}

.nc-report-err-title {
    font-size: 0.82rem;
    color: #FCA5A5;
    font-weight: 600;
    margin-bottom: 6px;
}

.nc-report-err-item {
    font-size: 0.78rem;
    color: var(--text-muted);
    padding: 3px 0;
}

/* ===== QUICK SEND MODAL ===== */
.nc-quicksend-modal {
    max-width: 480px;
    width: 90vw;
}

.nc-quicksend-body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nc-quicksend-footer {
    padding: 10px 20px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--glass-border);
}

.nc-qs-member-note {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.nc-qs-member-note strong {
    color: var(--gold-pale);
}


/* ============================================================
   LOGIN PAGE
   ============================================================ */

.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    position: relative;
    z-index: 1;
}

.login-card {
    width: 100%;
    max-width: 420px;
    background: var(--glass-surface);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-xl);
    padding: 48px 40px;
    backdrop-filter: blur(20px);
    box-shadow: var(--glass-shadow), 0 0 80px rgba(201, 168, 76, 0.06);
}

.login-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.login-logo h1 {
    font-size: 1.35rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--platinum) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.login-subtitle {
    color: var(--text-secondary);
    font-size: 0.88rem;
    margin-bottom: 32px;
    margin-top: 4px;
}

.login-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 18px;
}

.login-field label {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-secondary);
    letter-spacing: 0.03em;
}

.login-field input {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md);
    padding: 13px 16px;
    color: var(--text-primary);
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.login-field input:focus {
    border-color: var(--gold-primary);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12);
}

.login-field input:-webkit-autofill,
.login-field input:-webkit-autofill:hover,
.login-field input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #0e1420 inset;
    -webkit-text-fill-color: #F8FAFC;
    caret-color: #F8FAFC;
    border-color: rgba(201, 168, 76, 0.35);
    transition: background-color 9999s ease-in-out 0s;
}

.login-error {
    font-size: 0.84rem;
    color: #F87171;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 14px;
    display: none;
}

.login-error.visible {
    display: block;
}

.login-btn {
    width: 100%;
    justify-content: center;
    padding: 13px;
    font-size: 0.95rem;
    margin-top: 4px;
}

.login-footer {
    text-align: center;
    margin-top: 20px;
}

.login-footer-link {
    font-size: 0.82rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.login-footer-link:hover {
    color: var(--gold-pale);
}

@keyframes loginSpinAnim {
    to { transform: rotate(360deg); }
}

.login-spinner-icon {
    animation: loginSpinAnim 0.7s linear infinite;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
}


/* ============================================================
   SIDEBAR SIGN-OUT BUTTON
   ============================================================ */

.sidebar-signout {
    padding: 16px 12px;
    border-top: 1px solid var(--glass-border);
    margin-top: auto;
}

.sidebar-signout-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: left;
}

.sidebar-signout-btn:hover {
    background: rgba(239, 68, 68, 0.07);
    border-color: rgba(239, 68, 68, 0.25);
    color: #FCA5A5;
}


/* ============================================================
   PUBLIC SIGN-UP PAGE (pridruzi-se.html)
   ============================================================ */

.signup-page {
    display: flex;
    min-height: 100vh;
    max-width: 1160px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.signup-preview {
    /* nm-preview-panel already handles most styling */
    flex-shrink: 0;
}

.signup-form-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow-y: auto;
    max-height: 100vh;
}

.signup-success {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 60px 40px;
    text-align: center;
}

.signup-success-icon {
    font-size: 4rem;
    line-height: 1;
}

.signup-success h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--gold-bright);
    margin: 0;
}

.signup-success p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    max-width: 380px;
    line-height: 1.75;
    margin: 0;
}

@media (max-width: 768px) {
    .signup-page {
        flex-direction: column;
    }

    .signup-preview {
        display: none;
    }

    .signup-form-panel {
        max-height: none;
        height: auto;
    }
}


/* ============================================================
   PRIJAVE (ADMIN APPROVAL) VIEW
   ============================================================ */

.prijave-view {
    padding: 0;
}

/* --- Card row --- */
.prijava-row {
    background: linear-gradient(135deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    cursor: pointer;
}

.prijava-row:hover {
    border-color: rgba(201, 168, 76, 0.28);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(201, 168, 76, 0.1);
}

.prijava-row-main {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px 18px 0;
    transition: background 0.2s ease;
}

.prijava-row.expanded {
    border-color: var(--gold-primary);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(201, 168, 76, 0.2);
}

/* Gold left accent bar */
.prijava-accent-bar {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 60%, transparent 100%);
    border-radius: 0 2px 2px 0;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.prijava-row:hover .prijava-accent-bar,
.prijava-row.expanded .prijava-accent-bar {
    opacity: 1;
}

/* --- Avatar --- */
.prijava-avatar-wrap {
    padding-left: 16px;
    flex-shrink: 0;
}

.prijava-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.35), 0 0 12px rgba(201, 168, 76, 0.12);
    transition: box-shadow 0.2s ease;
}

.prijava-row:hover .prijava-avatar,
.prijava-row.expanded .prijava-avatar {
    box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.6), 0 0 18px rgba(201, 168, 76, 0.2);
}

/* --- Info block --- */
.prijava-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.prijava-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.01em;
}

.prijava-meta-row {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prijava-car-cell {
    min-width: 140px;
}

.prijava-car-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(201, 168, 76, 0.07);
    border: 1px solid rgba(201, 168, 76, 0.15);
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 0.72rem;
    color: var(--gold-pale);
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.02em;
    width: fit-content;
}

.prijava-car-logo {
    width: 14px;
    height: 14px;
    object-fit: contain;
    filter: brightness(0.85) saturate(0.6);
}

/* --- Chevron --- */
.prijava-chevron {
    color: var(--text-muted);
    transition: transform 0.3s ease, color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: -4px;
}

.prijava-row.expanded .prijava-chevron {
    transform: rotate(180deg);
    color: var(--gold-primary);
}

/* --- Date --- */
.prijava-date {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    gap: 2px;
}

.prijava-date-label {
    font-size: 0.65rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: 'Space Mono', monospace;
}

.prijava-date-value {
    font-size: 0.8rem;
    color: var(--text-secondary);
    font-family: 'Space Mono', monospace;
}

/* --- Actions --- */
.prijava-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    padding-right: 4px;
}

.prijava-btn-approve, .prijava-btn-reject {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.prijava-btn-approve {
    border: 1px solid rgba(16, 185, 129, 0.3);
    background: rgba(16, 185, 129, 0.05);
    color: #34D399;
}

.prijava-btn-approve:hover {
    background: rgba(16, 185, 129, 0.15);
    border-color: #10B981;
    transform: translateY(-1px);
}

.prijava-btn-reject {
    border: 1px solid rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.05);
    color: #FCA5A5;
}

.prijava-btn-reject:hover {
    background: rgba(239, 68, 68, 0.15);
    border-color: #EF4444;
    transform: translateY(-1px);
}

.prijava-btn-reject:active {
    transform: translateY(0);
}

/* --- Expanded Details Section --- */
.prijava-details {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    background: rgba(0, 0, 0, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.prijava-row.expanded .prijava-details {
    max-height: 1000px; /* Large enough to fit any detail */
    opacity: 1;
    padding: 24px 32px;
}

.prijava-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px;
}

.prijava-detail-section h4 {
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    color: var(--text-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.8;
}

.pd-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pd-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pd-label {
    font-size: 0.68rem;
    color: var(--text-muted);
}

.pd-value {
    font-size: 0.88rem;
    color: var(--text-primary);
    font-weight: 500;
}

.prijava-detail-notes {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.prijava-detail-notes p {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-top: 4px;
    background: rgba(201, 168, 76, 0.03);
    padding: 12px;
    border-radius: 8px;
    border-left: 2px solid var(--gold-primary);
}

/* --- Digital signature in expanded application --- */
.prijava-detail-signature {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.prijava-signature-img {
    display: block;
    margin-top: 10px;
    max-width: 320px;
    width: 100%;
    height: auto;
    background: #ffffff;
    border: 1px solid rgba(201, 168, 76, 0.25);
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

/* --- Empty state --- */
.prijave-empty {
    text-align: center;
    padding: 70px 24px;
    color: var(--text-secondary);
}

.prijave-empty h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.prijave-empty p {
    font-size: 0.88rem;
    line-height: 1.75;
    max-width: 360px;
    margin: 0 auto;
}


/* ============================================================
   REJECTION REASON PILLS
   ============================================================ */

.reject-reason-pill {
    padding: 7px 14px;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.reject-reason-pill:hover {
    border-color: rgba(201, 168, 76, 0.3);
    color: var(--gold-pale);
}

.reject-reason-pill.active {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.4);
    color: #FCA5A5;
}


/* ============================================================
   EMAIL SETTINGS MODAL — admin emails list
   ============================================================ */

.ejs-admin-email-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
}

.ejs-admin-email-val {
    font-size: 0.84rem;
    color: var(--text-primary);
    font-family: 'Space Mono', monospace;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ejs-admin-email-remove {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 3px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.ejs-admin-email-remove:hover {
    color: #FCA5A5;
}


/* ============================================================
   FORGOT PASSWORD — login.html additions
   ============================================================ */

.login-forgot-wrap {
    text-align: center;
    margin-top: 14px;
}

.login-forgot-link {
    font-size: 0.82rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.login-forgot-link:hover {
    color: var(--gold-pale);
}

.login-reset-hint {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.65;
    margin-bottom: 20px;
    margin-top: 4px;
}

.login-reset-status {
    font-size: 0.85rem;
    min-height: 20px;
    border-radius: 8px;
    padding: 0;
    display: none;
    margin-bottom: 12px;
}

.login-reset-status.visible {
    display: block;
    padding: 10px 14px;
}

.login-reset-status--ok {
    background: rgba(110, 231, 183, 0.08);
    border: 1px solid rgba(110, 231, 183, 0.25);
    color: #6EE7B7;
}

.login-reset-status--err {
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.25);
    color: #FCA5A5;
}


/* ============================================================
   PRIJAVE SEARCH
   ============================================================ */

.prijave-search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 8px 14px;
    min-width: 260px;
    transition: border-color 0.15s ease;
}

.prijave-search-wrap:focus-within {
    border-color: rgba(201, 168, 76, 0.35);
    background: rgba(201, 168, 76, 0.03);
}

.prijave-search-input {
    background: none;
    border: none;
    outline: none;
    color: var(--text-primary);
    font-family: 'Poppins', sans-serif;
    font-size: 0.84rem;
    width: 100%;
}

.prijave-search-input::placeholder {
    color: var(--text-muted);
}


/* ============================================================
   MULTI-STEP SIGN-UP PAGE — sp-* classes
   ============================================================ */

/* Top header bar */
.sp-header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    height: 56px;
    background: rgba(6, 8, 16, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sp-header-brand {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
}

.sp-header-name {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold-bright), var(--gold-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 0.02em;
}

.sp-header-title {
    font-size: 0.82rem;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sp-header-login {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: var(--text-muted);
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.sp-header-login:hover {
    color: var(--gold-pale);
    border-color: rgba(201, 168, 76, 0.25);
    background: rgba(201, 168, 76, 0.05);
}

/* Main layout */
.sp-page {
    display: flex;
    height: calc(100vh - 56px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    gap: 48px;
    position: relative;
    z-index: 1;
}

/* Preview sidebar */
.sp-preview {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 0 40px;
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    overflow: hidden;
}

.sp-preview .nm-particles-canvas {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.sp-preview .nm-preview-label,
.sp-preview .nm-card,
.sp-preview .nm-preview-hints {
    position: relative;
    z-index: 1;
}

/* Form wizard container */
.sp-form-wrap {
    flex: 1;
    min-width: 0;
    /* min-height:0 lets this flex child shrink below its content height so its
       own overflow-y:auto scroll engages (default min-height:auto would let it
       grow past the viewport, pushing the Naprej button out of the clipped body). */
    min-height: 0;
    padding: 36px 0 60px;
    overflow-y: auto;
}

/* Progress stepper */
.sp-stepper {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 36px;
}

.sp-stepper-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.sp-stepper-line {
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 0 8px;
    margin-bottom: 22px;
    transition: background 0.3s ease;
}

.sp-dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-muted);
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.sp-dot.sp-dot-active {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.25), rgba(201, 168, 76, 0.1));
    border-color: var(--gold-primary);
    color: var(--gold-bright);
    box-shadow: 0 0 14px rgba(201, 168, 76, 0.2);
}

.sp-dot.sp-dot-done {
    background: rgba(201, 168, 76, 0.15);
    border-color: rgba(201, 168, 76, 0.4);
    color: var(--gold-primary);
}

.sp-dot.sp-dot-done::before {
    content: '✓';
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
}

.sp-dot.sp-dot-done { font-size: 0; }

.sp-step-label {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-family: 'Poppins', sans-serif;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.sp-step-label.sp-step-label-active {
    color: var(--gold-pale);
    font-weight: 600;
}

.sp-step-label.sp-step-label-done {
    color: var(--gold-primary);
}

/* Step panels */
.sp-step {
    animation: spStepIn 0.25s ease forwards;
}

.sp-step-hidden {
    display: none !important;
}

@keyframes spStepIn {
    from { opacity: 0; transform: translateX(12px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* Step heading */
.sp-step-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sp-step-num {
    font-family: 'Space Mono', monospace;
    font-size: 1.6rem;
    font-weight: 700;
    color: rgba(201, 168, 76, 0.2);
    line-height: 1;
    flex-shrink: 0;
}

.sp-step-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}

.sp-step-sub {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Sub-section divider within a step */
.sp-sub-section {
    margin-top: 24px;
}

.sp-sub-label {
    font-size: 0.7rem;
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Navigation buttons */
.sp-nav-btns {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    gap: 12px;
}

.sp-nav-first {
    justify-content: flex-end;
}

.sp-btn-next,
.sp-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 11px 22px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-ghost {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-secondary);
}

.btn-ghost:hover {
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.04);
}

/* Step 1 validation error */
.sp-step-error {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.25);
    border-radius: 8px;
    color: #FCA5A5;
    font-size: 0.83rem;
}

/* Step 3 submit error */
.sp-submit-error {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.25);
    border-radius: 8px;
    color: #FCA5A5;
    font-size: 0.83rem;
}

/* Success state */
.sp-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    text-align: center;
    gap: 16px;
    padding: 40px 24px;
}

.sp-success-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(201, 168, 76, 0.1);
    border: 1px solid rgba(201, 168, 76, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 32px rgba(201, 168, 76, 0.15);
    margin-bottom: 8px;
}

.sp-success h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold-bright), var(--gold-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.sp-success p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    max-width: 400px;
    line-height: 1.75;
    margin: 0;
}

.sp-success-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}

/* Responsive */
@media (max-width: 1024px) {
    .sp-preview {
        display: none;
    }

    .sp-page {
        padding: 0 20px;
    }
}

@media (max-width: 640px) {
    .sp-header {
        padding: 0 16px;
    }

    .sp-header-title {
        display: none;
    }

    .sp-page {
        padding: 0 16px;
    }

    .sp-stepper {
        margin-bottom: 24px;
    }

    .sp-form-wrap {
        padding: 24px 0 48px;
    }

    .sp-step-heading {
        margin-bottom: 18px;
    }
}


/* ============================================================
   VLOGA STATUS PAGE — vs-* classes
   ============================================================ */

.vs-card {
    max-width: 480px;
}

.vs-result {
    margin-top: 20px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    text-align: center;
    animation: fadeInUp 0.25s ease forwards;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.vs-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 99px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.83rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.vs-badge-pending {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #F59E0B;
}

.vs-badge-approved {
    background: rgba(110, 231, 183, 0.08);
    border: 1px solid rgba(110, 231, 183, 0.25);
    color: #6EE7B7;
}

.vs-badge-rejected {
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.25);
    color: #FCA5A5;
}

.vs-badge-notfound {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-muted);
}

.vs-name {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 8px;
}

.vs-member-num {
    font-family: 'Space Mono', monospace;
    font-size: 0.82rem;
    color: var(--gold-primary);
    background: rgba(201, 168, 76, 0.08);
    border: 1px solid rgba(201, 168, 76, 0.2);
    padding: 4px 12px;
    border-radius: 6px;
    display: inline-block;
    margin: 0 0 10px;
}

.vs-detail {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0 0 6px;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
}

.vs-meta {
    font-size: 0.78rem;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    margin: 4px 0 0;
}

/* ============================================================
   DASHBOARD VIEW
   ============================================================ */

.dashboard-view { padding: 0; min-height: 100%; }

.db-wrap {
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 1200px;
}

/* ── Stat cards row ── */
.db-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.db-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 20px;
    border-left: 3px solid transparent;
    transition: transform 0.15s ease;
}

.db-stat-card.db-clickable { cursor: pointer; }
.db-stat-card.db-clickable:hover { transform: translateY(-2px); }

.db-stat-green  { border-left-color: #22C55E; }
.db-stat-red    { border-left-color: #EF4444; }
.db-stat-gold   { border-left-color: var(--gold-primary); }
.db-stat-blue   { border-left-color: #60A5FA; }

.db-stat-icon {
    font-size: 1.4rem;
    opacity: 0.65;
    width: 36px;
    text-align: center;
    flex-shrink: 0;
}

.db-stat-body { display: flex; flex-direction: column; }

.db-stat-val {
    font-family: 'Space Mono', monospace;
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.db-stat-lbl {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 5px;
}

/* ── Two-column body ── */
.db-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

/* ── Panels ── */
.db-panel {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    padding: 22px 24px;
}

.db-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.db-panel-title {
    font-family: 'Space Mono', monospace;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.db-panel-link {
    background: none;
    border: none;
    color: var(--gold-primary);
    font-size: 0.78rem;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    opacity: 0.65;
    padding: 0;
    transition: opacity 0.15s;
}
.db-panel-link:hover { opacity: 1; }

/* ── Renewal bar ── */
.db-renewal-bar {
    display: flex;
    height: 10px;
    border-radius: 99px;
    overflow: hidden;
    gap: 2px;
    margin-bottom: 18px;
    background: rgba(255,255,255,0.04);
}

.db-renewal-seg {
    height: 100%;
    border-radius: 99px;
    min-width: 3px;
}

.db-seg-green  { background: #22C55E; }
.db-seg-yellow { background: #F59E0B; }
.db-seg-red    { background: #EF4444; }

.db-renewal-legend {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.db-legend-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 0.84rem;
    color: var(--text-secondary);
}

.db-legend-item strong {
    color: var(--text-primary);
    margin-left: auto;
    font-family: 'Space Mono', monospace;
    font-size: 0.82rem;
}

.db-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.db-dot-green  { background: #22C55E; }
.db-dot-yellow { background: #F59E0B; }
.db-dot-red    { background: #EF4444; }

.db-renewal-total {
    margin-top: 14px;
    font-size: 0.78rem;
    color: var(--text-muted);
    border-top: 1px solid var(--card-border);
    padding-top: 12px;
}

/* ── Pending rows ── */
.db-pending-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.db-pending-row:last-child { border-bottom: none; }

.db-pending-name {
    font-size: 0.9rem;
    color: var(--text-primary);
    font-weight: 500;
}
.db-pending-meta {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.db-pending-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.db-action-btn {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid;
    font-size: 0.82rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    font-family: 'Poppins', sans-serif;
}

.db-action-approve {
    background: rgba(34,197,94,0.1);
    border-color: rgba(34,197,94,0.3);
    color: #22C55E;
}
.db-action-approve:hover { background: rgba(34,197,94,0.25); }

.db-action-reject {
    background: rgba(239,68,68,0.1);
    border-color: rgba(239,68,68,0.3);
    color: #EF4444;
}
.db-action-reject:hover { background: rgba(239,68,68,0.25); }

/* ── Recently joined grid ── */
.db-recent-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.db-recent-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.06);
    transition: background 0.15s;
    cursor: pointer;
}
.db-recent-row:hover { background: rgba(201,168,76,0.07); border-color: rgba(201,168,76,0.2); }

.db-recent-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(201,168,76,0.28), rgba(201,168,76,0.08));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Space Mono', monospace;
    font-size: 0.85rem;
    color: var(--gold-primary);
    flex-shrink: 0;
    border: 1px solid rgba(201,168,76,0.2);
}

.db-recent-info { flex: 1; min-width: 0; }

.db-recent-name {
    font-size: 0.84rem;
    color: var(--text-primary);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-recent-meta {
    font-size: 0.73rem;
    color: var(--text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-recent-date {
    font-size: 0.7rem;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    flex-shrink: 0;
}

.db-empty {
    color: var(--text-muted);
    font-size: 0.85rem;
    padding: 16px 0;
    text-align: center;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .db-stats-row { grid-template-columns: repeat(2, 1fr); }
    .db-body { grid-template-columns: 1fr; }
    .db-recent-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 580px) {
    .db-stats-row { grid-template-columns: 1fr 1fr; }
    .db-recent-grid { grid-template-columns: 1fr; }
    .db-wrap { padding: 16px; }
}

/* ── Signature pad ─────────────────────────────────────────── */
.sig-pad-wrap {
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255,255,255,0.04);
}
.sig-pad-canvas {
    display: block;
    width: 100%;
    height: 160px;
    cursor: crosshair;
    touch-action: none;
    background: #ffffff;
}
.sig-pad-actions {
    display: flex;
    justify-content: flex-end;
    padding: 6px 10px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.sig-pad-clear {
    background: none;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    color: rgba(255,255,255,0.45);
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    padding: 4px 12px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.sig-pad-clear:hover {
    border-color: rgba(201,168,76,0.4);
    color: rgba(201,168,76,0.8);
}

select.nm-input {
    appearance: none;
    -webkit-appearance: none;
    background-color: rgba(255, 255, 255, 0.07);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}
select.nm-input option {
    background: #0e1420;
    color: #F8FAFC;
}