  @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Playfair+Display:wght@400;700&display=swap');
        
  
 .dashboard-container {
     width: 100%;
     max-width: 680px;
     background: white;
     border-radius: 16px;
     padding: 2rem;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
     position: relative;
     overflow: hidden;
 }

 .dashboard-container::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 6px;
     background: linear-gradient(90deg, var(--blue-pastel), var(--lavender-pastel), var(--mint-pastel), var(--peach-pastel));
 }

 .dashboard-header {
     margin-bottom: 2rem;
     opacity: 0;
     transform: translateY(20px);
     animation: fadeInUp 0.8s ease forwards;
 }

 .dashboard-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.8rem;
     font-weight: 700;
     margin-bottom: 0.5rem;
     color: var(--primary-text);
 }

 .dashboard-subtitle {
     font-size: 0.95rem;
     color: var(--secondary-text);
     line-height: 1.5;
 }

 .counter-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1.5rem;
     margin-bottom: 2rem;
 }

 .counter-card {
     background: white;
     border-radius: 12px;
     padding: 1.5rem;
     text-align: center;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     opacity: 0;
     transform: translateY(20px);
     position: relative;
     overflow: hidden;
 }

 .counter-card::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 4px;
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.5s ease;
 }

 .counter-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
 }

 .counter-card:hover::after {
     transform: scaleX(1);
 }

 .counter-card:nth-child(1)::after {
     background: var(--blue-pastel);
 }

 .counter-card:nth-child(2)::after {
     background: var(--lavender-pastel);
 }

 .counter-card:nth-child(3)::after {
     background: var(--mint-pastel);
 }

 .counter-card:nth-child(4)::after {
     background: var(--peach-pastel);
 }

 .counter-card:nth-child(1) {
     animation: fadeInUp 0.8s ease forwards 0.2s;
     background-color: rgba(191, 219, 254, 0.1);
 }

 .counter-card:nth-child(2) {
     animation: fadeInUp 0.8s ease forwards 0.4s;
     background-color: rgba(233, 213, 255, 0.1);
 }

 .counter-card:nth-child(3) {
     animation: fadeInUp 0.8s ease forwards 0.6s;
     background-color: rgba(167, 243, 208, 0.1);
 }

 .counter-card:nth-child(4) {
     animation: fadeInUp 0.8s ease forwards 0.8s;
     background-color: rgba(254, 202, 202, 0.1);
 }

 .counter-value {
     font-size: 2.5rem;
     font-weight: 600;
     margin-bottom: 0.5rem;
     display: flex;
     align-items: center;
     justify-content: center;
     height: 60px;
 }

 .counter-label {
     font-size: 0.9rem;
     color: var(--secondary-text);
     font-weight: 500;
 }

 .counter-icon {
     width: 40px;
     height: 40px;
     margin: 0 auto 1rem;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 8px;
 }

 .counter-card:nth-child(1) .counter-icon {
     background-color: var(--blue-pastel);
 }

 .counter-card:nth-child(2) .counter-icon {
     background-color: var(--lavender-pastel);
 }

 .counter-card:nth-child(3) .counter-icon {
     background-color: var(--mint-pastel);
 }

 .counter-card:nth-child(4) .counter-icon {
     background-color: var(--peach-pastel);
 }

 .progress-section {
     opacity: 0;
     transform: translateY(20px);
     animation: fadeInUp 0.8s ease forwards 1s;
 }

 .progress-title {
     font-size: 1.1rem;
     font-weight: 600;
     margin-bottom: 1rem;
     display: flex;
     align-items: center;
 }

 .progress-title svg {
     margin-right: 8px;
 }

 .progress-bars {
     display: flex;
     flex-direction: column;
     gap: 1rem;
 }

 .progress-item {
     margin-bottom: 1rem;
 }

 .progress-header {
     display: flex;
     justify-content: space-between;
     margin-bottom: 0.5rem;
 }

 .progress-name {
     font-size: 0.9rem;
     font-weight: 500;
 }

 .progress-percentage {
     font-size: 0.9rem;
     font-weight: 600;
 }

 .progress-bar {
     height: 8px;
     background-color: #EEF2F6;
     border-radius: 4px;
     overflow: hidden;
 }

 .progress-fill {
     height: 100%;
     width: 0;
     border-radius: 4px;
     transition: width 1.5s ease;
 }

 .progress-fill-1 {
     background: linear-gradient(90deg, var(--blue-pastel), var(--lavender-pastel));
 }

 .progress-fill-2 {
     background: linear-gradient(90deg, var(--mint-pastel), var(--peach-pastel));
 }

 .dashboard-footer {
     margin-top: 2rem;
     text-align: center;
     font-size: 0.85rem;
     color: var(--secondary-text);
     opacity: 0;
     animation: fadeInUp 0.8s ease forwards 1.2s;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .dot-pattern {
     position: absolute;
     width: 160px;
     height: 160px;
     z-index: -1;
     opacity: 0.5;
 }

 .dot-pattern-1 {
     top: -50px;
     right: -50px;
     background-image: radial-gradient(var(--blue-pastel) 2px, transparent 2px);
     background-size: 15px 15px;
 }

 .dot-pattern-2 {
     bottom: -50px;
     left: -50px;
     background-image: radial-gradient(var(--lavender-pastel) 2px, transparent 2px);
     background-size: 15px 15px;
 }

 @media (max-width: 600px) {
     .counter-grid {
         grid-template-columns: 1fr;
         gap: 1rem;
     }

     .dashboard-container {
         padding: 1.5rem;
     }

     .dashboard-title {
         font-size: 1.5rem;
     }

     .counter-value {
         font-size: 2rem;
         height: 50px;
     }
 }