    :root {
      --fmv-gold:       #C5A028;
      --fmv-gold-dark:  #A68720;
      --fmv-gold-light: rgba(197, 160, 40, 0.1);
      --fmv-gold-glow:  rgba(197, 160, 40, 0.03);
      --fmv-platinum:   #F2F3F4;
      --fmv-dark:       #111827;
      --fmv-text:       #4B5563;
      --fmv-muted:      #9CA3AF;
      --fmv-bg:         #FFFFFF;
      --fmv-surface:    #F9FAFB;
      --fmv-border:     #E5E7EB;
      
      --font-heading:   'Cinzel', serif;
      --font-body:      'Plus Jakarta Sans', sans-serif;
      
      --radius-lg:      32px;
      --radius-md:      24px;
      --radius-sm:      16px;
      --shadow-premium: 0 20px 50px rgba(0, 0, 0, 0.05);
      --shadow-gold:    0 10px 30px rgba(197, 160, 40, 0.15);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      font-family: var(--font-body);
      background-color: var(--fmv-surface);
      color: var(--fmv-text);
      line-height: 1.6;
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: var(--font-heading);
      color: var(--fmv-dark);
      font-weight: 700;
    }

    .navbar-fmv {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--fmv-border);
      padding: 1rem 0;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    }

    .navbar-brand-fmv {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
    }

    .logo-container {
      width: 40px;
      height: 40px;
      background: var(--fmv-gold);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-gold);
    }

    .logo-text {
      font-family: var(--font-heading);
      font-weight: 800;
      font-size: 1.2rem;
      color: var(--fmv-dark);
      letter-spacing: 0.05em;
    }

    .logo-text span {
      color: var(--fmv-gold);
      font-weight: 400;
    }

    .nav-link-fmv {
      font-weight: 600;
      font-size: 0.9rem;
      color: var(--fmv-dark) !important;
      margin: 0 10px;
      transition: color 0.2s;
    }

    .nav-link-fmv:hover { color: var(--fmv-gold) !important; }

    .btn-gold {
      background: linear-gradient(135deg, #EEDC82 0%, var(--fmv-gold) 50%, var(--fmv-gold-dark) 100%);
      color: var(--fmv-dark) !important;
      font-weight: 700;
      padding: 12px 28px;
      border-radius: 12px;
      border: none;
      transition: all 0.3s ease;
      box-shadow: var(--shadow-gold);
    }

    .btn-gold:hover {
      filter: brightness(1.1);
      transform: translateY(-2px);
      box-shadow: 0 15px 35px rgba(197, 160, 40, 0.25);
    }

    .page-header {
      background: white;
      padding: 30px 0;
      border-bottom: 1px solid var(--fmv-border);
    }

    .page-header h1 {
      font-size: 2rem;
      margin-bottom: 0.5rem;
    }

    .page-header p {
      color: var(--fmv-muted);
      margin-bottom: 0;
    }

    .main-content {
      padding: 40px 0;
    }

    /* KPI Cards */
    .kpi-card {
      background: white;
      border: 1px solid var(--fmv-border);
      border-radius: var(--radius-md);
      padding: 32px;
      transition: all 0.3s ease;
      display: flex;
      flex-direction: column;
    }

    .kpi-card:hover {
      border-color: var(--fmv-gold);
      box-shadow: var(--shadow-premium);
      transform: translateY(-4px);
    }

    .kpi-label {
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--fmv-muted);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 0.75rem;
    }

    .kpi-value {
      font-size: 1.75rem;
      font-weight: 800;
      color: var(--fmv-dark);
      margin-bottom: 0.5rem;
    }

    .kpi-change {
      font-size: 0.9rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .kpi-change.positive { color: #10B981; }
    .kpi-change.negative { color: #EF4444; }

    .kpi-icon {
      width: 48px;
      height: 48px;
      background: var(--fmv-gold-light);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--fmv-gold);
      font-size: 1.5rem;
      margin-bottom: 1rem;
    }

    /* Price Ticker */
    .ticker-item {
      padding: 16px;
      border-bottom: 1px solid var(--fmv-border);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .ticker-item:last-child {
      border-bottom: none;
    }

    .ticker-metal {
      display: flex;
      align-items: center;
      gap: 12px;
      flex: 1;
    }

    .ticker-icon {
      width: 40px;
      height: 40px;
      background: var(--fmv-gold-light);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--fmv-gold);
      font-weight: 700;
      font-size: 0.75rem;
    }

    .ticker-name {
      font-weight: 600;
      color: var(--fmv-dark);
    }

    .ticker-symbol {
      font-size: 0.8rem;
      color: var(--fmv-muted);
    }

    .ticker-price {
      font-weight: 700;
      font-size: 1.1rem;
      color: var(--fmv-dark);
      min-width: 120px;
      text-align: right;
    }

    .ticker-change {
      font-weight: 600;
      font-size: 0.9rem;
      min-width: 80px;
      text-align: right;
    }

    .ticker-change.up { color: #10B981; }
    .ticker-change.down { color: #EF4444; }

    /* Chart Container */
    .chart-container {
      background: white;
      border: 1px solid var(--fmv-border);
      border-radius: var(--radius-md);
      padding: 24px;
      height: 400px;
      margin-bottom: 24px;
    }

    .chart-title {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--fmv-dark);
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .chart-title i {
      color: var(--fmv-gold);
      font-size: 1.5rem;
    }

    /* Widget Card */
    .widget-card {
      background: white;
      border: 1px solid var(--fmv-border);
      border-radius: var(--radius-md);
      padding: 24px;
      margin-bottom: 24px;
    }

    .widget-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--fmv-dark);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .widget-title i {
      color: var(--fmv-gold);
      font-size: 1.3rem;
    }

    /* Portfolio Health Score */
    .health-score {
      text-align: center;
      padding: 20px 0;
    }

    .health-value {
      font-size: 3rem;
      font-weight: 800;
      color: var(--fmv-gold);
      margin-bottom: 8px;
    }

    .health-label {
      font-size: 0.9rem;
      color: var(--fmv-muted);
      font-weight: 600;
      margin-bottom: 16px;
    }

    .health-bar {
      width: 100%;
      height: 8px;
      background: var(--fmv-border);
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 8px;
    }

    .health-bar-fill {
      height: 100%;
      background: linear-gradient(90deg, #10B981 0%, var(--fmv-gold) 50%, #EF4444 100%);
      width: 72%;
    }

    .health-status {
      font-size: 0.85rem;
      color: #10B981;
      font-weight: 600;
    }

    /* Market Sentiment */
    .sentiment-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 0;
      border-bottom: 1px solid var(--fmv-border);
    }

    .sentiment-item:last-child {
      border-bottom: none;
    }

    .sentiment-label {
      font-weight: 600;
      color: var(--fmv-dark);
    }

    .sentiment-indicator {
      width: 100px;
      height: 24px;
      background: var(--fmv-border);
      border-radius: 12px;
      overflow: hidden;
    }

    .sentiment-bar {
      height: 100%;
      background: linear-gradient(90deg, #EF4444, #FBBF24, #10B981);
      width: 65%;
    }

    /* Transaction List */
    .transaction-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
      border-bottom: 1px solid var(--fmv-border);
    }

    .transaction-item:last-child {
      border-bottom: none;
    }

    .transaction-icon {
      width: 40px;
      height: 40px;
      background: var(--fmv-gold-light);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--fmv-gold);
      margin-right: 12px;
      flex-shrink: 0;
    }

    .transaction-info {
      flex: 1;
    }

    .transaction-type {
      font-weight: 600;
      color: var(--fmv-dark);
      font-size: 0.95rem;
    }

    .transaction-meta {
      font-size: 0.85rem;
      color: var(--fmv-muted);
    }

    .transaction-amount {
      text-align: right;
      font-weight: 700;
      color: var(--fmv-dark);
    }

    /* Footer */
    .footer-premium {
      background: white;
      border-top: 1px solid var(--fmv-border);
      padding: 40px 0 20px;
      margin-top: 60px;
    }

    /* ===============================================
       SIDEBAR NAVIGATION
    =============================================== */
    .sidebar-nav {
      background: white;
      border-right: 1px solid var(--fmv-border);
      min-height: calc(100vh - 80px);
      padding: 32px 0;
      position: sticky;
      top: 80px;
    }

    .nav-section-title {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--fmv-muted);
      font-weight: 700;
      padding: 0 24px;
      margin-bottom: 16px;
      margin-top: 24px;
    }

    .nav-section-title:first-of-type {
      margin-top: 0;
    }

    .sidebar-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 24px;
      color: var(--fmv-text);
      text-decoration: none;
      font-weight: 500;
      transition: all 0.2s;
      border-left: 3px solid transparent;
    }

    .sidebar-link:hover {
      background: var(--fmv-surface);
      color: var(--fmv-gold);
      border-left-color: var(--fmv-gold);
    }

    .sidebar-link.active {
      background: var(--fmv-gold-light);
      color: var(--fmv-gold);
      border-left-color: var(--fmv-gold);
      font-weight: 700;
    }

    .sidebar-link i {
      width: 20px;
      text-align: center;
      font-size: 1.1rem;
    }

    /* ===============================================
       MAIN CONTENT WRAPPER
    =============================================== */
    .dashboard-wrapper {
      display: flex;
      gap: 0;
    }

    .dashboard-sidebar {
      flex: 0 0 220px;
    }

    .dashboard-main {
      flex: 1;
      min-width: 0;
    }

    /* ===============================================
       HOLDINGS TABLE
    =============================================== */
    .holdings-table-wrapper {
      background: white;
      border: 1px solid var(--fmv-border);
      border-radius: var(--radius-md);
      padding: 24px;
      margin-bottom: 24px;
      overflow-x: auto;
    }

    .holdings-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.9rem;
    }

    .holdings-table thead {
      background: var(--fmv-surface);
      border-bottom: 2px solid var(--fmv-border);
    }

    .holdings-table th {
      padding: 12px;
      text-align: left;
      font-weight: 700;
      color: var(--fmv-dark);
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .holdings-table tbody tr {
      border-bottom: 1px solid var(--fmv-border);
      transition: background 0.2s;
    }

    .holdings-table tbody tr:hover {
      background: var(--fmv-surface);
    }

    .holdings-table td {
      padding: 14px 12px;
    }

    .coin-name {
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 600;
      color: var(--fmv-dark);
    }

    .coin-icon {
      width: 32px;
      height: 32px;
      background: var(--fmv-gold-light);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--fmv-gold);
      font-weight: 700;
      font-size: 0.75rem;
    }

    .price-positive {
      color: #10B981;
    }

    .price-negative {
      color: #EF4444;
    }

    @media (max-width: 992px) {
      .dashboard-sidebar {
        display: none;
      }
      .dashboard-wrapper {
        flex-direction: column;
      }
    }

    @media (max-width: 768px) {
      .kpi-card { padding: 24px; }
      .chart-container { height: 300px; }
      .kpi-value { font-size: 1.4rem; }
      .holdings-table-wrapper {
        padding: 16px;
      }
      .holdings-table th, .holdings-table td {
        padding: 10px 8px;
        font-size: 0.8rem;
      }
    }
