    /* --- ESTILOS GENERALES DE LA PÁGINA --- */
    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background: #f5f5f7;
      color: #333;
      width: 1024px;
      margin-left: auto;
      margin-right: auto;
    }

    textarea {
      font: inherit;
      field-sizing: content; /* Ajusta la altura automáticamente según el texto */
      min-height: 45px;       /* Altura mínima inicial */
      overflow: hidden;   
    }

/* Contenedor de las etiquetas (labels) */
.nav-bar {
  display: flex;
  background-color:#eff8fe;
  /* background-color: rgb(236, 235, 235); */
  gap: 6px;
  width:100%;
  height:40px;
  border-bottom: dotted 1px grey;
}

.modern-tab-container {
  display: flex;
  flex-wrap: wrap;
  background: white;
  padding: 20px;
  border-radius: 8px;
  min-height: 100vh;
}

/* Diseño de cada etiqueta individual */
.modern-tab-label {
  display: inline-block;
  font-size: 20px;
  margin-right: 16px;
  margin-left: 16px;
  cursor: pointer;
  margin-top: 4px;
  margin-bottom: auto;
}

.modern-tab-input {
    display: none; /* Esconde el radio button */
}

/* Efecto hover sobre las etiquetas */
.modern-tab-label:hover {
  color: #34495e;
  background-color: #ffffff4d;
}



    
    /* Activa pestaña y muestra bloque */
    #tab-1:checked ~ .modern-tab-label[for="tab-1"],
    #tab-2:checked ~ .modern-tab-label[for="tab-2"],
    #tab-3:checked ~ .modern-tab-label[for="tab-3"],
    #tab-4:checked ~ .modern-tab-label[for="tab-4"]{
      color: black;
      border: dotted 1px grey;
      border-bottom: 2px solid white;
      font-weight: 400;
      padding:4px;
      margin: auto;
      border-radius: 8px 8px 0px 0px;
      background-color: white;
      padding-left: 16px;
      padding-right: 16px;      
    }

    #tab-1:checked ~ #searchSection,
    #tab-2:checked ~ #createSection,
    #tab-3:checked ~ #documentSection,
    #tab-4:checked ~ #accountSection {
      display: inline-block;
    }









    .modern-form-group {
      display: flex;
      flex-direction: column; /* Alinea el label arriba y el input abajo de forma fija */
      gap: 8px;              /* Espacio constante entre el label y el input */
    }


    /* --- COMPONENTE: INPUT Y LABEL FIJO --- */
    .modern-label {
      font-size: 14px;
      font-weight: 600;
      color: #444;
      transition: color 0.2s;
    }
    .modern-input {
      width: 250px;
      padding: 12px;
      border: 1px solid #ccc;
      border-radius: 8px;
      font-size: 16px;
      outline: none;
      box-sizing: border-box;
      background-color: #ffffff;
      color: #333;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    /* Estilo cuando el usuario hace clic o escribe en el input */
    .modern-input:focus {
      border-color: #0066cc;
      box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
    }
    .modern-input:disabled {
      background-color: rgb(228, 221, 221);
    }

    /* Cambia el color del label fijo para dar feedback visual al enfocar el input */
    .modern-form-group:focus-within .modern-label {
      color: #0066cc;
    }
    /* Estilo sutil para los placeholders estándar del sistema */
    .modern-input::placeholder {
      color: #aaa;
    }

        /* --- COMPONENTE: SELECCIÓN DE FICHERO (ESTILIZADO Y CON NOMBRE) --- */
    .modern-file-input {
      width: 910px;
      padding: 10px;
      border: 1px dashed #0066cc;
      border-radius: 6px;
      background: #f0f7ff;
      color: #333;
      font-size: 14px;
      box-sizing: border-box;
      cursor: pointer;
    }
    /* Estiliza única y exclusivamente el botón feo gris del navegador */
    .modern-file-input::file-selector-button {
      padding: 6px 14px;
      background: #0066cc;
      color: white;
      border: none;
      border-radius: 4px;
      font-weight: bold;
      cursor: pointer;
      margin-right: 15px;
    }

    /* --- COMPONENTE: BOTÓN --- */
    .modern-button {
      display: inline-block;
      padding: 8px;
      background: #0066cc;
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 16px;
      font-weight: 300;
      cursor: pointer;
      transition: background 0.2s, transform 0.1s;
    }
    .modern-button:hover {
      background: #0052a3;
    }
    .modern-button:active {
      transform: scale(0.98);
    }








    /* Container framework for fluid mobile scrolling */
.table-container {
  width: 100%;
  overflow-x: auto;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  background: #ffffff;
}

/* Core table layout configuration */
.modern-table {
  --primary-color: #4f46e5;
  --text-main: #1f2937;
  --text-muted: #4b5563;
  --bg-hover: #f9fafb;
  --bg-zebra: #f8fafc;
  --border-color: #e2e8f0;

  width: 100%;
  border-collapse: collapse; /* Merges adjacent cell borders */
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 0.95rem;
  text-align: left;
  color: var(--text-main);
}

/* Accessible visual caption layout */
.modern-table caption {
  padding: 1rem;
  font-weight: 700;
  text-align: left;
  color: var(--text-main);
  background: #ffffff;
  font-size: 1.1rem;
}

/* Header style with fixed positioning capability */
.modern-table th {
  background-color: #f1f5f9;
  color: var(--text-muted);
  font-weight: 600;
  padding: 1rem 1.5rem;
  position: sticky; /* Keeps head fixed during vertical scrolls */
  top: 0;
  border-bottom: 2px solid var(--border-color);
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

/* Body rows cell sizing and border definition */
.modern-table td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease; /* Fluid hover response */
}


/* Clean, modern zebra striping rule */
.modern-table tbody tr:nth-child(even) {
  background-color: var(--bg-zebra);
}

/* Interactive hover highlight utility */
.modern-table tbody tr:hover {
  background-color: var(--bg-hover);
}

/* Prevents border clipping on the last row */
.modern-table tbody tr:last-child td {
  border-bottom: none;
}

/* Optional UI badges for cell metrics */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 500;
}
.badge-active {
  background-color: #dcfce7;
  color: #15803d;
}
.badge-paused {
  background-color: #fef3c7;
  color: #b45309;
}



button:disabled {
    background-color: #ccc;
    color: #666;
    cursor: not-allowed; /* Muestra un icono de prohibido al pasar el cursor */
}



        .contenedor-gfile {
          position: relative;
          display: inline-block;
        }
        .contenedor-gfile img {
          width: 235px;
          margin: 5px;
          display: block;
          border-radius: 8px;
        }
        /* Botón esquina superior derecha */
        .btn-esquina-sd {
            position: absolute;
            top: 5px;
            right: 5px;
            background-color: transparent;
            color: grey;
            border: none;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 5px rgba(0,0,0,0.3);
        }
        /* Efecto hover para el botón */
        .btn-esquina-sd:hover {
            background-color: brown;
            color:white;
        }
        .btn-esquina-sd img {
          width: 16px;
        }



        /* Style the modal container */
        dialog {
            border: none;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
            padding: 24px;
            max-width: 600px;
            min-width: 300px;
            /* width: 100%; */
        }

        /* Style the blocking backdrop (dimmed background) */
        dialog::backdrop {
            background-color: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(2px);
        }