  /* Modern Market Research Dashboard CSS */
  /*:root {
      
      --primary-color: #191919;
      --secondary-color: #1F1F1F;
      --text-primary: #BDBBB7;
      --shadow: rgba(50, 53, 56, 0.1) 0px 8px 24px;
  }*/

  :root {

      --primary-color: #f9f9f9;
      --secondary-color: #ffffff;
      --text-primary: #5a5a5a;
      --text-dark: #000000;
      --blue-primary: #0278FF;
      --shadow: rgba(140, 148, 156, 0.1) 0px 8px 24px;
  }

  a {
      text-decoration: none;
  }

  .t-btn {
      position: fixed;
      float: right;
      width: 150px;
      height: 150px;
      border-radius: 50%;
      color: #f9f9f9;
      background-color: var(--blue-primary);
  }

  tbody {
      padding: 2em;
  }

  table {
      margin: 0;
      width: 100%;
      table-layout: fixed;
      border-radius: 15px;
      background-color: var(--secondary-color);

  }

  table caption {
      font-size: 1.5em;
      margin: .5em 0 .75em;
  }

  table tr {

      border-bottom: 1px solid var(--primary-color);
      padding: .35em;
  }

  table th,
  table td {
      padding: 1.5em;
      text-align: center;
  }

  table th {
      font-size: .85em;
      letter-spacing: .1em;
      text-transform: uppercase;
  }


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

  body {
      font-family: 'Space Grotesk', sans-serif;
      background-color: var(--primary-color);
      color: var(--text-primary);
      line-height: 1.6;
  }

  /* Dashboard Layout */
  .dashboard {
      width: 100%;

  }

  /* Sidebar Styles */


  .logo {
      padding: 0 20px 20px;
      border-bottom: 1px solid var(--border-color);
      margin-bottom: 20px;
  }

  .logo h2 {
      color: var(--primary-color);
      font-weight: 700;
  }

  #myNavList {
      display: flex;
      flex-direction: column;
  }

  #myNavList .nav-links {
      padding: 1em 2em;
      text-decoration: none;
  }

  #dol,
  #report,
  #incept,
  #abonos,
  #retiros,
  #news {
      padding-top: 2em;
      margin-top: 1em;
      padding: 1em;
  }

  .nav-links {
      padding: 10px 20px;
      margin-bottom: 5px;
      border-radius: 8px;
      margin-left: 10px;
      margin-right: 10px;
      transition: all .2s ease;
      color: var(--text-dark);
  }


  .nav-links.active {
      color: var(--blue-primary);
  }

  .nav-links.active a {
      color: var(--primary-color);
      font-weight: 600;
  }

  .nav-links:hover:not(.active) {
      background-color: var(--blue-primary);
      color: var(--secondary-color);
  }

  .user-info {
      margin-left: 10px;

  }

  .logo {
      margin-left: 20px;
  }

  .user-flex {
      display: flex;
      margin-bottom: 1em;
  }

  .user-profile {

      padding: 15px 20px;
      display: flex;
      flex-direction: column;
      align-items: start;
      border-top: 1px solid var(--border-color);
      margin-top: auto;
  }

  .avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
  }

  .rt-button {

      padding: 15px 20px;
      margin-bottom: 5px;
      border-radius: 8px;
      transition: all 0.3s ease;
      list-style: none;
      background-color: var(--blue-primary);
      color: #ffffff;
      text-align: center;
  }

  .user-profile a {
      width: 100%;
  }

  .rt-button-r {

      padding: 15px 20px;
      margin-bottom: 5px;
      border-radius: 8px;
      transition: all 0.3s ease;
      list-style: none;
      background-color: #000000;
      color: #ffffff;
      text-align: center;
  }

  .user-info h4 {
      font-size: 18px;
      font-weight: 600;
  }

  .user-info p {
      font-size: 14px;
      color: var(--text-muted);
  }

  /* Main Content Styles */
  .sidebar {
      width: 300px;
      background-color: var(--secondary-color);
      box-shadow: var(--shadow);
      padding: 20px 0;
      display: flex;
      flex-direction: column;
      position: fixed;
      height: 100vh;
      z-index: 10;
  }

  .content {
      flex: 1;
      padding: 20px;
      margin-left: 300px;
      width: calc(100% - 300px);
  }

  .top-bar {

      margin-bottom: 30px;
      background-color: white;
      padding: 15px 20px;
      border-radius: 10px;
      box-shadow: var(--shadow);
  }

  .search-container {
      display: flex;
      align-items: center;
      background-color: var(--bg-light);
      border-radius: 8px;
      padding: 8px 15px;
      width: 350px;
  }

  .search-container input {
      border: none;
      background: transparent;
      padding: 5px;
      width: 100%;
      outline: none;
      font-size: 14px;
  }

  .search-btn {
      background: none;
      border: none;
      color: var(--secondary-color);
      cursor: pointer;
  }

  .top-bar-actions {
      width: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
  }

  .notification-btn {
      background: none;
      border: none;
      margin-right: 15px;
      font-size: 14px;
      color: var(--text-secondary);
      cursor: pointer;
  }

  .export-btn {
      background-color: var(--primary-color);
      color: white;
      border: none;
      padding: 8px 30px;
      border-radius: 25px;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.3s ease;
  }

  .export-btn:hover {
      background-color: var(--blue-primary);
  }

  /* Dashboard Content Styles */
  .dashboard-content {
      margin-top: 20px;
  }

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

  .section-header h1 {
      margin-left: .8rem;
      font-size: 20px;
      font-weight: 700;
  }

  .section-header i {
      font-weight: 700;
      font-size: 32px;
      color: var(--blue-primary);
  }

  .time-filter {
      display: flex;
      background-color: var(--bg-light);
      border-radius: 8px;
      overflow: hidden;
  }

  .time-btn {
      background: none;
      border: none;
      padding: 8px 15px;
      font-size: 14px;
      cursor: pointer;
      transition: all 0.2s ease;
  }

  .time-btn.active {
      background-color: var(--primary-color);
      color: white;
  }

  /* Metrics Cards Styles */
  .metrics-container {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 20px;
      margin-bottom: 30px;
  }

  .metric-card {
      background-color: var(--secondary-color);
      border-radius: 20px;
      padding: 20px;
      display: flex;
      align-items: center;
      box-shadow: var(--shadow);
      transition: transform 0.3s ease;
  }

  .metric-card:hover {
      color: var(--blue-primary);
      transform: translateY(-10px);
  }

  .metric-icon {
      width: 50px;
      height: 50px;
      border-radius: 25px;
      margin-right: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: var(--primary-color);
  }

  .metric-icon img {
      width: 15px;
  }



  .metric-data h3 {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 5px;
  }

  .metric-value {
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 3px;
  }

  .metric-change {
      font-size: 13px;
      font-weight: 600;
      display: flex;
      align-items: center;
  }

  .metric-change.positive {
      color: var(--success-color);
  }

  .metric-change.negative {
      color: var(--danger-color);
  }

  /* Charts Styles */

  .charts-wrapper {
      display: flex;
      flex-wrap: wrap;
  }

  .charts-container {
      width: calc(50% - 30px);
      margin: 15px;
  }

  .chart-card {
      background-color: var(--secondary-color);
      border-radius: 20px;
      padding: 20px;
      box-shadow: var(--shadow);
  }

  .chart-card.large {
      grid-column: span 2;
      border-radius: 20px;
  }

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

  .chart-header h3 {
      font-size: 18px;
      font-weight: 600;
  }

  .chart-actions {
      display: flex;
  }

  .chart-action-btn {
      background: none;
      border: none;
      color: var(--text-secondary);
      margin-left: 10px;
      cursor: pointer;
  }

  .chart-content {
      height: 300px;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  /* Reports Section */
  .reports-section {
      background-color: white;
      border-radius: 10px;
      padding: 20px;
      box-shadow: var(--shadow);
  }

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

  .section-header h2 {
      font-size: 18px;
      font-weight: 600;
  }

  /* Login*/

  .bg {
      min-height: 100vh;
      background: var(--primary-color);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
  }




  /* Glassmorphism Container */
  .login-container {
      position: relative;
      z-index: 10;
      width: 440px;
      padding: 50px 45px;
      background: var(--secondary-color);
      backdrop-filter: blur(20px);
      border-radius: 24px;
      border: 1px solid rgba(255, 255, 255, 0.18);
  
  }


  /* Logo/Header */
  .login-header {
      text-align: center;
      margin-bottom: 40px;
  }

  .logo-login {
      width: 150px;
      margin: 2em auto;
  }


  h2 {
      color: var(--text-primary);
      font-size: 28px;
      font-weight: 600;
      margin-bottom: 8px;
      letter-spacing: -0.5px;
  }

  .subtitle {
      color: var(--text-primary);
      font-size: 14px;
      font-weight: 400;
  }

  /* Form Styling */
  .form-group {
      position: relative;
      margin-bottom: 28px;
  }

  .input-wrapper {
      position: relative;
  }

  .input-icon {
      position: absolute;
      left: 20px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 20px;
      color: rgba(255, 255, 255, 0.5);
      transition: all 0.3s ease;
      z-index: 2;
  }

  input {
      width: 100%;
      padding: 18px 20px 18px 55px;
      background: rgba(255, 255, 255, 0.08);
      border: 1.5px solid rgba(48, 48, 48, 0.15);
      border-radius: 14px;
      color:var(--text-dark);
      font-size: 15px;
      font-family: 'Outfit', sans-serif;
      font-weight: 400;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      outline: none;
      backdrop-filter: blur(10px);
  }
.input-icon img{
    width: 15px;
}
  input::placeholder {
      color: rgba(255, 255, 255, 0.4);
      transition: all 0.3s ease;
  }

  /* Animated label */
  .floating-label {
      position: absolute;
      left: 55px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--text-primary);
      font-size: 15px;
      font-weight: 400;
      pointer-events: none;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 1;
  }

  input:focus,
  input:not(:placeholder-shown) {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.4);
      padding-top: 24px;
      padding-bottom: 12px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  }

  input:focus+.floating-label,
  input:not(:placeholder-shown)+.floating-label {
      top: 22%;
      font-size: 11px;
      color:var(--text-dark);
      font-weight: 500;
  }

  input:focus~.input-icon {
      color: rgba(0, 0, 0, 0.9);
      transform: translateY(-50%) scale(1.1);
  }

  /* Forgot Password */
  .forgot-password {
      text-align: right;
      margin-bottom: 30px;
  }

  .forgot-password a {
      color:var(--text-primary);
      font-size: 13px;
      text-decoration: none;
      font-weight: 500;
      transition: all 0.3s ease;
      position: relative;
  }

  .forgot-password a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: white;
      transition: width 0.3s ease;
  }

  .forgot-password a:hover::after {
      width: 100%;
  }

  /* Premium Button with Amazing Animation */
  .btn-login {
      width: 100%;
      padding: 18px;
      background:var(--blue-primary);
      border: none;
      border-radius: 14px;
      color: white;
      font-size: 16px;
      font-weight: 600;
      font-family: 'Outfit', sans-serif;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
  }

  /* Ripple Effect */
  .btn-login::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      border-radius: 50%;
  }

  .btn-login:hover::before {
      width: 400px;
      height: 400px;
  }

  /* Shine Effect */
  .btn-login::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -100%;
      width: 100%;
      height: 200%;
      background: linear-gradient(90deg,
              transparent,
              rgba(255, 255, 255, 0.3),
              transparent);
      transform: skewX(-20deg);
      transition: left 0.7s ease;
  }

  .btn-login:hover::after {
      left: 200%;
  }

  .btn-login:hover {
      transform: translateY(-2px);

  }

  .btn-login:active {
      transform: translateY(0);
      box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
  }

  .btn-login span {
      position: relative;
      z-index: 1;
  }

 
 


  /* Sign Up Link */
  .signup-link {
      text-align: center;
      color: var(--text-primary);
      margin-top: 2em;
      font-size: 14px;
  }

  .signup-link a {
      color: var(--text-primary);
      font-weight: 600;
      text-decoration: none;
      margin-left: 5px;
      transition: all 0.3s ease;
      position: relative;
  }

  .signup-link a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 100%;
      height: 2px;
      background: white;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 0.3s ease;
  }

  .signup-link a:hover::after {
      transform: scaleX(1);
      transform-origin: left;
  }

  /* Loading State */
  .btn-login.loading span {
      opacity: 0;
  }

  .btn-login.loading::before {
      width: 20px;
      height: 20px;
      border: 2px solid rgba(255, 255, 255, 0.3);
      border-top-color: white;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
  }

  @keyframes spin {
      to {
          transform: translate(-50%, -50%) rotate(360deg);
      }
  }

  /* Responsive */
  @media (max-width: 500px) {
      .login-container {
          width: 90%;
          padding: 40px 30px;
      }

      h2 {
          font-size: 24px;
      }
  }

  /* Password visibility toggle */
  .password-toggle {
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer;
      font-size: 18px;
      color: rgba(255, 255, 255, 0.5);
      transition: all 0.3s ease;
      z-index: 2;
      user-select: none;
  }

  .password-toggle:hover {
      color: rgba(255, 255, 255, 0.9);
  }

  /* Success checkmark animation */
  @keyframes checkmark {
      0% {
          stroke-dashoffset: 50;
      }

      100% {
          stroke-dashoffset: 0;
      }
  }

  .success-checkmark {
      display: none;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
  }

  .success-checkmark.show {
      display: block;
  }

  .checkmark-circle {
      stroke-dasharray: 166;
      stroke-dashoffset: 166;
      stroke-width: 2;
      stroke: white;
      fill: none;
      animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
  }

  @keyframes stroke {
      100% {
          stroke-dashoffset: 0;
      }
  }

  .checkmark-check {
      transform-origin: 50% 50%;
      stroke-dasharray: 48;
      stroke-dashoffset: 48;
      stroke: white;
      stroke-width: 3;
      fill: none;
      animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
  }

  /* Responsive Styles */
  @media (max-width: 1200px) {
      .metrics-container {
          grid-template-columns: repeat(2, 1fr);
      }

  }


  @media (max-width: 768px) {
      html {
          overflow-x: hidden;
      }

      #myNavList {
          display: none;
      }

      #dol,
      #report,
      #incept,
      #abonos,
      #retiros,
      #news {
          padding-top: 0;
          margin-top: 0;
          padding: 0;
      }

      .sidebar {
          width: calc(100% - 60px);
          margin: 30px;
          justify-content: center;
          align-items: center;
          position: relative;
          height: auto;
          border-radius: 25px;

      }

      .user-profile {
          width: 80%;
          align-items: center;
      }

      .user-info {

          text-align: center;
      }

      .section-header {
          flex-direction: row;
          align-items: center;
          margin-bottom: 10px;
      }

      .section-header h1 {
          font-size: 16px;
      }

      .content {
          padding: 0;
          display: block;
          margin: 0;
          width: 100%;
      }

      .metrics-container {
          grid-template-columns: repeat(1, 5fr);
          gap: 2px;
      }

      .metric-card {
          margin-bottom: 1em;
      }

      .dashboard {
          width: 100%;
      }

      .dashboard-content {
          width: calc(100% - 40px);
          margin: 20px;
      }


      .charts-container {
          width: 100%;
          margin: 0;
      }

      .chart-card.large {
          margin-bottom: 1em;
      }

      .reports-list {
          grid-template-columns: 1fr;
      }

      .top-bar {
          flex-direction: column;
          align-items: flex-start;
          padding: 20px;
          margin: 20px;
          width: calc(100% - 40px);
      }

      .search-container {
          width: 100%;
          margin-bottom: 15px;
      }

      .top-bar-actions {
          width: 100%;
          justify-content: space-around;
          padding: 30px 0;
      }

      .sidebar-mob {
          padding: 0 20px;
          border-radius: 20px;
      }

      .time-filter {
          margin-top: 15px;
      }

      .user-profile {
          border-top: none;
          padding: 30px 0;
      }

      .user-info h4 {
          font-size: 20px;
      }

      .user-info p {
          font-size: 16px;
      }

      .user-flex {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
      }

      .logo {
          padding: 40px 0;
          margin: 0;
          display: flex;
          justify-content: center;
          align-items: center;
      }

      .metric-value {
          font-size: 20px;
      }

      table {
          border: 0;
      }

      table caption {
          font-size: 1.3em;
      }

      table thead {
          border: none;
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px;
      }

      table tr {
          border-bottom: 3px solid #ddd;
          display: block;
          margin-bottom: .625em;
      }

      table td {
          border-bottom: 1px solid #ddd;
          display: block;
          font-size: .8em;
          text-align: right;
      }

      table td::before {
          /*
    * aria-label has no advantage, it won't be read inside a table
    content: attr(aria-label);
    */
          content: attr(data-label);
          float: left;
          font-weight: bold;
          text-transform: uppercase;
      }

      table td:last-child {
          border-bottom: 0;
      }

  }