/* roulang page: index */
:root {
      --color-primary: #059669;
      --color-primary-hover: #047857;
      --color-dark: #0f172a;
      --color-darker: #0b1120;
      --color-slate-bg: #f8fafc;
      --color-border: rgba(226, 232, 240, 0.85);
      --radius-standard: 0.75rem;
      --shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
      --shadow-hover: 0 12px 20px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
      --transition-standard: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }
    *, *::before, *::after {
      box-sizing: border-box;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      line-height: 1.75;
      color: #334155;
      background-color: #ffffff;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    .custom-card {
      background: #ffffff;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-standard);
      box-shadow: var(--shadow-soft);
      transition: var(--transition-standard);
    }
    .custom-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-2px);
    }
    .dark-card {
      background: #111827;
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: var(--radius-standard);
      transition: var(--transition-standard);
    }
    .dark-card:hover {
      border-color: rgba(5, 150, 105, 0.5);
      transform: translateY(-2px);
    }
    .btn-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background-color: var(--color-primary);
      color: #ffffff;
      font-weight: 600;
      border-radius: 0.5rem;
      padding: 0.75rem 1.5rem;
      min-height: 44px;
      min-width: 44px;
      transition: var(--transition-standard);
      text-decoration: none;
    }
    .btn-primary:hover {
      background-color: var(--color-primary-hover);
      box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
    }
    .btn-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background-color: #ffffff;
      color: #0f172a;
      border: 1px solid #cbd5e1;
      font-weight: 600;
      border-radius: 0.5rem;
      padding: 0.75rem 1.5rem;
      min-height: 44px;
      min-width: 44px;
      transition: var(--transition-standard);
      text-decoration: none;
    }
    .btn-secondary:hover {
      background-color: #f8fafc;
      border-color: #94a3b8;
    }
    .badge-pill {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      font-size: 0.75rem;
      font-weight: 600;
      border-radius: 9999px;
    }
    .table-container {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out;
    }
    .accordion-item.active .accordion-content {
      max-height: 300px;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
    .tab-btn.active {
      background-color: #059669;
      color: #ffffff;
      border-color: #059669;
    }
